vibedoc 1.9.0 β†’ 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (741) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +7 -1
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +41 -13
  5. package/.next/routes-manifest.json +42 -6
  6. package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  7. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/(app)/board/page.js.nft.json +1 -1
  9. package/.next/server/app/(app)/board/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/(app)/chat/page.js.nft.json +1 -1
  11. package/.next/server/app/(app)/chat/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
  13. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/(app)/explorer/page.js.nft.json +1 -1
  15. package/.next/server/app/(app)/explorer/page_client-reference-manifest.js +1 -1
  16. package/.next/server/app/(app)/graph/page/app-paths-manifest.json +3 -0
  17. package/.next/server/app/(app)/graph/page/build-manifest.json +20 -0
  18. package/.next/server/app/(app)/graph/page/next-font-manifest.json +11 -0
  19. package/.next/server/app/(app)/graph/page/react-loadable-manifest.json +1 -0
  20. package/.next/server/app/(app)/graph/page.js +15 -0
  21. package/.next/server/app/(app)/graph/page.js.nft.json +1 -0
  22. package/.next/server/app/(app)/graph/page_client-reference-manifest.js +3 -0
  23. package/.next/server/app/(app)/manual-tests/page.js.nft.json +1 -1
  24. package/.next/server/app/(app)/manual-tests/page_client-reference-manifest.js +1 -1
  25. package/.next/server/app/(app)/memory/page.js.nft.json +1 -1
  26. package/.next/server/app/(app)/memory/page_client-reference-manifest.js +1 -1
  27. package/.next/server/app/(app)/roadmap/page.js.nft.json +1 -1
  28. package/.next/server/app/(app)/roadmap/page_client-reference-manifest.js +1 -1
  29. package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
  30. package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/(app)/setup/page.js.nft.json +1 -1
  32. package/.next/server/app/(app)/setup/page_client-reference-manifest.js +1 -1
  33. package/.next/server/app/_global-error.html +1 -1
  34. package/.next/server/app/_global-error.rsc +1 -1
  35. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  36. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  37. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  38. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  39. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  40. package/.next/server/app/_not-found.html +1 -1
  41. package/.next/server/app/_not-found.rsc +2 -2
  42. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  43. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  44. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  45. package/.next/server/app/activity.html +1 -1
  46. package/.next/server/app/activity.rsc +23 -22
  47. package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +9 -11
  48. package/.next/server/app/activity.segments/_full.segment.rsc +23 -22
  49. package/.next/server/app/activity.segments/_tree.segment.rsc +2 -2
  50. package/.next/server/app/api/activity/route.js +2 -2
  51. package/.next/server/app/api/activity/route.js.nft.json +1 -1
  52. package/.next/server/app/api/chat/route.js +2 -2
  53. package/.next/server/app/api/chat/route.js.nft.json +1 -1
  54. package/.next/server/app/api/context/route.js +2 -2
  55. package/.next/server/app/api/context/route.js.nft.json +1 -1
  56. package/.next/server/app/api/conversations/route.js +2 -2
  57. package/.next/server/app/api/conversations/route.js.nft.json +1 -1
  58. package/.next/server/app/api/decisions/route.js +2 -2
  59. package/.next/server/app/api/decisions/route.js.nft.json +1 -1
  60. package/.next/server/app/api/docs/graph/route/app-paths-manifest.json +3 -0
  61. package/.next/server/app/api/docs/graph/route/server-reference-manifest.json +4 -0
  62. package/.next/server/app/api/docs/graph/route.js +9 -0
  63. package/.next/server/app/api/docs/graph/route.js.map +5 -0
  64. package/.next/server/app/api/docs/graph/route.js.nft.json +1 -0
  65. package/.next/server/app/api/docs/graph/route_client-reference-manifest.js +3 -0
  66. package/.next/server/app/api/docs/links/route/app-paths-manifest.json +3 -0
  67. package/.next/server/app/api/docs/links/route/build-manifest.json +12 -0
  68. package/.next/server/app/api/docs/links/route/server-reference-manifest.json +4 -0
  69. package/.next/server/app/api/docs/links/route.js +9 -0
  70. package/.next/server/app/api/docs/links/route.js.map +5 -0
  71. package/.next/server/app/api/docs/links/route.js.nft.json +1 -0
  72. package/.next/server/app/api/docs/links/route_client-reference-manifest.js +3 -0
  73. package/.next/server/app/api/docs/route.js +2 -2
  74. package/.next/server/app/api/docs/route.js.nft.json +1 -1
  75. package/.next/server/app/api/explorer/route.js +2 -2
  76. package/.next/server/app/api/explorer/route.js.nft.json +1 -1
  77. package/.next/server/app/api/mcp/route.js +2 -2
  78. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  79. package/.next/server/app/api/memory/entries/delete/route.js +2 -2
  80. package/.next/server/app/api/memory/entries/delete/route.js.nft.json +1 -1
  81. package/.next/server/app/api/memory/entries/merge/route/app-paths-manifest.json +3 -0
  82. package/.next/server/app/api/memory/entries/merge/route/build-manifest.json +12 -0
  83. package/.next/server/app/api/memory/entries/merge/route/server-reference-manifest.json +4 -0
  84. package/.next/server/app/api/memory/entries/merge/route.js +9 -0
  85. package/.next/server/app/api/memory/entries/merge/route.js.map +5 -0
  86. package/.next/server/app/api/memory/entries/merge/route.js.nft.json +1 -0
  87. package/.next/server/app/api/memory/entries/merge/route_client-reference-manifest.js +3 -0
  88. package/.next/server/app/api/memory/entries/merge/undo/route/app-paths-manifest.json +3 -0
  89. package/.next/server/app/api/memory/entries/merge/undo/route/build-manifest.json +12 -0
  90. package/.next/server/app/api/memory/entries/merge/undo/route/server-reference-manifest.json +4 -0
  91. package/.next/server/app/api/memory/entries/merge/undo/route.js +9 -0
  92. package/.next/server/app/api/memory/entries/merge/undo/route.js.map +5 -0
  93. package/.next/server/app/api/memory/entries/merge/undo/route.js.nft.json +1 -0
  94. package/.next/server/app/api/memory/entries/merge/undo/route_client-reference-manifest.js +3 -0
  95. package/.next/server/app/api/memory/entries/restore/route.js +2 -2
  96. package/.next/server/app/api/memory/entries/restore/route.js.nft.json +1 -1
  97. package/.next/server/app/api/memory/entries/route.js +2 -2
  98. package/.next/server/app/api/memory/entries/route.js.nft.json +1 -1
  99. package/.next/server/app/api/memory/entries/save/route.js +2 -2
  100. package/.next/server/app/api/memory/entries/save/route.js.nft.json +1 -1
  101. package/.next/server/app/api/memory/graph/route.js +2 -2
  102. package/.next/server/app/api/memory/graph/route.js.nft.json +1 -1
  103. package/.next/server/app/api/memory/health/dismiss/route/app-paths-manifest.json +3 -0
  104. package/.next/server/app/api/memory/health/dismiss/route/build-manifest.json +12 -0
  105. package/.next/server/app/api/memory/health/dismiss/route/server-reference-manifest.json +4 -0
  106. package/.next/server/app/api/memory/health/dismiss/route.js +9 -0
  107. package/.next/server/app/api/memory/health/dismiss/route.js.map +5 -0
  108. package/.next/server/app/api/memory/health/dismiss/route.js.nft.json +1 -0
  109. package/.next/server/app/api/memory/health/dismiss/route_client-reference-manifest.js +3 -0
  110. package/.next/server/app/api/memory/health/route/app-paths-manifest.json +3 -0
  111. package/.next/server/app/api/memory/health/route/build-manifest.json +12 -0
  112. package/.next/server/app/api/memory/health/route/server-reference-manifest.json +4 -0
  113. package/.next/server/app/api/memory/health/route.js +8 -0
  114. package/.next/server/app/api/memory/health/route.js.map +5 -0
  115. package/.next/server/app/api/memory/health/route.js.nft.json +1 -0
  116. package/.next/server/app/api/memory/health/route_client-reference-manifest.js +3 -0
  117. package/.next/server/app/api/memory/history/route.js +2 -2
  118. package/.next/server/app/api/memory/history/route.js.nft.json +1 -1
  119. package/.next/server/app/api/memory/route.js +2 -2
  120. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  121. package/.next/server/app/api/plan/apply/route.js +2 -2
  122. package/.next/server/app/api/plan/apply/route.js.nft.json +1 -1
  123. package/.next/server/app/api/projects/route.js +2 -2
  124. package/.next/server/app/api/projects/route.js.nft.json +1 -1
  125. package/.next/server/app/api/registry/route.js +2 -2
  126. package/.next/server/app/api/registry/route.js.nft.json +1 -1
  127. package/.next/server/app/api/roadmap/create/route.js +2 -2
  128. package/.next/server/app/api/roadmap/create/route.js.nft.json +1 -1
  129. package/.next/server/app/api/roadmap/delete/route.js +2 -2
  130. package/.next/server/app/api/roadmap/delete/route.js.nft.json +1 -1
  131. package/.next/server/app/api/roadmap/generate/route.js +2 -2
  132. package/.next/server/app/api/roadmap/generate/route.js.nft.json +1 -1
  133. package/.next/server/app/api/roadmap/layout/route.js +2 -2
  134. package/.next/server/app/api/roadmap/layout/route.js.nft.json +1 -1
  135. package/.next/server/app/api/roadmap/restore/route.js +2 -2
  136. package/.next/server/app/api/roadmap/restore/route.js.nft.json +1 -1
  137. package/.next/server/app/api/roadmap/route.js +2 -2
  138. package/.next/server/app/api/roadmap/route.js.nft.json +1 -1
  139. package/.next/server/app/api/roadmap/update/route.js +2 -2
  140. package/.next/server/app/api/roadmap/update/route.js.nft.json +1 -1
  141. package/.next/server/app/api/sessions/route.js +2 -2
  142. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  143. package/.next/server/app/api/settings/route.js +2 -2
  144. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  145. package/.next/server/app/api/setup/generate/route.js +2 -2
  146. package/.next/server/app/api/setup/generate/route.js.nft.json +1 -1
  147. package/.next/server/app/api/setup/write/route.js +2 -2
  148. package/.next/server/app/api/setup/write/route.js.nft.json +1 -1
  149. package/.next/server/app/api/summary/route.js +2 -2
  150. package/.next/server/app/api/summary/route.js.nft.json +1 -1
  151. package/.next/server/app/api/tasks/bulk/route.js +2 -2
  152. package/.next/server/app/api/tasks/bulk/route.js.nft.json +1 -1
  153. package/.next/server/app/api/tasks/create/route.js +2 -2
  154. package/.next/server/app/api/tasks/create/route.js.nft.json +1 -1
  155. package/.next/server/app/api/tasks/delete/route.js +2 -2
  156. package/.next/server/app/api/tasks/delete/route.js.nft.json +1 -1
  157. package/.next/server/app/api/tasks/manual-tests/route.js +2 -2
  158. package/.next/server/app/api/tasks/manual-tests/route.js.nft.json +1 -1
  159. package/.next/server/app/api/tasks/restore/route.js +2 -2
  160. package/.next/server/app/api/tasks/restore/route.js.nft.json +1 -1
  161. package/.next/server/app/api/tasks/review/route.js +2 -2
  162. package/.next/server/app/api/tasks/review/route.js.nft.json +1 -1
  163. package/.next/server/app/api/tasks/route.js +2 -2
  164. package/.next/server/app/api/tasks/route.js.nft.json +1 -1
  165. package/.next/server/app/api/tasks/update/route.js +2 -2
  166. package/.next/server/app/api/tasks/update/route.js.nft.json +1 -1
  167. package/.next/server/app/api/views/route.js +2 -2
  168. package/.next/server/app/api/views/route.js.nft.json +1 -1
  169. package/.next/server/app/board.html +1 -1
  170. package/.next/server/app/board.rsc +23 -22
  171. package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +6 -6
  172. package/.next/server/app/board.segments/_full.segment.rsc +23 -22
  173. package/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  174. package/.next/server/app/chat.html +1 -1
  175. package/.next/server/app/chat.rsc +23 -22
  176. package/.next/server/app/chat.segments/!KGFwcCk/chat/__PAGE__.segment.rsc +6 -6
  177. package/.next/server/app/chat.segments/_full.segment.rsc +23 -22
  178. package/.next/server/app/chat.segments/_tree.segment.rsc +2 -2
  179. package/.next/server/app/docs.html +1 -1
  180. package/.next/server/app/docs.rsc +23 -22
  181. package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +6 -6
  182. package/.next/server/app/docs.segments/_full.segment.rsc +23 -22
  183. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  184. package/.next/server/app/explorer.html +1 -1
  185. package/.next/server/app/explorer.rsc +23 -22
  186. package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +11 -10
  187. package/.next/server/app/explorer.segments/_full.segment.rsc +23 -22
  188. package/.next/server/app/explorer.segments/_tree.segment.rsc +2 -2
  189. package/.next/server/app/graph.html +1 -0
  190. package/.next/server/app/graph.meta +31 -0
  191. package/.next/server/app/graph.rsc +32 -0
  192. package/.next/server/app/graph.segments/!KGFwcCk/graph/__PAGE__.segment.rsc +33 -0
  193. package/.next/server/app/graph.segments/_full.segment.rsc +32 -0
  194. package/.next/server/app/graph.segments/_tree.segment.rsc +6 -0
  195. package/.next/server/app/index.html +1 -1
  196. package/.next/server/app/index.rsc +2 -2
  197. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  198. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  199. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  200. package/.next/server/app/manual-tests.html +1 -1
  201. package/.next/server/app/manual-tests.rsc +23 -22
  202. package/.next/server/app/manual-tests.segments/!KGFwcCk/manual-tests/__PAGE__.segment.rsc +11 -10
  203. package/.next/server/app/manual-tests.segments/_full.segment.rsc +23 -22
  204. package/.next/server/app/manual-tests.segments/_tree.segment.rsc +2 -2
  205. package/.next/server/app/memory.html +1 -1
  206. package/.next/server/app/memory.rsc +23 -22
  207. package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +9 -11
  208. package/.next/server/app/memory.segments/_full.segment.rsc +23 -22
  209. package/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
  210. package/.next/server/app/page.js.nft.json +1 -1
  211. package/.next/server/app/page_client-reference-manifest.js +1 -1
  212. package/.next/server/app/roadmap.html +1 -1
  213. package/.next/server/app/roadmap.rsc +23 -22
  214. package/.next/server/app/roadmap.segments/!KGFwcCk/roadmap/__PAGE__.segment.rsc +6 -6
  215. package/.next/server/app/roadmap.segments/_full.segment.rsc +23 -22
  216. package/.next/server/app/roadmap.segments/_tree.segment.rsc +2 -2
  217. package/.next/server/app/settings.html +1 -1
  218. package/.next/server/app/settings.rsc +23 -22
  219. package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +9 -10
  220. package/.next/server/app/settings.segments/_full.segment.rsc +23 -22
  221. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  222. package/.next/server/app/setup.html +1 -1
  223. package/.next/server/app/setup.rsc +23 -22
  224. package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +11 -10
  225. package/.next/server/app/setup.segments/_full.segment.rsc +23 -22
  226. package/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  227. package/.next/server/app-paths-manifest.json +7 -1
  228. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-_cqh8._.js β†’ 11mp_@anthropic-ai_sdk_0-r4g2t._.js} +1 -1
  229. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00o5o78._.js β†’ 11mp_@anthropic-ai_sdk_01gyja3._.js} +1 -1
  230. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_03cp17a._.js β†’ 11mp_@anthropic-ai_sdk_02lx_j3._.js} +1 -1
  231. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_07dk2er._.js β†’ 11mp_@anthropic-ai_sdk_05iv23g._.js} +1 -1
  232. package/.next/server/chunks/11mp_@anthropic-ai_sdk_05oneea._.js +3 -0
  233. package/.next/server/chunks/11mp_@anthropic-ai_sdk_07fgg-l._.js +3 -0
  234. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_5gzfy._.js +3 -0
  235. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_jynr-._.js +3 -0
  236. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0aykesf._.js +3 -0
  237. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0br_1fc._.js +3 -0
  238. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0cd5lu7._.js +3 -0
  239. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ckxhy7._.js +3 -0
  240. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0e5qkuv._.js +3 -0
  241. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0el8pm6._.js +3 -0
  242. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0i4w8fv._.js +3 -0
  243. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0i7ckik._.js +3 -0
  244. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0l1p4c6._.js +3 -0
  245. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0m-xqs_._.js +3 -0
  246. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0nltdmf._.js +3 -0
  247. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qxmzg8._.js +3 -0
  248. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0spr_aj._.js +3 -0
  249. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0th0pyh._.js +3 -0
  250. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0x21fif._.js +3 -0
  251. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-7bj56._.js +3 -0
  252. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-efoj1._.js +3 -0
  253. package/.next/server/chunks/11mp_@anthropic-ai_sdk_13vu693._.js +3 -0
  254. package/.next/server/chunks/11mp_@anthropic-ai_sdk_13w62gi._.js +3 -0
  255. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1887ce1._.js +3 -0
  256. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_jq3yb._.js +3 -0
  257. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1agvp6h._.js +3 -0
  258. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1b1-3vt._.js +3 -0
  259. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ekldtb._.js +3 -0
  260. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ezcndt._.js +3 -0
  261. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1gr-orf._.js +3 -0
  262. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1hf-884._.js +3 -0
  263. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ndwnmb._.js +3 -0
  264. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rdesfd._.js +3 -0
  265. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1s8h60-._.js +3 -0
  266. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1tgk9wk._.js +3 -0
  267. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1uugb45._.js +3 -0
  268. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vcxmui._.js +3 -0
  269. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vcxmui._.js.map +1 -0
  270. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x63qpm._.js +3 -0
  271. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x63qpm._.js.map +1 -0
  272. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y5oj_h._.js +3 -0
  273. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y5oj_h._.js.map +1 -0
  274. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1z0q4jj._.js +3 -0
  275. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1z0q4jj._.js.map +1 -0
  276. package/.next/server/chunks/11mp_@anthropic-ai_sdk_20j6dn7._.js +3 -0
  277. package/.next/server/chunks/11mp_@anthropic-ai_sdk_20j6dn7._.js.map +1 -0
  278. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_00nr0dy._.js +3 -0
  279. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_06kgcr0._.js +3 -0
  280. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_07kod-g._.js +3 -0
  281. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0_va-1q._.js +3 -0
  282. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0dr79hc._.js +3 -0
  283. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ew4_uw._.js +3 -0
  284. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0iy714m._.js +3 -0
  285. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0n6aq49._.js +3 -0
  286. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ncvuil._.js +3 -0
  287. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0vilstf._.js +3 -0
  288. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ybdfbv._.js +3 -0
  289. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0z31-c0._.js +3 -0
  290. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0zu51ny._.js +3 -0
  291. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13-fsm5._.js +3 -0
  292. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13lk7wf._.js +3 -0
  293. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ao3e3l._.js +3 -0
  294. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ck6z1z._.js +3 -0
  295. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1dm3so9._.js +3 -0
  296. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1jxtz_6._.js +3 -0
  297. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1pdl5qg._.js +3 -0
  298. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1tzpss1._.js +3 -0
  299. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x_0sf4._.js +3 -0
  300. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x_fy5x._.js +3 -0
  301. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1xx8_-m._.js +3 -0
  302. package/.next/server/chunks/{[root-of-the-server]__0hfyuhq._.js β†’ [root-of-the-server]__06ndlro._.js} +2 -2
  303. package/.next/server/chunks/{[root-of-the-server]__0b2488c._.js β†’ [root-of-the-server]__08v3p50._.js} +2 -2
  304. package/.next/server/chunks/{[root-of-the-server]__0ikbk15._.js β†’ [root-of-the-server]__0cxmrop._.js} +2 -2
  305. package/.next/server/chunks/[root-of-the-server]__0fn-a8c._.js +126 -0
  306. package/.next/server/chunks/[root-of-the-server]__0fn-a8c._.js.map +1 -0
  307. package/.next/server/chunks/{[root-of-the-server]__1b448u7._.js β†’ [root-of-the-server]__0hk-9ll._.js} +2 -2
  308. package/.next/server/chunks/{[root-of-the-server]__16u25oa._.js β†’ [root-of-the-server]__0i1yba1._.js} +2 -2
  309. package/.next/server/chunks/[root-of-the-server]__0lix3ru._.js +3 -0
  310. package/.next/server/chunks/[root-of-the-server]__0lix3ru._.js.map +1 -0
  311. package/.next/server/chunks/[root-of-the-server]__0pvi3ku._.js +126 -0
  312. package/.next/server/chunks/[root-of-the-server]__0pvi3ku._.js.map +1 -0
  313. package/.next/server/chunks/{[root-of-the-server]__1jz98vb._.js β†’ [root-of-the-server]__0pz59qo._.js} +2 -2
  314. package/.next/server/chunks/[root-of-the-server]__0rggulw._.js +3 -0
  315. package/.next/server/chunks/[root-of-the-server]__0rggulw._.js.map +1 -0
  316. package/.next/server/chunks/[root-of-the-server]__0rh8yfn._.js +3 -0
  317. package/.next/server/chunks/[root-of-the-server]__0rh8yfn._.js.map +1 -0
  318. package/.next/server/chunks/{[root-of-the-server]__08yaps5._.js β†’ [root-of-the-server]__0rikmqn._.js} +2 -2
  319. package/.next/server/chunks/[root-of-the-server]__0s8v5i-._.js +3 -0
  320. package/.next/server/chunks/[root-of-the-server]__0s8v5i-._.js.map +1 -0
  321. package/.next/server/chunks/{[root-of-the-server]__008focd._.js β†’ [root-of-the-server]__0usdydm._.js} +2 -2
  322. package/.next/server/chunks/{[root-of-the-server]__1z3tswg._.js β†’ [root-of-the-server]__0wc_gnr._.js} +2 -2
  323. package/.next/server/chunks/{[root-of-the-server]__1gvv2xp._.js β†’ [root-of-the-server]__0xldguc._.js} +2 -2
  324. package/.next/server/chunks/{[root-of-the-server]__1xpp36t._.js β†’ [root-of-the-server]__0zy73pu._.js} +2 -2
  325. package/.next/server/chunks/{[root-of-the-server]__1tu85zx._.js β†’ [root-of-the-server]__11nbc9e._.js} +2 -2
  326. package/.next/server/chunks/[root-of-the-server]__11nbc9e._.js.map +1 -0
  327. package/.next/server/chunks/{[root-of-the-server]__0m8hmg0._.js β†’ [root-of-the-server]__11rp-qx._.js} +2 -2
  328. package/.next/server/chunks/[root-of-the-server]__1_qenei._.js +1 -1
  329. package/.next/server/chunks/[root-of-the-server]__1_qenei._.js.map +1 -1
  330. package/.next/server/chunks/{[root-of-the-server]__0y5usoz._.js β†’ [root-of-the-server]__1ef-hw_._.js} +2 -2
  331. package/.next/server/chunks/[root-of-the-server]__1pjwaan._.js +3 -0
  332. package/.next/server/chunks/{[root-of-the-server]__01xmabe._.js.map β†’ [root-of-the-server]__1pjwaan._.js.map} +1 -1
  333. package/.next/server/chunks/{[root-of-the-server]__0qij7wy._.js β†’ [root-of-the-server]__1qcy2l0._.js} +2 -2
  334. package/.next/server/chunks/{[root-of-the-server]__0axugex._.js β†’ [root-of-the-server]__1r67yrn._.js} +2 -2
  335. package/.next/server/chunks/[root-of-the-server]__1skrybv._.js +3 -0
  336. package/.next/server/chunks/[root-of-the-server]__1skrybv._.js.map +1 -0
  337. package/.next/server/chunks/{[root-of-the-server]__03ogp2r._.js β†’ [root-of-the-server]__1sn6-7a._.js} +2 -2
  338. package/.next/server/chunks/[root-of-the-server]__1vnine1._.js +126 -0
  339. package/.next/server/chunks/[root-of-the-server]__1vnine1._.js.map +1 -0
  340. package/.next/server/chunks/{[root-of-the-server]__0x8wtot._.js β†’ [root-of-the-server]__1wbho9e._.js} +2 -2
  341. package/.next/server/chunks/{[root-of-the-server]__1ssunti._.js β†’ [root-of-the-server]__1yh-4vk._.js} +2 -2
  342. package/.next/server/chunks/{[root-of-the-server]__0cbh1s-._.js β†’ [root-of-the-server]__1zhd93r._.js} +2 -2
  343. package/.next/server/chunks/_04byth9._.js +33 -28
  344. package/.next/server/chunks/_04byth9._.js.map +1 -1
  345. package/.next/server/chunks/_0safx0g._.js +3 -3
  346. package/.next/server/chunks/_0safx0g._.js.map +1 -1
  347. package/.next/server/chunks/_1au4syj._.js +1 -1
  348. package/.next/server/chunks/_1au4syj._.js.map +1 -1
  349. package/.next/server/chunks/_next-internal_server_app_api_docs_graph_route_actions_1nzoqf-.js +3 -0
  350. package/.next/server/chunks/_next-internal_server_app_api_docs_links_route_actions_1q-6jeg.js +3 -0
  351. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_merge_route_actions_1rr-wwt.js +3 -0
  352. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_merge_undo_route_actions_0l6cy9q.js +3 -0
  353. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_merge_undo_route_actions_0l6cy9q.js.map +1 -0
  354. package/.next/server/chunks/_next-internal_server_app_api_memory_health_dismiss_route_actions_0i7_n68.js +3 -0
  355. package/.next/server/chunks/_next-internal_server_app_api_memory_health_dismiss_route_actions_0i7_n68.js.map +1 -0
  356. package/.next/server/chunks/_next-internal_server_app_api_memory_health_route_actions_1lk-_5d.js +3 -0
  357. package/.next/server/chunks/_next-internal_server_app_api_memory_health_route_actions_1lk-_5d.js.map +1 -0
  358. package/.next/server/chunks/ssr/{0_nd_mermaid_dist_mermaid_core_mjs_027n2yl._.js β†’ 0_nd_mermaid_dist_mermaid_core_mjs_0y_edkq._.js} +2 -2
  359. package/.next/server/chunks/ssr/0_nd_mermaid_dist_mermaid_core_mjs_0y_edkq._.js.map +1 -0
  360. package/.next/server/chunks/ssr/{1u84_katex_dist_katex_mjs_1kb5xea._.js β†’ 1u84_katex_dist_katex_mjs_0yg8zto._.js} +1 -1
  361. package/.next/server/chunks/ssr/1u84_katex_dist_katex_mjs_0yg8zto._.js.map +1 -0
  362. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_1tcci-3._.js +3 -0
  363. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_1tcci-3._.js.map +1 -0
  364. package/.next/server/chunks/ssr/{1x05_lucide-react_dist_esm_icons_14hl50o._.js β†’ 1x05_lucide-react_dist_esm_icons_1uybmua._.js} +2 -2
  365. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_1uybmua._.js.map +1 -0
  366. package/.next/server/chunks/ssr/[root-of-the-server]__1drc5py._.js +3 -0
  367. package/.next/server/chunks/ssr/[root-of-the-server]__1drc5py._.js.map +1 -0
  368. package/.next/server/chunks/ssr/_02ks8_a._.js +3 -0
  369. package/.next/server/chunks/ssr/_02ks8_a._.js.map +1 -0
  370. package/.next/server/chunks/ssr/_04xff_2._.js +1 -1
  371. package/.next/server/chunks/ssr/_04xff_2._.js.map +1 -1
  372. package/.next/server/chunks/ssr/_0696iog._.js +3 -0
  373. package/.next/server/chunks/ssr/_0696iog._.js.map +1 -0
  374. package/.next/server/chunks/ssr/_0ghj-vx._.js +3 -0
  375. package/.next/server/chunks/ssr/_0ghj-vx._.js.map +1 -0
  376. package/.next/server/chunks/ssr/{_0idb-vo._.js β†’ _0kob2si._.js} +2 -2
  377. package/.next/server/chunks/ssr/_0kob2si._.js.map +1 -0
  378. package/.next/server/chunks/ssr/_0me5_6x._.js +3 -0
  379. package/.next/server/chunks/ssr/_0me5_6x._.js.map +1 -0
  380. package/.next/server/chunks/ssr/_0pg63il._.js +3 -0
  381. package/.next/server/chunks/ssr/_0pg63il._.js.map +1 -0
  382. package/.next/server/chunks/ssr/_0rmo9r-._.js +4 -0
  383. package/.next/server/chunks/ssr/_0rmo9r-._.js.map +1 -0
  384. package/.next/server/chunks/ssr/_0ust7tw._.js +4 -0
  385. package/.next/server/chunks/ssr/_0ust7tw._.js.map +1 -0
  386. package/.next/server/chunks/ssr/_16b4hkt._.js +3 -0
  387. package/.next/server/chunks/ssr/_16b4hkt._.js.map +1 -0
  388. package/.next/server/chunks/ssr/_190c11r._.js +3 -0
  389. package/.next/server/chunks/ssr/_190c11r._.js.map +1 -0
  390. package/.next/server/chunks/ssr/_19k2iz0._.js +70 -0
  391. package/.next/server/chunks/ssr/_19k2iz0._.js.map +1 -0
  392. package/.next/server/chunks/ssr/_1b82nz3._.js +3 -0
  393. package/.next/server/chunks/ssr/_1b82nz3._.js.map +1 -0
  394. package/.next/server/chunks/ssr/_1cz8dnu._.js +3 -0
  395. package/.next/server/chunks/ssr/_1cz8dnu._.js.map +1 -0
  396. package/.next/server/chunks/ssr/_1feybpz._.js +3 -0
  397. package/.next/server/chunks/ssr/_1feybpz._.js.map +1 -0
  398. package/.next/server/chunks/ssr/_1r_t_wi._.js +3 -0
  399. package/.next/server/chunks/ssr/_1r_t_wi._.js.map +1 -0
  400. package/.next/server/chunks/ssr/_1t8it2w._.js +3 -0
  401. package/.next/server/chunks/ssr/_1t8it2w._.js.map +1 -0
  402. package/.next/server/chunks/ssr/_next-internal_server_app_(app)_graph_page_actions_041e9i7.js +3 -0
  403. package/.next/server/chunks/ssr/_next-internal_server_app_(app)_graph_page_actions_041e9i7.js.map +1 -0
  404. package/.next/server/chunks/ssr/{node_modules__pnpm_189m48n._.js β†’ node_modules__pnpm_00f4yhs._.js} +1 -1
  405. package/.next/server/chunks/ssr/node_modules__pnpm_00f4yhs._.js.map +1 -0
  406. package/.next/server/chunks/ssr/{node_modules__pnpm_1min2jl._.js β†’ node_modules__pnpm_035haet._.js} +1 -1
  407. package/.next/server/chunks/ssr/{node_modules__pnpm_1uwkcin._.js β†’ node_modules__pnpm_03an60e._.js} +1 -1
  408. package/.next/server/chunks/ssr/{node_modules__pnpm_1q_hhr3._.js β†’ node_modules__pnpm_03mp7qw._.js} +2 -2
  409. package/.next/server/chunks/ssr/{node_modules__pnpm_0ctisl0._.js β†’ node_modules__pnpm_03mpmzx._.js} +1 -1
  410. package/.next/server/chunks/ssr/{node_modules__pnpm_0fwp8jm._.js β†’ node_modules__pnpm_06_8fr8._.js} +1 -1
  411. package/.next/server/chunks/ssr/{node_modules__pnpm_17i6z2d._.js β†’ node_modules__pnpm_09nd7ia._.js} +1 -1
  412. package/.next/server/chunks/ssr/{node_modules__pnpm_192f222._.js β†’ node_modules__pnpm_0_e05ka._.js} +1 -1
  413. package/.next/server/chunks/ssr/node_modules__pnpm_0aoa6rg._.js +1 -1
  414. package/.next/server/chunks/ssr/node_modules__pnpm_0aoa6rg._.js.map +1 -1
  415. package/.next/server/chunks/ssr/{node_modules__pnpm_1ygal0c._.js β†’ node_modules__pnpm_0iu4132._.js} +1 -1
  416. package/.next/server/chunks/ssr/{node_modules__pnpm_16u1vfb._.js β†’ node_modules__pnpm_0j_-le7._.js} +2 -2
  417. package/.next/server/chunks/ssr/node_modules__pnpm_0j_-le7._.js.map +1 -0
  418. package/.next/server/chunks/ssr/{node_modules__pnpm_0kpu0-2._.js β†’ node_modules__pnpm_0jampur._.js} +1 -1
  419. package/.next/server/chunks/ssr/{node_modules__pnpm_1aa37e1._.js β†’ node_modules__pnpm_0lkvbt-._.js} +1 -1
  420. package/.next/server/chunks/ssr/{node_modules__pnpm_0vry74x._.js β†’ node_modules__pnpm_0mqeoh-._.js} +2 -2
  421. package/.next/server/chunks/ssr/{node_modules__pnpm_06d-fdo._.js β†’ node_modules__pnpm_0oyo3yo._.js} +2 -2
  422. package/.next/server/chunks/ssr/{node_modules__pnpm_1qp_jvj._.js β†’ node_modules__pnpm_0rq9x9q._.js} +2 -2
  423. package/.next/server/chunks/ssr/{node_modules__pnpm_01bjcv9._.js β†’ node_modules__pnpm_0tn5pg3._.js} +1 -1
  424. package/.next/server/chunks/ssr/{node_modules__pnpm_0ycbjbd._.js β†’ node_modules__pnpm_0x5wj-4._.js} +2 -2
  425. package/.next/server/chunks/ssr/{node_modules__pnpm_14piqi4._.js β†’ node_modules__pnpm_0zz55xq._.js} +1 -1
  426. package/.next/server/chunks/ssr/node_modules__pnpm_0zz55xq._.js.map +1 -0
  427. package/.next/server/chunks/ssr/{node_modules__pnpm_1fn3ejy._.js β†’ node_modules__pnpm_139-v1i._.js} +1 -1
  428. package/.next/server/chunks/ssr/{node_modules__pnpm_1txccoj._.js β†’ node_modules__pnpm_1i_chik._.js} +1 -1
  429. package/.next/server/chunks/ssr/{node_modules__pnpm_1qmkxyo._.js β†’ node_modules__pnpm_1jgju12._.js} +1 -1
  430. package/.next/server/chunks/ssr/{node_modules__pnpm_1ssjj4u._.js β†’ node_modules__pnpm_1n9oeu0._.js} +1 -1
  431. package/.next/server/chunks/ssr/node_modules__pnpm_1oygi6o._.js +3 -0
  432. package/.next/server/chunks/ssr/node_modules__pnpm_1oygi6o._.js.map +1 -0
  433. package/.next/server/chunks/ssr/node_modules__pnpm_1ukodtk._.js +3 -0
  434. package/.next/server/chunks/ssr/node_modules__pnpm_1ukodtk._.js.map +1 -0
  435. package/.next/server/chunks/ssr/{node_modules__pnpm_1-76qxg._.js β†’ node_modules__pnpm_1ws3ez9._.js} +1 -1
  436. package/.next/server/chunks/ssr/{node_modules__pnpm_1-r94f7._.js β†’ node_modules__pnpm_1ydeqw6._.js} +1 -1
  437. package/.next/server/chunks/ssr/{node_modules__pnpm_1f440kx._.js β†’ node_modules__pnpm_1zme4rg._.js} +1 -1
  438. package/.next/server/chunks/ssr/{node_modules__pnpm_03qrzdb._.js β†’ node_modules__pnpm_1zum4yd._.js} +1 -1
  439. package/.next/server/chunks/ssr/{node_modules__pnpm_1a48_nl._.js β†’ node_modules__pnpm_2045l51._.js} +1 -1
  440. package/.next/server/chunks/ssr/src_1e9kctc._.js +3 -0
  441. package/.next/server/chunks/ssr/src_1e9kctc._.js.map +1 -0
  442. package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js +1 -1
  443. package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js.map +1 -1
  444. package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js +1 -1
  445. package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js.map +1 -1
  446. package/.next/server/chunks/ssr/src_app_(app)_graph_page_tsx_1yudb7h._.js +3 -0
  447. package/.next/server/chunks/ssr/src_app_(app)_graph_page_tsx_1yudb7h._.js.map +1 -0
  448. package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js +1 -1
  449. package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js.map +1 -1
  450. package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js +3 -2
  451. package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js.map +1 -1
  452. package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js +2 -2
  453. package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js.map +1 -1
  454. package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js +2 -2
  455. package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js.map +1 -1
  456. package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_1yids_n._.js +1 -1
  457. package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_1yids_n._.js.map +1 -1
  458. package/.next/server/chunks/ssr/src_components_docs_editor-theme_ts_0ji4rd5._.js +3 -0
  459. package/.next/server/chunks/ssr/src_components_docs_editor-theme_ts_0ji4rd5._.js.map +1 -0
  460. package/.next/server/chunks/ssr/src_components_roadmap_RoadmapNodes_tsx_0up_ygp._.js +3 -0
  461. package/.next/server/chunks/ssr/src_components_roadmap_RoadmapNodes_tsx_0up_ygp._.js.map +1 -0
  462. package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js +2 -2
  463. package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js.map +1 -1
  464. package/.next/server/middleware-build-manifest.js +3 -3
  465. package/.next/server/next-font-manifest.js +1 -1
  466. package/.next/server/next-font-manifest.json +4 -0
  467. package/.next/server/pages/404.html +1 -1
  468. package/.next/server/pages/500.html +1 -1
  469. package/.next/server/prefetch-hints.json +19 -0
  470. package/.next/server/server-reference-manifest.js +1 -1
  471. package/.next/server/server-reference-manifest.json +1 -1
  472. package/.next/static/chunks/036fex6o238at.css +1 -0
  473. package/.next/static/chunks/03tzhv775qv5m.js +1 -0
  474. package/.next/static/chunks/05rjl54wa6y43.js +1 -0
  475. package/.next/static/chunks/0_8ovyz2sbr3p.js +1 -0
  476. package/.next/static/chunks/0do6j4i1v_c6s.js +1 -0
  477. package/.next/static/chunks/{3xqcluqa32mjv.js β†’ 0h52yb69w77nq.js} +2 -2
  478. package/.next/static/chunks/0kb25y5g772mn.js +1 -0
  479. package/.next/static/chunks/0pmpdvev8bf-o.js +1 -0
  480. package/.next/static/chunks/10itjt9fhlzr1.js +68 -0
  481. package/.next/static/chunks/13cz-8lvre7gj.js +1 -0
  482. package/.next/static/chunks/1b9r_vdcewfu7.js +1 -0
  483. package/.next/static/chunks/1c459q7xpgq6r.js +3 -0
  484. package/.next/static/chunks/1c5ibgojv8jdi.js +3 -0
  485. package/.next/static/chunks/1huu1nljqois-.js +1 -0
  486. package/.next/static/chunks/1l8fp2uesk29q.js +1 -0
  487. package/.next/static/chunks/1pmgcotwq-_yh.js +1 -0
  488. package/.next/static/chunks/1s64z5c36fv-4.js +21 -0
  489. package/.next/static/chunks/1v63qs4kxxcfh.js +1 -0
  490. package/.next/static/chunks/{1l_dys0-y5-r7.js β†’ 1xxzt2y2ttqql.js} +1 -1
  491. package/.next/static/chunks/2-0lpccy0f8bk.js +2 -0
  492. package/.next/static/chunks/263i_dcdizuvd.js +1 -0
  493. package/.next/static/chunks/2mf5us3y9wd9g.js +1 -0
  494. package/.next/static/chunks/2x6eh3w-u8lk4.js +1 -0
  495. package/.next/static/chunks/36s2k2k_w-or8.js +1 -0
  496. package/.next/static/chunks/37u2gjz5dzhep.js +1 -0
  497. package/.next/static/chunks/3ctec-7mnm19m.js +1 -0
  498. package/.next/static/chunks/3rtr962aa09nh.js +12 -0
  499. package/.next/static/chunks/3x43gd45wlhbl.js +1 -0
  500. package/.next/static/chunks/42c9smmpcu4re.js +1 -0
  501. package/README.md +12 -6
  502. package/package.json +3 -2
  503. package/.next/server/app/api/backlinks/route/app-paths-manifest.json +0 -3
  504. package/.next/server/app/api/backlinks/route.js +0 -8
  505. package/.next/server/app/api/backlinks/route.js.nft.json +0 -1
  506. package/.next/server/app/api/backlinks/route_client-reference-manifest.js +0 -3
  507. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_e9zpr._.js +0 -3
  508. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_xx_qf._.js +0 -3
  509. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0aer9lc._.js +0 -3
  510. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ax30pe._.js +0 -3
  511. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0gn7vgs._.js +0 -3
  512. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0hye94a._.js +0 -3
  513. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ir5cgk._.js +0 -3
  514. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0je0_pa._.js +0 -3
  515. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0jfgh0o._.js +0 -3
  516. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0mha4x1._.js +0 -3
  517. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0n__boa._.js +0 -3
  518. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0sqv26_._.js +0 -3
  519. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0wnc6g-._.js +0 -3
  520. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0xh0g59._.js +0 -3
  521. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-5wyhj._.js +0 -3
  522. package/.next/server/chunks/11mp_@anthropic-ai_sdk_13ahm3n._.js +0 -3
  523. package/.next/server/chunks/11mp_@anthropic-ai_sdk_13e6aq4._.js +0 -3
  524. package/.next/server/chunks/11mp_@anthropic-ai_sdk_14eg0ld._.js +0 -3
  525. package/.next/server/chunks/11mp_@anthropic-ai_sdk_15md1n2._.js +0 -3
  526. package/.next/server/chunks/11mp_@anthropic-ai_sdk_16av8b9._.js +0 -3
  527. package/.next/server/chunks/11mp_@anthropic-ai_sdk_16hjhv1._.js +0 -3
  528. package/.next/server/chunks/11mp_@anthropic-ai_sdk_16txvf7._.js +0 -3
  529. package/.next/server/chunks/11mp_@anthropic-ai_sdk_198yu7d._.js +0 -3
  530. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_9tfq3._.js +0 -3
  531. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_izr2o._.js +0 -3
  532. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1fljcyg._.js +0 -3
  533. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lrt6ul._.js +0 -3
  534. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1nev_ee._.js +0 -3
  535. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1pgoe2i._.js +0 -3
  536. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rgl7mu._.js +0 -3
  537. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1slq49k._.js +0 -3
  538. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t9bdf0._.js +0 -3
  539. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1u6qqm2._.js +0 -3
  540. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1v7ygvz._.js +0 -3
  541. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1wls8zc._.js +0 -3
  542. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ywboja._.js +0 -3
  543. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_00kwqu5._.js +0 -3
  544. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_01j2nrd._.js +0 -3
  545. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_05ybj3t._.js +0 -3
  546. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0adt7jj._.js +0 -3
  547. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0bnl14w._.js +0 -3
  548. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0f557t9._.js +0 -3
  549. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ra6giw._.js +0 -3
  550. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_107cqfx._.js +0 -3
  551. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1377sl6._.js +0 -3
  552. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1_2hcok._.js +0 -3
  553. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1g--m6y._.js +0 -3
  554. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1geopi5._.js +0 -3
  555. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1i11dte._.js +0 -3
  556. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1mj3_qk._.js +0 -3
  557. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1qgy210._.js +0 -3
  558. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1rkng9q._.js +0 -3
  559. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1vr8q8y._.js +0 -3
  560. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x8b64g._.js +0 -3
  561. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1zhahf7._.js +0 -3
  562. package/.next/server/chunks/[root-of-the-server]__01xmabe._.js +0 -3
  563. package/.next/server/chunks/[root-of-the-server]__0jr_5eq._.js +0 -110
  564. package/.next/server/chunks/[root-of-the-server]__0jr_5eq._.js.map +0 -1
  565. package/.next/server/chunks/[root-of-the-server]__19rxcu4._.js +0 -110
  566. package/.next/server/chunks/[root-of-the-server]__19rxcu4._.js.map +0 -1
  567. package/.next/server/chunks/[root-of-the-server]__1qd-ecl._.js +0 -110
  568. package/.next/server/chunks/[root-of-the-server]__1qd-ecl._.js.map +0 -1
  569. package/.next/server/chunks/_next-internal_server_app_api_backlinks_route_actions_1_58m09.js +0 -3
  570. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0wurouw._.js +0 -3
  571. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0wurouw._.js.map +0 -1
  572. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_14hl50o._.js.map +0 -1
  573. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js +0 -3
  574. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js.map +0 -1
  575. package/.next/server/chunks/ssr/_071j6mr._.js +0 -4
  576. package/.next/server/chunks/ssr/_071j6mr._.js.map +0 -1
  577. package/.next/server/chunks/ssr/_0i75x-o._.js +0 -3
  578. package/.next/server/chunks/ssr/_0i75x-o._.js.map +0 -1
  579. package/.next/server/chunks/ssr/_0idb-vo._.js.map +0 -1
  580. package/.next/server/chunks/ssr/_0qp3gu7._.js +0 -3
  581. package/.next/server/chunks/ssr/_0qp3gu7._.js.map +0 -1
  582. package/.next/server/chunks/ssr/_15qpb4z._.js +0 -3
  583. package/.next/server/chunks/ssr/_15qpb4z._.js.map +0 -1
  584. package/.next/server/chunks/ssr/_1fg0usp._.js +0 -3
  585. package/.next/server/chunks/ssr/_1fg0usp._.js.map +0 -1
  586. package/.next/server/chunks/ssr/_1h0wfpz._.js +0 -3
  587. package/.next/server/chunks/ssr/_1h0wfpz._.js.map +0 -1
  588. package/.next/server/chunks/ssr/_1ncdakv._.js +0 -4
  589. package/.next/server/chunks/ssr/_1ncdakv._.js.map +0 -1
  590. package/.next/server/chunks/ssr/_1ocnpth._.js +0 -3
  591. package/.next/server/chunks/ssr/_1ocnpth._.js.map +0 -1
  592. package/.next/server/chunks/ssr/_1t76zdx._.js +0 -3
  593. package/.next/server/chunks/ssr/_1t76zdx._.js.map +0 -1
  594. package/.next/server/chunks/ssr/_1uno162._.js +0 -3
  595. package/.next/server/chunks/ssr/_1uno162._.js.map +0 -1
  596. package/.next/server/chunks/ssr/node_modules__pnpm_0al3nfy._.js +0 -3
  597. package/.next/server/chunks/ssr/node_modules__pnpm_0al3nfy._.js.map +0 -1
  598. package/.next/server/chunks/ssr/node_modules__pnpm_1xeothw._.js +0 -3
  599. package/.next/server/chunks/ssr/src_components_0eyr_zi._.js +0 -3
  600. package/.next/server/chunks/ssr/src_components_0eyr_zi._.js.map +0 -1
  601. package/.next/server/chunks/ssr/src_components_1s861m8._.js +0 -3
  602. package/.next/server/chunks/ssr/src_components_1s861m8._.js.map +0 -1
  603. package/.next/server/chunks/ssr/src_components_docs_MarkdownRenderer_tsx_1kshaz1._.js +0 -70
  604. package/.next/server/chunks/ssr/src_components_docs_MarkdownRenderer_tsx_1kshaz1._.js.map +0 -1
  605. package/.next/static/chunks/02cj5_i9np4sg.js +0 -3
  606. package/.next/static/chunks/0b547y6rqct9z.js +0 -1
  607. package/.next/static/chunks/0e3ha56i_0j05.css +0 -1
  608. package/.next/static/chunks/0f32hudp0yir7.js +0 -2
  609. package/.next/static/chunks/0mgifb98wbesa.js +0 -1
  610. package/.next/static/chunks/0rsmz1jgro1kj.js +0 -1
  611. package/.next/static/chunks/0wnq_kh8-6wc1.js +0 -2
  612. package/.next/static/chunks/13l4l-boqg8fx.js +0 -1
  613. package/.next/static/chunks/14hxe1qiaram9.js +0 -1
  614. package/.next/static/chunks/16k196zyl-n9q.js +0 -1
  615. package/.next/static/chunks/18b5l8p0vd9f8.js +0 -1
  616. package/.next/static/chunks/1acpfyut6j4e2.js +0 -1
  617. package/.next/static/chunks/1rko_88i85yqb.js +0 -21
  618. package/.next/static/chunks/1tu8lforstp1o.js +0 -1
  619. package/.next/static/chunks/20mdcup14_0yi.js +0 -11
  620. package/.next/static/chunks/23-xknrz6o748.js +0 -1
  621. package/.next/static/chunks/24u_rc2tbkhai.js +0 -3
  622. package/.next/static/chunks/2p-pkveutoh75.js +0 -1
  623. package/.next/static/chunks/329sozud9-tvr.js +0 -1
  624. package/.next/static/chunks/3qqvn9vv6i0gy.js +0 -68
  625. package/.next/static/chunks/3ruw8lu2_re-h.js +0 -1
  626. /package/.next/server/app/{api/backlinks/route β†’ (app)/graph/page}/server-reference-manifest.json +0 -0
  627. /package/.next/server/app/{api/backlinks/route.js.map β†’ (app)/graph/page.js.map} +0 -0
  628. /package/.next/server/app/api/{backlinks β†’ docs/graph}/route/build-manifest.json +0 -0
  629. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-_cqh8._.js.map β†’ 11mp_@anthropic-ai_sdk_0-r4g2t._.js.map} +0 -0
  630. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00o5o78._.js.map β†’ 11mp_@anthropic-ai_sdk_01gyja3._.js.map} +0 -0
  631. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_03cp17a._.js.map β†’ 11mp_@anthropic-ai_sdk_02lx_j3._.js.map} +0 -0
  632. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_07dk2er._.js.map β†’ 11mp_@anthropic-ai_sdk_05iv23g._.js.map} +0 -0
  633. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0_e9zpr._.js.map β†’ 11mp_@anthropic-ai_sdk_05oneea._.js.map} +0 -0
  634. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0_xx_qf._.js.map β†’ 11mp_@anthropic-ai_sdk_07fgg-l._.js.map} +0 -0
  635. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0aer9lc._.js.map β†’ 11mp_@anthropic-ai_sdk_0_5gzfy._.js.map} +0 -0
  636. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0ax30pe._.js.map β†’ 11mp_@anthropic-ai_sdk_0_jynr-._.js.map} +0 -0
  637. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0gn7vgs._.js.map β†’ 11mp_@anthropic-ai_sdk_0aykesf._.js.map} +0 -0
  638. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0hye94a._.js.map β†’ 11mp_@anthropic-ai_sdk_0br_1fc._.js.map} +0 -0
  639. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0ir5cgk._.js.map β†’ 11mp_@anthropic-ai_sdk_0cd5lu7._.js.map} +0 -0
  640. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0je0_pa._.js.map β†’ 11mp_@anthropic-ai_sdk_0ckxhy7._.js.map} +0 -0
  641. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0jfgh0o._.js.map β†’ 11mp_@anthropic-ai_sdk_0e5qkuv._.js.map} +0 -0
  642. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0mha4x1._.js.map β†’ 11mp_@anthropic-ai_sdk_0el8pm6._.js.map} +0 -0
  643. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0n__boa._.js.map β†’ 11mp_@anthropic-ai_sdk_0i4w8fv._.js.map} +0 -0
  644. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0sqv26_._.js.map β†’ 11mp_@anthropic-ai_sdk_0i7ckik._.js.map} +0 -0
  645. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0wnc6g-._.js.map β†’ 11mp_@anthropic-ai_sdk_0l1p4c6._.js.map} +0 -0
  646. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0xh0g59._.js.map β†’ 11mp_@anthropic-ai_sdk_0m-xqs_._.js.map} +0 -0
  647. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1-5wyhj._.js.map β†’ 11mp_@anthropic-ai_sdk_0nltdmf._.js.map} +0 -0
  648. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_13ahm3n._.js.map β†’ 11mp_@anthropic-ai_sdk_0qxmzg8._.js.map} +0 -0
  649. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_13e6aq4._.js.map β†’ 11mp_@anthropic-ai_sdk_0spr_aj._.js.map} +0 -0
  650. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_14eg0ld._.js.map β†’ 11mp_@anthropic-ai_sdk_0th0pyh._.js.map} +0 -0
  651. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_15md1n2._.js.map β†’ 11mp_@anthropic-ai_sdk_0x21fif._.js.map} +0 -0
  652. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_16av8b9._.js.map β†’ 11mp_@anthropic-ai_sdk_1-7bj56._.js.map} +0 -0
  653. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_16hjhv1._.js.map β†’ 11mp_@anthropic-ai_sdk_1-efoj1._.js.map} +0 -0
  654. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_16txvf7._.js.map β†’ 11mp_@anthropic-ai_sdk_13vu693._.js.map} +0 -0
  655. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_198yu7d._.js.map β†’ 11mp_@anthropic-ai_sdk_13w62gi._.js.map} +0 -0
  656. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1_9tfq3._.js.map β†’ 11mp_@anthropic-ai_sdk_1887ce1._.js.map} +0 -0
  657. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1_izr2o._.js.map β†’ 11mp_@anthropic-ai_sdk_1_jq3yb._.js.map} +0 -0
  658. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1fljcyg._.js.map β†’ 11mp_@anthropic-ai_sdk_1agvp6h._.js.map} +0 -0
  659. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1lrt6ul._.js.map β†’ 11mp_@anthropic-ai_sdk_1b1-3vt._.js.map} +0 -0
  660. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1nev_ee._.js.map β†’ 11mp_@anthropic-ai_sdk_1ekldtb._.js.map} +0 -0
  661. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1pgoe2i._.js.map β†’ 11mp_@anthropic-ai_sdk_1ezcndt._.js.map} +0 -0
  662. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1rgl7mu._.js.map β†’ 11mp_@anthropic-ai_sdk_1gr-orf._.js.map} +0 -0
  663. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1slq49k._.js.map β†’ 11mp_@anthropic-ai_sdk_1hf-884._.js.map} +0 -0
  664. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1t9bdf0._.js.map β†’ 11mp_@anthropic-ai_sdk_1ndwnmb._.js.map} +0 -0
  665. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1u6qqm2._.js.map β†’ 11mp_@anthropic-ai_sdk_1rdesfd._.js.map} +0 -0
  666. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1v7ygvz._.js.map β†’ 11mp_@anthropic-ai_sdk_1s8h60-._.js.map} +0 -0
  667. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1wls8zc._.js.map β†’ 11mp_@anthropic-ai_sdk_1tgk9wk._.js.map} +0 -0
  668. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ywboja._.js.map β†’ 11mp_@anthropic-ai_sdk_1uugb45._.js.map} +0 -0
  669. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_00kwqu5._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_00nr0dy._.js.map} +0 -0
  670. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_01j2nrd._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_06kgcr0._.js.map} +0 -0
  671. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_05ybj3t._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_07kod-g._.js.map} +0 -0
  672. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0adt7jj._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_0_va-1q._.js.map} +0 -0
  673. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0bnl14w._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_0dr79hc._.js.map} +0 -0
  674. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0f557t9._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_0ew4_uw._.js.map} +0 -0
  675. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0ra6giw._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_0iy714m._.js.map} +0 -0
  676. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_107cqfx._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_0n6aq49._.js.map} +0 -0
  677. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1377sl6._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_0ncvuil._.js.map} +0 -0
  678. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1_2hcok._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_0vilstf._.js.map} +0 -0
  679. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1g--m6y._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_0ybdfbv._.js.map} +0 -0
  680. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1geopi5._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_0z31-c0._.js.map} +0 -0
  681. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1i11dte._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_0zu51ny._.js.map} +0 -0
  682. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1mj3_qk._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_13-fsm5._.js.map} +0 -0
  683. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1qgy210._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_13lk7wf._.js.map} +0 -0
  684. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1rkng9q._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_1ao3e3l._.js.map} +0 -0
  685. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1vr8q8y._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_1ck6z1z._.js.map} +0 -0
  686. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1x8b64g._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_1dm3so9._.js.map} +0 -0
  687. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1zhahf7._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_1jxtz_6._.js.map} +0 -0
  688. /package/.next/server/chunks/{[root-of-the-server]__0hfyuhq._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_1pdl5qg._.js.map} +0 -0
  689. /package/.next/server/chunks/{[root-of-the-server]__1tu85zx._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_1tzpss1._.js.map} +0 -0
  690. /package/.next/server/chunks/{[root-of-the-server]__1xpp36t._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_1x_0sf4._.js.map} +0 -0
  691. /package/.next/server/chunks/{_next-internal_server_app_api_backlinks_route_actions_1_58m09.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_1x_fy5x._.js.map} +0 -0
  692. /package/.next/server/chunks/{ssr/0_nd_mermaid_dist_mermaid_core_mjs_027n2yl._.js.map β†’ 11mp_@anthropic-ai_sdk_index_mjs_1xx8_-m._.js.map} +0 -0
  693. /package/.next/server/chunks/{ssr/1u84_katex_dist_katex_mjs_1kb5xea._.js.map β†’ [root-of-the-server]__06ndlro._.js.map} +0 -0
  694. /package/.next/server/chunks/{[root-of-the-server]__0b2488c._.js.map β†’ [root-of-the-server]__08v3p50._.js.map} +0 -0
  695. /package/.next/server/chunks/{[root-of-the-server]__0ikbk15._.js.map β†’ [root-of-the-server]__0cxmrop._.js.map} +0 -0
  696. /package/.next/server/chunks/{[root-of-the-server]__1b448u7._.js.map β†’ [root-of-the-server]__0hk-9ll._.js.map} +0 -0
  697. /package/.next/server/chunks/{[root-of-the-server]__16u25oa._.js.map β†’ [root-of-the-server]__0i1yba1._.js.map} +0 -0
  698. /package/.next/server/chunks/{[root-of-the-server]__1jz98vb._.js.map β†’ [root-of-the-server]__0pz59qo._.js.map} +0 -0
  699. /package/.next/server/chunks/{[root-of-the-server]__08yaps5._.js.map β†’ [root-of-the-server]__0rikmqn._.js.map} +0 -0
  700. /package/.next/server/chunks/{[root-of-the-server]__008focd._.js.map β†’ [root-of-the-server]__0usdydm._.js.map} +0 -0
  701. /package/.next/server/chunks/{[root-of-the-server]__1ssunti._.js.map β†’ [root-of-the-server]__0wc_gnr._.js.map} +0 -0
  702. /package/.next/server/chunks/{[root-of-the-server]__1gvv2xp._.js.map β†’ [root-of-the-server]__0xldguc._.js.map} +0 -0
  703. /package/.next/server/chunks/{ssr/node_modules__pnpm_14piqi4._.js.map β†’ [root-of-the-server]__0zy73pu._.js.map} +0 -0
  704. /package/.next/server/chunks/{[root-of-the-server]__0m8hmg0._.js.map β†’ [root-of-the-server]__11rp-qx._.js.map} +0 -0
  705. /package/.next/server/chunks/{[root-of-the-server]__0y5usoz._.js.map β†’ [root-of-the-server]__1ef-hw_._.js.map} +0 -0
  706. /package/.next/server/chunks/{[root-of-the-server]__0qij7wy._.js.map β†’ [root-of-the-server]__1qcy2l0._.js.map} +0 -0
  707. /package/.next/server/chunks/{[root-of-the-server]__0axugex._.js.map β†’ [root-of-the-server]__1r67yrn._.js.map} +0 -0
  708. /package/.next/server/chunks/{[root-of-the-server]__03ogp2r._.js.map β†’ [root-of-the-server]__1sn6-7a._.js.map} +0 -0
  709. /package/.next/server/chunks/{[root-of-the-server]__0x8wtot._.js.map β†’ [root-of-the-server]__1wbho9e._.js.map} +0 -0
  710. /package/.next/server/chunks/{[root-of-the-server]__1z3tswg._.js.map β†’ [root-of-the-server]__1yh-4vk._.js.map} +0 -0
  711. /package/.next/server/chunks/{[root-of-the-server]__0cbh1s-._.js.map β†’ [root-of-the-server]__1zhd93r._.js.map} +0 -0
  712. /package/.next/server/chunks/{ssr/node_modules__pnpm_16u1vfb._.js.map β†’ _next-internal_server_app_api_docs_graph_route_actions_1nzoqf-.js.map} +0 -0
  713. /package/.next/server/chunks/{ssr/node_modules__pnpm_189m48n._.js.map β†’ _next-internal_server_app_api_docs_links_route_actions_1q-6jeg.js.map} +0 -0
  714. /package/.next/server/chunks/{ssr/node_modules__pnpm_1xeothw._.js.map β†’ _next-internal_server_app_api_memory_entries_merge_route_actions_1rr-wwt.js.map} +0 -0
  715. /package/.next/server/chunks/ssr/{node_modules__pnpm_1min2jl._.js.map β†’ node_modules__pnpm_035haet._.js.map} +0 -0
  716. /package/.next/server/chunks/ssr/{node_modules__pnpm_1uwkcin._.js.map β†’ node_modules__pnpm_03an60e._.js.map} +0 -0
  717. /package/.next/server/chunks/ssr/{node_modules__pnpm_1q_hhr3._.js.map β†’ node_modules__pnpm_03mp7qw._.js.map} +0 -0
  718. /package/.next/server/chunks/ssr/{node_modules__pnpm_0ctisl0._.js.map β†’ node_modules__pnpm_03mpmzx._.js.map} +0 -0
  719. /package/.next/server/chunks/ssr/{node_modules__pnpm_0fwp8jm._.js.map β†’ node_modules__pnpm_06_8fr8._.js.map} +0 -0
  720. /package/.next/server/chunks/ssr/{node_modules__pnpm_17i6z2d._.js.map β†’ node_modules__pnpm_09nd7ia._.js.map} +0 -0
  721. /package/.next/server/chunks/ssr/{node_modules__pnpm_192f222._.js.map β†’ node_modules__pnpm_0_e05ka._.js.map} +0 -0
  722. /package/.next/server/chunks/ssr/{node_modules__pnpm_1ygal0c._.js.map β†’ node_modules__pnpm_0iu4132._.js.map} +0 -0
  723. /package/.next/server/chunks/ssr/{node_modules__pnpm_0kpu0-2._.js.map β†’ node_modules__pnpm_0jampur._.js.map} +0 -0
  724. /package/.next/server/chunks/ssr/{node_modules__pnpm_1aa37e1._.js.map β†’ node_modules__pnpm_0lkvbt-._.js.map} +0 -0
  725. /package/.next/server/chunks/ssr/{node_modules__pnpm_0vry74x._.js.map β†’ node_modules__pnpm_0mqeoh-._.js.map} +0 -0
  726. /package/.next/server/chunks/ssr/{node_modules__pnpm_06d-fdo._.js.map β†’ node_modules__pnpm_0oyo3yo._.js.map} +0 -0
  727. /package/.next/server/chunks/ssr/{node_modules__pnpm_1qp_jvj._.js.map β†’ node_modules__pnpm_0rq9x9q._.js.map} +0 -0
  728. /package/.next/server/chunks/ssr/{node_modules__pnpm_01bjcv9._.js.map β†’ node_modules__pnpm_0tn5pg3._.js.map} +0 -0
  729. /package/.next/server/chunks/ssr/{node_modules__pnpm_0ycbjbd._.js.map β†’ node_modules__pnpm_0x5wj-4._.js.map} +0 -0
  730. /package/.next/server/chunks/ssr/{node_modules__pnpm_1fn3ejy._.js.map β†’ node_modules__pnpm_139-v1i._.js.map} +0 -0
  731. /package/.next/server/chunks/ssr/{node_modules__pnpm_1txccoj._.js.map β†’ node_modules__pnpm_1i_chik._.js.map} +0 -0
  732. /package/.next/server/chunks/ssr/{node_modules__pnpm_1qmkxyo._.js.map β†’ node_modules__pnpm_1jgju12._.js.map} +0 -0
  733. /package/.next/server/chunks/ssr/{node_modules__pnpm_1ssjj4u._.js.map β†’ node_modules__pnpm_1n9oeu0._.js.map} +0 -0
  734. /package/.next/server/chunks/ssr/{node_modules__pnpm_1-76qxg._.js.map β†’ node_modules__pnpm_1ws3ez9._.js.map} +0 -0
  735. /package/.next/server/chunks/ssr/{node_modules__pnpm_1-r94f7._.js.map β†’ node_modules__pnpm_1ydeqw6._.js.map} +0 -0
  736. /package/.next/server/chunks/ssr/{node_modules__pnpm_1f440kx._.js.map β†’ node_modules__pnpm_1zme4rg._.js.map} +0 -0
  737. /package/.next/server/chunks/ssr/{node_modules__pnpm_03qrzdb._.js.map β†’ node_modules__pnpm_1zum4yd._.js.map} +0 -0
  738. /package/.next/server/chunks/ssr/{node_modules__pnpm_1a48_nl._.js.map β†’ node_modules__pnpm_2045l51._.js.map} +0 -0
  739. /package/.next/static/{Q29Tn_NjyVms0d3pKn4Yx β†’ 5hNes2Kijr5IvUPPw-ez9}/_buildManifest.js +0 -0
  740. /package/.next/static/{Q29Tn_NjyVms0d3pKn4Yx β†’ 5hNes2Kijr5IvUPPw-ez9}/_clientMiddlewareManifest.js +0 -0
  741. /package/.next/static/{Q29Tn_NjyVms0d3pKn4Yx β†’ 5hNes2Kijr5IvUPPw-ez9}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[89032,a=>{"use strict";var b=a.i(256857);let c={name:"info",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]};c.node;let d=(0,b.default)(c);a.s(["Info",0,d],89032)},815122,a=>{"use strict";var b=a.i(662145),c=a.i(795667),d=a.i(108280),e=a.i(368114),f=a.i(685698),g=a.i(598984);let h={running:"Agent working","needs-answer":"Agent needs you",review:"Plan to review"};a.s(["AgentDot",0,function({attach:a}){let c=(0,f.useItemAgent)(a);return c?(0,b.jsx)(g.StatusMarker,{status:c.status,label:h[c.status]}):null},"AgentMark",0,function({attach:a,className:g}){let i=(0,f.useItemAgent)(a),{show:j}=(0,f.useChats)();if(!i)return null;let k=h[i.status];return(0,b.jsxs)("button",{type:"button",onClick:a=>{a.stopPropagation(),j(i.chatId)},title:`${k} \xb7 open chat`,"aria-label":`${k}, open chat`,className:(0,e.cn)("nodrag inline-flex shrink-0 items-center gap-1 rounded-full border px-1.5 py-px font-mono text-[10px] leading-4 animate-fade-in transition-colors duration-(--duration-fast)","running"===i.status&&"border-accent/50 text-accent hover:bg-accent/10","needs-answer"===i.status&&"border-amber/50 text-amber hover:bg-amber/10","review"===i.status&&"border-accent/50 bg-accent/10 text-accent hover:bg-accent/20",g),children:["running"===i.status?(0,b.jsx)(d.Loader2,{className:"size-3 animate-spin","aria-hidden":!0}):(0,b.jsx)(c.Bot,{className:"size-3","aria-hidden":!0}),k]})}])}];
