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 +1,3 @@
1
- module.exports=[604145,a=>{"use strict";Array.prototype.slice,a.s(["default",0,function(a){return"object"==typeof a&&"length"in a?a:Array.from(a)}])},233111,514312,a=>{"use strict";a.s(["default",0,function(a){return function(){return a}}],233111);let b=Math.PI,c=2*b,d=c-1e-6;function e(a){this._+=a[0];for(let b=1,c=a.length;b<c;++b)this._+=arguments[b]+a[b]}class f{constructor(a){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==a?e:function(a){let b=Math.floor(a);if(!(b>=0))throw Error(`invalid digits: ${a}`);if(b>15)return e;let c=10**b;return function(a){this._+=a[0];for(let b=1,d=a.length;b<d;++b)this._+=Math.round(arguments[b]*c)/c+a[b]}}(a)}moveTo(a,b){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+b}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(a,b){this._append`L${this._x1=+a},${this._y1=+b}`}quadraticCurveTo(a,b,c,d){this._append`Q${+a},${+b},${this._x1=+c},${this._y1=+d}`}bezierCurveTo(a,b,c,d,e,f){this._append`C${+a},${+b},${+c},${+d},${this._x1=+e},${this._y1=+f}`}arcTo(a,c,d,e,f){if(a*=1,c*=1,d*=1,e*=1,(f*=1)<0)throw Error(`negative radius: ${f}`);let g=this._x1,h=this._y1,i=d-a,j=e-c,k=g-a,l=h-c,m=k*k+l*l;if(null===this._x1)this._append`M${this._x1=a},${this._y1=c}`;else if(m>1e-6)if(Math.abs(l*i-j*k)>1e-6&&f){let n=d-g,o=e-h,p=i*i+j*j,q=Math.sqrt(p),r=Math.sqrt(m),s=f*Math.tan((b-Math.acos((p+m-(n*n+o*o))/(2*q*r)))/2),t=s/r,u=s/q;Math.abs(t-1)>1e-6&&this._append`L${a+t*k},${c+t*l}`,this._append`A${f},${f},0,0,${+(l*n>k*o)},${this._x1=a+u*i},${this._y1=c+u*j}`}else this._append`L${this._x1=a},${this._y1=c}`}arc(a,e,f,g,h,i){if(a*=1,e*=1,f*=1,i=!!i,f<0)throw Error(`negative radius: ${f}`);let j=f*Math.cos(g),k=f*Math.sin(g),l=a+j,m=e+k,n=1^i,o=i?g-h:h-g;null===this._x1?this._append`M${l},${m}`:(Math.abs(this._x1-l)>1e-6||Math.abs(this._y1-m)>1e-6)&&this._append`L${l},${m}`,f&&(o<0&&(o=o%c+c),o>d?this._append`A${f},${f},0,1,${n},${a-j},${e-k}A${f},${f},0,1,${n},${this._x1=l},${this._y1=m}`:o>1e-6&&this._append`A${f},${f},0,${+(o>=b)},${n},${this._x1=a+f*Math.cos(h)},${this._y1=e+f*Math.sin(h)}`)}rect(a,b,c,d){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+b}h${c*=1}v${+d}h${-c}Z`}toString(){return this._}}f.prototype,a.s(["withPath",0,function(a){let b=3;return a.digits=function(c){if(!arguments.length)return b;if(null==c)b=null;else{let a=Math.floor(c);if(!(a>=0))throw RangeError(`invalid digits: ${c}`);b=a}return a},()=>new f(b)}],514312)},298648,a=>{"use strict";var b=a.i(604145),c=a.i(233111),d=a.i(955072),e=a.i(514312);function f(a){return a[0]}function g(a){return a[1]}a.s(["line",0,function(a,h){var i=(0,c.default)(!0),j=null,k=d.default,l=null,m=(0,e.withPath)(n);function n(c){var d,e,f,g=(c=(0,b.default)(c)).length,n=!1;for(null==j&&(l=k(f=m())),d=0;d<=g;++d)!(d<g&&i(e=c[d],d,c))===n&&((n=!n)?l.lineStart():l.lineEnd()),n&&l.point(+a(e,d,c),+h(e,d,c));if(f)return l=null,f+""||null}return a="function"==typeof a?a:void 0===a?f:(0,c.default)(a),h="function"==typeof h?h:void 0===h?g:(0,c.default)(h),n.x=function(b){return arguments.length?(a="function"==typeof b?b:(0,c.default)(+b),n):a},n.y=function(a){return arguments.length?(h="function"==typeof a?a:(0,c.default)(+a),n):h},n.defined=function(a){return arguments.length?(i="function"==typeof a?a:(0,c.default)(!!a),n):i},n.curve=function(a){return arguments.length?(k=a,null!=j&&(l=k(j)),n):k},n.context=function(a){return arguments.length?(null==a?j=l=null:l=k(j=a),n):j},n}],298648)},389424,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1u84_katex_dist_katex_mjs_1sth3te._.js"].map(b=>a.l(b))).then(()=>b(706823)))},987071,a=>{"use strict";var b=a.i(432048),c=a.i(78760);a.s(["channel",0,(a,d)=>b.default.lang.round(c.default.parse(a)[d])],987071)},923300,a=>{"use strict";var b=a.i(223879),c=a.i(500703),d=a.i(692654),e=a.i(110482),f=(0,e.__name)(({flowchart:a})=>{let b=a?.subGraphTitleMargin?.top??0,c=a?.subGraphTitleMargin?.bottom??0;return{subGraphTitleTopMargin:b,subGraphTitleBottomMargin:c,subGraphTitleTotalMargin:b+c}},"getSubGraphTitleMargins"),g=new Map;async function h(a,d,e){let f,h;"rect"===d.shape&&(d.rx&&d.ry?d.shape="roundedRect":d.shape="squareRect");let i=d.shape?b.shapes[d.shape]:void 0;if(!i)throw Error(`No such shape: ${d.shape}. Please check your syntax.`);if(d.link){let b;"sandbox"===e.config.securityLevel?b="_top":d.linkTarget&&(b=d.linkTarget||"_blank"),f=a.insert("svg:a").attr("xlink:href",d.link).attr("target",b??null),h=await i(f,d,e)}else f=h=await i(a,d,e);return f.attr("data-look",(0,c.handleUndefinedAttr)(d.look)),d.tooltip&&h.attr("title",d.tooltip),g.set(d.id,f),d.haveCallback&&f.attr("class",f.attr("class")+" clickable"),f}(0,e.__name)(h,"insertNode");var i=(0,e.__name)((a,b)=>{g.set(b.id,a)},"setNodeElem"),j=(0,e.__name)(()=>{g.clear()},"clear"),k=(0,e.__name)(a=>{let b=g.get(a.id);d.log.trace("Transforming node",a.diff,a,"translate("+(a.x-a.width/2-5)+", "+a.width/2+")");let c=a.diff||0;return a.clusterNode?b.attr("transform","translate("+(a.x+c-a.width/2)+", "+(a.y-a.height/2-8)+")"):b.attr("transform","translate("+a.x+", "+a.y+")"),c},"positionNode");a.s(["clear",0,j,"getSubGraphTitleMargins",0,f,"insertNode",0,h,"positionNode",0,k,"setNodeElem",0,i])},134550,a=>{"use strict";var b=a.i(110482),c=(0,b.__name)((a,c)=>{let{theme:d,themeVariables:e}=c,{useGradient:f,gradientStart:g,gradientStop:h}=e??{},i=a.attr("id"),j=d?.includes("dark")?"#FFFFFF":"#000000",k=(0,b.__name)((b,c,d)=>a.append("defs").append("filter").attr("id",b).attr("height",c).attr("width",c).append("feDropShadow").attr("dx",d).attr("dy",d).attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",j),"dropShadow");if(k(`${i}-drop-shadow`,"130%","4"),k(`${i}-drop-shadow-small`,"150%","2"),!f)return;let l=a.append("linearGradient").attr("id",`${i}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");l.append("svg:stop").attr("offset","0%").attr("stop-color",g).attr("stop-opacity",1),l.append("svg:stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)},"insertLookDefs");a.s(["insertLookDefs",0,c])},268525,a=>{"use strict";var b=a.i(134550),c=a.i(484162),d=a.i(329246),e=a.i(923300),f=a.i(223879),g=a.i(500703),h=a.i(891604),i=a.i(692654),j=a.i(110482),k={common:h.common_default,getConfig:h.getConfig,insertCluster:c.insertCluster,insertEdge:d.insertEdge,insertEdgeLabel:d.insertEdgeLabel,insertMarkers:d.markers_default,insertNode:e.insertNode,interpolateToCurve:g.interpolateToCurve,labelHelper:f.labelHelper,log:i.log,positionEdgeLabel:d.positionEdgeLabel},l=["elk.stress","elk.force","elk.mrtree","elk.sporeOverlap","elk.box","elk.rectpacking"],m=Object.create(null),n=(0,j.__name)(a=>{for(let b of a)m[b.name]=b},"registerLayoutLoaders"),o=(0,j.__name)(()=>{let b=(0,j.__name)(async()=>await a.A(588471),"loader");return[{name:"elk",loader:b,algorithm:"elk.layered"},...l.map(a=>({name:a,loader:b,algorithm:a}))]},"elkLayoutLoaders");(0,j.__name)(()=>{n([{name:"dagre",loader:(0,j.__name)(async()=>await a.A(516754),"loader")},{name:"swimlane",loader:(0,j.__name)(async()=>await a.A(117822),"loader")},{name:"cose-bilkent",loader:(0,j.__name)(async()=>await a.A(929870),"loader")},...o()])},"registerDefaultLayoutLoaders")();var p=(0,j.__name)(async(a,c)=>{if(!Object.hasOwn(m,a.layoutAlgorithm))throw Error(`Unknown layout algorithm: ${a.layoutAlgorithm}`);if(a.diagramId)for(let b of a.nodes){let c=b.domId||b.id;b.domId=`${a.diagramId}-${c}`}let d=m[a.layoutAlgorithm],e=await d.loader();return(0,b.insertLookDefs)(c,a.config),e.render(a,c,k,{algorithm:d.algorithm})},"render"),q="dagre",r=(0,j.__name)((a="",{fallback:b=q}={})=>{if(Object.hasOwn(m,a))return a;for(let c of[b,q])if(Object.hasOwn(m,c))return i.log.warn(`Layout algorithm ${a} is not registered. Using ${c} as fallback.`),c;throw Error(`Neither layout algorithm ${a}, ${b}, nor ${q} is registered.`)},"getRegisteredLayoutAlgorithm");a.s(["getRegisteredLayoutAlgorithm",0,r,"registerLayoutLoaders",0,n,"render",0,p])},371994,a=>{"use strict";var b=a.i(891604),c=a.i(692654),d=a.i(110482),e=(0,d.__name)((a,d,e,h)=>{a.attr("class",e);let{width:i,height:j,x:k,y:l}=f(a,d);(0,b.configureSvgSize)(a,j,i,h);let m=g(k,l,i,j,d);a.attr("viewBox",m),c.log.debug(`viewBox configured: ${m} with padding: ${d}`)},"setupViewPortForSVG"),f=(0,d.__name)((a,b)=>{let c=a.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:c.width+2*b,height:c.height+2*b,x:c.x,y:c.y}},"calculateDimensionsWithPadding"),g=(0,d.__name)((a,b,c,d,e)=>`${a-e} ${b-e} ${c} ${d}`,"createViewBox");a.s(["setupViewPortForSVG",0,e])},717743,a=>{"use strict";var b=a.i(110482);a.i(43066);var c=a.i(455784),d=(0,b.__name)((a,b)=>{let d;return"sandbox"===b&&(d=(0,c.select)("#i"+a)),("sandbox"===b?(0,c.select)(d.nodes()[0].contentDocument.body):(0,c.select)("body")).select(`[id="${a}"]`)},"getDiagramElement");a.s(["getDiagramElement",0,d])},929870,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Y2CYZVJY_mjs_0rkuxn0._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/0f1w_cytoscape_dist_cytoscape_esm_mjs_0uvjn72._.js","server/chunks/ssr/node_modules__pnpm_1kf76q8._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js"].map(b=>a.l(b))).then(()=>b(678999)))},516754,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_0ah02mu._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-3FUC2YCW_mjs_1af260u._.js","server/chunks/ssr/node_modules__pnpm_06wwby6._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js","server/chunks/ssr/0upk_roughjs_bundled_rough_esm_0vflsuc.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-UA2S7LBM_mjs_12azvn5._.js","server/chunks/ssr/0fbn_dagre-d3-es_src_graphlib_index_09d95eh.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-MBY4JIJT_mjs_177netf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-O7XYJQB3_mjs_1q7gem7._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_dagre-6A5THRUB_mjs_20a97vj._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-7INBJB4K_mjs_0-khcme._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Z7XXMR3K_mjs_1v-ak7s._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-ZIGJFQKS_mjs_1zrfev2._.js"].map(b=>a.l(b))).then(()=>b(160487)))},588471,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_1yq90z7._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-UA2S7LBM_mjs_12azvn5._.js","server/chunks/ssr/node_modules__pnpm_06wwby6._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-ZIGJFQKS_mjs_1zrfev2._.js","server/chunks/ssr/0upk_roughjs_bundled_rough_esm_0vflsuc.js","server/chunks/ssr/node_modules__pnpm_1hy0h0g._.js","server/chunks/ssr/0fbn_dagre-d3-es_src_graphlib_index_09d95eh.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-O7XYJQB3_mjs_1q7gem7._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js","server/chunks/ssr/node_modules__pnpm_0f4t794._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-7INBJB4K_mjs_0-khcme._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Z7XXMR3K_mjs_1v-ak7s._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-MBY4JIJT_mjs_177netf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-3FUC2YCW_mjs_1af260u._.js"].map(b=>a.l(b))).then(()=>b(92823)))},117822,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_1yq90z7._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-UA2S7LBM_mjs_12azvn5._.js","server/chunks/ssr/node_modules__pnpm_06wwby6._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-ZIGJFQKS_mjs_1zrfev2._.js","server/chunks/ssr/0upk_roughjs_bundled_rough_esm_0vflsuc.js","server/chunks/ssr/node_modules__pnpm_1hy0h0g._.js","server/chunks/ssr/0fbn_dagre-d3-es_src_graphlib_index_09d95eh.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-O7XYJQB3_mjs_1q7gem7._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_swimlanes-2SLR337P_mjs_1rwc1wf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-7INBJB4K_mjs_0-khcme._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Z7XXMR3K_mjs_1v-ak7s._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-MBY4JIJT_mjs_177netf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-3FUC2YCW_mjs_1af260u._.js"].map(b=>a.l(b))).then(()=>b(508840)))}];
1
+ module.exports=[604145,a=>{"use strict";Array.prototype.slice,a.s(["default",0,function(a){return"object"==typeof a&&"length"in a?a:Array.from(a)}])},233111,514312,a=>{"use strict";a.s(["default",0,function(a){return function(){return a}}],233111);let b=Math.PI,c=2*b,d=c-1e-6;function e(a){this._+=a[0];for(let b=1,c=a.length;b<c;++b)this._+=arguments[b]+a[b]}class f{constructor(a){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==a?e:function(a){let b=Math.floor(a);if(!(b>=0))throw Error(`invalid digits: ${a}`);if(b>15)return e;let c=10**b;return function(a){this._+=a[0];for(let b=1,d=a.length;b<d;++b)this._+=Math.round(arguments[b]*c)/c+a[b]}}(a)}moveTo(a,b){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+b}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(a,b){this._append`L${this._x1=+a},${this._y1=+b}`}quadraticCurveTo(a,b,c,d){this._append`Q${+a},${+b},${this._x1=+c},${this._y1=+d}`}bezierCurveTo(a,b,c,d,e,f){this._append`C${+a},${+b},${+c},${+d},${this._x1=+e},${this._y1=+f}`}arcTo(a,c,d,e,f){if(a*=1,c*=1,d*=1,e*=1,(f*=1)<0)throw Error(`negative radius: ${f}`);let g=this._x1,h=this._y1,i=d-a,j=e-c,k=g-a,l=h-c,m=k*k+l*l;if(null===this._x1)this._append`M${this._x1=a},${this._y1=c}`;else if(m>1e-6)if(Math.abs(l*i-j*k)>1e-6&&f){let n=d-g,o=e-h,p=i*i+j*j,q=Math.sqrt(p),r=Math.sqrt(m),s=f*Math.tan((b-Math.acos((p+m-(n*n+o*o))/(2*q*r)))/2),t=s/r,u=s/q;Math.abs(t-1)>1e-6&&this._append`L${a+t*k},${c+t*l}`,this._append`A${f},${f},0,0,${+(l*n>k*o)},${this._x1=a+u*i},${this._y1=c+u*j}`}else this._append`L${this._x1=a},${this._y1=c}`}arc(a,e,f,g,h,i){if(a*=1,e*=1,f*=1,i=!!i,f<0)throw Error(`negative radius: ${f}`);let j=f*Math.cos(g),k=f*Math.sin(g),l=a+j,m=e+k,n=1^i,o=i?g-h:h-g;null===this._x1?this._append`M${l},${m}`:(Math.abs(this._x1-l)>1e-6||Math.abs(this._y1-m)>1e-6)&&this._append`L${l},${m}`,f&&(o<0&&(o=o%c+c),o>d?this._append`A${f},${f},0,1,${n},${a-j},${e-k}A${f},${f},0,1,${n},${this._x1=l},${this._y1=m}`:o>1e-6&&this._append`A${f},${f},0,${+(o>=b)},${n},${this._x1=a+f*Math.cos(h)},${this._y1=e+f*Math.sin(h)}`)}rect(a,b,c,d){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+b}h${c*=1}v${+d}h${-c}Z`}toString(){return this._}}f.prototype,a.s(["withPath",0,function(a){let b=3;return a.digits=function(c){if(!arguments.length)return b;if(null==c)b=null;else{let a=Math.floor(c);if(!(a>=0))throw RangeError(`invalid digits: ${c}`);b=a}return a},()=>new f(b)}],514312)},298648,a=>{"use strict";var b=a.i(604145),c=a.i(233111),d=a.i(955072),e=a.i(514312);function f(a){return a[0]}function g(a){return a[1]}a.s(["line",0,function(a,h){var i=(0,c.default)(!0),j=null,k=d.default,l=null,m=(0,e.withPath)(n);function n(c){var d,e,f,g=(c=(0,b.default)(c)).length,n=!1;for(null==j&&(l=k(f=m())),d=0;d<=g;++d)!(d<g&&i(e=c[d],d,c))===n&&((n=!n)?l.lineStart():l.lineEnd()),n&&l.point(+a(e,d,c),+h(e,d,c));if(f)return l=null,f+""||null}return a="function"==typeof a?a:void 0===a?f:(0,c.default)(a),h="function"==typeof h?h:void 0===h?g:(0,c.default)(h),n.x=function(b){return arguments.length?(a="function"==typeof b?b:(0,c.default)(+b),n):a},n.y=function(a){return arguments.length?(h="function"==typeof a?a:(0,c.default)(+a),n):h},n.defined=function(a){return arguments.length?(i="function"==typeof a?a:(0,c.default)(!!a),n):i},n.curve=function(a){return arguments.length?(k=a,null!=j&&(l=k(j)),n):k},n.context=function(a){return arguments.length?(null==a?j=l=null:l=k(j=a),n):j},n}],298648)},389424,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1u84_katex_dist_katex_mjs_1sth3te._.js"].map(b=>a.l(b))).then(()=>b(706823)))},987071,a=>{"use strict";var b=a.i(432048),c=a.i(78760);a.s(["channel",0,(a,d)=>b.default.lang.round(c.default.parse(a)[d])],987071)},923300,a=>{"use strict";var b=a.i(223879),c=a.i(500703),d=a.i(692654),e=a.i(110482),f=(0,e.__name)(({flowchart:a})=>{let b=a?.subGraphTitleMargin?.top??0,c=a?.subGraphTitleMargin?.bottom??0;return{subGraphTitleTopMargin:b,subGraphTitleBottomMargin:c,subGraphTitleTotalMargin:b+c}},"getSubGraphTitleMargins"),g=new Map;async function h(a,d,e){let f,h;"rect"===d.shape&&(d.rx&&d.ry?d.shape="roundedRect":d.shape="squareRect");let i=d.shape?b.shapes[d.shape]:void 0;if(!i)throw Error(`No such shape: ${d.shape}. Please check your syntax.`);if(d.link){let b;"sandbox"===e.config.securityLevel?b="_top":d.linkTarget&&(b=d.linkTarget||"_blank"),f=a.insert("svg:a").attr("xlink:href",d.link).attr("target",b??null),h=await i(f,d,e)}else f=h=await i(a,d,e);return f.attr("data-look",(0,c.handleUndefinedAttr)(d.look)),d.tooltip&&h.attr("title",d.tooltip),g.set(d.id,f),d.haveCallback&&f.attr("class",f.attr("class")+" clickable"),f}(0,e.__name)(h,"insertNode");var i=(0,e.__name)((a,b)=>{g.set(b.id,a)},"setNodeElem"),j=(0,e.__name)(()=>{g.clear()},"clear"),k=(0,e.__name)(a=>{let b=g.get(a.id);d.log.trace("Transforming node",a.diff,a,"translate("+(a.x-a.width/2-5)+", "+a.width/2+")");let c=a.diff||0;return a.clusterNode?b.attr("transform","translate("+(a.x+c-a.width/2)+", "+(a.y-a.height/2-8)+")"):b.attr("transform","translate("+a.x+", "+a.y+")"),c},"positionNode");a.s(["clear",0,j,"getSubGraphTitleMargins",0,f,"insertNode",0,h,"positionNode",0,k,"setNodeElem",0,i])},134550,a=>{"use strict";var b=a.i(110482),c=(0,b.__name)((a,c)=>{let{theme:d,themeVariables:e}=c,{useGradient:f,gradientStart:g,gradientStop:h}=e??{},i=a.attr("id"),j=d?.includes("dark")?"#FFFFFF":"#000000",k=(0,b.__name)((b,c,d)=>a.append("defs").append("filter").attr("id",b).attr("height",c).attr("width",c).append("feDropShadow").attr("dx",d).attr("dy",d).attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",j),"dropShadow");if(k(`${i}-drop-shadow`,"130%","4"),k(`${i}-drop-shadow-small`,"150%","2"),!f)return;let l=a.append("linearGradient").attr("id",`${i}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");l.append("svg:stop").attr("offset","0%").attr("stop-color",g).attr("stop-opacity",1),l.append("svg:stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)},"insertLookDefs");a.s(["insertLookDefs",0,c])},268525,a=>{"use strict";var b=a.i(134550),c=a.i(484162),d=a.i(329246),e=a.i(923300),f=a.i(223879),g=a.i(500703),h=a.i(891604),i=a.i(692654),j=a.i(110482),k={common:h.common_default,getConfig:h.getConfig,insertCluster:c.insertCluster,insertEdge:d.insertEdge,insertEdgeLabel:d.insertEdgeLabel,insertMarkers:d.markers_default,insertNode:e.insertNode,interpolateToCurve:g.interpolateToCurve,labelHelper:f.labelHelper,log:i.log,positionEdgeLabel:d.positionEdgeLabel},l=["elk.stress","elk.force","elk.mrtree","elk.sporeOverlap","elk.box","elk.rectpacking"],m=Object.create(null),n=(0,j.__name)(a=>{for(let b of a)m[b.name]=b},"registerLayoutLoaders"),o=(0,j.__name)(()=>{let b=(0,j.__name)(async()=>await a.A(588471),"loader");return[{name:"elk",loader:b,algorithm:"elk.layered"},...l.map(a=>({name:a,loader:b,algorithm:a}))]},"elkLayoutLoaders");(0,j.__name)(()=>{n([{name:"dagre",loader:(0,j.__name)(async()=>await a.A(516754),"loader")},{name:"swimlane",loader:(0,j.__name)(async()=>await a.A(117822),"loader")},{name:"cose-bilkent",loader:(0,j.__name)(async()=>await a.A(929870),"loader")},...o()])},"registerDefaultLayoutLoaders")();var p=(0,j.__name)(async(a,c)=>{if(!Object.hasOwn(m,a.layoutAlgorithm))throw Error(`Unknown layout algorithm: ${a.layoutAlgorithm}`);if(a.diagramId)for(let b of a.nodes){let c=b.domId||b.id;b.domId=`${a.diagramId}-${c}`}let d=m[a.layoutAlgorithm],e=await d.loader();return(0,b.insertLookDefs)(c,a.config),e.render(a,c,k,{algorithm:d.algorithm})},"render"),q="dagre",r=(0,j.__name)((a="",{fallback:b=q}={})=>{if(Object.hasOwn(m,a))return a;for(let c of[b,q])if(Object.hasOwn(m,c))return i.log.warn(`Layout algorithm ${a} is not registered. Using ${c} as fallback.`),c;throw Error(`Neither layout algorithm ${a}, ${b}, nor ${q} is registered.`)},"getRegisteredLayoutAlgorithm");a.s(["getRegisteredLayoutAlgorithm",0,r,"registerLayoutLoaders",0,n,"render",0,p])},371994,a=>{"use strict";var b=a.i(891604),c=a.i(692654),d=a.i(110482),e=(0,d.__name)((a,d,e,h)=>{a.attr("class",e);let{width:i,height:j,x:k,y:l}=f(a,d);(0,b.configureSvgSize)(a,j,i,h);let m=g(k,l,i,j,d);a.attr("viewBox",m),c.log.debug(`viewBox configured: ${m} with padding: ${d}`)},"setupViewPortForSVG"),f=(0,d.__name)((a,b)=>{let c=a.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:c.width+2*b,height:c.height+2*b,x:c.x,y:c.y}},"calculateDimensionsWithPadding"),g=(0,d.__name)((a,b,c,d,e)=>`${a-e} ${b-e} ${c} ${d}`,"createViewBox");a.s(["setupViewPortForSVG",0,e])},717743,a=>{"use strict";var b=a.i(110482);a.i(43066);var c=a.i(455784),d=(0,b.__name)((a,b)=>{let d;return"sandbox"===b&&(d=(0,c.select)("#i"+a)),("sandbox"===b?(0,c.select)(d.nodes()[0].contentDocument.body):(0,c.select)("body")).select(`[id="${a}"]`)},"getDiagramElement");a.s(["getDiagramElement",0,d])},929870,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Y2CYZVJY_mjs_0rkuxn0._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/0f1w_cytoscape_dist_cytoscape_esm_mjs_0uvjn72._.js","server/chunks/ssr/node_modules__pnpm_1kf76q8._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js"].map(b=>a.l(b))).then(()=>b(678999)))},516754,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_1-r94f7._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-3FUC2YCW_mjs_1af260u._.js","server/chunks/ssr/node_modules__pnpm_06wwby6._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js","server/chunks/ssr/0upk_roughjs_bundled_rough_esm_0vflsuc.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-UA2S7LBM_mjs_12azvn5._.js","server/chunks/ssr/0fbn_dagre-d3-es_src_graphlib_index_09d95eh.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-MBY4JIJT_mjs_177netf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-O7XYJQB3_mjs_1q7gem7._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_dagre-6A5THRUB_mjs_20a97vj._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-7INBJB4K_mjs_0-khcme._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Z7XXMR3K_mjs_1v-ak7s._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-ZIGJFQKS_mjs_1zrfev2._.js"].map(b=>a.l(b))).then(()=>b(160487)))},588471,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_14piqi4._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-UA2S7LBM_mjs_12azvn5._.js","server/chunks/ssr/node_modules__pnpm_06wwby6._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-ZIGJFQKS_mjs_1zrfev2._.js","server/chunks/ssr/0upk_roughjs_bundled_rough_esm_0vflsuc.js","server/chunks/ssr/node_modules__pnpm_1hy0h0g._.js","server/chunks/ssr/0fbn_dagre-d3-es_src_graphlib_index_09d95eh.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-O7XYJQB3_mjs_1q7gem7._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js","server/chunks/ssr/node_modules__pnpm_0f4t794._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-7INBJB4K_mjs_0-khcme._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Z7XXMR3K_mjs_1v-ak7s._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-MBY4JIJT_mjs_177netf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-3FUC2YCW_mjs_1af260u._.js"].map(b=>a.l(b))).then(()=>b(92823)))},117822,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_14piqi4._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-UA2S7LBM_mjs_12azvn5._.js","server/chunks/ssr/node_modules__pnpm_06wwby6._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-ZIGJFQKS_mjs_1zrfev2._.js","server/chunks/ssr/0upk_roughjs_bundled_rough_esm_0vflsuc.js","server/chunks/ssr/node_modules__pnpm_1hy0h0g._.js","server/chunks/ssr/0fbn_dagre-d3-es_src_graphlib_index_09d95eh.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-O7XYJQB3_mjs_1q7gem7._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_swimlanes-2SLR337P_mjs_1rwc1wf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-7INBJB4K_mjs_0-khcme._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Z7XXMR3K_mjs_1v-ak7s._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-MBY4JIJT_mjs_177netf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-3FUC2YCW_mjs_1af260u._.js"].map(b=>a.l(b))).then(()=>b(508840)))}];
2
2
 
