trybeacon 0.1.78 → 0.1.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.next/BUILD_ID +1 -1
  3. package/.next/app-path-routes-manifest.json +13 -13
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/routes-manifest.json +6 -6
  7. package/.next/server/app/_global-error/page.js +3 -3
  8. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/server/app/_not-found/page.js +2 -2
  18. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/_not-found.html +1 -1
  20. package/.next/server/app/_not-found.rsc +2 -2
  21. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  22. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  24. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  27. package/.next/server/app/api/ask/answer/route.js +1 -1
  28. package/.next/server/app/api/ask/route.js +1 -1
  29. package/.next/server/app/api/ask/verdict/route.js +1 -1
  30. package/.next/server/app/api/board-annotations/[id]/route.js +1 -1
  31. package/.next/server/app/api/board-annotations/route.js +1 -1
  32. package/.next/server/app/api/board-layout/route.js +1 -1
  33. package/.next/server/app/api/bug-flags/[id]/route.js +1 -1
  34. package/.next/server/app/api/bug-flags/route.js +1 -1
  35. package/.next/server/app/api/changes/comment/answer/route.js +2 -2
  36. package/.next/server/app/api/changes/comment/claim/route.js +2 -2
  37. package/.next/server/app/api/changes/comment/route.js +2 -2
  38. package/.next/server/app/api/changes/quality/route.js +1 -1
  39. package/.next/server/app/api/changes/route.js +1 -1
  40. package/.next/server/app/api/changes/viewed/route.js +1 -1
  41. package/.next/server/app/api/code-graph/position/route.js +1 -1
  42. package/.next/server/app/api/code-graph/route.js +1 -1
  43. package/.next/server/app/api/context/feature/route.js +1 -1
  44. package/.next/server/app/api/context/file/route.js +1 -1
  45. package/.next/server/app/api/context/route.js +1 -1
  46. package/.next/server/app/api/db/arrange/route.js +1 -1
  47. package/.next/server/app/api/db/backfill-access/route.js +1 -1
  48. package/.next/server/app/api/db/position/route.js +1 -1
  49. package/.next/server/app/api/db/prune-planned/route.js +1 -1
  50. package/.next/server/app/api/db/reconcile-endpoints/route.js +1 -1
  51. package/.next/server/app/api/db/relations/[id]/route.js +1 -1
  52. package/.next/server/app/api/db/tables/[id]/route.js +1 -1
  53. package/.next/server/app/api/draft/approve/route.js +1 -1
  54. package/.next/server/app/api/draft/route.js +1 -1
  55. package/.next/server/app/api/draft/status/route.js +1 -1
  56. package/.next/server/app/api/edges/[id]/route.js +1 -1
  57. package/.next/server/app/api/edges/route.js +1 -1
  58. package/.next/server/app/api/endpoints/[id]/route.js +1 -1
  59. package/.next/server/app/api/entities/route.js +1 -1
  60. package/.next/server/app/api/ingest/route.js +1 -1
  61. package/.next/server/app/api/init/route.js +1 -1
  62. package/.next/server/app/api/lesson/close/route.js +1 -1
  63. package/.next/server/app/api/lesson/presence/route.js +1 -1
  64. package/.next/server/app/api/lesson/questions/route.js +1 -1
  65. package/.next/server/app/api/lesson/route.js +1 -1
  66. package/.next/server/app/api/lesson/save/route.js +1 -1
  67. package/.next/server/app/api/lesson/verdict/route.js +1 -1
  68. package/.next/server/app/api/linear/route.js +7 -6
  69. package/.next/server/app/api/linear/scopes/route.js +17 -0
  70. package/.next/server/app/api/linear/scopes/route_client-reference-manifest.js +1 -0
  71. package/.next/server/app/api/linear/sync/route.js +7 -6
  72. package/.next/server/app/api/map/describe/route.js +1 -1
  73. package/.next/server/app/api/map/files/route.js +1 -1
  74. package/.next/server/app/api/map/finish/route.js +1 -1
  75. package/.next/server/app/api/map/route.js +1 -1
  76. package/.next/server/app/api/map/start/route.js +1 -1
  77. package/.next/server/app/api/map/touch-active/route.js +1 -1
  78. package/.next/server/app/api/mention-search/route.js +1 -1
  79. package/.next/server/app/api/nodes/[id]/position/route.js +1 -1
  80. package/.next/server/app/api/nodes/[id]/route.js +1 -1
  81. package/.next/server/app/api/nodes/positions/route.js +1 -1
  82. package/.next/server/app/api/nodes/route.js +1 -1
  83. package/.next/server/app/api/nodes/subtasks/route.js +1 -1
  84. package/.next/server/app/api/notes/[id]/route.js +1 -1
  85. package/.next/server/app/api/notes/route.js +1 -1
  86. package/.next/server/app/api/open/route.js +1 -1
  87. package/.next/server/app/api/plan/annotations/route.js +2 -2
  88. package/.next/server/app/api/plan/approve/route.js +1 -1
  89. package/.next/server/app/api/plan/history/route.js +1 -1
  90. package/.next/server/app/api/plan/markdown/route.js +1 -1
  91. package/.next/server/app/api/plan/presence/route.js +1 -1
  92. package/.next/server/app/api/plan/route.js +1 -1
  93. package/.next/server/app/api/plan/verdict/route.js +1 -1
  94. package/.next/server/app/api/preferences/route.js +1 -1
  95. package/.next/server/app/api/project-meta/route.js +1 -1
  96. package/.next/server/app/api/reset/route.js +1 -1
  97. package/.next/server/app/api/scope-guard/check/route.js +2 -2
  98. package/.next/server/app/api/share/create/route.js +1 -1
  99. package/.next/server/app/api/share/route.js +1 -1
  100. package/.next/server/app/api/stream/route.js +2 -2
  101. package/.next/server/app/api/tab/nav/route.js +1 -1
  102. package/.next/server/app/api/tab/presence/route.js +1 -1
  103. package/.next/server/app/api/tab/view/route.js +1 -1
  104. package/.next/server/app/api/telemetry/route.js +1 -1
  105. package/.next/server/app/api/telemetry/stats/route.js +1 -1
  106. package/.next/server/app/api/version/route.js +1 -1
  107. package/.next/server/app/api/workspace/activate/route.js +1 -1
  108. package/.next/server/app/api/workspace/route.js +1 -1
  109. package/.next/server/app/apple-icon.png/route.js +1 -1
  110. package/.next/server/app/docs/page.js +2 -2
  111. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  112. package/.next/server/app/docs.html +1 -1
  113. package/.next/server/app/docs.rsc +2 -2
  114. package/.next/server/app/docs.segments/_full.segment.rsc +2 -2
  115. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  116. package/.next/server/app/docs.segments/_index.segment.rsc +2 -2
  117. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  118. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  119. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  120. package/.next/server/app/help/page.js +2 -2
  121. package/.next/server/app/help/page_client-reference-manifest.js +1 -1
  122. package/.next/server/app/help.html +1 -1
  123. package/.next/server/app/help.rsc +2 -2
  124. package/.next/server/app/help.segments/_full.segment.rsc +2 -2
  125. package/.next/server/app/help.segments/_head.segment.rsc +1 -1
  126. package/.next/server/app/help.segments/_index.segment.rsc +2 -2
  127. package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
  128. package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +1 -1
  129. package/.next/server/app/help.segments/help.segment.rsc +1 -1
  130. package/.next/server/app/icon.svg/route.js +1 -1
  131. package/.next/server/app/index.html +1 -1
  132. package/.next/server/app/index.rsc +2 -2
  133. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  134. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  135. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  136. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  137. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  138. package/.next/server/app/learn/page.js +4 -4
  139. package/.next/server/app/learn/page.js.nft.json +1 -1
  140. package/.next/server/app/learn/page_client-reference-manifest.js +1 -1
  141. package/.next/server/app/map/page.js +2 -2
  142. package/.next/server/app/map/page.js.nft.json +1 -1
  143. package/.next/server/app/map/page_client-reference-manifest.js +1 -1
  144. package/.next/server/app/page.js +2 -2
  145. package/.next/server/app/page_client-reference-manifest.js +1 -1
  146. package/.next/server/app/plan/page.js +3 -3
  147. package/.next/server/app/plan/page.js.nft.json +1 -1
  148. package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
  149. package/.next/server/app/s/[token]/page.js +2 -2
  150. package/.next/server/app/s/[token]/page.js.nft.json +1 -1
  151. package/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -1
  152. package/.next/server/app/settings/page.js +2 -2
  153. package/.next/server/app/settings/page.js.nft.json +1 -1
  154. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  155. package/.next/server/app-paths-manifest.json +13 -13
  156. package/.next/server/chunks/374.js +1 -0
  157. package/.next/server/chunks/4378.js +1 -1
  158. package/.next/server/chunks/{5498.js → 7720.js} +3 -3
  159. package/.next/server/chunks/8569.js +1 -0
  160. package/.next/server/chunks/8709.js +7 -6
  161. package/.next/server/chunks/9683.js +1 -1
  162. package/.next/server/middleware-build-manifest.js +1 -1
  163. package/.next/server/middleware.js +3 -3
  164. package/.next/server/pages/404.html +1 -1
  165. package/.next/server/pages/500.html +1 -1
  166. package/.next/server/server-reference-manifest.js +1 -1
  167. package/.next/server/server-reference-manifest.json +1 -1
  168. package/.next/static/{sG8lnmVWXj34F5BXWVLI_ → J6oJS9kOgjsQGP4x5VPu6}/_buildManifest.js +1 -1
  169. package/.next/static/chunks/{2505-a7eb6ea5a375d7b9.js → 2059-fba06ba63ba64522.js} +3 -3
  170. package/.next/static/chunks/5697-5b9719b81806b4cf.js +1 -0
  171. package/.next/static/chunks/6302-27c904b9f4b65236.js +1 -0
  172. package/.next/static/chunks/app/_global-error/{page-22956431d519d20f.js → page-18eb7d6678dc0ddd.js} +1 -1
  173. package/.next/static/chunks/app/api/ask/answer/{route-22956431d519d20f.js → route-18eb7d6678dc0ddd.js} +1 -1
  174. package/.next/static/chunks/app/api/ask/{route-22956431d519d20f.js → route-18eb7d6678dc0ddd.js} +1 -1
  175. package/.next/static/chunks/app/api/ask/verdict/{route-22956431d519d20f.js → route-18eb7d6678dc0ddd.js} +1 -1
  176. package/.next/static/chunks/app/api/board-annotations/[id]/route-18eb7d6678dc0ddd.js +1 -0
  177. package/.next/static/chunks/app/api/board-annotations/route-18eb7d6678dc0ddd.js +1 -0
  178. package/.next/static/chunks/app/api/board-layout/route-18eb7d6678dc0ddd.js +1 -0
  179. package/.next/static/chunks/app/api/bug-flags/[id]/route-18eb7d6678dc0ddd.js +1 -0
  180. package/.next/static/chunks/app/api/bug-flags/route-18eb7d6678dc0ddd.js +1 -0
  181. package/.next/static/chunks/app/api/changes/comment/answer/route-18eb7d6678dc0ddd.js +1 -0
  182. package/.next/static/chunks/app/api/changes/comment/claim/route-18eb7d6678dc0ddd.js +1 -0
  183. package/.next/static/chunks/app/api/changes/comment/route-18eb7d6678dc0ddd.js +1 -0
  184. package/.next/static/chunks/app/api/changes/quality/route-18eb7d6678dc0ddd.js +1 -0
  185. package/.next/static/chunks/app/api/changes/route-18eb7d6678dc0ddd.js +1 -0
  186. package/.next/static/chunks/app/api/changes/viewed/route-18eb7d6678dc0ddd.js +1 -0
  187. package/.next/static/chunks/app/api/code-graph/position/route-18eb7d6678dc0ddd.js +1 -0
  188. package/.next/static/chunks/app/api/code-graph/route-18eb7d6678dc0ddd.js +1 -0
  189. package/.next/static/chunks/app/api/context/feature/route-18eb7d6678dc0ddd.js +1 -0
  190. package/.next/static/chunks/app/api/context/file/route-18eb7d6678dc0ddd.js +1 -0
  191. package/.next/static/chunks/app/api/context/route-18eb7d6678dc0ddd.js +1 -0
  192. package/.next/static/chunks/app/api/db/arrange/route-18eb7d6678dc0ddd.js +1 -0
  193. package/.next/static/chunks/app/api/db/backfill-access/route-18eb7d6678dc0ddd.js +1 -0
  194. package/.next/static/chunks/app/api/db/position/route-18eb7d6678dc0ddd.js +1 -0
  195. package/.next/static/chunks/app/api/db/prune-planned/route-18eb7d6678dc0ddd.js +1 -0
  196. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-18eb7d6678dc0ddd.js +1 -0
  197. package/.next/static/chunks/app/api/db/relations/[id]/route-18eb7d6678dc0ddd.js +1 -0
  198. package/.next/static/chunks/app/api/db/tables/[id]/route-18eb7d6678dc0ddd.js +1 -0
  199. package/.next/static/chunks/app/api/draft/approve/route-18eb7d6678dc0ddd.js +1 -0
  200. package/.next/static/chunks/app/api/draft/route-18eb7d6678dc0ddd.js +1 -0
  201. package/.next/static/chunks/app/api/draft/status/route-18eb7d6678dc0ddd.js +1 -0
  202. package/.next/static/chunks/app/api/edges/[id]/route-18eb7d6678dc0ddd.js +1 -0
  203. package/.next/static/chunks/app/api/edges/route-18eb7d6678dc0ddd.js +1 -0
  204. package/.next/static/chunks/app/api/endpoints/[id]/route-18eb7d6678dc0ddd.js +1 -0
  205. package/.next/static/chunks/app/api/entities/route-18eb7d6678dc0ddd.js +1 -0
  206. package/.next/static/chunks/app/api/ingest/route-18eb7d6678dc0ddd.js +1 -0
  207. package/.next/static/chunks/app/api/init/route-18eb7d6678dc0ddd.js +1 -0
  208. package/.next/static/chunks/app/api/lesson/close/route-18eb7d6678dc0ddd.js +1 -0
  209. package/.next/static/chunks/app/api/lesson/presence/route-18eb7d6678dc0ddd.js +1 -0
  210. package/.next/static/chunks/app/api/lesson/questions/route-18eb7d6678dc0ddd.js +1 -0
  211. package/.next/static/chunks/app/api/lesson/route-18eb7d6678dc0ddd.js +1 -0
  212. package/.next/static/chunks/app/api/lesson/save/route-18eb7d6678dc0ddd.js +1 -0
  213. package/.next/static/chunks/app/api/lesson/verdict/route-18eb7d6678dc0ddd.js +1 -0
  214. package/.next/static/chunks/app/api/linear/route-18eb7d6678dc0ddd.js +1 -0
  215. package/.next/static/chunks/app/api/linear/scopes/route-18eb7d6678dc0ddd.js +1 -0
  216. package/.next/static/chunks/app/api/linear/sync/route-18eb7d6678dc0ddd.js +1 -0
  217. package/.next/static/chunks/app/api/map/describe/route-18eb7d6678dc0ddd.js +1 -0
  218. package/.next/static/chunks/app/api/map/files/route-18eb7d6678dc0ddd.js +1 -0
  219. package/.next/static/chunks/app/api/map/finish/route-18eb7d6678dc0ddd.js +1 -0
  220. package/.next/static/chunks/app/api/map/route-18eb7d6678dc0ddd.js +1 -0
  221. package/.next/static/chunks/app/api/map/start/route-18eb7d6678dc0ddd.js +1 -0
  222. package/.next/static/chunks/app/api/map/touch-active/route-18eb7d6678dc0ddd.js +1 -0
  223. package/.next/static/chunks/app/api/mention-search/route-18eb7d6678dc0ddd.js +1 -0
  224. package/.next/static/chunks/app/api/nodes/[id]/position/route-18eb7d6678dc0ddd.js +1 -0
  225. package/.next/static/chunks/app/api/nodes/[id]/route-18eb7d6678dc0ddd.js +1 -0
  226. package/.next/static/chunks/app/api/nodes/positions/route-18eb7d6678dc0ddd.js +1 -0
  227. package/.next/static/chunks/app/api/nodes/route-18eb7d6678dc0ddd.js +1 -0
  228. package/.next/static/chunks/app/api/nodes/subtasks/route-18eb7d6678dc0ddd.js +1 -0
  229. package/.next/static/chunks/app/api/notes/[id]/route-18eb7d6678dc0ddd.js +1 -0
  230. package/.next/static/chunks/app/api/notes/route-18eb7d6678dc0ddd.js +1 -0
  231. package/.next/static/chunks/app/api/open/route-18eb7d6678dc0ddd.js +1 -0
  232. package/.next/static/chunks/app/api/plan/annotations/route-18eb7d6678dc0ddd.js +1 -0
  233. package/.next/static/chunks/app/api/plan/approve/route-18eb7d6678dc0ddd.js +1 -0
  234. package/.next/static/chunks/app/api/plan/history/route-18eb7d6678dc0ddd.js +1 -0
  235. package/.next/static/chunks/app/api/plan/markdown/route-18eb7d6678dc0ddd.js +1 -0
  236. package/.next/static/chunks/app/api/plan/presence/route-18eb7d6678dc0ddd.js +1 -0
  237. package/.next/static/chunks/app/api/plan/route-18eb7d6678dc0ddd.js +1 -0
  238. package/.next/static/chunks/app/api/plan/verdict/route-18eb7d6678dc0ddd.js +1 -0
  239. package/.next/static/chunks/app/api/preferences/route-18eb7d6678dc0ddd.js +1 -0
  240. package/.next/static/chunks/app/api/project-meta/route-18eb7d6678dc0ddd.js +1 -0
  241. package/.next/static/chunks/app/api/reset/route-18eb7d6678dc0ddd.js +1 -0
  242. package/.next/static/chunks/app/api/scope-guard/check/route-18eb7d6678dc0ddd.js +1 -0
  243. package/.next/static/chunks/app/api/share/create/route-18eb7d6678dc0ddd.js +1 -0
  244. package/.next/static/chunks/app/api/share/route-18eb7d6678dc0ddd.js +1 -0
  245. package/.next/static/chunks/app/api/stream/route-18eb7d6678dc0ddd.js +1 -0
  246. package/.next/static/chunks/app/api/tab/nav/route-18eb7d6678dc0ddd.js +1 -0
  247. package/.next/static/chunks/app/api/tab/presence/route-18eb7d6678dc0ddd.js +1 -0
  248. package/.next/static/chunks/app/api/tab/view/route-18eb7d6678dc0ddd.js +1 -0
  249. package/.next/static/chunks/app/api/telemetry/route-18eb7d6678dc0ddd.js +1 -0
  250. package/.next/static/chunks/app/api/telemetry/stats/route-18eb7d6678dc0ddd.js +1 -0
  251. package/.next/static/chunks/app/api/version/route-18eb7d6678dc0ddd.js +1 -0
  252. package/.next/static/chunks/app/api/workspace/activate/route-18eb7d6678dc0ddd.js +1 -0
  253. package/.next/static/chunks/app/api/workspace/route-18eb7d6678dc0ddd.js +1 -0
  254. package/.next/static/chunks/app/learn/page-14a297c6ff4e54f0.js +7 -0
  255. package/.next/static/chunks/app/map/page-91637b0a29494ee5.js +1 -0
  256. package/.next/static/chunks/app/plan/{page-8981b7e4db3f46e5.js → page-d4651c40e3bd751e.js} +2 -2
  257. package/.next/static/chunks/app/s/[token]/page-05344f912a83ed60.js +1 -0
  258. package/.next/static/chunks/app/settings/page-7e86fd456b92c248.js +1 -0
  259. package/.next/static/chunks/next/dist/client/components/builtin/app-error-18eb7d6678dc0ddd.js +1 -0
  260. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-18eb7d6678dc0ddd.js +1 -0
  261. package/.next/static/chunks/next/dist/client/components/builtin/not-found-18eb7d6678dc0ddd.js +1 -0
  262. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-18eb7d6678dc0ddd.js +1 -0
  263. package/.next/static/css/570399103dd72653.css +1 -0
  264. package/.next/trace +46 -46
  265. package/.next/trace-build +1 -1
  266. package/.next/types/app/api/linear/{teams → scopes}/route.ts +3 -3
  267. package/.next/types/routes.d.ts +2 -2
  268. package/.next/types/validator.ts +6 -6
  269. package/dist/bin/mcp.js +21 -21
  270. package/dist/bin/remove.js +1 -1
  271. package/drizzle/0011_graceful_eternals.sql +2 -0
  272. package/drizzle/0012_tearful_goblin_queen.sql +1 -0
  273. package/drizzle/meta/0011_snapshot.json +1939 -0
  274. package/drizzle/meta/0012_snapshot.json +1946 -0
  275. package/drizzle/meta/_journal.json +14 -0
  276. package/package.json +1 -1
  277. package/.next/server/app/api/linear/teams/route.js +0 -16
  278. package/.next/server/app/api/linear/teams/route_client-reference-manifest.js +0 -1
  279. package/.next/server/chunks/5080.js +0 -1
  280. package/.next/server/chunks/7676.js +0 -1
  281. package/.next/static/chunks/1355-aa0508464b91697c.js +0 -1
  282. package/.next/static/chunks/2108-c866f40712a96a4e.js +0 -1
  283. package/.next/static/chunks/app/api/board-annotations/[id]/route-22956431d519d20f.js +0 -1
  284. package/.next/static/chunks/app/api/board-annotations/route-22956431d519d20f.js +0 -1
  285. package/.next/static/chunks/app/api/board-layout/route-22956431d519d20f.js +0 -1
  286. package/.next/static/chunks/app/api/bug-flags/[id]/route-22956431d519d20f.js +0 -1
  287. package/.next/static/chunks/app/api/bug-flags/route-22956431d519d20f.js +0 -1
  288. package/.next/static/chunks/app/api/changes/comment/answer/route-22956431d519d20f.js +0 -1
  289. package/.next/static/chunks/app/api/changes/comment/claim/route-22956431d519d20f.js +0 -1
  290. package/.next/static/chunks/app/api/changes/comment/route-22956431d519d20f.js +0 -1
  291. package/.next/static/chunks/app/api/changes/quality/route-22956431d519d20f.js +0 -1
  292. package/.next/static/chunks/app/api/changes/route-22956431d519d20f.js +0 -1
  293. package/.next/static/chunks/app/api/changes/viewed/route-22956431d519d20f.js +0 -1
  294. package/.next/static/chunks/app/api/code-graph/position/route-22956431d519d20f.js +0 -1
  295. package/.next/static/chunks/app/api/code-graph/route-22956431d519d20f.js +0 -1
  296. package/.next/static/chunks/app/api/context/feature/route-22956431d519d20f.js +0 -1
  297. package/.next/static/chunks/app/api/context/file/route-22956431d519d20f.js +0 -1
  298. package/.next/static/chunks/app/api/context/route-22956431d519d20f.js +0 -1
  299. package/.next/static/chunks/app/api/db/arrange/route-22956431d519d20f.js +0 -1
  300. package/.next/static/chunks/app/api/db/backfill-access/route-22956431d519d20f.js +0 -1
  301. package/.next/static/chunks/app/api/db/position/route-22956431d519d20f.js +0 -1
  302. package/.next/static/chunks/app/api/db/prune-planned/route-22956431d519d20f.js +0 -1
  303. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-22956431d519d20f.js +0 -1
  304. package/.next/static/chunks/app/api/db/relations/[id]/route-22956431d519d20f.js +0 -1
  305. package/.next/static/chunks/app/api/db/tables/[id]/route-22956431d519d20f.js +0 -1
  306. package/.next/static/chunks/app/api/draft/approve/route-22956431d519d20f.js +0 -1
  307. package/.next/static/chunks/app/api/draft/route-22956431d519d20f.js +0 -1
  308. package/.next/static/chunks/app/api/draft/status/route-22956431d519d20f.js +0 -1
  309. package/.next/static/chunks/app/api/edges/[id]/route-22956431d519d20f.js +0 -1
  310. package/.next/static/chunks/app/api/edges/route-22956431d519d20f.js +0 -1
  311. package/.next/static/chunks/app/api/endpoints/[id]/route-22956431d519d20f.js +0 -1
  312. package/.next/static/chunks/app/api/entities/route-22956431d519d20f.js +0 -1
  313. package/.next/static/chunks/app/api/ingest/route-22956431d519d20f.js +0 -1
  314. package/.next/static/chunks/app/api/init/route-22956431d519d20f.js +0 -1
  315. package/.next/static/chunks/app/api/lesson/close/route-22956431d519d20f.js +0 -1
  316. package/.next/static/chunks/app/api/lesson/presence/route-22956431d519d20f.js +0 -1
  317. package/.next/static/chunks/app/api/lesson/questions/route-22956431d519d20f.js +0 -1
  318. package/.next/static/chunks/app/api/lesson/route-22956431d519d20f.js +0 -1
  319. package/.next/static/chunks/app/api/lesson/save/route-22956431d519d20f.js +0 -1
  320. package/.next/static/chunks/app/api/lesson/verdict/route-22956431d519d20f.js +0 -1
  321. package/.next/static/chunks/app/api/linear/route-22956431d519d20f.js +0 -1
  322. package/.next/static/chunks/app/api/linear/sync/route-22956431d519d20f.js +0 -1
  323. package/.next/static/chunks/app/api/linear/teams/route-22956431d519d20f.js +0 -1
  324. package/.next/static/chunks/app/api/map/describe/route-22956431d519d20f.js +0 -1
  325. package/.next/static/chunks/app/api/map/files/route-22956431d519d20f.js +0 -1
  326. package/.next/static/chunks/app/api/map/finish/route-22956431d519d20f.js +0 -1
  327. package/.next/static/chunks/app/api/map/route-22956431d519d20f.js +0 -1
  328. package/.next/static/chunks/app/api/map/start/route-22956431d519d20f.js +0 -1
  329. package/.next/static/chunks/app/api/map/touch-active/route-22956431d519d20f.js +0 -1
  330. package/.next/static/chunks/app/api/mention-search/route-22956431d519d20f.js +0 -1
  331. package/.next/static/chunks/app/api/nodes/[id]/position/route-22956431d519d20f.js +0 -1
  332. package/.next/static/chunks/app/api/nodes/[id]/route-22956431d519d20f.js +0 -1
  333. package/.next/static/chunks/app/api/nodes/positions/route-22956431d519d20f.js +0 -1
  334. package/.next/static/chunks/app/api/nodes/route-22956431d519d20f.js +0 -1
  335. package/.next/static/chunks/app/api/nodes/subtasks/route-22956431d519d20f.js +0 -1
  336. package/.next/static/chunks/app/api/notes/[id]/route-22956431d519d20f.js +0 -1
  337. package/.next/static/chunks/app/api/notes/route-22956431d519d20f.js +0 -1
  338. package/.next/static/chunks/app/api/open/route-22956431d519d20f.js +0 -1
  339. package/.next/static/chunks/app/api/plan/annotations/route-22956431d519d20f.js +0 -1
  340. package/.next/static/chunks/app/api/plan/approve/route-22956431d519d20f.js +0 -1
  341. package/.next/static/chunks/app/api/plan/history/route-22956431d519d20f.js +0 -1
  342. package/.next/static/chunks/app/api/plan/markdown/route-22956431d519d20f.js +0 -1
  343. package/.next/static/chunks/app/api/plan/presence/route-22956431d519d20f.js +0 -1
  344. package/.next/static/chunks/app/api/plan/route-22956431d519d20f.js +0 -1
  345. package/.next/static/chunks/app/api/plan/verdict/route-22956431d519d20f.js +0 -1
  346. package/.next/static/chunks/app/api/preferences/route-22956431d519d20f.js +0 -1
  347. package/.next/static/chunks/app/api/project-meta/route-22956431d519d20f.js +0 -1
  348. package/.next/static/chunks/app/api/reset/route-22956431d519d20f.js +0 -1
  349. package/.next/static/chunks/app/api/scope-guard/check/route-22956431d519d20f.js +0 -1
  350. package/.next/static/chunks/app/api/share/create/route-22956431d519d20f.js +0 -1
  351. package/.next/static/chunks/app/api/share/route-22956431d519d20f.js +0 -1
  352. package/.next/static/chunks/app/api/stream/route-22956431d519d20f.js +0 -1
  353. package/.next/static/chunks/app/api/tab/nav/route-22956431d519d20f.js +0 -1
  354. package/.next/static/chunks/app/api/tab/presence/route-22956431d519d20f.js +0 -1
  355. package/.next/static/chunks/app/api/tab/view/route-22956431d519d20f.js +0 -1
  356. package/.next/static/chunks/app/api/telemetry/route-22956431d519d20f.js +0 -1
  357. package/.next/static/chunks/app/api/telemetry/stats/route-22956431d519d20f.js +0 -1
  358. package/.next/static/chunks/app/api/version/route-22956431d519d20f.js +0 -1
  359. package/.next/static/chunks/app/api/workspace/activate/route-22956431d519d20f.js +0 -1
  360. package/.next/static/chunks/app/api/workspace/route-22956431d519d20f.js +0 -1
  361. package/.next/static/chunks/app/learn/page-810296b066616806.js +0 -7
  362. package/.next/static/chunks/app/map/page-61222a6ea8681548.js +0 -1
  363. package/.next/static/chunks/app/s/[token]/page-2b9dbfee0ea27cc0.js +0 -1
  364. package/.next/static/chunks/app/settings/page-3db530e1e5c438ab.js +0 -1
  365. package/.next/static/chunks/next/dist/client/components/builtin/app-error-22956431d519d20f.js +0 -1
  366. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-22956431d519d20f.js +0 -1
  367. package/.next/static/chunks/next/dist/client/components/builtin/not-found-22956431d519d20f.js +0 -1
  368. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-22956431d519d20f.js +0 -1
  369. package/.next/static/css/153149acc4a5c145.css +0 -1
  370. /package/.next/server/app/api/linear/{teams → scopes}/route.js.nft.json +0 -0
  371. /package/.next/static/{sG8lnmVWXj34F5BXWVLI_ → J6oJS9kOgjsQGP4x5VPu6}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1805,1918,1929,1979,2079,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4480,4505,4636,4637,4816,4852,4896,5022,5152,5190,5412,5545,5807,5819,5884,6426,6568,6595,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,7973,8167,8235,8617,8650,8696,8773,8906,9140,9363,9560,9725,9751,9826,9861],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1,7 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[459],{9383:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},25494:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]])},31966:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},36925:(e,t,s)=>{"use strict";s.d(t,{I:()=>r});var n=s(29813);function r(e){let t=e.tables??[],s=new Map(t.map(e=>[e.id,e.name])),r=t.flatMap(e=>e.columns.filter(e=>e.fkTo&&s.has(e.fkTo)).map(t=>({id:`fk-${e.id}-${t.name}`,fromId:e.id,toId:t.fkTo}))),a=(0,n.to)([...e.nodes.map(e=>({id:e.id,group:e.group??"—"})),...t.map(e=>{let t,s,n,r;return{id:e.id,group:e.group??e.domain??"—",h:(t=(e,t)=>e?Math.ceil(e.length/t):0,n=(s=(e.columns??[]).slice(0,5)).reduce((e,s)=>e+25+14*t(s.note,42),0),r=28*!!((e.columns??[]).length>s.length||(e.sample?.length??0)>0),36+(e.note?12+15*t(e.note,45):0)+n+r+30)}})],[...e.edges.map(e=>({fromId:e.toId,toId:e.fromId})),...r.map(e=>({fromId:e.toId,toId:e.fromId}))]),l=new Map;for(let t of e.questions)if("node"===t.anchor.kind){let e=l.get(t.anchor.nodeId)??[];e.push(t),l.set(t.anchor.nodeId,e)}let o=e.nodes.map(e=>{let t=a.get(e.id)??{x:e.x,y:e.y},s=l.get(e.id)??[],n=s.length?"\n\n**Q&A**\n"+s.map(e=>`
2
+ _${e.question}_
3
+ ${e.answer??"_(waiting for the agent…)_"}`).join("\n"):"",r=`${e.detail||""}${n}`.trim();return{id:e.id,view:"ARCHITECTURE",kind:"FEATURE",cluster:e.group??null,layer:null,title:e.title,role:e.summary||null,plain:r||null,status:"KEEP",priority:2,x:t.x,y:t.y,source:"MANUAL",sourceRef:null,parentId:null,isCriterion:!1,files:e.files,bugFlags:[]}}),i=t.map(e=>{let t=a.get(e.id)??{x:0,y:0};return{id:e.id,x:t.x,y:t.y,group:e.group??e.domain??"—",data:{name:e.name,domain:e.domain??null,note:e.note,columns:e.columns.map(e=>({name:e.name,type:e.type,isPk:e.isPk,isFk:e.isFk,note:e.note,fkTo:e.fkTo?s.get(e.fkTo)??e.fkTo:void 0})),sample:e.sample}}});return{nodes:o,edges:[...e.edges.map(e=>({id:e.id,fromId:e.fromId,toId:e.toId,kind:"RELATES",label:e.verb,sourceHandle:null,targetHandle:null})),...r.map(e=>({id:e.id,fromId:e.fromId,toId:e.toId,kind:"RELATES",label:"FK",sourceHandle:null,targetHandle:null}))],tableNodes:i}}},37665:(e,t,s)=>{"use strict";s.d(t,{LearnWorkspace:()=>z});var n=s(95155),r=s(12115),a=s(73321),l=s(38096),o=s(25494),i=s(9383);let d=(0,s(30772).A)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);var c=s(9005),u=s(92571),x=s(40557),m=s(64577),f=s(91337),h=s(60292),p=s(51909),g=s(17356);let v="u">typeof CSS&&"highlights"in CSS&&"u">typeof Highlight,b="lesson-pending",w="lesson-ask",j="lesson-answered";function k(){return v?CSS.highlights:null}function y(...e){return new globalThis.Highlight(...e)}function N(e,t){if(!t)return null;let s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode:e=>e.parentElement?.closest("pre, table")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),n=[],r="";for(let e=s.nextNode();e;e=s.nextNode())n.push({node:e,start:r.length}),r+=e.nodeValue??"";let a=r.indexOf(t);if(a<0)return null;let l=e=>{for(let t=n.length-1;t>=0;t--)if(n[t].start<=e)return{node:n[t].node,offset:e-n[t].start};return null},o=l(a),i=l(a+t.length);if(!o||!i)return null;let d=document.createRange();return d.setStart(o.node,o.offset),d.setEnd(i.node,i.offset),d}function A({narrative:e,round:t,answered:s=[],onApi:a}){let[l,o]=(0,r.useState)([]),[i,d]=(0,r.useState)(null),[c,u]=(0,r.useState)(null),x=(0,r.useRef)(null),m=(0,r.useRef)(null);(0,r.useEffect)(()=>{o([])},[t]);let f=(0,r.useCallback)(()=>{let e=window.getSelection();if(!e||e.isCollapsed)return d(null);let t=e.toString().trim();if(!t||!x.current?.contains(e.anchorNode))return d(null);let s=e.getRangeAt(0).getBoundingClientRect();d({x:s.right+window.scrollX,y:s.top+window.scrollY,excerpt:t})},[]);(0,r.useEffect)(()=>{let e=()=>setTimeout(f,0);return document.addEventListener("mouseup",e),document.addEventListener("selectionchange",e),()=>{document.removeEventListener("mouseup",e),document.removeEventListener("selectionchange",e)}},[f]),(0,r.useEffect)(()=>{let e=e=>{let t=window.getSelection();if(!t||t.isCollapsed)return;let s=t.toString().trim();if(!s||!x.current?.contains(t.anchorNode))return;let n=document.activeElement;if(n&&/^(TEXTAREA|INPUT)$/.test(n.tagName)||1!==e.key.length||e.metaKey||e.ctrlKey||e.altKey)return;e.preventDefault(),e.stopPropagation();let r=t.getRangeAt(0);m.current=r.cloneRange();let a=r.getBoundingClientRect();u({x:a.right+window.scrollX,y:a.top+window.scrollY,excerpt:s,seed:e.key}),d(null),t.removeAllRanges()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]);let h=(0,r.useCallback)((e,t)=>{o(s=>[...s,{id:`tq-${Date.now()}-${Math.floor(1e6*Math.random())}`,excerpt:e,question:t}])},[]),p=(0,r.useCallback)(e=>o(t=>t.filter(t=>t.id!==e)),[]),v=(0,r.useCallback)(()=>o([]),[]);(0,r.useEffect)(()=>{let e=k();if(!c||!e)return;let t=m.current;if(t)return e.set(b,y(t)),()=>{e.delete(b)}},[c]),(0,r.useEffect)(()=>{let e=k();if(!e||!x.current)return;let t=[],n=[];for(let e of l){let s=N(x.current,e.excerpt);s&&t.push(s)}for(let e of s){let t=N(x.current,e.excerpt);t&&n.push(t)}let r=(t,s)=>s.length?e.set(t,y(...s)):e.delete(t);return r(w,t),r(j,n),()=>{e.delete(w),e.delete(j)}},[l,s,e]);let S=(0,r.useMemo)(()=>l.filter(e=>e.question.trim()).length,[l]);return(0,r.useEffect)(()=>{a?.({textQuestions:l,count:S,removeQuestion:p,clearAll:v})},[l,S,p,v,a]),(0,n.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,n.jsx)("div",{ref:x,className:"min-h-0 flex-1 overflow-y-auto px-5 pb-5 pt-16 text-[15px] leading-[1.6] selection:bg-[var(--accent-2,#ff7a45)]/30",children:(0,n.jsx)(E,{markdown:e})}),i&&(0,n.jsx)("div",{style:{position:"fixed",left:i.x+4,top:i.y-34,zIndex:60},className:"rounded-md border border-white/15 bg-card/95 p-0.5 shadow-lg backdrop-blur",children:(0,n.jsxs)("button",{onClick:()=>{let e=window.getSelection();m.current=e&&e.rangeCount?e.getRangeAt(0).cloneRange():null,u({...i,seed:""}),d(null),e?.removeAllRanges()},title:"Ask the agent about this",className:"flex items-center gap-1 rounded px-2 py-1 text-[11px] font-semibold text-[var(--accent-2,#ff7a45)] hover:bg-[var(--accent-2,#ff7a45)]/15",children:[(0,n.jsx)(g.A,{className:"size-3.5"})," Ask"]})}),c&&(0,n.jsx)(C,{excerpt:c.excerpt,x:c.x,y:c.y,seed:c.seed,onConfirm:e=>{h(c.excerpt,e),u(null)},onCancel:()=>u(null)})]})}function C({excerpt:e,x:t,y:s,seed:a,onConfirm:l,onCancel:o}){let[i,d]=(0,r.useState)(a),u=(0,r.useRef)(null),x=()=>i.trim()?l(i.trim()):o();return(0,n.jsxs)("div",{ref:u,style:{position:"fixed",left:t+4,top:s-6,zIndex:60},className:"w-72 rounded-md border border-white/15 bg-card/95 p-1.5 shadow-xl backdrop-blur",onBlur:e=>{u.current?.contains(e.relatedTarget)||x()},children:[(0,n.jsxs)("div",{className:"mb-1 line-clamp-1 text-[10px] text-muted-foreground",children:["“",e,"”"]}),(0,n.jsx)("textarea",{autoFocus:!0,value:i,onChange:e=>d(e.target.value),onFocus:e=>e.currentTarget.setSelectionRange(i.length,i.length),placeholder:"Ask the agent… (Enter to ask \xb7 Esc to discard)",onKeyDown:e=>{e.stopPropagation(),"Enter"!==e.key||e.shiftKey?"Escape"===e.key&&(e.preventDefault(),o()):(e.preventDefault(),x())},className:"h-16 w-full resize-none rounded bg-white/[0.05] px-1.5 py-1 text-xs outline-none placeholder:text-muted-foreground/50 focus:bg-white/[0.08]"}),(0,n.jsxs)("div",{className:"mt-1 flex items-center justify-end gap-1",children:[(0,n.jsxs)("button",{type:"button",onClick:o,className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground hover:bg-red-500/15 hover:text-red-300",children:[(0,n.jsx)(c.A,{className:"size-3"})," Discard"]}),(0,n.jsxs)("button",{type:"button",onClick:x,disabled:!i.trim(),className:"flex items-center gap-1 rounded bg-[var(--accent-2,#ff7a45)]/15 px-1.5 py-0.5 text-[10px] font-semibold text-[var(--accent-2,#ff7a45)] hover:bg-[var(--accent-2,#ff7a45)]/25 disabled:opacity-40",children:[(0,n.jsx)(m.A,{className:"size-3"})," Ask"]})]})]})}function E({markdown:e}){let t=(0,r.useMemo)(()=>(0,p.n$)(e),[e]);return(0,n.jsxs)("div",{className:"mx-auto w-full max-w-[66ch] space-y-4",children:[(0,n.jsx)("style",{children:`
4
+ ::highlight(${b}) { background: color-mix(in srgb, var(--accent-2,#ff7a45) 30%, transparent); }
5
+ ::highlight(${w}) { background: color-mix(in srgb, var(--accent-2,#ff7a45) 18%, transparent); }
6
+ ::highlight(${j}) { background: color-mix(in srgb, #34d399 16%, transparent); }
7
+ `}),t.map((e,t)=>(0,n.jsx)(S,{block:e,index:t},t))]})}function S({block:e,index:t}){if("code"===e.kind)return(0,n.jsx)(p.NG,{text:e.text});if("table"===e.kind)return(0,n.jsx)(p.QH,{block:e});let s=(0,p.Vq)(e.kind)?`lesson-h-${t}`:void 0;return(0,n.jsx)(n.Fragment,{children:(0,p.aM)(e,(0,n.jsx)(p.cV,{text:e.text}),"reading",s)})}var I=s(6302),q=s(36925);function z({initialLesson:e,repoFiles:t=[]}){let s=(0,a.useRouter)(),[u,x]=(0,r.useState)(e),[m,g]=(0,r.useState)(null),[v,b]=(0,r.useState)([]),[w,j]=(0,r.useState)(null),[k,y]=(0,r.useState)(""),[N,C]=(0,r.useState)(!1),[E,S]=(0,r.useState)(!1),[O,F]=(0,r.useState)(!1),[H,P]=(0,r.useState)(null),[D,_]=(0,r.useState)(null),K=u?.updatedAt??0,U=(0,r.useRef)(K);(0,r.useEffect)(()=>{U.current=K},[K]),(0,r.useEffect)(()=>{let e=()=>void fetch("/api/lesson/presence",{method:"POST",cache:"no-store",headers:(0,h.dh)((0,h.fk)())}).catch(()=>{});e();let t=setInterval(e,5e3);return()=>clearInterval(t)},[]);let V=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/lesson",{cache:"no-store",headers:(0,h.dh)((0,h.fk)())});if(!e.ok)return;let t=(await e.json()).lesson;t&&t.updatedAt>U.current?(x(t),b([]),j(null),y(""),F(!1)):!t&&U.current>0&&x(null)}catch{}},[]);(0,r.useEffect)(()=>{if(H)return;let e=setInterval(()=>void V(),3e3),t=()=>{"visible"===document.visibilityState&&V()};return document.addEventListener("visibilitychange",t),window.addEventListener("focus",t),()=>{clearInterval(e),document.removeEventListener("visibilitychange",t),window.removeEventListener("focus",t)}},[H,V]);let Q=(0,r.useCallback)(()=>{let e=Date.now(),t=(m?.textQuestions??[]).filter(e=>e.question.trim()).map(t=>({id:t.id,anchor:{kind:"text",excerpt:t.excerpt},question:t.question,askedAt:e})),s=v.filter(e=>e.question.trim()).map(t=>({id:t.id,anchor:{kind:"node",nodeId:t.nodeId},question:t.question,askedAt:e}));return[...k.trim()?[{id:`oq-${e}`,anchor:{kind:"overall"},question:k.trim(),askedAt:e}]:[],...s,...t]},[m,v,k]),B=(m?.count??0)+v.filter(e=>e.question.trim()).length+ +!!k.trim(),Y=(0,r.useCallback)(async()=>{if(!E&&0!==B){S(!0);try{(await fetch("/api/lesson/questions",{method:"POST",headers:{"content-type":"application/json",...(0,h.dh)((0,h.fk)())},body:JSON.stringify({questions:Q()})})).ok&&(F(!0),C(!1),j(null))}finally{S(!1)}}},[E,B,Q]),X=(0,r.useCallback)(async()=>{let e=await fetch("/api/lesson/save",{method:"POST",headers:(0,h.dh)((0,h.fk)())});e.ok&&(_((await e.json()).lessonId??u?.id??null),P("saved"))},[u]),W=(0,r.useCallback)(async()=>{await fetch("/api/lesson/close",{method:"POST",headers:(0,h.dh)((0,h.fk)())}).catch(()=>{}),P("closed")},[]),J=(0,r.useCallback)((e,t)=>{b(s=>[...s,{id:`nq-${Date.now()}-${Math.floor(1e6*Math.random())}`,nodeId:e,question:t}])},[]),G=(0,r.useCallback)(e=>{let t=e.replace(/^[^:]+:\s*/,"").trim(),s=u?.nodes.find(e=>e.title===t);s&&j(s.id)},[u]),Z=(0,r.useMemo)(()=>(u?.questions??[]).filter(e=>"text"===e.anchor.kind&&e.answer).map(e=>({excerpt:"text"===e.anchor.kind?e.anchor.excerpt:"",answer:e.answer??""})),[u]),ee=(0,r.useMemo)(()=>(u?.questions??[]).filter(e=>"overall"===e.anchor.kind),[u]),et=(0,r.useMemo)(()=>u?(0,q.I)(u):{nodes:[],edges:[],tableNodes:[]},[u]);if(H)return(0,n.jsx)($,{ended:H,savedId:D,onBrowse:()=>s.push("/learn?view=library")});if(!u)return(0,n.jsx)(L,{});let es=w?u.nodes.find(e=>e.id===w)?.title??"":"";return(0,n.jsx)(p.Ue,{files:t,children:(0,n.jsxs)("div",{className:"relative flex h-screen flex-col",children:[O&&(0,n.jsx)(M,{onDismiss:()=>F(!1)}),(0,n.jsx)("div",{className:"pointer-events-none fixed right-3 top-3 z-30 flex items-center gap-2",children:(0,n.jsxs)("div",{className:"glass pointer-events-auto flex h-10 items-center gap-0.5 rounded-full px-1",children:[(0,n.jsx)("button",{onClick:()=>s.push("/learn?view=library"),title:"Saved lessons",className:"flex size-8 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,n.jsx)(l.A,{className:"size-3.5"})}),(0,n.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,n.jsxs)("button",{onClick:()=>C(e=>!e),title:"Ask an overall question",className:(0,f.cn)("relative flex size-8 items-center justify-center rounded-full transition-colors",N?"bg-white/10 text-foreground":k.trim()?"text-[var(--accent-2,#ff7a45)]":"text-muted-foreground hover:bg-white/[0.06] hover:text-foreground"),children:[(0,n.jsx)(o.A,{className:"size-3.5"}),k.trim()&&(0,n.jsx)("span",{className:"absolute -right-0.5 -top-0.5 size-2 rounded-full bg-[var(--accent-2,#ff7a45)]"})]}),(0,n.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,n.jsxs)("button",{onClick:()=>void Y(),disabled:E||0===B,title:0===B?"Highlight text or a node to ask, then send":"Send your questions to the agent",className:(0,f.cn)("flex items-center gap-1 rounded-full px-2.5 py-1 text-[11px] font-semibold transition-colors",0===B?"text-muted-foreground opacity-50":"text-[var(--accent-2,#ff7a45)] hover:bg-[var(--accent-2,#ff7a45)]/15"),children:[(0,n.jsx)(i.A,{className:"size-3"})," Send",B>0?` (${B})`:""]}),(0,n.jsxs)("button",{onClick:()=>void X(),title:"Save this lesson to your library",className:"flex items-center gap-1 rounded-full border border-emerald-500/40 bg-emerald-500/15 px-2.5 py-1 text-[11px] font-semibold text-emerald-300 transition-colors hover:bg-emerald-500/25",children:[(0,n.jsx)(d,{className:"size-3"})," Save"]}),(0,n.jsxs)("button",{onClick:()=>void W(),title:"Close without saving",className:"flex items-center gap-1 rounded-full px-2.5 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-red-500/15 hover:text-red-300",children:[(0,n.jsx)(c.A,{className:"size-3"})," Close"]})]})}),N&&(0,n.jsx)(T,{label:"Overall question",placeholder:"A question about the whole topic…",value:k,onChange:y,onClose:()=>C(!1)}),w&&(0,n.jsx)(T,{label:`Ask about “${es}”`,placeholder:"Your question about this node…",value:"",submitLabel:"Add question",onSubmit:e=>{J(w,e),j(null)},onClose:()=>j(null)}),(0,n.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,n.jsxs)("div",{className:"relative flex min-w-0 flex-1 flex-col bg-background",style:{width:"50%"},children:[(0,n.jsx)("div",{className:"min-h-0 flex-1",children:(0,n.jsx)(A,{narrative:u.narrative,round:K,answered:Z,onApi:g})}),ee.length>0&&(0,n.jsx)(R,{questions:ee})]}),(0,n.jsx)("div",{className:"w-px shrink-0 bg-white/5"}),(0,n.jsx)("div",{className:"relative min-w-0 flex-1 bg-background",style:{width:"50%"},children:(0,n.jsx)(I.MapClient,{view:"ARCHITECTURE",nodes:et.nodes,edges:et.edges,tableNodes:et.tableNodes,embedded:!0,readOnly:!0,minimap:!0,staticEdgeLabels:!0,hasFrontend:!1,onAskAgent:G})})]})]})})}function T({label:e,placeholder:t,value:s,submitLabel:a,onChange:l,onSubmit:o,onClose:i}){let[d,u]=(0,r.useState)(s),x=l?s:d;return(0,n.jsxs)("div",{className:"fixed right-3 top-16 z-30 w-80 rounded-xl border border-white/10 bg-card p-3 shadow-xl",children:[(0,n.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wide text-muted-foreground [overflow-wrap:anywhere]",children:e}),(0,n.jsx)("button",{onClick:i,title:"Close",className:"rounded p-0.5 text-muted-foreground hover:text-foreground",children:(0,n.jsx)(c.A,{className:"size-3.5"})})]}),(0,n.jsx)("textarea",{autoFocus:!0,value:x,onChange:e=>{let t;return t=e.target.value,l?l(t):u(t)},onKeyDown:e=>{o&&"Enter"===e.key&&!e.shiftKey&&(e.preventDefault(),x.trim()&&o(x.trim()))},placeholder:t,rows:3,className:"w-full resize-y rounded border border-white/5 bg-background px-2 py-1.5 text-[12px] leading-snug outline-none focus:border-[var(--accent-2,#ff7a45)]/40"}),o&&(0,n.jsx)("button",{onClick:()=>x.trim()&&o(x.trim()),disabled:!x.trim(),className:"mt-1.5 w-full rounded-md bg-[var(--accent-2,#ff7a45)]/15 px-2 py-1 text-[11px] font-semibold text-[var(--accent-2,#ff7a45)] transition-colors hover:bg-[var(--accent-2,#ff7a45)]/25 disabled:opacity-40",children:a??"Add"})]})}function R({questions:e}){return(0,n.jsxs)("div",{className:"max-h-44 shrink-0 space-y-1.5 overflow-y-auto border-t border-white/10 bg-background/60 px-5 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:[(0,n.jsx)(o.A,{className:"size-3"}),"Overall Q&A"]}),e.map(e=>(0,n.jsxs)("div",{className:"rounded-md border border-white/10 bg-background/40 p-2",children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-foreground",children:e.question}),e.answer?(0,n.jsx)("div",{className:"mt-1 text-[12px] leading-relaxed text-foreground/85",children:(0,n.jsx)(p.pO,{markdown:e.answer,variant:"compact"})}):(0,n.jsxs)("div",{className:"mt-1 flex items-center gap-1 text-[11px] text-muted-foreground/70",children:[(0,n.jsx)(u.A,{className:"size-3 animate-spin"})," waiting for the agent…"]})]},e.id))]})}function M({onDismiss:e}){return(0,n.jsxs)("div",{className:"absolute inset-0 z-40 flex flex-col items-center justify-center gap-4 bg-background/95 px-6 text-center backdrop-blur-sm",children:[(0,n.jsx)("div",{className:"flex size-12 items-center justify-center rounded-full bg-[var(--accent-2,#ff7a45)]/15",children:(0,n.jsx)(u.A,{className:"size-6 animate-spin text-[var(--accent-2,#ff7a45)]"})}),(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Questions sent"}),(0,n.jsx)("p",{className:"max-w-sm text-sm text-muted-foreground",children:"Your terminal session is answering. The updated lesson will appear here automatically — if the session finished its turn, nudge it in the terminal."})]}),(0,n.jsx)("button",{onClick:e,className:"rounded-full border border-white/12 px-3 py-1.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:"Keep reading meanwhile"})]})}function L(){return(0,n.jsxs)("div",{className:"flex h-screen flex-col items-center justify-center gap-3 px-6 text-center",children:[(0,n.jsx)(x.A,{className:"size-8 text-muted-foreground/60"}),(0,n.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"No lesson open"}),(0,n.jsxs)("p",{className:"max-w-md text-sm text-muted-foreground",children:["Ask your terminal session to ",(0,n.jsx)("em",{children:"explain"})," or ",(0,n.jsx)("em",{children:"teach"})," you part of the codebase — it opens an interactive lesson here. You highlight text to ask questions; it answers on the board."]})]})}function $({ended:e,savedId:t,onBrowse:s}){return(0,n.jsxs)("div",{className:"flex h-screen flex-col items-center justify-center gap-5 px-6 text-center",children:[(0,n.jsx)("div",{className:(0,f.cn)("flex size-12 items-center justify-center rounded-full","saved"===e?"bg-emerald-500/15":"bg-white/10"),children:"saved"===e?(0,n.jsx)(m.A,{className:"size-6 text-emerald-300"}):(0,n.jsx)(c.A,{className:"size-6 text-muted-foreground"})}),(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"saved"===e?"Lesson saved":"Lesson closed"}),(0,n.jsx)("p",{className:"max-w-sm text-sm text-muted-foreground",children:"saved"===e?"It's in your library — reopen it anytime.":"Closed without saving."})]}),(0,n.jsxs)("button",{onClick:s,className:"rounded-full border border-white/12 px-3 py-1.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:[(0,n.jsx)(l.A,{className:"mr-1 inline size-3.5"})," ",t?"Browse the library":"Open the library"]})]})}},38096:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("library",[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]])},38464:(e,t,s)=>{"use strict";s.d(t,{LessonLibraryView:()=>f});var n=s(95155),r=s(12115),a=s(73321),l=s(38096),o=s(40557),i=s(31966),d=s(60292),c=s(51909),u=s(6302),x=s(36925);function m(e){let t=new URLSearchParams,s=(0,d.fk)();for(let[n,r]of(s&&t.set("ws",s),Object.entries(e)))t.set(n,r);return`/learn?${t.toString()}`}function f({lessons:e,selected:t,repoFiles:s=[]}){return t?(0,n.jsx)(p,{lesson:t,repoFiles:s}):(0,n.jsx)(h,{lessons:e})}function h({lessons:e}){let t=(0,a.useRouter)();return(0,n.jsxs)("div",{className:"mx-auto flex h-screen w-full max-w-3xl flex-col px-6 pt-20",children:[(0,n.jsxs)("div",{className:"mb-5 flex items-center justify-between",children:[(0,n.jsxs)("h1",{className:"flex items-center gap-2 text-lg font-semibold text-foreground",children:[(0,n.jsx)(l.A,{className:"size-5 text-[var(--accent-2,#ff7a45)]"})," Lessons"]}),(0,n.jsx)("button",{onClick:()=>t.push(m({})),className:"rounded-full border border-white/12 px-3 py-1.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:"Back to current lesson"})]}),0===e.length?(0,n.jsxs)("div",{className:"rounded-lg border border-dashed border-white/10 px-4 py-12 text-center text-sm text-muted-foreground",children:["No saved lessons yet. Ask your terminal session to explain something, then click ",(0,n.jsx)("b",{children:"Save"}),"."]}):(0,n.jsx)("div",{className:"min-h-0 flex-1 space-y-2 overflow-y-auto pb-6",children:e.map(e=>(0,n.jsxs)("button",{onClick:()=>t.push(m({view:"library",id:e.id})),className:"block w-full rounded-lg border border-white/10 bg-white/[0.02] p-3 text-left transition-colors hover:border-white/20 hover:bg-white/[0.04]",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 text-[14px] font-semibold text-foreground",children:[(0,n.jsx)(o.A,{className:"size-4 text-[var(--accent-2,#ff7a45)]"})," ",e.title]}),e.topic&&e.topic!==e.title&&(0,n.jsx)("div",{className:"mt-0.5 truncate text-[12px] text-muted-foreground",children:e.topic}),(0,n.jsxs)("div",{className:"mt-1 text-[11px] text-muted-foreground/70",children:[e.nodeCount," node",1===e.nodeCount?"":"s"," \xb7 ",e.questionCount," question",1===e.questionCount?"":"s"," \xb7 saved ",new Date(e.updatedAt).toLocaleDateString()]})]},e.id))})]})}function p({lesson:e,repoFiles:t}){let s=(0,a.useRouter)(),l=(0,r.useMemo)(()=>new Map(e.nodes.map(e=>[e.id,e.title])),[e.nodes]),o=(0,r.useMemo)(()=>(0,x.I)(e),[e]);return(0,n.jsx)(c.Ue,{files:t,children:(0,n.jsxs)("div",{className:"relative flex h-screen flex-col",children:[(0,n.jsx)("div",{className:"pointer-events-none fixed right-3 top-3 z-30",children:(0,n.jsxs)("button",{onClick:()=>s.push(m({view:"library"})),className:"glass pointer-events-auto flex h-10 items-center gap-1.5 rounded-full px-3 text-[12px] font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:[(0,n.jsx)(i.A,{className:"size-3.5"})," Library"]})}),(0,n.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col overflow-y-auto bg-background px-5 pb-6 pt-16",style:{width:"50%"},children:[(0,n.jsx)(c.pO,{markdown:e.narrative,variant:"reading"}),e.questions.length>0&&(0,n.jsxs)("div",{className:"mx-auto mt-6 w-full max-w-[66ch] space-y-2",children:[(0,n.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Q&A"}),e.questions.map(e=>(0,n.jsx)(g,{q:e,nodeTitle:"node"===e.anchor.kind?l.get(e.anchor.nodeId):void 0},e.id))]})]}),(0,n.jsx)("div",{className:"w-px shrink-0 bg-white/5"}),(0,n.jsx)("div",{className:"min-w-0 flex-1 bg-background",style:{width:"50%"},children:(0,n.jsx)(u.MapClient,{view:"ARCHITECTURE",nodes:o.nodes,edges:o.edges,tableNodes:o.tableNodes,embedded:!0,readOnly:!0,minimap:!0,staticEdgeLabels:!0,hasFrontend:!1})})]})]})})}function g({q:e,nodeTitle:t}){let s="overall"===e.anchor.kind?"Overall":"node"===e.anchor.kind?t??"Node":`“${e.anchor.excerpt.slice(0,48)}…”`;return(0,n.jsxs)("div",{className:"rounded-md border border-white/10 bg-background/40 p-2",children:[(0,n.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground/80",children:s}),(0,n.jsx)("div",{className:"mt-0.5 text-[12px] font-medium text-foreground",children:e.question}),e.answer&&(0,n.jsx)("div",{className:"mt-1 text-[12px] leading-relaxed text-foreground/85",children:(0,n.jsx)(c.pO,{markdown:e.answer,variant:"compact"})})]})}},40557:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},73206:(e,t,s)=>{Promise.resolve().then(s.bind(s,37665)),Promise.resolve().then(s.bind(s,38464))}},e=>{e.O(0,[2574,3862,5004,277,8500,4888,7424,9887,5957,5697,2059,3908,6302,1909,8441,3794,7358],()=>e(e.s=73206)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5823],{27950:(e,t,o)=>{Promise.resolve().then(o.bind(o,44853)),Promise.resolve().then(o.bind(o,62079)),Promise.resolve().then(o.bind(o,6302)),Promise.resolve().then(o.bind(o,77260))},62079:(e,t,o)=>{"use strict";o.d(t,{FilesMapClient:()=>U});var s=o(95155),n=o(12115),r=o(80277),l=o(81750),a=o(6266),i=o(7679),d=o(98766),c=o(15629),u=o(79176),p=o(2982),h=o(64385);o(53255);var f=o(17356),m=o(24413),x=o(18986),g=o(9005),b=o(25583),y=o(82099),w=o(62311),j=o(9991),k=o(47409),N=o(91157),v=o(56895),M=o(16607),S=o(14983);let C=/(^|\/)tests?\/|\.(test|spec)\.[jt]sx?$/i;var A=o(44267),$=o(70947),z=o(98238),E=o(56614),D=o(28161);let I=/\.(py|go|rb|rs|java|php|ex|exs)$/i,R=/(^|\/)(app\/api|pages\/api|migrations|bin)\/|(^|\/)instrumentation\.[^/]+$/,O=e=>e.includes("/")?e.slice(0,e.indexOf("/")):"(root)";function T(e){let t=Math.max(14,.35*e.length),o=new Map;for(let t of e)o.set(t,O(t));for(let e=0;e<6;e++){let e=new Map;for(let t of o.values())e.set(t,(e.get(t)??0)+1);let s=!1;for(let[n,r]of o){if((e.get(r)??0)<=t||!n.startsWith(`${r}/`))continue;let l=n.slice(r.length+1);l.includes("/")&&(o.set(n,`${r}/${l.slice(0,l.indexOf("/"))}`),s=!0)}if(!s)break}return o}var P=o(29523),Z=o(70221),F=o(12410),L=o(91337);function _(e){return 5+.5*Math.min(e,26)}let W={file:(0,n.memo)(function({data:e}){let t=(0,P.k)(Z.kz),o=!!e.touched,n=e.recency??0,r=e.inDegree??0,i=_(r),d=e.layer??null,c=2*!!d,u=r>0?` \xb7 imported by ${r}`:"",p=d?` \xb7 ${"fullstack"===d?"shared (used by frontend + backend)":D.YG[d].label.toLowerCase()}`:"",h=o?`${e.tooltip} \xb7 edited ${e.count??0}\xd7 this session${u}${p}`:e.untested?`${e.tooltip} \xb7 no test imports this file${u}${p}`:`${e.tooltip}${u}${p}`;return(0,s.jsxs)("div",{title:h,className:"relative flex flex-col items-center",children:[(0,s.jsx)(l.h7,{type:"target",position:a.yX.Top,isConnectable:!1,className:"!h-0 !w-0 !min-w-0 !border-0 !bg-transparent",style:{top:i+c,left:"50%"}}),(0,s.jsx)("span",{"aria-hidden":!0,className:(0,L.cn)("rounded-full",e.isNewest&&"animate-touch-pulse"),style:{padding:c,background:d?(0,D.A6)(d):void 0,boxShadow:o?`0 0 ${8+Math.round(14*n)}px ${2+Math.round(3*n)}px rgba(45,212,191,${(.35+.45*n).toFixed(2)})`:e.untested?"0 0 0 2px rgba(251,191,36,0.65)":"none"},children:(0,s.jsx)("span",{"aria-hidden":!0,className:"block rounded-full",style:{width:2*i,height:2*i,backgroundColor:e.dirColor}})}),o&&(e.count??0)>0&&(0,s.jsx)("span",{"aria-hidden":!0,className:"absolute -right-2 -top-2 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-teal-400 px-0.5 text-[8px] font-bold text-background ring-1 ring-background",children:e.count}),("full"===t||"mid"===t&&r>=4)&&(0,s.jsx)("span",{className:(0,L.cn)("pointer-events-none mt-1 max-w-44 truncate text-[10px] leading-tight",o?"font-semibold text-teal-100":"text-foreground/75"),children:e.label}),(0,s.jsx)(l.h7,{type:"source",position:a.yX.Bottom,isConnectable:!1,className:"!h-0 !w-0 !min-w-0 !border-0 !bg-transparent",style:{top:i+c,bottom:"auto",left:"50%"}})]})})};function B({regions:e,dominant:t}){return(0,s.jsx)(l.DX,{children:e.map(e=>{let o=t.get(e.key);return o&&"fullstack"!==o?(0,s.jsx)("div",{style:{position:"absolute",transform:`translate(${e.x-.15*e.w}px, ${e.y-.15*e.h}px)`,width:1.3*e.w,height:1.3*e.h,pointerEvents:"none",zIndex:0,background:`radial-gradient(closest-side, ${D.ZD[o]} 0%, transparent 72%)`,opacity:.1}},e.key):null})})}function U({files:e,edges:t,touched:o,hasFrontend:a=!1,classificationRoots:O=[]}){let H,X=(0,n.useMemo)(()=>(function(e,t){let o=function(e){if(!e?.length)return[];let t=new Set;for(let o of e){let e=o.trim().replace(/^\/+|\/+$/g,"");e&&t.add(e)}return[...t]}(t);if(!o.length)return T(e);let s=new Map,n=[];for(let t of e){let e=function(e,t){let o=null;for(let s of t)(e===s||e.startsWith(`${s}/`))&&(!o||s.length>o.length)&&(o=s);return o}(t,o);e?s.set(t,function(e,t){if(e===t||!e.startsWith(`${t}/`))return t;let o=e.slice(t.length+1);return o.includes("/")?`${t}/${o.slice(0,o.indexOf("/"))}`:t}(t,e)):n.push(t)}for(let[e,t]of T(n))s.set(e,t);return s})(e.map(e=>e.path),O),[e,O]),G=(0,n.useMemo)(()=>(function(e,t,o){let s=function(e){let t=new Map;for(let o of e.values())t.set(o,(t.get(o)??0)+1);let o=Array.from(t.entries()).sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])),s=Math.max(1,Math.ceil(Math.sqrt(2.5*o.length))),n=new Map;return o.forEach(([e],t)=>{n.set(e,{x:t%s*1250,y:950*Math.floor(t/s)})}),n}(o),n=e=>s.get(o.get(e)??"(root)"),r=e.map(e=>{let t=function(e){let t=0x811c9dc5;for(let o=0;o<e.length;o++)t=(t^e.charCodeAt(o))*0x1000193>>>0;return{x:(t%10007/10007-.5)*900,y:((t>>>13)%10007/10007-.5)*900}}(e.path),o=n(e.path);return{id:e.path,x:o.x+.5*t.x,y:o.y+.5*t.y,pinned:!1,radius:_(e.inDegree??0)+22}}),l=t.filter(e=>e.from!==e.to).map(e=>({source:e.from,target:e.to})),a=(0,i.A)(r).force("link",(0,d.A)(l).id(e=>e.id).distance(100).strength(e=>{let t="object"==typeof e.source?e.source.id:String(e.source),s="object"==typeof e.target?e.target.id:String(e.target);return o.get(t)===o.get(s)?.5:.02})).force("charge",(0,c.A)().strength(-260).distanceMax(800)).force("collide",(0,u.A)().radius(e=>e.radius).strength(.6)).force("clusterX",(0,p.A)(e=>n(e.id).x).strength(.1)).force("clusterY",(0,h.A)(e=>n(e.id).y).strength(.115)).stop();for(let e=0;e<500;e++)a.tick();let f=new Map;for(let e of r)f.set(e.id,{x:e.x??0,y:e.y??0});return f})(e,t,X),[e,t,X]),q=(0,n.useMemo)(()=>(function(e,t){var o;let s=new Set;for(let e of t)o=e.from,C.test(o)&&s.add(e.to);let n=new Set;for(let t of e)C.test(t)||s.has(t)||n.add(t);return n})(e.map(e=>e.path),t),[e,t]),J=(0,n.useMemo)(()=>a?function(e,t){let o=new Map,s=new Map;for(let e of t){let t=s.get(e.from);t?t.push(e.to):s.set(e.from,[e.to])}let n=new Map;for(let t of e){let e=R.test(t)?"backend":D.An.test(t)?"frontend":I.test(t)?"backend":null;o.set(t,e),e&&n.set(t,e)}let r=e=>{let t=new Set,o=[];for(let[t,s]of n)s===e&&o.push(t);for(;o.length;){let e=o.pop();for(let n of s.get(e)??[])t.has(n)||(t.add(n),o.push(n))}return t},l=r("frontend"),a=r("backend");for(let t of e){if(o.get(t))continue;let e=l.has(t),s=a.has(t);e&&s?o.set(t,"fullstack"):e?o.set(t,"frontend"):s&&o.set(t,"backend")}return o}(e.map(e=>e.path),t):null,[a,e,t]),K=(0,n.useMemo)(()=>{let e=new Map,t=Object.entries(o??{});if(!t.length)return e;let s=t.map(([,e])=>e.lastAt),n=Math.max(...s),r=Math.min(...s),l=n-r||1,a=t[0][0],i=t[0][1].lastAt;for(let[e,o]of t)o.lastAt>=i&&(a=e,i=o.lastAt);for(let[o,s]of t)e.set(o,{count:s.count,recency:(s.lastAt-r)/l,isNewest:o===a});return e},[o]),Q=K.size>0,Y=(0,n.useMemo)(()=>Array.from(K.entries()).map(([e,t])=>({path:e,count:t.count})),[K]),ee=(0,n.useMemo)(()=>e.map(e=>{let t=G.get(e.path)??{x:e.x,y:e.y},o=e.path.lastIndexOf("/"),s=o>=0?e.path.slice(o+1):e.path,n=K.get(e.path);return{id:e.path,type:"file",position:t,data:{label:s,tooltip:e.path,untested:q.has(e.path),inDegree:e.inDegree??0,dirColor:(0,F.i3)(X.get(e.path)??"(root)"),layer:J?.get(e.path)??null,touched:!!n,count:n?.count??0,recency:n?.recency??0,isNewest:n?.isNewest??!1}}}),[e,G,q,K,J,X]),et=(0,n.useMemo)(()=>t.map(e=>({id:`${e.from}|${e.to}`,source:e.from,target:e.to,type:"straight",selectable:!1,focusable:!1,style:{pointerEvents:"none",...e.circular?{stroke:"#f87171",strokeDasharray:"5 3",strokeWidth:1.5,opacity:.6}:{stroke:"#8b8b94",strokeWidth:1,opacity:.3}}})),[t]),[eo,es]=(0,n.useState)(ee),[en,er]=(0,n.useState)(et),[el,ea]=(0,n.useState)(null),[ei,ed]=(0,n.useState)(null),[ec,eu]=(0,n.useState)(null),[ep,eh]=(0,n.useState)(!1),[ef,em]=(0,n.useState)(!1),[ex,eg]=(0,n.useState)(null),[eb,ey]=(0,n.useState)(!1),[ew,ej]=(0,n.useState)(""),[ek,eN]=(0,n.useState)(!1),[ev,eM]=(0,n.useState)("full"),eS=(0,n.useRef)(null),{tool:eC,setTool:eA,flowProps:e$}=(0,r.e)(),ez=(0,n.useCallback)(e=>{ea(e),eu(null);let t=eS.current?.getNode(e);t&&eS.current&&eS.current.setCenter(t.position.x+40,t.position.y+12,{zoom:1.4,duration:600})},[]),eE=(0,n.useCallback)(()=>{ea(null),eu(null);let e=!ef;if(em(e),ey(e),e&&eS.current){let e=Array.from(K.keys()).map(e=>({id:e}));e.length&&eS.current.fitView({nodes:e,duration:600,padding:.4})}},[ef,K]),eD=(0,n.useMemo)(()=>(0,N.b)(e,t,X),[e,t,X]),eI=(0,n.useCallback)(e=>{eS.current&&(e.focusIds.length?eS.current.fitView({nodes:e.focusIds.map(e=>({id:e})),duration:700,padding:.3,maxZoom:1.1}):eS.current.fitView({duration:700,padding:.1}))},[]),eR=(0,v.W)(eD,eI);(0,n.useEffect)(()=>eN(!0),[]),(0,n.useEffect)(()=>es(ee),[ee]),(0,n.useEffect)(()=>er(et),[et]);let eO=(0,n.useCallback)(e=>es(t=>(0,l._0)(e,t)),[]),eT=(0,n.useCallback)(e=>er(t=>(0,l.zW)(e,t)),[]),eP=(0,n.useCallback)((e,t,o)=>{fetch("/api/code-graph/position",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({path:e,x:t,y:o})})},[]),eZ=(0,n.useMemo)(()=>new Set(t.filter(e=>e.circular).map(e=>`${e.from}|${e.to}`)),[t]),eF=(0,n.useMemo)(()=>{let e=new Set;for(let o of t)o.circular&&(e.add(o.from),e.add(o.to));return e},[t]),eL=el??ei,e_=ew.trim().length>0,eW=(0,n.useMemo)(()=>{if(!e_)return null;let t=new Set;for(let o of e)(0,S.Qk)((0,S.zn)(o),ew)&&t.add(o.path);return t},[e,ew,e_]),eB=(0,n.useMemo)(()=>e_?(0,S.r2)(e,ew,e=>(0,S.zn)(e),e=>({id:e.path,label:e.path,sublabel:e.lang??void 0,kind:"file"})):[],[e,ew,e_]),eU=(0,n.useMemo)(()=>{if(ec){let e=en.find(e=>e.id===ec);return e?new Set([e.source,e.target]):null}if(eL){let e=new Set([eL]);for(let o of t)o.from===eL&&e.add(o.to),o.to===eL&&e.add(o.from);return e}return ep?eF:ef&&Q?new Set(K.keys()):null},[eL,ec,ep,eF,t,en,ef,Q,K]),eV=eR.focusIds,eH=eV??eW??eU,eX=eW??eV,eG=(0,n.useMemo)(()=>{if(!ex||!J)return null;let t=new Set;for(let o of e)(0,z.F)(ex,J.get(o.path)??null)||t.add(o.path);return t},[ex,J,e]),eq=(0,n.useMemo)(()=>eH?eo.map(e=>{let t=eH.has(e.id);return{...e,zIndex:t&&eX?10:e.zIndex,style:{...e.style,opacity:t?1:.15,boxShadow:t&&eX?S.RU:e.style?.boxShadow,borderRadius:t&&eX?9999:e.style?.borderRadius,transition:"opacity 120ms, box-shadow 120ms"}}}):eG?eo.map(e=>eG.has(e.id)?{...e,style:{...e.style,opacity:.15,transition:"opacity 120ms"}}:e):eo,[eo,eH,eX,eG]),eJ=(0,n.useMemo)(()=>eV?en.map(e=>eV.has(e.source)&&eV.has(e.target)?{...e,style:{...e.style,stroke:"#e4e4e7",opacity:.9,strokeWidth:1.4}}:{...e,style:{...e.style,opacity:.05}}):eW?en.map(e=>eW.has(e.source)&&eW.has(e.target)?{...e,style:{...e.style,stroke:"#e4e4e7",opacity:.95,strokeWidth:1.6}}:{...e,style:{...e.style,opacity:.05}}):eL||ec||ep||ef?en.map(e=>{let t=!1;return ec?t=e.id===ec:eL?t=e.source===eL||e.target===eL:ep?t=eZ.has(e.id):ef&&(t=K.has(e.source)&&K.has(e.target)),t?{...e,style:{...e.style,stroke:"#e4e4e7",opacity:.95,strokeWidth:1.6}}:{...e,style:{...e.style,opacity:.05}}}):eG?en.map(e=>eG.has(e.source)||eG.has(e.target)?{...e,style:{...e.style,opacity:.05}}:e):en,[en,eL,ec,ep,eZ,ef,K,eW,eG,eV]),eK=(0,n.useMemo)(()=>{let e=eo.map(e=>{let t=_(e.data.inDegree??0);return{id:e.id,group:X.get(e.id)??"(root)",x:e.position.x,y:e.position.y,w:2*t,h:2*t}});return(0,A.S)(e,{pad:60})},[eo,X]),eQ=(0,n.useMemo)(()=>{let t=new Map;if(!J)return t;let o=new Map;for(let t of e){let e=J.get(t.path);if(!e)continue;let s=X.get(t.path)??"(root)",n=o.get(s)??new Map;n.set(e,(n.get(e)??0)+1),o.set(s,n)}for(let[e,s]of o){let o=null,n=0,r=!1;for(let[e,t]of s)t>n?(o=e,n=t,r=!1):t===n&&(r=!0);t.set(e,r?null:o)}return t},[J,e,X]),eY=(0,n.useMemo)(()=>{let e=new Map;for(let t of X.values())e.set(t,(e.get(t)??0)+1);return Array.from(e.entries()).sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).map(([e,t])=>({group:e,count:t,color:(0,F.i3)(e)}))},[X]),e0=t.filter(e=>e.circular).length,e1=(0,n.useMemo)(()=>el?t.filter(e=>e.from===el).map(e=>e.to):[],[el,t]),e5=(0,n.useMemo)(()=>el?t.filter(e=>e.to===el).map(e=>e.from):[],[el,t]),e2=null!==el||eb&&Q,e4=(0,n.useCallback)(()=>{ea(null),ey(!1),em(!1)},[]);return ek?(0,s.jsxs)("div",{className:"canvas-dots relative h-screen w-full",children:[(0,s.jsxs)(l.Gc,{...e$,nodes:eq,edges:eJ,nodeTypes:W,onNodesChange:eO,onEdgesChange:eT,onNodeClick:(e,t)=>{ea(t.id),eu(null)},onEdgeClick:(e,t)=>{eu(t.id),ea(null)},onPaneClick:()=>{ea(null),eu(null)},onNodeMouseEnter:(e,t)=>ed(t.id),onNodeMouseLeave:()=>ed(null),onInit:e=>{eS.current=e},onNodeDragStop:(e,t)=>eP(t.id,t.position.x,t.position.y),deleteKeyCode:null,colorMode:"dark",fitView:!0,fitViewOptions:{padding:.1,minZoom:.18,maxZoom:.9},minZoom:.05,panOnScroll:!0,zoomActivationKeyCode:["Meta","Control"],proOptions:{hideAttribution:!0},children:[(0,s.jsx)($.Z,{regions:"far"===ev?eK:[],tone:"category",lod:ev}),a&&(0,s.jsx)(B,{regions:"far"===ev?[]:eK,dominant:eQ}),(0,s.jsx)(P.J,{onLod:eM,thresholds:Z.kz}),(0,s.jsx)(l.H2,{position:"bottom-right",className:"!overflow-hidden !rounded-xl !border !border-white/10 [&_button]:!border-white/10 [&_button]:!bg-card/70 [&_button]:!text-foreground [&_button]:!backdrop-blur"}),(0,s.jsx)(l.Zk,{position:"bottom-left",style:{marginBottom:118},children:(0,s.jsx)(r.H,{tool:eC,onChange:eA})}),(0,s.jsx)(l.Zk,{position:"bottom-right",style:{marginBottom:152},children:(0,s.jsx)(E.er,{title:"Legend",trigger:(e,t)=>(0,s.jsx)("button",{type:"button",onClick:t,title:"Legend",className:(0,L.cn)("glass flex size-8 items-center justify-center rounded-lg transition-colors",e?"text-foreground":"text-muted-foreground hover:text-foreground"),children:(0,s.jsx)(f.A,{className:"size-4"})}),children:(0,s.jsxs)("ul",{className:"space-y-1.5 text-[10.5px] text-muted-foreground",children:[(0,s.jsxs)("li",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"inline-block size-2.5 shrink-0 rounded-full bg-zinc-400"}),(0,s.jsx)("span",{children:"a file \xb7 bigger dot = more files import it"})]}),a&&(0,s.jsxs)("li",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"inline-block size-2.5 shrink-0 rounded-full",style:{boxShadow:`inset 0 0 0 2px ${D.ZD.frontend}`}}),(0,s.jsx)("span",{children:"colored ring \xb7 frontend / backend layer"})]}),(0,s.jsxs)("li",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"inline-block h-px w-6 bg-[#4a4a52]"}),(0,s.jsx)("span",{children:"line \xb7 imports another file"})]}),(0,s.jsxs)("li",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"inline-block h-px w-6 bg-red-400"}),(0,s.jsx)("span",{children:"red \xb7 part of an import cycle"})]}),(0,s.jsxs)("li",{className:"flex items-center gap-2",children:[(0,s.jsxs)("span",{"aria-hidden":!0,className:"inline-flex shrink-0 gap-0.5",children:[(0,s.jsx)("span",{className:"inline-block size-2 rounded-full bg-violet-400"}),(0,s.jsx)("span",{className:"inline-block size-2 rounded-full bg-amber-400"})]}),(0,s.jsx)("span",{children:"dot color \xb7 its directory (chips, top-right)"})]})]})})}),(0,s.jsx)(l.of,{pannable:!0,zoomable:!0,position:"bottom-left",style:{width:140,height:90},className:"!overflow-hidden !rounded-xl !border !border-white/10 !bg-card/50 !backdrop-blur",nodeColor:()=>"#555"}),eD.length>0&&!eR.active&&(0,s.jsx)(l.Zk,{position:"top-left",className:"!mt-14",children:(0,s.jsxs)("button",{type:"button",onClick:eR.start,title:"Guided, dependency-ordered walkthrough of the codebase",className:"glass flex items-center gap-1.5 rounded-xl px-3 py-1.5 text-[11px] text-muted-foreground transition-colors hover:text-foreground",children:[(0,s.jsx)(m.A,{className:"size-3.5"}),"Start tour"]})}),(0,s.jsx)(l.Zk,{position:"top-right",className:(0,L.cn)("glass rounded-full px-1 py-0.5 transition-[margin] duration-200",e2&&"!mr-[300px]"),children:(0,s.jsx)(w.Z,{active:"FILES",tabs:[{value:"ROADMAP",label:"Roadmap",href:"/map?view=ROADMAP"},{value:"ARCHITECTURE",label:"Architecture",href:"/map?view=ARCHITECTURE"},{value:"DATABASE",label:"Database",href:"/map?view=DATABASE"},{value:"FILES",label:"Files",href:"/map?view=FILES"}]})}),(0,s.jsx)(l.Zk,{position:"top-right",className:(0,L.cn)("glass !mt-24 flex max-w-[300px] flex-wrap items-center justify-end gap-x-2.5 gap-y-1 rounded-xl px-3 py-1.5 transition-[margin] duration-200",e2&&"!mr-[300px]"),children:eY.map(t=>(0,s.jsxs)("button",{type:"button",onClick:()=>{let o=e.filter(e=>(X.get(e.path)??"(root)")===t.group).map(e=>({id:e.path}));o.length&&eS.current?.fitView({nodes:o,duration:600,padding:.3,maxZoom:1})},title:`${t.count} files — click to zoom to ${t.group}`,className:"flex items-center gap-1.5 rounded px-1 py-0.5 text-[10px] text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"size-2 shrink-0 rounded-full",style:{backgroundColor:t.color}}),t.group]},t.group))}),(0,s.jsxs)(l.Zk,{position:"top-right",className:(0,L.cn)("!mt-14 flex items-center gap-2 transition-[margin] duration-200",e2&&"!mr-[300px]"),children:[(0,s.jsx)(j.X,{query:ew,onQuery:ej,hits:eB,placeholder:"Find a file…",onPick:e=>{ej(""),ez(e)},onZoomToMatches:()=>{eW?.size&&eS.current?.fitView({nodes:[...eW].map(e=>({id:e})),duration:600,padding:.3})}}),a&&(0,s.jsx)(z.o,{value:ex,onChange:eg,options:["frontend","backend"]}),(0,s.jsxs)("div",{className:"glass flex items-center gap-3 rounded-xl px-3 py-1.5 text-[11px]",children:[(0,s.jsxs)("span",{className:"text-muted-foreground",children:[e.length," files \xb7 ",t.length," imports"]}),e0>0&&(0,s.jsxs)("button",{type:"button",onClick:()=>{eh(e=>!e),ea(null),eu(null)},title:ep?"Show all imports":"Show only files involved in import cycles",className:(0,L.cn)("flex items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors",ep?"bg-red-500/15 text-red-200 ring-1 ring-red-400/40":"text-red-300 hover:bg-red-500/10"),children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"inline-block h-0 w-5 border-t border-dashed",style:{borderColor:"#ef4444"}}),e0," circular"]}),Q&&(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("button",{type:"button",onClick:eE,title:ef?"Show all files again":"Focus + zoom to the files edited this session",className:(0,L.cn)("flex items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors",ef?"bg-teal-500/15 text-teal-200 ring-1 ring-teal-400/40":"text-teal-300 hover:bg-teal-500/10"),children:[(0,s.jsx)(x.A,{className:"size-3"}),K.size," edited"]})})]})]})]}),e2&&(0,s.jsxs)(y.b,{className:"absolute bottom-3 right-3 top-16 z-10 flex w-72 flex-col rounded-2xl",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between border-b border-white/10 px-3.5 py-2.5",children:[(0,s.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:el?"File":"Edited this session"}),(0,s.jsx)("button",{onClick:e4,title:"Close panel",className:"rounded-md p-1 text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground",children:(0,s.jsx)(g.A,{className:"size-4"})})]}),(0,s.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-3",children:el?(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,s.jsx)(b.A,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,s.jsx)("h2",{className:"break-all text-sm font-semibold leading-tight",children:el.slice(el.lastIndexOf("/")+1)})]}),(0,s.jsx)("div",{className:"mt-0.5 break-all font-mono text-[10px] text-muted-foreground",children:el})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(H=K.get(el))?(0,s.jsxs)("span",{className:"rounded bg-teal-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-teal-300",children:["edited ",H.count,"\xd7"]}):null,q.has(el)&&(0,s.jsx)("span",{className:"rounded bg-amber-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-amber-300",children:"untested"})]}),(0,s.jsx)("button",{onClick:()=>fetch(`/api/open?path=${encodeURIComponent(el)}`).catch(()=>{}),className:"w-full rounded-md border border-white/10 px-2 py-1.5 text-[11px] text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:"Open in editor"}),(0,s.jsx)(V,{label:"Imports",paths:e1,onPick:ez}),(0,s.jsx)(V,{label:"Imported by",paths:e5,onPick:ez})]}):(0,s.jsx)(k.h,{files:Y.map(e=>({path:e.path,meta:`${e.count}\xd7`})),emptyLabel:"No files edited this session yet."})})]}),eR.active&&eR.step&&(0,s.jsx)(M.d,{steps:eD,index:eR.index,onPrev:eR.prev,onNext:eR.next,onExit:eR.stop,onGoto:eR.goto})]}):(0,s.jsx)("div",{className:"flex h-screen w-full items-center justify-center text-sm text-muted-foreground",children:"Loading graph…"})}function V({label:e,paths:t,onPick:o}){return t.length?(0,s.jsxs)("div",{children:[(0,s.jsxs)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:[e," (",t.length,")"]}),(0,s.jsx)(k.h,{files:t.map(e=>({path:e})),onSelect:o})]}):null}},77260:(e,t,o)=>{"use strict";o.d(t,{MapTabsShell:()=>a});var s=o(95155),n=o(12115),r=o(75514);let l=["ROADMAP","ARCHITECTURE","DATABASE"];function a({initialView:e,roadmap:t,architecture:o,database:i}){let[d,c]=(0,n.useState)(e),[u,p]=(0,n.useState)(()=>new Set([e])),h=(0,n.useCallback)(e=>{c(e),p(t=>t.has(e)?t:new Set(t).add(e));try{let t=new URL(window.location.href);t.searchParams.set("view",e),window.history.replaceState(window.history.state,"",t)}catch{}},[]),f={ROADMAP:t,ARCHITECTURE:o,DATABASE:i};return(0,s.jsx)(r.no.Provider,{value:{views:r.a4,switchTo:h},children:l.map(e=>u.has(e)?(0,s.jsx)("div",{className:d===e?"contents":"hidden",children:f[e]},e):null)})}}},e=>{e.O(0,[2574,3862,5004,277,8500,4888,7424,9887,5957,5697,2059,4607,3908,6302,4853,8441,3794,7358],()=>e(e.s=27950)),_N_E=e.O()}]);