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
@@ -1,3 +0,0 @@
1
- module.exports=[441852,a=>{"use strict";var b=a.i(256857);let c={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"}]]};c.node;let d=(0,b.default)(c);a.s(["MessageSquare",0,d],441852)},90751,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(913975),e=a.i(544394),f=a.i(200382),g=a.i(368114),h=a.i(786304),i=a.i(749223);function j({status:a,tasks:d,onMoveTask:e,onOpenTask:f}){let[k,l]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,b.jsx)("span",{className:"text-sm",children:i.STATUS_ICONS[a]}),(0,b.jsx)("span",{className:"text-xs font-mono font-semibold text-muted uppercase tracking-wider",children:a}),(0,b.jsx)(h.Badge,{variant:"secondary",className:"ml-auto font-mono text-xs h-5 px-1.5",children:d.length})]}),(0,b.jsxs)("div",{className:(0,g.cn)("flex flex-col gap-2 min-h-[60px] rounded-lg transition-colors",k&&"ring-1 ring-accent/50 bg-accent/5"),onDragOver:a=>{a.preventDefault(),l(!0)},onDragLeave:a=>{a.currentTarget.contains(a.relatedTarget)||l(!1)},onDrop:b=>{b.preventDefault(),l(!1);let c=b.dataTransfer.getData("taskId");c&&e(c,a)},children:[(d??[]).map(a=>(0,b.jsx)(i.TaskCard,{task:a,onMove:e,onOpen:()=>f(a)},a.id)),0===d.length&&(0,b.jsx)("div",{className:"border border-dashed border-border rounded-lg py-6 text-center text-xs text-muted",children:"empty"})]})]})}function k({board:a,summary:c,onMoveTask:d,onOpenTask:e,onNewTask:g}){return(0,b.jsxs)("div",{className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,b.jsx)("h1",{className:"font-display text-xl font-semibold tracking-tight",children:"Task Board"}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsxs)("span",{className:"text-xs font-mono text-muted",children:[c?.tasks.total||0," tasks"]}),(0,b.jsxs)("button",{onClick:g,className:"flex items-center gap-1.5 px-3 py-1.5 bg-accent text-white rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors",children:[(0,b.jsx)(f.Plus,{className:"w-3.5 h-3.5"}),"New Task"]})]})]}),(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-4",children:["in-progress","todo","blocked","done"].map(c=>(0,b.jsx)(j,{status:c,tasks:a[c],onMoveTask:d,onOpenTask:e},c))})]})}var l=a.i(536236),m=a.i(923053),n=a.i(54165),o=a.i(108280);let p=[{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 q({open:a,onOpenChange:d,rootParam:e,onTaskCreated:h}){let[i,j]=(0,c.useState)(""),[k,l]=(0,c.useState)(""),[r,s]=(0,c.useState)(""),[t,u]=(0,c.useState)(""),[v,w]=(0,c.useState)(""),[x,y]=(0,c.useState)(""),[z,A]=(0,c.useState)(!1);async function B(a){if(a.preventDefault(),!i.trim())return void y("Title is required");A(!0),y("");try{let a=await fetch(`/api/tasks/create${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:i.trim(),phase:k.trim()||void 0,size:r||void 0,description:t.trim()||void 0,dependsOn:v.trim()||void 0})});if(!a.ok){let b=await a.json();y(b.error??"Failed to create task"),A(!1);return}A(!1),h(),d(!1)}catch{y("Network error β€” please try again"),A(!1)}}return(0,c.useEffect)(()=>{a&&(j(""),l(""),s(""),u(""),w(""),y(""),A(!1))},[a]),(0,b.jsx)(m.Root,{open:a,onOpenChange:d,children:(0,b.jsxs)(m.Portal,{children:[(0,b.jsx)(m.Overlay,{className:"fixed inset-0 z-50 bg-black/60"}),(0,b.jsxs)(m.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,b.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-border",children:[(0,b.jsx)(m.Title,{className:"font-semibold text-txt",children:"New Task"}),(0,b.jsx)(m.Close,{className:"text-muted hover:text-txt transition-colors",children:(0,b.jsx)(n.X,{className:"w-4 h-4"})})]}),(0,b.jsxs)("form",{onSubmit:B,className:"p-5 space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsxs)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:["Title ",(0,b.jsx)("span",{className:"text-danger",children:"*"})]}),(0,b.jsx)("input",{autoFocus:!0,type:"text",value:i,onChange:a=>j(a.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,b.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Phase"}),(0,b.jsx)("input",{type:"text",value:k,onChange:a=>l(a.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,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Size"}),(0,b.jsxs)("select",{value:r,onChange:a=>s(a.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,b.jsx)("option",{value:"",children:"β€”"}),p.map(a=>(0,b.jsx)("option",{value:a.value,children:a.label},a.value))]})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Depends on"}),(0,b.jsx)("input",{type:"text",value:v,onChange:a=>w(a.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,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Description"}),(0,b.jsx)("textarea",{value:t,onChange:a=>u(a.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"})]}),x&&(0,b.jsx)("p",{className:"text-sm text-danger",children:x}),(0,b.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-1",children:[(0,b.jsx)(m.Close,{type:"button",className:"px-4 py-2 text-sm text-muted hover:text-txt transition-colors",children:"Cancel"}),(0,b.jsxs)("button",{type:"submit",disabled:z||!i.trim(),className:(0,g.cn)("flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors","bg-accent text-white hover:bg-accent/90 disabled:opacity-50 disabled:cursor-not-allowed"),children:[z?(0,b.jsx)(o.Loader2,{className:"w-4 h-4 animate-spin"}):(0,b.jsx)(f.Plus,{className:"w-4 h-4"}),z?"Creating…":"Create Task"]})]})]})]})]})})}function r(){let{board:a,summary:f,moveTask:g,refresh:h,rootParam:i}=(0,e.useApp)(),j=(0,d.useRouter)(),[m,n]=(0,c.useState)(null),o=(0,d.useSearchParams)().get("task"),[p,r]=(0,c.useState)(null);if(a&&o!==p){r(o);let b=o?Object.values(a).flat().find(a=>a.id===o):void 0;b&&n(b)}let[s,t]=(0,c.useState)(!1);return a?(0,b.jsxs)("div",{className:"relative flex-1",children:[(0,b.jsx)(k,{board:a,summary:f,onMoveTask:g,onOpenTask:n,onNewTask:()=>t(!0)}),(0,b.jsx)(l.TaskDetailPanel,{task:m,onClose:()=>{n(null),o&&j.replace("/board",{scroll:!1})},onMove:g}),(0,b.jsx)(q,{open:s,onOpenChange:t,rootParam:i,onTaskCreated:h})]}):null}a.s(["default",0,function(){return(0,b.jsx)(c.Suspense,{children:(0,b.jsx)(r,{})})}],90751)},749223,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(368114),e=a.i(786304),f=a.i(699570),g=a.i(815122);let h={todo:"text-muted border-border2","in-progress":"text-amber border-amber/30 bg-amber/5",blocked:"text-danger border-danger/30 bg-danger/5",done:"text-teal border-teal/30 bg-teal/5",cancelled:"text-muted border-border line-through"},i={todo:"border-border2 text-muted","in-progress":"border-amber/40 text-amber",blocked:"border-danger/40 text-danger",done:"border-teal/40 text-teal",cancelled:"border-border text-muted"},j={todo:"πŸ“‹","in-progress":"πŸ”¨",blocked:"🚫",done:"βœ…",cancelled:"❌"},k={todo:["in-progress"],"in-progress":["done","blocked","todo"],blocked:["in-progress","cancelled"],done:["todo"],cancelled:["todo"]};a.s(["STATUS_ICONS",0,j,"TaskCard",0,function({task:a,onMove:l,onOpen:m}){let[n,o]=(0,c.useState)(!1),p=k[a.status]||[];return(0,b.jsxs)("div",{draggable:!0,onDragStart:b=>{b.dataTransfer.setData("taskId",a.id),b.dataTransfer.effectAllowed="move",o(!0)},onDragEnd:()=>o(!1),style:{viewTransitionName:`task-${a.file.replace(/[^a-zA-Z0-9_-]/g,"_")}`},className:(0,d.cn)("group relative bg-surface border rounded-lg p-3 text-sm transition-[border-color,opacity] hover:border-border2",h[a.status]||"border-border",n&&"opacity-50 cursor-grabbing"),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-xs font-mono text-muted",children:[a.id,(0,b.jsx)(g.AgentDot,{attach:{kind:"task",id:a.id}})]}),(0,b.jsx)(e.Badge,{variant:"outline",className:(0,d.cn)("text-[10px] h-4 px-1.5 font-normal",i[a.status]),children:"in-progress"===a.status?"active":a.status})]}),(0,b.jsx)("p",{className:"font-medium text-txt text-sm leading-snug mb-2",children:a.title}),a.phase&&(0,b.jsx)("p",{className:"text-xs text-muted mb-2",children:a.phase}),(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,b.jsx)(f.Button,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:m,children:"open"}),p.map(c=>(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:()=>l(a.id,c),children:[j[c]," ","in-progress"===c?"start":c]},c))]})]})}])},536236,578520,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(368114),e=a.i(757061),f=a.i(149350),g=a.i(749223),h=a.i(913975),i=a.i(544394);let j={task_updated:"πŸ”¨",decision_logged:"πŸ“",memory_updated:"🧠",doc_read:"πŸ“„",session_start:"πŸ€–",roadmap_updated:"πŸ—ΊοΈ"};function k(a){let b=(Date.now()-new Date(a).getTime())/1e3;return b<60?"just now":b<3600?`${Math.floor(b/60)}m ago`:b<86400?`${Math.floor(b/3600)}h ago`:`${Math.floor(b/86400)}d ago`}function l({taskId:a,onNavigate:d}){let{rootParam:e}=(0,i.useApp)(),f=(0,h.useRouter)(),[g,j]=(0,c.useState)(null);return(0,c.useEffect)(()=>{let b=e?`${e}&`:"?";fetch(`/api/sessions${b}taskId=${encodeURIComponent(a)}`).then(a=>a.json()).then(a=>j(Array.isArray(a)?a:[])).catch(()=>j([]))},[e,a]),(0,b.jsxs)("div",{className:"px-5 py-3 border-b border-border shrink-0",children:[(0,b.jsx)("p",{className:"mb-2 text-xs font-mono uppercase tracking-wide text-muted",children:"Sessions"}),null===g?null:0===g.length?(0,b.jsx)("p",{className:"text-xs text-muted",children:"No recorded sessions"}):(0,b.jsx)("div",{className:"flex max-h-40 flex-col gap-1 overflow-y-auto",children:g.map(a=>(0,b.jsxs)("button",{onClick:()=>{d(),f.push(`/activity?session=${encodeURIComponent(a.id)}`)},className:"flex items-center gap-2 rounded-sm px-2 py-1 text-left text-xs hover:bg-surface2",children:[(0,b.jsx)("span",{children:"ai"===a.actor?"πŸ€–":"πŸ‘€"}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-muted",children:k(a.start)}),(0,b.jsx)("span",{className:"truncate text-txt",children:a.headline})]},a.id))})]})}a.s(["ActivityEventRow",0,function({event:a}){return(0,b.jsxs)("div",{className:"flex gap-4 pb-4 animate-fade-in",children:[(0,b.jsx)("div",{className:"relative shrink-0 w-8 h-8 rounded-full bg-surface2 border border-border flex items-center justify-center text-sm z-10",children:j[a.type]||"β€’"}),(0,b.jsxs)("div",{className:"flex-1 pt-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-0.5",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-txt",children:a.title}),"ai"===a.actor&&(0,b.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded-sm bg-accent/10 text-accent border border-accent/20 font-mono",children:"AI"})]}),a.detail&&(0,b.jsx)("p",{className:"text-xs text-muted truncate",children:a.detail}),(0,b.jsx)("p",{className:"text-xs text-muted/60 mt-0.5 font-mono",children:k(a.timestamp)})]})]})},"timeAgo",0,k],578520);var m=a.i(441852),n=a.i(815122),o=a.i(685698),p=a.i(107742);let q={todo:["in-progress"],"in-progress":["done","blocked","todo"],blocked:["in-progress","cancelled"],done:["todo"],cancelled:["todo"]},r={"in-progress":"start",done:"done",blocked:"blocked",todo:"backlog",cancelled:"cancel"},s={todo:"text-muted border-border2","in-progress":"text-amber border-amber/30 bg-amber/5",blocked:"text-danger border-danger/30 bg-danger/5",done:"text-teal border-teal/30 bg-teal/5",cancelled:"text-muted border-border"};a.s(["TaskDetailPanel",0,function({task:a,onClose:h,onMove:i}){let[j,k]=(0,c.useState)(a);a&&a!==j&&k(a);let t=j&&q[j.status]||[],{chats:u,showAbout:v}=(0,o.useChats)(),w=j?(0,p.chatFor)(u,{kind:"task",id:j.id}):void 0;return(0,b.jsx)(e.Sheet,{open:!!a,onOpenChange:a=>{a||h()},children:(0,b.jsx)(e.SheetContent,{side:"right","aria-describedby":void 0,className:"p-0 gap-0 sm:max-w-[420px] border-border flex flex-col",children:j&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1 min-w-0 pl-5 pr-12 py-4 border-b border-border shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-xs text-muted",children:j.id}),(0,b.jsxs)("span",{className:(0,d.cn)("text-xs px-1.5 py-0.5 rounded-sm border font-mono",s[j.status]),children:[g.STATUS_ICONS[j.status]," ",j.status]}),(0,b.jsx)(n.AgentMark,{attach:{kind:"task",id:j.id}})]}),(0,b.jsx)(e.SheetTitle,{className:"font-medium text-txt text-sm leading-snug",children:j.title})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-5 py-3 border-b border-border shrink-0",children:[t.map(a=>(0,b.jsxs)("button",{onClick:()=>{i(j.id,a),h()},className:"text-xs px-2.5 py-1 rounded-sm bg-surface2 border border-border text-muted hover:text-txt hover:border-border2 transition-colors",children:[g.STATUS_ICONS[a]," ",r[a]||a]},a)),(0,b.jsxs)("button",{onClick:()=>{h(),v({kind:"task",id:j.id})},className:"ml-auto inline-flex items-center gap-1.5 text-xs px-2.5 py-1 rounded-sm bg-accent text-white transition-[filter] hover:brightness-110",children:[(0,b.jsx)(m.MessageSquare,{className:"size-3.5"})," ",w?"Open chat":"Chat about task"]})]}),(0,b.jsx)(l,{taskId:j.id,onNavigate:h},j.id),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-5 py-4",children:j.raw?(0,b.jsx)(f.MarkdownRenderer,{content:j.raw}):(0,b.jsx)("p",{className:"text-sm text-muted",children:"No content available."})})]})})})}],536236)},815122,a=>{"use strict";var b=a.i(662145),c=a.i(795667),d=a.i(108280),e=a.i(368114),f=a.i(685698);let g={running:"Agent working","needs-answer":"Agent needs you",review:"Plan to review"};a.s(["AgentDot",0,function({attach:a}){let c=(0,f.useItemAgent)(a);if(!c)return null;let h=g[c.status];return(0,b.jsx)("span",{title:h,"aria-label":h,role:"img",className:"inline-flex shrink-0",children:"running"===c.status?(0,b.jsx)(d.Loader2,{className:"size-3 animate-spin text-accent"}):(0,b.jsx)("span",{className:(0,e.cn)("size-1.5 rounded-full animate-pulse-dot","needs-answer"===c.status?"bg-amber":"bg-accent")})})},"AgentMark",0,function({attach:a,className:h}){let i=(0,f.useItemAgent)(a),{show:j}=(0,f.useChats)();if(!i)return null;let k=g[i.status];return(0,b.jsxs)("button",{type:"button",onClick:a=>{a.stopPropagation(),j(i.chatId)},title:`${k} \xb7 open chat`,"aria-label":`${k}, open chat`,className:(0,e.cn)("nodrag inline-flex shrink-0 items-center gap-1 rounded-full border px-1.5 py-px font-mono text-[10px] leading-4 animate-fade-in transition-colors duration-(--duration-fast)","running"===i.status&&"border-accent/50 text-accent hover:bg-accent/10","needs-answer"===i.status&&"border-amber/50 text-amber hover:bg-amber/10","review"===i.status&&"border-accent/50 bg-accent/10 text-accent hover:bg-accent/20",h),children:["running"===i.status?(0,b.jsx)(d.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(c.Bot,{className:"size-3"}),k]})}])}];
2
-
3
- //# sourceMappingURL=_0dyvcdg._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/message-square.ts","../../../../src/app/%28app%29/board/page.tsx","../../../../src/components/board/BoardTab.tsx","../../../../src/components/board/BoardColumn.tsx","../../../../src/components/board/NewTaskModal.tsx","../../../../src/components/board/TaskCard.tsx","../../../../src/components/board/TaskDetailPanel.tsx","../../../../src/components/board/TaskSessions.tsx","../../../../src/components/activity/ActivityEventRow.tsx","../../../../src/components/chat/AgentMark.tsx"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'message-square',\n size: 24,\n node: [\n [\n 'path',\n {\n 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',\n key: '18887p',\n },\n ],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name MessageSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/message-square\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst MessageSquare = createLucideIcon(__iconData);\n\nexport default MessageSquare;\n","\"use client\"\n\nimport { Suspense, useState } from \"react\"\nimport { useRouter, useSearchParams } from \"next/navigation\"\nimport { useApp } from \"@/context/AppContext\"\nimport { BoardTab } from \"@/components/board/BoardTab\"\nimport { TaskDetailPanel } from \"@/components/board/TaskDetailPanel\"\nimport { NewTaskModal } from \"@/components/board/NewTaskModal\"\nimport type { Task } from \"@/types\"\n\nexport default function BoardPage() {\n return (\n <Suspense>\n <BoardPageInner />\n </Suspense>\n )\n}\n\nfunction BoardPageInner() {\n const { board, summary, moveTask, refresh, rootParam } = useApp()\n const router = useRouter()\n const [selectedTask, setSelectedTask] = useState<Task | null>(null)\n // ?task=T055 (links from a chat) opens that task; adjusted during render so a new link re-opens it\n const taskParam = useSearchParams().get(\"task\")\n const [seenTaskParam, setSeenTaskParam] = useState<string | null>(null)\n if (board && taskParam !== seenTaskParam) {\n setSeenTaskParam(taskParam)\n const found = taskParam ? Object.values(board).flat().find((t) => t.id === taskParam) : undefined\n if (found) setSelectedTask(found)\n }\n const [newTaskOpen, setNewTaskOpen] = useState(false)\n\n if (!board) return null\n\n return (\n <div className=\"relative flex-1\">\n <BoardTab\n board={board}\n summary={summary}\n onMoveTask={moveTask}\n onOpenTask={setSelectedTask}\n onNewTask={() => setNewTaskOpen(true)}\n />\n <TaskDetailPanel\n task={selectedTask}\n onClose={() => { setSelectedTask(null); if (taskParam) router.replace(\"/board\", { scroll: false }) }}\n onMove={moveTask}\n />\n <NewTaskModal\n open={newTaskOpen}\n onOpenChange={setNewTaskOpen}\n rootParam={rootParam}\n onTaskCreated={refresh}\n />\n </div>\n )\n}\n","\"use client\"\n\nimport { Plus } from \"lucide-react\"\nimport type { TaskBoard, Task, Summary } from \"@/types\"\nimport { BoardColumn } from \"./BoardColumn\"\n\ninterface BoardTabProps {\n board: TaskBoard\n summary: Summary | null\n onMoveTask: (id: string, status: string) => void\n onOpenTask: (task: Task) => void\n onNewTask: () => void\n}\n\nexport function BoardTab({ board, summary, onMoveTask, onOpenTask, onNewTask }: BoardTabProps) {\n return (\n <div className=\"p-6\">\n <div className=\"flex items-center justify-between mb-6\">\n <h1 className=\"font-display text-xl font-semibold tracking-tight\">Task Board</h1>\n <div className=\"flex items-center gap-3\">\n <span className=\"text-xs font-mono text-muted\">{summary?.tasks.total || 0} tasks</span>\n <button\n onClick={onNewTask}\n className=\"flex items-center gap-1.5 px-3 py-1.5 bg-accent text-white rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors\"\n >\n <Plus className=\"w-3.5 h-3.5\" />\n New Task\n </button>\n </div>\n </div>\n\n <div className=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-4\">\n {([\"in-progress\", \"todo\", \"blocked\", \"done\"] as const).map((col) => (\n <BoardColumn\n key={col}\n status={col}\n tasks={board[col]}\n onMoveTask={onMoveTask}\n onOpenTask={onOpenTask}\n />\n ))}\n </div>\n </div>\n )\n}\n","\"use client\"\r\n\r\nimport { useState } from \"react\"\r\nimport { cn } from \"@/lib/utils\"\r\nimport { Badge } from \"@/components/ui/badge\"\r\nimport type { Task } from \"@/types\"\r\nimport { TaskCard, STATUS_ICONS } from \"./TaskCard\"\r\n\r\ninterface BoardColumnProps {\r\n status: \"in-progress\" | \"todo\" | \"blocked\" | \"done\"\r\n tasks: Task[]\r\n onMoveTask: (id: string, status: string) => void\r\n onOpenTask: (task: Task) => void\r\n}\r\n\r\nexport function BoardColumn({ status, tasks, onMoveTask, onOpenTask }: BoardColumnProps) {\r\n const [isDragOver, setIsDragOver] = useState(false)\r\n\r\n return (\r\n <div className=\"flex flex-col gap-2\">\r\n {/* Column header */}\r\n <div className=\"flex items-center gap-2 mb-1\">\r\n <span className=\"text-sm\">{STATUS_ICONS[status]}</span>\r\n <span className=\"text-xs font-mono font-semibold text-muted uppercase tracking-wider\">\r\n {status}\r\n </span>\r\n <Badge variant=\"secondary\" className=\"ml-auto font-mono text-xs h-5 px-1.5\">{tasks.length}</Badge>\r\n </div>\r\n\r\n {/* Task cards */}\r\n <div\r\n className={cn(\r\n \"flex flex-col gap-2 min-h-[60px] rounded-lg transition-colors\",\r\n isDragOver && \"ring-1 ring-accent/50 bg-accent/5\",\r\n )}\r\n onDragOver={(e) => { e.preventDefault(); setIsDragOver(true) }}\r\n onDragLeave={(e) => {\r\n if (!e.currentTarget.contains(e.relatedTarget as Node)) setIsDragOver(false)\r\n }}\r\n onDrop={(e) => {\r\n e.preventDefault()\r\n setIsDragOver(false)\r\n const taskId = e.dataTransfer.getData(\"taskId\")\r\n if (taskId) onMoveTask(taskId, status)\r\n }}\r\n >\r\n {(tasks ?? []).map((task) => (\r\n <TaskCard\r\n key={task.id}\r\n task={task}\r\n onMove={onMoveTask}\r\n onOpen={() => onOpenTask(task)}\r\n />\r\n ))}\r\n {tasks.length === 0 && (\r\n <div className=\"border border-dashed border-border rounded-lg py-6 text-center text-xs text-muted\">\r\n empty\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )\r\n}\r\n","\"use client\"\n\nimport { useState, useEffect } from \"react\"\nimport * as Dialog from \"@radix-ui/react-dialog\"\nimport { X, Plus, Loader2 } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\n\ninterface NewTaskModalProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n rootParam: string\n onTaskCreated: () => void\n}\n\nconst SIZE_OPTIONS = [\n { value: \"XS (< 1 hr)\", label: \"XS β€” under 1 hr\" },\n { value: \"S (1-2 hrs)\", label: \"S β€” 1–2 hrs\" },\n { value: \"M (3-4 hrs)\", label: \"M β€” 3–4 hrs\" },\n { value: \"L (5-8 hrs)\", label: \"L β€” 5–8 hrs\" },\n { value: \"XL (> 1 day)\", label: \"XL β€” over a day\" },\n]\n\nexport function NewTaskModal({ open, onOpenChange, rootParam, onTaskCreated }: NewTaskModalProps) {\n const [title, setTitle] = useState(\"\")\n const [phase, setPhase] = useState(\"\")\n const [size, setSize] = useState(\"\")\n const [description, setDescription] = useState(\"\")\n const [dependsOn, setDependsOn] = useState(\"\")\n const [error, setError] = useState(\"\")\n const [creating, setCreating] = useState(false)\n\n useEffect(() => {\n if (open) {\n setTitle(\"\")\n setPhase(\"\")\n setSize(\"\")\n setDescription(\"\")\n setDependsOn(\"\")\n setError(\"\")\n setCreating(false)\n }\n }, [open])\n\n async function handleSubmit(e: React.FormEvent) {\n e.preventDefault()\n if (!title.trim()) { setError(\"Title is required\"); return }\n\n setCreating(true)\n setError(\"\")\n\n try {\n const res = await fetch(`/api/tasks/create${rootParam}`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n title: title.trim(),\n phase: phase.trim() || undefined,\n size: size || undefined,\n description: description.trim() || undefined,\n dependsOn: dependsOn.trim() || undefined,\n }),\n })\n\n if (!res.ok) {\n const data = await res.json()\n setError(data.error ?? \"Failed to create task\")\n setCreating(false)\n return\n }\n\n setCreating(false)\n onTaskCreated()\n onOpenChange(false)\n } catch {\n setError(\"Network error β€” please try again\")\n setCreating(false)\n }\n }\n\n return (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n <Dialog.Portal>\n <Dialog.Overlay className=\"fixed inset-0 z-50 bg-black/60\" />\n <Dialog.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\">\n <div className=\"flex items-center justify-between px-5 py-4 border-b border-border\">\n <Dialog.Title className=\"font-semibold text-txt\">New Task</Dialog.Title>\n <Dialog.Close className=\"text-muted hover:text-txt transition-colors\">\n <X className=\"w-4 h-4\" />\n </Dialog.Close>\n </div>\n\n <form onSubmit={handleSubmit} className=\"p-5 space-y-4\">\n <div className=\"space-y-1.5\">\n <label className=\"block text-xs font-medium text-muted uppercase tracking-wide\">\n Title <span className=\"text-danger\">*</span>\n </label>\n <input\n autoFocus\n type=\"text\"\n value={title}\n onChange={e => setTitle(e.target.value)}\n placeholder=\"e.g. Add drag-and-drop to kanban\"\n 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\"\n />\n </div>\n\n <div className=\"grid grid-cols-2 gap-3\">\n <div className=\"space-y-1.5\">\n <label className=\"block text-xs font-medium text-muted uppercase tracking-wide\">Phase</label>\n <input\n type=\"text\"\n value={phase}\n onChange={e => setPhase(e.target.value)}\n placeholder=\"e.g. 1 β€” Core\"\n 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\"\n />\n </div>\n <div className=\"space-y-1.5\">\n <label className=\"block text-xs font-medium text-muted uppercase tracking-wide\">Size</label>\n <select\n value={size}\n onChange={e => setSize(e.target.value)}\n 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\"\n >\n <option value=\"\">β€”</option>\n {SIZE_OPTIONS.map(o => (\n <option key={o.value} value={o.value}>{o.label}</option>\n ))}\n </select>\n </div>\n </div>\n\n <div className=\"space-y-1.5\">\n <label className=\"block text-xs font-medium text-muted uppercase tracking-wide\">Depends on</label>\n <input\n type=\"text\"\n value={dependsOn}\n onChange={e => setDependsOn(e.target.value)}\n placeholder=\"e.g. T001, T003\"\n 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\"\n />\n </div>\n\n <div className=\"space-y-1.5\">\n <label className=\"block text-xs font-medium text-muted uppercase tracking-wide\">Description</label>\n <textarea\n value={description}\n onChange={e => setDescription(e.target.value)}\n placeholder=\"What needs to be built?\"\n rows={3}\n 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\"\n />\n </div>\n\n {error && (\n <p className=\"text-sm text-danger\">{error}</p>\n )}\n\n <div className=\"flex items-center justify-end gap-2 pt-1\">\n <Dialog.Close\n type=\"button\"\n className=\"px-4 py-2 text-sm text-muted hover:text-txt transition-colors\"\n >\n Cancel\n </Dialog.Close>\n <button\n type=\"submit\"\n disabled={creating || !title.trim()}\n className={cn(\n \"flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors\",\n \"bg-accent text-white hover:bg-accent/90 disabled:opacity-50 disabled:cursor-not-allowed\"\n )}\n >\n {creating ? <Loader2 className=\"w-4 h-4 animate-spin\" /> : <Plus className=\"w-4 h-4\" />}\n {creating ? \"Creating…\" : \"Create Task\"}\n </button>\n </div>\n </form>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n )\n}\n","\"use client\"\n\nimport { useState } from \"react\"\nimport { cn } from \"@/lib/utils\"\nimport { Badge } from \"@/components/ui/badge\"\nimport { Button } from \"@/components/ui/button\"\nimport type { Task } from \"@/types\"\nimport { AgentDot } from \"@/components/chat/AgentMark\"\n\nconst STATUS_COLORS: Record<string, string> = {\n todo: \"text-muted border-border2\",\n \"in-progress\": \"text-amber border-amber/30 bg-amber/5\",\n blocked: \"text-danger border-danger/30 bg-danger/5\",\n done: \"text-teal border-teal/30 bg-teal/5\",\n cancelled: \"text-muted border-border line-through\",\n}\n\nexport const STATUS_BADGE_COLORS: Record<string, string> = {\n todo: \"border-border2 text-muted\",\n \"in-progress\": \"border-amber/40 text-amber\",\n blocked: \"border-danger/40 text-danger\",\n done: \"border-teal/40 text-teal\",\n cancelled: \"border-border text-muted\",\n}\n\nexport const STATUS_ICONS: Record<string, string> = {\n todo: \"πŸ“‹\",\n \"in-progress\": \"πŸ”¨\",\n blocked: \"🚫\",\n done: \"βœ…\",\n cancelled: \"❌\",\n}\n\nconst NEXT_STATUS: Record<string, string[]> = {\n todo: [\"in-progress\"],\n \"in-progress\": [\"done\", \"blocked\", \"todo\"],\n blocked: [\"in-progress\", \"cancelled\"],\n done: [\"todo\"],\n cancelled: [\"todo\"],\n}\n\ninterface TaskCardProps {\n task: Task\n onMove: (id: string, status: string) => void\n onOpen: () => void\n}\n\nexport function TaskCard({ task, onMove, onOpen }: TaskCardProps) {\n const [isDragging, setIsDragging] = useState(false)\n const nextStatuses = NEXT_STATUS[task.status] || []\n\n return (\n <div\n draggable\n onDragStart={(e) => {\n e.dataTransfer.setData(\"taskId\", task.id)\n e.dataTransfer.effectAllowed = \"move\"\n setIsDragging(true)\n }}\n onDragEnd={() => setIsDragging(false)}\n style={{ viewTransitionName: `task-${task.file.replace(/[^a-zA-Z0-9_-]/g, \"_\")}` }}\n className={cn(\n \"group relative bg-surface border rounded-lg p-3 text-sm transition-[border-color,opacity] hover:border-border2\",\n STATUS_COLORS[task.status] || \"border-border\",\n isDragging && \"opacity-50 cursor-grabbing\",\n )}\n >\n {/* ID + status badge */}\n <div className=\"flex items-center justify-between mb-1.5\">\n <span className=\"flex items-center gap-1.5 text-xs font-mono text-muted\">{task.id}<AgentDot attach={{ kind: \"task\", id: task.id }} /></span>\n <Badge\n variant=\"outline\"\n className={cn(\"text-[10px] h-4 px-1.5 font-normal\", STATUS_BADGE_COLORS[task.status])}\n >\n {task.status === \"in-progress\" ? \"active\" : task.status}\n </Badge>\n </div>\n\n {/* Title */}\n <p className=\"font-medium text-txt text-sm leading-snug mb-2\">{task.title}</p>\n\n {/* Phase */}\n {task.phase && <p className=\"text-xs text-muted mb-2\">{task.phase}</p>}\n\n {/* Actions */}\n <div className=\"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-6 text-xs px-2\"\n onClick={onOpen}\n >\n open\n </Button>\n {nextStatuses.map((s) => (\n <Button\n key={s}\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-6 text-xs px-2\"\n onClick={() => onMove(task.id, s)}\n >\n {STATUS_ICONS[s]} {s === \"in-progress\" ? \"start\" : s}\n </Button>\n ))}\n </div>\n </div>\n )\n}\n","\"use client\"\n\nimport { useState } from \"react\"\nimport { cn } from \"@/lib/utils\"\nimport { Sheet, SheetContent, SheetTitle } from \"@/components/ui/sheet\"\nimport { MarkdownRenderer } from \"@/components/docs/MarkdownRenderer\"\nimport type { Task } from \"@/types\"\nimport { STATUS_ICONS } from \"./TaskCard\"\nimport { TaskSessions } from \"./TaskSessions\"\nimport { MessageSquare } from \"lucide-react\"\nimport { AgentMark } from \"@/components/chat/AgentMark\"\nimport { useChats } from \"@/context/ChatContext\"\nimport { chatFor } from \"@/lib/chats\"\n\nconst NEXT_STATUS: Record<string, string[]> = {\n todo: [\"in-progress\"],\n \"in-progress\": [\"done\", \"blocked\", \"todo\"],\n blocked: [\"in-progress\", \"cancelled\"],\n done: [\"todo\"],\n cancelled: [\"todo\"],\n}\n\nconst STATUS_LABELS: Record<string, string> = {\n \"in-progress\": \"start\",\n done: \"done\",\n blocked: \"blocked\",\n todo: \"backlog\",\n cancelled: \"cancel\",\n}\n\nconst STATUS_COLORS: Record<string, string> = {\n todo: \"text-muted border-border2\",\n \"in-progress\": \"text-amber border-amber/30 bg-amber/5\",\n blocked: \"text-danger border-danger/30 bg-danger/5\",\n done: \"text-teal border-teal/30 bg-teal/5\",\n cancelled: \"text-muted border-border\",\n}\n\ninterface TaskDetailPanelProps {\n task: Task | null\n onClose: () => void\n onMove: (id: string, status: string) => void\n}\n\nexport function TaskDetailPanel({ task: openTask, onClose, onMove }: TaskDetailPanelProps) {\n // Keep the last task rendered while the sheet slides out\n const [task, setTask] = useState(openTask)\n if (openTask && openTask !== task) setTask(openTask)\n\n const nextStatuses = task ? NEXT_STATUS[task.status] || [] : []\n const { chats, showAbout } = useChats()\n const chat = task ? chatFor(chats, { kind: \"task\", id: task.id }) : undefined\n\n return (\n <Sheet open={!!openTask} onOpenChange={(open) => { if (!open) onClose() }}>\n <SheetContent side=\"right\" aria-describedby={undefined} className=\"p-0 gap-0 sm:max-w-[420px] border-border flex flex-col\">\n {task && (\n <>\n {/* Header */}\n <div className=\"flex flex-col gap-1 min-w-0 pl-5 pr-12 py-4 border-b border-border shrink-0\">\n <div className=\"flex items-center gap-2\">\n <span className=\"font-mono text-xs text-muted\">{task.id}</span>\n <span className={cn(\"text-xs px-1.5 py-0.5 rounded-sm border font-mono\", STATUS_COLORS[task.status])}>\n {STATUS_ICONS[task.status]} {task.status}\n </span>\n <AgentMark attach={{ kind: \"task\", id: task.id }} />\n </div>\n <SheetTitle className=\"font-medium text-txt text-sm leading-snug\">{task.title}</SheetTitle>\n </div>\n\n {/* Quick actions */}\n <div className=\"flex flex-wrap items-center gap-2 px-5 py-3 border-b border-border shrink-0\">\n {nextStatuses.map((s) => (\n <button\n key={s}\n onClick={() => { onMove(task.id, s); onClose() }}\n className=\"text-xs px-2.5 py-1 rounded-sm bg-surface2 border border-border text-muted hover:text-txt hover:border-border2 transition-colors\"\n >\n {STATUS_ICONS[s]} {STATUS_LABELS[s] || s}\n </button>\n ))}\n <button\n onClick={() => { onClose(); showAbout({ kind: \"task\", id: task.id }) }}\n className=\"ml-auto inline-flex items-center gap-1.5 text-xs px-2.5 py-1 rounded-sm bg-accent text-white transition-[filter] hover:brightness-110\"\n >\n <MessageSquare className=\"size-3.5\" /> {chat ? \"Open chat\" : \"Chat about task\"}\n </button>\n </div>\n\n <TaskSessions key={task.id} taskId={task.id} onNavigate={onClose} />\n\n {/* Content */}\n <div className=\"flex-1 overflow-y-auto px-5 py-4\">\n {task.raw ? (\n <MarkdownRenderer content={task.raw} />\n ) : (\n <p className=\"text-sm text-muted\">No content available.</p>\n )}\n </div>\n </>\n )}\n </SheetContent>\n </Sheet>\n )\n}\n","\"use client\"\n\nimport { useEffect, useState } from \"react\"\nimport { useRouter } from \"next/navigation\"\nimport { useApp } from \"@/context/AppContext\"\nimport { timeAgo } from \"@/components/activity/ActivityEventRow\"\nimport type { Session } from \"@/types\"\n\n// Sessions that moved this task; mount with key={taskId} so state resets per task.\nexport function TaskSessions({ taskId, onNavigate }: { taskId: string; onNavigate: () => void }) {\n const { rootParam } = useApp()\n const router = useRouter()\n const [sessions, setSessions] = useState<Session[] | null>(null)\n\n useEffect(() => {\n const qs = rootParam ? `${rootParam}&` : \"?\"\n fetch(`/api/sessions${qs}taskId=${encodeURIComponent(taskId)}`)\n .then(r => r.json())\n .then(data => setSessions(Array.isArray(data) ? data : []))\n .catch(() => setSessions([]))\n }, [rootParam, taskId])\n\n return (\n <div className=\"px-5 py-3 border-b border-border shrink-0\">\n <p className=\"mb-2 text-xs font-mono uppercase tracking-wide text-muted\">Sessions</p>\n {sessions === null ? null : sessions.length === 0 ? (\n <p className=\"text-xs text-muted\">No recorded sessions</p>\n ) : (\n <div className=\"flex max-h-40 flex-col gap-1 overflow-y-auto\">\n {sessions.map(s => (\n <button\n key={s.id}\n onClick={() => { onNavigate(); router.push(`/activity?session=${encodeURIComponent(s.id)}`) }}\n className=\"flex items-center gap-2 rounded-sm px-2 py-1 text-left text-xs hover:bg-surface2\"\n >\n <span>{s.actor === \"ai\" ? \"πŸ€–\" : \"πŸ‘€\"}</span>\n <span className=\"shrink-0 font-mono text-muted\">{timeAgo(s.start)}</span>\n <span className=\"truncate text-txt\">{s.headline}</span>\n </button>\n ))}\n </div>\n )}\n </div>\n )\n}\n","import type { ActivityEvent } from \"@/types\"\r\n\r\nconst ACTIVITY_ICONS: Record<string, string> = {\r\n task_updated: \"πŸ”¨\",\r\n decision_logged: \"πŸ“\",\r\n memory_updated: \"🧠\",\r\n doc_read: \"πŸ“„\",\r\n session_start: \"πŸ€–\",\n roadmap_updated: \"πŸ—ΊοΈ\",\r\n}\r\n\r\nexport function timeAgo(ts: string): string {\r\n const d = (Date.now() - new Date(ts).getTime()) / 1000\r\n if (d < 60) return \"just now\"\r\n if (d < 3600) return `${Math.floor(d / 60)}m ago`\r\n if (d < 86400) return `${Math.floor(d / 3600)}h ago`\r\n return `${Math.floor(d / 86400)}d ago`\r\n}\r\n\r\ninterface ActivityEventRowProps {\r\n event: ActivityEvent\r\n}\r\n\r\nexport function ActivityEventRow({ event }: ActivityEventRowProps) {\r\n return (\r\n <div className=\"flex gap-4 pb-4 animate-fade-in\">\r\n <div className=\"relative shrink-0 w-8 h-8 rounded-full bg-surface2 border border-border flex items-center justify-center text-sm z-10\">\r\n {ACTIVITY_ICONS[event.type] || \"β€’\"}\r\n </div>\r\n <div className=\"flex-1 pt-1 min-w-0\">\r\n <div className=\"flex items-center gap-2 mb-0.5\">\r\n <span className=\"text-sm font-medium text-txt\">{event.title}</span>\r\n {event.actor === \"ai\" && (\r\n <span className=\"text-xs px-1.5 py-0.5 rounded-sm bg-accent/10 text-accent border border-accent/20 font-mono\">\r\n AI\r\n </span>\r\n )}\r\n </div>\r\n {event.detail && (\r\n <p className=\"text-xs text-muted truncate\">{event.detail}</p>\r\n )}\r\n <p className=\"text-xs text-muted/60 mt-0.5 font-mono\">{timeAgo(event.timestamp)}</p>\r\n </div>\r\n </div>\r\n )\r\n}\r\n","\"use client\"\n\nimport { Bot, Loader2 } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\nimport { useChats, useItemAgent } from \"@/context/ChatContext\"\nimport type { Attach, ItemAgent } from \"@/lib/chats\"\n\nexport const AGENT_LABEL: Record<ItemAgent[\"status\"], string> = {\n running: \"Agent working\",\n \"needs-answer\": \"Agent needs you\",\n review: \"Plan to review\",\n}\n\n/**\n * Pill on an epic/task while a chat works on it; click opens that chat.\n * `nodrag` + stopPropagation keep a React Flow node from dragging/selecting on click.\n */\nexport function AgentMark({ attach, className }: { attach: Attach; className?: string }) {\n const agent = useItemAgent(attach)\n const { show } = useChats()\n if (!agent) return null\n const label = AGENT_LABEL[agent.status]\n return (\n <button\n type=\"button\"\n onClick={(e) => { e.stopPropagation(); show(agent.chatId) }}\n title={`${label} Β· open chat`}\n aria-label={`${label}, open chat`}\n className={cn(\n \"nodrag inline-flex shrink-0 items-center gap-1 rounded-full border px-1.5 py-px font-mono text-[10px] leading-4 animate-fade-in transition-colors duration-(--duration-fast)\",\n agent.status === \"running\" && \"border-accent/50 text-accent hover:bg-accent/10\",\n agent.status === \"needs-answer\" && \"border-amber/50 text-amber hover:bg-amber/10\",\n agent.status === \"review\" && \"border-accent/50 bg-accent/10 text-accent hover:bg-accent/20\",\n className,\n )}\n >\n {agent.status === \"running\" ? <Loader2 className=\"size-3 animate-spin\" /> : <Bot className=\"size-3\" />}\n {label}\n </button>\n )\n}\n\n/** Non-interactive variant for places that are already a button (timeline markers, board cards, task rows). */\nexport function AgentDot({ attach }: { attach: Attach }) {\n const agent = useItemAgent(attach)\n if (!agent) return null\n const label = AGENT_LABEL[agent.status]\n return (\n <span title={label} aria-label={label} role=\"img\" className=\"inline-flex shrink-0\">\n {agent.status === \"running\"\n ? <Loader2 className=\"size-3 animate-spin text-accent\" />\n : <span className={cn(\"size-1.5 rounded-full animate-pulse-dot\", agent.status === \"needs-answer\" ? \"bg-amber\" : \"bg-accent\")} />}\n </span>\n )\n}\n"],"names":["BoardColumn","status","tasks","onMoveTask","onOpenTask","isDragOver","setIsDragOver","className","variant","length","onDragOver","e","preventDefault","onDragLeave","currentTarget","contains","relatedTarget","onDrop","taskId","dataTransfer","getData","map","task","onMove","onOpen","id","STATUS_COLORS","todo","blocked","done","cancelled","STATUS_BADGE_COLORS","STATUS_ICONS","NEXT_STATUS","TaskCard","isDragging","setIsDragging","nextStatuses","draggable","onDragStart","setData","effectAllowed","onDragEnd","style","viewTransitionName","file","replace","attach","kind","title","phase","size","onClick","s","ACTIVITY_ICONS","task_updated","decision_logged","memory_updated","doc_read","session_start","roadmap_updated","timeAgo","ts","d","Date","now","getTime","Math","floor","ActivityEventRow","event","type","actor","detail","timestamp","AGENT_LABEL","running","review","AgentMark","agent","show","label","stopPropagation","chatId","AgentDot","role"],"mappings":"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","ignoreList":[0]}
@@ -1,3 +0,0 @@
1
- module.exports=[441852,a=>{"use strict";var b=a.i(256857);let c={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"}]]};c.node;let d=(0,b.default)(c);a.s(["MessageSquare",0,d],441852)},749223,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(368114),e=a.i(786304),f=a.i(699570),g=a.i(815122);let h={todo:"text-muted border-border2","in-progress":"text-amber border-amber/30 bg-amber/5",blocked:"text-danger border-danger/30 bg-danger/5",done:"text-teal border-teal/30 bg-teal/5",cancelled:"text-muted border-border line-through"},i={todo:"border-border2 text-muted","in-progress":"border-amber/40 text-amber",blocked:"border-danger/40 text-danger",done:"border-teal/40 text-teal",cancelled:"border-border text-muted"},j={todo:"πŸ“‹","in-progress":"πŸ”¨",blocked:"🚫",done:"βœ…",cancelled:"❌"},k={todo:["in-progress"],"in-progress":["done","blocked","todo"],blocked:["in-progress","cancelled"],done:["todo"],cancelled:["todo"]};a.s(["STATUS_ICONS",0,j,"TaskCard",0,function({task:a,onMove:l,onOpen:m}){let[n,o]=(0,c.useState)(!1),p=k[a.status]||[];return(0,b.jsxs)("div",{draggable:!0,onDragStart:b=>{b.dataTransfer.setData("taskId",a.id),b.dataTransfer.effectAllowed="move",o(!0)},onDragEnd:()=>o(!1),style:{viewTransitionName:`task-${a.file.replace(/[^a-zA-Z0-9_-]/g,"_")}`},className:(0,d.cn)("group relative bg-surface border rounded-lg p-3 text-sm transition-[border-color,opacity] hover:border-border2",h[a.status]||"border-border",n&&"opacity-50 cursor-grabbing"),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-xs font-mono text-muted",children:[a.id,(0,b.jsx)(g.AgentDot,{attach:{kind:"task",id:a.id}})]}),(0,b.jsx)(e.Badge,{variant:"outline",className:(0,d.cn)("text-[10px] h-4 px-1.5 font-normal",i[a.status]),children:"in-progress"===a.status?"active":a.status})]}),(0,b.jsx)("p",{className:"font-medium text-txt text-sm leading-snug mb-2",children:a.title}),a.phase&&(0,b.jsx)("p",{className:"text-xs text-muted mb-2",children:a.phase}),(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,b.jsx)(f.Button,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:m,children:"open"}),p.map(c=>(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:()=>l(a.id,c),children:[j[c]," ","in-progress"===c?"start":c]},c))]})]})}])},536236,578520,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(368114),e=a.i(757061),f=a.i(149350),g=a.i(749223),h=a.i(913975),i=a.i(544394);let j={task_updated:"πŸ”¨",decision_logged:"πŸ“",memory_updated:"🧠",doc_read:"πŸ“„",session_start:"πŸ€–",roadmap_updated:"πŸ—ΊοΈ"};function k(a){let b=(Date.now()-new Date(a).getTime())/1e3;return b<60?"just now":b<3600?`${Math.floor(b/60)}m ago`:b<86400?`${Math.floor(b/3600)}h ago`:`${Math.floor(b/86400)}d ago`}function l({taskId:a,onNavigate:d}){let{rootParam:e}=(0,i.useApp)(),f=(0,h.useRouter)(),[g,j]=(0,c.useState)(null);return(0,c.useEffect)(()=>{let b=e?`${e}&`:"?";fetch(`/api/sessions${b}taskId=${encodeURIComponent(a)}`).then(a=>a.json()).then(a=>j(Array.isArray(a)?a:[])).catch(()=>j([]))},[e,a]),(0,b.jsxs)("div",{className:"px-5 py-3 border-b border-border shrink-0",children:[(0,b.jsx)("p",{className:"mb-2 text-xs font-mono uppercase tracking-wide text-muted",children:"Sessions"}),null===g?null:0===g.length?(0,b.jsx)("p",{className:"text-xs text-muted",children:"No recorded sessions"}):(0,b.jsx)("div",{className:"flex max-h-40 flex-col gap-1 overflow-y-auto",children:g.map(a=>(0,b.jsxs)("button",{onClick:()=>{d(),f.push(`/activity?session=${encodeURIComponent(a.id)}`)},className:"flex items-center gap-2 rounded-sm px-2 py-1 text-left text-xs hover:bg-surface2",children:[(0,b.jsx)("span",{children:"ai"===a.actor?"πŸ€–":"πŸ‘€"}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-muted",children:k(a.start)}),(0,b.jsx)("span",{className:"truncate text-txt",children:a.headline})]},a.id))})]})}a.s(["ActivityEventRow",0,function({event:a}){return(0,b.jsxs)("div",{className:"flex gap-4 pb-4 animate-fade-in",children:[(0,b.jsx)("div",{className:"relative shrink-0 w-8 h-8 rounded-full bg-surface2 border border-border flex items-center justify-center text-sm z-10",children:j[a.type]||"β€’"}),(0,b.jsxs)("div",{className:"flex-1 pt-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-0.5",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-txt",children:a.title}),"ai"===a.actor&&(0,b.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded-sm bg-accent/10 text-accent border border-accent/20 font-mono",children:"AI"})]}),a.detail&&(0,b.jsx)("p",{className:"text-xs text-muted truncate",children:a.detail}),(0,b.jsx)("p",{className:"text-xs text-muted/60 mt-0.5 font-mono",children:k(a.timestamp)})]})]})},"timeAgo",0,k],578520);var m=a.i(441852),n=a.i(815122),o=a.i(685698),p=a.i(107742);let q={todo:["in-progress"],"in-progress":["done","blocked","todo"],blocked:["in-progress","cancelled"],done:["todo"],cancelled:["todo"]},r={"in-progress":"start",done:"done",blocked:"blocked",todo:"backlog",cancelled:"cancel"},s={todo:"text-muted border-border2","in-progress":"text-amber border-amber/30 bg-amber/5",blocked:"text-danger border-danger/30 bg-danger/5",done:"text-teal border-teal/30 bg-teal/5",cancelled:"text-muted border-border"};a.s(["TaskDetailPanel",0,function({task:a,onClose:h,onMove:i}){let[j,k]=(0,c.useState)(a);a&&a!==j&&k(a);let t=j&&q[j.status]||[],{chats:u,showAbout:v}=(0,o.useChats)(),w=j?(0,p.chatFor)(u,{kind:"task",id:j.id}):void 0;return(0,b.jsx)(e.Sheet,{open:!!a,onOpenChange:a=>{a||h()},children:(0,b.jsx)(e.SheetContent,{side:"right","aria-describedby":void 0,className:"p-0 gap-0 sm:max-w-[420px] border-border flex flex-col",children:j&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1 min-w-0 pl-5 pr-12 py-4 border-b border-border shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-xs text-muted",children:j.id}),(0,b.jsxs)("span",{className:(0,d.cn)("text-xs px-1.5 py-0.5 rounded-sm border font-mono",s[j.status]),children:[g.STATUS_ICONS[j.status]," ",j.status]}),(0,b.jsx)(n.AgentMark,{attach:{kind:"task",id:j.id}})]}),(0,b.jsx)(e.SheetTitle,{className:"font-medium text-txt text-sm leading-snug",children:j.title})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-5 py-3 border-b border-border shrink-0",children:[t.map(a=>(0,b.jsxs)("button",{onClick:()=>{i(j.id,a),h()},className:"text-xs px-2.5 py-1 rounded-sm bg-surface2 border border-border text-muted hover:text-txt hover:border-border2 transition-colors",children:[g.STATUS_ICONS[a]," ",r[a]||a]},a)),(0,b.jsxs)("button",{onClick:()=>{h(),v({kind:"task",id:j.id})},className:"ml-auto inline-flex items-center gap-1.5 text-xs px-2.5 py-1 rounded-sm bg-accent text-white transition-[filter] hover:brightness-110",children:[(0,b.jsx)(m.MessageSquare,{className:"size-3.5"})," ",w?"Open chat":"Chat about task"]})]}),(0,b.jsx)(l,{taskId:j.id,onNavigate:h},j.id),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-5 py-4",children:j.raw?(0,b.jsx)(f.MarkdownRenderer,{content:j.raw}):(0,b.jsx)("p",{className:"text-sm text-muted",children:"No content available."})})]})})})}],536236)},815122,a=>{"use strict";var b=a.i(662145),c=a.i(795667),d=a.i(108280),e=a.i(368114),f=a.i(685698);let g={running:"Agent working","needs-answer":"Agent needs you",review:"Plan to review"};a.s(["AgentDot",0,function({attach:a}){let c=(0,f.useItemAgent)(a);if(!c)return null;let h=g[c.status];return(0,b.jsx)("span",{title:h,"aria-label":h,role:"img",className:"inline-flex shrink-0",children:"running"===c.status?(0,b.jsx)(d.Loader2,{className:"size-3 animate-spin text-accent"}):(0,b.jsx)("span",{className:(0,e.cn)("size-1.5 rounded-full animate-pulse-dot","needs-answer"===c.status?"bg-amber":"bg-accent")})})},"AgentMark",0,function({attach:a,className:h}){let i=(0,f.useItemAgent)(a),{show:j}=(0,f.useChats)();if(!i)return null;let k=g[i.status];return(0,b.jsxs)("button",{type:"button",onClick:a=>{a.stopPropagation(),j(i.chatId)},title:`${k} \xb7 open chat`,"aria-label":`${k}, open chat`,className:(0,e.cn)("nodrag inline-flex shrink-0 items-center gap-1 rounded-full border px-1.5 py-px font-mono text-[10px] leading-4 animate-fade-in transition-colors duration-(--duration-fast)","running"===i.status&&"border-accent/50 text-accent hover:bg-accent/10","needs-answer"===i.status&&"border-amber/50 text-amber hover:bg-amber/10","review"===i.status&&"border-accent/50 bg-accent/10 text-accent hover:bg-accent/20",h),children:["running"===i.status?(0,b.jsx)(d.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(c.Bot,{className:"size-3"}),k]})}])},21215,a=>{"use strict";var b=a.i(662145),c=a.i(368114);a.s(["EmptyState",0,function({icon:a,message:d,subMessage:e,bordered:f}){return(0,b.jsxs)("div",{className:(0,c.cn)("text-center py-16 text-muted text-sm",f&&"border border-dashed border-border rounded-xl"),children:[(0,b.jsx)("p",{className:"text-3xl mb-3",children:a}),(0,b.jsx)("p",{children:d}),e&&(0,b.jsx)("p",{className:"text-xs mt-1",children:e})]})}])}];
2
-
3
- //# sourceMappingURL=_1-ghqy4._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/message-square.ts","../../../../src/components/board/TaskCard.tsx","../../../../src/components/board/TaskDetailPanel.tsx","../../../../src/components/board/TaskSessions.tsx","../../../../src/components/activity/ActivityEventRow.tsx","../../../../src/components/chat/AgentMark.tsx","../../../../src/components/shared/EmptyState.tsx"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'message-square',\n size: 24,\n node: [\n [\n 'path',\n {\n 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',\n key: '18887p',\n },\n ],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name MessageSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/message-square\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst MessageSquare = createLucideIcon(__iconData);\n\nexport default MessageSquare;\n","\"use client\"\n\nimport { useState } from \"react\"\nimport { cn } from \"@/lib/utils\"\nimport { Badge } from \"@/components/ui/badge\"\nimport { Button } from \"@/components/ui/button\"\nimport type { Task } from \"@/types\"\nimport { AgentDot } from \"@/components/chat/AgentMark\"\n\nconst STATUS_COLORS: Record<string, string> = {\n todo: \"text-muted border-border2\",\n \"in-progress\": \"text-amber border-amber/30 bg-amber/5\",\n blocked: \"text-danger border-danger/30 bg-danger/5\",\n done: \"text-teal border-teal/30 bg-teal/5\",\n cancelled: \"text-muted border-border line-through\",\n}\n\nexport const STATUS_BADGE_COLORS: Record<string, string> = {\n todo: \"border-border2 text-muted\",\n \"in-progress\": \"border-amber/40 text-amber\",\n blocked: \"border-danger/40 text-danger\",\n done: \"border-teal/40 text-teal\",\n cancelled: \"border-border text-muted\",\n}\n\nexport const STATUS_ICONS: Record<string, string> = {\n todo: \"πŸ“‹\",\n \"in-progress\": \"πŸ”¨\",\n blocked: \"🚫\",\n done: \"βœ…\",\n cancelled: \"❌\",\n}\n\nconst NEXT_STATUS: Record<string, string[]> = {\n todo: [\"in-progress\"],\n \"in-progress\": [\"done\", \"blocked\", \"todo\"],\n blocked: [\"in-progress\", \"cancelled\"],\n done: [\"todo\"],\n cancelled: [\"todo\"],\n}\n\ninterface TaskCardProps {\n task: Task\n onMove: (id: string, status: string) => void\n onOpen: () => void\n}\n\nexport function TaskCard({ task, onMove, onOpen }: TaskCardProps) {\n const [isDragging, setIsDragging] = useState(false)\n const nextStatuses = NEXT_STATUS[task.status] || []\n\n return (\n <div\n draggable\n onDragStart={(e) => {\n e.dataTransfer.setData(\"taskId\", task.id)\n e.dataTransfer.effectAllowed = \"move\"\n setIsDragging(true)\n }}\n onDragEnd={() => setIsDragging(false)}\n style={{ viewTransitionName: `task-${task.file.replace(/[^a-zA-Z0-9_-]/g, \"_\")}` }}\n className={cn(\n \"group relative bg-surface border rounded-lg p-3 text-sm transition-[border-color,opacity] hover:border-border2\",\n STATUS_COLORS[task.status] || \"border-border\",\n isDragging && \"opacity-50 cursor-grabbing\",\n )}\n >\n {/* ID + status badge */}\n <div className=\"flex items-center justify-between mb-1.5\">\n <span className=\"flex items-center gap-1.5 text-xs font-mono text-muted\">{task.id}<AgentDot attach={{ kind: \"task\", id: task.id }} /></span>\n <Badge\n variant=\"outline\"\n className={cn(\"text-[10px] h-4 px-1.5 font-normal\", STATUS_BADGE_COLORS[task.status])}\n >\n {task.status === \"in-progress\" ? \"active\" : task.status}\n </Badge>\n </div>\n\n {/* Title */}\n <p className=\"font-medium text-txt text-sm leading-snug mb-2\">{task.title}</p>\n\n {/* Phase */}\n {task.phase && <p className=\"text-xs text-muted mb-2\">{task.phase}</p>}\n\n {/* Actions */}\n <div className=\"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-6 text-xs px-2\"\n onClick={onOpen}\n >\n open\n </Button>\n {nextStatuses.map((s) => (\n <Button\n key={s}\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-6 text-xs px-2\"\n onClick={() => onMove(task.id, s)}\n >\n {STATUS_ICONS[s]} {s === \"in-progress\" ? \"start\" : s}\n </Button>\n ))}\n </div>\n </div>\n )\n}\n","\"use client\"\n\nimport { useState } from \"react\"\nimport { cn } from \"@/lib/utils\"\nimport { Sheet, SheetContent, SheetTitle } from \"@/components/ui/sheet\"\nimport { MarkdownRenderer } from \"@/components/docs/MarkdownRenderer\"\nimport type { Task } from \"@/types\"\nimport { STATUS_ICONS } from \"./TaskCard\"\nimport { TaskSessions } from \"./TaskSessions\"\nimport { MessageSquare } from \"lucide-react\"\nimport { AgentMark } from \"@/components/chat/AgentMark\"\nimport { useChats } from \"@/context/ChatContext\"\nimport { chatFor } from \"@/lib/chats\"\n\nconst NEXT_STATUS: Record<string, string[]> = {\n todo: [\"in-progress\"],\n \"in-progress\": [\"done\", \"blocked\", \"todo\"],\n blocked: [\"in-progress\", \"cancelled\"],\n done: [\"todo\"],\n cancelled: [\"todo\"],\n}\n\nconst STATUS_LABELS: Record<string, string> = {\n \"in-progress\": \"start\",\n done: \"done\",\n blocked: \"blocked\",\n todo: \"backlog\",\n cancelled: \"cancel\",\n}\n\nconst STATUS_COLORS: Record<string, string> = {\n todo: \"text-muted border-border2\",\n \"in-progress\": \"text-amber border-amber/30 bg-amber/5\",\n blocked: \"text-danger border-danger/30 bg-danger/5\",\n done: \"text-teal border-teal/30 bg-teal/5\",\n cancelled: \"text-muted border-border\",\n}\n\ninterface TaskDetailPanelProps {\n task: Task | null\n onClose: () => void\n onMove: (id: string, status: string) => void\n}\n\nexport function TaskDetailPanel({ task: openTask, onClose, onMove }: TaskDetailPanelProps) {\n // Keep the last task rendered while the sheet slides out\n const [task, setTask] = useState(openTask)\n if (openTask && openTask !== task) setTask(openTask)\n\n const nextStatuses = task ? NEXT_STATUS[task.status] || [] : []\n const { chats, showAbout } = useChats()\n const chat = task ? chatFor(chats, { kind: \"task\", id: task.id }) : undefined\n\n return (\n <Sheet open={!!openTask} onOpenChange={(open) => { if (!open) onClose() }}>\n <SheetContent side=\"right\" aria-describedby={undefined} className=\"p-0 gap-0 sm:max-w-[420px] border-border flex flex-col\">\n {task && (\n <>\n {/* Header */}\n <div className=\"flex flex-col gap-1 min-w-0 pl-5 pr-12 py-4 border-b border-border shrink-0\">\n <div className=\"flex items-center gap-2\">\n <span className=\"font-mono text-xs text-muted\">{task.id}</span>\n <span className={cn(\"text-xs px-1.5 py-0.5 rounded-sm border font-mono\", STATUS_COLORS[task.status])}>\n {STATUS_ICONS[task.status]} {task.status}\n </span>\n <AgentMark attach={{ kind: \"task\", id: task.id }} />\n </div>\n <SheetTitle className=\"font-medium text-txt text-sm leading-snug\">{task.title}</SheetTitle>\n </div>\n\n {/* Quick actions */}\n <div className=\"flex flex-wrap items-center gap-2 px-5 py-3 border-b border-border shrink-0\">\n {nextStatuses.map((s) => (\n <button\n key={s}\n onClick={() => { onMove(task.id, s); onClose() }}\n className=\"text-xs px-2.5 py-1 rounded-sm bg-surface2 border border-border text-muted hover:text-txt hover:border-border2 transition-colors\"\n >\n {STATUS_ICONS[s]} {STATUS_LABELS[s] || s}\n </button>\n ))}\n <button\n onClick={() => { onClose(); showAbout({ kind: \"task\", id: task.id }) }}\n className=\"ml-auto inline-flex items-center gap-1.5 text-xs px-2.5 py-1 rounded-sm bg-accent text-white transition-[filter] hover:brightness-110\"\n >\n <MessageSquare className=\"size-3.5\" /> {chat ? \"Open chat\" : \"Chat about task\"}\n </button>\n </div>\n\n <TaskSessions key={task.id} taskId={task.id} onNavigate={onClose} />\n\n {/* Content */}\n <div className=\"flex-1 overflow-y-auto px-5 py-4\">\n {task.raw ? (\n <MarkdownRenderer content={task.raw} />\n ) : (\n <p className=\"text-sm text-muted\">No content available.</p>\n )}\n </div>\n </>\n )}\n </SheetContent>\n </Sheet>\n )\n}\n","\"use client\"\n\nimport { useEffect, useState } from \"react\"\nimport { useRouter } from \"next/navigation\"\nimport { useApp } from \"@/context/AppContext\"\nimport { timeAgo } from \"@/components/activity/ActivityEventRow\"\nimport type { Session } from \"@/types\"\n\n// Sessions that moved this task; mount with key={taskId} so state resets per task.\nexport function TaskSessions({ taskId, onNavigate }: { taskId: string; onNavigate: () => void }) {\n const { rootParam } = useApp()\n const router = useRouter()\n const [sessions, setSessions] = useState<Session[] | null>(null)\n\n useEffect(() => {\n const qs = rootParam ? `${rootParam}&` : \"?\"\n fetch(`/api/sessions${qs}taskId=${encodeURIComponent(taskId)}`)\n .then(r => r.json())\n .then(data => setSessions(Array.isArray(data) ? data : []))\n .catch(() => setSessions([]))\n }, [rootParam, taskId])\n\n return (\n <div className=\"px-5 py-3 border-b border-border shrink-0\">\n <p className=\"mb-2 text-xs font-mono uppercase tracking-wide text-muted\">Sessions</p>\n {sessions === null ? null : sessions.length === 0 ? (\n <p className=\"text-xs text-muted\">No recorded sessions</p>\n ) : (\n <div className=\"flex max-h-40 flex-col gap-1 overflow-y-auto\">\n {sessions.map(s => (\n <button\n key={s.id}\n onClick={() => { onNavigate(); router.push(`/activity?session=${encodeURIComponent(s.id)}`) }}\n className=\"flex items-center gap-2 rounded-sm px-2 py-1 text-left text-xs hover:bg-surface2\"\n >\n <span>{s.actor === \"ai\" ? \"πŸ€–\" : \"πŸ‘€\"}</span>\n <span className=\"shrink-0 font-mono text-muted\">{timeAgo(s.start)}</span>\n <span className=\"truncate text-txt\">{s.headline}</span>\n </button>\n ))}\n </div>\n )}\n </div>\n )\n}\n","import type { ActivityEvent } from \"@/types\"\r\n\r\nconst ACTIVITY_ICONS: Record<string, string> = {\r\n task_updated: \"πŸ”¨\",\r\n decision_logged: \"πŸ“\",\r\n memory_updated: \"🧠\",\r\n doc_read: \"πŸ“„\",\r\n session_start: \"πŸ€–\",\n roadmap_updated: \"πŸ—ΊοΈ\",\r\n}\r\n\r\nexport function timeAgo(ts: string): string {\r\n const d = (Date.now() - new Date(ts).getTime()) / 1000\r\n if (d < 60) return \"just now\"\r\n if (d < 3600) return `${Math.floor(d / 60)}m ago`\r\n if (d < 86400) return `${Math.floor(d / 3600)}h ago`\r\n return `${Math.floor(d / 86400)}d ago`\r\n}\r\n\r\ninterface ActivityEventRowProps {\r\n event: ActivityEvent\r\n}\r\n\r\nexport function ActivityEventRow({ event }: ActivityEventRowProps) {\r\n return (\r\n <div className=\"flex gap-4 pb-4 animate-fade-in\">\r\n <div className=\"relative shrink-0 w-8 h-8 rounded-full bg-surface2 border border-border flex items-center justify-center text-sm z-10\">\r\n {ACTIVITY_ICONS[event.type] || \"β€’\"}\r\n </div>\r\n <div className=\"flex-1 pt-1 min-w-0\">\r\n <div className=\"flex items-center gap-2 mb-0.5\">\r\n <span className=\"text-sm font-medium text-txt\">{event.title}</span>\r\n {event.actor === \"ai\" && (\r\n <span className=\"text-xs px-1.5 py-0.5 rounded-sm bg-accent/10 text-accent border border-accent/20 font-mono\">\r\n AI\r\n </span>\r\n )}\r\n </div>\r\n {event.detail && (\r\n <p className=\"text-xs text-muted truncate\">{event.detail}</p>\r\n )}\r\n <p className=\"text-xs text-muted/60 mt-0.5 font-mono\">{timeAgo(event.timestamp)}</p>\r\n </div>\r\n </div>\r\n )\r\n}\r\n","\"use client\"\n\nimport { Bot, Loader2 } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\nimport { useChats, useItemAgent } from \"@/context/ChatContext\"\nimport type { Attach, ItemAgent } from \"@/lib/chats\"\n\nexport const AGENT_LABEL: Record<ItemAgent[\"status\"], string> = {\n running: \"Agent working\",\n \"needs-answer\": \"Agent needs you\",\n review: \"Plan to review\",\n}\n\n/**\n * Pill on an epic/task while a chat works on it; click opens that chat.\n * `nodrag` + stopPropagation keep a React Flow node from dragging/selecting on click.\n */\nexport function AgentMark({ attach, className }: { attach: Attach; className?: string }) {\n const agent = useItemAgent(attach)\n const { show } = useChats()\n if (!agent) return null\n const label = AGENT_LABEL[agent.status]\n return (\n <button\n type=\"button\"\n onClick={(e) => { e.stopPropagation(); show(agent.chatId) }}\n title={`${label} Β· open chat`}\n aria-label={`${label}, open chat`}\n className={cn(\n \"nodrag inline-flex shrink-0 items-center gap-1 rounded-full border px-1.5 py-px font-mono text-[10px] leading-4 animate-fade-in transition-colors duration-(--duration-fast)\",\n agent.status === \"running\" && \"border-accent/50 text-accent hover:bg-accent/10\",\n agent.status === \"needs-answer\" && \"border-amber/50 text-amber hover:bg-amber/10\",\n agent.status === \"review\" && \"border-accent/50 bg-accent/10 text-accent hover:bg-accent/20\",\n className,\n )}\n >\n {agent.status === \"running\" ? <Loader2 className=\"size-3 animate-spin\" /> : <Bot className=\"size-3\" />}\n {label}\n </button>\n )\n}\n\n/** Non-interactive variant for places that are already a button (timeline markers, board cards, task rows). */\nexport function AgentDot({ attach }: { attach: Attach }) {\n const agent = useItemAgent(attach)\n if (!agent) return null\n const label = AGENT_LABEL[agent.status]\n return (\n <span title={label} aria-label={label} role=\"img\" className=\"inline-flex shrink-0\">\n {agent.status === \"running\"\n ? <Loader2 className=\"size-3 animate-spin text-accent\" />\n : <span className={cn(\"size-1.5 rounded-full animate-pulse-dot\", agent.status === \"needs-answer\" ? \"bg-amber\" : \"bg-accent\")} />}\n </span>\n )\n}\n","import { cn } from \"@/lib/utils\"\r\n\r\ninterface EmptyStateProps {\r\n icon: string\r\n message: string\r\n subMessage?: string\r\n bordered?: boolean\r\n}\r\n\r\nexport function EmptyState({ icon, message, subMessage, bordered }: EmptyStateProps) {\r\n return (\r\n <div\r\n className={cn(\r\n \"text-center py-16 text-muted text-sm\",\r\n bordered && \"border border-dashed border-border rounded-xl\",\r\n )}\r\n >\r\n <p className=\"text-3xl mb-3\">{icon}</p>\r\n <p>{message}</p>\r\n {subMessage && <p className=\"text-xs mt-1\">{subMessage}</p>}\r\n </div>\r\n )\r\n}\r\n"],"names":["STATUS_COLORS","todo","blocked","done","cancelled","STATUS_BADGE_COLORS","STATUS_ICONS","NEXT_STATUS","TaskCard","task","onMove","onOpen","isDragging","setIsDragging","nextStatuses","status","draggable","onDragStart","e","dataTransfer","setData","id","effectAllowed","onDragEnd","style","viewTransitionName","file","replace","className","attach","kind","variant","title","phase","size","onClick","map","s","ACTIVITY_ICONS","task_updated","decision_logged","memory_updated","doc_read","session_start","roadmap_updated","timeAgo","ts","d","Date","now","getTime","Math","floor","ActivityEventRow","event","type","actor","detail","timestamp","AGENT_LABEL","running","review","AgentMark","agent","show","label","stopPropagation","chatId","AgentDot","role","EmptyState","icon","message","subMessage","bordered"],"mappings":"0DAGO,CAAA,CAAA,CAAA,CAAM,AAAN,CAAA,CAAmC,CACxC,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CADK,AACL,CADK,AACL,CADK,AACL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACN,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CACN,IAAA,CAAA,AAAM,CACJ,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CACE,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACH,GAAA,CAAA,AAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACP,CACF,AAEJ,CAAA,CAK4C,CAAA,CAAW,AAAX,CAAW,AAAX,CAAW,AAAX,CAAA,AAAW,CAAX,AAAW,CAAX,AAa5C,CAb4C,AAa5C,CAAA,AAb4C,CAAA,AAa5C,CAAM,AAAN,CAAA,AAAM,CAAA,CAAA,CAAA,CAAA,AAAgB,CAAhB,AAAgB,CAAhB,AAAgB,CAAhB,AAAgB,CAAhB,AAAgB,CAAhB,AAAgB,CAAhB,AAAgB,CAAhB,AAAgB,CAAhB,AAAgB,CAAA,AAAhB,AAAgB,CAAhB,AAAgB,CAAiB,AAAjB,CAAiB,AAAjB,CAAA,AAAiB,CAAjB,AAAiB,CAAjB,AAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,qEC/BjD,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QAEA,EAAA,EAAA,CAAA,CAAA,QAEA,IAAMA,EAAwC,CAC5CC,KAAM,4BACN,cAAe,wCACfC,QAAS,2CACTC,KAAM,qCACNC,UAAW,uCACb,EAEaC,EAA8C,CACzDJ,KAAM,4BACN,cAAe,6BACfC,QAAS,+BACTC,KAAM,2BACNC,UAAW,0BACb,EAEaE,EAAuC,CAClDL,KAAM,KACN,cAAe,KACfC,QAAS,KACTC,KAAM,IACNC,UAAW,GACb,EAEMG,EAAwC,CAC5CN,KAAM,CAAC,cAAc,CACrB,cAAe,CAAC,OAAQ,UAAW,OAAO,CAC1CC,QAAS,CAAC,cAAe,YAAY,CACrCC,KAAM,CAAC,OAAO,CACdC,UAAW,CAAC,OAAO,AACrB,uCAQO,SAASI,AAAS,MAAEC,CAAI,QAAEC,CAAM,QAAEC,CAAM,CAAiB,EAC9D,GAAM,CAACC,EAAYC,EAAc,CAAG,CAAA,EAAA,EAAA,QAAQ,AAAR,GAAS,GACvCC,EAAeP,CAAW,CAACE,EAAKM,MAAM,CAAC,EAAI,EAAE,CAEnD,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CACCC,SAAS,CAAA,CAAA,EACTC,YAAa,AAACC,IACZA,EAAEC,YAAY,CAACC,OAAO,CAAC,SAAUX,EAAKY,EAAE,EACxCH,EAAEC,YAAY,CAACG,aAAa,CAAG,OAC/BT,GAAc,EAChB,EACAU,UAAW,IAAMV,GAAc,GAC/BW,MAAO,CAAEC,mBAAoB,CAAC,KAAK,EAAEhB,EAAKiB,IAAI,CAACC,OAAO,CAAC,kBAAmB,KAAA,CAAM,AAAC,EACjFC,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,iHACA5B,CAAa,CAACS,EAAKM,MAAM,CAAC,EAAI,gBAC9BH,GAAc,wCAIhB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAIgB,UAAU,qDACb,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAKA,UAAU,mEAA0DnB,EAAKY,EAAE,CAAC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,QAAQ,CAAA,CAACQ,OAAQ,CAAEC,KAAM,OAAQT,GAAIZ,EAAKY,EAAE,AAAC,OAChI,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,KAAK,CAAA,CACJU,QAAQ,UACRH,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,qCAAsCvB,CAAmB,CAACI,EAAKM,MAAM,CAAC,WAEnE,gBAAhBN,EAAKM,MAAM,CAAqB,SAAWN,EAAKM,MAAM,MAK3D,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAEa,UAAU,0DAAkDnB,EAAKuB,KAAK,GAGxEvB,EAAKwB,KAAK,EAAI,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAEL,UAAU,mCAA2BnB,EAAKwB,KAAK,GAGjE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAIL,UAAU,yFACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,MAAM,CAAA,CACLG,QAAQ,QACRG,KAAK,KACLN,UAAU,mBACVO,QAASxB,WACV,SAGAG,EAAasB,GAAG,CAAC,AAACC,GACjB,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,MAAM,CAAA,CAELN,QAAQ,QACRG,KAAK,KACLN,UAAU,mBACVO,QAAS,IAAMzB,EAAOD,EAAKY,EAAE,CAAEgB,aAE9B/B,CAAY,CAAC+B,EAAE,CAAC,IAAQ,gBAANA,EAAsB,QAAUA,IAN9CA,SAYjB,sDC1GA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QAEA,EAAA,EAAA,CAAA,CAAA,QCJA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QCFA,IAAMC,EAAyC,CAC7CC,aAAc,KACdC,gBAAiB,KACjBC,eAAgB,KAChBC,SAAU,KACVC,cAAe,KACfC,gBAAiB,KACnB,EAEO,SAASC,EAAQC,CAAU,EAChC,IAAMC,EAAI,CAACC,KAAKC,GAAG,GAAK,IAAID,KAAKF,GAAII,OAAO,EAAA,CAAE,CAAI,WAClD,AAAIH,EAAI,GAAW,CAAP,UACRA,EAAI,KAAa,CAAP,AAAO,EAAGI,KAAKC,KAAK,CAACL,EAAI,IAAI,KAAK,CAAC,CAC7CA,EAAI,MAAc,CAAP,AAAO,EAAGI,KAAKC,KAAK,CAACL,EAAI,MAAM,KAAK,CAAC,CAC7C,CAAA,EAAGI,KAAKC,KAAK,CAACL,EAAI,OAAO,KAAK,CAAC,AACxC,CDRO,SAAS,EAAa,QAAE,CAAM,CAAE,YAAU,CAA8C,EAC7F,GAAM,WAAE,CAAS,CAAEA,CAAG,CAAA,EAAA,EAAA,MAAM,AAAN,IAChB,EAAS,CAAA,EAAA,EAAA,SAAA,AAAS,IAClB,CAAC,EAAU,EAAY,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAmB,MAU3D,MARA,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KACR,IAAM,EAAK,EAAY,CAAA,EAAG,EAAU,CAAC,CAAC,CAAG,IACzC,MAAM,CAAC,aAAa,EAAE,EAAG,OAAO,EAAE,mBAAmB,GAAA,CAAS,EAC3D,IAAI,CAAC,GAAK,EAAE,IAAI,IAChB,IAAI,CAAC,GAAQ,EAAY,MAAM,OAAO,CAAC,GAAQ,EAAO,EAAE,GACxD,KAAK,CAAC,IAAM,EAAY,EAAE,EAC/B,EAAG,CAAC,EAAW,EAAO,EAGpB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sDACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,qEAA4D,aAC3D,OAAb,EAAoB,KAA2B,IAApB,EAAS,MAAM,CACzC,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,8BAAqB,yBAElC,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,wDACZ,EAAS,GAAG,CAAC,GACZ,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CAEC,QAAS,KAAQ,IAAc,EAAO,IAAI,CAAC,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,EAAEnB,EAAAA,CAAG,CAAE,EAC5F,UAAU,6FAEV0B,CAAAA,EAAAA,EAAAA,GAAAA,EAAC,OAAA,UAAkB,OAAZ,EAAE,KAAK,CAAY,KAAO,OACjC,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,yCAAiC,EAAQ,EAAE,KAAK,IAChE,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,6BAAqB,EAAE,QAAQ,KAN1C,EAAE,EAAE,OAavB,2BCrBO,SAASD,AAAiB,OAAEC,CAAK,CAAyB,EAC/D,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI1B,UAAU,4CACb,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAIA,UAAU,iIACZU,CAAc,CAACgB,EAAMC,IAAI,CAAC,EAAI,MAEjC,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI3B,UAAU,gCACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAIA,UAAU,2CACb,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAKA,UAAU,wCAAgC0B,EAAMtB,KAAK,GAC1DsB,AAAgB,SAAVE,KAAK,EACV,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK5B,UAAU,uGAA8F,UAKjH0B,EAAMG,MAAM,EACX,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE7B,UAAU,uCAA+B0B,EAAMG,MAAM,GAE1D,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE7B,UAAU,kDAA0CiB,EAAQS,EAAMI,SAAS,SAItF,yBFpCAR,IAAAA,EAAAA,EAAAA,CAAAA,CAAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QAEA,IAAM,EAAwC,CAC5C,KAAM,CAAC,cAAc,CACrB,cAAe,CAAC,OAAQG,UAAW,OAAO,CAC1C,QAAS,CAAC,cAAe,YAAY,CACrC,KAAM,CAAC,OAAO,CACd,UAAW,CAAC,OAAO,AACrB,EAEM,EAAwC,CAC5C,cAAe,QACf,KAAM,OACN,QAAS,UACT,KAAM,UACN,UAAW,QACb,EAEM,EAAwC,CAC5C,KAAM,4BACN,cAAe,wCACf,QAAS,2CACT,KAAM,qCACN,UAAW,0BACb,2BAQO,SAAS,AAAgB,CAAE,KAAM,CAAQ,SAAE,CAAO,QAAE,CAAM,CAAwB,EAEvF,GAAM,CAAC,EAAM,EAAQ,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQzB,EAAC,EAC7B,IAAY,IAAa,GAAM,EAAQ,GAE3C,IAAM,EAAe,GAAO,CAAW,CAAC,EAAK,MAAM,CAAC,EAAI,EAAE,CACpD,CAAE,CADqD,EAAE,IAClD,WAAE,CAAS,CAAE,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,IAC/B,EAAO,EAAO,CAAA,EAAA,EAAA,OAAA,AAAO,EAAC,EAAO,CAAE,KAAM,OAAQ,GAAI,EAAK,EAAE,AAAC,QAAK,EAEpE,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,KAAK,CAAA,CAAC,KAAM,CAAC,CAAC,EAAU,aAAc,AAAC,IAAgB,AAAD,GAAO,GAAU,WACtE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,YAAY,CAAA,CAAC,KAAK,QAAQ,wBAAkB,EAAW,UAAU,kEAC/D,GACC,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WAEE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,wFACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,oCACb,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,wCAAgC,EAAK,EAAE,GACvD,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,oDAAqD,CAAa,CAAC,EAAK,MAAM,CAAC,YAChG,EAAA,YAAY,CAAC,EAAK,MAAM,CAAC,CAAC,IAAE,EAAK,MAAM,IAE1C,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,SAAS,CAAA,CAAC,OAAQ,CAAE,KAAM,OAAQ,GAAI,EAAK,EAAE,AAAC,OAEjD,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CAAC,UAAU,qDAA6C,EAAK,KAAK,MAI/E,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,wFACZ,EAAa,GAAG,CAAC,AAAC,GACjB,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CAEC,QAAS,KAAQ,EAAO,EAAK,EAAE,CAAE,GAAI,GAAU,EAC/C,UAAU,6IAET,EAAA,YAAY,CAAC,EAAE,CAAC,IAAE,CAAa,CAAC,EAAE,EAAI,IAJlC,IAOT,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CACC,QAAS,KAAQ,IAAW,EAAU,CAAE,KAAM,OAAQ,GAAI,EAAK,EAAE,AAAC,EAAG,EACrE,UAAU,kJAEV,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,aAAa,CAAA,CAAC,UAAU,aAAa,IAAE,EAAO,YAAc,wBAIjE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAA2B,OAAQ,EAAK,EAAE,CAAE,WAAY,GAAtC,EAAK,EAAE,EAG1B,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,4CACZ,EAAK,GAAG,CACP,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,gBAAgB,CAAA,CAAC,QAAS,EAAK,GAAG,GAEnC,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,8BAAqB,kCAQlD,sDGtGA,EAAA,EAAA,CAAA,CAAA,QAAA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QAGO,IAAM+B,EAAmD,CAC9DC,QAAS,gBACT,eAAgB,kBAChBC,OAAQ,gBACV,oBAgCO,SAASO,AAAS,CAAEvC,QAAM,CAAsB,EACrD,IAAMkC,EAAQ,CAAA,EAAA,EAAA,YAAA,AAAY,EAAClC,GAC3B,GAAI,CAACkC,EAAO,OAAO,KACnB,IAAME,EAAQN,CAAW,CAACI,EAAMhD,MAAM,CAAC,CACvC,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAKiB,MAAOiC,EAAO,aAAYA,EAAOI,KAAK,MAAMzC,UAAU,gCACzDmC,AAAiB,cAAXhD,MAAM,CACT,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,OAAO,CAAA,CAACa,UAAU,oCACnB,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAKA,UAAW,CAAA,EAAA,EAAA,EAAE,AAAF,EAAG,0CAA4D,iBAAjBmC,EAAMhD,MAAM,CAAsB,WAAa,gBAGxH,gBArCO,SAAS+C,AAAU,QAAEjC,CAAM,WAAED,CAAS,CAA0C,EACrF,IAAMmC,EAAQ,CAAA,EAAA,EAAA,YAAA,AAAY,EAAClC,GACrB,MAAEmC,CAAI,CAAE,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,IACzB,GAAI,CAACD,EAAO,OAAO,KACnB,IAAME,EAAQN,CAAW,CAACI,EAAMhD,MAAM,CAAC,CACvC,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CACCwC,KAAK,SACLpB,QAAS,AAACjB,IAAQA,EAAEgD,eAAe,GAAIF,EAAKD,EAAMI,MAAM,CAAE,EAC1DnC,MAAO,CAAA,EAAGiC,EAAM,eAAY,CAAC,CAC7B,aAAY,CAAA,EAAGA,EAAM,WAAW,CAAC,CACjCrC,UAAW,CAAA,EAAA,EAAA,EAAE,AAAF,EACT,+KACiB,YAAjBmC,EAAMhD,MAAM,EAAkB,kDACb,iBAAjBgD,EAAMhD,MAAM,EAAuB,+CAClB,WAAjBgD,EAAMhD,MAAM,EAAiB,+DAC7Ba,aAGgB,AAAjBmC,cAAMhD,MAAM,CAAiB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,OAAO,CAAA,CAACa,UAAU,wBAA2B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,GAAG,CAAA,CAACA,UAAU,WAC1FqC,IAGP,8CCxCA,EAAA,EAAA,CAAA,CAAA,4BASO,SAASK,AAAW,MAAEC,CAAI,SAAEC,CAAO,YAAEC,CAAU,UAAEC,CAAQ,CAAmB,EACjF,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CACC9C,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,uCACA8C,GAAY,2DAGd,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE9C,UAAU,yBAAiB2C,IAC9B,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,UAAGC,IACHC,GAAc,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE7C,UAAU,wBAAgB6C,MAGlD","ignoreList":[0]}
@@ -1,3 +0,0 @@
1
- module.exports=[776692,521831,a=>{"use strict";var b=a.i(174897),c=Object.defineProperty,d=(a,b)=>c(a,"name",{value:b,configurable:!0});function e(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}function f(...a){return b=>{let c=!1,d=a.map(a=>{let d=e(a,b);return c||"function"!=typeof d||(c=!0),d});if(c)return()=>{for(let b=0;b<d.length;b++){let c=d[b];"function"==typeof c?c():e(a[b],null)}}}}function g(...a){return b.useCallback(f(...a),a)}d(e,"setRef"),d(f,"composeRefs"),d(g,"useComposedRefs"),a.s(["useComposedRefs",0,g],521831);var h=Object.defineProperty,i=(a,b)=>h(a,"name",{value:b,configurable:!0});function j(a){let c=b.forwardRef((c,d)=>{let{children:e,...f}=c,h=null,i=!1,j=[];s(e)&&"function"==typeof w&&(e=w(e._payload)),b.Children.forEach(e,a=>{if(q(a)){i=!0;let b="child"in a.props?a.props.child:a.props.children;s(b)&&"function"==typeof w&&(b=w(b._payload)),h=n(a,b),j.push(h?.props?.children)}else j.push(a)}),h?h=b.cloneElement(h,void 0,j):!i&&1===b.Children.count(e)&&b.isValidElement(e)&&(h=e);let k=h?p(h):void 0,l=g(d,k);if(!h){if(e||0===e)throw Error(i?v(a):u(a));return e}let m=o(f,h.props??{});return h.type!==b.Fragment&&(m.ref=d?l:k),b.cloneElement(h,m)});return c.displayName=`${a}.Slot`,c}i(j,"createSlot");var k=j("Slot"),l=Symbol.for("radix.slottable");function m(a){let b=i(a=>"child"in a?a.children(a.child):a.children,"Slottable");return b.displayName=`${a}.Slottable`,b.__radixId=l,b}i(m,"createSlottable");var n=i((a,c)=>{if("child"in a.props){let c=a.props.child;return b.isValidElement(c)?b.cloneElement(c,void 0,a.props.children(c.props.children)):null}return b.isValidElement(c)?c:null},"getSlottableElementFromSlottable");function o(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}function p(a){let b=Object.getOwnPropertyDescriptor(a.props,"ref")?.get,c=b&&"isReactWarning"in b&&b.isReactWarning;return c?a.ref:(c=(b=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in b&&b.isReactWarning)?a.props.ref:a.props.ref||a.ref}function q(a){return b.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===l}i(o,"mergeProps"),i(p,"getElementRef"),i(q,"isSlottable");var r=Symbol.for("react.lazy");function s(a){return null!=a&&"object"==typeof a&&"$$typeof"in a&&a.$$typeof===r&&"_payload"in a&&t(a._payload)}function t(a){return"object"==typeof a&&null!==a&&"then"in a}i(s,"isLazyComponent"),i(t,"isPromiseLike");var u=i(a=>`${a} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),v=i(a=>`${a} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),w=b[" use ".trim().toString()];a.s(["Slot",0,k,"createSlot",0,j,"createSlottable",0,m],776692)},142261,a=>{"use strict";var b=a.i(239337);let c=a=>"boolean"==typeof a?`${a}`:0===a?"0":a,d=b.clsx;a.s(["cva",0,(a,b)=>e=>{var f;if((null==b?void 0:b.variants)==null)return d(a,null==e?void 0:e.class,null==e?void 0:e.className);let{variants:g,defaultVariants:h}=b,i=Object.keys(g).map(a=>{let b=null==e?void 0:e[a],d=null==h?void 0:h[a];if(null===b)return null;let f=c(b)||c(d);return g[a][f]}),j=e&&Object.entries(e).reduce((a,b)=>{let[c,d]=b;return void 0===d||(a[c]=d),a},{});return d(a,i,null==b||null==(f=b.compoundVariants)?void 0:f.reduce((a,b)=>{let{class:c,className:d,...e}=b;return Object.entries(e).every(a=>{let[b,c]=a;return Array.isArray(c)?c.includes({...h,...j}[b]):({...h,...j})[b]===c})?[...a,c,d]:a},[]),null==e?void 0:e.class,null==e?void 0:e.className)}])},256857,a=>{"use strict";var b=a.i(174897);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"},e=(0,b.createContext)({}),f=(0,b.forwardRef)(({color:a,size:f,width:g,height:h,strokeWidth:i,absoluteStrokeWidth:j,nonScalingStroke:k,className:l="",children:m,iconNode:n=[],icon:o={node:n,aliases:[],size:24},...p},q)=>{let{size:r=24,strokeWidth:s=2,absoluteStrokeWidth:t=!1,nonScalingStroke:u=!1,color:v="currentColor",className:w=""}=(0,b.useContext)(e)??{},x=!!m||(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(p),[y,z,A=[]]=function(a,b={}){return function(a,b={}){let e=b.attributeNames??{},f=a=>e[a]??a,g=a.size??a.width??d.width,h=a.size??a.height??d.height,i=a.aliases?.filter(a=>"string"==typeof a&&""!==a.trim()).map(a=>`lucide-${a}`)??[],j=[...a.name?[`lucide-${a.name}`]:[],...i],k=b.className?.split(" ").filter(Boolean)??[],l=!1===b.includeDefaultClasses?c(...k):c("lucide",...j,...k),m=b.absoluteStrokeWidth?Number(b.strokeWidth??d["stroke-width"])*Number(a.size??a.width??d.width)/Number(b.size??b.width??d.width):b.strokeWidth??d["stroke-width"];return["svg",{...Object.entries(d).reduce((a,[b,c])=>(a[f(b)]=c,a),{}),..."color"in b&&b.color&&{[f("stroke")]:b.color},..."size"in b&&null!=b.size&&{[f("width")]:b.size,[f("height")]:b.size},..."width"in b&&null!=b.width&&{[f("width")]:b.width},..."height"in b&&null!=b.height&&{[f("height")]:b.height},[f("stroke-width")]:m,...l&&{[f("class")]:l},[f("viewBox")]:`0 0 ${g} ${h}`,...!1===b.hasA11yProp?{[f("aria-hidden")]:"true"}:{},..."attributes"in b&&b.attributes},a.node.map(a=>{let[c,d,e]=a,g=b.nonScalingStroke?{[f("vector-effect")]:"non-scaling-stroke",...d}:d;return e?[c,g,e]:[c,g]})]}(a,{...b,attributeNames:{...b.attributeNames,class:"className","stroke-width":"strokeWidth","stroke-linecap":"strokeLinecap","stroke-linejoin":"strokeLinejoin","vector-effect":"vectorEffect"}})}(o,{color:a??v,width:g??f??r,height:h??f??r,strokeWidth:i??s,absoluteStrokeWidth:j??t,nonScalingStroke:k??u,className:c(w,l),hasA11yProp:x,attributes:p});return(0,b.createElement)(y,{ref:q,...z},[...A.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(m)?m:[m]])});a.s(["default",0,function(a,c=[],d=[]){let e,g="string"==typeof a?function(a,b,c=[]){if(null==b)throw Error("[lucide]: iconNode is required when icon name is used");return{name:a?.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),size:24,node:b,...c.length>0?{aliases:c}:{}}}(a,c,d):a,h=(0,b.forwardRef)(({className:a,...c},d)=>(0,b.createElement)(f,{ref:d,icon:g,className:a,...c}));return g.name&&(h.displayName=(e=(a=>{let b="",c=!1;for(let d of a){if("-"===d||"_"===d||d<=" "){c=b.length>0;continue}0===b.length?b+=d.toLowerCase():b+=c?d.toUpperCase():d,c=!1}return b})(g.name)).charAt(0).toUpperCase()+e.slice(1)),h}],256857)},508817,a=>{"use strict";var b=a.i(256857);let c={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};c.node;let d=(0,b.default)(c);a.s(["BookOpen",0,d],508817)},795667,a=>{"use strict";var b=a.i(256857);let c={name:"bot",size:24,node:[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]};c.node;let d=(0,b.default)(c);a.s(["Bot",0,d],795667)},425404,a=>{"use strict";var b=a.i(256857);let c={name:"check",size:24,node:[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]};c.node;let d=(0,b.default)(c);a.s(["Check",0,d],425404)},156298,a=>{"use strict";var b=a.i(256857);let c={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};c.node;let d=(0,b.default)(c);a.s(["ChevronRight",0,d],156298)},926128,a=>{"use strict";var b=a.i(256857);let c={name:"file-text",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]};c.node;let d=(0,b.default)(c);a.s(["FileText",0,d],926128)},108280,a=>{"use strict";var b=a.i(256857);let c={name:"loader-circle",size:24,node:[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],aliases:["loader-2"]};c.node;let d=(0,b.default)(c);a.s(["Loader2",0,d],108280)},200382,a=>{"use strict";var b=a.i(256857);let c={name:"plus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]};c.node;let d=(0,b.default)(c);a.s(["Plus",0,d],200382)},72551,a=>{"use strict";var b=a.i(256857);let c={name:"search",size:24,node:[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]};c.node;let d=(0,b.default)(c);a.s(["Search",0,d],72551)},28386,a=>{"use strict";var b=a.i(256857);let c={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};c.node;let d=(0,b.default)(c);a.s(["Trash2",0,d],28386)},54165,a=>{"use strict";var b=a.i(256857);let c={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};c.node;let d=(0,b.default)(c);a.s(["X",0,d],54165)},879136,966420,a=>{"use strict";var b=a.i(256857);let c={name:"zap",size:24,node:[["path",{d:"M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z",key:"1v7up4"}]]};c.node;let d=(0,b.default)(c);a.s(["Zap",0,d],879136);let e={name:"settings",size:24,node:[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]};e.node;let f=(0,b.default)(e);a.s(["Settings",0,f],966420)},594023,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={getAssetToken:function(){return i},getAssetTokenQuery:function(){return j},getDeploymentId:function(){return g},getDeploymentIdQuery:function(){return h}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});function g(){return d}function h(a=!1){return d?`${a?"&":"?"}dpl=${d}`:""}function i(){return!1}function j(a=!1){return""}d=void 0},786304,a=>{"use strict";var b=a.i(662145),c=a.i(142261),d=a.i(368114);let e=(0,c.cva)("inline-flex items-center rounded-full border border-border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-accent focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-accent text-white hover:bg-accent/80",secondary:"border-transparent bg-surface2 text-txt hover:bg-surface2/80",destructive:"border-transparent bg-danger text-white hover:bg-danger/80",outline:"text-txt"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:c,...f}){return(0,b.jsx)("div",{className:(0,d.cn)(e({variant:c}),a),...f})}])},699570,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(776692),e=a.i(142261),f=a.i(368114);let g=(0,e.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-white hover:bg-accent/90",destructive:"bg-danger text-white 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"}}),h=c.forwardRef(({className:a,variant:c,size:e,asChild:h=!1,...i},j)=>{let k=h?d.Slot:"button";return(0,b.jsx)(k,{className:(0,f.cn)(g({variant:c,size:e,className:a})),ref:j,...i})});h.displayName="Button",a.s(["Button",0,h])},814574,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(923053),e=a.i(54165),f=a.i(368114);let g=d.Root;d.Trigger;let h=d.Portal;d.Close;let i=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Overlay,{ref:e,className:(0,f.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",a),...c}));i.displayName=d.Overlay.displayName;let j=c.forwardRef(({className:a,children:c,...g},j)=>(0,b.jsxs)(h,{children:[(0,b.jsx)(i,{}),(0,b.jsxs)(d.Content,{ref:j,className:(0,f.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",a),...g,children:[c,(0,b.jsxs)(d.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,b.jsx)(e.X,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));j.displayName=d.Content.displayName;let k=({className:a,...c})=>(0,b.jsx)("div",{className:(0,f.cn)("flex flex-col space-y-1.5 text-center sm:text-left",a),...c});k.displayName="DialogHeader";let l=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Title,{ref:e,className:(0,f.cn)("text-lg font-semibold leading-none tracking-tight",a),...c}));l.displayName=d.Title.displayName,c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Description,{ref:e,className:(0,f.cn)("text-sm text-muted",a),...c})).displayName=d.Description.displayName,a.s(["Dialog",0,g,"DialogContent",0,j,"DialogHeader",0,k,"DialogTitle",0,l])},866718,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(368114);let e=c.forwardRef(({className:a,type:c,...e},f)=>(0,b.jsx)("input",{type:c,className:(0,d.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",a),ref:f,...e}));e.displayName="Input",a.s(["Input",0,e])},757061,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(923053),e=a.i(142261),f=a.i(54165),g=a.i(368114);let h=d.Root;d.Trigger,d.Close;let i=d.Portal,j=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Overlay,{className:(0,g.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",a),...c,ref:e}));j.displayName=d.Overlay.displayName;let k=(0,e.cva)("fixed z-50 gap-4 bg-surface p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),l=c.forwardRef(({side:a="right",className:c,children:e,...h},l)=>(0,b.jsxs)(i,{children:[(0,b.jsx)(j,{}),(0,b.jsxs)(d.Content,{ref:l,className:(0,g.cn)(k({side:a}),c),...h,children:[e,(0,b.jsxs)(d.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",children:[(0,b.jsx)(f.X,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));l.displayName=d.Content.displayName;let m=({className:a,...c})=>(0,b.jsx)("div",{className:(0,g.cn)("flex flex-col space-y-2 text-center sm:text-left",a),...c});m.displayName="SheetHeader";let n=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Title,{ref:e,className:(0,g.cn)("text-lg font-semibold text-txt",a),...c}));n.displayName=d.Title.displayName;let o=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Description,{ref:e,className:(0,g.cn)("text-sm text-muted",a),...c}));o.displayName=d.Description.displayName,a.s(["Sheet",0,h,"SheetContent",0,l,"SheetDescription",0,o,"SheetHeader",0,m,"SheetTitle",0,n])},689101,a=>{"use strict";var b=a.i(174897);let c=()=>()=>{};a.s(["useOrigin",0,function(){return(0,b.useSyncExternalStore)(c,()=>window.location.origin,()=>"")}])},210436,a=>{"use strict";var b=a.i(817163);a.s(["applyAccent",0,function(a){document.documentElement.setAttribute("data-accent",a)},"applyFontSize",0,function(a){document.documentElement.setAttribute("data-font-size",a)},"applyFonts",0,function(a){let c=document.documentElement;c.setAttribute("data-font-sans",a.fontSans??b.DEFAULT_SETTINGS.fontSans),c.setAttribute("data-font-mono",a.fontMono??b.DEFAULT_SETTINGS.fontMono)},"applyTheme",0,function(a){let b=document.documentElement,c=window.matchMedia("(prefers-color-scheme: dark)").matches;b.classList.toggle("dark","dark"===a||"system"===a&&c)}])},525395,a=>{"use strict";let b="vibedoc:ask-agent",c="vibedoc:open-chat";a.s(["ASK_AGENT_EVENT",0,b,"OPEN_CHAT_EVENT",0,c,"askAgent",0,function(a,c={}){window.dispatchEvent(new CustomEvent(b,{detail:{message:a,...c}}))},"openAgentChat",0,function(a){window.dispatchEvent(new CustomEvent(c,{detail:{chatId:a}}))}])}];
2
-
3
- //# sourceMappingURL=_17jy5db._.js.map