3
- //# sourceMappingURL=node_modules__pnpm_1woddr6._.js.map
3
+ //# sourceMappingURL=node_modules__pnpm_1q_hhr3._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[754400,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.BLANK_URL=c.relativeFirstCharacters=c.whitespaceEscapeCharsRegex=c.urlSchemeRegex=c.ctrlCharactersRegex=c.htmlCtrlEntityRegex=c.htmlEntitiesRegex=c.invalidProtocolRegex=void 0,c.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,c.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,c.htmlCtrlEntityRegex=/&(newline|tab);/gi,c.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,c.urlSchemeRegex=/^.+(:|&colon;)/gim,c.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,c.relativeFirstCharacters=[".","/"],c.BLANK_URL="about:blank"},319120,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.sanitizeUrl=function(a){if(!a)return d.BLANK_URL;var b,c=e(a.trim());do b=(c=e(c=c.replace(d.ctrlCharactersRegex,"").replace(d.htmlEntitiesRegex,function(a,b){return String.fromCharCode(b)}).replace(d.htmlCtrlEntityRegex,"").replace(d.ctrlCharactersRegex,"").replace(d.whitespaceEscapeCharsRegex,"").trim())).match(d.ctrlCharactersRegex)||c.match(d.htmlEntitiesRegex)||c.match(d.htmlCtrlEntityRegex)||c.match(d.whitespaceEscapeCharsRegex);while(b&&b.length>0)var f=c;if(!f)return d.BLANK_URL;if(d.relativeFirstCharacters.indexOf(f[0])>-1)return f;var g=f.trimStart(),h=g.match(d.urlSchemeRegex);if(!h)return f;var i=h[0].toLowerCase().trim();if(d.invalidProtocolRegex.test(i))return d.BLANK_URL;var j=g.replace(/\\/g,"/");if("mailto:"===i||i.includes("://"))return j;if("http:"===i||"https:"===i){if(!URL.canParse(j))return d.BLANK_URL;var k=new URL(j);return k.protocol=k.protocol.toLowerCase(),k.hostname=k.hostname.toLowerCase(),k.toString()}return j};var d=a.r(754400);function e(a){try{return decodeURIComponent(a)}catch(b){return a}}},774086,a=>{"use strict";let b=Math.abs,c=Math.atan2,d=Math.cos,e=Math.max,f=Math.min,g=Math.sin,h=Math.sqrt,i=Math.PI,j=i/2;a.s(["abs",0,b,"acos",0,function(a){return a>1?0:a<-1?i:Math.acos(a)},"asin",0,function(a){return a>=1?j:a<=-1?-j:Math.asin(a)},"atan2",0,c,"cos",0,d,"epsilon",0,1e-12,"halfPi",0,j,"max",0,e,"min",0,f,"pi",0,i,"sin",0,g,"sqrt",0,h,"tau",0,2*i])},389424,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1u84_katex_dist_katex_mjs_1sth3te._.js"].map(b=>a.l(b))).then(()=>b(706823)))},110482,a=>{"use strict";var b=Object.defineProperty;a.s(["__export",0,(a,c)=>{for(var d in c)b(a,d,{get:c[d],enumerable:!0})},"__name",0,(a,c)=>b(a,"name",{value:c,configurable:!0})])}];
2
2
 
