trybeacon 0.1.0

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 (994) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +59 -0
  3. package/.next/build/56416d4ae4ce586f.js +6 -0
  4. package/.next/build/56416d4ae4ce586f.js.map +5 -0
  5. package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js +206 -0
  6. package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js.map +8 -0
  7. package/.next/build/chunks/[root-of-the-server]__1f933tp._.js +500 -0
  8. package/.next/build/chunks/[root-of-the-server]__1f933tp._.js.map +11 -0
  9. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js +13 -0
  10. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js.map +5 -0
  11. package/.next/build/chunks/[turbopack]_runtime.js +890 -0
  12. package/.next/build/chunks/[turbopack]_runtime.js.map +11 -0
  13. package/.next/build/chunks/node_modules_20v-8wl._.js +6824 -0
  14. package/.next/build/chunks/node_modules_20v-8wl._.js.map +47 -0
  15. package/.next/build/package.json +1 -0
  16. package/.next/build-manifest.json +21 -0
  17. package/.next/diagnostics/build-diagnostics.json +6 -0
  18. package/.next/diagnostics/framework.json +1 -0
  19. package/.next/diagnostics/route-bundle-stats.json +100 -0
  20. package/.next/export-marker.json +6 -0
  21. package/.next/fallback-build-manifest.json +13 -0
  22. package/.next/images-manifest.json +68 -0
  23. package/.next/next-minimal-server.js.nft.json +1 -0
  24. package/.next/next-server.js.nft.json +1 -0
  25. package/.next/package.json +1 -0
  26. package/.next/prerender-manifest.json +167 -0
  27. package/.next/required-server-files.js +338 -0
  28. package/.next/required-server-files.json +338 -0
  29. package/.next/routes-manifest.json +402 -0
  30. package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  31. package/.next/server/app/_global-error/page/build-manifest.json +17 -0
  32. package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  33. package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  34. package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  35. package/.next/server/app/_global-error/page.js +10 -0
  36. package/.next/server/app/_global-error/page.js.map +5 -0
  37. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  38. package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  39. package/.next/server/app/_global-error.html +1 -0
  40. package/.next/server/app/_global-error.meta +15 -0
  41. package/.next/server/app/_global-error.rsc +14 -0
  42. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  43. package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  44. package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
  45. package/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
  46. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  47. package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  48. package/.next/server/app/_not-found/page/build-manifest.json +17 -0
  49. package/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
  50. package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  51. package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  52. package/.next/server/app/_not-found/page.js +15 -0
  53. package/.next/server/app/_not-found/page.js.map +5 -0
  54. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  55. package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  56. package/.next/server/app/_not-found.html +1 -0
  57. package/.next/server/app/_not-found.meta +16 -0
  58. package/.next/server/app/_not-found.rsc +24 -0
  59. package/.next/server/app/_not-found.segments/_full.segment.rsc +24 -0
  60. package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
  61. package/.next/server/app/_not-found.segments/_index.segment.rsc +13 -0
  62. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  63. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
  64. package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -0
  65. package/.next/server/app/api/code-graph/position/route/app-paths-manifest.json +3 -0
  66. package/.next/server/app/api/code-graph/position/route/build-manifest.json +9 -0
  67. package/.next/server/app/api/code-graph/position/route/server-reference-manifest.json +4 -0
  68. package/.next/server/app/api/code-graph/position/route.js +12 -0
  69. package/.next/server/app/api/code-graph/position/route.js.map +5 -0
  70. package/.next/server/app/api/code-graph/position/route.js.nft.json +1 -0
  71. package/.next/server/app/api/code-graph/position/route_client-reference-manifest.js +3 -0
  72. package/.next/server/app/api/code-graph/route/app-paths-manifest.json +3 -0
  73. package/.next/server/app/api/code-graph/route/build-manifest.json +9 -0
  74. package/.next/server/app/api/code-graph/route/server-reference-manifest.json +4 -0
  75. package/.next/server/app/api/code-graph/route.js +12 -0
  76. package/.next/server/app/api/code-graph/route.js.map +5 -0
  77. package/.next/server/app/api/code-graph/route.js.nft.json +1 -0
  78. package/.next/server/app/api/code-graph/route_client-reference-manifest.js +3 -0
  79. package/.next/server/app/api/context/embed-backfill/route/app-paths-manifest.json +3 -0
  80. package/.next/server/app/api/context/embed-backfill/route/build-manifest.json +9 -0
  81. package/.next/server/app/api/context/embed-backfill/route/server-reference-manifest.json +4 -0
  82. package/.next/server/app/api/context/embed-backfill/route.js +11 -0
  83. package/.next/server/app/api/context/embed-backfill/route.js.map +5 -0
  84. package/.next/server/app/api/context/embed-backfill/route.js.nft.json +1 -0
  85. package/.next/server/app/api/context/embed-backfill/route_client-reference-manifest.js +3 -0
  86. package/.next/server/app/api/context/feature/route/app-paths-manifest.json +3 -0
  87. package/.next/server/app/api/context/feature/route/build-manifest.json +9 -0
  88. package/.next/server/app/api/context/feature/route/server-reference-manifest.json +4 -0
  89. package/.next/server/app/api/context/feature/route.js +15 -0
  90. package/.next/server/app/api/context/feature/route.js.map +5 -0
  91. package/.next/server/app/api/context/feature/route.js.nft.json +1 -0
  92. package/.next/server/app/api/context/feature/route_client-reference-manifest.js +3 -0
  93. package/.next/server/app/api/context/file/route/app-paths-manifest.json +3 -0
  94. package/.next/server/app/api/context/file/route/build-manifest.json +9 -0
  95. package/.next/server/app/api/context/file/route/server-reference-manifest.json +4 -0
  96. package/.next/server/app/api/context/file/route.js +13 -0
  97. package/.next/server/app/api/context/file/route.js.map +5 -0
  98. package/.next/server/app/api/context/file/route.js.nft.json +1 -0
  99. package/.next/server/app/api/context/file/route_client-reference-manifest.js +3 -0
  100. package/.next/server/app/api/context/route/app-paths-manifest.json +3 -0
  101. package/.next/server/app/api/context/route/build-manifest.json +9 -0
  102. package/.next/server/app/api/context/route/server-reference-manifest.json +4 -0
  103. package/.next/server/app/api/context/route.js +11 -0
  104. package/.next/server/app/api/context/route.js.map +5 -0
  105. package/.next/server/app/api/context/route.js.nft.json +1 -0
  106. package/.next/server/app/api/context/route_client-reference-manifest.js +3 -0
  107. package/.next/server/app/api/db/backfill-access/route/app-paths-manifest.json +3 -0
  108. package/.next/server/app/api/db/backfill-access/route/build-manifest.json +9 -0
  109. package/.next/server/app/api/db/backfill-access/route/server-reference-manifest.json +4 -0
  110. package/.next/server/app/api/db/backfill-access/route.js +13 -0
  111. package/.next/server/app/api/db/backfill-access/route.js.map +5 -0
  112. package/.next/server/app/api/db/backfill-access/route.js.nft.json +1 -0
  113. package/.next/server/app/api/db/backfill-access/route_client-reference-manifest.js +3 -0
  114. package/.next/server/app/api/db/position/route/app-paths-manifest.json +3 -0
  115. package/.next/server/app/api/db/position/route/build-manifest.json +9 -0
  116. package/.next/server/app/api/db/position/route/server-reference-manifest.json +4 -0
  117. package/.next/server/app/api/db/position/route.js +15 -0
  118. package/.next/server/app/api/db/position/route.js.map +5 -0
  119. package/.next/server/app/api/db/position/route.js.nft.json +1 -0
  120. package/.next/server/app/api/db/position/route_client-reference-manifest.js +3 -0
  121. package/.next/server/app/api/db/reconcile-endpoints/route/app-paths-manifest.json +3 -0
  122. package/.next/server/app/api/db/reconcile-endpoints/route/build-manifest.json +9 -0
  123. package/.next/server/app/api/db/reconcile-endpoints/route/server-reference-manifest.json +4 -0
  124. package/.next/server/app/api/db/reconcile-endpoints/route.js +12 -0
  125. package/.next/server/app/api/db/reconcile-endpoints/route.js.map +5 -0
  126. package/.next/server/app/api/db/reconcile-endpoints/route.js.nft.json +1 -0
  127. package/.next/server/app/api/db/reconcile-endpoints/route_client-reference-manifest.js +3 -0
  128. package/.next/server/app/api/db/relations/[id]/route/app-paths-manifest.json +3 -0
  129. package/.next/server/app/api/db/relations/[id]/route/build-manifest.json +9 -0
  130. package/.next/server/app/api/db/relations/[id]/route/server-reference-manifest.json +4 -0
  131. package/.next/server/app/api/db/relations/[id]/route.js +12 -0
  132. package/.next/server/app/api/db/relations/[id]/route.js.map +5 -0
  133. package/.next/server/app/api/db/relations/[id]/route.js.nft.json +1 -0
  134. package/.next/server/app/api/db/relations/[id]/route_client-reference-manifest.js +3 -0
  135. package/.next/server/app/api/db/tables/[id]/route/app-paths-manifest.json +3 -0
  136. package/.next/server/app/api/db/tables/[id]/route/build-manifest.json +9 -0
  137. package/.next/server/app/api/db/tables/[id]/route/server-reference-manifest.json +4 -0
  138. package/.next/server/app/api/db/tables/[id]/route.js +12 -0
  139. package/.next/server/app/api/db/tables/[id]/route.js.map +5 -0
  140. package/.next/server/app/api/db/tables/[id]/route.js.nft.json +1 -0
  141. package/.next/server/app/api/db/tables/[id]/route_client-reference-manifest.js +3 -0
  142. package/.next/server/app/api/draft/approve/route/app-paths-manifest.json +3 -0
  143. package/.next/server/app/api/draft/approve/route/build-manifest.json +9 -0
  144. package/.next/server/app/api/draft/approve/route/server-reference-manifest.json +4 -0
  145. package/.next/server/app/api/draft/approve/route.js +16 -0
  146. package/.next/server/app/api/draft/approve/route.js.map +5 -0
  147. package/.next/server/app/api/draft/approve/route.js.nft.json +1 -0
  148. package/.next/server/app/api/draft/approve/route_client-reference-manifest.js +3 -0
  149. package/.next/server/app/api/draft/route/app-paths-manifest.json +3 -0
  150. package/.next/server/app/api/draft/route/build-manifest.json +9 -0
  151. package/.next/server/app/api/draft/route/server-reference-manifest.json +4 -0
  152. package/.next/server/app/api/draft/route.js +16 -0
  153. package/.next/server/app/api/draft/route.js.map +5 -0
  154. package/.next/server/app/api/draft/route.js.nft.json +1 -0
  155. package/.next/server/app/api/draft/route_client-reference-manifest.js +3 -0
  156. package/.next/server/app/api/draft/status/route/app-paths-manifest.json +3 -0
  157. package/.next/server/app/api/draft/status/route/build-manifest.json +9 -0
  158. package/.next/server/app/api/draft/status/route/server-reference-manifest.json +4 -0
  159. package/.next/server/app/api/draft/status/route.js +13 -0
  160. package/.next/server/app/api/draft/status/route.js.map +5 -0
  161. package/.next/server/app/api/draft/status/route.js.nft.json +1 -0
  162. package/.next/server/app/api/draft/status/route_client-reference-manifest.js +3 -0
  163. package/.next/server/app/api/edges/[id]/route/app-paths-manifest.json +3 -0
  164. package/.next/server/app/api/edges/[id]/route/build-manifest.json +9 -0
  165. package/.next/server/app/api/edges/[id]/route/server-reference-manifest.json +4 -0
  166. package/.next/server/app/api/edges/[id]/route.js +11 -0
  167. package/.next/server/app/api/edges/[id]/route.js.map +5 -0
  168. package/.next/server/app/api/edges/[id]/route.js.nft.json +1 -0
  169. package/.next/server/app/api/edges/[id]/route_client-reference-manifest.js +3 -0
  170. package/.next/server/app/api/edges/route/app-paths-manifest.json +3 -0
  171. package/.next/server/app/api/edges/route/build-manifest.json +9 -0
  172. package/.next/server/app/api/edges/route/server-reference-manifest.json +4 -0
  173. package/.next/server/app/api/edges/route.js +15 -0
  174. package/.next/server/app/api/edges/route.js.map +5 -0
  175. package/.next/server/app/api/edges/route.js.nft.json +1 -0
  176. package/.next/server/app/api/edges/route_client-reference-manifest.js +3 -0
  177. package/.next/server/app/api/endpoints/[id]/route/app-paths-manifest.json +3 -0
  178. package/.next/server/app/api/endpoints/[id]/route/build-manifest.json +9 -0
  179. package/.next/server/app/api/endpoints/[id]/route/server-reference-manifest.json +4 -0
  180. package/.next/server/app/api/endpoints/[id]/route.js +12 -0
  181. package/.next/server/app/api/endpoints/[id]/route.js.map +5 -0
  182. package/.next/server/app/api/endpoints/[id]/route.js.nft.json +1 -0
  183. package/.next/server/app/api/endpoints/[id]/route_client-reference-manifest.js +3 -0
  184. package/.next/server/app/api/entities/route/app-paths-manifest.json +3 -0
  185. package/.next/server/app/api/entities/route/build-manifest.json +9 -0
  186. package/.next/server/app/api/entities/route/server-reference-manifest.json +4 -0
  187. package/.next/server/app/api/entities/route.js +11 -0
  188. package/.next/server/app/api/entities/route.js.map +5 -0
  189. package/.next/server/app/api/entities/route.js.nft.json +1 -0
  190. package/.next/server/app/api/entities/route_client-reference-manifest.js +3 -0
  191. package/.next/server/app/api/ingest/route/app-paths-manifest.json +3 -0
  192. package/.next/server/app/api/ingest/route/build-manifest.json +9 -0
  193. package/.next/server/app/api/ingest/route/server-reference-manifest.json +4 -0
  194. package/.next/server/app/api/ingest/route.js +12 -0
  195. package/.next/server/app/api/ingest/route.js.map +5 -0
  196. package/.next/server/app/api/ingest/route.js.nft.json +1 -0
  197. package/.next/server/app/api/ingest/route_client-reference-manifest.js +3 -0
  198. package/.next/server/app/api/init/route/app-paths-manifest.json +3 -0
  199. package/.next/server/app/api/init/route/build-manifest.json +9 -0
  200. package/.next/server/app/api/init/route/server-reference-manifest.json +4 -0
  201. package/.next/server/app/api/init/route.js +15 -0
  202. package/.next/server/app/api/init/route.js.map +5 -0
  203. package/.next/server/app/api/init/route.js.nft.json +1 -0
  204. package/.next/server/app/api/init/route_client-reference-manifest.js +3 -0
  205. package/.next/server/app/api/map/describe/route/app-paths-manifest.json +3 -0
  206. package/.next/server/app/api/map/describe/route/build-manifest.json +9 -0
  207. package/.next/server/app/api/map/describe/route/server-reference-manifest.json +4 -0
  208. package/.next/server/app/api/map/describe/route.js +15 -0
  209. package/.next/server/app/api/map/describe/route.js.map +5 -0
  210. package/.next/server/app/api/map/describe/route.js.nft.json +1 -0
  211. package/.next/server/app/api/map/describe/route_client-reference-manifest.js +3 -0
  212. package/.next/server/app/api/map/files/route/app-paths-manifest.json +3 -0
  213. package/.next/server/app/api/map/files/route/build-manifest.json +9 -0
  214. package/.next/server/app/api/map/files/route/server-reference-manifest.json +4 -0
  215. package/.next/server/app/api/map/files/route.js +15 -0
  216. package/.next/server/app/api/map/files/route.js.map +5 -0
  217. package/.next/server/app/api/map/files/route.js.nft.json +1 -0
  218. package/.next/server/app/api/map/files/route_client-reference-manifest.js +3 -0
  219. package/.next/server/app/api/map/finish/route/app-paths-manifest.json +3 -0
  220. package/.next/server/app/api/map/finish/route/build-manifest.json +9 -0
  221. package/.next/server/app/api/map/finish/route/server-reference-manifest.json +4 -0
  222. package/.next/server/app/api/map/finish/route.js +15 -0
  223. package/.next/server/app/api/map/finish/route.js.map +5 -0
  224. package/.next/server/app/api/map/finish/route.js.nft.json +1 -0
  225. package/.next/server/app/api/map/finish/route_client-reference-manifest.js +3 -0
  226. package/.next/server/app/api/map/route/app-paths-manifest.json +3 -0
  227. package/.next/server/app/api/map/route/build-manifest.json +9 -0
  228. package/.next/server/app/api/map/route/server-reference-manifest.json +4 -0
  229. package/.next/server/app/api/map/route.js +15 -0
  230. package/.next/server/app/api/map/route.js.map +5 -0
  231. package/.next/server/app/api/map/route.js.nft.json +1 -0
  232. package/.next/server/app/api/map/route_client-reference-manifest.js +3 -0
  233. package/.next/server/app/api/map/start/route/app-paths-manifest.json +3 -0
  234. package/.next/server/app/api/map/start/route/build-manifest.json +9 -0
  235. package/.next/server/app/api/map/start/route/server-reference-manifest.json +4 -0
  236. package/.next/server/app/api/map/start/route.js +15 -0
  237. package/.next/server/app/api/map/start/route.js.map +5 -0
  238. package/.next/server/app/api/map/start/route.js.nft.json +1 -0
  239. package/.next/server/app/api/map/start/route_client-reference-manifest.js +3 -0
  240. package/.next/server/app/api/map/touch-active/route/app-paths-manifest.json +3 -0
  241. package/.next/server/app/api/map/touch-active/route/build-manifest.json +9 -0
  242. package/.next/server/app/api/map/touch-active/route/server-reference-manifest.json +4 -0
  243. package/.next/server/app/api/map/touch-active/route.js +15 -0
  244. package/.next/server/app/api/map/touch-active/route.js.map +5 -0
  245. package/.next/server/app/api/map/touch-active/route.js.nft.json +1 -0
  246. package/.next/server/app/api/map/touch-active/route_client-reference-manifest.js +3 -0
  247. package/.next/server/app/api/nodes/[id]/position/route/app-paths-manifest.json +3 -0
  248. package/.next/server/app/api/nodes/[id]/position/route/build-manifest.json +9 -0
  249. package/.next/server/app/api/nodes/[id]/position/route/server-reference-manifest.json +4 -0
  250. package/.next/server/app/api/nodes/[id]/position/route.js +15 -0
  251. package/.next/server/app/api/nodes/[id]/position/route.js.map +5 -0
  252. package/.next/server/app/api/nodes/[id]/position/route.js.nft.json +1 -0
  253. package/.next/server/app/api/nodes/[id]/position/route_client-reference-manifest.js +3 -0
  254. package/.next/server/app/api/nodes/[id]/route/app-paths-manifest.json +3 -0
  255. package/.next/server/app/api/nodes/[id]/route/build-manifest.json +9 -0
  256. package/.next/server/app/api/nodes/[id]/route/server-reference-manifest.json +4 -0
  257. package/.next/server/app/api/nodes/[id]/route.js +15 -0
  258. package/.next/server/app/api/nodes/[id]/route.js.map +5 -0
  259. package/.next/server/app/api/nodes/[id]/route.js.nft.json +1 -0
  260. package/.next/server/app/api/nodes/[id]/route_client-reference-manifest.js +3 -0
  261. package/.next/server/app/api/nodes/positions/route/app-paths-manifest.json +3 -0
  262. package/.next/server/app/api/nodes/positions/route/build-manifest.json +9 -0
  263. package/.next/server/app/api/nodes/positions/route/server-reference-manifest.json +4 -0
  264. package/.next/server/app/api/nodes/positions/route.js +15 -0
  265. package/.next/server/app/api/nodes/positions/route.js.map +5 -0
  266. package/.next/server/app/api/nodes/positions/route.js.nft.json +1 -0
  267. package/.next/server/app/api/nodes/positions/route_client-reference-manifest.js +3 -0
  268. package/.next/server/app/api/nodes/route/app-paths-manifest.json +3 -0
  269. package/.next/server/app/api/nodes/route/build-manifest.json +9 -0
  270. package/.next/server/app/api/nodes/route/server-reference-manifest.json +4 -0
  271. package/.next/server/app/api/nodes/route.js +15 -0
  272. package/.next/server/app/api/nodes/route.js.map +5 -0
  273. package/.next/server/app/api/nodes/route.js.nft.json +1 -0
  274. package/.next/server/app/api/nodes/route_client-reference-manifest.js +3 -0
  275. package/.next/server/app/api/nodes/subtasks/route/app-paths-manifest.json +3 -0
  276. package/.next/server/app/api/nodes/subtasks/route/build-manifest.json +9 -0
  277. package/.next/server/app/api/nodes/subtasks/route/server-reference-manifest.json +4 -0
  278. package/.next/server/app/api/nodes/subtasks/route.js +15 -0
  279. package/.next/server/app/api/nodes/subtasks/route.js.map +5 -0
  280. package/.next/server/app/api/nodes/subtasks/route.js.nft.json +1 -0
  281. package/.next/server/app/api/nodes/subtasks/route_client-reference-manifest.js +3 -0
  282. package/.next/server/app/api/notes/[id]/route/app-paths-manifest.json +3 -0
  283. package/.next/server/app/api/notes/[id]/route/build-manifest.json +9 -0
  284. package/.next/server/app/api/notes/[id]/route/server-reference-manifest.json +4 -0
  285. package/.next/server/app/api/notes/[id]/route.js +12 -0
  286. package/.next/server/app/api/notes/[id]/route.js.map +5 -0
  287. package/.next/server/app/api/notes/[id]/route.js.nft.json +1 -0
  288. package/.next/server/app/api/notes/[id]/route_client-reference-manifest.js +3 -0
  289. package/.next/server/app/api/notes/route/app-paths-manifest.json +3 -0
  290. package/.next/server/app/api/notes/route/build-manifest.json +9 -0
  291. package/.next/server/app/api/notes/route/server-reference-manifest.json +4 -0
  292. package/.next/server/app/api/notes/route.js +12 -0
  293. package/.next/server/app/api/notes/route.js.map +5 -0
  294. package/.next/server/app/api/notes/route.js.nft.json +1 -0
  295. package/.next/server/app/api/notes/route_client-reference-manifest.js +3 -0
  296. package/.next/server/app/api/open/route/app-paths-manifest.json +3 -0
  297. package/.next/server/app/api/open/route/build-manifest.json +9 -0
  298. package/.next/server/app/api/open/route/server-reference-manifest.json +4 -0
  299. package/.next/server/app/api/open/route.js +11 -0
  300. package/.next/server/app/api/open/route.js.map +5 -0
  301. package/.next/server/app/api/open/route.js.nft.json +1 -0
  302. package/.next/server/app/api/open/route_client-reference-manifest.js +3 -0
  303. package/.next/server/app/api/plan/annotations/route/app-paths-manifest.json +3 -0
  304. package/.next/server/app/api/plan/annotations/route/build-manifest.json +9 -0
  305. package/.next/server/app/api/plan/annotations/route/server-reference-manifest.json +4 -0
  306. package/.next/server/app/api/plan/annotations/route.js +15 -0
  307. package/.next/server/app/api/plan/annotations/route.js.map +5 -0
  308. package/.next/server/app/api/plan/annotations/route.js.nft.json +1 -0
  309. package/.next/server/app/api/plan/annotations/route_client-reference-manifest.js +3 -0
  310. package/.next/server/app/api/plan/approve/route/app-paths-manifest.json +3 -0
  311. package/.next/server/app/api/plan/approve/route/build-manifest.json +9 -0
  312. package/.next/server/app/api/plan/approve/route/server-reference-manifest.json +4 -0
  313. package/.next/server/app/api/plan/approve/route.js +16 -0
  314. package/.next/server/app/api/plan/approve/route.js.map +5 -0
  315. package/.next/server/app/api/plan/approve/route.js.nft.json +1 -0
  316. package/.next/server/app/api/plan/approve/route_client-reference-manifest.js +3 -0
  317. package/.next/server/app/api/plan/history/route/app-paths-manifest.json +3 -0
  318. package/.next/server/app/api/plan/history/route/build-manifest.json +9 -0
  319. package/.next/server/app/api/plan/history/route/server-reference-manifest.json +4 -0
  320. package/.next/server/app/api/plan/history/route.js +11 -0
  321. package/.next/server/app/api/plan/history/route.js.map +5 -0
  322. package/.next/server/app/api/plan/history/route.js.nft.json +1 -0
  323. package/.next/server/app/api/plan/history/route_client-reference-manifest.js +3 -0
  324. package/.next/server/app/api/plan/markdown/route/app-paths-manifest.json +3 -0
  325. package/.next/server/app/api/plan/markdown/route/build-manifest.json +9 -0
  326. package/.next/server/app/api/plan/markdown/route/server-reference-manifest.json +4 -0
  327. package/.next/server/app/api/plan/markdown/route.js +16 -0
  328. package/.next/server/app/api/plan/markdown/route.js.map +5 -0
  329. package/.next/server/app/api/plan/markdown/route.js.nft.json +1 -0
  330. package/.next/server/app/api/plan/markdown/route_client-reference-manifest.js +3 -0
  331. package/.next/server/app/api/plan/presence/route/app-paths-manifest.json +3 -0
  332. package/.next/server/app/api/plan/presence/route/build-manifest.json +9 -0
  333. package/.next/server/app/api/plan/presence/route/server-reference-manifest.json +4 -0
  334. package/.next/server/app/api/plan/presence/route.js +11 -0
  335. package/.next/server/app/api/plan/presence/route.js.map +5 -0
  336. package/.next/server/app/api/plan/presence/route.js.nft.json +1 -0
  337. package/.next/server/app/api/plan/presence/route_client-reference-manifest.js +3 -0
  338. package/.next/server/app/api/plan/route/app-paths-manifest.json +3 -0
  339. package/.next/server/app/api/plan/route/build-manifest.json +9 -0
  340. package/.next/server/app/api/plan/route/server-reference-manifest.json +4 -0
  341. package/.next/server/app/api/plan/route.js +16 -0
  342. package/.next/server/app/api/plan/route.js.map +5 -0
  343. package/.next/server/app/api/plan/route.js.nft.json +1 -0
  344. package/.next/server/app/api/plan/route_client-reference-manifest.js +3 -0
  345. package/.next/server/app/api/plan/verdict/route/app-paths-manifest.json +3 -0
  346. package/.next/server/app/api/plan/verdict/route/build-manifest.json +9 -0
  347. package/.next/server/app/api/plan/verdict/route/server-reference-manifest.json +4 -0
  348. package/.next/server/app/api/plan/verdict/route.js +16 -0
  349. package/.next/server/app/api/plan/verdict/route.js.map +5 -0
  350. package/.next/server/app/api/plan/verdict/route.js.nft.json +1 -0
  351. package/.next/server/app/api/plan/verdict/route_client-reference-manifest.js +3 -0
  352. package/.next/server/app/api/preferences/route/app-paths-manifest.json +3 -0
  353. package/.next/server/app/api/preferences/route/build-manifest.json +9 -0
  354. package/.next/server/app/api/preferences/route/server-reference-manifest.json +4 -0
  355. package/.next/server/app/api/preferences/route.js +7 -0
  356. package/.next/server/app/api/preferences/route.js.map +5 -0
  357. package/.next/server/app/api/preferences/route.js.nft.json +1 -0
  358. package/.next/server/app/api/preferences/route_client-reference-manifest.js +3 -0
  359. package/.next/server/app/api/reset/route/app-paths-manifest.json +3 -0
  360. package/.next/server/app/api/reset/route/build-manifest.json +9 -0
  361. package/.next/server/app/api/reset/route/server-reference-manifest.json +4 -0
  362. package/.next/server/app/api/reset/route.js +13 -0
  363. package/.next/server/app/api/reset/route.js.map +5 -0
  364. package/.next/server/app/api/reset/route.js.nft.json +1 -0
  365. package/.next/server/app/api/reset/route_client-reference-manifest.js +3 -0
  366. package/.next/server/app/api/settings/route/app-paths-manifest.json +3 -0
  367. package/.next/server/app/api/settings/route/build-manifest.json +9 -0
  368. package/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
  369. package/.next/server/app/api/settings/route.js +11 -0
  370. package/.next/server/app/api/settings/route.js.map +5 -0
  371. package/.next/server/app/api/settings/route.js.nft.json +1 -0
  372. package/.next/server/app/api/settings/route_client-reference-manifest.js +3 -0
  373. package/.next/server/app/api/stream/route/app-paths-manifest.json +3 -0
  374. package/.next/server/app/api/stream/route/build-manifest.json +9 -0
  375. package/.next/server/app/api/stream/route/server-reference-manifest.json +4 -0
  376. package/.next/server/app/api/stream/route.js +12 -0
  377. package/.next/server/app/api/stream/route.js.map +5 -0
  378. package/.next/server/app/api/stream/route.js.nft.json +1 -0
  379. package/.next/server/app/api/stream/route_client-reference-manifest.js +3 -0
  380. package/.next/server/app/api/version/route/app-paths-manifest.json +3 -0
  381. package/.next/server/app/api/version/route/build-manifest.json +9 -0
  382. package/.next/server/app/api/version/route/server-reference-manifest.json +4 -0
  383. package/.next/server/app/api/version/route.js +12 -0
  384. package/.next/server/app/api/version/route.js.map +5 -0
  385. package/.next/server/app/api/version/route.js.nft.json +1 -0
  386. package/.next/server/app/api/version/route_client-reference-manifest.js +3 -0
  387. package/.next/server/app/api/workspace/activate/route/app-paths-manifest.json +3 -0
  388. package/.next/server/app/api/workspace/activate/route/build-manifest.json +9 -0
  389. package/.next/server/app/api/workspace/activate/route/server-reference-manifest.json +4 -0
  390. package/.next/server/app/api/workspace/activate/route.js +14 -0
  391. package/.next/server/app/api/workspace/activate/route.js.map +5 -0
  392. package/.next/server/app/api/workspace/activate/route.js.nft.json +1 -0
  393. package/.next/server/app/api/workspace/activate/route_client-reference-manifest.js +3 -0
  394. package/.next/server/app/api/workspace/route/app-paths-manifest.json +3 -0
  395. package/.next/server/app/api/workspace/route/build-manifest.json +9 -0
  396. package/.next/server/app/api/workspace/route/server-reference-manifest.json +4 -0
  397. package/.next/server/app/api/workspace/route.js +11 -0
  398. package/.next/server/app/api/workspace/route.js.map +5 -0
  399. package/.next/server/app/api/workspace/route.js.nft.json +1 -0
  400. package/.next/server/app/api/workspace/route_client-reference-manifest.js +3 -0
  401. package/.next/server/app/apple-icon.png/route/app-paths-manifest.json +3 -0
  402. package/.next/server/app/apple-icon.png/route/build-manifest.json +9 -0
  403. package/.next/server/app/apple-icon.png/route.js +8 -0
  404. package/.next/server/app/apple-icon.png/route.js.map +5 -0
  405. package/.next/server/app/apple-icon.png/route.js.nft.json +1 -0
  406. package/.next/server/app/apple-icon.png.body +0 -0
  407. package/.next/server/app/apple-icon.png.meta +1 -0
  408. package/.next/server/app/help/page/app-paths-manifest.json +3 -0
  409. package/.next/server/app/help/page/build-manifest.json +17 -0
  410. package/.next/server/app/help/page/next-font-manifest.json +11 -0
  411. package/.next/server/app/help/page/react-loadable-manifest.json +1 -0
  412. package/.next/server/app/help/page/server-reference-manifest.json +4 -0
  413. package/.next/server/app/help/page.js +16 -0
  414. package/.next/server/app/help/page.js.map +5 -0
  415. package/.next/server/app/help/page.js.nft.json +1 -0
  416. package/.next/server/app/help/page_client-reference-manifest.js +3 -0
  417. package/.next/server/app/help.html +1 -0
  418. package/.next/server/app/help.meta +15 -0
  419. package/.next/server/app/help.rsc +36 -0
  420. package/.next/server/app/help.segments/_full.segment.rsc +36 -0
  421. package/.next/server/app/help.segments/_head.segment.rsc +6 -0
  422. package/.next/server/app/help.segments/_index.segment.rsc +13 -0
  423. package/.next/server/app/help.segments/_tree.segment.rsc +5 -0
  424. package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +17 -0
  425. package/.next/server/app/help.segments/help.segment.rsc +5 -0
  426. package/.next/server/app/icon.svg/route/app-paths-manifest.json +3 -0
  427. package/.next/server/app/icon.svg/route/build-manifest.json +9 -0
  428. package/.next/server/app/icon.svg/route.js +7 -0
  429. package/.next/server/app/icon.svg/route.js.map +5 -0
  430. package/.next/server/app/icon.svg/route.js.nft.json +1 -0
  431. package/.next/server/app/icon.svg.body +4 -0
  432. package/.next/server/app/icon.svg.meta +1 -0
  433. package/.next/server/app/index.html +1 -0
  434. package/.next/server/app/index.meta +14 -0
  435. package/.next/server/app/index.rsc +26 -0
  436. package/.next/server/app/index.segments/__PAGE__.segment.rsc +7 -0
  437. package/.next/server/app/index.segments/_full.segment.rsc +26 -0
  438. package/.next/server/app/index.segments/_head.segment.rsc +6 -0
  439. package/.next/server/app/index.segments/_index.segment.rsc +13 -0
  440. package/.next/server/app/index.segments/_tree.segment.rsc +6 -0
  441. package/.next/server/app/map/page/app-paths-manifest.json +3 -0
  442. package/.next/server/app/map/page/build-manifest.json +17 -0
  443. package/.next/server/app/map/page/next-font-manifest.json +11 -0
  444. package/.next/server/app/map/page/react-loadable-manifest.json +1 -0
  445. package/.next/server/app/map/page/server-reference-manifest.json +89 -0
  446. package/.next/server/app/map/page.js +25 -0
  447. package/.next/server/app/map/page.js.map +5 -0
  448. package/.next/server/app/map/page.js.nft.json +1 -0
  449. package/.next/server/app/map/page_client-reference-manifest.js +3 -0
  450. package/.next/server/app/page/app-paths-manifest.json +3 -0
  451. package/.next/server/app/page/build-manifest.json +17 -0
  452. package/.next/server/app/page/next-font-manifest.json +11 -0
  453. package/.next/server/app/page/react-loadable-manifest.json +1 -0
  454. package/.next/server/app/page/server-reference-manifest.json +4 -0
  455. package/.next/server/app/page.js +16 -0
  456. package/.next/server/app/page.js.map +5 -0
  457. package/.next/server/app/page.js.nft.json +1 -0
  458. package/.next/server/app/page_client-reference-manifest.js +3 -0
  459. package/.next/server/app/plan/page/app-paths-manifest.json +3 -0
  460. package/.next/server/app/plan/page/build-manifest.json +17 -0
  461. package/.next/server/app/plan/page/next-font-manifest.json +11 -0
  462. package/.next/server/app/plan/page/react-loadable-manifest.json +1 -0
  463. package/.next/server/app/plan/page/server-reference-manifest.json +89 -0
  464. package/.next/server/app/plan/page.js +26 -0
  465. package/.next/server/app/plan/page.js.map +5 -0
  466. package/.next/server/app/plan/page.js.nft.json +1 -0
  467. package/.next/server/app/plan/page_client-reference-manifest.js +3 -0
  468. package/.next/server/app/settings/page/app-paths-manifest.json +3 -0
  469. package/.next/server/app/settings/page/build-manifest.json +17 -0
  470. package/.next/server/app/settings/page/next-font-manifest.json +11 -0
  471. package/.next/server/app/settings/page/react-loadable-manifest.json +1 -0
  472. package/.next/server/app/settings/page/server-reference-manifest.json +4 -0
  473. package/.next/server/app/settings/page.js +17 -0
  474. package/.next/server/app/settings/page.js.map +5 -0
  475. package/.next/server/app/settings/page.js.nft.json +1 -0
  476. package/.next/server/app/settings/page_client-reference-manifest.js +3 -0
  477. package/.next/server/app-paths-manifest.json +59 -0
  478. package/.next/server/chunks/[externals]_@huggingface_transformers_05bd-zz._.js +3 -0
  479. package/.next/server/chunks/[externals]_@huggingface_transformers_05bd-zz._.js.map +1 -0
  480. package/.next/server/chunks/[externals]__1m_jh08._.js +3 -0
  481. package/.next/server/chunks/[externals]__1m_jh08._.js.map +1 -0
  482. package/.next/server/chunks/[externals]_next_dist_1081pat._.js +3 -0
  483. package/.next/server/chunks/[externals]_next_dist_1081pat._.js.map +1 -0
  484. package/.next/server/chunks/[root-of-the-server]__0--8e0y._.js +3 -0
  485. package/.next/server/chunks/[root-of-the-server]__0--8e0y._.js.map +1 -0
  486. package/.next/server/chunks/[root-of-the-server]__0-68r22._.js +3 -0
  487. package/.next/server/chunks/[root-of-the-server]__0-68r22._.js.map +1 -0
  488. package/.next/server/chunks/[root-of-the-server]__008acf8._.js +3 -0
  489. package/.next/server/chunks/[root-of-the-server]__008acf8._.js.map +1 -0
  490. package/.next/server/chunks/[root-of-the-server]__00rostp._.js +3 -0
  491. package/.next/server/chunks/[root-of-the-server]__00rostp._.js.map +1 -0
  492. package/.next/server/chunks/[root-of-the-server]__04deymo._.js +3 -0
  493. package/.next/server/chunks/[root-of-the-server]__04deymo._.js.map +1 -0
  494. package/.next/server/chunks/[root-of-the-server]__05_ckr9._.js +3 -0
  495. package/.next/server/chunks/[root-of-the-server]__05_ckr9._.js.map +1 -0
  496. package/.next/server/chunks/[root-of-the-server]__08b769e._.js +3 -0
  497. package/.next/server/chunks/[root-of-the-server]__08b769e._.js.map +1 -0
  498. package/.next/server/chunks/[root-of-the-server]__0935gge._.js +3 -0
  499. package/.next/server/chunks/[root-of-the-server]__0935gge._.js.map +1 -0
  500. package/.next/server/chunks/[root-of-the-server]__0b04f4n._.js +3 -0
  501. package/.next/server/chunks/[root-of-the-server]__0b04f4n._.js.map +1 -0
  502. package/.next/server/chunks/[root-of-the-server]__0bule95._.js +11 -0
  503. package/.next/server/chunks/[root-of-the-server]__0bule95._.js.map +1 -0
  504. package/.next/server/chunks/[root-of-the-server]__0dgnobj._.js +3 -0
  505. package/.next/server/chunks/[root-of-the-server]__0dgnobj._.js.map +1 -0
  506. package/.next/server/chunks/[root-of-the-server]__0fnoun8._.js +3 -0
  507. package/.next/server/chunks/[root-of-the-server]__0fnoun8._.js.map +1 -0
  508. package/.next/server/chunks/[root-of-the-server]__0gcvcx_._.js +3 -0
  509. package/.next/server/chunks/[root-of-the-server]__0gcvcx_._.js.map +1 -0
  510. package/.next/server/chunks/[root-of-the-server]__0gnu9c5._.js +11 -0
  511. package/.next/server/chunks/[root-of-the-server]__0gnu9c5._.js.map +1 -0
  512. package/.next/server/chunks/[root-of-the-server]__0imrhoi._.js +3 -0
  513. package/.next/server/chunks/[root-of-the-server]__0imrhoi._.js.map +1 -0
  514. package/.next/server/chunks/[root-of-the-server]__0iq9oau._.js +3 -0
  515. package/.next/server/chunks/[root-of-the-server]__0iq9oau._.js.map +1 -0
  516. package/.next/server/chunks/[root-of-the-server]__0k_e0ex._.js +3 -0
  517. package/.next/server/chunks/[root-of-the-server]__0k_e0ex._.js.map +1 -0
  518. package/.next/server/chunks/[root-of-the-server]__0kj4pte._.js +3 -0
  519. package/.next/server/chunks/[root-of-the-server]__0kj4pte._.js.map +1 -0
  520. package/.next/server/chunks/[root-of-the-server]__0muvnnv._.js +11 -0
  521. package/.next/server/chunks/[root-of-the-server]__0muvnnv._.js.map +1 -0
  522. package/.next/server/chunks/[root-of-the-server]__0olqs85._.js +3 -0
  523. package/.next/server/chunks/[root-of-the-server]__0olqs85._.js.map +1 -0
  524. package/.next/server/chunks/[root-of-the-server]__0r4ba8s._.js +3 -0
  525. package/.next/server/chunks/[root-of-the-server]__0r4ba8s._.js.map +1 -0
  526. package/.next/server/chunks/[root-of-the-server]__0sb_5m8._.js +20 -0
  527. package/.next/server/chunks/[root-of-the-server]__0sb_5m8._.js.map +1 -0
  528. package/.next/server/chunks/[root-of-the-server]__0y6kb2t._.js +3 -0
  529. package/.next/server/chunks/[root-of-the-server]__0y6kb2t._.js.map +1 -0
  530. package/.next/server/chunks/[root-of-the-server]__0zfwiuh._.js +11 -0
  531. package/.next/server/chunks/[root-of-the-server]__0zfwiuh._.js.map +1 -0
  532. package/.next/server/chunks/[root-of-the-server]__11037f1._.js +3 -0
  533. package/.next/server/chunks/[root-of-the-server]__11037f1._.js.map +1 -0
  534. package/.next/server/chunks/[root-of-the-server]__1197yfd._.js +3 -0
  535. package/.next/server/chunks/[root-of-the-server]__1197yfd._.js.map +1 -0
  536. package/.next/server/chunks/[root-of-the-server]__138pbmp._.js +3 -0
  537. package/.next/server/chunks/[root-of-the-server]__138pbmp._.js.map +1 -0
  538. package/.next/server/chunks/[root-of-the-server]__166th-t._.js +3 -0
  539. package/.next/server/chunks/[root-of-the-server]__166th-t._.js.map +1 -0
  540. package/.next/server/chunks/[root-of-the-server]__190_wb7._.js +3 -0
  541. package/.next/server/chunks/[root-of-the-server]__190_wb7._.js.map +1 -0
  542. package/.next/server/chunks/[root-of-the-server]__190zu98._.js +3 -0
  543. package/.next/server/chunks/[root-of-the-server]__190zu98._.js.map +1 -0
  544. package/.next/server/chunks/[root-of-the-server]__1_7ntsu._.js +3 -0
  545. package/.next/server/chunks/[root-of-the-server]__1_7ntsu._.js.map +1 -0
  546. package/.next/server/chunks/[root-of-the-server]__1bwqb44._.js +3 -0
  547. package/.next/server/chunks/[root-of-the-server]__1bwqb44._.js.map +1 -0
  548. package/.next/server/chunks/[root-of-the-server]__1d6w22k._.js +3 -0
  549. package/.next/server/chunks/[root-of-the-server]__1d6w22k._.js.map +1 -0
  550. package/.next/server/chunks/[root-of-the-server]__1d9wmd_._.js +3 -0
  551. package/.next/server/chunks/[root-of-the-server]__1d9wmd_._.js.map +1 -0
  552. package/.next/server/chunks/[root-of-the-server]__1j25n4-._.js +5 -0
  553. package/.next/server/chunks/[root-of-the-server]__1j25n4-._.js.map +1 -0
  554. package/.next/server/chunks/[root-of-the-server]__1jtw_i1._.js +3 -0
  555. package/.next/server/chunks/[root-of-the-server]__1jtw_i1._.js.map +1 -0
  556. package/.next/server/chunks/[root-of-the-server]__1lv6sqm._.js +3 -0
  557. package/.next/server/chunks/[root-of-the-server]__1lv6sqm._.js.map +1 -0
  558. package/.next/server/chunks/[root-of-the-server]__1m2v05v._.js +3 -0
  559. package/.next/server/chunks/[root-of-the-server]__1m2v05v._.js.map +1 -0
  560. package/.next/server/chunks/[root-of-the-server]__1n-kcwj._.js +3 -0
  561. package/.next/server/chunks/[root-of-the-server]__1n-kcwj._.js.map +1 -0
  562. package/.next/server/chunks/[root-of-the-server]__1nn9crd._.js +3 -0
  563. package/.next/server/chunks/[root-of-the-server]__1nn9crd._.js.map +1 -0
  564. package/.next/server/chunks/[root-of-the-server]__1rimo-u._.js +3 -0
  565. package/.next/server/chunks/[root-of-the-server]__1rimo-u._.js.map +1 -0
  566. package/.next/server/chunks/[root-of-the-server]__1sb7b9b._.js +9 -0
  567. package/.next/server/chunks/[root-of-the-server]__1sb7b9b._.js.map +1 -0
  568. package/.next/server/chunks/[root-of-the-server]__1t2egm-._.js +9 -0
  569. package/.next/server/chunks/[root-of-the-server]__1t2egm-._.js.map +1 -0
  570. package/.next/server/chunks/[root-of-the-server]__1t3s3-y._.js +3 -0
  571. package/.next/server/chunks/[root-of-the-server]__1t3s3-y._.js.map +1 -0
  572. package/.next/server/chunks/[root-of-the-server]__1tab6-_._.js +3 -0
  573. package/.next/server/chunks/[root-of-the-server]__1tab6-_._.js.map +1 -0
  574. package/.next/server/chunks/[root-of-the-server]__1v3_x0a._.js +3 -0
  575. package/.next/server/chunks/[root-of-the-server]__1v3_x0a._.js.map +1 -0
  576. package/.next/server/chunks/[root-of-the-server]__1vq6_bb._.js +3 -0
  577. package/.next/server/chunks/[root-of-the-server]__1vq6_bb._.js.map +1 -0
  578. package/.next/server/chunks/[root-of-the-server]__1xfg6n4._.js +3 -0
  579. package/.next/server/chunks/[root-of-the-server]__1xfg6n4._.js.map +1 -0
  580. package/.next/server/chunks/[root-of-the-server]__1y_g68p._.js +3 -0
  581. package/.next/server/chunks/[root-of-the-server]__1y_g68p._.js.map +1 -0
  582. package/.next/server/chunks/[turbopack]_runtime.js +903 -0
  583. package/.next/server/chunks/[turbopack]_runtime.js.map +11 -0
  584. package/.next/server/chunks/_0-k8r4o._.js +3 -0
  585. package/.next/server/chunks/_0-k8r4o._.js.map +1 -0
  586. package/.next/server/chunks/_00drqg3._.js +3 -0
  587. package/.next/server/chunks/_00drqg3._.js.map +1 -0
  588. package/.next/server/chunks/_04_hx58._.js +3 -0
  589. package/.next/server/chunks/_04_hx58._.js.map +1 -0
  590. package/.next/server/chunks/_0bj_zep._.js +3 -0
  591. package/.next/server/chunks/_0bj_zep._.js.map +1 -0
  592. package/.next/server/chunks/_0d9p87n._.js +3 -0
  593. package/.next/server/chunks/_0d9p87n._.js.map +1 -0
  594. package/.next/server/chunks/_0uzzk4s._.js +3 -0
  595. package/.next/server/chunks/_0uzzk4s._.js.map +1 -0
  596. package/.next/server/chunks/_0x--pb9._.js +3 -0
  597. package/.next/server/chunks/_0x--pb9._.js.map +1 -0
  598. package/.next/server/chunks/_1-006gs._.js +11 -0
  599. package/.next/server/chunks/_1-006gs._.js.map +1 -0
  600. package/.next/server/chunks/_1gmut2r._.js +3 -0
  601. package/.next/server/chunks/_1gmut2r._.js.map +1 -0
  602. package/.next/server/chunks/_1h7jba5._.js +3 -0
  603. package/.next/server/chunks/_1h7jba5._.js.map +1 -0
  604. package/.next/server/chunks/_1p13_nj._.js +3 -0
  605. package/.next/server/chunks/_1p13_nj._.js.map +1 -0
  606. package/.next/server/chunks/_1v92m46._.js +11 -0
  607. package/.next/server/chunks/_1v92m46._.js.map +1 -0
  608. package/.next/server/chunks/_next-internal_server_app_api_code-graph_position_route_actions_0ddmfq8.js +3 -0
  609. package/.next/server/chunks/_next-internal_server_app_api_code-graph_position_route_actions_0ddmfq8.js.map +1 -0
  610. package/.next/server/chunks/_next-internal_server_app_api_code-graph_route_actions_107oiy1.js +3 -0
  611. package/.next/server/chunks/_next-internal_server_app_api_code-graph_route_actions_107oiy1.js.map +1 -0
  612. package/.next/server/chunks/_next-internal_server_app_api_context_embed-backfill_route_actions_0fddf11.js +3 -0
  613. package/.next/server/chunks/_next-internal_server_app_api_context_embed-backfill_route_actions_0fddf11.js.map +1 -0
  614. package/.next/server/chunks/_next-internal_server_app_api_context_feature_route_actions_0g4_r0t.js +3 -0
  615. package/.next/server/chunks/_next-internal_server_app_api_context_feature_route_actions_0g4_r0t.js.map +1 -0
  616. package/.next/server/chunks/_next-internal_server_app_api_context_file_route_actions_1v15k33.js +3 -0
  617. package/.next/server/chunks/_next-internal_server_app_api_context_file_route_actions_1v15k33.js.map +1 -0
  618. package/.next/server/chunks/_next-internal_server_app_api_context_route_actions_066vuc0.js +3 -0
  619. package/.next/server/chunks/_next-internal_server_app_api_context_route_actions_066vuc0.js.map +1 -0
  620. package/.next/server/chunks/_next-internal_server_app_api_db_backfill-access_route_actions_0krkam5.js +3 -0
  621. package/.next/server/chunks/_next-internal_server_app_api_db_backfill-access_route_actions_0krkam5.js.map +1 -0
  622. package/.next/server/chunks/_next-internal_server_app_api_db_position_route_actions_0y81s5h.js +3 -0
  623. package/.next/server/chunks/_next-internal_server_app_api_db_position_route_actions_0y81s5h.js.map +1 -0
  624. package/.next/server/chunks/_next-internal_server_app_api_db_reconcile-endpoints_route_actions_11wjo3_.js +3 -0
  625. package/.next/server/chunks/_next-internal_server_app_api_db_reconcile-endpoints_route_actions_11wjo3_.js.map +1 -0
  626. package/.next/server/chunks/_next-internal_server_app_api_db_relations_[id]_route_actions_0ok7b-c.js +3 -0
  627. package/.next/server/chunks/_next-internal_server_app_api_db_relations_[id]_route_actions_0ok7b-c.js.map +1 -0
  628. package/.next/server/chunks/_next-internal_server_app_api_db_tables_[id]_route_actions_17b6_8p.js +3 -0
  629. package/.next/server/chunks/_next-internal_server_app_api_db_tables_[id]_route_actions_17b6_8p.js.map +1 -0
  630. package/.next/server/chunks/_next-internal_server_app_api_draft_approve_route_actions_12l1gql.js +3 -0
  631. package/.next/server/chunks/_next-internal_server_app_api_draft_approve_route_actions_12l1gql.js.map +1 -0
  632. package/.next/server/chunks/_next-internal_server_app_api_draft_route_actions_1y2euqt.js +3 -0
  633. package/.next/server/chunks/_next-internal_server_app_api_draft_route_actions_1y2euqt.js.map +1 -0
  634. package/.next/server/chunks/_next-internal_server_app_api_draft_status_route_actions_0imc7yr.js +3 -0
  635. package/.next/server/chunks/_next-internal_server_app_api_draft_status_route_actions_0imc7yr.js.map +1 -0
  636. package/.next/server/chunks/_next-internal_server_app_api_edges_[id]_route_actions_1rx28dy.js +3 -0
  637. package/.next/server/chunks/_next-internal_server_app_api_edges_[id]_route_actions_1rx28dy.js.map +1 -0
  638. package/.next/server/chunks/_next-internal_server_app_api_edges_route_actions_1i6-f0p.js +3 -0
  639. package/.next/server/chunks/_next-internal_server_app_api_edges_route_actions_1i6-f0p.js.map +1 -0
  640. package/.next/server/chunks/_next-internal_server_app_api_endpoints_[id]_route_actions_1hynl36.js +3 -0
  641. package/.next/server/chunks/_next-internal_server_app_api_endpoints_[id]_route_actions_1hynl36.js.map +1 -0
  642. package/.next/server/chunks/_next-internal_server_app_api_entities_route_actions_1jx0-vm.js +3 -0
  643. package/.next/server/chunks/_next-internal_server_app_api_entities_route_actions_1jx0-vm.js.map +1 -0
  644. package/.next/server/chunks/_next-internal_server_app_api_ingest_route_actions_1oz_9xc.js +3 -0
  645. package/.next/server/chunks/_next-internal_server_app_api_ingest_route_actions_1oz_9xc.js.map +1 -0
  646. package/.next/server/chunks/_next-internal_server_app_api_init_route_actions_00i08o0.js +3 -0
  647. package/.next/server/chunks/_next-internal_server_app_api_init_route_actions_00i08o0.js.map +1 -0
  648. package/.next/server/chunks/_next-internal_server_app_api_map_describe_route_actions_04m22-e.js +3 -0
  649. package/.next/server/chunks/_next-internal_server_app_api_map_describe_route_actions_04m22-e.js.map +1 -0
  650. package/.next/server/chunks/_next-internal_server_app_api_map_files_route_actions_1gsvfd9.js +3 -0
  651. package/.next/server/chunks/_next-internal_server_app_api_map_files_route_actions_1gsvfd9.js.map +1 -0
  652. package/.next/server/chunks/_next-internal_server_app_api_map_finish_route_actions_130bs5b.js +3 -0
  653. package/.next/server/chunks/_next-internal_server_app_api_map_finish_route_actions_130bs5b.js.map +1 -0
  654. package/.next/server/chunks/_next-internal_server_app_api_map_route_actions_1ylt-yg.js +3 -0
  655. package/.next/server/chunks/_next-internal_server_app_api_map_route_actions_1ylt-yg.js.map +1 -0
  656. package/.next/server/chunks/_next-internal_server_app_api_map_start_route_actions_1n4zdon.js +3 -0
  657. package/.next/server/chunks/_next-internal_server_app_api_map_start_route_actions_1n4zdon.js.map +1 -0
  658. package/.next/server/chunks/_next-internal_server_app_api_map_touch-active_route_actions_0wvoq-h.js +3 -0
  659. package/.next/server/chunks/_next-internal_server_app_api_map_touch-active_route_actions_0wvoq-h.js.map +1 -0
  660. package/.next/server/chunks/_next-internal_server_app_api_nodes_[id]_position_route_actions_0_695u2.js +3 -0
  661. package/.next/server/chunks/_next-internal_server_app_api_nodes_[id]_position_route_actions_0_695u2.js.map +1 -0
  662. package/.next/server/chunks/_next-internal_server_app_api_nodes_[id]_route_actions_017e_f3.js +3 -0
  663. package/.next/server/chunks/_next-internal_server_app_api_nodes_[id]_route_actions_017e_f3.js.map +1 -0
  664. package/.next/server/chunks/_next-internal_server_app_api_nodes_positions_route_actions_1pz3o9o.js +3 -0
  665. package/.next/server/chunks/_next-internal_server_app_api_nodes_positions_route_actions_1pz3o9o.js.map +1 -0
  666. package/.next/server/chunks/_next-internal_server_app_api_nodes_route_actions_0iuxxdu.js +3 -0
  667. package/.next/server/chunks/_next-internal_server_app_api_nodes_route_actions_0iuxxdu.js.map +1 -0
  668. package/.next/server/chunks/_next-internal_server_app_api_nodes_subtasks_route_actions_0uw715o.js +3 -0
  669. package/.next/server/chunks/_next-internal_server_app_api_nodes_subtasks_route_actions_0uw715o.js.map +1 -0
  670. package/.next/server/chunks/_next-internal_server_app_api_notes_[id]_route_actions_1kpl381.js +3 -0
  671. package/.next/server/chunks/_next-internal_server_app_api_notes_[id]_route_actions_1kpl381.js.map +1 -0
  672. package/.next/server/chunks/_next-internal_server_app_api_notes_route_actions_0mm_p_3.js +3 -0
  673. package/.next/server/chunks/_next-internal_server_app_api_notes_route_actions_0mm_p_3.js.map +1 -0
  674. package/.next/server/chunks/_next-internal_server_app_api_open_route_actions_1x77eq1.js +3 -0
  675. package/.next/server/chunks/_next-internal_server_app_api_open_route_actions_1x77eq1.js.map +1 -0
  676. package/.next/server/chunks/_next-internal_server_app_api_plan_annotations_route_actions_11aui44.js +3 -0
  677. package/.next/server/chunks/_next-internal_server_app_api_plan_annotations_route_actions_11aui44.js.map +1 -0
  678. package/.next/server/chunks/_next-internal_server_app_api_plan_approve_route_actions_06jkmnf.js +3 -0
  679. package/.next/server/chunks/_next-internal_server_app_api_plan_approve_route_actions_06jkmnf.js.map +1 -0
  680. package/.next/server/chunks/_next-internal_server_app_api_plan_history_route_actions_17hqx0m.js +3 -0
  681. package/.next/server/chunks/_next-internal_server_app_api_plan_history_route_actions_17hqx0m.js.map +1 -0
  682. package/.next/server/chunks/_next-internal_server_app_api_plan_markdown_route_actions_1qb1-9r.js +3 -0
  683. package/.next/server/chunks/_next-internal_server_app_api_plan_markdown_route_actions_1qb1-9r.js.map +1 -0
  684. package/.next/server/chunks/_next-internal_server_app_api_plan_presence_route_actions_1r91k5c.js +3 -0
  685. package/.next/server/chunks/_next-internal_server_app_api_plan_presence_route_actions_1r91k5c.js.map +1 -0
  686. package/.next/server/chunks/_next-internal_server_app_api_plan_route_actions_1_nzr8r.js +3 -0
  687. package/.next/server/chunks/_next-internal_server_app_api_plan_route_actions_1_nzr8r.js.map +1 -0
  688. package/.next/server/chunks/_next-internal_server_app_api_plan_verdict_route_actions_10xm0j8.js +3 -0
  689. package/.next/server/chunks/_next-internal_server_app_api_plan_verdict_route_actions_10xm0j8.js.map +1 -0
  690. package/.next/server/chunks/_next-internal_server_app_api_preferences_route_actions_14__a0r.js +3 -0
  691. package/.next/server/chunks/_next-internal_server_app_api_preferences_route_actions_14__a0r.js.map +1 -0
  692. package/.next/server/chunks/_next-internal_server_app_api_reset_route_actions_1tcp2ms.js +3 -0
  693. package/.next/server/chunks/_next-internal_server_app_api_reset_route_actions_1tcp2ms.js.map +1 -0
  694. package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +3 -0
  695. package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js.map +1 -0
  696. package/.next/server/chunks/_next-internal_server_app_api_stream_route_actions_0oy6g75.js +3 -0
  697. package/.next/server/chunks/_next-internal_server_app_api_stream_route_actions_0oy6g75.js.map +1 -0
  698. package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30h.js +3 -0
  699. package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30h.js.map +1 -0
  700. package/.next/server/chunks/_next-internal_server_app_api_workspace_activate_route_actions_1hv2y82.js +3 -0
  701. package/.next/server/chunks/_next-internal_server_app_api_workspace_activate_route_actions_1hv2y82.js.map +1 -0
  702. package/.next/server/chunks/_next-internal_server_app_api_workspace_route_actions_19-xkal.js +3 -0
  703. package/.next/server/chunks/_next-internal_server_app_api_workspace_route_actions_19-xkal.js.map +1 -0
  704. package/.next/server/chunks/_next-internal_server_app_apple-icon_png_route_actions_0jcl8au.js +3 -0
  705. package/.next/server/chunks/_next-internal_server_app_apple-icon_png_route_actions_0jcl8au.js.map +1 -0
  706. package/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_1r2h_ub.js +3 -0
  707. package/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_1r2h_ub.js.map +1 -0
  708. package/.next/server/chunks/instrumentation_ts_1oq3o45._.js +3 -0
  709. package/.next/server/chunks/instrumentation_ts_1oq3o45._.js.map +1 -0
  710. package/.next/server/chunks/lib_04zrdtl._.js +3 -0
  711. package/.next/server/chunks/lib_04zrdtl._.js.map +1 -0
  712. package/.next/server/chunks/lib_0rad2y6._.js +3 -0
  713. package/.next/server/chunks/lib_0rad2y6._.js.map +1 -0
  714. package/.next/server/chunks/lib_10tibe8._.js +7 -0
  715. package/.next/server/chunks/lib_10tibe8._.js.map +1 -0
  716. package/.next/server/chunks/lib_1upr0dj._.js +3 -0
  717. package/.next/server/chunks/lib_1upr0dj._.js.map +1 -0
  718. package/.next/server/chunks/lib_1wz-3od._.js +3 -0
  719. package/.next/server/chunks/lib_1wz-3od._.js.map +1 -0
  720. package/.next/server/chunks/lib_1xzwro7._.js +3 -0
  721. package/.next/server/chunks/lib_1xzwro7._.js.map +1 -0
  722. package/.next/server/chunks/lib_db_ts_0h_yn5m._.js +3 -0
  723. package/.next/server/chunks/lib_db_ts_0h_yn5m._.js.map +1 -0
  724. package/.next/server/chunks/lib_drizzle_provision_ts_1po9dyo._.js +3 -0
  725. package/.next/server/chunks/lib_drizzle_provision_ts_1po9dyo._.js.map +1 -0
  726. package/.next/server/chunks/lib_drizzle_schema_ts_0ixydnz._.js +3 -0
  727. package/.next/server/chunks/lib_drizzle_schema_ts_0ixydnz._.js.map +1 -0
  728. package/.next/server/chunks/lib_roadmap-force-layout_ts_0e5r3g2._.js +3 -0
  729. package/.next/server/chunks/lib_roadmap-force-layout_ts_0e5r3g2._.js.map +1 -0
  730. package/.next/server/chunks/node_modules_drizzle-orm_05n3ooz._.js +3 -0
  731. package/.next/server/chunks/node_modules_drizzle-orm_05n3ooz._.js.map +1 -0
  732. package/.next/server/chunks/node_modules_drizzle-orm_0cht0an._.js +3 -0
  733. package/.next/server/chunks/node_modules_drizzle-orm_0cht0an._.js.map +1 -0
  734. package/.next/server/chunks/node_modules_drizzle-orm_0ma7f2e._.js +4 -0
  735. package/.next/server/chunks/node_modules_drizzle-orm_0ma7f2e._.js.map +1 -0
  736. package/.next/server/chunks/node_modules_drizzle-orm_0q0hg2u._.js +4 -0
  737. package/.next/server/chunks/node_modules_drizzle-orm_0q0hg2u._.js.map +1 -0
  738. package/.next/server/chunks/node_modules_drizzle-orm_0rs3wbv._.js +3 -0
  739. package/.next/server/chunks/node_modules_drizzle-orm_0rs3wbv._.js.map +1 -0
  740. package/.next/server/chunks/node_modules_drizzle-orm_index_1qnscv7.js +3 -0
  741. package/.next/server/chunks/node_modules_drizzle-orm_index_1qnscv7.js.map +1 -0
  742. package/.next/server/chunks/node_modules_drizzle-orm_libsql_0yabams._.js +15 -0
  743. package/.next/server/chunks/node_modules_drizzle-orm_libsql_0yabams._.js.map +1 -0
  744. package/.next/server/chunks/node_modules_next_08s853w._.js +13 -0
  745. package/.next/server/chunks/node_modules_next_08s853w._.js.map +1 -0
  746. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0qz67ql.js +3 -0
  747. package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0qz67ql.js.map +1 -0
  748. package/.next/server/chunks/node_modules_zod_v4_classic_external_1-pw2v2.js +64 -0
  749. package/.next/server/chunks/node_modules_zod_v4_classic_external_1-pw2v2.js.map +1 -0
  750. package/.next/server/chunks/ssr/[externals]_@huggingface_transformers_05bd-zz._.js +3 -0
  751. package/.next/server/chunks/ssr/[externals]_@huggingface_transformers_05bd-zz._.js.map +1 -0
  752. package/.next/server/chunks/ssr/[root-of-the-server]__00vz2sw._.js +3 -0
  753. package/.next/server/chunks/ssr/[root-of-the-server]__00vz2sw._.js.map +1 -0
  754. package/.next/server/chunks/ssr/[root-of-the-server]__07b655z._.js +3 -0
  755. package/.next/server/chunks/ssr/[root-of-the-server]__07b655z._.js.map +1 -0
  756. package/.next/server/chunks/ssr/[root-of-the-server]__0dr0a32._.js +3 -0
  757. package/.next/server/chunks/ssr/[root-of-the-server]__0dr0a32._.js.map +1 -0
  758. package/.next/server/chunks/ssr/[root-of-the-server]__0jx25ik._.js +3 -0
  759. package/.next/server/chunks/ssr/[root-of-the-server]__0jx25ik._.js.map +1 -0
  760. package/.next/server/chunks/ssr/[root-of-the-server]__0nqskgw._.js +19 -0
  761. package/.next/server/chunks/ssr/[root-of-the-server]__0nqskgw._.js.map +1 -0
  762. package/.next/server/chunks/ssr/[root-of-the-server]__0pkeb0m._.js +9 -0
  763. package/.next/server/chunks/ssr/[root-of-the-server]__0pkeb0m._.js.map +1 -0
  764. package/.next/server/chunks/ssr/[root-of-the-server]__0s74gvr._.js +3 -0
  765. package/.next/server/chunks/ssr/[root-of-the-server]__0s74gvr._.js.map +1 -0
  766. package/.next/server/chunks/ssr/[root-of-the-server]__0v7a-e-._.js +3 -0
  767. package/.next/server/chunks/ssr/[root-of-the-server]__0v7a-e-._.js.map +1 -0
  768. package/.next/server/chunks/ssr/[root-of-the-server]__0x4-71n._.js +3 -0
  769. package/.next/server/chunks/ssr/[root-of-the-server]__0x4-71n._.js.map +1 -0
  770. package/.next/server/chunks/ssr/[root-of-the-server]__0xqf488._.js +3 -0
  771. package/.next/server/chunks/ssr/[root-of-the-server]__0xqf488._.js.map +1 -0
  772. package/.next/server/chunks/ssr/[root-of-the-server]__0y_88xg._.js +33 -0
  773. package/.next/server/chunks/ssr/[root-of-the-server]__0y_88xg._.js.map +1 -0
  774. package/.next/server/chunks/ssr/[root-of-the-server]__1-yyv5l._.js +3 -0
  775. package/.next/server/chunks/ssr/[root-of-the-server]__1-yyv5l._.js.map +1 -0
  776. package/.next/server/chunks/ssr/[root-of-the-server]__1366qju._.js +3 -0
  777. package/.next/server/chunks/ssr/[root-of-the-server]__1366qju._.js.map +1 -0
  778. package/.next/server/chunks/ssr/[root-of-the-server]__1_ustu7._.js +3 -0
  779. package/.next/server/chunks/ssr/[root-of-the-server]__1_ustu7._.js.map +1 -0
  780. package/.next/server/chunks/ssr/[root-of-the-server]__1dky4g0._.js +33 -0
  781. package/.next/server/chunks/ssr/[root-of-the-server]__1dky4g0._.js.map +1 -0
  782. package/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
  783. package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +11 -0
  784. package/.next/server/chunks/ssr/_0eabx1f._.js +3 -0
  785. package/.next/server/chunks/ssr/_0eabx1f._.js.map +1 -0
  786. package/.next/server/chunks/ssr/_0ni84yi._.js +3 -0
  787. package/.next/server/chunks/ssr/_0ni84yi._.js.map +1 -0
  788. package/.next/server/chunks/ssr/_0pgw716._.js +67 -0
  789. package/.next/server/chunks/ssr/_0pgw716._.js.map +1 -0
  790. package/.next/server/chunks/ssr/_0r84jcg._.js +6 -0
  791. package/.next/server/chunks/ssr/_0r84jcg._.js.map +1 -0
  792. package/.next/server/chunks/ssr/_15if8ma._.js +3 -0
  793. package/.next/server/chunks/ssr/_15if8ma._.js.map +1 -0
  794. package/.next/server/chunks/ssr/_176djsq._.js +4 -0
  795. package/.next/server/chunks/ssr/_176djsq._.js.map +1 -0
  796. package/.next/server/chunks/ssr/_179xsho._.js +3 -0
  797. package/.next/server/chunks/ssr/_179xsho._.js.map +1 -0
  798. package/.next/server/chunks/ssr/_1_n8arv._.js +3 -0
  799. package/.next/server/chunks/ssr/_1_n8arv._.js.map +1 -0
  800. package/.next/server/chunks/ssr/_1suxp_q._.js +3 -0
  801. package/.next/server/chunks/ssr/_1suxp_q._.js.map +1 -0
  802. package/.next/server/chunks/ssr/_1vt70iy._.js +18 -0
  803. package/.next/server/chunks/ssr/_1vt70iy._.js.map +1 -0
  804. package/.next/server/chunks/ssr/_1w2komx._.js +3 -0
  805. package/.next/server/chunks/ssr/_1w2komx._.js.map +1 -0
  806. package/.next/server/chunks/ssr/_1w73gpg._.js +4 -0
  807. package/.next/server/chunks/ssr/_1w73gpg._.js.map +1 -0
  808. package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
  809. package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js.map +1 -0
  810. package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +3 -0
  811. package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js.map +1 -0
  812. package/.next/server/chunks/ssr/_next-internal_server_app_help_page_actions_04daq_g.js +3 -0
  813. package/.next/server/chunks/ssr/_next-internal_server_app_help_page_actions_04daq_g.js.map +1 -0
  814. package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +3 -0
  815. package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js.map +1 -0
  816. package/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_11x4dq5.js +3 -0
  817. package/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_11x4dq5.js.map +1 -0
  818. package/.next/server/chunks/ssr/components_1wolv70._.js +157 -0
  819. package/.next/server/chunks/ssr/components_1wolv70._.js.map +1 -0
  820. package/.next/server/chunks/ssr/components_graph_files-map-client_tsx_10bha9z._.js +3 -0
  821. package/.next/server/chunks/ssr/components_graph_files-map-client_tsx_10bha9z._.js.map +1 -0
  822. package/.next/server/chunks/ssr/components_landing_landing_tsx_1_9k5z7._.js +3 -0
  823. package/.next/server/chunks/ssr/components_landing_landing_tsx_1_9k5z7._.js.map +1 -0
  824. package/.next/server/chunks/ssr/components_plan_plan-workspace_tsx_0t1topu._.js +3 -0
  825. package/.next/server/chunks/ssr/components_plan_plan-workspace_tsx_0t1topu._.js.map +1 -0
  826. package/.next/server/chunks/ssr/lib_13g58ln._.js +3 -0
  827. package/.next/server/chunks/ssr/lib_13g58ln._.js.map +1 -0
  828. package/.next/server/chunks/ssr/lib_db_ts_0bo045t._.js +3 -0
  829. package/.next/server/chunks/ssr/lib_db_ts_0bo045t._.js.map +1 -0
  830. package/.next/server/chunks/ssr/lib_drizzle_schema_ts_0oz5uob._.js +3 -0
  831. package/.next/server/chunks/ssr/lib_drizzle_schema_ts_0oz5uob._.js.map +1 -0
  832. package/.next/server/chunks/ssr/node_modules_0h91jdk._.js +33 -0
  833. package/.next/server/chunks/ssr/node_modules_0h91jdk._.js.map +1 -0
  834. package/.next/server/chunks/ssr/node_modules_0vtauab._.js +3 -0
  835. package/.next/server/chunks/ssr/node_modules_0vtauab._.js.map +1 -0
  836. package/.next/server/chunks/ssr/node_modules_drizzle-orm_0txo559._.js +4 -0
  837. package/.next/server/chunks/ssr/node_modules_drizzle-orm_0txo559._.js.map +1 -0
  838. package/.next/server/chunks/ssr/node_modules_drizzle-orm_1d7zgzr._.js +4 -0
  839. package/.next/server/chunks/ssr/node_modules_drizzle-orm_1d7zgzr._.js.map +1 -0
  840. package/.next/server/chunks/ssr/node_modules_drizzle-orm_1zqkwdy._.js +3 -0
  841. package/.next/server/chunks/ssr/node_modules_drizzle-orm_1zqkwdy._.js.map +1 -0
  842. package/.next/server/chunks/ssr/node_modules_drizzle-orm_202ujxv._.js +3 -0
  843. package/.next/server/chunks/ssr/node_modules_drizzle-orm_202ujxv._.js.map +1 -0
  844. package/.next/server/chunks/ssr/node_modules_drizzle-orm_index_0ji3_g8.js +3 -0
  845. package/.next/server/chunks/ssr/node_modules_drizzle-orm_index_0ji3_g8.js.map +1 -0
  846. package/.next/server/chunks/ssr/node_modules_drizzle-orm_libsql_06opikx._.js +15 -0
  847. package/.next/server/chunks/ssr/node_modules_drizzle-orm_libsql_06opikx._.js.map +1 -0
  848. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_shield-check_mjs_1cccgdy._.js +3 -0
  849. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_shield-check_mjs_1cccgdy._.js.map +1 -0
  850. package/.next/server/chunks/ssr/node_modules_next_dist_0890nbp._.js +3 -0
  851. package/.next/server/chunks/ssr/node_modules_next_dist_0890nbp._.js.map +1 -0
  852. package/.next/server/chunks/ssr/node_modules_next_dist_0airgni._.js +3 -0
  853. package/.next/server/chunks/ssr/node_modules_next_dist_0airgni._.js.map +1 -0
  854. package/.next/server/chunks/ssr/node_modules_next_dist_0alesp5._.js +3 -0
  855. package/.next/server/chunks/ssr/node_modules_next_dist_0alesp5._.js.map +1 -0
  856. package/.next/server/chunks/ssr/node_modules_next_dist_0uboya6._.js +6 -0
  857. package/.next/server/chunks/ssr/node_modules_next_dist_0uboya6._.js.map +1 -0
  858. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +3 -0
  859. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js.map +1 -0
  860. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +3 -0
  861. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js.map +1 -0
  862. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0-o-goa.js +3 -0
  863. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0-o-goa.js.map +1 -0
  864. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
  865. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js.map +1 -0
  866. package/.next/server/chunks/ssr/node_modules_next_dist_compiled_@opentelemetry_api_index_1oy1nwh.js +3 -0
  867. package/.next/server/chunks/ssr/node_modules_next_dist_compiled_@opentelemetry_api_index_1oy1nwh.js.map +1 -0
  868. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d7qbqa.js +4 -0
  869. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d7qbqa.js.map +1 -0
  870. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0s87tpk.js +4 -0
  871. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0s87tpk.js.map +1 -0
  872. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_114qdo2.js +4 -0
  873. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_114qdo2.js.map +1 -0
  874. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z.js +4 -0
  875. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z.js.map +1 -0
  876. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19_kztz.js +4 -0
  877. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19_kztz.js.map +1 -0
  878. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19qzf81.js +4 -0
  879. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19qzf81.js.map +1 -0
  880. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1wge0av.js +4 -0
  881. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1wge0av.js.map +1 -0
  882. package/.next/server/edge/chunks/_0o_tvsk._.js +3 -0
  883. package/.next/server/edge/chunks/_0o_tvsk._.js.map +1 -0
  884. package/.next/server/edge/chunks/node_modules_next_dist_esm_build_templates_edge-wrapper_1ipl-lx.js.map +1 -0
  885. package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1ipl-lx.js +3 -0
  886. package/.next/server/functions-config-manifest.json +14 -0
  887. package/.next/server/instrumentation/middleware-manifest.json +12 -0
  888. package/.next/server/instrumentation.js +4 -0
  889. package/.next/server/instrumentation.js.map +5 -0
  890. package/.next/server/instrumentation.js.nft.json +1 -0
  891. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  892. package/.next/server/middleware/middleware-manifest.json +6 -0
  893. package/.next/server/middleware-build-manifest.js +21 -0
  894. package/.next/server/middleware-manifest.json +6 -0
  895. package/.next/server/middleware.js +5 -0
  896. package/.next/server/middleware.js.map +5 -0
  897. package/.next/server/middleware.js.nft.json +1 -0
  898. package/.next/server/next-font-manifest.js +1 -0
  899. package/.next/server/next-font-manifest.json +31 -0
  900. package/.next/server/pages/404.html +1 -0
  901. package/.next/server/pages/500.html +1 -0
  902. package/.next/server/pages-manifest.json +4 -0
  903. package/.next/server/prefetch-hints.json +1 -0
  904. package/.next/server/server-reference-manifest.js +1 -0
  905. package/.next/server/server-reference-manifest.json +132 -0
  906. package/.next/static/_wmO3ZSrpuwty88NNlnrH/_buildManifest.js +11 -0
  907. package/.next/static/_wmO3ZSrpuwty88NNlnrH/_clientMiddlewareManifest.js +6 -0
  908. package/.next/static/_wmO3ZSrpuwty88NNlnrH/_ssgManifest.js +1 -0
  909. package/.next/static/chunks/01dkdyukbdpqq.js +31 -0
  910. package/.next/static/chunks/05-c3ty_6dwfk.js +1 -0
  911. package/.next/static/chunks/07u_h6i539_wj.js +2 -0
  912. package/.next/static/chunks/09wlenlnsbkl7.js +2 -0
  913. package/.next/static/chunks/0_9p121-4am0a.js +1 -0
  914. package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
  915. package/.next/static/chunks/19cl65vz3pos0.js +1 -0
  916. package/.next/static/chunks/19hoowcssv0w1.css +1 -0
  917. package/.next/static/chunks/1bk_i_akra521.css +2 -0
  918. package/.next/static/chunks/1pp98vred9isg.js +1 -0
  919. package/.next/static/chunks/2-t6-hz_de2nr.js +155 -0
  920. package/.next/static/chunks/203o948823s96.css +1 -0
  921. package/.next/static/chunks/245vq4i7_x7tm.js +1 -0
  922. package/.next/static/chunks/27jktro2p5rq9.js +4 -0
  923. package/.next/static/chunks/2hpdskhtooxl4.js +1 -0
  924. package/.next/static/chunks/368etk_9oovhj.js +1 -0
  925. package/.next/static/chunks/3n7dm2ojtyzwn.js +1 -0
  926. package/.next/static/chunks/3oc95d6bep78a.css +1 -0
  927. package/.next/static/chunks/3qp8f4catg9zw.js +2 -0
  928. package/.next/static/chunks/3ywpldblg905c.js +1 -0
  929. package/.next/static/chunks/4397avi9yar6d.js +1 -0
  930. package/.next/static/chunks/44_nvrzzjs0pv.js +1 -0
  931. package/.next/static/chunks/turbopack-0rldyqi2kcq2j.js +1 -0
  932. package/.next/static/media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2 +0 -0
  933. package/.next/static/media/53b9e256198e5412-s.390ncx5urfkfu.woff2 +0 -0
  934. package/.next/static/media/5ce348bf30bf5439-s.31988l_ccedte.woff2 +0 -0
  935. package/.next/static/media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2 +0 -0
  936. package/.next/static/media/7178b3e590c64307-s.21jp631_3pja2.woff2 +0 -0
  937. package/.next/static/media/797e433ab948586e-s.p.0r6juujl39pe6.woff2 +0 -0
  938. package/.next/static/media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2 +0 -0
  939. package/.next/static/media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2 +0 -0
  940. package/.next/static/media/apple-icon.0qbqv4vpdxdo0.png +0 -0
  941. package/.next/static/media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2 +0 -0
  942. package/.next/static/media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2 +0 -0
  943. package/.next/static/media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2 +0 -0
  944. package/.next/static/media/icon.23_qbw6oy1xqy.svg +4 -0
  945. package/.next/trace +2 -0
  946. package/.next/trace-build +1 -0
  947. package/.next/turbopack +0 -0
  948. package/.next/types/cache-life.d.ts +145 -0
  949. package/.next/types/routes.d.ts +124 -0
  950. package/.next/types/validator.ts +538 -0
  951. package/README.md +94 -0
  952. package/dist/bin/beacon.js +10 -0
  953. package/dist/bin/doctor.js +227 -0
  954. package/dist/bin/hook.js +225 -0
  955. package/dist/bin/mcp.js +247 -0
  956. package/dist/bin/plan.js +228 -0
  957. package/dist/bin/prompt.js +4 -0
  958. package/dist/bin/stop-hook.js +5 -0
  959. package/dist/bin/uninstall.js +228 -0
  960. package/dist/lib/assets.js +192 -0
  961. package/dist/lib/global-install.js +224 -0
  962. package/dist/lib/workspaces.js +2 -0
  963. package/drizzle/0000_bitter_network.sql +230 -0
  964. package/drizzle/meta/0000_snapshot.json +1589 -0
  965. package/drizzle/meta/_journal.json +13 -0
  966. package/next.config.ts +15 -0
  967. package/package.json +90 -0
  968. package/public/brand/beacon-apple.svg +30 -0
  969. package/public/brand/beacon-glyph-128.png +0 -0
  970. package/public/brand/beacon-glyph-512.png +0 -0
  971. package/public/brand/beacon-glyph-mono-128.png +0 -0
  972. package/public/brand/beacon-glyph-mono-512.png +0 -0
  973. package/public/brand/beacon-glyph-mono.svg +4 -0
  974. package/public/brand/beacon-glyph.svg +21 -0
  975. package/public/brand/beacon-icon-1024.png +0 -0
  976. package/public/brand/beacon-icon-192.png +0 -0
  977. package/public/brand/beacon-icon-256.png +0 -0
  978. package/public/brand/beacon-icon-32.png +0 -0
  979. package/public/brand/beacon-icon-512.png +0 -0
  980. package/public/brand/beacon-icon-64.png +0 -0
  981. package/public/brand/beacon-icon-light-192.png +0 -0
  982. package/public/brand/beacon-icon-light-512.png +0 -0
  983. package/public/brand/beacon-icon-light.svg +31 -0
  984. package/public/brand/beacon-icon.svg +33 -0
  985. package/public/brand/beacon-wordmark-1200.png +0 -0
  986. package/public/brand/beacon-wordmark.svg +38 -0
  987. package/public/brand/favicon-16.png +0 -0
  988. package/public/brand/favicon-32.png +0 -0
  989. package/public/file.svg +1 -0
  990. package/public/globe.svg +1 -0
  991. package/public/install.sh +55 -0
  992. package/public/next.svg +1 -0
  993. package/public/vercel.svg +1 -0
  994. package/public/window.svg +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../lib/embeddings.ts","../../../../node_modules/d3-force/src/center.js","../../../../node_modules/d3-quadtree/src/add.js","../../../../node_modules/d3-quadtree/src/cover.js","../../../../node_modules/d3-quadtree/src/data.js","../../../../node_modules/d3-quadtree/src/extent.js","../../../../node_modules/d3-quadtree/src/quad.js","../../../../node_modules/d3-quadtree/src/find.js","../../../../node_modules/d3-quadtree/src/remove.js","../../../../node_modules/d3-quadtree/src/root.js","../../../../node_modules/d3-quadtree/src/size.js","../../../../node_modules/d3-quadtree/src/visit.js","../../../../node_modules/d3-quadtree/src/visitAfter.js","../../../../node_modules/d3-quadtree/src/x.js","../../../../node_modules/d3-quadtree/src/y.js","../../../../node_modules/d3-quadtree/src/quadtree.js","../../../../node_modules/d3-force/src/constant.js","../../../../node_modules/d3-force/src/jiggle.js","../../../../node_modules/d3-force/src/collide.js","../../../../node_modules/d3-force/src/link.js","../../../../node_modules/d3-dispatch/src/dispatch.js","../../../../node_modules/d3-timer/src/timer.js","../../../../node_modules/d3-force/src/lcg.js","../../../../node_modules/d3-force/src/simulation.js","../../../../node_modules/d3-force/src/manyBody.js","../../../../lib/roadmap-force-layout.ts","../../../../lib/roadmap-layout-state.ts","../../../../lib/settings.ts","../../../../lib/map-ops.ts","../../../../lib/schemas.ts","../../../../lib/mutations.ts"],"sourcesContent":["// Local semantic-search embedder. Loads Xenova/all-MiniLM-L6-v2 in-process\n// (~22MB cached on first use, ~50-100ms per text after that). Stays local so\n// the Beacon panel has no API-key dependency and no per-query network hop.\n// Vectors live in `Node.embedding` as JSON strings; cosine is computed in JS\n// at query time — at hundreds of nodes per workspace, sqlite-vec is overkill.\n\ntype FeatureExtractionPipeline = (\n text: string | string[],\n opts?: { pooling?: \"mean\" | \"cls\"; normalize?: boolean },\n) => Promise<{ data: Float32Array | number[] }>;\n\nlet pipelinePromise: Promise<FeatureExtractionPipeline> | null = null;\n\nasync function getEmbedder(): Promise<FeatureExtractionPipeline> {\n if (!pipelinePromise) {\n pipelinePromise = (async () => {\n const { pipeline } = await import(\"@huggingface/transformers\");\n // 384-dim sentence embeddings. The \"feature-extraction\" task with\n // mean-pooled + normalized output is the canonical sentence-encoder shape.\n return (await pipeline(\n \"feature-extraction\",\n \"Xenova/all-MiniLM-L6-v2\",\n )) as unknown as FeatureExtractionPipeline;\n })().catch((e) => {\n pipelinePromise = null; // let the next call retry on transient failure\n throw e;\n });\n }\n return pipelinePromise;\n}\n\n/** Compute a 384-dim sentence embedding. Returns null on failure (caller falls back to lexical). */\nexport async function embedText(text: string): Promise<number[] | null> {\n const trimmed = text.trim();\n if (!trimmed) return null;\n try {\n const embedder = await getEmbedder();\n const out = await embedder(trimmed, { pooling: \"mean\", normalize: true });\n return Array.from(out.data);\n } catch (e) {\n console.error(\"[embeddings] failed:\", e instanceof Error ? e.message : e);\n return null;\n }\n}\n\n/** Build the embedding input text from a node's queryable fields. */\nexport function nodeEmbeddingInput(node: {\n title: string;\n role?: string | null;\n plain?: string | null;\n cluster?: string | null;\n}): string {\n return [node.title, node.role, node.plain, node.cluster].filter(Boolean).join(\". \");\n}\n\n/** Cosine similarity, defensive against zero vectors and dimension mismatch. */\nexport function cosineSimilarity(a: number[], b: number[]): number {\n if (a.length !== b.length) return 0;\n let dot = 0;\n let normA = 0;\n let normB = 0;\n for (let i = 0; i < a.length; i++) {\n dot += a[i] * b[i];\n normA += a[i] * a[i];\n normB += b[i] * b[i];\n }\n if (normA === 0 || normB === 0) return 0;\n return dot / (Math.sqrt(normA) * Math.sqrt(normB));\n}\n\nexport function encodeVector(v: number[]): string {\n return JSON.stringify(v);\n}\n\nexport function decodeVector(raw: string | null | undefined): number[] | null {\n if (!raw) return null;\n try {\n const parsed = JSON.parse(raw);\n if (!Array.isArray(parsed)) return null;\n if (parsed.some((x) => typeof x !== \"number\" || !Number.isFinite(x))) return null;\n return parsed as number[];\n } catch {\n return null;\n }\n}\n\n/**\n * Re-embed a Node from its current title/plain/role/cluster. Idempotent; swallows\n * errors so a failed embed never breaks the write that triggered it.\n */\nexport async function reembedNode(id: string): Promise<void> {\n try {\n const { db } = await import(\"@/lib/db\");\n const { node } = await import(\"@/lib/drizzle/schema\");\n const { eq } = await import(\"drizzle-orm\");\n const row = await db.query.node.findFirst({\n where: (t, { eq: eqf }) => eqf(t.id, id),\n columns: { title: true, role: true, plain: true, cluster: true },\n });\n if (!row) return;\n const vec = await embedText(nodeEmbeddingInput(row));\n if (!vec) return;\n await db.update(node).set({ embedding: encodeVector(vec) }).where(eq(node.id, id));\n } catch (e) {\n console.error(\"[embeddings] reembed failed:\", id, e instanceof Error ? e.message : e);\n }\n}\n\n/** Rank candidates by cosine. Returns null when the query embedding fails. */\nexport async function rankByQuery<T extends { embedding: string | null }>(\n query: string,\n candidates: T[],\n): Promise<Array<{ item: T; score: number }> | null> {\n const queryVec = await embedText(query);\n if (!queryVec) return null;\n const scored: Array<{ item: T; score: number }> = [];\n for (const item of candidates) {\n const v = decodeVector(item.embedding);\n if (!v) continue;\n scored.push({ item, score: cosineSimilarity(queryVec, v) });\n }\n scored.sort((a, b) => b.score - a.score);\n return scored;\n}\n","export default function(x, y) {\n var nodes, strength = 1;\n\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force() {\n var i,\n n = nodes.length,\n node,\n sx = 0,\n sy = 0;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], sx += node.x, sy += node.y;\n }\n\n for (sx = (sx / n - x) * strength, sy = (sy / n - y) * strength, i = 0; i < n; ++i) {\n node = nodes[i], node.x -= sx, node.y -= sy;\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n return force;\n}\n","export default function(d) {\n const x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add(this.cover(x, y), x, y, d);\n}\n\nfunction add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, abort.\n if (x0 > x1 || y0 > y1) return this;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n","export default function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else {\n var z = x1 - x0 || 1,\n node = this._root,\n parent,\n i;\n\n while (x0 > x || x >= x1 || y0 > y || y >= y1) {\n i = (y < y0) << 1 | (x < x0);\n parent = new Array(4), parent[i] = node, node = parent, z *= 2;\n switch (i) {\n case 0: x1 = x0 + z, y1 = y0 + z; break;\n case 1: x0 = x1 - z, y1 = y0 + z; break;\n case 2: x1 = x0 + z, y0 = y1 - z; break;\n case 3: x0 = x1 - z, y0 = y1 - z; break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n}\n","export default function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new Quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new Quad(node[3], xm, ym, x2, y2),\n new Quad(node[2], x1, ym, xm, y2),\n new Quad(node[1], xm, y1, x2, ym),\n new Quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add.js\";\nimport tree_cover from \"./cover.js\";\nimport tree_data from \"./data.js\";\nimport tree_extent from \"./extent.js\";\nimport tree_find from \"./find.js\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove.js\";\nimport tree_root from \"./root.js\";\nimport tree_size from \"./size.js\";\nimport tree_visit from \"./visit.js\";\nimport tree_visitAfter from \"./visitAfter.js\";\nimport tree_x, {defaultX} from \"./x.js\";\nimport tree_y, {defaultY} from \"./y.js\";\n\nexport default function quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(random) {\n return (random() - 0.5) * 1e-6;\n}\n","import {quadtree} from \"d3-quadtree\";\nimport constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\nexport default function(radius) {\n var nodes,\n radii,\n random,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, x, y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_nodes, _random) {\n nodes = _nodes;\n random = _random;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n}\n","import constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\n\nfunction index(d) {\n return d.index;\n}\n\nfunction find(nodeById, nodeId) {\n var node = nodeById.get(nodeId);\n if (!node) throw new Error(\"node not found: \" + nodeId);\n return node;\n}\n\nexport default function(links) {\n var id = index,\n strength = defaultStrength,\n strengths,\n distance = constant(30),\n distances,\n nodes,\n count,\n bias,\n random,\n iterations = 1;\n\n if (links == null) links = [];\n\n function defaultStrength(link) {\n return 1 / Math.min(count[link.source.index], count[link.target.index]);\n }\n\n function force(alpha) {\n for (var k = 0, n = links.length; k < iterations; ++k) {\n for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {\n link = links[i], source = link.source, target = link.target;\n x = target.x + target.vx - source.x - source.vx || jiggle(random);\n y = target.y + target.vy - source.y - source.vy || jiggle(random);\n l = Math.sqrt(x * x + y * y);\n l = (l - distances[i]) / l * alpha * strengths[i];\n x *= l, y *= l;\n target.vx -= x * (b = bias[i]);\n target.vy -= y * b;\n source.vx += x * (b = 1 - b);\n source.vy += y * b;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n\n var i,\n n = nodes.length,\n m = links.length,\n nodeById = new Map(nodes.map((d, i) => [id(d, i, nodes), d])),\n link;\n\n for (i = 0, count = new Array(n); i < m; ++i) {\n link = links[i], link.index = i;\n if (typeof link.source !== \"object\") link.source = find(nodeById, link.source);\n if (typeof link.target !== \"object\") link.target = find(nodeById, link.target);\n count[link.source.index] = (count[link.source.index] || 0) + 1;\n count[link.target.index] = (count[link.target.index] || 0) + 1;\n }\n\n for (i = 0, bias = new Array(m); i < m; ++i) {\n link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);\n }\n\n strengths = new Array(m), initializeStrength();\n distances = new Array(m), initializeDistance();\n }\n\n function initializeStrength() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n strengths[i] = +strength(links[i], i, links);\n }\n }\n\n function initializeDistance() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n distances[i] = +distance(links[i], i, links);\n }\n }\n\n force.initialize = function(_nodes, _random) {\n nodes = _nodes;\n random = _random;\n initialize();\n };\n\n force.links = function(_) {\n return arguments.length ? (links = _, initialize(), force) : links;\n };\n\n force.id = function(_) {\n return arguments.length ? (id = _, force) : id;\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initializeStrength(), force) : strength;\n };\n\n force.distance = function(_) {\n return arguments.length ? (distance = typeof _ === \"function\" ? _ : constant(+_), initializeDistance(), force) : distance;\n };\n\n return force;\n}\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","// https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_use\nconst a = 1664525;\nconst c = 1013904223;\nconst m = 4294967296; // 2^32\n\nexport default function() {\n let s = 1;\n return () => (s = (a * s + c) % m) / m;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer} from \"d3-timer\";\nimport lcg from \"./lcg.js\";\n\nexport function x(d) {\n return d.x;\n}\n\nexport function y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\nexport default function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = new Map(),\n stepper = timer(step),\n event = dispatch(\"tick\", \"end\"),\n random = lcg();\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick(iterations) {\n var i, n = nodes.length, node;\n\n if (iterations === undefined) iterations = 1;\n\n for (var k = 0; k < iterations; ++k) {\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.forEach(function(force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n return simulation;\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (node.fx != null) node.x = node.fx;\n if (node.fy != null) node.y = node.fy;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(0.5 + i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes, random);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.forEach(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n randomSource: function(_) {\n return arguments.length ? (random = _, forces.forEach(initializeForce), simulation) : random;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.delete(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n}\n","import {quadtree} from \"d3-quadtree\";\nimport constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\nimport {x, y} from \"./simulation.js\";\n\nexport default function() {\n var nodes,\n node,\n random,\n alpha,\n strength = constant(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i, n = nodes.length, tree = quadtree(nodes, x, y).visitAfter(accumulate);\n for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n strengths = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);\n }\n\n function accumulate(quad) {\n var strength = 0, q, c, weight = 0, x, y, i;\n\n // For internal nodes, accumulate forces from child quadrants.\n if (quad.length) {\n for (x = y = i = 0; i < 4; ++i) {\n if ((q = quad[i]) && (c = Math.abs(q.value))) {\n strength += q.value, weight += c, x += c * q.x, y += c * q.y;\n }\n }\n quad.x = x / weight;\n quad.y = y / weight;\n }\n\n // For leaf nodes, accumulate forces from coincident quadrants.\n else {\n q = quad;\n q.x = q.data.x;\n q.y = q.data.y;\n do strength += strengths[q.data.index];\n while (q = q.next);\n }\n\n quad.value = strength;\n }\n\n function apply(quad, x1, _, x2) {\n if (!quad.value) return true;\n\n var x = quad.x - node.x,\n y = quad.y - node.y,\n w = x2 - x1,\n l = x * x + y * y;\n\n // Apply the Barnes-Hut approximation if possible.\n // Limit forces for very close nodes; randomize direction if coincident.\n if (w * w / theta2 < l) {\n if (l < distanceMax2) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n node.vx += x * quad.value * alpha / l;\n node.vy += y * quad.value * alpha / l;\n }\n return true;\n }\n\n // Otherwise, process points directly.\n else if (quad.length || l >= distanceMax2) return;\n\n // Limit forces for very close nodes; randomize direction if coincident.\n if (quad.data !== node || quad.next) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n }\n\n do if (quad.data !== node) {\n w = strengths[quad.data.index] * alpha / l;\n node.vx += x * w;\n node.vy += y * w;\n } while (quad = quad.next);\n }\n\n force.initialize = function(_nodes, _random) {\n nodes = _nodes;\n random = _random;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.distanceMin = function(_) {\n return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);\n };\n\n force.distanceMax = function(_) {\n return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);\n };\n\n force.theta = function(_) {\n return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);\n };\n\n return force;\n}\n","// Organic 2D layout for the ROADMAP canvas — a synchronous d3-force simulation (the same physics\n// family that powers the Files canvas and Obsidian's graph view). A layered/columnar layout is\n// wrong for a roadmap because most features depend on NOTHING, so they all collapse into one tall\n// strip. Force layout instead spreads independent features across the WIDTH of the board and pulls\n// dependency-linked features into tight clusters, keeping edges short and readable.\n//\n// Deterministic: nodes are sorted by id (stable d3 phyllotaxis seeding) and the simulation's\n// randomness is a seeded PRNG, so the same graph always yields the same layout — which lets the\n// caller gate re-layout on a structural signature and compare positions without spurious churn.\n//\n// Pure (only depends on d3-force) so it can be unit-tested and run on the server.\n\nimport {\n forceCenter,\n forceCollide,\n forceLink,\n forceManyBody,\n forceSimulation,\n type SimulationNodeDatum,\n} from \"d3-force\";\n\nexport interface ForceLayoutNode {\n id: string;\n /** Sub-tasks (parentId set) are pulled tight to their parent with a short link. */\n parentId?: string | null;\n}\n\n/** A DEPENDS edge: `fromId` depends on `toId`. Direction is irrelevant to the physics. */\nexport interface ForceLayoutEdge {\n fromId: string;\n toId: string;\n}\n\nexport interface ForceLayoutOptions {\n /** Resting length of a dependency link (center-to-center). */\n linkDistance?: number;\n /** Repulsion between every pair of cards (negative = repel). */\n charge?: number;\n /** Collision radius so wide cards don't overlap. */\n collideRadius?: number;\n /** Simulation iterations. */\n ticks?: number;\n}\n\n// Defaults tuned for the ~256×110px feature cards. Repulsion is kept GENTLE so collision (not\n// charge) is the binding constraint — that packs cards into a compact cloud that just clears\n// overlap, instead of flinging them across an empty canvas. collideRadius ≈ half a card width +\n// margin so neighbours touch but don't overlap; linkDistance keeps connected cards adjacent.\nconst DEFAULTS = {\n linkDistance: 210,\n charge: -450,\n collideRadius: 132,\n ticks: 500,\n};\n\n// mulberry32 — a tiny deterministic PRNG so the simulation is reproducible (no Math.random).\nfunction seededRandom(seed: number): () => number {\n let a = seed >>> 0;\n return () => {\n a = (a + 0x6d2b79f5) >>> 0;\n let t = a;\n t = Math.imul(t ^ (t >>> 15), t | 1);\n t ^= t + Math.imul(t ^ (t >>> 7), t | 61);\n return ((t ^ (t >>> 14)) >>> 0) / 4294967296;\n };\n}\n\ninterface SimNode extends SimulationNodeDatum {\n id: string;\n}\n\nexport function forceLayoutRoadmap(\n nodes: ForceLayoutNode[],\n edges: ForceLayoutEdge[],\n opts: ForceLayoutOptions = {},\n): Map<string, { x: number; y: number }> {\n const linkDistance = opts.linkDistance ?? DEFAULTS.linkDistance;\n const charge = opts.charge ?? DEFAULTS.charge;\n const collideRadius = opts.collideRadius ?? DEFAULTS.collideRadius;\n const ticks = opts.ticks ?? DEFAULTS.ticks;\n\n // Sort by id → stable phyllotaxis seeding → deterministic output.\n const ordered = [...nodes].sort((a, b) => (a.id < b.id ? -1 : a.id > b.id ? 1 : 0));\n const ids = new Set(ordered.map((n) => n.id));\n const simNodes: SimNode[] = ordered.map((n) => ({ id: n.id }));\n\n const links: { source: string; target: string }[] = [];\n for (const e of edges) {\n if (e.fromId !== e.toId && ids.has(e.fromId) && ids.has(e.toId)) {\n links.push({ source: e.fromId, target: e.toId });\n }\n }\n // CONTAINS: keep a sub-task hugging its parent with a shorter, stronger link.\n for (const n of ordered) {\n if (n.parentId && ids.has(n.parentId)) links.push({ source: n.id, target: n.parentId });\n }\n\n const sim = forceSimulation(simNodes)\n .randomSource(seededRandom(0x9e3779b9))\n .force(\n \"link\",\n forceLink<SimNode, { source: string; target: string }>(links)\n .id((n) => n.id)\n .distance(linkDistance)\n .strength(0.6),\n )\n .force(\"charge\", forceManyBody<SimNode>().strength(charge).distanceMax(1200))\n .force(\"collide\", forceCollide<SimNode>().radius(collideRadius).strength(1))\n .force(\"center\", forceCenter(0, 0).strength(0.08))\n .stop();\n\n for (let i = 0; i < ticks; i++) sim.tick();\n\n const out = new Map<string, { x: number; y: number }>();\n for (const n of simNodes) {\n out.set(n.id, { x: Math.round(n.x ?? 0), y: Math.round(n.y ?? 0) });\n }\n return out;\n}\n","import { readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { dataDir } from \"@/lib/project\";\nimport { writeJsonAtomic } from \"@/lib/atomic-write\";\n\n// Per-workspace marker recording the STRUCTURE the roadmap was last auto-laid-out for. The\n// organic force layout only re-runs when this signature changes (a feature/edge added or removed),\n// so a plain page refresh, a manual card drag, or a Group-by arrangement is NOT clobbered — only a\n// genuine structural change re-tidies the board. Stored as one tiny JSON file in the workspace\n// data dir (same pattern as touched-files / draft store), so no DB schema change is needed.\n\n// Bump when the layout ALGORITHM changes (e.g. force params) so every board re-lays-out once even\n// though its node/edge set is unchanged.\nconst LAYOUT_ALGO_VERSION = \"force-2\";\n\n// Pure: a stable signature of the roadmap's structure (node set + dependency edges). Sorted so it\n// is order-independent; positions/status/titles are deliberately excluded — only the graph shape\n// matters for layout. Prefixed with the algo version so a layout change invalidates old sigs.\nexport function roadmapStructureSignature(\n nodeIds: string[],\n edges: { fromId: string; toId: string }[],\n): string {\n const ns = [...nodeIds].sort().join(\",\");\n const es = edges.map((e) => `${e.fromId}>${e.toId}`).sort().join(\",\");\n return `${LAYOUT_ALGO_VERSION}|${nodeIds.length}|${ns}|${es}`;\n}\n\nfunction sigPath(): string {\n return join(dataDir(), \"roadmap-layout-sig.json\");\n}\n\nexport function readRoadmapLayoutSig(): string | null {\n try {\n const raw = JSON.parse(readFileSync(sigPath(), \"utf8\")) as { sig?: string };\n return raw.sig ?? null;\n } catch {\n return null;\n }\n}\n\nexport function writeRoadmapLayoutSig(sig: string): void {\n writeJsonAtomic(sigPath(), { sig });\n}\n","import { db, type DB } from \"@/lib/db-drizzle\";\nimport { appSetting } from \"@/lib/drizzle/schema\";\n\nexport async function getAppSettings(prisma: DB = db) {\n const [row] = await prisma\n .insert(appSetting)\n .values({ id: \"singleton\" })\n .onConflictDoUpdate({ target: appSetting.id, set: { id: \"singleton\" } })\n .returning();\n return row;\n}\n\nexport async function setAppSettings(\n data: {\n intelModel?: string;\n intelProvider?: string;\n editor?: string;\n currentFeatureId?: string | null;\n },\n prisma: DB = db,\n) {\n const [row] = await prisma\n .insert(appSetting)\n .values({ id: \"singleton\", ...data })\n .onConflictDoUpdate({ target: appSetting.id, set: data })\n .returning();\n return row;\n}\n","import { z } from \"zod\";\nimport { and, count, eq, inArray } from \"drizzle-orm\";\nimport { db } from \"@/lib/db-drizzle\";\nimport { node, nodeFile, edge, appSetting } from \"@/lib/drizzle/schema\";\nimport { bumpVersion } from \"@/lib/ingest\";\nimport { reembedNode } from \"@/lib/embeddings\";\nimport { matchFeature, type Scored } from \"@/lib/match\";\nimport { validateFeatureCreation, validateFront } from \"@/lib/feature-rules\";\nimport { placeWithoutOverlap } from \"@/lib/node-placement\";\nimport { forceLayoutRoadmap } from \"@/lib/roadmap-force-layout\";\nimport {\n readRoadmapLayoutSig,\n roadmapStructureSignature,\n writeRoadmapLayoutSig,\n} from \"@/lib/roadmap-layout-state\";\nimport { createNode } from \"@/lib/mutations\";\nimport { repoRoot } from \"@/lib/project\";\nimport { setAppSettings } from \"@/lib/settings\";\n\nasync function setCurrent(id: string) {\n await setAppSettings({ currentFeatureId: id });\n}\n\n// Map write operations used by the HTTP API + the MCP server. Lets a Claude Code\n// session see the roadmap and register what it's working on: flag an existing\n// feature as \"being worked on\", or add a new one under the right front (or a new front).\n\nexport interface MapView {\n fronts: Array<{\n id: string;\n title: string;\n status: string;\n tasks: Array<{ id: string; title: string; status: string; workingOn: boolean }>;\n }>;\n}\n\nexport async function listMap(): Promise<MapView> {\n const nodes = await db.query.node.findMany({\n where: (t, { eq }) => eq(t.view, \"ROADMAP\"),\n orderBy: (t, { asc }) => asc(t.createdAt),\n });\n const fronts = nodes.filter((n) => !n.parentId);\n return {\n fronts: fronts.map((f) => ({\n id: f.id,\n title: f.title,\n status: f.status,\n tasks: nodes\n .filter((n) => n.parentId === f.id)\n .map((t) => ({\n id: t.id,\n title: t.title,\n status: t.status,\n workingOn: t.status === \"IN_PROGRESS\",\n })),\n })),\n };\n}\n\nexport type StartResult =\n | { action: \"flagged\"; id: string; title: string; via: \"id\" | \"match\"; score?: number }\n | { action: \"created\"; id: string; title: string; front: string | null }\n | { action: \"ambiguous\"; candidates: Scored[] }\n | { action: \"rejected\"; message: string };\n\nasync function setStatus(id: string, status: string) {\n await db.update(node).set({ status }).where(eq(node.id, id));\n await propagateStatusUp(id);\n await bumpVersion();\n}\n\n// ── Parent-derived status propagation ───────────────────────────────────────\n// When a roadmap child's status changes, walk up the parent chain so each\n// ancestor reflects its children's reality. Status doesn't auto-update from\n// progress because the canvas needs the explicit field to colour/sort by.\n//\n// Status classes for the derivation:\n// complete — DONE, CANCELLED, DEPRIORITIZED (off the board, count as \"settled\")\n// active — IN_PROGRESS, BLOCKED\n// pending — PENDING (default)\n//\n// Rules (only applied to ROADMAP nodes):\n// • all children complete → parent DONE\n// • any child active → parent IN_PROGRESS\n// • else → parent PENDING\n//\n// Sticky parent states (CANCELLED, DEPRIORITIZED) are user decisions and win —\n// nothing children do will override them. Unmark them to re-enable derivation.\n\nconst COMPLETE_STATUSES = new Set([\"DONE\", \"CANCELLED\", \"DEPRIORITIZED\"]);\nconst ACTIVE_STATUSES = new Set([\"IN_PROGRESS\", \"BLOCKED\"]);\nconst STICKY_PARENT_STATUSES = new Set([\"CANCELLED\", \"DEPRIORITIZED\"]);\n\nfunction deriveParentStatus(childStatuses: string[]): string {\n if (!childStatuses.length) return \"PENDING\";\n if (childStatuses.every((s) => COMPLETE_STATUSES.has(s))) return \"DONE\";\n if (childStatuses.some((s) => ACTIVE_STATUSES.has(s))) return \"IN_PROGRESS\";\n return \"PENDING\";\n}\n\n/**\n * Recompute the parent of `nodeId` (and onwards up) from its children's\n * statuses. No-op for top-level nodes, ARCHITECTURE-view nodes, or when the\n * parent has a sticky user-set status. Safe to call after any roadmap-node\n * status write; idempotent.\n */\nexport async function propagateStatusUp(nodeId: string): Promise<void> {\n const self = await db.query.node.findFirst({\n where: (t, { eq }) => eq(t.id, nodeId),\n columns: { parentId: true, view: true },\n });\n if (!self?.parentId || self.view !== \"ROADMAP\") return;\n\n const parent = await db.query.node.findFirst({\n where: (t, { eq }) => eq(t.id, self.parentId!),\n columns: { id: true, status: true, view: true },\n });\n if (!parent || parent.view !== \"ROADMAP\") return;\n if (STICKY_PARENT_STATUSES.has(parent.status)) return;\n\n const siblings = await db.query.node.findMany({\n where: (t, { eq }) => eq(t.parentId, parent.id),\n columns: { status: true },\n });\n const derived = deriveParentStatus(siblings.map((s) => s.status));\n if (parent.status === derived) return;\n\n await db.update(node).set({ status: derived }).where(eq(node.id, parent.id));\n await propagateStatusUp(parent.id);\n}\n\n/**\n * A session starts working on a feature. Resolution order:\n * 1. explicit `id` (from beacon_map) → flag it (100% reliable)\n * 2. confident, unambiguous fuzzy match → flag it\n * 3. plausible-but-ambiguous matches → return candidates to disambiguate\n * 4. no match → create it under `front` (creating that front if needed)\n */\n// Lay the committed roadmap board out as an ORGANIC 2D graph (d3-force): independent features\n// spread across the width, dependency-linked features pull into tight clusters with short edges.\n// Called on every /map load and after a feature is created, so an existing board self-heals.\n//\n// Re-runs ONLY when the graph STRUCTURE changes (a feature/edge added or removed), tracked by a\n// per-workspace signature file. A plain refresh, a manual card drag, or a Group-by arrangement\n// leaves the signature untouched and is therefore preserved — the layout never fights the user.\n// DRAFT nodes are excluded (a plan under review owns its own layout in lib/feature-design). Does\n// NOT bump the sync version.\nexport async function healRoadmapLayout(): Promise<void> {\n const all = await db.query.node.findMany({\n where: (t, { eq }) => eq(t.view, \"ROADMAP\"),\n columns: { id: true, parentId: true, source: true, x: true, y: true },\n });\n const nodes = all.filter((n) => n.source !== \"DRAFT\");\n if (nodes.length < 2) return;\n const ids = nodes.map((n) => n.id);\n const edges = await db.query.edge.findMany({\n where: (t, { and, eq }) =>\n and(eq(t.kind, \"DEPENDS\"), inArray(t.fromId, ids), inArray(t.toId, ids)),\n columns: { fromId: true, toId: true },\n });\n\n const sig = roadmapStructureSignature(ids, edges);\n if (readRoadmapLayoutSig() === sig) return; // structure unchanged → keep the current arrangement\n\n const pos = forceLayoutRoadmap(\n nodes.map((n) => ({ id: n.id, parentId: n.parentId })),\n edges,\n );\n const updates: Promise<unknown>[] = [];\n for (const n of nodes) {\n const p = pos.get(n.id);\n if (!p) continue;\n if (Math.round(p.x) === Math.round(n.x) && Math.round(p.y) === Math.round(n.y)) continue;\n updates.push(db.update(node).set({ x: p.x, y: p.y }).where(eq(node.id, n.id)));\n }\n await Promise.all(updates);\n writeRoadmapLayoutSig(sig);\n}\n\nexport async function startFeature(input: {\n title: string;\n id?: string | null;\n front?: string | null;\n detail?: string | null;\n cluster?: string | null;\n}): Promise<StartResult> {\n const title = input.title.trim();\n if (!title) throw new Error(\"title required\");\n\n const nodes = await db.query.node.findMany({ where: (t, { eq }) => eq(t.view, \"ROADMAP\") });\n\n if (input.id) {\n const n = nodes.find((x) => x.id === input.id);\n if (n) {\n await setStatus(n.id, \"IN_PROGRESS\");\n await setCurrent(n.id);\n return { action: \"flagged\", id: n.id, title: n.title, via: \"id\" };\n }\n }\n\n const { best, candidates } = matchFeature(\n title,\n nodes.map((n) => ({ id: n.id, title: n.title })),\n );\n if (best) {\n await setStatus(best.id, \"IN_PROGRESS\");\n await setCurrent(best.id);\n return { action: \"flagged\", id: best.id, title: best.title, via: \"match\", score: best.score };\n }\n if (candidates.length) return { action: \"ambiguous\", candidates };\n\n // No match → create. Guard the loose path the same way propose_plan is guarded: a `front`\n // must reference a REAL existing parent feature (not a domain tag — that footgun is how a bogus\n // \"CRAWL\" front got created), and a brand-new top-level feature must carry a category. A task\n // nested under a front inherits the front's category. Shares lib/feature-rules with the plan path.\n const fronts = nodes.filter((n) => !n.parentId);\n const frontInput = input.front?.trim() || \"\";\n\n const frontErr = frontInput\n ? validateFront(frontInput, fronts.map((n) => ({ id: n.id, title: n.title })))\n : null;\n if (frontErr) return { action: \"rejected\", message: frontErr };\n\n let parentId: string | null = null;\n let frontTitle: string | null = null;\n let inheritedCluster: string | null = null;\n if (frontInput) {\n const f = matchFeature(frontInput, fronts.map((n) => ({ id: n.id, title: n.title }))).best!;\n parentId = f.id;\n frontTitle = f.title;\n inheritedCluster = nodes.find((n) => n.id === f.id)?.cluster ?? null;\n }\n\n const cluster = (input.cluster?.trim() || inheritedCluster) ?? null;\n const createErr = validateFeatureCreation({\n title,\n category: cluster,\n existing: nodes.map((n) => ({ id: n.id, title: n.title, cluster: n.cluster, status: n.status })),\n });\n if (createErr) return { action: \"rejected\", message: createErr };\n\n const siblings = parentId\n ? nodes.filter((n) => n.parentId === parentId).length\n : fronts.length;\n const pos = placeWithoutOverlap(\n nodes.map((n) => ({ x: n.x, y: n.y })),\n {\n x: parentId ? (fronts.find((f) => f.id === parentId)?.x ?? 0) : siblings * 300,\n y: parentId ? 160 + siblings * 110 : 0,\n },\n );\n const [task] = await db\n .insert(node)\n .values({\n view: \"ROADMAP\",\n title,\n plain: input.detail ?? null,\n cluster,\n status: \"IN_PROGRESS\",\n source: \"SESSION\",\n parentId,\n x: pos.x,\n y: pos.y,\n })\n .returning();\n await reembedNode(task.id);\n await propagateStatusUp(task.id);\n // A new feature changes the graph structure → re-tidy the board organically so the new card is\n // placed sensibly instead of in a blind row.\n await healRoadmapLayout();\n await bumpVersion();\n await setCurrent(task.id);\n return { action: \"created\", id: task.id, title, front: frontTitle };\n}\n\nexport async function finishFeature(input: {\n title?: string;\n id?: string;\n}): Promise<{ ok: boolean; id?: string; candidates?: Scored[] }> {\n const nodes = await db.query.node.findMany({ where: (t, { eq }) => eq(t.view, \"ROADMAP\") });\n\n if (input.id) {\n const n = nodes.find((x) => x.id === input.id);\n if (n) {\n await setStatus(n.id, \"DONE\");\n return { ok: true, id: n.id };\n }\n }\n if (!input.title) return { ok: false };\n\n const { best, candidates } = matchFeature(\n input.title,\n nodes.map((n) => ({ id: n.id, title: n.title })),\n );\n if (best) {\n await setStatus(best.id, \"DONE\");\n return { ok: true, id: best.id };\n }\n return { ok: false, candidates: candidates.length ? candidates : undefined };\n}\n\n// Make a reported path repo-relative (paths come from a session's cwd).\nfunction normalizePath(p: string): string {\n let s = p.trim();\n const root = repoRoot();\n if (s.startsWith(root)) s = s.slice(root.length);\n return s.replace(/^[./]+/, \"\").trim();\n}\n\n// ── Architecture components (curated) ───────────────────────────────────────\n// Deliberate upsert of REAL architectural components — the curated replacement for the old\n// per-file auto-derivation. Upserts by title (case-insensitive): existing nodes keep their\n// position; new ones land in their domain's column, stacked below any existing siblings.\n// New nodes are source=\"MANUAL\" so a future /beacon-init (which only replaces source=\"INIT\")\n// never clobbers them. This NEVER creates one-node-per-file — the caller passes real subsystems.\n\nconst ARCH_STATUSES = new Set([\"KEEP\", \"REBUILD\", \"REPLACE\", \"DROP\"]);\nconst archComponentSchema = z.object({\n title: z.string().trim().min(1),\n domain: z.string().trim().min(1),\n role: z.string().nullish(),\n plain: z.string().nullish(),\n status: z.string().nullish(),\n files: z.array(z.string()).optional(),\n depends: z.array(z.string()).optional(),\n});\nexport type ArchComponentInput = z.input<typeof archComponentSchema>;\n\nexport async function upsertArchitectureComponents(input: unknown[]): Promise<number> {\n const parsed = z.array(archComponentSchema).parse(input);\n // De-dup by title (last wins) so a repeated title in one call updates rather than duplicates.\n const byKey = new Map<string, z.infer<typeof archComponentSchema>>();\n for (const c of parsed) byKey.set(c.title.toLowerCase(), c);\n const components = Array.from(byKey.values());\n if (!components.length) return 0;\n\n const existing = await db.query.node.findMany({\n where: (t, { eq }) => eq(t.view, \"ARCHITECTURE\"),\n });\n const nodeByTitle = new Map(existing.map((n) => [n.title.toLowerCase(), n]));\n const idByTitle = new Map<string, string>(existing.map((n) => [n.title.toLowerCase(), n.id]));\n\n // Column x + next free y per domain, seeded from existing nodes so new components stack below\n // their domain siblings rather than overlapping them. New domains get a fresh column.\n const xByDomain = new Map<string, number>();\n const maxYByDomain = new Map<string, number>();\n for (const n of existing) {\n const d = (n.cluster ?? \"\").trim() || \"—\";\n if (!xByDomain.has(d)) xByDomain.set(d, n.x);\n maxYByDomain.set(d, Math.max(maxYByDomain.get(d) ?? -150, n.y));\n }\n let nextCol = existing.length ? Math.max(...existing.map((n) => n.x)) + 320 : 0;\n\n for (const c of components) {\n const key = c.title.toLowerCase();\n const status = c.status && ARCH_STATUSES.has(c.status) ? c.status : \"KEEP\";\n const prior = nodeByTitle.get(key);\n if (prior) {\n await db\n .update(node)\n .set({ cluster: c.domain, role: c.role ?? prior.role, plain: c.plain ?? prior.plain, status })\n .where(eq(node.id, prior.id));\n if (c.files?.length) {\n await db.delete(nodeFile).where(eq(nodeFile.nodeId, prior.id));\n await db\n .insert(nodeFile)\n .values(Array.from(new Set(c.files)).map((path) => ({ nodeId: prior.id, path })));\n }\n await reembedNode(prior.id);\n } else {\n const d = c.domain.trim() || \"—\";\n let x = xByDomain.get(d);\n if (x === undefined) {\n x = nextCol;\n nextCol += 320;\n xByDomain.set(d, x);\n }\n const y = (maxYByDomain.get(d) ?? -150) + 150;\n maxYByDomain.set(d, y);\n const [created] = await db\n .insert(node)\n .values({\n view: \"ARCHITECTURE\",\n source: \"MANUAL\",\n cluster: c.domain,\n title: c.title,\n role: c.role ?? null,\n plain: c.plain ?? null,\n status,\n x,\n y,\n })\n .returning();\n if (c.files?.length) {\n await db\n .insert(nodeFile)\n .values(Array.from(new Set(c.files)).map((path) => ({ nodeId: created.id, path })));\n }\n idByTitle.set(key, created.id);\n await reembedNode(created.id);\n }\n }\n\n // DEPENDS edges (mirror lib/init.ts persistArchitecture), de-duplicated.\n for (const c of components) {\n const fromId = idByTitle.get(c.title.toLowerCase());\n if (!fromId) continue;\n for (const dep of c.depends ?? []) {\n const toId = idByTitle.get(dep.trim().toLowerCase());\n if (!toId || toId === fromId) continue;\n const dup = await db.query.edge.findFirst({\n where: (t, { and, eq }) =>\n and(eq(t.fromId, fromId), eq(t.toId, toId), eq(t.kind, \"DEPENDS\")),\n });\n if (!dup)\n await db\n .insert(edge)\n .values({ fromId, toId, kind: \"DEPENDS\" })\n .catch(() => {});\n }\n }\n\n return components.length;\n}\n\n/** Mark a feature as shipped: replace its description with what the system actually does\n * (markdown), record the files it spans (kept on the FEATURE for the context bundle), and flip\n * its status to DONE in one call. Optionally upserts REAL architecture components when the\n * feature changed a subsystem. Subsumes the older touchFiles + finishFeature flow so the\n * terminal session only needs ONE tool call at the end. */\nexport async function describeFeature(input: {\n id?: string;\n title?: string;\n description: string;\n files?: string[];\n architecture?: unknown[];\n}): Promise<{ ok: boolean; id?: string; candidates?: Scored[] }> {\n const nodes = await db.query.node.findMany({ where: (t, { eq }) => eq(t.view, \"ROADMAP\") });\n let target = input.id ? nodes.find((n) => n.id === input.id) : undefined;\n if (!target && input.title) {\n const { best, candidates } = matchFeature(\n input.title,\n nodes.map((n) => ({ id: n.id, title: n.title })),\n );\n if (best) target = nodes.find((n) => n.id === best.id);\n else if (candidates.length) return { ok: false, candidates };\n }\n if (!target) return { ok: false };\n await db\n .update(node)\n .set({ plain: input.description, status: \"DONE\" })\n .where(eq(node.id, target.id));\n await reembedNode(target.id);\n await propagateStatusUp(target.id);\n\n // Record files (idempotent — only adds new ones).\n if (input.files?.length) {\n const paths = Array.from(new Set(input.files.map(normalizePath).filter(Boolean)));\n for (const path of paths) {\n await db\n .insert(nodeFile)\n .values({ nodeId: target.id, path })\n .onConflictDoNothing({ target: [nodeFile.nodeId, nodeFile.path] });\n }\n }\n\n // The feature is done — drop the session's \"current feature\" pointer if it\n // pointed here, so edits stop auto-attaching and the loop closes cleanly (and a\n // future Stop-style nudge couldn't fire on already-registered work).\n await db\n .update(appSetting)\n .set({ currentFeatureId: null })\n .where(eq(appSetting.currentFeatureId, target.id));\n\n // Deliberate architecture updates (only when the feature changed a real subsystem). This is\n // the curated replacement for the old per-file auto-derivation — never one-node-per-file.\n if (input.architecture?.length) {\n await upsertArchitectureComponents(input.architecture);\n }\n\n await bumpVersion();\n return { ok: true, id: target.id };\n}\n\n/** Record the files a feature spans (reported by a session as it works). */\nexport async function touchFiles(input: {\n id?: string;\n title?: string;\n files: string[];\n}): Promise<{ ok: boolean; id?: string; count?: number; candidates?: Scored[] }> {\n const files = Array.from(new Set((input.files ?? []).map(normalizePath).filter(Boolean)));\n const nodes = await db.query.node.findMany({ where: (t, { eq }) => eq(t.view, \"ROADMAP\") });\n\n let target = input.id ? nodes.find((n) => n.id === input.id) : undefined;\n if (!target && input.title) {\n const { best, candidates } = matchFeature(\n input.title,\n nodes.map((n) => ({ id: n.id, title: n.title })),\n );\n if (best) target = nodes.find((n) => n.id === best.id);\n else if (candidates.length) return { ok: false, candidates };\n }\n if (!target) return { ok: false };\n\n for (const path of files) {\n await db\n .insert(nodeFile)\n .values({ nodeId: target.id, path })\n .onConflictDoNothing({ target: [nodeFile.nodeId, nodeFile.path] });\n }\n await bumpVersion();\n const fileCount = (\n await db.select({ n: count() }).from(nodeFile).where(eq(nodeFile.nodeId, target.id))\n )[0].n;\n return { ok: true, id: target.id, count: fileCount };\n}\n\n// ── Bulk sub-task creation under a parent ───────────────────────────────────\n// Lets a terminal session add N sub-tasks under a feature in one call (used by the\n// `beacon_add_subtasks` MCP tool). Parent is resolved by id (preferred) or by\n// fuzzy-title match. Children inherit the parent's view + cluster; positioning lands\n// them in a row directly below the parent so they don't pile on top of existing nodes.\n\nexport interface AddSubtaskItem {\n title: string;\n plain?: string | null;\n}\n\nexport type AddSubtasksResult =\n | {\n ok: true;\n parent: { id: string; title: string };\n created: Array<{ id: string; title: string }>;\n }\n | { ok: false; reason: \"no_items\" }\n | { ok: false; reason: \"parent_not_found\" }\n | { ok: false; reason: \"ambiguous\"; candidates: Scored[] }\n | { ok: false; reason: \"duplicate\"; message: string };\n\nexport async function addSubtasksUnder(input: {\n parentId?: string | null;\n parentTitle?: string | null;\n items: AddSubtaskItem[];\n}): Promise<AddSubtasksResult> {\n const items = input.items.filter((i) => i.title.trim());\n if (!items.length) return { ok: false, reason: \"no_items\" };\n\n type ParentNode = Awaited<ReturnType<typeof db.query.node.findFirst>>;\n let parent: ParentNode = undefined;\n if (input.parentId) {\n parent = await db.query.node.findFirst({ where: (t, { eq }) => eq(t.id, input.parentId!) });\n } else if (input.parentTitle && input.parentTitle.trim()) {\n const candidates = await db.query.node.findMany({\n where: (t, { isNull }) => isNull(t.parentId),\n columns: { id: true, title: true, cluster: true, status: true },\n });\n const { best, candidates: alt } = matchFeature(\n input.parentTitle.trim(),\n candidates.map((c) => ({\n id: c.id,\n title: c.title,\n cluster: c.cluster,\n status: c.status,\n })),\n );\n if (best) parent = await db.query.node.findFirst({ where: (t, { eq }) => eq(t.id, best.id) });\n else if (alt.length) return { ok: false, reason: \"ambiguous\", candidates: alt };\n }\n if (!parent) return { ok: false, reason: \"parent_not_found\" };\n const parentNode = parent;\n\n // Don't recreate a sub-task that already lives under this parent — hard-block so the agent\n // doesn't pile up near-identical children when it re-runs.\n const siblings = await db.query.node.findMany({\n where: (t, { eq }) => eq(t.parentId, parentNode.id),\n columns: { id: true, title: true },\n });\n const dups = items.filter((it) => matchFeature(it.title.trim(), siblings).best);\n if (dups.length) {\n return {\n ok: false,\n reason: \"duplicate\",\n message:\n `⛔ These sub-tasks already exist under \"${parentNode.title}\": ` +\n `${dups.map((d) => `\"${d.title.trim()}\"`).join(\", \")}. ` +\n \"Drop the duplicates — only add genuinely new sub-tasks.\",\n };\n }\n\n // Obstacles = every node already on this view; children land in a row below the parent but get\n // nudged clear of anything already there (and of earlier children in this same batch).\n const obstacles = (\n await db.query.node.findMany({\n where: (t, { eq }) => eq(t.view, parentNode.view),\n columns: { x: true, y: true },\n })\n ).map((n) => ({ x: n.x, y: n.y }));\n const created: Array<{ id: string; title: string }> = [];\n for (let i = 0; i < items.length; i++) {\n const it = items[i];\n const pos = placeWithoutOverlap(obstacles, { x: parentNode.x + i * 240, y: parentNode.y + 200 });\n obstacles.push(pos);\n const n = await createNode({\n view: parentNode.view as \"ROADMAP\" | \"ARCHITECTURE\",\n title: it.title.trim(),\n plain: it.plain ?? null,\n cluster: parentNode.cluster ?? null,\n parentId: parentNode.id,\n x: pos.x,\n y: pos.y,\n });\n created.push({ id: n.id, title: n.title });\n }\n\n // A fresh PENDING child under a previously DONE parent should bubble the parent\n // back to PENDING. Walking up from any one child reaches every ancestor.\n if (created.length) await propagateStatusUp(created[0].id);\n await bumpVersion();\n return { ok: true, parent: { id: parentNode.id, title: parentNode.title }, created };\n}\n","import { z } from \"zod\";\n\nexport const VIEW = z.enum([\"ROADMAP\", \"ARCHITECTURE\"]);\n\nexport const NODE_STATUS = z.enum([\n // roadmap\n \"PENDING\",\n \"IN_PROGRESS\",\n \"DONE\",\n \"BLOCKED\",\n \"CANCELLED\",\n \"DEPRIORITIZED\",\n // architecture disposition\n \"KEEP\",\n \"REBUILD\",\n \"REPLACE\",\n \"DROP\",\n]);\n\nexport const EDGE_KIND = z.enum([\"DEPENDS\", \"CONTAINS\", \"RELATES\", \"REPLACES\"]);\n\nexport const createNodeSchema = z.object({\n view: VIEW,\n title: z.string().trim().min(1).max(200),\n cluster: z.string().trim().max(64).nullish(),\n role: z.string().trim().max(500).nullish(),\n plain: z.string().trim().max(2000).nullish(),\n parentId: z.string().nullish(),\n status: NODE_STATUS.optional(),\n priority: z.number().int().min(0).max(3).optional(),\n x: z.number().optional(),\n y: z.number().optional(),\n sourceRef: z.string().trim().max(300).nullish(),\n});\nexport type CreateNodeInput = z.input<typeof createNodeSchema>;\n\nexport const updateNodeSchema = z.object({\n title: z.string().trim().min(1).max(200).optional(),\n role: z.string().trim().max(500).nullish(),\n plain: z.string().trim().max(2000).nullish(),\n cluster: z.string().trim().max(64).nullish(),\n status: NODE_STATUS.optional(),\n priority: z.number().int().min(0).max(3).optional(),\n sourceRef: z.string().trim().max(300).nullish(),\n});\nexport type UpdateNodeInput = z.input<typeof updateNodeSchema>;\n\nexport const positionSchema = z.object({\n x: z.number(),\n y: z.number(),\n});\n\nexport const createEdgeSchema = z.object({\n fromId: z.string().min(1),\n toId: z.string().min(1),\n kind: z.enum([\"DEPENDS\", \"RELATES\", \"REPLACES\"]).optional(),\n label: z.string().trim().max(80).nullish(),\n // Which handle on each card the user dragged from / to (e.g. \"sr\", \"tl\").\n sourceHandle: z.string().trim().max(16).nullish(),\n targetHandle: z.string().trim().max(16).nullish(),\n});\nexport type CreateEdgeInput = z.input<typeof createEdgeSchema>;\n","import { and, eq } from \"drizzle-orm\";\nimport { db } from \"@/lib/db-drizzle\";\nimport { node, edge, dbTable, endpoint } from \"@/lib/drizzle/schema\";\nimport { reembedNode } from \"@/lib/embeddings\";\nimport { propagateStatusUp } from \"@/lib/map-ops\";\nimport {\n NODE_STATUS,\n createEdgeSchema,\n createNodeSchema,\n positionSchema,\n updateNodeSchema,\n type CreateEdgeInput,\n type CreateNodeInput,\n type UpdateNodeInput,\n} from \"@/lib/schemas\";\n\n// Pure data mutations (validation + db). Kept free of Next imports so they can be\n// unit-tested directly; the `app/actions/*` wrappers add cache revalidation.\n\n// Semantic-search fields — when any of these change, the row's embedding needs\n// to refresh. Status / position / priority don't affect the vector, so frequent\n// drag-and-status mutations skip the (~50ms) embed.\nconst SEMANTIC_FIELDS = new Set([\"title\", \"role\", \"plain\", \"cluster\"]);\n\nexport async function createNode(input: CreateNodeInput) {\n const data = createNodeSchema.parse(input);\n const defaultStatus = data.view === \"ARCHITECTURE\" ? \"REBUILD\" : \"PENDING\";\n const [created] = await db\n .insert(node)\n .values({\n view: data.view,\n title: data.title,\n cluster: data.cluster ?? null,\n role: data.role ?? null,\n plain: data.plain ?? null,\n parentId: data.parentId ?? null,\n status: data.status ?? defaultStatus,\n priority: data.priority ?? 2,\n x: data.x ?? 0,\n y: data.y ?? 0,\n sourceRef: data.sourceRef ?? null,\n })\n .returning();\n await reembedNode(created.id);\n return created;\n}\n\n// A roadmap dependency edge (or RELATES/REPLACES) created by dragging between two node\n// handles. Idempotent on the unique [fromId,toId,kind] — duplicate drags return the existing\n// edge instead of erroring, since drag gestures are easy to repeat by accident.\nexport async function createEdge(input: CreateEdgeInput) {\n const data = createEdgeSchema.parse(input);\n if (data.fromId === data.toId) throw new Error(\"Self-edge not allowed\");\n const kind = data.kind ?? \"DEPENDS\";\n const existing = await db.query.edge.findFirst({\n where: (e, { and: a, eq: eqf }) =>\n a(eqf(e.fromId, data.fromId), eqf(e.toId, data.toId), eqf(e.kind, kind)),\n });\n if (existing) return existing;\n const [created] = await db\n .insert(edge)\n .values({\n fromId: data.fromId,\n toId: data.toId,\n kind,\n label: data.label ?? null,\n sourceHandle: data.sourceHandle ?? null,\n targetHandle: data.targetHandle ?? null,\n })\n .returning();\n return created;\n}\n\nexport async function updateNode(id: string, input: UpdateNodeInput) {\n const data = updateNodeSchema.parse(input);\n const [updated] = await db.update(node).set(data).where(eq(node.id, id)).returning();\n // Re-embed only when a semantic field actually changed — drag/status updates\n // happen constantly and don't change the vector.\n const semanticChanged = Object.keys(data).some((k) => SEMANTIC_FIELDS.has(k));\n if (semanticChanged) await reembedNode(id);\n // Status changes need to bubble up to parent.\n if (data.status !== undefined) await propagateStatusUp(id);\n return updated;\n}\n\nexport async function setNodeStatus(id: string, status: string) {\n const parsed = NODE_STATUS.parse(status);\n const [updated] = await db.update(node).set({ status: parsed }).where(eq(node.id, id)).returning();\n await propagateStatusUp(id);\n return updated;\n}\n\n/** Soft \"park\": mark deprioritized and drop to the lowest priority. Reversible. */\nexport async function deprioritizeNode(id: string) {\n const [updated] = await db\n .update(node)\n .set({ status: \"DEPRIORITIZED\", priority: 3 })\n .where(eq(node.id, id))\n .returning();\n await propagateStatusUp(id);\n return updated;\n}\n\n/** Soft cancel: keep the node for history, rendered struck-through. Not a delete. */\nexport async function cancelNode(id: string) {\n const [updated] = await db\n .update(node)\n .set({ status: \"CANCELLED\" })\n .where(eq(node.id, id))\n .returning();\n await propagateStatusUp(id);\n return updated;\n}\n\nexport async function deleteNode(id: string) {\n const [deleted] = await db.delete(node).where(eq(node.id, id)).returning();\n return deleted;\n}\n\nexport async function updateNodePosition(id: string, x: number, y: number) {\n const pos = positionSchema.parse({ x, y });\n const [updated] = await db.update(node).set(pos).where(eq(node.id, id)).returning();\n return updated;\n}\n\n// Persist many node positions in one round-trip — used by the roadmap \"Arrange\" action,\n// which repositions every feature at once. Mirrors the code-graph batch-position route.\nexport async function updateNodePositions(rows: { id: string; x: number; y: number }[]) {\n await Promise.all(\n rows.map((r) => {\n const pos = positionSchema.parse({ x: r.x, y: r.y });\n return db.update(node).set(pos).where(eq(node.id, r.id));\n }),\n );\n return rows.length;\n}\n\n// ── Database-design map positions ───────────────────────────────────────────\n\nexport async function updateDbTablePosition(id: string, x: number, y: number) {\n const pos = positionSchema.parse({ x, y });\n const [updated] = await db.update(dbTable).set(pos).where(eq(dbTable.id, id)).returning();\n return updated;\n}\n\nexport async function updateEndpointPosition(id: string, x: number, y: number) {\n const pos = positionSchema.parse({ x, y });\n const [updated] = await db.update(endpoint).set(pos).where(eq(endpoint.id, id)).returning();\n return updated;\n}\n"],"names":["pipelinePromise","getEmbedder","pipeline","catch","e","embedText","text","trimmed","trim","embedder","out","pooling","normalize","Array","from","data","console","error","Error","message","nodeEmbeddingInput","node","title","role","plain","cluster","filter","Boolean","join","cosineSimilarity","a","b","length","dot","normA","normB","i","Math","sqrt","encodeVector","v","JSON","stringify","decodeVector","raw","parsed","parse","isArray","some","x","Number","isFinite","reembedNode","id","db","eq","row","query","findFirst","where","t","eqf","columns","vec","update","set","embedding","rankByQuery","candidates","queryVec","scored","item","push","score","sort","y","nodes","strength","force","n","sx","sy","initialize","_","arguments","LAYOUT_ALGO_VERSION","roadmapStructureSignature","nodeIds","edges","ns","es","map","fromId","toId","sigPath","readRoadmapLayoutSig","sig","writeRoadmapLayoutSig","getAppSettings","prisma","insert","values","onConflictDoUpdate","target","returning","setAppSettings","setCurrent","currentFeatureId","listMap","findMany","view","orderBy","asc","createdAt","fronts","parentId","f","status","tasks","workingOn","setStatus","propagateStatusUp","COMPLETE_STATUSES","Set","ACTIVE_STATUSES","STICKY_PARENT_STATUSES","deriveParentStatus","childStatuses","every","s","has","nodeId","self","parent","siblings","derived","healRoadmapLayout","all","source","ids","edge","and","kind","pos","updates","p","get","round","Promise","startFeature","input","find","action","via","best","frontInput","front","frontErr","frontTitle","inheritedCluster","createErr","category","existing","task","detail","finishFeature","ok","undefined","normalizePath","root","startsWith","slice","replace","ARCH_STATUSES","archComponentSchema","object","string","min","domain","nullish","files","array","optional","depends","upsertArchitectureComponents","byKey","Map","c","toLowerCase","components","nodeByTitle","idByTitle","xByDomain","maxYByDomain","d","max","nextCol","key","prior","delete","path","created","dep","dup","describeFeature","description","paths","onConflictDoNothing","architecture","touchFiles","fileCount","select","count","addSubtasksUnder","items","reason","parentTitle","isNull","alt","parentNode","dups","it","obstacles","VIEW","enum","NODE_STATUS","EDGE_KIND","createNodeSchema","priority","number","int","sourceRef","updateNodeSchema","positionSchema","createEdgeSchema","label","sourceHandle","targetHandle","SEMANTIC_FIELDS","createNode","defaultStatus","createEdge","updateNode","updated","semanticChanged","Object","keys","k","setNodeStatus","deprioritizeNode","cancelNode","deleteNode","deleted","updateNodePosition","updateNodePositions","rows","r","updateDbTablePosition","updateEndpointPosition"],"mappings":"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","ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]}
