trybeacon 0.1.77 → 0.1.79

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 (386) 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 +18 -14
  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_client-reference-manifest.js +1 -1
  19. package/.next/server/app/_not-found.html +1 -1
  20. package/.next/server/app/_not-found.rsc +12 -12
  21. package/.next/server/app/_not-found.segments/_full.segment.rsc +12 -12
  22. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_index.segment.rsc +12 -12
  24. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  27. package/.next/server/app/api/ask/answer/route.js +1 -1
  28. package/.next/server/app/api/ask/route.js +1 -1
  29. package/.next/server/app/api/ask/verdict/route.js +1 -1
  30. package/.next/server/app/api/board-annotations/[id]/route.js +1 -1
  31. package/.next/server/app/api/board-annotations/route.js +1 -1
  32. package/.next/server/app/api/board-layout/route.js +1 -1
  33. package/.next/server/app/api/bug-flags/[id]/route.js +1 -1
  34. package/.next/server/app/api/bug-flags/route.js +1 -1
  35. package/.next/server/app/api/changes/comment/answer/route.js +2 -2
  36. package/.next/server/app/api/changes/comment/claim/route.js +2 -2
  37. package/.next/server/app/api/changes/comment/route.js +2 -2
  38. package/.next/server/app/api/changes/quality/route.js +1 -1
  39. package/.next/server/app/api/changes/route.js +1 -1
  40. package/.next/server/app/api/changes/viewed/route.js +1 -1
  41. package/.next/server/app/api/code-graph/position/route.js +1 -1
  42. package/.next/server/app/api/code-graph/route.js +1 -1
  43. package/.next/server/app/api/context/feature/route.js +1 -1
  44. package/.next/server/app/api/context/file/route.js +1 -1
  45. package/.next/server/app/api/context/route.js +1 -1
  46. package/.next/server/app/api/db/arrange/route.js +1 -1
  47. package/.next/server/app/api/db/backfill-access/route.js +1 -1
  48. package/.next/server/app/api/db/position/route.js +1 -1
  49. package/.next/server/app/api/db/prune-planned/route.js +1 -1
  50. package/.next/server/app/api/db/reconcile-endpoints/route.js +1 -1
  51. package/.next/server/app/api/db/relations/[id]/route.js +1 -1
  52. package/.next/server/app/api/db/tables/[id]/route.js +1 -1
  53. package/.next/server/app/api/draft/approve/route.js +1 -1
  54. package/.next/server/app/api/draft/route.js +1 -1
  55. package/.next/server/app/api/draft/status/route.js +1 -1
  56. package/.next/server/app/api/edges/[id]/route.js +1 -1
  57. package/.next/server/app/api/edges/route.js +1 -1
  58. package/.next/server/app/api/endpoints/[id]/route.js +1 -1
  59. package/.next/server/app/api/entities/route.js +1 -1
  60. package/.next/server/app/api/ingest/route.js +1 -1
  61. package/.next/server/app/api/init/route.js +1 -1
  62. package/.next/server/app/api/lesson/close/route.js +1 -1
  63. package/.next/server/app/api/lesson/presence/route.js +1 -1
  64. package/.next/server/app/api/lesson/questions/route.js +1 -1
  65. package/.next/server/app/api/lesson/route.js +1 -1
  66. package/.next/server/app/api/lesson/save/route.js +1 -1
  67. package/.next/server/app/api/lesson/verdict/route.js +1 -1
  68. package/.next/server/app/api/linear/route.js +17 -0
  69. package/.next/server/app/api/linear/route.js.nft.json +1 -0
  70. package/.next/server/app/api/linear/route_client-reference-manifest.js +1 -0
  71. package/.next/server/app/api/linear/scopes/route.js +17 -0
  72. package/.next/server/app/api/linear/scopes/route.js.nft.json +1 -0
  73. package/.next/server/app/api/linear/scopes/route_client-reference-manifest.js +1 -0
  74. package/.next/server/app/api/linear/sync/route.js +17 -0
  75. package/.next/server/app/api/linear/sync/route.js.nft.json +1 -0
  76. package/.next/server/app/api/linear/sync/route_client-reference-manifest.js +1 -0
  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 +2 -2
  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 +2 -2
  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/tab/view/route.js +1 -0
  109. package/.next/server/app/api/tab/view/route.js.nft.json +1 -0
  110. package/.next/server/app/api/tab/view/route_client-reference-manifest.js +1 -0
  111. package/.next/server/app/api/telemetry/route.js +1 -1
  112. package/.next/server/app/api/telemetry/stats/route.js +1 -1
  113. package/.next/server/app/api/version/route.js +1 -1
  114. package/.next/server/app/api/workspace/activate/route.js +1 -1
  115. package/.next/server/app/api/workspace/route.js +1 -1
  116. package/.next/server/app/apple-icon.png/route.js +1 -1
  117. package/.next/server/app/docs/page.js +2 -2
  118. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  119. package/.next/server/app/docs.html +1 -1
  120. package/.next/server/app/docs.rsc +12 -12
  121. package/.next/server/app/docs.segments/_full.segment.rsc +12 -12
  122. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  123. package/.next/server/app/docs.segments/_index.segment.rsc +12 -12
  124. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  125. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  126. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  127. package/.next/server/app/help/page.js +2 -2
  128. package/.next/server/app/help/page_client-reference-manifest.js +1 -1
  129. package/.next/server/app/help.html +1 -1
  130. package/.next/server/app/help.rsc +12 -12
  131. package/.next/server/app/help.segments/_full.segment.rsc +12 -12
  132. package/.next/server/app/help.segments/_head.segment.rsc +1 -1
  133. package/.next/server/app/help.segments/_index.segment.rsc +12 -12
  134. package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
  135. package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +1 -1
  136. package/.next/server/app/help.segments/help.segment.rsc +1 -1
  137. package/.next/server/app/icon.svg/route.js +1 -1
  138. package/.next/server/app/index.html +1 -1
  139. package/.next/server/app/index.rsc +12 -12
  140. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  141. package/.next/server/app/index.segments/_full.segment.rsc +12 -12
  142. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  143. package/.next/server/app/index.segments/_index.segment.rsc +12 -12
  144. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  145. package/.next/server/app/learn/page.js +4 -4
  146. package/.next/server/app/learn/page.js.nft.json +1 -1
  147. package/.next/server/app/learn/page_client-reference-manifest.js +1 -1
  148. package/.next/server/app/map/page.js +2 -2
  149. package/.next/server/app/map/page.js.nft.json +1 -1
  150. package/.next/server/app/map/page_client-reference-manifest.js +1 -1
  151. package/.next/server/app/page.js +2 -2
  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_client-reference-manifest.js +1 -1
  161. package/.next/server/app-paths-manifest.json +18 -14
  162. package/.next/server/chunks/2031.js +1 -1
  163. package/.next/server/chunks/3838.js +1 -1
  164. package/.next/server/chunks/4378.js +1 -1
  165. package/.next/server/chunks/5295.js +1 -1
  166. package/.next/server/chunks/8227.js +1 -1
  167. package/.next/server/chunks/8569.js +1 -0
  168. package/.next/server/chunks/8709.js +17 -0
  169. package/.next/server/chunks/9683.js +1 -1
  170. package/.next/server/instrumentation.js +1 -1
  171. package/.next/server/instrumentation.js.nft.json +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/J6oJS9kOgjsQGP4x5VPu6/_buildManifest.js +1 -0
  178. package/.next/static/chunks/6302-27c904b9f4b65236.js +1 -0
  179. package/.next/static/chunks/app/_global-error/page-18eb7d6678dc0ddd.js +1 -0
  180. package/.next/static/chunks/app/api/ask/answer/route-18eb7d6678dc0ddd.js +1 -0
  181. package/.next/static/chunks/app/api/ask/route-18eb7d6678dc0ddd.js +1 -0
  182. package/.next/static/chunks/app/api/ask/verdict/route-18eb7d6678dc0ddd.js +1 -0
  183. package/.next/static/chunks/app/api/board-annotations/[id]/route-18eb7d6678dc0ddd.js +1 -0
  184. package/.next/static/chunks/app/api/board-annotations/route-18eb7d6678dc0ddd.js +1 -0
  185. package/.next/static/chunks/app/api/board-layout/route-18eb7d6678dc0ddd.js +1 -0
  186. package/.next/static/chunks/app/api/bug-flags/[id]/route-18eb7d6678dc0ddd.js +1 -0
  187. package/.next/static/chunks/app/api/bug-flags/route-18eb7d6678dc0ddd.js +1 -0
  188. package/.next/static/chunks/app/api/changes/comment/answer/route-18eb7d6678dc0ddd.js +1 -0
  189. package/.next/static/chunks/app/api/changes/comment/claim/route-18eb7d6678dc0ddd.js +1 -0
  190. package/.next/static/chunks/app/api/changes/comment/route-18eb7d6678dc0ddd.js +1 -0
  191. package/.next/static/chunks/app/api/changes/quality/route-18eb7d6678dc0ddd.js +1 -0
  192. package/.next/static/chunks/app/api/changes/route-18eb7d6678dc0ddd.js +1 -0
  193. package/.next/static/chunks/app/api/changes/viewed/route-18eb7d6678dc0ddd.js +1 -0
  194. package/.next/static/chunks/app/api/code-graph/position/route-18eb7d6678dc0ddd.js +1 -0
  195. package/.next/static/chunks/app/api/code-graph/route-18eb7d6678dc0ddd.js +1 -0
  196. package/.next/static/chunks/app/api/context/feature/route-18eb7d6678dc0ddd.js +1 -0
  197. package/.next/static/chunks/app/api/context/file/route-18eb7d6678dc0ddd.js +1 -0
  198. package/.next/static/chunks/app/api/context/route-18eb7d6678dc0ddd.js +1 -0
  199. package/.next/static/chunks/app/api/db/arrange/route-18eb7d6678dc0ddd.js +1 -0
  200. package/.next/static/chunks/app/api/db/backfill-access/route-18eb7d6678dc0ddd.js +1 -0
  201. package/.next/static/chunks/app/api/db/position/route-18eb7d6678dc0ddd.js +1 -0
  202. package/.next/static/chunks/app/api/db/prune-planned/route-18eb7d6678dc0ddd.js +1 -0
  203. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-18eb7d6678dc0ddd.js +1 -0
  204. package/.next/static/chunks/app/api/db/relations/[id]/route-18eb7d6678dc0ddd.js +1 -0
  205. package/.next/static/chunks/app/api/db/tables/[id]/route-18eb7d6678dc0ddd.js +1 -0
  206. package/.next/static/chunks/app/api/draft/approve/route-18eb7d6678dc0ddd.js +1 -0
  207. package/.next/static/chunks/app/api/draft/route-18eb7d6678dc0ddd.js +1 -0
  208. package/.next/static/chunks/app/api/draft/status/route-18eb7d6678dc0ddd.js +1 -0
  209. package/.next/static/chunks/app/api/edges/[id]/route-18eb7d6678dc0ddd.js +1 -0
  210. package/.next/static/chunks/app/api/edges/route-18eb7d6678dc0ddd.js +1 -0
  211. package/.next/static/chunks/app/api/endpoints/[id]/route-18eb7d6678dc0ddd.js +1 -0
  212. package/.next/static/chunks/app/api/entities/route-18eb7d6678dc0ddd.js +1 -0
  213. package/.next/static/chunks/app/api/ingest/route-18eb7d6678dc0ddd.js +1 -0
  214. package/.next/static/chunks/app/api/init/route-18eb7d6678dc0ddd.js +1 -0
  215. package/.next/static/chunks/app/api/lesson/close/route-18eb7d6678dc0ddd.js +1 -0
  216. package/.next/static/chunks/app/api/lesson/presence/route-18eb7d6678dc0ddd.js +1 -0
  217. package/.next/static/chunks/app/api/lesson/questions/route-18eb7d6678dc0ddd.js +1 -0
  218. package/.next/static/chunks/app/api/lesson/route-18eb7d6678dc0ddd.js +1 -0
  219. package/.next/static/chunks/app/api/lesson/save/route-18eb7d6678dc0ddd.js +1 -0
  220. package/.next/static/chunks/app/api/lesson/verdict/route-18eb7d6678dc0ddd.js +1 -0
  221. package/.next/static/chunks/app/api/linear/route-18eb7d6678dc0ddd.js +1 -0
  222. package/.next/static/chunks/app/api/linear/scopes/route-18eb7d6678dc0ddd.js +1 -0
  223. package/.next/static/chunks/app/api/linear/sync/route-18eb7d6678dc0ddd.js +1 -0
  224. package/.next/static/chunks/app/api/map/describe/route-18eb7d6678dc0ddd.js +1 -0
  225. package/.next/static/chunks/app/api/map/files/route-18eb7d6678dc0ddd.js +1 -0
  226. package/.next/static/chunks/app/api/map/finish/route-18eb7d6678dc0ddd.js +1 -0
  227. package/.next/static/chunks/app/api/map/route-18eb7d6678dc0ddd.js +1 -0
  228. package/.next/static/chunks/app/api/map/start/route-18eb7d6678dc0ddd.js +1 -0
  229. package/.next/static/chunks/app/api/map/touch-active/route-18eb7d6678dc0ddd.js +1 -0
  230. package/.next/static/chunks/app/api/mention-search/route-18eb7d6678dc0ddd.js +1 -0
  231. package/.next/static/chunks/app/api/nodes/[id]/position/route-18eb7d6678dc0ddd.js +1 -0
  232. package/.next/static/chunks/app/api/nodes/[id]/route-18eb7d6678dc0ddd.js +1 -0
  233. package/.next/static/chunks/app/api/nodes/positions/route-18eb7d6678dc0ddd.js +1 -0
  234. package/.next/static/chunks/app/api/nodes/route-18eb7d6678dc0ddd.js +1 -0
  235. package/.next/static/chunks/app/api/nodes/subtasks/route-18eb7d6678dc0ddd.js +1 -0
  236. package/.next/static/chunks/app/api/notes/[id]/route-18eb7d6678dc0ddd.js +1 -0
  237. package/.next/static/chunks/app/api/notes/route-18eb7d6678dc0ddd.js +1 -0
  238. package/.next/static/chunks/app/api/open/route-18eb7d6678dc0ddd.js +1 -0
  239. package/.next/static/chunks/app/api/plan/annotations/route-18eb7d6678dc0ddd.js +1 -0
  240. package/.next/static/chunks/app/api/plan/approve/route-18eb7d6678dc0ddd.js +1 -0
  241. package/.next/static/chunks/app/api/plan/history/route-18eb7d6678dc0ddd.js +1 -0
  242. package/.next/static/chunks/app/api/plan/markdown/route-18eb7d6678dc0ddd.js +1 -0
  243. package/.next/static/chunks/app/api/plan/presence/route-18eb7d6678dc0ddd.js +1 -0
  244. package/.next/static/chunks/app/api/plan/route-18eb7d6678dc0ddd.js +1 -0
  245. package/.next/static/chunks/app/api/plan/verdict/route-18eb7d6678dc0ddd.js +1 -0
  246. package/.next/static/chunks/app/api/preferences/route-18eb7d6678dc0ddd.js +1 -0
  247. package/.next/static/chunks/app/api/project-meta/route-18eb7d6678dc0ddd.js +1 -0
  248. package/.next/static/chunks/app/api/reset/route-18eb7d6678dc0ddd.js +1 -0
  249. package/.next/static/chunks/app/api/scope-guard/check/route-18eb7d6678dc0ddd.js +1 -0
  250. package/.next/static/chunks/app/api/share/create/route-18eb7d6678dc0ddd.js +1 -0
  251. package/.next/static/chunks/app/api/share/route-18eb7d6678dc0ddd.js +1 -0
  252. package/.next/static/chunks/app/api/stream/route-18eb7d6678dc0ddd.js +1 -0
  253. package/.next/static/chunks/app/api/tab/nav/route-18eb7d6678dc0ddd.js +1 -0
  254. package/.next/static/chunks/app/api/tab/presence/route-18eb7d6678dc0ddd.js +1 -0
  255. package/.next/static/chunks/app/api/tab/view/route-18eb7d6678dc0ddd.js +1 -0
  256. package/.next/static/chunks/app/api/telemetry/route-18eb7d6678dc0ddd.js +1 -0
  257. package/.next/static/chunks/app/api/telemetry/stats/route-18eb7d6678dc0ddd.js +1 -0
  258. package/.next/static/chunks/app/api/version/route-18eb7d6678dc0ddd.js +1 -0
  259. package/.next/static/chunks/app/api/workspace/activate/route-18eb7d6678dc0ddd.js +1 -0
  260. package/.next/static/chunks/app/api/workspace/route-18eb7d6678dc0ddd.js +1 -0
  261. package/.next/static/chunks/app/layout-e728d45f193e3b95.js +1 -0
  262. package/.next/static/chunks/app/learn/page-14a297c6ff4e54f0.js +7 -0
  263. package/.next/static/chunks/app/map/page-91637b0a29494ee5.js +1 -0
  264. package/.next/static/chunks/app/plan/page-d4651c40e3bd751e.js +11 -0
  265. package/.next/static/chunks/app/s/[token]/page-05344f912a83ed60.js +1 -0
  266. package/.next/static/chunks/app/settings/page-7e86fd456b92c248.js +1 -0
  267. package/.next/static/chunks/next/dist/client/components/builtin/app-error-18eb7d6678dc0ddd.js +1 -0
  268. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-18eb7d6678dc0ddd.js +1 -0
  269. package/.next/static/chunks/next/dist/client/components/builtin/not-found-18eb7d6678dc0ddd.js +1 -0
  270. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-18eb7d6678dc0ddd.js +1 -0
  271. package/.next/static/css/570399103dd72653.css +1 -0
  272. package/.next/trace +46 -46
  273. package/.next/trace-build +1 -1
  274. package/.next/types/app/api/linear/route.ts +351 -0
  275. package/.next/types/app/api/linear/scopes/route.ts +351 -0
  276. package/.next/types/app/api/linear/sync/route.ts +351 -0
  277. package/.next/types/app/api/tab/view/route.ts +351 -0
  278. package/.next/types/routes.d.ts +5 -1
  279. package/.next/types/validator.ts +36 -0
  280. package/dist/bin/ask.js +2 -2
  281. package/dist/bin/mcp.js +26 -26
  282. package/dist/bin/remove.js +5 -5
  283. package/dist/bin/stop-hook.js +3 -3
  284. package/drizzle/0009_huge_beast.sql +2 -0
  285. package/drizzle/0010_boring_purifiers.sql +1 -0
  286. package/drizzle/0011_graceful_eternals.sql +2 -0
  287. package/drizzle/0012_tearful_goblin_queen.sql +1 -0
  288. package/drizzle/meta/0009_snapshot.json +1918 -0
  289. package/drizzle/meta/0010_snapshot.json +1925 -0
  290. package/drizzle/meta/0011_snapshot.json +1939 -0
  291. package/drizzle/meta/0012_snapshot.json +1946 -0
  292. package/drizzle/meta/_journal.json +28 -0
  293. package/package.json +1 -1
  294. package/.next/server/chunks/6644.js +0 -1
  295. package/.next/static/CYh2DUsaQ9xKJ4Lq-d95v/_buildManifest.js +0 -1
  296. package/.next/static/chunks/1413-7b007ebe13f71145.js +0 -1
  297. package/.next/static/chunks/app/_global-error/page-d54a69e7dc6b4008.js +0 -1
  298. package/.next/static/chunks/app/api/ask/answer/route-d54a69e7dc6b4008.js +0 -1
  299. package/.next/static/chunks/app/api/ask/route-d54a69e7dc6b4008.js +0 -1
  300. package/.next/static/chunks/app/api/ask/verdict/route-d54a69e7dc6b4008.js +0 -1
  301. package/.next/static/chunks/app/api/board-annotations/[id]/route-d54a69e7dc6b4008.js +0 -1
  302. package/.next/static/chunks/app/api/board-annotations/route-d54a69e7dc6b4008.js +0 -1
  303. package/.next/static/chunks/app/api/board-layout/route-d54a69e7dc6b4008.js +0 -1
  304. package/.next/static/chunks/app/api/bug-flags/[id]/route-d54a69e7dc6b4008.js +0 -1
  305. package/.next/static/chunks/app/api/bug-flags/route-d54a69e7dc6b4008.js +0 -1
  306. package/.next/static/chunks/app/api/changes/comment/answer/route-d54a69e7dc6b4008.js +0 -1
  307. package/.next/static/chunks/app/api/changes/comment/claim/route-d54a69e7dc6b4008.js +0 -1
  308. package/.next/static/chunks/app/api/changes/comment/route-d54a69e7dc6b4008.js +0 -1
  309. package/.next/static/chunks/app/api/changes/quality/route-d54a69e7dc6b4008.js +0 -1
  310. package/.next/static/chunks/app/api/changes/route-d54a69e7dc6b4008.js +0 -1
  311. package/.next/static/chunks/app/api/changes/viewed/route-d54a69e7dc6b4008.js +0 -1
  312. package/.next/static/chunks/app/api/code-graph/position/route-d54a69e7dc6b4008.js +0 -1
  313. package/.next/static/chunks/app/api/code-graph/route-d54a69e7dc6b4008.js +0 -1
  314. package/.next/static/chunks/app/api/context/feature/route-d54a69e7dc6b4008.js +0 -1
  315. package/.next/static/chunks/app/api/context/file/route-d54a69e7dc6b4008.js +0 -1
  316. package/.next/static/chunks/app/api/context/route-d54a69e7dc6b4008.js +0 -1
  317. package/.next/static/chunks/app/api/db/arrange/route-d54a69e7dc6b4008.js +0 -1
  318. package/.next/static/chunks/app/api/db/backfill-access/route-d54a69e7dc6b4008.js +0 -1
  319. package/.next/static/chunks/app/api/db/position/route-d54a69e7dc6b4008.js +0 -1
  320. package/.next/static/chunks/app/api/db/prune-planned/route-d54a69e7dc6b4008.js +0 -1
  321. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-d54a69e7dc6b4008.js +0 -1
  322. package/.next/static/chunks/app/api/db/relations/[id]/route-d54a69e7dc6b4008.js +0 -1
  323. package/.next/static/chunks/app/api/db/tables/[id]/route-d54a69e7dc6b4008.js +0 -1
  324. package/.next/static/chunks/app/api/draft/approve/route-d54a69e7dc6b4008.js +0 -1
  325. package/.next/static/chunks/app/api/draft/route-d54a69e7dc6b4008.js +0 -1
  326. package/.next/static/chunks/app/api/draft/status/route-d54a69e7dc6b4008.js +0 -1
  327. package/.next/static/chunks/app/api/edges/[id]/route-d54a69e7dc6b4008.js +0 -1
  328. package/.next/static/chunks/app/api/edges/route-d54a69e7dc6b4008.js +0 -1
  329. package/.next/static/chunks/app/api/endpoints/[id]/route-d54a69e7dc6b4008.js +0 -1
  330. package/.next/static/chunks/app/api/entities/route-d54a69e7dc6b4008.js +0 -1
  331. package/.next/static/chunks/app/api/ingest/route-d54a69e7dc6b4008.js +0 -1
  332. package/.next/static/chunks/app/api/init/route-d54a69e7dc6b4008.js +0 -1
  333. package/.next/static/chunks/app/api/lesson/close/route-d54a69e7dc6b4008.js +0 -1
  334. package/.next/static/chunks/app/api/lesson/presence/route-d54a69e7dc6b4008.js +0 -1
  335. package/.next/static/chunks/app/api/lesson/questions/route-d54a69e7dc6b4008.js +0 -1
  336. package/.next/static/chunks/app/api/lesson/route-d54a69e7dc6b4008.js +0 -1
  337. package/.next/static/chunks/app/api/lesson/save/route-d54a69e7dc6b4008.js +0 -1
  338. package/.next/static/chunks/app/api/lesson/verdict/route-d54a69e7dc6b4008.js +0 -1
  339. package/.next/static/chunks/app/api/map/describe/route-d54a69e7dc6b4008.js +0 -1
  340. package/.next/static/chunks/app/api/map/files/route-d54a69e7dc6b4008.js +0 -1
  341. package/.next/static/chunks/app/api/map/finish/route-d54a69e7dc6b4008.js +0 -1
  342. package/.next/static/chunks/app/api/map/route-d54a69e7dc6b4008.js +0 -1
  343. package/.next/static/chunks/app/api/map/start/route-d54a69e7dc6b4008.js +0 -1
  344. package/.next/static/chunks/app/api/map/touch-active/route-d54a69e7dc6b4008.js +0 -1
  345. package/.next/static/chunks/app/api/mention-search/route-d54a69e7dc6b4008.js +0 -1
  346. package/.next/static/chunks/app/api/nodes/[id]/position/route-d54a69e7dc6b4008.js +0 -1
  347. package/.next/static/chunks/app/api/nodes/[id]/route-d54a69e7dc6b4008.js +0 -1
  348. package/.next/static/chunks/app/api/nodes/positions/route-d54a69e7dc6b4008.js +0 -1
  349. package/.next/static/chunks/app/api/nodes/route-d54a69e7dc6b4008.js +0 -1
  350. package/.next/static/chunks/app/api/nodes/subtasks/route-d54a69e7dc6b4008.js +0 -1
  351. package/.next/static/chunks/app/api/notes/[id]/route-d54a69e7dc6b4008.js +0 -1
  352. package/.next/static/chunks/app/api/notes/route-d54a69e7dc6b4008.js +0 -1
  353. package/.next/static/chunks/app/api/open/route-d54a69e7dc6b4008.js +0 -1
  354. package/.next/static/chunks/app/api/plan/annotations/route-d54a69e7dc6b4008.js +0 -1
  355. package/.next/static/chunks/app/api/plan/approve/route-d54a69e7dc6b4008.js +0 -1
  356. package/.next/static/chunks/app/api/plan/history/route-d54a69e7dc6b4008.js +0 -1
  357. package/.next/static/chunks/app/api/plan/markdown/route-d54a69e7dc6b4008.js +0 -1
  358. package/.next/static/chunks/app/api/plan/presence/route-d54a69e7dc6b4008.js +0 -1
  359. package/.next/static/chunks/app/api/plan/route-d54a69e7dc6b4008.js +0 -1
  360. package/.next/static/chunks/app/api/plan/verdict/route-d54a69e7dc6b4008.js +0 -1
  361. package/.next/static/chunks/app/api/preferences/route-d54a69e7dc6b4008.js +0 -1
  362. package/.next/static/chunks/app/api/project-meta/route-d54a69e7dc6b4008.js +0 -1
  363. package/.next/static/chunks/app/api/reset/route-d54a69e7dc6b4008.js +0 -1
  364. package/.next/static/chunks/app/api/scope-guard/check/route-d54a69e7dc6b4008.js +0 -1
  365. package/.next/static/chunks/app/api/share/create/route-d54a69e7dc6b4008.js +0 -1
  366. package/.next/static/chunks/app/api/share/route-d54a69e7dc6b4008.js +0 -1
  367. package/.next/static/chunks/app/api/stream/route-d54a69e7dc6b4008.js +0 -1
  368. package/.next/static/chunks/app/api/tab/nav/route-d54a69e7dc6b4008.js +0 -1
  369. package/.next/static/chunks/app/api/tab/presence/route-d54a69e7dc6b4008.js +0 -1
  370. package/.next/static/chunks/app/api/telemetry/route-d54a69e7dc6b4008.js +0 -1
  371. package/.next/static/chunks/app/api/telemetry/stats/route-d54a69e7dc6b4008.js +0 -1
  372. package/.next/static/chunks/app/api/version/route-d54a69e7dc6b4008.js +0 -1
  373. package/.next/static/chunks/app/api/workspace/activate/route-d54a69e7dc6b4008.js +0 -1
  374. package/.next/static/chunks/app/api/workspace/route-d54a69e7dc6b4008.js +0 -1
  375. package/.next/static/chunks/app/layout-3bda91675bae86b9.js +0 -1
  376. package/.next/static/chunks/app/learn/page-0e870de31b83851e.js +0 -7
  377. package/.next/static/chunks/app/map/page-9799c07d55cb594a.js +0 -1
  378. package/.next/static/chunks/app/plan/page-a379b482e8f4f6f7.js +0 -11
  379. package/.next/static/chunks/app/s/[token]/page-ff26413ce3485dda.js +0 -1
  380. package/.next/static/chunks/app/settings/page-a751eabdd933f685.js +0 -1
  381. package/.next/static/chunks/next/dist/client/components/builtin/app-error-d54a69e7dc6b4008.js +0 -1
  382. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-d54a69e7dc6b4008.js +0 -1
  383. package/.next/static/chunks/next/dist/client/components/builtin/not-found-d54a69e7dc6b4008.js +0 -1
  384. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d54a69e7dc6b4008.js +0 -1
  385. package/.next/static/css/ee94ed0880eabb76.css +0 -1
  386. /package/.next/static/{CYh2DUsaQ9xKJ4Lq-d95v → J6oJS9kOgjsQGP4x5VPu6}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=1235,a.ids=[1235],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{a.exports=require("node:async_hooks")},28855:a=>{a.exports=import("@libsql/client")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},47252:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(85090),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/workspace/activate/route",pathname:"/api/workspace/activate",filename:"route",bundlePath:"app/api/workspace/activate/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/beacon/beacon/app/api/workspace/activate/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/workspace/activate/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},85090:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>j,dynamic:()=>k});var e=c(23211),f=c(6716),g=c(56727),h=c(94490),i=a([g,h]);[g,h]=i.then?(await i)():i;let k="force-dynamic";async function j(a){let b=new URL(a.url),c=b.searchParams.get("id")??"",d=b.searchParams.get("redirect")||"/map",i=e.NextResponse.redirect(new URL(d,b.origin));if(c&&(0,f.K4)(c)){let a=await (0,f.kO)(c);(a.created||a.migrated)&&(0,g.sc)((0,f.Nx)(c)),(0,f._g)(c),(0,h.$r)(c),i.cookies.set(f.Dk,c,{path:"/",maxAge:31536e3,sameSite:"lax"})}return i}d()}catch(a){d(a)}})},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1669,3254,9884,5871,4046,1813,9683,9734,9213],()=>b(b.s=47252));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=1235,a.ids=[1235],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{a.exports=require("node:async_hooks")},28855:a=>{a.exports=import("@libsql/client")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},31454:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(85090),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/workspace/activate/route",pathname:"/api/workspace/activate",filename:"route",bundlePath:"app/api/workspace/activate/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/beacon/beacon/app/api/workspace/activate/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/workspace/activate/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},85090:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>j,dynamic:()=>k});var e=c(23211),f=c(6716),g=c(56727),h=c(94490),i=a([g,h]);[g,h]=i.then?(await i)():i;let k="force-dynamic";async function j(a){let b=new URL(a.url),c=b.searchParams.get("id")??"",d=b.searchParams.get("redirect")||"/map",i=e.NextResponse.redirect(new URL(d,b.origin));if(c&&(0,f.K4)(c)){let a=await (0,f.kO)(c);(a.created||a.migrated)&&(0,g.sc)((0,f.Nx)(c)),(0,f._g)(c),(0,h.$r)(c),i.cookies.set(f.Dk,c,{path:"/",maxAge:31536e3,sameSite:"lax"})}return i}d()}catch(a){d(a)}})},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1669,3254,9884,5871,4046,1813,9683,9734,9213],()=>b(b.s=31454));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=1361,a.ids=[1361],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{a.exports=require("node:async_hooks")},19225:(a,b,c)=>{a.exports=c(44870)},28855:a=>{a.exports=import("@libsql/client")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},52969:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{b:()=>j});var e=c(73024),f=c(6716),g=c(56727),h=c(94490),i=a([g,h]);async function j(a){if(!(0,f.K4)(a))return{ok:!1,removed:!1,fallbackId:(0,f.UP)(),error:"unknown workspace"};(0,f.qh)(a),(0,f.VO)(a),await (0,h.Wn)(a),(0,g.dI)((0,f.Nx)(a)),(0,f.Lm)(a);try{(0,e.rmSync)((0,f.T_)(a),{recursive:!0,force:!0})}catch(a){return{ok:!1,removed:!0,fallbackId:(0,f.UP)(),error:a instanceof Error?a.message:String(a)}}return{ok:!0,removed:!0,fallbackId:(0,f.UP)()}}[g,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},82296:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{DELETE:()=>k,GET:()=>i,POST:()=>j,dynamic:()=>l});var e=c(6716),f=c(56727),g=c(52969),h=a([f,g]);[f,g]=h.then?(await h)():h;let l="force-dynamic";async function i(a){return Response.json({workspaces:(0,e.Y2)(),active:(0,e.Ck)(a)??(0,e.UP)()})}async function j(a){let{id:b}=await a.json();if("string"!=typeof b||!b)return new Response("id required",{status:400});if(!(0,e.K4)(b))return new Response("unknown workspace",{status:404});let c=await (0,e.kO)(b);if(!c.ok)return Response.json({ok:!1,error:c.error},{status:500});(c.created||c.migrated)&&(0,f.sc)((0,e.Nx)(b)),(0,e._g)(b);let d=Response.json({ok:!0,healed:c.created||c.migrated});return d.headers.set("set-cookie",`${e.Dk}=${b}; Path=/; Max-Age=31536000; SameSite=Lax`),d}async function k(a){let{id:b}=await a.json();if("string"!=typeof b||!b)return new Response("id required",{status:400});let c=await (0,g.b)(b);if(!c.removed)return new Response("unknown workspace",{status:404});if(!c.ok)return Response.json({ok:!1,error:c.error},{status:500});if(c.fallbackId){let a=await (0,e.kO)(c.fallbackId);(a.created||a.migrated)&&(0,f.sc)((0,e.Nx)(c.fallbackId))}else await (0,f.e$)();let d=Response.json({ok:!0,fallbackId:c.fallbackId});return d.headers.set("set-cookie",c.fallbackId?`${e.Dk}=${c.fallbackId}; Path=/; Max-Age=31536000; SameSite=Lax`:`${e.Dk}=; Path=/; Max-Age=0; SameSite=Lax`),d}d()}catch(a){d(a)}})},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88544:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(82296),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/workspace/route",pathname:"/api/workspace",filename:"route",bundlePath:"app/api/workspace/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/beacon/beacon/app/api/workspace/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/workspace/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1669,3254,9884,5871,4046,9683,9734,9213],()=>b(b.s=88544));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=1361,a.ids=[1361],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{a.exports=require("node:async_hooks")},19225:(a,b,c)=>{a.exports=c(44870)},28855:a=>{a.exports=import("@libsql/client")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},39850:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(82296),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/workspace/route",pathname:"/api/workspace",filename:"route",bundlePath:"app/api/workspace/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/beacon/beacon/app/api/workspace/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/workspace/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},52969:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{b:()=>j});var e=c(73024),f=c(6716),g=c(56727),h=c(94490),i=a([g,h]);async function j(a){if(!(0,f.K4)(a))return{ok:!1,removed:!1,fallbackId:(0,f.UP)(),error:"unknown workspace"};(0,f.qh)(a),(0,f.VO)(a),await (0,h.Wn)(a),(0,g.dI)((0,f.Nx)(a)),(0,f.Lm)(a);try{(0,e.rmSync)((0,f.T_)(a),{recursive:!0,force:!0})}catch(a){return{ok:!1,removed:!0,fallbackId:(0,f.UP)(),error:a instanceof Error?a.message:String(a)}}return{ok:!0,removed:!0,fallbackId:(0,f.UP)()}}[g,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},82296:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{DELETE:()=>k,GET:()=>i,POST:()=>j,dynamic:()=>l});var e=c(6716),f=c(56727),g=c(52969),h=a([f,g]);[f,g]=h.then?(await h)():h;let l="force-dynamic";async function i(a){return Response.json({workspaces:(0,e.Y2)(),active:(0,e.Ck)(a)??(0,e.UP)()})}async function j(a){let{id:b}=await a.json();if("string"!=typeof b||!b)return new Response("id required",{status:400});if(!(0,e.K4)(b))return new Response("unknown workspace",{status:404});let c=await (0,e.kO)(b);if(!c.ok)return Response.json({ok:!1,error:c.error},{status:500});(c.created||c.migrated)&&(0,f.sc)((0,e.Nx)(b)),(0,e._g)(b);let d=Response.json({ok:!0,healed:c.created||c.migrated});return d.headers.set("set-cookie",`${e.Dk}=${b}; Path=/; Max-Age=31536000; SameSite=Lax`),d}async function k(a){let{id:b}=await a.json();if("string"!=typeof b||!b)return new Response("id required",{status:400});let c=await (0,g.b)(b);if(!c.removed)return new Response("unknown workspace",{status:404});if(!c.ok)return Response.json({ok:!1,error:c.error},{status:500});if(c.fallbackId){let a=await (0,e.kO)(c.fallbackId);(a.created||a.migrated)&&(0,f.sc)((0,e.Nx)(c.fallbackId))}else await (0,f.e$)();let d=Response.json({ok:!0,fallbackId:c.fallbackId});return d.headers.set("set-cookie",c.fallbackId?`${e.Dk}=${c.fallbackId}; Path=/; Max-Age=31536000; SameSite=Lax`:`${e.Dk}=; Path=/; Max-Age=0; SameSite=Lax`),d}d()}catch(a){d(a)}})},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1669,3254,9884,5871,4046,9683,9734,9213],()=>b(b.s=39850));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=7432,a.ids=[7432],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4692:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>E,patchFetch:()=>D,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var d={};c.r(d),c.d(d,{GET:()=>x,dynamic:()=>y});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211);let w=Buffer.from("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","base64");function x(){return new v.NextResponse(w,{headers:{"Content-Type":"image/png","Cache-Control":"public, max-age=0, must-revalidate"}})}let y="force-static",z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/apple-icon.png/route",pathname:"/apple-icon.png",filename:"apple-icon",bundlePath:"app/apple-icon.png/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"next-metadata-route-loader?filePath=%2Fhome%2Frunner%2Fwork%2Fbeacon%2Fbeacon%2Fapp%2Fapple-icon.png&isDynamicRouteExtension=0!?__next_metadata_route__",nextConfigOutput:"",userland:d,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function D(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function E(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/apple-icon.png/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=4692));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=7432,a.ids=[7432],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21251:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>E,patchFetch:()=>D,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var d={};c.r(d),c.d(d,{GET:()=>x,dynamic:()=>y});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211);let w=Buffer.from("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","base64");function x(){return new v.NextResponse(w,{headers:{"Content-Type":"image/png","Cache-Control":"public, max-age=0, must-revalidate"}})}let y="force-static",z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/apple-icon.png/route",pathname:"/apple-icon.png",filename:"apple-icon",bundlePath:"app/apple-icon.png/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"next-metadata-route-loader?filePath=%2Fhome%2Frunner%2Fwork%2Fbeacon%2Fbeacon%2Fapp%2Fapple-icon.png&isDynamicRouteExtension=0!?__next_metadata_route__",nextConfigOutput:"",userland:d,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function D(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function E(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/apple-icon.png/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=21251));module.exports=c})();