3
- //# sourceMappingURL=node_modules__pnpm_1x0t5_z._.js.map
3
+ //# sourceMappingURL=node_modules__pnpm_1qmkxyo._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[604145,a=>{"use strict";Array.prototype.slice,a.s(["default",0,function(a){return"object"==typeof a&&"length"in a?a:Array.from(a)}])},233111,514312,a=>{"use strict";a.s(["default",0,function(a){return function(){return a}}],233111);let b=Math.PI,c=2*b,d=c-1e-6;function e(a){this._+=a[0];for(let b=1,c=a.length;b<c;++b)this._+=arguments[b]+a[b]}class f{constructor(a){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==a?e:function(a){let b=Math.floor(a);if(!(b>=0))throw Error(`invalid digits: ${a}`);if(b>15)return e;let c=10**b;return function(a){this._+=a[0];for(let b=1,d=a.length;b<d;++b)this._+=Math.round(arguments[b]*c)/c+a[b]}}(a)}moveTo(a,b){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+b}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(a,b){this._append`L${this._x1=+a},${this._y1=+b}`}quadraticCurveTo(a,b,c,d){this._append`Q${+a},${+b},${this._x1=+c},${this._y1=+d}`}bezierCurveTo(a,b,c,d,e,f){this._append`C${+a},${+b},${+c},${+d},${this._x1=+e},${this._y1=+f}`}arcTo(a,c,d,e,f){if(a*=1,c*=1,d*=1,e*=1,(f*=1)<0)throw Error(`negative radius: ${f}`);let g=this._x1,h=this._y1,i=d-a,j=e-c,k=g-a,l=h-c,m=k*k+l*l;if(null===this._x1)this._append`M${this._x1=a},${this._y1=c}`;else if(m>1e-6)if(Math.abs(l*i-j*k)>1e-6&&f){let n=d-g,o=e-h,p=i*i+j*j,q=Math.sqrt(p),r=Math.sqrt(m),s=f*Math.tan((b-Math.acos((p+m-(n*n+o*o))/(2*q*r)))/2),t=s/r,u=s/q;Math.abs(t-1)>1e-6&&this._append`L${a+t*k},${c+t*l}`,this._append`A${f},${f},0,0,${+(l*n>k*o)},${this._x1=a+u*i},${this._y1=c+u*j}`}else this._append`L${this._x1=a},${this._y1=c}`}arc(a,e,f,g,h,i){if(a*=1,e*=1,f*=1,i=!!i,f<0)throw Error(`negative radius: ${f}`);let j=f*Math.cos(g),k=f*Math.sin(g),l=a+j,m=e+k,n=1^i,o=i?g-h:h-g;null===this._x1?this._append`M${l},${m}`:(Math.abs(this._x1-l)>1e-6||Math.abs(this._y1-m)>1e-6)&&this._append`L${l},${m}`,f&&(o<0&&(o=o%c+c),o>d?this._append`A${f},${f},0,1,${n},${a-j},${e-k}A${f},${f},0,1,${n},${this._x1=l},${this._y1=m}`:o>1e-6&&this._append`A${f},${f},0,${+(o>=b)},${n},${this._x1=a+f*Math.cos(h)},${this._y1=e+f*Math.sin(h)}`)}rect(a,b,c,d){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+b}h${c*=1}v${+d}h${-c}Z`}toString(){return this._}}f.prototype,a.s(["withPath",0,function(a){let b=3;return a.digits=function(c){if(!arguments.length)return b;if(null==c)b=null;else{let a=Math.floor(c);if(!(a>=0))throw RangeError(`invalid digits: ${c}`);b=a}return a},()=>new f(b)}],514312)},298648,a=>{"use strict";var b=a.i(604145),c=a.i(233111),d=a.i(955072),e=a.i(514312);function f(a){return a[0]}function g(a){return a[1]}a.s(["line",0,function(a,h){var i=(0,c.default)(!0),j=null,k=d.default,l=null,m=(0,e.withPath)(n);function n(c){var d,e,f,g=(c=(0,b.default)(c)).length,n=!1;for(null==j&&(l=k(f=m())),d=0;d<=g;++d)!(d<g&&i(e=c[d],d,c))===n&&((n=!n)?l.lineStart():l.lineEnd()),n&&l.point(+a(e,d,c),+h(e,d,c));if(f)return l=null,f+""||null}return a="function"==typeof a?a:void 0===a?f:(0,c.default)(a),h="function"==typeof h?h:void 0===h?g:(0,c.default)(h),n.x=function(b){return arguments.length?(a="function"==typeof b?b:(0,c.default)(+b),n):a},n.y=function(a){return arguments.length?(h="function"==typeof a?a:(0,c.default)(+a),n):h},n.defined=function(a){return arguments.length?(i="function"==typeof a?a:(0,c.default)(!!a),n):i},n.curve=function(a){return arguments.length?(k=a,null!=j&&(l=k(j)),n):k},n.context=function(a){return arguments.length?(null==a?j=l=null:l=k(j=a),n):j},n}],298648)},389424,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1u84_katex_dist_katex_mjs_1sth3te._.js"].map(b=>a.l(b))).then(()=>b(706823)))},923300,a=>{"use strict";var b=a.i(223879),c=a.i(500703),d=a.i(692654),e=a.i(110482),f=(0,e.__name)(({flowchart:a})=>{let b=a?.subGraphTitleMargin?.top??0,c=a?.subGraphTitleMargin?.bottom??0;return{subGraphTitleTopMargin:b,subGraphTitleBottomMargin:c,subGraphTitleTotalMargin:b+c}},"getSubGraphTitleMargins"),g=new Map;async function h(a,d,e){let f,h;"rect"===d.shape&&(d.rx&&d.ry?d.shape="roundedRect":d.shape="squareRect");let i=d.shape?b.shapes[d.shape]:void 0;if(!i)throw Error(`No such shape: ${d.shape}. Please check your syntax.`);if(d.link){let b;"sandbox"===e.config.securityLevel?b="_top":d.linkTarget&&(b=d.linkTarget||"_blank"),f=a.insert("svg:a").attr("xlink:href",d.link).attr("target",b??null),h=await i(f,d,e)}else f=h=await i(a,d,e);return f.attr("data-look",(0,c.handleUndefinedAttr)(d.look)),d.tooltip&&h.attr("title",d.tooltip),g.set(d.id,f),d.haveCallback&&f.attr("class",f.attr("class")+" clickable"),f}(0,e.__name)(h,"insertNode");var i=(0,e.__name)((a,b)=>{g.set(b.id,a)},"setNodeElem"),j=(0,e.__name)(()=>{g.clear()},"clear"),k=(0,e.__name)(a=>{let b=g.get(a.id);d.log.trace("Transforming node",a.diff,a,"translate("+(a.x-a.width/2-5)+", "+a.width/2+")");let c=a.diff||0;return a.clusterNode?b.attr("transform","translate("+(a.x+c-a.width/2)+", "+(a.y-a.height/2-8)+")"):b.attr("transform","translate("+a.x+", "+a.y+")"),c},"positionNode");a.s(["clear",0,j,"getSubGraphTitleMargins",0,f,"insertNode",0,h,"positionNode",0,k,"setNodeElem",0,i])},134550,a=>{"use strict";var b=a.i(110482),c=(0,b.__name)((a,c)=>{let{theme:d,themeVariables:e}=c,{useGradient:f,gradientStart:g,gradientStop:h}=e??{},i=a.attr("id"),j=d?.includes("dark")?"#FFFFFF":"#000000",k=(0,b.__name)((b,c,d)=>a.append("defs").append("filter").attr("id",b).attr("height",c).attr("width",c).append("feDropShadow").attr("dx",d).attr("dy",d).attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",j),"dropShadow");if(k(`${i}-drop-shadow`,"130%","4"),k(`${i}-drop-shadow-small`,"150%","2"),!f)return;let l=a.append("linearGradient").attr("id",`${i}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");l.append("svg:stop").attr("offset","0%").attr("stop-color",g).attr("stop-opacity",1),l.append("svg:stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)},"insertLookDefs");a.s(["insertLookDefs",0,c])},268525,a=>{"use strict";var b=a.i(134550),c=a.i(484162),d=a.i(329246),e=a.i(923300),f=a.i(223879),g=a.i(500703),h=a.i(891604),i=a.i(692654),j=a.i(110482),k={common:h.common_default,getConfig:h.getConfig,insertCluster:c.insertCluster,insertEdge:d.insertEdge,insertEdgeLabel:d.insertEdgeLabel,insertMarkers:d.markers_default,insertNode:e.insertNode,interpolateToCurve:g.interpolateToCurve,labelHelper:f.labelHelper,log:i.log,positionEdgeLabel:d.positionEdgeLabel},l=["elk.stress","elk.force","elk.mrtree","elk.sporeOverlap","elk.box","elk.rectpacking"],m=Object.create(null),n=(0,j.__name)(a=>{for(let b of a)m[b.name]=b},"registerLayoutLoaders"),o=(0,j.__name)(()=>{let b=(0,j.__name)(async()=>await a.A(588471),"loader");return[{name:"elk",loader:b,algorithm:"elk.layered"},...l.map(a=>({name:a,loader:b,algorithm:a}))]},"elkLayoutLoaders");(0,j.__name)(()=>{n([{name:"dagre",loader:(0,j.__name)(async()=>await a.A(516754),"loader")},{name:"swimlane",loader:(0,j.__name)(async()=>await a.A(117822),"loader")},{name:"cose-bilkent",loader:(0,j.__name)(async()=>await a.A(929870),"loader")},...o()])},"registerDefaultLayoutLoaders")();var p=(0,j.__name)(async(a,c)=>{if(!Object.hasOwn(m,a.layoutAlgorithm))throw Error(`Unknown layout algorithm: ${a.layoutAlgorithm}`);if(a.diagramId)for(let b of a.nodes){let c=b.domId||b.id;b.domId=`${a.diagramId}-${c}`}let d=m[a.layoutAlgorithm],e=await d.loader();return(0,b.insertLookDefs)(c,a.config),e.render(a,c,k,{algorithm:d.algorithm})},"render"),q="dagre",r=(0,j.__name)((a="",{fallback:b=q}={})=>{if(Object.hasOwn(m,a))return a;for(let c of[b,q])if(Object.hasOwn(m,c))return i.log.warn(`Layout algorithm ${a} is not registered. Using ${c} as fallback.`),c;throw Error(`Neither layout algorithm ${a}, ${b}, nor ${q} is registered.`)},"getRegisteredLayoutAlgorithm");a.s(["getRegisteredLayoutAlgorithm",0,r,"registerLayoutLoaders",0,n,"render",0,p])},371994,a=>{"use strict";var b=a.i(891604),c=a.i(692654),d=a.i(110482),e=(0,d.__name)((a,d,e,h)=>{a.attr("class",e);let{width:i,height:j,x:k,y:l}=f(a,d);(0,b.configureSvgSize)(a,j,i,h);let m=g(k,l,i,j,d);a.attr("viewBox",m),c.log.debug(`viewBox configured: ${m} with padding: ${d}`)},"setupViewPortForSVG"),f=(0,d.__name)((a,b)=>{let c=a.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:c.width+2*b,height:c.height+2*b,x:c.x,y:c.y}},"calculateDimensionsWithPadding"),g=(0,d.__name)((a,b,c,d,e)=>`${a-e} ${b-e} ${c} ${d}`,"createViewBox");a.s(["setupViewPortForSVG",0,e])},717743,a=>{"use strict";var b=a.i(110482);a.i(43066);var c=a.i(455784),d=(0,b.__name)((a,b)=>{let d;return"sandbox"===b&&(d=(0,c.select)("#i"+a)),("sandbox"===b?(0,c.select)(d.nodes()[0].contentDocument.body):(0,c.select)("body")).select(`[id="${a}"]`)},"getDiagramElement");a.s(["getDiagramElement",0,d])},929870,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Y2CYZVJY_mjs_0rkuxn0._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/0f1w_cytoscape_dist_cytoscape_esm_mjs_0uvjn72._.js","server/chunks/ssr/node_modules__pnpm_1kf76q8._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js"].map(b=>a.l(b))).then(()=>b(678999)))},516754,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_0ah02mu._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-3FUC2YCW_mjs_1af260u._.js","server/chunks/ssr/node_modules__pnpm_06wwby6._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js","server/chunks/ssr/0upk_roughjs_bundled_rough_esm_0vflsuc.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-UA2S7LBM_mjs_12azvn5._.js","server/chunks/ssr/0fbn_dagre-d3-es_src_graphlib_index_09d95eh.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-MBY4JIJT_mjs_177netf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-O7XYJQB3_mjs_1q7gem7._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_dagre-6A5THRUB_mjs_20a97vj._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-7INBJB4K_mjs_0-khcme._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Z7XXMR3K_mjs_1v-ak7s._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-ZIGJFQKS_mjs_1zrfev2._.js"].map(b=>a.l(b))).then(()=>b(160487)))},588471,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_1yq90z7._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-UA2S7LBM_mjs_12azvn5._.js","server/chunks/ssr/node_modules__pnpm_06wwby6._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-ZIGJFQKS_mjs_1zrfev2._.js","server/chunks/ssr/0upk_roughjs_bundled_rough_esm_0vflsuc.js","server/chunks/ssr/node_modules__pnpm_1hy0h0g._.js","server/chunks/ssr/0fbn_dagre-d3-es_src_graphlib_index_09d95eh.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-O7XYJQB3_mjs_1q7gem7._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js","server/chunks/ssr/node_modules__pnpm_0f4t794._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-7INBJB4K_mjs_0-khcme._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Z7XXMR3K_mjs_1v-ak7s._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-MBY4JIJT_mjs_177netf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-3FUC2YCW_mjs_1af260u._.js"].map(b=>a.l(b))).then(()=>b(92823)))},117822,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_1yq90z7._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-UA2S7LBM_mjs_12azvn5._.js","server/chunks/ssr/node_modules__pnpm_06wwby6._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-ZIGJFQKS_mjs_1zrfev2._.js","server/chunks/ssr/0upk_roughjs_bundled_rough_esm_0vflsuc.js","server/chunks/ssr/node_modules__pnpm_1hy0h0g._.js","server/chunks/ssr/0fbn_dagre-d3-es_src_graphlib_index_09d95eh.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-O7XYJQB3_mjs_1q7gem7._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_swimlanes-2SLR337P_mjs_1rwc1wf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-7INBJB4K_mjs_0-khcme._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Z7XXMR3K_mjs_1v-ak7s._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-MBY4JIJT_mjs_177netf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-3FUC2YCW_mjs_1af260u._.js"].map(b=>a.l(b))).then(()=>b(508840)))}];
1
+ module.exports=[604145,a=>{"use strict";Array.prototype.slice,a.s(["default",0,function(a){return"object"==typeof a&&"length"in a?a:Array.from(a)}])},233111,514312,a=>{"use strict";a.s(["default",0,function(a){return function(){return a}}],233111);let b=Math.PI,c=2*b,d=c-1e-6;function e(a){this._+=a[0];for(let b=1,c=a.length;b<c;++b)this._+=arguments[b]+a[b]}class f{constructor(a){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==a?e:function(a){let b=Math.floor(a);if(!(b>=0))throw Error(`invalid digits: ${a}`);if(b>15)return e;let c=10**b;return function(a){this._+=a[0];for(let b=1,d=a.length;b<d;++b)this._+=Math.round(arguments[b]*c)/c+a[b]}}(a)}moveTo(a,b){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+b}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(a,b){this._append`L${this._x1=+a},${this._y1=+b}`}quadraticCurveTo(a,b,c,d){this._append`Q${+a},${+b},${this._x1=+c},${this._y1=+d}`}bezierCurveTo(a,b,c,d,e,f){this._append`C${+a},${+b},${+c},${+d},${this._x1=+e},${this._y1=+f}`}arcTo(a,c,d,e,f){if(a*=1,c*=1,d*=1,e*=1,(f*=1)<0)throw Error(`negative radius: ${f}`);let g=this._x1,h=this._y1,i=d-a,j=e-c,k=g-a,l=h-c,m=k*k+l*l;if(null===this._x1)this._append`M${this._x1=a},${this._y1=c}`;else if(m>1e-6)if(Math.abs(l*i-j*k)>1e-6&&f){let n=d-g,o=e-h,p=i*i+j*j,q=Math.sqrt(p),r=Math.sqrt(m),s=f*Math.tan((b-Math.acos((p+m-(n*n+o*o))/(2*q*r)))/2),t=s/r,u=s/q;Math.abs(t-1)>1e-6&&this._append`L${a+t*k},${c+t*l}`,this._append`A${f},${f},0,0,${+(l*n>k*o)},${this._x1=a+u*i},${this._y1=c+u*j}`}else this._append`L${this._x1=a},${this._y1=c}`}arc(a,e,f,g,h,i){if(a*=1,e*=1,f*=1,i=!!i,f<0)throw Error(`negative radius: ${f}`);let j=f*Math.cos(g),k=f*Math.sin(g),l=a+j,m=e+k,n=1^i,o=i?g-h:h-g;null===this._x1?this._append`M${l},${m}`:(Math.abs(this._x1-l)>1e-6||Math.abs(this._y1-m)>1e-6)&&this._append`L${l},${m}`,f&&(o<0&&(o=o%c+c),o>d?this._append`A${f},${f},0,1,${n},${a-j},${e-k}A${f},${f},0,1,${n},${this._x1=l},${this._y1=m}`:o>1e-6&&this._append`A${f},${f},0,${+(o>=b)},${n},${this._x1=a+f*Math.cos(h)},${this._y1=e+f*Math.sin(h)}`)}rect(a,b,c,d){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+b}h${c*=1}v${+d}h${-c}Z`}toString(){return this._}}f.prototype,a.s(["withPath",0,function(a){let b=3;return a.digits=function(c){if(!arguments.length)return b;if(null==c)b=null;else{let a=Math.floor(c);if(!(a>=0))throw RangeError(`invalid digits: ${c}`);b=a}return a},()=>new f(b)}],514312)},298648,a=>{"use strict";var b=a.i(604145),c=a.i(233111),d=a.i(955072),e=a.i(514312);function f(a){return a[0]}function g(a){return a[1]}a.s(["line",0,function(a,h){var i=(0,c.default)(!0),j=null,k=d.default,l=null,m=(0,e.withPath)(n);function n(c){var d,e,f,g=(c=(0,b.default)(c)).length,n=!1;for(null==j&&(l=k(f=m())),d=0;d<=g;++d)!(d<g&&i(e=c[d],d,c))===n&&((n=!n)?l.lineStart():l.lineEnd()),n&&l.point(+a(e,d,c),+h(e,d,c));if(f)return l=null,f+""||null}return a="function"==typeof a?a:void 0===a?f:(0,c.default)(a),h="function"==typeof h?h:void 0===h?g:(0,c.default)(h),n.x=function(b){return arguments.length?(a="function"==typeof b?b:(0,c.default)(+b),n):a},n.y=function(a){return arguments.length?(h="function"==typeof a?a:(0,c.default)(+a),n):h},n.defined=function(a){return arguments.length?(i="function"==typeof a?a:(0,c.default)(!!a),n):i},n.curve=function(a){return arguments.length?(k=a,null!=j&&(l=k(j)),n):k},n.context=function(a){return arguments.length?(null==a?j=l=null:l=k(j=a),n):j},n}],298648)},389424,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1u84_katex_dist_katex_mjs_1sth3te._.js"].map(b=>a.l(b))).then(()=>b(706823)))},923300,a=>{"use strict";var b=a.i(223879),c=a.i(500703),d=a.i(692654),e=a.i(110482),f=(0,e.__name)(({flowchart:a})=>{let b=a?.subGraphTitleMargin?.top??0,c=a?.subGraphTitleMargin?.bottom??0;return{subGraphTitleTopMargin:b,subGraphTitleBottomMargin:c,subGraphTitleTotalMargin:b+c}},"getSubGraphTitleMargins"),g=new Map;async function h(a,d,e){let f,h;"rect"===d.shape&&(d.rx&&d.ry?d.shape="roundedRect":d.shape="squareRect");let i=d.shape?b.shapes[d.shape]:void 0;if(!i)throw Error(`No such shape: ${d.shape}. Please check your syntax.`);if(d.link){let b;"sandbox"===e.config.securityLevel?b="_top":d.linkTarget&&(b=d.linkTarget||"_blank"),f=a.insert("svg:a").attr("xlink:href",d.link).attr("target",b??null),h=await i(f,d,e)}else f=h=await i(a,d,e);return f.attr("data-look",(0,c.handleUndefinedAttr)(d.look)),d.tooltip&&h.attr("title",d.tooltip),g.set(d.id,f),d.haveCallback&&f.attr("class",f.attr("class")+" clickable"),f}(0,e.__name)(h,"insertNode");var i=(0,e.__name)((a,b)=>{g.set(b.id,a)},"setNodeElem"),j=(0,e.__name)(()=>{g.clear()},"clear"),k=(0,e.__name)(a=>{let b=g.get(a.id);d.log.trace("Transforming node",a.diff,a,"translate("+(a.x-a.width/2-5)+", "+a.width/2+")");let c=a.diff||0;return a.clusterNode?b.attr("transform","translate("+(a.x+c-a.width/2)+", "+(a.y-a.height/2-8)+")"):b.attr("transform","translate("+a.x+", "+a.y+")"),c},"positionNode");a.s(["clear",0,j,"getSubGraphTitleMargins",0,f,"insertNode",0,h,"positionNode",0,k,"setNodeElem",0,i])},134550,a=>{"use strict";var b=a.i(110482),c=(0,b.__name)((a,c)=>{let{theme:d,themeVariables:e}=c,{useGradient:f,gradientStart:g,gradientStop:h}=e??{},i=a.attr("id"),j=d?.includes("dark")?"#FFFFFF":"#000000",k=(0,b.__name)((b,c,d)=>a.append("defs").append("filter").attr("id",b).attr("height",c).attr("width",c).append("feDropShadow").attr("dx",d).attr("dy",d).attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",j),"dropShadow");if(k(`${i}-drop-shadow`,"130%","4"),k(`${i}-drop-shadow-small`,"150%","2"),!f)return;let l=a.append("linearGradient").attr("id",`${i}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");l.append("svg:stop").attr("offset","0%").attr("stop-color",g).attr("stop-opacity",1),l.append("svg:stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)},"insertLookDefs");a.s(["insertLookDefs",0,c])},268525,a=>{"use strict";var b=a.i(134550),c=a.i(484162),d=a.i(329246),e=a.i(923300),f=a.i(223879),g=a.i(500703),h=a.i(891604),i=a.i(692654),j=a.i(110482),k={common:h.common_default,getConfig:h.getConfig,insertCluster:c.insertCluster,insertEdge:d.insertEdge,insertEdgeLabel:d.insertEdgeLabel,insertMarkers:d.markers_default,insertNode:e.insertNode,interpolateToCurve:g.interpolateToCurve,labelHelper:f.labelHelper,log:i.log,positionEdgeLabel:d.positionEdgeLabel},l=["elk.stress","elk.force","elk.mrtree","elk.sporeOverlap","elk.box","elk.rectpacking"],m=Object.create(null),n=(0,j.__name)(a=>{for(let b of a)m[b.name]=b},"registerLayoutLoaders"),o=(0,j.__name)(()=>{let b=(0,j.__name)(async()=>await a.A(588471),"loader");return[{name:"elk",loader:b,algorithm:"elk.layered"},...l.map(a=>({name:a,loader:b,algorithm:a}))]},"elkLayoutLoaders");(0,j.__name)(()=>{n([{name:"dagre",loader:(0,j.__name)(async()=>await a.A(516754),"loader")},{name:"swimlane",loader:(0,j.__name)(async()=>await a.A(117822),"loader")},{name:"cose-bilkent",loader:(0,j.__name)(async()=>await a.A(929870),"loader")},...o()])},"registerDefaultLayoutLoaders")();var p=(0,j.__name)(async(a,c)=>{if(!Object.hasOwn(m,a.layoutAlgorithm))throw Error(`Unknown layout algorithm: ${a.layoutAlgorithm}`);if(a.diagramId)for(let b of a.nodes){let c=b.domId||b.id;b.domId=`${a.diagramId}-${c}`}let d=m[a.layoutAlgorithm],e=await d.loader();return(0,b.insertLookDefs)(c,a.config),e.render(a,c,k,{algorithm:d.algorithm})},"render"),q="dagre",r=(0,j.__name)((a="",{fallback:b=q}={})=>{if(Object.hasOwn(m,a))return a;for(let c of[b,q])if(Object.hasOwn(m,c))return i.log.warn(`Layout algorithm ${a} is not registered. Using ${c} as fallback.`),c;throw Error(`Neither layout algorithm ${a}, ${b}, nor ${q} is registered.`)},"getRegisteredLayoutAlgorithm");a.s(["getRegisteredLayoutAlgorithm",0,r,"registerLayoutLoaders",0,n,"render",0,p])},371994,a=>{"use strict";var b=a.i(891604),c=a.i(692654),d=a.i(110482),e=(0,d.__name)((a,d,e,h)=>{a.attr("class",e);let{width:i,height:j,x:k,y:l}=f(a,d);(0,b.configureSvgSize)(a,j,i,h);let m=g(k,l,i,j,d);a.attr("viewBox",m),c.log.debug(`viewBox configured: ${m} with padding: ${d}`)},"setupViewPortForSVG"),f=(0,d.__name)((a,b)=>{let c=a.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:c.width+2*b,height:c.height+2*b,x:c.x,y:c.y}},"calculateDimensionsWithPadding"),g=(0,d.__name)((a,b,c,d,e)=>`${a-e} ${b-e} ${c} ${d}`,"createViewBox");a.s(["setupViewPortForSVG",0,e])},717743,a=>{"use strict";var b=a.i(110482);a.i(43066);var c=a.i(455784),d=(0,b.__name)((a,b)=>{let d;return"sandbox"===b&&(d=(0,c.select)("#i"+a)),("sandbox"===b?(0,c.select)(d.nodes()[0].contentDocument.body):(0,c.select)("body")).select(`[id="${a}"]`)},"getDiagramElement");a.s(["getDiagramElement",0,d])},929870,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Y2CYZVJY_mjs_0rkuxn0._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/0f1w_cytoscape_dist_cytoscape_esm_mjs_0uvjn72._.js","server/chunks/ssr/node_modules__pnpm_1kf76q8._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js"].map(b=>a.l(b))).then(()=>b(678999)))},516754,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_1-r94f7._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-3FUC2YCW_mjs_1af260u._.js","server/chunks/ssr/node_modules__pnpm_06wwby6._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js","server/chunks/ssr/0upk_roughjs_bundled_rough_esm_0vflsuc.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-UA2S7LBM_mjs_12azvn5._.js","server/chunks/ssr/0fbn_dagre-d3-es_src_graphlib_index_09d95eh.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-MBY4JIJT_mjs_177netf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-O7XYJQB3_mjs_1q7gem7._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_dagre-6A5THRUB_mjs_20a97vj._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-7INBJB4K_mjs_0-khcme._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Z7XXMR3K_mjs_1v-ak7s._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-ZIGJFQKS_mjs_1zrfev2._.js"].map(b=>a.l(b))).then(()=>b(160487)))},588471,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_14piqi4._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-UA2S7LBM_mjs_12azvn5._.js","server/chunks/ssr/node_modules__pnpm_06wwby6._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-ZIGJFQKS_mjs_1zrfev2._.js","server/chunks/ssr/0upk_roughjs_bundled_rough_esm_0vflsuc.js","server/chunks/ssr/node_modules__pnpm_1hy0h0g._.js","server/chunks/ssr/0fbn_dagre-d3-es_src_graphlib_index_09d95eh.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-O7XYJQB3_mjs_1q7gem7._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js","server/chunks/ssr/node_modules__pnpm_0f4t794._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-7INBJB4K_mjs_0-khcme._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Z7XXMR3K_mjs_1v-ak7s._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-MBY4JIJT_mjs_177netf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-3FUC2YCW_mjs_1af260u._.js"].map(b=>a.l(b))).then(()=>b(92823)))},117822,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_14piqi4._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-UA2S7LBM_mjs_12azvn5._.js","server/chunks/ssr/node_modules__pnpm_06wwby6._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-ZIGJFQKS_mjs_1zrfev2._.js","server/chunks/ssr/0upk_roughjs_bundled_rough_esm_0vflsuc.js","server/chunks/ssr/node_modules__pnpm_1hy0h0g._.js","server/chunks/ssr/0fbn_dagre-d3-es_src_graphlib_index_09d95eh.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-O7XYJQB3_mjs_1q7gem7._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_swimlanes-2SLR337P_mjs_1rwc1wf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-7INBJB4K_mjs_0-khcme._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Z7XXMR3K_mjs_1v-ak7s._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-MBY4JIJT_mjs_177netf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-3FUC2YCW_mjs_1af260u._.js"].map(b=>a.l(b))).then(()=>b(508840)))}];
2
2
 
3
- //# sourceMappingURL=node_modules__pnpm_0gifu-u._.js.map
3
+ //# sourceMappingURL=node_modules__pnpm_1qp_jvj._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[466473,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1du2osi._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(528477)))},42595,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1700d2o._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(580268)))},815841,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0fr_yzf._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(261767)))},360627,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0s0rogh._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(668373)))},581643,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_166s199._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(780008)))},136696,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1f3kkb2._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(796119)))},537373,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0cz1en1._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(524360)))},493587,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_01_uv0_._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(775379)))},174180,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_19hf-90._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(194268)))},623326,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0i89edk._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(833823)))},639339,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0sxslc5._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(854009)))},874576,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_206b3kw._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(727691)))},67788,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0m6evxi._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(501020)))},708853,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1yw-qqq._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(906279)))},907413,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0budjmi._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(648373)))},389424,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1u84_katex_dist_katex_mjs_1sth3te._.js"].map(b=>a.l(b))).then(()=>b(706823)))},793130,a=>{"use strict";var b=a.i(891604),c=a.i(110482);a.i(43066);var d=a.i(455784),e=(0,c.__name)(a=>{let{securityLevel:c}=(0,b.getConfig2)(),e=(0,d.select)("body");if("sandbox"===c){let b=(0,d.select)(`#i${a}`),c=b.node()?.contentDocument??document;e=(0,d.select)(c.body)}return e.select(`#${a}`)},"selectSvgElement");a.s(["selectSvgElement",0,e])},110482,a=>{"use strict";var b=Object.defineProperty;a.s(["__export",0,(a,c)=>{for(var d in c)b(a,d,{get:c[d],enumerable:!0})},"__name",0,(a,c)=>b(a,"name",{value:c,configurable:!0})])},305550,a=>{"use strict";var b=a.i(793130),c=a.i(891604),d=a.i(692654),e=a.i(110482),f=a.i(328139),g={parse:(0,e.__name)(async a=>{let b=await (0,f.parse)("info",a);d.log.debug(b)},"parse")},h=(0,e.__name)(()=>"12.0.0","getVersion"),i=(0,e.__name)((a,e,f)=>{d.log.debug("rendering info diagram\n"+a);let g=(0,b.selectSvgElement)(e);(0,c.configureSvgSize)(g,100,400,!0),g.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${f}`)},"draw");a.s(["diagram",0,{parser:g,db:{getVersion:h},renderer:{draw:i}}])}];
2
2
 
3
- //# sourceMappingURL=node_modules__pnpm_0y35hs4._.js.map
3
+ //# sourceMappingURL=node_modules__pnpm_1ssjj4u._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[466473,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1du2osi._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(528477)))},42595,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1700d2o._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(580268)))},815841,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0fr_yzf._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(261767)))},360627,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0s0rogh._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(668373)))},581643,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_166s199._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(780008)))},136696,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1f3kkb2._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(796119)))},537373,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0cz1en1._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(524360)))},493587,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_01_uv0_._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(775379)))},174180,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_19hf-90._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(194268)))},623326,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0i89edk._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(833823)))},639339,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0sxslc5._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(854009)))},874576,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_206b3kw._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(727691)))},67788,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0m6evxi._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(501020)))},708853,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1yw-qqq._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(906279)))},907413,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0budjmi._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(648373)))},389424,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1u84_katex_dist_katex_mjs_1sth3te._.js"].map(b=>a.l(b))).then(()=>b(706823)))},793130,a=>{"use strict";var b=a.i(891604),c=a.i(110482);a.i(43066);var d=a.i(455784),e=(0,c.__name)(a=>{let{securityLevel:c}=(0,b.getConfig2)(),e=(0,d.select)("body");if("sandbox"===c){let b=(0,d.select)(`#i${a}`),c=b.node()?.contentDocument??document;e=(0,d.select)(c.body)}return e.select(`#${a}`)},"selectSvgElement");a.s(["selectSvgElement",0,e])},977177,a=>{"use strict";function b(a,b){a.accDescr&&b.setAccDescription?.(a.accDescr),a.accTitle&&b.setAccTitle?.(a.accTitle),a.title&&b.setDiagramTitle?.(a.title)}(0,a.i(110482).__name)(b,"populateCommonDb"),a.s(["populateCommonDb",0,b])},110482,a=>{"use strict";var b=Object.defineProperty;a.s(["__export",0,(a,c)=>{for(var d in c)b(a,d,{get:c[d],enumerable:!0})},"__name",0,(a,c)=>b(a,"name",{value:c,configurable:!0})])},880990,a=>{"use strict";var b=a.i(434353),c=a.i(977177);a.i(793130),a.i(891604);var d=a.i(692654),e=a.i(110482),f=a.i(328139),g=(0,a.i(629591).createRailroadPegServices)().RailroadPeg.parser.LangiumParser,h=(0,e.__name)(a=>{let b=a.alternatives.map(i);return 1===b.length?b[0]:{type:"choice",alternatives:b}},"transformOrderedChoice"),i=(0,e.__name)(a=>{let b=a.elements.map(j);return 1===b.length?b[0]:{type:"sequence",elements:b}},"transformSequence"),j=(0,e.__name)(a=>{let b=l(a.suffix);return a.operator?{type:"special",text:"&"===a.operator?`&${k(b)}`:`!${k(b)}`}:b},"transformPrefix"),k=(0,e.__name)(a=>{switch(a.type){case"terminal":return`"${a.value}"`;case"nonterminal":return a.name;case"special":return a.text;default:return"(...)"}},"nodeToLabel"),l=(0,e.__name)(a=>{let b=m(a.primary);if(!a.operator)return b;switch(a.operator){case"?":return{type:"optional",element:b};case"*":return{type:"repetition",element:b,min:0,max:1/0};case"+":return{type:"repetition",element:b,min:1,max:1/0};default:throw Error(`Unsupported PEG suffix operator: ${a.operator}`)}},"transformSuffix"),m=(0,e.__name)(a=>{switch(a.$type){case"PegLiteral":return{type:"terminal",value:a.value};case"PegIdentifier":return{type:"nonterminal",name:a.name};case"PegGroup":return h(a.element);case"PegAny":return{type:"special",text:a.dot};default:throw Error(`Unsupported PEG primary node: ${a.$type}`)}},"transformPrimary"),n=(0,e.__name)(a=>({name:a.name,definition:h(a.definition)}),"transformRule"),o=(0,e.__name)(a=>{(0,c.populateCommonDb)(a,b.db),a.title&&b.db.setTitle(a.title),a.rules.map(a=>b.db.addRule(n(a)))},"populateDb"),p={parser:{parse:(0,e.__name)(a=>{b.db.clear(),d.log.debug("[PEG Parser] Starting Langium parse");let c=g.parse(a);if(c.lexerErrors.length>0||c.parserErrors.length>0)throw new f.MermaidParseError(c);let e=c.value;d.log.debug("[PEG Parser] Parsed rules:",e.rules.length),o(e),d.log.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:b.db}},db:b.db,renderer:b.renderer,styles:b.getStyles};a.s(["diagram",0,p])}];
2
2
 
