vibedoc 1.7.0 → 1.9.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 +15 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +42 -14
  5. package/.next/routes-manifest.json +90 -0
  6. package/.next/server/app/(app)/activity/page.js +2 -2
  7. package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  8. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/(app)/board/page.js +2 -2
  10. package/.next/server/app/(app)/board/page.js.nft.json +1 -1
  11. package/.next/server/app/(app)/board/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/(app)/chat/page.js +2 -2
  13. package/.next/server/app/(app)/chat/page.js.nft.json +1 -1
  14. package/.next/server/app/(app)/chat/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/(app)/docs/page.js +2 -2
  16. package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
  17. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/(app)/explorer/page.js +2 -2
  19. package/.next/server/app/(app)/explorer/page.js.nft.json +1 -1
  20. package/.next/server/app/(app)/explorer/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/(app)/manual-tests/page/app-paths-manifest.json +3 -0
  22. package/.next/server/app/(app)/manual-tests/page/build-manifest.json +20 -0
  23. package/.next/server/app/(app)/manual-tests/page/next-font-manifest.json +11 -0
  24. package/.next/server/app/(app)/manual-tests/page/react-loadable-manifest.json +1 -0
  25. package/.next/server/app/(app)/manual-tests/page/server-reference-manifest.json +4 -0
  26. package/.next/server/app/(app)/manual-tests/page.js +15 -0
  27. package/.next/server/app/(app)/manual-tests/page.js.map +5 -0
  28. package/.next/server/app/(app)/manual-tests/page.js.nft.json +1 -0
  29. package/.next/server/app/(app)/manual-tests/page_client-reference-manifest.js +3 -0
  30. package/.next/server/app/(app)/memory/page.js +2 -2
  31. package/.next/server/app/(app)/memory/page.js.nft.json +1 -1
  32. package/.next/server/app/(app)/memory/page_client-reference-manifest.js +1 -1
  33. package/.next/server/app/(app)/roadmap/page.js +2 -2
  34. package/.next/server/app/(app)/roadmap/page.js.nft.json +1 -1
  35. package/.next/server/app/(app)/roadmap/page_client-reference-manifest.js +1 -1
  36. package/.next/server/app/(app)/settings/page.js +2 -2
  37. package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
  38. package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  39. package/.next/server/app/(app)/setup/page.js +2 -2
  40. package/.next/server/app/(app)/setup/page.js.nft.json +1 -1
  41. package/.next/server/app/(app)/setup/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app/_global-error/page.js +2 -2
  43. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  44. package/.next/server/app/_global-error.html +1 -1
  45. package/.next/server/app/_global-error.rsc +1 -1
  46. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  47. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  48. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  49. package/.next/server/app/_not-found/page.js +2 -2
  50. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  51. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  52. package/.next/server/app/_not-found.html +1 -1
  53. package/.next/server/app/_not-found.rsc +3 -2
  54. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -2
  55. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -2
  56. package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -2
  57. package/.next/server/app/activity.html +1 -1
  58. package/.next/server/app/activity.rsc +13 -12
  59. package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +12 -9
  60. package/.next/server/app/activity.segments/_full.segment.rsc +13 -12
  61. package/.next/server/app/activity.segments/_tree.segment.rsc +3 -2
  62. package/.next/server/app/api/activity/route.js +2 -2
  63. package/.next/server/app/api/activity/route.js.nft.json +1 -1
  64. package/.next/server/app/api/backlinks/route.js +2 -2
  65. package/.next/server/app/api/backlinks/route.js.nft.json +1 -1
  66. package/.next/server/app/api/chat/route.js +3 -3
  67. package/.next/server/app/api/chat/route.js.nft.json +1 -1
  68. package/.next/server/app/api/context/route.js +2 -2
  69. package/.next/server/app/api/context/route.js.nft.json +1 -1
  70. package/.next/server/app/api/conversations/route.js +3 -3
  71. package/.next/server/app/api/conversations/route.js.nft.json +1 -1
  72. package/.next/server/app/api/decisions/route.js +3 -3
  73. package/.next/server/app/api/decisions/route.js.nft.json +1 -1
  74. package/.next/server/app/api/docs/route.js +3 -3
  75. package/.next/server/app/api/docs/route.js.nft.json +1 -1
  76. package/.next/server/app/api/explorer/route.js +3 -3
  77. package/.next/server/app/api/explorer/route.js.nft.json +1 -1
  78. package/.next/server/app/api/mcp/route.js +3 -3
  79. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  80. package/.next/server/app/api/memory/entries/delete/route/app-paths-manifest.json +3 -0
  81. package/.next/server/app/api/memory/entries/delete/route/build-manifest.json +12 -0
  82. package/.next/server/app/api/memory/entries/delete/route/server-reference-manifest.json +4 -0
  83. package/.next/server/app/api/memory/entries/delete/route.js +9 -0
  84. package/.next/server/app/api/memory/entries/delete/route.js.map +5 -0
  85. package/.next/server/app/api/memory/entries/delete/route.js.nft.json +1 -0
  86. package/.next/server/app/api/memory/entries/delete/route_client-reference-manifest.js +3 -0
  87. package/.next/server/app/api/memory/entries/restore/route/app-paths-manifest.json +3 -0
  88. package/.next/server/app/api/memory/entries/restore/route/build-manifest.json +12 -0
  89. package/.next/server/app/api/memory/entries/restore/route/server-reference-manifest.json +4 -0
  90. package/.next/server/app/api/memory/entries/restore/route.js +9 -0
  91. package/.next/server/app/api/memory/entries/restore/route.js.map +5 -0
  92. package/.next/server/app/api/memory/entries/restore/route.js.nft.json +1 -0
  93. package/.next/server/app/api/memory/entries/restore/route_client-reference-manifest.js +3 -0
  94. package/.next/server/app/api/memory/entries/route/app-paths-manifest.json +3 -0
  95. package/.next/server/app/api/memory/entries/route/build-manifest.json +12 -0
  96. package/.next/server/app/api/memory/entries/route/server-reference-manifest.json +4 -0
  97. package/.next/server/app/api/memory/entries/route.js +8 -0
  98. package/.next/server/app/api/memory/entries/route.js.map +5 -0
  99. package/.next/server/app/api/memory/entries/route.js.nft.json +1 -0
  100. package/.next/server/app/api/memory/entries/route_client-reference-manifest.js +3 -0
  101. package/.next/server/app/api/memory/entries/save/route/app-paths-manifest.json +3 -0
  102. package/.next/server/app/api/memory/entries/save/route/build-manifest.json +12 -0
  103. package/.next/server/app/api/memory/entries/save/route/server-reference-manifest.json +4 -0
  104. package/.next/server/app/api/memory/entries/save/route.js +9 -0
  105. package/.next/server/app/api/memory/entries/save/route.js.map +5 -0
  106. package/.next/server/app/api/memory/entries/save/route.js.nft.json +1 -0
  107. package/.next/server/app/api/memory/entries/save/route_client-reference-manifest.js +3 -0
  108. package/.next/server/app/api/memory/graph/route/app-paths-manifest.json +3 -0
  109. package/.next/server/app/api/memory/graph/route/build-manifest.json +12 -0
  110. package/.next/server/app/api/memory/graph/route/server-reference-manifest.json +4 -0
  111. package/.next/server/app/api/memory/graph/route.js +9 -0
  112. package/.next/server/app/api/memory/graph/route.js.map +5 -0
  113. package/.next/server/app/api/memory/graph/route.js.nft.json +1 -0
  114. package/.next/server/app/api/memory/graph/route_client-reference-manifest.js +3 -0
  115. package/.next/server/app/api/memory/history/route/app-paths-manifest.json +3 -0
  116. package/.next/server/app/api/memory/history/route/build-manifest.json +12 -0
  117. package/.next/server/app/api/memory/history/route/server-reference-manifest.json +4 -0
  118. package/.next/server/app/api/memory/history/route.js +9 -0
  119. package/.next/server/app/api/memory/history/route.js.map +5 -0
  120. package/.next/server/app/api/memory/history/route.js.nft.json +1 -0
  121. package/.next/server/app/api/memory/history/route_client-reference-manifest.js +3 -0
  122. package/.next/server/app/api/memory/route.js +3 -3
  123. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  124. package/.next/server/app/api/plan/apply/route.js +4 -4
  125. package/.next/server/app/api/plan/apply/route.js.nft.json +1 -1
  126. package/.next/server/app/api/projects/route.js +2 -2
  127. package/.next/server/app/api/projects/route.js.nft.json +1 -1
  128. package/.next/server/app/api/registry/route.js +3 -3
  129. package/.next/server/app/api/registry/route.js.nft.json +1 -1
  130. package/.next/server/app/api/roadmap/create/route.js +4 -4
  131. package/.next/server/app/api/roadmap/create/route.js.nft.json +1 -1
  132. package/.next/server/app/api/roadmap/delete/route.js +4 -4
  133. package/.next/server/app/api/roadmap/delete/route.js.nft.json +1 -1
  134. package/.next/server/app/api/roadmap/generate/route.js +4 -4
  135. package/.next/server/app/api/roadmap/generate/route.js.nft.json +1 -1
  136. package/.next/server/app/api/roadmap/layout/route.js +4 -4
  137. package/.next/server/app/api/roadmap/layout/route.js.nft.json +1 -1
  138. package/.next/server/app/api/roadmap/restore/route/app-paths-manifest.json +3 -0
  139. package/.next/server/app/api/roadmap/restore/route/build-manifest.json +12 -0
  140. package/.next/server/app/api/roadmap/restore/route/server-reference-manifest.json +4 -0
  141. package/.next/server/app/api/roadmap/restore/route.js +9 -0
  142. package/.next/server/app/api/roadmap/restore/route.js.map +5 -0
  143. package/.next/server/app/api/roadmap/restore/route.js.nft.json +1 -0
  144. package/.next/server/app/api/roadmap/restore/route_client-reference-manifest.js +3 -0
  145. package/.next/server/app/api/roadmap/route.js +3 -3
  146. package/.next/server/app/api/roadmap/route.js.nft.json +1 -1
  147. package/.next/server/app/api/roadmap/update/route.js +4 -4
  148. package/.next/server/app/api/roadmap/update/route.js.nft.json +1 -1
  149. package/.next/server/app/api/sessions/route.js +2 -2
  150. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  151. package/.next/server/app/api/settings/route.js +3 -3
  152. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  153. package/.next/server/app/api/setup/generate/route.js +4 -4
  154. package/.next/server/app/api/setup/generate/route.js.nft.json +1 -1
  155. package/.next/server/app/api/setup/write/route.js +3 -3
  156. package/.next/server/app/api/setup/write/route.js.nft.json +1 -1
  157. package/.next/server/app/api/summary/route.js +2 -2
  158. package/.next/server/app/api/summary/route.js.nft.json +1 -1
  159. package/.next/server/app/api/tasks/bulk/route/app-paths-manifest.json +3 -0
  160. package/.next/server/app/api/tasks/bulk/route/build-manifest.json +12 -0
  161. package/.next/server/app/api/tasks/bulk/route/server-reference-manifest.json +4 -0
  162. package/.next/server/app/api/tasks/bulk/route.js +9 -0
  163. package/.next/server/app/api/tasks/bulk/route.js.map +5 -0
  164. package/.next/server/app/api/tasks/bulk/route.js.nft.json +1 -0
  165. package/.next/server/app/api/tasks/bulk/route_client-reference-manifest.js +3 -0
  166. package/.next/server/app/api/tasks/create/route.js +3 -3
  167. package/.next/server/app/api/tasks/create/route.js.nft.json +1 -1
  168. package/.next/server/app/api/tasks/delete/route/app-paths-manifest.json +3 -0
  169. package/.next/server/app/api/tasks/delete/route/build-manifest.json +12 -0
  170. package/.next/server/app/api/tasks/delete/route/server-reference-manifest.json +4 -0
  171. package/.next/server/app/api/tasks/delete/route.js +9 -0
  172. package/.next/server/app/api/tasks/delete/route.js.map +5 -0
  173. package/.next/server/app/api/tasks/delete/route.js.nft.json +1 -0
  174. package/.next/server/app/api/tasks/delete/route_client-reference-manifest.js +3 -0
  175. package/.next/server/app/api/tasks/manual-tests/route/app-paths-manifest.json +3 -0
  176. package/.next/server/app/api/tasks/manual-tests/route/build-manifest.json +12 -0
  177. package/.next/server/app/api/tasks/manual-tests/route/server-reference-manifest.json +4 -0
  178. package/.next/server/app/api/tasks/manual-tests/route.js +8 -0
  179. package/.next/server/app/api/tasks/manual-tests/route.js.map +5 -0
  180. package/.next/server/app/api/tasks/manual-tests/route.js.nft.json +1 -0
  181. package/.next/server/app/api/tasks/manual-tests/route_client-reference-manifest.js +3 -0
  182. package/.next/server/app/api/tasks/restore/route/app-paths-manifest.json +3 -0
  183. package/.next/server/app/api/tasks/restore/route/build-manifest.json +12 -0
  184. package/.next/server/app/api/tasks/restore/route/server-reference-manifest.json +4 -0
  185. package/.next/server/app/api/tasks/restore/route.js +9 -0
  186. package/.next/server/app/api/tasks/restore/route.js.map +5 -0
  187. package/.next/server/app/api/tasks/restore/route.js.nft.json +1 -0
  188. package/.next/server/app/api/tasks/restore/route_client-reference-manifest.js +3 -0
  189. package/.next/server/app/api/tasks/review/route/app-paths-manifest.json +3 -0
  190. package/.next/server/app/api/tasks/review/route/build-manifest.json +12 -0
  191. package/.next/server/app/api/tasks/review/route/server-reference-manifest.json +4 -0
  192. package/.next/server/app/api/tasks/review/route.js +9 -0
  193. package/.next/server/app/api/tasks/review/route.js.map +5 -0
  194. package/.next/server/app/api/tasks/review/route.js.nft.json +1 -0
  195. package/.next/server/app/api/tasks/review/route_client-reference-manifest.js +3 -0
  196. package/.next/server/app/api/tasks/route.js +3 -3
  197. package/.next/server/app/api/tasks/route.js.nft.json +1 -1
  198. package/.next/server/app/api/tasks/update/route/app-paths-manifest.json +3 -0
  199. package/.next/server/app/api/tasks/update/route/build-manifest.json +12 -0
  200. package/.next/server/app/api/tasks/update/route/server-reference-manifest.json +4 -0
  201. package/.next/server/app/api/tasks/update/route.js +9 -0
  202. package/.next/server/app/api/tasks/update/route.js.map +5 -0
  203. package/.next/server/app/api/tasks/update/route.js.nft.json +1 -0
  204. package/.next/server/app/api/tasks/update/route_client-reference-manifest.js +3 -0
  205. package/.next/server/app/api/views/route/app-paths-manifest.json +3 -0
  206. package/.next/server/app/api/views/route/build-manifest.json +12 -0
  207. package/.next/server/app/api/views/route/server-reference-manifest.json +4 -0
  208. package/.next/server/app/api/views/route.js +9 -0
  209. package/.next/server/app/api/views/route.js.map +5 -0
  210. package/.next/server/app/api/views/route.js.nft.json +1 -0
  211. package/.next/server/app/api/views/route_client-reference-manifest.js +3 -0
  212. package/.next/server/app/board.html +1 -1
  213. package/.next/server/app/board.rsc +13 -12
  214. package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +7 -6
  215. package/.next/server/app/board.segments/_full.segment.rsc +13 -12
  216. package/.next/server/app/board.segments/_tree.segment.rsc +3 -2
  217. package/.next/server/app/chat.html +1 -1
  218. package/.next/server/app/chat.rsc +13 -12
  219. package/.next/server/app/chat.segments/!KGFwcCk/chat/__PAGE__.segment.rsc +7 -6
  220. package/.next/server/app/chat.segments/_full.segment.rsc +13 -12
  221. package/.next/server/app/chat.segments/_tree.segment.rsc +3 -2
  222. package/.next/server/app/docs.html +1 -1
  223. package/.next/server/app/docs.rsc +13 -12
  224. package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +7 -6
  225. package/.next/server/app/docs.segments/_full.segment.rsc +13 -12
  226. package/.next/server/app/docs.segments/_tree.segment.rsc +3 -2
  227. package/.next/server/app/explorer.html +1 -1
  228. package/.next/server/app/explorer.rsc +13 -12
  229. package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +11 -9
  230. package/.next/server/app/explorer.segments/_full.segment.rsc +13 -12
  231. package/.next/server/app/explorer.segments/_tree.segment.rsc +3 -2
  232. package/.next/server/app/index.html +1 -1
  233. package/.next/server/app/index.rsc +3 -2
  234. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -2
  235. package/.next/server/app/index.segments/_full.segment.rsc +3 -2
  236. package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
  237. package/.next/server/app/manual-tests.html +1 -0
  238. package/.next/server/app/manual-tests.meta +31 -0
  239. package/.next/server/app/manual-tests.rsc +30 -0
  240. package/.next/server/app/manual-tests.segments/!KGFwcCk/manual-tests/__PAGE__.segment.rsc +33 -0
  241. package/.next/server/app/manual-tests.segments/_full.segment.rsc +30 -0
  242. package/.next/server/app/manual-tests.segments/_tree.segment.rsc +5 -0
  243. package/.next/server/app/memory.html +1 -1
  244. package/.next/server/app/memory.rsc +14 -12
  245. package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +13 -9
  246. package/.next/server/app/memory.segments/_full.segment.rsc +14 -12
  247. package/.next/server/app/memory.segments/_tree.segment.rsc +4 -2
  248. package/.next/server/app/page.js +2 -2
  249. package/.next/server/app/page.js.nft.json +1 -1
  250. package/.next/server/app/page_client-reference-manifest.js +1 -1
  251. package/.next/server/app/roadmap.html +1 -1
  252. package/.next/server/app/roadmap.rsc +13 -12
  253. package/.next/server/app/roadmap.segments/!KGFwcCk/roadmap/__PAGE__.segment.rsc +7 -6
  254. package/.next/server/app/roadmap.segments/_full.segment.rsc +13 -12
  255. package/.next/server/app/roadmap.segments/_tree.segment.rsc +3 -2
  256. package/.next/server/app/settings.html +1 -1
  257. package/.next/server/app/settings.rsc +13 -12
  258. package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +11 -9
  259. package/.next/server/app/settings.segments/_full.segment.rsc +13 -12
  260. package/.next/server/app/settings.segments/_tree.segment.rsc +3 -2
  261. package/.next/server/app/setup.html +1 -1
  262. package/.next/server/app/setup.rsc +13 -12
  263. package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +11 -9
  264. package/.next/server/app/setup.segments/_full.segment.rsc +13 -12
  265. package/.next/server/app/setup.segments/_tree.segment.rsc +3 -2
  266. package/.next/server/app-paths-manifest.json +15 -0
  267. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-5bkpj._.js → 11mp_@anthropic-ai_sdk_0-_cqh8._.js} +1 -1
  268. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01l5h3i._.js → 11mp_@anthropic-ai_sdk_00o5o78._.js} +1 -1
  269. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00psb_y._.js → 11mp_@anthropic-ai_sdk_03cp17a._.js} +1 -1
  270. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_072r2bd._.js → 11mp_@anthropic-ai_sdk_07dk2er._.js} +1 -1
  271. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_e9zpr._.js +3 -0
  272. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_xx_qf._.js +3 -0
  273. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0aer9lc._.js +3 -0
  274. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ax30pe._.js +3 -0
  275. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0gn7vgs._.js +3 -0
  276. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0hye94a._.js +3 -0
  277. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ir5cgk._.js +3 -0
  278. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0je0_pa._.js +3 -0
  279. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0jfgh0o._.js +3 -0
  280. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0mha4x1._.js +3 -0
  281. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0n__boa._.js +3 -0
  282. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0sqv26_._.js +3 -0
  283. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0wnc6g-._.js +3 -0
  284. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0xh0g59._.js +3 -0
  285. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-5wyhj._.js +3 -0
  286. package/.next/server/chunks/11mp_@anthropic-ai_sdk_13ahm3n._.js +3 -0
  287. package/.next/server/chunks/11mp_@anthropic-ai_sdk_13e6aq4._.js +3 -0
  288. package/.next/server/chunks/11mp_@anthropic-ai_sdk_14eg0ld._.js +3 -0
  289. package/.next/server/chunks/11mp_@anthropic-ai_sdk_15md1n2._.js +3 -0
  290. package/.next/server/chunks/11mp_@anthropic-ai_sdk_16av8b9._.js +3 -0
  291. package/.next/server/chunks/11mp_@anthropic-ai_sdk_16hjhv1._.js +3 -0
  292. package/.next/server/chunks/11mp_@anthropic-ai_sdk_16txvf7._.js +3 -0
  293. package/.next/server/chunks/11mp_@anthropic-ai_sdk_198yu7d._.js +3 -0
  294. package/.next/server/chunks/11mp_@anthropic-ai_sdk_198yu7d._.js.map +1 -0
  295. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_9tfq3._.js +3 -0
  296. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_9tfq3._.js.map +1 -0
  297. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_izr2o._.js +3 -0
  298. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_izr2o._.js.map +1 -0
  299. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1fljcyg._.js +3 -0
  300. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1fljcyg._.js.map +1 -0
  301. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lrt6ul._.js +3 -0
  302. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lrt6ul._.js.map +1 -0
  303. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1nev_ee._.js +3 -0
  304. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1nev_ee._.js.map +1 -0
  305. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1pgoe2i._.js +3 -0
  306. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1pgoe2i._.js.map +1 -0
  307. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rgl7mu._.js +3 -0
  308. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rgl7mu._.js.map +1 -0
  309. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1slq49k._.js +3 -0
  310. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1slq49k._.js.map +1 -0
  311. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t9bdf0._.js +3 -0
  312. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t9bdf0._.js.map +1 -0
  313. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1u6qqm2._.js +3 -0
  314. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1u6qqm2._.js.map +1 -0
  315. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1v7ygvz._.js +3 -0
  316. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1v7ygvz._.js.map +1 -0
  317. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1wls8zc._.js +3 -0
  318. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1wls8zc._.js.map +1 -0
  319. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ywboja._.js +3 -0
  320. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ywboja._.js.map +1 -0
  321. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_00kwqu5._.js +3 -0
  322. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_01j2nrd._.js +3 -0
  323. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_05ybj3t._.js +3 -0
  324. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0adt7jj._.js +3 -0
  325. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0bnl14w._.js +3 -0
  326. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0f557t9._.js +3 -0
  327. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ra6giw._.js +3 -0
  328. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_107cqfx._.js +3 -0
  329. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1377sl6._.js +3 -0
  330. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1_2hcok._.js +3 -0
  331. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1g--m6y._.js +3 -0
  332. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1geopi5._.js +3 -0
  333. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1i11dte._.js +3 -0
  334. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1mj3_qk._.js +3 -0
  335. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1qgy210._.js +3 -0
  336. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1rkng9q._.js +3 -0
  337. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1vr8q8y._.js +3 -0
  338. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1vr8q8y._.js.map +1 -0
  339. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x8b64g._.js +3 -0
  340. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x8b64g._.js.map +1 -0
  341. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1zhahf7._.js +3 -0
  342. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1zhahf7._.js.map +1 -0
  343. package/.next/server/chunks/[root-of-the-server]__008focd._.js +3 -0
  344. package/.next/server/chunks/{[root-of-the-server]__093hlkh._.js.map → [root-of-the-server]__008focd._.js.map} +1 -1
  345. package/.next/server/chunks/[root-of-the-server]__01xmabe._.js +3 -0
  346. package/.next/server/chunks/{[root-of-the-server]__0nfvvy9._.js.map → [root-of-the-server]__01xmabe._.js.map} +1 -1
  347. package/.next/server/chunks/[root-of-the-server]__03ogp2r._.js +3 -0
  348. package/.next/server/chunks/[root-of-the-server]__03ogp2r._.js.map +1 -0
  349. package/.next/server/chunks/[root-of-the-server]__05us508._.js +3 -0
  350. package/.next/server/chunks/[root-of-the-server]__05us508._.js.map +1 -0
  351. package/.next/server/chunks/[root-of-the-server]__08yaps5._.js +3 -0
  352. package/.next/server/chunks/{[root-of-the-server]__0eqd-tw._.js.map → [root-of-the-server]__08yaps5._.js.map} +1 -1
  353. package/.next/server/chunks/{[root-of-the-server]__11s-8eg._.js → [root-of-the-server]__09oyvwa._.js} +2 -2
  354. package/.next/server/chunks/{[root-of-the-server]__1wr0m-s._.js.map → [root-of-the-server]__09oyvwa._.js.map} +1 -1
  355. package/.next/server/chunks/[root-of-the-server]__0axugex._.js +3 -0
  356. package/.next/server/chunks/{[root-of-the-server]__1u_q61h._.js.map → [root-of-the-server]__0axugex._.js.map} +1 -1
  357. package/.next/server/chunks/[root-of-the-server]__0b2488c._.js +3 -0
  358. package/.next/server/chunks/{[root-of-the-server]__0aynzrb._.js.map → [root-of-the-server]__0b2488c._.js.map} +1 -1
  359. package/.next/server/chunks/[root-of-the-server]__0b6w_wb._.js +3 -0
  360. package/.next/server/chunks/[root-of-the-server]__0b6w_wb._.js.map +1 -0
  361. package/.next/server/chunks/{[root-of-the-server]__1y3u5ud._.js → [root-of-the-server]__0cbh1s-._.js} +2 -2
  362. package/.next/server/chunks/[root-of-the-server]__0cbh1s-._.js.map +1 -0
  363. package/.next/server/chunks/[root-of-the-server]__0exzf-v._.js +3 -0
  364. package/.next/server/chunks/[root-of-the-server]__0exzf-v._.js.map +1 -0
  365. package/.next/server/chunks/[root-of-the-server]__0gnil0m._.js +3 -0
  366. package/.next/server/chunks/{[root-of-the-server]__18kxo4a._.js.map → [root-of-the-server]__0gnil0m._.js.map} +1 -1
  367. package/.next/server/chunks/[root-of-the-server]__0hfyuhq._.js +3 -0
  368. package/.next/server/chunks/[root-of-the-server]__0hfyuhq._.js.map +1 -0
  369. package/.next/server/chunks/[root-of-the-server]__0hg1r2b._.js +3 -0
  370. package/.next/server/chunks/[root-of-the-server]__0hg1r2b._.js.map +1 -0
  371. package/.next/server/chunks/[root-of-the-server]__0ikbk15._.js +3 -0
  372. package/.next/server/chunks/{[root-of-the-server]__1j0rrps._.js.map → [root-of-the-server]__0ikbk15._.js.map} +1 -1
  373. package/.next/server/chunks/[root-of-the-server]__0jr_5eq._.js +110 -0
  374. package/.next/server/chunks/[root-of-the-server]__0jr_5eq._.js.map +1 -0
  375. package/.next/server/chunks/[root-of-the-server]__0khz7sy._.js +3 -0
  376. package/.next/server/chunks/{[root-of-the-server]__1jxu2x9._.js.map → [root-of-the-server]__0khz7sy._.js.map} +1 -1
  377. package/.next/server/chunks/[root-of-the-server]__0lf11mz._.js +3 -0
  378. package/.next/server/chunks/{[root-of-the-server]__1lj_2cv._.js.map → [root-of-the-server]__0lf11mz._.js.map} +1 -1
  379. package/.next/server/chunks/[root-of-the-server]__0m8hmg0._.js +3 -0
  380. package/.next/server/chunks/{[root-of-the-server]__1q4ahvz._.js.map → [root-of-the-server]__0m8hmg0._.js.map} +1 -1
  381. package/.next/server/chunks/[root-of-the-server]__0qij7wy._.js +3 -0
  382. package/.next/server/chunks/{[root-of-the-server]__1y-tt29._.js.map → [root-of-the-server]__0qij7wy._.js.map} +1 -1
  383. package/.next/server/chunks/[root-of-the-server]__0vf-0gp._.js +3 -0
  384. package/.next/server/chunks/[root-of-the-server]__0vf-0gp._.js.map +1 -0
  385. package/.next/server/chunks/[root-of-the-server]__0x8wtot._.js +3 -0
  386. package/.next/server/chunks/{[root-of-the-server]__17xb02p._.js.map → [root-of-the-server]__0x8wtot._.js.map} +1 -1
  387. package/.next/server/chunks/[root-of-the-server]__0y5usoz._.js +3 -0
  388. package/.next/server/chunks/[root-of-the-server]__0y5usoz._.js.map +1 -0
  389. package/.next/server/chunks/[root-of-the-server]__15c5snv._.js +3 -0
  390. package/.next/server/chunks/{[root-of-the-server]__05l6129._.js.map → [root-of-the-server]__15c5snv._.js.map} +1 -1
  391. package/.next/server/chunks/[root-of-the-server]__16u25oa._.js +3 -0
  392. package/.next/server/chunks/{[root-of-the-server]__142icjb._.js.map → [root-of-the-server]__16u25oa._.js.map} +1 -1
  393. package/.next/server/chunks/[root-of-the-server]__18dt3sr._.js +3 -0
  394. package/.next/server/chunks/{[root-of-the-server]__14aeqoi._.js.map → [root-of-the-server]__18dt3sr._.js.map} +1 -1
  395. package/.next/server/chunks/[root-of-the-server]__19rxcu4._.js +110 -0
  396. package/.next/server/chunks/[root-of-the-server]__19rxcu4._.js.map +1 -0
  397. package/.next/server/chunks/[root-of-the-server]__1_qenei._.js +3 -0
  398. package/.next/server/chunks/[root-of-the-server]__1_qenei._.js.map +1 -0
  399. package/.next/server/chunks/[root-of-the-server]__1a7d63a._.js +3 -0
  400. package/.next/server/chunks/[root-of-the-server]__1a7d63a._.js.map +1 -0
  401. package/.next/server/chunks/[root-of-the-server]__1b448u7._.js +3 -0
  402. package/.next/server/chunks/{[root-of-the-server]__06zf_sh._.js.map → [root-of-the-server]__1b448u7._.js.map} +1 -1
  403. package/.next/server/chunks/[root-of-the-server]__1e68zmx._.js +3 -0
  404. package/.next/server/chunks/[root-of-the-server]__1e68zmx._.js.map +1 -0
  405. package/.next/server/chunks/[root-of-the-server]__1gvv2xp._.js +3 -0
  406. package/.next/server/chunks/{[root-of-the-server]__1y3u5ud._.js.map → [root-of-the-server]__1gvv2xp._.js.map} +1 -1
  407. package/.next/server/chunks/[root-of-the-server]__1jel07j._.js +3 -0
  408. package/.next/server/chunks/[root-of-the-server]__1jel07j._.js.map +1 -0
  409. package/.next/server/chunks/[root-of-the-server]__1jz98vb._.js +3 -0
  410. package/.next/server/chunks/{[root-of-the-server]__106gpvh._.js.map → [root-of-the-server]__1jz98vb._.js.map} +1 -1
  411. package/.next/server/chunks/[root-of-the-server]__1la-6xe._.js +3 -0
  412. package/.next/server/chunks/[root-of-the-server]__1la-6xe._.js.map +1 -0
  413. package/.next/server/chunks/[root-of-the-server]__1p6-0l0._.js +3 -0
  414. package/.next/server/chunks/[root-of-the-server]__1p6-0l0._.js.map +1 -0
  415. package/.next/server/chunks/[root-of-the-server]__1qd-ecl._.js +110 -0
  416. package/.next/server/chunks/[root-of-the-server]__1qd-ecl._.js.map +1 -0
  417. package/.next/server/chunks/[root-of-the-server]__1r_0uma._.js +3 -0
  418. package/.next/server/chunks/{[root-of-the-server]__11s-8eg._.js.map → [root-of-the-server]__1r_0uma._.js.map} +1 -1
  419. package/.next/server/chunks/[root-of-the-server]__1ssunti._.js +3 -0
  420. package/.next/server/chunks/{[root-of-the-server]__17p0rkn._.js.map → [root-of-the-server]__1ssunti._.js.map} +1 -1
  421. package/.next/server/chunks/[root-of-the-server]__1tu85zx._.js +3 -0
  422. package/.next/server/chunks/[root-of-the-server]__1tu85zx._.js.map +1 -0
  423. package/.next/server/chunks/[root-of-the-server]__1wcd2x9._.js +3 -0
  424. package/.next/server/chunks/[root-of-the-server]__1wcd2x9._.js.map +1 -0
  425. package/.next/server/chunks/[root-of-the-server]__1xpp36t._.js +3 -0
  426. package/.next/server/chunks/[root-of-the-server]__1xpp36t._.js.map +1 -0
  427. package/.next/server/chunks/[root-of-the-server]__1z3tswg._.js +3 -0
  428. package/.next/server/chunks/[root-of-the-server]__1z3tswg._.js.map +1 -0
  429. package/.next/server/chunks/_04byth9._.js +34 -19
  430. package/.next/server/chunks/_04byth9._.js.map +1 -1
  431. package/.next/server/chunks/_0safx0g._.js +10 -0
  432. package/.next/server/chunks/_0safx0g._.js.map +1 -0
  433. package/.next/server/chunks/_1au4syj._.js +1 -1
  434. package/.next/server/chunks/_1au4syj._.js.map +1 -1
  435. package/.next/server/chunks/_1b5fqxy._.js.map +1 -1
  436. package/.next/server/chunks/_1ivswa9._.js +3 -0
  437. package/.next/server/chunks/_1ivswa9._.js.map +1 -0
  438. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_delete_route_actions_1a4-ad5.js +3 -0
  439. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_delete_route_actions_1a4-ad5.js.map +1 -0
  440. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_restore_route_actions_07637mh.js +3 -0
  441. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_restore_route_actions_07637mh.js.map +1 -0
  442. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_route_actions_0bxuv92.js +3 -0
  443. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_route_actions_0bxuv92.js.map +1 -0
  444. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_save_route_actions_0bwga-2.js +3 -0
  445. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_save_route_actions_0bwga-2.js.map +1 -0
  446. package/.next/server/chunks/_next-internal_server_app_api_memory_graph_route_actions_0pca9et.js +3 -0
  447. package/.next/server/chunks/_next-internal_server_app_api_memory_graph_route_actions_0pca9et.js.map +1 -0
  448. package/.next/server/chunks/_next-internal_server_app_api_memory_history_route_actions_0w5pu5p.js +3 -0
  449. package/.next/server/chunks/_next-internal_server_app_api_memory_history_route_actions_0w5pu5p.js.map +1 -0
  450. package/.next/server/chunks/_next-internal_server_app_api_roadmap_restore_route_actions_0skshp1.js +3 -0
  451. package/.next/server/chunks/_next-internal_server_app_api_roadmap_restore_route_actions_0skshp1.js.map +1 -0
  452. package/.next/server/chunks/_next-internal_server_app_api_tasks_bulk_route_actions_1k75mlb.js +3 -0
  453. package/.next/server/chunks/_next-internal_server_app_api_tasks_bulk_route_actions_1k75mlb.js.map +1 -0
  454. package/.next/server/chunks/_next-internal_server_app_api_tasks_delete_route_actions_1k1g6mw.js +3 -0
  455. package/.next/server/chunks/_next-internal_server_app_api_tasks_delete_route_actions_1k1g6mw.js.map +1 -0
  456. package/.next/server/chunks/_next-internal_server_app_api_tasks_manual-tests_route_actions_1rpog0y.js +3 -0
  457. package/.next/server/chunks/_next-internal_server_app_api_tasks_manual-tests_route_actions_1rpog0y.js.map +1 -0
  458. package/.next/server/chunks/_next-internal_server_app_api_tasks_restore_route_actions_1ecsti8.js +3 -0
  459. package/.next/server/chunks/_next-internal_server_app_api_tasks_restore_route_actions_1ecsti8.js.map +1 -0
  460. package/.next/server/chunks/_next-internal_server_app_api_tasks_review_route_actions_1dly07f.js +3 -0
  461. package/.next/server/chunks/_next-internal_server_app_api_tasks_review_route_actions_1dly07f.js.map +1 -0
  462. package/.next/server/chunks/_next-internal_server_app_api_tasks_update_route_actions_0z-ho6g.js +3 -0
  463. package/.next/server/chunks/_next-internal_server_app_api_tasks_update_route_actions_0z-ho6g.js.map +1 -0
  464. package/.next/server/chunks/_next-internal_server_app_api_views_route_actions_10-2c0e.js +3 -0
  465. package/.next/server/chunks/_next-internal_server_app_api_views_route_actions_10-2c0e.js.map +1 -0
  466. package/.next/server/chunks/ssr/0_g__next_dist_000c5_m._.js +3 -0
  467. package/.next/server/chunks/ssr/0_g__next_dist_000c5_m._.js.map +1 -0
  468. package/.next/server/chunks/ssr/{0_nd_mermaid_dist_mermaid_core_mjs_0vv_0i3._.js → 0_nd_mermaid_dist_mermaid_core_mjs_027n2yl._.js} +2 -2
  469. package/.next/server/chunks/ssr/0_nd_mermaid_dist_mermaid_core_mjs_027n2yl._.js.map +1 -0
  470. package/.next/server/chunks/ssr/{1u84_katex_dist_katex_mjs_1z0p1bs._.js → 1u84_katex_dist_katex_mjs_1kb5xea._.js} +1 -1
  471. package/.next/server/chunks/ssr/1u84_katex_dist_katex_mjs_1kb5xea._.js.map +1 -0
  472. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_05ggp3i._.js +1 -1
  473. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_05ggp3i._.js.map +1 -1
  474. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0wurouw._.js +3 -0
  475. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0wurouw._.js.map +1 -0
  476. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_14hl50o._.js +3 -0
  477. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_14hl50o._.js.map +1 -0
  478. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_folder-open_mjs_117ipzw._.js +3 -0
  479. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_folder-open_mjs_117ipzw._.js.map +1 -0
  480. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js +3 -0
  481. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js.map +1 -0
  482. package/.next/server/chunks/ssr/[root-of-the-server]__0hcextx._.js +3 -0
  483. package/.next/server/chunks/ssr/[root-of-the-server]__0hcextx._.js.map +1 -0
  484. package/.next/server/chunks/ssr/[root-of-the-server]__0opgo3t._.js +14 -0
  485. package/.next/server/chunks/ssr/{[root-of-the-server]__0noc5ay._.js.map → [root-of-the-server]__0opgo3t._.js.map} +1 -1
  486. package/.next/server/chunks/ssr/[root-of-the-server]__0xt_0w2._.js.map +1 -1
  487. package/.next/server/chunks/ssr/[root-of-the-server]__1jv5ug1._.js +3 -0
  488. package/.next/server/chunks/ssr/{[root-of-the-server]__1pk-w2i._.js.map → [root-of-the-server]__1jv5ug1._.js.map} +1 -1
  489. package/.next/server/chunks/ssr/_04xff_2._.js +1 -1
  490. package/.next/server/chunks/ssr/_04xff_2._.js.map +1 -1
  491. package/.next/server/chunks/ssr/_071j6mr._.js +4 -0
  492. package/.next/server/chunks/ssr/_071j6mr._.js.map +1 -0
  493. package/.next/server/chunks/ssr/_0i75x-o._.js +3 -0
  494. package/.next/server/chunks/ssr/_0i75x-o._.js.map +1 -0
  495. package/.next/server/chunks/ssr/_0idb-vo._.js +151 -0
  496. package/.next/server/chunks/ssr/_0idb-vo._.js.map +1 -0
  497. package/.next/server/chunks/ssr/_0qp3gu7._.js +3 -0
  498. package/.next/server/chunks/ssr/_0qp3gu7._.js.map +1 -0
  499. package/.next/server/chunks/ssr/_15qpb4z._.js +3 -0
  500. package/.next/server/chunks/ssr/_15qpb4z._.js.map +1 -0
  501. package/.next/server/chunks/ssr/_1fg0usp._.js +3 -0
  502. package/.next/server/chunks/ssr/_1fg0usp._.js.map +1 -0
  503. package/.next/server/chunks/ssr/_1gxjjvh._.js +1 -1
  504. package/.next/server/chunks/ssr/_1gxjjvh._.js.map +1 -1
  505. package/.next/server/chunks/ssr/_1h0wfpz._.js +3 -0
  506. package/.next/server/chunks/ssr/_1h0wfpz._.js.map +1 -0
  507. package/.next/server/chunks/ssr/_1ncdakv._.js +4 -0
  508. package/.next/server/chunks/ssr/_1ncdakv._.js.map +1 -0
  509. package/.next/server/chunks/ssr/_1ocnpth._.js +3 -0
  510. package/.next/server/chunks/ssr/_1ocnpth._.js.map +1 -0
  511. package/.next/server/chunks/ssr/_1t76zdx._.js +3 -0
  512. package/.next/server/chunks/ssr/_1t76zdx._.js.map +1 -0
  513. package/.next/server/chunks/ssr/_1uno162._.js +3 -0
  514. package/.next/server/chunks/ssr/_1uno162._.js.map +1 -0
  515. package/.next/server/chunks/ssr/_next-internal_server_app_(app)_manual-tests_page_actions_1g5zjb7.js +3 -0
  516. package/.next/server/chunks/ssr/_next-internal_server_app_(app)_manual-tests_page_actions_1g5zjb7.js.map +1 -0
  517. package/.next/server/chunks/ssr/{node_modules__pnpm_04khl_s._.js → node_modules__pnpm_01bjcv9._.js} +1 -1
  518. package/.next/server/chunks/ssr/{node_modules__pnpm_08sqeu2._.js → node_modules__pnpm_03qrzdb._.js} +1 -1
  519. package/.next/server/chunks/ssr/{node_modules__pnpm_104pzhc._.js → node_modules__pnpm_06d-fdo._.js} +2 -2
  520. package/.next/server/chunks/ssr/node_modules__pnpm_0al3nfy._.js +3 -0
  521. package/.next/server/chunks/ssr/node_modules__pnpm_0al3nfy._.js.map +1 -0
  522. package/.next/server/chunks/ssr/node_modules__pnpm_0aoa6rg._.js +4 -0
  523. package/.next/server/chunks/ssr/node_modules__pnpm_0aoa6rg._.js.map +1 -0
  524. package/.next/server/chunks/ssr/{node_modules__pnpm_1xzf8g_._.js → node_modules__pnpm_0ctisl0._.js} +1 -1
  525. package/.next/server/chunks/ssr/{node_modules__pnpm_0og06fy._.js → node_modules__pnpm_0fwp8jm._.js} +1 -1
  526. package/.next/server/chunks/ssr/{node_modules__pnpm_0a9b2ei._.js → node_modules__pnpm_0kpu0-2._.js} +1 -1
  527. package/.next/server/chunks/ssr/{node_modules__pnpm_0jpv2b6._.js → node_modules__pnpm_0vry74x._.js} +2 -2
  528. package/.next/server/chunks/ssr/{node_modules__pnpm_0fd3pr1._.js → node_modules__pnpm_0ycbjbd._.js} +2 -2
  529. package/.next/server/chunks/ssr/{node_modules__pnpm_1l8k8w1._.js → node_modules__pnpm_1-76qxg._.js} +1 -1
  530. package/.next/server/chunks/ssr/{node_modules__pnpm_0ah02mu._.js → node_modules__pnpm_1-r94f7._.js} +1 -1
  531. package/.next/server/chunks/ssr/{node_modules__pnpm_1yq90z7._.js → node_modules__pnpm_14piqi4._.js} +1 -1
  532. package/.next/server/chunks/ssr/node_modules__pnpm_14piqi4._.js.map +1 -0
  533. package/.next/server/chunks/ssr/{node_modules__pnpm_0dwi7mu._.js → node_modules__pnpm_16u1vfb._.js} +2 -2
  534. package/.next/server/chunks/ssr/node_modules__pnpm_16u1vfb._.js.map +1 -0
  535. package/.next/server/chunks/ssr/{node_modules__pnpm_0f77_ng._.js → node_modules__pnpm_17i6z2d._.js} +1 -1
  536. package/.next/server/chunks/ssr/{node_modules__pnpm_09_i2jk._.js → node_modules__pnpm_189m48n._.js} +1 -1
  537. package/.next/server/chunks/ssr/node_modules__pnpm_189m48n._.js.map +1 -0
  538. package/.next/server/chunks/ssr/{node_modules__pnpm_0ttvopp._.js → node_modules__pnpm_192f222._.js} +1 -1
  539. package/.next/server/chunks/ssr/{node_modules__pnpm_07t_e8c._.js → node_modules__pnpm_1a48_nl._.js} +1 -1
  540. package/.next/server/chunks/ssr/{node_modules__pnpm_195j8p_._.js → node_modules__pnpm_1aa37e1._.js} +1 -1
  541. package/.next/server/chunks/ssr/{node_modules__pnpm_0cj8ryj._.js → node_modules__pnpm_1f440kx._.js} +1 -1
  542. package/.next/server/chunks/ssr/{node_modules__pnpm_0u3u82f._.js → node_modules__pnpm_1fn3ejy._.js} +1 -1
  543. package/.next/server/chunks/ssr/{node_modules__pnpm_0ts89ne._.js → node_modules__pnpm_1min2jl._.js} +1 -1
  544. package/.next/server/chunks/ssr/{node_modules__pnpm_1woddr6._.js → node_modules__pnpm_1q_hhr3._.js} +2 -2
  545. package/.next/server/chunks/ssr/{node_modules__pnpm_1x0t5_z._.js → node_modules__pnpm_1qmkxyo._.js} +1 -1
  546. package/.next/server/chunks/ssr/{node_modules__pnpm_0gifu-u._.js → node_modules__pnpm_1qp_jvj._.js} +2 -2
  547. package/.next/server/chunks/ssr/{node_modules__pnpm_0y35hs4._.js → node_modules__pnpm_1ssjj4u._.js} +1 -1
  548. package/.next/server/chunks/ssr/{node_modules__pnpm_0qc3gsk._.js → node_modules__pnpm_1txccoj._.js} +1 -1
  549. package/.next/server/chunks/ssr/{node_modules__pnpm_1w0f1m5._.js → node_modules__pnpm_1uwkcin._.js} +1 -1
  550. package/.next/server/chunks/ssr/node_modules__pnpm_1xeothw._.js +3 -0
  551. package/.next/server/chunks/ssr/node_modules__pnpm_1xeothw._.js.map +1 -0
  552. package/.next/server/chunks/ssr/{node_modules__pnpm_0286-tg._.js → node_modules__pnpm_1ygal0c._.js} +1 -1
  553. package/.next/server/chunks/ssr/src_app_(app)_activity_page_tsx_13jd6bn._.js +1 -1
  554. package/.next/server/chunks/ssr/src_app_(app)_activity_page_tsx_13jd6bn._.js.map +1 -1
  555. package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js +3 -0
  556. package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js.map +1 -0
  557. package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js +1 -1
  558. package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js.map +1 -1
  559. package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js +1 -1
  560. package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js.map +1 -1
  561. package/.next/server/chunks/ssr/src_app_(app)_manual-tests_page_tsx_01tnunf._.js +3 -0
  562. package/.next/server/chunks/ssr/src_app_(app)_manual-tests_page_tsx_01tnunf._.js.map +1 -0
  563. package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js +13 -0
  564. package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js.map +1 -0
  565. package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js +2 -2
  566. package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js.map +1 -1
  567. package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js +2 -2
  568. package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js.map +1 -1
  569. package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_1yids_n._.js +1 -1
  570. package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_1yids_n._.js.map +1 -1
  571. package/.next/server/chunks/ssr/src_components_0eyr_zi._.js +3 -0
  572. package/.next/server/chunks/ssr/src_components_0eyr_zi._.js.map +1 -0
  573. package/.next/server/chunks/ssr/src_components_1s861m8._.js +3 -0
  574. package/.next/server/chunks/ssr/src_components_1s861m8._.js.map +1 -0
  575. package/.next/server/chunks/ssr/src_components_chat_ChatView_tsx_0h5j-e2._.js +3 -0
  576. package/.next/server/chunks/ssr/src_components_chat_ChatView_tsx_0h5j-e2._.js.map +1 -0
  577. package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js +2 -2
  578. package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js.map +1 -1
  579. package/.next/server/middleware-build-manifest.js +3 -3
  580. package/.next/server/next-font-manifest.js +1 -1
  581. package/.next/server/next-font-manifest.json +4 -0
  582. package/.next/server/pages/404.html +1 -1
  583. package/.next/server/pages/500.html +1 -1
  584. package/.next/server/prefetch-hints.json +19 -0
  585. package/.next/server/server-reference-manifest.js +1 -1
  586. package/.next/server/server-reference-manifest.json +1 -1
  587. package/.next/static/chunks/02cj5_i9np4sg.js +3 -0
  588. package/.next/static/chunks/02i5hsdat1nuq.css +9 -0
  589. package/.next/static/chunks/0b547y6rqct9z.js +1 -0
  590. package/.next/static/chunks/0e3ha56i_0j05.css +1 -0
  591. package/.next/static/chunks/0f32hudp0yir7.js +2 -0
  592. package/.next/static/chunks/0mgifb98wbesa.js +1 -0
  593. package/.next/static/chunks/0rsmz1jgro1kj.js +1 -0
  594. package/.next/static/chunks/0wnq_kh8-6wc1.js +2 -0
  595. package/.next/static/chunks/13l4l-boqg8fx.js +1 -0
  596. package/.next/static/chunks/14hxe1qiaram9.js +1 -0
  597. package/.next/static/chunks/16k196zyl-n9q.js +1 -0
  598. package/.next/static/chunks/18b5l8p0vd9f8.js +1 -0
  599. package/.next/static/chunks/1acpfyut6j4e2.js +1 -0
  600. package/.next/static/chunks/1c_8t2kecjnua.js +1 -0
  601. package/.next/static/chunks/{1xyepk9227yej.js → 1l_dys0-y5-r7.js} +6 -6
  602. package/.next/static/chunks/1rko_88i85yqb.js +21 -0
  603. package/.next/static/chunks/1tu8lforstp1o.js +1 -0
  604. package/.next/static/chunks/20mdcup14_0yi.js +11 -0
  605. package/.next/static/chunks/23-xknrz6o748.js +1 -0
  606. package/.next/static/chunks/24u_rc2tbkhai.js +3 -0
  607. package/.next/static/chunks/2p-pkveutoh75.js +1 -0
  608. package/.next/static/chunks/329sozud9-tvr.js +1 -0
  609. package/.next/static/chunks/3ly7b47esdb7j.js +1 -0
  610. package/.next/static/chunks/3qqvn9vv6i0gy.js +68 -0
  611. package/.next/static/chunks/3ruw8lu2_re-h.js +1 -0
  612. package/.next/static/chunks/3xqcluqa32mjv.js +2 -0
  613. package/README.md +13 -5
  614. package/package.json +1 -1
  615. package/skills/work-epic/SKILL.md +22 -3
  616. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0am8bw2._.js +0 -3
  617. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0enefn6._.js +0 -3
  618. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0k3n_5f._.js +0 -3
  619. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0lcfjm4._.js +0 -3
  620. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0lfx9av._.js +0 -3
  621. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qau3qw._.js +0 -3
  622. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0r1pmvm._.js +0 -3
  623. package/.next/server/chunks/11mp_@anthropic-ai_sdk_11t-z2t._.js +0 -3
  624. package/.next/server/chunks/11mp_@anthropic-ai_sdk_15hyn79._.js +0 -3
  625. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_qk07x._.js +0 -3
  626. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1b2929e._.js +0 -3
  627. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1e72c89._.js +0 -3
  628. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1eq7asn._.js +0 -3
  629. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1fhdojs._.js +0 -3
  630. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1htgzmb._.js +0 -3
  631. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lh_vwq._.js +0 -3
  632. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ludf-o._.js +0 -3
  633. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1m3luz3._.js +0 -3
  634. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x1iz3d._.js +0 -3
  635. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1xsmwlh._.js +0 -3
  636. package/.next/server/chunks/11mp_@anthropic-ai_sdk_202spah._.js +0 -3
  637. package/.next/server/chunks/11mp_@anthropic-ai_sdk_215hw9u._.js +0 -3
  638. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0d2_lq6._.js +0 -3
  639. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0n-i0pd._.js +0 -3
  640. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13pos4j._.js +0 -3
  641. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_17b4pqr._.js +0 -3
  642. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1bkcmom._.js +0 -3
  643. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1hlj_3l._.js +0 -3
  644. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ip-sor._.js +0 -3
  645. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1pex5o1._.js +0 -3
  646. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1s8lc8_._.js +0 -3
  647. package/.next/server/chunks/[root-of-the-server]__05l6129._.js +0 -3
  648. package/.next/server/chunks/[root-of-the-server]__06zf_sh._.js +0 -3
  649. package/.next/server/chunks/[root-of-the-server]__093hlkh._.js +0 -3
  650. package/.next/server/chunks/[root-of-the-server]__0aynzrb._.js +0 -3
  651. package/.next/server/chunks/[root-of-the-server]__0e59y5j._.js +0 -3
  652. package/.next/server/chunks/[root-of-the-server]__0eqd-tw._.js +0 -3
  653. package/.next/server/chunks/[root-of-the-server]__0nfvvy9._.js +0 -3
  654. package/.next/server/chunks/[root-of-the-server]__106gpvh._.js +0 -3
  655. package/.next/server/chunks/[root-of-the-server]__11s76m8._.js +0 -3
  656. package/.next/server/chunks/[root-of-the-server]__142icjb._.js +0 -3
  657. package/.next/server/chunks/[root-of-the-server]__14aeqoi._.js +0 -3
  658. package/.next/server/chunks/[root-of-the-server]__1613hjb._.js +0 -88
  659. package/.next/server/chunks/[root-of-the-server]__1613hjb._.js.map +0 -1
  660. package/.next/server/chunks/[root-of-the-server]__169hmq_._.js +0 -10
  661. package/.next/server/chunks/[root-of-the-server]__169hmq_._.js.map +0 -1
  662. package/.next/server/chunks/[root-of-the-server]__17p0rkn._.js +0 -3
  663. package/.next/server/chunks/[root-of-the-server]__17xb02p._.js +0 -3
  664. package/.next/server/chunks/[root-of-the-server]__18kxo4a._.js +0 -3
  665. package/.next/server/chunks/[root-of-the-server]__1j0rrps._.js +0 -3
  666. package/.next/server/chunks/[root-of-the-server]__1jxu2x9._.js +0 -3
  667. package/.next/server/chunks/[root-of-the-server]__1lj_2cv._.js +0 -3
  668. package/.next/server/chunks/[root-of-the-server]__1o4a-4j._.js +0 -3
  669. package/.next/server/chunks/[root-of-the-server]__1o4a-4j._.js.map +0 -1
  670. package/.next/server/chunks/[root-of-the-server]__1q4ahvz._.js +0 -3
  671. package/.next/server/chunks/[root-of-the-server]__1u_q61h._.js +0 -3
  672. package/.next/server/chunks/[root-of-the-server]__1wr0m-s._.js +0 -3
  673. package/.next/server/chunks/[root-of-the-server]__1xb0fmp._.js +0 -3
  674. package/.next/server/chunks/[root-of-the-server]__1xb0fmp._.js.map +0 -1
  675. package/.next/server/chunks/[root-of-the-server]__1y-tt29._.js +0 -3
  676. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0cvmffy._.js +0 -3
  677. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0cvmffy._.js.map +0 -1
  678. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0u3jxas._.js +0 -3
  679. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0u3jxas._.js.map +0 -1
  680. package/.next/server/chunks/ssr/[root-of-the-server]__0noc5ay._.js +0 -14
  681. package/.next/server/chunks/ssr/[root-of-the-server]__1pk-w2i._.js +0 -3
  682. package/.next/server/chunks/ssr/_059qmur._.js +0 -3
  683. package/.next/server/chunks/ssr/_059qmur._.js.map +0 -1
  684. package/.next/server/chunks/ssr/_081irea._.js +0 -3
  685. package/.next/server/chunks/ssr/_081irea._.js.map +0 -1
  686. package/.next/server/chunks/ssr/_0d8t8l4._.js +0 -3
  687. package/.next/server/chunks/ssr/_0d8t8l4._.js.map +0 -1
  688. package/.next/server/chunks/ssr/_0dyvcdg._.js +0 -3
  689. package/.next/server/chunks/ssr/_0dyvcdg._.js.map +0 -1
  690. package/.next/server/chunks/ssr/_1-ghqy4._.js +0 -3
  691. package/.next/server/chunks/ssr/_1-ghqy4._.js.map +0 -1
  692. package/.next/server/chunks/ssr/_17jy5db._.js +0 -3
  693. package/.next/server/chunks/ssr/_17jy5db._.js.map +0 -1
  694. package/.next/server/chunks/ssr/_1c95ems._.js +0 -151
  695. package/.next/server/chunks/ssr/_1c95ems._.js.map +0 -1
  696. package/.next/server/chunks/ssr/_1dllfz5._.js +0 -4
  697. package/.next/server/chunks/ssr/_1dllfz5._.js.map +0 -1
  698. package/.next/server/chunks/ssr/node_modules__pnpm_006_c8z._.js +0 -3
  699. package/.next/server/chunks/ssr/node_modules__pnpm_006_c8z._.js.map +0 -1
  700. package/.next/server/chunks/ssr/node_modules__pnpm_1imm4ut._.js +0 -3
  701. package/.next/server/chunks/ssr/node_modules__pnpm_1imm4ut._.js.map +0 -1
  702. package/.next/server/chunks/ssr/node_modules__pnpm_1kcnkjs._.js +0 -3
  703. package/.next/server/chunks/ssr/node_modules__pnpm_1kcnkjs._.js.map +0 -1
  704. package/.next/server/chunks/ssr/src_1lkod9y._.js +0 -8
  705. package/.next/server/chunks/ssr/src_1lkod9y._.js.map +0 -1
  706. package/.next/server/chunks/ssr/src_components_14pwej-._.js +0 -3
  707. package/.next/server/chunks/ssr/src_components_14pwej-._.js.map +0 -1
  708. package/.next/server/chunks/ssr/src_components_ui_scroll-area_tsx_0i-n_27._.js +0 -3
  709. package/.next/server/chunks/ssr/src_components_ui_scroll-area_tsx_0i-n_27._.js.map +0 -1
  710. package/.next/static/chunks/0-z7kyblalrea.js +0 -1
  711. package/.next/static/chunks/050mq8l4e1ubn.js +0 -1
  712. package/.next/static/chunks/098le48845_fg.js +0 -3
  713. package/.next/static/chunks/0cw4-ebkoufdc.js +0 -1
  714. package/.next/static/chunks/0feo-go1w5nct.js +0 -1
  715. package/.next/static/chunks/0k2qhx29amdgs.js +0 -1
  716. package/.next/static/chunks/14sefb904pl64.js +0 -21
  717. package/.next/static/chunks/1fer-wulyrjrs.js +0 -3
  718. package/.next/static/chunks/1o7b1x4umy8a6.js +0 -1
  719. package/.next/static/chunks/1q_io1j58aukw.js +0 -1
  720. package/.next/static/chunks/1r7z33e9jk3vp.js +0 -1
  721. package/.next/static/chunks/1t-cgh4477hfo.js +0 -1
  722. package/.next/static/chunks/1u-1po1qesc9f.js +0 -1
  723. package/.next/static/chunks/1u5kegkgm0xoz.js +0 -1
  724. package/.next/static/chunks/24ygzsgd-moqy.js +0 -1
  725. package/.next/static/chunks/26folxgplfa9t.js +0 -68
  726. package/.next/static/chunks/2ocixvjhv34_3.js +0 -1
  727. package/.next/static/chunks/3_lsdgxa-h7ma.css +0 -10
  728. package/.next/static/chunks/3h4ehgq7i44wb.js +0 -6
  729. package/.next/static/chunks/3rmv-sb9w9i3e.js +0 -1
  730. package/.next/static/chunks/3smp1lj103j-l.js +0 -1
  731. package/.next/static/chunks/3ttzomivj48jh.js +0 -2
  732. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-5bkpj._.js.map → 11mp_@anthropic-ai_sdk_0-_cqh8._.js.map} +0 -0
  733. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00psb_y._.js.map → 11mp_@anthropic-ai_sdk_00o5o78._.js.map} +0 -0
  734. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01l5h3i._.js.map → 11mp_@anthropic-ai_sdk_03cp17a._.js.map} +0 -0
  735. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_072r2bd._.js.map → 11mp_@anthropic-ai_sdk_07dk2er._.js.map} +0 -0
  736. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0am8bw2._.js.map → 11mp_@anthropic-ai_sdk_0_e9zpr._.js.map} +0 -0
  737. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0enefn6._.js.map → 11mp_@anthropic-ai_sdk_0_xx_qf._.js.map} +0 -0
  738. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0k3n_5f._.js.map → 11mp_@anthropic-ai_sdk_0aer9lc._.js.map} +0 -0
  739. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0lcfjm4._.js.map → 11mp_@anthropic-ai_sdk_0ax30pe._.js.map} +0 -0
  740. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0lfx9av._.js.map → 11mp_@anthropic-ai_sdk_0gn7vgs._.js.map} +0 -0
  741. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0qau3qw._.js.map → 11mp_@anthropic-ai_sdk_0hye94a._.js.map} +0 -0
  742. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0r1pmvm._.js.map → 11mp_@anthropic-ai_sdk_0ir5cgk._.js.map} +0 -0
  743. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_11t-z2t._.js.map → 11mp_@anthropic-ai_sdk_0je0_pa._.js.map} +0 -0
  744. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_15hyn79._.js.map → 11mp_@anthropic-ai_sdk_0jfgh0o._.js.map} +0 -0
  745. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1_qk07x._.js.map → 11mp_@anthropic-ai_sdk_0mha4x1._.js.map} +0 -0
  746. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1b2929e._.js.map → 11mp_@anthropic-ai_sdk_0n__boa._.js.map} +0 -0
  747. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1e72c89._.js.map → 11mp_@anthropic-ai_sdk_0sqv26_._.js.map} +0 -0
  748. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1eq7asn._.js.map → 11mp_@anthropic-ai_sdk_0wnc6g-._.js.map} +0 -0
  749. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1fhdojs._.js.map → 11mp_@anthropic-ai_sdk_0xh0g59._.js.map} +0 -0
  750. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1htgzmb._.js.map → 11mp_@anthropic-ai_sdk_1-5wyhj._.js.map} +0 -0
  751. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1lh_vwq._.js.map → 11mp_@anthropic-ai_sdk_13ahm3n._.js.map} +0 -0
  752. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ludf-o._.js.map → 11mp_@anthropic-ai_sdk_13e6aq4._.js.map} +0 -0
  753. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1m3luz3._.js.map → 11mp_@anthropic-ai_sdk_14eg0ld._.js.map} +0 -0
  754. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1x1iz3d._.js.map → 11mp_@anthropic-ai_sdk_15md1n2._.js.map} +0 -0
  755. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1xsmwlh._.js.map → 11mp_@anthropic-ai_sdk_16av8b9._.js.map} +0 -0
  756. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_202spah._.js.map → 11mp_@anthropic-ai_sdk_16hjhv1._.js.map} +0 -0
  757. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_215hw9u._.js.map → 11mp_@anthropic-ai_sdk_16txvf7._.js.map} +0 -0
  758. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0d2_lq6._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_00kwqu5._.js.map} +0 -0
  759. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0n-i0pd._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_01j2nrd._.js.map} +0 -0
  760. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_13pos4j._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_05ybj3t._.js.map} +0 -0
  761. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_17b4pqr._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0adt7jj._.js.map} +0 -0
  762. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1bkcmom._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0bnl14w._.js.map} +0 -0
  763. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1hlj_3l._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0f557t9._.js.map} +0 -0
  764. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1ip-sor._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0ra6giw._.js.map} +0 -0
  765. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1pex5o1._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_107cqfx._.js.map} +0 -0
  766. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1s8lc8_._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1377sl6._.js.map} +0 -0
  767. /package/.next/server/chunks/{[root-of-the-server]__0e59y5j._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1_2hcok._.js.map} +0 -0
  768. /package/.next/server/chunks/{[root-of-the-server]__11s76m8._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1g--m6y._.js.map} +0 -0
  769. /package/.next/server/chunks/{ssr/0_nd_mermaid_dist_mermaid_core_mjs_0vv_0i3._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1geopi5._.js.map} +0 -0
  770. /package/.next/server/chunks/{ssr/1u84_katex_dist_katex_mjs_1z0p1bs._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1i11dte._.js.map} +0 -0
  771. /package/.next/server/chunks/{ssr/node_modules__pnpm_09_i2jk._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1mj3_qk._.js.map} +0 -0
  772. /package/.next/server/chunks/{ssr/node_modules__pnpm_0dwi7mu._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1qgy210._.js.map} +0 -0
  773. /package/.next/server/chunks/{ssr/node_modules__pnpm_1yq90z7._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1rkng9q._.js.map} +0 -0
  774. /package/.next/server/chunks/ssr/{node_modules__pnpm_04khl_s._.js.map → node_modules__pnpm_01bjcv9._.js.map} +0 -0
  775. /package/.next/server/chunks/ssr/{node_modules__pnpm_08sqeu2._.js.map → node_modules__pnpm_03qrzdb._.js.map} +0 -0
  776. /package/.next/server/chunks/ssr/{node_modules__pnpm_104pzhc._.js.map → node_modules__pnpm_06d-fdo._.js.map} +0 -0
  777. /package/.next/server/chunks/ssr/{node_modules__pnpm_1xzf8g_._.js.map → node_modules__pnpm_0ctisl0._.js.map} +0 -0
  778. /package/.next/server/chunks/ssr/{node_modules__pnpm_0og06fy._.js.map → node_modules__pnpm_0fwp8jm._.js.map} +0 -0
  779. /package/.next/server/chunks/ssr/{node_modules__pnpm_0a9b2ei._.js.map → node_modules__pnpm_0kpu0-2._.js.map} +0 -0
  780. /package/.next/server/chunks/ssr/{node_modules__pnpm_0jpv2b6._.js.map → node_modules__pnpm_0vry74x._.js.map} +0 -0
  781. /package/.next/server/chunks/ssr/{node_modules__pnpm_0fd3pr1._.js.map → node_modules__pnpm_0ycbjbd._.js.map} +0 -0
  782. /package/.next/server/chunks/ssr/{node_modules__pnpm_1l8k8w1._.js.map → node_modules__pnpm_1-76qxg._.js.map} +0 -0
  783. /package/.next/server/chunks/ssr/{node_modules__pnpm_0ah02mu._.js.map → node_modules__pnpm_1-r94f7._.js.map} +0 -0
  784. /package/.next/server/chunks/ssr/{node_modules__pnpm_0f77_ng._.js.map → node_modules__pnpm_17i6z2d._.js.map} +0 -0
  785. /package/.next/server/chunks/ssr/{node_modules__pnpm_0ttvopp._.js.map → node_modules__pnpm_192f222._.js.map} +0 -0
  786. /package/.next/server/chunks/ssr/{node_modules__pnpm_07t_e8c._.js.map → node_modules__pnpm_1a48_nl._.js.map} +0 -0
  787. /package/.next/server/chunks/ssr/{node_modules__pnpm_195j8p_._.js.map → node_modules__pnpm_1aa37e1._.js.map} +0 -0
  788. /package/.next/server/chunks/ssr/{node_modules__pnpm_0cj8ryj._.js.map → node_modules__pnpm_1f440kx._.js.map} +0 -0
  789. /package/.next/server/chunks/ssr/{node_modules__pnpm_0u3u82f._.js.map → node_modules__pnpm_1fn3ejy._.js.map} +0 -0
  790. /package/.next/server/chunks/ssr/{node_modules__pnpm_0ts89ne._.js.map → node_modules__pnpm_1min2jl._.js.map} +0 -0
  791. /package/.next/server/chunks/ssr/{node_modules__pnpm_1woddr6._.js.map → node_modules__pnpm_1q_hhr3._.js.map} +0 -0
  792. /package/.next/server/chunks/ssr/{node_modules__pnpm_1x0t5_z._.js.map → node_modules__pnpm_1qmkxyo._.js.map} +0 -0
  793. /package/.next/server/chunks/ssr/{node_modules__pnpm_0gifu-u._.js.map → node_modules__pnpm_1qp_jvj._.js.map} +0 -0
  794. /package/.next/server/chunks/ssr/{node_modules__pnpm_0y35hs4._.js.map → node_modules__pnpm_1ssjj4u._.js.map} +0 -0
  795. /package/.next/server/chunks/ssr/{node_modules__pnpm_0qc3gsk._.js.map → node_modules__pnpm_1txccoj._.js.map} +0 -0
  796. /package/.next/server/chunks/ssr/{node_modules__pnpm_1w0f1m5._.js.map → node_modules__pnpm_1uwkcin._.js.map} +0 -0
  797. /package/.next/server/chunks/ssr/{node_modules__pnpm_0286-tg._.js.map → node_modules__pnpm_1ygal0c._.js.map} +0 -0
  798. /package/.next/static/{uJ5RYxgFnE5svAvnuLDXN → Q29Tn_NjyVms0d3pKn4Yx}/_buildManifest.js +0 -0
  799. /package/.next/static/{uJ5RYxgFnE5svAvnuLDXN → Q29Tn_NjyVms0d3pKn4Yx}/_clientMiddlewareManifest.js +0 -0
  800. /package/.next/static/{uJ5RYxgFnE5svAvnuLDXN → Q29Tn_NjyVms0d3pKn4Yx}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,248070,e=>{"use strict";var t=e.i(83790);let n={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"]};n.node;let s=(0,t.default)(n);e.s(["MoreHorizontal",0,s],248070)},246978,e=>{"use strict";var t=e.i(83790);let n={name:"folder-input",size:24,node:[["path",{d:"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1",key:"fm4g5t"}],["path",{d:"M2 13h10",key:"pgb2dq"}],["path",{d:"m9 16 3-3-3-3",key:"6m91ic"}]]};n.node;let s=(0,t.default)(n);e.s(["FolderInput",0,s],246978)},506534,e=>{"use strict";var t=e.i(83790);let n={name:"list-tree",size:24,node:[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]]};n.node;let s=(0,t.default)(n);e.s(["ListTree",0,s],506534)},475850,e=>{"use strict";var t=e.i(83790);let n={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"}]]};n.node;let s=(0,t.default)(n);e.s(["MessageSquare",0,s],475850)},424991,e=>{"use strict";var t=e.i(83790);let n={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"}]]};n.node;let s=(0,t.default)(n);e.s(["Pencil",0,s],424991)},885600,e=>{"use strict";var t=e.i(83790);let n={name:"sparkles",size:24,node:[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],aliases:["stars"]};n.node;let s=(0,t.default)(n);e.s(["Sparkles",0,s],885600)},496385,e=>{"use strict";var t=e.i(83790);let n={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"]};n.node;let s=(0,t.default)(n);e.s(["AlertTriangle",0,s],496385)},343253,508540,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 s=(0,t.default)(n);e.s(["User",0,s],343253);var a=e.i(72345),r=e.i(975157);e.s(["ItemPanelHeader",0,function({kicker:e,title:t,menu:n,properties:s,className:l,children:i}){let o=s.filter(e=>null!==e.value&&void 0!==e.value&&!1!==e.value);return(0,a.jsxs)("header",{"data-item-header":!0,className:(0,r.cn)("flex shrink-0 flex-col gap-2 border-b border-border px-5 pb-4 pt-4",l),children:[(0,a.jsxs)("div",{className:"flex min-h-7 items-center gap-2 pr-8 font-mono text-[11px] text-muted",children:[(0,a.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-1",children:e}),n]}),(0,a.jsx)("div",{className:"text-base font-semibold leading-snug text-txt",children:t}),o.length>0&&(0,a.jsx)("dl",{className:"grid grid-cols-[88px_minmax(0,1fr)] items-center gap-x-3 gap-y-1.5 text-xs",children:o.map(e=>(0,a.jsxs)("div",{className:"contents",children:[(0,a.jsx)("dt",{className:"text-muted",children:e.label}),(0,a.jsx)("dd",{className:"flex min-w-0 items-center gap-2 text-txt",children:e.value})]},e.label))}),i]})}],508540)},723528,e=>{"use strict";var t=e.i(72345),n=e.i(479432),s=e.i(240595),a=e.i(975157),r=e.i(244267),l=e.i(844081);let i={running:"Agent working","needs-answer":"Agent needs you",review:"Plan to review"};e.s(["AgentDot",0,function({attach:e}){let n=(0,r.useItemAgent)(e);return n?(0,t.jsx)(l.StatusMarker,{status:n.status,label:i[n.status]}):null},"AgentMark",0,function({attach:e,className:l}){let o=(0,r.useItemAgent)(e),{show:d}=(0,r.useChats)();if(!o)return null;let u=i[o.status];return(0,t.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),d(o.chatId)},title:`${u} \xb7 open chat`,"aria-label":`${u}, open chat`,className:(0,a.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",l),children:["running"===o.status?(0,t.jsx)(s.Loader2,{className:"size-3 animate-spin","aria-hidden":!0}):(0,t.jsx)(n.Bot,{className:"size-3","aria-hidden":!0}),u]})}])},651581,e=>{"use strict";var t=e.i(72345),n=e.i(211672),s=e.i(301702),a=e.i(496385),r=e.i(837001),l=e.i(975157),i=e.i(450768),o=e.i(640818),d=e.i(723528),u=e.i(244267);let c=[s.Position.Top,s.Position.Right,s.Position.Bottom,s.Position.Left];function x(){return(0,t.jsxs)(t.Fragment,{children:[c.map(e=>(0,t.jsx)(n.Handle,{id:e,type:"source",position:e,isConnectable:!1,className:"opacity-0"},e)),c.map(e=>(0,t.jsx)(n.Handle,{id:`${e}-t`,type:"target",position:e,isConnectable:!1,className:"opacity-0"},`${e}-t`))]})}let p={"in-progress":"Active",paused:"Paused",done:"Done",planned:"Planned"};function m({status:e,className:n}){return(0,t.jsxs)("span",{title:p[e],"aria-label":p[e],className:(0,l.cn)("relative inline-flex h-2 w-2 shrink-0",n),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,l.cn)("relative h-full w-full rounded-full","done"===e&&"bg-teal","in-progress"===e&&"bg-accent","planned"===e&&"border border-muted","paused"===e&&"border-2 border-y-0 border-muted")})]})}let h={done:"bg-teal","in-progress":"bg-amber",review:"bg-accent",blocked:"bg-danger",paused:"bg-muted/60",todo:"bg-border2",cancelled:"bg-border"};function g({statuses:e,className:n}){if(!e?.length)return null;let s=e.filter(e=>"done"===e).length;return(0,t.jsx)("div",{className:(0,l.cn)("flex h-1.5 min-w-0 flex-1 gap-0.5",n),title:`${s}/${e.length} tasks done`,children:e.map((e,n)=>(0,t.jsx)("span",{className:(0,l.cn)("h-full flex-1 rounded-[1px]",h[e])},n))})}function f({value:e,total:n,className:s}){let a=2*Math.PI*14,r=n>0?e/n:0;return(0,t.jsxs)("span",{className:(0,l.cn)("relative inline-flex h-9 w-9 shrink-0 items-center justify-center",s),title:`${e}/${n} 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:a,strokeDashoffset:a*(1-r)})]}),(0,t.jsx)("span",{className:"font-mono text-[9px] text-txt",children:Math.round(100*r)})]})}function b({due:e,state:n}){return e?(0,t.jsxs)("span",{className:(0,l.cn)("font-mono text-[10px]","overdue"===n?"text-danger":"soon"===n?"text-amber":"text-muted"),children:["Due ",(0,i.formatDay)(e)]}):null}function k({data:e}){let n=e.taskDue;return n&&n.overdue>0?(0,t.jsxs)("span",{className:"font-mono text-[10px] text-danger",children:[n.overdue," ",1===n.overdue?"task":"tasks"," overdue"]}):e.item.due?(0,t.jsx)(b,{due:e.item.due,state:e.dueState}):n?.next?(0,t.jsxs)("span",{className:(0,l.cn)("font-mono text-[10px]",e.taskDueSoon?"text-amber":"text-muted"),children:["Next due ",(0,i.formatDay)(n.next)]}):null}function j({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)(a.AlertTriangle,{className:"h-3.5 w-3.5"})}):null}e.s(["DueChip",0,b,"STATUS_LABEL",0,p,"SegmentedProgress",0,g,"StatusDot",0,m,"StatusPill",0,function({status:e}){return(0,t.jsxs)("span",{className:(0,l.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)(m,{status:e,className:"h-1.5 w-1.5"}),p[e]]})},"TASK_STATUS_BG",0,h,"nodeTypes",0,{horizon:function({data:e,selected:n}){let{item:s,progress:a,epics:r,chapter:i}=e,d=s.status;return(0,t.jsxs)("div",{style:{width:o.HORIZON_W},className:(0,l.cn)("relative flex items-center gap-3 rounded-xl border bg-surface px-3.5 py-3 transition-shadow duration-(--duration-base)","in-progress"===d&&"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"===d&&"border-teal/40","planned"===d&&"border-dashed border-border2","paused"===d&&"border-border2 opacity-75",n&&"ring-2 ring-accent/60 ring-offset-2 ring-offset-bg"),children:[(0,t.jsx)(x,{}),(0,t.jsx)("span",{className:(0,l.cn)("font-mono text-2xl font-semibold leading-none tabular-nums","in-progress"===d?"text-accent":"done"===d?"text-teal":"text-muted"),children:i?String(i).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:s.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)(b,{due:s.due,state:e.dueState})]})]}),a&&(0,t.jsx)(f,{value:a.done,total:a.total,className:"done"===d?"text-teal":"text-accent"}),(0,t.jsx)(j,{drift:e.drift})]})},feature:function({data:e,selected:n}){let{item:s,taskStatuses:a,nextTaskId:i}=e,c=(0,u.useItemAgent)({kind:"epic",id:s.id}),p=!!e.drift?.length,h=n&&"ring-2 ring-accent/60 ring-offset-2 ring-offset-bg";if("done"===s.status)return(0,t.jsxs)("div",{style:{width:o.FEATURE_W},className:(0,l.cn)("group relative flex items-center gap-2 rounded-lg border border-border bg-surface/60 px-3 py-2 hover:border-teal/40",h),children:[(0,t.jsx)(x,{}),(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:s.title,children:s.title}),c?(0,t.jsx)(d.AgentMark,{attach:{kind:"epic",id:s.id}}):e.progress&&(0,t.jsxs)("span",{className:"font-mono text-[10px] text-muted",children:[e.progress.done,"/",e.progress.total]}),(0,t.jsx)(j,{drift:e.drift})]});let f="in-progress"===s.status;return(0,t.jsxs)("div",{style:{width:o.FEATURE_W},className:(0,l.cn)("relative flex flex-col gap-1.5 rounded-lg border px-3 py-2.5 transition-shadow duration-(--duration-base)",f?"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"===s.status&&"opacity-70",h),children:[(0,t.jsx)(x,{}),f&&(0,t.jsx)("span",{className:(0,l.cn)("absolute -inset-y-px -left-px w-[3px] rounded-l-lg",p?"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:s.id}),c?(0,t.jsx)(d.AgentMark,{attach:{kind:"epic",id:s.id}}):f?(0,t.jsxs)("span",{className:"flex items-center gap-1.5 uppercase tracking-wider text-accent",children:[(0,t.jsx)(m,{status:"in-progress",className:"h-1.5 w-1.5"}),"Live"]}):(0,t.jsx)("span",{className:"uppercase tracking-wider text-muted",children:s.tasks.length?`${s.tasks.length} tasks`:"No tasks yet"})]}),(0,t.jsx)("p",{className:(0,l.cn)("line-clamp-2 text-[13px] leading-snug",f?"font-medium text-txt":"text-txt/80"),title:s.title,children:s.title}),a&&a.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(g,{statuses:a}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:f&&i?(0,t.jsxs)(t.Fragment,{children:["next ",(0,t.jsx)("span",{className:"text-txt",children:i})]}):`${a.filter(e=>"done"===e).length}/${a.length}`})]}),(0,t.jsx)(k,{data:e}),(0,t.jsx)(j,{drift:e.drift})]})}}])},450768,692172,640818,e=>{"use strict";function t(e,t,n){let s;return e?"done"===t?"done":e<n?"overdue":7>=Math.round(((s=e=>Date.UTC(+e.slice(0,4),e.slice(5,7)-1,+e.slice(8,10)))(e)-s(n))/864e5)?"soon":"ok":null}function n(e){return e.every(e=>"done"===e)?"done":e.some(e=>"other"!==e)?"in-progress":"planned"}e.s(["dueState",0,t,"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,s,a){let r={},l=[];for(let n of e)n.due&&"overdue"===t(n.due,n.status,a)&&l.push({id:n.id,kind:"overdue",message:`${n.id} "${n.title}" is overdue since ${n.due}`});let i=new Set(e.filter(e=>null===e.parent).map(e=>e.id));for(let i of e){if(null===i.parent)continue;let e=i.tasks.filter(e=>!(e in s));e.length&&l.push({id:i.id,kind:"missing-task",message:`${i.id} links unknown task ${e.join(", ")}`});let o=i.tasks.filter(e=>e in s&&"cancelled"!==s[e].status),d="done"===i.status||"paused"===i.status?[]:function(e,n,s,a){let r=[];for(let e of n){let t=s[e];"done"!==t.status&&t.due&&t.due<a&&r.push(`${e} overdue since ${t.due}`),"blocked"===t.status&&r.push(`${e} blocked`)}let l=n.some(e=>["done","in-progress","review"].includes(s[e].status));return e.due&&"soon"===t(e.due,e.status,a)&&!l&&r.push(`due ${e.due}, nothing started`),r}(i,o,s,a);if(d.length&&l.push({id:i.id,kind:"at-risk",message:`${i.id} "${i.title}" at risk: ${d.join("; ")}`}),!o.length)continue;let u=o.map(e=>"done"===s[e].status?"done":"in-progress"===s[e].status||"review"===s[e].status?"in-progress":"other");r[i.id]={done:u.filter(e=>"done"===e).length,total:o.length};let c=n(u);if(c!==i.status&&("paused"!==i.status||"done"===c)){let e=o.filter(e=>"done"!==s[e].status);l.push({id:i.id,kind:"status-mismatch",message:"done"===c?`${i.id} "${i.title}": all tasks done but status is ${i.status}`:`${i.id} "${i.title}" is ${i.status} but tasks ${e.join(", ")} are not done`,suggestedStatus:c})}}for(let t of e){if(!i.has(t.id))continue;let s=e.filter(e=>e.parent===t.id);if(!s.length)continue;let a=s.map(e=>"done"===e.status?"done":"in-progress"===e.status?"in-progress":"other");r[t.id]=s.reduce((e,t)=>{let n=r[t.id]??{done:+("done"===t.status),total:1};return{done:e.done+n.done,total:e.total+n.total}},{done:0,total:0});let o=n(a);o!==t.status&&("paused"!==t.status||"done"===o)&&l.push({id:t.id,kind:"status-mismatch",message:`${t.id} "${t.title}" is ${t.status} but its features say ${o}`,suggestedStatus:o})}return{progress:r,drift:l}},"taskDueSummary",0,function(e,t,n){let s=e.map(e=>t[e]).filter(e=>e&&e.due&&"done"!==e.status&&"cancelled"!==e.status).map(e=>e.due);if(!s.length)return null;let a=s.filter(e=>e>=n).sort();return{overdue:s.length-a.length,next:a[0]??null}}],692172);function s(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 a(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,"childrenOf",0,a,"resolvePositions",0,function(e,t){let n={},r=0;for(let l of s(e)){let s=t[l.id]??{x:0,y:r};n[l.id]=s;let i=null===l.parent?a(e,l.id):[],o=Math.ceil(i.length/2)>6?2:1;i.forEach((e,a)=>{let r=a%2==0?1:-1,l=Math.floor(a/2),i=l%o,d=Math.floor(l/o);n[e.id]=t[e.id]??{x:s.x+20+r*(340+260*i),y:s.y+110*d+55*i}}),r+=110*Math.max(1,Math.ceil(Math.ceil(i.length/2)/o))+90}return n},"spineItems",0,s],640818);let r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],l=e=>({y:+e.slice(0,4),m:+e.slice(5,7),day:+e.slice(8,10)});e.s(["LANE_ROW_H",0,44,"buildTimeline",0,function(e,n){let i=e.map(e=>e.due).filter(e=>!!e),o=l([n,...i].sort()[0]),d=l([n,...i].sort().at(-1)??n),u={y:o.y,m:o.m-1},c=Math.max(6,(d.y-o.y)*12+(d.m-o.m)+3),x=Array.from({length:c},(e,t)=>{let n=12*u.y+(u.m-1)+t,s=Math.floor(n/12),a=n%12+1;return{y:s,m:a,label:1===a||0===t?`${r[a-1]} ${s}`:r[a-1],x:160*t}}),p=e=>{let{y:t,m:n,day:s}=l(e);return((t-x[0].y)*12+(n-x[0].m))*160+(s-.5)/new Date(t,n,0).getDate()*160},m=s(e).map(s=>{let r=[s,...null===s.parent?a(e,s.id):[]].filter(e=>e.due),l=[],i=r.map(e=>({item:e,x:p(e.due),horizon:e.id===s.id})).sort((e,t)=>e.x-t.x).map(e=>{let s=l.findIndex(t=>e.x>=t);return -1===s&&(s=l.push(0)-1),l[s]=e.x+180,{...e,row:s,state:t(e.item.due,e.item.status,n)}});return{item:s,rows:Math.max(1,l.length),markers:i}});return{months:x.map(({label:e,x:t})=>({label:e,x:t})),width:160*c,todayX:p(n),lanes:m,undated:e.filter(e=>!e.due&&"done"!==e.status)}},"formatDay",0,function(e){let{m:t,day:n}=l(e);return`${n} ${r[t-1]}`}],450768)},635743,e=>{"use strict";var t=e.i(72345),n=e.i(975157);e.s(["EmptyState",0,function({icon:e,message:s,subMessage:a,bordered:r}){return(0,t.jsxs)("div",{className:(0,n.cn)("text-center py-16 text-muted text-sm",r&&"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}),a&&(0,t.jsx)("p",{className:"text-xs mt-1",children:a})]})}])},65112,e=>{"use strict";var t=e.i(72345),n=e.i(180338),s=e.i(837001),a=e.i(755146),r=e.i(975157);let l=e=>e.stopPropagation(),i="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";e.s(["InlineDate",0,function({label:e,value:s,onChange:a,children:o,className:d}){let[u,c]=(0,n.useState)(!1),[x,p]=(0,n.useState)(s??""),m=()=>{c(!1),(x||null)!==s&&a(x||null)};return u?(0,t.jsx)("input",{type:"date",autoFocus:!0,"aria-label":e,value:x,onChange:e=>p(e.target.value),onClick:l,onPointerDown:l,onKeyDown:e=>{l(e),"Enter"===e.key&&(e.preventDefault(),m()),"Escape"===e.key&&(e.preventDefault(),c(!1))},onBlur:m,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,t.jsx)("button",{type:"button","aria-label":e,draggable:!1,onClick:e=>{l(e),p(s??""),c(!0)},onKeyDown:l,className:(0,r.cn)(i,d),children:o})},"InlineSelect",0,function({label:e,value:n,options:o,onChange:d,children:u,className:c}){return(0,t.jsxs)(a.DropdownMenu,{children:[(0,t.jsx)(a.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":e,draggable:!1,onClick:l,onKeyDown:l,onPointerDown:l,className:(0,r.cn)(i,c),children:u})}),(0,t.jsx)(a.DropdownMenuContent,{align:"start",className:"max-h-72 w-48 overflow-y-auto",onClick:l,onKeyDown:l,children:o.map(e=>(0,t.jsxs)(a.DropdownMenuItem,{onSelect:()=>{e.value!==n&&d(e.value)},children:[e.node??e.label,e.value===n&&(0,t.jsx)(s.Check,{className:"ml-auto size-3.5 text-muted","aria-hidden":!0})]},e.value))})]})}])},35032,222581,e=>{"use strict";var t=e.i(72345),n=e.i(479432),s=e.i(343253),a=e.i(975157);function r(e){return"human"===e?"human":e?.startsWith("ai:")?"ai":"none"}function l(e){return"human"===e?"Human":e?.startsWith("ai:")?e.slice(3):"No owner"}e.s(["ownerKind",0,r,"ownerLabel",0,l],222581),e.s(["OwnerChip",0,function({owner:e,className:i}){let o=r(e);if("none"===o)return null;let d="ai"===o?n.Bot:s.User;return(0,t.jsxs)("span",{title:`Owner: ${l(e)}`,className:(0,a.cn)("inline-flex items-center gap-1 text-[11px] text-muted",i),children:[(0,t.jsx)(d,{className:(0,a.cn)("size-3.5 shrink-0","ai"===o&&"text-accent"),"aria-hidden":!0}),l(e)]})}],35032)}]);
@@ -0,0 +1 @@
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,4 +1,4 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,732460,e=>{"use strict";var t=e.i(83790);let i={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"}]]};i.node;let n=(0,t.default)(i);e.s(["BookOpen",0,n],732460)},161863,e=>{"use strict";var t=e.i(83790);let i={name:"search",size:24,node:[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]};i.node;let n=(0,t.default)(i);e.s(["Search",0,n],161863)},649021,e=>{"use strict";let t=[{id:"claude-md",name:"CLAUDE.md",description:"AI agent instructions for Claude Code",defaultPath:"CLAUDE.md",category:"ai-agent",content:`# {{PROJECT_NAME}} — Agent Instructions
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,979400,e=>{"use strict";var t=e.i(83790);let r={name:"chevrons-up-down",size:24,node:[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]};r.node;let o=(0,t.default)(r);e.s(["ChevronsUpDown",0,o],979400)},609617,e=>{"use strict";var t=e.i(83790);let r={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};r.node;let o=(0,t.default)(r);e.s(["Copy",0,o],609617)},763305,759684,e=>{"use strict";var t=e.i(83790);let r={name:"folder-open",size:24,node:[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]};r.node;let o=(0,t.default)(r);e.s(["FolderOpen",0,o],763305);var n=e.i(72345),i=e.i(180338),s=e.i(978238),a=e.i(997611),l=e.i(264145),c=e.i(166100),d=e.i(232253),u=e.i(900877),p=e.i(44532);function m(e,[t,r]){return Math.min(r,Math.max(t,e))}(0,Object.defineProperty)(m,"name",{value:"clamp",configurable:!0});var h=e.i(543836),g=Object.defineProperty,f=(e,t)=>g(e,"name",{value:t,configurable:!0});function y(e,t){return i.useReducer((e,r)=>t[e][r]??e,e)}f(y,"useStateMachine");var v="ScrollArea",[b,w]=(0,l.createContextScope)(v),[x,C]=b(v),E=i.forwardRef(f(function(e,t){let{__scopeScrollArea:r,type:o="hover",dir:a,scrollHideDelay:l=600,...d}=e,[p,m]=i.useState(null),[h,g]=i.useState(null),[f,y]=i.useState(null),[v,b]=i.useState(null),[w,C]=i.useState(null),[E,R]=i.useState(0),[S,T]=i.useState(0),[P,A]=i.useState(!1),[k,_]=i.useState(!1),D=(0,c.useComposedRefs)(t,m),N=(0,u.useDirection)(a);return(0,n.jsx)(x,{scope:r,type:o,dir:N,scrollHideDelay:l,scrollArea:p,viewport:h,onViewportChange:g,content:f,onContentChange:y,scrollbarX:v,onScrollbarXChange:b,scrollbarXEnabled:P,onScrollbarXEnabledChange:A,scrollbarY:w,onScrollbarYChange:C,scrollbarYEnabled:k,onScrollbarYEnabledChange:_,onCornerWidthChange:R,onCornerHeightChange:T,children:(0,n.jsx)(s.Primitive.div,{dir:N,...d,ref:D,style:{position:"relative","--radix-scroll-area-corner-width":E+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})},"ScrollArea")),R=i.forwardRef(f(function(e,t){let{__scopeScrollArea:r,children:o,nonce:a,...l}=e,d=C("ScrollAreaViewport",r),u=i.useRef(null),p=(0,c.useComposedRefs)(t,u,d.onViewportChange);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(S,{nonce:a}),(0,n.jsx)(s.Primitive.div,{"data-radix-scroll-area-viewport":"",...l,ref:p,style:{overflowX:d.scrollbarXEnabled?"scroll":"hidden",overflowY:d.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,n.jsx)("div",{ref:d.onContentChange,style:{minWidth:"100%",display:"table"},children:o})})]})},"ScrollAreaViewport")),S=i.memo(f(function({nonce:e}){return(0,n.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:e})},"ScrollAreaViewportStyle"),(e,t)=>e.nonce===t.nonce),T="ScrollAreaScrollbar",P=i.forwardRef(f(function(e,t){let{forceMount:r,...o}=e,s=C(T,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:l}=s,c="horizontal"===e.orientation;return i.useEffect(()=>(c?a(!0):l(!0),()=>{c?a(!1):l(!1)}),[c,a,l]),"hover"===s.type?(0,n.jsx)(A,{...o,ref:t,forceMount:r}):"scroll"===s.type?(0,n.jsx)(k,{...o,ref:t,forceMount:r}):"auto"===s.type?(0,n.jsx)(_,{...o,ref:t,forceMount:r}):"always"===s.type?(0,n.jsx)(D,{...o,ref:t,"data-state":"visible"}):null},"ScrollAreaScrollbar")),A=i.forwardRef(f(function(e,t){let{forceMount:r,...o}=e,s=C(T,e.__scopeScrollArea),[l,c]=i.useState(!1);return i.useEffect(()=>{let e=s.scrollArea,t=0;if(e){let r=f(()=>{window.clearTimeout(t),c(!0)},"handlePointerEnter"),o=f(()=>{t=window.setTimeout(()=>c(!1),s.scrollHideDelay)},"handlePointerLeave");return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",o),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",o)}}},[s.scrollArea,s.scrollHideDelay]),(0,n.jsx)(a.Presence,{present:r||l,children:(0,n.jsx)(_,{"data-state":l?"visible":"hidden",...o,ref:t})})},"ScrollAreaScrollbarHover")),k=i.forwardRef(f(function(e,t){let{forceMount:r,...o}=e,s=C(T,e.__scopeScrollArea),l="horizontal"===e.orientation,c=X(()=>u("SCROLL_END"),100),[d,u]=y("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return i.useEffect(()=>{if("idle"===d){let e=window.setTimeout(()=>u("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(e)}},[d,s.scrollHideDelay,u]),i.useEffect(()=>{let e=s.viewport,t=l?"scrollLeft":"scrollTop";if(e){let r=e[t],o=f(()=>{let o=e[t];r!==o&&(u("SCROLL"),c()),r=o},"handleScroll");return e.addEventListener("scroll",o),()=>e.removeEventListener("scroll",o)}},[s.viewport,l,u,c]),(0,n.jsx)(a.Presence,{present:r||"hidden"!==d,children:(0,n.jsx)(D,{"data-state":"hidden"===d?"hidden":"visible",...o,ref:t,onPointerEnter:(0,h.composeEventHandlers)(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:(0,h.composeEventHandlers)(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})},"ScrollAreaScrollbarScroll")),_=i.forwardRef(f(function(e,t){let r=C(T,e.__scopeScrollArea),{forceMount:o,...s}=e,[l,c]=i.useState(!1),d="horizontal"===e.orientation,u=X(()=>{if(r.viewport){let e=r.viewport.offsetWidth<r.viewport.scrollWidth,t=r.viewport.offsetHeight<r.viewport.scrollHeight;c(d?e:t)}},10);return Q(r.viewport,u),Q(r.content,u),(0,n.jsx)(a.Presence,{present:o||l,children:(0,n.jsx)(D,{"data-state":l?"visible":"hidden",...s,ref:t})})},"ScrollAreaScrollbarAuto")),D=i.forwardRef(f(function(e,t){let{orientation:r="vertical",...o}=e,s=C(T,e.__scopeScrollArea),a=i.useRef(null),l=i.useRef(0),[c,d]=i.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=q(c.viewport,c.content),p={...o,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:f(e=>a.current=e,"onThumbChange"),onThumbPointerUp:f(()=>l.current=0,"onThumbPointerUp"),onThumbPointerDown:f(e=>l.current=e,"onThumbPointerDown")};function m(e,t){return Y(e,l.current,c,t)}return(f(m,"getScrollPosition"),"horizontal"===r)?(0,n.jsx)(N,{...p,ref:t,onThumbPositionChange:()=>{if(s.viewport&&a.current){let e=K(s.viewport.scrollLeft,c,s.dir);a.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{s.viewport&&(s.viewport.scrollLeft=e)},onDragScroll:e=>{s.viewport&&(s.viewport.scrollLeft=m(e,s.dir))}}):"vertical"===r?(0,n.jsx)(I,{...p,ref:t,onThumbPositionChange:()=>{if(s.viewport&&a.current){let e=K(s.viewport.scrollTop,c);a.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{s.viewport&&(s.viewport.scrollTop=e)},onDragScroll:e=>{s.viewport&&(s.viewport.scrollTop=m(e))}}):null},"ScrollAreaScrollbarVisible")),N=i.forwardRef(f(function(e,t){let{sizes:r,onSizesChange:o,...s}=e,a=C(T,e.__scopeScrollArea),[l,d]=i.useState(),u=i.useRef(null),p=(0,c.useComposedRefs)(t,u,a.onScrollbarXChange);return i.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,n.jsx)(j,{"data-orientation":"horizontal",...s,ref:p,sizes:r,style:{bottom:0,left:"rtl"===a.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===a.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":z(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(a.viewport){let o=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(o),J(o,r)&&t.preventDefault()}},onResize:()=>{u.current&&a.viewport&&l&&o({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:G(l.paddingLeft),paddingEnd:G(l.paddingRight)}})}})},"ScrollAreaScrollbarX")),I=i.forwardRef(f(function(e,t){let{sizes:r,onSizesChange:o,...s}=e,a=C(T,e.__scopeScrollArea),[l,d]=i.useState(),u=i.useRef(null),p=(0,c.useComposedRefs)(t,u,a.onScrollbarYChange);return i.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,n.jsx)(j,{"data-orientation":"vertical",...s,ref:p,sizes:r,style:{top:0,right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":z(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(a.viewport){let o=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(o),J(o,r)&&t.preventDefault()}},onResize:()=>{u.current&&a.viewport&&l&&o({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:G(l.paddingTop),paddingEnd:G(l.paddingBottom)}})}})},"ScrollAreaScrollbarY")),[O,L]=b(T),j=i.forwardRef(f(function(e,t){let{__scopeScrollArea:r,sizes:o,hasThumb:a,onThumbChange:l,onThumbPointerUp:u,onThumbPointerDown:p,onThumbPositionChange:m,onDragScroll:g,onWheelScroll:y,onResize:v,...b}=e,w=C(T,r),[x,E]=i.useState(null),R=(0,c.useComposedRefs)(t,E),S=i.useRef(null),P=i.useRef(""),A=w.viewport,k=o.content-o.viewport,_=(0,d.useCallbackRef)(y),D=(0,d.useCallbackRef)(m),N=X(v,10);function I(e){S.current&&g({x:e.clientX-S.current.left,y:e.clientY-S.current.top})}return f(I,"handleDragScroll"),i.useEffect(()=>{let e=f(e=>{let t=e.target;x?.contains(t)&&_(e,k)},"handleWheel");return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[A,x,k,_]),i.useEffect(D,[o,D]),Q(x,N),Q(w.content,N),(0,n.jsx)(O,{scope:r,scrollbar:x,hasThumb:a,onThumbChange:(0,d.useCallbackRef)(l),onThumbPointerUp:(0,d.useCallbackRef)(u),onThumbPositionChange:D,onThumbPointerDown:(0,d.useCallbackRef)(p),children:(0,n.jsx)(s.Primitive.div,{...b,ref:R,style:{position:"absolute",...b.style},onPointerDown:(0,h.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),S.current=x.getBoundingClientRect(),P.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",w.viewport&&(w.viewport.style.scrollBehavior="auto"),I(e))}),onPointerMove:(0,h.composeEventHandlers)(e.onPointerMove,I),onPointerUp:(0,h.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=P.current,w.viewport&&(w.viewport.style.scrollBehavior=""),S.current=null})})})},"ScrollAreaScrollbarImpl")),M="ScrollAreaThumb",H=i.forwardRef(f(function(e,t){let{forceMount:r,...o}=e,i=L(M,e.__scopeScrollArea);return(0,n.jsx)(a.Presence,{present:r||i.hasThumb,children:(0,n.jsx)(U,{ref:t,...o})})},"ScrollAreaThumb")),U=i.forwardRef(f(function(e,t){let{__scopeScrollArea:r,style:o,...a}=e,l=C(M,r),d=L(M,r),{onThumbPositionChange:u}=d,p=(0,c.useComposedRefs)(t,d.onThumbChange),m=i.useRef(void 0),g=X(()=>{m.current&&(m.current(),m.current=void 0)},100);return i.useEffect(()=>{let e=l.viewport;if(e){let t=f(()=>{g(),m.current||(m.current=$(e,u),u())},"handleScroll");return u(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[l.viewport,g,u]),(0,n.jsx)(s.Primitive.div,{"data-state":d.hasThumb?"visible":"hidden",...a,ref:p,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...o},onPointerDownCapture:(0,h.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,o=e.clientY-t.top;d.onThumbPointerDown({x:r,y:o})}),onPointerUp:(0,h.composeEventHandlers)(e.onPointerUp,d.onThumbPointerUp)})},"ScrollAreaThumbImpl")),W="ScrollAreaCorner",B=i.forwardRef(f(function(e,t){let r=C(W,e.__scopeScrollArea),o=!!(r.scrollbarX&&r.scrollbarY);return"scroll"!==r.type&&o?(0,n.jsx)(F,{...e,ref:t}):null},"ScrollAreaCorner")),F=i.forwardRef(f(function(e,t){let{__scopeScrollArea:r,...o}=e,a=C(W,r),[l,c]=i.useState(0),[d,u]=i.useState(0),p=!!(l&&d),{onCornerWidthChange:m,onCornerHeightChange:h}=a;return Q(a.scrollbarX,()=>{let e=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(e),u(e)}),Q(a.scrollbarY,()=>{let e=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(e),c(e)}),i.useEffect(()=>()=>{m(0),h(0)},[m,h]),p?(0,n.jsx)(s.Primitive.div,{...o,ref:t,style:{width:l,height:d,position:"absolute",right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:0,...e.style}}):null},"ScrollAreaCornerImpl"));function G(e){return e?parseInt(e,10):0}function q(e,t){let r=e/t;return isNaN(r)?0:r}function z(e){let t=q(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function Y(e,t,r,o="ltr"){let n=z(r),i=t||n/2,s=r.scrollbar.paddingStart+i,a=r.scrollbar.size-r.scrollbar.paddingEnd-(n-i),l=r.content-r.viewport;return V([s,a],"ltr"===o?[0,l]:[-1*l,0])(e)}function K(e,t,r="ltr"){let o=z(t),n=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-n,s=t.content-t.viewport,a=m(e,"ltr"===r?[0,s]:[-1*s,0]);return V([0,s],[0,i-o])(a)}function V(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let o=(t[1]-t[0])/(e[1]-e[0]);return t[0]+o*(r-e[0])}}function J(e,t){return e>0&&e<t}f(G,"toInt"),f(q,"getThumbRatio"),f(z,"getThumbSize"),f(Y,"getScrollPositionFromPointer"),f(K,"getThumbOffsetFromScroll"),f(V,"linearScale"),f(J,"isScrollingWithinScrollbarBounds");var $=f((e,t=()=>{})=>(e.scrollLeft,e.scrollTop,()=>window.cancelAnimationFrame(0)),"addUnlinkedScrollListener");function X(e,t){let r=(0,d.useCallbackRef)(e),o=i.useRef(0);return i.useEffect(()=>()=>window.clearTimeout(o.current),[]),i.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(r,t)},[r,t])}function Q(e,t){let r=(0,d.useCallbackRef)(t);(0,p.useLayoutEffect)(()=>{let t=0;if(e){let o=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(t),o.unobserve(e)}}},[e,r])}f(X,"useDebounceCallback"),f(Q,"useResizeObserver");var Z=e.i(975157);let ee=i.forwardRef(({className:e,children:t,...r},o)=>(0,n.jsxs)(E,{ref:o,className:(0,Z.cn)("relative overflow-hidden",e),...r,children:[(0,n.jsx)(R,{className:"h-full w-full rounded-[inherit]",children:t}),(0,n.jsx)(et,{}),(0,n.jsx)(B,{})]}));ee.displayName=E.displayName;let et=i.forwardRef(({className:e,orientation:t="vertical",...r},o)=>(0,n.jsx)(P,{ref:o,orientation:t,className:(0,Z.cn)("flex touch-none select-none transition-colors","vertical"===t&&"h-full w-2.5 border-l border-l-transparent p-px","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent p-px",e),...r,children:(0,n.jsx)(H,{className:"relative flex-1 rounded-full bg-border2"})}));et.displayName=P.displayName,e.s(["ScrollArea",0,ee],759684)},91881,e=>{"use strict";var t=e.i(72345),r=e.i(180338),o=e.i(406952),n=e.i(83790);let i={name:"arrow-left",size:24,node:[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]};i.node;let s=(0,n.default)(i);var a=e.i(975157),l=e.i(776639),c=e.i(519455),d=e.i(793479),u=e.i(759684),p=e.i(649021);e.s(["NewDocModal",0,function({open:e,onOpenChange:n,rootParam:i,onDocCreated:m}){let[h,g]=(0,r.useState)(1),[f,y]=(0,r.useState)(null),[v,b]=(0,r.useState)(""),[w,x]=(0,r.useState)(""),[C,E]=(0,r.useState)(!1);async function R(){if(f&&v.trim()){x(""),E(!0);try{let e=await fetch(`/api/docs${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:v.trim(),content:f.content})});if(409===e.status){x("File already exists"),E(!1);return}if(!e.ok){let t=await e.json();x(t.error||"Failed to create file"),E(!1);return}n(!1),m(v.trim())}catch{x("Network error"),E(!1)}}}return(0,r.useEffect)(()=>{e&&(g(1),y(null),b(""),x(""),E(!1))},[e]),(0,t.jsx)(l.Dialog,{open:e,onOpenChange:n,children:(0,t.jsxs)(l.DialogContent,{className:"max-w-2xl bg-surface border-border",children:[(0,t.jsx)(l.DialogHeader,{children:(0,t.jsx)(l.DialogTitle,{className:"text-txt text-sm font-semibold",children:1===h?"Choose a template":"Confirm file path"})}),1===h&&(0,t.jsx)(u.ScrollArea,{className:"max-h-[420px]",children:(0,t.jsx)("div",{className:"grid grid-cols-3 gap-2 p-1",children:p.TEMPLATES.map(e=>(0,t.jsxs)("button",{onClick:()=>{y(e),b(e.defaultPath),x(""),g(2)},className:(0,a.cn)("flex flex-col items-start gap-1.5 p-3 rounded-lg border border-border text-left","bg-surface2 hover:bg-surface2/80 hover:border-accent/50 transition-colors"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.FileText,{className:"h-3.5 w-3.5 text-accent shrink-0"}),(0,t.jsx)("span",{className:"text-xs font-medium text-txt",children:e.name})]}),(0,t.jsx)("p",{className:"text-[11px] text-muted leading-relaxed",children:e.description}),(0,t.jsx)("p",{className:"text-[10px] text-muted/60 font-mono truncate w-full",children:e.defaultPath})]},e.id))})}),2===h&&f&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-surface2 border border-border",children:[(0,t.jsx)(o.FileText,{className:"h-4 w-4 text-accent shrink-0 mt-0.5"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-medium text-txt",children:f.name}),(0,t.jsx)("p",{className:"text-[11px] text-muted mt-0.5",children:f.description})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-[11px] font-medium text-muted uppercase tracking-wider",children:"File path"}),(0,t.jsx)(d.Input,{autoFocus:!0,value:v,onChange:e=>{b(e.target.value),x("")},onKeyDown:e=>{"Enter"===e.key&&R()},placeholder:"docs/my-document.md",className:"h-8 text-xs bg-surface2 border-border font-mono"}),w&&(0,t.jsx)("p",{className:"text-[11px] text-red-400",children:w})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between pt-1",children:[(0,t.jsxs)(c.Button,{variant:"ghost",size:"sm",onClick:()=>g(1),className:"h-7 text-xs text-muted hover:text-txt gap-1.5",children:[(0,t.jsx)(s,{className:"h-3 w-3"}),"Back"]}),(0,t.jsx)(c.Button,{size:"sm",onClick:R,disabled:C||!v.trim(),className:"h-7 text-xs bg-accent hover:bg-accent/90 text-accent-fg",children:C?"Creating…":"Create"})]})]})]})})}],91881)},519455,e=>{"use strict";var t=e.i(72345),r=e.i(180338),o=e.i(617739),n=e.i(294237),i=e.i(975157);let s=(0,n.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-bg transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-accent text-accent-fg hover:bg-accent/90",destructive:"bg-danger text-destructive-foreground hover:bg-danger/90",outline:"border border-border bg-bg hover:bg-surface2 hover:text-txt",secondary:"bg-surface2 text-txt hover:bg-surface2/80",ghost:"hover:bg-surface2 hover:text-txt",link:"text-txt underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),a=r.forwardRef(({className:e,variant:r,size:n,asChild:a=!1,...l},c)=>{let d=a?o.Slot:"button";return(0,t.jsx)(d,{className:(0,i.cn)(s({variant:r,size:n,className:e})),ref:c,...l})});a.displayName="Button",e.s(["Button",0,a])},776639,e=>{"use strict";var t=e.i(72345),r=e.i(180338),o=e.i(287272),n=e.i(765470),i=e.i(975157);let s=o.Root;o.Trigger;let a=o.Portal;o.Close;let l=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(o.Overlay,{ref:n,className:(0,i.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...r}));l.displayName=o.Overlay.displayName;let c=r.forwardRef(({className:e,children:r,...s},c)=>(0,t.jsxs)(a,{children:[(0,t.jsx)(l,{}),(0,t.jsxs)(o.Content,{ref:c,className:(0,i.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-surface p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...s,children:[r,(0,t.jsxs)(o.Close,{className:"absolute right-4 top-4 rounded-xs opacity-70 ring-offset-bg transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-accent focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-surface2 data-[state=open]:text-muted",children:[(0,t.jsx)(n.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));c.displayName=o.Content.displayName;let d=({className:e,...r})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...r});d.displayName="DialogHeader";let u=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(o.Title,{ref:n,className:(0,i.cn)("text-lg font-semibold leading-none tracking-tight",e),...r}));u.displayName=o.Title.displayName,r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(o.Description,{ref:n,className:(0,i.cn)("text-sm text-muted",e),...r})).displayName=o.Description.displayName,e.s(["Dialog",0,s,"DialogContent",0,c,"DialogHeader",0,d,"DialogTitle",0,u])},793479,e=>{"use strict";var t=e.i(72345),r=e.i(180338),o=e.i(975157);let n=r.forwardRef(({className:e,type:r,...n},i)=>(0,t.jsx)("input",{type:r,className:(0,o.cn)("flex h-10 w-full rounded-md border border-border bg-bg px-3 py-2 text-base ring-offset-bg file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-txt placeholder:text-muted focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:i,...n}));n.displayName="Input",e.s(["Input",0,n])},772436,e=>{"use strict";var t=e.i(72345),r=e.i(180338),o=e.i(978238),n=Object.defineProperty,i=(e,t)=>n(e,"name",{value:t,configurable:!0}),s="horizontal",a=["horizontal","vertical"],l=r.forwardRef(i(function(e,r){let{decorative:n,orientation:i=s,...a}=e,l=c(i)?i:s;return(0,t.jsx)(o.Primitive.div,{"data-orientation":l,...n?{role:"none"}:{"aria-orientation":"vertical"===l?l:void 0,role:"separator"},...a,ref:r})},"Separator"));function c(e){return a.includes(e)}i(c,"isValidOrientation");var d=e.i(975157);let u=r.forwardRef(({className:e,orientation:r="horizontal",decorative:o=!0,...n},i)=>(0,t.jsx)(l,{ref:i,decorative:o,orientation:r,className:(0,d.cn)("shrink-0 bg-border","horizontal"===r?"h-px w-full":"h-full w-px",e),...n}));u.displayName=l.displayName,e.s(["Separator",0,u],772436)},746798,e=>{"use strict";var t=e.i(72345),r=e.i(180338),o=e.i(543836),n=e.i(166100),i=e.i(264145),s=e.i(296113),a=e.i(432567),l=e.i(212534),c=(e.i(21738),e.i(997611)),d=e.i(978238),u=e.i(617739),p=e.i(315671),m=e.i(44532),h=Object.defineProperty,g=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),f=r.forwardRef(h(function(e,r){return(0,t.jsx)(d.Primitive.span,{...e,ref:r,style:{...g,...e.style}})},"name",{value:"VisuallyHidden",configurable:!0})),y=Object.defineProperty,v=(e,t)=>y(e,"name",{value:t,configurable:!0}),[b,w]=(0,i.createContextScope)("Tooltip",[l.createPopperScope]),x=(0,l.createPopperScope)(),C="tooltip.open",[E,R]=b("TooltipProvider"),S=v(e=>{let{__scopeTooltip:o,delayDuration:n=700,skipDelayDuration:i=300,disableHoverableContent:s=!1,children:a}=e,l=r.useRef(!0),c=r.useRef(!1),d=r.useRef(0);return r.useEffect(()=>{let e=d.current;return()=>window.clearTimeout(e)},[]),(0,t.jsx)(E,{scope:o,isOpenDelayedRef:l,delayDuration:n,onOpen:r.useCallback(()=>{i<=0||(window.clearTimeout(d.current),l.current=!1)},[i]),onClose:r.useCallback(()=>{i<=0||(window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.current=!0,i))},[i]),isPointerInTransitRef:c,onPointerInTransitChange:r.useCallback(e=>{c.current=e},[]),disableHoverableContent:s,children:a})},"TooltipProvider"),T="Tooltip",[P,A]=b(T),k=v(e=>{let{__scopeTooltip:o,children:n,open:i,defaultOpen:s,onOpenChange:c,disableHoverableContent:d,delayDuration:u}=e,m=R(T,e.__scopeTooltip),h=x(o),[g,f]=r.useState(null),[y,b]=r.useState(void 0),w=(0,a.useId)(),E=r.useRef(0),S=d??m.disableHoverableContent,A=u??m.delayDuration,k=r.useRef(!1),[_,D]=(0,p.useControllableState)({prop:i,defaultProp:s??!1,onChange:v(e=>{e?(m.onOpen(),document.dispatchEvent(new CustomEvent(C))):m.onClose(),c?.(e)},"onChange"),caller:T}),N=r.useMemo(()=>_?k.current?"delayed-open":"instant-open":"closed",[_]),I=r.useCallback(()=>{window.clearTimeout(E.current),E.current=0,k.current=!1,D(!0)},[D]),O=r.useCallback(()=>{window.clearTimeout(E.current),E.current=0,D(!1)},[D]),L=r.useCallback(()=>{window.clearTimeout(E.current),E.current=window.setTimeout(()=>{k.current=!0,D(!0),E.current=0},A)},[A,D]);return r.useEffect(()=>()=>{E.current&&(window.clearTimeout(E.current),E.current=0)},[]),(0,t.jsx)(l.Root,{...h,children:(0,t.jsx)(P,{scope:o,contentId:y??w,setContentId:b,open:_,stateAttribute:N,trigger:g,onTriggerChange:f,onTriggerEnter:r.useCallback(()=>{m.isOpenDelayedRef.current?L():I()},[m.isOpenDelayedRef,L,I]),onTriggerLeave:r.useCallback(()=>{S?O():(window.clearTimeout(E.current),E.current=0)},[O,S]),onOpen:I,onClose:O,disableHoverableContent:S,children:n})})},"Tooltip"),_="TooltipTrigger",D=r.forwardRef(v(function(e,i){let{__scopeTooltip:s,...a}=e,c=A(_,s),u=R(_,s),p=x(s),m=r.useRef(null),h=(0,n.useComposedRefs)(i,m,c.onTriggerChange),g=r.useRef(!1),f=r.useRef(!1),y=r.useCallback(()=>g.current=!1,[]);return r.useEffect(()=>()=>document.removeEventListener("pointerup",y),[y]),(0,t.jsx)(l.Anchor,{asChild:!0,...p,children:(0,t.jsx)(d.Primitive.button,{"aria-describedby":c.open?c.contentId:void 0,"data-state":c.stateAttribute,...a,ref:h,onPointerMove:(0,o.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(f.current||u.isPointerInTransitRef.current||(c.onTriggerEnter(),f.current=!0))}),onPointerLeave:(0,o.composeEventHandlers)(e.onPointerLeave,()=>{c.onTriggerLeave(),f.current=!1}),onPointerDown:(0,o.composeEventHandlers)(e.onPointerDown,()=>{c.open&&c.onClose(),g.current=!0,document.addEventListener("pointerup",y,{once:!0})}),onFocus:(0,o.composeEventHandlers)(e.onFocus,()=>{g.current||c.onOpen()}),onBlur:(0,o.composeEventHandlers)(e.onBlur,c.onClose),onClick:(0,o.composeEventHandlers)(e.onClick,c.onClose)})})},"TooltipTrigger")),[N,I]=b("TooltipPortal",{forceMount:void 0}),O="TooltipContent",L=r.forwardRef(v(function(e,r){let o=I(O,e.__scopeTooltip),{forceMount:n=o.forceMount,side:i="top",...s}=e,a=A(O,e.__scopeTooltip);return(0,t.jsx)(c.Presence,{present:n||a.open,children:a.disableHoverableContent?(0,t.jsx)(H,{side:i,...s,ref:r}):(0,t.jsx)(j,{side:i,...s,ref:r})})},"TooltipContent")),j=r.forwardRef(v(function(e,o){let i=A(O,e.__scopeTooltip),s=R(O,e.__scopeTooltip),a=r.useRef(null),l=(0,n.useComposedRefs)(o,a),[c,d]=r.useState(null),{trigger:u,onClose:p}=i,m=a.current,{onPointerInTransitChange:h}=s,g=r.useCallback(()=>{d(null),h(!1)},[h]),f=r.useCallback((e,t)=>{let r=e.currentTarget,o={x:e.clientX,y:e.clientY},n=U(o,r.getBoundingClientRect());d(G([...W(o,n),...B(t.getBoundingClientRect())])),h(!0)},[h]);return r.useEffect(()=>()=>g(),[g]),r.useEffect(()=>{if(u&&m){let e=v(e=>f(e,m),"handleTriggerLeave"),t=v(e=>f(e,u),"handleContentLeave");return u.addEventListener("pointerleave",e),m.addEventListener("pointerleave",t),()=>{u.removeEventListener("pointerleave",e),m.removeEventListener("pointerleave",t)}}},[u,m,f,g]),r.useEffect(()=>{if(c){let e=v(e=>{let t=e.target,r={x:e.clientX,y:e.clientY},o=u?.contains(t)||m?.contains(t),n=!F(r,c);o?g():n&&(g(),p())},"handleTrackPointerGrace");return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[u,m,c,p,g]),(0,t.jsx)(H,{...e,ref:l})},"TooltipContentHoverable")),M=(0,u.createSlottable)("TooltipContent"),H=r.forwardRef(v(function(e,o){let{__scopeTooltip:n,children:i,"aria-label":a,id:c,onEscapeKeyDown:d,onPointerDownOutside:u,...p}=e,h=A(O,n),g=x(n),{onClose:y}=h;r.useEffect(()=>(document.addEventListener(C,y),()=>document.removeEventListener(C,y)),[y]),r.useEffect(()=>{if(h.trigger){let e=v(e=>{e.target instanceof Node&&e.target.contains(h.trigger)&&y()},"handleScroll");return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[h.trigger,y]);let{setContentId:b}=h;return(0,m.useLayoutEffect)(()=>(b(c),()=>{b(void 0)}),[c,b]),(0,t.jsx)(s.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:d,onPointerDownOutside:u,onFocusOutside:e=>e.preventDefault(),onDismiss:y,children:(0,t.jsxs)(l.Content,{"data-state":h.stateAttribute,role:a?void 0:"tooltip",id:a?void 0:h.contentId,...g,...p,ref:o,style:{...p.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,t.jsx)(M,{children:i}),a?(0,t.jsx)(f,{id:h.contentId,role:"tooltip",children:a}):null]})})},"TooltipContentImpl"));function U(e,t){let r=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),n=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,o,n,i)){case i:return"left";case n:return"right";case r:return"top";case o:return"bottom";default:throw Error("unreachable")}}function W(e,t,r=5){let o=[];switch(t){case"top":o.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":o.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":o.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":o.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return o}function B(e){let{top:t,right:r,bottom:o,left:n}=e;return[{x:n,y:t},{x:r,y:t},{x:r,y:o},{x:n,y:o}]}function F(e,t){let{x:r,y:o}=e,n=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let s=t[e],a=t[i],l=s.x,c=s.y,d=a.x,u=a.y;c>o!=u>o&&r<(d-l)*(o-c)/(u-c)+l&&(n=!n)}return n}function G(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),q(t)}function q(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let o=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(o.y-r.y)>=(e.y-r.y)*(o.x-r.x))t.pop();else break}t.push(o)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let o=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(o.y-t.y)>=(e.y-t.y)*(o.x-t.x))r.pop();else break}r.push(o)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}v(U,"getExitSideFromRect"),v(W,"getPaddedExitPoints"),v(B,"getPointsFromRect"),v(F,"isPointInPolygon"),v(G,"getHull"),v(q,"getHullPresorted");var z=e.i(975157);let Y=r.forwardRef(({className:e,sideOffset:r=4,...o},n)=>(0,t.jsx)(L,{ref:n,sideOffset:r,className:(0,z.cn)("z-50 overflow-hidden rounded-md border border-border bg-surface px-3 py-1.5 text-sm text-txt shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-tooltip-content-transform-origin)",e),...o}));Y.displayName=L.displayName,e.s(["Tooltip",0,k,"TooltipContent",0,Y,"TooltipProvider",0,S,"TooltipTrigger",0,D],746798)},649021,e=>{"use strict";let t=[{id:"claude-md",name:"CLAUDE.md",description:"AI agent instructions for Claude Code",defaultPath:"CLAUDE.md",category:"ai-agent",content:`# {{PROJECT_NAME}} — Agent Instructions
2
2
 
3
3
  ## What this is
4
4
  {{DESCRIPTION}}
@@ -171,7 +171,7 @@ npm test
171
171
  - Write tests for all new functionality
172
172
  - Maintain existing test coverage
173
173
  - Use the project's established testing patterns
174
- `}],i=[{id:"contributing",name:"CONTRIBUTING.md",description:"Contribution guidelines",defaultPath:"CONTRIBUTING.md",category:"github",content:`# Contributing to {{PROJECT_NAME}}
174
+ `}],r=[{id:"contributing",name:"CONTRIBUTING.md",description:"Contribution guidelines",defaultPath:"CONTRIBUTING.md",category:"github",content:`# Contributing to {{PROJECT_NAME}}
175
175
 
176
176
  Thank you for your interest in contributing!
177
177
 
@@ -431,7 +431,7 @@ Any thoughts on how this might be implemented?
431
431
  ## Additional context
432
432
 
433
433
  Add any other context, mockups, or screenshots about the feature request here.
434
- `}],n=[{id:"changelog",name:"CHANGELOG.md",description:"Keep a Changelog format",defaultPath:"CHANGELOG.md",category:"process",content:`# Changelog — {{PROJECT_NAME}}
434
+ `}],o=[{id:"changelog",name:"CHANGELOG.md",description:"Keep a Changelog format",defaultPath:"CHANGELOG.md",category:"process",content:`# Changelog — {{PROJECT_NAME}}
435
435
 
436
436
  All notable changes to this project will be documented in this file.
437
437
 
@@ -667,7 +667,7 @@ This document defines terms used throughout the project documentation and codeba
667
667
  ---
668
668
 
669
669
  *Keep this document updated as new terminology is introduced.*
670
- `}],o=new Date().toISOString().split("T")[0],s=[...t,...i,...n,{id:"prd",name:"PRD",description:"Product requirements document",defaultPath:"docs/prd.md",category:"technical",content:`# Product Requirements — {{PROJECT_NAME}}
670
+ `}],n=new Date().toISOString().split("T")[0],i=[...t,...r,...o,{id:"prd",name:"PRD",description:"Product requirements document",defaultPath:"docs/prd.md",category:"technical",content:`# Product Requirements — {{PROJECT_NAME}}
671
671
 
672
672
  **Status:** Draft
673
673
  **Last updated:** {{DATE}}
@@ -1373,7 +1373,7 @@ components:
1373
1373
  application/json:
1374
1374
  schema:
1375
1375
  $ref: '#/components/schemas/Error'
1376
- `},{id:"meeting-notes",name:"Meeting Notes",description:"Meeting notes template",defaultPath:`docs/meetings/${o}.md`,category:"technical",content:`# Meeting Notes — ${o}
1376
+ `},{id:"meeting-notes",name:"Meeting Notes",description:"Meeting notes template",defaultPath:`docs/meetings/${n}.md`,category:"technical",content:`# Meeting Notes — ${n}
1377
1377
 
1378
1378
  **Attendees:**
1379
1379
  **Facilitator:**
@@ -2104,4 +2104,4 @@ readinessProbe:
2104
2104
  ## Lessons Learned
2105
2105
 
2106
2106
  <!-- Key takeaways to share with the wider team -->
2107
- `}];e.s(["TEMPLATES",0,s],649021)}]);
2107
+ `}];e.s(["TEMPLATES",0,i],649021)}]);
@@ -0,0 +1,21 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,785821,e=>{"use strict";var t=e.i(72345),s=e.i(180338),a=e.i(763371),l=e.i(83790);let n={name:"palette",size:24,node:[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]};n.node;let r=(0,l.default)(n),i={name:"type",size:24,node:[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]]};i.node;let c=(0,l.default)(i),d={name:"folder-cog",size:24,node:[["path",{d:"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3",key:"128dxu"}],["path",{d:"m14.305 19.53.923-.382",key:"3m78fa"}],["path",{d:"m15.228 16.852-.923-.383",key:"npixar"}],["path",{d:"m16.852 15.228-.383-.923",key:"5xggr7"}],["path",{d:"m16.852 20.772-.383.924",key:"dpfhf9"}],["path",{d:"m19.148 15.228.383-.923",key:"1reyyz"}],["path",{d:"m19.53 21.696-.382-.924",key:"1goivc"}],["path",{d:"m20.772 16.852.924-.383",key:"htqkph"}],["path",{d:"m20.772 19.148.924.383",key:"9w9pjp"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]],aliases:["folder-cog-2"]};d.node;let o=(0,l.default)(d);var x=e.i(15205),m=e.i(788293),u=e.i(479432),h=e.i(463464);let p={name:"columns-3",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]],aliases:["panels-left-right"]};p.node;let b=(0,l.default)(p);var g=e.i(975157);let f={name:"moon",size:24,node:[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]};f.node;let v=(0,l.default)(f),j={name:"sun",size:24,node:[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]};j.node;let N=(0,l.default)(j),y={name:"monitor",size:24,node:[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]};y.node;let k=(0,l.default)(y);var w=e.i(837001),C=e.i(243668);let S=[{id:"blue",label:"Blue",class:"bg-blue-500"},{id:"purple",label:"Purple",class:"bg-purple-500"},{id:"green",label:"Green",class:"bg-green-500"},{id:"orange",label:"Orange",class:"bg-orange-500"}],T=[{id:"small",label:"Small"},{id:"medium",label:"Medium"},{id:"large",label:"Large"}];function A({settings:e,onSave:s}){return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-1",children:"Appearance"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"Customize the look and feel of the app."})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Theme"}),(0,t.jsx)("div",{className:"grid grid-cols-3 gap-3",children:[{id:"dark",label:"Dark",icon:v},{id:"light",label:"Light",icon:N},{id:"system",label:"System",icon:k}].map(a=>{let l=a.icon,n=e.theme===a.id;return(0,t.jsxs)("button",{onClick:()=>s({...e,theme:a.id}),className:(0,g.cn)("flex flex-col items-center gap-2 p-4 rounded-lg border transition-colors",n?"border-accent bg-accent/10":"border-border hover:border-accent/50"),children:[(0,t.jsx)(l,{className:(0,g.cn)("w-5 h-5",n?"text-accent":"text-muted")}),(0,t.jsx)("span",{className:(0,g.cn)("text-sm",n?"text-accent font-medium":"text-muted"),children:a.label})]},a.id)})})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Accent Color"}),(0,t.jsx)("div",{className:"flex gap-3",children:S.map(a=>{let l=e.accentColor===a.id;return(0,t.jsx)("button",{onClick:()=>s({...e,accentColor:a.id}),className:(0,g.cn)("w-10 h-10 rounded-full flex items-center justify-center transition-transform",a.class,l?"ring-2 ring-offset-2 ring-offset-bg ring-white scale-110":"hover:scale-105"),title:a.label,children:l&&(0,t.jsx)(w.Check,{className:"w-5 h-5 text-white"})},a.id)})})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Font Size"}),(0,t.jsx)("div",{className:"flex gap-2",children:T.map(a=>{let l=e.fontSize===a.id;return(0,t.jsx)("button",{onClick:()=>s({...e,fontSize:a.id}),className:(0,g.cn)("px-4 py-2 rounded-lg border text-sm transition-colors",l?"border-accent bg-accent/10 text-accent font-medium":"border-border text-muted hover:border-accent/50"),children:a.label},a.id)})})]}),[{key:"fontSans",label:"Interface Font",fonts:C.SANS_FONTS,fallback:"system-ui",sample:"Ship the roadmap by Friday"},{key:"fontMono",label:"Code Font",fonts:C.MONO_FONTS,fallback:"ui-monospace, Menlo, Consolas, monospace",sample:"const id = 0O1lI;"}].map(a=>(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:a.label}),(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:a.fonts.map(l=>{let n=e[a.key]===l.id;return(0,t.jsxs)("button",{onClick:()=>s({...e,[a.key]:l.id}),className:(0,g.cn)("text-left p-3 rounded-lg border transition-colors",n?"border-accent bg-accent/10":"border-border hover:border-accent/50"),children:[(0,t.jsx)("div",{className:"text-base text-txt truncate",style:{fontFamily:"system"===l.id?a.fallback:`var(--font-${l.id})`},children:a.sample}),(0,t.jsx)("div",{className:(0,g.cn)("mt-1 text-xs",n?"text-accent font-medium":"text-txt"),children:l.label}),(0,t.jsx)("div",{className:"text-xs text-muted",children:l.note})]},l.id)})})]},a.key))]})}let _=[{value:0,label:"Off"},{value:5,label:"5 seconds"},{value:10,label:"10 seconds"},{value:30,label:"30 seconds"}],I=[{id:"split",label:"Split View"},{id:"tab",label:"Tab View"},{id:"preview",label:"Preview Only"}];function z({settings:e,onSave:s}){let a=(t,a)=>{s({...e,editor:{...e.editor,[t]:a}})};return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-1",children:"Editor"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"Configure the markdown editor behavior."})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Auto-save"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:_.map(s=>{let l=e.editor.autoSave===s.value;return(0,t.jsx)("button",{onClick:()=>a("autoSave",s.value),className:(0,g.cn)("px-4 py-2 rounded-lg border text-sm transition-colors",l?"border-accent bg-accent/10 text-accent font-medium":"border-border text-muted hover:border-accent/50"),children:s.label},s.value)})})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Preview Mode"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:I.map(s=>{let l=e.editor.previewMode===s.id;return(0,t.jsx)("button",{onClick:()=>a("previewMode",s.id),className:(0,g.cn)("px-4 py-2 rounded-lg border text-sm transition-colors",l?"border-accent bg-accent/10 text-accent font-medium":"border-border text-muted hover:border-accent/50"),children:s.label},s.id)})})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium text-txt",children:"Word Wrap"}),(0,t.jsx)("div",{className:"text-xs text-muted",children:"Wrap long lines in the editor"})]}),(0,t.jsx)("button",{onClick:()=>a("wordWrap",!e.editor.wordWrap),className:(0,g.cn)("w-11 h-6 rounded-full transition-colors relative",e.editor.wordWrap?"bg-accent":"bg-border"),children:(0,t.jsx)("span",{className:(0,g.cn)("absolute top-1 w-4 h-4 rounded-full bg-white transition-transform",e.editor.wordWrap?"left-6":"left-1")})})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium text-txt",children:"Line Numbers"}),(0,t.jsx)("div",{className:"text-xs text-muted",children:"Show line numbers in the editor"})]}),(0,t.jsx)("button",{onClick:()=>a("lineNumbers",!e.editor.lineNumbers),className:(0,g.cn)("w-11 h-6 rounded-full transition-colors relative",e.editor.lineNumbers?"bg-accent":"bg-border"),children:(0,t.jsx)("span",{className:(0,g.cn)("absolute top-1 w-4 h-4 rounded-full bg-white transition-transform",e.editor.lineNumbers?"left-6":"left-1")})})]})]})]})}let O=[{value:0,label:"Off"},{value:5,label:"5 seconds"},{value:10,label:"10 seconds"},{value:30,label:"30 seconds"}];function P({settings:e,onSave:s}){let a=(t,a)=>{s({...e,project:{...e.project,[t]:a}})};return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-1",children:"Project"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"Configure project-level settings."})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Auto-refresh Interval"}),(0,t.jsx)("p",{className:"text-xs text-muted",children:"How often to check for changes in the project files."}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:O.map(s=>{let l=e.project.autoRefresh===s.value;return(0,t.jsx)("button",{onClick:()=>a("autoRefresh",s.value),className:(0,g.cn)("px-4 py-2 rounded-lg border text-sm transition-colors",l?"border-accent bg-accent/10 text-accent font-medium":"border-border text-muted hover:border-accent/50"),children:s.label},s.value)})})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium text-txt",children:"Show Hidden Files"}),(0,t.jsx)("div",{className:"text-xs text-muted",children:"Display files starting with a dot"})]}),(0,t.jsx)("button",{onClick:()=>a("showHidden",!e.project.showHidden),className:(0,g.cn)("w-11 h-6 rounded-full transition-colors relative",e.project.showHidden?"bg-accent":"bg-border"),children:(0,t.jsx)("span",{className:(0,g.cn)("absolute top-1 w-4 h-4 rounded-full bg-white transition-transform",e.project.showHidden?"left-6":"left-1")})})]})]})}var M=e.i(765470),D=e.i(609617),E=e.i(240595),L=e.i(793479),U=e.i(476785);let F={"claude-code":{name:"Claude Code",config:`{
2
+ "mcpServers": {
3
+ "vibedoc": {
4
+ "url": "{{ENDPOINT}}"
5
+ }
6
+ }
7
+ }`,path:"~/.claude/claude.json"},cursor:{name:"Cursor",config:`{
8
+ "mcp": {
9
+ "servers": {
10
+ "vibedoc": {
11
+ "url": "{{ENDPOINT}}"
12
+ }
13
+ }
14
+ }
15
+ }`,path:".cursor/mcp.json"},windsurf:{name:"Windsurf",config:`{
16
+ "mcpServers": {
17
+ "vibedoc": {
18
+ "url": "{{ENDPOINT}}"
19
+ }
20
+ }
21
+ }`,path:".windsurf/mcp.json"}};function $({settings:e,onSave:a}){let[l,n]=(0,s.useState)(!1),[r,i]=(0,s.useState)(null),[c,d]=(0,s.useState)(null),o=(0,C.resolveMcpEndpoint)(e.mcp.endpoint,(0,U.useOrigin)()),m=async()=>{n(!0),i(null);try{(await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"tools/list"})})).ok?i("success"):i("error")}catch{i("error")}n(!1)},u=async e=>{let t=F[e].config.replace("{{ENDPOINT}}",o);await navigator.clipboard.writeText(t),d(e),setTimeout(()=>d(null),2e3)};return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-1",children:"MCP Connection"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"Configure the Model Context Protocol server for AI agents."})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"MCP Endpoint"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(L.Input,{value:o,onChange:t=>{var s;return s=t.target.value,void a({...e,mcp:{...e.mcp,endpoint:s}})},className:"bg-surface2 font-mono text-sm"}),(0,t.jsxs)("button",{onClick:m,disabled:l,className:"px-4 py-2 bg-accent text-accent-fg rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors disabled:opacity-50 flex items-center gap-2",children:[l?(0,t.jsx)(E.Loader2,{className:"w-4 h-4 animate-spin"}):(0,t.jsx)(x.Plug,{className:"w-4 h-4"}),"Test"]})]}),r&&(0,t.jsx)("div",{className:(0,g.cn)("flex items-center gap-2 text-sm","success"===r?"text-green-400":"text-red-400"),children:"success"===r?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.Check,{className:"w-4 h-4"}),"Connection successful"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(M.X,{className:"w-4 h-4"}),"Connection failed"]})})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Agent Configuration"}),(0,t.jsx)("p",{className:"text-xs text-muted",children:"Copy the configuration for your coding agent:"}),(0,t.jsx)("div",{className:"space-y-2",children:Object.entries(F).map(([e,s])=>(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 border border-border rounded-lg",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium text-txt",children:s.name}),(0,t.jsx)("div",{className:"text-xs text-muted font-mono",children:s.path})]}),(0,t.jsx)("button",{onClick:()=>u(e),className:(0,g.cn)("flex items-center gap-2 px-3 py-1.5 rounded-lg text-sm transition-colors",c===e?"bg-green-500/20 text-green-400":"bg-surface2 text-muted hover:text-txt"),children:c===e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.Check,{className:"w-3.5 h-3.5"}),"Copied"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(D.Copy,{className:"w-3.5 h-3.5"}),"Copy"]})})]},e))})]})]})}var B=e.i(155515),R=e.i(424991),W=e.i(458055);let H=["vibedoc_read_doc","vibedoc_write_doc","vibedoc_search_docs","vibedoc_list_docs","vibedoc_get_status","vibedoc_list_tasks","vibedoc_update_task","vibedoc_read_memory","vibedoc_update_memory","vibedoc_save_entry","vibedoc_delete_entry"],q=["🔧","📝","🧪","🔍","📊","🔒","⚡","🎯","💡","🚀"];function G({skills:e,onSave:a}){let[l,n]=(0,s.useState)(null),[r,i]=(0,s.useState)(null),[c,d]=(0,s.useState)(!1),o=()=>{n(null),i(null),d(!1)},x=()=>{r&&r.name.trim()&&(c?a([...e,r]):a(e.map(e=>e.id===r.id?r:e)),o())},u=e=>{if(!r)return;let t=r.tools.includes(e)?r.tools.filter(t=>t!==e):[...r.tools,e];i({...r,tools:t})};return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-1",children:"Skills"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"Reusable capabilities for AI agents."})]}),(0,t.jsxs)("button",{onClick:()=>{let e={id:`skill-${Date.now()}`,name:"",description:"",trigger:"/",prompt:"",tools:[],icon:"⚡"};n(e.id),i(e),d(!0)},className:"flex items-center gap-2 px-3 py-2 bg-accent text-accent-fg rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors",children:[(0,t.jsx)(B.Plus,{className:"w-4 h-4"}),"Add Skill"]})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[e.map(s=>(0,t.jsx)("div",{children:l===s.id&&r?(0,t.jsxs)("div",{className:"border border-accent rounded-lg p-4 space-y-4 bg-accent/5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("select",{value:r.icon||"⚡",onChange:e=>i({...r,icon:e.target.value}),className:"w-12 h-10 text-center text-xl bg-surface2 border border-border rounded-lg",children:q.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsx)(L.Input,{value:r.name,onChange:e=>i({...r,name:e.target.value}),placeholder:"Skill name",className:"bg-surface2"})]}),(0,t.jsx)(L.Input,{value:r.description,onChange:e=>i({...r,description:e.target.value}),placeholder:"Description",className:"bg-surface2"}),(0,t.jsx)("div",{className:"flex gap-3",children:(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-1 block",children:"Trigger"}),(0,t.jsx)(L.Input,{value:r.trigger,onChange:e=>i({...r,trigger:e.target.value}),placeholder:"/command",className:"bg-surface2 font-mono"})]})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-1 block",children:"System Prompt"}),(0,t.jsx)("textarea",{value:r.prompt,onChange:e=>i({...r,prompt:e.target.value}),placeholder:"Instructions for the AI when this skill is activated...",rows:4,className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm resize-none"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-2 block",children:"Available Tools"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:H.map(e=>(0,t.jsx)("button",{onClick:()=>u(e),className:(0,g.cn)("px-2 py-1 rounded-sm text-xs font-mono transition-colors",r.tools.includes(e)?"bg-accent/20 text-accent":"bg-surface2 text-muted hover:text-txt"),children:e.replace("vibedoc_","")},e))})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{onClick:o,className:"px-3 py-1.5 text-sm text-muted hover:text-txt transition-colors",children:"Cancel"}),(0,t.jsxs)("button",{onClick:x,disabled:!r.name.trim(),className:"flex items-center gap-2 px-3 py-1.5 bg-accent text-accent-fg rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors disabled:opacity-50",children:[(0,t.jsx)(w.Check,{className:"w-4 h-4"}),"Save"]})]})]}):(0,t.jsxs)("div",{className:"flex items-start gap-3 p-4 border border-border rounded-lg hover:border-accent/30 transition-colors group",children:[(0,t.jsx)("div",{className:"w-10 h-10 rounded-lg bg-surface2 flex items-center justify-center text-xl shrink-0",children:s.icon||"⚡"}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium text-txt",children:s.name}),(0,t.jsx)("code",{className:"text-xs bg-surface2 px-1.5 py-0.5 rounded-sm text-accent",children:s.trigger})]}),(0,t.jsx)("p",{className:"text-sm text-muted mt-0.5",children:s.description}),s.tools.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1 mt-2",children:s.tools.map(e=>(0,t.jsx)("span",{className:"text-xs bg-surface2 px-1.5 py-0.5 rounded-sm text-muted",children:e.replace("vibedoc_","")},e))})]}),(0,t.jsxs)("div",{className:"flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,t.jsx)("button",{onClick:()=>{n(s.id),i({...s}),d(!1)},className:"p-1.5 rounded-sm hover:bg-surface2 text-muted hover:text-txt transition-colors",children:(0,t.jsx)(R.Pencil,{className:"w-4 h-4"})}),(0,t.jsx)("button",{onClick:()=>{var t;return t=s.id,void(confirm("Delete this skill?")&&a(e.filter(e=>e.id!==t)))},className:"p-1.5 rounded-sm hover:bg-red-500/10 text-muted hover:text-red-400 transition-colors",children:(0,t.jsx)(W.Trash2,{className:"w-4 h-4"})})]})]})},s.id)),c&&r&&(0,t.jsxs)("div",{className:"border border-accent rounded-lg p-4 space-y-4 bg-accent/5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("select",{value:r.icon||"⚡",onChange:e=>i({...r,icon:e.target.value}),className:"w-12 h-10 text-center text-xl bg-surface2 border border-border rounded-lg",children:q.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsx)(L.Input,{value:r.name,onChange:e=>i({...r,name:e.target.value}),placeholder:"Skill name",className:"bg-surface2"})]}),(0,t.jsx)(L.Input,{value:r.description,onChange:e=>i({...r,description:e.target.value}),placeholder:"Description",className:"bg-surface2"}),(0,t.jsx)("div",{className:"flex gap-3",children:(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-1 block",children:"Trigger"}),(0,t.jsx)(L.Input,{value:r.trigger,onChange:e=>i({...r,trigger:e.target.value}),placeholder:"/command",className:"bg-surface2 font-mono"})]})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-1 block",children:"System Prompt"}),(0,t.jsx)("textarea",{value:r.prompt,onChange:e=>i({...r,prompt:e.target.value}),placeholder:"Instructions for the AI when this skill is activated...",rows:4,className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm resize-none"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-2 block",children:"Available Tools"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:H.map(e=>(0,t.jsx)("button",{onClick:()=>u(e),className:(0,g.cn)("px-2 py-1 rounded-sm text-xs font-mono transition-colors",r.tools.includes(e)?"bg-accent/20 text-accent":"bg-surface2 text-muted hover:text-txt"),children:e.replace("vibedoc_","")},e))})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{onClick:o,className:"px-3 py-1.5 text-sm text-muted hover:text-txt transition-colors",children:"Cancel"}),(0,t.jsxs)("button",{onClick:x,disabled:!r.name.trim(),className:"flex items-center gap-2 px-3 py-1.5 bg-accent text-accent-fg rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors disabled:opacity-50",children:[(0,t.jsx)(w.Check,{className:"w-4 h-4"}),"Save"]})]})]}),0===e.length&&!c&&(0,t.jsxs)("div",{className:"text-center py-8 text-muted",children:[(0,t.jsx)(m.Zap,{className:"w-10 h-10 mx-auto mb-3 opacity-30"}),(0,t.jsx)("p",{className:"text-sm",children:"No skills configured"}),(0,t.jsx)("p",{className:"text-xs mt-1",children:"Add a skill to give your agents capabilities"})]})]})]})}let J=["🤖","📚","🔒","🧪","📝","🔧","💡","🎯","🚀","⚡"];function K({agents:e,skills:a,onSave:l}){let[n,r]=(0,s.useState)(null),[i,c]=(0,s.useState)(null),[d,o]=(0,s.useState)(!1),x=()=>{r(null),c(null),o(!1)},m=()=>{i&&i.name.trim()&&(d?l([...e,i]):l(e.map(e=>e.id===i.id?i:e)),x())},h=e=>(0,t.jsxs)("div",{className:"border border-accent rounded-lg p-4 space-y-4 bg-accent/5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("select",{value:e.icon,onChange:t=>c({...e,icon:t.target.value}),className:"w-12 h-10 text-center text-xl bg-surface2 border border-border rounded-lg",children:J.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsx)(L.Input,{value:e.name,onChange:t=>c({...e,name:t.target.value}),placeholder:"Agent name",className:"bg-surface2"})]}),(0,t.jsx)(L.Input,{value:e.description,onChange:t=>c({...e,description:t.target.value}),placeholder:"Description",className:"bg-surface2"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-2 block",children:"Assigned Skills"}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[a.map(s=>(0,t.jsxs)("button",{onClick:()=>(e=>{if(!i)return;let t=i.skills.includes(e)?i.skills.filter(t=>t!==e):[...i.skills,e];c({...i,skills:t})})(s.id),className:(0,g.cn)("flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-sm transition-colors",e.skills.includes(s.id)?"bg-accent/20 text-accent":"bg-surface2 text-muted hover:text-txt"),children:[(0,t.jsx)("span",{children:s.icon||"⚡"}),s.name]},s.id)),0===a.length&&(0,t.jsx)("span",{className:"text-xs text-muted",children:"No skills available. Create skills first."})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-1 block",children:"Custom System Prompt"}),(0,t.jsx)("textarea",{value:e.prompt,onChange:t=>c({...e,prompt:t.target.value}),placeholder:"Additional instructions for this agent...",rows:3,className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm resize-none"})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{onClick:()=>c({...e,active:!e.active}),className:(0,g.cn)("w-11 h-6 rounded-full transition-colors relative",e.active?"bg-accent":"bg-border"),children:(0,t.jsx)("span",{className:(0,g.cn)("absolute top-1 w-4 h-4 rounded-full bg-white transition-transform",e.active?"left-6":"left-1")})}),(0,t.jsx)("span",{className:"text-sm text-muted",children:e.active?"Active":"Inactive"})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{onClick:x,className:"px-3 py-1.5 text-sm text-muted hover:text-txt transition-colors",children:"Cancel"}),(0,t.jsxs)("button",{onClick:m,disabled:!e.name.trim(),className:"flex items-center gap-2 px-3 py-1.5 bg-accent text-accent-fg rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors disabled:opacity-50",children:[(0,t.jsx)(w.Check,{className:"w-4 h-4"}),"Save"]})]})]})]});return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-1",children:"Agents"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"AI agent profiles with assigned skills."})]}),(0,t.jsxs)("button",{onClick:()=>{let e={id:`agent-${Date.now()}`,name:"",icon:"🤖",description:"",skills:[],prompt:"",active:!0};r(e.id),c(e),o(!0)},className:"flex items-center gap-2 px-3 py-2 bg-accent text-accent-fg rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors",children:[(0,t.jsx)(B.Plus,{className:"w-4 h-4"}),"Add Agent"]})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[e.map(s=>(0,t.jsx)("div",{children:n===s.id&&i?h(i):(0,t.jsxs)("div",{className:(0,g.cn)("flex items-start gap-3 p-4 border rounded-lg transition-colors group",s.active?"border-border hover:border-accent/30":"border-border/50 opacity-60"),children:[(0,t.jsx)("div",{className:"w-10 h-10 rounded-lg bg-surface2 flex items-center justify-center text-xl shrink-0",children:s.icon}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium text-txt",children:s.name}),!s.active&&(0,t.jsx)("span",{className:"text-xs bg-surface2 px-1.5 py-0.5 rounded-sm text-muted",children:"Inactive"})]}),(0,t.jsx)("p",{className:"text-sm text-muted mt-0.5",children:s.description}),s.skills.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1 mt-2",children:s.skills.map(e=>{let s=a.find(t=>t.id===e);return s?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-xs bg-surface2 px-1.5 py-0.5 rounded-sm text-muted",children:[s.icon," ",s.name]},e):null})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{onClick:()=>{var t;return t=s.id,void l(e.map(e=>e.id===t?{...e,active:!e.active}:e))},className:(0,g.cn)("w-9 h-5 rounded-full transition-colors relative",s.active?"bg-accent":"bg-border"),children:(0,t.jsx)("span",{className:(0,g.cn)("absolute top-0.5 w-4 h-4 rounded-full bg-white transition-transform",s.active?"left-4":"left-0.5")})}),(0,t.jsxs)("div",{className:"flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,t.jsx)("button",{onClick:()=>{r(s.id),c({...s}),o(!1)},className:"p-1.5 rounded-sm hover:bg-surface2 text-muted hover:text-txt transition-colors",children:(0,t.jsx)(R.Pencil,{className:"w-4 h-4"})}),(0,t.jsx)("button",{onClick:()=>{var t;return t=s.id,void(confirm("Delete this agent?")&&l(e.filter(e=>e.id!==t)))},className:"p-1.5 rounded-sm hover:bg-red-500/10 text-muted hover:text-red-400 transition-colors",children:(0,t.jsx)(W.Trash2,{className:"w-4 h-4"})})]})]})]})},s.id)),d&&i&&h(i),0===e.length&&!d&&(0,t.jsxs)("div",{className:"text-center py-8 text-muted",children:[(0,t.jsx)(u.Bot,{className:"w-10 h-10 mx-auto mb-3 opacity-30"}),(0,t.jsx)("p",{className:"text-sm",children:"No agents configured"}),(0,t.jsx)("p",{className:"text-xs mt-1",children:"Add an agent to define AI personas with skills"})]})]})]})}var V=e.i(169777),Z=e.i(270379),Q=e.i(673635),X=e.i(464750),Y=e.i(694628);let ee="rounded-md border border-border bg-bg px-2 py-1.5 text-sm text-txt focus:outline-hidden focus:ring-1 focus:ring-accent disabled:opacity-50",et={todo:"waiting to start","in-progress":"being worked on",review:"waits for a human",blocked:"stuck",paused:"stopped on purpose",done:"finished",cancelled:"dropped"};function es({settings:e,onSave:l}){let{board:n,rootParam:r,refresh:i}=(0,a.useApp)(),c=(0,Y.statusDefs)(e.statuses),[d,o]=(0,s.useState)(""),[x,m]=(0,s.useState)("review"),[u,h]=(0,s.useState)("blue"),[p,b]=(0,s.useState)(null),[f,v]=(0,s.useState)("todo"),j=t=>l({...e,statuses:t}),N=(e,t)=>j(c.map(s=>s.id===e?{...s,...t}:s)),y=(e,t)=>{let s=[...c],[a]=s.splice(e,1);s.splice(e+t,0,a),j(s)},k=e=>Object.values(n??{}).flat().filter(t=>t.customStatus===e),w=d.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,40),C=d.trim()?w?c.some(e=>e.id===w)?"Already exists":(0,Y.invalidStatusId)(w):"Use letters or digits":null;async function S(e){let t=k(e).map(e=>e.id);if(t.length){let e=await fetch(`/api/tasks/bulk${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:t,action:{status:f}})});if(!e.ok)return(0,Q.toast)((await e.json().catch(()=>null))?.error??"Could not move the tasks")}await j(c.filter(t=>t.id!==e)),b(null),i()}return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"mb-1 text-xl font-semibold text-txt",children:"Statuses"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"Board columns, in order. A custom status works like the built-in category it maps to: agents, the work queue and progress read the category. Task files store the status id, so renaming never touches them."})]}),(0,t.jsx)("ul",{className:"flex flex-col gap-2",children:c.map((e,s)=>{let a=Y.BUILTIN_STATUSES.includes(e.id),l=X.STATUS_META[e.category].icon,n=a?0:k(e.id).length;return(0,t.jsxs)("li",{className:"rounded-lg border border-border bg-surface p-2.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(l,{className:(0,g.cn)("size-4 shrink-0",X.STATUS_COLOR_CLASS[e.color].text),"aria-hidden":!0}),(0,t.jsx)(L.Input,{"aria-label":`Label for ${e.id}`,defaultValue:e.label,onBlur:t=>{let s=t.target.value.trim();s&&s!==e.label&&N(e.id,{label:s})},onKeyDown:e=>{"Enter"===e.key&&e.currentTarget.blur()},className:"h-8 w-40 border-border bg-bg text-txt"},`${e.id}:${e.label}`),(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.id}),(0,t.jsx)("select",{"aria-label":`Color for ${e.id}`,value:e.color,onChange:t=>N(e.id,{color:t.target.value}),className:ee,children:Y.STATUS_COLORS.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsx)("select",{"aria-label":`Category for ${e.id}`,value:e.category,disabled:a,title:a?"Built-in statuses keep their category":et[e.category],onChange:t=>N(e.id,{category:t.target.value}),className:ee,children:Y.BUILTIN_STATUSES.map(e=>(0,t.jsxs)("option",{value:e,children:["works like ",e]},e))}),(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)("button",{type:"button","aria-label":`Move ${e.id} up`,disabled:0===s,onClick:()=>y(s,-1),className:"grid size-7 place-items-center rounded-md text-muted hover:bg-surface2 hover:text-txt disabled:opacity-30",children:(0,t.jsx)(Z.ArrowUp,{className:"size-3.5"})}),(0,t.jsx)("button",{type:"button","aria-label":`Move ${e.id} down`,disabled:s===c.length-1,onClick:()=>y(s,1),className:"grid size-7 place-items-center rounded-md text-muted hover:bg-surface2 hover:text-txt disabled:opacity-30",children:(0,t.jsx)(V.ArrowDown,{className:"size-3.5"})}),!a&&(0,t.jsx)("button",{type:"button","aria-label":`Delete ${e.id}`,onClick:()=>{b(e.id),v(e.category)},className:"grid size-7 place-items-center rounded-md text-muted hover:bg-surface2 hover:text-danger",children:(0,t.jsx)(W.Trash2,{className:"size-3.5"})})]}),p===e.id&&(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2 border-t border-border pt-2 text-xs text-muted",children:[n>0?(0,t.jsxs)(t.Fragment,{children:["Move its ",n," task",1===n?"":"s"," to"]}):(0,t.jsx)(t.Fragment,{children:"No tasks use it."}),n>0&&(0,t.jsx)("select",{"aria-label":"Move its tasks to",value:f,onChange:e=>v(e.target.value),className:ee,children:c.filter(t=>t.id!==e.id).map(e=>(0,t.jsx)("option",{value:e.id,children:e.label},e.id))}),(0,t.jsxs)("button",{type:"button",onClick:()=>S(e.id),className:"rounded-md border border-danger/40 px-2 py-1 text-danger hover:bg-danger/10",children:["Delete ",e.label]}),(0,t.jsx)("button",{type:"button",onClick:()=>b(null),className:"px-1 hover:text-txt",children:"Cancel"})]})]},e.id)})}),(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),d.trim()&&!C&&(j([...c,{id:w,label:d.trim(),color:u,category:x}]),o(""))},className:"space-y-2 rounded-lg border border-dashed border-border2 p-3",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-txt",children:"Add a status"}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(L.Input,{"aria-label":"New status label",value:d,onChange:e=>o(e.target.value),placeholder:"QA",className:"h-8 w-40 border-border bg-bg text-txt"}),(0,t.jsx)("select",{"aria-label":"New status category",value:x,onChange:e=>m(e.target.value),className:ee,children:Y.BUILTIN_STATUSES.map(e=>(0,t.jsxs)("option",{value:e,children:["works like ",e," (",et[e],")"]},e))}),(0,t.jsx)("select",{"aria-label":"New status color",value:u,onChange:e=>h(e.target.value),className:ee,children:Y.STATUS_COLORS.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsxs)("button",{type:"submit",disabled:!d.trim()||!!C,className:"inline-flex h-8 items-center gap-1.5 rounded-md bg-accent px-3 text-xs font-medium text-accent-fg hover:bg-accent/90 disabled:opacity-40",children:[(0,t.jsx)(B.Plus,{className:"size-3.5"})," Add"]})]}),d.trim()&&(0,t.jsx)("p",{className:(0,g.cn)("font-mono text-[11px]",C?"text-danger":"text-muted"),children:C??`id: ${w}`})]})]})}var ea=e.i(574990),el=e.i(573009);let en=[{id:"appearance",label:"Appearance",icon:r},{id:"editor",label:"Editor",icon:c},{id:"project",label:"Project",icon:o},{id:"statuses",label:"Statuses",icon:b},{id:"mcp",label:"MCP",icon:x.Plug},{id:"skills",label:"Skills",icon:m.Zap},{id:"agents",label:"Agents",icon:u.Bot}];e.s(["default",0,function(){let{rootParam:e,setEditorSettings:l,setAutoRefreshSeconds:n}=(0,a.useApp)(),[r,i]=(0,s.useState)("appearance"),[c,d]=(0,s.useState)(C.DEFAULT_SETTINGS),[o,x]=(0,s.useState)(C.DEFAULT_SKILLS),[m,u]=(0,s.useState)(C.DEFAULT_AGENTS),[p,b]=(0,s.useState)(!0),[f,v]=(0,s.useState)(!1),j=(0,s.useCallback)(async()=>{try{let t=await fetch(`/api/settings${e}&type=all`),s=await t.json();d({...C.DEFAULT_SETTINGS,...s.settings}),x(s.skills||C.DEFAULT_SKILLS),u(s.agents||C.DEFAULT_AGENTS)}catch{}b(!1)},[e]);(0,s.useEffect)(()=>{j()},[j]);let N=async t=>{v(!0),d(t);try{await fetch(`/api/settings${e}&type=settings`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),(0,el.applyTheme)(t.theme),(0,el.applyAccent)(t.accentColor),(0,el.applyFontSize)(t.fontSize),(0,el.applyFonts)(t),l(t.editor),n(t.project?.autoRefresh??0),(0,ea.setStatusDefs)((0,Y.statusDefs)(t.statuses))}catch{}v(!1)},y=async t=>{v(!0),x(t);try{await fetch(`/api/settings${e}&type=skills`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}catch{}v(!1)},k=async t=>{v(!0),u(t);try{await fetch(`/api/settings${e}&type=agents`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}catch{}v(!1)};return p?(0,t.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,t.jsx)("div",{className:"text-muted",children:"Loading settings..."})}):(0,t.jsxs)("div",{className:"flex h-full",children:[(0,t.jsxs)("aside",{className:"w-56 border-r border-border bg-sidebar shrink-0",children:[(0,t.jsx)("div",{className:"p-4 border-b border-border",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(h.Settings,{className:"w-5 h-5 text-accent"}),(0,t.jsx)("h1",{className:"font-semibold text-txt",children:"Settings"})]})}),(0,t.jsx)("nav",{className:"p-2",children:en.map(e=>{let s=e.icon;return(0,t.jsxs)("button",{onClick:()=>i(e.id),className:(0,g.cn)("w-full flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors",r===e.id?"bg-accent/10 text-accent font-medium":"text-muted hover:text-txt hover:bg-surface2"),children:[(0,t.jsx)(s,{className:"w-4 h-4"}),e.label]},e.id)})})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,t.jsxs)("div",{className:"max-w-2xl mx-auto p-6",children:[f&&(0,t.jsx)("div",{className:"fixed top-4 right-4 bg-accent text-accent-fg px-3 py-1.5 rounded-lg text-sm shadow-lg",children:"Saving..."}),"appearance"===r&&(0,t.jsx)(A,{settings:c,onSave:N}),"editor"===r&&(0,t.jsx)(z,{settings:c,onSave:N}),"project"===r&&(0,t.jsx)(P,{settings:c,onSave:N}),"statuses"===r&&(0,t.jsx)(es,{settings:c,onSave:N}),"mcp"===r&&(0,t.jsx)($,{settings:c,onSave:N}),"skills"===r&&(0,t.jsx)(G,{skills:o,onSave:y}),"agents"===r&&(0,t.jsx)(K,{agents:m,skills:o,onSave:k})]})})]})}],785821)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,955787,e=>{"use strict";var t=e.i(72345),s=e.i(180338),a=e.i(910172),n=e.i(763371),l=e.i(155515),r=e.i(244267),i=e.i(605663),o=e.i(650312),d=e.i(83790);let c={name:"bookmark",size:24,node:[["path",{d:"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",key:"oz39mx"}]]};c.node;let u=(0,d.default)(c),x={name:"chart-gantt",size:24,node:[["path",{d:"M10 6h8",key:"zvc2xc"}],["path",{d:"M12 16h6",key:"yi5mkt"}],["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M8 11h7",key:"wz2hg0"}]]};x.node;let p=(0,d.default)(x);var m=e.i(709948),h=e.i(506534),b=e.i(424991);let f={name:"rotate-ccw",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"}]]};f.node;let g=(0,d.default)(f),j={name:"square-kanban",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 7v7",key:"1x2jlm"}],["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M16 7v9",key:"1hp2iy"}]],aliases:["kanban-square"]};j.node;let v=(0,d.default)(j),N={name:"table-2",size:24,node:[["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]};N.node;let w=(0,d.default)(N);var k=e.i(458055),y=e.i(975157),S=e.i(755146);let M={board:v,table:w,epic:h.ListTree,timeline:p},C=["board","table","epic","timeline"],D="focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent",z=(0,y.cn)("relative inline-flex h-9 shrink-0 items-center gap-1.5 whitespace-nowrap border-b-2 border-transparent px-0.5 text-[13px] font-medium","transition-colors duration-(--duration-fast) ease-out-soft",D),T="rounded-sm border border-border2 bg-surface2 px-1 py-0.5 font-mono text-[10px] leading-none text-txt";function $({views:e,activeId:a,onSelect:n,onNew:r,onRename:i,onDelete:o,customizedIds:d,onRestore:c}){let x=[...e.filter(e=>C.includes(e.id)),...e.filter(e=>!C.includes(e.id))],[p,h]=(0,s.useState)(null),f=(0,s.useRef)(new Map),j=(0,s.useRef)(null);return(0,s.useEffect)(()=>{let e=j.current;if(!e)return;let t=f.current.get(e);t&&(t.focus(),j.current=null)}),(0,t.jsxs)("div",{role:"group","aria-label":"Views",className:"flex items-center gap-4 overflow-x-auto border-b border-border [scrollbar-width:none]",children:[x.map(e=>{let s=C.includes(e.id),l=s?M[e.kind]:u,r=e.id===a;return p===e.id?(0,t.jsx)(I,{initial:e.name,onDone:(t,s)=>{h(null),s&&(j.current=e.id),t&&t!==e.name&&i(e.id,t)}},e.id):(0,t.jsxs)("span",{className:"inline-flex shrink-0 items-center",children:[(0,t.jsxs)("button",{ref:t=>{t?f.current.set(e.id,t):f.current.delete(e.id)},type:"button","aria-pressed":r,title:s?void 0:`Saved view: ${e.name}`,onClick:()=>n(e.id),className:(0,y.cn)(z,r?"text-txt":"text-muted hover:text-txt"),children:[(0,t.jsx)(l,{"aria-hidden":!0,className:s?"size-[15px]":"size-3.5"}),e.name,r&&(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute inset-x-0 -bottom-0.5 h-0.5 bg-accent [view-transition-name:board-view-tab]"})]}),r&&(!s||d.includes(e.id))&&(0,t.jsxs)(S.DropdownMenu,{children:[(0,t.jsx)(S.DropdownMenuTrigger,{"aria-label":`View options for ${e.name}`,className:(0,y.cn)("ml-0.5 inline-flex size-6 items-center justify-center rounded-sm text-muted hover:bg-surface2 hover:text-txt",D),children:(0,t.jsx)(m.ChevronDown,{"aria-hidden":!0,className:"size-3.5"})}),(0,t.jsx)(S.DropdownMenuContent,{align:"start",children:s?(0,t.jsxs)(S.DropdownMenuItem,{onSelect:()=>{j.current=e.id,c(e.id)},children:[(0,t.jsx)(g,{"aria-hidden":!0,className:"size-3.5"}),"Restore default"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(S.DropdownMenuItem,{onSelect:()=>h(e.id),children:[(0,t.jsx)(b.Pencil,{"aria-hidden":!0,className:"size-3.5"}),"Rename"]}),(0,t.jsxs)(S.DropdownMenuItem,{onSelect:()=>{o(e.id)&&(j.current=e.kind)},className:"text-danger focus:text-danger",children:[(0,t.jsx)(k.Trash2,{"aria-hidden":!0,className:"size-3.5"}),"Delete view"]})]})})]})]},e.id)}),(0,t.jsx)("button",{type:"button","aria-label":"New view",title:"New view",onClick:r,className:(0,y.cn)(z,"border-transparent text-muted hover:text-txt"),children:(0,t.jsx)(l.Plus,{"aria-hidden":!0,className:"size-[15px]"})}),(0,t.jsx)("span",{className:"grow"}),(0,t.jsxs)("span",{className:"hidden shrink-0 items-center gap-1.5 pb-1.5 text-[11px] text-muted sm:flex",children:[(0,t.jsx)("kbd",{className:T,children:"v"}),"next view",(0,t.jsx)("kbd",{className:(0,y.cn)(T,"ml-1.5"),children:"1"}),"–",(0,t.jsx)("kbd",{className:T,children:"4"})]})]})}function I({initial:e,onDone:a}){let[n,l]=(0,s.useState)(e),r=(0,s.useRef)(null),i=(0,s.useRef)(!1),o=(e,t=!1)=>{i.current||(i.current=!0,a(e.trim(),t))};return(0,s.useEffect)(()=>{let e=setTimeout(()=>r.current?.select(),0);return()=>clearTimeout(e)},[]),(0,t.jsx)("input",{ref:r,"aria-label":"View name",value:n,maxLength:60,onChange:e=>l(e.target.value),onBlur:()=>o(n),onKeyDown:t=>{"Enter"===t.key&&o(n,!0),"Escape"===t.key&&(t.stopPropagation(),o(e,!0))},className:"my-1 h-7 w-40 shrink-0 rounded-md border border-accent bg-bg px-2 text-[13px] text-txt outline-hidden"})}var E=e.i(169777),O=e.i(270379);let R={name:"arrow-up-down",size:24,node:[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]};R.node;let L=(0,d.default)(R),F={name:"list-filter",size:24,node:[["path",{d:"M2 5h20",key:"1fs1ex"}],["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M9 19h6",key:"456am0"}]]};F.node;let A=(0,d.default)(F),P={name:"rows-3",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]],aliases:["panels-top-bottom"]};P.node;let q=(0,d.default)(P);var _=e.i(161863);let U={name:"sliders-horizontal",size:24,node:[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]};U.node;let V=(0,d.default)(U);var W=e.i(765470),G=e.i(464750),H=e.i(574990);let K=[{prop:"status",label:"Status"},{prop:"epic",label:"Epic"},{prop:"size",label:"Size"},{prop:"due",label:"Due"},{prop:"deps",label:"Depends on"},{prop:"tests",label:"Tests"},{prop:"agent",label:"Agent"},{prop:"ready",label:"Ready"},{prop:"owner",label:"Owner"}],B=Object.fromEntries(K.map(e=>[e.prop,e.label])),X={status:{is:"is","is-not":"is not"},epic:{is:"is","is-not":"is not"},size:{is:"is","is-not":"is not"},due:{before:"is before",after:"is after","is-set":"is set","not-set":"is not set"},deps:{"is-set":"anything","not-set":"nothing"},tests:{"is-set":"reported","not-set":"not reported"},agent:{"is-set":"is active","not-set":"is not active"},ready:{"is-set":"yes","not-set":"no"},owner:{is:"is","is-not":"is not"}},J=["status","epic","size","owner"],Y={human:"Human",ai:"AI agent",none:"No owner"},Z=["XS","S","M","L","XL"],Q=[{prop:"status",label:"Status"},{prop:"id",label:"ID"},{prop:"epic",label:"Epic"},{prop:"size",label:"Size"},{prop:"due",label:"Due"},{prop:"title",label:"Title"}],ee=[{value:"status",label:"Status"},{value:"epic",label:"Epic"},{value:"size",label:"Size"},{value:"owner",label:"Owner"},{value:"none",label:"None"}],et=[{value:"epic",label:"Epic"},{value:"size",label:"Size"},{value:"none",label:"None"}],es=[{key:"status",label:"Status"},{key:"epic",label:"Epic"},{key:"size",label:"Size"},{key:"due",label:"Due"},{key:"deps",label:"Depends on"},{key:"tests",label:"Tests"},{key:"agent",label:"Agent"},{key:"owner",label:"Owner"}];function ea(e,t){switch(e){case"status":return{prop:e,op:"is-not",value:["done"]};case"epic":return{prop:e,op:"is",value:[(t.find(e=>e.open)??t[0])?.id??"none"]};case"size":return{prop:e,op:"is",value:["M"]};case"due":let s;return{prop:e,op:"before",value:[(s=new Date,`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`)]};case"owner":return{prop:e,op:"is",value:["ai"]};default:return{prop:e,op:"is-set",value:[]}}}let en="focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-bg",el=(0,y.cn)("inline-flex h-8 items-center gap-1.5 whitespace-nowrap rounded-md border border-transparent px-2.5 text-xs font-medium text-muted","transition-colors duration-(--duration-fast) ease-out-soft hover:bg-surface2 hover:text-txt",en),er="border-border2 bg-surface2 text-txt",ei=(0,y.cn)("h-7.5 min-w-0 rounded-md border border-border bg-bg px-2 text-[13px] text-txt",en),eo="rounded-sm border border-border2 bg-surface2 px-1 py-0.5 font-mono text-[10px] leading-none text-txt",ed=(0,y.cn)("inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted hover:bg-surface2 hover:text-txt disabled:opacity-40 disabled:hover:bg-transparent",en);function ec({open:e,onOpenChange:a,label:n,trigger:l,triggerClassName:r,panelClassName:i,anchorClassName:o,children:d}){let c=(0,s.useRef)(null),u=(0,s.useRef)(null),x=(0,s.useRef)(null),p=(0,s.useRef)(a),m=(0,s.useId)();return(0,s.useEffect)(()=>{p.current=a}),(0,s.useEffect)(()=>{if(!e)return;x.current?.querySelector("button, input, select")?.focus();let t=e=>{c.current?.contains(e.target)||p.current(!1)};return document.addEventListener("pointerdown",t),()=>document.removeEventListener("pointerdown",t)},[e]),(0,t.jsxs)("div",{ref:c,className:(0,y.cn)("max-sm:flex max-sm:flex-1",o??"sm:relative"),children:[(0,t.jsx)("button",{ref:u,type:"button","aria-expanded":e,"aria-haspopup":"dialog","aria-controls":e?m:void 0,onClick:()=>a(!e),className:r,children:l}),e&&(0,t.jsx)("div",{ref:x,id:m,role:"dialog","aria-label":n,onKeyDown:e=>{"Escape"===e.key&&(e.stopPropagation(),a(!1),u.current?.focus())},className:(0,y.cn)("absolute top-full z-30 mt-1 rounded-lg border border-border2 bg-surface p-3 text-txt shadow-lg","origin-top-right animate-in fade-in-0 zoom-in-[0.98] slide-in-from-top-1 duration-(--duration-fast) ease-out-soft",i),children:d})]})}function eu({state:e,onChange:a,epics:n,dirty:r,activeIsBuiltIn:i,onSave:o,onSaveAs:d,onReset:c,searchInputId:u,filterOpen:x,onFilterOpenChange:p}){let[m,h]=(0,s.useState)(!1),b=t=>a({...e,...t}),[f,g]=(0,s.useState)(e.q),[j,v]=(0,s.useState)(e.q),[N,w]=(0,s.useState)(null);e.q!==j&&(v(e.q),e.q===N?w(null):null===N&&g(e.q));let k=t=>{g(t),w(t===e.q?null:t),b({q:t})},M="timeline"===e.kind,C="board"===e.kind,D=M?ee.filter(e=>"epic"===e.value||"none"===e.value):ee,z=ee.find(t=>t.value===e.group)?.label??"None",T=et.find(t=>t.value===e.subGroup)?.label??"None",$="max-sm:h-9 max-sm:flex-1 max-sm:justify-center max-sm:border-border";return(0,t.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-1",children:[(0,t.jsxs)("label",{className:"flex h-8 w-full items-center gap-2 rounded-md border border-border bg-bg px-2.5 text-[13px] text-muted focus-within:border-accent sm:w-65 max-sm:h-9",children:[(0,t.jsx)(_.Search,{"aria-hidden":!0,className:"size-3.5 shrink-0"}),(0,t.jsx)("span",{className:"sr-only",children:"Filter by title or ID"}),(0,t.jsx)("input",{id:u,type:"search",value:f,placeholder:"Filter by title or ID…",onChange:e=>k(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(f?k(""):e.currentTarget.blur())},className:"min-w-0 grow bg-transparent text-txt outline-hidden placeholder:text-muted [&::-webkit-search-cancel-button]:hidden"}),(0,t.jsx)("kbd",{className:(0,y.cn)(eo,"max-sm:hidden"),children:"/"})]}),(0,t.jsx)("span",{className:"grow max-sm:hidden"}),(0,t.jsxs)("div",{className:"relative flex gap-1.5 max-sm:w-full sm:static sm:gap-1",children:[(0,t.jsx)(ec,{open:x,onOpenChange:p,label:"Filter",triggerClassName:(0,y.cn)(el,$,(x||e.filters.length>0)&&er),panelClassName:"inset-x-0 sm:left-auto sm:right-0 sm:w-140",trigger:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(A,{"aria-hidden":!0,className:"size-3.5"}),"Filter",e.filters.length>0&&(0,t.jsx)("span",{className:"font-mono text-txt",children:e.filters.length}),(0,t.jsx)("kbd",{className:(0,y.cn)(eo,"ml-0.5 max-sm:hidden"),children:"f"})]}),children:(0,t.jsx)(eh,{filters:e.filters,epics:n,onChange:e=>b({filters:e})})}),(0,t.jsx)(ec,{open:m,onOpenChange:h,label:"Sort",triggerClassName:(0,y.cn)(el,$,(m||e.sorts.length>0)&&er),panelClassName:"inset-x-0 sm:left-auto sm:right-0 sm:w-95",trigger:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(L,{"aria-hidden":!0,className:"size-3.5"}),"Sort",e.sorts.length>0&&(0,t.jsx)("span",{className:"font-mono text-txt",children:e.sorts.length})]}),children:(0,t.jsx)(eg,{sorts:e.sorts,onChange:e=>b({sorts:e})})}),(0,t.jsxs)(S.DropdownMenu,{children:[(0,t.jsxs)(S.DropdownMenuTrigger,{className:(0,y.cn)(el,$,C&&"max-md:hidden"),children:[(0,t.jsx)(q,{"aria-hidden":!0,className:"size-3.5"}),(0,t.jsx)("span",{className:"max-sm:hidden",children:"Group"}),C?(0,t.jsxs)("span",{className:"text-txt",children:["Status","none"!==e.subGroup&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"px-1 text-muted",children:"›"}),T]})]}):(0,t.jsx)("span",{className:"text-txt",children:z})]}),(0,t.jsx)(S.DropdownMenuContent,{align:"end",children:C?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(S.DropdownMenuLabel,{className:"text-xs text-muted",children:"Swimlanes"}),(0,t.jsx)(S.DropdownMenuRadioGroup,{value:e.subGroup,onValueChange:e=>b({subGroup:e}),children:et.map(e=>(0,t.jsx)(S.DropdownMenuRadioItem,{value:e.value,children:e.label},e.value))})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(S.DropdownMenuLabel,{className:"text-xs text-muted",children:"Group by"}),(0,t.jsx)(S.DropdownMenuRadioGroup,{value:e.group,onValueChange:e=>b({group:e}),children:D.map(e=>(0,t.jsx)(S.DropdownMenuRadioItem,{value:e.value,children:e.label},e.value))})]})})]}),!M&&(0,t.jsxs)(S.DropdownMenu,{children:[(0,t.jsxs)(S.DropdownMenuTrigger,{className:(0,y.cn)(el,"max-sm:hidden"),children:[(0,t.jsx)(V,{"aria-hidden":!0,className:"size-3.5"}),"Properties"]}),(0,t.jsxs)(S.DropdownMenuContent,{align:"end",children:[(0,t.jsx)(S.DropdownMenuLabel,{className:"text-xs text-muted",children:"Show"}),es.map(s=>(0,t.jsx)(S.DropdownMenuCheckboxItem,{checked:e.properties.includes(s.key),onSelect:e=>e.preventDefault(),onCheckedChange:t=>b({properties:es.map(e=>e.key).filter(a=>a===s.key?!0===t:e.properties.includes(a))}),children:s.label},s.key))]})]})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[e.filters.map((s,a)=>(0,t.jsx)(ep,{rule:s,onRemove:()=>b({filters:e.filters.filter((e,t)=>t!==a)})},a)),(0,t.jsxs)("button",{type:"button",onClick:()=>p(!0),className:(0,y.cn)(el,"h-6.5 px-2"),children:[(0,t.jsx)(l.Plus,{"aria-hidden":!0,className:"size-3.25"}),"Add filter"]}),(0,t.jsx)("span",{className:"grow"}),r&&(0,t.jsx)(em,{activeIsBuiltIn:i,onSave:o,onSaveAs:d,onReset:c})]})]})}function ex(e){return"is"===e.op&&e.value.length>1?"is any of":X[e.prop][e.op]??e.op}function ep({rule:e,onRemove:s}){var a;let n="is-set"!==e.op&&"not-set"!==e.op,l=(a=(0,G.useStatusLabel)(),"status"===e.prop?{text:e.value.map(a).join(", "),mono:!1}:"epic"===e.prop?{text:e.value.map(e=>"none"===e?"No epic":e).join(", "),mono:!e.value.includes("none")}:"owner"===e.prop?{text:e.value.map(e=>Y[e]??e).join(", "),mono:!1}:{text:e.value.join(", "),mono:!0}),r=`${B[e.prop]} ${ex(e)}${n?` ${l.text}`:""}`;return(0,t.jsxs)("span",{className:"inline-flex h-6.5 max-w-full items-center gap-1.5 rounded-sm border border-border2 bg-surface pl-2.25 pr-1 text-xs text-txt",children:[(0,t.jsxs)("span",{className:"truncate",children:[(0,t.jsx)("b",{className:"font-medium text-muted",children:B[e.prop]})," ",ex(e),n&&(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("span",{className:(0,y.cn)("text-txt",l.mono&&"font-mono text-[11px]"),children:l.text||"—"})]})]}),(0,t.jsx)("button",{type:"button","aria-label":`Remove filter: ${r}`,onClick:s,className:(0,y.cn)("inline-flex rounded-xs p-0.75 text-muted hover:text-txt",en),children:(0,t.jsx)(W.X,{"aria-hidden":!0,className:"size-3"})})]})}function em({activeIsBuiltIn:e,onSave:a,onSaveAs:n,onReset:l}){let[r,i]=(0,s.useState)(!1),[o,d]=(0,s.useState)("");return r?(0,t.jsxs)("form",{className:"flex items-center gap-1.5",onSubmit:e=>{let t;e.preventDefault(),(t=o.trim())&&(n(t),i(!1),d(""))},children:[(0,t.jsx)("input",{autoFocus:!0,"aria-label":"New view name",placeholder:"View name",value:o,maxLength:60,onChange:e=>d(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.stopPropagation(),i(!1))},className:"h-7 w-44 rounded-md border border-accent bg-bg px-2 text-[13px] text-txt outline-hidden placeholder:text-muted"}),(0,t.jsx)("button",{type:"submit",disabled:!o.trim(),className:(0,y.cn)(el,er,"h-7 disabled:opacity-40"),children:"Save"}),(0,t.jsx)("button",{type:"button",onClick:()=>i(!1),className:(0,y.cn)(el,"h-7"),children:"Cancel"})]}):(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"mr-1 text-xs text-muted",children:"Unsaved changes"}),(0,t.jsx)("button",{type:"button",onClick:l,className:(0,y.cn)(el,"text-txt"),children:"Reset"}),(0,t.jsx)("button",{type:"button",onClick:()=>i(!0),className:(0,y.cn)(el,"text-txt"),children:e?"Save as new view":"Save as new"}),(0,t.jsxs)("button",{type:"button",onClick:a,className:(0,y.cn)(el,er),children:[(0,t.jsx)(u,{"aria-hidden":!0,className:"size-3.25"}),"Save view"]})]})}function eh({filters:e,epics:a,onChange:n}){let r=(t,s)=>n(e.map((e,a)=>a===t?s:e)),i=(0,s.useId)();return(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{id:i,className:"mb-2.5 ml-0.5 text-xs font-semibold",children:"Show tasks where"}),0===e.length&&(0,t.jsx)("p",{className:"mb-1 ml-0.5 text-xs text-muted",children:"No filters yet. Every task shows except cancelled ones."}),(0,t.jsx)("ul",{"aria-labelledby":i,className:"flex flex-col gap-1.5",children:e.map((s,l)=>{let i=Object.entries(X[s.prop]),o=l+1;return(0,t.jsxs)("li",{className:"flex flex-wrap items-center gap-1.5 text-xs text-muted sm:grid sm:grid-cols-[48px_120px_100px_minmax(0,1fr)_28px]",children:[(0,t.jsx)("span",{className:"w-10 pl-1 sm:w-auto",children:0===l?"Where":"and"}),(0,t.jsx)("select",{"aria-label":`Rule ${o} property`,value:s.prop,onChange:e=>r(l,ea(e.target.value,a)),className:(0,y.cn)(ei,"w-32.5 sm:w-auto"),children:K.map(e=>(0,t.jsx)("option",{value:e.prop,children:e.label},e.prop))}),(0,t.jsx)("select",{"aria-label":`Rule ${o} condition`,value:s.op,onChange:e=>{let t=e.target.value,n="is-set"===t||"not-set"===t?[]:s.value.length?s.value:ea(s.prop,a).value;r(l,{...s,op:t,value:n})},className:(0,y.cn)(ei,"w-27.5 sm:w-auto"),children:i.map(([e,s])=>(0,t.jsx)("option",{value:e,children:s},e))}),(0,t.jsx)("span",{className:"min-w-0 grow basis-40 sm:basis-auto",children:(0,t.jsx)(eb,{rule:s,n:o,epics:a,onChange:e=>r(l,{...s,value:e})})}),(0,t.jsx)("button",{type:"button","aria-label":`Remove rule ${o}`,onClick:()=>n(e.filter((e,t)=>t!==l)),className:ed,children:(0,t.jsx)(W.X,{"aria-hidden":!0,className:"size-3.5"})})]},l)})}),(0,t.jsxs)("div",{className:"mt-2.5 flex flex-wrap items-center gap-1.5 border-t border-border pt-2.5",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>n([...e,ea("status",a)]),className:el,children:[(0,t.jsx)(l.Plus,{"aria-hidden":!0,className:"size-3.5"}),"Add rule"]}),(0,t.jsx)("span",{className:"grow"}),(0,t.jsx)("span",{className:"text-[11px] text-muted max-sm:hidden",children:"Rules combine with and"})]})]})}function eb({rule:e,n:s,epics:a,onChange:n}){return"is-set"===e.op||"not-set"===e.op?null:"due"===e.prop?(0,t.jsx)("input",{type:"date","aria-label":`Rule ${s} date`,value:e.value[0]??"",onChange:e=>n(e.target.value?[e.target.value]:[]),className:(0,y.cn)(ei,"w-full scheme-dark")}):J.includes(e.prop)?(0,t.jsx)(ef,{rule:e,n:s,epics:a,onChange:n}):null}function ef({rule:e,n:a,epics:n,onChange:l}){let[r,i]=(0,s.useState)(!1),o=(0,H.useStatusDefs)(),d=(0,G.useStatusLabel)(),c="status"===e.prop?o.map(e=>({value:e.id,node:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(G.StatusIcon,{status:e.id}),e.label]})})):"epic"===e.prop?[{value:"none",node:(0,t.jsx)("span",{className:"text-muted",children:"No epic"})},...n.map(e=>({value:e.id,node:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.id}),(0,t.jsx)("span",{className:"truncate",children:e.title})]})}))]:"owner"===e.prop?Object.entries(Y).map(([e,s])=>({value:e,node:(0,t.jsx)("span",{children:s})})):Z.map(e=>({value:e,node:(0,t.jsx)("span",{className:"font-mono",children:e})})),u=e.value[0],x=u?"status"===e.prop?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(G.StatusIcon,{status:u}),(0,t.jsx)("span",{className:"truncate",children:d(u)})]}):"owner"===e.prop?(0,t.jsx)("span",{className:"truncate",children:Y[u]??u}):"epic"===e.prop&&"none"!==u?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:u}),(0,t.jsx)("span",{className:"truncate",children:n.find(e=>e.id===u)?.title??""})]}):(0,t.jsx)("span",{className:(0,y.cn)("truncate","size"===e.prop&&"font-mono"),children:"none"===u?"No epic":u}):(0,t.jsx)("span",{className:"text-muted",children:"Choose…"});return(0,t.jsx)(ec,{open:r,onOpenChange:i,label:`${B[e.prop]} values`,anchorClassName:"relative",triggerClassName:(0,y.cn)(ei,"flex w-full items-center gap-1.5 text-left"),panelClassName:"left-0 z-40 max-h-64 w-64 overflow-y-auto p-1",trigger:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"sr-only",children:["Rule ",a," values: "]}),x,e.value.length>1&&(0,t.jsxs)("span",{className:"font-mono text-[11px] text-muted",children:["+",e.value.length-1]}),(0,t.jsx)("span",{className:"grow"}),(0,t.jsx)(m.ChevronDown,{"aria-hidden":!0,className:"size-3.5 shrink-0 text-muted"})]}),children:(0,t.jsx)("ul",{className:"flex flex-col",children:c.map(s=>(0,t.jsx)("li",{children:(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-[13px] text-txt hover:bg-surface2",children:[(0,t.jsx)("input",{type:"checkbox",checked:e.value.includes(s.value),onChange:t=>l(t.target.checked?[...e.value,s.value]:e.value.filter(e=>e!==s.value)),className:"size-3.5 accent-accent"}),(0,t.jsx)("span",{className:"flex min-w-0 items-center gap-1.5",children:s.node})]})},s.value))})})}function eg({sorts:e,onChange:s}){let a=(t,a)=>s(e.map((e,s)=>s===t?a:e)),n=(t,a)=>{let n=[...e];[n[t],n[t+a]]=[n[t+a],n[t]],s(n)},r=Q.filter(t=>!e.some(e=>e.prop===t.prop));return(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-2.5 ml-0.5 text-xs font-semibold",children:"Sort by"}),0===e.length&&(0,t.jsx)("p",{className:"mb-1 ml-0.5 text-xs text-muted",children:"Default order: by ID."}),(0,t.jsx)("ol",{className:"flex flex-col gap-1.5",children:e.map((l,r)=>{let i=r+1,o=Q.find(e=>e.prop===l.prop)?.label??l.prop;return(0,t.jsxs)("li",{className:"flex items-center gap-1",children:[(0,t.jsx)("button",{type:"button","aria-label":`Move ${o} sort up`,disabled:0===r,onClick:()=>n(r,-1),className:ed,children:(0,t.jsx)(O.ArrowUp,{"aria-hidden":!0,className:"size-3.5"})}),(0,t.jsx)("button",{type:"button","aria-label":`Move ${o} sort down`,disabled:r===e.length-1,onClick:()=>n(r,1),className:ed,children:(0,t.jsx)(E.ArrowDown,{"aria-hidden":!0,className:"size-3.5"})}),(0,t.jsx)("select",{"aria-label":`Sort ${i} property`,value:l.prop,onChange:e=>a(r,{...l,prop:e.target.value}),className:(0,y.cn)(ei,"ml-0.5 grow"),children:Q.filter(t=>t.prop===l.prop||!e.some(e=>e.prop===t.prop)).map(e=>(0,t.jsx)("option",{value:e.prop,children:e.label},e.prop))}),(0,t.jsxs)("select",{"aria-label":`Sort ${i} direction`,value:l.dir,onChange:e=>a(r,{...l,dir:e.target.value}),className:(0,y.cn)(ei,"w-37.5"),children:[(0,t.jsx)("option",{value:"asc",children:"status"===l.prop?"Workflow order":"Ascending"}),(0,t.jsx)("option",{value:"desc",children:"status"===l.prop?"Reverse workflow":"Descending"})]}),(0,t.jsx)("button",{type:"button","aria-label":`Remove ${o} sort`,onClick:()=>s(e.filter((e,t)=>t!==r)),className:ed,children:(0,t.jsx)(W.X,{"aria-hidden":!0,className:"size-3.5"})})]},l.prop)})}),(0,t.jsx)("div",{className:"mt-2.5 border-t border-border pt-2.5",children:(0,t.jsxs)("button",{type:"button",disabled:!r.length,onClick:()=>s([...e,{prop:r[0].prop,dir:"asc"}]),className:(0,y.cn)(el,"disabled:opacity-40"),children:[(0,t.jsx)(l.Plus,{"aria-hidden":!0,className:"size-3.5"}),"Add sort"]})}),(0,t.jsx)("p",{className:"mx-0.5 mt-2 text-[11px] leading-normal text-muted",children:"Workflow order: In progress → Review → Todo → Blocked → Done. Ties fall back to ID."})]})}var ej=e.i(675964),ev=e.i(694628),eN=e.i(138324);let ew={name:"corner-down-right",size:24,node:[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]};ew.node;let ek=(0,d.default)(ew);var ey=e.i(690457),eS=e.i(666326),eM=e.i(248070);let eC={name:"panel-right-open",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m10 15-3-3 3-3",key:"1pgupc"}]]};eC.node;let eD=(0,d.default)(eC);var ez=e.i(564849),eT=e.i(35032),e$=e.i(901778),eI=e.i(673635),eE=e.i(723528),eO=e.i(67874);let eR=["status","epic","size","due","deps","tests","agent","owner"];function eL({task:e,onOpen:a,properties:n=eR,selected:l=!1,onSelect:r}){let[i,d]=(0,s.useState)(!1),c=n.includes("epic")&&e.phase?(0,o.epicOf)(e.phase):null,u="todo"===e.status&&e.raw?(0,eO.latestReview)(e.raw):null,x=n.includes("size")?(0,o.sizeOf)(e):null,p="done"===e.status||"cancelled"===e.status,m=n.includes("deps")?e.dependsOn.match(/\bT\d+\b/g)??[]:[],h=n.includes("tests")?e.manualTests:null,b=u?.outcome==="changes requested";return(0,t.jsxs)("div",{draggable:!0,role:"button",tabIndex:0,"aria-label":`${e.id} ${e.title}`,"aria-pressed":r?l:void 0,onClick:e=>{r&&(e.shiftKey||e.metaKey||e.ctrlKey)?r():a()},onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),a())},onDragStart:t=>{t.dataTransfer.setData("taskId",e.id),t.dataTransfer.effectAllowed="move",d(!0)},onDragEnd:()=>d(!1),style:{viewTransitionName:`task-${e.file.replace(/[^a-zA-Z0-9_-]/g,"_")}`},className:(0,y.cn)("group cursor-pointer rounded-lg border border-border bg-surface px-3 py-2.5 text-left outline-hidden","transition-[border-color,background-color,opacity,box-shadow] duration-(--duration-fast)","hover:border-border2 hover:bg-surface2/50 focus-visible:border-accent/60 focus-visible:shadow-[0_0_0_3px_rgb(var(--rgb-accent)/0.15)]",i&&"cursor-grabbing opacity-50",l&&"border-accent bg-accent/5 hover:border-accent"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 font-mono text-[11px] text-muted",children:[(0,t.jsx)("span",{children:e.id}),n.includes("agent")&&(0,t.jsx)(eE.AgentDot,{attach:{kind:"task",id:e.id}}),n.includes("owner")&&e.owner&&(0,t.jsx)(e$.TaskOwnerField,{task:e,children:(0,t.jsx)(eT.OwnerChip,{owner:e.owner,className:"text-[10px] [&_svg]:size-3"})}),(0,t.jsx)("span",{className:"flex-1"}),n.includes("due")&&e.due&&!p&&(0,t.jsx)(e$.TaskDueField,{task:e,children:(0,t.jsx)("span",{title:"Due",children:e.due.slice(5)})}),x&&(0,t.jsx)(e$.TaskSizeField,{task:e,children:(0,t.jsx)("span",{title:e.size,className:"rounded-sm bg-surface2 px-1 text-[10px]",children:x})}),(0,t.jsx)(eF,{task:e,onOpen:a})]}),(0,t.jsx)("p",{className:(0,y.cn)("mt-1 line-clamp-2 text-[13px] font-medium leading-snug",p?"text-muted":"text-txt"),children:e.title}),(c||b||m.length>0||h)&&(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-x-2 gap-y-1.5",children:[c&&(0,t.jsxs)("span",{className:"inline-flex min-w-0 max-w-full items-center gap-1 text-[11px] text-muted",title:e.phase,children:[c.id&&(0,t.jsx)("span",{className:"font-mono text-[10px]",children:c.id}),(0,t.jsx)("span",{className:"truncate",children:c.title})]}),b&&(0,t.jsxs)("span",{title:u?.note,className:"inline-flex items-center gap-1 rounded-sm border border-amber/40 bg-amber/5 px-1.5 py-0.5 text-[10px] text-amber",children:[(0,t.jsx)(ey.CornerUpLeft,{className:"size-3","aria-hidden":!0})," changes requested"]}),m.length>0&&(0,t.jsxs)("span",{title:`Depends on ${m.join(", ")}`,className:"inline-flex items-center gap-1 font-mono text-[10px] text-muted",children:[(0,t.jsx)(ek,{className:"size-3","aria-label":"Depends on"}),m.join(", ")]}),h&&(0,t.jsxs)(eN.default,{href:`/manual-tests#${e.id}`,draggable:!1,onClick:e=>e.stopPropagation(),title:`Manual tests: ${h.done} of ${h.total} ticked`,className:(0,y.cn)("inline-flex items-center gap-1 rounded-sm border px-1.5 py-0.5 font-mono text-[10px] transition-colors hover:border-accent/50",h.done===h.total?"border-teal/30 bg-teal/5 text-teal":"border-border text-muted"),children:[(0,t.jsx)(eS.FlaskConical,{className:"size-3","aria-hidden":!0}),h.done,"/",h.total]})]})]})}function eF({task:e,onOpen:s}){let{rootParam:a}=(0,n.useApp)(),l=e=>e.stopPropagation();return(0,t.jsxs)(S.DropdownMenu,{children:[(0,t.jsx)(S.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",draggable:!1,"aria-label":`Actions for ${e.id}`,onClick:l,onKeyDown:l,className:"-my-1 -mr-1 grid size-5 place-items-center rounded-sm text-muted opacity-0 transition-opacity hover:bg-surface2 hover:text-txt focus-visible:opacity-100 group-hover:opacity-100 data-[state=open]:opacity-100",children:(0,t.jsx)(eM.MoreHorizontal,{className:"size-3.5"})})}),(0,t.jsxs)(S.DropdownMenuContent,{align:"end",className:"w-40",onClick:l,onKeyDown:l,children:[(0,t.jsxs)(S.DropdownMenuItem,{onSelect:s,children:[(0,t.jsx)(eD,{})," Open"]}),(0,t.jsx)(S.DropdownMenuSeparator,{}),(0,t.jsxs)(S.DropdownMenuItem,{onSelect:()=>{(0,ez.deleteTaskWithUndo)(e,a).catch(e=>(0,eI.toast)(e.message))},className:"text-danger focus:text-danger",children:[(0,t.jsx)(k.Trash2,{})," Delete"]})]})]})}let eA=["in-progress","review","todo","blocked","paused","done"],eP={todo:"bg-border2","in-progress":"bg-amber",review:"bg-accent",blocked:"bg-danger",paused:"bg-muted/60",done:"bg-teal",cancelled:"bg-border"},eq=e=>"done"===e.status||"cancelled"===e.status,e_=(e,t)=>t.id.localeCompare(e.id,void 0,{numeric:!0}),eU=(e,t)=>e.filter(e=>(0,ev.displayStatus)(e)===t||"done"===t&&"cancelled"===e.status);function eV({tasks:e,state:a,onOpenTask:n,onMoveTask:l,selected:r,onToggleSelect:i}){let[d,c]=(0,s.useState)(!1),u=(0,H.useStatusDefs)(),x=(0,G.useStatusLabel)(),p=u.filter(e=>"cancelled"!==e.id).map(e=>e.id),h=[...u.filter(e=>"cancelled"!==e.id)].sort((e,t)=>eA.indexOf(e.category)-eA.indexOf(t.category)).map(e=>e.id),[b,f]=(0,s.useState)(!1),[g,j]=(0,s.useState)({}),[v,N]=(0,s.useState)(!1),[w,k]=(0,s.useState)(!1);if(0===e.length)return(0,t.jsxs)("div",{className:"grid place-items-center rounded-lg border border-dashed border-border px-4 py-12 text-center",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-txt",children:"No tasks match these filters."}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted",children:"Remove a filter or clear the search to see more."})]});let S="none"===a.subGroup?null:(0,o.groupTasks)(e,a.subGroup),M="epic"===a.subGroup?a.properties.filter(e=>"epic"!==e):a.properties,C=e=>(0,t.jsx)(eL,{task:e,properties:M,onOpen:()=>n(e),selected:r?.has(e.id),onSelect:i&&(()=>i([e.id]))},e.id),D=S?.filter(e=>!e.tasks.every(eq))??[],z=S?.filter(e=>e.tasks.every(eq))??[],T=v?0:Math.max(0,z.length-4),$=[...D,...z.slice(0,z.length-T)],I="epic"===a.subGroup?"epics":"sizes",E=d||z.some(e=>g[e.key]),O=()=>{E?(c(!1),j(e=>Object.fromEntries(Object.entries(e).filter(([e])=>!z.some(t=>t.key===e))))):c(!0)},R={gridTemplateColumns:p.map(e=>("done"!==e||E)&&("paused"!==e||b)?"minmax(0,1fr)":"140px").join(" ")},L=(e,s)=>p.map(a=>{let r=eU(e,a);return(0,t.jsx)(eW,{status:a,onMoveTask:l,children:("done"!==a||E)&&("paused"!==a||b)?r.length?("done"===a?[...r].sort(e_):r).map(C):s&&!w?null:(0,t.jsx)("div",{className:"grid h-11 place-items-center rounded-lg border border-dashed border-border text-[11px] text-muted/70",children:s?"":"Drop a task here"}):(0,t.jsx)(eG,{tasks:r,noun:"done"===a?"done":"paused",compact:s,dragging:w,onOpenTask:n})},a)});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"hidden md:block",onDragStartCapture:()=>k(!0),onDragEndCapture:()=>k(!1),children:[(0,t.jsx)("div",{className:(0,y.cn)("grid gap-3 border-b border-border",S&&"pl-7.5"),style:R,children:p.map(s=>{let a;return(0,t.jsx)(eW,{status:s,onMoveTask:l,header:!0,children:(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5 px-0.5 pb-2 text-xs font-semibold text-txt",children:[(0,t.jsx)(G.StatusIcon,{status:s}),(0,t.jsx)("h2",{className:"truncate",children:x(s)}),(0,t.jsx)("span",{className:"font-mono font-normal text-muted tabular-nums",children:eU(e,s).length}),("done"===s||"paused"===s)&&(a="done"===s?E:b,(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)("button",{type:"button",onClick:"done"===s?O:()=>f(e=>!e),"aria-expanded":a,"aria-label":`${a?"Collapse":"Expand"} ${x(s)}`,className:"-my-1 grid size-6 place-items-center rounded-md text-muted outline-hidden transition-colors duration-(--duration-fast) hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent/60",children:(0,t.jsx)(ej.ChevronRight,{className:(0,y.cn)("size-3.5 transition-transform duration-(--duration-base) ease-out-soft",a&&"rotate-180"),"aria-hidden":!0})})]}))]})},s)})}),S?(0,t.jsxs)(t.Fragment,{children:[$.map(e=>{let s=e.tasks.every(eq),a=g[e.key]??!s,n=e.tasks.filter(eq).length;return(0,t.jsxs)("section",{"aria-label":e.epicId?`${e.epicId} ${e.label}`:e.label,children:[(0,t.jsxs)("button",{type:"button",onClick:()=>j(t=>({...t,[e.key]:!a})),"aria-expanded":a,className:"mt-1.5 flex h-8.5 w-full items-center gap-2.5 rounded-md px-1.5 text-left outline-hidden transition-colors duration-(--duration-fast) hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent/60",children:[a?(0,t.jsx)(m.ChevronDown,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}):(0,t.jsx)(ej.ChevronRight,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),e.epicId&&(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.epicId}),(0,t.jsx)("span",{className:"min-w-0 truncate text-[13px] font-semibold text-txt",children:e.label}),(0,t.jsx)("span",{className:"flex w-30 shrink-0 gap-0.5","aria-hidden":!0,children:e.tasks.map(e=>(0,t.jsx)("span",{className:(0,y.cn)("h-1 flex-1 rounded-full",eP[e.status])},e.id))}),(0,t.jsxs)("span",{className:"font-mono text-[11px] text-muted tabular-nums","aria-label":`${n} of ${e.tasks.length} done`,children:[(0,t.jsx)("span",{className:"text-txt",children:n}),"/",e.tasks.length]}),s&&(0,t.jsx)("span",{className:"text-xs text-muted",children:"all done"})]}),(0,t.jsx)("div",{className:(0,y.cn)("grid transition-[grid-template-rows,opacity] duration-(--duration-base) ease-out-soft",a?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"),children:(0,t.jsx)("div",{className:"min-h-0 overflow-hidden",inert:!a,children:(0,t.jsx)("div",{className:"grid gap-3 pt-2 pb-1 pl-7.5",style:R,children:L(e.tasks,!0)})})})]},e.key)}),T>0&&(0,t.jsxs)("p",{className:"mt-2 ml-9 text-xs text-muted",children:["+ ",(0,t.jsx)("span",{className:"font-mono",children:T})," more ",I,", all done ·"," ",(0,t.jsx)("button",{type:"button",onClick:()=>N(!0),className:"rounded-sm text-txt underline decoration-accent underline-offset-2 outline-hidden hover:decoration-txt focus-visible:ring-2 focus-visible:ring-accent/60",children:"Show"})]})]}):(0,t.jsx)("div",{className:"grid gap-3 pt-3",style:R,children:L(e,!1)})]}),(0,t.jsxs)("div",{className:"md:hidden",children:[e.every(eq)&&(0,t.jsx)("p",{className:"mt-3.5 text-sm text-muted",children:"Nothing open. Every task here is done."}),h.map(s=>{let a=eU(e,s);if(!a.length)return null;let n="done"===s&&!d||"paused"===s&&!b;return(0,t.jsxs)("section",{"aria-label":x(s),children:[(0,t.jsxs)("h2",{className:"mt-3.5 mb-2 flex items-center gap-1.5 text-xs font-semibold text-txt",children:[(0,t.jsx)(G.StatusIcon,{status:s}),x(s),(0,t.jsx)("span",{className:"font-mono font-normal text-muted tabular-nums",children:a.length}),(0,t.jsx)("span",{className:"h-px flex-1 bg-border"}),("done"===s||"paused"===s)&&(0,t.jsx)("button",{type:"button",onClick:()=>("done"===s?c:f)(e=>!e),"aria-expanded":!n,className:"min-h-11 rounded-md px-2 text-xs font-normal text-muted outline-hidden hover:text-txt focus-visible:ring-2 focus-visible:ring-accent/60",children:n?"Show":"Hide"})]}),!n&&(0,t.jsx)("div",{className:"flex flex-col gap-2",children:("done"===s?[...a].sort(e_):a).map(C)})]},s)})]})]})}function eW({status:e,onMoveTask:a,header:n=!1,children:l}){let[r,i]=(0,s.useState)(!1);return(0,t.jsx)("div",{"data-column":n?void 0:e,"data-column-header":n?e:void 0,className:(0,y.cn)("flex min-w-0 flex-col gap-2 rounded-lg",!n&&"min-h-11","transition-[background-color,box-shadow] duration-(--duration-fast)",r&&"bg-accent/5 shadow-[0_0_0_1px_rgb(var(--rgb-accent)/0.5)]"),onDragOver:e=>{e.preventDefault(),i(!0)},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||i(!1)},onDrop:t=>{t.preventDefault(),i(!1);let s=t.dataTransfer.getData("taskId");s&&a(s,e)},children:l})}function eG({tasks:e,noun:s,compact:a,dragging:n,onOpenTask:l}){if(!e.length)return a&&!n?null:(0,t.jsx)("div",{className:"grid h-11 place-items-center rounded-lg border border-dashed border-border text-[11px] text-muted/70",children:a?"":"Drop here"});let r=[...e].sort(e_).slice(0,5);return(0,t.jsxs)("div",{className:"flex flex-col gap-1 rounded-lg border border-dashed border-border2 px-2 py-1.5 text-[11px] text-muted",children:[(0,t.jsx)("span",{className:"flex flex-wrap gap-x-1.5 font-mono",children:r.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>l(e),title:e.title,className:"rounded-sm text-txt outline-hidden hover:text-accent focus-visible:ring-2 focus-visible:ring-accent/60",children:e.id},e.id))}),(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"font-mono",children:e.length})," ",s]})]})}var eH=e.i(479432),eK=e.i(692172);let eB=["status","epic","owner","size","due","deps","tests","agent"],eX={status:"Status",epic:"Epic",size:"Size",due:"Due",deps:"Depends on",tests:"Tests",agent:"Agent",owner:"Owner"},eJ={status:"w-[120px]",epic:"w-[170px]",size:"w-[56px]",due:"w-[92px]",deps:"w-[140px]",tests:"w-[72px]",agent:"w-[88px]",owner:"w-[104px]"},eY=new Set(["epic","size","deps","tests","owner"]),eZ=new Set(["id","title","status","epic","size","due"]),eQ={todo:"bg-border2","in-progress":"bg-amber",review:"bg-accent",blocked:"bg-danger",paused:"bg-muted/60",done:"bg-teal",cancelled:"bg-border"},e0="font-mono text-[11px] text-muted",e1="focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent";function e2({tasks:e,state:a,agentTasks:n,onOpenTask:l,onSort:r,selected:i=new Set,onToggleSelect:d}){let c=(0,H.useStatusDefs)(),u=eB.filter(e=>a.properties.includes(e)),x="none"===a.group?[{key:"all",label:"All tasks",epicId:null,tasks:e}]:(0,o.groupTasks)(e,a.group,c),[p,m]=(0,s.useState)({}),h=(0,eK.localToday)();if(0===e.length)return(0,t.jsxs)("div",{className:"rounded-lg border border-border px-4 py-12 text-center",children:[(0,t.jsx)("p",{className:"text-sm text-txt",children:"No tasks match these filters."}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted",children:"Remove a filter or clear the search to see more."})]});let b=3+u.length,f=e.every(e=>i.has(e.id)),g="size-3.5 cursor-pointer accent-[var(--color-accent)]",j=e=>eY.has(e)?"hidden md:table-cell":"",v=(e,s,n="")=>{let l=a.sorts.findIndex(t=>t.prop===e),i=l>=0?a.sorts[l]:null;if(!eZ.has(e))return(0,t.jsx)("th",{scope:"col",className:(0,y.cn)("px-2.5 text-left font-medium",n),children:s},e);let o=i?.dir==="desc"?E.ArrowDown:O.ArrowUp;return(0,t.jsx)("th",{scope:"col","aria-sort":0===l?i?.dir==="desc"?"descending":"ascending":"none",className:(0,y.cn)("px-1 text-left font-medium",n),children:(0,t.jsxs)("button",{type:"button",title:"Click to sort · Shift-click to add a sort",onClick:t=>{var s,n;let l,i;return r((s=a.sorts,n=t.shiftKey,l=s.findIndex(t=>t.prop===e),i=e=>({prop:e.prop,dir:"asc"===e.dir?"desc":"asc"}),n?l<0?[...s,{prop:e,dir:"asc"}]:s.map((e,t)=>t===l?i(e):e):1===s.length&&0===l?[i(s[0])]:[{prop:e,dir:"asc"}]))},className:(0,y.cn)("inline-flex h-7 items-center gap-1 rounded-sm px-1.5 transition-colors duration-(--duration-fast) ease-out-soft hover:bg-surface2 hover:text-txt",i&&"text-txt",e1),children:[s,i&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o,{className:"size-3","aria-hidden":!0}),(0,t.jsx)("span",{className:"font-mono text-[10px] text-muted",children:l+1})]})]})},e)},N=e=>{let s="done"===e.status||"cancelled"===e.status;return(0,t.jsxs)("tr",{onClick:t=>{t.target.closest("button")||l(e)},className:(0,y.cn)("h-9 cursor-pointer border-b border-border text-[13px] transition-colors duration-(--duration-fast) ease-out-soft last:border-b-0 hover:bg-surface2",i.has(e.id)&&"bg-accent/5"),children:[(0,t.jsx)("td",{className:"pl-3",onClick:e=>e.stopPropagation(),children:(0,t.jsx)("input",{type:"checkbox","aria-label":`Select ${e.id}`,checked:i.has(e.id),onChange:()=>d?.([e.id]),className:g})}),(0,t.jsx)("td",{className:(0,y.cn)("px-2.5",e0),children:e.id}),(0,t.jsx)("td",{className:"min-w-0 px-1",children:(0,t.jsx)("button",{type:"button",onClick:()=>l(e),title:e.title,className:(0,y.cn)("block w-full truncate rounded-sm px-1.5 py-1 text-left font-medium",s?"text-muted":"text-txt",e1),children:e.title})}),u.map(s=>((e,s)=>{let a=(0,y.cn)("px-2.5",j(s));switch(s){case"status":return(0,t.jsx)("td",{className:a,children:(0,t.jsx)(e$.TaskStatusField,{task:e})},s);case"epic":{let n=(0,o.epicOf)(e.phase);return(0,t.jsx)("td",{className:a,children:n.id||n.title?(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-xs",children:[n.id&&(0,t.jsx)("span",{className:e0,children:n.id}),(0,t.jsx)("span",{className:"truncate text-muted",children:n.title})]}):(0,t.jsx)("span",{className:e0,children:"—"})},s)}case"size":return(0,t.jsx)("td",{className:(0,y.cn)(a,e0),children:(0,t.jsx)(e$.TaskSizeField,{task:e})},s);case"owner":return(0,t.jsx)("td",{className:a,children:(0,t.jsx)(e$.TaskOwnerField,{task:e})},s);case"due":{let n=!!e.due&&"done"!==e.status&&"cancelled"!==e.status&&e.due<h;return(0,t.jsx)("td",{className:(0,y.cn)(a,e0),children:(0,t.jsx)(e$.TaskDueField,{task:e,children:(0,t.jsx)("span",{className:(0,y.cn)("font-mono text-[11px]",n?"text-amber":e.due?"text-muted":"text-muted/70"),children:e.due??"—"})})},s)}case"deps":{let n=e.dependsOn.match(/T\d+/g);return(0,t.jsx)("td",{className:(0,y.cn)(a,e0,"truncate"),children:n?n.join(", "):"—"},s)}case"tests":return(0,t.jsx)("td",{className:(0,y.cn)(a,e0),children:e.manualTests?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)(eS.FlaskConical,{className:"size-3","aria-hidden":!0}),e.manualTests.done,"/",e.manualTests.total]}):"—"},s);case"agent":return(0,t.jsx)("td",{className:a,children:n.has(e.id)?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-txt",children:[(0,t.jsx)(eH.Bot,{className:"size-3.5 text-accent","aria-hidden":!0}),"working"]}):(0,t.jsx)("span",{className:e0,children:"—"})},s)}})(e,s))]},e.id)};return(0,t.jsx)("div",{className:"overflow-x-auto rounded-lg border border-border",children:(0,t.jsxs)("table",{className:"w-full min-w-[580px] table-fixed border-collapse md:min-w-[760px]",children:[(0,t.jsxs)("colgroup",{children:[(0,t.jsx)("col",{className:"w-[34px]"}),(0,t.jsx)("col",{className:"w-[72px]"}),(0,t.jsx)("col",{className:"w-[200px] md:w-auto"}),u.map(e=>(0,t.jsx)("col",{className:(0,y.cn)(eJ[e],eY.has(e)&&"hidden md:table-column")},e))]}),(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"h-[34px] border-b border-border2 bg-bg text-[11px] text-muted",children:[(0,t.jsx)("th",{scope:"col",className:"pl-3 text-left",children:(0,t.jsx)("input",{type:"checkbox","aria-label":"Select all shown tasks",checked:f,onChange:()=>d?.(e.map(e=>e.id),!f),className:g})}),v("id","ID"),v("title","Title"),u.map(e=>v(e,eX[e],j(e)))]})}),x.map(e=>{let s=e.tasks.filter(e=>"done"===e.status).length,n=e.tasks.length>0&&e.tasks.every(e=>"done"===e.status||"cancelled"===e.status),l="none"===a.group||(p[e.key]??!n);return(0,t.jsxs)("tbody",{children:["none"!==a.group&&(0,t.jsx)("tr",{className:"h-[38px] border-b border-border bg-surface",children:(0,t.jsx)("th",{scope:"rowgroup",colSpan:b,className:"p-0 text-left font-normal",children:(0,t.jsxs)("button",{type:"button","aria-expanded":l,onClick:()=>m(t=>({...t,[e.key]:!l})),className:(0,y.cn)("flex h-[38px] w-full items-center gap-2.5 px-2 text-left transition-colors duration-(--duration-fast) ease-out-soft hover:bg-surface2",e1),children:[(0,t.jsx)(ej.ChevronRight,{className:(0,y.cn)("size-3.5 shrink-0 text-muted transition-transform duration-(--duration-fast) ease-out-soft",l&&"rotate-90"),"aria-hidden":!0}),e.epicId&&(0,t.jsx)("span",{className:e0,children:e.epicId}),(0,t.jsx)("span",{className:"min-w-0 truncate text-[13px] font-semibold text-txt",children:e.label}),(0,t.jsx)("span",{className:"flex w-[110px] shrink-0 gap-0.5","aria-hidden":!0,children:e.tasks.map(e=>(0,t.jsx)("span",{className:(0,y.cn)("h-1 flex-1 rounded-full",eQ[e.status])},e.id))}),(0,t.jsxs)("span",{className:e0,children:[(0,t.jsx)("span",{className:"text-txt",children:s}),"/",e.tasks.length]})]})})}),l&&e.tasks.map(N)]},e.key)})]})})}let e5={name:"play",size:24,node:[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]};e5.node;let e3=(0,d.default)(e5),e4="focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent",e8={todo:"bg-border2","in-progress":"bg-amber",review:"bg-accent",blocked:"bg-danger",paused:"bg-muted/60",done:"bg-teal",cancelled:"bg-border2"},e6=e=>parseInt(e.replace(/\D/g,""),10)||0,e7=(e,t)=>e6(e.id)-e6(t.id),e9=e=>e.dependsOn.match(/T\d+/g)??[];function te({tasks:e,allTasks:a,agentTasks:n,onOpenTask:l}){let[r,i]=(0,s.useState)(new Set),[d,c]=(0,s.useState)(!1),u=(0,s.useMemo)(()=>new Map(a.map(e=>[e.id,e])),[a]),x=(0,s.useMemo)(()=>(0,o.groupTasks)(e,"epic"),[e]),{firstReady:p,upNext:m}=(0,s.useMemo)(()=>{let e=new Set,t=[],s=[];for(let a of x){let n=[...a.tasks].sort(e7),l=n.filter(e=>(0,o.isReady)(e,u));for(let a of(l[0]&&e.add(l[0].id),t.push(...l),n)){if("todo"!==a.status&&"blocked"!==a.status)continue;let e=e9(a).filter(e=>u.get(e)?.status!=="done");1===e.length&&s.push({task:a,on:e[0]})}}return{firstReady:e,upNext:[...t.map(e=>({task:e,on:null})),...s].slice(0,5)}},[x,u]);if(0===e.length)return(0,t.jsxs)("div",{className:"px-8 py-16 text-center",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-txt",children:"No tasks match these filters."}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted",children:"Clear a filter or the search to see more epics."})]});let h=e=>i(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s}),b=0,f=[],g=x.map(e=>{let s=function(e){if(e.some(e=>"in-progress"===e.status||"review"===e.status))return"in-progress";let t=e.filter(e=>"done"!==e.status&&"cancelled"!==e.status);return t.length>0&&t.every(e=>"blocked"===e.status)?"blocked":e.length>0&&e.every(e=>"done"===e.status)?"done":"todo"}(e.tasks);return"done"!==s||r.has(e.key)?(0,t.jsx)(ta,{group:e,status:s,collapsible:"done"===s,onCollapse:()=>h(e.key),firstReady:p,agentTasks:n,onOpenTask:l},e.key):++b>3&&!d?(f.push(e),null):(0,t.jsx)(ts,{group:e,onExpand:()=>h(e.key)},e.key)});return(0,t.jsxs)("div",{className:"grid gap-6 px-4 pt-[18px] pb-8 sm:px-8 lg:grid-cols-[minmax(0,1fr)_280px]",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-3.5",children:[g,f.length>0&&(0,t.jsxs)("p",{className:"mx-0.5 text-xs text-muted",children:["+ ",(0,t.jsx)("span",{className:"font-mono",children:f.slice(0,3).map(e=>e.epicId??e.label).join(", ")}),f.length>3&&(0,t.jsxs)(t.Fragment,{children:[" and ",(0,t.jsx)("span",{className:"font-mono",children:f.length-3})," more"]}),", all done ·"," ",(0,t.jsx)("button",{type:"button",onClick:()=>c(!0),className:(0,y.cn)("rounded-sm text-txt underline decoration-accent underline-offset-2 hover:decoration-txt",e4),children:"Show"})]})]}),(0,t.jsxs)("aside",{"aria-label":"Up next",className:"flex flex-col gap-2.5 lg:pt-1",children:[(0,t.jsx)("p",{className:"text-xs font-semibold text-txt",children:"Up next"}),0===m.length&&(0,t.jsx)("p",{className:"text-xs text-muted",children:"Nothing is ready right now."}),m.map(({task:e,on:s})=>(0,t.jsxs)("button",{type:"button",onClick:()=>l(e),className:(0,y.cn)("flex flex-col gap-1.5 rounded-lg border border-border bg-surface px-[11px] py-[9px] text-left transition-colors duration-(--duration-fast) ease-out-soft hover:border-border2",s&&"opacity-90",e4),children:[(0,t.jsxs)("span",{className:(0,y.cn)("flex items-center gap-1.5 text-xs",s?"text-muted":"text-txt"),children:[(0,t.jsx)(G.StatusIcon,{status:e.status}),(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.id}),s?(0,t.jsxs)(t.Fragment,{children:["Waiting on ",(0,t.jsx)("span",{className:"font-mono",children:s})]}):"Ready"]}),(0,t.jsx)("span",{className:"text-[13px] font-medium text-txt",children:e.title})]},e.id)),(0,t.jsxs)("p",{className:"mt-1.5 text-[11px] leading-normal text-muted",children:["Same order as ",(0,t.jsx)("span",{className:"font-mono",children:"vibedoc_next_task"}),": a task is ready when everything it depends on is done."]})]})]})}function tt({tasks:e}){let s=e.filter(e=>"done"===e.status).length;return(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:[(0,t.jsx)("span",{className:"text-txt",children:s}),"/",e.length]})}function ts({group:e,onExpand:s}){return(0,t.jsxs)("button",{type:"button","aria-expanded":!1,onClick:s,className:(0,y.cn)("flex h-10 items-center gap-3 rounded-lg border border-border bg-surface px-4 text-left transition-colors duration-(--duration-fast) ease-out-soft hover:bg-surface2",e4),children:[(0,t.jsx)(ej.ChevronRight,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),e.epicId&&(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.epicId}),(0,t.jsx)("span",{className:"min-w-0 truncate text-sm font-medium text-muted",children:e.label}),(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)(G.StatusIcon,{status:"done"}),(0,t.jsx)(tt,{tasks:e.tasks})]})}function ta({group:e,status:a,collapsible:n,onCollapse:l,firstReady:r,agentTasks:i,onOpenTask:d}){let c=(0,s.useMemo)(()=>(0,o.depOutline)(e.tasks),[e.tasks]),u=G.STATUS_META[a],x=[...e.tasks].sort(e7);return(0,t.jsxs)("section",{className:"flex flex-col gap-2.5 rounded-lg border border-border bg-surface px-3.5 pt-3.5 pb-2.5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1 px-0.5",children:[e.epicId&&(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.epicId}),(0,t.jsx)("h2",{className:"m-0 min-w-0 text-[1.1rem] font-semibold text-txt",children:e.label}),(0,t.jsxs)("span",{className:(0,y.cn)("inline-flex items-center gap-1.5 self-center text-xs",u.text),children:[(0,t.jsx)(G.StatusIcon,{status:a}),u.label]}),(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)(tt,{tasks:e.tasks}),n&&(0,t.jsx)("button",{type:"button","aria-expanded":!0,onClick:l,className:(0,y.cn)("self-center rounded-sm text-xs text-muted hover:text-txt",e4),children:"Collapse"})]}),(0,t.jsx)("div",{className:"flex gap-[3px] px-0.5","aria-hidden":!0,children:x.map(e=>(0,t.jsx)("span",{className:(0,y.cn)("h-[5px] flex-1 rounded-full",e8[e.status])},e.id))}),(0,t.jsx)("ul",{className:"flex flex-col",children:c.map(({task:e,depth:s,alsoAfter:a})=>{let n="done"===e.status,l=(0,o.sizeOf)(e);return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>d(e),style:{paddingLeft:16+26*s},className:(0,y.cn)("relative flex h-[38px] w-full items-center gap-2.5 rounded-md pr-3 text-left transition-colors duration-(--duration-fast) ease-out-soft hover:bg-surface2",e4),children:[s>0&&(0,t.jsx)("span",{"aria-hidden":!0,style:{left:2+26*s},className:"absolute top-0 bottom-1/2 w-2.5 rounded-bl-md border-b border-l border-border2"}),(0,t.jsx)(G.StatusIcon,{status:e.status}),(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.id}),(0,t.jsx)("span",{className:(0,y.cn)("min-w-0 truncate text-[13.5px] font-medium",n?"text-muted":"text-txt"),children:e.title}),a.length>0&&(0,t.jsxs)("span",{className:"hidden shrink-0 font-mono text-[10px] text-muted sm:inline",children:["also after ",a.join(", ")]}),r.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex h-5 shrink-0 items-center gap-1 rounded-sm border border-accent px-[7px] text-[11px] text-txt",children:[(0,t.jsx)(e3,{className:"size-2.5 text-accent","aria-hidden":!0}),"Ready · next for the agent"]}),i.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 text-[11px] text-txt",children:[(0,t.jsx)(eH.Bot,{className:"size-3 text-accent","aria-hidden":!0}),"working"]}),(0,t.jsx)("span",{className:"flex-1"}),l&&(0,t.jsx)("span",{className:"font-mono text-[10px] text-muted",children:l})]})},e.id)})})]})}let tn=[{value:"active",label:"Active time"},{value:"day",label:"Day"},{value:"week",label:"Week"}],tl=e=>new Date(e).toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit",hour12:!1}),tr=e=>new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric"}),ti=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()};function to(e){let t=Math.round(e/6e4);if(t<60)return`${t}m`;let s=Math.floor(t/60);return s>=24?`${Math.round(t/60)}h`:t%60?`${s}h ${t%60}m`:`${s}h`}function td(e,t){for(let s of e)if(t>=s.startMs&&t<=s.endMs){let e=s.endMs-s.startMs||1;return s.x+(t-s.startMs)/e*s.width}return null}function tc({tasks:e,state:a,agentTasks:n,onOpenTask:l,events:r,loading:i,onScale:d}){let c=function(e=3e4){let[t,a]=(0,s.useState)(()=>Date.now());return(0,s.useEffect)(()=>{let t=setInterval(()=>a(Date.now()),e);return()=>clearInterval(t)},[e]),t}(),u=a.scale,x=(0,s.useMemo)(()=>(0,o.timelineBars)(e,r,c),[e,r,c]),p=(0,s.useMemo)(()=>(function(e,t,s){if(!e.length)return[];if("active"===t){let t=0;return(0,o.foldAxis)(e,18e5).map((e,s)=>{s>0&&(t+=56);let a=Math.max(170,(e.endMs-e.startMs)/6e4*2.2),n={...e,x:t,width:a};return t+=a,n})}let a=Math.min(...e.map(e=>e.startMs)),n=Math.max(...e.map(e=>e.endMs),e.some(e=>e.open)?s:0),l=ti(a),r=ti(n)+864e5;return[{startMs:l,endMs:r,x:0,width:(r-l)*("day"===t?11111111111111112e-21:1388888888888889e-21)}]})(x,u,c),[x,u,c]),m=(0,s.useMemo)(()=>(function(e,t){let s=[];for(let a of e){let e=a.endMs-a.startMs,n="week"===t?864e5:"day"===t?216e5:e<=108e5?18e5:e<=288e5?36e5:108e5,l="active"===t?Math.ceil(a.startMs/n)*n:a.startMs;for(let e=l;e<=a.endMs;e+=n){let n=td([a],e);null!=n&&s.push({x:n,label:"week"===t?tr(e):"day"===t?"00:00"===tl(e)?tr(e):tl(e):null})}}return s})(p,u),[p,u]),h=(0,s.useMemo)(()=>{let t=new Map(x.map(e=>[e.taskId,e]));return(0,o.groupTasks)(e,a.group).map(e=>{let s=e.tasks.filter(e=>t.has(e.id)).map(e=>({task:e,bar:t.get(e.id)})).sort((e,t)=>e.bar.startMs-t.bar.startMs),a=e.tasks.filter(e=>!t.has(e.id)&&"done"!==e.status&&"cancelled"!==e.status),n=(0,o.depOutline)(a).map(e=>e.task),l=!n.length&&e.tasks.every(e=>"done"===e.status||"cancelled"===e.status);return{group:e,worked:s,planned:n,compact:l}}).filter(e=>e.worked.length||e.planned.length)},[e,x,a.group]),b=p.length?p[p.length-1].x+p[p.length-1].width:0,f=b+200,g=td(p,c),j=p.length?p[p.length-1].x:null,v=(0,s.useRef)(null),N=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=v.current;if(!e||null==j||N.current===u)return;N.current=u;let t=e.querySelector("[data-gutter]")?.offsetWidth??0;e.scrollLeft=null!=g?g-(e.clientWidth-t)/2:Math.min(e.scrollWidth-e.clientWidth,j-16)},[g,u,j]);let w=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:"text-xs text-muted max-sm:hidden",children:"Scale"}),(0,t.jsx)("div",{role:"group","aria-label":"Timeline scale",className:"flex rounded-md border border-border p-0.5",children:tn.map(e=>(0,t.jsx)("button",{type:"button","aria-pressed":u===e.value,onClick:()=>d(e.value),className:(0,y.cn)("h-6 rounded-[5px] border border-transparent px-2.5 text-xs font-medium text-muted outline-none transition-colors duration-(--duration-fast) ease-out-soft","hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",u===e.value&&"border-border2 bg-surface2 text-txt"),children:e.label},e.value))}),"active"===u&&(0,t.jsx)("span",{className:"ml-2 text-xs text-muted max-sm:hidden",children:"Idle gaps folded"})]});if(!e.length)return(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsx)("div",{className:"flex justify-end",children:w}),(0,t.jsxs)("div",{className:"rounded-lg border border-dashed border-border px-6 py-10 text-center",children:[(0,t.jsx)("p",{className:"text-sm text-txt",children:"No tasks match these filters."}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted",children:"Clear a filter or the search to see more of the timeline."})]})]});if(i&&!r.length)return(0,t.jsxs)("div",{className:"flex flex-col gap-4","aria-busy":"true","aria-label":"Loading timeline",children:[(0,t.jsx)("div",{className:"flex justify-end",children:w}),[0,1,2].map(e=>(0,t.jsxs)("div",{className:"flex gap-4 border-b border-border pb-4",children:[(0,t.jsx)("div",{className:"h-9 w-[200px] animate-pulse rounded bg-surface2"}),(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-1.5 pt-1",children:[(0,t.jsx)("div",{className:"h-3.5 w-1/3 animate-pulse rounded-sm bg-surface2",style:{marginLeft:`${10+15*e}%`}}),(0,t.jsx)("div",{className:"h-3.5 w-1/5 animate-pulse rounded-sm bg-surface2",style:{marginLeft:`${30+10*e}%`}})]})]},e))]});let k=e.some(e=>e.due);return(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-3",children:[(0,t.jsx)("div",{className:"flex justify-end",children:w}),!x.length&&(0,t.jsx)("p",{className:"text-sm text-muted",children:"No task moves in the activity log yet — bars appear once tasks move to In progress."}),(0,t.jsx)("div",{ref:v,className:"min-w-0 overflow-x-auto overscroll-x-contain",children:(0,t.jsxs)("div",{className:(0,y.cn)("relative","[--gw:110px] sm:[--gw:220px]"),style:{width:`calc(var(--gw) + ${f}px)`},children:[(0,t.jsxs)("div",{className:"flex",style:{height:36},children:[(0,t.jsx)("div",{"data-gutter":!0,className:"sticky left-0 z-20 w-(--gw) shrink-0 bg-bg"}),(0,t.jsxs)("div",{className:"relative",style:{width:f},children:[p.map((e,s)=>(0,t.jsxs)("div",{children:["active"===u&&(0,t.jsx)("div",{className:"absolute bottom-0 truncate border-b border-border2 font-mono text-[11px] text-txt",style:{left:e.x,width:e.width,height:28},children:tr(e.startMs)===tr(e.endMs)?`${tr(e.startMs)} \xb7 ${tl(e.startMs)}–${tl(e.endMs)}`:`${tr(e.startMs)} ${tl(e.startMs)} – ${tr(e.endMs)} ${tl(e.endMs)}`}),"active"===u&&s>0&&(0,t.jsx)("span",{className:"absolute bottom-0 flex justify-center font-mono text-[10px] whitespace-nowrap text-muted",style:{left:e.x-56,width:56,height:28},title:`Idle gap of ${to(e.startMs-p[s-1].endMs)} folded`,children:to(e.startMs-p[s-1].endMs)})]},e.startMs)),"active"!==u&&p.length>0&&(0,t.jsx)("div",{className:"absolute bottom-0 border-b border-border2",style:{left:0,width:b,height:28},children:m.map(e=>e.label&&(0,t.jsx)("span",{className:"absolute top-0 pl-1 font-mono text-[11px] whitespace-nowrap text-txt",style:{left:e.x},children:e.label},e.x))}),null!=g&&(0,t.jsx)("span",{className:"absolute top-0 z-10 -translate-x-1/2 rounded bg-accent px-1.5 py-0.5 font-mono text-[10px] text-accent-fg",style:{left:g},children:tl(c)})]})]}),h.map(({group:e,worked:s,planned:a,compact:r},i)=>{let o=Math.max(52,(r?1:s.length+a.length)*20+20),d=(s.reduce((e,t)=>{let s=td(p,t.bar.endMs);return null==s?e:Math.max(e??0,s)},null)??g??0)+8;return(0,t.jsxs)("section",{className:"flex border-b border-border","aria-label":e.epicId?`${e.epicId} ${e.label}`:e.label,children:[(0,t.jsxs)("div",{className:"sticky left-0 z-20 flex w-(--gw) shrink-0 flex-col gap-0.5 bg-bg py-2.5 pr-2 sm:pr-4",children:[e.epicId&&(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.epicId}),(0,t.jsx)("span",{className:"line-clamp-2 text-[13px] leading-tight font-semibold text-txt sm:line-clamp-none",title:e.label,children:e.label})]}),(0,t.jsxs)("div",{className:"relative",style:{width:f,height:o},children:[m.map(e=>(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute inset-y-0 w-px bg-border opacity-60",style:{left:e.x}},e.x)),"active"===u&&p.slice(1).map(e=>(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute inset-y-0 border-l border-dashed border-border2",style:{left:e.x-28}},e.startMs)),null!=g&&(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute inset-y-0 z-10 w-px bg-accent",style:{left:g}}),s.map(({task:e,bar:s},a)=>{var o;let d,c=td(p,s.startMs)??0,u=Math.max(4,(td(p,s.endMs)??c)-c),x=10+(r?0:a)*20,m=n.has(e.id),h=s.open&&"in-progress"===s.status,b=h?`${e.id} \xb7 in progress since ${tl(s.startMs)}`:s.open?`${e.id} \xb7 ${G.STATUS_META[s.status].label.toLowerCase()}, first moved ${tr(s.startMs)} ${tl(s.startMs)}`:`${e.id} \xb7 worked ${tr(s.startMs)} ${tl(s.startMs)}–${tl(s.endMs)}`,f=(o=e.due,(d=o?.match(/^(\d{4})-(\d{2})-(\d{2})$/))?new Date(Number(d[1]),Number(d[2])-1,Number(d[3])).getTime():null),g=null==f?null:td(p,f);return(0,t.jsxs)("div",{children:[(0,t.jsx)("button",{type:"button",title:`${b} — ${e.title}`,"aria-label":`${b} — ${e.title}`,onClick:()=>l(e),className:(0,y.cn)("absolute h-3.5 origin-left animate-grow-x rounded-[3px] outline-none transition-opacity duration-(--duration-fast) ease-out-soft hover:opacity-80","focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-bg",h?"bg-amber":"done"===s.status?"bg-teal":"bg-border2"),style:{left:c,width:u,top:x+3,animationDelay:`${Math.min(40*i,240)}ms`}}),!r&&(0,t.jsxs)("span",{className:(0,y.cn)("pointer-events-none absolute font-mono text-[10px] leading-[14px] whitespace-nowrap",h?"text-txt":"text-muted"),style:{left:c+u+6,top:x+3},children:[e.id,h&&(m?" · agent working":" · in progress")]}),null!=g&&(0,t.jsx)(tu,{x:g,top:x+3,due:e.due})]},e.id)}),a.map((e,a)=>{let n=10+(s.length+a)*20;return(0,t.jsxs)("button",{type:"button",onClick:()=>l(e),title:`${e.id} \xb7 planned — ${e.title}`,"aria-label":`${e.id} \xb7 planned — ${e.title}`,className:"group absolute flex items-center gap-1.5 rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-accent",style:{left:d,top:n+3},children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"h-3.5 w-6 rounded-[3px] border border-dashed border-muted transition-colors duration-(--duration-fast) group-hover:border-txt"}),(0,t.jsxs)("span",{className:"font-mono text-[10px] leading-[14px] whitespace-nowrap text-txt",children:[e.id," · planned"]})]},e.id)})]})]},e.key)})]})}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-2 text-[11px] text-muted",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"h-2 w-[18px] rounded-sm bg-teal"}),"Worked: first move to In progress → Done (activity log)"]}),(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"h-2 w-[18px] rounded-sm bg-amber"}),"In progress now"]}),(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"h-2 w-[18px] rounded-sm border border-dashed border-muted"}),"Planned: queued in dependency order"]}),(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"size-2.5 rotate-45 border border-txt"}),k?"Due date":"Due date (none set in these tasks)"]})]})]})}function tu({x:e,top:s,due:a}){return(0,t.jsx)("span",{role:"img","aria-label":`Due ${a}`,title:`Due ${a}`,className:"absolute size-2.5 -translate-x-1/2 rotate-45 border border-txt bg-bg",style:{left:e,top:s+2}})}let tx={name:"chevron-up",size:24,node:[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]};tx.node;let tp=(0,d.default)(tx);var tm=e.i(246978),th=e.i(903763);async function tb(e,t){let s=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await s.json().catch(()=>null);if(!s.ok)throw Error(a?.error??`Request failed (${s.status})`);return a}let tf="inline-flex h-8 items-center gap-1.5 rounded-md px-2.5 text-xs text-txt hover:bg-surface transition-colors";function tg({ids:e,onClear:a}){let{rootParam:l}=(0,n.useApp)(),[r,i]=(0,s.useState)([]),[o,d]=(0,s.useState)(!1),[c,u]=(0,s.useState)(!1),x=(0,H.useStatusDefs)();async function p(t,s){d(!0);try{let n=await tb(`/api/tasks/bulk${l}`,{ids:e,action:t});a(),s?.(n)}catch(e){(0,eI.toast)(e.message)}finally{d(!1)}}(0,s.useEffect)(()=>{fetch(`/api/roadmap${l}`).then(e=>e.ok?e.json():null).then(e=>i((e?.items??[]).filter(e=>null!==e.parent&&"done"!==e.status))).catch(()=>i([]))},[l]);let m=()=>p({delete:!0},({deleted:e})=>{(0,eI.undoToast)(`Deleted ${e.length} task${1===e.length?"":"s"}`,async()=>{for(let{task:t,links:s}of[...e].reverse())await tb(`/api/tasks/restore${l}`,{file:t.file,raw:t.raw,links:s})})});return(0,th.useItemCommands)(`${e.length} selected task${1===e.length?"":"s"}`,[{action:"status",label:"Change status…",run:()=>u(!0)},{action:"remove",label:`Delete ${e.length} task${1===e.length?"":"s"}`,run:m}]),(0,t.jsxs)("div",{role:"toolbar","aria-label":"Bulk actions",className:"fixed bottom-6 left-1/2 z-50 flex -translate-x-1/2 animate-slide-in items-center gap-1 rounded-lg border border-border bg-surface2 p-1 pl-3 shadow-xl",children:[(0,t.jsxs)("span",{className:"mr-1 font-mono text-xs tabular-nums text-txt",children:[e.length," selected"]}),(0,t.jsxs)(S.DropdownMenu,{open:c,onOpenChange:u,children:[(0,t.jsx)(S.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",disabled:o,className:tf,children:["Status ",(0,t.jsx)(tp,{className:"size-3.5 text-muted"})]})}),(0,t.jsx)(S.DropdownMenuContent,{side:"top",className:"w-44",children:x.map(e=>(0,t.jsxs)(S.DropdownMenuItem,{onSelect:()=>p({status:e.id}),children:[(0,t.jsx)(G.StatusIcon,{status:e.id})," ",e.label]},e.id))})]}),(0,t.jsxs)(S.DropdownMenu,{children:[(0,t.jsx)(S.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",disabled:o,className:tf,children:[(0,t.jsx)(tm.FolderInput,{className:"size-3.5 text-muted"})," Epic ",(0,t.jsx)(tp,{className:"size-3.5 text-muted"})]})}),(0,t.jsxs)(S.DropdownMenuContent,{side:"top",className:"max-h-72 w-64 overflow-y-auto",children:[r.map(e=>(0,t.jsxs)(S.DropdownMenuItem,{onSelect:()=>p({epic:e.id}),children:[(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.id})," ",(0,t.jsx)("span",{className:"truncate",children:e.title})]},e.id)),r.length>0&&(0,t.jsx)(S.DropdownMenuSeparator,{}),(0,t.jsx)(S.DropdownMenuItem,{onSelect:()=>p({epic:null}),children:"No epic"})]})]}),(0,t.jsxs)("button",{type:"button",disabled:o,onClick:m,className:`${tf} text-danger hover:text-danger`,children:[(0,t.jsx)(k.Trash2,{className:"size-3.5"})," Delete"]}),(0,t.jsx)("button",{type:"button","aria-label":"Clear selection",onClick:a,className:"grid size-8 place-items-center rounded-md text-muted hover:bg-surface hover:text-txt",children:(0,t.jsx)(W.X,{className:"size-4"})})]})}let tj=o.DEFAULT_VIEWS.map(e=>e.id),tv=["view","g","sg","s","f","q","p","sc"];function tN(e){let t=o.DEFAULT_VIEWS.find(t=>t.id===e.id);return!!t&&(e.name!==t.name||(0,o.isDirty)((({id:e,name:t,...s})=>s)(e),t))}function tw({tasks:e,onMoveTask:d,onOpenTask:c,onNewTask:u}){let{rootParam:x}=(0,n.useApp)(),{agents:p}=(0,r.useChats)(),m=(0,a.useSearchParams)(),[h,b]=(0,s.useState)(o.DEFAULT_VIEWS),[f,g]=(0,s.useState)(!1),[j,v]=(0,s.useState)([]),[N,w]=(0,s.useState)(!1),[k,y]=(0,s.useState)(new Set),S=(0,s.useCallback)(()=>{fetch(`/api/views${x}`).then(e=>e.ok?e.json():Promise.reject(Error(`HTTP ${e.status}`))).then(e=>{var t;let s;return b((s=new Map((t=e.views??[]).map(e=>[e.id,e])),[...o.DEFAULT_VIEWS.map(e=>s.get(e.id)??e),...t.filter(e=>!tj.includes(e.id))]))}).catch(e=>console.warn("[vibedoc] could not load views:",e))},[x]);(0,s.useEffect)(()=>{S();let e=e=>{e.detail?.type==="views_updated"&&S()};return window.addEventListener("vibedoc:sse",e),()=>window.removeEventListener("vibedoc:sse",e)},[S]);let M=(0,s.useCallback)(e=>{b(e),fetch(`/api/views${x}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({views:e.filter(e=>!tj.includes(e.id)||tN(e))})}).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`)}).catch(e=>{console.warn("[vibedoc] could not save views:",e),S()})},[x,S]),C=m.get("v"),D=tv.some(e=>m.has(e)),z=m.toString(),T=(0,s.useMemo)(()=>(0,o.fromParams)(new URLSearchParams(z)),[z]),I=h.find(e=>e.id===C)??h.find(e=>e.id===T.kind)??h[0],E=(0,s.useMemo)(()=>D?T:(({id:e,name:t,...s})=>s)(I),[D,T,I]),O=(0,o.isDirty)(E,I),R=(0,s.useCallback)((e,t)=>{let s=new URLSearchParams(window.location.search);for(let e of[...tv,"v"])s.delete(e);if(s.set("v",e),t){let e=(0,o.toParams)(t);[...e.keys()].length||e.set("view",t.kind),e.forEach((e,t)=>s.set(t,e))}window.history.replaceState(null,"",`${window.location.pathname}?${s}`)},[]),L=e=>R(I.id,e),F=(0,s.useCallback)(e=>{g(!1);let t=h.find(t=>t.id===e)?.kind,s=document.querySelector("[data-board-view]");t&&s&&"startViewTransition"in document?document.startViewTransition(()=>new Promise(a=>{let n=()=>{l.disconnect(),clearTimeout(r),a()},l=new MutationObserver(()=>{s.dataset.boardView===t&&n()}),r=setTimeout(n,300);l.observe(s,{attributes:!0,attributeFilter:["data-board-view"]}),R(e,null),s.dataset.boardView===t&&n()})):R(e,null)},[R,h]),A=e=>{let t,s=(t=e,`${t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,30)||"view"}-${Math.random().toString(36).slice(2,6)}`);M([...h,{...E,q:"",id:s,name:e}]),R(s,null)},P=(0,s.useMemo)(()=>new Set(Object.keys(p).filter(e=>e.startsWith("task:")).map(e=>e.slice(5))),[p]),q=(0,s.useMemo)(()=>(0,o.applyView)(e,E,{agentTasks:P}),[e,E,P]),_=(0,s.useMemo)(()=>{let t=new Map;for(let s of e){let e=(0,o.epicOf)(s.phase);if(!e.id)continue;let a=t.get(e.id)??{id:e.id,title:e.title,open:!1};a.title||(a.title=e.title),"done"!==s.status&&"cancelled"!==s.status&&(a.open=!0),t.set(e.id,a)}return[...t.values()].sort((e,t)=>e.id.localeCompare(t.id,void 0,{numeric:!0}))},[e]),U="timeline"===E.kind;(0,s.useEffect)(()=>{if(!U)return;let e=!0,t=()=>{w(!0),fetch(`/api/activity${x}&limit=2000`).then(e=>e.ok?e.json():Promise.reject(Error(`HTTP ${e.status}`))).then(t=>{e&&v(Array.isArray(t)?t:[])}).catch(e=>console.warn("[vibedoc] could not load activity:",e)).finally(()=>{e&&w(!1)})},s=e=>{let s=e.detail?.type;"chat_saved"!==s&&"views_updated"!==s&&t()};return t(),window.addEventListener("vibedoc:sse",s),()=>{e=!1,window.removeEventListener("vibedoc:sse",s)}},[U,x]);let V=h.map(e=>e.id).join(","),W=I.id;(0,s.useEffect)(()=>{function e(e){if(!(0,i.shouldHandleShortcut)(e)||document.querySelector("[role=dialog]"))return;let t=Number(e.key),s=V.split(",");if("v"===e.key)F(s[(s.indexOf(W)+1)%s.length]);else if(t>=1&&t<=4)F(tj[t-1]);else if("f"===e.key)g(!0);else{if("n"!==e.key)return;u()}e.preventDefault()}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[V,W,F,u]);let G=(0,s.useMemo)(()=>new Set(q.map(e=>e.id).filter(e=>k.has(e))),[q,k]),H=(0,s.useCallback)((e,t)=>y(s=>{let a=new Set(s);for(let s of e)t??!a.has(s)?a.add(s):a.delete(s);return a}),[]),K=(0,s.useCallback)(()=>y(new Set),[]);(0,s.useEffect)(()=>{if(0===G.size)return;let e=e=>{"Escape"!==e.key||document.querySelector("[role=dialog],[role=menu]")||K()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[G.size,K]);let B=(...t)=>e.filter(e=>t.includes(e.status)).length,X={tasks:q,allTasks:e,state:E,agentTasks:P,onOpenTask:c,selected:G,onToggleSelect:H};return(0,t.jsxs)("div",{className:"flex min-w-0 flex-col",children:[(0,t.jsxs)("header",{className:"flex items-end gap-6 px-4 pt-8 sm:px-8",children:[(0,t.jsxs)("div",{className:"min-w-0 grow",children:[(0,t.jsx)("h1",{className:"text-[1.6rem] leading-tight font-semibold tracking-[-0.02em] text-txt",children:"Board"}),(0,t.jsxs)("p",{className:"mt-2 text-[1.1rem] leading-snug font-semibold text-txt",children:[(0,t.jsx)("span",{className:"font-mono tabular-nums",children:B("todo","in-progress","review","blocked")})," open ·"," ",(0,t.jsx)("span",{className:"font-mono tabular-nums",children:B("in-progress")})," in progress"," ",(0,t.jsxs)("span",{className:"font-normal text-muted",children:["· ",(0,t.jsx)("span",{className:"font-mono tabular-nums",children:B("done")})," done"]})]})]}),(0,t.jsxs)("button",{type:"button",onClick:u,className:"inline-flex h-8.5 shrink-0 items-center gap-1.5 whitespace-nowrap rounded-md bg-accent px-3 text-[13px] font-medium text-accent-fg transition-colors duration-(--duration-fast) ease-out-soft hover:bg-accent/90 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-bg",children:[(0,t.jsx)(l.Plus,{"aria-hidden":!0,className:"size-[15px]"}),"New task",(0,t.jsx)("kbd",{className:"rounded-sm border border-accent-fg/25 bg-accent-fg/15 px-1 py-0.5 font-mono text-[10px] leading-none max-sm:hidden",children:"n"})]})]}),(0,t.jsx)("div",{className:"mt-[18px] px-4 sm:px-8",children:(0,t.jsx)($,{views:h,activeId:W,onSelect:F,onNew:()=>A("New view"),onRename:(e,t)=>M(h.map(s=>s.id===e?{...s,name:t}:s)),onDelete:e=>{let t=h.find(t=>t.id===e);return!!t&&!!window.confirm(`Delete the view "${t.name}"? Tasks are not affected.`)&&(M(h.filter(t=>t.id!==e)),I.id===e&&R(t.kind,null),!0)},customizedIds:h.filter(tN).map(e=>e.id),onRestore:e=>{let t=o.DEFAULT_VIEWS.find(t=>t.id===e);t&&(M(h.map(s=>s.id===e?t:s)),R(e,null))}})}),(0,t.jsx)("div",{className:"px-4 pt-3 sm:px-8",children:(0,t.jsx)(eu,{state:E,onChange:L,epics:_,dirty:O,activeIsBuiltIn:tj.includes(W),onSave:()=>M(h.map(e=>e.id===I.id?{...E,q:"",id:e.id,name:e.name}:e)),onSaveAs:A,onReset:()=>F(W),searchInputId:"board-search",filterOpen:f,onFilterOpenChange:g})}),(0,t.jsx)("div",{"data-board-view":E.kind,className:"[view-transition-name:board-view-body]",children:"epic"===E.kind?(0,t.jsx)(te,{...X}):(0,t.jsxs)("div",{className:"min-w-0 px-4 pt-[18px] pb-8 sm:px-8",children:["board"===E.kind&&(0,t.jsx)(eV,{...X,onMoveTask:d}),"table"===E.kind&&(0,t.jsx)(e2,{...X,onSort:e=>L({...E,sorts:e})}),U&&(0,t.jsx)(tc,{...X,events:j,loading:N,onScale:e=>L({...E,scale:e})})]})}),G.size>0&&(0,t.jsx)(tg,{ids:[...G],onClear:K})]})}var tk=e.i(592381),ty=e.i(287272),tS=e.i(240595);let tM=[{value:"XS (< 1 hr)",label:"XS — under 1 hr"},{value:"S (1-2 hrs)",label:"S — 1–2 hrs"},{value:"M (3-4 hrs)",label:"M — 3–4 hrs"},{value:"L (5-8 hrs)",label:"L — 5–8 hrs"},{value:"XL (> 1 day)",label:"XL — over a day"}];function tC({open:e,onOpenChange:a,rootParam:n,onTaskCreated:r}){let[i,o]=(0,s.useState)(""),[d,c]=(0,s.useState)(""),[u,x]=(0,s.useState)(""),[p,m]=(0,s.useState)(""),[h,b]=(0,s.useState)(""),[f,g]=(0,s.useState)(""),[j,v]=(0,s.useState)(!1);async function N(e){if(e.preventDefault(),!i.trim())return void g("Title is required");v(!0),g("");try{let e=await fetch(`/api/tasks/create${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:i.trim(),phase:d.trim()||void 0,size:u||void 0,description:p.trim()||void 0,dependsOn:h.trim()||void 0})});if(!e.ok){let t=await e.json();g(t.error??"Failed to create task"),v(!1);return}v(!1),r(),a(!1)}catch{g("Network error — please try again"),v(!1)}}return(0,s.useEffect)(()=>{e&&(o(""),c(""),x(""),m(""),b(""),g(""),v(!1))},[e]),(0,t.jsx)(ty.Root,{open:e,onOpenChange:a,children:(0,t.jsxs)(ty.Portal,{children:[(0,t.jsx)(ty.Overlay,{className:"fixed inset-0 z-50 bg-black/60"}),(0,t.jsxs)(ty.Content,{className:"fixed z-50 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-lg bg-surface border border-border rounded-xl shadow-2xl",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-border",children:[(0,t.jsx)(ty.Title,{className:"font-semibold text-txt",children:"New Task"}),(0,t.jsx)(ty.Close,{className:"text-muted hover:text-txt transition-colors",children:(0,t.jsx)(W.X,{className:"w-4 h-4"})})]}),(0,t.jsxs)("form",{onSubmit:N,className:"p-5 space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:["Title ",(0,t.jsx)("span",{className:"text-danger",children:"*"})]}),(0,t.jsx)("input",{autoFocus:!0,type:"text",value:i,onChange:e=>o(e.target.value),placeholder:"e.g. Add drag-and-drop to kanban",className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Phase"}),(0,t.jsx)("input",{type:"text",value:d,onChange:e=>c(e.target.value),placeholder:"e.g. 1 — Core",className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors"})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Size"}),(0,t.jsxs)("select",{value:u,onChange:e=>x(e.target.value),className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt focus:outline-hidden focus:border-accent transition-colors",children:[(0,t.jsx)("option",{value:"",children:"—"}),tM.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))]})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Depends on"}),(0,t.jsx)("input",{type:"text",value:h,onChange:e=>b(e.target.value),placeholder:"e.g. T001, T003",className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors"})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Description"}),(0,t.jsx)("textarea",{value:p,onChange:e=>m(e.target.value),placeholder:"What needs to be built?",rows:3,className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors resize-none"})]}),f&&(0,t.jsx)("p",{className:"text-sm text-danger",children:f}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-1",children:[(0,t.jsx)(ty.Close,{type:"button",className:"px-4 py-2 text-sm text-muted hover:text-txt transition-colors",children:"Cancel"}),(0,t.jsxs)("button",{type:"submit",disabled:j||!i.trim(),className:(0,y.cn)("flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors","bg-accent text-accent-fg hover:bg-accent/90 disabled:opacity-50 disabled:cursor-not-allowed"),children:[j?(0,t.jsx)(tS.Loader2,{className:"w-4 h-4 animate-spin"}):(0,t.jsx)(l.Plus,{className:"w-4 h-4"}),j?"Creating…":"Create Task"]})]})]})]})]})})}function tD(){let{board:e,moveTask:l,refresh:r,rootParam:i}=(0,n.useApp)(),o=(0,a.useRouter)(),[d,c]=(0,s.useState)(null),u=(0,a.useSearchParams)().get("task"),[x,p]=(0,s.useState)(null);e&&u!==x&&(p(u),u&&Object.values(e).flat().some(e=>e.id===u)&&c(u));let[m,h]=(0,s.useState)(!1),b=(0,s.useMemo)(()=>e?Object.values(e).flat():[],[e]),f=b.find(e=>e.id===d)??null;return e?(0,t.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,t.jsx)(tw,{tasks:b,onMoveTask:l,onOpenTask:e=>c(e.id),onNewTask:()=>h(!0)}),(0,t.jsx)(tk.TaskDetailPanel,{task:f,onClose:()=>{let e;c(null),u&&((e=new URLSearchParams(window.location.search)).delete("task"),o.replace(e.size?`/board?${e}`:"/board",{scroll:!1}))},onMove:l}),(0,t.jsx)(tC,{open:m,onOpenChange:h,rootParam:i,onTaskCreated:r})]}):null}e.s(["default",0,function(){return(0,t.jsx)(s.Suspense,{children:(0,t.jsx)(tD,{})})}],955787)}]);