@@ -1,2 +1,2 @@
1
- (()=>{var a={};a.id=9040,a.ids=[9040],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},6716:(a,b,c)=>{"use strict";c.d(b,{AV:()=>J,Ck:()=>H,Dk:()=>F,F2:()=>y,FF:()=>l,K4:()=>w,Lm:()=>O,Nx:()=>s,Q8:()=>I,T_:()=>r,UP:()=>B,VB:()=>E,VO:()=>q,WQ:()=>D,X_:()=>L,Y2:()=>v,_g:()=>C,kO:()=>P,oW:()=>i,p1:()=>M,qh:()=>z});var d=c(16698);c(31421);var e=c(77598),f=c(73024),g=c(48161),h=c(76760);function i(){return process.env.BEACON_HOME||(0,h.join)((0,g.homedir)(),".beacon")}function j(){return(0,h.join)(i(),"workspaces.json")}function k(a){return(0,e.createHash)("sha256").update(a).digest("hex").slice(0,12)}function l(a){let b=(0,h.resolve)(a);return b!==(0,h.resolve)((0,g.homedir)())&&b!==(0,h.parse)(b).root}function m(){return(0,h.join)(i(),"deleted.json")}function n(){try{let a=JSON.parse((0,f.readFileSync)(m(),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function o(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(m(),JSON.stringify(a,null,2))}function p(a){return n().includes(a)}function q(a){let b=n();b.includes(a)||o([...b,a])}function r(a){return(0,h.join)(i(),a)}function s(a){return`file:${(0,h.join)(r(a),"db.sqlite")}`}function t(){try{let a=JSON.parse((0,f.readFileSync)(j(),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function u(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(j(),JSON.stringify(a,null,2))}function v(){return t().sort((a,b)=>b.lastOpenedAt.localeCompare(a.lastOpenedAt))}function w(a){return t().find(b=>b.id===a)??null}function x(a,b,c=new Date().toISOString()){if(!l(a))throw Error(`beacon: refusing to register a non-repo path as a workspace: ${a}`);let d=k(a);if(p(d))throw Error(`beacon: workspace ${d} (${a}) was deleted — run \`beacon\` or /beacon-init to re-add it`);let e=t(),g=e.find(a=>a.id===d),i={id:d,path:a,name:b||g?.name||(0,h.basename)(a),lastOpenedAt:c},j=[i,...e.filter(a=>a.id!==d)];return(0,f.mkdirSync)(r(d),{recursive:!0}),u(j),i}function y(a,b){var c;let d;return c=k(a),(d=n()).includes(c)&&o(d.filter(a=>a!==c)),x(a,b)}function z(a){u(t().filter(b=>b.id!==a)),B()===a&&C(v()[0]?.id??null)}function A(){return(0,h.join)(i(),"active")}function B(){try{return(0,f.readFileSync)(A(),"utf8").trim()||null}catch{return null}}function C(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(A(),a??"")}function D(){let a=B();return a?w(a):null}function E(){let a=M()??B();return a?w(a):null}let F="beacon_ws";function G(a,b){let c=a.headers.get("cookie");if(!c)return null;for(let a of c.split(";")){let c=a.indexOf("=");if(-1!==c&&a.slice(0,c).trim()===b)return decodeURIComponent(a.slice(c+1).trim())}return null}function H(a){let b,c=a.headers.get("x-beacon-workspace");if(c&&w(c))return c;let d=G(a,F);return d&&w(d)?d:1===(b=v()).length?b[0].id:null}let I="x-beacon-workspace-path";async function J(a){let b=a.headers.get("x-beacon-workspace");if(b&&w(b))return b;let c=a.headers.get(I);if(c&&l(c)&&!p(k(c))&&(!b||k(c)===b)){let a=x(c);return await P(a.id),a.id}let d=G(a,F);return d&&w(d)?d:null}let K=new d.AsyncLocalStorage;function L(a,b){return a?K.run(a,b):b()}function M(){return K.getStore()??null}let N=new Set;function O(a){N.delete((0,h.join)(r(a),"db.sqlite"))}async function P(a){let b=r(a),d=(0,h.join)(b,"db.sqlite"),e=(0,f.existsSync)(d);if(e&&N.has(d))return{ok:!0,created:!1,migrated:!1};try{(0,f.mkdirSync)(b,{recursive:!0});let{provisionDb:g}=await Promise.all([c.e(1669),c.e(9884),c.e(5871),c.e(5258)]).then(c.bind(c,35258)),h=await g(s(a));return N.add(d),{ok:!0,created:!e,migrated:e&&h.migrated}}catch(a){return{ok:!1,created:!1,migrated:!1,error:a instanceof Error?a.message:String(a)}}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12372:(a,b,c)=>{Promise.resolve().then(c.bind(c,88264))},15113:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g,metadata:()=>f});var d=c(5735),e=c(42590);let f={title:"Docs — Beacon",description:"How Beacon works: install, the planning loop, the canvases, the CLI, and the Claude Code integration (skills, MCP tools, hooks)."};function g(){return(0,d.jsx)(e.Docs,{})}},16698:a=>{"use strict";a.exports=require("node:async_hooks")},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},28855:a=>{"use strict";a.exports=import("@libsql/client")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},42590:(a,b,c)=>{"use strict";c.d(b,{Docs:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call Docs() from the server but Docs 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/docs/docs.tsx","Docs")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},45301:(a,b,c)=>{"use strict";c.d(b,{KS:()=>l,Qq:()=>k,jv:()=>j});var d=c(31421),e=c(77598),f=c(48161),g=c(76760),h=c(6716);let i=null;function j(){if(process.env.BEACON_REPO)return process.env.BEACON_REPO;let a=(0,h.p1)();if(a){let b=(0,h.K4)(a);if(b)return b.path}let b=(0,h.WQ)();if(b)return b.path;if(i)return i;try{let a=(0,d.execSync)("git rev-parse --show-toplevel",{cwd:process.cwd(),stdio:["ignore","pipe","ignore"]}).toString().trim();if(a)return i=a}catch{}return i=(0,g.resolve)(process.cwd(),"../..")}function k(){return(0,g.basename)(j())}function l(){if(process.env.BEACON_DATA_DIR)return process.env.BEACON_DATA_DIR;let a=(0,h.p1)();if(a&&(0,h.K4)(a))return(0,h.T_)(a);let b=(0,h.WQ)();return b?(0,h.T_)(b.id):(0,g.join)((0,f.homedir)(),".beacon",(0,e.createHash)("sha256").update(j()).digest("hex").slice(0,12))}},48161:a=>{"use strict";a.exports=require("node:os")},52936:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["docs",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,15113)),"/home/runner/work/beacon/beacon/app/docs/page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,7667))).default(a)],openGraph:[],twitter:[],manifest:void 0}},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,23704)),"/home/runner/work/beacon/beacon/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,7667))).default(a)],openGraph:[],twitter:[],manifest:void 0}},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/docs/page",pathname:"/docs",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/docs/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
- see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},59636:(a,b,c)=>{Promise.resolve().then(c.bind(c,42590))},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},77702:()=>{},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88264:(a,b,c)=>{"use strict";c.d(b,{Docs:()=>s});var d=c(48249),e=c(67484),f=c(2116),g=c.n(f),h=c(79291),i=c(49183);c(77702);let j=[{id:"overview",title:"What is Beacon"},{id:"install",title:"Install"},{id:"quickstart",title:"Quickstart"},{id:"loop",title:"The planning loop"},{id:"canvases",title:"The canvases"},{id:"cli",title:"CLI reference"},{id:"integration",title:"Claude Code integration"},{id:"config",title:"Configuration"},{id:"telemetry",title:"Telemetry"},{id:"troubleshooting",title:"Troubleshooting"}],k=[{cmd:"beacon",what:"Register the current repo, ensure the shared server is running, and open the panel on this repo. The everyday command."},{cmd:"beacon doctor",what:"Audit what's wired — the global Claude Code hooks + skills, this repo's .mcp.json, and the running daemon."},{cmd:"beacon stop",what:"Stop the shared background server. It restarts the next time you run beacon."},{cmd:"beacon setup",what:"(Re)install Beacon's per-repo helpers — the skills and .mcp.json — in the current repo without opening the panel."},{cmd:"beacon uninstall",what:"Reverse every Beacon artifact: the global ~/.claude wiring and the per-repo files."},{cmd:"beacon mcp",what:"The stdio MCP server Claude Code spawns automatically. You never run this by hand."}],l=[{name:"/beacon-init",when:"First time you point Beacon at a repo.",what:"The agent reads the codebase and fills Beacon's map — the main components, the rough roadmap themes, the database schema, and the endpoints. Run it once per repo to bootstrap the picture."},{name:"/beacon-refresh",when:"Every few weeks, or after a big set of changes.",what:"The agent re-surveys the repo and updates what /beacon-init produced — adds new components, drops removed ones, picks up new tables and routes. Anything you added by hand on the canvas survives."},{name:"/beacon-plan",when:"Whenever you want to review an approach on the canvas.",what:"Present the current plan or approach on Beacon's /plan page for annotation instead of asking for approval as a wall of text."}],m=[{name:"beacon_context_for_feature",what:"Before touching code, the agent pulls the files attached to a feature plus their imports, the endpoints in that domain, the tables those endpoints touch, and the surrounding components — one round-trip instead of a blind Glob/Grep scan."},{name:"beacon_blast_radius",what:"Mid-feature, the agent runs this on a file it's about to edit to see what imports it and what it imports — so it can judge whether a change is safe."},{name:"beacon_propose_plan",what:"When the agent has a feature plan (tables + relations + endpoints), this opens it on /plan and BLOCKS the session until you Approve, Discard, or Submit feedback."},{name:"beacon_feature",what:"One tool for a feature's whole lifecycle: add a card (defaults to backlog), start one, break it into sub-tasks, or mark it done with a markdown summary + the files it touched — keeping the next session's context accurate."},{name:"beacon_map",what:"A quick list of features already on the roadmap, with each card's category/priority/layer/status. The agent calls it near the start of work to reuse a category and avoid duplicating what's planned."},{name:"beacon_entities",what:"A raw readout of everything mapped — features, architecture, tables, endpoints — when the agent just needs the planning data."}],n=[{trigger:"Plan mode (ExitPlanMode)",what:"When the agent shows you a plan, Beacon intercepts it and renders the markdown on /plan with a native annotation panel. Select text and type → it becomes a comment. Approve / Discard / Submit feedback flows back to the session as the next instruction."},{trigger:"File edits (PostToolUse)",what:"Every Edit/Write the agent runs is reported to Beacon and the file is attached to whichever feature the session is working on. The /map view fills in with the real files behind each feature, without you tagging anything."},{trigger:"Code-graph watcher",what:"While the panel is open, a background watcher rebuilds the Files view as you save code — the maps stay current with the repo on their own."}],o=[{key:"BEACON_HOME",what:"Where per-workspace data lives — the SQLite databases and the server record. Defaults to ~/.beacon."},{key:"PORT",what:"Port for the shared local server. Defaults to 4319."},{key:"Settings → intel",what:"In the panel, the Settings page drives the code-intelligence model/provider and your editor, and triggers a code-map sync."}];function p({text:a,label:b="Copy"}){let[c,f]=(0,e.useState)(!1);return(0,d.jsx)("button",{onClick:()=>{navigator.clipboard?.writeText(a),f(!0),setTimeout(()=>f(!1),1500)},className:"glass-soft w-hover grid h-8 w-8 shrink-0 place-items-center rounded-md","aria-label":b,children:c?(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"#ff7a45",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("path",{d:"M20 6 9 17l-5-5"})}):(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),(0,d.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})}function q({children:a,copy:b}){return(0,d.jsxs)("div",{className:"glass-soft flex items-center gap-3 rounded-lg px-4 py-2.5",children:[(0,d.jsx)("span",{className:"w-signal select-none",children:"$"}),(0,d.jsx)("code",{className:"w-mono w-scrollbar-none flex-1 overflow-x-auto whitespace-nowrap text-[0.85rem] text-foreground",children:a}),b&&(0,d.jsx)(p,{text:a})]})}function r({id:a,eyebrow:b,children:c}){return(0,d.jsxs)("div",{className:"mb-5 scroll-mt-28",id:a,children:[(0,d.jsx)("p",{className:"w-mono w-eyebrow w-signal mb-2",children:b}),(0,d.jsx)("h2",{className:"text-[1.6rem] font-semibold tracking-tight",children:c})]})}function s(){let[a,b]=(0,e.useState)(j[0].id),c=(0,e.useRef)(null);return(0,d.jsxs)("div",{className:"welcome",ref:c,children:[(0,d.jsx)("div",{className:"welcome-bg","aria-hidden":!0}),(0,d.jsx)("header",{className:"fixed inset-x-0 top-0 z-50",children:(0,d.jsx)("div",{className:"mx-auto max-w-6xl px-6",children:(0,d.jsxs)("div",{className:"w-load mt-4 glass flex items-center justify-between rounded-full py-2.5 pl-5 pr-3",style:{animationDelay:".05s"},children:[(0,d.jsxs)(g(),{href:"/",className:"flex items-center gap-2.5",children:[(0,d.jsx)(h._,{size:20,className:"text-foreground"}),(0,d.jsx)("span",{className:"font-semibold tracking-tight",children:"Beacon"}),(0,d.jsx)("span",{className:"w-mono w-eyebrow w-muted ml-1 hidden sm:inline",children:"docs"})]}),(0,d.jsxs)("nav",{className:"flex items-center gap-6 text-sm w-muted",children:[(0,d.jsx)(g(),{href:"/",className:"transition-colors hover:text-foreground",children:"Home"}),(0,d.jsx)("a",{href:"#install",className:"transition-colors hover:text-foreground",children:"Install"})]})]})})}),(0,d.jsx)("div",{className:"mx-auto max-w-6xl px-6 pb-24 pt-20",children:(0,d.jsxs)("div",{className:"lg:grid lg:grid-cols-[15rem_1fr] lg:gap-14",children:[(0,d.jsx)("aside",{className:"hidden lg:block",children:(0,d.jsxs)("nav",{className:"sticky top-28",children:[(0,d.jsx)("p",{className:"w-mono w-eyebrow w-muted mb-4",children:"On this page"}),(0,d.jsx)("ul",{className:"space-y-1.5 text-sm",children:j.map(b=>(0,d.jsx)("li",{children:(0,d.jsx)("a",{href:`#${b.id}`,className:`block border-l-2 py-1 pl-3 transition-colors ${a===b.id?"w-signal border-[#ff7a45]":"w-muted border-transparent hover:text-foreground"}`,children:b.title})},b.id))})]})}),(0,d.jsxs)("main",{className:"min-w-0 max-w-2xl",children:[(0,d.jsxs)("section",{className:"w-load",children:[(0,d.jsx)(r,{id:"overview",eyebrow:"Overview",children:"What is Beacon"}),(0,d.jsxs)("p",{className:"w-muted leading-relaxed",children:["Beacon is the ",(0,d.jsx)("span",{className:"text-foreground",children:"visual planning surface for the coding agent in your terminal"}),". That session is the brain; Beacon is its eyes and hands. The agent proposes a feature plan — roadmap features, database schema, and endpoints — you review it on a canvas instead of a wall of text, give scoped feedback, and approve or discard with a click. The verdict flows straight back to your session."]}),(0,d.jsxs)("p",{className:"w-muted mt-4 leading-relaxed",children:["It runs entirely on your machine — ",(0,d.jsx)("span",{className:"text-foreground",children:"local-first, your code never leaves it"}),". One shared server quietly serves every repo you open; each keeps its own data under ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"~/.beacon"}),"."]})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"install",eyebrow:"Get started",children:"Install"}),(0,d.jsxs)("p",{className:"w-muted mb-4 leading-relaxed",children:["One command. It installs ",(0,d.jsx)("span",{className:"text-foreground",children:"Bun"})," if you don't have it, then puts the"," ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon"})," CLI on your PATH. Re-run it any time to update."]}),(0,d.jsx)(q,{copy:!0,children:i.EO}),(0,d.jsx)("p",{className:"w-muted mt-4 leading-relaxed",children:"Then, inside any repository:"}),(0,d.jsx)("div",{className:"mt-3",children:(0,d.jsx)(q,{copy:!0,children:"beacon"})})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"quickstart",eyebrow:"Get started",children:"Quickstart"}),(0,d.jsx)("ol",{className:"space-y-5",children:[(0,d.jsxs)(d.Fragment,{children:["Install with the command above, then run ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon"})," inside a repo. It registers the repo, starts the shared server, and opens the panel in your browser."]}),(0,d.jsxs)(d.Fragment,{children:["In your Claude Code session, run ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"/beacon-init"}),". The agent reads the repo and draws its architecture, schema, and roadmap onto the canvas."]}),(0,d.jsxs)(d.Fragment,{children:["Ask the agent to plan a feature. It calls ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon_propose_plan"})," and the plan renders live on ",(0,d.jsx)("span",{className:"text-foreground",children:"/plan"}),"."]}),(0,d.jsxs)(d.Fragment,{children:["Review it — annotate inline, edit the boards — then ",(0,d.jsx)("span",{className:"text-foreground",children:"Approve"}),", ",(0,d.jsx)("span",{className:"text-foreground",children:"Submit feedback"}),", or ",(0,d.jsx)("span",{className:"text-foreground",children:"Discard"}),". Your verdict returns to the session."]})].map((a,b)=>(0,d.jsxs)("li",{className:"relative pl-11",children:[(0,d.jsx)("span",{className:"w-mono glass absolute left-0 top-0 grid h-7 w-7 place-items-center rounded-md text-[0.72rem] font-semibold text-foreground",children:b+1}),(0,d.jsx)("p",{className:"w-muted leading-relaxed",children:a})]},b))})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"loop",eyebrow:"Concepts",children:"The planning loop"}),(0,d.jsx)("p",{className:"w-muted leading-relaxed",children:"The loop is the whole point. It closes in five steps:"}),(0,d.jsx)("ol",{className:"mt-4 space-y-3",children:[(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-foreground",children:"Propose."})," The agent calls ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon_propose_plan"})," (or you present a plan in plan mode). The tool ",(0,d.jsx)("span",{className:"text-foreground",children:"blocks"})," — the session waits for your verdict."]}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-foreground",children:"Review."})," The plan renders on ",(0,d.jsx)("span",{className:"text-foreground",children:"/plan"}),": a native annotation panel on the left, the roadmap and database boards on the right. Select text to comment; edit the boards directly."]}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-foreground",children:"Decide."})," Approve, Discard, or Submit feedback. Feedback bundles your inline notes plus any board edits."]}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-foreground",children:"Return."})," The verdict flows back to the terminal. On feedback, the agent revises and re-proposes — the loop continues."]}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-foreground",children:"Record."})," On approval the schema and roadmap drafts persist, and when the work is done the agent calls ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon_feature"})," (action: done) so the next session has accurate context."]})].map((a,b)=>(0,d.jsx)("li",{className:"glass w-hover rounded-lg p-4",children:(0,d.jsx)("p",{className:"w-muted text-[0.95rem] leading-relaxed",children:a})},b))})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"canvases",eyebrow:"Concepts",children:"The canvases"}),(0,d.jsx)("div",{className:"space-y-4",children:[{path:"/map",what:"The roadmap: feature cards, their sub-tasks, and dependency links — plus a separate architecture view of the real components. Files the agent edits attach themselves here."},{path:"/db",what:"The database design board: tables and columns, endpoints, and the endpoint→table links. Proposed schema lands as a distinct draft layer you can approve or discard."},{path:"/plan",what:"The split-screen review page: annotations on the left, the roadmap + database boards tabbed on the right, plus a history of every plan and its verdict."}].map(a=>(0,d.jsxs)("div",{className:"glass w-hover rounded-lg p-5",children:[(0,d.jsx)("p",{className:"w-mono text-foreground mb-1",children:a.path}),(0,d.jsx)("p",{className:"w-muted text-[0.95rem] leading-relaxed",children:a.what})]},a.path))})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"cli",eyebrow:"Reference",children:"CLI reference"}),(0,d.jsx)("div",{className:"space-y-3",children:k.map(a=>(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsxs)("code",{className:"w-mono text-foreground text-[0.9rem]",children:[(0,d.jsx)("span",{className:"w-signal select-none",children:"$ "}),a.cmd]}),(0,d.jsx)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:a.what})]},a.cmd))})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"integration",eyebrow:"Reference",children:"Claude Code integration"}),(0,d.jsx)("h3",{className:"mb-1 mt-2 font-semibold text-foreground",children:"Skills — you type these"}),(0,d.jsx)("p",{className:"w-muted mb-4 text-[0.92rem]",children:"Slash commands that tell the agent to do something Beacon-shaped."}),(0,d.jsx)("div",{className:"space-y-3",children:l.map(a=>(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("code",{className:"w-mono text-foreground text-[0.9rem]",children:a.name}),(0,d.jsxs)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:[(0,d.jsx)("span",{className:"text-foreground",children:"When:"})," ",a.when," ",a.what]})]},a.name))}),(0,d.jsx)("h3",{className:"mb-1 mt-8 font-semibold text-foreground",children:"MCP tools — the agent calls these"}),(0,d.jsx)("p",{className:"w-muted mb-4 text-[0.92rem]",children:"You don't run these; the agent reaches for them when they fit. Knowing they exist makes its moves legible."}),(0,d.jsx)("div",{className:"space-y-3",children:m.map(a=>(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("code",{className:"w-mono text-foreground text-[0.9rem]",children:a.name}),(0,d.jsx)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:a.what})]},a.name))}),(0,d.jsx)("h3",{className:"mb-1 mt-8 font-semibold text-foreground",children:"Hooks — these run on their own"}),(0,d.jsx)("p",{className:"w-muted mb-4 text-[0.92rem]",children:"Wired into Claude Code globally; they react to what the session is already doing."}),(0,d.jsx)("div",{className:"space-y-3",children:n.map(a=>(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground text-[0.92rem]",children:a.trigger}),(0,d.jsx)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:a.what})]},a.trigger))})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"config",eyebrow:"Reference",children:"Configuration"}),(0,d.jsx)("div",{className:"space-y-3",children:o.map(a=>(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("code",{className:"w-mono text-foreground text-[0.9rem]",children:a.key}),(0,d.jsx)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:a.what})]},a.key))})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"telemetry",eyebrow:"Reference",children:"Telemetry"}),(0,d.jsxs)("p",{className:"w-muted mb-4 leading-relaxed",children:["Beacon sends an anonymous heartbeat at most every 12 hours while the local server runs, so we can count active installs (npm download numbers are dominated by mirrors and CI). The payload is exactly five fields — verify it yourself anytime with"," ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon telemetry status"}),", which prints the exact payload that gets sent."]}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground text-[0.92rem]",children:"What is sent"}),(0,d.jsxs)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:["A random machine id (a UUID generated locally — tied to nothing), the Beacon version, the operating system (",(0,d.jsx)("span",{className:"w-mono",children:"darwin"}),"/",(0,d.jsx)("span",{className:"w-mono",children:"linux"}),"/",(0,d.jsx)("span",{className:"w-mono",children:"win32"}),"), the CPU architecture, and whether the machine is a CI runner."]})]}),(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground text-[0.92rem]",children:"What is never sent"}),(0,d.jsx)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:"Repo names, file paths, code, plans, board content, environment variables, or anything derived from them. IP addresses are not stored."})]}),(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground text-[0.92rem]",children:"Opting out"}),(0,d.jsxs)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:["Any of: ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon telemetry off"}),", the env var"," ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"BEACON_TELEMETRY_DISABLED=1"}),", or the cross-tool ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"DO_NOT_TRACK=1"})," convention. Re-enable with ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon telemetry on"}),"."]})]})]})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"troubleshooting",eyebrow:"Help",children:"Troubleshooting"}),(0,d.jsx)("p",{className:"w-muted mb-4 leading-relaxed",children:"When something looks off, start here:"}),(0,d.jsx)("div",{className:"mb-4",children:(0,d.jsx)(q,{copy:!0,children:"beacon doctor"})}),(0,d.jsx)("div",{className:"space-y-3",children:[{q:"The panel won't open",a:(0,d.jsxs)(d.Fragment,{children:["Make sure the server is up — run ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon"})," again, or ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon stop"})," then ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon"})," to restart it."]})},{q:"The @beacon tools or skills are missing in Claude Code",a:(0,d.jsxs)(d.Fragment,{children:["Run ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon setup"})," in the repo, then restart your Claude Code session so it re-reads the MCP registration."]})},{q:"How do I update?",a:(0,d.jsx)(d.Fragment,{children:"Re-run the install command — it fetches the latest and relinks. Nothing else to do."})}].map(a=>(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground text-[0.92rem]",children:a.q}),(0,d.jsx)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:a.a})]},a.q))})]})]})]})}),(0,d.jsx)("footer",{className:"px-6 pb-12 pt-8",children:(0,d.jsxs)("div",{className:"mx-auto max-w-6xl",children:[(0,d.jsx)("div",{className:"w-accent-line mb-8 h-px w-full opacity-60"}),(0,d.jsxs)("div",{className:"flex flex-col items-center justify-between gap-5 md:flex-row",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,d.jsx)(h._,{size:26,className:"text-foreground"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"font-semibold leading-tight",children:"Beacon"}),(0,d.jsx)("p",{className:"w-mono w-muted text-[0.72rem]",children:"the visual planning surface for your terminal"})]})]}),(0,d.jsxs)("nav",{className:"flex items-center gap-6 text-sm w-muted",children:[(0,d.jsx)(g(),{href:"/",className:"transition-colors hover:text-foreground",children:"Home"}),(0,d.jsx)("a",{href:"#overview",className:"transition-colors hover:text-foreground",children:"Docs"})]}),(0,d.jsxs)("p",{className:"w-mono w-muted text-[0.72rem]",children:["Created by"," ",(0,d.jsxs)("a",{href:"https://www.instagram.com/wenzorithelly/",target:"_blank",rel:"noreferrer",className:"w-signal inline-flex items-center gap-1 underline decoration-dotted underline-offset-2 transition-opacity hover:opacity-80",children:[(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[(0,d.jsx)("rect",{x:"2",y:"2",width:"20",height:"20",rx:"5",ry:"5"}),(0,d.jsx)("path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"}),(0,d.jsx)("line",{x1:"17.5",y1:"6.5",x2:"17.51",y2:"6.5"})]}),"Wenzo"]}),(0,d.jsx)("span",{className:"mx-2 opacity-40",children:"\xb7"}),"\xa9 2026 Beacon"]})]})]})})]})}},96487:()=>{}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,319,5704,5295],()=>b(b.s=52936));module.exports=c})();
1
+ (()=>{var a={};a.id=9040,a.ids=[9040],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},6716:(a,b,c)=>{"use strict";c.d(b,{AV:()=>J,Ck:()=>H,Dk:()=>F,F2:()=>y,FF:()=>l,K4:()=>w,Lm:()=>O,Nx:()=>s,Q8:()=>I,T_:()=>r,UP:()=>B,VB:()=>E,VO:()=>q,WQ:()=>D,X_:()=>L,Y2:()=>v,_g:()=>C,kO:()=>P,oW:()=>i,p1:()=>M,qh:()=>z});var d=c(16698);c(31421);var e=c(77598),f=c(73024),g=c(48161),h=c(76760);function i(){return process.env.BEACON_HOME||(0,h.join)((0,g.homedir)(),".beacon")}function j(){return(0,h.join)(i(),"workspaces.json")}function k(a){return(0,e.createHash)("sha256").update(a).digest("hex").slice(0,12)}function l(a){let b=(0,h.resolve)(a);return b!==(0,h.resolve)((0,g.homedir)())&&b!==(0,h.parse)(b).root}function m(){return(0,h.join)(i(),"deleted.json")}function n(){try{let a=JSON.parse((0,f.readFileSync)(m(),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function o(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(m(),JSON.stringify(a,null,2))}function p(a){return n().includes(a)}function q(a){let b=n();b.includes(a)||o([...b,a])}function r(a){return(0,h.join)(i(),a)}function s(a){return`file:${(0,h.join)(r(a),"db.sqlite")}`}function t(){try{let a=JSON.parse((0,f.readFileSync)(j(),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function u(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(j(),JSON.stringify(a,null,2))}function v(){return t().sort((a,b)=>b.lastOpenedAt.localeCompare(a.lastOpenedAt))}function w(a){return t().find(b=>b.id===a)??null}function x(a,b,c=new Date().toISOString()){if(!l(a))throw Error(`beacon: refusing to register a non-repo path as a workspace: ${a}`);let d=k(a);if(p(d))throw Error(`beacon: workspace ${d} (${a}) was deleted — run \`beacon\` or /beacon-init to re-add it`);let e=t(),g=e.find(a=>a.id===d),i={id:d,path:a,name:b||g?.name||(0,h.basename)(a),lastOpenedAt:c},j=[i,...e.filter(a=>a.id!==d)];return(0,f.mkdirSync)(r(d),{recursive:!0}),u(j),i}function y(a,b){var c;let d;return c=k(a),(d=n()).includes(c)&&o(d.filter(a=>a!==c)),x(a,b)}function z(a){u(t().filter(b=>b.id!==a)),B()===a&&C(v()[0]?.id??null)}function A(){return(0,h.join)(i(),"active")}function B(){try{return(0,f.readFileSync)(A(),"utf8").trim()||null}catch{return null}}function C(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(A(),a??"")}function D(){let a=B();return a?w(a):null}function E(){let a=M()??B();return a?w(a):null}let F="beacon_ws";function G(a,b){let c=a.headers.get("cookie");if(!c)return null;for(let a of c.split(";")){let c=a.indexOf("=");if(-1!==c&&a.slice(0,c).trim()===b)return decodeURIComponent(a.slice(c+1).trim())}return null}function H(a){let b,c=a.headers.get("x-beacon-workspace");if(c&&w(c))return c;let d=G(a,F);return d&&w(d)?d:1===(b=v()).length?b[0].id:null}let I="x-beacon-workspace-path";async function J(a){let b=a.headers.get("x-beacon-workspace");if(b&&w(b))return b;let c=a.headers.get(I);if(c&&l(c)&&!p(k(c))&&(!b||k(c)===b)){let a=x(c);return await P(a.id),a.id}let d=G(a,F);return d&&w(d)?d:null}let K=new d.AsyncLocalStorage;function L(a,b){return a?K.run(a,b):b()}function M(){return K.getStore()??null}let N=new Set;function O(a){N.delete((0,h.join)(r(a),"db.sqlite"))}async function P(a){let b=r(a),d=(0,h.join)(b,"db.sqlite"),e=(0,f.existsSync)(d);if(e&&N.has(d))return{ok:!0,created:!1,migrated:!1};try{(0,f.mkdirSync)(b,{recursive:!0});let{provisionDb:g}=await Promise.all([c.e(1669),c.e(9884),c.e(5871),c.e(5258)]).then(c.bind(c,35258)),h=await g(s(a));return N.add(d),{ok:!0,created:!e,migrated:e&&h.migrated}}catch(a){return{ok:!1,created:!1,migrated:!1,error:a instanceof Error?a.message:String(a)}}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12372:(a,b,c)=>{Promise.resolve().then(c.bind(c,88264))},15113:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g,metadata:()=>f});var d=c(5735),e=c(42590);let f={title:"Docs — Beacon",description:"How Beacon works: install, the planning loop, the canvases, the CLI, and the Claude Code integration (skills, MCP tools, hooks)."};function g(){return(0,d.jsx)(e.Docs,{})}},16698:a=>{"use strict";a.exports=require("node:async_hooks")},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},28855:a=>{"use strict";a.exports=import("@libsql/client")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30594:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["docs",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,15113)),"/home/runner/work/beacon/beacon/app/docs/page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,7667))).default(a)],openGraph:[],twitter:[],manifest:void 0}},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,23704)),"/home/runner/work/beacon/beacon/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,7667))).default(a)],openGraph:[],twitter:[],manifest:void 0}},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/docs/page",pathname:"/docs",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/docs/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},42590:(a,b,c)=>{"use strict";c.d(b,{Docs:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call Docs() from the server but Docs 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/docs/docs.tsx","Docs")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},45301:(a,b,c)=>{"use strict";c.d(b,{KS:()=>l,Qq:()=>k,jv:()=>j});var d=c(31421),e=c(77598),f=c(48161),g=c(76760),h=c(6716);let i=null;function j(){if(process.env.BEACON_REPO)return process.env.BEACON_REPO;let a=(0,h.p1)();if(a){let b=(0,h.K4)(a);if(b)return b.path}let b=(0,h.WQ)();if(b)return b.path;if(i)return i;try{let a=(0,d.execSync)("git rev-parse --show-toplevel",{cwd:process.cwd(),stdio:["ignore","pipe","ignore"]}).toString().trim();if(a)return i=a}catch{}return i=(0,g.resolve)(process.cwd(),"../..")}function k(){return(0,g.basename)(j())}function l(){if(process.env.BEACON_DATA_DIR)return process.env.BEACON_DATA_DIR;let a=(0,h.p1)();if(a&&(0,h.K4)(a))return(0,h.T_)(a);let b=(0,h.WQ)();return b?(0,h.T_)(b.id):(0,g.join)((0,f.homedir)(),".beacon",(0,e.createHash)("sha256").update(j()).digest("hex").slice(0,12))}},48161:a=>{"use strict";a.exports=require("node:os")},59636:(a,b,c)=>{Promise.resolve().then(c.bind(c,42590))},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},77702:()=>{},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88264:(a,b,c)=>{"use strict";c.d(b,{Docs:()=>s});var d=c(48249),e=c(67484),f=c(2116),g=c.n(f),h=c(79291),i=c(49183);c(77702);let j=[{id:"overview",title:"What is Beacon"},{id:"install",title:"Install"},{id:"quickstart",title:"Quickstart"},{id:"loop",title:"The planning loop"},{id:"canvases",title:"The canvases"},{id:"cli",title:"CLI reference"},{id:"integration",title:"Claude Code integration"},{id:"config",title:"Configuration"},{id:"telemetry",title:"Telemetry"},{id:"troubleshooting",title:"Troubleshooting"}],k=[{cmd:"beacon",what:"Register the current repo, ensure the shared server is running, and open the panel on this repo. The everyday command."},{cmd:"beacon doctor",what:"Audit what's wired — the global Claude Code hooks + skills, this repo's .mcp.json, and the running daemon."},{cmd:"beacon stop",what:"Stop the shared background server. It restarts the next time you run beacon."},{cmd:"beacon setup",what:"(Re)install Beacon's per-repo helpers — the skills and .mcp.json — in the current repo without opening the panel."},{cmd:"beacon uninstall",what:"Reverse every Beacon artifact: the global ~/.claude wiring and the per-repo files."},{cmd:"beacon mcp",what:"The stdio MCP server Claude Code spawns automatically. You never run this by hand."}],l=[{name:"/beacon-init",when:"First time you point Beacon at a repo.",what:"The agent reads the codebase and fills Beacon's map — the main components, the rough roadmap themes, the database schema, and the endpoints. Run it once per repo to bootstrap the picture."},{name:"/beacon-refresh",when:"Every few weeks, or after a big set of changes.",what:"The agent re-surveys the repo and updates what /beacon-init produced — adds new components, drops removed ones, picks up new tables and routes. Anything you added by hand on the canvas survives."},{name:"/beacon-plan",when:"Whenever you want to review an approach on the canvas.",what:"Present the current plan or approach on Beacon's /plan page for annotation instead of asking for approval as a wall of text."}],m=[{name:"beacon_context_for_feature",what:"Before touching code, the agent pulls the files attached to a feature plus their imports, the endpoints in that domain, the tables those endpoints touch, and the surrounding components — one round-trip instead of a blind Glob/Grep scan."},{name:"beacon_blast_radius",what:"Mid-feature, the agent runs this on a file it's about to edit to see what imports it and what it imports — so it can judge whether a change is safe."},{name:"beacon_propose_plan",what:"When the agent has a feature plan (tables + relations + endpoints), this opens it on /plan and BLOCKS the session until you Approve, Discard, or Submit feedback."},{name:"beacon_feature",what:"One tool for a feature's whole lifecycle: add a card (defaults to backlog), start one, break it into sub-tasks, or mark it done with a markdown summary + the files it touched — keeping the next session's context accurate."},{name:"beacon_map",what:"A quick list of features already on the roadmap, with each card's category/priority/layer/status. The agent calls it near the start of work to reuse a category and avoid duplicating what's planned."},{name:"beacon_entities",what:"A raw readout of everything mapped — features, architecture, tables, endpoints — when the agent just needs the planning data."}],n=[{trigger:"Plan mode (ExitPlanMode)",what:"When the agent shows you a plan, Beacon intercepts it and renders the markdown on /plan with a native annotation panel. Select text and type → it becomes a comment. Approve / Discard / Submit feedback flows back to the session as the next instruction."},{trigger:"File edits (PostToolUse)",what:"Every Edit/Write the agent runs is reported to Beacon and the file is attached to whichever feature the session is working on. The /map view fills in with the real files behind each feature, without you tagging anything."},{trigger:"Code-graph watcher",what:"While the panel is open, a background watcher rebuilds the Files view as you save code — the maps stay current with the repo on their own."}],o=[{key:"BEACON_HOME",what:"Where per-workspace data lives — the SQLite databases and the server record. Defaults to ~/.beacon."},{key:"PORT",what:"Port for the shared local server. Defaults to 4319."},{key:"Settings → intel",what:"In the panel, the Settings page drives the code-intelligence model/provider and your editor, and triggers a code-map sync."}];function p({text:a,label:b="Copy"}){let[c,f]=(0,e.useState)(!1);return(0,d.jsx)("button",{onClick:()=>{navigator.clipboard?.writeText(a),f(!0),setTimeout(()=>f(!1),1500)},className:"glass-soft w-hover grid h-8 w-8 shrink-0 place-items-center rounded-md","aria-label":b,children:c?(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"#ff7a45",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("path",{d:"M20 6 9 17l-5-5"})}):(0,d.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),(0,d.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})}function q({children:a,copy:b}){return(0,d.jsxs)("div",{className:"glass-soft flex items-center gap-3 rounded-lg px-4 py-2.5",children:[(0,d.jsx)("span",{className:"w-signal select-none",children:"$"}),(0,d.jsx)("code",{className:"w-mono w-scrollbar-none flex-1 overflow-x-auto whitespace-nowrap text-[0.85rem] text-foreground",children:a}),b&&(0,d.jsx)(p,{text:a})]})}function r({id:a,eyebrow:b,children:c}){return(0,d.jsxs)("div",{className:"mb-5 scroll-mt-28",id:a,children:[(0,d.jsx)("p",{className:"w-mono w-eyebrow w-signal mb-2",children:b}),(0,d.jsx)("h2",{className:"text-[1.6rem] font-semibold tracking-tight",children:c})]})}function s(){let[a,b]=(0,e.useState)(j[0].id),c=(0,e.useRef)(null);return(0,d.jsxs)("div",{className:"welcome",ref:c,children:[(0,d.jsx)("div",{className:"welcome-bg","aria-hidden":!0}),(0,d.jsx)("header",{className:"fixed inset-x-0 top-0 z-50",children:(0,d.jsx)("div",{className:"mx-auto max-w-6xl px-6",children:(0,d.jsxs)("div",{className:"w-load mt-4 glass flex items-center justify-between rounded-full py-2.5 pl-5 pr-3",style:{animationDelay:".05s"},children:[(0,d.jsxs)(g(),{href:"/",className:"flex items-center gap-2.5",children:[(0,d.jsx)(h._,{size:20,className:"text-foreground"}),(0,d.jsx)("span",{className:"font-semibold tracking-tight",children:"Beacon"}),(0,d.jsx)("span",{className:"w-mono w-eyebrow w-muted ml-1 hidden sm:inline",children:"docs"})]}),(0,d.jsxs)("nav",{className:"flex items-center gap-6 text-sm w-muted",children:[(0,d.jsx)(g(),{href:"/",className:"transition-colors hover:text-foreground",children:"Home"}),(0,d.jsx)("a",{href:"#install",className:"transition-colors hover:text-foreground",children:"Install"})]})]})})}),(0,d.jsx)("div",{className:"mx-auto max-w-6xl px-6 pb-24 pt-20",children:(0,d.jsxs)("div",{className:"lg:grid lg:grid-cols-[15rem_1fr] lg:gap-14",children:[(0,d.jsx)("aside",{className:"hidden lg:block",children:(0,d.jsxs)("nav",{className:"sticky top-28",children:[(0,d.jsx)("p",{className:"w-mono w-eyebrow w-muted mb-4",children:"On this page"}),(0,d.jsx)("ul",{className:"space-y-1.5 text-sm",children:j.map(b=>(0,d.jsx)("li",{children:(0,d.jsx)("a",{href:`#${b.id}`,className:`block border-l-2 py-1 pl-3 transition-colors ${a===b.id?"w-signal border-[#ff7a45]":"w-muted border-transparent hover:text-foreground"}`,children:b.title})},b.id))})]})}),(0,d.jsxs)("main",{className:"min-w-0 max-w-2xl",children:[(0,d.jsxs)("section",{className:"w-load",children:[(0,d.jsx)(r,{id:"overview",eyebrow:"Overview",children:"What is Beacon"}),(0,d.jsxs)("p",{className:"w-muted leading-relaxed",children:["Beacon is the ",(0,d.jsx)("span",{className:"text-foreground",children:"visual planning surface for the coding agent in your terminal"}),". That session is the brain; Beacon is its eyes and hands. The agent proposes a feature plan — roadmap features, database schema, and endpoints — you review it on a canvas instead of a wall of text, give scoped feedback, and approve or discard with a click. The verdict flows straight back to your session."]}),(0,d.jsxs)("p",{className:"w-muted mt-4 leading-relaxed",children:["It runs entirely on your machine — ",(0,d.jsx)("span",{className:"text-foreground",children:"local-first, your code never leaves it"}),". One shared server quietly serves every repo you open; each keeps its own data under ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"~/.beacon"}),"."]})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"install",eyebrow:"Get started",children:"Install"}),(0,d.jsxs)("p",{className:"w-muted mb-4 leading-relaxed",children:["One command. It installs ",(0,d.jsx)("span",{className:"text-foreground",children:"Bun"})," if you don't have it, then puts the"," ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon"})," CLI on your PATH. Re-run it any time to update."]}),(0,d.jsx)(q,{copy:!0,children:i.EO}),(0,d.jsx)("p",{className:"w-muted mt-4 leading-relaxed",children:"Then, inside any repository:"}),(0,d.jsx)("div",{className:"mt-3",children:(0,d.jsx)(q,{copy:!0,children:"beacon"})})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"quickstart",eyebrow:"Get started",children:"Quickstart"}),(0,d.jsx)("ol",{className:"space-y-5",children:[(0,d.jsxs)(d.Fragment,{children:["Install with the command above, then run ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon"})," inside a repo. It registers the repo, starts the shared server, and opens the panel in your browser."]}),(0,d.jsxs)(d.Fragment,{children:["In your Claude Code session, run ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"/beacon-init"}),". The agent reads the repo and draws its architecture, schema, and roadmap onto the canvas."]}),(0,d.jsxs)(d.Fragment,{children:["Ask the agent to plan a feature. It calls ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon_propose_plan"})," and the plan renders live on ",(0,d.jsx)("span",{className:"text-foreground",children:"/plan"}),"."]}),(0,d.jsxs)(d.Fragment,{children:["Review it — annotate inline, edit the boards — then ",(0,d.jsx)("span",{className:"text-foreground",children:"Approve"}),", ",(0,d.jsx)("span",{className:"text-foreground",children:"Submit feedback"}),", or ",(0,d.jsx)("span",{className:"text-foreground",children:"Discard"}),". Your verdict returns to the session."]})].map((a,b)=>(0,d.jsxs)("li",{className:"relative pl-11",children:[(0,d.jsx)("span",{className:"w-mono glass absolute left-0 top-0 grid h-7 w-7 place-items-center rounded-md text-[0.72rem] font-semibold text-foreground",children:b+1}),(0,d.jsx)("p",{className:"w-muted leading-relaxed",children:a})]},b))})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"loop",eyebrow:"Concepts",children:"The planning loop"}),(0,d.jsx)("p",{className:"w-muted leading-relaxed",children:"The loop is the whole point. It closes in five steps:"}),(0,d.jsx)("ol",{className:"mt-4 space-y-3",children:[(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-foreground",children:"Propose."})," The agent calls ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon_propose_plan"})," (or you present a plan in plan mode). The tool ",(0,d.jsx)("span",{className:"text-foreground",children:"blocks"})," — the session waits for your verdict."]}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-foreground",children:"Review."})," The plan renders on ",(0,d.jsx)("span",{className:"text-foreground",children:"/plan"}),": a native annotation panel on the left, the roadmap and database boards on the right. Select text to comment; edit the boards directly."]}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-foreground",children:"Decide."})," Approve, Discard, or Submit feedback. Feedback bundles your inline notes plus any board edits."]}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-foreground",children:"Return."})," The verdict flows back to the terminal. On feedback, the agent revises and re-proposes — the loop continues."]}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-foreground",children:"Record."})," On approval the schema and roadmap drafts persist, and when the work is done the agent calls ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon_feature"})," (action: done) so the next session has accurate context."]})].map((a,b)=>(0,d.jsx)("li",{className:"glass w-hover rounded-lg p-4",children:(0,d.jsx)("p",{className:"w-muted text-[0.95rem] leading-relaxed",children:a})},b))})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"canvases",eyebrow:"Concepts",children:"The canvases"}),(0,d.jsx)("div",{className:"space-y-4",children:[{path:"/map",what:"The roadmap: feature cards, their sub-tasks, and dependency links — plus a separate architecture view of the real components. Files the agent edits attach themselves here."},{path:"/db",what:"The database design board: tables and columns, endpoints, and the endpoint→table links. Proposed schema lands as a distinct draft layer you can approve or discard."},{path:"/plan",what:"The split-screen review page: annotations on the left, the roadmap + database boards tabbed on the right, plus a history of every plan and its verdict."}].map(a=>(0,d.jsxs)("div",{className:"glass w-hover rounded-lg p-5",children:[(0,d.jsx)("p",{className:"w-mono text-foreground mb-1",children:a.path}),(0,d.jsx)("p",{className:"w-muted text-[0.95rem] leading-relaxed",children:a.what})]},a.path))})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"cli",eyebrow:"Reference",children:"CLI reference"}),(0,d.jsx)("div",{className:"space-y-3",children:k.map(a=>(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsxs)("code",{className:"w-mono text-foreground text-[0.9rem]",children:[(0,d.jsx)("span",{className:"w-signal select-none",children:"$ "}),a.cmd]}),(0,d.jsx)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:a.what})]},a.cmd))})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"integration",eyebrow:"Reference",children:"Claude Code integration"}),(0,d.jsx)("h3",{className:"mb-1 mt-2 font-semibold text-foreground",children:"Skills — you type these"}),(0,d.jsx)("p",{className:"w-muted mb-4 text-[0.92rem]",children:"Slash commands that tell the agent to do something Beacon-shaped."}),(0,d.jsx)("div",{className:"space-y-3",children:l.map(a=>(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("code",{className:"w-mono text-foreground text-[0.9rem]",children:a.name}),(0,d.jsxs)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:[(0,d.jsx)("span",{className:"text-foreground",children:"When:"})," ",a.when," ",a.what]})]},a.name))}),(0,d.jsx)("h3",{className:"mb-1 mt-8 font-semibold text-foreground",children:"MCP tools — the agent calls these"}),(0,d.jsx)("p",{className:"w-muted mb-4 text-[0.92rem]",children:"You don't run these; the agent reaches for them when they fit. Knowing they exist makes its moves legible."}),(0,d.jsx)("div",{className:"space-y-3",children:m.map(a=>(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("code",{className:"w-mono text-foreground text-[0.9rem]",children:a.name}),(0,d.jsx)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:a.what})]},a.name))}),(0,d.jsx)("h3",{className:"mb-1 mt-8 font-semibold text-foreground",children:"Hooks — these run on their own"}),(0,d.jsx)("p",{className:"w-muted mb-4 text-[0.92rem]",children:"Wired into Claude Code globally; they react to what the session is already doing."}),(0,d.jsx)("div",{className:"space-y-3",children:n.map(a=>(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground text-[0.92rem]",children:a.trigger}),(0,d.jsx)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:a.what})]},a.trigger))})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"config",eyebrow:"Reference",children:"Configuration"}),(0,d.jsx)("div",{className:"space-y-3",children:o.map(a=>(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("code",{className:"w-mono text-foreground text-[0.9rem]",children:a.key}),(0,d.jsx)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:a.what})]},a.key))})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"telemetry",eyebrow:"Reference",children:"Telemetry"}),(0,d.jsxs)("p",{className:"w-muted mb-4 leading-relaxed",children:["Beacon sends an anonymous heartbeat at most every 12 hours while the local server runs, so we can count active installs (npm download numbers are dominated by mirrors and CI). The payload is exactly five fields — verify it yourself anytime with"," ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon telemetry status"}),", which prints the exact payload that gets sent."]}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground text-[0.92rem]",children:"What is sent"}),(0,d.jsxs)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:["A random machine id (a UUID generated locally — tied to nothing), the Beacon version, the operating system (",(0,d.jsx)("span",{className:"w-mono",children:"darwin"}),"/",(0,d.jsx)("span",{className:"w-mono",children:"linux"}),"/",(0,d.jsx)("span",{className:"w-mono",children:"win32"}),"), the CPU architecture, and whether the machine is a CI runner."]})]}),(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground text-[0.92rem]",children:"What is never sent"}),(0,d.jsx)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:"Repo names, file paths, code, plans, board content, environment variables, or anything derived from them. IP addresses are not stored."})]}),(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground text-[0.92rem]",children:"Opting out"}),(0,d.jsxs)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:["Any of: ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon telemetry off"}),", the env var"," ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"BEACON_TELEMETRY_DISABLED=1"}),", or the cross-tool ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"DO_NOT_TRACK=1"})," convention. Re-enable with ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon telemetry on"}),"."]})]})]})]}),(0,d.jsxs)("section",{className:"mt-16",children:[(0,d.jsx)(r,{id:"troubleshooting",eyebrow:"Help",children:"Troubleshooting"}),(0,d.jsx)("p",{className:"w-muted mb-4 leading-relaxed",children:"When something looks off, start here:"}),(0,d.jsx)("div",{className:"mb-4",children:(0,d.jsx)(q,{copy:!0,children:"beacon doctor"})}),(0,d.jsx)("div",{className:"space-y-3",children:[{q:"The panel won't open",a:(0,d.jsxs)(d.Fragment,{children:["Make sure the server is up — run ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon"})," again, or ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon stop"})," then ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon"})," to restart it."]})},{q:"The @beacon tools or skills are missing in Claude Code",a:(0,d.jsxs)(d.Fragment,{children:["Run ",(0,d.jsx)("span",{className:"w-mono text-foreground",children:"beacon setup"})," in the repo, then restart your Claude Code session so it re-reads the MCP registration."]})},{q:"How do I update?",a:(0,d.jsx)(d.Fragment,{children:"Re-run the install command — it fetches the latest and relinks. Nothing else to do."})}].map(a=>(0,d.jsxs)("div",{className:"glass rounded-lg p-4",children:[(0,d.jsx)("p",{className:"font-medium text-foreground text-[0.92rem]",children:a.q}),(0,d.jsx)("p",{className:"w-muted mt-1.5 text-[0.92rem] leading-relaxed",children:a.a})]},a.q))})]})]})]})}),(0,d.jsx)("footer",{className:"px-6 pb-12 pt-8",children:(0,d.jsxs)("div",{className:"mx-auto max-w-6xl",children:[(0,d.jsx)("div",{className:"w-accent-line mb-8 h-px w-full opacity-60"}),(0,d.jsxs)("div",{className:"flex flex-col items-center justify-between gap-5 md:flex-row",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,d.jsx)(h._,{size:26,className:"text-foreground"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"font-semibold leading-tight",children:"Beacon"}),(0,d.jsx)("p",{className:"w-mono w-muted text-[0.72rem]",children:"the visual planning surface for your terminal"})]})]}),(0,d.jsxs)("nav",{className:"flex items-center gap-6 text-sm w-muted",children:[(0,d.jsx)(g(),{href:"/",className:"transition-colors hover:text-foreground",children:"Home"}),(0,d.jsx)("a",{href:"#overview",className:"transition-colors hover:text-foreground",children:"Docs"})]}),(0,d.jsxs)("p",{className:"w-mono w-muted text-[0.72rem]",children:["Created by"," ",(0,d.jsxs)("a",{href:"https://www.instagram.com/wenzorithelly/",target:"_blank",rel:"noreferrer",className:"w-signal inline-flex items-center gap-1 underline decoration-dotted underline-offset-2 transition-opacity hover:opacity-80",children:[(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[(0,d.jsx)("rect",{x:"2",y:"2",width:"20",height:"20",rx:"5",ry:"5"}),(0,d.jsx)("path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"}),(0,d.jsx)("line",{x1:"17.5",y1:"6.5",x2:"17.51",y2:"6.5"})]}),"Wenzo"]}),(0,d.jsx)("span",{className:"mx-2 opacity-40",children:"\xb7"}),"\xa9 2026 Beacon"]})]})]})})]})}},96487:()=>{}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,319,5704,5295],()=>b(b.s=30594));module.exports=c})();