3
- //# sourceMappingURL=node_modules__pnpm_0qc3gsk._.js.map
3
+ //# sourceMappingURL=node_modules__pnpm_1txccoj._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[754400,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.BLANK_URL=c.relativeFirstCharacters=c.whitespaceEscapeCharsRegex=c.urlSchemeRegex=c.ctrlCharactersRegex=c.htmlCtrlEntityRegex=c.htmlEntitiesRegex=c.invalidProtocolRegex=void 0,c.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,c.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,c.htmlCtrlEntityRegex=/&(newline|tab);/gi,c.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,c.urlSchemeRegex=/^.+(:|&colon;)/gim,c.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,c.relativeFirstCharacters=[".","/"],c.BLANK_URL="about:blank"},319120,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.sanitizeUrl=function(a){if(!a)return d.BLANK_URL;var b,c=e(a.trim());do b=(c=e(c=c.replace(d.ctrlCharactersRegex,"").replace(d.htmlEntitiesRegex,function(a,b){return String.fromCharCode(b)}).replace(d.htmlCtrlEntityRegex,"").replace(d.ctrlCharactersRegex,"").replace(d.whitespaceEscapeCharsRegex,"").trim())).match(d.ctrlCharactersRegex)||c.match(d.htmlEntitiesRegex)||c.match(d.htmlCtrlEntityRegex)||c.match(d.whitespaceEscapeCharsRegex);while(b&&b.length>0)var f=c;if(!f)return d.BLANK_URL;if(d.relativeFirstCharacters.indexOf(f[0])>-1)return f;var g=f.trimStart(),h=g.match(d.urlSchemeRegex);if(!h)return f;var i=h[0].toLowerCase().trim();if(d.invalidProtocolRegex.test(i))return d.BLANK_URL;var j=g.replace(/\\/g,"/");if("mailto:"===i||i.includes("://"))return j;if("http:"===i||"https:"===i){if(!URL.canParse(j))return d.BLANK_URL;var k=new URL(j);return k.protocol=k.protocol.toLowerCase(),k.hostname=k.hostname.toLowerCase(),k.toString()}return j};var d=a.r(754400);function e(a){try{return decodeURIComponent(a)}catch(b){return a}}},774086,a=>{"use strict";let b=Math.abs,c=Math.atan2,d=Math.cos,e=Math.max,f=Math.min,g=Math.sin,h=Math.sqrt,i=Math.PI,j=i/2;a.s(["abs",0,b,"acos",0,function(a){return a>1?0:a<-1?i:Math.acos(a)},"asin",0,function(a){return a>=1?j:a<=-1?-j:Math.asin(a)},"atan2",0,c,"cos",0,d,"epsilon",0,1e-12,"halfPi",0,j,"max",0,e,"min",0,f,"pi",0,i,"sin",0,g,"sqrt",0,h,"tau",0,2*i])},389424,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1u84_katex_dist_katex_mjs_1sth3te._.js"].map(b=>a.l(b))).then(()=>b(706823)))},793130,a=>{"use strict";var b=a.i(891604),c=a.i(110482);a.i(43066);var d=a.i(455784),e=(0,c.__name)(a=>{let{securityLevel:c}=(0,b.getConfig2)(),e=(0,d.select)("body");if("sandbox"===c){let b=(0,d.select)(`#i${a}`),c=b.node()?.contentDocument??document;e=(0,d.select)(c.body)}return e.select(`#${a}`)},"selectSvgElement");a.s(["selectSvgElement",0,e])},110482,a=>{"use strict";var b=Object.defineProperty;a.s(["__export",0,(a,c)=>{for(var d in c)b(a,d,{get:c[d],enumerable:!0})},"__name",0,(a,c)=>b(a,"name",{value:c,configurable:!0})])}];
2
2
 
3
- //# sourceMappingURL=node_modules__pnpm_1w0f1m5._.js.map
3
+ //# sourceMappingURL=node_modules__pnpm_1uwkcin._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[119530,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1t7n_@codemirror_lang-markdown_dist_index_1vm7csi.js"].map(b=>a.l(b))).then(()=>b(130048)))},356279,a=>{a.v(a=>Promise.resolve().then(()=>a(750284)))},486906,a=>{a.v(a=>Promise.resolve().then(()=>a(298206)))},992755,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_crypto_1kn79-7._.js","server/chunks/ssr/node_modules__pnpm_0pd3rt6._.js","server/chunks/ssr/0ums_y-codemirror_next_src_index_0h7mizi.js"].map(b=>a.l(b))).then(()=>b(763655)))},219642,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_crypto_1kn79-7._.js","server/chunks/ssr/node_modules__pnpm_1rwiwo8._.js","server/chunks/ssr/0bsn_y-websocket_src_y-websocket_0f2so-h.js"].map(b=>a.l(b))).then(()=>b(772498)))},56591,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_crypto_1kn79-7._.js","server/chunks/ssr/node_modules__pnpm_0pd3rt6._.js"].map(b=>a.l(b))).then(()=>b(997122)))}];
2
+
3
+ //# sourceMappingURL=node_modules__pnpm_1xeothw._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,3 +1,3 @@
1
1
  module.exports=[466473,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1du2osi._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(528477)))},42595,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1700d2o._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(580268)))},815841,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0fr_yzf._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(261767)))},360627,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0s0rogh._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(668373)))},581643,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_166s199._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(780008)))},136696,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1f3kkb2._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(796119)))},537373,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0cz1en1._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(524360)))},493587,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_01_uv0_._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(775379)))},174180,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_19hf-90._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(194268)))},623326,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0i89edk._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(833823)))},639339,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0sxslc5._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(854009)))},874576,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_206b3kw._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(727691)))},67788,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0m6evxi._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(501020)))},708853,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1yw-qqq._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(906279)))},907413,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0budjmi._.js","server/chunks/ssr/1mcn_@mermaid-js_parser_dist_chunks_mermaid-parser_core_chunk-FOHPRMQF_mjs_12zps4w._.js"].map(b=>a.l(b))).then(()=>b(648373)))},389424,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1u84_katex_dist_katex_mjs_1sth3te._.js"].map(b=>a.l(b))).then(()=>b(706823)))},479950,a=>{"use strict";var b=a.i(434353),c=a.i(977177);a.i(793130),a.i(891604);var d=a.i(692654),e=a.i(110482),f=a.i(328139),g=(0,a.i(15939).createRailroadAbnfServices)().RailroadAbnf.parser.LangiumParser,h=(0,e.__name)(a=>{let b=a.alternatives.map(i);return 1===b.length?b[0]:{type:"choice",alternatives:b}},"transformAlternation"),i=(0,e.__name)(a=>{let b=a.elements.map(k);return 1===b.length?b[0]:{type:"sequence",elements:b}},"transformConcatenation"),j=(0,e.__name)(a=>{if(a.includes("*")){let[b,c]=a.split("*");return{min:b?parseInt(b,10):0,max:c?parseInt(c,10):1/0}}let b=parseInt(a,10);return{min:b,max:b}},"parseRepeat"),k=(0,e.__name)(a=>{let b=l(a.primary);if(!a.repeat)return b;let{min:c,max:d}=j(a.repeat);return 0===c&&1===d?{type:"optional",element:b}:{type:"repetition",element:b,min:c,max:d}},"transformElement"),l=(0,e.__name)(a=>{switch(a.$type){case"AbnfStringLiteral":case"AbnfNumVal":return{type:"terminal",value:a.value};case"AbnfRuleName":return{type:"nonterminal",name:a.name};case"AbnfGroup":return h(a.element);case"AbnfOptionalGroup":return{type:"optional",element:h(a.element)};default:throw Error(`Unsupported ABNF primary node: ${a.$type}`)}},"transformPrimary"),m=(0,e.__name)(a=>({name:a.name,definition:h(a.definition)}),"transformRule"),n=(0,e.__name)(a=>{(0,c.populateCommonDb)(a,b.db),a.title&&b.db.setTitle(a.title),a.rules.map(a=>b.db.addRule(m(a)))},"populateDb"),o={parser:{parse:(0,e.__name)(a=>{b.db.clear(),d.log.debug("[ABNF Parser] Starting Langium parse");let c=g.parse(a);if(c.lexerErrors.length>0||c.parserErrors.length>0)throw new f.MermaidParseError(c);let e=c.value;d.log.debug("[ABNF Parser] Parsed rules:",e.rules.length),n(e),d.log.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:b.db}},db:b.db,renderer:b.renderer,styles:b.getStyles};a.s(["diagram",0,o])},793130,a=>{"use strict";var b=a.i(891604),c=a.i(110482);a.i(43066);var d=a.i(455784),e=(0,c.__name)(a=>{let{securityLevel:c}=(0,b.getConfig2)(),e=(0,d.select)("body");if("sandbox"===c){let b=(0,d.select)(`#i${a}`),c=b.node()?.contentDocument??document;e=(0,d.select)(c.body)}return e.select(`#${a}`)},"selectSvgElement");a.s(["selectSvgElement",0,e])},977177,a=>{"use strict";function b(a,b){a.accDescr&&b.setAccDescription?.(a.accDescr),a.accTitle&&b.setAccTitle?.(a.accTitle),a.title&&b.setDiagramTitle?.(a.title)}(0,a.i(110482).__name)(b,"populateCommonDb"),a.s(["populateCommonDb",0,b])},110482,a=>{"use strict";var b=Object.defineProperty;a.s(["__export",0,(a,c)=>{for(var d in c)b(a,d,{get:c[d],enumerable:!0})},"__name",0,(a,c)=>b(a,"name",{value:c,configurable:!0})])}];
2
2
 
