vibedoc 1.12.0 → 1.13.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 (800) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +3 -1
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +59 -3
  5. package/.next/routes-manifest.json +12 -0
  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)/getting-started/page/app-paths-manifest.json +3 -0
  17. package/.next/server/app/(app)/getting-started/page/build-manifest.json +20 -0
  18. package/.next/server/app/(app)/getting-started/page/next-font-manifest.json +11 -0
  19. package/.next/server/app/(app)/getting-started/page/react-loadable-manifest.json +1 -0
  20. package/.next/server/app/(app)/getting-started/page/server-reference-manifest.json +4 -0
  21. package/.next/server/app/(app)/getting-started/page.js +15 -0
  22. package/.next/server/app/(app)/getting-started/page.js.map +5 -0
  23. package/.next/server/app/(app)/getting-started/page.js.nft.json +1 -0
  24. package/.next/server/app/(app)/getting-started/page_client-reference-manifest.js +3 -0
  25. package/.next/server/app/(app)/graph/page.js.nft.json +1 -1
  26. package/.next/server/app/(app)/graph/page_client-reference-manifest.js +1 -1
  27. package/.next/server/app/(app)/manual-tests/page.js.nft.json +1 -1
  28. package/.next/server/app/(app)/manual-tests/page_client-reference-manifest.js +1 -1
  29. package/.next/server/app/(app)/memory/page.js.nft.json +1 -1
  30. package/.next/server/app/(app)/memory/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/(app)/roadmap/page.js.nft.json +1 -1
  32. package/.next/server/app/(app)/roadmap/page_client-reference-manifest.js +1 -1
  33. package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
  34. package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/(app)/setup/page.js.nft.json +1 -1
  36. package/.next/server/app/(app)/setup/page_client-reference-manifest.js +1 -1
  37. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  38. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  39. package/.next/server/app/_global-error.html +1 -1
  40. package/.next/server/app/_global-error.rsc +1 -1
  41. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  42. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  43. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  44. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  45. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  46. package/.next/server/app/_not-found.html +1 -1
  47. package/.next/server/app/_not-found.rsc +2 -2
  48. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  49. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  50. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  51. package/.next/server/app/activity.html +1 -1
  52. package/.next/server/app/activity.rsc +7 -7
  53. package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +5 -5
  54. package/.next/server/app/activity.segments/_full.segment.rsc +7 -7
  55. package/.next/server/app/activity.segments/_tree.segment.rsc +2 -2
  56. package/.next/server/app/api/activity/route.js +2 -3
  57. package/.next/server/app/api/activity/route.js.nft.json +1 -1
  58. package/.next/server/app/api/chat/route.js +2 -2
  59. package/.next/server/app/api/chat/route.js.nft.json +1 -1
  60. package/.next/server/app/api/context/route.js +2 -3
  61. package/.next/server/app/api/context/route.js.nft.json +1 -1
  62. package/.next/server/app/api/conversations/route.js +3 -4
  63. package/.next/server/app/api/conversations/route.js.nft.json +1 -1
  64. package/.next/server/app/api/decisions/route.js +2 -3
  65. package/.next/server/app/api/decisions/route.js.nft.json +1 -1
  66. package/.next/server/app/api/docs/graph/route.js +2 -4
  67. package/.next/server/app/api/docs/graph/route.js.nft.json +1 -1
  68. package/.next/server/app/api/docs/links/route.js +2 -4
  69. package/.next/server/app/api/docs/links/route.js.nft.json +1 -1
  70. package/.next/server/app/api/docs/route.js +2 -3
  71. package/.next/server/app/api/docs/route.js.nft.json +1 -1
  72. package/.next/server/app/api/explorer/route.js +3 -4
  73. package/.next/server/app/api/explorer/route.js.nft.json +1 -1
  74. package/.next/server/app/api/mcp/route.js +3 -4
  75. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  76. package/.next/server/app/api/memory/entries/delete/route.js +3 -4
  77. package/.next/server/app/api/memory/entries/delete/route.js.nft.json +1 -1
  78. package/.next/server/app/api/memory/entries/merge/route.js +3 -4
  79. package/.next/server/app/api/memory/entries/merge/route.js.nft.json +1 -1
  80. package/.next/server/app/api/memory/entries/merge/undo/route.js +3 -4
  81. package/.next/server/app/api/memory/entries/merge/undo/route.js.nft.json +1 -1
  82. package/.next/server/app/api/memory/entries/restore/route.js +3 -4
  83. package/.next/server/app/api/memory/entries/restore/route.js.nft.json +1 -1
  84. package/.next/server/app/api/memory/entries/route.js +2 -3
  85. package/.next/server/app/api/memory/entries/route.js.nft.json +1 -1
  86. package/.next/server/app/api/memory/entries/save/route.js +3 -4
  87. package/.next/server/app/api/memory/entries/save/route.js.nft.json +1 -1
  88. package/.next/server/app/api/memory/graph/route.js +3 -4
  89. package/.next/server/app/api/memory/graph/route.js.nft.json +1 -1
  90. package/.next/server/app/api/memory/health/dismiss/route.js +3 -4
  91. package/.next/server/app/api/memory/health/dismiss/route.js.nft.json +1 -1
  92. package/.next/server/app/api/memory/health/route.js +2 -3
  93. package/.next/server/app/api/memory/health/route.js.nft.json +1 -1
  94. package/.next/server/app/api/memory/history/route.js +2 -4
  95. package/.next/server/app/api/memory/history/route.js.nft.json +1 -1
  96. package/.next/server/app/api/memory/restore/route.js +3 -4
  97. package/.next/server/app/api/memory/restore/route.js.nft.json +1 -1
  98. package/.next/server/app/api/memory/route.js +2 -3
  99. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  100. package/.next/server/app/api/memory/versions/route.js +2 -3
  101. package/.next/server/app/api/memory/versions/route.js.nft.json +1 -1
  102. package/.next/server/app/api/plan/apply/route.js +3 -4
  103. package/.next/server/app/api/plan/apply/route.js.nft.json +1 -1
  104. package/.next/server/app/api/projects/route.js +2 -3
  105. package/.next/server/app/api/projects/route.js.nft.json +1 -1
  106. package/.next/server/app/api/registry/route.js +2 -3
  107. package/.next/server/app/api/registry/route.js.nft.json +1 -1
  108. package/.next/server/app/api/roadmap/create/route.js +3 -4
  109. package/.next/server/app/api/roadmap/create/route.js.nft.json +1 -1
  110. package/.next/server/app/api/roadmap/delete/route.js +3 -4
  111. package/.next/server/app/api/roadmap/delete/route.js.nft.json +1 -1
  112. package/.next/server/app/api/roadmap/generate/route.js +3 -4
  113. package/.next/server/app/api/roadmap/generate/route.js.nft.json +1 -1
  114. package/.next/server/app/api/roadmap/layout/route.js +3 -4
  115. package/.next/server/app/api/roadmap/layout/route.js.nft.json +1 -1
  116. package/.next/server/app/api/roadmap/restore/route.js +3 -4
  117. package/.next/server/app/api/roadmap/restore/route.js.nft.json +1 -1
  118. package/.next/server/app/api/roadmap/route.js +2 -3
  119. package/.next/server/app/api/roadmap/route.js.nft.json +1 -1
  120. package/.next/server/app/api/roadmap/update/route.js +3 -4
  121. package/.next/server/app/api/roadmap/update/route.js.nft.json +1 -1
  122. package/.next/server/app/api/sessions/route.js +2 -3
  123. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  124. package/.next/server/app/api/settings/route.js +2 -3
  125. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  126. package/.next/server/app/api/setup/generate/route.js +2 -3
  127. package/.next/server/app/api/setup/generate/route.js.nft.json +1 -1
  128. package/.next/server/app/api/setup/write/route.js +2 -3
  129. package/.next/server/app/api/setup/write/route.js.nft.json +1 -1
  130. package/.next/server/app/api/summary/route.js +2 -3
  131. package/.next/server/app/api/summary/route.js.nft.json +1 -1
  132. package/.next/server/app/api/tasks/bulk/route.js +3 -4
  133. package/.next/server/app/api/tasks/bulk/route.js.nft.json +1 -1
  134. package/.next/server/app/api/tasks/create/route.js +2 -3
  135. package/.next/server/app/api/tasks/create/route.js.nft.json +1 -1
  136. package/.next/server/app/api/tasks/delete/route.js +3 -4
  137. package/.next/server/app/api/tasks/delete/route.js.nft.json +1 -1
  138. package/.next/server/app/api/tasks/manual-tests/route.js +3 -3
  139. package/.next/server/app/api/tasks/manual-tests/route.js.nft.json +1 -1
  140. package/.next/server/app/api/tasks/restore/route.js +3 -4
  141. package/.next/server/app/api/tasks/restore/route.js.nft.json +1 -1
  142. package/.next/server/app/api/tasks/review/route.js +3 -4
  143. package/.next/server/app/api/tasks/review/route.js.nft.json +1 -1
  144. package/.next/server/app/api/tasks/route.js +2 -3
  145. package/.next/server/app/api/tasks/route.js.nft.json +1 -1
  146. package/.next/server/app/api/tasks/update/route.js +3 -4
  147. package/.next/server/app/api/tasks/update/route.js.nft.json +1 -1
  148. package/.next/server/app/api/views/route.js +2 -3
  149. package/.next/server/app/api/views/route.js.nft.json +1 -1
  150. package/.next/server/app/board.html +1 -1
  151. package/.next/server/app/board.rsc +7 -7
  152. package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +5 -5
  153. package/.next/server/app/board.segments/_full.segment.rsc +7 -7
  154. package/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  155. package/.next/server/app/chat.html +1 -1
  156. package/.next/server/app/chat.rsc +6 -6
  157. package/.next/server/app/chat.segments/!KGFwcCk/chat/__PAGE__.segment.rsc +5 -5
  158. package/.next/server/app/chat.segments/_full.segment.rsc +6 -6
  159. package/.next/server/app/chat.segments/_tree.segment.rsc +2 -2
  160. package/.next/server/app/docs.html +1 -1
  161. package/.next/server/app/docs.rsc +7 -7
  162. package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +5 -5
  163. package/.next/server/app/docs.segments/_full.segment.rsc +7 -7
  164. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  165. package/.next/server/app/explorer.html +1 -1
  166. package/.next/server/app/explorer.rsc +7 -7
  167. package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +5 -5
  168. package/.next/server/app/explorer.segments/_full.segment.rsc +7 -7
  169. package/.next/server/app/explorer.segments/_tree.segment.rsc +2 -2
  170. package/.next/server/app/getting-started.html +1 -0
  171. package/.next/server/app/getting-started.meta +31 -0
  172. package/.next/server/app/getting-started.rsc +31 -0
  173. package/.next/server/app/getting-started.segments/!KGFwcCk/getting-started/__PAGE__.segment.rsc +32 -0
  174. package/.next/server/app/getting-started.segments/_full.segment.rsc +31 -0
  175. package/.next/server/app/getting-started.segments/_tree.segment.rsc +5 -0
  176. package/.next/server/app/graph.html +1 -1
  177. package/.next/server/app/graph.rsc +6 -6
  178. package/.next/server/app/graph.segments/!KGFwcCk/graph/__PAGE__.segment.rsc +5 -5
  179. package/.next/server/app/graph.segments/_full.segment.rsc +6 -6
  180. package/.next/server/app/graph.segments/_tree.segment.rsc +2 -2
  181. package/.next/server/app/index.html +1 -1
  182. package/.next/server/app/index.rsc +2 -2
  183. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  184. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  185. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  186. package/.next/server/app/manual-tests.html +1 -1
  187. package/.next/server/app/manual-tests.rsc +7 -7
  188. package/.next/server/app/manual-tests.segments/!KGFwcCk/manual-tests/__PAGE__.segment.rsc +5 -5
  189. package/.next/server/app/manual-tests.segments/_full.segment.rsc +7 -7
  190. package/.next/server/app/manual-tests.segments/_tree.segment.rsc +2 -2
  191. package/.next/server/app/memory.html +1 -1
  192. package/.next/server/app/memory.rsc +7 -7
  193. package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +5 -5
  194. package/.next/server/app/memory.segments/_full.segment.rsc +7 -7
  195. package/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
  196. package/.next/server/app/page.js.nft.json +1 -1
  197. package/.next/server/app/page_client-reference-manifest.js +1 -1
  198. package/.next/server/app/roadmap.html +1 -1
  199. package/.next/server/app/roadmap.rsc +7 -7
  200. package/.next/server/app/roadmap.segments/!KGFwcCk/roadmap/__PAGE__.segment.rsc +5 -5
  201. package/.next/server/app/roadmap.segments/_full.segment.rsc +7 -7
  202. package/.next/server/app/roadmap.segments/_tree.segment.rsc +2 -2
  203. package/.next/server/app/settings.html +1 -1
  204. package/.next/server/app/settings.rsc +6 -6
  205. package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +5 -5
  206. package/.next/server/app/settings.segments/_full.segment.rsc +6 -6
  207. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  208. package/.next/server/app/setup.html +1 -1
  209. package/.next/server/app/setup.rsc +6 -6
  210. package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +5 -5
  211. package/.next/server/app/setup.segments/_full.segment.rsc +6 -6
  212. package/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  213. package/.next/server/app/welcome/page/app-paths-manifest.json +3 -0
  214. package/.next/server/app/welcome/page/build-manifest.json +20 -0
  215. package/.next/server/app/welcome/page/next-font-manifest.json +11 -0
  216. package/.next/server/app/welcome/page/react-loadable-manifest.json +1 -0
  217. package/.next/server/app/welcome/page/server-reference-manifest.json +4 -0
  218. package/.next/server/app/welcome/page.js +13 -0
  219. package/.next/server/app/welcome/page.js.map +5 -0
  220. package/.next/server/app/welcome/page.js.nft.json +1 -0
  221. package/.next/server/app/welcome/page_client-reference-manifest.js +3 -0
  222. package/.next/server/app/welcome.html +1 -0
  223. package/.next/server/app/welcome.meta +26 -0
  224. package/.next/server/app/welcome.rsc +27 -0
  225. package/.next/server/app/welcome.segments/_full.segment.rsc +27 -0
  226. package/.next/server/app/welcome.segments/_tree.segment.rsc +5 -0
  227. package/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +29 -0
  228. package/.next/server/app-paths-manifest.json +3 -1
  229. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_05ck8py._.js → 11mp_@anthropic-ai_sdk_0-smxh7._.js} +1 -1
  230. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_05w8m72._.js → 11mp_@anthropic-ai_sdk_0-upxuo._.js} +1 -1
  231. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_013qeb4._.js → 11mp_@anthropic-ai_sdk_00stvd0._.js} +1 -1
  232. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_086oevc._.js → 11mp_@anthropic-ai_sdk_05tlp4j._.js} +1 -1
  233. package/.next/server/chunks/11mp_@anthropic-ai_sdk_06i1jku._.js +3 -0
  234. package/.next/server/chunks/11mp_@anthropic-ai_sdk_06pqlwo._.js +3 -0
  235. package/.next/server/chunks/11mp_@anthropic-ai_sdk_06q_bm6._.js +3 -0
  236. package/.next/server/chunks/11mp_@anthropic-ai_sdk_098dref._.js +3 -0
  237. package/.next/server/chunks/11mp_@anthropic-ai_sdk_09q07e_._.js +3 -0
  238. package/.next/server/chunks/11mp_@anthropic-ai_sdk_09r9wsn._.js +3 -0
  239. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_rnqa6._.js +3 -0
  240. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ch0mdl._.js +3 -0
  241. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0didq3m._.js +3 -0
  242. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0dwtv_z._.js +3 -0
  243. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0e8sqia._.js +3 -0
  244. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0gk-rze._.js +3 -0
  245. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0gywxp1._.js +3 -0
  246. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0h4l0yx._.js +3 -0
  247. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0hjmy82._.js +3 -0
  248. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0jbmnx_._.js +3 -0
  249. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0l7teck._.js +3 -0
  250. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ldf-lc._.js +3 -0
  251. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0oe9p6l._.js +3 -0
  252. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ppgi2h._.js +3 -0
  253. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ydb8nm._.js +3 -0
  254. package/.next/server/chunks/11mp_@anthropic-ai_sdk_11hsr1e._.js +3 -0
  255. package/.next/server/chunks/11mp_@anthropic-ai_sdk_14pgcis._.js +3 -0
  256. package/.next/server/chunks/11mp_@anthropic-ai_sdk_15_sqq8._.js +3 -0
  257. package/.next/server/chunks/11mp_@anthropic-ai_sdk_16up-b0._.js +3 -0
  258. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_jm94w._.js +3 -0
  259. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1aswx0v._.js +3 -0
  260. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1bkea9c._.js +3 -0
  261. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1d41_6l._.js +3 -0
  262. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1d959rx._.js +3 -0
  263. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1eughke._.js +3 -0
  264. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ev29eb._.js +3 -0
  265. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1faxy2m._.js +3 -0
  266. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lginb1._.js +3 -0
  267. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1pg6fky._.js +3 -0
  268. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1qfho5e._.js +3 -0
  269. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1r9e6jv._.js +3 -0
  270. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1tjlpeq._.js +3 -0
  271. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1wcdj4f._.js +3 -0
  272. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x25dnb._.js +3 -0
  273. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ywjkuh._.js +3 -0
  274. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1zbnql3._.js +3 -0
  275. package/.next/server/chunks/11mp_@anthropic-ai_sdk_208gclq._.js +3 -0
  276. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_07rnikd._.js +3 -0
  277. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0cxqkzo._.js +3 -0
  278. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0iemvsj._.js +3 -0
  279. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0losy1p._.js +3 -0
  280. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0q2-o56._.js +3 -0
  281. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0v9tonm._.js +3 -0
  282. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ve_28v._.js +3 -0
  283. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0vta7f6._.js +3 -0
  284. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0xme80s._.js +3 -0
  285. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_12tnhho._.js +3 -0
  286. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_14-nnf3._.js +3 -0
  287. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_14e0xcw._.js +3 -0
  288. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1cbywiw._.js +3 -0
  289. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1d4fc7y._.js +3 -0
  290. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1e89sld._.js +3 -0
  291. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1emt011._.js +3 -0
  292. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1jgaffx._.js +3 -0
  293. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1m9p_w8._.js +3 -0
  294. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1mtv1gy._.js +3 -0
  295. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1plmrbl._.js +3 -0
  296. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1toqkb5._.js +3 -0
  297. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1yc8ml3._.js +3 -0
  298. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ycnogk._.js +3 -0
  299. package/.next/server/chunks/[root-of-the-server]__02ym03p._.js +3 -0
  300. package/.next/server/chunks/[root-of-the-server]__02ym03p._.js.map +1 -0
  301. package/.next/server/chunks/{[root-of-the-server]__1lxrobr._.js → [root-of-the-server]__04qfxm4._.js} +2 -2
  302. package/.next/server/chunks/{[root-of-the-server]__1lxrobr._.js.map → [root-of-the-server]__04qfxm4._.js.map} +1 -1
  303. package/.next/server/chunks/[root-of-the-server]__04t339z._.js +3 -0
  304. package/.next/server/chunks/[root-of-the-server]__04t339z._.js.map +1 -0
  305. package/.next/server/chunks/[root-of-the-server]__05b72pa._.js +3 -0
  306. package/.next/server/chunks/[root-of-the-server]__05b72pa._.js.map +1 -0
  307. package/.next/server/chunks/[root-of-the-server]__05jwgm-._.js +261 -0
  308. package/.next/server/chunks/[root-of-the-server]__05jwgm-._.js.map +1 -0
  309. package/.next/server/chunks/{[root-of-the-server]__162_l0k._.js → [root-of-the-server]__06ikdrx._.js} +2 -2
  310. package/.next/server/chunks/{[root-of-the-server]__162_l0k._.js.map → [root-of-the-server]__06ikdrx._.js.map} +1 -1
  311. package/.next/server/chunks/[root-of-the-server]__06x7kjp._.js +3 -0
  312. package/.next/server/chunks/{[root-of-the-server]__1s0t8r3._.js.map → [root-of-the-server]__06x7kjp._.js.map} +1 -1
  313. package/.next/server/chunks/[root-of-the-server]__07-qwkc._.js +3 -0
  314. package/.next/server/chunks/[root-of-the-server]__07-qwkc._.js.map +1 -0
  315. package/.next/server/chunks/[root-of-the-server]__0_j-3zy._.js +3 -0
  316. package/.next/server/chunks/{[root-of-the-server]__1r_0uma._.js.map → [root-of-the-server]__0_j-3zy._.js.map} +1 -1
  317. package/.next/server/chunks/{[root-of-the-server]__089ay-q._.js → [root-of-the-server]__0_paned._.js} +2 -2
  318. package/.next/server/chunks/[root-of-the-server]__0_paned._.js.map +1 -0
  319. package/.next/server/chunks/{[root-of-the-server]__1vzxnjb._.js → [root-of-the-server]__0adl8c2._.js} +2 -2
  320. package/.next/server/chunks/[root-of-the-server]__0be-1oe._.js +3 -0
  321. package/.next/server/chunks/[root-of-the-server]__0be-1oe._.js.map +1 -0
  322. package/.next/server/chunks/[root-of-the-server]__0c7qnhb._.js +3 -0
  323. package/.next/server/chunks/{[root-of-the-server]__0vf-0gp._.js.map → [root-of-the-server]__0c7qnhb._.js.map} +1 -1
  324. package/.next/server/chunks/[root-of-the-server]__0dfd91u._.js +3 -0
  325. package/.next/server/chunks/[root-of-the-server]__0dfd91u._.js.map +1 -0
  326. package/.next/server/chunks/[root-of-the-server]__0e_zpd3._.js +3 -0
  327. package/.next/server/chunks/{[root-of-the-server]__0pe1qih._.js.map → [root-of-the-server]__0e_zpd3._.js.map} +1 -1
  328. package/.next/server/chunks/[root-of-the-server]__0efnsph._.js +3 -0
  329. package/.next/server/chunks/[root-of-the-server]__0efnsph._.js.map +1 -0
  330. package/.next/server/chunks/{[root-of-the-server]__1mnzsbh._.js → [root-of-the-server]__0gbhsr4._.js} +2 -2
  331. package/.next/server/chunks/{[root-of-the-server]__1mnzsbh._.js.map → [root-of-the-server]__0gbhsr4._.js.map} +1 -1
  332. package/.next/server/chunks/[root-of-the-server]__0pb7dzk._.js +261 -0
  333. package/.next/server/chunks/[root-of-the-server]__0pb7dzk._.js.map +1 -0
  334. package/.next/server/chunks/[root-of-the-server]__0q-h0w3._.js +3 -0
  335. package/.next/server/chunks/[root-of-the-server]__0q-h0w3._.js.map +1 -0
  336. package/.next/server/chunks/{[root-of-the-server]__04ri_ci._.js → [root-of-the-server]__0r_831n._.js} +2 -2
  337. package/.next/server/chunks/[root-of-the-server]__0s9wedh._.js +3 -0
  338. package/.next/server/chunks/[root-of-the-server]__0s9wedh._.js.map +1 -0
  339. package/.next/server/chunks/{[root-of-the-server]__1zeys20._.js → [root-of-the-server]__0tzsbyx._.js} +2 -2
  340. package/.next/server/chunks/[root-of-the-server]__0uyhc_4._.js +3 -0
  341. package/.next/server/chunks/[root-of-the-server]__0uyhc_4._.js.map +1 -0
  342. package/.next/server/chunks/[root-of-the-server]__0z2h080._.js +3 -0
  343. package/.next/server/chunks/[root-of-the-server]__0z2h080._.js.map +1 -0
  344. package/.next/server/chunks/[root-of-the-server]__1-f1pzo._.js +3 -0
  345. package/.next/server/chunks/{[root-of-the-server]__0b6w_wb._.js.map → [root-of-the-server]__1-f1pzo._.js.map} +1 -1
  346. package/.next/server/chunks/[root-of-the-server]__120uun8._.js +3 -0
  347. package/.next/server/chunks/{[root-of-the-server]__05us508._.js.map → [root-of-the-server]__120uun8._.js.map} +1 -1
  348. package/.next/server/chunks/[root-of-the-server]__12qs29o._.js +261 -0
  349. package/.next/server/chunks/[root-of-the-server]__12qs29o._.js.map +1 -0
  350. package/.next/server/chunks/{[root-of-the-server]__1sd3l-d._.js → [root-of-the-server]__146-7zt._.js} +2 -2
  351. package/.next/server/chunks/[root-of-the-server]__146-7zt._.js.map +1 -0
  352. package/.next/server/chunks/[root-of-the-server]__17_dic_._.js +3 -0
  353. package/.next/server/chunks/[root-of-the-server]__17_dic_._.js.map +1 -0
  354. package/.next/server/chunks/[root-of-the-server]__19a04nn._.js +3 -0
  355. package/.next/server/chunks/{[root-of-the-server]__0hg1r2b._.js.map → [root-of-the-server]__19a04nn._.js.map} +1 -1
  356. package/.next/server/chunks/[root-of-the-server]__1_q8upn._.js +3 -0
  357. package/.next/server/chunks/[root-of-the-server]__1ar-16i._.js +3 -0
  358. package/.next/server/chunks/[root-of-the-server]__1ar-16i._.js.map +1 -0
  359. package/.next/server/chunks/[root-of-the-server]__1egi_4t._.js +3 -0
  360. package/.next/server/chunks/[root-of-the-server]__1egi_4t._.js.map +1 -0
  361. package/.next/server/chunks/[root-of-the-server]__1eh1p2_._.js +3 -0
  362. package/.next/server/chunks/[root-of-the-server]__1eh1p2_._.js.map +1 -0
  363. package/.next/server/chunks/[root-of-the-server]__1gwdudg._.js +3 -0
  364. package/.next/server/chunks/{[root-of-the-server]__18dt3sr._.js.map → [root-of-the-server]__1gwdudg._.js.map} +1 -1
  365. package/.next/server/chunks/[root-of-the-server]__1hz94ca._.js +3 -0
  366. package/.next/server/chunks/[root-of-the-server]__1jyx430._.js +3 -0
  367. package/.next/server/chunks/{[root-of-the-server]__1wcd2x9._.js.map → [root-of-the-server]__1jyx430._.js.map} +1 -1
  368. package/.next/server/chunks/[root-of-the-server]__1meifxd._.js +3 -0
  369. package/.next/server/chunks/[root-of-the-server]__1meifxd._.js.map +1 -0
  370. package/.next/server/chunks/[root-of-the-server]__1mn0d5e._.js +3 -0
  371. package/.next/server/chunks/[root-of-the-server]__1mn0d5e._.js.map +1 -0
  372. package/.next/server/chunks/[root-of-the-server]__1o-hldt._.js +3 -0
  373. package/.next/server/chunks/{[root-of-the-server]__1pjwaan._.js.map → [root-of-the-server]__1o-hldt._.js.map} +1 -1
  374. package/.next/server/chunks/[root-of-the-server]__1ocnzl5._.js +3 -0
  375. package/.next/server/chunks/[root-of-the-server]__1ocnzl5._.js.map +1 -0
  376. package/.next/server/chunks/{[root-of-the-server]__0n0myt9._.js → [root-of-the-server]__1pf07ha._.js} +2 -2
  377. package/.next/server/chunks/{[root-of-the-server]__0756_60._.js → [root-of-the-server]__1rtj94g._.js} +2 -2
  378. package/.next/server/chunks/{[root-of-the-server]__1ntu_6r._.js.map → [root-of-the-server]__1rtj94g._.js.map} +1 -1
  379. package/.next/server/chunks/[root-of-the-server]__1rz7a1h._.js +3 -0
  380. package/.next/server/chunks/[root-of-the-server]__1rz7a1h._.js.map +1 -0
  381. package/.next/server/chunks/[root-of-the-server]__1s7yctb._.js +3 -0
  382. package/.next/server/chunks/{[root-of-the-server]__0rggulw._.js.map → [root-of-the-server]__1s7yctb._.js.map} +1 -1
  383. package/.next/server/chunks/[root-of-the-server]__1tebaoq._.js +3 -0
  384. package/.next/server/chunks/[root-of-the-server]__1tebaoq._.js.map +1 -0
  385. package/.next/server/chunks/[root-of-the-server]__1uh0213._.js +3 -0
  386. package/.next/server/chunks/{[root-of-the-server]__1skrybv._.js.map → [root-of-the-server]__1uh0213._.js.map} +1 -1
  387. package/.next/server/chunks/[root-of-the-server]__1vj_u-e._.js +3 -0
  388. package/.next/server/chunks/{[root-of-the-server]__1p6-0l0._.js.map → [root-of-the-server]__1vj_u-e._.js.map} +1 -1
  389. package/.next/server/chunks/{[root-of-the-server]__1_qenei._.js → [root-of-the-server]__20ctbhx._.js} +2 -2
  390. package/.next/server/chunks/{[root-of-the-server]__1_qenei._.js.map → [root-of-the-server]__20ctbhx._.js.map} +1 -1
  391. package/.next/server/chunks/[root-of-the-server]__20nzp64._.js +3 -0
  392. package/.next/server/chunks/{[root-of-the-server]__0dgwykw._.js.map → [root-of-the-server]__20nzp64._.js.map} +1 -1
  393. package/.next/server/chunks/_04byth9._.js +19 -18
  394. package/.next/server/chunks/_04byth9._.js.map +1 -1
  395. package/.next/server/chunks/_0safx0g._.js +3 -3
  396. package/.next/server/chunks/_0safx0g._.js.map +1 -1
  397. package/.next/server/chunks/_1au4syj._.js +1 -1
  398. package/.next/server/chunks/_1au4syj._.js.map +1 -1
  399. package/.next/server/chunks/_1b5fqxy._.js +1 -1
  400. package/.next/server/chunks/_1b5fqxy._.js.map +1 -1
  401. package/.next/server/chunks/_1ivswa9._.js +1 -1
  402. package/.next/server/chunks/_1ivswa9._.js.map +1 -1
  403. package/.next/server/chunks/_1si7nb_._.js +2 -2
  404. package/.next/server/chunks/_1si7nb_._.js.map +1 -1
  405. package/.next/server/chunks/ssr/{0_nd_mermaid_dist_mermaid_core_mjs_0y_edkq._.js → 0_nd_mermaid_dist_mermaid_core_mjs_1trh599._.js} +2 -2
  406. package/.next/server/chunks/ssr/{1u84_katex_dist_katex_mjs_0yg8zto._.js → 1u84_katex_dist_katex_mjs_0wukkxe._.js} +1 -1
  407. package/.next/server/chunks/ssr/[root-of-the-server]__0dn-5g9._.js +3 -0
  408. package/.next/server/chunks/ssr/[root-of-the-server]__0dn-5g9._.js.map +1 -0
  409. package/.next/server/chunks/ssr/{[root-of-the-server]__08z0szh._.js → [root-of-the-server]__0p_ieww._.js} +1 -1
  410. package/.next/server/chunks/ssr/[root-of-the-server]__1_4pq0_._.js +3 -0
  411. package/.next/server/chunks/ssr/[root-of-the-server]__1_4pq0_._.js.map +1 -0
  412. package/.next/server/chunks/ssr/{[root-of-the-server]__1wdwnnp._.js → [root-of-the-server]__1ecvjg8._.js} +1 -1
  413. package/.next/server/chunks/ssr/_04xff_2._.js +1 -1
  414. package/.next/server/chunks/ssr/_04xff_2._.js.map +1 -1
  415. package/.next/server/chunks/ssr/_09qa3fe._.js +3 -0
  416. package/.next/server/chunks/ssr/_09qa3fe._.js.map +1 -0
  417. package/.next/server/chunks/ssr/_0_74-q8._.js +3 -0
  418. package/.next/server/chunks/ssr/_0_74-q8._.js.map +1 -0
  419. package/.next/server/chunks/ssr/_0cv0ugs._.js +1 -1
  420. package/.next/server/chunks/ssr/_0cv0ugs._.js.map +1 -1
  421. package/.next/server/chunks/ssr/_0hck6f0._.js +3 -0
  422. package/.next/server/chunks/ssr/_0hck6f0._.js.map +1 -0
  423. package/.next/server/chunks/ssr/_0o8t6j-._.js +1 -1
  424. package/.next/server/chunks/ssr/_0o8t6j-._.js.map +1 -1
  425. package/.next/server/chunks/ssr/_0p_5o4z._.js +23 -0
  426. package/.next/server/chunks/ssr/_0p_5o4z._.js.map +1 -0
  427. package/.next/server/chunks/ssr/_0rmo9r-._.js +1 -1
  428. package/.next/server/chunks/ssr/_0rmo9r-._.js.map +1 -1
  429. package/.next/server/chunks/ssr/_0ust7tw._.js +1 -1
  430. package/.next/server/chunks/ssr/_0ust7tw._.js.map +1 -1
  431. package/.next/server/chunks/ssr/_1c46ap6._.js +23 -0
  432. package/.next/server/chunks/ssr/_1c46ap6._.js.map +1 -0
  433. package/.next/server/chunks/ssr/_1gxjjvh._.js +1 -1
  434. package/.next/server/chunks/ssr/_1gxjjvh._.js.map +1 -1
  435. package/.next/server/chunks/ssr/_1jjs63r._.js +131 -0
  436. package/.next/server/chunks/ssr/_1jjs63r._.js.map +1 -0
  437. package/.next/server/chunks/ssr/_1kcyxnh._.js +3 -0
  438. package/.next/server/chunks/ssr/_1kcyxnh._.js.map +1 -0
  439. package/.next/server/chunks/ssr/_1lvbdeq._.js +3 -0
  440. package/.next/server/chunks/ssr/_1lvbdeq._.js.map +1 -0
  441. package/.next/server/chunks/ssr/_1rewjdw._.js +3 -0
  442. package/.next/server/chunks/ssr/_1rewjdw._.js.map +1 -0
  443. package/.next/server/chunks/ssr/_1tv---f._.js +3 -0
  444. package/.next/server/chunks/ssr/_1tv---f._.js.map +1 -0
  445. package/.next/server/chunks/ssr/_1zyvi-w._.js +3 -0
  446. package/.next/server/chunks/ssr/_1zyvi-w._.js.map +1 -0
  447. package/.next/server/chunks/ssr/_next-internal_server_app_(app)_getting-started_page_actions_18jod7i.js +3 -0
  448. package/.next/server/chunks/ssr/_next-internal_server_app_welcome_page_actions_1unjea7.js +3 -0
  449. package/.next/server/chunks/ssr/{node_modules__pnpm_03mp7qw._.js → node_modules__pnpm_0-6sq9f._.js} +2 -2
  450. package/.next/server/chunks/ssr/{node_modules__pnpm_0jampur._.js → node_modules__pnpm_0-vta96._.js} +1 -1
  451. package/.next/server/chunks/ssr/{node_modules__pnpm_00f4yhs._.js → node_modules__pnpm_04qn321._.js} +1 -1
  452. package/.next/server/chunks/ssr/{node_modules__pnpm_0tn5pg3._.js → node_modules__pnpm_06r-oci._.js} +1 -1
  453. package/.next/server/chunks/ssr/{node_modules__pnpm_0iu4132._.js → node_modules__pnpm_0fe8aya._.js} +1 -1
  454. package/.next/server/chunks/ssr/{node_modules__pnpm_0oyo3yo._.js → node_modules__pnpm_0hpufx1._.js} +2 -2
  455. package/.next/server/chunks/ssr/{node_modules__pnpm_0j_-le7._.js → node_modules__pnpm_0k5j0_5._.js} +2 -2
  456. package/.next/server/chunks/ssr/{node_modules__pnpm_0x5wj-4._.js → node_modules__pnpm_0kv8p99._.js} +2 -2
  457. package/.next/server/chunks/ssr/{node_modules__pnpm_06_8fr8._.js → node_modules__pnpm_0m-_au1._.js} +1 -1
  458. package/.next/server/chunks/ssr/{node_modules__pnpm_1zme4rg._.js → node_modules__pnpm_0mrjd3b._.js} +1 -1
  459. package/.next/server/chunks/ssr/{node_modules__pnpm_0mqeoh-._.js → node_modules__pnpm_0p2ufg5._.js} +2 -2
  460. package/.next/server/chunks/ssr/{node_modules__pnpm_03mpmzx._.js → node_modules__pnpm_0r2omyh._.js} +1 -1
  461. package/.next/server/chunks/ssr/{node_modules__pnpm_0_e05ka._.js → node_modules__pnpm_0uh9zwf._.js} +1 -1
  462. package/.next/server/chunks/ssr/{node_modules__pnpm_035haet._.js → node_modules__pnpm_0ujugl_._.js} +1 -1
  463. package/.next/server/chunks/ssr/{node_modules__pnpm_0lkvbt-._.js → node_modules__pnpm_0v-_iaj._.js} +1 -1
  464. package/.next/server/chunks/ssr/{node_modules__pnpm_0rq9x9q._.js → node_modules__pnpm_0xin4nu._.js} +2 -2
  465. package/.next/server/chunks/ssr/{node_modules__pnpm_139-v1i._.js → node_modules__pnpm_1-zfovp._.js} +1 -1
  466. package/.next/server/chunks/ssr/{node_modules__pnpm_1i_chik._.js → node_modules__pnpm_11p7w0z._.js} +1 -1
  467. package/.next/server/chunks/ssr/{node_modules__pnpm_1jgju12._.js → node_modules__pnpm_16l16l0._.js} +1 -1
  468. package/.next/server/chunks/ssr/{node_modules__pnpm_1n9oeu0._.js → node_modules__pnpm_16vl5yb._.js} +1 -1
  469. package/.next/server/chunks/ssr/{node_modules__pnpm_1ydeqw6._.js → node_modules__pnpm_1alnvos._.js} +1 -1
  470. package/.next/server/chunks/ssr/{node_modules__pnpm_03an60e._.js → node_modules__pnpm_1e_74v6._.js} +1 -1
  471. package/.next/server/chunks/ssr/{node_modules__pnpm_2045l51._.js → node_modules__pnpm_1kvkjrs._.js} +1 -1
  472. package/.next/server/chunks/ssr/{node_modules__pnpm_0zz55xq._.js → node_modules__pnpm_1l4yejo._.js} +1 -1
  473. package/.next/server/chunks/ssr/{node_modules__pnpm_1ws3ez9._.js → node_modules__pnpm_1uly489._.js} +1 -1
  474. package/.next/server/chunks/ssr/{node_modules__pnpm_1zum4yd._.js → node_modules__pnpm_1xntybk._.js} +1 -1
  475. package/.next/server/chunks/ssr/{node_modules__pnpm_09nd7ia._.js → node_modules__pnpm_20g30gl._.js} +1 -1
  476. package/.next/server/chunks/ssr/src_app_(app)_activity_page_tsx_13jd6bn._.js +1 -1
  477. package/.next/server/chunks/ssr/src_app_(app)_activity_page_tsx_13jd6bn._.js.map +1 -1
  478. package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js +1 -1
  479. package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js.map +1 -1
  480. package/.next/server/chunks/ssr/src_app_(app)_getting-started_page_tsx_0dgdc6p._.js +3 -0
  481. package/.next/server/chunks/ssr/src_app_(app)_getting-started_page_tsx_0dgdc6p._.js.map +1 -0
  482. package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js +1 -1
  483. package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js.map +1 -1
  484. package/.next/server/chunks/ssr/src_app_(app)_manual-tests_page_tsx_01tnunf._.js +1 -1
  485. package/.next/server/chunks/ssr/src_app_(app)_manual-tests_page_tsx_01tnunf._.js.map +1 -1
  486. package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js +2 -2
  487. package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js.map +1 -1
  488. package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js +2 -2
  489. package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js.map +1 -1
  490. package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js +2 -2
  491. package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js.map +1 -1
  492. package/.next/server/middleware-build-manifest.js +3 -3
  493. package/.next/server/next-font-manifest.js +1 -1
  494. package/.next/server/next-font-manifest.json +8 -0
  495. package/.next/server/pages/404.html +1 -1
  496. package/.next/server/pages/500.html +1 -1
  497. package/.next/server/prefetch-hints.json +33 -0
  498. package/.next/server/server-reference-manifest.js +1 -1
  499. package/.next/server/server-reference-manifest.json +1 -1
  500. package/.next/static/chunks/056pca8ms7k-9.js +1 -0
  501. package/.next/static/chunks/07hf_3iqpzmvo.css +1 -0
  502. package/.next/static/chunks/09-kkj4oxfqu1.js +1 -0
  503. package/.next/static/chunks/0fvkvef41i5ka.js +1 -0
  504. package/.next/static/chunks/0kmyxrtasrg2e.js +2107 -0
  505. package/.next/static/chunks/11plpfj6j22fq.js +3 -0
  506. package/.next/static/chunks/{3ly7b47esdb7j.js → 1on4c-091wzdq.js} +1 -1
  507. package/.next/static/chunks/22vfp8880q59s.js +1 -0
  508. package/.next/static/chunks/2kf1_d5fndxdb.js +1 -0
  509. package/.next/static/chunks/{0_8ovyz2sbr3p.js → 2m7a38m38tx5y.js} +1 -1
  510. package/.next/static/chunks/31q2_z_ekk94r.js +1 -0
  511. package/.next/static/chunks/34lxzt8ahe_9n.js +1 -0
  512. package/.next/static/chunks/3fgzdr870mbms.js +2 -0
  513. package/.next/static/chunks/3gzt07wmbrocf.js +12 -0
  514. package/.next/static/chunks/3j_ko3wq2nvby.js +1 -0
  515. package/.next/static/chunks/3l3l7u2t-n2fh.js +3 -0
  516. package/.next/static/chunks/3l4yjycfav_7a.js +1 -0
  517. package/.next/static/chunks/3s8g1yx5n4kmt.js +1 -0
  518. package/.next/static/chunks/3v8szq-k4jtkg.js +1 -0
  519. package/.next/static/chunks/3xp-i_0-8cq9_.js +1 -0
  520. package/.next/static/chunks/41mb4xnwp-aq_.js +1 -0
  521. package/README.md +7 -2
  522. package/bin/vibedoc.check.mts +25 -0
  523. package/bin/vibedoc.mjs +9 -0
  524. package/docs/getting-started.md +93 -0
  525. package/package.json +3 -1
  526. package/.next/server/chunks/0_g__next_1qpfvou._.js +0 -158
  527. package/.next/server/chunks/0_g__next_1qpfvou._.js.map +0 -1
  528. package/.next/server/chunks/11mp_@anthropic-ai_sdk_08rl0hf._.js +0 -3
  529. package/.next/server/chunks/11mp_@anthropic-ai_sdk_09ujrsu._.js +0 -3
  530. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0c3_7p7._.js +0 -3
  531. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0cto43x._.js +0 -3
  532. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0fgisb_._.js +0 -3
  533. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0fy8wd3._.js +0 -3
  534. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0fyvizf._.js +0 -3
  535. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0hg0i2g._.js +0 -3
  536. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0i0sz05._.js +0 -3
  537. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0l0j9c6._.js +0 -3
  538. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0lcm61d._.js +0 -3
  539. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qtva5j._.js +0 -3
  540. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0r4fkdu._.js +0 -3
  541. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0wbae0t._.js +0 -3
  542. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0wxyz1t._.js +0 -3
  543. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0y2cods._.js +0 -3
  544. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0zu0fj1._.js +0 -3
  545. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0zxpgt0._.js +0 -3
  546. package/.next/server/chunks/11mp_@anthropic-ai_sdk_10_cxcd._.js +0 -3
  547. package/.next/server/chunks/11mp_@anthropic-ai_sdk_10gb7d1._.js +0 -3
  548. package/.next/server/chunks/11mp_@anthropic-ai_sdk_12q70bs._.js +0 -3
  549. package/.next/server/chunks/11mp_@anthropic-ai_sdk_149ltk3._.js +0 -3
  550. package/.next/server/chunks/11mp_@anthropic-ai_sdk_165_uiw._.js +0 -3
  551. package/.next/server/chunks/11mp_@anthropic-ai_sdk_19w4zh6._.js +0 -3
  552. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1adck-s._.js +0 -3
  553. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1c2dwoi._.js +0 -3
  554. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1d9lw_2._.js +0 -3
  555. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1db6a7p._.js +0 -3
  556. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1h2f90s._.js +0 -3
  557. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1k5_i1z._.js +0 -3
  558. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1p3mv6i._.js +0 -3
  559. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1qoom5s._.js +0 -3
  560. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1qsbcbe._.js +0 -3
  561. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rk0x59._.js +0 -3
  562. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1sd98mi._.js +0 -3
  563. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1sumqg8._.js +0 -3
  564. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t-rt4q._.js +0 -3
  565. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1tr-k4y._.js +0 -3
  566. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1xk3c39._.js +0 -3
  567. package/.next/server/chunks/11mp_@anthropic-ai_sdk_206l10_._.js +0 -3
  568. package/.next/server/chunks/11mp_@anthropic-ai_sdk_20giys9._.js +0 -3
  569. package/.next/server/chunks/11mp_@anthropic-ai_sdk_20xrvvy._.js +0 -3
  570. package/.next/server/chunks/11mp_@anthropic-ai_sdk_215tg00._.js +0 -3
  571. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_018s_10._.js +0 -3
  572. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_08d6i7w._.js +0 -3
  573. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_09_fd9g._.js +0 -3
  574. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0eopml6._.js +0 -3
  575. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0f5epel._.js +0 -3
  576. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0okfnhu._.js +0 -3
  577. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0s8-ha8._.js +0 -3
  578. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ujs27r._.js +0 -3
  579. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0uo7rs8._.js +0 -3
  580. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0vyq_2d._.js +0 -3
  581. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0w3js74._.js +0 -3
  582. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0xa4-uq._.js +0 -3
  583. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_113y3so._.js +0 -3
  584. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_12qcr96._.js +0 -3
  585. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13ixdy8._.js +0 -3
  586. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1708vst._.js +0 -3
  587. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1_rdguq._.js +0 -3
  588. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1bgpe23._.js +0 -3
  589. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1f-tphn._.js +0 -3
  590. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1h1pqdh._.js +0 -3
  591. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1hfj_1d._.js +0 -3
  592. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ih2qzz._.js +0 -3
  593. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1jatyl1._.js +0 -3
  594. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1v1zbha._.js +0 -3
  595. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1vyqs5z._.js +0 -3
  596. package/.next/server/chunks/[root-of-the-server]__00usbi3._.js +0 -3
  597. package/.next/server/chunks/[root-of-the-server]__00usbi3._.js.map +0 -1
  598. package/.next/server/chunks/[root-of-the-server]__04cwur0._.js +0 -3
  599. package/.next/server/chunks/[root-of-the-server]__04cwur0._.js.map +0 -1
  600. package/.next/server/chunks/[root-of-the-server]__05-be3n._.js +0 -3
  601. package/.next/server/chunks/[root-of-the-server]__05us508._.js +0 -3
  602. package/.next/server/chunks/[root-of-the-server]__089ay-q._.js.map +0 -1
  603. package/.next/server/chunks/[root-of-the-server]__09oyvwa._.js +0 -3
  604. package/.next/server/chunks/[root-of-the-server]__09oyvwa._.js.map +0 -1
  605. package/.next/server/chunks/[root-of-the-server]__0b6w_wb._.js +0 -3
  606. package/.next/server/chunks/[root-of-the-server]__0d4t4q6._.js +0 -3
  607. package/.next/server/chunks/[root-of-the-server]__0d4t4q6._.js.map +0 -1
  608. package/.next/server/chunks/[root-of-the-server]__0dgwykw._.js +0 -3
  609. package/.next/server/chunks/[root-of-the-server]__0exzf-v._.js +0 -3
  610. package/.next/server/chunks/[root-of-the-server]__0exzf-v._.js.map +0 -1
  611. package/.next/server/chunks/[root-of-the-server]__0fn-a8c._.js +0 -105
  612. package/.next/server/chunks/[root-of-the-server]__0fn-a8c._.js.map +0 -1
  613. package/.next/server/chunks/[root-of-the-server]__0gnil0m._.js +0 -3
  614. package/.next/server/chunks/[root-of-the-server]__0gnil0m._.js.map +0 -1
  615. package/.next/server/chunks/[root-of-the-server]__0hg1r2b._.js +0 -3
  616. package/.next/server/chunks/[root-of-the-server]__0khz7sy._.js +0 -3
  617. package/.next/server/chunks/[root-of-the-server]__0khz7sy._.js.map +0 -1
  618. package/.next/server/chunks/[root-of-the-server]__0lf11mz._.js +0 -3
  619. package/.next/server/chunks/[root-of-the-server]__0lf11mz._.js.map +0 -1
  620. package/.next/server/chunks/[root-of-the-server]__0lix3ru._.js +0 -3
  621. package/.next/server/chunks/[root-of-the-server]__0lix3ru._.js.map +0 -1
  622. package/.next/server/chunks/[root-of-the-server]__0pe1qih._.js +0 -3
  623. package/.next/server/chunks/[root-of-the-server]__0pvi3ku._.js +0 -105
  624. package/.next/server/chunks/[root-of-the-server]__0pvi3ku._.js.map +0 -1
  625. package/.next/server/chunks/[root-of-the-server]__0rggulw._.js +0 -3
  626. package/.next/server/chunks/[root-of-the-server]__0s-j6z-._.js +0 -3
  627. package/.next/server/chunks/[root-of-the-server]__0s-j6z-._.js.map +0 -1
  628. package/.next/server/chunks/[root-of-the-server]__0s8v5i-._.js +0 -3
  629. package/.next/server/chunks/[root-of-the-server]__0s8v5i-._.js.map +0 -1
  630. package/.next/server/chunks/[root-of-the-server]__0vf-0gp._.js +0 -3
  631. package/.next/server/chunks/[root-of-the-server]__0yaxn8g._.js +0 -3
  632. package/.next/server/chunks/[root-of-the-server]__0yaxn8g._.js.map +0 -1
  633. package/.next/server/chunks/[root-of-the-server]__15c5snv._.js +0 -3
  634. package/.next/server/chunks/[root-of-the-server]__15c5snv._.js.map +0 -1
  635. package/.next/server/chunks/[root-of-the-server]__16smlkg._.js +0 -3
  636. package/.next/server/chunks/[root-of-the-server]__16smlkg._.js.map +0 -1
  637. package/.next/server/chunks/[root-of-the-server]__18dt3sr._.js +0 -3
  638. package/.next/server/chunks/[root-of-the-server]__19yo85m._.js +0 -3
  639. package/.next/server/chunks/[root-of-the-server]__19yo85m._.js.map +0 -1
  640. package/.next/server/chunks/[root-of-the-server]__1a7d63a._.js +0 -3
  641. package/.next/server/chunks/[root-of-the-server]__1a7d63a._.js.map +0 -1
  642. package/.next/server/chunks/[root-of-the-server]__1e68zmx._.js +0 -3
  643. package/.next/server/chunks/[root-of-the-server]__1e68zmx._.js.map +0 -1
  644. package/.next/server/chunks/[root-of-the-server]__1jel07j._.js +0 -3
  645. package/.next/server/chunks/[root-of-the-server]__1jel07j._.js.map +0 -1
  646. package/.next/server/chunks/[root-of-the-server]__1la-6xe._.js +0 -3
  647. package/.next/server/chunks/[root-of-the-server]__1la-6xe._.js.map +0 -1
  648. package/.next/server/chunks/[root-of-the-server]__1ntu_6r._.js +0 -3
  649. package/.next/server/chunks/[root-of-the-server]__1p4ws5z._.js +0 -3
  650. package/.next/server/chunks/[root-of-the-server]__1p4ws5z._.js.map +0 -1
  651. package/.next/server/chunks/[root-of-the-server]__1p6-0l0._.js +0 -3
  652. package/.next/server/chunks/[root-of-the-server]__1pjwaan._.js +0 -3
  653. package/.next/server/chunks/[root-of-the-server]__1r_0uma._.js +0 -3
  654. package/.next/server/chunks/[root-of-the-server]__1s0t8r3._.js +0 -3
  655. package/.next/server/chunks/[root-of-the-server]__1sd3l-d._.js.map +0 -1
  656. package/.next/server/chunks/[root-of-the-server]__1skrybv._.js +0 -3
  657. package/.next/server/chunks/[root-of-the-server]__1vnine1._.js +0 -105
  658. package/.next/server/chunks/[root-of-the-server]__1vnine1._.js.map +0 -1
  659. package/.next/server/chunks/[root-of-the-server]__1wcd2x9._.js +0 -3
  660. package/.next/server/chunks/ssr/_0-_04ia._.js +0 -3
  661. package/.next/server/chunks/ssr/_0-_04ia._.js.map +0 -1
  662. package/.next/server/chunks/ssr/_0kob2si._.js +0 -151
  663. package/.next/server/chunks/ssr/_0kob2si._.js.map +0 -1
  664. package/.next/server/chunks/ssr/_128p7pz._.js +0 -3
  665. package/.next/server/chunks/ssr/_128p7pz._.js.map +0 -1
  666. package/.next/server/chunks/ssr/_1hm7p_8._.js +0 -3
  667. package/.next/server/chunks/ssr/_1hm7p_8._.js.map +0 -1
  668. package/.next/server/chunks/ssr/_1r_t_wi._.js +0 -3
  669. package/.next/server/chunks/ssr/_1s-2jub._.js +0 -3
  670. package/.next/server/chunks/ssr/_1s-2jub._.js.map +0 -1
  671. package/.next/server/chunks/ssr/node_modules__pnpm_0zz55xq._.js.map +0 -1
  672. package/.next/static/chunks/03tzhv775qv5m.js +0 -1
  673. package/.next/static/chunks/05qw7-fs1exlt.js +0 -1
  674. package/.next/static/chunks/05rjl54wa6y43.js +0 -1
  675. package/.next/static/chunks/0eax07u1ta6tp.css +0 -1
  676. package/.next/static/chunks/0lfd3aomz4wv4.js +0 -1
  677. package/.next/static/chunks/0po8atank1p02.js +0 -12
  678. package/.next/static/chunks/11ou9nrpdg4qo.js +0 -3
  679. package/.next/static/chunks/1b9r_vdcewfu7.js +0 -1
  680. package/.next/static/chunks/1c459q7xpgq6r.js +0 -3
  681. package/.next/static/chunks/1c_8t2kecjnua.js +0 -1
  682. package/.next/static/chunks/1g7st54huk4if.js +0 -1
  683. package/.next/static/chunks/1v63qs4kxxcfh.js +0 -1
  684. package/.next/static/chunks/2-0lpccy0f8bk.js +0 -2
  685. package/.next/static/chunks/36s2k2k_w-or8.js +0 -1
  686. package/.next/static/chunks/37u2gjz5dzhep.js +0 -1
  687. package/.next/static/chunks/3ctec-7mnm19m.js +0 -1
  688. package/.next/static/chunks/40diykjra8f9n.js +0 -2107
  689. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_013qeb4._.js.map → 11mp_@anthropic-ai_sdk_0-smxh7._.js.map} +0 -0
  690. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_05ck8py._.js.map → 11mp_@anthropic-ai_sdk_0-upxuo._.js.map} +0 -0
  691. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_05w8m72._.js.map → 11mp_@anthropic-ai_sdk_00stvd0._.js.map} +0 -0
  692. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_086oevc._.js.map → 11mp_@anthropic-ai_sdk_05tlp4j._.js.map} +0 -0
  693. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_08rl0hf._.js.map → 11mp_@anthropic-ai_sdk_06i1jku._.js.map} +0 -0
  694. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_09ujrsu._.js.map → 11mp_@anthropic-ai_sdk_06pqlwo._.js.map} +0 -0
  695. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0c3_7p7._.js.map → 11mp_@anthropic-ai_sdk_06q_bm6._.js.map} +0 -0
  696. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0cto43x._.js.map → 11mp_@anthropic-ai_sdk_098dref._.js.map} +0 -0
  697. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0fgisb_._.js.map → 11mp_@anthropic-ai_sdk_09q07e_._.js.map} +0 -0
  698. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0fy8wd3._.js.map → 11mp_@anthropic-ai_sdk_09r9wsn._.js.map} +0 -0
  699. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0fyvizf._.js.map → 11mp_@anthropic-ai_sdk_0_rnqa6._.js.map} +0 -0
  700. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0hg0i2g._.js.map → 11mp_@anthropic-ai_sdk_0ch0mdl._.js.map} +0 -0
  701. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0i0sz05._.js.map → 11mp_@anthropic-ai_sdk_0didq3m._.js.map} +0 -0
  702. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0l0j9c6._.js.map → 11mp_@anthropic-ai_sdk_0dwtv_z._.js.map} +0 -0
  703. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0lcm61d._.js.map → 11mp_@anthropic-ai_sdk_0e8sqia._.js.map} +0 -0
  704. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0qtva5j._.js.map → 11mp_@anthropic-ai_sdk_0gk-rze._.js.map} +0 -0
  705. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0r4fkdu._.js.map → 11mp_@anthropic-ai_sdk_0gywxp1._.js.map} +0 -0
  706. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0wbae0t._.js.map → 11mp_@anthropic-ai_sdk_0h4l0yx._.js.map} +0 -0
  707. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0wxyz1t._.js.map → 11mp_@anthropic-ai_sdk_0hjmy82._.js.map} +0 -0
  708. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0y2cods._.js.map → 11mp_@anthropic-ai_sdk_0jbmnx_._.js.map} +0 -0
  709. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0zu0fj1._.js.map → 11mp_@anthropic-ai_sdk_0l7teck._.js.map} +0 -0
  710. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0zxpgt0._.js.map → 11mp_@anthropic-ai_sdk_0ldf-lc._.js.map} +0 -0
  711. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_10_cxcd._.js.map → 11mp_@anthropic-ai_sdk_0oe9p6l._.js.map} +0 -0
  712. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_10gb7d1._.js.map → 11mp_@anthropic-ai_sdk_0ppgi2h._.js.map} +0 -0
  713. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_12q70bs._.js.map → 11mp_@anthropic-ai_sdk_0ydb8nm._.js.map} +0 -0
  714. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_149ltk3._.js.map → 11mp_@anthropic-ai_sdk_11hsr1e._.js.map} +0 -0
  715. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_165_uiw._.js.map → 11mp_@anthropic-ai_sdk_14pgcis._.js.map} +0 -0
  716. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_19w4zh6._.js.map → 11mp_@anthropic-ai_sdk_15_sqq8._.js.map} +0 -0
  717. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1adck-s._.js.map → 11mp_@anthropic-ai_sdk_16up-b0._.js.map} +0 -0
  718. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1c2dwoi._.js.map → 11mp_@anthropic-ai_sdk_1_jm94w._.js.map} +0 -0
  719. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1d9lw_2._.js.map → 11mp_@anthropic-ai_sdk_1aswx0v._.js.map} +0 -0
  720. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1db6a7p._.js.map → 11mp_@anthropic-ai_sdk_1bkea9c._.js.map} +0 -0
  721. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1h2f90s._.js.map → 11mp_@anthropic-ai_sdk_1d41_6l._.js.map} +0 -0
  722. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1k5_i1z._.js.map → 11mp_@anthropic-ai_sdk_1d959rx._.js.map} +0 -0
  723. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1p3mv6i._.js.map → 11mp_@anthropic-ai_sdk_1eughke._.js.map} +0 -0
  724. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1qoom5s._.js.map → 11mp_@anthropic-ai_sdk_1ev29eb._.js.map} +0 -0
  725. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1qsbcbe._.js.map → 11mp_@anthropic-ai_sdk_1faxy2m._.js.map} +0 -0
  726. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1rk0x59._.js.map → 11mp_@anthropic-ai_sdk_1lginb1._.js.map} +0 -0
  727. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1sd98mi._.js.map → 11mp_@anthropic-ai_sdk_1pg6fky._.js.map} +0 -0
  728. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1sumqg8._.js.map → 11mp_@anthropic-ai_sdk_1qfho5e._.js.map} +0 -0
  729. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1t-rt4q._.js.map → 11mp_@anthropic-ai_sdk_1r9e6jv._.js.map} +0 -0
  730. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1tr-k4y._.js.map → 11mp_@anthropic-ai_sdk_1tjlpeq._.js.map} +0 -0
  731. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1xk3c39._.js.map → 11mp_@anthropic-ai_sdk_1wcdj4f._.js.map} +0 -0
  732. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_206l10_._.js.map → 11mp_@anthropic-ai_sdk_1x25dnb._.js.map} +0 -0
  733. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_20giys9._.js.map → 11mp_@anthropic-ai_sdk_1ywjkuh._.js.map} +0 -0
  734. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_20xrvvy._.js.map → 11mp_@anthropic-ai_sdk_1zbnql3._.js.map} +0 -0
  735. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_215tg00._.js.map → 11mp_@anthropic-ai_sdk_208gclq._.js.map} +0 -0
  736. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_018s_10._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_07rnikd._.js.map} +0 -0
  737. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_08d6i7w._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0cxqkzo._.js.map} +0 -0
  738. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_09_fd9g._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0iemvsj._.js.map} +0 -0
  739. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0eopml6._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0losy1p._.js.map} +0 -0
  740. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0f5epel._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0q2-o56._.js.map} +0 -0
  741. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0okfnhu._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0v9tonm._.js.map} +0 -0
  742. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0s8-ha8._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0ve_28v._.js.map} +0 -0
  743. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0ujs27r._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0vta7f6._.js.map} +0 -0
  744. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0uo7rs8._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0xme80s._.js.map} +0 -0
  745. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0vyq_2d._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_12tnhho._.js.map} +0 -0
  746. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0w3js74._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_14-nnf3._.js.map} +0 -0
  747. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0xa4-uq._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_14e0xcw._.js.map} +0 -0
  748. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_113y3so._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1cbywiw._.js.map} +0 -0
  749. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_12qcr96._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1d4fc7y._.js.map} +0 -0
  750. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_13ixdy8._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1e89sld._.js.map} +0 -0
  751. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1708vst._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1emt011._.js.map} +0 -0
  752. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1_rdguq._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1jgaffx._.js.map} +0 -0
  753. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1bgpe23._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1m9p_w8._.js.map} +0 -0
  754. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1f-tphn._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1mtv1gy._.js.map} +0 -0
  755. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1h1pqdh._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1plmrbl._.js.map} +0 -0
  756. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1hfj_1d._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1toqkb5._.js.map} +0 -0
  757. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1ih2qzz._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1yc8ml3._.js.map} +0 -0
  758. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1jatyl1._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1ycnogk._.js.map} +0 -0
  759. /package/.next/server/chunks/{[root-of-the-server]__1vzxnjb._.js.map → [root-of-the-server]__0adl8c2._.js.map} +0 -0
  760. /package/.next/server/chunks/{[root-of-the-server]__04ri_ci._.js.map → [root-of-the-server]__0r_831n._.js.map} +0 -0
  761. /package/.next/server/chunks/{[root-of-the-server]__0756_60._.js.map → [root-of-the-server]__0tzsbyx._.js.map} +0 -0
  762. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1v1zbha._.js.map → [root-of-the-server]__1_q8upn._.js.map} +0 -0
  763. /package/.next/server/chunks/{[root-of-the-server]__1zeys20._.js.map → [root-of-the-server]__1hz94ca._.js.map} +0 -0
  764. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1vyqs5z._.js.map → [root-of-the-server]__1pf07ha._.js.map} +0 -0
  765. /package/.next/server/chunks/{[root-of-the-server]__05-be3n._.js.map → ssr/0_nd_mermaid_dist_mermaid_core_mjs_1trh599._.js.map} +0 -0
  766. /package/.next/server/chunks/{[root-of-the-server]__0n0myt9._.js.map → ssr/1u84_katex_dist_katex_mjs_0wukkxe._.js.map} +0 -0
  767. /package/.next/server/chunks/ssr/{[root-of-the-server]__08z0szh._.js.map → [root-of-the-server]__0p_ieww._.js.map} +0 -0
  768. /package/.next/server/chunks/ssr/{[root-of-the-server]__1wdwnnp._.js.map → [root-of-the-server]__1ecvjg8._.js.map} +0 -0
  769. /package/.next/server/chunks/ssr/{0_nd_mermaid_dist_mermaid_core_mjs_0y_edkq._.js.map → _next-internal_server_app_(app)_getting-started_page_actions_18jod7i.js.map} +0 -0
  770. /package/.next/server/chunks/ssr/{1u84_katex_dist_katex_mjs_0yg8zto._.js.map → _next-internal_server_app_welcome_page_actions_1unjea7.js.map} +0 -0
  771. /package/.next/server/chunks/ssr/{node_modules__pnpm_03mp7qw._.js.map → node_modules__pnpm_0-6sq9f._.js.map} +0 -0
  772. /package/.next/server/chunks/ssr/{node_modules__pnpm_0jampur._.js.map → node_modules__pnpm_0-vta96._.js.map} +0 -0
  773. /package/.next/server/chunks/ssr/{_1r_t_wi._.js.map → node_modules__pnpm_04qn321._.js.map} +0 -0
  774. /package/.next/server/chunks/ssr/{node_modules__pnpm_0tn5pg3._.js.map → node_modules__pnpm_06r-oci._.js.map} +0 -0
  775. /package/.next/server/chunks/ssr/{node_modules__pnpm_0iu4132._.js.map → node_modules__pnpm_0fe8aya._.js.map} +0 -0
  776. /package/.next/server/chunks/ssr/{node_modules__pnpm_0oyo3yo._.js.map → node_modules__pnpm_0hpufx1._.js.map} +0 -0
  777. /package/.next/server/chunks/ssr/{node_modules__pnpm_00f4yhs._.js.map → node_modules__pnpm_0k5j0_5._.js.map} +0 -0
  778. /package/.next/server/chunks/ssr/{node_modules__pnpm_0x5wj-4._.js.map → node_modules__pnpm_0kv8p99._.js.map} +0 -0
  779. /package/.next/server/chunks/ssr/{node_modules__pnpm_06_8fr8._.js.map → node_modules__pnpm_0m-_au1._.js.map} +0 -0
  780. /package/.next/server/chunks/ssr/{node_modules__pnpm_1zme4rg._.js.map → node_modules__pnpm_0mrjd3b._.js.map} +0 -0
  781. /package/.next/server/chunks/ssr/{node_modules__pnpm_0mqeoh-._.js.map → node_modules__pnpm_0p2ufg5._.js.map} +0 -0
  782. /package/.next/server/chunks/ssr/{node_modules__pnpm_03mpmzx._.js.map → node_modules__pnpm_0r2omyh._.js.map} +0 -0
  783. /package/.next/server/chunks/ssr/{node_modules__pnpm_0_e05ka._.js.map → node_modules__pnpm_0uh9zwf._.js.map} +0 -0
  784. /package/.next/server/chunks/ssr/{node_modules__pnpm_035haet._.js.map → node_modules__pnpm_0ujugl_._.js.map} +0 -0
  785. /package/.next/server/chunks/ssr/{node_modules__pnpm_0lkvbt-._.js.map → node_modules__pnpm_0v-_iaj._.js.map} +0 -0
  786. /package/.next/server/chunks/ssr/{node_modules__pnpm_0rq9x9q._.js.map → node_modules__pnpm_0xin4nu._.js.map} +0 -0
  787. /package/.next/server/chunks/ssr/{node_modules__pnpm_139-v1i._.js.map → node_modules__pnpm_1-zfovp._.js.map} +0 -0
  788. /package/.next/server/chunks/ssr/{node_modules__pnpm_1i_chik._.js.map → node_modules__pnpm_11p7w0z._.js.map} +0 -0
  789. /package/.next/server/chunks/ssr/{node_modules__pnpm_1jgju12._.js.map → node_modules__pnpm_16l16l0._.js.map} +0 -0
  790. /package/.next/server/chunks/ssr/{node_modules__pnpm_1n9oeu0._.js.map → node_modules__pnpm_16vl5yb._.js.map} +0 -0
  791. /package/.next/server/chunks/ssr/{node_modules__pnpm_1ydeqw6._.js.map → node_modules__pnpm_1alnvos._.js.map} +0 -0
  792. /package/.next/server/chunks/ssr/{node_modules__pnpm_03an60e._.js.map → node_modules__pnpm_1e_74v6._.js.map} +0 -0
  793. /package/.next/server/chunks/ssr/{node_modules__pnpm_2045l51._.js.map → node_modules__pnpm_1kvkjrs._.js.map} +0 -0
  794. /package/.next/server/chunks/ssr/{node_modules__pnpm_0j_-le7._.js.map → node_modules__pnpm_1l4yejo._.js.map} +0 -0
  795. /package/.next/server/chunks/ssr/{node_modules__pnpm_1ws3ez9._.js.map → node_modules__pnpm_1uly489._.js.map} +0 -0
  796. /package/.next/server/chunks/ssr/{node_modules__pnpm_1zum4yd._.js.map → node_modules__pnpm_1xntybk._.js.map} +0 -0
  797. /package/.next/server/chunks/ssr/{node_modules__pnpm_09nd7ia._.js.map → node_modules__pnpm_20g30gl._.js.map} +0 -0
  798. /package/.next/static/{P1gxTEpKVh-OOtIXC432U → BQD2S1kA-_gIYFyMKyJ2F}/_buildManifest.js +0 -0
  799. /package/.next/static/{P1gxTEpKVh-OOtIXC432U → BQD2S1kA-_gIYFyMKyJ2F}/_clientMiddlewareManifest.js +0 -0
  800. /package/.next/static/{P1gxTEpKVh-OOtIXC432U → BQD2S1kA-_gIYFyMKyJ2F}/_ssgManifest.js +0 -0