2
+
3
+ //# sourceMappingURL=_0696iog._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/info.ts","../../../../src/components/chat/AgentMark.tsx"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'info',\n size: 24,\n node: [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'M12 16v-4', key: '1dtifu' }],\n ['path', { d: 'M12 8h.01', key: 'e9boi3' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Info\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgMTZ2LTQiIC8+CiAgPHBhdGggZD0iTTEyIDhoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/info\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Info = createLucideIcon(__iconData);\n\nexport default Info;\n","\"use client\"\n\nimport { Bot, Loader2 } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\nimport { useChats, useItemAgent } from \"@/context/ChatContext\"\nimport type { Attach, ItemAgent } from \"@/lib/chats\"\nimport { StatusMarker } from \"./StatusMarker\"\n\nexport const AGENT_LABEL: Record<ItemAgent[\"status\"], string> = {\n running: \"Agent working\",\n \"needs-answer\": \"Agent needs you\",\n review: \"Plan to review\",\n}\n\n/**\n * Pill on an epic/task while a chat works on it; click opens that chat.\n * `nodrag` + stopPropagation keep a React Flow node from dragging/selecting on click.\n */\nexport function AgentMark({ attach, className }: { attach: Attach; className?: string }) {\n const agent = useItemAgent(attach)\n const { show } = useChats()\n if (!agent) return null\n const label = AGENT_LABEL[agent.status]\n return (\n <button\n type=\"button\"\n onClick={(e) => { e.stopPropagation(); show(agent.chatId) }}\n title={`${label} Β· open chat`}\n aria-label={`${label}, open chat`}\n className={cn(\n \"nodrag inline-flex shrink-0 items-center gap-1 rounded-full border px-1.5 py-px font-mono text-[10px] leading-4 animate-fade-in transition-colors duration-(--duration-fast)\",\n agent.status === \"running\" && \"border-accent/50 text-accent hover:bg-accent/10\",\n agent.status === \"needs-answer\" && \"border-amber/50 text-amber hover:bg-amber/10\",\n agent.status === \"review\" && \"border-accent/50 bg-accent/10 text-accent hover:bg-accent/20\",\n className,\n )}\n >\n {agent.status === \"running\" ? <Loader2 className=\"size-3 animate-spin\" aria-hidden /> : <Bot className=\"size-3\" aria-hidden />}\n {label}\n </button>\n )\n}\n\n/** Non-interactive variant for places that are already a button (timeline markers, board cards, task rows). */\nexport function AgentDot({ attach }: { attach: Attach }) {\n const agent = useItemAgent(attach)\n if (!agent) return null\n return <StatusMarker status={agent.status} label={AGENT_LABEL[agent.status]} />\n}\n"],"names":["AGENT_LABEL","running","review","AgentMark","attach","className","agent","show","label","status","type","onClick","e","stopPropagation","chatId","title","AgentDot"],"mappings":"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","ignoreList":[0]}
@@ -0,0 +1,3 @@
1
+ module.exports=[508817,a=>{"use strict";var b=a.i(256857);let c={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};c.node;let d=(0,b.default)(c);a.s(["BookOpen",0,d],508817)},717371,a=>{"use strict";var b=a.i(256857);let c={name:"flag",size:24,node:[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]};c.node;let d=(0,b.default)(c);a.s(["Flag",0,d],717371)},759658,a=>{"use strict";var b=a.i(256857);let c={name:"lightbulb",size:24,node:[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]};c.node;let d=(0,b.default)(c);a.s(["Lightbulb",0,d],759658)},471617,a=>{"use strict";var b=a.i(256857);let c={name:"scale",size:24,node:[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"m19 8 3 8a5 5 0 0 1-6 0zV7",key:"zcdpyk"}],["path",{d:"M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1",key:"1yorad"}],["path",{d:"m5 8 3 8a5 5 0 0 1-6 0zV7",key:"eua70x"}],["path",{d:"M7 21h10",key:"1b0cd5"}]]};c.node;let d=(0,b.default)(c);a.s(["Scale",0,d],471617)},853244,a=>{"use strict";var b=a.i(256857);let c={name:"unlink",size:24,node:[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]};c.node;let d=(0,b.default)(c);a.s(["Unlink",0,d],853244)},892678,a=>{"use strict";var b=a.i(256857);let c={name:"user",size:24,node:[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]};c.node;let d=(0,b.default)(c);a.s(["User",0,d],892678)},731050,760093,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(913975),e=a.i(508817),f=a.i(926128),g=a.i(717371),h=a.i(759658),i=a.i(471617),j=a.i(544394),k=a.i(173628),l=a.i(147758);let m=[{kind:"task",label:"Tasks"},{kind:"epic",label:"Epics"},{kind:"adr",label:"ADRs"},{kind:"doc",label:"Docs"},{kind:"entry",label:"Entries"}],n={epic:g.Flag,adr:i.Scale,doc:f.FileText,entry:h.Lightbulb,task:e.BookOpen};function o(a){let b=(0,d.useRouter)(),{openDoc:c}=(0,j.useApp)();return d=>{"task"===d.kind?b.push(`/board?task=${d.id}`):"epic"===d.kind?b.push(`/roadmap?item=${d.id}`):"entry"===d.kind?a(d.id):c(d.path)}}a.s(["EntryRelated",0,function({entryId:a,onOpenEntry:d}){let{rootParam:e,summary:f,board:g}=(0,j.useApp)(),h=o(d),[i,p]=(0,c.useState)(null);(0,c.useEffect)(()=>{let b=!0;return fetch(`/api/memory/graph${e}&entry=${encodeURIComponent(a)}`).then(a=>a.json()).then(a=>{b&&p(a.nodes?a:{nodes:[],edges:[]})}).catch(a=>{console.warn("Loading entry links failed",a),b&&p({nodes:[],edges:[]})}),()=>{b=!1}},[a,e,f]);let q=(0,c.useMemo)(()=>new Map(Object.values(g??{}).flat().map(a=>[a.id,a])),[g]),r=(0,c.useMemo)(()=>new Map((i?.nodes??[]).map(a=>[a.id,a])),[i]),s=a=>a.map(a=>r.get(a)).filter(a=>!!a),t=s((i?.edges??[]).filter(b=>b.from===a).map(a=>a.to)),u=s((i?.edges??[]).filter(b=>b.to===a).map(a=>a.from)),v=a=>{let c="task"===a.kind?q.get(a.id):void 0,d=c?(0,l.displayStatus)(c):"epic"===a.kind?a.status:void 0,e=n[a.kind];return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onClick:()=>h(a),title:a.path,className:"flex w-full items-center gap-2 rounded-md px-2 py-1 text-left text-sm outline-none hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent",children:[d?(0,b.jsx)(k.StatusIcon,{status:d,className:"size-3.5 shrink-0"}):(0,b.jsx)(e,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),"doc"!==a.kind&&(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:a.id}),(0,b.jsx)("span",{className:"min-w-0 truncate text-txt",children:a.label})]})},a.id)},w=(a,c)=>(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("h4",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted",children:a}),m.map(({kind:a,label:d})=>{let e=c.filter(b=>b.kind===a);return e.length?(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"px-2 text-[11px] text-muted",children:d}),(0,b.jsx)("ul",{children:e.map(v)})]},a):null})]});return(0,b.jsxs)("section",{"aria-label":"Related",className:"mt-5 flex flex-col gap-3 border-t border-border pt-4",children:[(0,b.jsx)("h3",{className:"text-xs font-semibold text-txt",children:"Related"}),null===i?(0,b.jsx)("p",{className:"text-xs text-muted",children:"Loading links…"}):t.length||u.length?(0,b.jsxs)(b.Fragment,{children:[t.length>0&&w("Links to",t),u.length>0&&w("Linked from",u)]}):(0,b.jsx)("p",{className:"text-xs text-muted",children:"No links yet. Mention a task, epic or doc in the entry to link it."})]})},"GROUPS",0,m,"KIND_ICON",0,n,"useOpenNode",0,o],731050);let p=new Set(["doc_updated","doc_created","doc_deleted","doc_renamed","task_created","task_updated","roadmap_updated","memory_updated","decision_logged"]),q=new Set;function r(a){return q.add(a),()=>{q.delete(a)}}function s(){return(0,c.useSyncExternalStore)(r,()=>0,()=>0)}let t=new Map;function u(a){let b=t.get(a);if(!b){let c=b=fetch(a).then(async a=>{let b=await a.json().catch(()=>null);if(!a.ok)throw Error(b?.error??`${a.status} ${a.statusText}`);return b});c.catch(()=>{t.get(a)===c&&t.delete(a)}),t.set(a,c)}return b}a.s(["LINK_EVENTS",0,p,"fetchLinkJson",0,u,"useDocLinks",0,function(a){let{rootParam:b}=(0,j.useApp)(),[d,e]=(0,c.useState)(null),f=s();return(0,c.useEffect)(()=>{if(!a)return;let c=!0;return u(`/api/docs/links${b}&path=${encodeURIComponent(a)}`).then(b=>{c&&e({path:a,links:{out:b.out??[],in:b.in??[],broken:b.broken??[],stale:b.stale??[],targets:b.targets??{}}})}).catch(b=>{console.warn("Loading doc links failed",b),c&&e({path:a,links:{out:[],in:[],broken:[],stale:[],targets:{}}})}),()=>{c=!1}},[a,b,f]),a&&d?.path===a?d.links:null},"useLinkGeneration",0,s],760093)},813722,853775,a=>{"use strict";var b=a.i(662145),c=a.i(795667),d=a.i(892678),e=a.i(368114);function f(a){return"human"===a?"human":a?.startsWith("ai:")?"ai":"none"}function g(a){return"human"===a?"Human":a?.startsWith("ai:")?a.slice(3):"No owner"}a.s(["ownerKind",0,f,"ownerLabel",0,g],853775),a.s(["OwnerChip",0,function({owner:a,className:h}){let i=f(a);if("none"===i)return null;let j="ai"===i?c.Bot:d.User;return(0,b.jsxs)("span",{title:`Owner: ${g(a)}`,className:(0,e.cn)("inline-flex items-center gap-1 text-[11px] text-muted",h),children:[(0,b.jsx)(j,{className:(0,e.cn)("size-3.5 shrink-0","ai"===i&&"text-accent"),"aria-hidden":!0}),g(a)]})}],813722)},692938,a=>{"use strict";let b=new Set(["a","b","c","x","y","z","path","name","slug","title","foo","bar","wikilinks","example"]),c=a=>String(Number(a)).padStart(3,"0");function d(a){return a.startsWith("ADR-")?`ADR-${c(a.slice(4))}`:a.startsWith("E")?`E${c(a.slice(1))}`:a}function e(a,b){let c,e=function(a){let b=[];for(let c of a.replace(/\\/g,"/").split("/"))if(c&&"."!==c)if(".."===c){if(!b.length)return null;b.pop()}else b.push(c);return b.join("/")}(a)??a,f=(e.split("/").pop()??e).replace(/\.md$/i,""),g=(/^#\s+(.+?)\s*$/m.exec(b)?.[1]??"").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[\[([^\]|]+)(?:\|([^\]]+))?\]\]/g,(a,b,c)=>c??b).replace(/(\*\*|\*|~~|`)(\S(?:.*?\S)?)\1/g,"$2").replace(/(^|\W)(__|_)(\S(?:.*?\S)?)\2(?=\W|$)/g,"$1$3").replace(/<[^>]+>/g,"").trim(),h=/[^.][.!]$/.test(g)?"":g,i=a=>h.replace(RegExp(`^${a}\\s*[:—–-]\\s*`),"")||f;return(c=/^plans\/tasks\/(T\d{3,})[^/]*\.md$/.exec(e))?{id:c[1],kind:"task",label:i(c[1]),path:e}:(c=/^plans\/roadmap\/(R\d{3,})[^/]*\.md$/.exec(e))?{id:c[1],kind:"epic",label:i(c[1]),path:e}:(c=/^memory\/entries\/(E\d+)[^/]*\.md$/.exec(e))?{id:d(c[1]),kind:"entry",label:i(c[1]),path:e}:(c=/(?:^|\/)(ADR-\d+)[^/]*\.md$/.exec(e))?{id:d(c[1]),kind:"adr",label:i(c[1]),path:e}:{id:e,kind:"doc",label:h||f,path:e}}new WeakMap;let f=["doc","adr"],g=/^(?:Entry )?(E\d+|T\d{3,}|R\d{3,}|ADR-\d+)\b/,h=new Set(["doc_updated","doc_created"]);a.s(["GRAPH_DEFAULT_KINDS",0,f,"docNode",0,e,"graphHref",0,function(a){let b=new URLSearchParams({node:a,focus:"1"}),c=e(a,"").kind;return f.includes(c)||b.set("kinds",[...f,c].join(",")),`/graph?${b}`},"isExampleTarget",0,function(a){let c=(a.split("/").pop()??"").replace(/\.md$/i,"").replace(/^(?:ADR-\d+|[TRE]\d+)-/,"");return b.has(c.toLowerCase())},"touchedPaths",0,function(a,b,c){let d=new Map;for(let a of b)d.set(a.id,a.path),d.set(a.path,a.path);let e=new Set;for(let b of a){if(!(Date.parse(b.timestamp)>=c))continue;let a=[b.taskId,g.exec(b.title)?.[1]];for(let c of(h.has(b.type)&&a.push(b.detail),"doc_renamed"===b.type&&a.push(b.title.split(" β†’ ")[1]),"memory_updated"!==b.type||b.title.startsWith("Entry ")||a.push("memory/MEMORY.md"),a)){let a=c?d.get(c.trim()):void 0;a&&e.add(a)}}return e}])}];
2
+
3
+ //# sourceMappingURL=_0ghj-vx._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/book-open.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/flag.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/lightbulb.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/scale.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/unlink.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/user.ts","../../../../src/components/memory/EntryRelated.tsx","../../../../src/components/docs/useDocLinks.ts","../../../../src/components/shared/OwnerChip.tsx","../../../../src/lib/owner.ts","../../../../src/lib/doc-links.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'book-open',\n size: 24,\n node: [\n ['path', { d: 'M12 5v16', key: '1f6ucr' }],\n [\n 'path',\n {\n d: 'M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z',\n key: '1fyvmf',\n },\n ],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name BookOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNXYxNiIgLz4KICA8cGF0aCBkPSJNMjAuMDAxIDE5QTIgMiAwIDAwMjIgMTdWNWEyIDIgMCAwMC0xLjk5OS0yTDE2IDMuMDAyQTUgNSAwIDAwMTIgNWE1IDUgMCAwMC00LTJINGEyIDIgMCAwMC0yIDJ2MTJhMiAyIDAgMDAxLjk5OSAySDhhNSA1IDAgMDE0IDIgNSA1IDAgMDE0LTJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-open\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst BookOpen = createLucideIcon(__iconData);\n\nexport default BookOpen;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'flag',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528',\n key: '1jaruq',\n },\n ],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Flag\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAyMlY0YTEgMSAwIDAgMSAuNC0uOEE2IDYgMCAwIDEgOCAyYzMgMCA1IDIgNy4zMzMgMnEyIDAgMy4wNjctLjhBMSAxIDAgMCAxIDIwIDR2MTBhMSAxIDAgMCAxLS40LjhBNiA2IDAgMCAxIDE2IDE2Yy0zIDAtNS0yLTgtMmE2IDYgMCAwIDAtNCAxLjUyOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/flag\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Flag = createLucideIcon(__iconData);\n\nexport default Flag;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'lightbulb',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5',\n key: '1gvzjb',\n },\n ],\n ['path', { d: 'M9 18h6', key: 'x1upvd' }],\n ['path', { d: 'M10 22h4', key: 'ceow96' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Lightbulb\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMTRjLjItMSAuNy0xLjcgMS41LTIuNSAxLS45IDEuNS0yLjIgMS41LTMuNUE2IDYgMCAwIDAgNiA4YzAgMSAuMiAyLjIgMS41IDMuNS43LjcgMS4zIDEuNSAxLjUgMi41IiAvPgogIDxwYXRoIGQ9Ik05IDE4aDYiIC8+CiAgPHBhdGggZD0iTTEwIDIyaDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/lightbulb\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Lightbulb = createLucideIcon(__iconData);\n\nexport default Lightbulb;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'scale',\n size: 24,\n node: [\n ['path', { d: 'M12 3v18', key: '108xh3' }],\n ['path', { d: 'm19 8 3 8a5 5 0 0 1-6 0zV7', key: 'zcdpyk' }],\n ['path', { d: 'M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1', key: '1yorad' }],\n ['path', { d: 'm5 8 3 8a5 5 0 0 1-6 0zV7', key: 'eua70x' }],\n ['path', { d: 'M7 21h10', key: '1b0cd5' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Scale\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxOCIgLz4KICA8cGF0aCBkPSJtMTkgOCAzIDhhNSA1IDAgMCAxLTYgMHpWNyIgLz4KICA8cGF0aCBkPSJNMyA3aDFhMTcgMTcgMCAwIDAgOC0yIDE3IDE3IDAgMCAwIDggMmgxIiAvPgogIDxwYXRoIGQ9Im01IDggMyA4YTUgNSAwIDAgMS02IDB6VjciIC8+CiAgPHBhdGggZD0iTTcgMjFoMTAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scale\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Scale = createLucideIcon(__iconData);\n\nexport default Scale;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'unlink',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'm18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71',\n key: 'yqzxt4',\n },\n ],\n [\n 'path',\n {\n d: 'm5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71',\n key: '4qinb0',\n },\n ],\n ['line', { x1: '8', x2: '8', y1: '2', y2: '5', key: '1041cp' }],\n ['line', { x1: '2', x2: '5', y1: '8', y2: '8', key: '14m1p5' }],\n ['line', { x1: '16', x2: '16', y1: '19', y2: '22', key: 'rzdirn' }],\n ['line', { x1: '19', x2: '22', y1: '16', y2: '16', key: 'ox905f' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Unlink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTguODQgMTIuMjUgMS43Mi0xLjcxaC0uMDJhNS4wMDQgNS4wMDQgMCAwIDAtLjEyLTcuMDcgNS4wMDYgNS4wMDYgMCAwIDAtNi45NSAwbC0xLjcyIDEuNzEiIC8+CiAgPHBhdGggZD0ibTUuMTcgMTEuNzUtMS43MSAxLjcxYTUuMDA0IDUuMDA0IDAgMCAwIC4xMiA3LjA3IDUuMDA2IDUuMDA2IDAgMCAwIDYuOTUgMGwxLjcxLTEuNzEiIC8+CiAgPGxpbmUgeDE9IjgiIHgyPSI4IiB5MT0iMiIgeTI9IjUiIC8+CiAgPGxpbmUgeDE9IjIiIHgyPSI1IiB5MT0iOCIgeTI9IjgiIC8+CiAgPGxpbmUgeDE9IjE2IiB4Mj0iMTYiIHkxPSIxOSIgeTI9IjIyIiAvPgogIDxsaW5lIHgxPSIxOSIgeDI9IjIyIiB5MT0iMTYiIHkyPSIxNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/unlink\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Unlink = createLucideIcon(__iconData);\n\nexport default Unlink;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'user',\n size: 24,\n node: [\n ['path', { d: 'M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2', key: '975kel' }],\n ['circle', { cx: '12', cy: '7', r: '4', key: '17ys0d' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name User\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgMjF2LTJhNCA0IDAgMCAwLTQtNEg5YTQgNCAwIDAgMC00IDR2MiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjciIHI9IjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/user\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst User = createLucideIcon(__iconData);\n\nexport default User;\n","\"use client\"\n\nimport { useEffect, useMemo, useState } from \"react\"\nimport { useRouter } from \"next/navigation\"\nimport { BookOpen, FileText, Flag, Lightbulb, Scale } from \"lucide-react\"\nimport { useApp } from \"@/context/AppContext\"\nimport { StatusIcon } from \"@/components/shared/StatusIcon\"\nimport { displayStatus } from \"@/lib/statuses\"\nimport type { GraphNode, MemoryGraph, NodeKind } from \"@/lib/memory-graph\"\n\nexport const GROUPS: { kind: NodeKind; label: string }[] = [\n { kind: \"task\", label: \"Tasks\" },\n { kind: \"epic\", label: \"Epics\" },\n { kind: \"adr\", label: \"ADRs\" },\n { kind: \"doc\", label: \"Docs\" },\n { kind: \"entry\", label: \"Entries\" },\n]\nexport const KIND_ICON = { epic: Flag, adr: Scale, doc: FileText, entry: Lightbulb, task: BookOpen } as const\n\n/** Open a graph node where it lives: a task on /board, an epic on /roadmap, a doc or ADR in Docs, an entry here. */\nexport function useOpenNode(onOpenEntry: (id: string) => void) {\n const router = useRouter()\n const { openDoc } = useApp()\n return (n: GraphNode) => {\n if (n.kind === \"task\") router.push(`/board?task=${n.id}`)\n else if (n.kind === \"epic\") router.push(`/roadmap?item=${n.id}`)\n else if (n.kind === \"entry\") onOpenEntry(n.id)\n else void openDoc(n.path)\n }\n}\n\n/**\n * What an entry links to and what links back (R053), from GET /api/memory/graph?entry=.\n * Links are inferred from text, so the way to change them is to edit the entry.\n */\nexport function EntryRelated({ entryId, onOpenEntry }: { entryId: string; onOpenEntry: (id: string) => void }) {\n const { rootParam, summary, board } = useApp()\n const open = useOpenNode(onOpenEntry)\n const [graph, setGraph] = useState<MemoryGraph | null>(null)\n\n // refetch when the entry changes and on every memory_updated SSE event (AppContext replaces `summary`)\n useEffect(() => {\n let live = true\n fetch(`/api/memory/graph${rootParam}&entry=${encodeURIComponent(entryId)}`)\n .then((r) => r.json())\n .then((g: MemoryGraph) => { if (live) setGraph(g.nodes ? g : { nodes: [], edges: [] }) })\n .catch((e) => {\n console.warn(\"Loading entry links failed\", e)\n if (live) setGraph({ nodes: [], edges: [] })\n })\n return () => { live = false }\n }, [entryId, rootParam, summary])\n\n const tasks = useMemo(() => new Map(Object.values(board ?? {}).flat().map((t) => [t.id, t])), [board])\n const byId = useMemo(() => new Map((graph?.nodes ?? []).map((n) => [n.id, n])), [graph])\n const pick = (ids: string[]) => ids.map((id) => byId.get(id)).filter((n): n is GraphNode => !!n)\n const linksTo = pick((graph?.edges ?? []).filter((e) => e.from === entryId).map((e) => e.to))\n const linkedFrom = pick((graph?.edges ?? []).filter((e) => e.to === entryId).map((e) => e.from))\n\n // tasks from the live board, epics from the node (their roadmap status): one StatusIcon for both, as in Linked docs\n const row = (n: GraphNode & { status?: string }) => {\n const task = n.kind === \"task\" ? tasks.get(n.id) : undefined\n const status = task ? displayStatus(task) : n.kind === \"epic\" ? n.status : undefined\n const Icon = KIND_ICON[n.kind]\n return (\n <li key={n.id}>\n <button\n type=\"button\"\n onClick={() => open(n)}\n title={n.path}\n className=\"flex w-full items-center gap-2 rounded-md px-2 py-1 text-left text-sm outline-none hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent\"\n >\n {status ? <StatusIcon status={status} className=\"size-3.5 shrink-0\" /> : <Icon className=\"size-3.5 shrink-0 text-muted\" aria-hidden />}\n {n.kind !== \"doc\" && <span className=\"shrink-0 font-mono text-[11px] text-muted\">{n.id}</span>}\n <span className=\"min-w-0 truncate text-txt\">{n.label}</span>\n </button>\n </li>\n )\n }\n\n const section = (title: string, nodes: GraphNode[]) => (\n <div className=\"flex flex-col gap-1.5\">\n <h4 className=\"text-[11px] font-semibold uppercase tracking-wider text-muted\">{title}</h4>\n {GROUPS.map(({ kind, label }) => {\n const group = nodes.filter((n) => n.kind === kind)\n if (!group.length) return null\n return (\n <div key={kind}>\n <p className=\"px-2 text-[11px] text-muted\">{label}</p>\n <ul>{group.map(row)}</ul>\n </div>\n )\n })}\n </div>\n )\n\n return (\n <section aria-label=\"Related\" className=\"mt-5 flex flex-col gap-3 border-t border-border pt-4\">\n <h3 className=\"text-xs font-semibold text-txt\">Related</h3>\n {graph === null ? (\n <p className=\"text-xs text-muted\">Loading links…</p>\n ) : !linksTo.length && !linkedFrom.length ? (\n <p className=\"text-xs text-muted\">No links yet. Mention a task, epic or doc in the entry to link it.</p>\n ) : (\n <>\n {linksTo.length > 0 && section(\"Links to\", linksTo)}\n {linkedFrom.length > 0 && section(\"Linked from\", linkedFrom)}\n </>\n )}\n </section>\n )\n}\n","\"use client\"\n\nimport { useEffect, useState, useSyncExternalStore } from \"react\"\nimport { useApp } from \"@/context/AppContext\"\nimport type { LinkRow, TargetRow } from \"@/lib/doc-links\"\n\nexport type DocLinksData = { out: LinkRow[]; in: LinkRow[]; broken: LinkRow[]; stale: LinkRow[]; targets: Record<string, TargetRow> }\n\n/** Events that can change which files exist or what they link to. */\nexport const LINK_EVENTS = new Set([\"doc_updated\", \"doc_created\", \"doc_deleted\", \"doc_renamed\", \"task_created\", \"task_updated\", \"roadmap_updated\", \"memory_updated\", \"decision_logged\"])\n\n// A burst of LINK_EVENTS (an agent moving five tasks) becomes one generation bump, so one refetch per URL\nconst DEBOUNCE_MS = 250\nlet generation = 0\nlet timer: ReturnType<typeof setTimeout> | undefined\nconst subscribers = new Set<() => void>()\nfunction onSse(e: Event) {\n if (!LINK_EVENTS.has((e as CustomEvent<{ type: string }>).detail?.type)) return\n clearTimeout(timer)\n timer = setTimeout(() => {\n generation++\n cache.clear()\n subscribers.forEach((f) => f())\n }, DEBOUNCE_MS)\n}\n// Registered once for the page's life, never removed: the cache must be cleared even while no link view is mounted\n// (a change made while the user is on /board must not be served from a stale promise on the way back).\nif (typeof window !== \"undefined\") window.addEventListener(\"vibedoc:sse\", onSse)\nfunction subscribe(cb: () => void) {\n subscribers.add(cb)\n return () => { subscribers.delete(cb) }\n}\n\n/** Bumps ~250ms after the last file-changing SSE event; use it as an effect dep to refetch link data. */\nexport function useLinkGeneration(): number {\n return useSyncExternalStore(subscribe, () => generation, () => 0)\n}\n\n// One request per URL per generation, shared by every caller (DocViewer + the preview's link handling, strict\n// mode's double effect). A failure is evicted so Retry asks again.\nconst cache = new Map<string, Promise<unknown>>()\nexport function fetchLinkJson<T>(url: string): Promise<T> {\n let p = cache.get(url)\n if (!p) {\n p = fetch(url).then(async (r) => {\n const body = await r.json().catch(() => null)\n if (!r.ok) throw new Error(body?.error ?? `${r.status} ${r.statusText}`)\n return body\n })\n const mine = p\n mine.catch(() => { if (cache.get(url) === mine) cache.delete(url) })\n cache.set(url, mine)\n }\n return p as Promise<T>\n}\n\n/**\n * Resolved links of one .md file (R056), from GET /api/docs/links; null while loading, empty for an unknown file.\n * Refetched on file-changing SSE events. The browser never resolves paths: a clicked link is matched to this data\n * by its raw target string as written in the file (`../b/y.md` without `#h`, `[[DOMAIN_MAP]]` β†’ `DOMAIN_MAP`),\n * looked up in `targets` first, then `broken`.\n */\nexport function useDocLinks(path: string | undefined): DocLinksData | null {\n const { rootParam } = useApp()\n const [data, setData] = useState<{ path: string; links: DocLinksData } | null>(null)\n const gen = useLinkGeneration()\n\n useEffect(() => {\n if (!path) return\n let live = true\n fetchLinkJson<Partial<DocLinksData>>(`/api/docs/links${rootParam}&path=${encodeURIComponent(path)}`)\n .then((d) => {\n if (live) setData({ path, links: { out: d.out ?? [], in: d.in ?? [], broken: d.broken ?? [], stale: d.stale ?? [], targets: d.targets ?? {} } })\n })\n .catch((e) => {\n console.warn(\"Loading doc links failed\", e)\n if (live) setData({ path, links: { out: [], in: [], broken: [], stale: [], targets: {} } })\n })\n return () => { live = false }\n }, [path, rootParam, gen])\n\n // another file's links never show while this one loads\n return path && data?.path === path ? data.links : null\n}\n","import { Bot, User } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\nimport { ownerKind, ownerLabel } from \"@/lib/owner\"\n\n/** Who is in charge: a person icon for \"human\", a bot + agent name for \"ai:<agent>\". Nothing when unset. */\nexport function OwnerChip({ owner, className }: { owner: string | null; className?: string }) {\n const kind = ownerKind(owner)\n if (kind === \"none\") return null\n const Icon = kind === \"ai\" ? Bot : User\n return (\n <span title={`Owner: ${ownerLabel(owner)}`} className={cn(\"inline-flex items-center gap-1 text-[11px] text-muted\", className)}>\n <Icon className={cn(\"size-3.5 shrink-0\", kind === \"ai\" && \"text-accent\")} aria-hidden />\n {ownerLabel(owner)}\n </span>\n )\n}\n","// Who is in charge of a task / epic (R055): `**Owner:** human` or `**Owner:** ai:<agent>`.\n// Pure (no React, no fs). Self-check: `node src/lib/owner.check.mts`.\n\nexport type OwnerKind = \"human\" | \"ai\" | \"none\"\n\nconst KNOWN_AGENTS = [\"claude\", \"cursor\", \"codex\", \"copilot\", \"gemini\", \"windsurf\", \"cline\", \"opencode\"]\n\n/** \"human\" | \"ai:<agent>\" (lowercase), or null for empty / \"β€”\" / anything else. A bare \"ai\" becomes \"ai:agent\". */\nexport function parseOwner(raw: string | null | undefined): string | null {\n const v = (raw ?? \"\").trim().toLowerCase()\n if (v === \"human\") return \"human\"\n const m = v.match(/^ai(?::\\s*([a-z0-9._-]+))?$/)\n return m ? `ai:${m[1] ?? \"agent\"}` : null\n}\n\nexport function ownerKind(owner: string | null): OwnerKind {\n return owner === \"human\" ? \"human\" : owner?.startsWith(\"ai:\") ? \"ai\" : \"none\"\n}\n\n/** \"Human\", \"claude\", \"No owner\". */\nexport function ownerLabel(owner: string | null): string {\n return owner === \"human\" ? \"Human\" : owner?.startsWith(\"ai:\") ? owner.slice(3) : \"No owner\"\n}\n\n/** Agent name from an MCP client's User-Agent (\"claude-code/2.1\" β†’ \"claude\"); \"agent\" when unknown. */\nexport function agentFromUserAgent(ua: string | null | undefined): string {\n const s = (ua ?? \"\").toLowerCase()\n return KNOWN_AGENTS.find((a) => s.includes(a)) ?? \"agent\"\n}\n","// Pure doc link graph (R056, no fs): resolved links between every .md file, derived from text, never stored.\n// Self-check: node src/lib/doc-links.check.mts. Regexes and labels are copied from memory-graph.ts (pure libs\n// never import values from each other), but here relative `./` and `../` targets are resolved.\n\nexport type DocNodeKind = 'doc' | 'adr' | 'task' | 'epic' | 'entry'\n/** `status` / `owner` are set on task and epic nodes by GET /api/docs/graph, never by docNode(). */\nexport type DocNode = { id: string; kind: DocNodeKind; label: string; path: string; status?: string; owner?: string | null }\nexport type LinkKind = 'md' | 'wiki' | 'code' | 'id'\n/** `context`: the sentence around the link (or the heading above it), set only when the link text is just the target. */\nexport type DocLink = { target: string; kind: LinkKind; line: number; text: string; context?: string }\n/** One file as the graph needs it: its node and its raw (unresolved) links. core.ts caches this per file. */\nexport type DocItem = { node: DocNode; links: DocLink[] }\nexport type DocEdge = { from: string; to: string; line: number; text: string; context?: string }\nexport type BrokenLink = { from: string; target: string; line: number; text: string; kind: LinkKind }\n/** Raw link target as written in a file β†’ the file it resolves to (self-links included). Keyed by source path. */\nexport type ResolvedTargets = Record<string, Record<string, string>>\n/** `broken`: md / wiki links that point nowhere. `stale`: backticked paths (`code`) to a file that doesn't exist. */\nexport type DocGraph = { nodes: DocNode[]; edges: DocEdge[]; broken: BrokenLink[]; stale: BrokenLink[]; targets: ResolvedTargets }\n/** `status`: a linked task's or epic's status, set by GET /api/docs/links (as on graph nodes), never by docLinks(). */\nexport type LinkRow = { path: string; kind: string; label: string; line: number; text: string; context?: string; status?: string }\n\n// Upper case only, whole tokens: \"XT0651\", \"e2e\" and \"T0651a\" don't match\nconst ID_RE = /(?<![A-Za-z0-9_-])(E\\d+|T\\d{3,}|R\\d{3,}|ADR-\\d+)(?![A-Za-z0-9_])/g\nconst ID_ONLY_RE = /^(E\\d+|T\\d{3,}|R\\d{3,}|ADR-\\d+)$/\nconst BACKTICK_MD_RE = /`([^`\\s]+\\.md)`/g\nconst LINK_MD_RE = /\\[([^\\]]*)\\]\\(\\s*<?([^)\\s>#]+\\.md)(?:#[^)\\s]*)?>?(?:\\s+\"[^\"]*\"|\\s+'[^']*')?\\s*\\)/g\nconst FENCE_RE = /^\\s*(`{3,}|~{3,})/\nconst INLINE_CODE_RE = /(`+)[^`]*?\\1/g\n\n/** Targets are keyed decoded (`my%20doc.md` β†’ `my doc.md`), as the client looks them up after marked encodes. */\nconst decode = (t: string) => { try { return decodeURI(t) } catch { return t } }\n/** A source line as plain prose: list / heading / checkbox markers, link syntax, code ticks and emphasis removed. */\nconst plainLine = (l: string) => l\n .replace(/^\\s*(?:#{1,6}|>|[-*+]|\\d+\\.)\\s+(?:\\[[ xX]\\]\\s+)?/, '')\n .replace(/\\[\\[([^\\]|#]+)(?:#[^\\]|]*)?(?:\\|([^\\]]+))?\\]\\]/g, (_, a, b) => b ?? a)\n .replace(/\\[([^\\]]*)\\]\\([^)]*\\)/g, '$1')\n .replace(/`|\\*\\*|__/g, '')\n .trim()\n\n/** The sentence of `line` that holds `text`, minus a leading `text:`; the heading above when the line is only the link. */\nfunction linkContext(line: string, text: string, heading: string): string {\n const sentence = plainLine(line).split(/(?<=[.!?])\\s+/).find(s => s.includes(text)) ?? ''\n const rest = (sentence.startsWith(text) ? sentence.slice(text.length).replace(/^[\\s:,;–—-]+/, '') : sentence).trim()\n return (/[A-Za-z]{3}/.test(rest.replace(text, '')) ? rest : heading).slice(0, 200)\n}\n\n/**\n * A target written as a template, never a file: `<slug>`, `{id}`, globs, `…` / `...`, and `T00N` / `NNN` / `XXX` /\n * `YYYY` tokens (`plans/tasks/T<NNN>-<slug>.md`, `docs/meetings/YYYY-MM-DD.md`). Skipped at extraction.\n */\nconst PLACEHOLDER_RE = /[<>{}*?…]|\\.\\.\\.|(?:^|[^A-Za-z0-9])(?:[A-Z]?0+N|N{2,}|X{3,}|YYYY)(?![A-Za-z0-9])/\n/**\n * Names that teach link syntax in specs (`[text](path.md)`, `[[name]]`, `[[wikilinks]]`, `docs/a/x.md`): the whole\n * file name is one of these, or the rest after an item id (`T001-x.md`, `ADR-001-title.md`). Only ever drops a miss,\n * so a real `x.md` still links. Never a `-` part of a longer name: `user-name.md` and `plan-b.md` are real misses.\n * `missing` is deliberately not here: e2e fixtures use it for a real broken link.\n */\nconst EXAMPLE_NAMES = new Set(['a', 'b', 'c', 'x', 'y', 'z', 'path', 'name', 'slug', 'title', 'foo', 'bar', 'wikilinks', 'example'])\nexport function isExampleTarget(target: string): boolean {\n const name = (target.split('/').pop() ?? '').replace(/\\.md$/i, '').replace(/^(?:ADR-\\d+|[TRE]\\d+)-/, '')\n return EXAMPLE_NAMES.has(name.toLowerCase())\n}\n\nconst WIKI_RE = /\\[\\[([^\\]|#]+)(?:#[^\\]|]*)?(?:\\|([^\\]]+))?\\]\\]/g\nconst EXTERNAL_RE = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i\n\nconst pad3 = (n: string) => String(Number(n)).padStart(3, '0')\n\n/** \"E1\" β†’ \"E001\", \"ADR-4\" β†’ \"ADR-004\"; task and roadmap ids are already padded. */\nfunction normalizeId(id: string): string {\n if (id.startsWith('ADR-')) return `ADR-${pad3(id.slice(4))}`\n if (id.startsWith('E')) return `E${pad3(id.slice(1))}`\n return id\n}\n\n/** Posix-normalize: backslashes, `.` and `..` segments, leading `./` or `/`. Escaping above the root β†’ null. */\nfunction normalizePath(p: string): string | null {\n const out: string[] = []\n for (const seg of p.replace(/\\\\/g, '/').split('/')) {\n if (!seg || seg === '.') continue\n if (seg === '..') { if (!out.length) return null; out.pop() } else out.push(seg)\n }\n return out.join('/')\n}\n\nconst dirOf = (p: string) => p.includes('/') ? p.slice(0, p.lastIndexOf('/')) : ''\nconst baseName = (p: string) => (p.split('/').pop() ?? p).replace(/\\.md$/i, '')\n\n/** The item id a file stands for (T093, R056, E001, ADR-004), from its path; null for a plain doc. */\nfunction idOfPath(p: string): string | null {\n const m = /^plans\\/tasks\\/(T\\d{3,})[^/]*\\.md$/.exec(p) ?? /^plans\\/roadmap\\/(R\\d{3,})[^/]*\\.md$/.exec(p)\n ?? /^memory\\/entries\\/(E\\d+)[^/]*\\.md$/.exec(p) ?? /(?:^|\\/)(ADR-\\d+)[^/]*\\.md$/.exec(p)\n return m ? normalizeId(m[1]) : null\n}\n\n/** Inline markdown β†’ plain text for a label: images and links keep their text, emphasis / code marks go. */\nfunction plainText(md: string): string {\n return md\n .replace(/!?\\[([^\\]]*)\\]\\([^)]*\\)/g, '$1')\n .replace(/\\[\\[([^\\]|]+)(?:\\|([^\\]]+))?\\]\\]/g, (_, t: string, alias?: string) => alias ?? t)\n .replace(/(\\*\\*|\\*|~~|`)(\\S(?:.*?\\S)?)\\1/g, '$2')\n .replace(/(^|\\W)(__|_)(\\S(?:.*?\\S)?)\\2(?=\\W|$)/g, '$1$3') // _em_, never snake_case\n .replace(/<[^>]+>/g, '')\n .trim()\n}\n\n/**\n * Classify a markdown file by path. Label = its H1 without the \"ID: \" prefix, else the file name. An H1 that reads as\n * a sentence (ends in . or !, like AGENTS.md's \"See CLAUDE.md β€” this file mirrors it…\") is prose, not a title.\n */\nexport function docNode(relPath: string, raw: string): DocNode {\n const p = normalizePath(relPath) ?? relPath\n const name = baseName(p)\n const heading = plainText(/^#\\s+(.+?)\\s*$/m.exec(raw)?.[1] ?? '')\n const h1 = /[^.][.!]$/.test(heading) ? '' : heading\n const label = (id: string) => h1.replace(new RegExp(`^${id}\\\\s*[:—–-]\\\\s*`), '') || name\n let m: RegExpExecArray | null\n if ((m = /^plans\\/tasks\\/(T\\d{3,})[^/]*\\.md$/.exec(p))) return { id: m[1], kind: 'task', label: label(m[1]), path: p }\n if ((m = /^plans\\/roadmap\\/(R\\d{3,})[^/]*\\.md$/.exec(p))) return { id: m[1], kind: 'epic', label: label(m[1]), path: p }\n if ((m = /^memory\\/entries\\/(E\\d+)[^/]*\\.md$/.exec(p))) return { id: normalizeId(m[1]), kind: 'entry', label: label(m[1]), path: p }\n if ((m = /(?:^|\\/)(ADR-\\d+)[^/]*\\.md$/.exec(p))) return { id: normalizeId(m[1]), kind: 'adr', label: label(m[1]), path: p }\n return { id: p, kind: 'doc', label: h1 || name, path: p }\n}\n\n/**\n * Links in `raw`, in order, with 1-based line numbers. Lines inside ``` / ~~~ fences and external URLs are skipped;\n * md and wiki links inside inline code spans too. Indented code blocks are not detected (nested lists look alike).\n */\nexport function extractLinks(raw: string, _fromPath?: string): DocLink[] {\n const links: DocLink[] = []\n let fence = '' // the opening marker while inside a fence\n let heading = ''\n raw.replace(/\\r\\n/g, '\\n').split('\\n').forEach((l, i) => {\n const f = FENCE_RE.exec(l)?.[1]\n if (f && (!fence || (f[0] === fence[0] && f.length >= fence.length))) { fence = fence ? '' : f; return }\n if (fence) return\n const line = i + 1\n const from = links.length\n const prose = l.replace(INLINE_CODE_RE, m => ' '.repeat(m.length))\n for (const m of prose.matchAll(LINK_MD_RE)) {\n // text from the original line (same offsets): [`code`](x.md) keeps its label\n const text = l.slice(m.index + 1, m.index + 1 + m[1].length)\n if (!EXTERNAL_RE.test(m[2]) && !PLACEHOLDER_RE.test(m[2])) links.push({ target: decode(m[2]), kind: 'md', line, text: text || m[2] })\n }\n for (const m of prose.matchAll(WIKI_RE)) {\n const target = decode(m[1].trim())\n if (target && !EXTERNAL_RE.test(target) && !PLACEHOLDER_RE.test(target)) links.push({ target, kind: 'wiki', line, text: (m[2] ?? target).trim() })\n }\n for (const m of l.matchAll(BACKTICK_MD_RE)) {\n // a glob (`memory/entries/E*.md`) or a template (`E001-<slug>.md`) names a pattern, not a file\n if (!EXTERNAL_RE.test(m[1]) && !PLACEHOLDER_RE.test(m[1])) links.push({ target: decode(m[1]), kind: 'code', line, text: m[1] })\n }\n for (const m of l.matchAll(ID_RE)) {\n if (/^E0+$/.test(m[1])) continue // E0 is not an entry id\n links.push({ target: normalizeId(m[1]), kind: 'id', line, text: m[1] })\n }\n // a bare link (text = target) says nothing by itself: carry the sentence it sits in\n for (const k of links.slice(from)) if (k.text === k.target) {\n const context = linkContext(l, k.text, heading)\n if (context) k.context = context\n }\n if (/^#{1,6}\\s/.test(l)) heading = plainLine(l)\n })\n return links\n}\n\ntype PathIndex = { set: Set<string>; byBase: Map<string, string[]>; byId: Map<string, string> }\nconst indexCache = new WeakMap<readonly string[], PathIndex>()\n\nfunction indexOf(allPaths: readonly string[]): PathIndex {\n let idx = indexCache.get(allPaths)\n if (idx) return idx\n idx = { set: new Set(allPaths), byBase: new Map(), byId: new Map() }\n for (const p of allPaths) {\n const b = baseName(p).toLowerCase()\n idx.byBase.set(b, [...(idx.byBase.get(b) ?? []), p])\n const id = idOfPath(p)\n if (id && !idx.byId.has(id)) idx.byId.set(id, p)\n }\n indexCache.set(allPaths, idx)\n return idx\n}\n\n/** Files named exactly `t` (case-insensitive, `.md` added when missing), anywhere in the repo. */\nfunction bareHits(t: string, idx: PathIndex): string[] {\n const file = (/\\.md$/i.test(t) ? t : `${t}.md`).toLowerCase()\n return (idx.byBase.get(baseName(file)) ?? []).filter(p => (p.split('/').pop() ?? '').toLowerCase() === file)\n}\n\n/**\n * The file a link points at, or null (broken). Paths: relative to the source folder, then root-relative.\n * An explicit `./` or `../` never falls back to the root. Wikilinks: by basename without `.md`, same folder first,\n * then the shortest path; [[T093]] / [[E1]] go to the item's file first. Ids: the item's file.\n * `target` is taken as written, already decoded (extractLinks decodes).\n * `kind` is inferred when left out: an id token β†’ id, no `.md` β†’ wiki, else a path.\n * Paths: a leading `@` (Claude include, `@docs/HLD.md`) is dropped. A backticked bare name (`MEMORY.md`) that is in\n * neither folder resolves when exactly one file in the repo has that name; an md link never does.\n */\nexport function resolveLink(target: string, fromPath: string, allPaths: readonly string[], kind?: LinkKind): string | null {\n const idx = indexOf(allPaths)\n const k = kind ?? (ID_ONLY_RE.test(target) ? 'id' : /\\.md$/i.test(target) ? 'md' : 'wiki')\n if (k === 'id') return idx.byId.get(normalizeId(target)) ?? null\n\n if (k === 'wiki' && ID_ONLY_RE.test(target)) {\n const byId = idx.byId.get(normalizeId(target))\n if (byId) return byId\n }\n const t = k === 'wiki' ? target : target.replace(/^@(?=[^/@])/, '')\n const explicitRel = /^\\.\\.?\\//.test(t)\n const from = normalizePath(fromPath) ?? fromPath\n const tryPath = (p: string) => {\n const cands = [p, /\\.md$/i.test(p) ? null : `${p}.md`].filter((c): c is string => !!c)\n for (const c of cands) {\n const rel = t.startsWith('/') ? null : normalizePath(`${dirOf(from)}/${c}`)\n if (rel !== null && idx.set.has(rel)) return rel\n if (explicitRel) continue\n const abs = normalizePath(c)\n if (abs !== null && idx.set.has(abs)) return abs\n }\n return null\n }\n if (k !== 'wiki') {\n // a link must work as written (it does on GitHub too); a backticked mention only has to name the file\n const hits = k !== 'code' || t.includes('/') ? [] : bareHits(t, idx)\n return tryPath(t) ?? (hits.length === 1 ? hits[0] : null)\n }\n\n // wikilink: an exact path first ([[docs/HLD]]), then by basename\n const exact = t.includes('/') ? tryPath(t) : null\n if (exact) return exact\n const name = baseName(t).toLowerCase()\n const suffix = t.includes('/') ? `/${t.replace(/\\.md$/i, '').toLowerCase()}.md` : null\n const hits = (idx.byBase.get(name) ?? []).filter(p => !suffix || `/${p.toLowerCase()}`.endsWith(suffix))\n if (!hits.length) return null\n const dir = dirOf(from)\n return hits.find(p => dirOf(p) === dir)\n ?? [...hits].sort((a, b) => a.split('/').length - b.split('/').length || a.length - b.length || a.localeCompare(b))[0]\n}\n\n/**\n * Resolve every item's links. One edge per fromβ†’to pair (first line wins), self-links dropped. Misses: md / wiki\n * links β†’ broken, backticked paths β†’ stale (a mention of a moved or planned file, not a link).\n * Not misses: a target that exists among `otherPaths` (files outside the graph, e.g. `.claude/**`; no node, no edge),\n * a backticked bare name several files share (it exists, just not one file), and a syntax example (`isExampleTarget`).\n */\nexport function buildDocGraph(items: DocItem[], otherPaths: readonly string[] = []): DocGraph {\n const allPaths = items.map(i => i.node.path)\n const known = [...allPaths, ...otherPaths]\n const exists = (l: DocLink, from: string) => resolveLink(l.target, from, known, l.kind) !== null\n || (l.kind === 'code' && !l.target.includes('/') && bareHits(l.target, indexOf(known)).length > 0)\n const edges = new Map<string, DocEdge>()\n const broken = new Map<string, BrokenLink>()\n const stale = new Map<string, BrokenLink>()\n const targets: ResolvedTargets = {}\n for (const { node, links } of items) {\n for (const l of links) {\n const to = resolveLink(l.target, node.path, allPaths, l.kind)\n if (to !== null) (targets[node.path] ??= {})[l.target] ??= to\n if (to === node.path) continue\n if (to === null) {\n // an id with no file (T999, a typo) is just text, not a broken link\n if (l.kind === 'id' || isExampleTarget(l.target) || exists(l, node.path)) continue\n const key = `${node.path}\\u0000${l.target}`\n const misses = l.kind === 'code' ? stale : broken\n if (!misses.has(key)) misses.set(key, { from: node.path, target: l.target, line: l.line, text: l.text, kind: l.kind })\n continue\n }\n const key = `${node.path}\\u0000${to}`\n if (!edges.has(key)) edges.set(key, { from: node.path, to, line: l.line, text: l.text, ...(l.context && { context: l.context }) })\n }\n }\n return { nodes: items.map(i => i.node), edges: [...edges.values()], broken: [...broken.values()], stale: [...stale.values()], targets }\n}\n\n/** The kinds /graph shows when its URL names none. */\nexport const GRAPH_DEFAULT_KINDS: readonly DocNodeKind[] = ['doc', 'adr']\n\n/** /graph selected on one file with Focus 1 (\"Show in graph\"); a task, epic or entry also turns its kind on. */\nexport function graphHref(path: string): string {\n const p = new URLSearchParams({ node: path, focus: '1' })\n const kind = docNode(path, '').kind\n if (!GRAPH_DEFAULT_KINDS.includes(kind)) p.set('kinds', [...GRAPH_DEFAULT_KINDS, kind].join(','))\n return `/graph?${p}`\n}\n\nexport type TargetRow = { path: string; kind: DocNodeKind; id: string; label: string }\n\n/**\n * Links out of, into, broken and stale paths in one file; null when the path is not in the graph.\n * `targets` maps each raw target written in the file (`../b/y.md`, `DOMAIN_MAP`, `T093`) to its node, so a client\n * can open a clicked link without resolving paths itself. A target in both `targets` and `broken` resolved.\n */\nexport function docLinks(graph: DocGraph, path: string): { out: LinkRow[]; in: LinkRow[]; broken: LinkRow[]; stale: LinkRow[]; targets: Record<string, TargetRow> } | null {\n const p = normalizePath(path) ?? path\n const byPath = new Map(graph.nodes.map(n => [n.path, n]))\n if (!byPath.has(p)) return null\n const row = (other: string, e: DocEdge): LinkRow => {\n const n = byPath.get(other)\n return { path: other, kind: n?.kind ?? 'doc', label: n?.label ?? baseName(other), line: e.line, text: e.text, ...(e.context && { context: e.context }) }\n }\n const miss = (b: BrokenLink): LinkRow => ({ path: b.target, kind: b.kind, label: b.target, line: b.line, text: b.text })\n return {\n out: graph.edges.filter(e => e.from === p).map(e => row(e.to, e)),\n in: graph.edges.filter(e => e.to === p).map(e => row(e.from, e)),\n broken: graph.broken.filter(b => b.from === p).map(miss),\n stale: graph.stale.filter(b => b.from === p).map(miss),\n targets: Object.fromEntries(Object.entries(graph.targets[p] ?? {}).map(([t, to]) => {\n const n = byPath.get(to)\n return [t, { path: to, kind: n?.kind ?? 'doc', id: n?.id ?? to, label: n?.label ?? baseName(to) }]\n })),\n }\n}\n\n/**\n * Footer for vibedoc_read_doc (T096): the files a doc links to and is linked from, each named so an agent can\n * pass it straight to a tool (tasks, epics, entries, ADRs by id; docs by path). Empty string when no links.\n */\nexport function formatRelatedFiles(links: { out: LinkRow[]; in: LinkRow[]; broken: LinkRow[]; stale?: LinkRow[] } | null, cap = 10): string {\n if (!links) return ''\n const name = (r: LinkRow) => idOfPath(r.path) ?? r.path\n const line = (label: string, items: string[]) => {\n if (!items.length) return []\n const more = items.length > cap ? ` (+${items.length - cap} more)` : ''\n return [`${label}: ${items.slice(0, cap).join(' Β· ')}${more}`]\n }\n const body = [\n ...line('Links to', links.out.map(name)),\n ...line('Linked from', links.in.map(r => `${name(r)} (L${r.line})`)),\n ...line('Broken', links.broken.map(r => `${r.path} (L${r.line})`)),\n ...line('Stale paths', (links.stale ?? []).map(r => `${r.path} (L${r.line})`)),\n ]\n if (!body.length) return ''\n return ['## Related files', ...body, 'Read with vibedoc_read_doc, or several at once with vibedoc_get_context { paths }.'].join('\\n')\n}\n\n/** The parts of an activity event (core's ActivityEvent) that say which file it touched. */\nexport type TouchEvent = { timestamp: string; type: string; title: string; detail?: string; taskId?: string }\nconst TOUCH_ID_RE = /^(?:Entry )?(E\\d+|T\\d{3,}|R\\d{3,}|ADR-\\d+)\\b/\nconst DOC_EVENTS = new Set(['doc_updated', 'doc_created'])\n\n/**\n * Paths of the files an agent or a human changed since `since` (ms), from the activity log (T110 \"Recent\"): task\n * moves and edits (taskId), epics / entries / ADRs (the id leading the title), doc edits and creates (detail = path),\n * a rename's new path and the session handoff (memory/MEMORY.md). Events for files that no longer exist drop out.\n */\nexport function touchedPaths(events: readonly TouchEvent[], nodes: readonly DocNode[], since: number): Set<string> {\n const byKey = new Map<string, string>()\n for (const n of nodes) { byKey.set(n.id, n.path); byKey.set(n.path, n.path) }\n const out = new Set<string>()\n for (const e of events) {\n if (!(Date.parse(e.timestamp) >= since)) continue\n const keys = [e.taskId, TOUCH_ID_RE.exec(e.title)?.[1]]\n if (DOC_EVENTS.has(e.type)) keys.push(e.detail)\n if (e.type === 'doc_renamed') keys.push(e.title.split(' β†’ ')[1])\n if (e.type === 'memory_updated' && !e.title.startsWith('Entry ')) keys.push('memory/MEMORY.md')\n for (const k of keys) {\n const p = k ? byKey.get(k.trim()) : undefined\n if (p) out.add(p)\n }\n }\n return out\n}\n"],"names":["GROUPS","kind","label","KIND_ICON","epic","adr","doc","entry","task","useOpenNode","onOpenEntry","router","openDoc","n","push","id","path","EntryRelated","entryId","rootParam","summary","board","open","graph","setGraph","live","fetch","encodeURIComponent","then","r","json","g","nodes","edges","catch","e","console","warn","tasks","Map","Object","values","flat","map","t","byId","pick","ids","get","filter","linksTo","from","to","linkedFrom","row","undefined","status","Icon","type","onClick","title","className","section","group","length","KNOWN_AGENTS","parseOwner","raw","v","trim","toLowerCase","m","match","ownerKind","owner","startsWith","ownerLabel","slice","agentFromUserAgent","ua","s","find","a","includes","ID_RE","ID_ONLY_RE","BACKTICK_MD_RE","LINK_MD_RE","FENCE_RE","INLINE_CODE_RE","decode","decodeURI","plainLine","l","replace","_","b","linkContext","line","text","heading","sentence","split","rest","test","PLACEHOLDER_RE","EXAMPLE_NAMES","Set","isExampleTarget","target","name","pop","has","WIKI_RE","EXTERNAL_RE","pad3","String","Number","padStart","normalizeId","normalizePath","p","out","seg","join","dirOf","lastIndexOf","baseName","idOfPath","exec","plainText","md","alias","docNode","relPath","h1","RegExp","extractLinks","_fromPath","links","fence","forEach","i","f","prose","repeat","matchAll","index","k","context","indexCache","WeakMap","indexOf","allPaths","idx","set","byBase","bareHits","file","resolveLink","fromPath","explicitRel","tryPath","cands","c","rel","abs","hits","exact","suffix","endsWith","dir","sort","localeCompare","buildDocGraph","items","otherPaths","node","known","exists","broken","stale","targets","key","misses","GRAPH_DEFAULT_KINDS","graphHref","URLSearchParams","focus","docLinks","byPath","other","miss","in","fromEntries","entries","formatRelatedFiles","cap","more","body","TOUCH_ID_RE","DOC_EVENTS","touchedPaths","events","since","byKey","Date","parse","timestamp","keys","taskId","detail","add"],"mappings":"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","ignoreList":[0,1,2,3,4,5]}
@@ -146,6 +146,6 @@ Ways to fix this:
146
146
  - [disable] Remove \`prefetch={true}\` from the <Link> to use the default prefetch
147
147
  - [ignore] Set \`export const instant = false\` to opt the route out of instant-navigation validation
148
148
 
149
- Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`),"__NEXT_ERROR_CODE",{value:"E1435",enumerable:!1,configurable:!0})}},587014,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1179",enumerable:!1,configurable:!0}),this.name="InvariantError"}}},736147,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},36154,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},637115,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},544394,269769,817163,239337,368114,a=>{"use strict";let b,c,d,e,f;var g,h=a.i(662145),i=a.i(147758),j=a.i(443108),k=a.i(174897),l=a.i(54165);let m=[],n=1,o=new Set,p=()=>o.forEach(a=>a()),q=[];function r(a){m=m.filter(b=>b.id!==a),p()}function s(a,b={}){let c=n++;return m=[...m.slice(-2),{id:c,message:a,action:b.action}],p(),setTimeout(()=>r(c),b.durationMs??6e3),c}a.s(["Toaster",0,function(){let a=(0,k.useSyncExternalStore)(a=>(o.add(a),()=>{o.delete(a)}),()=>m,()=>q);return(0,h.jsx)("div",{role:"status","aria-live":"polite",className:"pointer-events-none fixed bottom-4 left-1/2 z-[100] flex -translate-x-1/2 flex-col items-center gap-2",children:a.map(a=>(0,h.jsxs)("div",{className:"pointer-events-auto flex animate-slide-in items-center gap-3 rounded-lg border border-border bg-surface2 py-2 pl-4 pr-2 text-sm text-txt shadow-xl",children:[(0,h.jsx)("span",{children:a.message}),a.action&&(0,h.jsx)("button",{type:"button",onClick:a.action.onClick,className:"rounded-md px-2 py-1 text-xs font-medium text-accent hover:bg-accent/10",children:a.action.label}),(0,h.jsx)("button",{type:"button","aria-label":"Dismiss",onClick:()=>r(a.id),className:"grid size-6 place-items-center rounded-md text-muted hover:text-txt",children:(0,h.jsx)(l.X,{className:"size-3.5"})})]},a.id))})},"toast",0,s,"undoToast",0,function(a,b){let c=s(a,{durationMs:8e3,action:{label:"Undo",onClick:()=>{r(c),b().catch(a=>s(`Undo failed: ${a.message}`))}}})}],269769);var t=a.i(41721),u=a.i(913975);let v={theme:"dark",accentColor:"blue",fontSize:"medium",fontSans:"geist",fontMono:"geist-mono",editor:{autoSave:10,wordWrap:!0,lineNumbers:!0,previewMode:"split"},project:{autoRefresh:10,showHidden:!1},mcp:{endpoint:""}};a.s(["DEFAULT_AGENTS",0,[{id:"code-assistant",name:"Code Assistant",icon:"πŸ€–",description:"General-purpose coding help",skills:["code-review","test-writer"],prompt:"You are a helpful coding assistant. Help the user with their coding tasks.",active:!0},{id:"doc-bot",name:"Documentation Bot",icon:"πŸ“š",description:"Focused on docs and comments",skills:["doc-generator"],prompt:"You are a documentation specialist. Focus on creating and improving documentation.",active:!0}],"DEFAULT_SETTINGS",0,v,"DEFAULT_SKILLS",0,[{id:"code-review",name:"Code Review",description:"Analyzes code for quality, security, and performance issues",trigger:"/review",prompt:"You are an expert code reviewer. Analyze the provided code for:\n- Code quality and best practices\n- Security vulnerabilities\n- Performance issues\n- Maintainability concerns\n\nProvide actionable feedback.",tools:["vibedoc_read_doc","vibedoc_search_docs"],icon:"πŸ”§"},{id:"doc-generator",name:"Documentation Generator",description:"Creates documentation from code and comments",trigger:"/docs",prompt:"You are a technical documentation writer. Generate clear, comprehensive documentation for the provided code or feature.",tools:["vibedoc_read_doc","vibedoc_write_doc"],icon:"πŸ“"},{id:"test-writer",name:"Test Writer",description:"Generates unit tests for functions and components",trigger:"/test",prompt:"You are a testing expert. Write comprehensive unit tests for the provided code, covering edge cases and ensuring good test coverage.",tools:["vibedoc_read_doc","vibedoc_search_docs"],icon:"πŸ§ͺ"}],"MONO_FONTS",0,[{id:"geist-mono",label:"Geist Mono",note:"Pairs with Geist."},{id:"jetbrains-mono",label:"JetBrains Mono",note:"Tall letters, made for code."},{id:"ibm-plex-mono",label:"IBM Plex Mono",note:"Pairs with IBM Plex Sans."},{id:"dm-mono",label:"DM Mono",note:"The previous default."},{id:"system",label:"System",note:"Your OS monospace font."}],"SANS_FONTS",0,[{id:"geist",label:"Geist",note:"Made for developer tools. Clean and neutral."},{id:"inter",label:"Inter",note:"The standard UI font. Very clear at small sizes."},{id:"ibm-plex-sans",label:"IBM Plex Sans",note:"Warm and humanist. Good for long reading."},{id:"atkinson",label:"Atkinson Hyperlegible",note:"Letters are easy to tell apart. Best for legibility."},{id:"dm-sans",label:"DM Sans",note:"Geometric. The previous default."},{id:"system",label:"System",note:"Your OS font. Nothing to download."}],"resolveMcpEndpoint",0,function(a,b){return a&&"http://localhost:3000/api/mcp"!==a?a:`${b}/api/mcp`}],817163);let w=(0,k.createContext)(null);function x(){for(var a,b,c=0,d="",e=arguments.length;c<e;c++)(a=arguments[c])&&(b=function a(b){var c,d,e="";if("string"==typeof b||"number"==typeof b)e+=b;else if("object"==typeof b)if(Array.isArray(b)){var f=b.length;for(c=0;c<f;c++)b[c]&&(d=a(b[c]))&&(e&&(e+=" "),e+=d)}else for(d in b)b[d]&&(e&&(e+=" "),e+=d);return e}(a))&&(d&&(d+=" "),d+=b);return d}a.s(["AppProvider",0,function({children:a}){let b=(0,u.useRouter)(),[c,d]=(0,k.useState)([]),[e,f]=(0,k.useState)(""),[g,l]=(0,k.useState)(null),[m,n]=(0,k.useState)(null),[o,p]=(0,k.useState)([]),[q,r]=(0,k.useState)(!0),[x,y]=(0,k.useState)(!1),[z,A]=(0,k.useState)("connecting"),[B,C]=(0,k.useState)(null),[D,E]=(0,k.useState)(v.editor),[F,G]=(0,k.useState)(0),H=(0,k.useRef)(null),I=e?`?root=${encodeURIComponent(e)}`:"?",J=(0,k.useCallback)(async a=>{let b=a||e;if(!b)return;let c=`?root=${encodeURIComponent(b)}`;try{let[a,b,d,e]=await Promise.all([fetch(`/api/summary${c}`).then(a=>a.json()),fetch(`/api/tasks${c}`).then(a=>a.json()),fetch(`/api/activity${c}&limit=30`).then(a=>a.json()),fetch(`/api/settings${c}&type=settings`).then(a=>a.ok?a.json():null).catch(()=>null)]);(0,j.setStatusDefs)((0,i.statusDefs)(e?.statuses)),l(a);let f=b?.board;n(f&&"object"==typeof f?{todo:f.todo??[],"in-progress":f["in-progress"]??[],review:f.review??[],blocked:f.blocked??[],paused:f.paused??[],done:f.done??[],cancelled:f.cancelled??[]}:null),p(Array.isArray(d)?d:[])}catch(a){console.error("[vibedoc] refresh failed:",a)}r(!1)},[e]);(0,k.useEffect)(()=>{fetch("/api/projects").then(a=>a.json()).then(a=>{d(a),a.length>0?(f(a[0].root),J(a[0].root)):r(!1)}).catch(a=>{console.error("[vibedoc] could not load projects:",a),r(!1)})},[]),(0,k.useEffect)(()=>{if(!e)return;let a=new EventSource("/api/events");return H.current=a,a.onopen=()=>A("live"),a.onerror=()=>A("disconnected"),a.onmessage=a=>{try{let b=JSON.parse(a.data);if("connected"===b.type||(window.dispatchEvent(new CustomEvent("vibedoc:sse",{detail:b})),"chat_saved"===b.type))return;y(!0),setTimeout(()=>y(!1),2e3),["task_updated","task_created","decision_logged","memory_updated","session_start"].includes(b.type)&&J()}catch{}},()=>{a.close(),A("connecting")}},[e,J]);let K=(0,k.useCallback)(async(a,b)=>{let c=()=>n(c=>{let d;if(!c)return c;let e=structuredClone(c);for(let b of Object.keys(e)){let c=e[b].findIndex(b=>b.id===a);-1!==c&&(d={...e[b][c]},e[b]=e[b].filter(b=>b.id!==a))}let f=(0,i.resolveStatus)(b,(0,j.getStatusDefs)()),g=f.status;return d&&(d={...d,status:f.status,customStatus:f.customStatus}),d&&e[g]&&(e[g]=[...e[g],d].sort((a,b)=>a.file<b.file?-1:+(a.file>b.file))),e});"u">typeof document&&"startViewTransition"in document?document.startViewTransition(()=>(0,t.flushSync)(c)):c();try{let c=await fetch(`/api/tasks${I}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:a,status:b,actor:"human"})});c.ok||s(`Could not move ${a}: ${(await c.json().catch(()=>null))?.error??c.status}`)}catch{s(`Could not move ${a}: the server is not reachable`)}J()},[I,J]),L=(0,k.useCallback)(async(a,b)=>{n(c=>{if(!c)return c;let d={...c};for(let c of Object.keys(d))d[c]=d[c].map(c=>c.id===a?{...c,...b,size:b.size??c.size}:c);return d});try{let c=await fetch(`/api/tasks/update${I}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a,patch:b})});if(!c.ok)throw Error((await c.json().catch(()=>null))?.error??`HTTP ${c.status}`)}catch(b){s(`Could not update ${a}: ${b.message}`),J()}},[I,J]),M=(0,k.useCallback)(async a=>{let c=await fetch(`/api/docs${I}&read=${encodeURIComponent(a)}`);C(await c.json()),b.push("/docs")},[I,b]);return(0,h.jsx)(w.Provider,{value:{projects:c,activeProject:e,summary:g,board:m,activity:o,liveIndicator:x,connection:z,loading:q,selectedDoc:B,setSelectedDoc:C,rootParam:I,onProjectChange:function(a){f(a),J(a)},refresh:J,moveTask:K,updateTaskFields:L,openDoc:M,editorSettings:D,setEditorSettings:E,autoRefreshSeconds:F,setAutoRefreshSeconds:G},children:a})},"useApp",0,function(){let a=(0,k.useContext)(w);if(!a)throw Error("useApp must be used inside AppProvider");return a}],544394),a.s(["clsx",0,x],239337);let y=(a=new Map,b=null,c)=>({nextPart:a,validators:b,classGroupId:c}),z=[],A=(a,b,c)=>{if(0==a.length-b)return c.classGroupId;let d=a[b],e=c.nextPart.get(d);if(e){let c=A(a,b+1,e);if(c)return c}let f=c.validators;if(null===f)return;let g=0===b?a.join("-"):a.slice(b).join("-"),h=f.length;for(let a=0;a<h;a++){let b=f[a];if(b.validator(g))return b.classGroupId}},B=(a,b)=>{let c=y();for(let d in a)C(a[d],c,d,b);return c},C=(a,b,c,d)=>{let e=a.length;for(let f=0;f<e;f++)D(a[f],b,c,d)},D=(a,b,c,d)=>{"string"==typeof a?E(a,b,c):"function"==typeof a?F(a,b,c,d):G(a,b,c,d)},E=(a,b,c)=>{(""===a?b:H(b,a)).classGroupId=c},F=(a,b,c,d)=>{I(a)?C(a(d),b,c,d):(null===b.validators&&(b.validators=[]),b.validators.push({classGroupId:c,validator:a}))},G=(a,b,c,d)=>{let e=Object.entries(a),f=e.length;for(let a=0;a<f;a++){let[f,g]=e[a];C(g,H(b,f),c,d)}},H=(a,b)=>{let c=a,d=b.split("-"),e=d.length;for(let a=0;a<e;a++){let b=d[a],e=c.nextPart.get(b);e||(e=y(),c.nextPart.set(b,e)),c=e}return c},I=a=>"isThemeGetter"in a&&!0===a.isThemeGetter,J=[],K=(a,b,c,d,e)=>({modifiers:a,hasImportantModifier:b,baseClassName:c,maybePostfixModifierPosition:d,isExternal:e}),L=/\s+/,M=a=>{let b;if("string"==typeof a)return a;let c="";for(let d=0;d<a.length;d++)a[d]&&(b=M(a[d]))&&(c&&(c+=" "),c+=b);return c},N=[],O=a=>{let b=b=>b[a]||N;return b.isThemeGetter=!0,b.themeKey=a,b},P=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Q=/^\((?:(\w[\w-]*):)?(.+)\)$/i,R=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,S=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,T=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,U=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,V=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,W=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,X=a=>R.test(a),Y=a=>!!a&&!Number.isNaN(Number(a)),Z=a=>!!a&&Number.isInteger(Number(a)),$=a=>a.endsWith("%")&&Y(a.slice(0,-1)),_=a=>S.test(a),aa=()=>!0,ab=a=>T.test(a)&&!U.test(a),ac=()=>!1,ad=a=>V.test(a),ae=a=>W.test(a),af=a=>!ai(a)&&!aq(a),ag=a=>a.startsWith("@container")&&("/"===a[10]&&void 0!==a[11]||"s"===a[11]&&void 0!==a[16]&&a.startsWith("-size/",10)||"n"===a[11]&&void 0!==a[18]&&a.startsWith("-normal/",10)),ah=a=>ay(a,aC,ac),ai=a=>P.test(a),aj=a=>ay(a,aD,ab),ak=a=>ay(a,aE,Y),al=a=>ay(a,aG,aa),am=a=>ay(a,aF,ac),an=a=>ay(a,aA,ac),ao=a=>ay(a,aB,ae),ap=a=>ay(a,aH,ad),aq=a=>Q.test(a),ar=a=>az(a,aD),as=a=>az(a,aF),at=a=>az(a,aA),au=a=>az(a,aC),av=a=>az(a,aB),aw=a=>az(a,aH,!0),ax=a=>az(a,aG,!0),ay=(a,b,c)=>{let d=P.exec(a);return!!d&&(d[1]?b(d[1]):c(d[2]))},az=(a,b,c=!1)=>{let d=Q.exec(a);return!!d&&(d[1]?b(d[1]):c)},aA=a=>"position"===a||"percentage"===a,aB=a=>"image"===a||"url"===a,aC=a=>"length"===a||"size"===a||"bg-size"===a,aD=a=>"length"===a,aE=a=>"number"===a,aF=a=>"family-name"===a,aG=a=>"number"===a||"weight"===a,aH=a=>"shadow"===a,aI=(g=()=>{let a=O("color"),b=O("font"),c=O("text"),d=O("font-weight"),e=O("tracking"),f=O("leading"),g=O("breakpoint"),h=O("container"),i=O("spacing"),j=O("radius"),k=O("shadow"),l=O("inset-shadow"),m=O("text-shadow"),n=O("drop-shadow"),o=O("blur"),p=O("perspective"),q=O("aspect"),r=O("ease"),s=O("animate"),t=()=>["auto","avoid","all","avoid-page","page","left","right","column"],u=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],v=()=>[...u(),aq,ai],w=()=>["auto","hidden","clip","visible","scroll"],x=()=>["auto","contain","none"],y=()=>[aq,ai,i],z=()=>[X,"full","auto",...y()],A=()=>[Z,"none","subgrid",aq,ai],B=()=>["auto",{span:["full",Z,aq,ai]},Z,aq,ai],C=()=>[Z,"auto",aq,ai],D=()=>["auto","min","max","fr",aq,ai],E=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],F=()=>["start","end","center","stretch","center-safe","end-safe"],G=()=>["auto",...y()],H=()=>[X,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...y()],I=()=>[h,X,"screen","full","dvw","lvw","svw","min","max","fit",...y()],J=()=>[X,"screen","full","lh","dvh","lvh","svh","min","max","fit",...y()],K=()=>[a,aq,ai],L=()=>[...u(),at,an,{position:[aq,ai]}],M=()=>["no-repeat",{repeat:["","x","y","space","round"]}],N=()=>["auto","cover","contain",au,ah,{size:[aq,ai]}],P=()=>[$,ar,aj],Q=()=>["","none","full",j,aq,ai],R=()=>["",Y,ar,aj],S=()=>["solid","dashed","dotted","double"],T=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],U=()=>[Y,$,at,an],V=()=>["","none",o,aq,ai],W=()=>["none",Y,aq,ai],ab=()=>["none",Y,aq,ai],ac=()=>[Y,aq,ai],ad=()=>[X,"full",...y()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[_],breakpoint:[_],color:[aa],container:[_],"drop-shadow":[_],ease:["in","out","in-out"],font:[af],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[_],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[_],shadow:[_],spacing:["px",Y],text:[_],"text-shadow":[_],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",X,ai,aq,q]}],container:["container"],"container-type":[{"@container":["","normal","size",aq,ai]}],"container-named":[ag],columns:[{columns:[Y,"auto",ai,aq,h]}],"break-after":[{"break-after":t()}],"break-before":[{"break-before":t()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:v()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:x()}],"overscroll-x":[{"overscroll-x":x()}],"overscroll-y":[{"overscroll-y":x()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:z()}],"inset-x":[{"inset-x":z()}],"inset-y":[{"inset-y":z()}],start:[{"inset-s":z(),start:z()}],end:[{"inset-e":z(),end:z()}],"inset-bs":[{"inset-bs":z()}],"inset-be":[{"inset-be":z()}],top:[{top:z()}],right:[{right:z()}],bottom:[{bottom:z()}],left:[{left:z()}],visibility:["visible","invisible","collapse"],z:[{z:[Z,"auto",aq,ai]}],basis:[{basis:[X,"full","auto",h,...y()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Y,X,"auto","initial","none",ai]}],grow:[{grow:["",Y,aq,ai]}],shrink:[{shrink:["",Y,aq,ai]}],order:[{order:[Z,"first","last","none",aq,ai]}],"grid-cols":[{"grid-cols":A()}],"col-start-end":[{col:B()}],"col-start":[{"col-start":C()}],"col-end":[{"col-end":C()}],"grid-rows":[{"grid-rows":A()}],"row-start-end":[{row:B()}],"row-start":[{"row-start":C()}],"row-end":[{"row-end":C()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":D()}],"auto-rows":[{"auto-rows":D()}],gap:[{gap:y()}],"gap-x":[{"gap-x":y()}],"gap-y":[{"gap-y":y()}],"justify-content":[{justify:[...E(),"normal"]}],"justify-items":[{"justify-items":[...F(),"normal"]}],"justify-self":[{"justify-self":["auto",...F()]}],"align-content":[{content:["normal",...E()]}],"align-items":[{items:[...F(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...F(),{baseline:["","last"]}]}],"place-content":[{"place-content":E()}],"place-items":[{"place-items":[...F(),"baseline"]}],"place-self":[{"place-self":["auto",...F()]}],p:[{p:y()}],px:[{px:y()}],py:[{py:y()}],ps:[{ps:y()}],pe:[{pe:y()}],pbs:[{pbs:y()}],pbe:[{pbe:y()}],pt:[{pt:y()}],pr:[{pr:y()}],pb:[{pb:y()}],pl:[{pl:y()}],m:[{m:G()}],mx:[{mx:G()}],my:[{my:G()}],ms:[{ms:G()}],me:[{me:G()}],mbs:[{mbs:G()}],mbe:[{mbe:G()}],mt:[{mt:G()}],mr:[{mr:G()}],mb:[{mb:G()}],ml:[{ml:G()}],"space-x":[{"space-x":y()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":y()}],"space-y-reverse":["space-y-reverse"],size:[{size:H()}],"inline-size":[{inline:["auto",...I()]}],"min-inline-size":[{"min-inline":["auto",...I()]}],"max-inline-size":[{"max-inline":["none",...I()]}],"block-size":[{block:["auto",...J()]}],"min-block-size":[{"min-block":["auto",...J()]}],"max-block-size":[{"max-block":["none",...J()]}],w:[{w:[h,"screen",...H()]}],"min-w":[{"min-w":[h,"screen","none",...H()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[g]},...H()]}],h:[{h:["screen","lh",...H()]}],"min-h":[{"min-h":["screen","lh","none",...H()]}],"max-h":[{"max-h":["screen","lh","none",...H()]}],"font-size":[{text:["base",c,ar,aj]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[d,ax,al]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",$,ai]}],"font-family":[{font:[as,am,b]}],"font-features":[{"font-features":[ai]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[e,aq,ai]}],"line-clamp":[{"line-clamp":[Y,"none",aq,ak]}],leading:[{leading:["none",f,...y()]}],"list-image":[{"list-image":["none",aq,ai]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",aq,ai]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:K()}],"text-color":[{text:K()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...S(),"wavy"]}],"text-decoration-thickness":[{decoration:[Y,"from-font","auto",aq,aj]}],"text-decoration-color":[{decoration:K()}],"underline-offset":[{"underline-offset":[Y,"auto",aq,ai]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:y()}],"tab-size":[{tab:[Z,aq,ai]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",aq,ai]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",aq,ai]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:L()}],"bg-repeat":[{bg:M()}],"bg-size":[{bg:N()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Z,aq,ai],radial:["",aq,ai],conic:["",Z,aq,ai]},av,ao]}],"bg-color":[{bg:K()}],"gradient-from-pos":[{from:P()}],"gradient-via-pos":[{via:P()}],"gradient-to-pos":[{to:P()}],"gradient-from":[{from:K()}],"gradient-via":[{via:K()}],"gradient-to":[{to:K()}],rounded:[{rounded:Q()}],"rounded-s":[{"rounded-s":Q()}],"rounded-e":[{"rounded-e":Q()}],"rounded-t":[{"rounded-t":Q()}],"rounded-r":[{"rounded-r":Q()}],"rounded-b":[{"rounded-b":Q()}],"rounded-l":[{"rounded-l":Q()}],"rounded-ss":[{"rounded-ss":Q()}],"rounded-se":[{"rounded-se":Q()}],"rounded-ee":[{"rounded-ee":Q()}],"rounded-es":[{"rounded-es":Q()}],"rounded-tl":[{"rounded-tl":Q()}],"rounded-tr":[{"rounded-tr":Q()}],"rounded-br":[{"rounded-br":Q()}],"rounded-bl":[{"rounded-bl":Q()}],"border-w":[{border:R()}],"border-w-x":[{"border-x":R()}],"border-w-y":[{"border-y":R()}],"border-w-s":[{"border-s":R()}],"border-w-e":[{"border-e":R()}],"border-w-bs":[{"border-bs":R()}],"border-w-be":[{"border-be":R()}],"border-w-t":[{"border-t":R()}],"border-w-r":[{"border-r":R()}],"border-w-b":[{"border-b":R()}],"border-w-l":[{"border-l":R()}],"divide-x":[{"divide-x":R()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":R()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...S(),"hidden","none"]}],"divide-style":[{divide:[...S(),"hidden","none"]}],"border-color":[{border:K()}],"border-color-x":[{"border-x":K()}],"border-color-y":[{"border-y":K()}],"border-color-s":[{"border-s":K()}],"border-color-e":[{"border-e":K()}],"border-color-bs":[{"border-bs":K()}],"border-color-be":[{"border-be":K()}],"border-color-t":[{"border-t":K()}],"border-color-r":[{"border-r":K()}],"border-color-b":[{"border-b":K()}],"border-color-l":[{"border-l":K()}],"divide-color":[{divide:K()}],"outline-style":[{outline:[...S(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Y,aq,ai]}],"outline-w":[{outline:["",Y,ar,aj]}],"outline-color":[{outline:K()}],shadow:[{shadow:["","inner","none",k,aw,ap]}],"shadow-color":[{shadow:K()}],"inset-shadow":[{"inset-shadow":["none",l,aw,ap]}],"inset-shadow-color":[{"inset-shadow":K()}],"ring-w":[{ring:R()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:K()}],"ring-offset-w":[{"ring-offset":[Y,aj]}],"ring-offset-color":[{"ring-offset":K()}],"inset-ring-w":[{"inset-ring":R()}],"inset-ring-color":[{"inset-ring":K()}],"text-shadow":[{"text-shadow":["none",m,aw,ap]}],"text-shadow-color":[{"text-shadow":K()}],opacity:[{opacity:[Y,aq,ai]}],"mix-blend":[{"mix-blend":[...T(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":T()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Y]}],"mask-image-linear-from-pos":[{"mask-linear-from":U()}],"mask-image-linear-to-pos":[{"mask-linear-to":U()}],"mask-image-linear-from-color":[{"mask-linear-from":K()}],"mask-image-linear-to-color":[{"mask-linear-to":K()}],"mask-image-t-from-pos":[{"mask-t-from":U()}],"mask-image-t-to-pos":[{"mask-t-to":U()}],"mask-image-t-from-color":[{"mask-t-from":K()}],"mask-image-t-to-color":[{"mask-t-to":K()}],"mask-image-r-from-pos":[{"mask-r-from":U()}],"mask-image-r-to-pos":[{"mask-r-to":U()}],"mask-image-r-from-color":[{"mask-r-from":K()}],"mask-image-r-to-color":[{"mask-r-to":K()}],"mask-image-b-from-pos":[{"mask-b-from":U()}],"mask-image-b-to-pos":[{"mask-b-to":U()}],"mask-image-b-from-color":[{"mask-b-from":K()}],"mask-image-b-to-color":[{"mask-b-to":K()}],"mask-image-l-from-pos":[{"mask-l-from":U()}],"mask-image-l-to-pos":[{"mask-l-to":U()}],"mask-image-l-from-color":[{"mask-l-from":K()}],"mask-image-l-to-color":[{"mask-l-to":K()}],"mask-image-x-from-pos":[{"mask-x-from":U()}],"mask-image-x-to-pos":[{"mask-x-to":U()}],"mask-image-x-from-color":[{"mask-x-from":K()}],"mask-image-x-to-color":[{"mask-x-to":K()}],"mask-image-y-from-pos":[{"mask-y-from":U()}],"mask-image-y-to-pos":[{"mask-y-to":U()}],"mask-image-y-from-color":[{"mask-y-from":K()}],"mask-image-y-to-color":[{"mask-y-to":K()}],"mask-image-radial":[{"mask-radial":[aq,ai]}],"mask-image-radial-from-pos":[{"mask-radial-from":U()}],"mask-image-radial-to-pos":[{"mask-radial-to":U()}],"mask-image-radial-from-color":[{"mask-radial-from":K()}],"mask-image-radial-to-color":[{"mask-radial-to":K()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":u()}],"mask-image-conic-pos":[{"mask-conic":[Y]}],"mask-image-conic-from-pos":[{"mask-conic-from":U()}],"mask-image-conic-to-pos":[{"mask-conic-to":U()}],"mask-image-conic-from-color":[{"mask-conic-from":K()}],"mask-image-conic-to-color":[{"mask-conic-to":K()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:L()}],"mask-repeat":[{mask:M()}],"mask-size":[{mask:N()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",aq,ai]}],filter:[{filter:["","none",aq,ai]}],blur:[{blur:V()}],brightness:[{brightness:[Y,aq,ai]}],contrast:[{contrast:[Y,aq,ai]}],"drop-shadow":[{"drop-shadow":["","none",n,aw,ap]}],"drop-shadow-color":[{"drop-shadow":K()}],grayscale:[{grayscale:["",Y,aq,ai]}],"hue-rotate":[{"hue-rotate":[Y,aq,ai]}],invert:[{invert:["",Y,aq,ai]}],saturate:[{saturate:[Y,aq,ai]}],sepia:[{sepia:["",Y,aq,ai]}],"backdrop-filter":[{"backdrop-filter":["","none",aq,ai]}],"backdrop-blur":[{"backdrop-blur":V()}],"backdrop-brightness":[{"backdrop-brightness":[Y,aq,ai]}],"backdrop-contrast":[{"backdrop-contrast":[Y,aq,ai]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Y,aq,ai]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Y,aq,ai]}],"backdrop-invert":[{"backdrop-invert":["",Y,aq,ai]}],"backdrop-opacity":[{"backdrop-opacity":[Y,aq,ai]}],"backdrop-saturate":[{"backdrop-saturate":[Y,aq,ai]}],"backdrop-sepia":[{"backdrop-sepia":["",Y,aq,ai]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":y()}],"border-spacing-x":[{"border-spacing-x":y()}],"border-spacing-y":[{"border-spacing-y":y()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",aq,ai]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Y,"initial",aq,ai]}],ease:[{ease:["linear","initial",r,aq,ai]}],delay:[{delay:[Y,aq,ai]}],animate:[{animate:["none",s,aq,ai]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,aq,ai]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:W()}],"rotate-x":[{"rotate-x":W()}],"rotate-y":[{"rotate-y":W()}],"rotate-z":[{"rotate-z":W()}],scale:[{scale:ab()}],"scale-x":[{"scale-x":ab()}],"scale-y":[{"scale-y":ab()}],"scale-z":[{"scale-z":ab()}],"scale-3d":["scale-3d"],skew:[{skew:ac()}],"skew-x":[{"skew-x":ac()}],"skew-y":[{"skew-y":ac()}],transform:[{transform:[aq,ai,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ad()}],"translate-x":[{"translate-x":ad()}],"translate-y":[{"translate-y":ad()}],"translate-z":[{"translate-z":ad()}],"translate-none":["translate-none"],zoom:[{zoom:[Z,aq,ai]}],accent:[{accent:K()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:K()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",aq,ai]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":K()}],"scrollbar-track-color":[{"scrollbar-track":K()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":y()}],"scroll-mx":[{"scroll-mx":y()}],"scroll-my":[{"scroll-my":y()}],"scroll-ms":[{"scroll-ms":y()}],"scroll-me":[{"scroll-me":y()}],"scroll-mbs":[{"scroll-mbs":y()}],"scroll-mbe":[{"scroll-mbe":y()}],"scroll-mt":[{"scroll-mt":y()}],"scroll-mr":[{"scroll-mr":y()}],"scroll-mb":[{"scroll-mb":y()}],"scroll-ml":[{"scroll-ml":y()}],"scroll-p":[{"scroll-p":y()}],"scroll-px":[{"scroll-px":y()}],"scroll-py":[{"scroll-py":y()}],"scroll-ps":[{"scroll-ps":y()}],"scroll-pe":[{"scroll-pe":y()}],"scroll-pbs":[{"scroll-pbs":y()}],"scroll-pbe":[{"scroll-pbe":y()}],"scroll-pt":[{"scroll-pt":y()}],"scroll-pr":[{"scroll-pr":y()}],"scroll-pb":[{"scroll-pb":y()}],"scroll-pl":[{"scroll-pl":y()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",aq,ai]}],fill:[{fill:["none",...K()]}],"stroke-w":[{stroke:[Y,ar,aj,ak]}],stroke:[{stroke:["none",...K()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["start","end","right","left"],"inset-y":["inset-bs","inset-be","top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["ps","pe","pr","pl"],py:["pbs","pbe","pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["ms","me","mr","ml"],my:["mbs","mbe","mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-s","border-w-e","border-w-r","border-w-l"],"border-w-y":["border-w-bs","border-w-be","border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-s","border-color-e","border-color-r","border-color-l"],"border-color-y":["border-color-bs","border-color-be","border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-ms","scroll-me","scroll-mr","scroll-ml"],"scroll-my":["scroll-mbs","scroll-mbe","scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-ps","scroll-pe","scroll-pr","scroll-pl"],"scroll-py":["scroll-pbs","scroll-pbe","scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},f=a=>{let e=c(a);if(e)return e;let f=((a,b)=>{let{parseClassName:c,getClassGroupId:d,getConflictingClassGroupIds:e,sortModifiers:f,postfixLookupClassGroupIds:g}=b,h=[],i=a.trim().split(L),j="";for(let a=i.length-1;a>=0;a-=1){let b,k=i[a],{isExternal:l,modifiers:m,hasImportantModifier:n,baseClassName:o,maybePostfixModifierPosition:p}=c(k);if(l){j=k+(j.length>0?" "+j:j);continue}let q=!!p;if(q){let a=(b=d(o.substring(0,p)))&&g[b]?d(o):void 0;a&&a!==b&&(b=a,q=!1)}else b=d(o);if(!b){if(!q||!(b=d(o))){j=k+(j.length>0?" "+j:j);continue}q=!1}let r=0===m.length?"":1===m.length?m[0]:f(m).join(":"),s=n?r+"!":r,t=s+b;if(h.indexOf(t)>-1)continue;h.push(t);let u=e(b,q);for(let a=0;a<u.length;++a){let b=u[a];h.push(s+b)}j=k+(j.length>0?" "+j:j)}return j})(a,b);return d(a,f),f},e=a=>{var h;let i;return c=(b={cache:(a=>{if(a<1)return{get:()=>void 0,set:()=>{}};let b=0,c=Object.create(null),d=Object.create(null),e=(e,f)=>{c[e]=f,++b>a&&(b=0,d=c,c=Object.create(null))};return{get(a){let b=c[a];return void 0!==b?b:void 0!==(b=d[a])?(e(a,b),b):void 0},set(a,b){a in c?c[a]=b:e(a,b)}}})((h=[].reduce((a,b)=>b(a),g())).cacheSize),parseClassName:(a=>{let{prefix:b,experimentalParseClassName:c}=a,d=a=>{let b,c=[],d=0,e=0,f=0,g=a.length;for(let h=0;h<g;h++){let g=a[h];if(0===d&&0===e){if(":"===g){c.push(a.slice(f,h)),f=h+1;continue}if("/"===g){b=h;continue}}"["===g?d++:"]"===g?d--:"("===g?e++:")"===g&&e--}let h=0===c.length?a:a.slice(f),i=h,j=!1;return h.endsWith("!")?(i=h.slice(0,-1),j=!0):h.startsWith("!")&&(i=h.slice(1),j=!0),K(c,j,i,b&&b>f?b-f:void 0)};if(b){let a=b+":",c=d;d=b=>b.startsWith(a)?c(b.slice(a.length)):K(J,!1,b,void 0,!0)}if(c){let a=d;d=b=>c({className:b,parseClassName:a})}return d})(h),sortModifiers:(i=new Map,h.orderSensitiveModifiers.forEach((a,b)=>{i.set(a,1e6+b)}),a=>{let b=[],c=[];for(let d=0;d<a.length;d++){let e=a[d],f="["===e[0],g=i.has(e);f||g?(c.length>0&&(c.sort(),b.push(...c),c=[]),b.push(e)):c.push(e)}return c.length>0&&(c.sort(),b.push(...c)),b}),postfixLookupClassGroupIds:(a=>{let b=Object.create(null),c=a.postfixLookupClassGroups;if(c)for(let a=0;a<c.length;a++)b[c[a]]=!0;return b})(h),...(a=>{let b=(a=>{let{theme:b,classGroups:c}=a;return B(c,b)})(a),{conflictingClassGroups:c,conflictingClassGroupModifiers:d}=a;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]")){var c;let b,d,e;return -1===(c=a).slice(1,-1).indexOf(":")?void 0:(d=(b=c.slice(1,-1)).indexOf(":"),(e=b.slice(0,d))?"arbitrary.."+e:void 0)}let d=a.split("-"),e=+(""===d[0]&&d.length>1);return A(d,e,b)},getConflictingClassGroupIds:(a,b)=>{if(b){let b=d[a],e=c[a];if(b){if(e){let a=Array(e.length+b.length);for(let b=0;b<e.length;b++)a[b]=e[b];for(let c=0;c<b.length;c++)a[e.length+c]=b[c];return a}return b}return e||z}return c[a]||z}}})(h)}).cache.get,d=b.cache.set,e=f,f(a)},(...a)=>e(((...a)=>{let b,c,d=0,e="";for(;d<a.length;)(b=a[d++])&&(c=M(b))&&(e&&(e+=" "),e+=c);return e})(...a)));a.s(["cn",0,function(...a){return aI(x(a))}],368114)},147758,443108,a=>{"use strict";let b=["todo","in-progress","review","blocked","paused","done","cancelled"],c={ready:"todo",planned:"todo","not started":"todo",wip:"in-progress",doing:"in-progress",active:"in-progress",start:"in-progress",started:"in-progress",complete:"done",completed:"done",finished:"done",finish:"done",block:"blocked","on hold":"paused","on-hold":"paused",pause:"paused",hold:"paused","in review":"review",reviewing:"review","needs review":"review",cancel:"cancelled",skip:"cancelled"},d=["gray","amber","accent","red","slate","teal","blue","pink","green","orange"],e=[{id:"todo",label:"Todo",color:"gray",category:"todo"},{id:"in-progress",label:"In progress",color:"amber",category:"in-progress"},{id:"review",label:"Review",color:"accent",category:"review"},{id:"blocked",label:"Blocked",color:"red",category:"blocked"},{id:"paused",label:"Paused",color:"slate",category:"paused"},{id:"done",label:"Done",color:"teal",category:"done"},{id:"cancelled",label:"Cancelled",color:"gray",category:"cancelled"}],f=a=>b.includes(a);function g(a){return/^[a-z0-9][a-z0-9-]{0,39}$/.test(a)?f(a)||a in c||a.replace(/-/g," ")in c?`"${a}" already means a built-in status`:null:"use lowercase letters, digits and dashes"}a.s(["BUILTIN_STATUSES",0,b,"DEFAULT_STATUSES",0,e,"STATUS_COLORS",0,d,"displayStatus",0,a=>a.customStatus??a.status,"invalidStatusId",0,g,"resolveStatus",0,function(a,b=e){let d=a.toLowerCase().replace(/[πŸ“‹πŸ”¨πŸ‘€βœ…πŸš«βŒβΈοΈ]/g,"").trim(),g=c[d]??d;if(f(g))return{status:g};let h=b.find(a=>a.id===g||a.id===g.replace(/\s+/g,"-"));return h&&!f(h.id)?{status:h.category,customStatus:h.id}:{status:"todo",unknown:!0}},"statusDefs",0,function(a){if(!Array.isArray(a))return e;let b=[];for(let c of a){let a="string"==typeof c?.id?c.id.trim().toLowerCase():"";if(!a||b.some(b=>b.id===a))continue;let h=f(a),i=h?a:c?.category;if(!i||!f(i)||!h&&g(a))continue;let j=e.find(b=>b.id===(h?a:i));b.push({id:a,label:"string"==typeof c?.label&&c.label.trim()?c.label.trim():j?.label??a,color:d.includes(c?.color)?c?.color:j?.color??"gray",category:i})}for(let a of e)b.some(b=>b.id===a.id)||b.push(a);return b}],147758);var h=a.i(174897);let i=e,j=new Set;a.s(["getStatusDefs",0,()=>i,"setStatusDefs",0,function(a){JSON.stringify(a)!==JSON.stringify(i)&&(i=a,j.forEach(a=>a()))},"statusDefIn",0,function(a,b){return a.find(a=>a.id===b)??e.find(a=>a.id===b)??e[0]},"useStatusDefs",0,function(){return(0,h.useSyncExternalStore)(a=>(j.add(a),()=>{j.delete(a)}),()=>i,()=>e)}],443108)}];
149
+ Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`),"__NEXT_ERROR_CODE",{value:"E1435",enumerable:!1,configurable:!0})}},587014,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1179",enumerable:!1,configurable:!0}),this.name="InvariantError"}}},736147,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},36154,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},637115,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},544394,269769,817163,a=>{"use strict";var b=a.i(662145),c=a.i(147758),d=a.i(443108),e=a.i(174897),f=a.i(54165);let g=[],h=1,i=new Set,j=()=>i.forEach(a=>a()),k=[];function l(a){g=g.filter(b=>b.id!==a),j()}function m(a,b={}){let c=h++;return g=[...g.slice(-2),{id:c,message:a,action:b.action}],j(),setTimeout(()=>l(c),b.durationMs??6e3),c}a.s(["Toaster",0,function(){let a=(0,e.useSyncExternalStore)(a=>(i.add(a),()=>{i.delete(a)}),()=>g,()=>k);return(0,b.jsx)("div",{role:"status","aria-live":"polite",className:"pointer-events-none fixed bottom-4 left-1/2 z-[100] flex -translate-x-1/2 flex-col items-center gap-2",children:a.map(a=>(0,b.jsxs)("div",{className:"pointer-events-auto flex animate-slide-in items-center gap-3 rounded-lg border border-border bg-surface2 py-2 pl-4 pr-2 text-sm text-txt shadow-xl",children:[(0,b.jsx)("span",{children:a.message}),a.action&&(0,b.jsx)("button",{type:"button",onClick:a.action.onClick,className:"rounded-md px-2 py-1 text-xs font-medium text-accent hover:bg-accent/10",children:a.action.label}),(0,b.jsx)("button",{type:"button","aria-label":"Dismiss",onClick:()=>l(a.id),className:"grid size-6 place-items-center rounded-md text-muted hover:text-txt",children:(0,b.jsx)(f.X,{className:"size-3.5"})})]},a.id))})},"toast",0,m,"undoToast",0,function(a,b){let c=m(a,{durationMs:8e3,action:{label:"Undo",onClick:()=>{l(c),b().catch(a=>m(`Undo failed: ${a.message}`))}}})}],269769);var n=a.i(41721),o=a.i(913975);let p={theme:"dark",accentColor:"blue",fontSize:"medium",fontSans:"geist",fontMono:"geist-mono",editor:{autoSave:10,wordWrap:!0,lineNumbers:!0,previewMode:"split"},project:{autoRefresh:10,showHidden:!1},mcp:{endpoint:""}};a.s(["DEFAULT_AGENTS",0,[{id:"code-assistant",name:"Code Assistant",icon:"πŸ€–",description:"General-purpose coding help",skills:["code-review","test-writer"],prompt:"You are a helpful coding assistant. Help the user with their coding tasks.",active:!0},{id:"doc-bot",name:"Documentation Bot",icon:"πŸ“š",description:"Focused on docs and comments",skills:["doc-generator"],prompt:"You are a documentation specialist. Focus on creating and improving documentation.",active:!0}],"DEFAULT_SETTINGS",0,p,"DEFAULT_SKILLS",0,[{id:"code-review",name:"Code Review",description:"Analyzes code for quality, security, and performance issues",trigger:"/review",prompt:"You are an expert code reviewer. Analyze the provided code for:\n- Code quality and best practices\n- Security vulnerabilities\n- Performance issues\n- Maintainability concerns\n\nProvide actionable feedback.",tools:["vibedoc_read_doc","vibedoc_search_docs"],icon:"πŸ”§"},{id:"doc-generator",name:"Documentation Generator",description:"Creates documentation from code and comments",trigger:"/docs",prompt:"You are a technical documentation writer. Generate clear, comprehensive documentation for the provided code or feature.",tools:["vibedoc_read_doc","vibedoc_write_doc"],icon:"πŸ“"},{id:"test-writer",name:"Test Writer",description:"Generates unit tests for functions and components",trigger:"/test",prompt:"You are a testing expert. Write comprehensive unit tests for the provided code, covering edge cases and ensuring good test coverage.",tools:["vibedoc_read_doc","vibedoc_search_docs"],icon:"πŸ§ͺ"}],"MONO_FONTS",0,[{id:"geist-mono",label:"Geist Mono",note:"Pairs with Geist."},{id:"jetbrains-mono",label:"JetBrains Mono",note:"Tall letters, made for code."},{id:"ibm-plex-mono",label:"IBM Plex Mono",note:"Pairs with IBM Plex Sans."},{id:"dm-mono",label:"DM Mono",note:"The previous default."},{id:"system",label:"System",note:"Your OS monospace font."}],"SANS_FONTS",0,[{id:"geist",label:"Geist",note:"Made for developer tools. Clean and neutral."},{id:"inter",label:"Inter",note:"The standard UI font. Very clear at small sizes."},{id:"ibm-plex-sans",label:"IBM Plex Sans",note:"Warm and humanist. Good for long reading."},{id:"atkinson",label:"Atkinson Hyperlegible",note:"Letters are easy to tell apart. Best for legibility."},{id:"dm-sans",label:"DM Sans",note:"Geometric. The previous default."},{id:"system",label:"System",note:"Your OS font. Nothing to download."}],"resolveMcpEndpoint",0,function(a,b){return a&&"http://localhost:3000/api/mcp"!==a?a:`${b}/api/mcp`}],817163);let q=(0,e.createContext)(null);a.s(["AppProvider",0,function({children:a}){let f=(0,o.useRouter)(),[g,h]=(0,e.useState)([]),[i,j]=(0,e.useState)(""),[k,l]=(0,e.useState)(null),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)([]),[v,w]=(0,e.useState)(!0),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)("connecting"),[B,C]=(0,e.useState)(null),[D,E]=(0,e.useState)(p.editor),[F,G]=(0,e.useState)(0),H=(0,e.useRef)(null),I=i?`?root=${encodeURIComponent(i)}`:"?",J=(0,e.useCallback)(async a=>{let b=a||i;if(!b)return;let e=`?root=${encodeURIComponent(b)}`;try{let[a,b,f,g]=await Promise.all([fetch(`/api/summary${e}`).then(a=>a.json()),fetch(`/api/tasks${e}`).then(a=>a.json()),fetch(`/api/activity${e}&limit=30`).then(a=>a.json()),fetch(`/api/settings${e}&type=settings`).then(a=>a.ok?a.json():null).catch(()=>null)]);(0,d.setStatusDefs)((0,c.statusDefs)(g?.statuses)),l(a);let h=b?.board;s(h&&"object"==typeof h?{todo:h.todo??[],"in-progress":h["in-progress"]??[],review:h.review??[],blocked:h.blocked??[],paused:h.paused??[],done:h.done??[],cancelled:h.cancelled??[]}:null),u(Array.isArray(f)?f:[])}catch(a){console.error("[vibedoc] refresh failed:",a)}w(!1)},[i]);(0,e.useEffect)(()=>{fetch("/api/projects").then(a=>a.json()).then(a=>{h(a),a.length>0?(j(a[0].root),J(a[0].root)):w(!1)}).catch(a=>{console.error("[vibedoc] could not load projects:",a),w(!1)})},[]),(0,e.useEffect)(()=>{if(!i)return;let a=new EventSource("/api/events");return H.current=a,a.onopen=()=>A("live"),a.onerror=()=>A("disconnected"),a.onmessage=a=>{try{let b=JSON.parse(a.data);if("connected"===b.type||(window.dispatchEvent(new CustomEvent("vibedoc:sse",{detail:b})),"chat_saved"===b.type))return;y(!0),setTimeout(()=>y(!1),2e3),["task_updated","task_created","decision_logged","memory_updated","session_start"].includes(b.type)&&J()}catch{}},()=>{a.close(),A("connecting")}},[i,J]);let K=(0,e.useCallback)(async(a,b)=>{let e=()=>s(e=>{let f;if(!e)return e;let g=structuredClone(e);for(let b of Object.keys(g)){let c=g[b].findIndex(b=>b.id===a);-1!==c&&(f={...g[b][c]},g[b]=g[b].filter(b=>b.id!==a))}let h=(0,c.resolveStatus)(b,(0,d.getStatusDefs)()),i=h.status;return f&&(f={...f,status:h.status,customStatus:h.customStatus}),f&&g[i]&&(g[i]=[...g[i],f].sort((a,b)=>a.file<b.file?-1:+(a.file>b.file))),g});"u">typeof document&&"startViewTransition"in document?document.startViewTransition(()=>(0,n.flushSync)(e)):e();try{let c=await fetch(`/api/tasks${I}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:a,status:b,actor:"human"})});c.ok||m(`Could not move ${a}: ${(await c.json().catch(()=>null))?.error??c.status}`)}catch{m(`Could not move ${a}: the server is not reachable`)}J()},[I,J]),L=(0,e.useCallback)(async(a,b)=>{s(c=>{if(!c)return c;let d={...c};for(let c of Object.keys(d))d[c]=d[c].map(c=>c.id===a?{...c,...b,size:b.size??c.size}:c);return d});try{let c=await fetch(`/api/tasks/update${I}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a,patch:b})});if(!c.ok)throw Error((await c.json().catch(()=>null))?.error??`HTTP ${c.status}`)}catch(b){m(`Could not update ${a}: ${b.message}`),J()}},[I,J]),M=(0,e.useCallback)(async(a,b)=>{let c=await fetch(`/api/docs${I}&read=${encodeURIComponent(a)}`);C(await c.json()),f.push(`/docs?doc=${encodeURIComponent(a)}${b?`&link=${encodeURIComponent(b)}`:""}`)},[I,f]);return(0,b.jsx)(q.Provider,{value:{projects:g,activeProject:i,summary:k,board:r,activity:t,liveIndicator:x,connection:z,loading:v,selectedDoc:B,setSelectedDoc:C,rootParam:I,onProjectChange:function(a){j(a),J(a)},refresh:J,moveTask:K,updateTaskFields:L,openDoc:M,editorSettings:D,setEditorSettings:E,autoRefreshSeconds:F,setAutoRefreshSeconds:G},children:a})},"useApp",0,function(){let a=(0,e.useContext)(q);if(!a)throw Error("useApp must be used inside AppProvider");return a}],544394)},147758,443108,a=>{"use strict";let b=["todo","in-progress","review","blocked","paused","done","cancelled"],c={ready:"todo",planned:"todo","not started":"todo",wip:"in-progress",doing:"in-progress",active:"in-progress",start:"in-progress",started:"in-progress",complete:"done",completed:"done",finished:"done",finish:"done",block:"blocked","on hold":"paused","on-hold":"paused",pause:"paused",hold:"paused","in review":"review",reviewing:"review","needs review":"review",cancel:"cancelled",skip:"cancelled"},d=["gray","amber","accent","red","slate","teal","blue","pink","green","orange"],e=[{id:"todo",label:"Todo",color:"gray",category:"todo"},{id:"in-progress",label:"In progress",color:"amber",category:"in-progress"},{id:"review",label:"Review",color:"accent",category:"review"},{id:"blocked",label:"Blocked",color:"red",category:"blocked"},{id:"paused",label:"Paused",color:"slate",category:"paused"},{id:"done",label:"Done",color:"teal",category:"done"},{id:"cancelled",label:"Cancelled",color:"gray",category:"cancelled"}],f=a=>b.includes(a);function g(a){return/^[a-z0-9][a-z0-9-]{0,39}$/.test(a)?f(a)||a in c||a.replace(/-/g," ")in c?`"${a}" already means a built-in status`:null:"use lowercase letters, digits and dashes"}a.s(["BUILTIN_STATUSES",0,b,"DEFAULT_STATUSES",0,e,"STATUS_COLORS",0,d,"displayStatus",0,a=>a.customStatus??a.status,"invalidStatusId",0,g,"resolveStatus",0,function(a,b=e){let d=a.toLowerCase().replace(/[πŸ“‹πŸ”¨πŸ‘€βœ…πŸš«βŒβΈοΈ]/g,"").trim(),g=c[d]??d;if(f(g))return{status:g};let h=b.find(a=>a.id===g||a.id===g.replace(/\s+/g,"-"));return h&&!f(h.id)?{status:h.category,customStatus:h.id}:{status:"todo",unknown:!0}},"statusDefs",0,function(a){if(!Array.isArray(a))return e;let b=[];for(let c of a){let a="string"==typeof c?.id?c.id.trim().toLowerCase():"";if(!a||b.some(b=>b.id===a))continue;let h=f(a),i=h?a:c?.category;if(!i||!f(i)||!h&&g(a))continue;let j=e.find(b=>b.id===(h?a:i));b.push({id:a,label:"string"==typeof c?.label&&c.label.trim()?c.label.trim():j?.label??a,color:d.includes(c?.color)?c?.color:j?.color??"gray",category:i})}for(let a of e)b.some(b=>b.id===a.id)||b.push(a);return b}],147758);var h=a.i(174897);let i=e,j=new Set;a.s(["getStatusDefs",0,()=>i,"setStatusDefs",0,function(a){JSON.stringify(a)!==JSON.stringify(i)&&(i=a,j.forEach(a=>a()))},"statusDefIn",0,function(a,b){return a.find(a=>a.id===b)??e.find(a=>a.id===b)??e[0]},"useStatusDefs",0,function(){return(0,h.useSyncExternalStore)(a=>(j.add(a),()=>{j.delete(a)}),()=>i,()=>e)}],443108)},368114,239337,a=>{"use strict";var b;let c,d,e,f,g;function h(){for(var a,b,c=0,d="",e=arguments.length;c<e;c++)(a=arguments[c])&&(b=function a(b){var c,d,e="";if("string"==typeof b||"number"==typeof b)e+=b;else if("object"==typeof b)if(Array.isArray(b)){var f=b.length;for(c=0;c<f;c++)b[c]&&(d=a(b[c]))&&(e&&(e+=" "),e+=d)}else for(d in b)b[d]&&(e&&(e+=" "),e+=d);return e}(a))&&(d&&(d+=" "),d+=b);return d}a.s(["clsx",0,h],239337);let i=(a=new Map,b=null,c)=>({nextPart:a,validators:b,classGroupId:c}),j=[],k=(a,b,c)=>{if(0==a.length-b)return c.classGroupId;let d=a[b],e=c.nextPart.get(d);if(e){let c=k(a,b+1,e);if(c)return c}let f=c.validators;if(null===f)return;let g=0===b?a.join("-"):a.slice(b).join("-"),h=f.length;for(let a=0;a<h;a++){let b=f[a];if(b.validator(g))return b.classGroupId}},l=(a,b)=>{let c=i();for(let d in a)m(a[d],c,d,b);return c},m=(a,b,c,d)=>{let e=a.length;for(let f=0;f<e;f++)n(a[f],b,c,d)},n=(a,b,c,d)=>{"string"==typeof a?o(a,b,c):"function"==typeof a?p(a,b,c,d):q(a,b,c,d)},o=(a,b,c)=>{(""===a?b:r(b,a)).classGroupId=c},p=(a,b,c,d)=>{s(a)?m(a(d),b,c,d):(null===b.validators&&(b.validators=[]),b.validators.push({classGroupId:c,validator:a}))},q=(a,b,c,d)=>{let e=Object.entries(a),f=e.length;for(let a=0;a<f;a++){let[f,g]=e[a];m(g,r(b,f),c,d)}},r=(a,b)=>{let c=a,d=b.split("-"),e=d.length;for(let a=0;a<e;a++){let b=d[a],e=c.nextPart.get(b);e||(e=i(),c.nextPart.set(b,e)),c=e}return c},s=a=>"isThemeGetter"in a&&!0===a.isThemeGetter,t=[],u=(a,b,c,d,e)=>({modifiers:a,hasImportantModifier:b,baseClassName:c,maybePostfixModifierPosition:d,isExternal:e}),v=/\s+/,w=a=>{let b;if("string"==typeof a)return a;let c="";for(let d=0;d<a.length;d++)a[d]&&(b=w(a[d]))&&(c&&(c+=" "),c+=b);return c},x=[],y=a=>{let b=b=>b[a]||x;return b.isThemeGetter=!0,b.themeKey=a,b},z=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,A=/^\((?:(\w[\w-]*):)?(.+)\)$/i,B=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,C=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,D=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,E=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,F=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,G=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,H=a=>B.test(a),I=a=>!!a&&!Number.isNaN(Number(a)),J=a=>!!a&&Number.isInteger(Number(a)),K=a=>a.endsWith("%")&&I(a.slice(0,-1)),L=a=>C.test(a),M=()=>!0,N=a=>D.test(a)&&!E.test(a),O=()=>!1,P=a=>F.test(a),Q=a=>G.test(a),R=a=>!U(a)&&!aa(a),S=a=>a.startsWith("@container")&&("/"===a[10]&&void 0!==a[11]||"s"===a[11]&&void 0!==a[16]&&a.startsWith("-size/",10)||"n"===a[11]&&void 0!==a[18]&&a.startsWith("-normal/",10)),T=a=>ai(a,am,O),U=a=>z.test(a),V=a=>ai(a,an,N),W=a=>ai(a,ao,I),X=a=>ai(a,aq,M),Y=a=>ai(a,ap,O),Z=a=>ai(a,ak,O),$=a=>ai(a,al,Q),_=a=>ai(a,ar,P),aa=a=>A.test(a),ab=a=>aj(a,an),ac=a=>aj(a,ap),ad=a=>aj(a,ak),ae=a=>aj(a,am),af=a=>aj(a,al),ag=a=>aj(a,ar,!0),ah=a=>aj(a,aq,!0),ai=(a,b,c)=>{let d=z.exec(a);return!!d&&(d[1]?b(d[1]):c(d[2]))},aj=(a,b,c=!1)=>{let d=A.exec(a);return!!d&&(d[1]?b(d[1]):c)},ak=a=>"position"===a||"percentage"===a,al=a=>"image"===a||"url"===a,am=a=>"length"===a||"size"===a||"bg-size"===a,an=a=>"length"===a,ao=a=>"number"===a,ap=a=>"family-name"===a,aq=a=>"number"===a||"weight"===a,ar=a=>"shadow"===a,as=(b=()=>{let a=y("color"),b=y("font"),c=y("text"),d=y("font-weight"),e=y("tracking"),f=y("leading"),g=y("breakpoint"),h=y("container"),i=y("spacing"),j=y("radius"),k=y("shadow"),l=y("inset-shadow"),m=y("text-shadow"),n=y("drop-shadow"),o=y("blur"),p=y("perspective"),q=y("aspect"),r=y("ease"),s=y("animate"),t=()=>["auto","avoid","all","avoid-page","page","left","right","column"],u=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],v=()=>[...u(),aa,U],w=()=>["auto","hidden","clip","visible","scroll"],x=()=>["auto","contain","none"],z=()=>[aa,U,i],A=()=>[H,"full","auto",...z()],B=()=>[J,"none","subgrid",aa,U],C=()=>["auto",{span:["full",J,aa,U]},J,aa,U],D=()=>[J,"auto",aa,U],E=()=>["auto","min","max","fr",aa,U],F=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],G=()=>["start","end","center","stretch","center-safe","end-safe"],N=()=>["auto",...z()],O=()=>[H,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...z()],P=()=>[h,H,"screen","full","dvw","lvw","svw","min","max","fit",...z()],Q=()=>[H,"screen","full","lh","dvh","lvh","svh","min","max","fit",...z()],ai=()=>[a,aa,U],aj=()=>[...u(),ad,Z,{position:[aa,U]}],ak=()=>["no-repeat",{repeat:["","x","y","space","round"]}],al=()=>["auto","cover","contain",ae,T,{size:[aa,U]}],am=()=>[K,ab,V],an=()=>["","none","full",j,aa,U],ao=()=>["",I,ab,V],ap=()=>["solid","dashed","dotted","double"],aq=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ar=()=>[I,K,ad,Z],as=()=>["","none",o,aa,U],at=()=>["none",I,aa,U],au=()=>["none",I,aa,U],av=()=>[I,aa,U],aw=()=>[H,"full",...z()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[L],breakpoint:[L],color:[M],container:[L],"drop-shadow":[L],ease:["in","out","in-out"],font:[R],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[L],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[L],shadow:[L],spacing:["px",I],text:[L],"text-shadow":[L],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",H,U,aa,q]}],container:["container"],"container-type":[{"@container":["","normal","size",aa,U]}],"container-named":[S],columns:[{columns:[I,"auto",U,aa,h]}],"break-after":[{"break-after":t()}],"break-before":[{"break-before":t()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:v()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:x()}],"overscroll-x":[{"overscroll-x":x()}],"overscroll-y":[{"overscroll-y":x()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[J,"auto",aa,U]}],basis:[{basis:[H,"full","auto",h,...z()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[I,H,"auto","initial","none",U]}],grow:[{grow:["",I,aa,U]}],shrink:[{shrink:["",I,aa,U]}],order:[{order:[J,"first","last","none",aa,U]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:C()}],"col-start":[{"col-start":D()}],"col-end":[{"col-end":D()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:C()}],"row-start":[{"row-start":D()}],"row-end":[{"row-end":D()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":E()}],"auto-rows":[{"auto-rows":E()}],gap:[{gap:z()}],"gap-x":[{"gap-x":z()}],"gap-y":[{"gap-y":z()}],"justify-content":[{justify:[...F(),"normal"]}],"justify-items":[{"justify-items":[...G(),"normal"]}],"justify-self":[{"justify-self":["auto",...G()]}],"align-content":[{content:["normal",...F()]}],"align-items":[{items:[...G(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...G(),{baseline:["","last"]}]}],"place-content":[{"place-content":F()}],"place-items":[{"place-items":[...G(),"baseline"]}],"place-self":[{"place-self":["auto",...G()]}],p:[{p:z()}],px:[{px:z()}],py:[{py:z()}],ps:[{ps:z()}],pe:[{pe:z()}],pbs:[{pbs:z()}],pbe:[{pbe:z()}],pt:[{pt:z()}],pr:[{pr:z()}],pb:[{pb:z()}],pl:[{pl:z()}],m:[{m:N()}],mx:[{mx:N()}],my:[{my:N()}],ms:[{ms:N()}],me:[{me:N()}],mbs:[{mbs:N()}],mbe:[{mbe:N()}],mt:[{mt:N()}],mr:[{mr:N()}],mb:[{mb:N()}],ml:[{ml:N()}],"space-x":[{"space-x":z()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":z()}],"space-y-reverse":["space-y-reverse"],size:[{size:O()}],"inline-size":[{inline:["auto",...P()]}],"min-inline-size":[{"min-inline":["auto",...P()]}],"max-inline-size":[{"max-inline":["none",...P()]}],"block-size":[{block:["auto",...Q()]}],"min-block-size":[{"min-block":["auto",...Q()]}],"max-block-size":[{"max-block":["none",...Q()]}],w:[{w:[h,"screen",...O()]}],"min-w":[{"min-w":[h,"screen","none",...O()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[g]},...O()]}],h:[{h:["screen","lh",...O()]}],"min-h":[{"min-h":["screen","lh","none",...O()]}],"max-h":[{"max-h":["screen","lh","none",...O()]}],"font-size":[{text:["base",c,ab,V]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[d,ah,X]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",K,U]}],"font-family":[{font:[ac,Y,b]}],"font-features":[{"font-features":[U]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[e,aa,U]}],"line-clamp":[{"line-clamp":[I,"none",aa,W]}],leading:[{leading:["none",f,...z()]}],"list-image":[{"list-image":["none",aa,U]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",aa,U]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ai()}],"text-color":[{text:ai()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ap(),"wavy"]}],"text-decoration-thickness":[{decoration:[I,"from-font","auto",aa,V]}],"text-decoration-color":[{decoration:ai()}],"underline-offset":[{"underline-offset":[I,"auto",aa,U]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:z()}],"tab-size":[{tab:[J,aa,U]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",aa,U]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",aa,U]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:aj()}],"bg-repeat":[{bg:ak()}],"bg-size":[{bg:al()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},J,aa,U],radial:["",aa,U],conic:["",J,aa,U]},af,$]}],"bg-color":[{bg:ai()}],"gradient-from-pos":[{from:am()}],"gradient-via-pos":[{via:am()}],"gradient-to-pos":[{to:am()}],"gradient-from":[{from:ai()}],"gradient-via":[{via:ai()}],"gradient-to":[{to:ai()}],rounded:[{rounded:an()}],"rounded-s":[{"rounded-s":an()}],"rounded-e":[{"rounded-e":an()}],"rounded-t":[{"rounded-t":an()}],"rounded-r":[{"rounded-r":an()}],"rounded-b":[{"rounded-b":an()}],"rounded-l":[{"rounded-l":an()}],"rounded-ss":[{"rounded-ss":an()}],"rounded-se":[{"rounded-se":an()}],"rounded-ee":[{"rounded-ee":an()}],"rounded-es":[{"rounded-es":an()}],"rounded-tl":[{"rounded-tl":an()}],"rounded-tr":[{"rounded-tr":an()}],"rounded-br":[{"rounded-br":an()}],"rounded-bl":[{"rounded-bl":an()}],"border-w":[{border:ao()}],"border-w-x":[{"border-x":ao()}],"border-w-y":[{"border-y":ao()}],"border-w-s":[{"border-s":ao()}],"border-w-e":[{"border-e":ao()}],"border-w-bs":[{"border-bs":ao()}],"border-w-be":[{"border-be":ao()}],"border-w-t":[{"border-t":ao()}],"border-w-r":[{"border-r":ao()}],"border-w-b":[{"border-b":ao()}],"border-w-l":[{"border-l":ao()}],"divide-x":[{"divide-x":ao()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ao()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ap(),"hidden","none"]}],"divide-style":[{divide:[...ap(),"hidden","none"]}],"border-color":[{border:ai()}],"border-color-x":[{"border-x":ai()}],"border-color-y":[{"border-y":ai()}],"border-color-s":[{"border-s":ai()}],"border-color-e":[{"border-e":ai()}],"border-color-bs":[{"border-bs":ai()}],"border-color-be":[{"border-be":ai()}],"border-color-t":[{"border-t":ai()}],"border-color-r":[{"border-r":ai()}],"border-color-b":[{"border-b":ai()}],"border-color-l":[{"border-l":ai()}],"divide-color":[{divide:ai()}],"outline-style":[{outline:[...ap(),"none","hidden"]}],"outline-offset":[{"outline-offset":[I,aa,U]}],"outline-w":[{outline:["",I,ab,V]}],"outline-color":[{outline:ai()}],shadow:[{shadow:["","inner","none",k,ag,_]}],"shadow-color":[{shadow:ai()}],"inset-shadow":[{"inset-shadow":["none",l,ag,_]}],"inset-shadow-color":[{"inset-shadow":ai()}],"ring-w":[{ring:ao()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ai()}],"ring-offset-w":[{"ring-offset":[I,V]}],"ring-offset-color":[{"ring-offset":ai()}],"inset-ring-w":[{"inset-ring":ao()}],"inset-ring-color":[{"inset-ring":ai()}],"text-shadow":[{"text-shadow":["none",m,ag,_]}],"text-shadow-color":[{"text-shadow":ai()}],opacity:[{opacity:[I,aa,U]}],"mix-blend":[{"mix-blend":[...aq(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":aq()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[I]}],"mask-image-linear-from-pos":[{"mask-linear-from":ar()}],"mask-image-linear-to-pos":[{"mask-linear-to":ar()}],"mask-image-linear-from-color":[{"mask-linear-from":ai()}],"mask-image-linear-to-color":[{"mask-linear-to":ai()}],"mask-image-t-from-pos":[{"mask-t-from":ar()}],"mask-image-t-to-pos":[{"mask-t-to":ar()}],"mask-image-t-from-color":[{"mask-t-from":ai()}],"mask-image-t-to-color":[{"mask-t-to":ai()}],"mask-image-r-from-pos":[{"mask-r-from":ar()}],"mask-image-r-to-pos":[{"mask-r-to":ar()}],"mask-image-r-from-color":[{"mask-r-from":ai()}],"mask-image-r-to-color":[{"mask-r-to":ai()}],"mask-image-b-from-pos":[{"mask-b-from":ar()}],"mask-image-b-to-pos":[{"mask-b-to":ar()}],"mask-image-b-from-color":[{"mask-b-from":ai()}],"mask-image-b-to-color":[{"mask-b-to":ai()}],"mask-image-l-from-pos":[{"mask-l-from":ar()}],"mask-image-l-to-pos":[{"mask-l-to":ar()}],"mask-image-l-from-color":[{"mask-l-from":ai()}],"mask-image-l-to-color":[{"mask-l-to":ai()}],"mask-image-x-from-pos":[{"mask-x-from":ar()}],"mask-image-x-to-pos":[{"mask-x-to":ar()}],"mask-image-x-from-color":[{"mask-x-from":ai()}],"mask-image-x-to-color":[{"mask-x-to":ai()}],"mask-image-y-from-pos":[{"mask-y-from":ar()}],"mask-image-y-to-pos":[{"mask-y-to":ar()}],"mask-image-y-from-color":[{"mask-y-from":ai()}],"mask-image-y-to-color":[{"mask-y-to":ai()}],"mask-image-radial":[{"mask-radial":[aa,U]}],"mask-image-radial-from-pos":[{"mask-radial-from":ar()}],"mask-image-radial-to-pos":[{"mask-radial-to":ar()}],"mask-image-radial-from-color":[{"mask-radial-from":ai()}],"mask-image-radial-to-color":[{"mask-radial-to":ai()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":u()}],"mask-image-conic-pos":[{"mask-conic":[I]}],"mask-image-conic-from-pos":[{"mask-conic-from":ar()}],"mask-image-conic-to-pos":[{"mask-conic-to":ar()}],"mask-image-conic-from-color":[{"mask-conic-from":ai()}],"mask-image-conic-to-color":[{"mask-conic-to":ai()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:aj()}],"mask-repeat":[{mask:ak()}],"mask-size":[{mask:al()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",aa,U]}],filter:[{filter:["","none",aa,U]}],blur:[{blur:as()}],brightness:[{brightness:[I,aa,U]}],contrast:[{contrast:[I,aa,U]}],"drop-shadow":[{"drop-shadow":["","none",n,ag,_]}],"drop-shadow-color":[{"drop-shadow":ai()}],grayscale:[{grayscale:["",I,aa,U]}],"hue-rotate":[{"hue-rotate":[I,aa,U]}],invert:[{invert:["",I,aa,U]}],saturate:[{saturate:[I,aa,U]}],sepia:[{sepia:["",I,aa,U]}],"backdrop-filter":[{"backdrop-filter":["","none",aa,U]}],"backdrop-blur":[{"backdrop-blur":as()}],"backdrop-brightness":[{"backdrop-brightness":[I,aa,U]}],"backdrop-contrast":[{"backdrop-contrast":[I,aa,U]}],"backdrop-grayscale":[{"backdrop-grayscale":["",I,aa,U]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[I,aa,U]}],"backdrop-invert":[{"backdrop-invert":["",I,aa,U]}],"backdrop-opacity":[{"backdrop-opacity":[I,aa,U]}],"backdrop-saturate":[{"backdrop-saturate":[I,aa,U]}],"backdrop-sepia":[{"backdrop-sepia":["",I,aa,U]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":z()}],"border-spacing-x":[{"border-spacing-x":z()}],"border-spacing-y":[{"border-spacing-y":z()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",aa,U]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[I,"initial",aa,U]}],ease:[{ease:["linear","initial",r,aa,U]}],delay:[{delay:[I,aa,U]}],animate:[{animate:["none",s,aa,U]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,aa,U]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:at()}],"rotate-x":[{"rotate-x":at()}],"rotate-y":[{"rotate-y":at()}],"rotate-z":[{"rotate-z":at()}],scale:[{scale:au()}],"scale-x":[{"scale-x":au()}],"scale-y":[{"scale-y":au()}],"scale-z":[{"scale-z":au()}],"scale-3d":["scale-3d"],skew:[{skew:av()}],"skew-x":[{"skew-x":av()}],"skew-y":[{"skew-y":av()}],transform:[{transform:[aa,U,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:aw()}],"translate-x":[{"translate-x":aw()}],"translate-y":[{"translate-y":aw()}],"translate-z":[{"translate-z":aw()}],"translate-none":["translate-none"],zoom:[{zoom:[J,aa,U]}],accent:[{accent:ai()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ai()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",aa,U]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":ai()}],"scrollbar-track-color":[{"scrollbar-track":ai()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":z()}],"scroll-mx":[{"scroll-mx":z()}],"scroll-my":[{"scroll-my":z()}],"scroll-ms":[{"scroll-ms":z()}],"scroll-me":[{"scroll-me":z()}],"scroll-mbs":[{"scroll-mbs":z()}],"scroll-mbe":[{"scroll-mbe":z()}],"scroll-mt":[{"scroll-mt":z()}],"scroll-mr":[{"scroll-mr":z()}],"scroll-mb":[{"scroll-mb":z()}],"scroll-ml":[{"scroll-ml":z()}],"scroll-p":[{"scroll-p":z()}],"scroll-px":[{"scroll-px":z()}],"scroll-py":[{"scroll-py":z()}],"scroll-ps":[{"scroll-ps":z()}],"scroll-pe":[{"scroll-pe":z()}],"scroll-pbs":[{"scroll-pbs":z()}],"scroll-pbe":[{"scroll-pbe":z()}],"scroll-pt":[{"scroll-pt":z()}],"scroll-pr":[{"scroll-pr":z()}],"scroll-pb":[{"scroll-pb":z()}],"scroll-pl":[{"scroll-pl":z()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",aa,U]}],fill:[{fill:["none",...ai()]}],"stroke-w":[{stroke:[I,ab,V,W]}],stroke:[{stroke:["none",...ai()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["start","end","right","left"],"inset-y":["inset-bs","inset-be","top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["ps","pe","pr","pl"],py:["pbs","pbe","pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["ms","me","mr","ml"],my:["mbs","mbe","mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-s","border-w-e","border-w-r","border-w-l"],"border-w-y":["border-w-bs","border-w-be","border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-s","border-color-e","border-color-r","border-color-l"],"border-color-y":["border-color-bs","border-color-be","border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-ms","scroll-me","scroll-mr","scroll-ml"],"scroll-my":["scroll-mbs","scroll-mbe","scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-ps","scroll-pe","scroll-pr","scroll-pl"],"scroll-py":["scroll-pbs","scroll-pbe","scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},g=a=>{let b=d(a);if(b)return b;let f=((a,b)=>{let{parseClassName:c,getClassGroupId:d,getConflictingClassGroupIds:e,sortModifiers:f,postfixLookupClassGroupIds:g}=b,h=[],i=a.trim().split(v),j="";for(let a=i.length-1;a>=0;a-=1){let b,k=i[a],{isExternal:l,modifiers:m,hasImportantModifier:n,baseClassName:o,maybePostfixModifierPosition:p}=c(k);if(l){j=k+(j.length>0?" "+j:j);continue}let q=!!p;if(q){let a=(b=d(o.substring(0,p)))&&g[b]?d(o):void 0;a&&a!==b&&(b=a,q=!1)}else b=d(o);if(!b){if(!q||!(b=d(o))){j=k+(j.length>0?" "+j:j);continue}q=!1}let r=0===m.length?"":1===m.length?m[0]:f(m).join(":"),s=n?r+"!":r,t=s+b;if(h.indexOf(t)>-1)continue;h.push(t);let u=e(b,q);for(let a=0;a<u.length;++a){let b=u[a];h.push(s+b)}j=k+(j.length>0?" "+j:j)}return j})(a,c);return e(a,f),f},f=a=>{var h;let i;return d=(c={cache:(a=>{if(a<1)return{get:()=>void 0,set:()=>{}};let b=0,c=Object.create(null),d=Object.create(null),e=(e,f)=>{c[e]=f,++b>a&&(b=0,d=c,c=Object.create(null))};return{get(a){let b=c[a];return void 0!==b?b:void 0!==(b=d[a])?(e(a,b),b):void 0},set(a,b){a in c?c[a]=b:e(a,b)}}})((h=[].reduce((a,b)=>b(a),b())).cacheSize),parseClassName:(a=>{let{prefix:b,experimentalParseClassName:c}=a,d=a=>{let b,c=[],d=0,e=0,f=0,g=a.length;for(let h=0;h<g;h++){let g=a[h];if(0===d&&0===e){if(":"===g){c.push(a.slice(f,h)),f=h+1;continue}if("/"===g){b=h;continue}}"["===g?d++:"]"===g?d--:"("===g?e++:")"===g&&e--}let h=0===c.length?a:a.slice(f),i=h,j=!1;return h.endsWith("!")?(i=h.slice(0,-1),j=!0):h.startsWith("!")&&(i=h.slice(1),j=!0),u(c,j,i,b&&b>f?b-f:void 0)};if(b){let a=b+":",c=d;d=b=>b.startsWith(a)?c(b.slice(a.length)):u(t,!1,b,void 0,!0)}if(c){let a=d;d=b=>c({className:b,parseClassName:a})}return d})(h),sortModifiers:(i=new Map,h.orderSensitiveModifiers.forEach((a,b)=>{i.set(a,1e6+b)}),a=>{let b=[],c=[];for(let d=0;d<a.length;d++){let e=a[d],f="["===e[0],g=i.has(e);f||g?(c.length>0&&(c.sort(),b.push(...c),c=[]),b.push(e)):c.push(e)}return c.length>0&&(c.sort(),b.push(...c)),b}),postfixLookupClassGroupIds:(a=>{let b=Object.create(null),c=a.postfixLookupClassGroups;if(c)for(let a=0;a<c.length;a++)b[c[a]]=!0;return b})(h),...(a=>{let b=(a=>{let{theme:b,classGroups:c}=a;return l(c,b)})(a),{conflictingClassGroups:c,conflictingClassGroupModifiers:d}=a;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]")){var c;let b,d,e;return -1===(c=a).slice(1,-1).indexOf(":")?void 0:(d=(b=c.slice(1,-1)).indexOf(":"),(e=b.slice(0,d))?"arbitrary.."+e:void 0)}let d=a.split("-"),e=+(""===d[0]&&d.length>1);return k(d,e,b)},getConflictingClassGroupIds:(a,b)=>{if(b){let b=d[a],e=c[a];if(b){if(e){let a=Array(e.length+b.length);for(let b=0;b<e.length;b++)a[b]=e[b];for(let c=0;c<b.length;c++)a[e.length+c]=b[c];return a}return b}return e||j}return c[a]||j}}})(h)}).cache.get,e=c.cache.set,f=g,g(a)},(...a)=>f(((...a)=>{let b,c,d=0,e="";for(;d<a.length;)(b=a[d++])&&(c=w(b))&&(e&&(e+=" "),e+=c);return e})(...a)));a.s(["cn",0,function(...a){return as(h(a))}],368114)}];
150
150
 
151
- //# sourceMappingURL=_0idb-vo._.js.map
151
+ //# sourceMappingURL=_0kob2si._.js.map