3
- //# sourceMappingURL=node_modules__pnpm_0286-tg._.js.map
3
+ //# sourceMappingURL=node_modules__pnpm_1ygal0c._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[136642,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(913975),e=a.i(544394),f=a.i(368114),g=a.i(578520);function h({activity:a}){return(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("div",{className:"absolute left-4 top-0 bottom-0 w-px bg-border"}),(0,b.jsx)("div",{className:"flex flex-col gap-0",children:a.map(a=>(0,b.jsx)(g.ActivityEventRow,{event:a},a.id))})]})}let i={done:"bg-teal","in-progress":"bg-amber",blocked:"bg-danger",todo:"bg-muted",cancelled:"bg-border2"},j="inline-flex max-w-full items-center gap-1.5 truncate rounded-md border border-border bg-bg/40 px-2 py-1 text-xs font-mono text-txt transition-[border-color,background-color,transform] duration-(--duration-fast) ease-out-soft hover:-translate-y-px hover:border-border2 hover:bg-surface2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60";function k({open:a,events:c}){return(0,b.jsx)("div",{className:(0,f.cn)("grid transition-[grid-template-rows,opacity] duration-(--duration-slow) ease-out-soft",a?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"),children:(0,b.jsx)("div",{className:"min-h-0 overflow-hidden",inert:!a,children:(0,b.jsxs)("div",{className:"relative mt-4 border-t border-border pt-4",children:[(0,b.jsx)("div",{className:"absolute left-4 top-4 bottom-0 w-px bg-border"}),c.map(a=>(0,b.jsx)(g.ActivityEventRow,{event:a},a.id))]})})})}function l({open:a}){return(0,b.jsx)("span",{className:(0,f.cn)("inline-block text-muted transition-transform duration-(--duration-base) ease-out-soft",a&&"rotate-90"),"aria-hidden":!0,children:"▸"})}function m({session:a,events:d,onOpenTask:e,onOpenDoc:g,focused:h=!1,live:n=!1}){let o,[p,q]=(0,c.useState)(h),r=(0,c.useRef)(null);(0,c.useEffect)(()=>{h&&r.current?.scrollIntoView({block:"center",behavior:"smooth"})},[h]);let s="ai"===a.actor,t=a.tasks.filter(a=>"done"===a.lastStatus).length,u=a.tasks.length+a.docs.length+a.decisions.length>0,v=`${(o=Math.round((Date.parse(a.end)-Date.parse(a.start))/6e4))<1?"<1m":o<60?`${o}m`:`${Math.floor(o/60)}h ${o%60}m`} \xb7 ${a.eventCount} event${1===a.eventCount?"":"s"}`;return u?(0,b.jsxs)("div",{ref:r,className:(0,f.cn)("group rounded-xl border bg-surface p-4 transition-[border-color,transform,box-shadow] duration-(--duration-base) ease-out-soft hover:-translate-y-0.5 hover:border-border2 hover:shadow-lg hover:shadow-black/20",n?"border-accent/40":"border-border",h&&"border-accent/60 animate-flash"),children:[(0,b.jsxs)("button",{onClick:()=>q(a=>!a),"aria-expanded":p,className:"flex w-full items-center gap-2 text-left text-xs",children:[(0,b.jsx)("span",{className:(0,f.cn)("font-medium",s?"text-accent":"text-txt"),children:s?"🤖 Agent":"👤 Human"}),n&&(0,b.jsxs)("span",{className:"flex items-center gap-1 rounded-full bg-accent/10 px-1.5 py-0.5 font-mono text-[10px] uppercase tracking-wide text-accent",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-accent animate-pulse-dot"}),"live"]}),(0,b.jsx)("span",{className:"ml-auto font-mono text-muted",children:v}),(0,b.jsx)(l,{open:p})]}),(0,b.jsx)("p",{className:"mt-2 text-[15px] font-medium leading-snug text-txt",children:a.headline}),a.tasks.length>0&&(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2",title:`${t} of ${a.tasks.length} tasks done`,children:[(0,b.jsx)("div",{className:"h-1 flex-1 overflow-hidden rounded-full bg-surface2",children:(0,b.jsx)("div",{className:"h-full origin-left rounded-full bg-teal animate-grow-x transition-[width] duration-(--duration-slow) ease-out-soft",style:{width:`${t/a.tasks.length*100}%`}})}),(0,b.jsxs)("span",{className:"font-mono text-[11px] text-muted",children:[t,"/",a.tasks.length]})]}),(0,b.jsxs)("div",{className:"mt-3 flex flex-wrap gap-1.5",children:[a.tasks.map(a=>(0,b.jsxs)("button",{onClick:()=>e(a.id),className:j,title:`${a.id} → ${a.lastStatus}`,children:[(0,b.jsx)("span",{className:(0,f.cn)("h-1.5 w-1.5 shrink-0 rounded-full",i[a.lastStatus])}),a.id,(0,b.jsx)("span",{className:"text-muted",children:a.lastStatus})]},a.id)),a.docs.map(a=>(0,b.jsxs)("button",{onClick:()=>g(a),className:j,title:a,children:["📄 ",a.split("/").pop()]},a)),a.decisions.map(a=>(0,b.jsxs)("button",{onClick:()=>g(a.split(":")[0]),className:(0,f.cn)(j,"text-accent"),title:a,children:["📝 ",a]},a))]}),(0,b.jsx)(k,{open:p,events:d})]}):(0,b.jsxs)("div",{ref:r,className:(0,f.cn)("rounded-lg px-3 py-2 transition-colors duration-(--duration-fast) hover:bg-surface/60",h&&"bg-surface animate-flash"),children:[(0,b.jsxs)("button",{onClick:()=>q(a=>!a),"aria-expanded":p,className:"flex w-full items-center gap-2 text-left text-sm text-muted",children:[(0,b.jsx)("span",{children:s?"🤖":"👤"}),(0,b.jsx)("span",{className:"truncate",children:a.headline}),(0,b.jsx)("span",{className:"ml-auto shrink-0 font-mono text-xs text-muted/70",children:v}),(0,b.jsx)(l,{open:p})]}),(0,b.jsx)(k,{open:p,events:d})]})}function n(a){let b=new Date(a),c=new Date,d=new Date(c);return(d.setDate(c.getDate()-1),b.toDateString()===c.toDateString())?"Today":b.toDateString()===d.toDateString()?"Yesterday":b.toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"})}function o({value:a,label:c,tone:d}){return(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:(0,f.cn)("font-display text-2xl font-semibold tabular-nums leading-none",a?d??"text-txt":"text-muted/50"),children:a}),(0,b.jsx)("p",{className:"mt-1.5 text-xs text-muted",children:c})]})}function p({sessions:a,events:d,onOpenTask:e,onOpenDoc:g,focusSessionId:h}){var i;let j,[k,l]=(0,c.useState)("all"),[q,r]=(0,c.useState)(()=>Date.now());(0,c.useEffect)(()=>{let a=setInterval(()=>r(Date.now()),3e4);return()=>clearInterval(a)},[]);let s=(i=q-864e5,{sessions:(j=a.filter(a=>Date.parse(a.end)>=i)).length,tasksDone:new Set(j.flatMap(a=>a.tasks.filter(a=>"done"===a.lastStatus).map(a=>a.id))).size,docs:new Set(j.flatMap(a=>a.docs)).size,decisions:j.reduce((a,b)=>a+b.decisions.length,0)}),t={all:a.length,ai:a.filter(a=>"ai"===a.actor).length,human:a.filter(a=>"human"===a.actor).length},u="all"===k?a:a.filter(a=>a.actor===k);return(0,b.jsxs)("div",{children:[(0,b.jsxs)("section",{className:"mb-6 grid grid-cols-2 gap-5 rounded-xl border border-border bg-surface px-5 py-4 animate-fade-in sm:grid-cols-4",children:[(0,b.jsx)(o,{value:s.sessions,label:"sessions · 24h"}),(0,b.jsx)(o,{value:s.tasksDone,label:"tasks done",tone:"text-teal"}),(0,b.jsx)(o,{value:s.docs,label:"docs changed"}),(0,b.jsx)(o,{value:s.decisions,label:"ADRs logged",tone:"text-accent"})]}),(0,b.jsx)("div",{className:"mb-4 flex items-center gap-1 text-xs",role:"tablist","aria-label":"Filter by actor",children:["all","ai","human"].map(a=>(0,b.jsxs)("button",{role:"tab","aria-selected":k===a,onClick:()=>l(a),className:(0,f.cn)("rounded-full px-3 py-1 transition-colors duration-(--duration-fast)",k===a?"bg-surface2 text-txt":"text-muted hover:text-txt"),children:["all"===a?"All":"ai"===a?"🤖 Agent":"👤 Human",(0,b.jsx)("span",{className:"ml-1.5 font-mono text-muted",children:t[a]})]},a))}),0===u.length?(0,b.jsxs)("p",{className:"py-10 text-center text-sm text-muted",children:["No ","ai"===k?"agent":"human"," sessions yet."]}):(0,b.jsxs)("ol",{className:"relative",children:[(0,b.jsx)("div",{className:"absolute left-[3.5rem] top-2 bottom-2 w-px bg-border","aria-hidden":!0}),u.map((a,c)=>{let i=n(a.start),j=0===c||n(u[c-1].start)!==i,k=function(a,b=Date.now(),c=3e5){return b-Date.parse(a.end)<c}(a,q),l=a.tasks.length+a.docs.length+a.decisions.length===0;return(0,b.jsxs)("li",{className:"animate-fade-in",style:{animationDelay:`${45*Math.min(c,8)}ms`,animationFillMode:"both"},children:[j&&(0,b.jsx)("p",{className:"sticky top-0 z-10 -mx-1 mb-2 bg-bg/90 px-1 py-2 text-xs font-mono uppercase tracking-wide text-muted backdrop-blur-sm",children:i}),(0,b.jsxs)("div",{className:"grid grid-cols-[2.75rem_1.5rem_1fr] items-start pb-3",children:[(0,b.jsx)("time",{dateTime:a.start,className:(0,f.cn)("text-right font-mono text-[11px] text-muted",l?"pt-2.5":"pt-4"),title:new Date(a.start).toLocaleString(),children:new Date(a.start).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",hourCycle:"h23"})}),(0,b.jsx)("span",{className:(0,f.cn)("flex justify-center",l?"pt-[0.95rem]":"pt-[1.2rem]"),"aria-hidden":!0,children:(0,b.jsx)("span",{className:(0,f.cn)("relative z-[1] rounded-full ring-4 ring-bg",l?"h-1.5 w-1.5":"h-2.5 w-2.5","ai"===a.actor?"bg-accent":"bg-muted",k&&"animate-pulse-dot")})}),(0,b.jsx)(m,{session:a,events:a.eventIds.flatMap(a=>d.get(a)??[]),onOpenTask:e,onOpenDoc:g,focused:a.id===h,live:k})]})]},a.id)})]})]})}var q=a.i(21215);function r({activity:a,liveIndicator:d,rootParam:e,onOpenTask:g,onOpenDoc:i,focusSessionId:j}){let[k,l]=(0,c.useState)("sessions"),[m,n]=(0,c.useState)(j);j!==m&&(n(j),j&&l("sessions"));let[o,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(!1),[v,w]=(0,c.useState)(new Map);(0,c.useEffect)(()=>{let a=e?`${e}&`:"?",b=()=>Promise.all([fetch(`/api/sessions${e}`).then(a=>a.json()),fetch(`/api/activity${a}limit=2000`).then(a=>a.json())]).then(([a,b])=>{u(!1),s(Array.isArray(a)?a:[]),w(new Map((Array.isArray(b)?b:[]).map(a=>[a.id,a])))}).catch(()=>{u(!0),s(a=>a??[])});return b(),window.addEventListener("vibedoc:sse",b),()=>window.removeEventListener("vibedoc:sse",b)},[e]);let x="sessions"===k?o?.length===0:0===a.length;return(0,b.jsxs)("div",{className:"p-6 max-w-3xl",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:"Activity"}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"relative grid grid-cols-2 rounded-md border border-border p-0.5 text-xs",children:[(0,b.jsx)("span",{"aria-hidden":!0,className:(0,f.cn)("absolute inset-y-0.5 left-0.5 w-[calc(50%-2px)] rounded-sm bg-surface2 transition-transform duration-(--duration-base) ease-out-soft","events"===k&&"translate-x-full")}),["sessions","events"].map(a=>(0,b.jsx)("button",{onClick:()=>l(a),"aria-pressed":k===a,className:(0,f.cn)("relative px-3 py-1 transition-colors duration-(--duration-fast)",k===a?"text-txt":"text-muted hover:text-txt"),children:"sessions"===a?"Sessions":"All events"},a))]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-mono text-teal",children:[(0,b.jsxs)("span",{className:"relative flex h-1.5 w-1.5",children:[d&&(0,b.jsx)("span",{className:"absolute inset-0 rounded-full bg-teal animate-ping"}),(0,b.jsx)("span",{className:"relative h-1.5 w-1.5 rounded-full bg-teal"})]}),"live"]})]})]}),t&&(0,b.jsx)("p",{className:"mb-4 rounded-md border border-danger/30 bg-danger/5 px-3 py-2 text-xs text-danger animate-fade-in",children:"Couldn't load sessions. Showing the last data we had; it retries on the next update."}),"sessions"===k&&null===o?(0,b.jsxs)("div",{className:"flex flex-col gap-3","aria-busy":"true","aria-label":"Loading sessions",children:[(0,b.jsx)("div",{className:"h-[76px] rounded-xl bg-surface animate-pulse"}),[0,1,2].map(a=>(0,b.jsx)("div",{className:"ml-[4.25rem] h-24 rounded-xl bg-surface animate-pulse",style:{animationDelay:`${120*a}ms`}},a))]}):x?(0,b.jsx)(q.EmptyState,{icon:"⚡",message:"No activity yet.",subMessage:"Connect an AI agent to see real-time updates here."}):"sessions"===k?(0,b.jsx)(p,{focusSessionId:j,sessions:o??[],events:v,onOpenTask:g,onOpenDoc:i},j??""):(0,b.jsx)(h,{activity:a})]})}var s=a.i(536236);function t(){let{activity:a,liveIndicator:f,rootParam:g,board:h,moveTask:i,openDoc:j}=(0,e.useApp)(),k=(0,d.useSearchParams)().get("session"),[l,m]=(0,c.useState)(null),n=h&&l&&Object.values(h).flat().find(a=>a.id===l)||null;return(0,b.jsxs)("div",{className:"relative flex-1",children:[(0,b.jsx)(r,{activity:a,liveIndicator:f,rootParam:g,onOpenTask:m,onOpenDoc:j,focusSessionId:k}),(0,b.jsx)(s.TaskDetailPanel,{task:n,onClose:()=>m(null),onMove:i})]})}a.s(["default",0,function(){return(0,b.jsx)(c.Suspense,{children:(0,b.jsx)(t,{})})}],136642)}];
1
+ module.exports=[136642,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(913975),e=a.i(544394),f=a.i(368114),g=a.i(578520),h=a.i(795667),i=a.i(892678),j=a.i(376847),k=a.i(156298),l=a.i(926128),m=a.i(471617),n=a.i(173628);let o={done:"bg-teal","in-progress":"bg-amber",review:"bg-accent",blocked:"bg-danger",todo:"bg-border2",cancelled:"bg-border2"},p="inline-flex max-w-full min-w-0 items-center gap-1.5 rounded-sm border border-border px-2 py-1 font-mono text-[11px] text-txt transition-colors duration-(--duration-fast) hover:border-border2 hover:bg-surface2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60";function q({open:a,events:c}){return(0,b.jsx)("div",{className:(0,f.cn)("grid transition-[grid-template-rows,opacity] duration-(--duration-slow) ease-out-soft",a?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"),children:(0,b.jsx)("div",{className:"min-h-0 overflow-hidden",inert:!a,children:(0,b.jsx)("div",{className:"mt-3 border-t border-border pt-2",children:c.map(a=>(0,b.jsx)(g.ActivityEventRow,{event:a},a.id))})})})}function r({open:a}){return(0,b.jsx)(k.ChevronRight,{"aria-hidden":!0,className:(0,f.cn)("size-3.5 shrink-0 text-muted transition-transform duration-(--duration-base) ease-out-soft",a&&"rotate-90")})}function s({session:a,events:d,onOpenTask:e,onOpenDoc:g,focused:k=!1,live:t=!1}){let[u,v]=(0,c.useState)(k),w=(0,c.useRef)(null);(0,c.useEffect)(()=>{k&&w.current?.scrollIntoView({block:"center",behavior:"smooth"})},[k]);let x="ai"===a.actor,y=x?h.Bot:i.User,z=a.tasks.filter(a=>"done"===a.lastStatus).length,A=a.tasks.length+a.docs.length+a.decisions.length>0,B=`${a.eventCount} event${1===a.eventCount?"":"s"}`;if(!A)return(0,b.jsxs)("div",{ref:w,className:(0,f.cn)("min-w-0 rounded-md px-3 py-1.5 transition-colors duration-(--duration-fast) hover:bg-surface/60",k&&"bg-surface animate-flash"),children:[(0,b.jsxs)("button",{onClick:()=>v(a=>!a),"aria-expanded":u,className:"flex w-full min-w-0 items-center gap-2 text-left text-[13px] text-muted focus-visible:text-txt focus-visible:outline-none",children:[(0,b.jsx)(y,{className:"size-3.5 shrink-0","aria-label":x?"Agent":"Human"}),(0,b.jsx)("span",{className:"min-w-0 truncate",children:/^\d+ events?$/.test(a.headline)?"Connected, nothing changed":a.headline}),(0,b.jsxs)("span",{className:"ml-auto shrink-0 font-mono text-[11px]",children:[(0,j.sessionDuration)(a),(0,b.jsxs)("span",{className:"hidden sm:inline",children:[" · ",B]})]}),(0,b.jsx)(r,{open:u})]}),(0,b.jsx)(q,{open:u,events:d})]});return(0,b.jsx)("div",{ref:w,className:(0,f.cn)("min-w-0 rounded-lg border bg-surface transition-colors duration-(--duration-base) hover:border-border2",t?"border-accent/40":"border-border",k&&"border-accent/60 animate-flash"),children:(0,b.jsxs)("div",{className:"px-4 pt-3.5 pb-4",children:[(0,b.jsxs)("button",{onClick:()=>v(a=>!a),"aria-expanded":u,className:"group flex w-full min-w-0 items-center gap-2 text-left focus-visible:outline-none",children:[(0,b.jsx)(y,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),(0,b.jsx)("span",{className:"text-xs text-muted",children:x?"Agent":"Human"}),t&&(0,b.jsxs)("span",{className:"flex items-center gap-1 font-mono text-[10px] text-accent",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-accent animate-pulse-dot"}),"working"]}),(0,b.jsxs)("span",{className:"ml-auto shrink-0 font-mono text-[11px] text-muted",children:[(0,j.sessionDuration)(a)," · ",B]}),(0,b.jsx)("span",{className:"flex items-center gap-1 text-[11px] text-muted group-hover:text-txt group-focus-visible:text-txt",children:(0,b.jsx)(r,{open:u})})]}),(0,b.jsx)("p",{className:"mt-1.5 text-[15px] leading-snug font-semibold text-txt",children:a.headline}),a.tasks.length>0&&(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-3",children:[(0,b.jsx)("div",{className:"flex flex-1 gap-0.5",role:"img","aria-label":`${z} of ${a.tasks.length} tasks done`,children:a.tasks.map(a=>(0,b.jsx)("span",{className:(0,f.cn)("h-1 flex-1 rounded-full",o[a.lastStatus]??"bg-border2")},a.id))}),(0,b.jsxs)("span",{className:"font-mono text-[11px] text-muted tabular-nums",children:[(0,b.jsx)("span",{className:"text-txt",children:z}),"/",a.tasks.length]})]}),(0,b.jsxs)("div",{className:"mt-3 flex flex-wrap gap-1.5",children:[a.tasks.map(a=>(0,b.jsxs)("button",{onClick:()=>e(a.id),className:p,title:`${a.id} → ${n.STATUS_META[a.lastStatus]?.label??a.lastStatus}`,children:[(0,b.jsx)(n.StatusIcon,{status:a.lastStatus,className:"size-3"}),a.id]},a.id)),a.docs.map(a=>(0,b.jsxs)("button",{onClick:()=>g(a),className:p,title:a,children:[(0,b.jsx)(l.FileText,{className:"size-3 shrink-0 text-muted","aria-hidden":!0}),(0,b.jsx)("span",{className:"truncate",children:a.split("/").pop()})]},a)),a.decisions.map(a=>{let[c,...d]=a.split(":");return(0,b.jsxs)("button",{onClick:()=>g(c),className:(0,f.cn)(p,"font-sans text-xs"),title:a,children:[(0,b.jsx)(m.Scale,{className:"size-3 shrink-0 text-muted","aria-hidden":!0}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] whitespace-nowrap",children:c}),d.length>0&&(0,b.jsx)("span",{className:"truncate text-muted",children:d.join(":").trim()})]},a)})]}),(0,b.jsx)(q,{open:u,events:d})]})})}function t(a){let b=new Date(a),c=new Date,d=new Date(c);return(d.setDate(c.getDate()-1),b.toDateString()===c.toDateString())?"Today":b.toDateString()===d.toDateString()?"Yesterday":b.toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"})}function u({label:a}){return(0,b.jsxs)("h2",{className:"sticky top-0 z-10 -mx-1 mt-4 mb-1 flex items-center gap-3 bg-bg/90 px-1 py-2 backdrop-blur-sm first:mt-0",children:[(0,b.jsx)("span",{className:"text-[13px] font-semibold text-txt",children:a}),(0,b.jsx)("span",{className:"h-px flex-1 bg-border","aria-hidden":!0})]})}function v({sessions:a,events:d,onOpenTask:e,onOpenDoc:k,focusSessionId:l}){let[m,n]=(0,c.useState)("all"),[o,p]=(0,c.useState)(()=>Date.now());(0,c.useEffect)(()=>{let a=setInterval(()=>p(Date.now()),3e4);return()=>clearInterval(a)},[]);let q={all:a.length,ai:a.filter(a=>"ai"===a.actor).length,human:a.filter(a=>"human"===a.actor).length},r="all"===m?a:a.filter(a=>a.actor===m);return(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"mb-3 flex items-center gap-1 text-xs",role:"group","aria-label":"Filter by actor",children:["all","ai","human"].map(a=>{let c="ai"===a?h.Bot:"human"===a?i.User:null;return(0,b.jsxs)("button",{"aria-pressed":m===a,onClick:()=>n(a),className:(0,f.cn)("flex items-center gap-1.5 rounded-md px-2.5 py-1 transition-colors duration-(--duration-fast) focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60",m===a?"bg-surface2 text-txt":"text-muted hover:text-txt"),children:[c&&(0,b.jsx)(c,{className:"size-3.5","aria-hidden":!0}),"all"===a?"All":"ai"===a?"Agent":"Human",(0,b.jsx)("span",{className:"font-mono text-[11px] text-muted tabular-nums",children:q[a]})]},a)})}),0===r.length?(0,b.jsxs)("p",{className:"py-10 text-center text-sm text-muted",children:["No ","ai"===m?"agent":"human"," sessions yet."]}):(0,b.jsxs)("ol",{className:"relative",children:[(0,b.jsx)("div",{className:"absolute left-[3.5rem] top-10 bottom-2 w-px bg-border","aria-hidden":!0}),r.map((a,c)=>{let h=t(a.start),i=0===c||t(r[c-1].start)!==h,m=(0,j.isLive)(a,o),n=a.tasks.length+a.docs.length+a.decisions.length===0;return(0,b.jsxs)("li",{className:"animate-fade-in",style:{animationDelay:`${45*Math.min(c,8)}ms`,animationFillMode:"both"},children:[i&&(0,b.jsx)(u,{label:h}),(0,b.jsxs)("div",{className:(0,f.cn)("grid grid-cols-[2.75rem_1.5rem_minmax(0,1fr)] items-start",n?"pb-1":"py-2"),children:[(0,b.jsx)("time",{dateTime:a.start,className:(0,f.cn)("text-right font-mono text-[11px] tabular-nums",n?"pt-2 text-muted":"pt-4 text-txt"),title:new Date(a.start).toLocaleString(),children:(0,g.clock)(a.start)}),(0,b.jsx)("span",{className:(0,f.cn)("flex justify-center",n?"pt-[0.8rem]":"pt-[1.15rem]"),"aria-hidden":!0,children:(0,b.jsx)("span",{className:(0,f.cn)("relative z-[1] rounded-full ring-4 ring-bg",n?"size-1.5 bg-border2":"size-2.5",!n&&("ai"===a.actor?"bg-accent":"bg-muted"),m&&"animate-pulse-dot")})}),(0,b.jsx)(s,{session:a,events:a.eventIds.flatMap(a=>d.get(a)??[]),onOpenTask:e,onOpenDoc:k,focused:a.id===l,live:m})]})]},a.id)})]})]})}function w({activity:a}){return(0,b.jsx)("ol",{className:"flex flex-col",children:a.map((c,d)=>{let e=t(c.timestamp);return(0,b.jsxs)("li",{children:[(0===d||t(a[d-1].timestamp)!==e)&&(0,b.jsx)(u,{label:e}),(0,b.jsx)(g.ActivityEventRow,{event:c,showActor:!0})]},c.id)})})}var x=a.i(192676);function y({sessions:a}){let[d,e]=(0,c.useState)(()=>Date.now());(0,c.useEffect)(()=>{let a=setInterval(()=>e(Date.now()),6e4);return()=>clearInterval(a)},[]);let f=(0,j.catchUp)(a,d-864e5),g=[[f.tasksDone,"task","done"],[f.decisions,"ADR","logged"],[f.docs,"doc","changed"],[f.sessions,"session",""]].filter(([a])=>a>0);return g.length?(0,b.jsxs)(b.Fragment,{children:[g.map(([a,c,d],e)=>(0,b.jsxs)("span",{children:[e>0&&(0,b.jsx)("span",{className:"text-muted",children:" · "}),(0,b.jsx)("span",{className:"font-mono tabular-nums",children:a})," ",c,1===a?"":"s",d&&` ${d}`]},c)),(0,b.jsx)("span",{className:"font-normal text-muted",children:" in the last 24h"})]}):(0,b.jsx)(b.Fragment,{children:"Quiet for the last 24 hours"})}function z({activity:a,rootParam:d,onOpenTask:e,onOpenDoc:g,focusSessionId:h}){let[i,j]=(0,c.useState)("sessions"),[k,l]=(0,c.useState)(h);h!==k&&(l(h),h&&j("sessions"));let[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(new Map);(0,c.useEffect)(()=>{let a=d?`${d}&`:"?",b=()=>Promise.all([fetch(`/api/sessions${d}`).then(a=>a.json()),fetch(`/api/activity${a}limit=2000`).then(a=>a.json())]).then(([a,b])=>{p(!1),n(Array.isArray(a)?a:[]),r(new Map((Array.isArray(b)?b:[]).map(a=>[a.id,a])))}).catch(()=>{p(!0),n(a=>a??[])});return b(),window.addEventListener("vibedoc:sse",b),()=>window.removeEventListener("vibedoc:sse",b)},[d]);let s="sessions"===i?m?.length===0:0===a.length;return(0,b.jsxs)("div",{className:"mx-auto flex max-w-4xl flex-col px-6 py-8",children:[(0,b.jsxs)("header",{className:"mb-6 flex flex-wrap items-end gap-x-6 gap-y-4 border-b border-border pb-5",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1 basis-full sm:basis-0",children:[(0,b.jsx)("h1",{className:"text-[1.6rem] leading-tight font-semibold tracking-[-0.02em] text-txt",children:"Activity"}),(0,b.jsx)("p",{className:"mt-2 text-[1.1rem] leading-snug font-semibold text-txt",children:null===m?(0,b.jsx)("span",{className:"text-muted",children:"Loading…"}):(0,b.jsx)(y,{sessions:m})}),(0,b.jsxs)("p",{className:"mt-1 text-sm text-muted",children:["Everything agents and you changed, read from ",(0,b.jsx)("code",{className:"font-mono text-[0.9em]",children:".vibedoc-activity.json"}),"."]})]}),(0,b.jsxs)("div",{className:"relative grid grid-cols-2 rounded-md border border-border p-0.5 text-xs",role:"group","aria-label":"View",children:[(0,b.jsx)("span",{"aria-hidden":!0,className:(0,f.cn)("absolute inset-y-0.5 left-0.5 w-[calc(50%-2px)] rounded-sm bg-surface2 transition-transform duration-(--duration-base) ease-out-soft","events"===i&&"translate-x-full")}),["sessions","events"].map(a=>(0,b.jsx)("button",{onClick:()=>j(a),"aria-pressed":i===a,className:(0,f.cn)("relative rounded-sm px-3 py-1 transition-colors duration-(--duration-fast) focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60",i===a?"text-txt":"text-muted hover:text-txt"),children:"sessions"===a?"Sessions":"All events"},a))]})]}),o&&(0,b.jsx)("p",{className:"mb-4 rounded-md border border-danger/30 bg-danger/5 px-3 py-2 text-xs text-danger animate-fade-in",children:"Couldn't load sessions. Showing the last data we had; it retries on the next update."}),"sessions"===i&&null===m?(0,b.jsx)("div",{className:"flex flex-col gap-3","aria-busy":"true","aria-label":"Loading sessions",children:[0,1,2].map(a=>(0,b.jsx)("div",{className:"ml-[4.25rem] h-24 rounded-lg bg-surface animate-pulse",style:{animationDelay:`${120*a}ms`}},a))}):s?(0,b.jsxs)("div",{className:"flex flex-col items-start gap-2 rounded-lg border border-dashed border-border2 p-6 animate-fade-in",children:[(0,b.jsx)(x.Activity,{className:"size-5 text-muted","aria-hidden":!0}),(0,b.jsx)("p",{className:"text-sm text-txt",children:"No activity yet"}),(0,b.jsx)("p",{className:"max-w-lg text-xs leading-relaxed text-muted",children:"Moves on the board and every agent call through the MCP server show up here as they happen. Use Connect in the header to hook up Claude Code or Cursor."})]}):"sessions"===i?(0,b.jsx)(v,{focusSessionId:h,sessions:m??[],events:q,onOpenTask:e,onOpenDoc:g},h??""):(0,b.jsx)(w,{activity:a})]})}var A=a.i(536236);function B(){let{activity:a,rootParam:f,board:g,moveTask:h,openDoc:i}=(0,e.useApp)(),j=(0,d.useSearchParams)().get("session"),[k,l]=(0,c.useState)(null),m=g&&k&&Object.values(g).flat().find(a=>a.id===k)||null;return(0,b.jsxs)("div",{className:"relative flex-1",children:[(0,b.jsx)(z,{activity:a,rootParam:f,onOpenTask:l,onOpenDoc:i,focusSessionId:j}),(0,b.jsx)(A.TaskDetailPanel,{task:m,onClose:()=>l(null),onMove:h})]})}a.s(["default",0,function(){return(0,b.jsx)(c.Suspense,{children:(0,b.jsx)(B,{})})}],136642)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_%28app%29_activity_page_tsx_13jd6bn._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/app/%28app%29/activity/page.tsx","../../../../src/components/activity/ActivityTab.tsx","../../../../src/components/activity/ActivityFeed.tsx","../../../../src/lib/sessions.ts","../../../../src/components/activity/SessionCard.tsx","../../../../src/components/activity/SessionTimeline.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport { Suspense, useState } from \"react\"\r\nimport { useSearchParams } from \"next/navigation\"\r\nimport { useApp } from \"@/context/AppContext\"\r\nimport { ActivityTab } from \"@/components/activity/ActivityTab\"\r\nimport { TaskDetailPanel } from \"@/components/board/TaskDetailPanel\"\r\n\r\nfunction ActivityContent() {\r\n const { activity, liveIndicator, rootParam, board, moveTask, openDoc } = useApp()\r\n const focusSessionId = useSearchParams().get(\"session\")\r\n const [taskId, setTaskId] = useState<string | null>(null)\r\n // Derive from the board so the panel reflects moves made while it is open\r\n const task = (board && taskId && Object.values(board).flat().find(t => t.id === taskId)) || null\r\n\r\n return (\r\n <div className=\"relative flex-1\">\r\n <ActivityTab\r\n activity={activity}\r\n liveIndicator={liveIndicator}\r\n rootParam={rootParam}\r\n onOpenTask={setTaskId}\r\n onOpenDoc={openDoc}\r\n focusSessionId={focusSessionId}\r\n />\r\n <TaskDetailPanel task={task} onClose={() => setTaskId(null)} onMove={moveTask} />\r\n </div>\r\n )\r\n}\r\n\r\nexport default function ActivityPage() {\r\n return (\r\n <Suspense>\r\n <ActivityContent />\r\n </Suspense>\r\n )\r\n}\r\n","\"use client\"\r\n\r\nimport { useEffect, useState } from \"react\"\r\nimport type { ActivityEvent, Session } from \"@/types\"\r\nimport { cn } from \"@/lib/utils\"\r\nimport { ActivityFeed } from \"./ActivityFeed\"\r\nimport { SessionTimeline } from \"./SessionTimeline\"\r\nimport { EmptyState } from \"@/components/shared/EmptyState\"\r\n\r\ninterface ActivityTabProps {\r\n activity: ActivityEvent[]\r\n liveIndicator: boolean\r\n rootParam: string\r\n onOpenTask: (taskId: string) => void\r\n onOpenDoc: (path: string) => void\r\n focusSessionId?: string | null\r\n}\r\n\r\nexport function ActivityTab({ activity, liveIndicator, rootParam, onOpenTask, onOpenDoc, focusSessionId }: ActivityTabProps) {\r\n const [view, setView] = useState<\"sessions\" | \"events\">(\"sessions\")\r\n // A new focus target (from a task's Sessions list) always lands on the Sessions view\r\n const [lastFocus, setLastFocus] = useState(focusSessionId)\r\n if (focusSessionId !== lastFocus) {\r\n setLastFocus(focusSessionId)\r\n if (focusSessionId) setView(\"sessions\")\r\n }\r\n const [sessions, setSessions] = useState<Session[] | null>(null) // null = first load\r\n const [failed, setFailed] = useState(false)\r\n const [events, setEvents] = useState<Map<string, ActivityEvent>>(new Map())\r\n\r\n // Refetch on every SSE event (AppContext re-dispatches them as `vibedoc:sse`), not only the ones that refresh `activity`.\r\n useEffect(() => {\r\n const qs = rootParam ? `${rootParam}&` : \"?\"\r\n const load = () => Promise.all([\r\n fetch(`/api/sessions${rootParam}`).then(r => r.json()),\r\n fetch(`/api/activity${qs}limit=2000`).then(r => r.json()),\r\n ])\r\n .then(([ses, evs]) => {\r\n setFailed(false)\r\n setSessions(Array.isArray(ses) ? ses : [])\r\n setEvents(new Map((Array.isArray(evs) ? evs as ActivityEvent[] : []).map(e => [e.id, e])))\r\n })\r\n .catch(() => { setFailed(true); setSessions(prev => prev ?? []) })\r\n load()\r\n window.addEventListener(\"vibedoc:sse\", load)\r\n return () => window.removeEventListener(\"vibedoc:sse\", load)\r\n }, [rootParam])\r\n\r\n const empty = view === \"sessions\" ? sessions?.length === 0 : activity.length === 0\r\n\r\n return (\r\n <div className=\"p-6 max-w-3xl\">\r\n <div className=\"flex items-center justify-between mb-6\">\r\n <h1 className=\"font-display text-xl font-semibold tracking-tight\">Activity</h1>\r\n <div className=\"flex items-center gap-4\">\r\n {/* Segmented toggle with a sliding pill */}\r\n <div className=\"relative grid grid-cols-2 rounded-md border border-border p-0.5 text-xs\">\r\n <span\r\n aria-hidden\r\n className={cn(\r\n \"absolute inset-y-0.5 left-0.5 w-[calc(50%-2px)] rounded-sm bg-surface2 transition-transform duration-(--duration-base) ease-out-soft\",\r\n view === \"events\" && \"translate-x-full\",\r\n )}\r\n />\r\n {([\"sessions\", \"events\"] as const).map(v => (\r\n <button\r\n key={v}\r\n onClick={() => setView(v)}\r\n aria-pressed={view === v}\r\n className={cn(\"relative px-3 py-1 transition-colors duration-(--duration-fast)\", view === v ? \"text-txt\" : \"text-muted hover:text-txt\")}\r\n >\r\n {v === \"sessions\" ? \"Sessions\" : \"All events\"}\r\n </button>\r\n ))}\r\n </div>\r\n {/* Pings when an SSE event lands */}\r\n <div className=\"flex items-center gap-1.5 text-xs font-mono text-teal\">\r\n <span className=\"relative flex h-1.5 w-1.5\">\r\n {liveIndicator && <span className=\"absolute inset-0 rounded-full bg-teal animate-ping\" />}\r\n <span className=\"relative h-1.5 w-1.5 rounded-full bg-teal\" />\r\n </span>\r\n live\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {failed && (\r\n <p className=\"mb-4 rounded-md border border-danger/30 bg-danger/5 px-3 py-2 text-xs text-danger animate-fade-in\">\r\n Couldn&apos;t load sessions. Showing the last data we had; it retries on the next update.\r\n </p>\r\n )}\r\n\r\n {view === \"sessions\" && sessions === null ? (\r\n <div className=\"flex flex-col gap-3\" aria-busy=\"true\" aria-label=\"Loading sessions\">\r\n <div className=\"h-[76px] rounded-xl bg-surface animate-pulse\" />\r\n {[0, 1, 2].map(i => (\r\n <div key={i} className=\"ml-[4.25rem] h-24 rounded-xl bg-surface animate-pulse\" style={{ animationDelay: `${i * 120}ms` }} />\r\n ))}\r\n </div>\r\n ) : empty ? (\r\n <EmptyState\r\n icon=\"⚡\"\r\n message=\"No activity yet.\"\r\n subMessage=\"Connect an AI agent to see real-time updates here.\"\r\n />\r\n ) : view === \"sessions\" ? (\r\n <SessionTimeline key={focusSessionId ?? \"\"} focusSessionId={focusSessionId} sessions={sessions ?? []} events={events} onOpenTask={onOpenTask} onOpenDoc={onOpenDoc} />\r\n ) : (\r\n <ActivityFeed activity={activity} />\r\n )}\r\n </div>\r\n )\r\n}\r\n","import type { ActivityEvent } from \"@/types\"\r\nimport { ActivityEventRow } from \"./ActivityEventRow\"\r\n\r\ninterface ActivityFeedProps {\r\n activity: ActivityEvent[]\r\n}\r\n\r\nexport function ActivityFeed({ activity }: ActivityFeedProps) {\r\n return (\r\n <div className=\"relative\">\r\n <div className=\"absolute left-4 top-0 bottom-0 w-px bg-border\" />\r\n <div className=\"flex flex-col gap-0\">\r\n {activity.map((evt) => (\r\n <ActivityEventRow key={evt.id} event={evt} />\r\n ))}\r\n </div>\r\n </div>\r\n )\r\n}\r\n","/**\n * src/lib/sessions.ts\n * Pure grouping of the activity log into agent/human sessions (no fs). Used by /api/sessions and /api/mcp.\n * Stamped events group by `sessionId`; legacy events (no sessionId) split on a per-actor idle gap or `session_start`.\n */\nimport type { ActivityEvent, TaskStatus } from './core'\n\nexport const SESSION_GAP_MS = 30 * 60 * 1000\n\nexport interface Session {\n id: string\n actor: ActivityEvent['actor']\n start: string\n end: string\n eventCount: number\n eventIds: string[]\n tasks: { id: string; lastStatus: TaskStatus }[]\n docs: string[]\n decisions: string[]\n memoryUpdated: boolean\n headline: string\n}\n\n// Doc path a change event carries; null for events that don't change a doc (doc_read included).\nfunction changedDoc(e: ActivityEvent): string | null {\n switch (e.type) {\n case 'doc_created': return e.detail ?? e.title.replace(/^Created: /, '')\n case 'doc_deleted': return e.title.replace(/^Deleted /, '')\n case 'doc_renamed': return e.title.split(' → ')[1] ?? null\n default: return null\n }\n}\n\nconst plural = (n: number, word: string) => `${n} ${word}${n === 1 ? '' : 's'}`\n\nfunction summarize(id: string, events: ActivityEvent[]): Session {\n const tasks = new Map<string, TaskStatus>()\n const docs = new Set<string>()\n const decisions: string[] = []\n let memoryUpdated = false\n let roadmapEdits = 0\n for (const e of events) {\n if (e.type === 'task_updated' && e.taskId && e.taskStatus) tasks.set(e.taskId, e.taskStatus)\n const doc = changedDoc(e)\n if (doc) docs.add(doc)\n if (e.type === 'decision_logged') decisions.push(e.title)\n if (e.type === 'memory_updated') memoryUpdated = true\n if (e.type === 'roadmap_updated') roadmapEdits++\n }\n const taskList = [...tasks].map(([tid, lastStatus]) => ({ id: tid, lastStatus }))\n const done = taskList.filter(t => t.lastStatus === 'done').length\n const parts = [\n taskList.length ? `${plural(taskList.length, 'task')} moved${done ? ` (${done} done)` : ''}` : '',\n docs.size ? `${plural(docs.size, 'doc')} changed` : '',\n decisions.length ? plural(decisions.length, 'ADR') : '',\n roadmapEdits ? plural(roadmapEdits, 'roadmap edit') : '',\n memoryUpdated ? 'memory updated' : '',\n ].filter(Boolean)\n return {\n id,\n actor: events[0].actor,\n start: events[0].timestamp,\n end: events[events.length - 1].timestamp,\n eventCount: events.length,\n eventIds: events.map(e => e.id),\n tasks: taskList,\n docs: [...docs],\n decisions,\n memoryUpdated,\n headline: parts.join(' · ') || plural(events.length, 'event'),\n }\n}\n\n/** Events may come in any order (the log is newest-first). Returns sessions newest first. */\nexport function groupSessions(events: ActivityEvent[], opts: { gapMs?: number } = {}): Session[] {\n const gapMs = opts.gapMs ?? SESSION_GAP_MS\n const chrono = [...events].sort((a, b) => a.timestamp.localeCompare(b.timestamp))\n const groups = new Map<string, ActivityEvent[]>()\n const legacy = new Map<string, { id: string; lastAt: number }>() // per actor\n for (const e of chrono) {\n let id = e.sessionId\n if (!id) {\n const at = Date.parse(e.timestamp)\n let cur = legacy.get(e.actor)\n if (!cur || e.type === 'session_start' || at - cur.lastAt > gapMs) {\n cur = { id: `legacy_${e.id}`, lastAt: at }\n legacy.set(e.actor, cur)\n }\n cur.lastAt = at\n id = cur.id\n }\n const g = groups.get(id)\n if (g) g.push(e)\n else groups.set(id, [e])\n }\n return [...groups]\n .map(([id, evs]) => summarize(id, evs))\n .sort((a, b) => b.start.localeCompare(a.start))\n}\n\nexport function sessionDuration(s: Pick<Session, 'start' | 'end'>): string {\n const min = Math.round((Date.parse(s.end) - Date.parse(s.start)) / 60_000)\n if (min < 1) return '<1m'\n return min < 60 ? `${min}m` : `${Math.floor(min / 60)}h ${min % 60}m`\n}\n\n/** A session still receiving events (last one within `windowMs`). */\nexport function isLive(s: Pick<Session, 'end'>, now = Date.now(), windowMs = 5 * 60 * 1000): boolean {\n return now - Date.parse(s.end) < windowMs\n}\n\n/** Totals for the \"catch up\" strip: sessions that ended at or after `sinceMs`. */\nexport function catchUp(sessions: Session[], sinceMs: number) {\n const recent = sessions.filter(s => Date.parse(s.end) >= sinceMs)\n return {\n sessions: recent.length,\n tasksDone: new Set(recent.flatMap(s => s.tasks.filter(t => t.lastStatus === 'done').map(t => t.id))).size,\n docs: new Set(recent.flatMap(s => s.docs)).size,\n decisions: recent.reduce((n, s) => n + s.decisions.length, 0),\n }\n}\n\nexport function sessionsForTask(sessions: Session[], taskId: string): Session[] {\n return sessions.filter(s => s.tasks.some(t => t.id === taskId))\n}\n","\"use client\"\n\nimport { useEffect, useRef, useState } from \"react\"\nimport type { ActivityEvent, Session } from \"@/types\"\nimport { cn } from \"@/lib/utils\"\nimport { sessionDuration } from \"@/lib/sessions\"\nimport { ActivityEventRow } from \"./ActivityEventRow\"\n\nconst STATUS_DOT: Record<string, string> = {\n done: \"bg-teal\",\n \"in-progress\": \"bg-amber\",\n blocked: \"bg-danger\",\n todo: \"bg-muted\",\n cancelled: \"bg-border2\",\n}\n\nconst chip =\n \"inline-flex max-w-full items-center gap-1.5 truncate rounded-md border border-border bg-bg/40 px-2 py-1 text-xs font-mono text-txt transition-[border-color,background-color,transform] duration-(--duration-fast) ease-out-soft hover:-translate-y-px hover:border-border2 hover:bg-surface2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60\"\n\ninterface SessionCardProps {\n session: Session\n events: ActivityEvent[]\n onOpenTask: (taskId: string) => void\n onOpenDoc: (path: string) => void\n focused?: boolean\n live?: boolean\n}\n\n/** Expandable body shared by cards and quiet rows: grid-rows 0fr↔1fr animates height without measuring. */\nfunction EventList({ open, events }: { open: boolean; events: ActivityEvent[] }) {\n return (\n <div className={cn(\"grid transition-[grid-template-rows,opacity] duration-(--duration-slow) ease-out-soft\", open ? \"grid-rows-[1fr] opacity-100\" : \"grid-rows-[0fr] opacity-0\")}>\n <div className=\"min-h-0 overflow-hidden\" inert={!open}>\n <div className=\"relative mt-4 border-t border-border pt-4\">\n <div className=\"absolute left-4 top-4 bottom-0 w-px bg-border\" />\n {events.map(e => <ActivityEventRow key={e.id} event={e} />)}\n </div>\n </div>\n </div>\n )\n}\n\nfunction Chevron({ open }: { open: boolean }) {\n return (\n <span className={cn(\"inline-block text-muted transition-transform duration-(--duration-base) ease-out-soft\", open && \"rotate-90\")} aria-hidden>\n ▸\n </span>\n )\n}\n\nexport function SessionCard({ session, events, onOpenTask, onOpenDoc, focused = false, live = false }: SessionCardProps) {\n const [open, setOpen] = useState(focused)\n const ref = useRef<HTMLDivElement>(null)\n useEffect(() => {\n if (focused) ref.current?.scrollIntoView({ block: \"center\", behavior: \"smooth\" })\n }, [focused])\n\n const isAgent = session.actor === \"ai\"\n const done = session.tasks.filter(t => t.lastStatus === \"done\").length\n const hasLinks = session.tasks.length + session.docs.length + session.decisions.length > 0\n const meta = `${sessionDuration(session)} · ${session.eventCount} event${session.eventCount === 1 ? \"\" : \"s\"}`\n\n // Quiet sessions (only roadmap edits, reads, session starts) collapse to one line so real work stands out.\n if (!hasLinks) {\n return (\n <div ref={ref} className={cn(\"rounded-lg px-3 py-2 transition-colors duration-(--duration-fast) hover:bg-surface/60\", focused && \"bg-surface animate-flash\")}>\n <button onClick={() => setOpen(o => !o)} aria-expanded={open} className=\"flex w-full items-center gap-2 text-left text-sm text-muted\">\n <span>{isAgent ? \"🤖\" : \"👤\"}</span>\n <span className=\"truncate\">{session.headline}</span>\n <span className=\"ml-auto shrink-0 font-mono text-xs text-muted/70\">{meta}</span>\n <Chevron open={open} />\n </button>\n <EventList open={open} events={events} />\n </div>\n )\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"group rounded-xl border bg-surface p-4 transition-[border-color,transform,box-shadow] duration-(--duration-base) ease-out-soft hover:-translate-y-0.5 hover:border-border2 hover:shadow-lg hover:shadow-black/20\",\n live ? \"border-accent/40\" : \"border-border\",\n focused && \"border-accent/60 animate-flash\",\n )}\n >\n <button onClick={() => setOpen(o => !o)} aria-expanded={open} className=\"flex w-full items-center gap-2 text-left text-xs\">\n <span className={cn(\"font-medium\", isAgent ? \"text-accent\" : \"text-txt\")}>{isAgent ? \"🤖 Agent\" : \"👤 Human\"}</span>\n {live && (\n <span className=\"flex items-center gap-1 rounded-full bg-accent/10 px-1.5 py-0.5 font-mono text-[10px] uppercase tracking-wide text-accent\">\n <span className=\"h-1.5 w-1.5 rounded-full bg-accent animate-pulse-dot\" />\n live\n </span>\n )}\n <span className=\"ml-auto font-mono text-muted\">{meta}</span>\n <Chevron open={open} />\n </button>\n\n <p className=\"mt-2 text-[15px] font-medium leading-snug text-txt\">{session.headline}</p>\n\n {session.tasks.length > 0 && (\n <div className=\"mt-3 flex items-center gap-2\" title={`${done} of ${session.tasks.length} tasks done`}>\n <div className=\"h-1 flex-1 overflow-hidden rounded-full bg-surface2\">\n <div\n className=\"h-full origin-left rounded-full bg-teal animate-grow-x transition-[width] duration-(--duration-slow) ease-out-soft\"\n style={{ width: `${(done / session.tasks.length) * 100}%` }}\n />\n </div>\n <span className=\"font-mono text-[11px] text-muted\">{done}/{session.tasks.length}</span>\n </div>\n )}\n\n <div className=\"mt-3 flex flex-wrap gap-1.5\">\n {session.tasks.map(t => (\n <button key={t.id} onClick={() => onOpenTask(t.id)} className={chip} title={`${t.id} → ${t.lastStatus}`}>\n <span className={cn(\"h-1.5 w-1.5 shrink-0 rounded-full\", STATUS_DOT[t.lastStatus])} />\n {t.id}\n <span className=\"text-muted\">{t.lastStatus}</span>\n </button>\n ))}\n {session.docs.map(d => (\n <button key={d} onClick={() => onOpenDoc(d)} className={chip} title={d}>\n 📄 {d.split(\"/\").pop()}\n </button>\n ))}\n {session.decisions.map(d => (\n <button key={d} onClick={() => onOpenDoc(d.split(\":\")[0])} className={cn(chip, \"text-accent\")} title={d}>\n 📝 {d}\n </button>\n ))}\n </div>\n\n <EventList open={open} events={events} />\n </div>\n )\n}\n","\"use client\"\n\nimport { useEffect, useState } from \"react\"\nimport type { ActivityEvent, Session } from \"@/types\"\nimport { cn } from \"@/lib/utils\"\nimport { catchUp, isLive } from \"@/lib/sessions\"\nimport { SessionCard } from \"./SessionCard\"\n\nconst DAY_MS = 24 * 60 * 60 * 1000\n\nfunction dayLabel(ts: string): string {\n const d = new Date(ts)\n const today = new Date()\n const yesterday = new Date(today)\n yesterday.setDate(today.getDate() - 1)\n if (d.toDateString() === today.toDateString()) return \"Today\"\n if (d.toDateString() === yesterday.toDateString()) return \"Yesterday\"\n return d.toLocaleDateString(undefined, { weekday: \"short\", month: \"short\", day: \"numeric\" })\n}\n\nconst clock = (ts: string) => new Date(ts).toLocaleTimeString(undefined, { hour: \"2-digit\", minute: \"2-digit\", hourCycle: \"h23\" })\n\nfunction Stat({ value, label, tone }: { value: number; label: string; tone?: string }) {\n return (\n <div className=\"min-w-0\">\n <p className={cn(\"font-display text-2xl font-semibold tabular-nums leading-none\", value ? tone ?? \"text-txt\" : \"text-muted/50\")}>{value}</p>\n <p className=\"mt-1.5 text-xs text-muted\">{label}</p>\n </div>\n )\n}\n\ntype ActorFilter = \"all\" | \"ai\" | \"human\"\n\ninterface SessionTimelineProps {\n sessions: Session[]\n events: Map<string, ActivityEvent>\n onOpenTask: (taskId: string) => void\n onOpenDoc: (path: string) => void\n focusSessionId?: string | null\n}\n\nexport function SessionTimeline({ sessions, events, onOpenTask, onOpenDoc, focusSessionId }: SessionTimelineProps) {\n const [actor, setActor] = useState<ActorFilter>(\"all\")\n // Ticking clock: expires \"live\" badges and keeps the 24h window honest without new events\n const [now, setNow] = useState(() => Date.now())\n useEffect(() => {\n const t = setInterval(() => setNow(Date.now()), 30_000)\n return () => clearInterval(t)\n }, [])\n const day = catchUp(sessions, now - DAY_MS)\n const counts = { all: sessions.length, ai: sessions.filter(s => s.actor === \"ai\").length, human: sessions.filter(s => s.actor === \"human\").length }\n const shown = actor === \"all\" ? sessions : sessions.filter(s => s.actor === actor)\n\n return (\n <div>\n {/* Catch-up: the one-read answer to \"what happened while I was away?\" */}\n <section className=\"mb-6 grid grid-cols-2 gap-5 rounded-xl border border-border bg-surface px-5 py-4 animate-fade-in sm:grid-cols-4\">\n <Stat value={day.sessions} label=\"sessions · 24h\" />\n <Stat value={day.tasksDone} label=\"tasks done\" tone=\"text-teal\" />\n <Stat value={day.docs} label=\"docs changed\" />\n <Stat value={day.decisions} label=\"ADRs logged\" tone=\"text-accent\" />\n </section>\n\n <div className=\"mb-4 flex items-center gap-1 text-xs\" role=\"tablist\" aria-label=\"Filter by actor\">\n {([\"all\", \"ai\", \"human\"] as const).map(a => (\n <button\n key={a}\n role=\"tab\"\n aria-selected={actor === a}\n onClick={() => setActor(a)}\n className={cn(\n \"rounded-full px-3 py-1 transition-colors duration-(--duration-fast)\",\n actor === a ? \"bg-surface2 text-txt\" : \"text-muted hover:text-txt\",\n )}\n >\n {a === \"all\" ? \"All\" : a === \"ai\" ? \"🤖 Agent\" : \"👤 Human\"}\n <span className=\"ml-1.5 font-mono text-muted\">{counts[a]}</span>\n </button>\n ))}\n </div>\n\n {shown.length === 0 ? (\n <p className=\"py-10 text-center text-sm text-muted\">No {actor === \"ai\" ? \"agent\" : \"human\"} sessions yet.</p>\n ) : (\n <ol className=\"relative\">\n {/* Rail runs behind the dots, between the clock gutter and the cards */}\n <div className=\"absolute left-[3.5rem] top-2 bottom-2 w-px bg-border\" aria-hidden />\n {shown.map((s, i) => {\n const label = dayLabel(s.start)\n const showDay = i === 0 || dayLabel(shown[i - 1].start) !== label\n const live = isLive(s, now)\n // Matches SessionCard's one-line layout for sessions with nothing to link\n const quiet = s.tasks.length + s.docs.length + s.decisions.length === 0\n return (\n <li\n key={s.id}\n className=\"animate-fade-in\"\n style={{ animationDelay: `${Math.min(i, 8) * 45}ms`, animationFillMode: \"both\" }}\n >\n {showDay && (\n <p className=\"sticky top-0 z-10 -mx-1 mb-2 bg-bg/90 px-1 py-2 text-xs font-mono uppercase tracking-wide text-muted backdrop-blur-sm\">\n {label}\n </p>\n )}\n <div className=\"grid grid-cols-[2.75rem_1.5rem_1fr] items-start pb-3\">\n <time dateTime={s.start} className={cn(\"text-right font-mono text-[11px] text-muted\", quiet ? \"pt-2.5\" : \"pt-4\")} title={new Date(s.start).toLocaleString()}>\n {clock(s.start)}\n </time>\n <span className={cn(\"flex justify-center\", quiet ? \"pt-[0.95rem]\" : \"pt-[1.2rem]\")} aria-hidden>\n <span\n className={cn(\n \"relative z-[1] rounded-full ring-4 ring-bg\",\n quiet ? \"h-1.5 w-1.5\" : \"h-2.5 w-2.5\",\n s.actor === \"ai\" ? \"bg-accent\" : \"bg-muted\",\n live && \"animate-pulse-dot\",\n )}\n />\n </span>\n <SessionCard\n session={s}\n // eventIds are chronological; the feed reads oldest → newest within a session\n events={s.eventIds.flatMap(id => events.get(id) ?? [])}\n onOpenTask={onOpenTask}\n onOpenDoc={onOpenDoc}\n focused={s.id === focusSessionId}\n live={live}\n />\n </div>\n </li>\n )\n })}\n </ol>\n )}\n </div>\n )\n}\n"],"names":["ActivityFeed","activity","className","map","evt","event","id"],"mappings":"0DAEA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QCAA,EAAA,EAAA,CAAA,CAAA,QCHA,EAAA,EAAA,CAAA,CAAA,QAMO,SAASA,EAAa,UAAEC,CAAQ,CAAqB,EAC1D,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAIC,UAAU,qBACb,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAIA,UAAU,kDACf,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAIA,UAAU,+BACZD,EAASE,GAAG,CAAC,AAACC,GACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,gBAAgB,CAAA,CAAcC,MAAOD,GAAfA,EAAIE,EAAE,OAKvC,CEVA,IAAM,EAAqC,CACzC,KAAM,UACN,cAAe,WACf,QAASJ,YACT,KAAM,WACN,UAAW,YACb,EAEM,EACJ,6WAYF,SAAS,EAAU,MAAE,CAAI,QAAE,CAAM,CAA8C,EAC7E,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,wFAAyF,EAAO,8BAAgC,sCACjJ,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,0BAA0B,MAAO,CAAC,WAC/C,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sDACb,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,kDACd,EAAO,GAAG,CAAC,GAAK,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,gBAAgB,CAAA,CAAY,MAAO,GAAb,EAAE,EAAE,SAKtD,CAEA,SAAS,EAAQ,MAAE,CAAI,CAAqB,EAC1C,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,wFAAyF,GAAQ,aAAc,aAAW,CAAA,CAAA,WAAC,KAInJ,CAEO,SAAS,EAAY,SAAE,CAAO,CAAE,QAAM,YAAE,CAAU,WAAE,CAAS,SAAE,EAAU,EAAK,CAAE,QAAO,CAAK,CAAoB,EACrH,IDkDM,EClDA,CAAC,EAAM,EAAQ,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,GAC3B,EAAM,CAAA,EAAA,EAAA,MAAA,AAAM,EAAiB,MACnC,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KACJ,GAAS,EAAI,OAAO,EAAE,eAAe,CAAE,MAAO,SAAU,SAAU,QAAS,EACjF,EAAG,CAAC,EAAQ,EAEZ,IAAM,EAA4B,OAAlB,EAAQ,KAAK,CACvB,EAAO,EAAQ,KAAK,CAAC,MAAM,CAAC,GAAsB,SAAjB,EAAE,UAAU,EAAa,MAAM,CAChE,EAAW,EAAQ,KAAK,CAAC,MAAM,CAAG,EAAQ,IAAI,CAAC,MAAM,CAAG,EAAQ,SAAS,CAAC,MAAM,CAAG,EACnF,EAAO,CAAA,ED0CT,AC1CY,GDyCJ,KAAK,KAAK,CAAC,CAAC,KAAK,KAAK,CCzCF,ADyCG,EAAE,GAAG,EAAI,KAAK,KAAK,CAAC,EAAE,MAAK,CAAC,CAAI,MACzD,EAAU,CAAP,KACN,EAAM,GAAK,CAAA,EAAG,EAAI,CAAC,CAAC,CAAG,CAAA,EAAG,KAAK,KAAK,CAAC,EAAM,IAAI,EAAE,EAAE,EAAM,GAAG,CAAC,CAAC,CC3C5B,MAAG,EAAE,EAAQ,UAAU,CAAC,MAAM,EAAyB,IAAvB,EAAQ,UAAU,CAAS,GAAK,IAAA,CAAK,QAG9G,AAAK,EAeH,CAAA,CAfE,CAeF,EAAA,GAfa,CAeb,EAAC,MAAA,CACC,IAAK,EACL,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,mNACA,EAAO,mBAAqB,gBAC5B,GAAW,4CAGb,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CAAO,QAAS,IAAM,EAAQ,GAAK,CAAC,GAAI,gBAAe,EAAM,UAAU,6DACtE,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,cAAe,EAAU,cAAgB,qBAAc,EAAU,WAAa,aACjG,GACC,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,UAAU,sIACd,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,yDAAyD,UAI7E,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,wCAAgC,IAChD,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAQ,KAAM,OAGjB,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,8DAAsD,EAAQ,QAAQ,GAElF,EAAQ,KAAK,CAAC,MAAM,CAAG,GACtB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,+BAA+B,MAAO,CAAA,EAAG,EAAK,IAAI,EAAE,EAAQ,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAClG,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,+DACb,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CACC,UAAU,qHACV,MAAO,CAAE,MAAO,CAAA,EAAI,EAAO,EAAQ,KAAK,CAAC,MAAM,CAAI,IAAI,CAAC,CAAC,AAAC,MAG9D,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,UAAU,6CAAoC,EAAK,IAAE,EAAQ,KAAK,CAAC,MAAM,OAInF,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,wCACZ,EAAQ,KAAK,CAAC,GAAG,CAAC,GACjB,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CAAkB,QAAS,IAAM,EAAW,EAAE,EAAE,EAAG,UAAW,EAAM,MAAO,CAAA,EAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,UAAU,CAAA,CAAE,WACrG,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,oCAAqC,CAAU,CAAC,EAAE,UAAU,CAAC,IAChF,EAAE,EAAE,CACL,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,sBAAc,EAAE,UAAU,KAH/B,EAAE,EAAE,GAMlB,EAAQ,IAAI,CAAC,GAAG,CAAC,GAChB,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CAAe,QAAS,IAAM,EAAU,GAAI,UAAW,EAAM,MAAO,YAAG,MAClE,EAAE,KAAK,CAAC,KAAK,GAAG,KADT,IAId,EAAQ,SAAS,CAAC,GAAG,CAAC,GACrB,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CAAe,QAAS,IAAM,EAAU,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAG,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,EAAM,eAAgB,MAAO,YAAG,MACnG,IADO,OAMjB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAU,KAAM,EAAM,OAAQ,OAnE/B,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,IAAK,EAAK,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,wFAAyF,GAAW,sCAC/H,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CAAO,QAAS,IAAM,EAAQ,GAAK,CAAC,GAAI,gBAAe,EAAM,UAAU,wEACtE,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,UAAM,EAAU,KAAO,OACxB,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,oBAAY,EAAQ,QAAQ,GAC5C,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,4DAAoD,IACpE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAQ,KAAM,OAEjB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAU,KAAM,EAAM,OAAQ,MA+DvC,CC7HA,SAAS,EAAS,CAAU,EAC1B,IAAM,EAAI,IAAI,KAAK,GACb,EAAQ,IAAI,KACZ,EAAY,IAAI,KAAK,SAE3B,CADA,EAAU,OAAO,CAAC,EAAM,OAAO,GAAK,GAChC,EAAE,YAAY,KAAO,EAAME,YAAY,IAAI,AAAO,QAClD,EAAE,YAAY,KAAO,EAAU,YAAY,GAAW,CAAP,WAC5C,EAAE,kBAAkB,MAAC,EAAW,CAAE,QAAS,QAAS,MAAO,QAAS,IAAK,SAAU,EAC5F,CAIA,SAAS,EAAK,OAAE,CAAK,OAAE,CAAK,CAAE,MAAI,CAAmD,EACnF,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,oBACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,gEAAiE,EAAQ,GAAQ,WAAa,0BAAmB,IAClI,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,qCAA6B,MAGhD,CAYO,SAAS,EAAgB,UAAE,CAAQ,QAAE,CAAM,CAAE,YAAU,WAAE,CAAS,CAAE,gBAAc,CAAwB,QAC/G,MAAM,CAAC,EAAO,EAAS,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAc,OAE1C,CAAC,EAAK,EAAO,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,IAAM,KAAK,GAAG,IAC7C,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KACR,IAAM,EAAI,YAAY,IAAM,EAAO,KAAK,GAAG,IAAK,KAChD,MAAO,IAAM,cAAc,EAC7B,EAAG,EAAE,EACL,IAAM,GF+DqC,EE/Db,CAAlB,CAzCCF,GFwG6C,CE/DtB,CAzClB,CF0GX,CACL,GE3GqB,KAAK,CF2GhB,CAFN,EAAS,AEhEK,EFgEI,MAAM,CAAC,GAAK,KAAK,KAAK,CAAC,EAAE,GAAG,GAAK,IAEtC,MAAM,CACvB,UAAW,IAAI,IAAI,EAAO,OAAO,CAAC,GAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAsB,SAAjB,EAAE,UAAU,EAAa,GAAG,CAAC,GAAK,EAAE,EAAE,IAAI,IAAI,CACzG,KAAM,IAAI,IAAI,EAAO,OAAO,CAAC,GAAK,EAAE,IAAI,GAAG,IAAI,CAC/C,UAAW,EAAO,MAAM,CAAC,CAAC,EAAG,IAAM,EAAI,EAAE,SAAS,CAAC,MAAM,CAAE,EAC7D,GErEM,EAAS,CAAE,IAAK,EAAS,MAAM,CAAE,GAAI,EAAS,MAAM,CAAC,GAAiB,OAAZ,EAAE,KAAK,EAAW,MAAM,CAAE,MAAO,EAAS,MAAM,CAAC,GAAiB,UAAZ,EAAE,KAAK,EAAc,MAAM,AAAC,EAC5I,EAAkB,AAAV,UAAkB,EAAW,EAAS,MAAM,CAAC,GAAK,EAAE,KAAK,GAAK,GAE5E,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,WAEC,CAAA,EAAA,EAAA,IAAA,EAAC,UAAA,CAAQ,UAAU,4HACjB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAK,MAAO,EAAI,QAAQ,CAAE,MAAM,mBACjC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAK,MAAO,EAAI,SAAS,CAAE,MAAM,aAAa,KAAK,cACpD,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAK,MAAO,EAAI,IAAI,CAAE,MAAM,iBAC7B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAK,MAAO,EAAI,SAAS,CAAE,MAAM,cAAc,KAAK,mBAGvD,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,uCAAuC,KAAK,UAAU,aAAW,2BAC5E,CAAC,MAAO,KAAM,QAAQ,CAAW,GAAG,CAAC,GACrC,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CAEC,KAAK,MACL,gBAAe,IAAU,EACzB,QAAS,IAAM,EAAS,GACxB,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,sEACA,IAAU,EAAI,uBAAyB,uCAGlC,QAAN,EAAc,MAAc,OAAN,EAAa,WAAa,WACjD,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,uCAA+B,CAAM,CAAC,EAAE,KAVnD,MAeO,IAAjB,EAAM,MAAM,CACX,CAAA,EAAA,EAAA,IAAA,EAAC,IAAA,CAAE,UAAU,iDAAuC,MAAI,AAAU,SAAO,QAAU,QAAQ,oBAE3F,CAAA,EAAA,EAAA,IAAA,EAAC,KAAA,CAAG,UAAU,qBAEZ,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,uDAAuD,aAAW,CAAA,CAAA,IAChF,EAAM,GAAG,CAAC,CAAC,EAAG,KACb,IAAM,EAAQ,EAAS,EAAE,KAAK,EACxB,EAAgB,IAAN,GAAW,EAAS,CAAK,CAAC,EAAI,EAAE,CAAC,KAAK,IAAM,EACtD,EFiBX,AEjBkB,SFiBT,AAAO,CAAuB,CAAE,EAAM,KAAK,GAAG,EAAE,CAAE,EAAW,GAAa,CAAT,CAC/E,IADoF,GAC7E,EAAM,KAAK,KAAK,CAAC,EAAE,GAAG,EAAI,CACnC,EEnBgC,EAAG,GAEjB,EAAQ,EAAE,KAAK,CAAC,MAAM,CAAG,EAAE,IAAI,CAAC,MAAM,CAAG,EAAE,SAAS,CAAC,MAAM,GAAK,EACtE,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,KAAA,CAEC,UAAU,kBACV,MAAO,CAAE,eAAgB,CAAA,EAAG,AAAiB,QAAZ,GAAG,CAAC,EAAG,GAAQ,EAAE,CAAC,CAAE,kBAAmB,MAAO,YAE9E,GACC,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,iIACV,IAGL,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,iEACb,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,SAAU,EAAE,KAAK,CAAE,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,8CAA+C,EAAQ,SAAW,QAAS,MAAO,IAAI,KAAK,EAAE,KAAK,EAAE,cAAc,YArF7I,CAsFT,GAtFa,KAAK,AAsFZ,EAAE,KAAK,EAtFS,kBAAkB,MAAC,EAAW,CAAE,KAAM,UAAW,OAAQ,UAAW,UAAW,KAAM,KAwF9G,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,sBAAuB,EAAQ,eAAiB,eAAgB,aAAW,CAAA,CAAA,WAC7F,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,6CACA,EAAQ,cAAgB,cACZ,OAAZ,EAAE,KAAK,CAAY,YAAc,WACjC,GAAQ,yBAId,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,QAAS,EAET,OAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAM,EAAO,GAAG,CAAC,IAAO,EAAE,EACrD,WAAY,EACZ,UAAW,EACX,QAAS,EAAE,EAAE,GAAK,EAClB,KAAM,SA9BL,EAAE,EAAE,CAmCf,QAKV,CJhIA,IAAA,EAAA,EAAA,CAAA,CAAA,OAWO,SAAS,EAAY,UAAE,CAAQ,eAAE,CAAa,WAAE,CAAS,YAAE,CAAU,WAAE,CAAS,gBAAE,CAAc,CAAoB,EACzH,GAAM,CAAC,EAAM,EAAQ,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAwB,YAElD,CAAC,EAAW,EAAa,CAAG,CAAA,EAAA,EAAA,QAAQ,AAAR,EAAS,GACvC,IAAmB,IACrB,EAAa,GACT,EAF4B,CAEZ,EAAQ,aAE9B,GAAM,CAAC,EAAU,EAAY,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAmB,MAAM,AAC3D,CAAC,EAAQ,EAAU,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,CADiD,CAChD,IAC/B,CAAC,EAAQ,EAAU,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAA6B,IAAI,KAGrE,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KACR,IAAM,EAAK,EAAY,CAAA,EAAG,EAAU,CAAC,CAAC,CAAG,IACnC,EAAO,IAAM,QAAQ,GAAG,CAAC,CAC7B,MAAM,CAAC,aAAa,EAAE,EAAA,CAAW,EAAE,IAAI,CAAC,GAAK,EAAE,IAAI,IACnD,MAAM,CAAC,aAAa,EAAE,EAAG,UAAU,CAAC,EAAE,IAAI,CAAC,GAAK,EAAE,IAAI,IACvD,EACE,IAAI,CAAC,CAAC,CAAC,EAAK,EAAI,IACf,EAAU,IACV,EAAY,MAAM,OAAO,CAAC,GAAO,EAAM,EAAE,EACzC,EAAU,IAAI,IAAI,CAAC,MAAM,OAAO,CAAC,GAAO,EAAyB,EAAA,AAAE,EAAE,GAAG,CAAC,GAAK,CAAC,EAAE,EAAE,CAAE,EAAE,GACzF,GACC,KAAK,CAAC,KAAQ,EAAU,IAAO,EAAY,GAAQ,GAAQ,EAAE,CAAE,GAGlE,OAFA,IACA,OAAO,gBAAgB,CAAC,cAAe,GAChC,IAAM,OAAO,mBAAmB,CAAC,cAAe,EACzD,EAAG,CAAC,EAAU,EAEd,IAAM,EAAiB,AAAT,eAAsB,GAAU,SAAW,EAAwB,IAApB,EAAS,MAAM,CAE5E,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,0BACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,mDACb,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAG,UAAU,6DAAoD,aAClE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,oCAEb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,oFACb,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CACC,aAAW,CAAA,CAAA,EACX,UAAW,CAAA,EAAA,EAAA,EAAE,AAAF,EACT,uIACS,WAAT,GAAqB,sBAGvB,CAAC,WAAY,SAAS,CAAW,GAAG,CAAC,GACrC,CAAA,EAAA,EAAA,GAAA,EAAC,SAAA,CAEC,QAAS,IAAM,EAAQ,GACvB,eAAc,IAAS,EACvB,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,kEAAmE,IAAS,EAAI,WAAa,sCAEpG,aAAN,EAAmB,WAAa,cAL5B,OAUX,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,kEACb,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,UAAU,sCACb,GAAiB,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,uDAClC,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,iDACX,gBAMZ,GACC,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,6GAAoG,yFAKzG,aAAT,GAAoC,OAAb,EACtB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBAAsB,YAAU,OAAO,aAAW,6BAC/D,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,iDACd,CAAC,EAAG,EAAG,EAAE,CAAC,GAAG,CAAC,GACb,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAY,UAAU,wDAAwD,MAAO,CAAE,eAAgB,CAAA,EAAG,AAAI,MAAI,EAAE,CAAC,AAAC,GAA7G,OAGZ,EACF,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CACT,KAAK,IACL,QAAQ,mBACR,WAAW,uDAEF,aAAT,EACF,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAA2C,eAAgB,EAAgB,SAAU,GAAY,EAAE,CAAE,OAAQ,EAAQ,WAAY,EAAY,UAAW,GAAnI,GAAkB,IAExC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAa,SAAU,MAIhC,CD1GA,IAAA,EAAA,EAAA,CAAA,CAAA,QAEA,SAAS,IACP,GAAM,UAAE,CAAQ,CAAE,eAAa,WAAE,CAAS,OAAE,CAAK,UAAE,CAAQ,SAAE,CAAO,CAAE,CAAG,CAAA,EAAA,EAAA,MAAA,AAAM,IACzEE,EAAiB,CAAA,EAAA,EAAA,eAAA,AAAe,IAAG,GAAG,CAAC,WACvCA,CAAC,EAAQ,EAAU,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAgB,MAE9C,EAAQ,GAAS,GAAU,OAAO,MAAM,CAAC,GAAO,IAAI,GAAG,IAAI,CAAC,GAAK,EAAE,EAAE,GAAK,IAAY,KAE5F,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,4BACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,SAAU,EACV,cAAe,EACf,UAAW,EACX,WAAY,EACZ,UAAW,EACX,eAAgB,IAElB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,eAAe,CAAA,CAAC,KAAM,EAAM,QAAS,IAAM,EAAU,MAAO,OAAQ,MAG3E,kBAEe,SAAS,EACtB,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,QAAQ,CAAA,UACP,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAA,IAGP"}
1
+ {"version":3,"sources":["../../../../src/app/%28app%29/activity/page.tsx","../../../../src/components/activity/ActivityTab.tsx","../../../../src/components/activity/ActivityFeed.tsx","../../../../src/components/activity/SessionTimeline.tsx","../../../../src/components/activity/SessionCard.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport { Suspense, useState } from \"react\"\r\nimport { useSearchParams } from \"next/navigation\"\r\nimport { useApp } from \"@/context/AppContext\"\r\nimport { ActivityTab } from \"@/components/activity/ActivityTab\"\r\nimport { TaskDetailPanel } from \"@/components/board/TaskDetailPanel\"\r\n\r\nfunction ActivityContent() {\r\n const { activity, rootParam, board, moveTask, openDoc } = useApp()\r\n const focusSessionId = useSearchParams().get(\"session\")\r\n const [taskId, setTaskId] = useState<string | null>(null)\r\n // Derive from the board so the panel reflects moves made while it is open\r\n const task = (board && taskId && Object.values(board).flat().find(t => t.id === taskId)) || null\r\n\r\n return (\r\n <div className=\"relative flex-1\">\r\n <ActivityTab\r\n activity={activity}\r\n rootParam={rootParam}\r\n onOpenTask={setTaskId}\r\n onOpenDoc={openDoc}\r\n focusSessionId={focusSessionId}\r\n />\r\n <TaskDetailPanel task={task} onClose={() => setTaskId(null)} onMove={moveTask} />\r\n </div>\r\n )\r\n}\r\n\r\nexport default function ActivityPage() {\r\n return (\r\n <Suspense>\r\n <ActivityContent />\r\n </Suspense>\r\n )\r\n}\r\n","\"use client\"\n\nimport { useEffect, useState } from \"react\"\nimport type { ActivityEvent, Session } from \"@/types\"\nimport { cn } from \"@/lib/utils\"\nimport { ActivityFeed } from \"./ActivityFeed\"\nimport { SessionTimeline } from \"./SessionTimeline\"\nimport { Activity as ActivityIcon } from \"lucide-react\"\nimport { catchUp } from \"@/lib/sessions\"\n\nconst DAY_MS = 24 * 60 * 60 * 1000\n\n/** \"5 tasks done · 1 ADR · 4 sessions\": the one-read answer to \"what happened while I was away?\" Zeros drop out. */\nfunction Summary({ sessions }: { sessions: Session[] }) {\n // Ticks so the 24h window stays honest without new events\n const [now, setNow] = useState(() => Date.now())\n useEffect(() => {\n const t = setInterval(() => setNow(Date.now()), 60_000)\n return () => clearInterval(t)\n }, [])\n const day = catchUp(sessions, now - DAY_MS)\n const parts = ([\n [day.tasksDone, \"task\", \"done\"],\n [day.decisions, \"ADR\", \"logged\"],\n [day.docs, \"doc\", \"changed\"],\n [day.sessions, \"session\", \"\"],\n ] as const).filter(([n]) => n > 0)\n if (!parts.length) return <>Quiet for the last 24 hours</>\n return (\n <>\n {parts.map(([n, noun, verb], i) => (\n <span key={noun}>\n {i > 0 && <span className=\"text-muted\"> · </span>}\n <span className=\"font-mono tabular-nums\">{n}</span> {noun}{n === 1 ? \"\" : \"s\"}{verb && ` ${verb}`}\n </span>\n ))}\n <span className=\"font-normal text-muted\"> in the last 24h</span>\n </>\n )\n}\n\ninterface ActivityTabProps {\n activity: ActivityEvent[]\n rootParam: string\n onOpenTask: (taskId: string) => void\n onOpenDoc: (path: string) => void\n focusSessionId?: string | null\n}\n\nexport function ActivityTab({ activity, rootParam, onOpenTask, onOpenDoc, focusSessionId }: ActivityTabProps) {\n const [view, setView] = useState<\"sessions\" | \"events\">(\"sessions\")\n // A new focus target (from a task's Sessions list) always lands on the Sessions view\n const [lastFocus, setLastFocus] = useState(focusSessionId)\n if (focusSessionId !== lastFocus) {\n setLastFocus(focusSessionId)\n if (focusSessionId) setView(\"sessions\")\n }\n const [sessions, setSessions] = useState<Session[] | null>(null) // null = first load\n const [failed, setFailed] = useState(false)\n const [events, setEvents] = useState<Map<string, ActivityEvent>>(new Map())\n\n // Refetch on every SSE event (AppContext re-dispatches them as `vibedoc:sse`), not only the ones that refresh `activity`.\n useEffect(() => {\n const qs = rootParam ? `${rootParam}&` : \"?\"\n const load = () => Promise.all([\n fetch(`/api/sessions${rootParam}`).then(r => r.json()),\n fetch(`/api/activity${qs}limit=2000`).then(r => r.json()),\n ])\n .then(([ses, evs]) => {\n setFailed(false)\n setSessions(Array.isArray(ses) ? ses : [])\n setEvents(new Map((Array.isArray(evs) ? evs as ActivityEvent[] : []).map(e => [e.id, e])))\n })\n .catch(() => { setFailed(true); setSessions(prev => prev ?? []) })\n load()\n window.addEventListener(\"vibedoc:sse\", load)\n return () => window.removeEventListener(\"vibedoc:sse\", load)\n }, [rootParam])\n\n const empty = view === \"sessions\" ? sessions?.length === 0 : activity.length === 0\n\n return (\n <div className=\"mx-auto flex max-w-4xl flex-col px-6 py-8\">\n <header className=\"mb-6 flex flex-wrap items-end gap-x-6 gap-y-4 border-b border-border pb-5\">\n <div className=\"min-w-0 flex-1 basis-full sm:basis-0\">\n <h1 className=\"text-[1.6rem] leading-tight font-semibold tracking-[-0.02em] text-txt\">Activity</h1>\n <p className=\"mt-2 text-[1.1rem] leading-snug font-semibold text-txt\">\n {sessions === null ? <span className=\"text-muted\">Loading…</span> : <Summary sessions={sessions} />}\n </p>\n <p className=\"mt-1 text-sm text-muted\">Everything agents and you changed, read from <code className=\"font-mono text-[0.9em]\">.vibedoc-activity.json</code>.</p>\n </div>\n {/* Segmented toggle with a sliding pill */}\n <div className=\"relative grid grid-cols-2 rounded-md border border-border p-0.5 text-xs\" role=\"group\" aria-label=\"View\">\n <span\n aria-hidden\n className={cn(\n \"absolute inset-y-0.5 left-0.5 w-[calc(50%-2px)] rounded-sm bg-surface2 transition-transform duration-(--duration-base) ease-out-soft\",\n view === \"events\" && \"translate-x-full\",\n )}\n />\n {([\"sessions\", \"events\"] as const).map(v => (\n <button\n key={v}\n onClick={() => setView(v)}\n aria-pressed={view === v}\n className={cn(\"relative rounded-sm px-3 py-1 transition-colors duration-(--duration-fast) focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60\", view === v ? \"text-txt\" : \"text-muted hover:text-txt\")}\n >\n {v === \"sessions\" ? \"Sessions\" : \"All events\"}\n </button>\n ))}\n </div>\n </header>\n\n {failed && (\n <p className=\"mb-4 rounded-md border border-danger/30 bg-danger/5 px-3 py-2 text-xs text-danger animate-fade-in\">\n Couldn&apos;t load sessions. Showing the last data we had; it retries on the next update.\n </p>\n )}\n\n {view === \"sessions\" && sessions === null ? (\n <div className=\"flex flex-col gap-3\" aria-busy=\"true\" aria-label=\"Loading sessions\">\n {[0, 1, 2].map(i => (\n <div key={i} className=\"ml-[4.25rem] h-24 rounded-lg bg-surface animate-pulse\" style={{ animationDelay: `${i * 120}ms` }} />\n ))}\n </div>\n ) : empty ? (\n <div className=\"flex flex-col items-start gap-2 rounded-lg border border-dashed border-border2 p-6 animate-fade-in\">\n <ActivityIcon className=\"size-5 text-muted\" aria-hidden />\n <p className=\"text-sm text-txt\">No activity yet</p>\n <p className=\"max-w-lg text-xs leading-relaxed text-muted\">\n Moves on the board and every agent call through the MCP server show up here as they happen. Use Connect in the header to hook up Claude Code or Cursor.\n </p>\n </div>\n ) : view === \"sessions\" ? (\n <SessionTimeline key={focusSessionId ?? \"\"} focusSessionId={focusSessionId} sessions={sessions ?? []} events={events} onOpenTask={onOpenTask} onOpenDoc={onOpenDoc} />\n ) : (\n <ActivityFeed activity={activity} />\n )}\n </div>\n )\n}\n","import type { ActivityEvent } from \"@/types\"\nimport { ActivityEventRow } from \"./ActivityEventRow\"\nimport { DayLabel, dayLabel } from \"./SessionTimeline\"\n\n/** Every event, newest first, grouped by day on the same clock gutter as the sessions timeline. */\nexport function ActivityFeed({ activity }: { activity: ActivityEvent[] }) {\n return (\n <ol className=\"flex flex-col\">\n {activity.map((e, i) => {\n const label = dayLabel(e.timestamp)\n return (\n <li key={e.id}>\n {(i === 0 || dayLabel(activity[i - 1].timestamp) !== label) && <DayLabel label={label} />}\n <ActivityEventRow event={e} showActor />\n </li>\n )\n })}\n </ol>\n )\n}\n","\"use client\"\n\nimport { useEffect, useState } from \"react\"\nimport { Bot, User } from \"lucide-react\"\nimport type { ActivityEvent, Session } from \"@/types\"\nimport { cn } from \"@/lib/utils\"\nimport { isLive } from \"@/lib/sessions\"\nimport { SessionCard } from \"./SessionCard\"\nimport { clock } from \"./ActivityEventRow\"\n\nexport function dayLabel(ts: string): string {\n const d = new Date(ts)\n const today = new Date()\n const yesterday = new Date(today)\n yesterday.setDate(today.getDate() - 1)\n if (d.toDateString() === today.toDateString()) return \"Today\"\n if (d.toDateString() === yesterday.toDateString()) return \"Yesterday\"\n return d.toLocaleDateString(undefined, { weekday: \"short\", month: \"short\", day: \"numeric\" })\n}\n\n/** Sticky day heading shared by the sessions timeline and the event feed. */\nexport function DayLabel({ label }: { label: string }) {\n return (\n <h2 className=\"sticky top-0 z-10 -mx-1 mt-4 mb-1 flex items-center gap-3 bg-bg/90 px-1 py-2 backdrop-blur-sm first:mt-0\">\n <span className=\"text-[13px] font-semibold text-txt\">{label}</span>\n <span className=\"h-px flex-1 bg-border\" aria-hidden />\n </h2>\n )\n}\n\ntype ActorFilter = \"all\" | \"ai\" | \"human\"\n\ninterface SessionTimelineProps {\n sessions: Session[]\n events: Map<string, ActivityEvent>\n onOpenTask: (taskId: string) => void\n onOpenDoc: (path: string) => void\n focusSessionId?: string | null\n}\n\nexport function SessionTimeline({ sessions, events, onOpenTask, onOpenDoc, focusSessionId }: SessionTimelineProps) {\n const [actor, setActor] = useState<ActorFilter>(\"all\")\n // Ticking clock: expires \"working\" badges without new events\n const [now, setNow] = useState(() => Date.now())\n useEffect(() => {\n const t = setInterval(() => setNow(Date.now()), 30_000)\n return () => clearInterval(t)\n }, [])\n const counts = { all: sessions.length, ai: sessions.filter(s => s.actor === \"ai\").length, human: sessions.filter(s => s.actor === \"human\").length }\n const shown = actor === \"all\" ? sessions : sessions.filter(s => s.actor === actor)\n\n return (\n <div>\n <div className=\"mb-3 flex items-center gap-1 text-xs\" role=\"group\" aria-label=\"Filter by actor\">\n {([\"all\", \"ai\", \"human\"] as const).map(a => {\n const Icon = a === \"ai\" ? Bot : a === \"human\" ? User : null\n return (\n <button\n key={a}\n aria-pressed={actor === a}\n onClick={() => setActor(a)}\n className={cn(\n \"flex items-center gap-1.5 rounded-md px-2.5 py-1 transition-colors duration-(--duration-fast) focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60\",\n actor === a ? \"bg-surface2 text-txt\" : \"text-muted hover:text-txt\",\n )}\n >\n {Icon && <Icon className=\"size-3.5\" aria-hidden />}\n {a === \"all\" ? \"All\" : a === \"ai\" ? \"Agent\" : \"Human\"}\n <span className=\"font-mono text-[11px] text-muted tabular-nums\">{counts[a]}</span>\n </button>\n )\n })}\n </div>\n\n {shown.length === 0 ? (\n <p className=\"py-10 text-center text-sm text-muted\">No {actor === \"ai\" ? \"agent\" : \"human\"} sessions yet.</p>\n ) : (\n <ol className=\"relative\">\n {/* Rail runs behind the dots, between the clock gutter and the cards */}\n <div className=\"absolute left-[3.5rem] top-10 bottom-2 w-px bg-border\" aria-hidden />\n {shown.map((s, i) => {\n const label = dayLabel(s.start)\n const showDay = i === 0 || dayLabel(shown[i - 1].start) !== label\n const live = isLive(s, now)\n // Matches SessionCard's one-line layout for sessions with nothing to link\n const quiet = s.tasks.length + s.docs.length + s.decisions.length === 0\n return (\n <li\n key={s.id}\n className=\"animate-fade-in\"\n style={{ animationDelay: `${Math.min(i, 8) * 45}ms`, animationFillMode: \"both\" }}\n >\n {showDay && <DayLabel label={label} />}\n <div className={cn(\"grid grid-cols-[2.75rem_1.5rem_minmax(0,1fr)] items-start\", quiet ? \"pb-1\" : \"py-2\")}>\n <time dateTime={s.start} className={cn(\"text-right font-mono text-[11px] tabular-nums\", quiet ? \"pt-2 text-muted\" : \"pt-4 text-txt\")} title={new Date(s.start).toLocaleString()}>\n {clock(s.start)}\n </time>\n <span className={cn(\"flex justify-center\", quiet ? \"pt-[0.8rem]\" : \"pt-[1.15rem]\")} aria-hidden>\n <span\n className={cn(\n \"relative z-[1] rounded-full ring-4 ring-bg\",\n quiet ? \"size-1.5 bg-border2\" : \"size-2.5\",\n !quiet && (s.actor === \"ai\" ? \"bg-accent\" : \"bg-muted\"),\n live && \"animate-pulse-dot\",\n )}\n />\n </span>\n <SessionCard\n session={s}\n // eventIds are chronological; the feed reads oldest → newest within a session\n events={s.eventIds.flatMap(id => events.get(id) ?? [])}\n onOpenTask={onOpenTask}\n onOpenDoc={onOpenDoc}\n focused={s.id === focusSessionId}\n live={live}\n />\n </div>\n </li>\n )\n })}\n </ol>\n )}\n </div>\n )\n}\n","\"use client\"\n\nimport { useEffect, useRef, useState } from \"react\"\nimport { Bot, ChevronRight, FileText, Scale, User } from \"lucide-react\"\nimport type { ActivityEvent, Session } from \"@/types\"\nimport { cn } from \"@/lib/utils\"\nimport { sessionDuration } from \"@/lib/sessions\"\nimport { STATUS_META, StatusIcon } from \"@/components/shared/StatusIcon\"\nimport { ActivityEventRow } from \"./ActivityEventRow\"\n\n// One mark per task, filled with the task's status hue (the One Status Language, as a bar)\nconst STATUS_BAR: Record<string, string> = {\n done: \"bg-teal\",\n \"in-progress\": \"bg-amber\",\n review: \"bg-accent\",\n blocked: \"bg-danger\",\n todo: \"bg-border2\",\n cancelled: \"bg-border2\",\n}\n\nconst chip =\n \"inline-flex max-w-full min-w-0 items-center gap-1.5 rounded-sm border border-border px-2 py-1 font-mono text-[11px] text-txt transition-colors duration-(--duration-fast) hover:border-border2 hover:bg-surface2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60\"\n\ninterface SessionCardProps {\n session: Session\n events: ActivityEvent[]\n onOpenTask: (taskId: string) => void\n onOpenDoc: (path: string) => void\n focused?: boolean\n live?: boolean\n}\n\n/** Expandable body shared by cards and quiet rows: grid-rows 0fr↔1fr animates height without measuring. */\nfunction EventList({ open, events }: { open: boolean; events: ActivityEvent[] }) {\n return (\n <div className={cn(\"grid transition-[grid-template-rows,opacity] duration-(--duration-slow) ease-out-soft\", open ? \"grid-rows-[1fr] opacity-100\" : \"grid-rows-[0fr] opacity-0\")}>\n <div className=\"min-h-0 overflow-hidden\" inert={!open}>\n <div className=\"mt-3 border-t border-border pt-2\">\n {events.map(e => <ActivityEventRow key={e.id} event={e} />)}\n </div>\n </div>\n </div>\n )\n}\n\nfunction Chevron({ open }: { open: boolean }) {\n return <ChevronRight aria-hidden className={cn(\"size-3.5 shrink-0 text-muted transition-transform duration-(--duration-base) ease-out-soft\", open && \"rotate-90\")} />\n}\n\n/** \"1 event\" says nothing: a session that only connected reads as such. */\nconst quietHeadline = (s: Session) => (/^\\d+ events?$/.test(s.headline) ? \"Connected, nothing changed\" : s.headline)\n\nexport function SessionCard({ session, events, onOpenTask, onOpenDoc, focused = false, live = false }: SessionCardProps) {\n const [open, setOpen] = useState(focused)\n const ref = useRef<HTMLDivElement>(null)\n useEffect(() => {\n if (focused) ref.current?.scrollIntoView({ block: \"center\", behavior: \"smooth\" })\n }, [focused])\n\n const isAgent = session.actor === \"ai\"\n const Actor = isAgent ? Bot : User\n const done = session.tasks.filter(t => t.lastStatus === \"done\").length\n const hasLinks = session.tasks.length + session.docs.length + session.decisions.length > 0\n const count = `${session.eventCount} event${session.eventCount === 1 ? \"\" : \"s\"}`\n\n // Quiet sessions (only roadmap edits, reads, session starts) collapse to one line so real work stands out.\n if (!hasLinks) {\n return (\n <div ref={ref} className={cn(\"min-w-0 rounded-md px-3 py-1.5 transition-colors duration-(--duration-fast) hover:bg-surface/60\", focused && \"bg-surface animate-flash\")}>\n <button onClick={() => setOpen(o => !o)} aria-expanded={open} className=\"flex w-full min-w-0 items-center gap-2 text-left text-[13px] text-muted focus-visible:text-txt focus-visible:outline-none\">\n <Actor className=\"size-3.5 shrink-0\" aria-label={isAgent ? \"Agent\" : \"Human\"} />\n <span className=\"min-w-0 truncate\">{quietHeadline(session)}</span>\n <span className=\"ml-auto shrink-0 font-mono text-[11px]\">{sessionDuration(session)}<span className=\"hidden sm:inline\"> · {count}</span></span>\n <Chevron open={open} />\n </button>\n <EventList open={open} events={events} />\n </div>\n )\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"min-w-0 rounded-lg border bg-surface transition-colors duration-(--duration-base) hover:border-border2\",\n live ? \"border-accent/40\" : \"border-border\",\n focused && \"border-accent/60 animate-flash\",\n )}\n >\n <div className=\"px-4 pt-3.5 pb-4\">\n <button onClick={() => setOpen(o => !o)} aria-expanded={open} className=\"group flex w-full min-w-0 items-center gap-2 text-left focus-visible:outline-none\">\n <Actor className=\"size-3.5 shrink-0 text-muted\" aria-hidden />\n <span className=\"text-xs text-muted\">{isAgent ? \"Agent\" : \"Human\"}</span>\n {live && (\n <span className=\"flex items-center gap-1 font-mono text-[10px] text-accent\">\n <span className=\"size-1.5 rounded-full bg-accent animate-pulse-dot\" />\n working\n </span>\n )}\n <span className=\"ml-auto shrink-0 font-mono text-[11px] text-muted\">{sessionDuration(session)} · {count}</span>\n <span className=\"flex items-center gap-1 text-[11px] text-muted group-hover:text-txt group-focus-visible:text-txt\">\n <Chevron open={open} />\n </span>\n </button>\n\n <p className=\"mt-1.5 text-[15px] leading-snug font-semibold text-txt\">{session.headline}</p>\n\n {session.tasks.length > 0 && (\n <div className=\"mt-3 flex items-center gap-3\">\n <div className=\"flex flex-1 gap-0.5\" role=\"img\" aria-label={`${done} of ${session.tasks.length} tasks done`}>\n {session.tasks.map(t => <span key={t.id} className={cn(\"h-1 flex-1 rounded-full\", STATUS_BAR[t.lastStatus] ?? \"bg-border2\")} />)}\n </div>\n <span className=\"font-mono text-[11px] text-muted tabular-nums\"><span className=\"text-txt\">{done}</span>/{session.tasks.length}</span>\n </div>\n )}\n\n <div className=\"mt-3 flex flex-wrap gap-1.5\">\n {session.tasks.map(t => (\n <button key={t.id} onClick={() => onOpenTask(t.id)} className={chip} title={`${t.id} → ${STATUS_META[t.lastStatus]?.label ?? t.lastStatus}`}>\n <StatusIcon status={t.lastStatus} className=\"size-3\" />\n {t.id}\n </button>\n ))}\n {session.docs.map(d => (\n <button key={d} onClick={() => onOpenDoc(d)} className={chip} title={d}>\n <FileText className=\"size-3 shrink-0 text-muted\" aria-hidden />\n <span className=\"truncate\">{d.split(\"/\").pop()}</span>\n </button>\n ))}\n {session.decisions.map(d => {\n const [id, ...rest] = d.split(\":\")\n return (\n <button key={d} onClick={() => onOpenDoc(id)} className={cn(chip, \"font-sans text-xs\")} title={d}>\n <Scale className=\"size-3 shrink-0 text-muted\" aria-hidden />\n <span className=\"shrink-0 font-mono text-[11px] whitespace-nowrap\">{id}</span>\n {rest.length > 0 && <span className=\"truncate text-muted\">{rest.join(\":\").trim()}</span>}\n </button>\n )\n })}\n </div>\n\n <EventList open={open} events={events} />\n </div>\n </div>\n )\n}\n"],"names":["STATUS_BAR","done","review","blocked","todo","cancelled","chip","EventList","open","events","className","inert","map","e","event","id","Chevron","quietHeadline","s","test","headline","SessionCard","session","onOpenTask","onOpenDoc","focused","live","setOpen","ref","current","scrollIntoView","block","behavior","isAgent","actor","Actor","tasks","filter","t","lastStatus","length","hasLinks","docs","decisions","count","eventCount","onClick","o","role","title","label","status","d","split","pop","rest","join","trim"],"mappings":"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"}