@@ -1,12 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,185914,e=>{"use strict";var t=e.i(72345),s=e.i(180338),n=e.i(910172),r=e.i(763371),a=e.i(998822),i=e.i(635743),l=e.i(155515),o=e.i(161863),d=e.i(975157),c=e.i(793479),m=e.i(35032);let u=["convention","gotcha","decision","preference"],x=new Set("a an and are as at be but by can do does for from how i if in into is it its of on or our so that the their then there these this to use used using was we what when where which who why will with you your".split(" "));function p(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(e=>e.length>1&&!x.has(e)).map(e=>e.length>3&&e.endsWith("s")&&!e.endsWith("ss")?e.slice(0,-1):e)}function h(e){return Math.ceil(e.length/4)}function f({entries:e,selectedId:n,onOpen:r,onNew:a}){let[i,x]=(0,s.useState)(""),[b,g]=(0,s.useState)(null),y=(0,s.useMemo)(()=>{var t,s;let n,r,a;return t=e,r=new Map((n=(s={query:i,type:b}).type?t.filter(e=>e.type===s.type):t).map(e=>[e.id,e])),(p(a=s.query??"").length?function(e,t,s={}){let n=[...new Set(p(t))];if(!n.length)return[];let r=[];for(let t of e){if(s.type&&t.type!==s.type)continue;let e=new Set(p(t.summary)),a=new Set(p(t.body)),i=new Set([t.id.toLowerCase(),...p(t.type)]),l=0;for(let t of n)e.has(t)&&(l+=3),i.has(t)&&(l+=2),a.has(t)&&(l+=1);l>0&&r.push({id:t.id,type:t.type,summary:t.summary,tokens:h(`${t.summary}
2
- ${t.body}`),score:l,updatedAt:t.updatedAt})}return r.sort((e,t)=>t.score-e.score||t.updatedAt.localeCompare(e.updatedAt)),r.slice(0,s.limit??10).map(({updatedAt:e,...t})=>t)}(n,a,{limit:n.length}):[...n].sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt)||e.id.localeCompare(t.id,"en",{numeric:!0})).map(e=>({id:e.id,type:e.type,summary:e.summary,tokens:h(`${e.summary}
3
- ${e.body}`),score:0}))).map(e=>r.get(e.id)).filter(e=>!!e)},[e,i,b]),v=(0,s.useMemo)(()=>{let t={};for(let s of e)t[s.type]=(t[s.type]??0)+1;return t},[e]),j=p(i).length>0,N=(e,s,n)=>(0,t.jsxs)("button",{type:"button","aria-pressed":b===e,onClick:()=>g(e),className:(0,d.cn)("h-6 rounded-[5px] border border-transparent px-2 text-xs font-medium text-muted outline-none transition-colors","hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",b===e&&"border-border2 bg-surface2 text-txt"),children:[s," ",(0,t.jsx)("span",{className:"font-mono text-[10px] opacity-70",children:n})]},s);return(0,t.jsxs)("section",{"aria-label":"Knowledge entries",className:"flex min-w-0 flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,t.jsx)("h2",{className:"font-display text-base font-semibold tracking-tight",children:"Knowledge entries"}),(0,t.jsxs)("button",{type:"button",onClick:a,className:"inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-muted outline-none hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",children:[(0,t.jsx)(l.Plus,{className:"size-3.5","aria-hidden":!0})," New entry"]})]}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(o.Search,{className:"pointer-events-none absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-muted","aria-hidden":!0}),(0,t.jsx)(c.Input,{id:"memory-search",type:"search",value:i,onChange:e=>x(e.target.value),placeholder:"Search entries…","aria-label":"Search entries",className:"h-8 pl-8"})]}),(0,t.jsxs)("div",{role:"group","aria-label":"Filter by type",className:"flex flex-wrap gap-1",children:[N(null,"All",e.length),u.map(e=>N(e,e,v[e]??0))]}),0===e.length?(0,t.jsxs)("p",{className:"rounded-xl border border-dashed border-border p-4 text-sm text-muted",children:["No knowledge entries yet. Agents save them with ",(0,t.jsx)("code",{className:"font-mono text-xs",children:"vibedoc_save_entry"}),"."]}):0===y.length?(0,t.jsxs)("p",{className:"p-2 text-sm text-muted",children:["No entries match ",j?`"${i.trim()}"`:"this filter","."]}):(0,t.jsx)("ul",{className:"flex flex-col divide-y divide-border rounded-xl border border-border bg-surface",children:y.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>r(e.id),"aria-current":e.id===n?"true":void 0,className:(0,d.cn)("flex w-full flex-col gap-0.5 px-3 py-2 text-left outline-none transition-colors hover:bg-surface2 focus-visible:bg-surface2",e.id===n&&"bg-surface2 shadow-[inset_2px_0_0_var(--color-accent-edge)]"),children:[(0,t.jsxs)("span",{className:"flex items-center gap-2 font-mono text-[11px] text-muted",children:[(0,t.jsx)("span",{children:e.id}),(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{children:e.type}),(0,t.jsxs)("span",{className:"ml-auto flex items-center gap-2",children:[(0,t.jsx)(m.OwnerChip,{owner:e.by,className:"font-sans"}),e.updatedAt]})]}),(0,t.jsx)("span",{className:"text-sm text-txt",children:e.summary})]})},e.id))})]})}var b=e.i(424991),g=e.i(458055),y=e.i(765470),v=e.i(519455),j=e.i(508540);function N({entry:e,rootParam:n,onSaved:r,onDelete:i,onClose:l,children:o}){let[d,x]=(0,s.useState)(null===e),[p,h]=(0,s.useState)(()=>w(e)),[f,k]=(0,s.useState)(null),[C,S]=(0,s.useState)(!1),E=()=>{e?(x(!1),k(null)):l()},M=async()=>{let t=function(e){let t;if(void 0!==e.id&&!function(e){let t=/^e(\d+)$/i.exec(e.trim());if(!t)return null;let s=Number(t[1]);return s>0?`E${String(s).padStart(3,"0")}`:null}(String(e.id)))return`Invalid id "${e.id}": expected E followed by a number, e.g. E001`;if(t=String(e.type??""),!u.includes(t))return`Invalid type "${e.type??""}": use one of ${u.join(", ")}`;let s=String(e.summary??"").trim();return s?/\n/.test(s)?"summary must be one line":s.length>120?`summary is ${s.length} characters; keep it to 120`:void 0!==e.body&&"string"!=typeof e.body?"body must be a string":null:"summary is required"}({...p,id:e?.id});if(t)return void k(t);S(!0),k(null);try{let t=await fetch(`/api/memory/entries/save${n}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...e?{id:e.id}:{},...p})}),s=await t.json().catch(()=>({}));if(!t.ok||!s.entry)throw Error(s.error??`Save failed (${t.status})`);x(!1),r(s.entry)}catch(e){k(e instanceof Error?e.message:String(e))}finally{S(!1)}};(0,s.useEffect)(()=>{if(d||!e)return;let t=t=>{if("Backspace"!==t.key&&"Delete"!==t.key||t.metaKey||t.ctrlKey||t.altKey)return;let s=t.target;s&&(s.isContentEditable||["INPUT","TEXTAREA","SELECT"].includes(s.tagName))||(t.preventDefault(),i(e))};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[d,e,i]);let $=(0,t.jsx)("button",{type:"button",onClick:l,"aria-label":"Close entry",className:"rounded p-1 text-muted hover:bg-surface2 hover:text-txt",children:(0,t.jsx)(y.X,{className:"size-3.5"})});return d?(0,t.jsx)("section",{"aria-label":e?`Edit ${e.id}`:"New entry",className:"rounded-xl border border-border bg-surface",children:(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),M()},onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),E()),"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),M())},className:"flex flex-col gap-3 p-5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between font-mono text-[11px] text-muted",children:[(0,t.jsx)("span",{children:e?`${e.id} \xb7 editing`:"New entry"}),$]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-muted",children:["Type",(0,t.jsx)("select",{value:p.type,onChange:e=>h({...p,type:e.target.value}),className:"h-8 rounded-md border border-border bg-bg px-2 text-sm text-txt focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent",children:u.map(e=>(0,t.jsx)("option",{value:e,children:e},e))})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-muted",children:["Summary (one line)",(0,t.jsx)(c.Input,{autoFocus:!0,value:p.summary,onChange:e=>h({...p,summary:e.target.value}),maxLength:200,className:"h-8 text-txt"})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-muted",children:["Details (markdown)",(0,t.jsx)("textarea",{value:p.body,onChange:e=>h({...p,body:e.target.value}),rows:8,className:"w-full resize-y rounded-md border border-border bg-bg px-3 py-2 font-mono text-xs text-txt focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent"})]}),f&&(0,t.jsx)("p",{role:"alert",className:"text-xs text-danger",children:f}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,t.jsx)("span",{className:"mr-auto text-[11px] text-muted",children:"⌘↵ save · Esc cancel"}),(0,t.jsx)(v.Button,{type:"button",variant:"ghost",size:"sm",onClick:E,children:"Cancel"}),(0,t.jsx)(v.Button,{type:"submit",size:"sm",disabled:C,children:C?"Saving…":"Save"})]})]})}):e?(0,t.jsxs)("section",{"aria-label":e.id,className:"rounded-xl border border-border bg-surface",children:[(0,t.jsx)(j.ItemPanelHeader,{kicker:(0,t.jsxs)("span",{children:[e.id," · entry"]}),menu:(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsxs)(v.Button,{variant:"ghost",size:"sm",onClick:()=>{h(w(e)),k(null),x(!0)},className:"h-7 px-2 text-xs",children:[(0,t.jsx)(b.Pencil,{className:"size-3.5"})," Edit"]}),(0,t.jsxs)(v.Button,{variant:"ghost",size:"sm",onClick:()=>i(e),title:"Delete (⌫)",className:"h-7 px-2 text-xs hover:text-danger",children:[(0,t.jsx)(g.Trash2,{className:"size-3.5"})," Delete"]}),$]}),title:e.summary,properties:[{label:"Type",value:e.type},{label:"Updated",value:e.updatedAt||null},{label:"Changed by",value:e.by?(0,t.jsx)(m.OwnerChip,{owner:e.by,className:"text-xs text-txt"}):null},{label:"File",value:(0,t.jsx)("span",{className:"truncate font-mono text-[11px] text-muted",children:e.file})}]}),(0,t.jsxs)("div",{className:"p-5",children:[e.body?(0,t.jsx)(a.MarkdownRenderer,{content:e.body}):(0,t.jsx)("p",{className:"text-sm text-muted",children:"No details."}),o]})]}):null}function w(e){return e?{type:e.type,summary:e.summary,body:e.body}:{type:"convention",summary:"",body:""}}var k=e.i(862249),C=e.i(675964),S=e.i(83790);let E={name:"git-commit-horizontal",size:24,node:[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]],aliases:["git-commit"]};E.node;let M=(0,S.default)(E);function $({entryId:e}){let{rootParam:n}=(0,r.useApp)(),[a,i]=(0,s.useState)(!1),[l,o]=(0,s.useState)(null),[c,m]=(0,s.useState)(null),[u,x]=(0,s.useState)(null),p=`/api/memory/history${n}&entry=${encodeURIComponent(e)}`,h=async e=>{let t=await fetch(e),s=await t.json().catch(()=>({}));if(!t.ok)throw Error(s.error??`Request failed (${t.status})`);return s},f=async()=>{let e=!a;if(i(e),e&&!l)try{o(await h(p))}catch(e){m(e instanceof Error?e.message:String(e))}},b=async e=>{try{let{text:t}=await h(`${p}&sha=${e.sha}`);x({commit:e,text:t})}catch(e){m(e instanceof Error?e.message:String(e))}};return(0,t.jsxs)("section",{"aria-label":"History",className:"mt-4 border-t border-border pt-3",children:[(0,t.jsxs)("button",{type:"button",onClick:f,"aria-expanded":a,className:"flex items-center gap-1 rounded text-xs font-semibold text-txt outline-none focus-visible:ring-2 focus-visible:ring-accent",children:[(0,t.jsx)(C.ChevronRight,{className:(0,d.cn)("size-3.5 text-muted transition-transform",a&&"rotate-90"),"aria-hidden":!0}),"History"]}),a&&(0,t.jsxs)("div",{className:"mt-2 flex flex-col gap-2",children:[c&&(0,t.jsx)("p",{role:"alert",className:"text-xs text-danger",children:c}),!l&&!c&&(0,t.jsx)("p",{className:"text-xs text-muted",children:"Loading history…"}),l?.reason==="no-git"&&(0,t.jsx)("p",{className:"text-xs text-muted",children:"History needs git: this project is not a git repository."}),l&&!l.reason&&!l.history.length&&!l.uncommitted&&(0,t.jsx)("p",{className:"text-xs text-muted",children:"Not committed yet."}),l&&(l.uncommitted||l.history.length>0)&&(0,t.jsxs)("ul",{className:"flex flex-col",children:[l.uncommitted&&(0,t.jsxs)("li",{className:"flex items-center gap-2 px-2 py-1 text-xs text-muted",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-accent","aria-hidden":!0})," Uncommitted changes"]}),l.history.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>b(e),"aria-current":u?.commit.sha===e.sha?"true":void 0,className:(0,d.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1 text-left text-xs outline-none hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent",u?.commit.sha===e.sha&&"bg-surface2"),children:[(0,t.jsx)(M,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:e.date.slice(0,10)}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-txt",children:e.subject}),(0,t.jsx)("span",{className:"shrink-0 text-muted",children:e.author})]})},e.sha))]}),u&&(0,t.jsxs)("div",{className:"rounded-md border border-border bg-bg",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-3 py-1.5 font-mono text-[11px] text-muted",children:[(0,t.jsxs)("span",{children:[u.commit.sha.slice(0,7)," · ",u.commit.date.slice(0,10)," · read-only"]}),(0,t.jsx)("button",{type:"button",onClick:()=>x(null),"aria-label":"Close version",className:"rounded p-0.5 hover:text-txt",children:(0,t.jsx)(y.X,{className:"size-3.5"})})]}),(0,t.jsx)("pre",{className:"max-h-72 overflow-auto whitespace-pre-wrap p-3 font-mono text-xs text-txt",children:u.text})]})]})]})}var D=e.i(211672),R=e.i(301702),z=e.i(464750),A=e.i(694628);let O={epic:-2,task:-1,entry:0,adr:1,doc:2},T={"--xy-background-color":"var(--color-bg)"};function L(e){let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>t.disconnect()}let I={mem:(0,s.memo)(function({data:e}){let{node:s,status:n,unlinked:r,dim:a,active:i}=e,l=k.KIND_ICON[s.kind];return(0,t.jsxs)("div",{title:s.path,style:{width:196},className:(0,d.cn)("flex items-center gap-2 rounded-md border bg-surface px-2.5 py-1.5 text-xs transition-opacity","entry"===s.kind?"border-border2":"border-border",i&&"border-accent ring-1 ring-accent",r&&"border-dashed opacity-60",a&&"opacity-25"),children:[["l","r"].map(e=>(0,t.jsxs)("span",{children:[(0,t.jsx)(D.Handle,{id:e,type:"source",position:"l"===e?R.Position.Left:R.Position.Right,isConnectable:!1,className:"opacity-0"}),(0,t.jsx)(D.Handle,{id:`${e}-t`,type:"target",position:"l"===e?R.Position.Left:R.Position.Right,isConnectable:!1,className:"opacity-0"})]},e)),n?(0,t.jsx)(z.StatusIcon,{status:n,className:"size-3.5 shrink-0"}):(0,t.jsx)(l,{className:(0,d.cn)("size-3.5 shrink-0","entry"===s.kind?"text-accent":"text-muted"),"aria-hidden":!0}),"doc"!==s.kind&&(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:s.id}),(0,t.jsx)("span",{className:(0,d.cn)("min-w-0 truncate","entry"===s.kind?"text-txt":"text-muted"),children:s.label})]})})};function _({entries:e,selectedId:n,onOpenEntry:a}){let{rootParam:i,summary:l,board:o}=(0,r.useApp)(),d=(0,k.useOpenNode)(a),[c,m]=(0,s.useState)(null),u=(0,s.useSyncExternalStore)(L,()=>document.documentElement.classList.contains("dark"),()=>!0);(0,s.useEffect)(()=>{let e=!0;return fetch(`/api/memory/graph${i}`).then(e=>e.json()).then(t=>{e&&m(t.nodes?t:{nodes:[],edges:[]})}).catch(t=>{console.warn("Loading the memory graph failed",t),e&&m({nodes:[],edges:[]})}),()=>{e=!1}},[i,l]);let{nodes:x,edges:p}=(0,s.useMemo)(()=>{if(!c)return{nodes:[],edges:[]};let t=function(e,t={}){let s={},n=e=>Number(e.replace(/\D/g,""))||0;e.nodes.filter(e=>"entry"===e.kind).sort((e,s)=>(t[e.id]??"").localeCompare(t[s.id]??"")||n(e.id)-n(s.id)).forEach((e,t)=>{s[e.id]={x:0,y:48*t}});let r=new Map;for(let{from:t,to:n}of e.edges)for(let[e,a]of[[t,n],[n,t]])s[a]&&!s[e]&&r.set(e,[...r.get(e)??[],s[a].y]);for(let t of["epic","task","adr","doc"]){let n=e.nodes.filter(e=>e.kind===t).map(e=>{let t=r.get(e.id)??[0];return{id:e.id,want:t.reduce((e,t)=>e+t,0)/t.length}}).sort((e,t)=>e.want-t.want||e.id.localeCompare(t.id,"en",{numeric:!0})),a=-1/0;for(let{id:e,want:r}of n){let n=Math.max(r,a);s[e]={x:240*O[t],y:n},a=n+48}}return s}(c,Object.fromEntries(e.map(e=>[e.id,e.type]))),s=new Map(Object.values(o??{}).flat().map(e=>[e.id,e])),r=new Set(c.edges.flatMap(e=>[e.from,e.to])),a=n&&t[n]?new Set([n,...c.edges.filter(e=>e.from===n||e.to===n).flatMap(e=>[e.from,e.to])]):null;return{nodes:c.nodes.map(e=>{let i="task"===e.kind?s.get(e.id):void 0;return{id:e.id,type:"mem",position:t[e.id]??{x:0,y:0},data:{node:e,status:i?(0,A.displayStatus)(i):void 0,unlinked:"entry"===e.kind&&!r.has(e.id),dim:!!a&&!a.has(e.id),active:e.id===n},draggable:!1}}),edges:c.edges.map(e=>{let s=t[e.from]?.x??0,r=t[e.to]?.x??0,i=r<s,l=!!a&&(e.from===n||e.to===n);return{id:`${e.from}->${e.to}`,source:e.from,target:e.to,sourceHandle:i?"l":"r",targetHandle:i||r===s?"r-t":"l-t",style:{stroke:l?"var(--color-accent)":"var(--color-border2)",strokeWidth:l?1.75:1,opacity:a&&!l?.15:1}}})}},[c,e,o,n]);return c?c.nodes.length?(0,t.jsx)("div",{"aria-label":"Memory graph",className:"h-[70vh] min-h-[420px] overflow-hidden rounded-xl border border-border",children:(0,t.jsxs)(D.ReactFlow,{nodes:x,edges:p,nodeTypes:I,onNodeClick:(e,t)=>d(t.data.node),nodesConnectable:!1,nodesDraggable:!1,deleteKeyCode:null,colorMode:u?"dark":"light",onlyRenderVisibleElements:x.length>150,fitView:!0,fitViewOptions:{padding:.1,minZoom:.8,maxZoom:1},minZoom:.1,style:T,children:[(0,t.jsx)(D.Background,{variant:D.BackgroundVariant.Dots,gap:20,size:1}),(0,t.jsx)(D.Controls,{showInteractive:!1})]})}):(0,t.jsx)("p",{className:"rounded-xl border border-dashed border-border p-4 text-sm text-muted",children:"No entries to draw yet."}):(0,t.jsx)("p",{className:"text-sm text-muted",children:"Loading graph…"})}var P=e.i(496385),K=e.i(314175),B=e.i(776639);function H(e,t){let s=[e,...t.filter(t=>t.id!==e.id)].map(e=>e.body.trim()).filter(Boolean).join("\n\n---\n\n");return{type:e.type,summary:e.summary,body:s}}function q({group:e,onClose:n,onApprove:r,returnFocus:a}){let i=[...e].sort((e,t)=>e.id.localeCompare(t.id,"en",{numeric:!0})),[l,o]=(0,s.useState)(i[0].id),[m,x]=(0,s.useState)(()=>H(i[0],i)),[p,h]=(0,s.useState)(null),[f,b]=(0,s.useState)(!1);async function g(){if(f||!m.summary.trim())return;b(!0);let e=await r({keepId:l,dropIds:i.filter(e=>e.id!==l).map(e=>e.id),...m});b(!1),e?h(e):n()}return(0,t.jsx)(B.Dialog,{open:!0,onOpenChange:e=>{e||n()},children:(0,t.jsxs)(B.DialogContent,{onCloseAutoFocus:e=>{let t=a?.current;t?.isConnected&&(e.preventDefault(),t.focus())},className:"max-h-[90vh] max-w-3xl overflow-y-auto border-border bg-surface text-txt shadow-xl shadow-black/20",children:[(0,t.jsx)(B.DialogTitle,{className:"text-sm font-semibold text-txt",children:"Merge entries"}),(0,t.jsx)(B.DialogDescription,{className:"text-xs text-muted",children:"Pick the entry to keep and edit the merged text. The others are deleted; mentions of them point to the kept id."}),(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),g()},onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),g())},className:"flex min-w-0 flex-col gap-3",children:[(0,t.jsxs)("fieldset",{className:"grid min-w-0 gap-2 sm:grid-cols-2",children:[(0,t.jsx)("legend",{className:"sr-only",children:"Entry to keep"}),i.map(e=>(0,t.jsxs)("label",{className:(0,d.cn)("flex min-w-0 cursor-pointer flex-col gap-1.5 rounded-lg border bg-bg p-3 transition-colors duration-(--duration-fast)",e.id===l?"border-accent":"border-border hover:border-border2"),children:[(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)("input",{type:"radio",name:"keep",value:e.id,checked:e.id===l,onChange:()=>{var t;o(t=e.id),x(H(i.find(e=>e.id===t)??i[0],i))},className:"size-3.5 accent-accent focus-visible:outline-2 focus-visible:outline-accent"}),(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.id}),(0,t.jsx)("span",{className:"font-mono text-[10px] text-muted",children:e.type}),(0,t.jsx)("span",{className:"ml-auto text-muted",children:e.id===l?"Keep":"Delete"})]}),(0,t.jsx)("span",{className:"text-[13px] font-medium text-txt",children:e.summary}),e.body&&(0,t.jsx)("span",{className:"line-clamp-6 whitespace-pre-wrap font-mono text-[11px] text-muted",children:e.body})]},e.id))]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-muted",children:["Type",(0,t.jsx)("select",{value:m.type,onChange:e=>x({...m,type:e.target.value}),className:"h-8 rounded-md border border-border bg-bg px-2 text-sm text-txt focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent",children:u.map(e=>(0,t.jsx)("option",{value:e,children:e},e))})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-muted",children:["Merged summary (one line)",(0,t.jsx)(c.Input,{value:m.summary,onChange:e=>x({...m,summary:e.target.value}),maxLength:200,className:"h-8 text-txt"})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-muted",children:["Merged details (markdown)",(0,t.jsx)("textarea",{value:m.body,onChange:e=>x({...m,body:e.target.value}),rows:8,className:"w-full resize-y rounded-md border border-border bg-bg px-3 py-2 font-mono text-xs text-txt focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent"})]}),p&&(0,t.jsx)("p",{role:"alert",className:"text-xs text-danger",children:p}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,t.jsx)("span",{className:"mr-auto font-mono text-[11px] text-muted",children:"⌘↵ approve · Esc cancel"}),(0,t.jsx)(v.Button,{type:"button",variant:"ghost",size:"sm",onClick:n,children:"Cancel"}),(0,t.jsx)(v.Button,{type:"submit",size:"sm",disabled:f||!m.summary.trim(),children:f?"Merging…":`Merge into ${l}`})]})]})]})})}let U=[{kind:"contradiction",label:"Contradicts the board"},{kind:"dangling-ref",label:"Missing items"},{kind:"duplicate",label:"Possible duplicates"},{kind:"stale",label:"Not recalled lately"}];function W({flags:e,entries:a,onDismiss:i,onMerge:l,onDelete:o,onOpenEntry:c,onClose:m}){let u=(0,n.useRouter)(),{board:x}=(0,r.useApp)(),[p,h]=(0,s.useState)(!1),[f,b]=(0,s.useState)(null),y=(0,s.useRef)(null),v=(0,s.useRef)(null),j=(0,s.useRef)(null),N=(0,s.useMemo)(()=>new Map(Object.values(x??{}).flat().map(e=>[e.id,e])),[x]),w=(0,s.useMemo)(()=>new Map((a??[]).map(e=>[e.id,e.summary])),[a]),k=(e??[]).filter(e=>p||!e.dismissed),C=f&&(a??[]).filter(e=>f.includes(e.id)),S=(e??[]).filter(e=>e.dismissed).length,E=k.map(e=>e.id).join(" ");(0,s.useEffect)(()=>{let e=v.current;if(!e||E.split(" ").includes(e.id))return;v.current=null;let t=j.current?.querySelectorAll("li[data-flag]")??[],s=t[Math.min(e.index,t.length-1)],n=s?.querySelector("button[data-action]")??j.current?.querySelector("h2");n?.focus()},[E]);let M=e=>{v.current={id:e.id,index:k.indexOf(e)}},$=e=>{let s=N.get(e),n=s?.title??w.get(e);return(0,t.jsxs)("button",{type:"button",onClick:()=>{e.startsWith("T")?u.push(`/board?task=${e}`):e.startsWith("R")?u.push(`/roadmap?item=${e}`):e.startsWith("E")&&c(e)},className:"inline-flex max-w-full items-center gap-1.5 rounded-sm px-1.5 py-0.5 text-left text-xs outline-none transition-colors duration-(--duration-fast) hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent",children:[s&&(0,t.jsx)(z.StatusIcon,{status:(0,A.displayStatus)(s),className:"size-3.5 shrink-0"}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:e}),n&&(0,t.jsx)("span",{className:"min-w-0 truncate text-txt",children:n})]},e)},D=e=>{let s="warn"===e.severity?P.AlertTriangle:K.Info;return(0,t.jsxs)("li",{"data-flag":e.id,className:(0,d.cn)("flex items-start gap-2 rounded-lg border border-border bg-surface px-3 py-2.5",e.dismissed&&"opacity-60"),children:[(0,t.jsx)(s,{className:(0,d.cn)("mt-0.5 size-3.5 shrink-0","warn"!==e.severity||e.dismissed?"text-muted":"text-amber"),"aria-label":"warn"===e.severity?"Warning":"Note"}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,t.jsx)("p",{className:(0,d.cn)("text-[13px]",e.dismissed?"text-muted":"text-txt"),children:e.message.split(/\b([TRE]\d+)\b/).map((e,s)=>s%2?(0,t.jsx)("span",{className:"font-mono text-[12px]",children:e},s):e)}),e.refs.length>0&&(0,t.jsx)("div",{className:(0,d.cn)("-ml-1.5 flex gap-1","duplicate"===e.kind?"flex-col items-start":"flex-wrap"),children:e.refs.map($)})]}),e.suggestion?.action==="merge"&&!e.dismissed&&(0,t.jsx)("button",{type:"button","data-action":!0,onClick:t=>{y.current=t.currentTarget,b(e.suggestion?.ids??null)},className:"h-6 shrink-0 rounded-md border border-border px-2 text-xs text-txt outline-none transition-colors duration-(--duration-fast) hover:border-border2 hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent",children:"Merge…"}),e.suggestion?.action==="delete"&&!e.dismissed&&(0,t.jsxs)("button",{type:"button","data-action":!0,onClick:()=>{M(e),e.suggestion?.ids.forEach(o)},"aria-label":`Delete ${e.suggestion.ids.join(", ")}`,className:"inline-flex h-6 shrink-0 items-center gap-1 rounded-md border border-border px-2 text-xs text-txt outline-none transition-colors duration-(--duration-fast) hover:border-border2 hover:bg-surface2 hover:text-danger focus-visible:ring-2 focus-visible:ring-accent",children:[(0,t.jsx)(g.Trash2,{className:"size-3","aria-hidden":!0})," Delete"]}),e.dismissed?(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted",title:"Dismissed on",children:["dismissed ",e.dismissed]}):(0,t.jsx)("button",{type:"button","data-action":!0,onClick:()=>{p||M(e),i(e)},className:"h-6 shrink-0 rounded-md px-2 text-xs text-muted outline-none transition-colors duration-(--duration-fast) hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",children:"Dismiss"})]},e.id)};return(0,t.jsxs)("section",{ref:j,"aria-label":"Cleanup",className:"min-w-0",children:[(0,t.jsxs)("div",{className:"mb-3 flex items-baseline justify-between gap-3",children:[(0,t.jsx)("h2",{tabIndex:-1,className:"outline-none font-display text-base font-semibold tracking-tight",children:"Cleanup"}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[S>0&&(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 text-xs text-muted",children:[(0,t.jsx)("input",{type:"checkbox",checked:p,onChange:e=>h(e.target.checked),className:"size-3.5 accent-accent focus-visible:outline-2 focus-visible:outline-accent"}),"Show dismissed ",(0,t.jsx)("span",{className:"font-mono text-[10px]",children:S})]}),(0,t.jsx)("button",{type:"button",onClick:m,className:"text-xs text-muted underline-offset-2 outline-none hover:text-txt hover:underline focus-visible:ring-2 focus-visible:ring-accent",children:"Show the handoff"})]})]}),null===e?(0,t.jsx)("p",{className:"text-sm text-muted",children:"Checking memory…"}):k.length?(0,t.jsx)("div",{className:"flex flex-col gap-4",children:U.map(({kind:e,label:s})=>{let n=k.filter(t=>t.kind===e);return n.length?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsxs)("h3",{className:"font-mono text-[10px] font-medium uppercase tracking-[0.06em] text-muted",children:[s," ",(0,t.jsx)("span",{children:n.filter(e=>!e.dismissed).length})]}),(0,t.jsx)("ul",{className:"flex flex-col gap-1.5",children:n.map(D)})]},e):null})}):(0,t.jsx)("p",{className:"rounded-xl border border-dashed border-border p-5 text-sm text-muted",children:"Memory looks clean"}),C&&C.length>1&&(0,t.jsx)(q,{group:C,onClose:()=>b(null),onApprove:l,returnFocus:y},C.map(e=>e.id).join("+"))]})}let F={name:"rotate-ccw-clock",size:24,node:[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],aliases:["history"]};F.node;let V=(0,S.default)(F);var Y=e.i(608568),X=e.i(222581),Z=e.i(329090);function J({versions:e,current:n,rootParam:r,selectedId:a,onSelect:i,onClose:l,onRestore:o}){let[c,u]=(0,s.useState)(null),[x,p]=(0,s.useState)(!1),h=e?.find(e=>e.id===a)??null;(0,s.useEffect)(()=>{if(!a)return;let e=!0;return fetch(`/api/memory/versions${r}&id=${encodeURIComponent(a)}`).then(async t=>{let s=await t.json().catch(()=>({}));if(!t.ok)throw Error(s.error??`Request failed (${t.status})`);e&&u({id:a,content:String(s.content??"")})}).catch(t=>{e&&u({id:a,error:t instanceof Error?t.message:String(t)})}),()=>{e=!1}},[a,r]),(0,s.useEffect)(()=>{let e=e=>{if("Escape"!==e.key||e.defaultPrevented)return;let t=e.target;t?.closest("input, textarea, select, [contenteditable=true], [role=dialog]")||l()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[l]);let f=c&&c.id===a?c:null,b=(0,s.useMemo)(()=>f&&"content"in f?(0,Y.visibleHunks)((0,Y.lineDiff)(n,f.content)):[],[f,n]),g=b.filter(e=>"number"!=typeof e&&"+"===e.op).length,v=b.filter(e=>"number"!=typeof e&&"-"===e.op).length,j=g+v>0,N=async()=>{if(h){p(!0);try{await o(h)}finally{p(!1)}}};return(0,t.jsxs)("section",{"aria-label":"MEMORY.md history",className:"flex flex-col gap-3",children:[!e&&(0,t.jsx)("p",{className:"text-sm text-muted",children:"Loading history…"}),e?.length===0&&(0,t.jsx)("div",{className:"rounded-xl border border-dashed border-border p-5 text-sm text-muted",children:"No earlier versions yet. VibeDoc saves one before each handoff."}),e&&e.length>0&&(0,t.jsx)("ul",{className:"flex flex-col rounded-xl border border-border bg-surface p-1",children:e.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>i(e.id===a?null:e.id),"aria-current":e.id===a?"true":void 0,className:(0,d.cn)("flex w-full min-w-0 flex-col gap-0.5 rounded-md px-2 py-1.5 text-left text-xs outline-none hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent",e.id===a&&"bg-surface2"),children:[(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)(V,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),(0,t.jsx)("time",{dateTime:e.at,title:new Date(e.at).toLocaleString(),className:"shrink-0 font-mono text-[11px] text-muted",children:(0,Z.timeAgo)(e.at)}),(0,t.jsx)(m.OwnerChip,{owner:(0,X.parseOwner)(e.actor),className:"shrink-0"}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:"restore"===e.reason?"before restore":"before update"})]}),(0,t.jsx)("span",{className:(0,d.cn)("block truncate pl-5.5",e.excerpt?"text-txt":"italic text-muted"),children:e.excerpt||"No handoff"})]})},e.id))}),a&&e&&!h&&(0,t.jsxs)("p",{role:"alert",className:"text-xs text-muted",children:["Version ",(0,t.jsx)("span",{className:"font-mono",children:a})," is no longer saved."]}),h&&(0,t.jsxs)("div",{className:"overflow-hidden rounded-xl border border-border bg-bg",children:[(0,t.jsxs)("div",{className:"flex items-start gap-2 border-b border-border bg-surface2 px-3 py-1.5 font-mono text-[11px] text-muted",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-0.5",children:[(0,t.jsxs)("span",{title:new Date(h.at).toLocaleString(),children:[h.at.slice(0,16).replace("T"," "),"Z"]}),(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"text-danger",children:"− now"})," ",(0,t.jsx)("span",{className:"text-teal",children:"+ this version"})]}),f&&"content"in f&&(0,t.jsxs)("span",{className:"ml-auto",children:[(0,t.jsxs)("span",{className:"text-teal",children:["+",g]})," ",(0,t.jsxs)("span",{className:"text-danger",children:["−",v]})]})]}),(0,t.jsx)("button",{type:"button",onClick:()=>i(null),"aria-label":"Close version",className:"shrink-0 rounded p-0.5 outline-none hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",children:(0,t.jsx)(y.X,{className:"size-3.5"})})]}),(0,t.jsxs)("div",{className:"max-h-96 overflow-auto font-mono text-[11px] leading-5",children:[!f&&(0,t.jsx)("div",{className:"px-3 py-1 text-muted",children:"Loading diff…"}),f&&"error"in f&&(0,t.jsx)("div",{role:"alert",className:"px-3 py-1 text-danger",children:f.error}),f&&"content"in f&&!j&&(0,t.jsx)("div",{className:"px-3 py-1 text-muted",children:"Same as the current file."}),b.map((e,s)=>"number"==typeof e?(0,t.jsxs)("div",{className:"bg-surface2/50 px-3 text-muted",children:["⋯ ",e," unchanged line",e>1?"s":""]},s):(0,t.jsxs)("div",{className:(0,d.cn)("whitespace-pre-wrap break-words px-3","+"===e.op&&"bg-teal/10 text-teal","-"===e.op&&"bg-danger/10 text-danger"),children:["-"===e.op?"−":e.op," ",e.text||" "]},s))]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 border-t border-border px-3 py-2",children:[(0,t.jsx)("button",{type:"button",onClick:N,disabled:x||!f||"error"in f||!j,className:"h-7 shrink-0 whitespace-nowrap rounded-md bg-accent px-2.5 text-xs font-medium text-accent-fg outline-none hover:bg-accent/90 focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-bg disabled:opacity-50",children:x?"Restoring…":"Restore this version"}),(0,t.jsx)("span",{className:"text-[11px] text-muted",children:"The current file is saved first, so you can undo."})]})]})]})}function G({memory:e,entries:s,rootParam:n,selectedId:r,creating:l,onOpen:o,onNew:c,onClose:m,onSaved:u,onDelete:x,view:p,onView:h,flags:b,cleanup:g,onCleanup:y,onDismiss:v,onMerge:j,onDeleteStale:w,versions:C,history:S,versionId:E,onHistory:M,onRestore:D}){let R=r?s?.find(e=>e.id===r):void 0,z=b?.filter(e=>!e.dismissed)??[],A=z.some(e=>"warn"===e.severity);return(0,t.jsxs)("div",{className:(0,d.cn)("grid items-start gap-6 p-6","graph"===p?"lg:grid-cols-[minmax(0,1fr)_minmax(0,30rem)]":"lg:grid-cols-[minmax(280px,380px)_minmax(0,42rem)]"),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 lg:col-span-2",children:[(0,t.jsx)("h1",{className:"font-display text-xl font-semibold tracking-tight",children:"Memory"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("button",{type:"button","aria-pressed":g,onClick:()=>y(!g),className:(0,d.cn)("flex h-7 items-center gap-1.5 rounded-md border border-border px-2.5 text-xs font-medium text-muted outline-none transition-colors duration-(--duration-fast)","hover:border-border2 hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",g&&"border-border2 bg-surface2 text-txt"),children:[A&&(0,t.jsx)(P.AlertTriangle,{className:"size-3.5 text-amber","aria-hidden":!0}),"Cleanup ",(0,t.jsxs)("span",{className:"font-mono text-[11px]",children:["(",z.length,")"]})]}),(0,t.jsx)("div",{role:"group","aria-label":"Entries view",className:"flex rounded-md border border-border p-0.5",children:["list","graph"].map(e=>(0,t.jsx)("button",{type:"button","aria-pressed":p===e,onClick:()=>h(e),className:(0,d.cn)("h-6 rounded-[5px] border border-transparent px-2.5 text-xs font-medium capitalize text-muted outline-none transition-colors","hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",p===e&&"border-border2 bg-surface2 text-txt"),children:e},e))})]})]}),s&&"graph"===p?(0,t.jsx)(_,{entries:s,selectedId:r,onOpenEntry:o}):s?(0,t.jsx)(f,{entries:s,selectedId:r,onOpen:o,onNew:c}):(0,t.jsx)("p",{className:"text-sm text-muted",children:"Loading entries…"}),l||R?(0,t.jsx)("div",{className:"min-w-0 lg:sticky lg:top-6",children:(0,t.jsx)(N,{entry:l?null:R??null,rootParam:n,onSaved:u,onDelete:x,onClose:m,children:R&&!l&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(k.EntryRelated,{entryId:R.id,onOpenEntry:o}),(0,t.jsx)($,{entryId:R.id})]})},l?"new":R?.id)}):g?(0,t.jsx)("div",{className:"min-w-0 lg:sticky lg:top-6",children:(0,t.jsx)(W,{flags:b,entries:s,onDismiss:v,onMerge:j,onDelete:w,onOpenEntry:o,onClose:()=>y(!1)})}):r&&s?(0,t.jsxs)("div",{role:"alert",className:"min-w-0 rounded-xl border border-dashed border-border p-5 text-sm text-muted",children:["Entry ",r," not found."," ",(0,t.jsx)("button",{type:"button",onClick:m,className:"text-txt underline underline-offset-2",children:"Show the handoff"})]}):(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsxs)("div",{className:"mb-3 flex flex-wrap items-center justify-between gap-x-4 gap-y-2",children:[(0,t.jsx)("h2",{className:"font-display text-base font-semibold tracking-tight",children:"Session handoff"}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"text-xs font-mono text-muted",children:"memory/MEMORY.md"}),(0,t.jsxs)("button",{type:"button","aria-pressed":S,onClick:()=>M(!S),className:(0,d.cn)("flex h-7 items-center gap-1.5 rounded-md border border-border px-2.5 text-xs font-medium text-muted outline-none transition-colors duration-(--duration-fast)","hover:border-border2 hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",S&&"border-border2 bg-surface2 text-txt"),children:["History ",(0,t.jsxs)("span",{className:"font-mono text-[11px]",children:["(",C?.length??"…",")"]})]})]})]}),S?(0,t.jsx)(J,{versions:C,current:e?.exists?e.content:"",rootParam:n,selectedId:E,onSelect:e=>M(!0,e),onClose:()=>M(!1),onRestore:D}):e?.exists?(0,t.jsx)("div",{className:"bg-surface border border-border rounded-xl p-5",children:(0,t.jsx)(a.MarkdownRenderer,{content:e.content})}):(0,t.jsx)(i.EmptyState,{icon:"🧠",message:"No MEMORY.md yet.",subMessage:"AI will create one at the end of the first session.",bordered:!0}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-surface2 border border-border rounded-xl",children:[(0,t.jsx)("p",{className:"text-xs font-mono text-muted mb-2",children:"Add to your CLAUDE.md system prompt:"}),(0,t.jsx)("pre",{className:"text-xs font-mono text-accent/80 whitespace-pre-wrap leading-relaxed",children:`At session start:
4
- 1. Call vibedoc_read_memory
5
- If it shows ⚠ Memory warnings, fix the handoff with vibedoc_update_memory first
6
- 2. Call vibedoc_get_status
7
-
8
- When you learn a fact that should still hold next week:
9
- - Call vibedoc_save_entry (convention, gotcha, decision, preference)
10
-
11
- At session end:
12
- - Call vibedoc_update_memory with full handoff`})]})]})]})}var Q=e.i(673635);function ee(){let{summary:e,rootParam:a,refresh:i}=(0,r.useApp)(),l=(0,n.useRouter)(),o=(0,n.useSearchParams)(),d=o.get("entry"),c="graph"===o.get("view")?"graph":"list",m="1"===o.get("cleanup"),u="1"===o.get("history"),x=u?o.get("version"):null,[p,h]=(0,s.useState)(null),[f,b]=(0,s.useState)(!1),[g,y]=(0,s.useState)(null),[v,j]=(0,s.useState)(null),N=(0,s.useCallback)(()=>{let e=!0;return fetch(`/api/memory/entries${a}`).then(e=>e.json()).then(t=>{e&&h(t.entries??[])}).catch(t=>{console.warn("Loading memory entries failed",t),e&&h([])}),()=>{e=!1}},[a]);(0,s.useEffect)(()=>N(),[N,e]);let w=(0,s.useCallback)(()=>{let e=!0;return fetch(`/api/memory/versions${a}`).then(e=>e.json()).then(t=>{e&&j(Array.isArray(t)?t:[])}).catch(t=>{console.warn("Loading memory versions failed",t),e&&j([])}),()=>{e=!1}},[a]);(0,s.useEffect)(()=>w(),[w,e]);let k=(0,s.useCallback)(()=>{fetch(`/api/memory/health${a}&dismissed=1`).then(e=>e.json()).then(e=>y(e.flags??[])).catch(e=>{console.warn("Loading memory health failed",e),y([])})},[a]);(0,s.useEffect)(()=>{k();let e=e=>{let t=e.detail?.type??"";("memory_updated"===t||"roadmap_updated"===t||t.startsWith("task_"))&&k()};return window.addEventListener("vibedoc:sse",e),()=>window.removeEventListener("vibedoc:sse",e)},[k]);let C=(0,s.useCallback)(async e=>{let t=new Date().toLocaleDateString("en-CA");y(s=>(s??[]).map(s=>s.id===e.id?{...s,dismissed:t}:s));try{let t=await fetch(`/api/memory/health/dismiss${a}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({id:e.id})}),s=await t.json().catch(()=>({}));if(!t.ok)throw Error(s.error??`Request failed (${t.status})`)}catch(e){(0,Q.toast)(`Dismiss failed: ${e instanceof Error?e.message:String(e)}`),k()}},[a,k]),S=(0,s.useCallback)((e,t,s=!1,n)=>{let r=new URLSearchParams;"graph"===t&&r.set("view","graph"),e&&r.set("entry",e),s&&r.set("cleanup","1"),void 0!==n&&r.set("history","1"),n&&r.set("version",n),l.replace(r.size?`/memory?${r}`:"/memory",{scroll:!1})},[l]),E=(0,s.useCallback)(e=>{b(!1),S(e,c)},[S,c]),M=(0,s.useCallback)(async(e,t)=>{let s=await fetch(`${e}${a}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)}),n=await s.json().catch(()=>({}));if(!s.ok)throw Error(n.error??`Request failed (${s.status})`);return n},[a]),$=(0,s.useCallback)(async e=>{try{let{file:t,raw:s}=await M("/api/memory/entries/delete",{id:e.id});h(t=>(t??[]).filter(t=>t.id!==e.id)),E(null),(0,Q.undoToast)(`Deleted ${e.id}`,async()=>{await M("/api/memory/entries/restore",{file:t,raw:s}),N(),E(e.id)})}catch(e){(0,Q.toast)(`Delete failed: ${e instanceof Error?e.message:String(e)}`)}},[M,E,N]),D=(0,s.useCallback)(async e=>{try{let{file:t,raw:s}=await M("/api/memory/entries/delete",{id:e});h(t=>(t??[]).filter(t=>t.id!==e)),y(t=>(t??[]).filter(t=>!("stale"===t.kind&&t.refs.includes(e)))),(0,Q.undoToast)(`Deleted ${e}`,async()=>{await M("/api/memory/entries/restore",{file:t,raw:s}),N()})}catch(e){(0,Q.toast)(`Delete failed: ${e instanceof Error?e.message:String(e)}`)}},[M,N]),R=(0,s.useCallback)(async e=>{try{let{entry:t,before:s}=await M("/api/memory/entries/merge",e);return h(s=>[...(s??[]).filter(s=>s.id!==t.id&&!e.dropIds.includes(s.id)),t]),E(t.id),(0,Q.undoToast)(`Merged into ${t.id}`,async()=>{await M("/api/memory/entries/merge/undo",{before:s}),N(),E(t.id)}),null}catch(e){return e instanceof Error?e.message:String(e)}},[M,E,N]),z=(0,s.useCallback)(async e=>{try{let{replacedId:t}=await M("/api/memory/restore",{id:e.id});S(null,c),await i(),w();let s=async()=>{await M("/api/memory/restore",{id:t}),await i(),w()};t?(0,Q.undoToast)("Restored MEMORY.md",s):(0,Q.toast)("Restored MEMORY.md")}catch(e){(0,Q.toast)(`Restore failed: ${e instanceof Error?e.message:String(e)}`)}},[M,S,c,i,w]);return(0,t.jsx)(G,{memory:e?.memory??null,entries:p,rootParam:a,selectedId:f?null:d,creating:f,onOpen:E,onNew:()=>b(!0),onClose:()=>E(null),onDelete:$,view:c,onView:e=>S(d,e,m),flags:g,cleanup:m&&!f&&!d,onCleanup:e=>{b(!1),S(e?null:d,c,e)},onDismiss:C,onMerge:R,onDeleteStale:D,versions:v,history:u,versionId:x,onHistory:(e,t)=>S(null,c,!1,e?t??null:void 0),onRestore:z,onSaved:e=>{h(t=>[...(t??[]).filter(t=>t.id!==e.id),e]),E(e.id)}})}e.s(["default",0,function(){return(0,t.jsx)(s.Suspense,{children:(0,t.jsx)(ee,{})})}],185914)}]);
@@ -1,3 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83790,e=>{"use strict";var t=e.i(180338);let n=(...e)=>e.filter((e,t,n)=>!!e&&""!==e.trim()&&n.indexOf(e)===t).join(" ").trim(),r={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"},a=(0,t.createContext)({}),i=(0,t.forwardRef)(({color:e,size:i,width:s,height:l,strokeWidth:o,absoluteStrokeWidth:d,nonScalingStroke:c,className:u="",children:p,iconNode:h=[],icon:m={node:h,aliases:[],size:24},...f},g)=>{let{size:b=24,strokeWidth:x=2,absoluteStrokeWidth:k=!1,nonScalingStroke:y=!1,color:w="currentColor",className:v=""}=(0,t.useContext)(a)??{},S=!!p||(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(f),[N,A,j=[]]=function(e,t={}){return function(e,t={}){let a=t.attributeNames??{},i=e=>a[e]??e,s=e.size??e.width??r.width,l=e.size??e.height??r.height,o=e.aliases?.filter(e=>"string"==typeof e&&""!==e.trim()).map(e=>`lucide-${e}`)??[],d=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(" ").filter(Boolean)??[],u=!1===t.includeDefaultClasses?n(...c):n("lucide",...d,...c),p=t.absoluteStrokeWidth?Number(t.strokeWidth??r["stroke-width"])*Number(e.size??e.width??r.width)/Number(t.size??t.width??r.width):t.strokeWidth??r["stroke-width"];return["svg",{...Object.entries(r).reduce((e,[t,n])=>(e[i(t)]=n,e),{}),..."color"in t&&t.color&&{[i("stroke")]:t.color},..."size"in t&&null!=t.size&&{[i("width")]:t.size,[i("height")]:t.size},..."width"in t&&null!=t.width&&{[i("width")]:t.width},..."height"in t&&null!=t.height&&{[i("height")]:t.height},[i("stroke-width")]:p,...u&&{[i("class")]:u},[i("viewBox")]:`0 0 ${s} ${l}`,...!1===t.hasA11yProp?{[i("aria-hidden")]:"true"}:{},..."attributes"in t&&t.attributes},e.node.map(e=>{let[n,r,a]=e,s=t.nonScalingStroke?{[i("vector-effect")]:"non-scaling-stroke",...r}:r;return a?[n,s,a]:[n,s]})]}(e,{...t,attributeNames:{...t.attributeNames,class:"className","stroke-width":"strokeWidth","stroke-linecap":"strokeLinecap","stroke-linejoin":"strokeLinejoin","vector-effect":"vectorEffect"}})}(m,{color:e??w,width:s??i??b,height:l??i??b,strokeWidth:o??x,absoluteStrokeWidth:d??k,nonScalingStroke:c??y,className:n(v,u),hasA11yProp:S,attributes:f});return(0,t.createElement)(N,{ref:g,...A},[...j.map(([e,n])=>(0,t.createElement)(e,n)),...Array.isArray(p)?p:[p]])});e.s(["default",0,function(e,n=[],r=[]){let a,s="string"==typeof e?function(e,t,n=[]){if(null==t)throw Error("[lucide]: iconNode is required when icon name is used");return{name:e?.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),size:24,node:t,...n.length>0?{aliases:n}:{}}}(e,n,r):e,l=(0,t.forwardRef)(({className:e,...n},r)=>(0,t.createElement)(i,{ref:r,icon:s,className:e,...n}));return s.name&&(l.displayName=(a=(e=>{let t="",n=!1;for(let r of e){if("-"===r||"_"===r||r<=" "){n=t.length>0;continue}0===t.length?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1}return t})(s.name)).charAt(0).toUpperCase()+a.slice(1)),l}],83790)},732460,e=>{"use strict";var t=e.i(83790);let n={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"}]]};n.node;let r=(0,t.default)(n);e.s(["BookOpen",0,r],732460)},479432,e=>{"use strict";var t=e.i(83790);let n={name:"bot",size:24,node:[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]};n.node;let r=(0,t.default)(n);e.s(["Bot",0,r],479432)},837001,e=>{"use strict";var t=e.i(83790);let n={name:"check",size:24,node:[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]};n.node;let r=(0,t.default)(n);e.s(["Check",0,r],837001)},954034,e=>{"use strict";var t=e.i(83790);let n={name:"circle-check",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 9-5.5 5.5L8 12",key:"xofnsj"}]],aliases:["check-circle-2"]};n.node;let r=(0,t.default)(n);e.s(["CircleCheck",0,r],954034)},737487,e=>{"use strict";var t=e.i(83790);let n={name:"circle",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]};n.node;let r=(0,t.default)(n);e.s(["Circle",0,r],737487)},628137,e=>{"use strict";var t=e.i(83790);let n={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"}]]};n.node;let r=(0,t.default)(n);e.s(["Flag",0,r],628137)},520708,e=>{"use strict";var t=e.i(83790);let n={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"}]]};n.node;let r=(0,t.default)(n);e.s(["Lightbulb",0,r],520708)},240595,e=>{"use strict";var t=e.i(83790);let n={name:"loader-circle",size:24,node:[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],aliases:["loader-2"]};n.node;let r=(0,t.default)(n);e.s(["Loader2",0,r],240595)},192871,e=>{"use strict";var t=e.i(83790);let n={name:"map",size:24,node:[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]};n.node;let r=(0,t.default)(n);e.s(["Map",0,r],192871)},678677,e=>{"use strict";var t=e.i(83790);let n={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"}]]};n.node;let r=(0,t.default)(n);e.s(["Scale",0,r],678677)},496016,e=>{"use strict";var t=e.i(83790);let n={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"}]]};n.node;let r=(0,t.default)(n);e.s(["Unlink",0,r],496016)},343253,e=>{"use strict";var t=e.i(83790);let n={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"}]]};n.node;let r=(0,t.default)(n);e.s(["User",0,r],343253)},862249,805102,e=>{"use strict";let t;var n=e.i(72345),r=e.i(180338),a=e.i(910172),i=e.i(732460),s=e.i(406952),l=e.i(628137),o=e.i(520708),d=e.i(678677),c=e.i(763371),u=e.i(464750),p=e.i(694628);let h=[{kind:"task",label:"Tasks"},{kind:"epic",label:"Epics"},{kind:"adr",label:"ADRs"},{kind:"doc",label:"Docs"},{kind:"entry",label:"Entries"}],m={epic:l.Flag,adr:d.Scale,doc:s.FileText,entry:o.Lightbulb,task:i.BookOpen};function f(e){let t=(0,a.useRouter)(),{openDoc:n}=(0,c.useApp)();return r=>{"task"===r.kind?t.push(`/board?task=${r.id}`):"epic"===r.kind?t.push(`/roadmap?item=${r.id}`):"entry"===r.kind?e(r.id):n(r.path)}}e.s(["EntryRelated",0,function({entryId:e,onOpenEntry:t}){let{rootParam:a,summary:i,board:s}=(0,c.useApp)(),l=f(t),[o,d]=(0,r.useState)(null);(0,r.useEffect)(()=>{let t=!0;return fetch(`/api/memory/graph${a}&entry=${encodeURIComponent(e)}`).then(e=>e.json()).then(e=>{t&&d(e.nodes?e:{nodes:[],edges:[]})}).catch(e=>{console.warn("Loading entry links failed",e),t&&d({nodes:[],edges:[]})}),()=>{t=!1}},[e,a,i]);let g=(0,r.useMemo)(()=>new Map(Object.values(s??{}).flat().map(e=>[e.id,e])),[s]),b=(0,r.useMemo)(()=>new Map((o?.nodes??[]).map(e=>[e.id,e])),[o]),x=e=>e.map(e=>b.get(e)).filter(e=>!!e),k=x((o?.edges??[]).filter(t=>t.from===e).map(e=>e.to)),y=x((o?.edges??[]).filter(t=>t.to===e).map(e=>e.from)),w=e=>{let t="task"===e.kind?g.get(e.id):void 0,r=t?(0,p.displayStatus)(t):"epic"===e.kind?e.status:void 0,a=m[e.kind];return(0,n.jsx)("li",{children:(0,n.jsxs)("button",{type:"button",onClick:()=>l(e),title:e.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:[r?(0,n.jsx)(u.StatusIcon,{status:r,className:"size-3.5 shrink-0"}):(0,n.jsx)(a,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),"doc"!==e.kind&&(0,n.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:e.id}),(0,n.jsx)("span",{className:"min-w-0 truncate text-txt",children:e.label})]})},e.id)},v=(e,t)=>(0,n.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,n.jsx)("h4",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted",children:e}),h.map(({kind:e,label:r})=>{let a=t.filter(t=>t.kind===e);return a.length?(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"px-2 text-[11px] text-muted",children:r}),(0,n.jsx)("ul",{children:a.map(w)})]},e):null})]});return(0,n.jsxs)("section",{"aria-label":"Related",className:"mt-5 flex flex-col gap-3 border-t border-border pt-4",children:[(0,n.jsx)("h3",{className:"text-xs font-semibold text-txt",children:"Related"}),null===o?(0,n.jsx)("p",{className:"text-xs text-muted",children:"Loading links…"}):k.length||y.length?(0,n.jsxs)(n.Fragment,{children:[k.length>0&&v("Links to",k),y.length>0&&v("Linked from",y)]}):(0,n.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,h,"KIND_ICON",0,m,"useOpenNode",0,f],862249);let g=new Set(["doc_updated","doc_created","doc_deleted","doc_renamed","task_created","task_updated","roadmap_updated","memory_updated","decision_logged"]),b=0,x=new Set;function k(e){return x.add(e),()=>{x.delete(e)}}function y(){return(0,r.useSyncExternalStore)(k,()=>b,()=>0)}window.addEventListener("vibedoc:sse",function(e){g.has(e.detail?.type)&&(clearTimeout(t),t=setTimeout(()=>{b++,w.clear(),x.forEach(e=>e())},250))});let w=new Map;function v(e){let t=w.get(e);if(!t){let n=t=fetch(e).then(async e=>{let t=await e.json().catch(()=>null);if(!e.ok)throw Error(t?.error??`${e.status} ${e.statusText}`);return t});n.catch(()=>{w.get(e)===n&&w.delete(e)}),w.set(e,n)}return t}e.s(["LINK_EVENTS",0,g,"fetchLinkJson",0,v,"useDocLinks",0,function(e){let{rootParam:t}=(0,c.useApp)(),[n,a]=(0,r.useState)(null),i=y();return(0,r.useEffect)(()=>{if(!e)return;let n=!0;return v(`/api/docs/links${t}&path=${encodeURIComponent(e)}`).then(t=>{n&&a({path:e,links:{out:t.out??[],in:t.in??[],broken:t.broken??[],stale:t.stale??[],targets:t.targets??{}}})}).catch(t=>{console.warn("Loading doc links failed",t),n&&a({path:e,links:{out:[],in:[],broken:[],stale:[],targets:{}}})}),()=>{n=!1}},[e,t,i]),e&&n?.path===e?n.links:null},"useLinkGeneration",0,y],805102)},35032,222581,e=>{"use strict";var t=e.i(72345),n=e.i(479432),r=e.i(343253),a=e.i(975157);function i(e){return"human"===e?"human":e?.startsWith("ai:")?"ai":"none"}function s(e){return"human"===e?"Human":e?.startsWith("ai:")?e.slice(3):"No owner"}e.s(["ownerKind",0,i,"ownerLabel",0,s,"parseOwner",0,function(e){let t=(e??"").trim().toLowerCase();if("human"===t)return"human";let n=t.match(/^ai(?::\s*([a-z0-9._-]+))?$/);return n?`ai:${n[1]??"agent"}`:null}],222581),e.s(["OwnerChip",0,function({owner:e,className:l}){let o=i(e);if("none"===o)return null;let d="ai"===o?n.Bot:r.User;return(0,t.jsxs)("span",{title:`Owner: ${s(e)}`,className:(0,a.cn)("inline-flex items-center gap-1 text-[11px] text-muted",l),children:[(0,t.jsx)(d,{className:(0,a.cn)("size-3.5 shrink-0","ai"===o&&"text-accent"),"aria-hidden":!0}),s(e)]})}],35032)},464750,e=>{"use strict";var t=e.i(72345),n=e.i(737487),r=e.i(954034),a=e.i(83790);let i={name:"circle-dot",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]};i.node;let s=(0,a.default)(i),l={name:"circle-pause",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]],aliases:["pause-circle"]};l.node;let o=(0,a.default)(l),d={name:"circle-slash",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]};d.node;let c=(0,a.default)(d),u={name:"circle-x",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],aliases:["x-circle"]};u.node;let p=(0,a.default)(u),h={name:"eye",size:24,node:[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]};h.node;let m=(0,a.default)(h);var f=e.i(975157),g=e.i(574990);let b={todo:{label:"Todo",icon:n.Circle,text:"text-muted",chip:"border-border2 text-muted"},"in-progress":{label:"In progress",icon:s,text:"text-amber",chip:"border-amber/30 bg-amber/5 text-amber"},review:{label:"Review",icon:m,text:"text-accent",chip:"border-accent/30 bg-accent/5 text-accent"},blocked:{label:"Blocked",icon:c,text:"text-danger",chip:"border-danger/30 bg-danger/5 text-danger"},paused:{label:"Paused",icon:o,text:"text-muted",chip:"border-border2 bg-surface2 text-muted"},done:{label:"Done",icon:r.CircleCheck,text:"text-teal",chip:"border-teal/30 bg-teal/5 text-teal"},cancelled:{label:"Cancelled",icon:p,text:"text-muted",chip:"border-border text-muted"}},x={gray:{text:"text-muted",chip:"border-border2 text-muted",bg:"bg-border2"},amber:{text:"text-amber",chip:"border-amber/30 bg-amber/5 text-amber",bg:"bg-amber"},accent:{text:"text-accent",chip:"border-accent/30 bg-accent/5 text-accent",bg:"bg-accent"},red:{text:"text-danger",chip:"border-danger/30 bg-danger/5 text-danger",bg:"bg-danger"},slate:{text:"text-muted",chip:"border-border2 bg-surface2 text-muted",bg:"bg-muted/60"},teal:{text:"text-teal",chip:"border-teal/30 bg-teal/5 text-teal",bg:"bg-teal"},blue:{text:"text-blue-600 dark:text-blue-400",chip:"border-blue-600/30 bg-blue-600/5 text-blue-600 dark:border-blue-400/30 dark:bg-blue-400/5 dark:text-blue-400",bg:"bg-blue-500 dark:bg-blue-400"},pink:{text:"text-pink-600 dark:text-pink-400",chip:"border-pink-600/30 bg-pink-600/5 text-pink-600 dark:border-pink-400/30 dark:bg-pink-400/5 dark:text-pink-400",bg:"bg-pink-500 dark:bg-pink-400"},green:{text:"text-green-600 dark:text-green-400",chip:"border-green-600/30 bg-green-600/5 text-green-600 dark:border-green-400/30 dark:bg-green-400/5 dark:text-green-400",bg:"bg-green-500 dark:bg-green-400"},orange:{text:"text-orange-600 dark:text-orange-400",chip:"border-orange-600/30 bg-orange-600/5 text-orange-600 dark:border-orange-400/30 dark:bg-orange-400/5 dark:text-orange-400",bg:"bg-orange-500 dark:bg-orange-400"}};function k(e){let t=(0,g.statusDefIn)((0,g.useStatusDefs)(),e);return{def:t,label:t.label,icon:b[t.category].icon,...x[t.color]}}e.s(["STATUS_COLOR_CLASS",0,x,"STATUS_META",0,b,"StatusChip",0,function({status:e,className:n}){let r=k(e),a=r.icon;return(0,t.jsxs)("span",{className:(0,f.cn)("inline-flex items-center gap-1 rounded-sm border px-1.5 py-0.5 text-[11px] leading-none",r.chip,n),children:[(0,t.jsx)(a,{className:"size-3","aria-hidden":!0}),r.label]})},"StatusIcon",0,function({status:e,className:n}){let r=k(e),a=r.icon;return(0,t.jsx)(a,{"aria-label":r.label,className:(0,f.cn)("size-3.5 shrink-0",r.text,n)})},"useStatusLabel",0,function(){let e=(0,g.useStatusDefs)();return t=>(0,g.statusDefIn)(e,t).label}],464750)},244267,702197,481523,844081,e=>{"use strict";var t=e.i(72345),n=e.i(180338),r=e.i(910172),a=e.i(763371),i=e.i(975157);function s(e){return Array.isArray(e)&&e.length>0&&e.every(e=>!!e&&"object"==typeof e&&"string"==typeof e.question&&"string"==typeof e.header&&Array.isArray(e.options)&&e.options.every(e=>!!e&&"object"==typeof e&&"string"==typeof e.label))}let l="\0other";function o(e,t){return["Answers:",...e.map((e,n)=>`- ${e.header}: ${t[n]}`)].join("\n")}e.s(["QuestionCard",0,function({set:e,disabled:r,onSubmit:a}){let[s,o]=(0,n.useState)(()=>e.questions.map(()=>[])),[d,c]=(0,n.useState)(()=>e.questions.map(()=>"")),u=!!e.answers,p=e.questions.map((e,t)=>{let n=e.options.map(e=>e.label).filter(e=>s[t].includes(e));return s[t].includes(l)&&d[t].trim()&&n.push(`Other: "${d[t].trim()}"`),n.join(", ")}),h=p.every(Boolean);return(0,t.jsxs)("div",{className:"my-2 rounded-md border border-border overflow-hidden","data-question-card":!0,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 bg-surface2 border-b border-border",children:[(0,t.jsx)("span",{className:"text-[10px] font-mono uppercase tracking-widest text-muted",children:"Questions"}),u&&(0,t.jsx)("span",{className:"ml-auto text-[10px] font-mono text-accent",children:"✓ Answered"})]}),(0,t.jsxs)("div",{className:"p-2 space-y-3",children:[e.questions.map((n,r)=>(0,t.jsxs)("fieldset",{disabled:u,className:"space-y-1",children:[(0,t.jsxs)("legend",{className:"mb-1",children:[(0,t.jsx)("span",{className:"text-[10px] font-mono px-1.5 py-0.5 rounded-sm bg-surface2 border border-border text-accent mr-1.5",children:n.header}),(0,t.jsx)("span",{className:"text-xs text-txt",children:n.question})]}),u?(0,t.jsx)("p",{className:"text-xs text-txt pl-1",children:e.answers?.[r]}):(0,t.jsxs)(t.Fragment,{children:[[...n.options,{label:"Other",value:l}].map(a=>{let l="value"in a?a.value:a.label,d=s[r].includes(l);return(0,t.jsxs)("label",{className:(0,i.cn)("flex gap-2 items-start rounded-sm px-1 py-0.5 cursor-pointer hover:bg-surface2",d&&"bg-surface2"),children:[(0,t.jsx)("input",{type:n.multiSelect?"checkbox":"radio",name:`${e.id}-${r}`,checked:d,onChange:()=>{var e;return e=n.multiSelect,void o(t=>t.map((t,n)=>n!==r?t:e?t.includes(l)?t.filter(e=>e!==l):[...t,l]:[l]))},className:"mt-0.5 accent-accent"}),(0,t.jsxs)("span",{className:"text-xs",children:[(0,t.jsx)("span",{className:"text-txt",children:a.label}),"description"in a&&a.description&&(0,t.jsx)("span",{className:"block text-muted",children:a.description})]})]},l)}),s[r].includes(l)&&(0,t.jsx)("input",{value:d[r],onChange:e=>c(t=>t.map((t,n)=>n===r?e.target.value:t)),placeholder:"Your answer","aria-label":`Other answer for ${n.header}`,className:"ml-6 w-[calc(100%-1.5rem)] rounded-sm bg-surface2 border border-border px-2 py-1 text-xs text-txt placeholder:text-muted focus:outline-hidden focus:border-accent"})]})]},r)),!u&&(0,t.jsx)("button",{onClick:()=>a(p),disabled:!h||r,className:"text-xs px-2 py-0.5 rounded-sm bg-accent/20 text-accent hover:bg-accent/30 disabled:opacity-50",children:"Submit"})]})]})},"formatAnswers",0,o,"isRenderableQuestions",0,s],702197);let d=e=>!!e&&"object"==typeof e&&!Array.isArray(e),c=e=>"string"==typeof e?e.trim():"";var u=e.i(956555);function p(e,t=Math.random()){return`c-${e.toString(36)}${t.toString(36).slice(2,6)}`}function h(e,t,n={}){var r;let a=n.now??new Date().toISOString();return[...e,{id:t,title:n.title??(n.attach?"epic"===(r=n.attach).kind?`Epic ${r.id}`:`Task ${r.id}`:"New chat"),messages:[],sessionId:null,busy:!1,notes:[],attach:n.attach??null,createdAt:a,updatedAt:a}]}function m(e,t,n){return e.map(e=>e.id===t?n(e):e)}let f={running:"Running","needs-answer":"Waiting for your answers",review:"Plan or edit to review",error:"Error",idle:"Idle"};function g(e){return e.messages.reduce((e,t)=>e+t.plans.filter(e=>"pending"===e.status).length+t.proposals.filter(e=>"pending"===e.status).length,0)}function b(e){if(e.busy)return"running";let t=e.messages[e.messages.length-1];if(t?.questions.some(e=>!e.answers))return"needs-answer";if(g(e))return"review";let n=e.messages.findLast(e=>"assistant"===e.role);return n?.error?"error":"idle"}function x(e,t){return!e.dismissed&&t-Date.parse(e.updatedAt)<864e5&&"error"===b(e)}let k=e=>"needs-answer"===e||"review"===e;function y(e,t,n={}){let{target:r=null,newChat:a=!1}=n,i=e=>"idle"===b(e)||"error"===b(e);if(r){let t=S(e,r);if(t&&!i(t))return{open:t.id}}if((n.running??e.filter(e=>e.busy).length)>=4)return{refused:"Too many agents running (4). Stop or close a chat, or wait."};if(r){let t=S(e,r);return t?{chatId:t.id}:{newChat:!0,attach:r}}let s=e.find(e=>e.id===t);return s&&!a&&!s.attach&&i(s)?{chatId:s.id}:{newChat:!0,attach:null}}let w=e=>`${e.kind}:${e.id}`;function v(e){return e.trim().match(/^Break down epic (R\d+)/i)?.[1].toUpperCase()??null}function S(e,t){return e.filter(e=>{let n;return n=e.attach,!!n&&!!t&&n.kind===t.kind&&n.id===t.id}).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))[0]}let N={running:3,"needs-answer":2,review:1};function A(e){let t={};for(let n of e){let e=b(n);if(!n.attach||"idle"===e||"error"===e)continue;let r=w(n.attach),a=t[r];(!a||N[e]>N[a.status])&&(t[r]={status:e,chatId:n.id})}return t}function j(e){return"epic"===e.kind?`[This chat is about epic ${e.id}. Read it with vibedoc_get_roadmap (and its tasks with vibedoc_get_task) before answering.]`:`[This chat is about task ${e.id}. Read it with vibedoc_get_task before answering.]`}function $(e,t){let n=[...e].sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt)),r={needsYou:[],errors:[],running:[],recent:[]};for(let e of n){let n=b(e);k(n)?r.needsYou.push(e):void 0!==t&&x(e,t)?r.errors.push(e):"running"===n?r.running.push(e):r.recent.push(e)}return r}function _(e,t){let n=$(e,t);return[...n.needsYou,...n.errors]}function E(e,t){let n=e.findIndex(e=>e.id===t);return e[n+1]}function C(e,t=Date.now()){let n=$(e,t);return n.needsYou[0]??n.errors[0]??n.running[0]??n.recent[0]}function z(e){return e.messages.length?{...e,busy:!1}:null}function T(e){if(!e||"string"!=typeof e.id||!Array.isArray(e.messages))return null;let t=e.messages[e.messages.length-1],n=t?.role!=="assistant"||t.text||t.error||t.tools?.length||t.plans?.length||t.proposals?.length||t.questions?.length?e.messages:[...e.messages.slice(0,-1),{...t,error:"Interrupted: the page reloaded while the agent was working."}],r=e.updatedAt??e.createdAt??new Date(0).toISOString();return{...e,messages:n,busy:!1,notes:e.notes??[],attach:e.attach??null,createdAt:e.createdAt??r,updatedAt:r}}function M(e,t){return t.flatMap(t=>{let n=b(t);return k(n)&&e[t.id]!==n?[{chat:t,status:n}]:[]})}function R(e,t){let n=e.replace(/^\(\d+\) /,"");return t>0?`(${t}) ${n}`:n}function I(e){let t=v(e);if(t)return`Break down ${t}`;let n=e.trim().split("\n")[0];return n.length>40?`${n.slice(0,40).trimEnd()}…`:n}e.s(["MAX_RUNNING_CHATS",0,4,"STATUS_LABEL",0,f,"addChat",0,h,"ago",0,function(e,t){let n=Math.max(0,Math.floor((t-Date.parse(e))/6e4));return n<1?"now":n<60?`${n}m`:n<1440?`${Math.floor(n/60)}h`:`${Math.floor(n/1440)}d`},"attachContext",0,j,"attachKey",0,w,"attentionQueue",0,_,"chatFor",0,S,"chatStatus",0,b,"chatTitle",0,I,"defaultChat",0,C,"epicOf",0,v,"fromSaved",0,T,"groupChats",0,$,"isActionableError",0,x,"isWaiting",0,k,"itemAgents",0,A,"newChatId",0,p,"newlyWaiting",0,M,"nextInQueue",0,E,"patchChat",0,m,"pendingReviews",0,g,"routeAsk",0,y,"shellStatus",0,function(e,t){let n=b(e);return"error"!==n||x(e,t)?n:"idle"},"suggestions",0,function(e){return e?"epic"===e.kind?[`Break down epic ${e.id} into tasks.`,"Summarize this epic's progress.","What is at risk in this epic?"]:["Refine this task's spec.","Split this task into smaller tasks.","What blocks this task?"]:["What should I work on next?","Plan a roadmap for this project.","What is blocked right now?"]},"toSaved",0,z,"waitingTitle",0,R],481523);let O=(e,t="")=>({role:e,text:t,tools:[],proposals:[],plans:[],questions:[]}),L=(0,n.createContext)(null),q=(0,n.createContext)({});e.s(["ChatProvider",0,function({children:e}){let{rootParam:i,activeProject:l,selectedDoc:f}=(0,a.useApp)(),w=(0,r.usePathname)(),N=(0,r.useRouter)(),[$,D]=(0,n.useState)([]),[W,P]=(0,n.useState)(!1),[U,B]=(0,n.useState)(null),[V,H]=(0,n.useState)(null),[K,F]=(0,n.useState)(null),G=(0,n.useRef)(new Map),J=(0,n.useRef)(new Set),Q=(0,n.useRef)({}),[Y,X]=(0,n.useState)(()=>Date.now());(0,n.useEffect)(()=>{let e=setInterval(()=>X(Date.now()),6e4);return()=>clearInterval(e)},[]);let Z="/chat"===w,ee="/docs"===w?f?.path:void 0;(0,n.useEffect)(()=>{for(let e of G.current.values())e.abort();G.current.clear(),J.current.clear();let e=!1;return fetch(`/api/conversations${i}`).then(e=>e.ok?e.json():{chats:[]}).then(t=>{if(e)return;let n=(t.chats??[]).map(e=>T(e)).filter(e=>!!e);Q.current=Object.fromEntries(n.map(e=>[e.id,b(e)])),D(n),B(null),H(null),P(!0)}).catch(t=>{console.warn("[vibedoc] could not load chats:",t),e||(D([]),P(!0))}),()=>{e=!0}},[l,i]),(0,n.useEffect)(()=>{for(let e of[...J.current]){let t=$.find(t=>t.id===e);J.current.delete(e);let n=t&&z(t);n&&fetch(`/api/conversations${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({chat:n})}).catch(t=>console.warn(`[vibedoc] could not save chat ${e}:`,t))}},[$,i]);let et=(0,n.useRef)({key:"{}",value:{}}),en=(0,n.useMemo)(()=>{let e=A($),t=JSON.stringify(e);return t!==et.current.key&&(et.current={key:t,value:e}),et.current.value},[$]),er=$.filter(e=>e.busy).length,ea=$.filter(e=>k(b(e))).length,ei=$.filter(e=>x(e,Y)).length,es=(0,n.useMemo)(()=>_($,Y),[$,Y]);function el(e){J.current.add(e)}function eo(e={}){e.keep||D(e=>e.filter(e=>e.id!==U||e.messages.length>0)),B(null)}function ed(e){H(e),Z?(B(null),N.replace(`/chat?id=${encodeURIComponent(e)}`,{scroll:!1})):B(e)}function ec(e=null){let t=p(Date.now());return D(n=>h(n,t,{attach:e})),t}function eu(e,t){D(n=>m(n,e,e=>({...e,messages:[...e.messages.slice(0,-1),t(e.messages[e.messages.length-1])]})))}async function ep(e,t){let n=t.trim(),r=$.find(t=>t.id===e);if(!n||r?.busy)return;"Notification"in window&&"default"===Notification.permission&&Notification.requestPermission().catch(()=>{});let a=!r?.messages.length,l=v(n),o=r?.attach??(l?{kind:"epic",id:l}:null);D(t=>m(t,e,e=>({...e,title:e.messages.length?e.title:I(n),attach:e.attach??o,busy:!0,dismissed:!1,notes:[],updatedAt:new Date().toISOString(),messages:[...e.messages,O("user",n),O("assistant")]}))),el(e);let c=[...a&&r?.attach?[j(r.attach)]:[],...r?.notes.length?[`[${r.notes.join(" ")}]`]:[]],u=c.length?`${c.join("\n")}
2
-
3
- ${n}`:n,p=new AbortController;G.current.set(e,p);try{let t=await fetch(`/api/chat${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:u,sessionId:r?.sessionId??null,docPath:ee,conversationId:e}),signal:p.signal});if(!t.ok||!t.body){let e=await t.json().catch(()=>null);throw Error(e?.error??`Request failed (${t.status})`)}let n=t.body.getReader(),a=new TextDecoder,l="";for(;;){let{done:t,value:r}=await n.read();if(t)break;let i=(l+=a.decode(r,{stream:!0})).split("\n");for(let t of(l=i.pop()??"",i))if(t.trim())try{!function(e,t){if(t.session_id&&D(n=>m(n,e,e=>e.sessionId===t.session_id?e:{...e,sessionId:t.session_id})),"stream_event"===t.type){let n=t.event;n?.type==="message_start"?eu(e,e=>e.text&&!e.text.endsWith("\n\n")?{...e,text:e.text+"\n\n"}:e):n?.type==="content_block_delta"&&n.delta?.type==="text_delta"&&eu(e,e=>({...e,text:e.text+n.delta.text}))}else if("assistant"===t.type){let n=(t.message?.content??[]).filter(e=>"tool_use"===e.type),r=n.filter(e=>e.name.endsWith("vibedoc_propose_edit")&&"string"==typeof e.input?.path&&Array.isArray(e.input?.edits)).map(e=>({id:e.id,path:e.input.path,edits:e.input.edits,summary:"string"==typeof e.input.summary?e.input.summary:void 0,status:"pending"})),a=n.filter(e=>e.name.endsWith("vibedoc_propose_plan")).flatMap(e=>{let t=function(e){if(!d(e))return null;let t=(e,t)=>Array.isArray(e)&&e.every(e=>d(e)&&t.every(t=>"string"==typeof e[t])&&(void 0===e.dependsOn||Array.isArray(e.dependsOn)));if("breakdown"===e.kind){let n=void 0===e.epic||"string"==typeof e.epic,r=void 0===e.newEpic||d(e.newEpic)&&"string"==typeof e.newEpic.title&&"string"==typeof e.newEpic.parent;return n&&r&&t(e.tasks,["key","title"])&&e.tasks.length>0?e:null}if("roadmap"===e.kind){let n=e.horizons??[],r=e.epics??[];return t(n,["key","title"])&&t(r,["key","title","parent"])?{kind:"roadmap",horizons:n,epics:r}:null}return null}(e.input?.plan);return t?[{id:e.id,plan:t,status:"pending"}]:[]}),i=n.filter(e=>e.name.endsWith("vibedoc_ask_questions")&&s(e.input?.questions)).map(e=>({id:e.id,questions:e.input.questions})),l=["vibedoc_propose_edit","vibedoc_propose_plan","vibedoc_ask_questions"],o=n.filter(e=>!l.some(t=>e.name.endsWith(t))).map(e=>e.name.replace(/^mcp__vibedoc__vibedoc_/,""));(o.length||r.length||a.length||i.length)&&eu(e,e=>({...e,tools:[...e.tools,...o],proposals:[...e.proposals,...r],plans:[...e.plans,...a],questions:[...e.questions,...i]}))}else if("user"===t.type){let n=new Set((t.message?.content??[]).filter(e=>"tool_result"===e.type&&e.is_error).map(e=>e.tool_use_id));n.size&&eu(e,e=>({...e,proposals:e.proposals.filter(e=>!n.has(e.id)),plans:e.plans.filter(e=>!n.has(e.id)),questions:e.questions.filter(e=>!n.has(e.id))}))}else"result"===t.type&&t.is_error?eu(e,e=>({...e,error:t.result??t.subtype??"Agent error"})):"error"===t.type&&eu(e,e=>({...e,error:t.message}))}(e,JSON.parse(t))}catch{}}}catch(t){p.signal.aborted?eu(e,e=>e.text||e.error?e:{...e,error:"Stopped."}):eu(e,e=>({...e,error:t.message}))}finally{G.current.get(e)===p&&(G.current.delete(e),el(e)),D(t=>m(t,e,e=>({...e,busy:!1,updatedAt:new Date().toISOString()})))}}function eh(e){G.current.get(e)?.abort()}function em(e,t,n){D(r=>m(r,e,e=>({...e,notes:n?[...e.notes,n]:e.notes,messages:e.messages.map(t)}))),el(e)}return(0,n.useEffect)(()=>{document.title=R(document.title,es.length)},[es.length,w]),(0,n.useEffect)(()=>{let e=M(Q.current,$);if(Q.current=Object.fromEntries($.map(e=>[e.id,b(e)])),e.length&&document.hidden&&"Notification"in window&&"granted"===Notification.permission)for(let{chat:t,status:n}of e){let e=new Notification("needs-answer"===n?"Agent needs your answer":"Plan ready to review",{body:t.title,tag:t.id});e.onclick=()=>{window.focus(),(0,u.openAgentChat)(t.id),e.close()}}},[$]),(0,n.useEffect)(()=>{function e(e){let{message:t,newChat:n}=e.detail??{};if(!t)return;let r=v(t),a=y($,V,{target:r?{kind:"epic",id:r}:null,newChat:n,running:G.current.size});if("refused"in a)return F(a.refused);if(F(null),"open"in a)return n?void 0:ed(a.open);let i="chatId"in a?a.chatId:ec(a.attach);ep(i,t),n||ed(i)}function t(e){let t=e.detail?.chatId;t&&$.some(e=>e.id===t)&&ed(t)}return window.addEventListener(u.ASK_AGENT_EVENT,e),window.addEventListener(u.OPEN_CHAT_EVENT,t),()=>{window.removeEventListener(u.ASK_AGENT_EVENT,e),window.removeEventListener(u.OPEN_CHAT_EVENT,t)}}),(0,t.jsx)(L.Provider,{value:{chats:$,loaded:W,modalId:U,closeModal:eo,show:ed,showDefault:function(){let e=E(es,U??(Z?V:null));if(e)return ed(e.id);if(U)return eo();let t=C($,Y);ed(t?t.id:ec())},showAbout:function(e){let t=S($,e);ed(t?t.id:ec(e))},create:ec,send:ep,stop:eh,dismiss:function(e){D(t=>m(t,e,e=>({...e,dismissed:!0}))),el(e)},remove:function(e){let t=$.find(t=>t.id===e),n=t?g(t):0;return(!n||!!window.confirm(`Discard ${n} unreviewed proposal${1===n?"":"s"}?`))&&(eh(e),G.current.delete(e),J.current.delete(e),D(t=>t.filter(t=>t.id!==e)),U===e&&B(null),V===e&&H(null),fetch(`/api/conversations${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({delete:e})}).catch(t=>console.warn(`[vibedoc] could not delete chat ${e}:`,t)),!0)},resolveProposal:function(e,t,n,r){em(e,e=>({...e,proposals:e.proposals.map(e=>e.id===t?{...e,status:r}:e)}),`User ${r} your proposed edit to ${n}.`)},resolvePlan:function(e,t,n,r,a){var i;let s="breakdown"===t.plan.kind?c((i=t.plan).epic)?c(i.epic).toUpperCase():i.newEpic?`new epic "${c(i.newEpic.title)}"`:"no epic":"the roadmap";em(e,e=>({...e,plans:e.plans.map(e=>e.id===t.id?{...e,status:n,created:r}:e)}),"accepted"===n?`User accepted plan for ${s}: created ${r.map(e=>e.id).join(", ")}${a.length?` (unchecked: ${a.join(", ")})`:""}.`:`User rejected the plan for ${s}.`)},answerQuestions:function(e,t,n){$.find(t=>t.id===e)?.busy||(em(e,e=>({...e,questions:e.questions.map(e=>e.id===t.id?{...e,answers:n}:e)})),ep(e,o(t.questions,n)))},agents:en,runningCount:er,waitingCount:ea,errorCount:ei,queue:es,now:Y,notice:K,dismissNotice:()=>F(null)},children:(0,t.jsx)(q.Provider,{value:en,children:e})})},"useChats",0,function(){let e=(0,n.useContext)(L);if(!e)throw Error("useChats() must be used inside <ChatProvider>");return e},"useItemAgent",0,function(e){return(0,n.useContext)(q)[w(e)]}],244267);var D=e.i(240595),W=e.i(192871),P=e.i(83790);let U={name:"square-check",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m16 9-5.5 5.5L8 12",key:"xofnsj"}]],aliases:["check-square-2"]};U.node;let B=(0,P.default)(U);e.s(["AttachLabel",0,function({attach:e,className:n}){let r="epic"===e.kind?W.Map:B;return(0,t.jsxs)("span",{className:(0,i.cn)("inline-flex items-center gap-1 font-mono text-[10px] leading-none",n),children:[(0,t.jsx)(r,{className:"size-3"}),e.id]})},"StatusMarker",0,function({status:e,showIdle:n=!1,label:r,className:a}){if("idle"===e&&!n)return null;let s=r??f[e];return(0,t.jsx)("span",{role:"img","aria-label":s,title:s,className:(0,i.cn)("inline-flex size-3 shrink-0 items-center justify-center",a),children:"running"===e?(0,t.jsx)(D.Loader2,{className:"size-3 animate-spin text-accent"}):(0,t.jsx)("span",{className:(0,i.cn)("size-1.5","review"===e?"size-2 rotate-45 rounded-[1px] bg-accent animate-pulse-dot":"rounded-full","needs-answer"===e&&"bg-amber animate-pulse-dot","error"===e&&"bg-danger","idle"===e&&"border border-muted/60")})})},"attachHref",0,function(e){return"epic"===e.kind?`/roadmap?item=${e.id}`:`/board?task=${e.id}`}],844081)},956555,e=>{"use strict";let t="vibedoc:ask-agent",n="vibedoc:open-chat";e.s(["ASK_AGENT_EVENT",0,t,"OPEN_CHAT_EVENT",0,n,"askAgent",0,function(e,n={}){window.dispatchEvent(new CustomEvent(t,{detail:{message:e,...n}}))},"openAgentChat",0,function(e){window.dispatchEvent(new CustomEvent(n,{detail:{chatId:e}}))}])},644138,e=>{"use strict";let t=new Set(["a","b","c","x","y","z","path","name","slug","title","foo","bar","wikilinks","example"]),n=e=>String(Number(e)).padStart(3,"0");function r(e){return e.startsWith("ADR-")?`ADR-${n(e.slice(4))}`:e.startsWith("E")?`E${n(e.slice(1))}`:e}function a(e,t){let n,a=function(e){let t=[];for(let n of e.replace(/\\/g,"/").split("/"))if(n&&"."!==n)if(".."===n){if(!t.length)return null;t.pop()}else t.push(n);return t.join("/")}(e)??e,i=(a.split("/").pop()??a).replace(/\.md$/i,""),s=(/^#\s+(.+?)\s*$/m.exec(t)?.[1]??"").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[\[([^\]|]+)(?:\|([^\]]+))?\]\]/g,(e,t,n)=>n??t).replace(/(\*\*|\*|~~|`)(\S(?:.*?\S)?)\1/g,"$2").replace(/(^|\W)(__|_)(\S(?:.*?\S)?)\2(?=\W|$)/g,"$1$3").replace(/<[^>]+>/g,"").trim(),l=/[^.][.!]$/.test(s)?"":s,o=e=>l.replace(RegExp(`^${e}\\s*[:—–-]\\s*`),"")||i;return(n=/^plans\/tasks\/(T\d{3,})[^/]*\.md$/.exec(a))?{id:n[1],kind:"task",label:o(n[1]),path:a}:(n=/^plans\/roadmap\/(R\d{3,})[^/]*\.md$/.exec(a))?{id:n[1],kind:"epic",label:o(n[1]),path:a}:(n=/^memory\/entries\/(E\d+)[^/]*\.md$/.exec(a))?{id:r(n[1]),kind:"entry",label:o(n[1]),path:a}:(n=/(?:^|\/)(ADR-\d+)[^/]*\.md$/.exec(a))?{id:r(n[1]),kind:"adr",label:o(n[1]),path:a}:{id:a,kind:"doc",label:l||i,path:a}}new WeakMap;let i=["doc","adr"],s=/^(?:Entry )?(E\d+|T\d{3,}|R\d{3,}|ADR-\d+)\b/,l=new Set(["doc_updated","doc_created"]);e.s(["GRAPH_DEFAULT_KINDS",0,i,"docNode",0,a,"graphHref",0,function(e){let t=new URLSearchParams({node:e,focus:"1"}),n=a(e,"").kind;return i.includes(n)||t.set("kinds",[...i,n].join(",")),`/graph?${t}`},"isExampleTarget",0,function(e){let n=(e.split("/").pop()??"").replace(/\.md$/i,"").replace(/^(?:ADR-\d+|[TRE]\d+)-/,"");return t.has(n.toLowerCase())},"touchedPaths",0,function(e,t,n){let r=new Map;for(let e of t)r.set(e.id,e.path),r.set(e.path,e.path);let a=new Set;for(let t of e){if(!(Date.parse(t.timestamp)>=n))continue;let e=[t.taskId,s.exec(t.title)?.[1]];for(let n of(l.has(t.type)&&e.push(t.detail),"doc_renamed"===t.type&&e.push(t.title.split(" → ")[1]),"memory_updated"!==t.type||t.title.startsWith("Entry ")||e.push("memory/MEMORY.md"),e)){let e=n?r.get(n.trim()):void 0;e&&a.add(e)}}return a}])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,363216,e=>{"use strict";var t=e.i(83790);let s={name:"calendar",size:24,node:[["path",{d:"M8 2v3",key:"1ioesn"}],["path",{d:"M16 2v3",key:"otl347"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M3 9h18",key:"1pudct"}]]};s.node;let a=(0,t.default)(s);e.s(["Calendar",0,a],363216)},811613,e=>{"use strict";var t=e.i(83790);let s={name:"circle-dashed",size:24,node:[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]]};s.node;let a=(0,t.default)(s);e.s(["CircleDashed",0,a],811613)},248070,65112,775549,e=>{"use strict";var t=e.i(83790);let s={name:"ellipsis",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],aliases:["more-horizontal"]};s.node;let a=(0,t.default)(s);e.s(["MoreHorizontal",0,a],248070);var n=e.i(72345),r=e.i(975157),i=e.i(940837),l=e.i(180338),o=e.i(837001),d=e.i(755146);let c=e=>e.stopPropagation(),u="inline-flex min-w-0 items-center gap-1 rounded-sm px-1 -mx-1 text-left outline-hidden hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent/60";function x({label:e,value:t,options:s,onChange:a,children:i,className:l}){return(0,n.jsxs)(d.DropdownMenu,{children:[(0,n.jsx)(d.DropdownMenuTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":e,draggable:!1,onClick:c,onKeyDown:c,onPointerDown:c,className:(0,r.cn)(u,l),children:i})}),(0,n.jsx)(d.DropdownMenuContent,{align:"start",className:"max-h-72 w-48 overflow-y-auto",onClick:c,onKeyDown:c,children:s.map(e=>(0,n.jsxs)(d.DropdownMenuItem,{onSelect:()=>{e.value!==t&&a(e.value)},children:[e.node??e.label,e.value===t&&(0,n.jsx)(o.Check,{className:"ml-auto size-3.5 text-muted","aria-hidden":!0})]},e.value))})]})}e.s(["InlineDate",0,function({label:e,value:t,onChange:s,children:a,className:i}){let[o,d]=(0,l.useState)(!1),[x,m]=(0,l.useState)(t??""),p=()=>{d(!1),(x||null)!==t&&s(x||null)};return o?(0,n.jsx)("input",{type:"date",autoFocus:!0,"aria-label":e,value:x,onChange:e=>m(e.target.value),onClick:c,onPointerDown:c,onKeyDown:e=>{c(e),"Enter"===e.key&&(e.preventDefault(),p()),"Escape"===e.key&&(e.preventDefault(),d(!1))},onBlur:p,className:"h-6 rounded-sm border border-accent/60 bg-bg px-1 font-mono text-[11px] text-txt scheme-light outline-hidden dark:scheme-dark"}):(0,n.jsx)("button",{type:"button","aria-label":e,draggable:!1,onClick:e=>{c(e),m(t??""),d(!0)},onKeyDown:c,className:(0,r.cn)(u,i),children:a})},"InlineSelect",0,x,"InlineText",0,function({label:e,value:t,onChange:s,children:a,className:i,placeholder:o,startEditing:d=!1,onCancel:x}){let[m,p]=(0,l.useState)(d),[h,f]=(0,l.useState)(t??""),g=()=>{p(!1);let e=h.trim()||null;e!==t?s(e):e||x?.()};return m?(0,n.jsx)("input",{autoFocus:!0,"aria-label":e,value:h,placeholder:o,onChange:e=>f(e.target.value),onClick:c,onPointerDown:c,onKeyDown:e=>{c(e),"Enter"===e.key&&(e.preventDefault(),g()),"Escape"===e.key&&(e.preventDefault(),p(!1),x?.())},onBlur:g,className:"h-7 w-full min-w-0 rounded-sm border border-accent/60 bg-bg px-1.5 text-[13px] text-txt outline-hidden placeholder:text-muted"}):(0,n.jsx)("button",{type:"button","aria-label":e,draggable:!1,onClick:e=>{c(e),f(t??""),p(!0)},onKeyDown:c,className:(0,r.cn)(u,i),children:a})}],65112);let m={P0:"bg-danger/12 text-danger",P1:"bg-amber/12 text-amber",P2:"bg-surface2 text-txt",P3:"bg-surface2 text-muted"};function p({priority:e,className:t}){return(0,n.jsx)("span",{className:(0,r.cn)("inline-flex h-4 shrink-0 items-center rounded-sm px-1 font-mono text-[10px] font-medium leading-none",m[e],t),children:e})}let h=[...i.PRIORITIES.map(e=>({value:e,label:e,node:(0,n.jsx)(p,{priority:e})})),{value:"",label:"No priority",node:(0,n.jsx)("span",{className:"text-muted",children:"No priority"})}];e.s(["PriorityBadge",0,p,"PriorityField",0,function({label:e,value:t,onChange:s,empty:a}){return(0,n.jsx)(x,{label:e,value:t??"",options:h,onChange:e=>s(e||null),children:t?(0,n.jsx)(p,{priority:t}):a??(0,n.jsx)("span",{className:"text-muted",children:"—"})})}],775549)},880790,e=>{"use strict";var t=e.i(83790);let s={name:"list-checks",size:24,node:[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]]};s.node;let a=(0,t.default)(s);e.s(["ListChecks",0,a],880790)},475850,e=>{"use strict";var t=e.i(83790);let s={name:"message-square",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]};s.node;let a=(0,t.default)(s);e.s(["MessageSquare",0,a],475850)},818748,e=>{"use strict";var t=e.i(83790);let s={name:"minus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}]]};s.node;let a=(0,t.default)(s);e.s(["Minus",0,a],818748)},424991,e=>{"use strict";var t=e.i(83790);let s={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};s.node;let a=(0,t.default)(s);e.s(["Pencil",0,a],424991)},496699,e=>{"use strict";var t=e.i(83790);let s={name:"refresh-cw",size:24,node:[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]};s.node;let a=(0,t.default)(s);e.s(["RefreshCw",0,a],496699)},496385,e=>{"use strict";var t=e.i(83790);let s={name:"triangle-alert",size:24,node:[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],aliases:["alert-triangle"]};s.node;let a=(0,t.default)(s);e.s(["AlertTriangle",0,a],496385)},66858,e=>{"use strict";var t=e.i(72345),s=e.i(180338),a=e.i(910172),n=e.i(763371),r=e.i(975157),i=e.i(329090),l=e.i(479432),o=e.i(343253),d=e.i(478096),c=e.i(675964),u=e.i(406952),x=e.i(678677),m=e.i(464750);let p={done:"bg-teal","in-progress":"bg-amber",review:"bg-accent",blocked:"bg-danger",todo:"bg-border2",cancelled:"bg-border2"},h="inline-flex max-w-full min-w-0 items-center gap-1.5 rounded-sm border border-border px-2 py-1 font-mono text-[11px] text-txt transition-colors duration-(--duration-fast) hover:border-border2 hover:bg-surface2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60";function f({open:e,events:s}){return(0,t.jsx)("div",{className:(0,r.cn)("grid transition-[grid-template-rows,opacity] duration-(--duration-slow) ease-out-soft",e?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"),children:(0,t.jsx)("div",{className:"min-h-0 overflow-hidden",inert:!e,children:(0,t.jsx)("div",{className:"mt-3 border-t border-border pt-2",children:s.map(e=>(0,t.jsx)(i.ActivityEventRow,{event:e},e.id))})})})}function g({open:e}){return(0,t.jsx)(c.ChevronRight,{"aria-hidden":!0,className:(0,r.cn)("size-3.5 shrink-0 text-muted transition-transform duration-(--duration-base) ease-out-soft",e&&"rotate-90")})}function b({session:e,events:a,onOpenTask:n,onOpenDoc:i,focused:c=!1,live:v=!1}){let[j,y]=(0,s.useState)(c),k=(0,s.useRef)(null);(0,s.useEffect)(()=>{c&&k.current?.scrollIntoView({block:"center",behavior:"smooth"})},[c]);let N="ai"===e.actor,w=N?l.Bot:o.User,M=e.tasks.filter(e=>"done"===e.lastStatus).length,S=e.tasks.length+e.docs.length+e.decisions.length>0,D=`${e.eventCount} event${1===e.eventCount?"":"s"}`;if(!S)return(0,t.jsxs)("div",{ref:k,className:(0,r.cn)("min-w-0 rounded-md px-3 py-1.5 transition-colors duration-(--duration-fast) hover:bg-surface/60",c&&"bg-surface animate-flash"),children:[(0,t.jsxs)("button",{onClick:()=>y(e=>!e),"aria-expanded":j,className:"flex w-full min-w-0 items-center gap-2 text-left text-[13px] text-muted focus-visible:text-txt focus-visible:outline-none",children:[(0,t.jsx)(w,{className:"size-3.5 shrink-0","aria-label":N?"Agent":"Human"}),(0,t.jsx)("span",{className:"min-w-0 truncate",children:/^\d+ events?$/.test(e.headline)?"Connected, nothing changed":e.headline}),(0,t.jsxs)("span",{className:"ml-auto shrink-0 font-mono text-[11px]",children:[(0,d.sessionDuration)(e),(0,t.jsxs)("span",{className:"hidden sm:inline",children:[" · ",D]})]}),(0,t.jsx)(g,{open:j})]}),(0,t.jsx)(f,{open:j,events:a})]});return(0,t.jsx)("div",{ref:k,className:(0,r.cn)("min-w-0 rounded-lg border bg-surface transition-colors duration-(--duration-base) hover:border-border2",v?"border-accent/40":"border-border",c&&"border-accent/60 animate-flash"),children:(0,t.jsxs)("div",{className:"px-4 pt-3.5 pb-4",children:[(0,t.jsxs)("button",{onClick:()=>y(e=>!e),"aria-expanded":j,className:"group flex w-full min-w-0 items-center gap-2 text-left focus-visible:outline-none",children:[(0,t.jsx)(w,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),(0,t.jsx)("span",{className:"text-xs text-muted",children:N?"Agent":"Human"}),v&&(0,t.jsxs)("span",{className:"flex items-center gap-1 font-mono text-[10px] text-accent",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-accent animate-pulse-dot"}),"working"]}),(0,t.jsxs)("span",{className:"ml-auto shrink-0 font-mono text-[11px] text-muted",children:[(0,d.sessionDuration)(e)," · ",D]}),(0,t.jsx)("span",{className:"flex items-center gap-1 text-[11px] text-muted group-hover:text-txt group-focus-visible:text-txt",children:(0,t.jsx)(g,{open:j})})]}),(0,t.jsx)("p",{className:"mt-1.5 text-[15px] leading-snug font-semibold text-txt",children:e.headline}),e.tasks.length>0&&(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-3",children:[(0,t.jsx)("div",{className:"flex flex-1 gap-0.5",role:"img","aria-label":`${M} of ${e.tasks.length} tasks done`,children:e.tasks.map(e=>(0,t.jsx)("span",{className:(0,r.cn)("h-1 flex-1 rounded-full",p[e.lastStatus]??"bg-border2")},e.id))}),(0,t.jsxs)("span",{className:"font-mono text-[11px] text-muted tabular-nums",children:[(0,t.jsx)("span",{className:"text-txt",children:M}),"/",e.tasks.length]})]}),(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap gap-1.5",children:[e.tasks.map(e=>(0,t.jsxs)("button",{onClick:()=>n(e.id),className:h,title:`${e.id} → ${m.STATUS_META[e.lastStatus]?.label??e.lastStatus}`,children:[(0,t.jsx)(m.StatusIcon,{status:e.lastStatus,className:"size-3"}),e.id]},e.id)),e.docs.map(e=>(0,t.jsxs)("button",{onClick:()=>i(e),className:h,title:e,children:[(0,t.jsx)(u.FileText,{className:"size-3 shrink-0 text-muted","aria-hidden":!0}),(0,t.jsx)("span",{className:"truncate",children:e.split("/").pop()})]},e)),e.decisions.map(e=>{let[s,...a]=e.split(":");return(0,t.jsxs)("button",{onClick:()=>i(s),className:(0,r.cn)(h,"font-sans text-xs"),title:e,children:[(0,t.jsx)(x.Scale,{className:"size-3 shrink-0 text-muted","aria-hidden":!0}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] whitespace-nowrap",children:s}),a.length>0&&(0,t.jsx)("span",{className:"truncate text-muted",children:a.join(":").trim()})]},e)})]}),(0,t.jsx)(f,{open:j,events:a})]})})}function v(e){let t=new Date(e),s=new Date,a=new Date(s);return(a.setDate(s.getDate()-1),t.toDateString()===s.toDateString())?"Today":t.toDateString()===a.toDateString()?"Yesterday":t.toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"})}function j({label:e}){return(0,t.jsxs)("h2",{className:"sticky top-0 z-10 -mx-1 mt-4 mb-1 flex items-center gap-3 bg-bg/90 px-1 py-2 backdrop-blur-sm first:mt-0",children:[(0,t.jsx)("span",{className:"text-[13px] font-semibold text-txt",children:e}),(0,t.jsx)("span",{className:"h-px flex-1 bg-border","aria-hidden":!0})]})}function y({sessions:e,events:a,onOpenTask:n,onOpenDoc:c,focusSessionId:u}){let[x,m]=(0,s.useState)("all"),[p,h]=(0,s.useState)(()=>Date.now());(0,s.useEffect)(()=>{let e=setInterval(()=>h(Date.now()),3e4);return()=>clearInterval(e)},[]);let f={all:e.length,ai:e.filter(e=>"ai"===e.actor).length,human:e.filter(e=>"human"===e.actor).length},g="all"===x?e:e.filter(e=>e.actor===x);return(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"mb-3 flex items-center gap-1 text-xs",role:"group","aria-label":"Filter by actor",children:["all","ai","human"].map(e=>{let s="ai"===e?l.Bot:"human"===e?o.User:null;return(0,t.jsxs)("button",{"aria-pressed":x===e,onClick:()=>m(e),className:(0,r.cn)("flex items-center gap-1.5 rounded-md px-2.5 py-1 transition-colors duration-(--duration-fast) focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60",x===e?"bg-surface2 text-txt":"text-muted hover:text-txt"),children:[s&&(0,t.jsx)(s,{className:"size-3.5","aria-hidden":!0}),"all"===e?"All":"ai"===e?"Agent":"Human",(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted tabular-nums",children:f[e]})]},e)})}),0===g.length?(0,t.jsxs)("p",{className:"py-10 text-center text-sm text-muted",children:["No ","ai"===x?"agent":"human"," sessions yet."]}):(0,t.jsxs)("ol",{className:"relative",children:[(0,t.jsx)("div",{className:"absolute left-[3.5rem] top-10 bottom-2 w-px bg-border","aria-hidden":!0}),g.map((e,s)=>{let l=v(e.start),o=0===s||v(g[s-1].start)!==l,x=(0,d.isLive)(e,p),m=e.tasks.length+e.docs.length+e.decisions.length===0;return(0,t.jsxs)("li",{className:"animate-fade-in",style:{animationDelay:`${45*Math.min(s,8)}ms`,animationFillMode:"both"},children:[o&&(0,t.jsx)(j,{label:l}),(0,t.jsxs)("div",{className:(0,r.cn)("grid grid-cols-[2.75rem_1.5rem_minmax(0,1fr)] items-start",m?"pb-1":"py-2"),children:[(0,t.jsx)("time",{dateTime:e.start,className:(0,r.cn)("text-right font-mono text-[11px] tabular-nums",m?"pt-2 text-muted":"pt-4 text-txt"),title:new Date(e.start).toLocaleString(),children:(0,i.clock)(e.start)}),(0,t.jsx)("span",{className:(0,r.cn)("flex justify-center",m?"pt-[0.8rem]":"pt-[1.15rem]"),"aria-hidden":!0,children:(0,t.jsx)("span",{className:(0,r.cn)("relative z-[1] rounded-full ring-4 ring-bg",m?"size-1.5 bg-border2":"size-2.5",!m&&("ai"===e.actor?"bg-accent":"bg-muted"),x&&"animate-pulse-dot")})}),(0,t.jsx)(b,{session:e,events:e.eventIds.flatMap(e=>a.get(e)??[]),onOpenTask:n,onOpenDoc:c,focused:e.id===u,live:x})]})]},e.id)})]})]})}function k({activity:e}){return(0,t.jsx)("ol",{className:"flex flex-col",children:e.map((s,a)=>{let n=v(s.timestamp);return(0,t.jsxs)("li",{children:[(0===a||v(e[a-1].timestamp)!==n)&&(0,t.jsx)(j,{label:n}),(0,t.jsx)(i.ActivityEventRow,{event:s,showActor:!0})]},s.id)})})}var N=e.i(22829);function w({sessions:e}){let[a,n]=(0,s.useState)(()=>Date.now());(0,s.useEffect)(()=>{let e=setInterval(()=>n(Date.now()),6e4);return()=>clearInterval(e)},[]);let r=(0,d.catchUp)(e,a-864e5),i=[[r.tasksDone,"task","done"],[r.decisions,"ADR","logged"],[r.docs,"doc","changed"],[r.sessions,"session",""]].filter(([e])=>e>0);return i.length?(0,t.jsxs)(t.Fragment,{children:[i.map(([e,s,a],n)=>(0,t.jsxs)("span",{children:[n>0&&(0,t.jsx)("span",{className:"text-muted",children:" · "}),(0,t.jsx)("span",{className:"font-mono tabular-nums",children:e})," ",s,1===e?"":"s",a&&` ${a}`]},s)),(0,t.jsx)("span",{className:"font-normal text-muted",children:" in the last 24h"})]}):(0,t.jsx)(t.Fragment,{children:"Quiet for the last 24 hours"})}function M({activity:e,rootParam:a,onOpenTask:n,onOpenDoc:i,focusSessionId:l}){let[o,d]=(0,s.useState)("sessions"),[c,u]=(0,s.useState)(l);l!==c&&(u(l),l&&d("sessions"));let[x,m]=(0,s.useState)(null),[p,h]=(0,s.useState)(!1),[f,g]=(0,s.useState)(new Map);(0,s.useEffect)(()=>{let e=a?`${a}&`:"?",t=()=>Promise.all([fetch(`/api/sessions${a}`).then(e=>e.json()),fetch(`/api/activity${e}limit=2000`).then(e=>e.json())]).then(([e,t])=>{h(!1),m(Array.isArray(e)?e:[]),g(new Map((Array.isArray(t)?t:[]).map(e=>[e.id,e])))}).catch(()=>{h(!0),m(e=>e??[])});return t(),window.addEventListener("vibedoc:sse",t),()=>window.removeEventListener("vibedoc:sse",t)},[a]);let b="sessions"===o?x?.length===0:0===e.length;return(0,t.jsxs)("div",{className:"mx-auto flex max-w-4xl flex-col px-6 py-8",children:[(0,t.jsxs)("header",{className:"mb-6 flex flex-wrap items-end gap-x-6 gap-y-4 border-b border-border pb-5",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1 basis-full sm:basis-0",children:[(0,t.jsx)("h1",{className:"text-[1.6rem] leading-tight font-semibold tracking-[-0.02em] text-txt",children:"Activity"}),(0,t.jsx)("p",{className:"mt-2 text-[1.1rem] leading-snug font-semibold text-txt",children:null===x?(0,t.jsx)("span",{className:"text-muted",children:"Loading…"}):(0,t.jsx)(w,{sessions:x})}),(0,t.jsxs)("p",{className:"mt-1 text-sm text-muted",children:["Everything agents and you changed, read from ",(0,t.jsx)("code",{className:"font-mono text-[0.9em]",children:".vibedoc-activity.json"}),"."]})]}),(0,t.jsxs)("div",{className:"relative grid grid-cols-2 rounded-md border border-border p-0.5 text-xs",role:"group","aria-label":"View",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:(0,r.cn)("absolute inset-y-0.5 left-0.5 w-[calc(50%-2px)] rounded-sm bg-surface2 transition-transform duration-(--duration-base) ease-out-soft","events"===o&&"translate-x-full")}),["sessions","events"].map(e=>(0,t.jsx)("button",{onClick:()=>d(e),"aria-pressed":o===e,className:(0,r.cn)("relative rounded-sm px-3 py-1 transition-colors duration-(--duration-fast) focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60",o===e?"text-txt":"text-muted hover:text-txt"),children:"sessions"===e?"Sessions":"All events"},e))]})]}),p&&(0,t.jsx)("p",{className:"mb-4 rounded-md border border-danger/30 bg-danger/5 px-3 py-2 text-xs text-danger animate-fade-in",children:"Couldn't load sessions. Showing the last data we had; it retries on the next update."}),"sessions"===o&&null===x?(0,t.jsx)("div",{className:"flex flex-col gap-3","aria-busy":"true","aria-label":"Loading sessions",children:[0,1,2].map(e=>(0,t.jsx)("div",{className:"ml-[4.25rem] h-24 rounded-lg bg-surface animate-pulse",style:{animationDelay:`${120*e}ms`}},e))}):b?(0,t.jsxs)("div",{className:"flex flex-col items-start gap-2 rounded-lg border border-dashed border-border2 p-6 animate-fade-in",children:[(0,t.jsx)(N.Activity,{className:"size-5 text-muted","aria-hidden":!0}),(0,t.jsx)("p",{className:"text-sm text-txt",children:"No activity yet"}),(0,t.jsx)("p",{className:"max-w-lg text-xs leading-relaxed text-muted",children:"Moves on the board and every agent call through the MCP server show up here as they happen. Use Connect in the header to hook up Claude Code or Cursor."})]}):"sessions"===o?(0,t.jsx)(y,{focusSessionId:l,sessions:x??[],events:f,onOpenTask:n,onOpenDoc:i},l??""):(0,t.jsx)(k,{activity:e})]})}var S=e.i(592381);function D(){let{activity:e,rootParam:r,board:i,moveTask:l,openDoc:o}=(0,n.useApp)(),d=(0,a.useSearchParams)().get("session"),[c,u]=(0,s.useState)(null),x=i&&c&&Object.values(i).flat().find(e=>e.id===c)||null;return(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(M,{activity:e,rootParam:r,onOpenTask:u,onOpenDoc:o,focusSessionId:d}),(0,t.jsx)(S.TaskDetailPanel,{task:x,onClose:()=>u(null),onMove:l})]})}e.s(["default",0,function(){return(0,t.jsx)(s.Suspense,{children:(0,t.jsx)(D,{})})}],66858)},329090,e=>{"use strict";var t=e.i(72345),s=e.i(343253),a=e.i(83790);let n={name:"file-pen",size:24,node:[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]],aliases:["file-edit"]};n.node;let r=(0,a.default)(n);var i=e.i(760930);let l={name:"file-search",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]]};l.node;let o=(0,a.default)(l);var d=e.i(406952);let c={name:"file-x",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m14.5 12.5-5 5",key:"b62r18"}],["path",{d:"m9.5 12.5 5 5",key:"1rk7el"}]]};c.node;let u=(0,a.default)(c);var x=e.i(880790),m=e.i(192871),p=e.i(15205),h=e.i(496699),f=e.i(678677),g=e.i(737152),b=e.i(464750);let v={task_updated:x.ListChecks,decision_logged:f.Scale,memory_updated:g.Brain,doc_read:o,doc_created:i.FilePlus,doc_updated:d.FileText,doc_deleted:u,doc_renamed:r,session_start:p.Plug,registry_rebuilt:h.RefreshCw,roadmap_updated:m.Map},j=e=>new Date(e).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",hourCycle:"h23"});e.s(["ActivityEventRow",0,function({event:e,showActor:a=!1}){let n=v[e.type]??d.FileText;return(0,t.jsxs)("div",{className:"grid grid-cols-[2.75rem_1.5rem_minmax(0,1fr)] items-start py-1.5",children:[(0,t.jsx)("time",{dateTime:e.timestamp,title:new Date(e.timestamp).toLocaleString(),className:"pt-px text-right font-mono text-[11px] leading-5 text-muted tabular-nums",children:j(e.timestamp)}),(0,t.jsx)("span",{className:"flex justify-center pt-[3px]",children:"task_updated"===e.type&&e.taskStatus?(0,t.jsx)(b.StatusIcon,{status:e.taskStatus}):(0,t.jsx)(n,{className:"size-3.5 text-muted","aria-hidden":!0})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-0.5 sm:flex-row sm:items-baseline sm:gap-2",children:[(0,t.jsx)("span",{className:"min-w-0 text-sm leading-5 text-txt sm:shrink-0 sm:max-w-[60%] sm:truncate",children:e.title}),e.detail&&(0,t.jsx)("span",{className:"min-w-0 truncate text-xs leading-5 text-muted",children:e.detail}),a&&"human"===e.actor&&(0,t.jsxs)("span",{className:"flex shrink-0 items-center gap-1 font-mono text-[10px] text-muted sm:ml-auto",children:[(0,t.jsx)(s.User,{className:"size-3","aria-hidden":!0}),"you"]})]})]})},"clock",0,j,"timeAgo",0,function(e){let t=(Date.now()-new Date(e).getTime())/1e3;return t<60?"just now":t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}],329090)},723528,e=>{"use strict";var t=e.i(72345),s=e.i(479432),a=e.i(240595),n=e.i(975157),r=e.i(244267),i=e.i(844081);let l={running:"Agent working","needs-answer":"Agent needs you",review:"Plan to review"};e.s(["AgentDot",0,function({attach:e}){let s=(0,r.useItemAgent)(e);return s?(0,t.jsx)(i.StatusMarker,{status:s.status,label:l[s.status]}):null},"AgentMark",0,function({attach:e,className:i}){let o=(0,r.useItemAgent)(e),{show:d}=(0,r.useChats)();if(!o)return null;let c=l[o.status];return(0,t.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),d(o.chatId)},title:`${c} \xb7 open chat`,"aria-label":`${c}, open chat`,className:(0,n.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"===o.status&&"border-accent/50 text-accent hover:bg-accent/10","needs-answer"===o.status&&"border-amber/50 text-amber hover:bg-amber/10","review"===o.status&&"border-accent/50 bg-accent/10 text-accent hover:bg-accent/20",i),children:["running"===o.status?(0,t.jsx)(a.Loader2,{className:"size-3 animate-spin","aria-hidden":!0}):(0,t.jsx)(s.Bot,{className:"size-3","aria-hidden":!0}),c]})}])},651581,692172,640818,450768,e=>{"use strict";var t=e.i(72345),s=e.i(211672),a=e.i(301702),n=e.i(496385),r=e.i(837001),i=e.i(975157);function l(e,t,s){let a;return e?"done"===t?"done":e<s?"overdue":7>=Math.round(((a=e=>Date.UTC(+e.slice(0,4),e.slice(5,7)-1,+e.slice(8,10)))(e)-a(s))/864e5)?"soon":"ok":null}function o(e){return e.every(e=>"done"===e)?"done":e.some(e=>"other"!==e)?"in-progress":"planned"}e.s(["dueState",0,l,"localToday",0,function(e=new Date){let t=e=>String(e).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`},"roadmapHealth",0,function(e,t,s){let a={},n=[];for(let t of e)t.due&&"overdue"===l(t.due,t.status,s)&&n.push({id:t.id,kind:"overdue",message:`${t.id} "${t.title}" is overdue since ${t.due}`});let r=new Set(e.filter(e=>null===e.parent).map(e=>e.id));for(let r of e){if(null===r.parent)continue;let e=r.tasks.filter(e=>!(e in t));e.length&&n.push({id:r.id,kind:"missing-task",message:`${r.id} links unknown task ${e.join(", ")}`});let i=r.tasks.filter(e=>e in t&&"cancelled"!==t[e].status),d="done"===r.status||"paused"===r.status?[]:function(e,t,s,a){let n=[];for(let e of t){let t=s[e];"done"!==t.status&&t.due&&t.due<a&&n.push(`${e} overdue since ${t.due}`),"blocked"===t.status&&n.push(`${e} blocked`)}let r=t.some(e=>["done","in-progress","review"].includes(s[e].status));return e.due&&"soon"===l(e.due,e.status,a)&&!r&&n.push(`due ${e.due}, nothing started`),n}(r,i,t,s);if(d.length&&n.push({id:r.id,kind:"at-risk",message:`${r.id} "${r.title}" at risk: ${d.join("; ")}`}),!i.length)continue;let c=i.map(e=>"done"===t[e].status?"done":"in-progress"===t[e].status||"review"===t[e].status?"in-progress":"other");a[r.id]={done:c.filter(e=>"done"===e).length,total:i.length};let u=o(c);if(u!==r.status&&("paused"!==r.status||"done"===u)){let e=i.filter(e=>"done"!==t[e].status);n.push({id:r.id,kind:"status-mismatch",message:"done"===u?`${r.id} "${r.title}": all tasks done but status is ${r.status}`:`${r.id} "${r.title}" is ${r.status} but tasks ${e.join(", ")} are not done`,suggestedStatus:u})}}for(let t of e){if(!r.has(t.id))continue;let s=e.filter(e=>e.parent===t.id);if(!s.length)continue;let i=s.map(e=>"done"===e.status?"done":"in-progress"===e.status?"in-progress":"other");a[t.id]=s.reduce((e,t)=>{let s=a[t.id]??{done:+("done"===t.status),total:1};return{done:e.done+s.done,total:e.total+s.total}},{done:0,total:0});let l=o(i);l!==t.status&&("paused"!==t.status||"done"===l)&&n.push({id:t.id,kind:"status-mismatch",message:`${t.id} "${t.title}" is ${t.status} but its features say ${l}`,suggestedStatus:l})}return{progress:a,drift:n}},"taskDueSummary",0,function(e,t,s){let a=e.map(e=>t[e]).filter(e=>e&&e.due&&"done"!==e.status&&"cancelled"!==e.status).map(e=>e.due);if(!a.length)return null;let n=a.filter(e=>e>=s).sort();return{overdue:a.length-n.length,next:n[0]??null}}],692172);function d(e){let t=new Set(e.filter(e=>null===e.parent).map(e=>e.id));return e.filter(e=>null===e.parent||!t.has(e.parent)).sort((e,t)=>e.order-t.order)}function c(e,t){return e.filter(e=>e.parent===t).sort((e,t)=>e.order-t.order)}e.s(["FEATURE_W",0,220,"HORIZON_W",0,260,"arrangePositions",0,function(e,t){let s={},a=0;for(let n of d(e)){let r=t(n.id),i=null===n.parent?c(e,n.id):[],l=[[],[]],o=[0,0];for(let e of i){let s=o[0]<=o[1]?0:1;l[s].push({id:e.id,y:o[s]}),o[s]+=t(e.id)+14}let d=o.map(e=>Math.max(0,e-14)),u=r/2,x=d.map(e=>u-e/2),m=a-Math.min(0,...x);s[n.id]={x:0,y:m},l.forEach((e,t)=>{let a=20+(0===t?1:-1)*340;for(let{id:n,y:r}of e)s[n]={x:a,y:m+x[t]+r}}),a=m+Math.max(r,...x.map((e,t)=>e+d[t]))+120}return s},"childrenOf",0,c,"resolvePositions",0,function(e,t){let s={},a=0;for(let n of d(e)){let r=t[n.id]??{x:0,y:a};s[n.id]=r;let i=null===n.parent?c(e,n.id):[],l=Math.ceil(i.length/2)>6?2:1;i.forEach((e,a)=>{let n=a%2==0?1:-1,i=Math.floor(a/2),o=i%l,d=Math.floor(i/l);s[e.id]=t[e.id]??{x:r.x+20+n*(340+260*o),y:r.y+110*d+55*o}}),a+=110*Math.max(1,Math.ceil(Math.ceil(i.length/2)/l))+90}return s},"spineItems",0,d],640818);let u=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],x=e=>({y:+e.slice(0,4),m:+e.slice(5,7),day:+e.slice(8,10)});function m(e){let{m:t,day:s}=x(e);return`${s} ${u[t-1]}`}e.s(["LANE_ROW_H",0,44,"buildTimeline",0,function(e,t){let s=e.map(e=>e.due).filter(e=>!!e),a=x([t,...s].sort()[0]),n=x([t,...s].sort().at(-1)??t),r={y:a.y,m:a.m-1},i=Math.max(6,(n.y-a.y)*12+(n.m-a.m)+3),o=Array.from({length:i},(e,t)=>{let s=12*r.y+(r.m-1)+t,a=Math.floor(s/12),n=s%12+1;return{y:a,m:n,label:1===n||0===t?`${u[n-1]} ${a}`:u[n-1],x:160*t}}),m=e=>{let{y:t,m:s,day:a}=x(e);return((t-o[0].y)*12+(s-o[0].m))*160+(a-.5)/new Date(t,s,0).getDate()*160},p=d(e).map(s=>{let a=[s,...null===s.parent?c(e,s.id):[]].filter(e=>e.due),n=[],r=a.map(e=>({item:e,x:m(e.due),horizon:e.id===s.id})).sort((e,t)=>e.x-t.x).map(e=>{let s=n.findIndex(t=>e.x>=t);return -1===s&&(s=n.push(0)-1),n[s]=e.x+180,{...e,row:s,state:l(e.item.due,e.item.status,t)}});return{item:s,rows:Math.max(1,n.length),markers:r}});return{months:o.map(({label:e,x:t})=>({label:e,x:t})),width:160*i,todayX:m(t),lanes:p,undated:e.filter(e=>!e.due&&"done"!==e.status)}},"formatDay",0,m],450768);var p=e.i(723528),h=e.i(244267);let f=[a.Position.Top,a.Position.Right,a.Position.Bottom,a.Position.Left];function g(){return(0,t.jsxs)(t.Fragment,{children:[f.map(e=>(0,t.jsx)(s.Handle,{id:e,type:"source",position:e,isConnectable:!1,className:"opacity-0"},e)),f.map(e=>(0,t.jsx)(s.Handle,{id:`${e}-t`,type:"target",position:e,isConnectable:!1,className:"opacity-0"},`${e}-t`))]})}let b={"in-progress":"Active",paused:"Paused",done:"Done",planned:"Planned"};function v({status:e,className:s}){return(0,t.jsxs)("span",{title:b[e],"aria-label":b[e],className:(0,i.cn)("relative inline-flex h-2 w-2 shrink-0",s),children:["in-progress"===e&&(0,t.jsx)("span",{className:"absolute inset-0 animate-ping rounded-full bg-accent/60"}),(0,t.jsx)("span",{className:(0,i.cn)("relative h-full w-full rounded-full","done"===e&&"bg-teal","in-progress"===e&&"bg-accent","planned"===e&&"border border-muted","paused"===e&&"bg-muted")})]})}let j={done:"bg-teal","in-progress":"bg-amber",review:"bg-accent",blocked:"bg-danger",paused:"bg-muted/60",todo:"bg-border2",cancelled:"bg-border"};function y({statuses:e,className:s}){if(!e?.length)return null;let a=e.filter(e=>"done"===e).length;return(0,t.jsx)("div",{className:(0,i.cn)("flex h-1.5 min-w-0 flex-1 gap-0.5",s),title:`${a}/${e.length} tasks done`,children:e.map((e,s)=>(0,t.jsx)("span",{className:(0,i.cn)("h-full flex-1 rounded-[1px]",j[e])},s))})}function k({value:e,total:s,className:a}){let n=2*Math.PI*14,r=s>0?e/s:0;return(0,t.jsxs)("span",{className:(0,i.cn)("relative inline-flex h-9 w-9 shrink-0 items-center justify-center",a),title:`${e}/${s} tasks done`,children:[(0,t.jsxs)("svg",{viewBox:"0 0 36 36",className:"absolute inset-0 -rotate-90",children:[(0,t.jsx)("circle",{cx:"18",cy:"18",r:14,fill:"none",strokeWidth:"3",className:"stroke-border"}),(0,t.jsx)("circle",{cx:"18",cy:"18",r:14,fill:"none",strokeWidth:"3",stroke:"currentColor",strokeLinecap:"round",strokeDasharray:n,strokeDashoffset:n*(1-r)})]}),(0,t.jsx)("span",{className:"font-mono text-[9px] text-txt",children:Math.round(100*r)})]})}function N({due:e,state:s}){return e?(0,t.jsxs)("span",{className:(0,i.cn)("font-mono text-[10px]","overdue"===s?"text-danger":"soon"===s?"text-amber":"text-muted"),children:["Due ",m(e)]}):null}function w({data:e}){let s=e.taskDue;return s&&s.overdue>0?(0,t.jsxs)("span",{className:"font-mono text-[10px] text-danger",children:[s.overdue," ",1===s.overdue?"task":"tasks"," overdue"]}):e.item.due?(0,t.jsx)(N,{due:e.item.due,state:e.dueState}):s?.next?(0,t.jsxs)("span",{className:(0,i.cn)("font-mono text-[10px]",e.taskDueSoon?"text-amber":"text-muted"),children:["Next due ",m(s.next)]}):null}function M({drift:e}){return e?.length?(0,t.jsx)("span",{title:e.join("\n"),className:"absolute -left-2 -top-2 rounded-full bg-bg p-0.5 text-amber",children:(0,t.jsx)(n.AlertTriangle,{className:"h-3.5 w-3.5"})}):null}e.s(["DueChip",0,N,"STATUS_LABEL",0,b,"SegmentedProgress",0,y,"StatusDot",0,v,"StatusPill",0,function({status:e}){return(0,t.jsxs)("span",{className:(0,i.cn)("inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider","done"===e&&"border-teal/40 text-teal","in-progress"===e&&"border-accent/50 text-accent","planned"===e&&"border-dashed border-border2 text-muted","paused"===e&&"border-border2 text-muted"),children:[(0,t.jsx)(v,{status:e,className:"h-1.5 w-1.5"}),b[e]]})},"TASK_STATUS_BG",0,j,"nodeTypes",0,{horizon:function({data:e,selected:s}){let{item:a,progress:n,epics:r,chapter:l}=e,o=a.status;return(0,t.jsxs)("div",{style:{width:260},className:(0,i.cn)("relative flex items-center gap-3 rounded-xl border bg-surface px-3.5 py-3 transition-shadow duration-(--duration-base)","in-progress"===o&&"border-accent/60 shadow-[0_0_0_1px_rgb(var(--rgb-accent)/0.25),0_10px_30px_-12px_rgb(var(--rgb-accent)/0.6)]","done"===o&&"border-teal/40","planned"===o&&"border-dashed border-border2","paused"===o&&"border-border2 opacity-75",s&&"ring-2 ring-accent/60 ring-offset-2 ring-offset-bg"),children:[(0,t.jsx)(g,{}),(0,t.jsx)("span",{className:(0,i.cn)("font-mono text-2xl font-semibold leading-none tabular-nums","in-progress"===o?"text-accent":"done"===o?"text-teal":"text-muted"),children:l?String(l).padStart(2,"0"):"··"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"text-xs font-semibold uppercase leading-snug tracking-wider text-txt",children:a.title}),(0,t.jsxs)("p",{className:"mt-1 flex flex-wrap items-center gap-x-2 font-mono text-[10px] text-muted",children:[r&&r.total>0&&(0,t.jsxs)("span",{children:[r.done,"/",r.total," epics"]}),(0,t.jsx)(N,{due:a.due,state:e.dueState})]})]}),n&&(0,t.jsx)(k,{value:n.done,total:n.total,className:"done"===o?"text-teal":"text-accent"}),(0,t.jsx)(M,{drift:e.drift})]})},feature:function({data:e,selected:s}){let{item:a,taskStatuses:n,nextTaskId:l}=e,o=(0,h.useItemAgent)({kind:"epic",id:a.id}),d=!!e.drift?.length,c=s&&"ring-2 ring-accent/60 ring-offset-2 ring-offset-bg";if("done"===a.status)return(0,t.jsxs)("div",{style:{width:220},className:(0,i.cn)("group relative flex items-center gap-2 rounded-lg border border-border bg-surface/60 px-3 py-2 hover:border-teal/40",c),children:[(0,t.jsx)(g,{}),(0,t.jsx)(r.Check,{className:"h-3.5 w-3.5 shrink-0 text-teal",strokeWidth:3}),(0,t.jsx)("p",{className:"min-w-0 flex-1 truncate text-[13px] text-muted group-hover:text-txt",title:a.title,children:a.title}),o?(0,t.jsx)(p.AgentMark,{attach:{kind:"epic",id:a.id}}):e.progress&&(0,t.jsxs)("span",{className:"font-mono text-[10px] text-muted",children:[e.progress.done,"/",e.progress.total]}),(0,t.jsx)(M,{drift:e.drift})]});let u="in-progress"===a.status;return(0,t.jsxs)("div",{style:{width:220},className:(0,i.cn)("relative flex flex-col gap-1.5 rounded-lg border px-3 py-2.5 transition-shadow duration-(--duration-base)",u?"border-accent/50 bg-surface shadow-[0_8px_24px_-10px_rgb(var(--rgb-accent)/0.55)]":"border-dashed border-border2 bg-bg hover:border-muted","paused"===a.status&&"opacity-70",c),children:[(0,t.jsx)(g,{}),u&&(0,t.jsx)("span",{className:(0,i.cn)("absolute -inset-y-px -left-px w-[3px] rounded-l-lg",d?"bg-amber":"bg-accent")}),(0,t.jsxs)("div",{className:"flex items-center justify-between font-mono text-[10px]",children:[(0,t.jsx)("span",{className:"text-muted",children:a.id}),o?(0,t.jsx)(p.AgentMark,{attach:{kind:"epic",id:a.id}}):u?(0,t.jsxs)("span",{className:"flex items-center gap-1.5 uppercase tracking-wider text-accent",children:[(0,t.jsx)(v,{status:"in-progress",className:"h-1.5 w-1.5"}),"Live"]}):(0,t.jsx)("span",{className:"uppercase tracking-wider text-muted",children:a.tasks.length?`${a.tasks.length} tasks`:"No tasks yet"})]}),(0,t.jsx)("p",{className:(0,i.cn)("line-clamp-2 text-[13px] leading-snug",u?"font-medium text-txt":"text-txt/80"),title:a.title,children:a.title}),n&&n.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(y,{statuses:n}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:u&&l?(0,t.jsxs)(t.Fragment,{children:["next ",(0,t.jsx)("span",{className:"text-txt",children:l})]}):`${n.filter(e=>"done"===e).length}/${n.length}`})]}),(0,t.jsx)(w,{data:e}),(0,t.jsx)(M,{drift:e.drift})]})}}],651581)},508540,e=>{"use strict";var t=e.i(72345),s=e.i(975157);function a({properties:e,className:n,children:r}){let i=e.filter(e=>null!==e.value&&void 0!==e.value&&!1!==e.value);return 0!==i.length||r?(0,t.jsxs)("dl",{className:(0,s.cn)("grid grid-cols-[minmax(6.5rem,8.5rem)_minmax(0,1fr)] items-center gap-x-2 text-[13px]",n),children:[i.map(e=>(0,t.jsxs)("div",{className:"contents",children:[(0,t.jsxs)("dt",{className:"flex min-h-8 min-w-0 items-center gap-2 text-muted",children:[e.icon&&(0,t.jsx)(e.icon,{className:"size-3.5 shrink-0","aria-hidden":!0}),(0,t.jsx)("span",{className:"min-w-0 truncate",children:e.label})]}),(0,t.jsx)("dd",{className:"flex min-h-8 min-w-0 items-center gap-2 text-txt",children:e.value})]},e.id??String(e.label))),r&&(0,t.jsx)("div",{className:"col-span-2 flex min-h-8 items-center",children:r})]}):null}e.s(["ItemPanelHeader",0,function({kicker:e,title:n,menu:r,properties:i,className:l,children:o}){return(0,t.jsxs)("header",{"data-item-header":!0,className:(0,s.cn)("flex shrink-0 flex-col gap-2 border-b border-border px-5 pb-4 pt-4",l),children:[(0,t.jsxs)("div",{className:"flex min-h-7 items-center gap-2 pr-8 font-mono text-[11px] text-muted",children:[(0,t.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-1",children:e}),r]}),(0,t.jsx)("div",{className:"text-base font-semibold leading-snug text-txt",children:n}),(0,t.jsx)(a,{properties:i,className:"-my-0.5"}),o]})},"PropertyRows",0,a])}]);
@@ -1,3 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,298367,e=>{"use strict";var t=e.i(72345),s=e.i(180338),a=e.i(211672),n=e.i(301702),r=e.i(496385),l=e.i(479432),i=e.i(406952),o=e.i(83790);let d={name:"layout-grid",size:24,node:[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]};d.node;let c=(0,o.default)(d);var u=e.i(506534),x=e.i(155515),m=e.i(885600),p=e.i(910172),h=e.i(763371),g=e.i(635743),f=e.i(519455);let b=e=>"done"===e||"cancelled"===e;function j(e,t){let s=new Map(t.map(e=>[e.id,e])),a=e.tasks.map(e=>s.get(e)).filter(e=>!!e),n=e=>[...new Set((e.dependsOn.match(/\bT\d+\b/gi)??[]).map(e=>e.toUpperCase()))].filter(e=>{let t=s.get(e);return!t||!b(t.status)});for(let e of a)if("todo"===e.status&&!n(e).length)return{kind:"ready",taskId:e.id};if(a.every(e=>b(e.status)))return{kind:"finished"};let r=new Set(e.tasks),l=new Map,i=e=>{if(l.has(e))return l.get(e)??!1;l.set(e,!1);let t=s.get(e),a=!!t&&"blocked"!==t.status&&"paused"!==t.status&&"review"!==t.status&&("todo"!==t.status||r.has(e)&&n(t).every(i));return l.set(e,a),a},o=[];for(let t of e.tasks){let e=s.get(t);if(e){if("in-progress"===e.status)o.push({taskId:t,reason:`${t} is in progress (claimed)`});else if("blocked"===e.status)o.push({taskId:t,reason:`${t} is blocked`});else if("paused"===e.status)o.push({taskId:t,reason:`${t} is paused — needs a human to resume it`});else if("review"===e.status)o.push({taskId:t,reason:`${t} in review — needs a human`});else if("todo"===e.status){let a=n(e).map(e=>`${e} (${s.get(e)?.status??"missing"})`);o.push({taskId:t,reason:`${t} waits on ${a.join(", ")}`})}}else o.push({taskId:t,reason:`${t} has no task file`})}return{kind:"waiting",waiting:o,needsHuman:o.every(e=>!i(e.taskId))}}var N=e.i(692172),y=e.i(975157),v=e.i(956555),w=e.i(651581),k=e.i(723528),S=e.i(450768);function C({items:e,today:a,onSelect:n,onItemContextMenu:r,progressById:l}){let i=new Map(e.filter(e=>null===e.parent).sort((e,t)=>e.order-t.order).map((e,t)=>[e.id,t+1])),o=(0,s.useMemo)(()=>(0,S.buildTimeline)(e,a),[e,a]),d=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=d.current;e&&(e.scrollLeft=Math.max(0,o.todayX-(e.clientWidth-200)/3))},[o.todayX]);let c=o.lanes.some(e=>e.markers.length>0);return(0,t.jsxs)("div",{className:"flex flex-1 min-h-0 flex-col",children:[(0,t.jsx)("div",{ref:d,className:"relative flex-1 min-h-0 overflow-auto",children:(0,t.jsxs)("div",{className:"relative",style:{width:200+o.width,minHeight:"100%"},children:[(0,t.jsxs)("div",{className:"pointer-events-none absolute inset-y-0",style:{left:200,width:o.width},children:[o.months.map(e=>(0,t.jsx)("div",{className:"absolute inset-y-0 border-l border-border",style:{left:e.x}},e.x)),(0,t.jsx)("div",{className:"absolute inset-y-0 left-0 bg-surface/50",style:{width:o.todayX}}),(0,t.jsx)("div",{className:"absolute inset-y-0 w-px bg-accent shadow-[0_0_12px_rgb(var(--rgb-accent)/0.8)]",style:{left:o.todayX},children:(0,t.jsx)("span",{className:"absolute -translate-x-1/2 rounded-full bg-accent px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-accent-fg",style:{top:42},children:"Today"})})]}),(0,t.jsxs)("div",{className:"sticky top-0 z-20 flex border-b border-border bg-bg",style:{height:36},children:[(0,t.jsx)("div",{className:"sticky left-0 z-10 shrink-0 bg-bg",style:{width:200}}),(0,t.jsx)("div",{className:"relative",children:o.months.map(e=>(0,t.jsx)("span",{className:"absolute top-3 whitespace-nowrap pl-2 font-mono text-[10px] uppercase tracking-widest text-muted",style:{left:e.x},children:e.label},e.x))})]}),o.lanes.map(e=>(0,t.jsxs)("div",{className:"relative flex border-b border-border",children:[(0,t.jsx)(M,{item:e.item,chapter:i.get(e.item.id),progress:l[e.item.id],onSelect:n,onContextMenu:r}),(0,t.jsx)("div",{className:"relative",style:{width:o.width,height:e.rows*S.LANE_ROW_H+12},children:e.markers.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>n(e.item.id),onContextMenu:t=>r?.(e.item.id,t),title:`${e.item.id} \xb7 ${e.item.title} \xb7 due ${e.item.due}${"overdue"===e.state?" (overdue)":""}`,className:"group absolute flex items-center gap-1.5",style:{left:e.x-10,top:6+e.row*S.LANE_ROW_H},children:[e.horizon?(0,t.jsx)("span",{className:(0,y.cn)("h-4 w-4 rotate-45 border-2 border-accent","done"===e.item.status?"bg-accent":"bg-bg","overdue"===e.state&&"border-danger")}):(0,t.jsx)("span",{className:(0,y.cn)("rounded-full","overdue"===e.state&&"ring-2 ring-danger ring-offset-1 ring-offset-bg"),children:(0,t.jsx)(w.StatusDot,{status:e.item.status})}),(0,t.jsxs)("span",{className:(0,y.cn)("flex max-w-[150px] flex-col rounded-md border px-2 py-0.5 text-left transition-colors","in-progress"===e.item.status?"border-accent/50 bg-surface shadow-[0_6px_18px_-10px_rgb(var(--rgb-accent)/0.7)]":"done"===e.item.status?"border-border bg-surface/60":"border-dashed border-border2 bg-bg","group-hover:border-accent"),children:[(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:(0,y.cn)("truncate text-xs","done"===e.item.status?"text-muted":"text-txt",e.horizon&&"font-semibold"),children:e.item.title}),(0,t.jsx)(k.AgentDot,{attach:{kind:"epic",id:e.item.id}})]}),(0,t.jsx)("span",{className:(0,y.cn)("font-mono text-[10px]","overdue"===e.state?"text-danger":"soon"===e.state?"text-amber":"text-muted"),children:(0,S.formatDay)(e.item.due)})]})]},e.item.id))})]},e.item.id)),!c&&(0,t.jsx)("p",{className:"px-6 py-8 text-sm text-muted",style:{marginLeft:200},children:"No due dates yet — open an item and set a Due date."})]})}),o.undated.length>0&&(0,t.jsxs)("div",{className:"max-h-28 shrink-0 overflow-y-auto border-t border-border bg-surface px-4 py-2",children:[(0,t.jsxs)("p",{className:"mb-2 font-mono text-[10px] uppercase tracking-widest text-muted",children:["No due date · ",o.undated.length]}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:o.undated.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>n(e.id),onContextMenu:t=>r?.(e.id,t),className:"flex items-center gap-1 rounded-md border border-border px-1.5 py-0.5 text-xs text-muted hover:border-accent hover:text-txt",children:[(0,t.jsx)(w.StatusDot,{status:e.status}),e.title,(0,t.jsx)(k.AgentDot,{attach:{kind:"epic",id:e.id}})]},e.id))})]})]})}function M({item:e,chapter:s,progress:a,onSelect:n,onContextMenu:r}){return(0,t.jsxs)("button",{type:"button",onClick:()=>n(e.id),onContextMenu:t=>r?.(e.id,t),className:"sticky left-0 z-10 flex shrink-0 items-center gap-3 border-r border-border bg-surface px-3 text-left hover:bg-surface2",style:{width:200},children:[(0,t.jsx)("span",{className:(0,y.cn)("font-mono text-lg font-semibold tabular-nums","in-progress"===e.status?"text-accent":"done"===e.status?"text-teal":"text-muted"),children:s?String(s).padStart(2,"0"):"··"}),(0,t.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,t.jsx)("span",{className:"line-clamp-2 text-[11px] font-semibold uppercase leading-snug tracking-wider text-txt",children:e.title}),a&&(0,t.jsx)("span",{className:"h-1 overflow-hidden rounded-full bg-border",children:(0,t.jsx)("span",{className:"block h-full rounded-full bg-teal",style:{width:`${a.done/a.total*100}%`}})})]})]})}var D=e.i(640818),z=e.i(363216),$=e.i(675964),T=e.i(811613),B=e.i(628137);let I={name:"layers",size:24,node:[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],aliases:["layers-3"]};I.node;let O=(0,o.default)(I);var A=e.i(880790),E=e.i(475850),P=e.i(424991),L=e.i(343253),_=e.i(980376),R=e.i(793479),F=e.i(998822),H=e.i(481523),U=e.i(244267),W=e.i(609617),q=e.i(246978),K=e.i(248070),X=e.i(458055),G=e.i(755146),J=e.i(903763);let V=["planned","in-progress","paused","done"];function Z({item:e,items:s,actions:a}){let n=null===e.parent,r=s.filter(t=>null===t.parent&&t.id!==e.parent).sort((e,t)=>e.order-t.order),l=s.filter(t=>t.parent===e.id).length;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.edit(e.id),children:[(0,t.jsx)(P.Pencil,{})," Edit",(0,t.jsx)(G.DropdownMenuShortcut,{children:(0,J.itemKeyLabel)("edit")})]}),(0,t.jsxs)(G.DropdownMenuSub,{children:[(0,t.jsxs)(G.DropdownMenuSubTrigger,{children:[(0,t.jsx)(w.StatusDot,{status:e.status})," Status",(0,t.jsx)(G.DropdownMenuShortcut,{children:(0,J.itemKeyLabel)("status")})]}),(0,t.jsx)(G.DropdownMenuSubContent,{children:V.map(s=>(0,t.jsxs)(G.DropdownMenuItem,{disabled:s===e.status,onSelect:()=>a.setStatus(e.id,s),children:[(0,t.jsx)(w.StatusDot,{status:s})," ",w.STATUS_LABEL[s]]},s))})]}),!n&&r.length>0&&(0,t.jsxs)(G.DropdownMenuSub,{children:[(0,t.jsxs)(G.DropdownMenuSubTrigger,{children:[(0,t.jsx)(q.FolderInput,{})," Move to horizon"]}),(0,t.jsx)(G.DropdownMenuSubContent,{className:"max-h-72 overflow-y-auto",children:r.map(s=>(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.move(e.id,s.id),children:[(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:s.id})," ",s.title]},s.id))})]}),n&&(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.addEpic(e.id),children:[(0,t.jsx)(x.Plus,{})," Add epic"]}),(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.duplicate(e.id),children:[(0,t.jsx)(W.Copy,{})," Duplicate",(0,t.jsx)(G.DropdownMenuShortcut,{children:(0,J.itemKeyLabel)("duplicate")})]}),(0,t.jsx)(G.DropdownMenuSeparator,{}),!n&&(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.chat(e.id),children:[(0,t.jsx)(E.MessageSquare,{})," Chat about it",(0,t.jsx)(G.DropdownMenuShortcut,{children:(0,J.itemKeyLabel)("chat")})]}),(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.openFile(e.file),children:[(0,t.jsx)(i.FileText,{})," Open file"]}),(0,t.jsx)(G.DropdownMenuSeparator,{}),l>0?(0,t.jsxs)(G.DropdownMenuItem,{disabled:!0,className:"flex-col items-start gap-0",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)(X.Trash2,{})," Delete"]}),(0,t.jsxs)("span",{className:"pl-6 text-[11px]",children:["Move or delete its ",l," epic",1===l?"":"s"," first"]})]}):(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.remove(e.id),className:"text-danger focus:text-danger",children:[(0,t.jsx)(X.Trash2,{})," Delete",(0,t.jsx)(G.DropdownMenuShortcut,{children:(0,J.itemKeyLabel)("remove")})]})]})}function Y({item:e,items:s,actions:a,className:n,open:r,onOpenChange:l}){return(0,t.jsxs)(G.DropdownMenu,{open:r,onOpenChange:l,children:[(0,t.jsx)(G.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":`Actions for ${e.id}`,className:(0,y.cn)("grid size-7 place-items-center rounded-md text-muted hover:bg-surface2 hover:text-txt",n),children:(0,t.jsx)(K.MoreHorizontal,{className:"size-4"})})}),(0,t.jsx)(G.DropdownMenuContent,{align:"end",className:"w-52",children:(0,t.jsx)(Z,{item:e,items:s,actions:a})})]})}function Q({at:e,items:s,actions:a,onClose:n}){let r=e&&s.find(t=>t.id===e.id);return e&&r?(0,t.jsxs)(G.DropdownMenu,{open:!0,onOpenChange:e=>{e||n()},children:[(0,t.jsx)(G.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none fixed size-0",style:{left:e.x,top:e.y}})}),(0,t.jsx)(G.DropdownMenuContent,{align:"start",className:"w-52",children:(0,t.jsx)(Z,{item:r,items:s,actions:a})})]},`${e.id}:${e.x}:${e.y}`):null}var ee=e.i(35032),et=e.i(508540),es=e.i(65112),ea=e.i(775549),en=e.i(673635);let er=["planned","in-progress","paused","done"],el="w-full rounded-md border border-border bg-bg px-3 py-2 text-sm text-txt focus:outline-hidden focus:ring-1 focus:ring-accent disabled:opacity-50",ei="text-xs font-medium text-muted",eo="font-mono text-[10px] uppercase tracking-widest text-muted";function ed({item:e,onClose:s,...a}){return(0,t.jsx)(_.Sheet,{open:!!e,onOpenChange:e=>{e||s()},children:(0,t.jsx)(_.SheetContent,{className:"w-full sm:w-[480px] sm:max-w-[480px] gap-0 bg-surface border-border text-txt flex flex-col overflow-y-auto p-0",children:e&&(0,t.jsx)(ec,{item:e,onClose:s,...a},e.id)})})}function ec(e){return e.editing?(0,t.jsx)(ex,{...e,onCancel:()=>e.onEditingChange(!1)}):(0,t.jsx)(eu,{...e,onEdit:()=>e.onEditingChange(!0)})}function eu({item:e,items:a,onClose:n,onAddFeature:r,onEditRaw:o,onSelect:d,tasksById:c,progressById:u,onEdit:m,actions:p,onSave:h}){let g=null===e.parent,b=a.find(t=>t.id===e.parent),j=a.filter(t=>t.parent===e.id).sort((e,t)=>e.order-t.order),S=u[e.id],C=(0,N.localToday)(),{chats:M,showAbout:D}=(0,U.useChats)(),I=g?void 0:(0,H.chatFor)(M,{kind:"epic",id:e.id}),R=!g&&0===e.tasks.length&&!I,[W,q]=(0,s.useState)(!1),K=t=>{h(e.id,t).then(e=>{e&&(0,en.toast)(e)})};return(0,J.useItemCommands)(`${e.id} \xb7 ${e.title}`,[{action:"edit",label:"Edit",run:m},{action:"status",label:"Change status…",run:()=>q(!0)},{action:"duplicate",label:"Duplicate",run:()=>p.duplicate(e.id)},...g?[]:[{action:"chat",label:"Chat about it",run:()=>p.chat(e.id)}],...j.length?[]:[{action:"remove",label:"Delete",run:()=>p.remove(e.id)}]]),(0,t.jsxs)("div",{className:"flex min-h-full flex-col",children:[(0,t.jsx)(et.ItemPanelHeader,{className:(0,y.cn)("px-6","in-progress"===e.status&&"bg-[linear-gradient(180deg,rgb(var(--rgb-accent)/0.08),transparent)]"),kicker:(0,t.jsx)(_.SheetDescription,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-1",children:[b&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",onClick:()=>d(b.id),className:"truncate hover:text-txt",children:b.title}),(0,t.jsx)($.ChevronRight,{className:"h-3 w-3 shrink-0"})]}),(0,t.jsxs)("span",{className:"shrink-0",children:[e.id," · ",g?"horizon":"epic"]}),(0,t.jsx)(k.AgentMark,{attach:{kind:"epic",id:e.id}})]})}),title:(0,t.jsx)(_.SheetTitle,{className:"text-xl font-semibold leading-tight text-txt",children:e.title}),menu:(0,t.jsx)(Y,{item:e,items:a,actions:p,open:W,onOpenChange:q}),properties:[{label:"Status",icon:T.CircleDashed,value:(0,t.jsx)(es.InlineSelect,{label:`Status of ${e.id}`,value:e.status,onChange:t=>p.setStatus(e.id,t),options:er.map(e=>({value:e,label:w.STATUS_LABEL[e],node:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.StatusDot,{status:e}),w.STATUS_LABEL[e]]})})),children:(0,t.jsx)(w.StatusPill,{status:e.status})})},{label:"Priority",icon:B.Flag,value:(0,t.jsx)(ea.PriorityField,{label:`Priority of ${e.id}`,value:e.priority??null,onChange:e=>K({priority:e})})},{label:"Owner",icon:L.User,value:(0,t.jsx)(es.InlineSelect,{label:`Owner of ${e.id}`,value:e.owner??"",onChange:e=>K({owner:e||null}),options:[{value:"human",label:"Human",node:(0,t.jsx)(ee.OwnerChip,{owner:"human",className:"text-xs"})},...[...new Set(["ai:claude",...e.owner?.startsWith("ai:")?[e.owner]:[]])].map(e=>({value:e,label:e,node:(0,t.jsx)(ee.OwnerChip,{owner:e,className:"text-xs"})})),{value:"",label:"No owner",node:(0,t.jsx)("span",{className:"text-muted",children:"No owner"})}],children:e.owner?(0,t.jsx)(ee.OwnerChip,{owner:e.owner,className:"text-xs"}):(0,t.jsx)("span",{className:"text-muted",children:"—"})})},{label:"Due",icon:z.Calendar,value:(0,t.jsx)(es.InlineDate,{label:`Due date of ${e.id}`,value:e.due,onChange:e=>K({due:e}),children:e.due?(0,t.jsx)(w.DueChip,{due:e.due,state:(0,N.dueState)(e.due,e.status,C)}):(0,t.jsx)("span",{className:"text-muted",children:"—"})})},{label:g?"Epics":"Tasks",icon:g?O:A.ListChecks,value:(0,t.jsx)("span",{className:"font-mono",children:g?j.length:e.tasks.length})}],children:S&&(0,t.jsxs)("div",{className:"mt-2 flex items-end gap-4",children:[(0,t.jsxs)("p",{className:"font-mono text-3xl font-semibold leading-none tabular-nums text-txt",children:[Math.round(S.done/S.total*100),(0,t.jsx)("span",{className:"text-base text-muted",children:"%"})]}),(0,t.jsxs)("div",{className:"flex-1 pb-1",children:[(0,t.jsxs)("p",{className:"mb-1.5 font-mono text-[10px] text-muted",children:[S.done," of ",S.total,g?"":" tasks"," done"]}),g?(0,t.jsx)("div",{className:"h-1.5 overflow-hidden rounded-full bg-border",children:(0,t.jsx)("div",{className:"h-full rounded-full bg-teal",style:{width:`${S.done/S.total*100}%`}})}):(0,t.jsx)(w.SegmentedProgress,{statuses:e.tasks.map(e=>c[e]?.status).filter(e=>!!e&&"cancelled"!==e)})]})]})}),(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-6 px-6 py-5",children:[!g&&e.tasks.length>0&&(0,t.jsx)(em,{item:e,tasksById:c,onOpen:o}),g&&(0,t.jsxs)("section",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("p",{className:eo,children:["Epics · ",j.length]}),0===j.length&&(0,t.jsx)("p",{className:"text-sm text-muted",children:"No epics yet."}),(0,t.jsx)("ul",{className:"-mx-2 flex flex-col",children:j.map(e=>{let s=u[e.id];return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>d(e.id),className:"flex w-full items-center gap-3 rounded-md px-2 py-2 text-left hover:bg-surface2",children:[(0,t.jsx)(w.StatusDot,{status:e.status}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:e.id}),(0,t.jsx)("span",{className:(0,y.cn)("min-w-0 flex-1 truncate text-sm","done"===e.status?"text-muted":"text-txt"),children:e.title}),s&&(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:[s.done,"/",s.total]})]})},e.id)})})]}),(0,t.jsxs)("section",{className:"flex flex-col gap-2",children:[(0,t.jsx)("p",{className:eo,children:"Brief"}),e.body.trim()?(0,t.jsx)(F.MarkdownRenderer,{content:e.body,className:"text-sm"}):(0,t.jsx)("p",{className:"text-sm text-muted",children:"No description. Edit to add the outcome, scope and “done when”."})]})]}),(0,t.jsxs)("footer",{className:"sticky bottom-0 flex flex-wrap items-center gap-2 border-t border-border bg-surface px-6 py-3",children:[R&&(0,t.jsxs)(f.Button,{size:"sm",onClick:()=>{n(),(0,v.askAgent)(`Break down epic ${e.id} into tasks.`)},className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,t.jsx)(l.Bot,{})," Break down with agent"]}),!g&&(0,t.jsxs)(f.Button,{size:"sm",variant:R?"outline":"default",onClick:()=>{n(),D({kind:"epic",id:e.id})},className:(0,y.cn)(!R&&"bg-accent text-accent-fg hover:bg-accent/90"),children:[(0,t.jsx)(E.MessageSquare,{})," ",I?"Open chat":"Chat"]}),g&&(0,t.jsxs)(f.Button,{size:"sm",onClick:()=>r(e.id),className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,t.jsx)(x.Plus,{})," Add epic"]}),(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:m,children:[(0,t.jsx)(P.Pencil,{})," Edit"]}),(0,t.jsxs)(f.Button,{size:"sm",variant:"ghost",onClick:()=>o(e.file),className:"ml-auto text-muted hover:text-txt",children:[(0,t.jsx)(i.FileText,{})," Open file"]})]})]})}function ex({item:e,items:a,onClose:n,onSave:r,onDelete:l,onCancel:i}){let[o]=(0,s.useState)(e),[d,c]=(0,s.useState)(e.title),[u,x]=(0,s.useState)(e.status),[m,p]=(0,s.useState)(e.parent??""),[h,g]=(0,s.useState)(String(e.order)),[b,j]=(0,s.useState)(e.tasks.join(", ")),[N,y]=(0,s.useState)(e.due??""),[v,w]=(0,s.useState)(e.body),[k,S]=(0,s.useState)(null),[C,M]=(0,s.useState)(!1),D=a.some(t=>t.parent===e.id),z=a.filter(t=>null===t.parent&&t.id!==e.id),$=null===e.parent,T=null!==e.parent&&!z.some(t=>t.id===e.parent);async function B(e){M(!0),S(null);let t=await e();return M(!1),t&&S(t),!t}async function I(){let t={},s=d.trim()||o.title;if(s!==o.title&&(t.title=s),u!==o.status&&(t.status=u),(m||null)!==o.parent&&(t.parent=m||null),h.trim()!==String(o.order)){let e=Number(h);if(""===h.trim()||!Number.isFinite(e))return void S("Order must be a number");t.order=e}let a=b.split(",").map(e=>e.trim()).filter(Boolean);(a.join(",")!==o.tasks.join(",")&&(t.tasks=a),(N||null)!==o.due&&(t.due=N||null),v!==o.body&&(t.body=v),0===Object.keys(t).length)?i():await B(()=>r(e.id,t))&&n()}async function O(){await B(()=>l(e.id))&&n()}return(0,t.jsxs)("div",{className:"flex min-h-full flex-col",children:[(0,t.jsxs)("div",{className:"border-b border-border px-6 pb-4 pt-6 pr-12",children:[(0,t.jsxs)(_.SheetDescription,{className:"font-mono text-[11px] text-muted",children:["Editing ",e.id," · ",$?"horizon":"epic"]}),(0,t.jsx)(_.SheetTitle,{className:"mt-1 text-base text-txt",children:e.title})]}),(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-4 px-6 py-5",children:[(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Title"}),(0,t.jsx)(R.Input,{value:d,onChange:e=>c(e.target.value),className:"bg-bg border-border text-txt"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-3 gap-3",children:[(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Status"}),(0,t.jsx)("select",{value:u,onChange:e=>x(e.target.value),className:el,children:er.map(e=>(0,t.jsx)("option",{value:e,children:e},e))})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Parent"}),(0,t.jsxs)("select",{value:m,onChange:e=>p(e.target.value),disabled:D,title:D?"Items with children must stay on the spine":void 0,className:el,children:[(0,t.jsx)("option",{value:"",children:"— (horizon)"}),T&&(0,t.jsxs)("option",{value:e.parent??"",children:[e.parent," · missing"]}),z.map(e=>(0,t.jsxs)("option",{value:e.id,children:[e.id," · ",e.title]},e.id))]})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Order"}),(0,t.jsx)(R.Input,{type:"number",step:10,value:h,onChange:e=>g(e.target.value),title:$?"Position on the spine":"Position within the branch",className:"bg-bg border-border text-txt"})]})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Due"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(R.Input,{type:"date",value:N,onChange:e=>y(e.target.value),className:"bg-bg border-border text-txt scheme-light dark:scheme-dark"}),N&&(0,t.jsx)("button",{type:"button",onClick:()=>y(""),className:"text-xs text-muted hover:text-txt",children:"Clear"})]})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Tasks"}),(0,t.jsx)(R.Input,{value:b,onChange:e=>j(e.target.value),placeholder:"T001, T012",className:"bg-bg border-border text-txt font-mono"})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Body (markdown)"}),(0,t.jsx)("textarea",{value:v,onChange:e=>w(e.target.value),rows:12,className:`${el} font-mono resize-y`})]}),k&&(0,t.jsx)("p",{className:"text-xs text-danger",children:k})]}),(0,t.jsxs)("footer",{className:"sticky bottom-0 flex items-center gap-2 border-t border-border bg-surface px-6 py-3",children:[(0,t.jsx)(f.Button,{size:"sm",onClick:I,disabled:C,className:"bg-accent text-accent-fg hover:bg-accent/90",children:"Save"}),(0,t.jsx)(f.Button,{size:"sm",variant:"ghost",onClick:i,disabled:C,className:"text-txt",children:"Cancel"}),(0,t.jsx)(f.Button,{size:"sm",variant:"ghost",onClick:O,disabled:C,className:"ml-auto text-danger hover:text-danger",children:"Delete"})]})]})}function em({item:e,tasksById:s,onOpen:a}){let n=(0,N.localToday)(),r=j(e,Object.values(s)),l="ready"===r.kind?r.taskId:null,i="waiting"===r.kind?[...r.waiting].sort((e,t)=>Number(s[t.taskId]?.status==="todo")-Number(s[e.taskId]?.status==="todo")).map(e=>e.reason):[];return(0,t.jsxs)("section",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("p",{className:eo,children:["Tasks · ",e.tasks.length]}),(0,t.jsx)("ul",{className:"-mx-2 flex flex-col",children:e.tasks.map(e=>{let r=s[e];if(!r)return(0,t.jsxs)("li",{className:"px-2 py-2 font-mono text-xs text-danger",children:[e," · missing task file"]},e);let i=r.id===l;return(0,t.jsxs)("li",{className:(0,y.cn)("group flex items-center rounded-md hover:bg-surface2",i&&"bg-accent/10 hover:bg-accent/15"),children:[(0,t.jsxs)("button",{type:"button",onClick:()=>a(r.file),className:"flex min-w-0 flex-1 items-center gap-3 px-2 py-2 text-left",children:[(0,t.jsx)("span",{title:r.status,className:(0,y.cn)("h-2 w-2 shrink-0 rounded-full",w.TASK_STATUS_BG[r.status])}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:r.id}),(0,t.jsx)("span",{className:(0,y.cn)("min-w-0 flex-1 truncate text-sm","cancelled"===r.status?"text-muted line-through":"done"===r.status?"text-muted":"text-txt"),children:r.title}),(0,t.jsx)(w.DueChip,{due:r.due,state:(0,N.dueState)(r.due,"done"===r.status?"done":"planned",n)}),i?(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] uppercase tracking-wider text-accent",children:"Next up"}):r.size&&"—"!==r.size&&(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:r.size.split(" ")[0]}),(0,t.jsx)(k.AgentDot,{attach:{kind:"task",id:r.id}})]}),(0,t.jsx)(ep,{taskId:r.id})]},e)})}),i.length>0&&(0,t.jsxs)("p",{className:"truncate text-xs text-muted",title:i.join("\n"),children:[i[0],i.length>1&&` (+${i.length-1} more)`]})]})}function ep({taskId:e}){let{chats:s,showAbout:a}=(0,U.useChats)(),n=!!(0,H.chatFor)(s,{kind:"task",id:e});return(0,t.jsx)("button",{type:"button",onClick:()=>a({kind:"task",id:e}),"aria-label":`${n?"Open chat":"Chat"} about ${e}`,title:n?`Open the chat about ${e}`:`Chat about ${e}`,className:(0,y.cn)("mr-1 grid size-7 shrink-0 place-items-center rounded-md text-muted transition-[opacity,color] duration-(--duration-fast) hover:bg-surface hover:text-accent focus-visible:opacity-100",n?"text-accent opacity-100":"opacity-0 group-hover:opacity-100"),children:(0,t.jsx)(E.MessageSquare,{className:"size-3.5"})})}var eh=e.i(776639);function eg({open:e,heading:a,onOpenChange:n,onSubmit:r}){let[l,i]=(0,s.useState)(""),[o,d]=(0,s.useState)(null),[c,u]=(0,s.useState)(!1);function x(e){e||(i(""),d(null)),n(e)}async function m(e){if(e.preventDefault(),!l.trim())return;u(!0);let t=await r(l.trim());u(!1),t?d(t):x(!1)}return(0,t.jsx)(eh.Dialog,{open:e,onOpenChange:x,children:(0,t.jsxs)(eh.DialogContent,{className:"max-w-sm bg-surface border-border text-txt",children:[(0,t.jsx)(eh.DialogTitle,{className:"text-sm font-semibold text-txt",children:a}),(0,t.jsxs)("form",{onSubmit:m,className:"flex flex-col gap-3",children:[(0,t.jsx)(R.Input,{autoFocus:!0,value:l,onChange:e=>i(e.target.value),placeholder:"Title",className:"bg-bg border-border text-txt"}),o&&(0,t.jsx)("p",{className:"text-xs text-danger",children:o}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(f.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>x(!1),children:"Cancel"}),(0,t.jsx)(f.Button,{type:"submit",size:"sm",disabled:c||!l.trim(),className:"bg-accent text-accent-fg hover:bg-accent/90",children:"Create"})]})]})]})})}function ef({open:e,onOpenChange:a}){let[n,r]=(0,s.useState)("");return(0,t.jsx)(eh.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(eh.DialogContent,{className:"max-w-lg bg-surface border-border text-txt",children:[(0,t.jsx)(eh.DialogTitle,{className:"text-sm font-semibold text-txt",children:"Plan from spec"}),(0,t.jsxs)("form",{onSubmit:function(e){e.preventDefault(),n.trim()&&(a(!1),(0,v.askAgent)(`Break down this spec into tasks:
2
-
3
- ${n.trim()}`))},className:"flex flex-col gap-3",children:[(0,t.jsx)("textarea",{autoFocus:!0,value:n,onChange:e=>r(e.target.value),placeholder:"Paste a feature spec…",rows:12,className:"w-full resize-y rounded-md border border-border bg-bg px-3 py-2 text-sm text-txt placeholder:text-muted focus:outline-none focus:ring-1 focus:ring-accent"}),(0,t.jsx)("p",{className:"text-xs text-muted",children:"The agent asks where the tasks go (a new epic, an existing epic, or no epic) and shows a plan before writing anything."}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(f.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>{r(""),a(!1)},children:"Cancel"}),(0,t.jsx)(f.Button,{type:"submit",size:"sm",disabled:!n.trim(),className:"bg-accent text-accent-fg hover:bg-accent/90",children:"Break down"})]})]})]})})}function eb({open:e,onOpenChange:s,items:a}){return(0,t.jsx)(eh.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(eh.DialogContent,{className:"max-w-lg bg-surface border-border text-txt",children:[(0,t.jsx)(eh.DialogTitle,{className:"text-sm font-semibold text-txt",children:"Break down epics"}),(0,t.jsx)(ej,{items:a,onDone:()=>s(!1)})]})})}function ej({items:e,onDone:a}){let n,r=(n=(e,t)=>e.order-t.order,e.filter(e=>null===e.parent).sort(n).map(t=>({horizon:t,epics:e.filter(e=>e.parent===t.id&&"done"!==e.status).sort((e,t)=>Number(e.tasks.length>0)-Number(t.tasks.length>0)||n(e,t))})).filter(e=>e.epics.length>0)),[l,i]=(0,s.useState)(()=>new Set(r.flatMap(e=>e.epics.filter(e=>0===e.tasks.length).map(e=>e.id)))),o=(0,U.useChats)().runningCount,d=Math.max(0,H.MAX_RUNNING_CHATS-o),c=l.size>d;return(0,t.jsxs)("form",{onSubmit:function(e){if(e.preventDefault(),l.size&&!c)for(let e of(a(),r))for(let t of e.epics)l.has(t.id)&&(0,v.askAgent)(`Break down epic ${t.id} into tasks.`,{newChat:!0})},className:"flex flex-col gap-3",children:[(0,t.jsx)("div",{className:"max-h-[50vh] overflow-y-auto rounded-md border border-border",children:r.map(e=>(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"sticky top-0 bg-surface2 px-3 py-1 text-[10px] font-mono uppercase tracking-widest text-muted",children:[e.horizon.id," · ",e.horizon.title]}),(0,t.jsx)("ul",{children:e.epics.map(e=>{let s=l.has(e.id);return(0,t.jsx)("li",{className:"border-b border-border last:border-b-0",children:(0,t.jsxs)("label",{className:"flex items-start gap-2 px-3 py-1.5 text-xs cursor-pointer has-[:disabled]:cursor-not-allowed",children:[(0,t.jsx)("input",{type:"checkbox",checked:s,disabled:!s&&l.size>=d,onChange:()=>{var t;return t=e.id,void i(e=>{let s=new Set(e);return s.delete(t)||s.add(t),s})},className:"mt-0.5 accent-accent"}),(0,t.jsxs)("span",{className:"flex-1 min-w-0 text-txt",children:[(0,t.jsx)("span",{className:"font-mono text-muted mr-1",children:e.id}),e.title]}),e.tasks.length>0&&(0,t.jsxs)("span",{className:"shrink-0 text-[10px] font-mono text-muted",children:["has ",e.tasks.length," task",1===e.tasks.length?"":"s"]})]})},e.id)})})]},e.horizon.id))}),(0,t.jsx)("p",{className:c||0===d?"text-xs text-amber":"text-xs text-muted",children:0===d?`All ${H.MAX_RUNNING_CHATS} agent slots are busy. Stop a chat or wait for one to finish.`:c?`${l.size} selected, but only ${d} of ${H.MAX_RUNNING_CHATS} agent slots ${1===d?"is":"are"} free (${o} running). Uncheck some or stop a chat.`:`One chat per epic, running at once (${d} of ${H.MAX_RUNNING_CHATS} agent slots free). Each shows a plan before writing anything.`}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(f.Button,{type:"button",variant:"ghost",size:"sm",onClick:a,children:"Cancel"}),(0,t.jsxs)(f.Button,{type:"submit",size:"sm",disabled:!l.size||c,className:"bg-accent text-accent-fg hover:bg-accent/90",children:["Break down ",l.size||""," epic",1===l.size?"":"s"]})]})]})}async function eN(e,t){try{let s=await fetch(e,void 0===t?void 0:{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await s.json().catch(()=>null);if(!s.ok)return{error:a?.error??`Request failed (${s.status})`};return{data:a}}catch{return{error:"Could not reach the server"}}}function ey(e,t,s,a){var r;let l,i,o,d,c,[u,x]=(r=!a,i=(l=e=>({x:e.position.x+(e.measured?.width??("horizon"===e.type?D.HORIZON_W:D.FEATURE_W))/2,y:e.position.y+(e.measured?.height??48)/2}))(t),d=(o=l(s)).x-i.x,c=o.y-i.y,r||Math.abs(d)>Math.abs(c)?d>0?[n.Position.Right,n.Position.Left]:[n.Position.Left,n.Position.Right]:c>0?[n.Position.Bottom,n.Position.Top]:[n.Position.Top,n.Position.Bottom]);return{id:e,source:t.id,target:s.id,sourceHandle:u,targetHandle:`${x}-t`,type:a?"straight":"default",selectable:!1,...function(e,t,s){if(s)return"done"===e.data.item.status?{style:{stroke:"var(--color-accent)",strokeWidth:3}}:{style:{stroke:"var(--color-border2)",strokeWidth:3,strokeDasharray:"6 6"}};let a=t.data.item.status;return"in-progress"===a?{animated:!0,style:{stroke:"var(--color-accent)",strokeWidth:2}}:"done"===a?{style:{stroke:"var(--color-border2)",strokeWidth:1.5}}:{style:{stroke:"var(--color-border2)",strokeWidth:1.5,strokeDasharray:"2 5",strokeLinecap:"round"}}}(t,s,a)}}function ev(e){let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>t.disconnect()}let ew={"--xy-background-color":"var(--color-bg)"};function ek(){let{rootParam:e,openDoc:n,board:r}=(0,h.useApp)(),{showAbout:o}=(0,U.useChats)(),d=(0,p.useRouter)(),b=(0,p.useSearchParams)(),k="timeline"===b.get("view")?"timeline":"map",S=(0,N.localToday)(),[M,z]=(0,s.useState)([]),[$,T]=(0,s.useState)({}),[B,I]=(0,s.useState)([]),[O,A]=(0,s.useState)(!0),[E,P]=(0,s.useState)(null),[L,_]=(0,s.useState)(null),[R,F]=(0,s.useState)(null),[H,W]=(0,s.useState)(null),q=b.get("item"),[K,X]=(0,s.useState)(null);q!==K&&(X(q),q&&_(q));let[G,J]=(0,s.useState)(null),[V,Z]=(0,s.useState)(!1),[Y,ee]=(0,s.useState)(null),[et,es]=(0,s.useState)(!1),[ea,er]=(0,s.useState)(!1),el=(0,s.useRef)(!1),ei=(0,s.useRef)(null),eo=(0,s.useRef)(null),ec=(0,s.useCallback)((e,t=0)=>{eo.current=e;let s=ei.current?.clientWidth??0,a=e.getNodesBounds(e.getNodes());if(!s||!a.width)return;let n=Math.min(1,Math.max(.75,(s-80)/a.width));e.setViewport({x:s/2-(a.x+a.width/2)*n,y:40-a.y*n,zoom:n},{duration:t})},[]),eu=(0,s.useRef)(!1),ex=(0,s.useRef)(0),em=(0,s.useSyncExternalStore)(ev,()=>document.documentElement.classList.contains("dark"),()=>!0),ep=(0,s.useCallback)((e,t)=>{z(e),T(t),I(s=>{let a,n;return a=(0,D.resolvePositions)(e,t),n=new Map(s.map(e=>[e.id,e])),e.map(e=>{let t=n.get(e.id);return{id:e.id,type:null===e.parent?"horizon":"feature",position:a[e.id]??{x:0,y:0},data:{item:e},measured:t?.measured,selected:t?.selected}})})},[]),eh=(0,s.useCallback)(()=>{let t=++ex.current;return eN(`/api/roadmap${e}`).then(({data:e,error:s})=>{if(t===ex.current){if(A(!1),s){P(s),ep([],{}),_(null);return}P(null),J(e?.generateSource??null),ep(e?.items??[],e?.layout??{})}})},[e,ep]);(0,s.useEffect)(()=>{eh()},[eh]),(0,s.useEffect)(()=>{let e=new EventSource("/api/events");return e.onmessage=e=>{try{let t=JSON.parse(e.data);if("roadmap_updated"!==t.type)return;el.current?eu.current=!0:eh()}catch{}},()=>e.close()},[eh]);let ej=(0,s.useMemo)(()=>{let e=new Map(B.map(e=>[e.id,e])),t=[],s=M.filter(e=>null===e.parent).sort((e,t)=>e.order-t.order);for(let a of(s.forEach((a,n)=>{let r=e.get(a.id),l=s[n+1]&&e.get(s[n+1].id);r&&l&&t.push(ey(`spine-${a.id}`,r,l,!0))}),M)){let s=a.parent&&e.get(a.parent),n=e.get(a.id);s&&n&&"horizon"===s.type&&t.push(ey(`branch-${a.id}`,s,n,!1))}return t},[M,B]),ek=(0,s.useMemo)(()=>Object.fromEntries(Object.values(r??{}).flat().map(e=>[e.id,e])),[r]),eM=(0,s.useMemo)(()=>(0,N.roadmapHealth)(M,ek,S),[M,ek,S]),eD=(0,s.useMemo)(()=>{let e=Object.values(ek),t=new Map(M.filter(e=>null===e.parent).sort((e,t)=>e.order-t.order).map((e,t)=>[e.id,t+1]));return B.map(s=>{var a;let n,{item:r}=s.data,l=M.filter(e=>e.parent===r.id),i="feature"===s.type&&"in-progress"===r.status?j(r,e):null;return{...s,data:{...s.data,progress:eM.progress[s.id],drift:eM.drift.filter(e=>e.id===s.id).map(e=>e.message),dueState:(0,N.dueState)(r.due,r.status,S),..."feature"===s.type&&{...(a=r.tasks,{taskDue:n=(0,N.taskDueSummary)(a,ek,S),taskDueSoon:!!n?.next&&"soon"===(0,N.dueState)(n.next,"planned",S)}),taskStatuses:r.tasks.map(e=>ek[e]?.status).filter(e=>!!e&&"cancelled"!==e),nextTaskId:i?.kind==="ready"?i.taskId:null},..."horizon"===s.type&&{chapter:t.get(r.id),epics:{done:l.filter(e=>"done"===e.status).length,total:l.length}}}}})},[B,M,eM,S,ek]),ez=(0,s.useCallback)(e=>I(t=>(0,a.applyNodeChanges)(e,t)),[]),[e$,eT]=(0,s.useState)(!1);async function eB(){Z(!0),P(null);let{data:t,error:s}=await eN(`/api/roadmap/generate${e}`,{});if(s){P(s),Z(!1);return}let a=Object.fromEntries(Object.entries((0,D.resolvePositions)(t?.items??[],{})).map(([e,t])=>[e,{x:Math.round(t.x),y:Math.round(t.y)}])),{error:n}=await eN(`/api/roadmap/layout${e}`,{positions:a});await eh(),n&&P(n),Z(!1)}let eI=Object.values(r??{}).flat().filter(e=>"cancelled"!==e.status).length,eO="roadmap-md"===G?"from ROADMAP.md":"tasks"===G?`from ${eI} tasks, grouped by phase`:"starter horizons: Shipped · Now · Next · Later";async function eA(t){let{error:s}=await eN(`/api/roadmap/create${e}`,{title:t,parent:Y||null});return s||(await eh(),null)}async function eE(t,s){ep(M.map(e=>e.id===t?{...e,...s}:e),$);let{data:a,error:n}=await eN(`/api/roadmap/update${e}`,{id:t,patch:s});if(n)return await eh(),n;let r=a?.item;return r?ep(M.map(e=>e.id===t?r:e),$):await eh(),null}async function eP(t){let{data:s,error:a}=await eN(`/api/roadmap/delete${e}`,{id:t});return a||(ep(M.filter(e=>e.id!==t),$),s&&(0,en.undoToast)(`Deleted ${t}`,async()=>{let{error:t}=await eN(`/api/roadmap/restore${e}`,s);if(t)throw Error(t);await eh()}),null)}let eL=M.find(e=>e.id===L)??null,e_=e=>{e&&P(e)},eR={edit:e=>{_(e),F(e)},setStatus:(e,t)=>{eE(e,{status:t}).then(e_)},move:(e,t)=>{eE(e,{parent:t}).then(e_)},addEpic:e=>{_(null),ee(e)},duplicate:async t=>{let s=M.find(e=>e.id===t);if(!s)return;let{data:a,error:n}=await eN(`/api/roadmap/create${e}`,{title:`${s.title} (copy)`,parent:s.parent,status:"planned",order:s.order+1,due:s.due,body:s.body});if(n)return P(n);await eh(),a?.item&&_(a.item.id)},openFile:e=>n(e),chat:e=>{_(null),o({kind:"epic",id:e})},remove:async e=>{let t=await eP(e);if(t)return P(t);L===e&&_(null)}},eF=(e,t)=>{t.preventDefault(),W({id:e,x:t.clientX,y:t.clientY})},eH=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eg,{open:null!==Y,heading:Y?`New feature under ${Y}`:"New horizon",onOpenChange:e=>{e||ee(null)},onSubmit:eA}),(0,t.jsx)(ef,{open:et,onOpenChange:es}),(0,t.jsx)(eb,{open:ea,onOpenChange:er,items:M})]});return O?(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center text-sm text-muted",children:"Loading…"}):0===M.length?(0,t.jsxs)("div",{className:"flex-1 p-6",children:[E&&(0,t.jsx)("p",{className:"mb-4 text-sm text-danger",children:E}),(0,t.jsx)(g.EmptyState,{icon:"🗺️",message:"No roadmap yet",subMessage:"Items live in plans/roadmap/R*.md",bordered:!0}),(0,t.jsxs)("div",{className:"mt-4 flex flex-col items-center gap-2",children:[(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)(f.Button,{size:"sm",onClick:eB,disabled:V,className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,t.jsx)(m.Sparkles,{})," ",V?"Generating…":"Generate roadmap"]}),(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>(0,v.askAgent)("Plan a roadmap for this project."),disabled:V,children:[(0,t.jsx)(l.Bot,{})," Plan with agent"]}),(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>es(!0),disabled:V,children:[(0,t.jsx)(i.FileText,{})," Plan from spec"]}),(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>ee(""),disabled:V,children:[(0,t.jsx)(x.Plus,{})," Create first horizon"]})]}),(0,t.jsxs)("p",{className:"text-xs text-muted",children:["Generate ",eO,". Existing files are not modified."]})]}),eH]}):(0,t.jsxs)("div",{className:"relative flex flex-1 min-h-0 flex-col",children:[(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-4 border-b border-border px-3 py-2",children:[(0,t.jsx)("div",{className:"flex rounded-md border border-border p-0.5 text-xs",children:["map","timeline"].map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>{let t,s;return t=new URLSearchParams(b.toString()),"map"===e?t.delete("view"):t.set("view",e),s=t.toString(),void d.replace(s?`/roadmap?${s}`:"/roadmap")},className:(0,y.cn)("rounded-sm px-3 py-1 capitalize",k===e?"bg-surface2 text-txt":"text-muted hover:text-txt"),children:e},e))}),(0,t.jsx)(eS,{items:M,tasksById:ek}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[E&&(0,t.jsx)("p",{className:"text-xs text-danger",children:E}),eM.drift.length>0&&(0,t.jsx)(eC,{drift:eM.drift,onSelect:_,onApply:e=>e.suggestedStatus&&eE(e.id,{status:e.suggestedStatus}).then(e=>{e&&P(e)})}),"map"===k&&(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:function(){let t=e=>({x:Math.round(e.x),y:Math.round(e.y)}),s=new Map(B.map(e=>[e.id,e.measured?.height??48])),a=(0,D.resolvePositions)(M,$),n=Object.fromEntries(Object.entries((0,D.arrangePositions)(M,e=>s.get(e)??48)).map(([e,s])=>[e,t(s)])),r=Object.fromEntries(Object.entries(a).map(([e,s])=>[e,t(s)]));eT(!0);let l=()=>{ep(M,{...$,...n}),eT(!1),requestAnimationFrame(()=>{eo.current&&ec(eo.current,320)}),eN(`/api/roadmap/layout${e}`,{positions:n}).then(({error:t})=>{if(t)return P(t);(0,en.undoToast)("Arranged the map",async()=>{let{error:t}=await eN(`/api/roadmap/layout${e}`,{positions:r});if(t)throw Error(t);await eh()})})};if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return l();let i=new Map(B.map(e=>[e.id,e.position])),o=performance.now(),d=e=>{let t=Math.min(1,(e-o)/420),s=1-Math.pow(1-t,4);I(e=>e.map(e=>{let t=i.get(e.id),a=n[e.id];return t&&a?{...e,position:{x:t.x+(a.x-t.x)*s,y:t.y+(a.y-t.y)*s}}:e})),t<1?requestAnimationFrame(d):l()};requestAnimationFrame(d)},disabled:e$,title:"Tidy the map: epics in one column each side of their horizon, nothing overlapping",children:[(0,t.jsx)(c,{})," Arrange"]}),(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>es(!0),children:[(0,t.jsx)(i.FileText,{})," Plan from spec"]}),M.some(e=>null!==e.parent&&"done"!==e.status)&&(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>er(!0),children:[(0,t.jsx)(u.ListTree,{})," Break down epics…"]}),(0,t.jsxs)(f.Button,{size:"sm",onClick:()=>ee(""),className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,t.jsx)(x.Plus,{})," Horizon"]})]})]}),"map"===k?(0,t.jsx)("div",{ref:ei,className:"relative flex-1 min-h-0",children:(0,t.jsxs)(a.ReactFlow,{nodes:eD,edges:ej,nodeTypes:w.nodeTypes,onNodesChange:ez,onNodeClick:(e,t)=>_(t.id),onNodeContextMenu:(e,t)=>eF(t.id,e),onNodeDragStart:()=>{el.current=!0},onNodeDragStop:(t,s,a)=>{let n;return el.current=!1,n=Object.fromEntries(a.map(e=>[e.id,{x:Math.round(e.position.x),y:Math.round(e.position.y)}])),void(ep(M,{...$,...n}),eN(`/api/roadmap/layout${e}`,{positions:n}).then(({error:e})=>{e&&P(e),eu.current&&(eu.current=!1,eh())}))},nodesConnectable:!1,deleteKeyCode:null,colorMode:em?"dark":"light",onInit:ec,minZoom:.2,style:ew,children:[(0,t.jsx)(a.Background,{variant:a.BackgroundVariant.Dots,gap:20,size:1}),(0,t.jsx)(a.Controls,{showInteractive:!1})]})}):(0,t.jsx)(C,{items:M,today:S,onSelect:_,onItemContextMenu:eF,progressById:eM.progress}),(0,t.jsx)(ed,{item:eL,items:M,onClose:()=>_(null),editing:!!eL&&R===eL.id,onEditingChange:e=>F(e?L:null),actions:eR,onSave:eE,onDelete:eP,onAddFeature:e=>{_(null),ee(e)},onEditRaw:e=>{n(e)},tasksById:ek,progressById:eM.progress,onSelect:_}),(0,t.jsx)(Q,{at:H,items:M,actions:eR,onClose:()=>W(null)}),eH]})}function eS({items:e,tasksById:s}){let a=e.filter(e=>null!==e.parent),n=e=>a.filter(t=>t.status===e).length,r=[...new Set(a.flatMap(e=>e.tasks))].map(e=>s[e]).filter(e=>e&&"cancelled"!==e.status),l=r.filter(e=>"done"===e.status).length;return(0,t.jsxs)("div",{className:"hidden items-center gap-4 font-mono text-[11px] text-muted md:flex",children:[["in-progress","paused","done","planned"].filter(e=>"paused"!==e||n(e)>0).map(e=>(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(w.StatusDot,{status:e}),(0,t.jsx)("span",{className:(0,y.cn)("tabular-nums","in-progress"===e&&n(e)>0?"text-accent":"text-txt"),children:n(e)}),w.STATUS_LABEL[e].toLowerCase()]},e)),r.length>0&&(0,t.jsxs)("span",{className:"flex items-center gap-2 border-l border-border pl-4",children:[(0,t.jsx)("span",{className:"relative h-1 w-20 overflow-hidden rounded-full bg-border",children:(0,t.jsx)("span",{className:"absolute inset-y-0 left-0 rounded-full bg-teal",style:{width:`${l/r.length*100}%`}})}),(0,t.jsxs)("span",{children:[(0,t.jsxs)("span",{className:"tabular-nums text-txt",children:[l,"/",r.length]})," tasks"]})]})]})}function eC({drift:e,onSelect:s,onApply:a}){return(0,t.jsxs)("details",{className:"group relative",children:[(0,t.jsxs)("summary",{className:"flex h-8 cursor-pointer list-none items-center gap-1.5 rounded-md border border-amber/40 bg-amber/10 px-2.5 text-xs font-medium text-txt hover:bg-amber/15 [&::-webkit-details-marker]:hidden",children:[(0,t.jsx)(r.AlertTriangle,{className:"h-3.5 w-3.5 text-amber"})," ",e.length," need attention"]}),(0,t.jsx)("ul",{className:"absolute right-0 top-full z-30 mt-1.5 max-h-72 w-80 overflow-y-auto rounded-lg border border-border bg-surface text-xs shadow-xl",children:e.map(e=>(0,t.jsxs)("li",{className:"flex items-start gap-2 border-b border-border px-3 py-2.5 last:border-0",children:[(0,t.jsx)("span",{className:"mt-1 h-1.5 w-1.5 shrink-0 rounded-full bg-amber"}),(0,t.jsx)("button",{type:"button",onClick:()=>s(e.id),className:"flex-1 text-left leading-relaxed text-muted hover:text-txt",children:e.message}),e.suggestedStatus&&(0,t.jsxs)("button",{type:"button",onClick:()=>a(e),className:"shrink-0 rounded-sm border border-border px-1.5 py-0.5 font-mono text-[10px] text-txt hover:border-accent hover:text-accent",title:`Set status to ${e.suggestedStatus}`,children:["→ ",e.suggestedStatus]})]},`${e.id}-${e.kind}`))})]})}e.s(["default",0,function(){return(0,t.jsx)("div",{className:"flex flex-col h-[calc(100svh-3rem)]",children:(0,t.jsx)(s.Suspense,{children:(0,t.jsx)(ek,{})})})}],298367)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,563883,e=>{"use strict";var t=e.i(72345),s=e.i(694628),a=e.i(180338),l=e.i(138324),n=e.i(83790);let r={name:"arrow-right",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]};r.node;let i=(0,n.default)(r);var c=e.i(837001),o=e.i(954034),d=e.i(666326),x=e.i(763371),m=e.i(464750);let h=/^\s*[-*]\s+\[( |x|X)\]\s+(.*)$/;var u=e.i(975157);function p({epic:e}){let s=e.match(/^(R\d+)\s*[—–-]\s*(.+)$/);return(0,t.jsxs)("h2",{className:"flex items-baseline gap-3 pt-2",children:[s&&(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:s[1]}),(0,t.jsx)("span",{className:"text-[1.1rem] leading-snug font-semibold text-txt",children:s?s[2]:e})]})}let f=/((?<=^|[\s(])\/[\w\-./#?=]+|\b[a-z][\w-]+\/[\w\-./]*\w|\b[\w-]+\.(?:md|json|tsx?|mts)\b|\b(?:[TR]\d{3}|ADR-\d{3})\b|\bvibedoc_\w+|\bmanualTests\b)/g;function g({text:e}){return(0,t.jsx)(t.Fragment,{children:e.split(f).map((e,s)=>s%2?(0,t.jsx)("code",{className:"font-mono text-[0.9em]",children:e},s):e)})}function b({text:e,checked:s}){let a=e.indexOf(" → "),l=a<0?e:e.slice(0,a),n=a<0?null:e.slice(a+3);return(0,t.jsxs)("span",{className:(0,u.cn)("flex min-w-0 flex-col gap-1 transition-colors duration-(--duration-base)",s?"text-muted line-through":"text-txt"),children:[(0,t.jsx)("span",{className:"text-sm leading-snug",children:(0,t.jsx)(g,{text:l})}),n&&(0,t.jsxs)("span",{className:"flex items-start gap-1.5 text-[13px] leading-snug text-muted",children:[(0,t.jsx)(i,{className:"mt-0.5 size-3.5 shrink-0","aria-hidden":!0}),(0,t.jsx)("span",{className:"sr-only",children:"Expected: "}),(0,t.jsx)("span",{children:(0,t.jsx)(g,{text:n})})]})]})}function j({t:e,checkedOf:a,onToggle:n}){let r=e.tests.items.filter(a).length,i=e.tests.total,c=r===i,o=[{label:"Steps",items:e.tests.items.filter(e=>"steps"===e.group)},{label:"Regression risk",items:e.tests.items.filter(e=>"regression"===e.group)}].filter(e=>e.items.length);return(0,t.jsxs)("article",{id:e.task.id,className:(0,u.cn)("scroll-mt-16 rounded-lg border bg-surface animate-fade-in transition-colors duration-(--duration-slow)",c?"border-teal/30":"border-border"),children:[(0,t.jsxs)("header",{className:"flex flex-col gap-3 px-4 pt-4 pb-3 sm:px-5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1.5",children:[(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.task.id}),(0,t.jsx)(l.default,{href:`/board?task=${e.task.id}`,className:"min-w-0 flex-1 basis-60 text-[15px] leading-snug font-semibold text-txt hover:text-accent focus-visible:text-accent focus-visible:outline-none",children:e.task.title}),(0,t.jsxs)("span",{className:"flex items-center gap-3",children:[(0,t.jsx)(m.StatusChip,{status:(0,s.displayStatus)(e.task)}),(0,t.jsxs)("span",{className:"font-mono text-[11px] text-muted tabular-nums",children:[(0,t.jsx)("span",{className:"text-txt",children:r}),"/",i]})]})]}),(0,t.jsx)("div",{className:"flex gap-0.5",role:"progressbar","aria-label":`${e.task.id} manual tests`,"aria-valuemin":0,"aria-valuemax":i,"aria-valuenow":r,children:e.tests.items.map(e=>(0,t.jsx)("span",{className:(0,u.cn)("h-1 flex-1 rounded-full transition-colors duration-(--duration-base)",a(e)?"bg-teal":"regression"===e.group?"bg-amber/25":"bg-border2")},e.index))})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-4 border-t border-border px-4 py-4 sm:px-5",children:[o.map(e=>(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("p",{className:(0,u.cn)("font-mono text-[10px] uppercase tracking-widest","Steps"===e.label?"text-muted":"text-amber"),children:e.label}),(0,t.jsx)("ol",{className:"flex flex-col",children:e.items.map((s,l)=>{let r=a(s);return(0,t.jsx)("li",{children:(0,t.jsxs)("label",{className:"-mx-2 grid cursor-pointer grid-cols-[1rem_1.25rem_1fr] items-start gap-x-2.5 rounded-md px-2 py-2 hover:bg-surface2",children:[(0,t.jsx)(k,{checked:r,onChange:e=>n(s,e)}),(0,t.jsx)("span",{className:"mt-px font-mono text-[11px] leading-5 text-muted tabular-nums","aria-hidden":!0,children:"Steps"===e.label?String(l+1).padStart(2,"0"):""}),(0,t.jsx)(b,{text:s.text,checked:r})]})},s.index)})})]},e.label)),e.tests.date&&(0,t.jsxs)("p",{className:"font-mono text-[10px] text-muted",children:["Report from ",e.tests.date]})]})]})}function k({checked:e,onChange:s,className:a}){return(0,t.jsxs)("span",{className:(0,u.cn)("relative mt-0.5 flex size-4 shrink-0",a),children:[(0,t.jsx)("input",{type:"checkbox",checked:e,onChange:e=>s(e.target.checked),className:"peer size-4 cursor-pointer appearance-none rounded-sm border border-muted bg-bg transition-colors duration-(--duration-fast) checked:border-teal checked:bg-teal hover:border-txt focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent"}),(0,t.jsx)(c.Check,{strokeWidth:3,className:"pointer-events-none absolute inset-0.5 size-3 text-accent-fg opacity-0 peer-checked:opacity-100","aria-hidden":!0})]})}e.s(["default",0,function(){let{board:e,rootParam:s}=(0,x.useApp)(),[l,n]=(0,a.useState)(!1),[r,i]=(0,a.useState)({}),[c,m]=(0,a.useState)(null),[u,f]=(0,a.useState)([]),g=(0,a.useMemo)(()=>(e?Object.values(e).flat():[]).flatMap(e=>{let t=e.raw?function(e){let t=e.split("\n"),s=function(e){let t,s=(t=!1,e.map(e=>/^\s*```/.test(e)?(t=!t,!0):t)),a=e.findIndex((e,t)=>!s[t]&&"## Manual tests"===e.trim());if(a<0)return null;let l=e.findIndex((e,t)=>t>a&&!s[t]&&/^##\s/.test(e));return[a,l<0?e.length:l]}(t);if(!s)return null;let a=[],l="steps",n=null;for(let e of t.slice(s[0]+1,s[1])){let t=e.match(/^_(\d{4}-\d{2}-\d{2})\b/);if(t&&!n&&!a.length){n=t[1];continue}if(/^\s*###\s/.test(e)){l=/^\s*###\s+regression/i.test(e)?"regression":"steps";continue}let s=e.match(h);s&&a.push({text:s[2].trim(),checked:" "!==s[1],group:l,index:a.length})}return a.length?{items:a,total:a.length,done:a.filter(e=>e.checked).length,date:n}:null}(e.raw):null;return t?[{task:e,tests:t}]:[]}),[e]),b=(e,t)=>{let s=r[`${e.task.id}:${t.index}`];return s&&s.raw===e.task.raw?s.checked:t.checked},N=e=>e.tests.items.filter(t=>!b(e,t)).length,w=g.filter(e=>N(e)>0),v=l?g:g.filter(e=>N(e)>0||u.includes(e.task.id)),y=w.reduce((e,t)=>e+N(t),0),S=(0,a.useMemo)(()=>{let e=new Map;for(let t of[...v].sort((e,t)=>(t.tests.date??"").localeCompare(e.tests.date??"")||t.task.id.localeCompare(e.task.id))){let s=t.task.phase||"No epic";e.set(s,[...e.get(s)??[],t])}return[...e.entries()]},[v]),C=g.length>0;async function T(e,t,a){let l=`${e.task.id}:${t.index}`;m(null),i(t=>({...t,[l]:{checked:a,raw:e.task.raw??""}})),a&&1===N(e)&&f(t=>[...t,e.task.id]);try{let l=await fetch(`/api/tasks/manual-tests${s}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e.task.id,index:t.index,checked:a})});if(!l.ok)throw Error((await l.json().catch(()=>null))?.error??`Request failed (${l.status})`)}catch(t){i(e=>{let t={...e};return delete t[l],t}),m(`Couldn't save the tick on ${e.task.id}: ${t.message}. The box is back as it was; try again.`)}}return(0,a.useEffect)(()=>{let e=window.location.hash.slice(1);e&&C&&document.getElementById(e)?.scrollIntoView({block:"start",behavior:"smooth"})},[C]),(0,t.jsxs)("div",{className:"mx-auto flex max-w-4xl flex-col gap-6 px-6 py-8",children:[(0,t.jsxs)("header",{className:"flex flex-wrap items-end gap-x-6 gap-y-3 border-b border-border pb-5",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h1",{className:"text-[1.6rem] leading-tight font-semibold tracking-[-0.02em] text-txt",children:"Manual tests"}),(0,t.jsx)("p",{className:"mt-2 text-[1.1rem] leading-snug font-semibold text-txt",children:w.length?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"font-mono tabular-nums",children:y})," check",1===y?"":"s"," left across"," ",(0,t.jsx)("span",{className:"font-mono tabular-nums",children:w.length})," task",1===w.length?"":"s"]}):g.length?"Everything is checked":"Nothing to check yet"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted",children:"Ticking saves to the task file. It never changes the task's status."})]}),(0,t.jsxs)("label",{className:"flex w-full cursor-pointer items-center gap-2 text-xs text-muted select-none hover:text-txt sm:w-auto",children:[(0,t.jsx)(k,{checked:l,onChange:n,className:"mt-0"}),"Show fully tested ",(0,t.jsxs)("span",{className:"font-mono tabular-nums",children:["(",g.length-w.length,")"]})]})]}),c&&(0,t.jsx)("p",{role:"alert",className:"rounded-md border border-danger/30 bg-danger/5 px-3 py-2 text-xs text-danger",children:c}),0===g.length&&(0,t.jsxs)("div",{className:"flex flex-col items-start gap-2 rounded-lg border border-dashed border-border2 p-6 animate-fade-in",children:[(0,t.jsx)(d.FlaskConical,{className:"size-5 text-muted"}),(0,t.jsx)("p",{className:"text-sm text-txt",children:"No manual test reports yet"}),(0,t.jsxs)("p",{className:"max-w-lg text-xs leading-relaxed text-muted",children:["When an agent finishes a task with ",(0,t.jsx)("code",{className:"font-mono",children:"vibedoc_update_task"})," and a ",(0,t.jsx)("code",{className:"font-mono",children:"manualTests"})," checklist, the steps to click through show up here."]})]}),g.length>0&&0===S.length&&(0,t.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg border border-teal/30 px-4 py-3 text-sm text-txt animate-fade-in",children:[(0,t.jsx)(o.CircleCheck,{className:"size-4 shrink-0 text-teal","aria-hidden":!0}),"All ",g.length," report",1===g.length?" is":"s are"," fully checked. Turn on Show fully tested to see them again."]}),S.map(([e,s])=>(0,t.jsxs)("section",{className:"flex flex-col gap-4",children:[(0,t.jsx)(p,{epic:e}),s.map(e=>(0,t.jsx)(j,{t:e,checkedOf:t=>b(e,t),onToggle:(t,s)=>T(e,t,s)},e.task.id))]},e))]})}],563883)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,314175,e=>{"use strict";var t=e.i(83790);let a={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"}]]};a.node;let s=(0,t.default)(a);e.s(["Info",0,s],314175)},880790,e=>{"use strict";var t=e.i(83790);let a={name:"list-checks",size:24,node:[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]]};a.node;let s=(0,t.default)(a);e.s(["ListChecks",0,s],880790)},424991,e=>{"use strict";var t=e.i(83790);let a={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};a.node;let s=(0,t.default)(a);e.s(["Pencil",0,s],424991)},496699,e=>{"use strict";var t=e.i(83790);let a={name:"refresh-cw",size:24,node:[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]};a.node;let s=(0,t.default)(a);e.s(["RefreshCw",0,s],496699)},496385,e=>{"use strict";var t=e.i(83790);let a={name:"triangle-alert",size:24,node:[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],aliases:["alert-triangle"]};a.node;let s=(0,t.default)(a);e.s(["AlertTriangle",0,s],496385)},329090,e=>{"use strict";var t=e.i(72345),a=e.i(343253),s=e.i(83790);let i={name:"file-pen",size:24,node:[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]],aliases:["file-edit"]};i.node;let l=(0,s.default)(i);var d=e.i(760930);let n={name:"file-search",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]]};n.node;let r=(0,s.default)(n);var c=e.i(406952);let m={name:"file-x",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m14.5 12.5-5 5",key:"b62r18"}],["path",{d:"m9.5 12.5 5 5",key:"1rk7el"}]]};m.node;let o=(0,s.default)(m);var h=e.i(880790),x=e.i(192871),p=e.i(15205),u=e.i(496699),f=e.i(678677),y=e.i(737152),k=e.i(464750);let g={task_updated:h.ListChecks,decision_logged:f.Scale,memory_updated:y.Brain,doc_read:r,doc_created:d.FilePlus,doc_updated:c.FileText,doc_deleted:o,doc_renamed:l,session_start:p.Plug,registry_rebuilt:u.RefreshCw,roadmap_updated:x.Map},v=e=>new Date(e).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",hourCycle:"h23"});e.s(["ActivityEventRow",0,function({event:e,showActor:s=!1}){let i=g[e.type]??c.FileText;return(0,t.jsxs)("div",{className:"grid grid-cols-[2.75rem_1.5rem_minmax(0,1fr)] items-start py-1.5",children:[(0,t.jsx)("time",{dateTime:e.timestamp,title:new Date(e.timestamp).toLocaleString(),className:"pt-px text-right font-mono text-[11px] leading-5 text-muted tabular-nums",children:v(e.timestamp)}),(0,t.jsx)("span",{className:"flex justify-center pt-[3px]",children:"task_updated"===e.type&&e.taskStatus?(0,t.jsx)(k.StatusIcon,{status:e.taskStatus}):(0,t.jsx)(i,{className:"size-3.5 text-muted","aria-hidden":!0})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-0.5 sm:flex-row sm:items-baseline sm:gap-2",children:[(0,t.jsx)("span",{className:"min-w-0 text-sm leading-5 text-txt sm:shrink-0 sm:max-w-[60%] sm:truncate",children:e.title}),e.detail&&(0,t.jsx)("span",{className:"min-w-0 truncate text-xs leading-5 text-muted",children:e.detail}),s&&"human"===e.actor&&(0,t.jsxs)("span",{className:"flex shrink-0 items-center gap-1 font-mono text-[10px] text-muted sm:ml-auto",children:[(0,t.jsx)(a.User,{className:"size-3","aria-hidden":!0}),"you"]})]})]})},"clock",0,v,"timeAgo",0,function(e){let t=(Date.now()-new Date(e).getTime())/1e3;return t<60?"just now":t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}],329090)},635743,e=>{"use strict";var t=e.i(72345),a=e.i(975157);e.s(["EmptyState",0,function({icon:e,message:s,subMessage:i,bordered:l}){return(0,t.jsxs)("div",{className:(0,a.cn)("text-center py-16 text-muted text-sm",l&&"border border-dashed border-border rounded-xl"),children:[(0,t.jsx)("p",{className:"text-3xl mb-3",children:e}),(0,t.jsx)("p",{children:s}),i&&(0,t.jsx)("p",{className:"text-xs mt-1",children:i})]})}])},508540,e=>{"use strict";var t=e.i(72345),a=e.i(975157);function s({properties:e,className:i,children:l}){let d=e.filter(e=>null!==e.value&&void 0!==e.value&&!1!==e.value);return 0!==d.length||l?(0,t.jsxs)("dl",{className:(0,a.cn)("grid grid-cols-[minmax(6.5rem,8.5rem)_minmax(0,1fr)] items-center gap-x-2 text-[13px]",i),children:[d.map(e=>(0,t.jsxs)("div",{className:"contents",children:[(0,t.jsxs)("dt",{className:"flex min-h-8 min-w-0 items-center gap-2 text-muted",children:[e.icon&&(0,t.jsx)(e.icon,{className:"size-3.5 shrink-0","aria-hidden":!0}),(0,t.jsx)("span",{className:"min-w-0 truncate",children:e.label})]}),(0,t.jsx)("dd",{className:"flex min-h-8 min-w-0 items-center gap-2 text-txt",children:e.value})]},e.id??String(e.label))),l&&(0,t.jsx)("div",{className:"col-span-2 flex min-h-8 items-center",children:l})]}):null}e.s(["ItemPanelHeader",0,function({kicker:e,title:i,menu:l,properties:d,className:n,children:r}){return(0,t.jsxs)("header",{"data-item-header":!0,className:(0,a.cn)("flex shrink-0 flex-col gap-2 border-b border-border px-5 pb-4 pt-4",n),children:[(0,t.jsxs)("div",{className:"flex min-h-7 items-center gap-2 pr-8 font-mono text-[11px] text-muted",children:[(0,t.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-1",children:e}),l]}),(0,t.jsx)("div",{className:"text-base font-semibold leading-snug text-txt",children:i}),(0,t.jsx)(s,{properties:d,className:"-my-0.5"}),r]})},"PropertyRows",0,s])}]);