trybeacon 0.1.47 → 0.1.49

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 (335) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +14 -12
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/routes-manifest.json +12 -0
  6. package/.next/server/app/_global-error/page.js +3 -3
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page.js +2 -2
  17. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  21. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  23. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/.next/server/app/api/board-annotations/[id]/route.js +1 -1
  27. package/.next/server/app/api/board-annotations/route.js +1 -1
  28. package/.next/server/app/api/board-layout/route.js +1 -1
  29. package/.next/server/app/api/bug-flags/[id]/route.js +1 -1
  30. package/.next/server/app/api/bug-flags/route.js +1 -1
  31. package/.next/server/app/api/code-graph/position/route.js +1 -1
  32. package/.next/server/app/api/code-graph/route.js +1 -1
  33. package/.next/server/app/api/context/feature/route.js +1 -1
  34. package/.next/server/app/api/context/file/route.js +1 -1
  35. package/.next/server/app/api/context/route.js +2 -2
  36. package/.next/server/app/api/db/arrange/route.js +1 -1
  37. package/.next/server/app/api/db/backfill-access/route.js +1 -1
  38. package/.next/server/app/api/db/position/route.js +1 -1
  39. package/.next/server/app/api/db/prune-planned/route.js +1 -1
  40. package/.next/server/app/api/db/reconcile-endpoints/route.js +1 -1
  41. package/.next/server/app/api/db/relations/[id]/route.js +1 -1
  42. package/.next/server/app/api/db/tables/[id]/route.js +1 -1
  43. package/.next/server/app/api/draft/approve/route.js +1 -1
  44. package/.next/server/app/api/draft/route.js +1 -1
  45. package/.next/server/app/api/draft/status/route.js +1 -1
  46. package/.next/server/app/api/edges/[id]/route.js +1 -1
  47. package/.next/server/app/api/edges/route.js +1 -1
  48. package/.next/server/app/api/endpoints/[id]/route.js +1 -1
  49. package/.next/server/app/api/entities/route.js +1 -1
  50. package/.next/server/app/api/feedback/[id]/route.js +1 -1
  51. package/.next/server/app/api/feedback/[id]/vote/route.js +1 -1
  52. package/.next/server/app/api/feedback/route.js +1 -1
  53. package/.next/server/app/api/flags/route.js +1 -0
  54. package/.next/server/app/api/flags/route.js.nft.json +1 -0
  55. package/.next/server/app/api/flags/route_client-reference-manifest.js +1 -0
  56. package/.next/server/app/api/ingest/route.js +2 -2
  57. package/.next/server/app/api/init/route.js +1 -1
  58. package/.next/server/app/api/map/describe/route.js +2 -2
  59. package/.next/server/app/api/map/files/route.js +1 -1
  60. package/.next/server/app/api/map/finish/route.js +1 -1
  61. package/.next/server/app/api/map/route.js +1 -1
  62. package/.next/server/app/api/map/start/route.js +1 -1
  63. package/.next/server/app/api/map/touch-active/route.js +1 -1
  64. package/.next/server/app/api/nodes/[id]/position/route.js +1 -1
  65. package/.next/server/app/api/nodes/[id]/route.js +1 -1
  66. package/.next/server/app/api/nodes/positions/route.js +1 -1
  67. package/.next/server/app/api/nodes/route.js +1 -1
  68. package/.next/server/app/api/nodes/subtasks/route.js +1 -1
  69. package/.next/server/app/api/notes/[id]/route.js +1 -1
  70. package/.next/server/app/api/notes/route.js +1 -1
  71. package/.next/server/app/api/open/route.js +1 -1
  72. package/.next/server/app/api/plan/annotations/route.js +3 -3
  73. package/.next/server/app/api/plan/approve/route.js +2 -2
  74. package/.next/server/app/api/plan/history/route.js +1 -1
  75. package/.next/server/app/api/plan/markdown/route.js +1 -1
  76. package/.next/server/app/api/plan/presence/route.js +1 -1
  77. package/.next/server/app/api/plan/route.js +1 -1
  78. package/.next/server/app/api/plan/verdict/route.js +1 -1
  79. package/.next/server/app/api/preferences/route.js +1 -1
  80. package/.next/server/app/api/project-meta/route.js +1 -1
  81. package/.next/server/app/api/reset/route.js +1 -1
  82. package/.next/server/app/api/scope-guard/check/route.js +1 -0
  83. package/.next/server/app/api/scope-guard/check/route.js.nft.json +1 -0
  84. package/.next/server/app/api/scope-guard/check/route_client-reference-manifest.js +1 -0
  85. package/.next/server/app/api/stream/route.js +2 -2
  86. package/.next/server/app/api/tab/nav/route.js +1 -1
  87. package/.next/server/app/api/tab/presence/route.js +1 -1
  88. package/.next/server/app/api/telemetry/route.js +1 -1
  89. package/.next/server/app/api/telemetry/stats/route.js +1 -1
  90. package/.next/server/app/api/version/route.js +1 -1
  91. package/.next/server/app/api/workspace/activate/route.js +1 -1
  92. package/.next/server/app/api/workspace/route.js +1 -1
  93. package/.next/server/app/apple-icon.png/route.js +1 -1
  94. package/.next/server/app/docs/page.js +2 -2
  95. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  96. package/.next/server/app/docs.html +1 -1
  97. package/.next/server/app/docs.rsc +2 -2
  98. package/.next/server/app/docs.segments/_full.segment.rsc +2 -2
  99. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  100. package/.next/server/app/docs.segments/_index.segment.rsc +2 -2
  101. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  102. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  103. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  104. package/.next/server/app/feedback/page.js +2 -2
  105. package/.next/server/app/feedback/page_client-reference-manifest.js +1 -1
  106. package/.next/server/app/feedback.html +1 -1
  107. package/.next/server/app/feedback.rsc +2 -2
  108. package/.next/server/app/feedback.segments/_full.segment.rsc +2 -2
  109. package/.next/server/app/feedback.segments/_head.segment.rsc +1 -1
  110. package/.next/server/app/feedback.segments/_index.segment.rsc +2 -2
  111. package/.next/server/app/feedback.segments/_tree.segment.rsc +2 -2
  112. package/.next/server/app/feedback.segments/feedback/__PAGE__.segment.rsc +1 -1
  113. package/.next/server/app/feedback.segments/feedback.segment.rsc +1 -1
  114. package/.next/server/app/help/page.js +2 -2
  115. package/.next/server/app/help/page_client-reference-manifest.js +1 -1
  116. package/.next/server/app/help.html +1 -1
  117. package/.next/server/app/help.rsc +2 -2
  118. package/.next/server/app/help.segments/_full.segment.rsc +2 -2
  119. package/.next/server/app/help.segments/_head.segment.rsc +1 -1
  120. package/.next/server/app/help.segments/_index.segment.rsc +2 -2
  121. package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
  122. package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +1 -1
  123. package/.next/server/app/help.segments/help.segment.rsc +1 -1
  124. package/.next/server/app/icon.svg/route.js +1 -1
  125. package/.next/server/app/index.html +1 -1
  126. package/.next/server/app/index.rsc +3 -3
  127. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  128. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  129. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  130. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  131. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  132. package/.next/server/app/map/page.js +2 -2
  133. package/.next/server/app/map/page.js.nft.json +1 -1
  134. package/.next/server/app/map/page_client-reference-manifest.js +1 -1
  135. package/.next/server/app/page.js +2 -2
  136. package/.next/server/app/page_client-reference-manifest.js +1 -1
  137. package/.next/server/app/plan/page.js +2 -2
  138. package/.next/server/app/plan/page.js.nft.json +1 -1
  139. package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
  140. package/.next/server/app/settings/page.js +2 -2
  141. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  142. package/.next/server/app-paths-manifest.json +14 -12
  143. package/.next/server/chunks/1341.js +1 -1
  144. package/.next/server/chunks/249.js +1 -1
  145. package/.next/server/chunks/2933.js +1 -1
  146. package/.next/server/chunks/{7208.js → 2999.js} +3 -3
  147. package/.next/server/chunks/3221.js +2 -2
  148. package/.next/server/chunks/3622.js +1 -1
  149. package/.next/server/chunks/4378.js +1 -1
  150. package/.next/server/chunks/4940.js +1 -1
  151. package/.next/server/chunks/7331.js +1 -0
  152. package/.next/server/chunks/9213.js +1 -1
  153. package/.next/server/chunks/9683.js +1 -1
  154. package/.next/server/chunks/9734.js +1 -1
  155. package/.next/server/middleware-build-manifest.js +1 -1
  156. package/.next/server/pages/404.html +1 -1
  157. package/.next/server/pages/500.html +1 -1
  158. package/.next/server/server-reference-manifest.js +1 -1
  159. package/.next/server/server-reference-manifest.json +1 -1
  160. package/.next/static/chunks/3343-af1292b51a276724.js +1 -0
  161. package/.next/static/chunks/7323-480fb88e9d24f9e9.js +1 -0
  162. package/.next/static/chunks/app/_global-error/page-dc3f0f4fd9e88c4e.js +1 -0
  163. package/.next/static/chunks/app/api/board-annotations/[id]/route-dc3f0f4fd9e88c4e.js +1 -0
  164. package/.next/static/chunks/app/api/board-annotations/route-dc3f0f4fd9e88c4e.js +1 -0
  165. package/.next/static/chunks/app/api/board-layout/route-dc3f0f4fd9e88c4e.js +1 -0
  166. package/.next/static/chunks/app/api/bug-flags/[id]/route-dc3f0f4fd9e88c4e.js +1 -0
  167. package/.next/static/chunks/app/api/bug-flags/route-dc3f0f4fd9e88c4e.js +1 -0
  168. package/.next/static/chunks/app/api/code-graph/position/route-dc3f0f4fd9e88c4e.js +1 -0
  169. package/.next/static/chunks/app/api/code-graph/route-dc3f0f4fd9e88c4e.js +1 -0
  170. package/.next/static/chunks/app/api/context/feature/route-dc3f0f4fd9e88c4e.js +1 -0
  171. package/.next/static/chunks/app/api/context/file/route-dc3f0f4fd9e88c4e.js +1 -0
  172. package/.next/static/chunks/app/api/context/route-dc3f0f4fd9e88c4e.js +1 -0
  173. package/.next/static/chunks/app/api/db/arrange/route-dc3f0f4fd9e88c4e.js +1 -0
  174. package/.next/static/chunks/app/api/db/backfill-access/route-dc3f0f4fd9e88c4e.js +1 -0
  175. package/.next/static/chunks/app/api/db/position/route-dc3f0f4fd9e88c4e.js +1 -0
  176. package/.next/static/chunks/app/api/db/prune-planned/route-dc3f0f4fd9e88c4e.js +1 -0
  177. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-dc3f0f4fd9e88c4e.js +1 -0
  178. package/.next/static/chunks/app/api/db/relations/[id]/route-dc3f0f4fd9e88c4e.js +1 -0
  179. package/.next/static/chunks/app/api/db/tables/[id]/route-dc3f0f4fd9e88c4e.js +1 -0
  180. package/.next/static/chunks/app/api/draft/approve/route-dc3f0f4fd9e88c4e.js +1 -0
  181. package/.next/static/chunks/app/api/draft/route-dc3f0f4fd9e88c4e.js +1 -0
  182. package/.next/static/chunks/app/api/draft/status/route-dc3f0f4fd9e88c4e.js +1 -0
  183. package/.next/static/chunks/app/api/edges/[id]/route-dc3f0f4fd9e88c4e.js +1 -0
  184. package/.next/static/chunks/app/api/edges/route-dc3f0f4fd9e88c4e.js +1 -0
  185. package/.next/static/chunks/app/api/endpoints/[id]/route-dc3f0f4fd9e88c4e.js +1 -0
  186. package/.next/static/chunks/app/api/entities/route-dc3f0f4fd9e88c4e.js +1 -0
  187. package/.next/static/chunks/app/api/feedback/[id]/route-dc3f0f4fd9e88c4e.js +1 -0
  188. package/.next/static/chunks/app/api/feedback/[id]/vote/route-dc3f0f4fd9e88c4e.js +1 -0
  189. package/.next/static/chunks/app/api/feedback/route-dc3f0f4fd9e88c4e.js +1 -0
  190. package/.next/static/chunks/app/api/flags/route-dc3f0f4fd9e88c4e.js +1 -0
  191. package/.next/static/chunks/app/api/ingest/route-dc3f0f4fd9e88c4e.js +1 -0
  192. package/.next/static/chunks/app/api/init/route-dc3f0f4fd9e88c4e.js +1 -0
  193. package/.next/static/chunks/app/api/map/describe/route-dc3f0f4fd9e88c4e.js +1 -0
  194. package/.next/static/chunks/app/api/map/files/route-dc3f0f4fd9e88c4e.js +1 -0
  195. package/.next/static/chunks/app/api/map/finish/route-dc3f0f4fd9e88c4e.js +1 -0
  196. package/.next/static/chunks/app/api/map/route-dc3f0f4fd9e88c4e.js +1 -0
  197. package/.next/static/chunks/app/api/map/start/route-dc3f0f4fd9e88c4e.js +1 -0
  198. package/.next/static/chunks/app/api/map/touch-active/route-dc3f0f4fd9e88c4e.js +1 -0
  199. package/.next/static/chunks/app/api/nodes/[id]/position/route-dc3f0f4fd9e88c4e.js +1 -0
  200. package/.next/static/chunks/app/api/nodes/[id]/route-dc3f0f4fd9e88c4e.js +1 -0
  201. package/.next/static/chunks/app/api/nodes/positions/route-dc3f0f4fd9e88c4e.js +1 -0
  202. package/.next/static/chunks/app/api/nodes/route-dc3f0f4fd9e88c4e.js +1 -0
  203. package/.next/static/chunks/app/api/nodes/subtasks/route-dc3f0f4fd9e88c4e.js +1 -0
  204. package/.next/static/chunks/app/api/notes/[id]/route-dc3f0f4fd9e88c4e.js +1 -0
  205. package/.next/static/chunks/app/api/notes/route-dc3f0f4fd9e88c4e.js +1 -0
  206. package/.next/static/chunks/app/api/open/route-dc3f0f4fd9e88c4e.js +1 -0
  207. package/.next/static/chunks/app/api/plan/annotations/route-dc3f0f4fd9e88c4e.js +1 -0
  208. package/.next/static/chunks/app/api/plan/approve/route-dc3f0f4fd9e88c4e.js +1 -0
  209. package/.next/static/chunks/app/api/plan/history/route-dc3f0f4fd9e88c4e.js +1 -0
  210. package/.next/static/chunks/app/api/plan/markdown/route-dc3f0f4fd9e88c4e.js +1 -0
  211. package/.next/static/chunks/app/api/plan/presence/route-dc3f0f4fd9e88c4e.js +1 -0
  212. package/.next/static/chunks/app/api/plan/route-dc3f0f4fd9e88c4e.js +1 -0
  213. package/.next/static/chunks/app/api/plan/verdict/route-dc3f0f4fd9e88c4e.js +1 -0
  214. package/.next/static/chunks/app/api/preferences/route-dc3f0f4fd9e88c4e.js +1 -0
  215. package/.next/static/chunks/app/api/project-meta/route-dc3f0f4fd9e88c4e.js +1 -0
  216. package/.next/static/chunks/app/api/reset/route-dc3f0f4fd9e88c4e.js +1 -0
  217. package/.next/static/chunks/app/api/scope-guard/check/route-dc3f0f4fd9e88c4e.js +1 -0
  218. package/.next/static/chunks/app/api/stream/route-dc3f0f4fd9e88c4e.js +1 -0
  219. package/.next/static/chunks/app/api/tab/nav/route-dc3f0f4fd9e88c4e.js +1 -0
  220. package/.next/static/chunks/app/api/tab/presence/route-dc3f0f4fd9e88c4e.js +1 -0
  221. package/.next/static/chunks/app/api/telemetry/route-dc3f0f4fd9e88c4e.js +1 -0
  222. package/.next/static/chunks/app/api/telemetry/stats/route-dc3f0f4fd9e88c4e.js +1 -0
  223. package/.next/static/chunks/app/api/version/route-dc3f0f4fd9e88c4e.js +1 -0
  224. package/.next/static/chunks/app/api/workspace/activate/route-dc3f0f4fd9e88c4e.js +1 -0
  225. package/.next/static/chunks/app/api/workspace/route-dc3f0f4fd9e88c4e.js +1 -0
  226. package/.next/static/chunks/app/map/page-66d71744ae3363d7.js +1 -0
  227. package/.next/static/chunks/app/page-541e900d67f17dae.js +1 -0
  228. package/.next/static/chunks/app/plan/page-e7d16fa2a3713a92.js +1 -0
  229. package/.next/static/chunks/app/settings/page-7e176d120b1effa9.js +1 -0
  230. package/.next/static/chunks/next/dist/client/components/builtin/app-error-dc3f0f4fd9e88c4e.js +1 -0
  231. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-dc3f0f4fd9e88c4e.js +1 -0
  232. package/.next/static/chunks/next/dist/client/components/builtin/not-found-dc3f0f4fd9e88c4e.js +1 -0
  233. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-dc3f0f4fd9e88c4e.js +1 -0
  234. package/.next/static/css/629ab377241de9ca.css +1 -0
  235. package/.next/static/qeqVD-yeoYO_3C0pw9kHg/_buildManifest.js +1 -0
  236. package/.next/trace +39 -39
  237. package/.next/trace-build +1 -1
  238. package/.next/types/app/api/flags/route.ts +351 -0
  239. package/.next/types/app/api/scope-guard/check/route.ts +351 -0
  240. package/.next/types/routes.d.ts +3 -1
  241. package/.next/types/validator.ts +18 -0
  242. package/dist/bin/beacon.js +7 -7
  243. package/dist/bin/doctor.js +33 -26
  244. package/dist/bin/guard.js +3 -0
  245. package/dist/bin/hook.js +33 -26
  246. package/dist/bin/mcp.js +42 -35
  247. package/dist/bin/plan.js +34 -27
  248. package/dist/bin/remove.js +7 -6
  249. package/dist/bin/uninstall.js +33 -26
  250. package/dist/lib/assets.js +20 -13
  251. package/dist/lib/codex-install.js +30 -23
  252. package/dist/lib/global-install.js +30 -23
  253. package/dist/lib/telemetry.js +1 -1
  254. package/dist/lib/workspaces.js +1 -1
  255. package/drizzle/0008_good_lucky_pierre.sql +21 -0
  256. package/drizzle/meta/0008_snapshot.json +1904 -0
  257. package/drizzle/meta/_journal.json +7 -0
  258. package/package.json +1 -1
  259. package/public/install.sh +37 -6
  260. package/.next/server/chunks/142.js +0 -1
  261. package/.next/static/OO5fwNXOYFYnu4W91Z44C/_buildManifest.js +0 -1
  262. package/.next/static/chunks/5811-4d1f942c37146b40.js +0 -1
  263. package/.next/static/chunks/8074-a6b2725786399e2c.js +0 -1
  264. package/.next/static/chunks/app/_global-error/page-16ca2ed05a1d74d1.js +0 -1
  265. package/.next/static/chunks/app/api/board-annotations/[id]/route-16ca2ed05a1d74d1.js +0 -1
  266. package/.next/static/chunks/app/api/board-annotations/route-16ca2ed05a1d74d1.js +0 -1
  267. package/.next/static/chunks/app/api/board-layout/route-16ca2ed05a1d74d1.js +0 -1
  268. package/.next/static/chunks/app/api/bug-flags/[id]/route-16ca2ed05a1d74d1.js +0 -1
  269. package/.next/static/chunks/app/api/bug-flags/route-16ca2ed05a1d74d1.js +0 -1
  270. package/.next/static/chunks/app/api/code-graph/position/route-16ca2ed05a1d74d1.js +0 -1
  271. package/.next/static/chunks/app/api/code-graph/route-16ca2ed05a1d74d1.js +0 -1
  272. package/.next/static/chunks/app/api/context/feature/route-16ca2ed05a1d74d1.js +0 -1
  273. package/.next/static/chunks/app/api/context/file/route-16ca2ed05a1d74d1.js +0 -1
  274. package/.next/static/chunks/app/api/context/route-16ca2ed05a1d74d1.js +0 -1
  275. package/.next/static/chunks/app/api/db/arrange/route-16ca2ed05a1d74d1.js +0 -1
  276. package/.next/static/chunks/app/api/db/backfill-access/route-16ca2ed05a1d74d1.js +0 -1
  277. package/.next/static/chunks/app/api/db/position/route-16ca2ed05a1d74d1.js +0 -1
  278. package/.next/static/chunks/app/api/db/prune-planned/route-16ca2ed05a1d74d1.js +0 -1
  279. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-16ca2ed05a1d74d1.js +0 -1
  280. package/.next/static/chunks/app/api/db/relations/[id]/route-16ca2ed05a1d74d1.js +0 -1
  281. package/.next/static/chunks/app/api/db/tables/[id]/route-16ca2ed05a1d74d1.js +0 -1
  282. package/.next/static/chunks/app/api/draft/approve/route-16ca2ed05a1d74d1.js +0 -1
  283. package/.next/static/chunks/app/api/draft/route-16ca2ed05a1d74d1.js +0 -1
  284. package/.next/static/chunks/app/api/draft/status/route-16ca2ed05a1d74d1.js +0 -1
  285. package/.next/static/chunks/app/api/edges/[id]/route-16ca2ed05a1d74d1.js +0 -1
  286. package/.next/static/chunks/app/api/edges/route-16ca2ed05a1d74d1.js +0 -1
  287. package/.next/static/chunks/app/api/endpoints/[id]/route-16ca2ed05a1d74d1.js +0 -1
  288. package/.next/static/chunks/app/api/entities/route-16ca2ed05a1d74d1.js +0 -1
  289. package/.next/static/chunks/app/api/feedback/[id]/route-16ca2ed05a1d74d1.js +0 -1
  290. package/.next/static/chunks/app/api/feedback/[id]/vote/route-16ca2ed05a1d74d1.js +0 -1
  291. package/.next/static/chunks/app/api/feedback/route-16ca2ed05a1d74d1.js +0 -1
  292. package/.next/static/chunks/app/api/ingest/route-16ca2ed05a1d74d1.js +0 -1
  293. package/.next/static/chunks/app/api/init/route-16ca2ed05a1d74d1.js +0 -1
  294. package/.next/static/chunks/app/api/map/describe/route-16ca2ed05a1d74d1.js +0 -1
  295. package/.next/static/chunks/app/api/map/files/route-16ca2ed05a1d74d1.js +0 -1
  296. package/.next/static/chunks/app/api/map/finish/route-16ca2ed05a1d74d1.js +0 -1
  297. package/.next/static/chunks/app/api/map/route-16ca2ed05a1d74d1.js +0 -1
  298. package/.next/static/chunks/app/api/map/start/route-16ca2ed05a1d74d1.js +0 -1
  299. package/.next/static/chunks/app/api/map/touch-active/route-16ca2ed05a1d74d1.js +0 -1
  300. package/.next/static/chunks/app/api/nodes/[id]/position/route-16ca2ed05a1d74d1.js +0 -1
  301. package/.next/static/chunks/app/api/nodes/[id]/route-16ca2ed05a1d74d1.js +0 -1
  302. package/.next/static/chunks/app/api/nodes/positions/route-16ca2ed05a1d74d1.js +0 -1
  303. package/.next/static/chunks/app/api/nodes/route-16ca2ed05a1d74d1.js +0 -1
  304. package/.next/static/chunks/app/api/nodes/subtasks/route-16ca2ed05a1d74d1.js +0 -1
  305. package/.next/static/chunks/app/api/notes/[id]/route-16ca2ed05a1d74d1.js +0 -1
  306. package/.next/static/chunks/app/api/notes/route-16ca2ed05a1d74d1.js +0 -1
  307. package/.next/static/chunks/app/api/open/route-16ca2ed05a1d74d1.js +0 -1
  308. package/.next/static/chunks/app/api/plan/annotations/route-16ca2ed05a1d74d1.js +0 -1
  309. package/.next/static/chunks/app/api/plan/approve/route-16ca2ed05a1d74d1.js +0 -1
  310. package/.next/static/chunks/app/api/plan/history/route-16ca2ed05a1d74d1.js +0 -1
  311. package/.next/static/chunks/app/api/plan/markdown/route-16ca2ed05a1d74d1.js +0 -1
  312. package/.next/static/chunks/app/api/plan/presence/route-16ca2ed05a1d74d1.js +0 -1
  313. package/.next/static/chunks/app/api/plan/route-16ca2ed05a1d74d1.js +0 -1
  314. package/.next/static/chunks/app/api/plan/verdict/route-16ca2ed05a1d74d1.js +0 -1
  315. package/.next/static/chunks/app/api/preferences/route-16ca2ed05a1d74d1.js +0 -1
  316. package/.next/static/chunks/app/api/project-meta/route-16ca2ed05a1d74d1.js +0 -1
  317. package/.next/static/chunks/app/api/reset/route-16ca2ed05a1d74d1.js +0 -1
  318. package/.next/static/chunks/app/api/stream/route-16ca2ed05a1d74d1.js +0 -1
  319. package/.next/static/chunks/app/api/tab/nav/route-16ca2ed05a1d74d1.js +0 -1
  320. package/.next/static/chunks/app/api/tab/presence/route-16ca2ed05a1d74d1.js +0 -1
  321. package/.next/static/chunks/app/api/telemetry/route-16ca2ed05a1d74d1.js +0 -1
  322. package/.next/static/chunks/app/api/telemetry/stats/route-16ca2ed05a1d74d1.js +0 -1
  323. package/.next/static/chunks/app/api/version/route-16ca2ed05a1d74d1.js +0 -1
  324. package/.next/static/chunks/app/api/workspace/activate/route-16ca2ed05a1d74d1.js +0 -1
  325. package/.next/static/chunks/app/api/workspace/route-16ca2ed05a1d74d1.js +0 -1
  326. package/.next/static/chunks/app/map/page-a0bcd15b8dbfb3d3.js +0 -1
  327. package/.next/static/chunks/app/page-968dd5a6f667bff9.js +0 -1
  328. package/.next/static/chunks/app/plan/page-376f36858e187c73.js +0 -1
  329. package/.next/static/chunks/app/settings/page-67cab634be8bfef2.js +0 -1
  330. package/.next/static/chunks/next/dist/client/components/builtin/app-error-16ca2ed05a1d74d1.js +0 -1
  331. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-16ca2ed05a1d74d1.js +0 -1
  332. package/.next/static/chunks/next/dist/client/components/builtin/not-found-16ca2ed05a1d74d1.js +0 -1
  333. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-16ca2ed05a1d74d1.js +0 -1
  334. package/.next/static/css/2d019ca6e0582481.css +0 -1
  335. /package/.next/static/{OO5fwNXOYFYnu4W91Z44C → qeqVD-yeoYO_3C0pw9kHg}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/settings/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"434":{"*":{"id":"41616","name":"*","chunks":[],"async":false}},"1494":{"*":{"id":"42337","name":"*","chunks":[],"async":false}},"6539":{"*":{"id":"70813","name":"*","chunks":[],"async":false}},"21904":{"*":{"id":"77476","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"33082":{"*":{"id":"59953","name":"*","chunks":[],"async":false}},"48484":{"*":{"id":"81166","name":"*","chunks":[],"async":false}},"50326":{"*":{"id":"38217","name":"*","chunks":[],"async":false}},"52174":{"*":{"id":"18718","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"62079":{"*":{"id":"65105","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"67787":{"*":{"id":"95151","name":"*","chunks":[],"async":false}},"69958":{"*":{"id":"68598","name":"*","chunks":[],"async":false}},"71265":{"*":{"id":"10549","name":"*","chunks":[],"async":false}},"71423":{"*":{"id":"81281","name":"*","chunks":[],"async":false}},"73954":{"*":{"id":"88264","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"77242":{"*":{"id":"19208","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"81453":{"*":{"id":"1237","name":"*","chunks":[],"async":false}},"81984":{"*":{"id":"69370","name":"*","chunks":[],"async":false}},"81998":{"*":{"id":"47194","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"90546":{"*":{"id":"67344","name":"*","chunks":[],"async":false}},"91588":{"*":{"id":"7747","name":"*","chunks":[],"async":false}},"96759":{"*":{"id":"79573","name":"*","chunks":[],"async":false}},"96848":{"*":{"id":"41164","name":"*","chunks":[],"async":false}},"98500":{"*":{"id":"2116","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/app/globals.css":{"id":66872,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/ai/main-region.tsx":{"id":52174,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/live-refresh.tsx":{"id":81998,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/notes/notes-context.tsx":{"id":81984,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/notes/notes-drawer.tsx":{"id":1494,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-bar.tsx":{"id":434,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-context.tsx":{"id":48484,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/tab-workspace.tsx":{"id":77242,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/top-nav.tsx":{"id":96848,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/update-banner.tsx":{"id":33082,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":35353,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":63494,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/app/feedback/page.tsx":{"id":90546,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/lucide-react/dist/esm/Icon.mjs":{"id":71265,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-67cab634be8bfef2.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/app-dir/link.js":{"id":98500,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-67cab634be8bfef2.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/app-dir/link.js":{"id":98500,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-67cab634be8bfef2.js"],"async":false},"/home/runner/work/beacon/beacon/components/docs/docs.tsx":{"id":73954,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/landing/landing.tsx":{"id":21904,"name":"*","chunks":["3862","static/chunks/1a258343-6baccd9e573fdfaf.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2500","static/chunks/2500-15c373070714563d.js","8974","static/chunks/app/page-968dd5a6f667bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-workspace.tsx":{"id":69958,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/db-map-client.tsx":{"id":91588,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/files-map-client.tsx":{"id":62079,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/map-client.tsx":{"id":50326,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/context-card.tsx":{"id":81453,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-67cab634be8bfef2.js"],"async":false},"/home/runner/work/beacon/beacon/components/danger-card.tsx":{"id":71423,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-67cab634be8bfef2.js"],"async":false},"/home/runner/work/beacon/beacon/components/delete-workspace-card.tsx":{"id":96759,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-67cab634be8bfef2.js"],"async":false},"/home/runner/work/beacon/beacon/components/permission-mode-card.tsx":{"id":67787,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-67cab634be8bfef2.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/@base-ui/react/esm/button/Button.js":{"id":6539,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-67cab634be8bfef2.js"],"async":false}},"entryCSSFiles":{"/home/runner/work/beacon/beacon/":[],"/home/runner/work/beacon/beacon/app/layout":[{"inlined":false,"path":"static/css/2d019ca6e0582481.css"},{"inlined":false,"path":"static/css/e02ab5db9ff2dca2.css"}],"/home/runner/work/beacon/beacon/app/page":[{"inlined":false,"path":"static/css/008a05b0ad6b854a.css"},{"inlined":false,"path":"static/css/e63457bec0b3ee27.css"},{"inlined":false,"path":"static/css/83755b1f39ccf91d.css"}],"/home/runner/work/beacon/beacon/app/settings/page":[]},"rscModuleMapping":{"434":{"*":{"id":"81974","name":"*","chunks":[],"async":false}},"1494":{"*":{"id":"30818","name":"*","chunks":[],"async":false}},"6539":{"*":{"id":"2739","name":"*","chunks":[],"async":false}},"21904":{"*":{"id":"67878","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"33082":{"*":{"id":"17017","name":"*","chunks":[],"async":false}},"48484":{"*":{"id":"48136","name":"*","chunks":[],"async":false}},"50326":{"*":{"id":"56030","name":"*","chunks":[],"async":false}},"52174":{"*":{"id":"7572","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"62079":{"*":{"id":"42696","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"66872":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"67787":{"*":{"id":"74069","name":"*","chunks":[],"async":false}},"69958":{"*":{"id":"478","name":"*","chunks":[],"async":false}},"71265":{"*":{"id":"47613","name":"*","chunks":[],"async":false}},"71423":{"*":{"id":"44919","name":"*","chunks":[],"async":false}},"73954":{"*":{"id":"42590","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"77242":{"*":{"id":"25126","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"81453":{"*":{"id":"13255","name":"*","chunks":[],"async":false}},"81984":{"*":{"id":"71412","name":"*","chunks":[],"async":false}},"81998":{"*":{"id":"60867","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"90546":{"*":{"id":"64549","name":"*","chunks":[],"async":false}},"91588":{"*":{"id":"7239","name":"*","chunks":[],"async":false}},"96759":{"*":{"id":"98167","name":"*","chunks":[],"async":false}},"96848":{"*":{"id":"77946","name":"*","chunks":[],"async":false}},"98500":{"*":{"id":"23318","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/settings/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"434":{"*":{"id":"41616","name":"*","chunks":[],"async":false}},"1494":{"*":{"id":"42337","name":"*","chunks":[],"async":false}},"3958":{"*":{"id":"9631","name":"*","chunks":[],"async":false}},"6539":{"*":{"id":"70813","name":"*","chunks":[],"async":false}},"21904":{"*":{"id":"77476","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"33082":{"*":{"id":"59953","name":"*","chunks":[],"async":false}},"48484":{"*":{"id":"81166","name":"*","chunks":[],"async":false}},"52174":{"*":{"id":"18718","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"60163":{"*":{"id":"10125","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"62079":{"*":{"id":"65105","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"67787":{"*":{"id":"95151","name":"*","chunks":[],"async":false}},"69958":{"*":{"id":"68598","name":"*","chunks":[],"async":false}},"71265":{"*":{"id":"10549","name":"*","chunks":[],"async":false}},"71423":{"*":{"id":"81281","name":"*","chunks":[],"async":false}},"73954":{"*":{"id":"88264","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"77242":{"*":{"id":"19208","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"81453":{"*":{"id":"1237","name":"*","chunks":[],"async":false}},"81984":{"*":{"id":"69370","name":"*","chunks":[],"async":false}},"81998":{"*":{"id":"47194","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"90546":{"*":{"id":"67344","name":"*","chunks":[],"async":false}},"91588":{"*":{"id":"7747","name":"*","chunks":[],"async":false}},"96759":{"*":{"id":"79573","name":"*","chunks":[],"async":false}},"96848":{"*":{"id":"41164","name":"*","chunks":[],"async":false}},"98500":{"*":{"id":"2116","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/app/globals.css":{"id":66872,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/ai/main-region.tsx":{"id":52174,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/live-refresh.tsx":{"id":81998,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/notes/notes-context.tsx":{"id":81984,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/notes/notes-drawer.tsx":{"id":1494,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-bar.tsx":{"id":434,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-context.tsx":{"id":48484,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/tab-workspace.tsx":{"id":77242,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/top-nav.tsx":{"id":96848,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/components/update-banner.tsx":{"id":33082,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":35353,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":63494,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"async":false},"/home/runner/work/beacon/beacon/app/feedback/page.tsx":{"id":90546,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/lucide-react/dist/esm/Icon.mjs":{"id":71265,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-7e176d120b1effa9.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/app-dir/link.js":{"id":98500,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-7e176d120b1effa9.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/app-dir/link.js":{"id":98500,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-7e176d120b1effa9.js"],"async":false},"/home/runner/work/beacon/beacon/components/docs/docs.tsx":{"id":73954,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/db-map-client.tsx":{"id":91588,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/files-map-client.tsx":{"id":62079,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/map-client.tsx":{"id":3958,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/landing/landing.tsx":{"id":21904,"name":"*","chunks":["3862","static/chunks/1a258343-6baccd9e573fdfaf.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2500","static/chunks/2500-15c373070714563d.js","8974","static/chunks/app/page-541e900d67f17dae.js"],"async":false},"/home/runner/work/beacon/beacon/components/context-card.tsx":{"id":81453,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-7e176d120b1effa9.js"],"async":false},"/home/runner/work/beacon/beacon/components/danger-card.tsx":{"id":71423,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-7e176d120b1effa9.js"],"async":false},"/home/runner/work/beacon/beacon/components/delete-workspace-card.tsx":{"id":96759,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-7e176d120b1effa9.js"],"async":false},"/home/runner/work/beacon/beacon/components/permission-mode-card.tsx":{"id":67787,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-7e176d120b1effa9.js"],"async":false},"/home/runner/work/beacon/beacon/components/scope-guard-card.tsx":{"id":60163,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-7e176d120b1effa9.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/@base-ui/react/esm/button/Button.js":{"id":6539,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","766","static/chunks/766-242213d211df0afd.js","4662","static/chunks/app/settings/page-7e176d120b1effa9.js"],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-workspace.tsx":{"id":69958,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/beacon/beacon/":[],"/home/runner/work/beacon/beacon/app/layout":[{"inlined":false,"path":"static/css/629ab377241de9ca.css"},{"inlined":false,"path":"static/css/e02ab5db9ff2dca2.css"}],"/home/runner/work/beacon/beacon/app/page":[{"inlined":false,"path":"static/css/008a05b0ad6b854a.css"},{"inlined":false,"path":"static/css/e63457bec0b3ee27.css"},{"inlined":false,"path":"static/css/83755b1f39ccf91d.css"}],"/home/runner/work/beacon/beacon/app/settings/page":[]},"rscModuleMapping":{"434":{"*":{"id":"81974","name":"*","chunks":[],"async":false}},"1494":{"*":{"id":"30818","name":"*","chunks":[],"async":false}},"3958":{"*":{"id":"56030","name":"*","chunks":[],"async":false}},"6539":{"*":{"id":"2739","name":"*","chunks":[],"async":false}},"21904":{"*":{"id":"67878","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"33082":{"*":{"id":"17017","name":"*","chunks":[],"async":false}},"48484":{"*":{"id":"48136","name":"*","chunks":[],"async":false}},"52174":{"*":{"id":"7572","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"60163":{"*":{"id":"27736","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"62079":{"*":{"id":"42696","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"66872":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"67787":{"*":{"id":"74069","name":"*","chunks":[],"async":false}},"69958":{"*":{"id":"478","name":"*","chunks":[],"async":false}},"71265":{"*":{"id":"47613","name":"*","chunks":[],"async":false}},"71423":{"*":{"id":"44919","name":"*","chunks":[],"async":false}},"73954":{"*":{"id":"42590","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"77242":{"*":{"id":"25126","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"81453":{"*":{"id":"13255","name":"*","chunks":[],"async":false}},"81984":{"*":{"id":"71412","name":"*","chunks":[],"async":false}},"81998":{"*":{"id":"60867","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"90546":{"*":{"id":"64549","name":"*","chunks":[],"async":false}},"91588":{"*":{"id":"7239","name":"*","chunks":[],"async":false}},"96759":{"*":{"id":"98167","name":"*","chunks":[],"async":false}},"96848":{"*":{"id":"77946","name":"*","chunks":[],"async":false}},"98500":{"*":{"id":"23318","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
@@ -30,23 +30,22 @@
30
30
  "/api/edges/route": "app/api/edges/route.js",
31
31
  "/api/endpoints/[id]/route": "app/api/endpoints/[id]/route.js",
32
32
  "/api/entities/route": "app/api/entities/route.js",
33
- "/api/ingest/route": "app/api/ingest/route.js",
33
+ "/api/feedback/[id]/route": "app/api/feedback/[id]/route.js",
34
34
  "/api/feedback/route": "app/api/feedback/route.js",
35
+ "/api/flags/route": "app/api/flags/route.js",
36
+ "/api/ingest/route": "app/api/ingest/route.js",
35
37
  "/api/map/files/route": "app/api/map/files/route.js",
36
38
  "/api/map/finish/route": "app/api/map/finish/route.js",
37
39
  "/api/map/route": "app/api/map/route.js",
38
- "/api/map/describe/route": "app/api/map/describe/route.js",
40
+ "/api/map/start/route": "app/api/map/start/route.js",
39
41
  "/api/map/touch-active/route": "app/api/map/touch-active/route.js",
40
42
  "/api/nodes/[id]/position/route": "app/api/nodes/[id]/position/route.js",
41
- "/api/map/start/route": "app/api/map/start/route.js",
42
- "/api/nodes/positions/route": "app/api/nodes/positions/route.js",
43
43
  "/api/nodes/[id]/route": "app/api/nodes/[id]/route.js",
44
- "/api/feedback/[id]/route": "app/api/feedback/[id]/route.js",
44
+ "/api/nodes/positions/route": "app/api/nodes/positions/route.js",
45
45
  "/api/nodes/route": "app/api/nodes/route.js",
46
46
  "/api/notes/[id]/route": "app/api/notes/[id]/route.js",
47
47
  "/api/notes/route": "app/api/notes/route.js",
48
48
  "/api/open/route": "app/api/open/route.js",
49
- "/api/plan/annotations/route": "app/api/plan/annotations/route.js",
50
49
  "/api/plan/approve/route": "app/api/plan/approve/route.js",
51
50
  "/api/plan/history/route": "app/api/plan/history/route.js",
52
51
  "/api/plan/markdown/route": "app/api/plan/markdown/route.js",
@@ -56,19 +55,22 @@
56
55
  "/api/preferences/route": "app/api/preferences/route.js",
57
56
  "/api/project-meta/route": "app/api/project-meta/route.js",
58
57
  "/api/reset/route": "app/api/reset/route.js",
58
+ "/api/scope-guard/check/route": "app/api/scope-guard/check/route.js",
59
+ "/api/stream/route": "app/api/stream/route.js",
59
60
  "/api/tab/nav/route": "app/api/tab/nav/route.js",
60
61
  "/api/tab/presence/route": "app/api/tab/presence/route.js",
61
- "/api/stream/route": "app/api/stream/route.js",
62
- "/api/telemetry/route": "app/api/telemetry/route.js",
63
- "/api/version/route": "app/api/version/route.js",
64
62
  "/api/telemetry/stats/route": "app/api/telemetry/stats/route.js",
63
+ "/api/version/route": "app/api/version/route.js",
65
64
  "/api/workspace/activate/route": "app/api/workspace/activate/route.js",
66
65
  "/api/workspace/route": "app/api/workspace/route.js",
66
+ "/api/map/describe/route": "app/api/map/describe/route.js",
67
67
  "/feedback/page": "app/feedback/page.js",
68
68
  "/help/page": "app/help/page.js",
69
69
  "/docs/page": "app/docs/page.js",
70
- "/page": "app/page.js",
71
- "/plan/page": "app/plan/page.js",
72
70
  "/map/page": "app/map/page.js",
73
- "/settings/page": "app/settings/page.js"
71
+ "/page": "app/page.js",
72
+ "/settings/page": "app/settings/page.js",
73
+ "/api/telemetry/route": "app/api/telemetry/route.js",
74
+ "/api/plan/annotations/route": "app/api/plan/annotations/route.js",
75
+ "/plan/page": "app/plan/page.js"
74
76
  }
@@ -1 +1 @@
1
- "use strict";exports.id=1341,exports.ids=[1341],exports.modules={31059:(a,b,c)=>{c.d(b,{ie:()=>f});var d=c(37096),e=c(71484);function f(...a){return a[0].columns?new g(a[0].columns,a[0].name):new g(a)}class g{static [d.i]="SQLitePrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new h(a,this.columns,this.name)}}class h{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [d.i]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[e.jo.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}},32753:(a,b,c)=>{c.d(b,{EC:()=>h,jR:()=>f});let d=["frontend","backend","fullstack"],e={fe:"frontend",front:"frontend",be:"backend",back:"backend",fs:"fullstack","full-stack":"fullstack","full stack":"fullstack"};function f(a){let b=(a??"").trim().toLowerCase();return b?d.includes(b)?b:e[b]??null:null}let g=/\.(tsx|jsx|vue|svelte)$/i;function h(a){return a.some(a=>g.test(a))}},72595:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Wg:()=>k,hA:()=>i,jZ:()=>l,zr:()=>j});var e=c(56727),f=c(30046),g=c(32753),h=a([e]);async function i(a=e.db){let[b]=await a.insert(f.projectMeta).values({id:"singleton"}).onConflictDoUpdate({target:f.projectMeta.id,set:{id:"singleton"}}).returning();return b}async function j(a,b=e.db){let c={};null!=a.overview&&(c.overview=a.overview),a.conventions&&(c.conventions=JSON.stringify(a.conventions)),void 0!==a.hasFrontend&&(c.hasFrontend=a.hasFrontend),a.classificationRoots&&(c.classificationRoots=JSON.stringify(a.classificationRoots)),0===Object.keys(c).length&&(c.id="singleton");let[d]=await b.insert(f.projectMeta).values({id:"singleton",overview:a.overview??null,conventions:JSON.stringify(a.conventions??[]),hasFrontend:a.hasFrontend??null,classificationRoots:JSON.stringify(a.classificationRoots??[])}).onConflictDoUpdate({target:f.projectMeta.id,set:c}).returning();return d}async function k(a=e.db){let b=await i(a);try{let a=JSON.parse(b.classificationRoots??"[]");return Array.isArray(a)?a.filter(a=>"string"==typeof a):[]}catch{return[]}}async function l(a=e.db){let b=await i(a);if(null!=b.hasFrontend)return b.hasFrontend;let c=await a.select({path:f.codeFile.path}).from(f.codeFile);return(0,g.EC)(c.map(a=>a.path))}e=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},72967:(a,b,c)=>{c.d(b,{to:()=>d});function d(a,b){if(0===a.length)return new Map;let c=function(a,b){let c=a.map(a=>a.id).sort(),d=new Map(c.map(a=>[a,[]]));for(let a of[...b].sort((a,b)=>a.fromId.localeCompare(b.fromId)||a.toId.localeCompare(b.toId)))d.get(a.fromId)?.push(a);let e=new Map,f=[],g=a=>{for(let b of(e.set(a,"visiting"),d.get(a)??[])){let a=e.get(b.toId);"visiting"!==a&&(f.push(b),"done"!==a&&g(b.toId))}e.set(a,"done")};for(let a of c)e.has(a)||g(a);return f}(a,b),d=function(a,b){let c=new Map(a.map(a=>[a.id,[]]));for(let a of b)c.get(a.fromId)?.push(a.toId);let d=new Map,e=a=>{let b=d.get(a);if(void 0!==b)return b;d.set(a,0);let f=c.get(a)??[],g=f.length?1+Math.max(...f.map(e)):0;return d.set(a,g),g};for(let b of a)e(b.id);return d}(a,c),e=new Map(a.map(a=>[a.id,[]]));for(let a of c)e.get(a.fromId)?.push(a.toId);let f=Array.from(new Set(a.map(a=>a.group))),g=f.filter(a=>"—"!==a).sort(),h=f.includes("—")?[...g,"—"]:g,i=[];for(let b of h){let c=a.filter(a=>a.group===b),f=Math.min(...c.map(a=>d.get(a.id)??0)),g=Math.max(...c.map(a=>d.get(a.id)??0)),h=new Map,j=new Map,k=0,l=1;for(let a=f;a<=g;a++){let b=c.filter(b=>d.get(b.id)===a);if(!b.length)continue;let f=a=>{let b=(e.get(a.id)??[]).map(a=>j.get(a)).filter(a=>void 0!==a);return b.length?b.reduce((a,b)=>a+b,0)/b.length:1/0};b.sort((a,b)=>f(a)-f(b)||a.id.localeCompare(b.id));let g=Math.max(1,Math.ceil(Math.sqrt(2*b.length)));b.forEach((a,b)=>{let c=Math.floor(b/g),d=b%g;j.set(a.id,d),h.set(a.id,{x:k+360*c,y:150*d}),l=Math.max(l,d+1)}),k+=360*Math.ceil(b.length/g)}i.push({d:b,w:k,h:150*l,local:h})}let j=Math.max(2880,Math.round(Math.sqrt(2.2*i.reduce((a,b)=>a+(b.w+140)*(b.h+170),0)))),k=new Map,l=0,m=0,n=0;for(let a of i){for(let[b,c]of(l>0&&l+a.w>j&&(m+=n+170,l=0,n=0),a.local))k.set(b,{x:l+c.x,y:m+c.y});n=Math.max(n,a.h),l+=a.w+140}return k}},76968:(a,b,c)=>{c.d(b,{GL:()=>i,Pe:()=>h});var d=c(37096);class e{constructor(a,b){this.name=a,this.unique=b}static [d.i]="SQLiteIndexBuilderOn";on(...a){return new f(this.name,a,this.unique)}}class f{static [d.i]="SQLiteIndexBuilder";config;constructor(a,b,c){this.config={name:a,columns:b,unique:c,where:void 0}}where(a){return this.config.where=a,this}build(a){return new g(this.config,a)}}class g{static [d.i]="SQLiteIndex";config;constructor(a,b){this.config={...a,table:b}}}function h(a){return new e(a,!1)}function i(a){return new e(a,!0)}},93118:(a,b,c)=>{c.d(b,{VI:()=>e});let d=["IN_PROGRESS","PENDING","BLOCKED","DONE","DEPRIORITIZED","CANCELLED"];function e(a,b,c={}){let f=c.colW??320,g=c.rowH??150,h=c.childIndent??24,i=c.laneGap??56,j=c.bandGap??110,k=c.maxCols??10,l=c.maxBandW??8*f,m=new Set(a.map(a=>a.id)),n=a=>!a.parentId||!m.has(a.parentId),o=a.filter(n),p=new Map;for(let b of a){if(n(b))continue;let a=p.get(b.parentId);a?a.push(b):p.set(b.parentId,[b])}let q="status"===b?a=>a.status:"priority"===b?a=>String(a.priority):a=>(a.cluster??"").trim()||"—",r=new Map;for(let a of o){let b=q(a),c=r.get(b);c?c.push(a):r.set(b,[a])}let s=(function(a,b,c){if("status"===a)return[...d];if("priority"===a)return["0","1","2","3"];let e=Array.from(new Set(b.map(c))),f=e.filter(a=>"—"!==a).sort();return e.includes("—")?[...f,"—"]:f})(b,o,q).filter(a=>r.has(a)),t=new Map,u=0,v=0,w=0;for(let a of s){let b=r.get(a),c=b.reduce((a,b)=>a+1+(p.get(b.id)?.length??0),0),d=Math.max(1,Math.min(k,b.length,Math.round(Math.sqrt(.85*c))||1)),e=d*f;u>0&&u+e>l&&(u=0,v+=w+j,w=0);let m=Array(d).fill(0);for(let a of b){let b=0;for(let a=1;a<d;a++)m[a]<m[b]&&(b=a);let c=u+b*f,e=v+m[b]*g;t.set(a.id,{x:c,y:e});let i=p.get(a.id)??[];i.forEach((a,b)=>{t.set(a.id,{x:c+h,y:e+(b+1)*g})}),m[b]+=1+i.length}w=Math.max(w,m.reduce((a,b)=>Math.max(a,b),0)*g),u+=e+i}return t}}};
1
+ "use strict";exports.id=1341,exports.ids=[1341],exports.modules={31059:(a,b,c)=>{c.d(b,{ie:()=>f});var d=c(37096),e=c(71484);function f(...a){return a[0].columns?new g(a[0].columns,a[0].name):new g(a)}class g{static [d.i]="SQLitePrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new h(a,this.columns,this.name)}}class h{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [d.i]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[e.jo.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}},32753:(a,b,c)=>{c.d(b,{EC:()=>h,jR:()=>f});let d=["frontend","backend","fullstack"],e={fe:"frontend",front:"frontend",be:"backend",back:"backend",fs:"fullstack","full-stack":"fullstack","full stack":"fullstack"};function f(a){let b=(a??"").trim().toLowerCase();return b?d.includes(b)?b:e[b]??null:null}let g=/\.(tsx|jsx|vue|svelte)$/i;function h(a){return a.some(a=>g.test(a))}},72595:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Wg:()=>k,hA:()=>i,jZ:()=>l,zr:()=>j});var e=c(56727),f=c(30046),g=c(32753),h=a([e]);async function i(a=e.db){let[b]=await a.insert(f.projectMeta).values({id:"singleton"}).onConflictDoUpdate({target:f.projectMeta.id,set:{id:"singleton"}}).returning();return b}async function j(a,b=e.db){let c={};null!=a.overview&&(c.overview=a.overview),a.conventions&&(c.conventions=JSON.stringify(a.conventions)),void 0!==a.hasFrontend&&(c.hasFrontend=a.hasFrontend),a.classificationRoots&&(c.classificationRoots=JSON.stringify(a.classificationRoots)),0===Object.keys(c).length&&(c.id="singleton");let[d]=await b.insert(f.projectMeta).values({id:"singleton",overview:a.overview??null,conventions:JSON.stringify(a.conventions??[]),hasFrontend:a.hasFrontend??null,classificationRoots:JSON.stringify(a.classificationRoots??[])}).onConflictDoUpdate({target:f.projectMeta.id,set:c}).returning();return d}async function k(a=e.db){let b=await i(a);try{let a=JSON.parse(b.classificationRoots??"[]");return Array.isArray(a)?a.filter(a=>"string"==typeof a):[]}catch{return[]}}async function l(a=e.db){let b=await i(a);if(null!=b.hasFrontend)return b.hasFrontend;let c=await a.select({path:f.codeFile.path}).from(f.codeFile);return(0,g.EC)(c.map(a=>a.path))}e=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},72967:(a,b,c)=>{c.d(b,{to:()=>e});var d=c(47782);function e(a,b,c={}){if(0===a.length)return new Map;let f=function(a,b){let c=a.map(a=>a.id).sort(),d=new Map(c.map(a=>[a,[]]));for(let a of[...b].sort((a,b)=>a.fromId.localeCompare(b.fromId)||a.toId.localeCompare(b.toId)))d.get(a.fromId)?.push(a);let e=new Map,f=[],g=a=>{for(let b of(e.set(a,"visiting"),d.get(a)??[])){let a=e.get(b.toId);"visiting"!==a&&(f.push(b),"done"!==a&&g(b.toId))}e.set(a,"done")};for(let a of c)e.has(a)||g(a);return f}(a,b),g=function(a,b){let c=new Map(a.map(a=>[a.id,[]]));for(let a of b)c.get(a.fromId)?.push(a.toId);let d=new Map,e=a=>{let b=d.get(a);if(void 0!==b)return b;d.set(a,0);let f=c.get(a)??[],g=f.length?1+Math.max(...f.map(e)):0;return d.set(a,g),g};for(let b of a)e(b.id);return d}(a,f),h=new Map(a.map(a=>[a.id,[]]));for(let a of f)h.get(a.fromId)?.push(a.toId);let i=Array.from(new Set(a.map(a=>a.group))),j=i.filter(a=>"—"!==a).sort(),k=i.includes("—")?[...j,"—"]:j,l=[];for(let b of k){let c=a.filter(a=>a.group===b),d=Math.min(...c.map(a=>g.get(a.id)??0)),e=Math.max(...c.map(a=>g.get(a.id)??0)),f=new Map,i=new Map,j=0,k=1;for(let a=d;a<=e;a++){let b=c.filter(b=>g.get(b.id)===a);if(!b.length)continue;let d=a=>{let b=(h.get(a.id)??[]).map(a=>i.get(a)).filter(a=>void 0!==a);return b.length?b.reduce((a,b)=>a+b,0)/b.length:1/0};b.sort((a,b)=>d(a)-d(b)||a.id.localeCompare(b.id));let e=Math.max(1,Math.ceil(Math.sqrt(2*b.length)));b.forEach((a,b)=>{let c=Math.floor(b/e),d=b%e;i.set(a.id,d),f.set(a.id,{x:j+360*c,y:150*d}),k=Math.max(k,d+1)}),j+=360*Math.ceil(b.length/e)}l.push({d:b,w:j,h:150*k,local:f})}let m=(0,d.Xi)(l.map(a=>({id:a.d,w:a.w,h:a.h})),{gapX:84,gapY:80,viewportAspect:c.viewportAspect,minBandW:1080,aspectSlack:1.5}),n=new Map;for(let a of l){let b=m.get(a.d);for(let[c,d]of a.local)n.set(c,{x:b.x+d.x,y:b.y+d.y})}return n}},76968:(a,b,c)=>{c.d(b,{GL:()=>i,Pe:()=>h});var d=c(37096);class e{constructor(a,b){this.name=a,this.unique=b}static [d.i]="SQLiteIndexBuilderOn";on(...a){return new f(this.name,a,this.unique)}}class f{static [d.i]="SQLiteIndexBuilder";config;constructor(a,b,c){this.config={name:a,columns:b,unique:c,where:void 0}}where(a){return this.config.where=a,this}build(a){return new g(this.config,a)}}class g{static [d.i]="SQLiteIndex";config;constructor(a,b){this.config={...a,table:b}}}function h(a){return new e(a,!1)}function i(a){return new e(a,!0)}},93118:(a,b,c)=>{c.d(b,{VI:()=>f});let d=["IN_PROGRESS","PENDING","BLOCKED","DONE","DEPRIORITIZED","CANCELLED"];var e=c(47782);function f(a,b,c={}){let g=c.colW??320,h=c.rowH??150,i=c.childIndent??24,j=c.laneGap??56,k=c.bandGap??110,l=c.maxCols??10,m=c.minBandW??3*g,n=new Set(a.map(a=>a.id)),o=a=>!a.parentId||!n.has(a.parentId),p=a.filter(o),q=new Map;for(let b of a){if(o(b))continue;let a=q.get(b.parentId);a?a.push(b):q.set(b.parentId,[b])}let r="status"===b?a=>a.status:"priority"===b?a=>String(a.priority):a=>(a.cluster??"").trim()||"—",s=new Map;for(let a of p){let b=r(a),c=s.get(b);c?c.push(a):s.set(b,[a])}let t=(function(a,b,c){if("status"===a)return[...d];if("priority"===a)return["0","1","2","3"];let e=Array.from(new Set(b.map(c))),f=e.filter(a=>"—"!==a).sort();return e.includes("—")?[...f,"—"]:f})(b,p,r).filter(a=>s.has(a)),u=[];for(let a of t){let b=s.get(a),c=b.reduce((a,b)=>a+1+(q.get(b.id)?.length??0),0),d=Math.max(1,Math.min(l,b.length,Math.round(Math.sqrt(.85*c))||1)),e=Array(d).fill(0),f=new Map;for(let a of b){let b=0;for(let a=1;a<d;a++)e[a]<e[b]&&(b=a);let c=b*g,j=e[b]*h;f.set(a.id,{x:c,y:j});let k=q.get(a.id)??[];k.forEach((a,b)=>{f.set(a.id,{x:c+i,y:j+(b+1)*h})}),e[b]+=1+k.length}let j=e.reduce((a,b)=>Math.max(a,b),0);u.push({id:a,w:d*g,h:j*h,local:f})}let v=(0,e.Xi)(u.map(a=>({id:a.id,w:a.w,h:a.h})),{gapX:j,gapY:k,viewportAspect:c.viewportAspect,minBandW:m,aspectSlack:1.5}),w=new Map;for(let a of u){let b=v.get(a.id);for(let[c,d]of a.local)w.set(c,{x:b.x+d.x,y:b.y+d.y})}return w}}};
@@ -1 +1 @@
1
- "use strict";exports.id=249,exports.ids=[249],exports.modules={6324:(a,b,c)=>{c.d(b,{Jd:()=>i,SF:()=>h,Xg:()=>j,_A:()=>g});var d=c(44046),e=c(86548);let f=d.vk(a=>{if("string"==typeof a){let[b,...c]=a.trim().split(/\s+/);return{name:b,type:c.join(" ")||"text"}}return a},d.Ik({name:d.Yj().trim().min(1),type:d.Yj().trim().min(1),isPk:d.zM().optional(),isFk:d.zM().optional(),nullable:d.zM().optional(),note:d.Yj().nullish()})),g=d.Ik({name:d.Yj().trim().min(1),domain:d.Yj().nullish(),description:d.Yj().nullish(),columns:d.YO(f).default([])}),h=d.Ik({fromTable:d.Yj(),fromColumn:d.Yj(),toTable:d.Yj(),toColumn:d.Yj(),label:d.Yj().nullish()}),i=d.Ik({method:d.Yj().trim().min(1),path:d.Yj().trim().min(1),domain:d.Yj().nullish(),description:d.Yj().nullish(),uses:d.YO(d.Ik({table:d.Yj().trim().min(1),access:d.Yj().optional()})).default([])}).transform(a=>({...a,uses:a.uses.map(b=>({...b,access:b.access??(0,e.P)(a.method)}))})),j=d.Ik({tables:d.YO(g).default([]),relations:d.YO(h).default([]),endpoints:d.YO(i).default([])})},24433:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{J:()=>i});var e=c(6324),f=c(50101),g=a([f]);f=(g.then?(await g)():g)[0];let j=/^[ \t]*```beacon[ \t]*\r?\n([\s\S]*?)\r?\n[ \t]*```[ \t]*$/im;function h(a,b){if(!Array.isArray(a))return[];let c=[];for(let d of a){let a=b.safeParse(d);a.success&&c.push(a.data)}return c}function i(a){let b,c=a.match(j);if(!c)return{prose:a};try{b=JSON.parse(c[1])}catch{return{prose:a}}let d=b&&"object"==typeof b?b:{},g=h(d.tables,e._A),i=h(d.relations,e.SF),k=h(d.endpoints,e.Jd),l=h(d.features,f.te),m=g.length||k.length||i.length?{tables:g,relations:i,endpoints:k}:void 0,n=l.length?l:void 0;return m||n?{prose:a.replace(j,"").replace(/\n{3,}/g,"\n\n").trim(),draft:m,features:n}:{prose:a}}d()}catch(a){d(a)}})},32753:(a,b,c)=>{c.d(b,{EC:()=>h,jR:()=>f});let d=["frontend","backend","fullstack"],e={fe:"frontend",front:"frontend",be:"backend",back:"backend",fs:"fullstack","full-stack":"fullstack","full stack":"fullstack"};function f(a){let b=(a??"").trim().toLowerCase();return b?d.includes(b)?b:e[b]??null:null}let g=/\.(tsx|jsx|vue|svelte)$/i;function h(a){return a.some(a=>g.test(a))}},50101:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{C5:()=>n,KR:()=>m,Qy:()=>p,t7:()=>l,te:()=>o});var e=c(44046),f=c(34216),g=c(56727),h=c(30046),i=c(32753),j=c(90497),k=a([g]);g=(k.then?(await k)():k)[0];let o=e.Ik({title:e.Yj().trim().min(1),role:e.Yj().nullish(),plain:e.Yj().nullish(),cluster:e.Yj().nullish(),category:e.Yj().nullish(),domain:e.Yj().nullish(),priority:e.ai().nullish(),kind:e.Yj().nullish(),layer:e.Yj().nullish(),dependsOn:e.YO(e.Yj()).nullish()}).transform(({category:a,domain:b,priority:c,kind:d,layer:e,...f})=>({...f,cluster:f.cluster??a??b??null,priority:null==c?null:Math.max(0,Math.min(3,Math.round(c))),kind:d?.trim().toUpperCase()==="BUG"?"BUG":"FEATURE",layer:(0,i.jR)(e)})),p=e.Ik({features:e.YO(o).default([])});async function l(a=g.db){await a.delete(h.node).where((0,f.Uo)((0,f.eq)(h.node.source,"DRAFT"),(0,f.eq)(h.node.view,"ROADMAP")))}async function m(a,b=g.db){let c=p.parse(a);await l(b);let d=await b.query.node.findFirst({where:(a,{eq:b})=>b(a.view,"ROADMAP"),orderBy:(a,{desc:b})=>b(a.y)}),e=(d?.y??0)+200,f=new Set(c.features.map(a=>a.title.trim())),i=c.features.map(a=>({id:a.title.trim()})),k=c.features.flatMap(a=>(a.dependsOn??[]).map(a=>a.trim()).filter(b=>f.has(b)&&b!==a.title.trim()).map(b=>({fromId:a.title.trim(),toId:b}))),n=(0,j.u)(i,k),o=new Map;for(let a of c.features){let c=n.get(a.title.trim())??{x:0,y:0},[d]=await b.insert(h.node).values({view:"ROADMAP",source:"DRAFT",status:"PENDING",kind:a.kind,title:a.title,role:a.role??null,plain:a.plain??null,cluster:a.cluster??null,layer:a.layer??null,priority:a.priority??2,x:c.x,y:c.y+e}).returning();o.set(a.title.trim(),d.id)}for(let a of c.features){let c=o.get(a.title.trim());if(c&&a.dependsOn)for(let d of a.dependsOn){let a=o.get(d.trim());a&&a!==c&&(await b.query.edge.findFirst({where:(b,{and:d,eq:e})=>d(e(b.fromId,c),e(b.toId,a),e(b.kind,"DEPENDS"))})||await b.insert(h.edge).values({fromId:c,toId:a,kind:"DEPENDS"}))}}}async function n(a=g.db){let b=await a.query.node.findMany({where:(a,{and:b,eq:c})=>b(c(a.source,"DRAFT"),c(a.view,"ROADMAP")),orderBy:(a,{asc:b})=>b(a.createdAt)}),c=b.map(a=>a.id),d=c.length?await a.query.edge.findMany({where:(a,{and:b,eq:d})=>b(d(a.kind,"DEPENDS"),(0,f.RV)(a.fromId,c),(0,f.RV)(a.toId,c))}):[],e=new Map(b.map(a=>[a.id,a.title])),h=new Map;for(let a of d){let b=e.get(a.toId);if(!b)continue;let c=h.get(a.fromId)??[];c.push(b),h.set(a.fromId,c)}return{features:b.map(a=>({title:a.title,role:a.role,plain:a.plain,cluster:a.cluster,priority:a.priority,kind:"BUG"===a.kind?"BUG":"FEATURE",layer:(0,i.jR)(a.layer),dependsOn:h.get(a.id)}))}}d()}catch(a){d(a)}})},72179:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{BK:()=>B,CW:()=>D,Gf:()=>u,NK:()=>y,Vs:()=>v,XF:()=>C,iL:()=>t,mk:()=>A,rw:()=>w,zO:()=>x});var e=c(77598),f=c(73024),g=c(76760),h=c(44046),i=c(34216),j=c(56727),k=c(30046),l=c(45301),m=c(32213),n=c(19734),o=c(86548),p=c(96976),q=a([j,n]);function r(){return(0,g.join)((0,l.KS)(),"draft.json")}function s(){return(0,g.join)((0,l.KS)(),"draft-verdict.json")}function t(){try{return JSON.parse((0,f.readFileSync)(r(),"utf8"))}catch{return null}}function u(a,b=0,c=Date.now()){let d=function(a,b,c=0){let d=new Map;for(let b of a.tables)d.set(b.name,(0,e.randomUUID)());let f=a.endpoints.map(()=>(0,e.randomUUID)()),g=(0,p.kq)(a.tables.map(a=>({id:d.get(a.name),name:a.name,domain:a.domain??null,columnCount:a.columns.length})),a.endpoints.map((a,b)=>({id:f[b],method:a.method,path:a.path,uses:a.uses.flatMap(a=>{let b=d.get(a.table);return b?[{tableId:b}]:[]})}))),h=a.tables.map(a=>{let b=d.get(a.name),e=g.tables.get(b)??{x:0,y:0};return{id:b,name:a.name,domain:a.domain??null,description:a.description??null,x:e.x,y:c+e.y,columns:a.columns.map(a=>({name:a.name,type:a.type,isPk:a.isPk??!1,isFk:a.isFk??!1,nullable:a.nullable??!0,note:a.note??null}))}}),i=a.relations.flatMap(a=>{let b=d.get(a.fromTable),c=d.get(a.toTable);return b&&c?[{id:(0,e.randomUUID)(),fromTableId:b,toTableId:c,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label??`${a.fromColumn} → ${a.toTable}.${a.toColumn}`}]:[]}),j=a.endpoints.map((a,b)=>{let e=f[b],h=g.endpoints.get(e)??{x:0,y:0};return{id:e,method:a.method,path:a.path,domain:a.domain??null,description:a.description??null,x:h.x,y:c+h.y,links:a.uses.flatMap(a=>{let b=d.get(a.table);return b?[{tableId:b,access:a.access}]:[]})}});return{proposedAt:b,status:"pending",tables:h,relations:i,endpoints:j}}(a,c,b);return(0,m.q)(r(),d),(0,f.rmSync)(s(),{force:!0}),d}function v(){(0,f.rmSync)(r(),{force:!0})}function w(){(0,f.rmSync)(r(),{force:!0}),(0,f.rmSync)(s(),{force:!0})}function x(a){let b=new Map(a.tables.map(a=>[a.id,a.name])),c=["## Approved schema","","### Tables"];for(let b of a.tables)for(let a of(c.push(`- **${b.name}**${b.domain?` (${b.domain})`:""}`),b.columns)){let b=[a.isPk&&"PK",a.isFk&&"FK",a.nullable?"NULL":"NOT NULL"].filter(Boolean).join(" ");c.push(` - ${a.name} ${a.type}${b?` ${b}`:""}${a.note?` — ${a.note}`:""}`)}if(a.relations.length)for(let d of(c.push("","### Relations (FKs)"),a.relations)){let a=b.get(d.fromTableId)??d.fromTableId,e=b.get(d.toTableId)??d.toTableId;c.push(`- ${a}.${d.fromColumn} → ${e}.${d.toColumn}`)}if(a.endpoints.length)for(let d of(c.push("","### Endpoints"),a.endpoints)){let a=d.links.map(a=>`${b.get(a.tableId)??a.tableId} (${a.access})`).join(", ");c.push(`- ${d.method} ${d.path}${a?` — ${a}`:""}`)}return c.join("\n")}function y(a,b){let c=[],d=new Map(a.tables.map(a=>[a.name,a])),e=new Map(b.tables.map(a=>[a.name,a]));for(let a of b.tables)d.has(a.name)||c.push(`added table **${a.name}**`);for(let b of a.tables)e.has(b.name)||c.push(`removed table **${b.name}**`);for(let a of b.tables){let b=d.get(a.name);if(!b)continue;let e=new Map(b.columns.map(a=>[a.name,a])),f=new Map(a.columns.map(a=>[a.name,a]));for(let b of a.columns){let d=e.get(b.name);if(!d){c.push(`added column **${a.name}.${b.name}** (${b.type})`);continue}let f=[];d.type!==b.type&&f.push(`type ${d.type} → ${b.type}`),d.isPk!==b.isPk&&f.push(b.isPk?"now PK":"no longer PK"),d.isFk!==b.isFk&&f.push(b.isFk?"now FK":"no longer FK"),d.nullable!==b.nullable&&f.push(b.nullable?"now accepts NULL":"now NOT NULL"),(d.note??"")!==(b.note??"")&&f.push(`note: "${b.note??""}"`),f.length&&c.push(`changed **${a.name}.${b.name}** — ${f.join("; ")}`)}for(let d of b.columns)f.has(d.name)||c.push(`removed column **${a.name}.${d.name}** (was ${d.type})`)}let f=(a,b)=>`${b.get(a.fromTableId)??a.fromTableId}.${a.fromColumn}→${b.get(a.toTableId)??a.toTableId}.${a.toColumn}`,g=new Map(a.tables.map(a=>[a.id,a.name])),h=new Map(b.tables.map(a=>[a.id,a.name])),i=new Set(a.relations.map(a=>f(a,g))),j=new Set(b.relations.map(a=>f(a,h)));for(let a of j)i.has(a)||c.push(`added relation ${a}`);for(let a of i)j.has(a)||c.push(`removed relation ${a}`);let k=a=>`${a.method} ${a.path}`,l=new Map(a.endpoints.map(a=>[k(a),a])),m=new Map(b.endpoints.map(a=>[k(a),a]));for(let[a,b]of m)if(!l.has(a)){let d=b.links.map(a=>`${h.get(a.tableId)??a.tableId} (${a.access})`).join(", ");c.push(`added endpoint **${a}**${d?` — ${d}`:""}`)}for(let[a]of l)m.has(a)||c.push(`removed endpoint **${a}**`);return c}function z(a){(0,m.q)(s(),a)}function A(){let a=t();a&&z({proposedAt:a.proposedAt,status:"discarded",summary:"The user discarded the draft."}),v()}function B(){let a=t();if(a)return{state:"pending",proposedAt:a.proposedAt};let b=function(){try{return JSON.parse((0,f.readFileSync)(s(),"utf8"))}catch{return null}}();return b?{state:b.status,proposedAt:b.proposedAt,summary:b.summary,detail:b.detail}:{state:"none"}}[j,n]=q.then?(await q)():q;let E=h.Ik({proposedAt:h.ai(),status:h.Yj(),tables:h.YO(h.Ik({id:h.Yj(),name:h.Yj().trim().min(1),domain:h.Yj().nullable(),description:h.Yj().nullable(),x:h.ai(),y:h.ai(),columns:h.YO(h.Ik({name:h.Yj().trim().min(1),type:h.Yj(),isPk:h.zM(),isFk:h.zM(),nullable:h.zM(),note:h.Yj().nullable()}))})),relations:h.YO(h.Ik({id:h.Yj(),fromTableId:h.Yj(),toTableId:h.Yj(),fromColumn:h.Yj(),toColumn:h.Yj(),label:h.Yj().nullable()})),endpoints:h.YO(h.Ik({id:h.Yj(),method:h.Yj().trim().min(1),path:h.Yj().trim().min(1),domain:h.Yj().nullable(),description:h.Yj().nullable(),x:h.ai(),y:h.ai(),links:h.YO(h.Ik({tableId:h.Yj(),access:h.Yj()}))}))});async function C(a,b=j.db,c={}){let d=E.parse(a),e=new Map(d.tables.map(a=>[a.id,a.name])),f=new Map,g=c.planId??null;for(let a of d.tables){let[c]=await b.insert(k.dbTable).values({name:a.name,domain:a.domain,description:a.description,source:"MANUAL",planId:g,x:a.x,y:a.y}).onConflictDoUpdate({target:k.dbTable.name,set:{domain:a.domain,description:a.description,planId:g}}).returning();f.set(a.name,c.id),await b.delete(k.dbColumn).where((0,i.eq)(k.dbColumn.tableId,c.id)),a.columns.length&&await b.insert(k.dbColumn).values(a.columns.map((a,b)=>({tableId:c.id,name:a.name,type:a.type,isPk:a.isPk,isFk:a.isFk,nullable:a.nullable,note:a.note,ord:b})))}let h=async a=>{let c=e.get(a);if(c)return f.get(c)??null;let d=await b.query.dbTable.findFirst({where:(b,{eq:c})=>c(b.id,a)}).catch(()=>null);return d?d.id:null};for(let a of d.relations){let c=await h(a.fromTableId),d=await h(a.toTableId);c&&d&&(await b.query.dbRelation.findFirst({where:(b,{and:e,eq:f})=>e(f(b.fromTableId,c),f(b.toTableId,d),f(b.fromColumn,a.fromColumn),f(b.toColumn,a.toColumn))})||await b.insert(k.dbRelation).values({fromTableId:c,toTableId:d,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label}))}for(let a of d.endpoints){let[c]=await b.insert(k.endpoint).values({method:a.method,path:a.path,domain:a.domain,description:a.description,source:"MANUAL",planId:g,x:a.x,y:a.y}).onConflictDoUpdate({target:[k.endpoint.method,k.endpoint.path],set:{domain:a.domain,description:a.description,planId:g}}).returning();for(let d of(await b.delete(k.endpointTable).where((0,i.eq)(k.endpointTable.endpointId,c.id)),a.links)){let a=await h(d.tableId);a&&await b.insert(k.endpointTable).values({endpointId:c.id,tableId:a,access:d.access}).catch(()=>{})}}let l=`${d.tables.length} table(s), ${d.relations.length} relation(s) and ${d.endpoints.length} endpoint(s) approved and persisted to the schema.`;return z({proposedAt:d.proposedAt,status:"approved",summary:l,detail:x(d)}),v(),await (0,n.Bx)(b),{tables:d.tables.length,relations:d.relations.length,endpoints:d.endpoints.length}}async function D(a=j.db){let b=await a.query.endpoint.findMany({with:{tables:!0}}),c=0;for(let d of b)if("write"===(0,o.P)(d.method))for(let b of d.tables)"read"===b.access&&(await a.update(k.endpointTable).set({access:"write"}).where((0,i.eq)(k.endpointTable.id,b.id)),c++);return c}d()}catch(a){d(a)}})},79935:(a,b,c)=>{c.d(b,{j:()=>d});function d(a,b,c){let d=[`# Plan: ${a}`,""],e=c?.features??[];if(e.length)for(let a of(d.push("## Features",""),e))d.push(`### ${a.title}`),a.cluster&&d.push(`*Domain:* \`${a.cluster}\``),a.role&&d.push(`*Role:* ${a.role}`),a.plain&&d.push("",a.plain),d.push("");let f=b?.tables??[];if(f.length)for(let a of(d.push("## Database — Tables",""),f)){for(let b of(d.push(`### Table \`${a.name}\``),a.domain&&d.push(`*Domain:* \`${a.domain}\``),a.description&&d.push("",a.description,""),a.columns)){let a=[b.isPk&&"PK",b.isFk&&"FK",b.nullable?"NULL":"NOT NULL"].filter(Boolean).join(" ");d.push(`- \`${b.name}\` ${b.type}${a?` *${a}*`:""}${b.note?` — ${b.note}`:""}`)}d.push("")}let g=b?.relations??[];if(g.length){let a=new Map(f.map(a=>[a.id,a.name]));for(let b of(d.push("## Database — Relations (FKs)",""),g)){let c=a.get(b.fromTableId)??b.fromTableId,e=a.get(b.toTableId)??b.toTableId;d.push(`- \`${c}.${b.fromColumn}\` → \`${e}.${b.toColumn}\``)}d.push("")}let h=b?.endpoints??[];if(h.length){let a=new Map(f.map(a=>[a.id,a.name]));for(let b of(d.push("## Endpoints",""),h)){if(d.push(`### ${b.method} ${b.path}`),b.domain&&d.push(`*Domain:* \`${b.domain}\``),b.description&&d.push("",b.description),b.links.length){let c=b.links.map(b=>`\`${a.get(b.tableId)??b.tableId}\` (${b.access})`).join(", ");d.push("",`Touches: ${c}`)}d.push("")}}return d.join("\n")}},86548:(a,b,c)=>{c.d(b,{P:()=>e});let d=new Set(["GET","HEAD","OPTIONS"]);function e(a){return d.has(a.trim().toUpperCase())?"read":"write"}},90497:(a,b,c)=>{c.d(b,{u:()=>i});var d=c(61661),e=c(52648),f=c(61639),g=c(62088),h=c(19125);function i(a,b,c={}){let j,k=c.linkDistance??210,l=c.charge??-450,m=c.collideRadius??132,n=c.ticks??500,o=[...a].sort((a,b)=>a.id<b.id?-1:+(a.id>b.id)),p=new Set(o.map(a=>a.id)),q=o.map(a=>({id:a.id})),r=[];for(let a of b)a.fromId!==a.toId&&p.has(a.fromId)&&p.has(a.toId)&&r.push({source:a.fromId,target:a.toId});for(let a of o)a.parentId&&p.has(a.parentId)&&r.push({source:a.id,target:a.parentId});let s=(0,d.A)(q).randomSource((j=0x9e3779b9,()=>{let a=j=j+0x6d2b79f5>>>0;return a=Math.imul(a^a>>>15,1|a),(((a^=a+Math.imul(a^a>>>7,61|a))^a>>>14)>>>0)/0x100000000})).force("link",(0,e.A)(r).id(a=>a.id).distance(k).strength(.6)).force("charge",(0,f.A)().strength(l).distanceMax(1200)).force("collide",(0,g.A)().radius(m).strength(1)).force("center",(0,h.A)(0,0).strength(.08)).stop();for(let a=0;a<n;a++)s.tick();let t=new Map;for(let a of q)t.set(a.id,{x:Math.round(a.x??0),y:Math.round(a.y??0)});return t}}};
1
+ "use strict";exports.id=249,exports.ids=[249],exports.modules={6324:(a,b,c)=>{c.d(b,{Jd:()=>i,SF:()=>h,Xg:()=>j,_A:()=>g});var d=c(44046),e=c(86548);let f=d.vk(a=>{if("string"==typeof a){let[b,...c]=a.trim().split(/\s+/);return{name:b,type:c.join(" ")||"text"}}return a},d.Ik({name:d.Yj().trim().min(1),type:d.Yj().trim().min(1),isPk:d.zM().optional(),isFk:d.zM().optional(),nullable:d.zM().optional(),note:d.Yj().nullish()})),g=d.Ik({name:d.Yj().trim().min(1),domain:d.Yj().nullish(),description:d.Yj().nullish(),columns:d.YO(f).default([])}),h=d.Ik({fromTable:d.Yj(),fromColumn:d.Yj(),toTable:d.Yj(),toColumn:d.Yj(),label:d.Yj().nullish()}),i=d.Ik({method:d.Yj().trim().min(1),path:d.Yj().trim().min(1),domain:d.Yj().nullish(),description:d.Yj().nullish(),uses:d.YO(d.Ik({table:d.Yj().trim().min(1),access:d.Yj().optional()})).default([])}).transform(a=>({...a,uses:a.uses.map(b=>({...b,access:b.access??(0,e.P)(a.method)}))})),j=d.Ik({tables:d.YO(g).default([]),relations:d.YO(h).default([]),endpoints:d.YO(i).default([])})},24433:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{J:()=>i});var e=c(6324),f=c(50101),g=a([f]);f=(g.then?(await g)():g)[0];let j=/^[ \t]*```beacon[ \t]*\r?\n([\s\S]*?)\r?\n[ \t]*```[ \t]*$/im;function h(a,b){if(!Array.isArray(a))return[];let c=[];for(let d of a){let a=b.safeParse(d);a.success&&c.push(a.data)}return c}function i(a){let b,c=a.match(j);if(!c)return{prose:a};try{b=JSON.parse(c[1])}catch{return{prose:a}}let d=b&&"object"==typeof b?b:{},g=h(d.tables,e._A),i=h(d.relations,e.SF),k=h(d.endpoints,e.Jd),l=h(d.features,f.te),m=Array.isArray(d.contract)?d.contract.filter(a=>"string"==typeof a&&!!a.trim()).map(a=>a.trim()):void 0,n=g.length||k.length||i.length?{tables:g,relations:i,endpoints:k}:void 0,o=l.length?l:void 0,p=m?.length?m:void 0;return n||o||p?{prose:a.replace(j,"").replace(/\n{3,}/g,"\n\n").trim(),draft:n,features:o,contract:p}:{prose:a}}d()}catch(a){d(a)}})},32753:(a,b,c)=>{c.d(b,{EC:()=>h,jR:()=>f});let d=["frontend","backend","fullstack"],e={fe:"frontend",front:"frontend",be:"backend",back:"backend",fs:"fullstack","full-stack":"fullstack","full stack":"fullstack"};function f(a){let b=(a??"").trim().toLowerCase();return b?d.includes(b)?b:e[b]??null:null}let g=/\.(tsx|jsx|vue|svelte)$/i;function h(a){return a.some(a=>g.test(a))}},50101:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{C5:()=>n,KR:()=>m,Qy:()=>p,t7:()=>l,te:()=>o});var e=c(44046),f=c(34216),g=c(56727),h=c(30046),i=c(32753),j=c(90497),k=a([g]);g=(k.then?(await k)():k)[0];let o=e.Ik({title:e.Yj().trim().min(1),role:e.Yj().nullish(),plain:e.Yj().nullish(),cluster:e.Yj().nullish(),category:e.Yj().nullish(),domain:e.Yj().nullish(),priority:e.ai().nullish(),kind:e.Yj().nullish(),layer:e.Yj().nullish(),dependsOn:e.YO(e.Yj()).nullish()}).transform(({category:a,domain:b,priority:c,kind:d,layer:e,...f})=>({...f,cluster:f.cluster??a??b??null,priority:null==c?null:Math.max(0,Math.min(3,Math.round(c))),kind:d?.trim().toUpperCase()==="BUG"?"BUG":"FEATURE",layer:(0,i.jR)(e)})),p=e.Ik({features:e.YO(o).default([])});async function l(a=g.db){await a.delete(h.node).where((0,f.Uo)((0,f.eq)(h.node.source,"DRAFT"),(0,f.eq)(h.node.view,"ROADMAP")))}async function m(a,b=g.db){let c=p.parse(a);await l(b);let d=await b.query.node.findFirst({where:(a,{eq:b})=>b(a.view,"ROADMAP"),orderBy:(a,{desc:b})=>b(a.y)}),e=(d?.y??0)+200,f=new Set(c.features.map(a=>a.title.trim())),i=c.features.map(a=>({id:a.title.trim()})),k=c.features.flatMap(a=>(a.dependsOn??[]).map(a=>a.trim()).filter(b=>f.has(b)&&b!==a.title.trim()).map(b=>({fromId:a.title.trim(),toId:b}))),n=(0,j.u)(i,k),o=new Map;for(let a of c.features){let c=n.get(a.title.trim())??{x:0,y:0},[d]=await b.insert(h.node).values({view:"ROADMAP",source:"DRAFT",status:"PENDING",kind:a.kind,title:a.title,role:a.role??null,plain:a.plain??null,cluster:a.cluster??null,layer:a.layer??null,priority:a.priority??2,x:c.x,y:c.y+e}).returning();o.set(a.title.trim(),d.id)}for(let a of c.features){let c=o.get(a.title.trim());if(c&&a.dependsOn)for(let d of a.dependsOn){let a=o.get(d.trim());a&&a!==c&&(await b.query.edge.findFirst({where:(b,{and:d,eq:e})=>d(e(b.fromId,c),e(b.toId,a),e(b.kind,"DEPENDS"))})||await b.insert(h.edge).values({fromId:c,toId:a,kind:"DEPENDS"}))}}}async function n(a=g.db){let b=await a.query.node.findMany({where:(a,{and:b,eq:c})=>b(c(a.source,"DRAFT"),c(a.view,"ROADMAP")),orderBy:(a,{asc:b})=>b(a.createdAt)}),c=b.map(a=>a.id),d=c.length?await a.query.edge.findMany({where:(a,{and:b,eq:d})=>b(d(a.kind,"DEPENDS"),(0,f.RV)(a.fromId,c),(0,f.RV)(a.toId,c))}):[],e=new Map(b.map(a=>[a.id,a.title])),h=new Map;for(let a of d){let b=e.get(a.toId);if(!b)continue;let c=h.get(a.fromId)??[];c.push(b),h.set(a.fromId,c)}return{features:b.map(a=>({title:a.title,role:a.role,plain:a.plain,cluster:a.cluster,priority:a.priority,kind:"BUG"===a.kind?"BUG":"FEATURE",layer:(0,i.jR)(a.layer),dependsOn:h.get(a.id)}))}}d()}catch(a){d(a)}})},72179:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{BK:()=>B,CW:()=>D,Gf:()=>u,NK:()=>y,Vs:()=>v,XF:()=>C,iL:()=>t,mk:()=>A,rw:()=>w,zO:()=>x});var e=c(77598),f=c(73024),g=c(76760),h=c(44046),i=c(34216),j=c(56727),k=c(30046),l=c(45301),m=c(32213),n=c(19734),o=c(86548),p=c(96976),q=a([j,n]);function r(){return(0,g.join)((0,l.KS)(),"draft.json")}function s(){return(0,g.join)((0,l.KS)(),"draft-verdict.json")}function t(){try{return JSON.parse((0,f.readFileSync)(r(),"utf8"))}catch{return null}}function u(a,b=0,c=Date.now()){let d=function(a,b,c=0){let d=new Map;for(let b of a.tables)d.set(b.name,(0,e.randomUUID)());let f=a.endpoints.map(()=>(0,e.randomUUID)()),g=(0,p.kq)(a.tables.map(a=>({id:d.get(a.name),name:a.name,domain:a.domain??null,columnCount:a.columns.length})),a.endpoints.map((a,b)=>({id:f[b],method:a.method,path:a.path,uses:a.uses.flatMap(a=>{let b=d.get(a.table);return b?[{tableId:b}]:[]})}))),h=a.tables.map(a=>{let b=d.get(a.name),e=g.tables.get(b)??{x:0,y:0};return{id:b,name:a.name,domain:a.domain??null,description:a.description??null,x:e.x,y:c+e.y,columns:a.columns.map(a=>({name:a.name,type:a.type,isPk:a.isPk??!1,isFk:a.isFk??!1,nullable:a.nullable??!0,note:a.note??null}))}}),i=a.relations.flatMap(a=>{let b=d.get(a.fromTable),c=d.get(a.toTable);return b&&c?[{id:(0,e.randomUUID)(),fromTableId:b,toTableId:c,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label??`${a.fromColumn} → ${a.toTable}.${a.toColumn}`}]:[]}),j=a.endpoints.map((a,b)=>{let e=f[b],h=g.endpoints.get(e)??{x:0,y:0};return{id:e,method:a.method,path:a.path,domain:a.domain??null,description:a.description??null,x:h.x,y:c+h.y,links:a.uses.flatMap(a=>{let b=d.get(a.table);return b?[{tableId:b,access:a.access}]:[]})}});return{proposedAt:b,status:"pending",tables:h,relations:i,endpoints:j}}(a,c,b);return(0,m.q)(r(),d),(0,f.rmSync)(s(),{force:!0}),d}function v(){(0,f.rmSync)(r(),{force:!0})}function w(){(0,f.rmSync)(r(),{force:!0}),(0,f.rmSync)(s(),{force:!0})}function x(a){let b=new Map(a.tables.map(a=>[a.id,a.name])),c=["## Approved schema","","### Tables"];for(let b of a.tables)for(let a of(c.push(`- **${b.name}**${b.domain?` (${b.domain})`:""}`),b.columns)){let b=[a.isPk&&"PK",a.isFk&&"FK",a.nullable?"NULL":"NOT NULL"].filter(Boolean).join(" ");c.push(` - ${a.name} ${a.type}${b?` ${b}`:""}${a.note?` — ${a.note}`:""}`)}if(a.relations.length)for(let d of(c.push("","### Relations (FKs)"),a.relations)){let a=b.get(d.fromTableId)??d.fromTableId,e=b.get(d.toTableId)??d.toTableId;c.push(`- ${a}.${d.fromColumn} → ${e}.${d.toColumn}`)}if(a.endpoints.length)for(let d of(c.push("","### Endpoints"),a.endpoints)){let a=d.links.map(a=>`${b.get(a.tableId)??a.tableId} (${a.access})`).join(", ");c.push(`- ${d.method} ${d.path}${a?` — ${a}`:""}`)}return c.join("\n")}function y(a,b){let c=[],d=new Map(a.tables.map(a=>[a.name,a])),e=new Map(b.tables.map(a=>[a.name,a]));for(let a of b.tables)d.has(a.name)||c.push(`added table **${a.name}**`);for(let b of a.tables)e.has(b.name)||c.push(`removed table **${b.name}**`);for(let a of b.tables){let b=d.get(a.name);if(!b)continue;let e=new Map(b.columns.map(a=>[a.name,a])),f=new Map(a.columns.map(a=>[a.name,a]));for(let b of a.columns){let d=e.get(b.name);if(!d){c.push(`added column **${a.name}.${b.name}** (${b.type})`);continue}let f=[];d.type!==b.type&&f.push(`type ${d.type} → ${b.type}`),d.isPk!==b.isPk&&f.push(b.isPk?"now PK":"no longer PK"),d.isFk!==b.isFk&&f.push(b.isFk?"now FK":"no longer FK"),d.nullable!==b.nullable&&f.push(b.nullable?"now accepts NULL":"now NOT NULL"),(d.note??"")!==(b.note??"")&&f.push(`note: "${b.note??""}"`),f.length&&c.push(`changed **${a.name}.${b.name}** — ${f.join("; ")}`)}for(let d of b.columns)f.has(d.name)||c.push(`removed column **${a.name}.${d.name}** (was ${d.type})`)}let f=(a,b)=>`${b.get(a.fromTableId)??a.fromTableId}.${a.fromColumn}→${b.get(a.toTableId)??a.toTableId}.${a.toColumn}`,g=new Map(a.tables.map(a=>[a.id,a.name])),h=new Map(b.tables.map(a=>[a.id,a.name])),i=new Set(a.relations.map(a=>f(a,g))),j=new Set(b.relations.map(a=>f(a,h)));for(let a of j)i.has(a)||c.push(`added relation ${a}`);for(let a of i)j.has(a)||c.push(`removed relation ${a}`);let k=a=>`${a.method} ${a.path}`,l=new Map(a.endpoints.map(a=>[k(a),a])),m=new Map(b.endpoints.map(a=>[k(a),a]));for(let[a,b]of m)if(!l.has(a)){let d=b.links.map(a=>`${h.get(a.tableId)??a.tableId} (${a.access})`).join(", ");c.push(`added endpoint **${a}**${d?` — ${d}`:""}`)}for(let[a]of l)m.has(a)||c.push(`removed endpoint **${a}**`);return c}function z(a){(0,m.q)(s(),a)}function A(){let a=t();a&&z({proposedAt:a.proposedAt,status:"discarded",summary:"The user discarded the draft."}),v()}function B(){let a=t();if(a)return{state:"pending",proposedAt:a.proposedAt};let b=function(){try{return JSON.parse((0,f.readFileSync)(s(),"utf8"))}catch{return null}}();return b?{state:b.status,proposedAt:b.proposedAt,summary:b.summary,detail:b.detail}:{state:"none"}}[j,n]=q.then?(await q)():q;let E=h.Ik({proposedAt:h.ai(),status:h.Yj(),tables:h.YO(h.Ik({id:h.Yj(),name:h.Yj().trim().min(1),domain:h.Yj().nullable(),description:h.Yj().nullable(),x:h.ai(),y:h.ai(),columns:h.YO(h.Ik({name:h.Yj().trim().min(1),type:h.Yj(),isPk:h.zM(),isFk:h.zM(),nullable:h.zM(),note:h.Yj().nullable()}))})),relations:h.YO(h.Ik({id:h.Yj(),fromTableId:h.Yj(),toTableId:h.Yj(),fromColumn:h.Yj(),toColumn:h.Yj(),label:h.Yj().nullable()})),endpoints:h.YO(h.Ik({id:h.Yj(),method:h.Yj().trim().min(1),path:h.Yj().trim().min(1),domain:h.Yj().nullable(),description:h.Yj().nullable(),x:h.ai(),y:h.ai(),links:h.YO(h.Ik({tableId:h.Yj(),access:h.Yj()}))}))});async function C(a,b=j.db,c={}){let d=E.parse(a),e=new Map(d.tables.map(a=>[a.id,a.name])),f=new Map,g=c.planId??null;for(let a of d.tables){let[c]=await b.insert(k.dbTable).values({name:a.name,domain:a.domain,description:a.description,source:"MANUAL",planId:g,x:a.x,y:a.y}).onConflictDoUpdate({target:k.dbTable.name,set:{domain:a.domain,description:a.description,planId:g}}).returning();f.set(a.name,c.id),await b.delete(k.dbColumn).where((0,i.eq)(k.dbColumn.tableId,c.id)),a.columns.length&&await b.insert(k.dbColumn).values(a.columns.map((a,b)=>({tableId:c.id,name:a.name,type:a.type,isPk:a.isPk,isFk:a.isFk,nullable:a.nullable,note:a.note,ord:b})))}let h=async a=>{let c=e.get(a);if(c)return f.get(c)??null;let d=await b.query.dbTable.findFirst({where:(b,{eq:c})=>c(b.id,a)}).catch(()=>null);return d?d.id:null};for(let a of d.relations){let c=await h(a.fromTableId),d=await h(a.toTableId);c&&d&&(await b.query.dbRelation.findFirst({where:(b,{and:e,eq:f})=>e(f(b.fromTableId,c),f(b.toTableId,d),f(b.fromColumn,a.fromColumn),f(b.toColumn,a.toColumn))})||await b.insert(k.dbRelation).values({fromTableId:c,toTableId:d,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label}))}for(let a of d.endpoints){let[c]=await b.insert(k.endpoint).values({method:a.method,path:a.path,domain:a.domain,description:a.description,source:"MANUAL",planId:g,x:a.x,y:a.y}).onConflictDoUpdate({target:[k.endpoint.method,k.endpoint.path],set:{domain:a.domain,description:a.description,planId:g}}).returning();for(let d of(await b.delete(k.endpointTable).where((0,i.eq)(k.endpointTable.endpointId,c.id)),a.links)){let a=await h(d.tableId);a&&await b.insert(k.endpointTable).values({endpointId:c.id,tableId:a,access:d.access}).catch(()=>{})}}let l=`${d.tables.length} table(s), ${d.relations.length} relation(s) and ${d.endpoints.length} endpoint(s) approved and persisted to the schema.`;return z({proposedAt:d.proposedAt,status:"approved",summary:l,detail:x(d)}),v(),await (0,n.Bx)(b),{tables:d.tables.length,relations:d.relations.length,endpoints:d.endpoints.length}}async function D(a=j.db){let b=await a.query.endpoint.findMany({with:{tables:!0}}),c=0;for(let d of b)if("write"===(0,o.P)(d.method))for(let b of d.tables)"read"===b.access&&(await a.update(k.endpointTable).set({access:"write"}).where((0,i.eq)(k.endpointTable.id,b.id)),c++);return c}d()}catch(a){d(a)}})},79935:(a,b,c)=>{c.d(b,{j:()=>d});function d(a,b,c){let d=[`# Plan: ${a}`,""],e=c?.features??[];if(e.length)for(let a of(d.push("## Features",""),e))d.push(`### ${a.title}`),a.cluster&&d.push(`*Domain:* \`${a.cluster}\``),a.role&&d.push(`*Role:* ${a.role}`),a.plain&&d.push("",a.plain),d.push("");let f=b?.tables??[];if(f.length)for(let a of(d.push("## Database — Tables",""),f)){for(let b of(d.push(`### Table \`${a.name}\``),a.domain&&d.push(`*Domain:* \`${a.domain}\``),a.description&&d.push("",a.description,""),a.columns)){let a=[b.isPk&&"PK",b.isFk&&"FK",b.nullable?"NULL":"NOT NULL"].filter(Boolean).join(" ");d.push(`- \`${b.name}\` ${b.type}${a?` *${a}*`:""}${b.note?` — ${b.note}`:""}`)}d.push("")}let g=b?.relations??[];if(g.length){let a=new Map(f.map(a=>[a.id,a.name]));for(let b of(d.push("## Database — Relations (FKs)",""),g)){let c=a.get(b.fromTableId)??b.fromTableId,e=a.get(b.toTableId)??b.toTableId;d.push(`- \`${c}.${b.fromColumn}\` → \`${e}.${b.toColumn}\``)}d.push("")}let h=b?.endpoints??[];if(h.length){let a=new Map(f.map(a=>[a.id,a.name]));for(let b of(d.push("## Endpoints",""),h)){if(d.push(`### ${b.method} ${b.path}`),b.domain&&d.push(`*Domain:* \`${b.domain}\``),b.description&&d.push("",b.description),b.links.length){let c=b.links.map(b=>`\`${a.get(b.tableId)??b.tableId}\` (${b.access})`).join(", ");d.push("",`Touches: ${c}`)}d.push("")}}return d.join("\n")}},86548:(a,b,c)=>{c.d(b,{P:()=>e});let d=new Set(["GET","HEAD","OPTIONS"]);function e(a){return d.has(a.trim().toUpperCase())?"read":"write"}},90497:(a,b,c)=>{c.d(b,{u:()=>i});var d=c(61661),e=c(52648),f=c(61639),g=c(62088),h=c(19125);function i(a,b,c={}){let j,k=c.linkDistance??210,l=c.charge??-450,m=c.collideRadius??132,n=c.ticks??500,o=[...a].sort((a,b)=>a.id<b.id?-1:+(a.id>b.id)),p=new Set(o.map(a=>a.id)),q=o.map(a=>({id:a.id})),r=[];for(let a of b)a.fromId!==a.toId&&p.has(a.fromId)&&p.has(a.toId)&&r.push({source:a.fromId,target:a.toId});for(let a of o)a.parentId&&p.has(a.parentId)&&r.push({source:a.id,target:a.parentId});let s=(0,d.A)(q).randomSource((j=0x9e3779b9,()=>{let a=j=j+0x6d2b79f5>>>0;return a=Math.imul(a^a>>>15,1|a),(((a^=a+Math.imul(a^a>>>7,61|a))^a>>>14)>>>0)/0x100000000})).force("link",(0,e.A)(r).id(a=>a.id).distance(k).strength(.6)).force("charge",(0,f.A)().strength(l).distanceMax(1200)).force("collide",(0,g.A)().radius(m).strength(1)).force("center",(0,h.A)(0,0).strength(.08)).stop();for(let a=0;a<n;a++)s.tick();let t=new Map;for(let a of q)t.set(a.id,{x:Math.round(a.x??0),y:Math.round(a.y??0)});return t}}};