@@ -0,0 +1,3 @@
1
+ module.exports=[72009,a=>a.a(async(b,c)=>{try{var d=a.i(80384),e=b([d]);[d]=e.then?(await e)():e,a.s([]),c()}catch(a){c(a)}},!1),66879,a=>a.a(async(b,c)=>{try{var d=a.i(72009),e=a.i(80384);a.i(28721);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s(["db",()=>e.db]),c()}catch(a){c(a)}},!1)];
2
+
3
+ //# sourceMappingURL=lib_db_ts_0bo045t._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../lib/db.ts"],"sourcesContent":["// Beacon's data client is now Drizzle over Bun's native SQLite (see lib/db-drizzle.ts). This module\n// stays as the stable import path — `import { db } from \"@/lib/db\"` keeps working everywhere — by\n// re-exporting the Drizzle client and its per-workspace helpers. The old Prisma `Db` type name is\n// aliased to the Drizzle `DB` for back-compat.\nexport { db, defaultDb, getDb, invalidateDb, runWithWorkspace, type DB } from \"@/lib/db-drizzle\";\nexport type { DB as Db } from \"@/lib/db-drizzle\";\n"],"names":[],"mappings":"8CAIA,IAAA,EAAA,EAAA,CAAA,CAAA"}
@@ -0,0 +1,3 @@
1
+ module.exports=[17781,a=>{"use strict";let b;var c,d=a.i(85880),e=a.i(49701),f=a.i(59547),g=a.i(3413),h=a.i(33625),i=a.i(31333),j=a.i(38538);let k=BigInt(0x100000000-1),l=BigInt(32);function m(a,b=""){if("number"!=typeof a){let c=b&&`"${b}" `;throw TypeError(`${c}expected number, got ${typeof a}`)}if(!Number.isSafeInteger(a)||a<0){let c=b&&`"${b}" `;throw RangeError(`${c}expected integer >= 0, got ${a}`)}}function n(a,b,c=""){let d=a instanceof Uint8Array||ArrayBuffer.isView(a)&&"Uint8Array"===a.constructor.name&&"BYTES_PER_ELEMENT"in a&&1===a.BYTES_PER_ELEMENT,e=a?.length,f=void 0!==b;if(!d||f&&e!==b){let g=(c&&`"${c}" `)+"expected Uint8Array"+(f?` of length ${b}`:"")+", got "+(d?`length=${e}`:`type=${typeof a}`);if(!d)throw TypeError(g);throw RangeError(g)}return a}function o(a,b=!0){if(a.destroyed)throw Error("Hash instance has been destroyed");if(b&&a.finished)throw Error("Hash#digest() has already been called")}function p(...a){for(let b=0;b<a.length;b++)a[b].fill(0)}let q=68===new Uint8Array(new Uint32Array([0x11223344]).buffer)[0]?a=>a:function(a){for(let c=0;c<a.length;c++){var b;a[c]=(b=a[c])<<24&0xff000000|b<<8&0xff0000|b>>>8&65280|b>>>24&255}return a},r=BigInt(0),s=BigInt(1),t=BigInt(2),u=BigInt(7),v=BigInt(256),w=BigInt(113),x=[],y=[],z=[];for(let a=0,b=s,c=1,d=0;a<24;a++){[c,d]=[d,(2*c+3*d)%5],x.push(2*(5*d+c)),y.push((a+1)*(a+2)/2%64);let e=r;for(let a=0;a<7;a++)(b=(b<<s^(b>>u)*w)%v)&t&&(e^=s<<(s<<BigInt(a))-s);z.push(e)}let A=function(a,b=!1){let c=a.length,d=new Uint32Array(c),e=new Uint32Array(c);for(let f=0;f<c;f++){let{h:c,l:g}=function(a,b=!1){return b?{h:Number(a&k),l:Number(a>>l&k)}:{h:0|Number(a>>l&k),l:0|Number(a&k)}}(a[f],b);[d[f],e[f]]=[c,g]}return[d,e]}(z,!0),B=A[0],C=A[1],D=(a,b,c)=>c>32?b<<c-32|a>>>64-c:a<<c|b>>>32-c,E=(a,b,c)=>c>32?a<<c-32|b>>>64-c:b<<c|a>>>32-c;class F{state;pos=0;posOut=0;finished=!1;state32;destroyed=!1;blockLen;suffix;outputLen;canXOF;enableXOF=!1;rounds;constructor(a,b,c,d=!1,e=24){if(this.blockLen=a,this.suffix=b,this.outputLen=c,this.enableXOF=d,this.canXOF=d,this.rounds=e,m(c,"outputLen"),!(0<a&&a<200))throw Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=function(a){return new Uint32Array(a.buffer,a.byteOffset,Math.floor(a.byteLength/4))}(this.state)}clone(){return this._cloneInto()}keccak(){q(this.state32),function(a,b=24){if(m(b,"rounds"),b<1||b>24)throw Error('"rounds" expected integer 1..24');let c=new Uint32Array(10);for(let d=24-b;d<24;d++){for(let b=0;b<10;b++)c[b]=a[b]^a[b+10]^a[b+20]^a[b+30]^a[b+40];for(let b=0;b<10;b+=2){let d=(b+8)%10,e=(b+2)%10,f=c[e],g=c[e+1],h=D(f,g,1)^c[d],i=E(f,g,1)^c[d+1];for(let c=0;c<50;c+=10)a[b+c]^=h,a[b+c+1]^=i}let b=a[2],e=a[3];for(let c=0;c<24;c++){let d=y[c],f=D(b,e,d),g=E(b,e,d),h=x[c];b=a[h],e=a[h+1],a[h]=f,a[h+1]=g}for(let b=0;b<50;b+=10){let c=a[b],d=a[b+1],e=a[b+2],f=a[b+3];a[b]^=~a[b+2]&a[b+4],a[b+1]^=~a[b+3]&a[b+5],a[b+2]^=~a[b+4]&a[b+6],a[b+3]^=~a[b+5]&a[b+7],a[b+4]^=~a[b+6]&a[b+8],a[b+5]^=~a[b+7]&a[b+9],a[b+6]^=~a[b+8]&c,a[b+7]^=~a[b+9]&d,a[b+8]^=~c&e,a[b+9]^=~d&f}a[0]^=B[d],a[1]^=C[d]}p(c)}(this.state32,this.rounds),q(this.state32),this.posOut=0,this.pos=0}update(a){o(this),n(a);let{blockLen:b,state:c}=this,d=a.length;for(let e=0;e<d;){let f=Math.min(b-this.pos,d-e);for(let b=0;b<f;b++)c[this.pos++]^=a[e++];this.pos===b&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:a,suffix:b,pos:c,blockLen:d}=this;a[c]^=b,(128&b)!=0&&c===d-1&&this.keccak(),a[d-1]^=128,this.keccak()}writeInto(a){o(this,!1),n(a),this.finish();let b=this.state,{blockLen:c}=this;for(let d=0,e=a.length;d<e;){this.posOut>=c&&this.keccak();let f=Math.min(c-this.posOut,e-d);a.set(b.subarray(this.posOut,this.posOut+f),d),this.posOut+=f,d+=f}return a}xofInto(a){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(a)}xof(a){return m(a),this.xofInto(new Uint8Array(a))}digestInto(a){n(a,void 0,"digestInto() output");let b=this.outputLen;if(a.length<b)throw RangeError('"digestInto() output" expected to be of length >='+b);if(this.finished)throw Error("digest() was already called");this.writeInto(a.subarray(0,this.outputLen)),this.destroy()}digest(){let a=new Uint8Array(this.outputLen);return this.digestInto(a),a}destroy(){this.destroyed=!0,p(this.state)}_cloneInto(a){let{blockLen:b,suffix:c,outputLen:d,rounds:e,enableXOF:f}=this;return(a||=new F(b,c,d,f,e)).blockLen=b,a.state32.set(this.state32),a.pos=this.pos,a.posOut=this.posOut,a.finished=this.finished,a.rounds=e,a.suffix=c,a.outputLen=d,a.enableXOF=f,a.canXOF=this.canXOF,a.destroyed=this.destroyed,a}}let G=((a,b,c,d={})=>(function(a,b={}){let c=(b,c)=>a(c).update(b).digest(),d=a(void 0);return c.outputLen=d.outputLen,c.blockLen=d.blockLen,c.canXOF=d.canXOF,c.create=b=>a(b),Object.assign(c,b),Object.freeze(c)})(()=>new F(b,a,c),d))(6,72,64,{oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,10])});var H=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,I=Math.ceil,J=Math.floor,K="[BigNumber Error] ",L=K+"Number primitive has more than 15 significant digits: ",M=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13];function N(a){var b=0|a;return a>0||a===b?b:b-1}function O(a){for(var b,c,d=1,e=a.length,f=a[0]+"";d<e;){for(c=14-(b=a[d++]+"").length;c--;b="0"+b);f+=b}for(e=f.length;48===f.charCodeAt(--e););return f.slice(0,e+1||1)}function P(a,b){var c,d,e=a.c,f=b.c,g=a.s,h=b.s,i=a.e,j=b.e;if(!g||!h)return null;if(c=e&&!e[0],d=f&&!f[0],c||d)return c?d?0:-h:g;if(g!=h)return g;if(c=g<0,d=i==j,!e||!f)return d?0:!e^c?1:-1;if(!d)return i>j^c?1:-1;for(g=0,h=(i=e.length)<(j=f.length)?i:j;g<h;g++)if(e[g]!=f[g])return e[g]>f[g]^c?1:-1;return i==j?0:i>j^c?1:-1}function Q(a,b,c,d){if(a<b||a>c||a!==J(a))throw Error(K+(d||"Argument")+("number"==typeof a?a<b||a>c?" out of range: ":" not an integer: ":" not a primitive number: ")+String(a))}function R(a){var b=a.c.length-1;return N(a.e/14)==b&&a.c[b]%2!=0}function S(a,b){return(a.length>1?a.charAt(0)+"."+a.slice(1):a)+(b<0?"e":"e+")+b}function T(a,b,c){var d,e;if(b<0){for(e=c+".";++b;e+=c);a=e+a}else if(d=a.length,++b>d){for(e=c,b-=d;--b;e+=c);a+=e}else b<d&&(a=a.slice(0,b)+"."+a.slice(b));return a}var U=function a(b){var c,d,e,f,g,h,i,j,k,l=z.prototype={constructor:z,toString:null,valueOf:null},m=new z(1),n=20,o=4,p=-7,q=21,r=-1e7,s=1e7,t=!1,u=1,v=0,w={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},x="0123456789abcdefghijklmnopqrstuvwxyz",y=!0;function z(a,b){var c,d,e,f,g,h,i,l,m=this;if(!(m instanceof z))return new z(a,b);if(null==b){if(a&&!0===a._isBigNumber){m.s=a.s,!a.c||a.e>s?m.c=m.e=null:a.e<r?m.c=[m.e=0]:(m.e=a.e,m.c=a.c.slice());return}if((h="number"==typeof a)&&0*a==0){if(m.s=1/a<0?(a=-a,-1):1,a===~~a){for(f=0,g=a;g>=10;g/=10,f++);f>s?m.c=m.e=null:(m.e=f,m.c=[a]);return}l=String(a)}else{if(!H.test(l=String(a)))return k(m,l,h);m.s=45==l.charCodeAt(0)?(l=l.slice(1),-1):1}(f=l.indexOf("."))>-1&&(l=l.replace(".","")),(g=l.search(/e/i))>0?(f<0&&(f=g),f+=+l.slice(g+1),l=l.substring(0,g)):f<0&&(f=l.length)}else{if(Q(b,2,x.length,"Base"),10==b&&y)return D(m=new z(a),n+m.e+1,o);if(l=String(a),h="number"==typeof a){if(0*a!=0)return k(m,l,h,b);if(m.s=1/a<0?(l=l.slice(1),-1):1,z.DEBUG&&l.replace(/^0\.0*|\./,"").length>15)throw Error(L+a)}else m.s=45===l.charCodeAt(0)?(l=l.slice(1),-1):1;for(c=x.slice(0,b),f=g=0,i=l.length;g<i;g++)if(0>c.indexOf(d=l.charAt(g))){if("."==d){if(g>f){f=i;continue}}else if(!e&&(l==l.toUpperCase()&&(l=l.toLowerCase())||l==l.toLowerCase()&&(l=l.toUpperCase()))){e=!0,g=-1,f=0;continue}return k(m,String(a),h,b)}h=!1,(f=(l=j(l,b,10,m.s)).indexOf("."))>-1?l=l.replace(".",""):f=l.length}for(g=0;48===l.charCodeAt(g);g++);for(i=l.length;48===l.charCodeAt(--i););if(l=l.slice(g,++i)){if(i-=g,h&&z.DEBUG&&i>15&&(a>0x1fffffffffffff||a!==J(a)))throw Error(L+m.s*a);if((f=f-g-1)>s)m.c=m.e=null;else if(f<r)m.c=[m.e=0];else{if(m.e=f,m.c=[],g=(f+1)%14,f<0&&(g+=14),g<i){for(g&&m.c.push(+l.slice(0,g)),i-=14;g<i;)m.c.push(+l.slice(g,g+=14));g=14-(l=l.slice(g)).length}else g-=i;for(;g--;l+="0");m.c.push(+l)}}else m.c=[m.e=0]}function A(a,b,c,d){var e,f,g,h,i;if(null==c?c=o:Q(c,0,8),!a.c)return a.toString();if(e=a.c[0],g=a.e,null==b)i=O(a.c),i=1==d||2==d&&(g<=p||g>=q)?S(i,g):T(i,g,"0");else if(f=(a=D(new z(a),b,c)).e,h=(i=O(a.c)).length,1==d||2==d&&(b<=f||f<=p)){for(;h<b;i+="0",h++);i=S(i,f)}else if(b-=g+(2===d&&f>g),i=T(i,f,"0"),f+1>h){if(--b>0)for(i+=".";b--;i+="0");}else if((b+=f-h)>0)for(f+1==h&&(i+=".");b--;i+="0");return a.s<0&&e?"-"+i:i}function B(a,b){for(var c,d,e=1,f=new z(a[0]);e<a.length;e++)(d=new z(a[e])).s&&(c=P(f,d))!==b&&(0!==c||f.s!==b)||(f=d);return f}function C(a,b,c){for(var d=1,e=b.length;!b[--e];b.pop());for(e=b[0];e>=10;e/=10,d++);return(c=d+14*c-1)>s?a.c=a.e=null:c<r?a.c=[a.e=0]:(a.e=c,a.c=b),a}function D(a,b,c,d){var e,f,g,h,i,j,k,l=a.c;if(l){a:{for(e=1,h=l[0];h>=10;h/=10,e++);if((f=b-e)<0)f+=14,g=b,k=J((i=l[j=0])/M[e-g-1]%10);else if((j=I((f+1)/14))>=l.length)if(d){for(;l.length<=j;l.push(0));i=k=0,e=1,f%=14,g=f-14+1}else break a;else{for(e=1,i=h=l[j];h>=10;h/=10,e++);f%=14,k=(g=f-14+e)<0?0:J(i/M[e-g-1]%10)}if(d=d||b<0||null!=l[j+1]||(g<0?i:i%M[e-g-1]),d=c<4?(k||d)&&(0==c||c==(a.s<0?3:2)):k>5||5==k&&(4==c||d||6==c&&(f>0?g>0?i/M[e-g]:0:l[j-1])%10&1||c==(a.s<0?8:7)),b<1||!l[0])return l.length=0,d?(b-=a.e+1,l[0]=M[(14-b%14)%14],a.e=-b||0):l[0]=a.e=0,a;if(0==f?(l.length=j,h=1,j--):(l.length=j+1,h=M[14-f],l[j]=g>0?J(i/M[e-g]%M[g])*h:0),d)for(;;)if(0==j){for(f=1,g=l[0];g>=10;g/=10,f++);for(g=l[0]+=h,h=1;g>=10;g/=10,h++);f!=h&&(a.e++,1e14==l[0]&&(l[0]=1));break}else{if(l[j]+=h,1e14!=l[j])break;l[j--]=0,h=1}for(f=l.length;0===l[--f];l.pop());}a.e>s?a.c=a.e=null:a.e<r&&(a.c=[a.e=0])}return a}function E(a){var b,c=a.e;return null===c?a.toString():(b=O(a.c),b=c<=p||c>=q?S(b,c):T(b,c,"0"),a.s<0?"-"+b:b)}return z.clone=a,z.ROUND_UP=0,z.ROUND_DOWN=1,z.ROUND_CEIL=2,z.ROUND_FLOOR=3,z.ROUND_HALF_UP=4,z.ROUND_HALF_DOWN=5,z.ROUND_HALF_EVEN=6,z.ROUND_HALF_CEIL=7,z.ROUND_HALF_FLOOR=8,z.EUCLID=9,z.config=z.set=function(a){var b,c;if(null!=a)if("object"==typeof a){if(a.hasOwnProperty(b="DECIMAL_PLACES")&&(Q(c=a[b],0,1e9,b),n=c),a.hasOwnProperty(b="ROUNDING_MODE")&&(Q(c=a[b],0,8,b),o=c),a.hasOwnProperty(b="EXPONENTIAL_AT")&&((c=a[b])&&c.pop?(Q(c[0],-1e9,0,b),Q(c[1],0,1e9,b),p=c[0],q=c[1]):(Q(c,-1e9,1e9,b),p=-(q=c<0?-c:c))),a.hasOwnProperty(b="RANGE"))if((c=a[b])&&c.pop)Q(c[0],-1e9,-1,b),Q(c[1],1,1e9,b),r=c[0],s=c[1];else if(Q(c,-1e9,1e9,b),c)r=-(s=c<0?-c:c);else throw Error(K+b+" cannot be zero: "+c);if(a.hasOwnProperty(b="CRYPTO"))if(!!(c=a[b])===c)if(c)if("u">typeof crypto&&crypto&&(crypto.getRandomValues||crypto.randomBytes))t=c;else throw t=!c,Error(K+"crypto unavailable");else t=c;else throw Error(K+b+" not true or false: "+c);if(a.hasOwnProperty(b="MODULO_MODE")&&(Q(c=a[b],0,9,b),u=c),a.hasOwnProperty(b="POW_PRECISION")&&(Q(c=a[b],0,1e9,b),v=c),a.hasOwnProperty(b="FORMAT"))if("object"==typeof(c=a[b]))w=c;else throw Error(K+b+" not an object: "+c);if(a.hasOwnProperty(b="ALPHABET")){if("string"!=typeof(c=a[b])||/^.?$|[+\-.\s]|(.).*\1/.test(c))throw Error(K+b+" invalid: "+c);y="0123456789"==c.slice(0,10),x=c}}else throw Error(K+"Object expected: "+a);return{DECIMAL_PLACES:n,ROUNDING_MODE:o,EXPONENTIAL_AT:[p,q],RANGE:[r,s],CRYPTO:t,MODULO_MODE:u,POW_PRECISION:v,FORMAT:w,ALPHABET:x}},z.isBigNumber=function(a){if(!a||!0!==a._isBigNumber)return!1;if(!z.DEBUG)return!0;var b,c,d=a.c,e=a.e,f=a.s;a:if("[object Array]"==({}).toString.call(d)){if((1===f||-1===f)&&e>=-1e9&&e<=1e9&&e===J(e)){if(0===d[0]){if(0===e&&1===d.length)return!0;break a}if((b=(e+1)%14)<1&&(b+=14),String(d[0]).length==b){for(b=0;b<d.length;b++)if((c=d[b])<0||c>=1e14||c!==J(c))break a;if(0!==c)return!0}}}else if(null===d&&null===e&&(null===f||1===f||-1===f))return!0;throw Error(K+"Invalid BigNumber: "+a)},z.maximum=z.max=function(){return B(arguments,-1)},z.minimum=z.min=function(){return B(arguments,1)},c=0x20000000000000*Math.random()&2097151?function(){return J(0x20000000000000*Math.random())}:function(){return(0x40000000*Math.random()|0)*8388608+(8388608*Math.random()|0)},z.random=function(a){var b,d,e,f,g,h=0,i=[],j=new z(m);if(null==a?a=n:Q(a,0,1e9),f=I(a/14),t)if(crypto.getRandomValues){for(b=crypto.getRandomValues(new Uint32Array(f*=2));h<f;)(g=131072*b[h]+(b[h+1]>>>11))>=9e15?(d=crypto.getRandomValues(new Uint32Array(2)),b[h]=d[0],b[h+1]=d[1]):(i.push(g%1e14),h+=2);h=f/2}else if(crypto.randomBytes){for(b=crypto.randomBytes(f*=7);h<f;)(g=(31&b[h])*0x1000000000000+0x10000000000*b[h+1]+0x100000000*b[h+2]+0x1000000*b[h+3]+(b[h+4]<<16)+(b[h+5]<<8)+b[h+6])>=9e15?crypto.randomBytes(7).copy(b,h):(i.push(g%1e14),h+=7);h=f/7}else throw t=!1,Error(K+"crypto unavailable");if(!t)for(;h<f;)(g=c())<9e15&&(i[h++]=g%1e14);for(f=i[--h],a%=14,f&&a&&(g=M[14-a],i[h]=J(f/g)*g);0===i[h];i.pop(),h--);if(h<0)i=[e=0];else{for(e=-1;0===i[0];i.splice(0,1),e-=14);for(h=1,g=i[0];g>=10;g/=10,h++);h<14&&(e-=14-h)}return j.e=e,j.c=i,j},z.sum=function(){for(var a=1,b=arguments,c=new z(b[0]);a<b.length;)c=c.plus(b[a++]);return c},j=function(){var a="0123456789";function b(a,b,c,d){for(var e,f,g=[0],h=0,i=a.length;h<i;){for(f=g.length;f--;g[f]*=b);for(g[0]+=d.indexOf(a.charAt(h++)),e=0;e<g.length;e++)g[e]>c-1&&(null==g[e+1]&&(g[e+1]=0),g[e+1]+=g[e]/c|0,g[e]%=c)}return g.reverse()}return function(c,d,e,f,g){var h,j,k,l,m,p,q,r,s=c.indexOf("."),t=n,u=o;for(s>=0&&(l=v,v=0,c=c.replace(".",""),p=(r=new z(d)).pow(c.length-s),v=l,r.c=b(T(O(p.c),p.e,"0"),10,e,a),r.e=r.c.length),k=l=(q=b(c,d,e,g?(h=x,a):(h=a,x))).length;0==q[--l];q.pop());if(!q[0])return h.charAt(0);if(s<0?--k:(p.c=q,p.e=k,p.s=f,q=(p=i(p,r,t,u,e)).c,m=p.r,k=p.e),s=q[j=k+t+1],l=e/2,m=m||j<0||null!=q[j+1],m=u<4?(null!=s||m)&&(0==u||u==(p.s<0?3:2)):s>l||s==l&&(4==u||m||6==u&&1&q[j-1]||u==(p.s<0?8:7)),j<1||!q[0])c=m?T(h.charAt(1),-t,h.charAt(0)):h.charAt(0);else{if(q.length=j,m)for(--e;++q[--j]>e;)q[j]=0,j||(++k,q=[1].concat(q));for(l=q.length;!q[--l];);for(s=0,c="";s<=l;c+=h.charAt(q[s++]));c=T(c,k,h.charAt(0))}return c}}(),i=function(){function a(a,b,c){var d,e,f,g,h=0,i=a.length,j=b%1e7,k=b/1e7|0;for(a=a.slice();i--;)d=k*(f=a[i]%1e7)+(g=a[i]/1e7|0)*j,h=((e=j*f+d%1e7*1e7+h)/c|0)+(d/1e7|0)+k*g,a[i]=e%c;return h&&(a=[h].concat(a)),a}function b(a,b,c,d){var e,f;if(c!=d)f=c>d?1:-1;else for(e=f=0;e<c;e++)if(a[e]!=b[e]){f=a[e]>b[e]?1:-1;break}return f}function c(a,b,c,d){for(var e=0;c--;)a[c]-=e,e=+(a[c]<b[c]),a[c]=e*d+a[c]-b[c];for(;!a[0]&&a.length>1;a.splice(0,1));}return function(d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A=d.s==e.s?1:-1,B=d.c,C=e.c;if(!B||!B[0]||!C||!C[0])return new z(!d.s||!e.s||(B?C&&B[0]==C[0]:!C)?NaN:B&&0==B[0]||!C?0*A:A/0);for(q=(p=new z(A)).c=[],A=f+(j=d.e-e.e)+1,h||(h=1e14,j=N(d.e/14)-N(e.e/14),A=A/14|0),k=0;C[k]==(B[k]||0);k++);if(C[k]>(B[k]||0)&&j--,A<0)q.push(1),l=!0;else{for(v=B.length,x=C.length,k=0,A+=2,(m=J(h/(C[0]+1)))>1&&(C=a(C,m,h),B=a(B,m,h),x=C.length,v=B.length),u=x,s=(r=B.slice(0,x)).length;s<x;r[s++]=0);y=[0].concat(y=C.slice()),w=C[0],C[1]>=h/2&&w++;do{if(m=0,(i=b(C,r,x,s))<0){if(t=r[0],x!=s&&(t=t*h+(r[1]||0)),(m=J(t/w))>1)for(m>=h&&(m=h-1),o=(n=a(C,m,h)).length,s=r.length;1==b(n,r,o,s);)m--,c(n,x<o?y:C,o,h),o=n.length,i=1;else 0==m&&(i=m=1),o=(n=C.slice()).length;if(o<s&&(n=[0].concat(n)),c(r,n,s,h),s=r.length,-1==i)for(;1>b(C,r,x,s);)m++,c(r,x<s?y:C,s,h),s=r.length}else 0===i&&(m++,r=[0]);q[k++]=m,r[0]?r[s++]=B[u]||0:(r=[B[u]],s=1)}while((u++<v||null!=r[0])&&A--)l=null!=r[0],q[0]||q.splice(0,1)}if(1e14==h){for(k=1,A=q[0];A>=10;A/=10,k++);D(p,f+(p.e=k+14*j-1)+1,g,l)}else p.e=j,p.r=+l;return p}}(),d=/^(-?)0([xbo])(?=\w[\w.]*$)/i,e=/^([^.]+)\.$/,f=/^\.([^.]+)$/,g=/^-?(Infinity|NaN)$/,h=/^\s*\+(?=[\w.])|^\s+|\s+$/g,k=function(a,b,c,i){var j,k=c?b:b.replace(h,"");if(g.test(k))a.s=isNaN(k)?null:k<0?-1:1;else{if(!c&&(k=k.replace(d,function(a,b,c){return j="x"==(c=c.toLowerCase())?16:"b"==c?2:8,i&&i!=j?a:b}),i&&(j=i,k=k.replace(e,"$1").replace(f,"0.$1")),b!=k))return new z(k,j);if(z.DEBUG)throw Error(K+"Not a"+(i?" base "+i:"")+" number: "+b);a.s=null}a.c=a.e=null},l.absoluteValue=l.abs=function(){var a=new z(this);return a.s<0&&(a.s=1),a},l.comparedTo=function(a,b){return P(this,new z(a,b))},l.decimalPlaces=l.dp=function(a,b){var c,d,e;if(null!=a)return Q(a,0,1e9),null==b?b=o:Q(b,0,8),D(new z(this),a+this.e+1,b);if(!(c=this.c))return null;if(d=((e=c.length-1)-N(this.e/14))*14,e=c[e])for(;e%10==0;e/=10,d--);return d<0&&(d=0),d},l.dividedBy=l.div=function(a,b){return i(this,new z(a,b),n,o)},l.dividedToIntegerBy=l.idiv=function(a,b){return i(this,new z(a,b),0,1)},l.exponentiatedBy=l.pow=function(a,b){var c,d,e,f,g,h,i,j,k,l=this;if((a=new z(a)).c&&!a.isInteger())throw Error(K+"Exponent not an integer: "+E(a));if(null!=b&&(b=new z(b)),h=a.e>14,!l.c||!l.c[0]||1==l.c[0]&&!l.e&&1==l.c.length||!a.c||!a.c[0])return k=new z(Math.pow(+E(l),h?a.s*(2-R(a)):+E(a))),b?k.mod(b):k;if(i=a.s<0,b){if(b.c?!b.c[0]:!b.s)return new z(NaN);(d=!i&&l.isInteger()&&b.isInteger())&&(l=l.mod(b))}else{if(a.e>9&&(l.e>0||l.e<-1||(0==l.e?l.c[0]>1||h&&l.c[1]>=24e7:l.c[0]<8e13||h&&l.c[0]<=9999975e7)))return f=l.s<0&&R(a)?-0:0,l.e>-1&&(f=1/f),new z(i?1/f:f);v&&(f=I(v/14+2))}for(h?(c=new z(.5),i&&(a.s=1),j=R(a)):j=(e=Math.abs(+E(a)))%2,k=new z(m);;){if(j){if(!(k=k.times(l)).c)break;f?k.c.length>f&&(k.c.length=f):d&&(k=k.mod(b))}if(e){if(0===(e=J(e/2)))break;j=e%2}else if(D(a=a.times(c),a.e+1,1),a.e>14)j=R(a);else{if(0==(e=+E(a)))break;j=e%2}l=l.times(l),f?l.c&&l.c.length>f&&(l.c.length=f):d&&(l=l.mod(b))}return d?k:(i&&(k=m.div(k)),b?k.mod(b):f?D(k,v,o,g):k)},l.integerValue=function(a){var b=new z(this);return null==a?a=o:Q(a,0,8),D(b,b.e+1,a)},l.isEqualTo=l.eq=function(a,b){return 0===P(this,new z(a,b))},l.isFinite=function(){return!!this.c},l.isGreaterThan=l.gt=function(a,b){return P(this,new z(a,b))>0},l.isGreaterThanOrEqualTo=l.gte=function(a,b){return 1===(b=P(this,new z(a,b)))||0===b},l.isInteger=function(){return!!this.c&&N(this.e/14)>this.c.length-2},l.isLessThan=l.lt=function(a,b){return 0>P(this,new z(a,b))},l.isLessThanOrEqualTo=l.lte=function(a,b){return -1===(b=P(this,new z(a,b)))||0===b},l.isNaN=function(){return!this.s},l.isNegative=function(){return this.s<0},l.isPositive=function(){return this.s>0},l.isZero=function(){return!!this.c&&0==this.c[0]},l.minus=function(a,b){var c,d,e,f,g=this.s;if(b=(a=new z(a,b)).s,!g||!b)return new z(NaN);if(g!=b)return a.s=-b,this.plus(a);var h=this.e/14,i=a.e/14,j=this.c,k=a.c;if(!h||!i){if(!j||!k)return j?(a.s=-b,a):new z(k?this:NaN);if(!j[0]||!k[0])return k[0]?(a.s=-b,a):new z(j[0]?this:3==o?-0:0)}if(h=N(h),i=N(i),j=j.slice(),g=h-i){for((f=g<0)?(g=-g,e=j):(i=h,e=k),e.reverse(),b=g;b--;e.push(0));e.reverse()}else for(d=(f=(g=j.length)<(b=k.length))?g:b,g=b=0;b<d;b++)if(j[b]!=k[b]){f=j[b]<k[b];break}if(f&&(e=j,j=k,k=e,a.s=-a.s),(b=(d=k.length)-(c=j.length))>0)for(;b--;j[c++]=0);for(b=1e14-1;d>g;){if(j[--d]<k[d]){for(c=d;c&&!j[--c];j[c]=b);--j[c],j[d]+=1e14}j[d]-=k[d]}for(;0==j[0];j.splice(0,1),--i);return j[0]?C(a,j,i):(a.s=3==o?-1:1,a.c=[a.e=0],a)},l.modulo=l.mod=function(a,b){var c,d;return(a=new z(a,b),this.c&&a.s&&(!a.c||a.c[0]))?a.c&&(!this.c||this.c[0])?(9==u?(d=a.s,a.s=1,c=i(this,a,0,3),a.s=d,c.s*=d):c=i(this,a,0,u),(a=this.minus(c.times(a))).c[0]||1!=u||(a.s=this.s),a):new z(this):new z(NaN)},l.multipliedBy=l.times=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p=this.c,q=(a=new z(a,b)).c;if(!p||!q||!p[0]||!q[0])return this.s&&a.s&&(!p||p[0]||q)&&(!q||q[0]||p)?(a.s*=this.s,p&&q?(a.c=[0],a.e=0):a.c=a.e=null):a.c=a.e=a.s=null,a;for(d=N(this.e/14)+N(a.e/14),a.s*=this.s,(i=p.length)<(l=q.length)&&(o=p,p=q,q=o,e=i,i=l,l=e),e=i+l,o=[];e--;o.push(0));for(e=l;--e>=0;){for(c=0,m=q[e]%1e7,n=q[e]/1e7|0,f=e+(g=i);f>e;)h=n*(j=p[--g]%1e7)+(k=p[g]/1e7|0)*m,c=((j=m*j+h%1e7*1e7+o[f]+c)/1e14|0)+(h/1e7|0)+n*k,o[f--]=j%1e14;o[f]=c}return c?++d:o.splice(0,1),C(a,o,d)},l.negated=function(){var a=new z(this);return a.s=-a.s||null,a},l.plus=function(a,b){var c,d=this.s;if(b=(a=new z(a,b)).s,!d||!b)return new z(NaN);if(d!=b)return a.s=-b,this.minus(a);var e=this.e/14,f=a.e/14,g=this.c,h=a.c;if(!e||!f){if(!g||!h)return new z(d/0);if(!g[0]||!h[0])return h[0]?a:new z(g[0]?this:0*d)}if(e=N(e),f=N(f),g=g.slice(),d=e-f){for(d>0?(f=e,c=h):(d=-d,c=g),c.reverse();d--;c.push(0));c.reverse()}for((d=g.length)-(b=h.length)<0&&(c=h,h=g,g=c,b=d),d=0;b;)d=(g[--b]=g[b]+h[b]+d)/1e14|0,g[b]=1e14===g[b]?0:g[b]%1e14;return d&&(g=[d].concat(g),++f),C(a,g,f)},l.precision=l.sd=function(a,b){var c,d,e;if(null!=a&&!!a!==a)return Q(a,1,1e9),null==b?b=o:Q(b,0,8),D(new z(this),a,b);if(!(c=this.c))return null;if(d=14*(e=c.length-1)+1,e=c[e]){for(;e%10==0;e/=10,d--);for(e=c[0];e>=10;e/=10,d++);}return a&&this.e+1>d&&(d=this.e+1),d},l.shiftedBy=function(a){return Q(a,-0x1fffffffffffff,0x1fffffffffffff),this.times("1e"+a)},l.squareRoot=l.sqrt=function(){var a,b,c,d,e,f=this.c,g=this.s,h=this.e,j=n+4,k=new z("0.5");if(1!==g||!f||!f[0])return new z(!g||g<0&&(!f||f[0])?NaN:f?this:1/0);if(0==(g=Math.sqrt(+E(this)))||g==1/0?(((b=O(f)).length+h)%2==0&&(b+="0"),g=Math.sqrt(+b),h=N((h+1)/2)-(h<0||h%2),c=new z(b=g==1/0?"5e"+h:(b=g.toExponential()).slice(0,b.indexOf("e")+1)+h)):c=new z(g+""),c.c[0]){for((g=(h=c.e)+j)<3&&(g=0);;)if(e=c,c=k.times(e.plus(i(this,e,j,1))),O(e.c).slice(0,g)===(b=O(c.c)).slice(0,g)){if(c.e<h&&--g,"9999"!=(b=b.slice(g-3,g+1))&&(d||"4999"!=b)){+b&&(+b.slice(1)||"5"!=b.charAt(0))||(D(c,c.e+n+2,1),a=!c.times(c).eq(this));break}if(!d&&(D(e,e.e+n+2,0),e.times(e).eq(this))){c=e;break}j+=4,g+=4,d=1}}return D(c,c.e+n+1,o,a)},l.toExponential=function(a,b){return null!=a&&(Q(a,0,1e9),a++),A(this,a,b,1)},l.toFixed=function(a,b){return null!=a&&(Q(a,0,1e9),a=a+this.e+1),A(this,a,b)},l.toFormat=function(a,b,c){var d;if(null==c)null!=a&&b&&"object"==typeof b?(c=b,b=null):a&&"object"==typeof a?(c=a,a=b=null):c=w;else if("object"!=typeof c)throw Error(K+"Argument not an object: "+c);if(d=this.toFixed(a,b),this.c){var e,f=d.split("."),g=+c.groupSize,h=+c.secondaryGroupSize,i=c.groupSeparator||"",j=f[0],k=f[1],l=this.s<0,m=l?j.slice(1):j,n=m.length;if(h&&(e=g,g=h,h=e,n-=e),g>0&&n>0){for(e=n%g||g,j=m.substr(0,e);e<n;e+=g)j+=i+m.substr(e,g);h>0&&(j+=i+m.slice(e)),l&&(j="-"+j)}d=k?j+(c.decimalSeparator||"")+((h=+c.fractionGroupSize)?k.replace(RegExp("\\d{"+h+"}\\B","g"),"$&"+(c.fractionGroupSeparator||"")):k):j}return(c.prefix||"")+d+(c.suffix||"")},l.toFraction=function(a){var b,c,d,e,f,g,h,j,k,l,n,p,q=this.c;if(null!=a&&(!(h=new z(a)).isInteger()&&(h.c||1!==h.s)||h.lt(m)))throw Error(K+"Argument "+(h.isInteger()?"out of range: ":"not an integer: ")+E(h));if(!q)return new z(this);for(b=new z(m),k=c=new z(m),d=j=new z(m),p=O(q),f=b.e=p.length-this.e-1,b.c[0]=M[(g=f%14)<0?14+g:g],a=!a||h.comparedTo(b)>0?f>0?b:k:h,g=s,s=1/0,h=new z(p),j.c[0]=0;l=i(h,b,0,1),1!=(e=c.plus(l.times(d))).comparedTo(a);)c=d,d=e,k=j.plus(l.times(e=k)),j=e,b=h.minus(l.times(e=b)),h=e;return e=i(a.minus(c),d,0,1),j=j.plus(e.times(k)),c=c.plus(e.times(d)),j.s=k.s=this.s,f*=2,n=1>i(k,d,f,o).minus(this).abs().comparedTo(i(j,c,f,o).minus(this).abs())?[k,d]:[j,c],s=g,n},l.toNumber=function(){return+E(this)},l.toPrecision=function(a,b){return null!=a&&Q(a,1,1e9),A(this,a,b,2)},l.toString=function(a){var b,c=this,d=c.s,e=c.e;return null===e?d?(b="Infinity",d<0&&(b="-"+b)):b="NaN":(null==a?b=e<=p||e>=q?S(O(c.c),e):T(O(c.c),e,"0"):10===a&&y?b=T(O((c=D(new z(c),n+e+1,o)).c),c.e,"0"):(Q(a,2,x.length,"Base"),b=j(T(O(c.c),e,"0"),10,a,d,!0)),d<0&&c.c[0]&&(b="-"+b)),b},l.valueOf=l.toJSON=function(){return E(this)},l._isBigNumber=!0,l[Symbol.toStringTag]="BigNumber",l[Symbol.for("nodejs.util.inspect.custom")]=l.valueOf,null!=b&&z.set(b),z}();let V=24,W="u">typeof globalThis&&globalThis.crypto&&"function"==typeof globalThis.crypto.getRandomValues?()=>{let a=new Uint32Array(1);return globalThis.crypto.getRandomValues(a),a[0]/0x100000000}:Math.random,X=(a=4,b=W)=>{let c="";for(;c.length<a;)c+=Math.floor(36*b()).toString(36);return c},Y=(a="")=>(function(a){let b=new U(0);for(let c of a.values())b=b.multipliedBy(256).plus(c);return b})(G(new TextEncoder().encode(a))).toString(36).slice(1),Z=Array.from({length:26},(a,b)=>String.fromCharCode(b+97)),$=({globalObj:b=a.g,random:c=W}={})=>{let d=Object.keys(b).toString();return Y(d.length?d+X(32,c):X(32,c)).substring(0,32)},_=a=>()=>a++,aa=0x1c6b1f1f,ab=(c=({random:a=W,counter:b=_(Math.floor(a()*aa)),length:c=V,fingerprint:d=$({random:a})}={})=>{if(c>32)throw Error(`Length must be between 2 and 32. Received: ${c}`);return function(){let e=Z[Math.floor(a()*Z.length)],f=Date.now().toString(36),g=b().toString(36),h=X(c,a),i=`${f+h+g+d}`;return`${e+Y(i).substring(1,c)}`}},()=>(b||(b=c()),b())),ac=(0,d.sqliteTable)("Node",{id:(0,g.text)().primaryKey().$defaultFn(()=>ab()),view:(0,g.text)().notNull(),cluster:(0,g.text)(),title:(0,g.text)().notNull(),role:(0,g.text)(),plain:(0,g.text)(),status:(0,g.text)().default("PENDING").notNull(),priority:(0,h.integer)().default(2).notNull(),progress:(0,h.integer)().default(0).notNull(),x:(0,i.real)().default(0).notNull(),y:(0,i.real)().default(0).notNull(),sourceRef:(0,g.text)(),externalId:(0,g.text)(),source:(0,g.text)().default("MANUAL").notNull(),parentId:(0,g.text)(),createdAt:(0,h.integer)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,h.integer)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date),embedding:(0,g.text)()},a=>[(0,e.index)("Node_cluster_idx").on(a.cluster),(0,e.index)("Node_parentId_idx").on(a.parentId),(0,e.index)("Node_view_idx").on(a.view),(0,f.foreignKey)(()=>({columns:[a.parentId],foreignColumns:[a.id],name:"Node_parentId_Node_id_fk"})).onUpdate("cascade").onDelete("cascade")]),ad=(0,d.sqliteTable)("NodeFile",{id:(0,g.text)().primaryKey().$defaultFn(()=>ab()),nodeId:(0,g.text)().notNull().references(()=>ac.id,{onDelete:"cascade",onUpdate:"cascade"}),path:(0,g.text)().notNull()},a=>[(0,e.uniqueIndex)("NodeFile_nodeId_path_key").on(a.nodeId,a.path),(0,e.index)("NodeFile_nodeId_idx").on(a.nodeId)]),ae=(0,d.sqliteTable)("Tag",{id:(0,g.text)().primaryKey().$defaultFn(()=>ab()),label:(0,g.text)().notNull(),color:(0,g.text)()},a=>[(0,e.uniqueIndex)("Tag_label_key").on(a.label)]),af=(0,d.sqliteTable)("Edge",{id:(0,g.text)().primaryKey().$defaultFn(()=>ab()),fromId:(0,g.text)().notNull().references(()=>ac.id,{onDelete:"cascade",onUpdate:"cascade"}),toId:(0,g.text)().notNull().references(()=>ac.id,{onDelete:"cascade",onUpdate:"cascade"}),kind:(0,g.text)().default("DEPENDS").notNull(),label:(0,g.text)(),sourceHandle:(0,g.text)(),targetHandle:(0,g.text)()},a=>[(0,e.uniqueIndex)("Edge_fromId_toId_kind_key").on(a.fromId,a.toId,a.kind),(0,e.index)("Edge_toId_idx").on(a.toId),(0,e.index)("Edge_fromId_idx").on(a.fromId)]),ag=(0,d.sqliteTable)("_NodeTags",{a:(0,g.text)("A").notNull().references(()=>ac.id,{onDelete:"cascade",onUpdate:"cascade"}),b:(0,g.text)("B").notNull().references(()=>ae.id,{onDelete:"cascade",onUpdate:"cascade"})},a=>[(0,e.uniqueIndex)("_NodeTags_AB_unique").on(a.a,a.b),(0,e.index)("_NodeTags_B_index").on(a.b)]),ah=(0,d.sqliteTable)("Note",{id:(0,g.text)().primaryKey().$defaultFn(()=>ab()),title:(0,g.text)().default("Untitled").notNull(),body:(0,g.text)().default("").notNull(),ord:(0,i.real)().default(0).notNull(),pinned:(0,h.integer)({mode:"boolean"}).default(!1).notNull(),createdAt:(0,h.integer)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,h.integer)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,e.index)("Note_updatedAt_idx").on(a.updatedAt)]),ai=(0,d.sqliteTable)("DbTable",{id:(0,g.text)().primaryKey().$defaultFn(()=>ab()),name:(0,g.text)().notNull(),domain:(0,g.text)(),description:(0,g.text)(),source:(0,g.text)().default("MANUAL").notNull(),x:(0,i.real)().default(0).notNull(),y:(0,i.real)().default(0).notNull(),createdAt:(0,h.integer)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,h.integer)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,e.index)("DbTable_domain_idx").on(a.domain),(0,e.uniqueIndex)("DbTable_name_key").on(a.name)]),aj=(0,d.sqliteTable)("DbColumn",{id:(0,g.text)().primaryKey().$defaultFn(()=>ab()),tableId:(0,g.text)().notNull().references(()=>ai.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,g.text)().notNull(),type:(0,g.text)().notNull(),isPk:(0,h.integer)({mode:"boolean"}).default(!1).notNull(),isFk:(0,h.integer)({mode:"boolean"}).default(!1).notNull(),nullable:(0,h.integer)({mode:"boolean"}).default(!0).notNull(),note:(0,g.text)(),ord:(0,h.integer)().default(0).notNull()},a=>[(0,e.uniqueIndex)("DbColumn_tableId_name_key").on(a.tableId,a.name),(0,e.index)("DbColumn_tableId_idx").on(a.tableId)]),ak=(0,d.sqliteTable)("DbRelation",{id:(0,g.text)().primaryKey().$defaultFn(()=>ab()),fromTableId:(0,g.text)().notNull().references(()=>ai.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,g.text)().notNull().references(()=>ai.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,g.text)().notNull(),toColumn:(0,g.text)().notNull(),label:(0,g.text)()},a=>[(0,e.index)("DbRelation_toTableId_idx").on(a.toTableId),(0,e.index)("DbRelation_fromTableId_idx").on(a.fromTableId)]),al=(0,d.sqliteTable)("Endpoint",{id:(0,g.text)().primaryKey().$defaultFn(()=>ab()),method:(0,g.text)().notNull(),path:(0,g.text)().notNull(),domain:(0,g.text)(),description:(0,g.text)(),source:(0,g.text)().default("MANUAL").notNull(),x:(0,i.real)().default(0).notNull(),y:(0,i.real)().default(0).notNull(),createdAt:(0,h.integer)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,h.integer)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,e.uniqueIndex)("Endpoint_method_path_key").on(a.method,a.path),(0,e.index)("Endpoint_domain_idx").on(a.domain)]),am=(0,d.sqliteTable)("EndpointTable",{id:(0,g.text)().primaryKey().$defaultFn(()=>ab()),endpointId:(0,g.text)().notNull().references(()=>al.id,{onDelete:"cascade",onUpdate:"cascade"}),tableId:(0,g.text)().notNull().references(()=>ai.id,{onDelete:"cascade",onUpdate:"cascade"}),access:(0,g.text)().default("read").notNull()},a=>[(0,e.uniqueIndex)("EndpointTable_endpointId_tableId_key").on(a.endpointId,a.tableId),(0,e.index)("EndpointTable_tableId_idx").on(a.tableId)]),an=(0,d.sqliteTable)("DraftTable",{id:(0,g.text)().primaryKey().$defaultFn(()=>ab()),name:(0,g.text)().notNull(),domain:(0,g.text)(),description:(0,g.text)(),x:(0,i.real)().default(0).notNull(),y:(0,i.real)().default(0).notNull(),createdAt:(0,h.integer)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>[(0,e.uniqueIndex)("DraftTable_name_key").on(a.name)]),ao=(0,d.sqliteTable)("DraftColumn",{id:(0,g.text)().primaryKey().$defaultFn(()=>ab()),tableId:(0,g.text)().notNull().references(()=>an.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,g.text)().notNull(),type:(0,g.text)().notNull(),isPk:(0,h.integer)({mode:"boolean"}).default(!1).notNull(),isFk:(0,h.integer)({mode:"boolean"}).default(!1).notNull(),nullable:(0,h.integer)({mode:"boolean"}).default(!0).notNull(),note:(0,g.text)(),ord:(0,h.integer)().default(0).notNull()},a=>[(0,e.index)("DraftColumn_tableId_idx").on(a.tableId)]),ap=(0,d.sqliteTable)("DraftRelation",{id:(0,g.text)().primaryKey().$defaultFn(()=>ab()),fromTableId:(0,g.text)().notNull().references(()=>an.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,g.text)().notNull().references(()=>an.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,g.text)().notNull(),toColumn:(0,g.text)().notNull(),label:(0,g.text)()},a=>[(0,e.index)("DraftRelation_toTableId_idx").on(a.toTableId),(0,e.index)("DraftRelation_fromTableId_idx").on(a.fromTableId)]),aq=(0,d.sqliteTable)("CodeFile",{path:(0,g.text)().primaryKey(),root:(0,g.text)(),lang:(0,g.text)(),x:(0,i.real)().default(0).notNull(),y:(0,i.real)().default(0).notNull(),mtimeMs:(0,i.real)(),size:(0,h.integer)(),inDegree:(0,h.integer)().default(0).notNull(),outDegree:(0,h.integer)().default(0).notNull(),updatedAt:(0,h.integer)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),ar=(0,d.sqliteTable)("CodeFileEdge",{fromPath:(0,g.text)().notNull().references(()=>aq.path,{onDelete:"cascade",onUpdate:"cascade"}),toPath:(0,g.text)().notNull().references(()=>aq.path,{onDelete:"cascade",onUpdate:"cascade"}),circular:(0,h.integer)({mode:"boolean"}).default(!1).notNull()},a=>[(0,e.index)("CodeFileEdge_circular_idx").on(a.circular),(0,e.index)("CodeFileEdge_toPath_idx").on(a.toPath),(0,e.index)("CodeFileEdge_fromPath_idx").on(a.fromPath),(0,j.primaryKey)({columns:[a.fromPath,a.toPath],name:"CodeFileEdge_fromPath_toPath_pk"})]),as=(0,d.sqliteTable)("SyncState",{id:(0,g.text)().primaryKey().default("singleton"),version:(0,h.integer)().default(0).notNull(),codeGraphSyncedAt:(0,h.integer)({mode:"timestamp_ms"}),updatedAt:(0,h.integer)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),at=(0,d.sqliteTable)("AppSetting",{id:(0,g.text)().primaryKey().default("singleton"),intelModel:(0,g.text)().default("claude-haiku-4-5").notNull(),intelProvider:(0,g.text)().default("auto").notNull(),editor:(0,g.text)().default("auto").notNull(),currentFeatureId:(0,g.text)(),updatedAt:(0,h.integer)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),au=(0,d.sqliteTable)("ProjectMeta",{id:(0,g.text)().primaryKey().default("singleton"),overview:(0,g.text)(),conventions:(0,g.text)().default("[]").notNull(),updatedAt:(0,h.integer)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)});a.s(["appSetting",0,at,"codeFile",0,aq,"codeFileEdge",0,ar,"dbColumn",0,aj,"dbRelation",0,ak,"dbTable",0,ai,"draftColumn",0,ao,"draftRelation",0,ap,"draftTable",0,an,"edge",0,af,"endpoint",0,al,"endpointTable",0,am,"node",0,ac,"nodeFile",0,ad,"nodeTags",0,ag,"note",0,ah,"projectMeta",0,au,"syncState",0,as,"tag",0,ae],17781)}];
2
+
3
+ //# sourceMappingURL=lib_drizzle_schema_ts_0oz5uob._.js.map