vibedoc 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (800) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +15 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +42 -14
  5. package/.next/routes-manifest.json +90 -0
  6. package/.next/server/app/(app)/activity/page.js +2 -2
  7. package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  8. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/(app)/board/page.js +2 -2
  10. package/.next/server/app/(app)/board/page.js.nft.json +1 -1
  11. package/.next/server/app/(app)/board/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/(app)/chat/page.js +2 -2
  13. package/.next/server/app/(app)/chat/page.js.nft.json +1 -1
  14. package/.next/server/app/(app)/chat/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/(app)/docs/page.js +2 -2
  16. package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
  17. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/(app)/explorer/page.js +2 -2
  19. package/.next/server/app/(app)/explorer/page.js.nft.json +1 -1
  20. package/.next/server/app/(app)/explorer/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/(app)/manual-tests/page/app-paths-manifest.json +3 -0
  22. package/.next/server/app/(app)/manual-tests/page/build-manifest.json +20 -0
  23. package/.next/server/app/(app)/manual-tests/page/next-font-manifest.json +11 -0
  24. package/.next/server/app/(app)/manual-tests/page/react-loadable-manifest.json +1 -0
  25. package/.next/server/app/(app)/manual-tests/page/server-reference-manifest.json +4 -0
  26. package/.next/server/app/(app)/manual-tests/page.js +15 -0
  27. package/.next/server/app/(app)/manual-tests/page.js.map +5 -0
  28. package/.next/server/app/(app)/manual-tests/page.js.nft.json +1 -0
  29. package/.next/server/app/(app)/manual-tests/page_client-reference-manifest.js +3 -0
  30. package/.next/server/app/(app)/memory/page.js +2 -2
  31. package/.next/server/app/(app)/memory/page.js.nft.json +1 -1
  32. package/.next/server/app/(app)/memory/page_client-reference-manifest.js +1 -1
  33. package/.next/server/app/(app)/roadmap/page.js +2 -2
  34. package/.next/server/app/(app)/roadmap/page.js.nft.json +1 -1
  35. package/.next/server/app/(app)/roadmap/page_client-reference-manifest.js +1 -1
  36. package/.next/server/app/(app)/settings/page.js +2 -2
  37. package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
  38. package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  39. package/.next/server/app/(app)/setup/page.js +2 -2
  40. package/.next/server/app/(app)/setup/page.js.nft.json +1 -1
  41. package/.next/server/app/(app)/setup/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app/_global-error/page.js +2 -2
  43. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  44. package/.next/server/app/_global-error.html +1 -1
  45. package/.next/server/app/_global-error.rsc +1 -1
  46. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  47. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  48. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  49. package/.next/server/app/_not-found/page.js +2 -2
  50. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  51. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  52. package/.next/server/app/_not-found.html +1 -1
  53. package/.next/server/app/_not-found.rsc +3 -2
  54. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -2
  55. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -2
  56. package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -2
  57. package/.next/server/app/activity.html +1 -1
  58. package/.next/server/app/activity.rsc +13 -12
  59. package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +12 -9
  60. package/.next/server/app/activity.segments/_full.segment.rsc +13 -12
  61. package/.next/server/app/activity.segments/_tree.segment.rsc +3 -2
  62. package/.next/server/app/api/activity/route.js +2 -2
  63. package/.next/server/app/api/activity/route.js.nft.json +1 -1
  64. package/.next/server/app/api/backlinks/route.js +2 -2
  65. package/.next/server/app/api/backlinks/route.js.nft.json +1 -1
  66. package/.next/server/app/api/chat/route.js +3 -3
  67. package/.next/server/app/api/chat/route.js.nft.json +1 -1
  68. package/.next/server/app/api/context/route.js +2 -2
  69. package/.next/server/app/api/context/route.js.nft.json +1 -1
  70. package/.next/server/app/api/conversations/route.js +3 -3
  71. package/.next/server/app/api/conversations/route.js.nft.json +1 -1
  72. package/.next/server/app/api/decisions/route.js +3 -3
  73. package/.next/server/app/api/decisions/route.js.nft.json +1 -1
  74. package/.next/server/app/api/docs/route.js +3 -3
  75. package/.next/server/app/api/docs/route.js.nft.json +1 -1
  76. package/.next/server/app/api/explorer/route.js +3 -3
  77. package/.next/server/app/api/explorer/route.js.nft.json +1 -1
  78. package/.next/server/app/api/mcp/route.js +3 -3
  79. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  80. package/.next/server/app/api/memory/entries/delete/route/app-paths-manifest.json +3 -0
  81. package/.next/server/app/api/memory/entries/delete/route/build-manifest.json +12 -0
  82. package/.next/server/app/api/memory/entries/delete/route/server-reference-manifest.json +4 -0
  83. package/.next/server/app/api/memory/entries/delete/route.js +9 -0
  84. package/.next/server/app/api/memory/entries/delete/route.js.map +5 -0
  85. package/.next/server/app/api/memory/entries/delete/route.js.nft.json +1 -0
  86. package/.next/server/app/api/memory/entries/delete/route_client-reference-manifest.js +3 -0
  87. package/.next/server/app/api/memory/entries/restore/route/app-paths-manifest.json +3 -0
  88. package/.next/server/app/api/memory/entries/restore/route/build-manifest.json +12 -0
  89. package/.next/server/app/api/memory/entries/restore/route/server-reference-manifest.json +4 -0
  90. package/.next/server/app/api/memory/entries/restore/route.js +9 -0
  91. package/.next/server/app/api/memory/entries/restore/route.js.map +5 -0
  92. package/.next/server/app/api/memory/entries/restore/route.js.nft.json +1 -0
  93. package/.next/server/app/api/memory/entries/restore/route_client-reference-manifest.js +3 -0
  94. package/.next/server/app/api/memory/entries/route/app-paths-manifest.json +3 -0
  95. package/.next/server/app/api/memory/entries/route/build-manifest.json +12 -0
  96. package/.next/server/app/api/memory/entries/route/server-reference-manifest.json +4 -0
  97. package/.next/server/app/api/memory/entries/route.js +8 -0
  98. package/.next/server/app/api/memory/entries/route.js.map +5 -0
  99. package/.next/server/app/api/memory/entries/route.js.nft.json +1 -0
  100. package/.next/server/app/api/memory/entries/route_client-reference-manifest.js +3 -0
  101. package/.next/server/app/api/memory/entries/save/route/app-paths-manifest.json +3 -0
  102. package/.next/server/app/api/memory/entries/save/route/build-manifest.json +12 -0
  103. package/.next/server/app/api/memory/entries/save/route/server-reference-manifest.json +4 -0
  104. package/.next/server/app/api/memory/entries/save/route.js +9 -0
  105. package/.next/server/app/api/memory/entries/save/route.js.map +5 -0
  106. package/.next/server/app/api/memory/entries/save/route.js.nft.json +1 -0
  107. package/.next/server/app/api/memory/entries/save/route_client-reference-manifest.js +3 -0
  108. package/.next/server/app/api/memory/graph/route/app-paths-manifest.json +3 -0
  109. package/.next/server/app/api/memory/graph/route/build-manifest.json +12 -0
  110. package/.next/server/app/api/memory/graph/route/server-reference-manifest.json +4 -0
  111. package/.next/server/app/api/memory/graph/route.js +9 -0
  112. package/.next/server/app/api/memory/graph/route.js.map +5 -0
  113. package/.next/server/app/api/memory/graph/route.js.nft.json +1 -0
  114. package/.next/server/app/api/memory/graph/route_client-reference-manifest.js +3 -0
  115. package/.next/server/app/api/memory/history/route/app-paths-manifest.json +3 -0
  116. package/.next/server/app/api/memory/history/route/build-manifest.json +12 -0
  117. package/.next/server/app/api/memory/history/route/server-reference-manifest.json +4 -0
  118. package/.next/server/app/api/memory/history/route.js +9 -0
  119. package/.next/server/app/api/memory/history/route.js.map +5 -0
  120. package/.next/server/app/api/memory/history/route.js.nft.json +1 -0
  121. package/.next/server/app/api/memory/history/route_client-reference-manifest.js +3 -0
  122. package/.next/server/app/api/memory/route.js +3 -3
  123. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  124. package/.next/server/app/api/plan/apply/route.js +4 -4
  125. package/.next/server/app/api/plan/apply/route.js.nft.json +1 -1
  126. package/.next/server/app/api/projects/route.js +2 -2
  127. package/.next/server/app/api/projects/route.js.nft.json +1 -1
  128. package/.next/server/app/api/registry/route.js +3 -3
  129. package/.next/server/app/api/registry/route.js.nft.json +1 -1
  130. package/.next/server/app/api/roadmap/create/route.js +4 -4
  131. package/.next/server/app/api/roadmap/create/route.js.nft.json +1 -1
  132. package/.next/server/app/api/roadmap/delete/route.js +4 -4
  133. package/.next/server/app/api/roadmap/delete/route.js.nft.json +1 -1
  134. package/.next/server/app/api/roadmap/generate/route.js +4 -4
  135. package/.next/server/app/api/roadmap/generate/route.js.nft.json +1 -1
  136. package/.next/server/app/api/roadmap/layout/route.js +4 -4
  137. package/.next/server/app/api/roadmap/layout/route.js.nft.json +1 -1
  138. package/.next/server/app/api/roadmap/restore/route/app-paths-manifest.json +3 -0
  139. package/.next/server/app/api/roadmap/restore/route/build-manifest.json +12 -0
  140. package/.next/server/app/api/roadmap/restore/route/server-reference-manifest.json +4 -0
  141. package/.next/server/app/api/roadmap/restore/route.js +9 -0
  142. package/.next/server/app/api/roadmap/restore/route.js.map +5 -0
  143. package/.next/server/app/api/roadmap/restore/route.js.nft.json +1 -0
  144. package/.next/server/app/api/roadmap/restore/route_client-reference-manifest.js +3 -0
  145. package/.next/server/app/api/roadmap/route.js +3 -3
  146. package/.next/server/app/api/roadmap/route.js.nft.json +1 -1
  147. package/.next/server/app/api/roadmap/update/route.js +4 -4
  148. package/.next/server/app/api/roadmap/update/route.js.nft.json +1 -1
  149. package/.next/server/app/api/sessions/route.js +2 -2
  150. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  151. package/.next/server/app/api/settings/route.js +3 -3
  152. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  153. package/.next/server/app/api/setup/generate/route.js +4 -4
  154. package/.next/server/app/api/setup/generate/route.js.nft.json +1 -1
  155. package/.next/server/app/api/setup/write/route.js +3 -3
  156. package/.next/server/app/api/setup/write/route.js.nft.json +1 -1
  157. package/.next/server/app/api/summary/route.js +2 -2
  158. package/.next/server/app/api/summary/route.js.nft.json +1 -1
  159. package/.next/server/app/api/tasks/bulk/route/app-paths-manifest.json +3 -0
  160. package/.next/server/app/api/tasks/bulk/route/build-manifest.json +12 -0
  161. package/.next/server/app/api/tasks/bulk/route/server-reference-manifest.json +4 -0
  162. package/.next/server/app/api/tasks/bulk/route.js +9 -0
  163. package/.next/server/app/api/tasks/bulk/route.js.map +5 -0
  164. package/.next/server/app/api/tasks/bulk/route.js.nft.json +1 -0
  165. package/.next/server/app/api/tasks/bulk/route_client-reference-manifest.js +3 -0
  166. package/.next/server/app/api/tasks/create/route.js +3 -3
  167. package/.next/server/app/api/tasks/create/route.js.nft.json +1 -1
  168. package/.next/server/app/api/tasks/delete/route/app-paths-manifest.json +3 -0
  169. package/.next/server/app/api/tasks/delete/route/build-manifest.json +12 -0
  170. package/.next/server/app/api/tasks/delete/route/server-reference-manifest.json +4 -0
  171. package/.next/server/app/api/tasks/delete/route.js +9 -0
  172. package/.next/server/app/api/tasks/delete/route.js.map +5 -0
  173. package/.next/server/app/api/tasks/delete/route.js.nft.json +1 -0
  174. package/.next/server/app/api/tasks/delete/route_client-reference-manifest.js +3 -0
  175. package/.next/server/app/api/tasks/manual-tests/route/app-paths-manifest.json +3 -0
  176. package/.next/server/app/api/tasks/manual-tests/route/build-manifest.json +12 -0
  177. package/.next/server/app/api/tasks/manual-tests/route/server-reference-manifest.json +4 -0
  178. package/.next/server/app/api/tasks/manual-tests/route.js +8 -0
  179. package/.next/server/app/api/tasks/manual-tests/route.js.map +5 -0
  180. package/.next/server/app/api/tasks/manual-tests/route.js.nft.json +1 -0
  181. package/.next/server/app/api/tasks/manual-tests/route_client-reference-manifest.js +3 -0
  182. package/.next/server/app/api/tasks/restore/route/app-paths-manifest.json +3 -0
  183. package/.next/server/app/api/tasks/restore/route/build-manifest.json +12 -0
  184. package/.next/server/app/api/tasks/restore/route/server-reference-manifest.json +4 -0
  185. package/.next/server/app/api/tasks/restore/route.js +9 -0
  186. package/.next/server/app/api/tasks/restore/route.js.map +5 -0
  187. package/.next/server/app/api/tasks/restore/route.js.nft.json +1 -0
  188. package/.next/server/app/api/tasks/restore/route_client-reference-manifest.js +3 -0
  189. package/.next/server/app/api/tasks/review/route/app-paths-manifest.json +3 -0
  190. package/.next/server/app/api/tasks/review/route/build-manifest.json +12 -0
  191. package/.next/server/app/api/tasks/review/route/server-reference-manifest.json +4 -0
  192. package/.next/server/app/api/tasks/review/route.js +9 -0
  193. package/.next/server/app/api/tasks/review/route.js.map +5 -0
  194. package/.next/server/app/api/tasks/review/route.js.nft.json +1 -0
  195. package/.next/server/app/api/tasks/review/route_client-reference-manifest.js +3 -0
  196. package/.next/server/app/api/tasks/route.js +3 -3
  197. package/.next/server/app/api/tasks/route.js.nft.json +1 -1
  198. package/.next/server/app/api/tasks/update/route/app-paths-manifest.json +3 -0
  199. package/.next/server/app/api/tasks/update/route/build-manifest.json +12 -0
  200. package/.next/server/app/api/tasks/update/route/server-reference-manifest.json +4 -0
  201. package/.next/server/app/api/tasks/update/route.js +9 -0
  202. package/.next/server/app/api/tasks/update/route.js.map +5 -0
  203. package/.next/server/app/api/tasks/update/route.js.nft.json +1 -0
  204. package/.next/server/app/api/tasks/update/route_client-reference-manifest.js +3 -0
  205. package/.next/server/app/api/views/route/app-paths-manifest.json +3 -0
  206. package/.next/server/app/api/views/route/build-manifest.json +12 -0
  207. package/.next/server/app/api/views/route/server-reference-manifest.json +4 -0
  208. package/.next/server/app/api/views/route.js +9 -0
  209. package/.next/server/app/api/views/route.js.map +5 -0
  210. package/.next/server/app/api/views/route.js.nft.json +1 -0
  211. package/.next/server/app/api/views/route_client-reference-manifest.js +3 -0
  212. package/.next/server/app/board.html +1 -1
  213. package/.next/server/app/board.rsc +13 -12
  214. package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +7 -6
  215. package/.next/server/app/board.segments/_full.segment.rsc +13 -12
  216. package/.next/server/app/board.segments/_tree.segment.rsc +3 -2
  217. package/.next/server/app/chat.html +1 -1
  218. package/.next/server/app/chat.rsc +13 -12
  219. package/.next/server/app/chat.segments/!KGFwcCk/chat/__PAGE__.segment.rsc +7 -6
  220. package/.next/server/app/chat.segments/_full.segment.rsc +13 -12
  221. package/.next/server/app/chat.segments/_tree.segment.rsc +3 -2
  222. package/.next/server/app/docs.html +1 -1
  223. package/.next/server/app/docs.rsc +13 -12
  224. package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +7 -6
  225. package/.next/server/app/docs.segments/_full.segment.rsc +13 -12
  226. package/.next/server/app/docs.segments/_tree.segment.rsc +3 -2
  227. package/.next/server/app/explorer.html +1 -1
  228. package/.next/server/app/explorer.rsc +13 -12
  229. package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +11 -9
  230. package/.next/server/app/explorer.segments/_full.segment.rsc +13 -12
  231. package/.next/server/app/explorer.segments/_tree.segment.rsc +3 -2
  232. package/.next/server/app/index.html +1 -1
  233. package/.next/server/app/index.rsc +3 -2
  234. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -2
  235. package/.next/server/app/index.segments/_full.segment.rsc +3 -2
  236. package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
  237. package/.next/server/app/manual-tests.html +1 -0
  238. package/.next/server/app/manual-tests.meta +31 -0
  239. package/.next/server/app/manual-tests.rsc +30 -0
  240. package/.next/server/app/manual-tests.segments/!KGFwcCk/manual-tests/__PAGE__.segment.rsc +33 -0
  241. package/.next/server/app/manual-tests.segments/_full.segment.rsc +30 -0
  242. package/.next/server/app/manual-tests.segments/_tree.segment.rsc +5 -0
  243. package/.next/server/app/memory.html +1 -1
  244. package/.next/server/app/memory.rsc +14 -12
  245. package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +13 -9
  246. package/.next/server/app/memory.segments/_full.segment.rsc +14 -12
  247. package/.next/server/app/memory.segments/_tree.segment.rsc +4 -2
  248. package/.next/server/app/page.js +2 -2
  249. package/.next/server/app/page.js.nft.json +1 -1
  250. package/.next/server/app/page_client-reference-manifest.js +1 -1
  251. package/.next/server/app/roadmap.html +1 -1
  252. package/.next/server/app/roadmap.rsc +13 -12
  253. package/.next/server/app/roadmap.segments/!KGFwcCk/roadmap/__PAGE__.segment.rsc +7 -6
  254. package/.next/server/app/roadmap.segments/_full.segment.rsc +13 -12
  255. package/.next/server/app/roadmap.segments/_tree.segment.rsc +3 -2
  256. package/.next/server/app/settings.html +1 -1
  257. package/.next/server/app/settings.rsc +13 -12
  258. package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +11 -9
  259. package/.next/server/app/settings.segments/_full.segment.rsc +13 -12
  260. package/.next/server/app/settings.segments/_tree.segment.rsc +3 -2
  261. package/.next/server/app/setup.html +1 -1
  262. package/.next/server/app/setup.rsc +13 -12
  263. package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +11 -9
  264. package/.next/server/app/setup.segments/_full.segment.rsc +13 -12
  265. package/.next/server/app/setup.segments/_tree.segment.rsc +3 -2
  266. package/.next/server/app-paths-manifest.json +15 -0
  267. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-5bkpj._.js → 11mp_@anthropic-ai_sdk_0-_cqh8._.js} +1 -1
  268. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01l5h3i._.js → 11mp_@anthropic-ai_sdk_00o5o78._.js} +1 -1
  269. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00psb_y._.js → 11mp_@anthropic-ai_sdk_03cp17a._.js} +1 -1
  270. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_072r2bd._.js → 11mp_@anthropic-ai_sdk_07dk2er._.js} +1 -1
  271. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_e9zpr._.js +3 -0
  272. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_xx_qf._.js +3 -0
  273. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0aer9lc._.js +3 -0
  274. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ax30pe._.js +3 -0
  275. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0gn7vgs._.js +3 -0
  276. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0hye94a._.js +3 -0
  277. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ir5cgk._.js +3 -0
  278. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0je0_pa._.js +3 -0
  279. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0jfgh0o._.js +3 -0
  280. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0mha4x1._.js +3 -0
  281. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0n__boa._.js +3 -0
  282. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0sqv26_._.js +3 -0
  283. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0wnc6g-._.js +3 -0
  284. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0xh0g59._.js +3 -0
  285. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-5wyhj._.js +3 -0
  286. package/.next/server/chunks/11mp_@anthropic-ai_sdk_13ahm3n._.js +3 -0
  287. package/.next/server/chunks/11mp_@anthropic-ai_sdk_13e6aq4._.js +3 -0
  288. package/.next/server/chunks/11mp_@anthropic-ai_sdk_14eg0ld._.js +3 -0
  289. package/.next/server/chunks/11mp_@anthropic-ai_sdk_15md1n2._.js +3 -0
  290. package/.next/server/chunks/11mp_@anthropic-ai_sdk_16av8b9._.js +3 -0
  291. package/.next/server/chunks/11mp_@anthropic-ai_sdk_16hjhv1._.js +3 -0
  292. package/.next/server/chunks/11mp_@anthropic-ai_sdk_16txvf7._.js +3 -0
  293. package/.next/server/chunks/11mp_@anthropic-ai_sdk_198yu7d._.js +3 -0
  294. package/.next/server/chunks/11mp_@anthropic-ai_sdk_198yu7d._.js.map +1 -0
  295. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_9tfq3._.js +3 -0
  296. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_9tfq3._.js.map +1 -0
  297. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_izr2o._.js +3 -0
  298. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_izr2o._.js.map +1 -0
  299. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1fljcyg._.js +3 -0
  300. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1fljcyg._.js.map +1 -0
  301. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lrt6ul._.js +3 -0
  302. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lrt6ul._.js.map +1 -0
  303. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1nev_ee._.js +3 -0
  304. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1nev_ee._.js.map +1 -0
  305. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1pgoe2i._.js +3 -0
  306. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1pgoe2i._.js.map +1 -0
  307. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rgl7mu._.js +3 -0
  308. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rgl7mu._.js.map +1 -0
  309. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1slq49k._.js +3 -0
  310. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1slq49k._.js.map +1 -0
  311. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t9bdf0._.js +3 -0
  312. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t9bdf0._.js.map +1 -0
  313. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1u6qqm2._.js +3 -0
  314. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1u6qqm2._.js.map +1 -0
  315. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1v7ygvz._.js +3 -0
  316. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1v7ygvz._.js.map +1 -0
  317. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1wls8zc._.js +3 -0
  318. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1wls8zc._.js.map +1 -0
  319. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ywboja._.js +3 -0
  320. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ywboja._.js.map +1 -0
  321. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_00kwqu5._.js +3 -0
  322. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_01j2nrd._.js +3 -0
  323. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_05ybj3t._.js +3 -0
  324. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0adt7jj._.js +3 -0
  325. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0bnl14w._.js +3 -0
  326. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0f557t9._.js +3 -0
  327. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ra6giw._.js +3 -0
  328. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_107cqfx._.js +3 -0
  329. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1377sl6._.js +3 -0
  330. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1_2hcok._.js +3 -0
  331. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1g--m6y._.js +3 -0
  332. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1geopi5._.js +3 -0
  333. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1i11dte._.js +3 -0
  334. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1mj3_qk._.js +3 -0
  335. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1qgy210._.js +3 -0
  336. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1rkng9q._.js +3 -0
  337. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1vr8q8y._.js +3 -0
  338. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1vr8q8y._.js.map +1 -0
  339. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x8b64g._.js +3 -0
  340. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x8b64g._.js.map +1 -0
  341. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1zhahf7._.js +3 -0
  342. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1zhahf7._.js.map +1 -0
  343. package/.next/server/chunks/[root-of-the-server]__008focd._.js +3 -0
  344. package/.next/server/chunks/{[root-of-the-server]__093hlkh._.js.map → [root-of-the-server]__008focd._.js.map} +1 -1
  345. package/.next/server/chunks/[root-of-the-server]__01xmabe._.js +3 -0
  346. package/.next/server/chunks/{[root-of-the-server]__0nfvvy9._.js.map → [root-of-the-server]__01xmabe._.js.map} +1 -1
  347. package/.next/server/chunks/[root-of-the-server]__03ogp2r._.js +3 -0
  348. package/.next/server/chunks/[root-of-the-server]__03ogp2r._.js.map +1 -0
  349. package/.next/server/chunks/[root-of-the-server]__05us508._.js +3 -0
  350. package/.next/server/chunks/[root-of-the-server]__05us508._.js.map +1 -0
  351. package/.next/server/chunks/[root-of-the-server]__08yaps5._.js +3 -0
  352. package/.next/server/chunks/{[root-of-the-server]__0eqd-tw._.js.map → [root-of-the-server]__08yaps5._.js.map} +1 -1
  353. package/.next/server/chunks/{[root-of-the-server]__11s-8eg._.js → [root-of-the-server]__09oyvwa._.js} +2 -2
  354. package/.next/server/chunks/{[root-of-the-server]__1wr0m-s._.js.map → [root-of-the-server]__09oyvwa._.js.map} +1 -1
  355. package/.next/server/chunks/[root-of-the-server]__0axugex._.js +3 -0
  356. package/.next/server/chunks/{[root-of-the-server]__1u_q61h._.js.map → [root-of-the-server]__0axugex._.js.map} +1 -1
  357. package/.next/server/chunks/[root-of-the-server]__0b2488c._.js +3 -0
  358. package/.next/server/chunks/{[root-of-the-server]__0aynzrb._.js.map → [root-of-the-server]__0b2488c._.js.map} +1 -1
  359. package/.next/server/chunks/[root-of-the-server]__0b6w_wb._.js +3 -0
  360. package/.next/server/chunks/[root-of-the-server]__0b6w_wb._.js.map +1 -0
  361. package/.next/server/chunks/{[root-of-the-server]__1y3u5ud._.js → [root-of-the-server]__0cbh1s-._.js} +2 -2
  362. package/.next/server/chunks/[root-of-the-server]__0cbh1s-._.js.map +1 -0
  363. package/.next/server/chunks/[root-of-the-server]__0exzf-v._.js +3 -0
  364. package/.next/server/chunks/[root-of-the-server]__0exzf-v._.js.map +1 -0
  365. package/.next/server/chunks/[root-of-the-server]__0gnil0m._.js +3 -0
  366. package/.next/server/chunks/{[root-of-the-server]__18kxo4a._.js.map → [root-of-the-server]__0gnil0m._.js.map} +1 -1
  367. package/.next/server/chunks/[root-of-the-server]__0hfyuhq._.js +3 -0
  368. package/.next/server/chunks/[root-of-the-server]__0hfyuhq._.js.map +1 -0
  369. package/.next/server/chunks/[root-of-the-server]__0hg1r2b._.js +3 -0
  370. package/.next/server/chunks/[root-of-the-server]__0hg1r2b._.js.map +1 -0
  371. package/.next/server/chunks/[root-of-the-server]__0ikbk15._.js +3 -0
  372. package/.next/server/chunks/{[root-of-the-server]__1j0rrps._.js.map → [root-of-the-server]__0ikbk15._.js.map} +1 -1
  373. package/.next/server/chunks/[root-of-the-server]__0jr_5eq._.js +110 -0
  374. package/.next/server/chunks/[root-of-the-server]__0jr_5eq._.js.map +1 -0
  375. package/.next/server/chunks/[root-of-the-server]__0khz7sy._.js +3 -0
  376. package/.next/server/chunks/{[root-of-the-server]__1jxu2x9._.js.map → [root-of-the-server]__0khz7sy._.js.map} +1 -1
  377. package/.next/server/chunks/[root-of-the-server]__0lf11mz._.js +3 -0
  378. package/.next/server/chunks/{[root-of-the-server]__1lj_2cv._.js.map → [root-of-the-server]__0lf11mz._.js.map} +1 -1
  379. package/.next/server/chunks/[root-of-the-server]__0m8hmg0._.js +3 -0
  380. package/.next/server/chunks/{[root-of-the-server]__1q4ahvz._.js.map → [root-of-the-server]__0m8hmg0._.js.map} +1 -1
  381. package/.next/server/chunks/[root-of-the-server]__0qij7wy._.js +3 -0
  382. package/.next/server/chunks/{[root-of-the-server]__1y-tt29._.js.map → [root-of-the-server]__0qij7wy._.js.map} +1 -1
  383. package/.next/server/chunks/[root-of-the-server]__0vf-0gp._.js +3 -0
  384. package/.next/server/chunks/[root-of-the-server]__0vf-0gp._.js.map +1 -0
  385. package/.next/server/chunks/[root-of-the-server]__0x8wtot._.js +3 -0
  386. package/.next/server/chunks/{[root-of-the-server]__17xb02p._.js.map → [root-of-the-server]__0x8wtot._.js.map} +1 -1
  387. package/.next/server/chunks/[root-of-the-server]__0y5usoz._.js +3 -0
  388. package/.next/server/chunks/[root-of-the-server]__0y5usoz._.js.map +1 -0
  389. package/.next/server/chunks/[root-of-the-server]__15c5snv._.js +3 -0
  390. package/.next/server/chunks/{[root-of-the-server]__05l6129._.js.map → [root-of-the-server]__15c5snv._.js.map} +1 -1
  391. package/.next/server/chunks/[root-of-the-server]__16u25oa._.js +3 -0
  392. package/.next/server/chunks/{[root-of-the-server]__142icjb._.js.map → [root-of-the-server]__16u25oa._.js.map} +1 -1
  393. package/.next/server/chunks/[root-of-the-server]__18dt3sr._.js +3 -0
  394. package/.next/server/chunks/{[root-of-the-server]__14aeqoi._.js.map → [root-of-the-server]__18dt3sr._.js.map} +1 -1
  395. package/.next/server/chunks/[root-of-the-server]__19rxcu4._.js +110 -0
  396. package/.next/server/chunks/[root-of-the-server]__19rxcu4._.js.map +1 -0
  397. package/.next/server/chunks/[root-of-the-server]__1_qenei._.js +3 -0
  398. package/.next/server/chunks/[root-of-the-server]__1_qenei._.js.map +1 -0
  399. package/.next/server/chunks/[root-of-the-server]__1a7d63a._.js +3 -0
  400. package/.next/server/chunks/[root-of-the-server]__1a7d63a._.js.map +1 -0
  401. package/.next/server/chunks/[root-of-the-server]__1b448u7._.js +3 -0
  402. package/.next/server/chunks/{[root-of-the-server]__06zf_sh._.js.map → [root-of-the-server]__1b448u7._.js.map} +1 -1
  403. package/.next/server/chunks/[root-of-the-server]__1e68zmx._.js +3 -0
  404. package/.next/server/chunks/[root-of-the-server]__1e68zmx._.js.map +1 -0
  405. package/.next/server/chunks/[root-of-the-server]__1gvv2xp._.js +3 -0
  406. package/.next/server/chunks/{[root-of-the-server]__1y3u5ud._.js.map → [root-of-the-server]__1gvv2xp._.js.map} +1 -1
  407. package/.next/server/chunks/[root-of-the-server]__1jel07j._.js +3 -0
  408. package/.next/server/chunks/[root-of-the-server]__1jel07j._.js.map +1 -0
  409. package/.next/server/chunks/[root-of-the-server]__1jz98vb._.js +3 -0
  410. package/.next/server/chunks/{[root-of-the-server]__106gpvh._.js.map → [root-of-the-server]__1jz98vb._.js.map} +1 -1
  411. package/.next/server/chunks/[root-of-the-server]__1la-6xe._.js +3 -0
  412. package/.next/server/chunks/[root-of-the-server]__1la-6xe._.js.map +1 -0
  413. package/.next/server/chunks/[root-of-the-server]__1p6-0l0._.js +3 -0
  414. package/.next/server/chunks/[root-of-the-server]__1p6-0l0._.js.map +1 -0
  415. package/.next/server/chunks/[root-of-the-server]__1qd-ecl._.js +110 -0
  416. package/.next/server/chunks/[root-of-the-server]__1qd-ecl._.js.map +1 -0
  417. package/.next/server/chunks/[root-of-the-server]__1r_0uma._.js +3 -0
  418. package/.next/server/chunks/{[root-of-the-server]__11s-8eg._.js.map → [root-of-the-server]__1r_0uma._.js.map} +1 -1
  419. package/.next/server/chunks/[root-of-the-server]__1ssunti._.js +3 -0
  420. package/.next/server/chunks/{[root-of-the-server]__17p0rkn._.js.map → [root-of-the-server]__1ssunti._.js.map} +1 -1
  421. package/.next/server/chunks/[root-of-the-server]__1tu85zx._.js +3 -0
  422. package/.next/server/chunks/[root-of-the-server]__1tu85zx._.js.map +1 -0
  423. package/.next/server/chunks/[root-of-the-server]__1wcd2x9._.js +3 -0
  424. package/.next/server/chunks/[root-of-the-server]__1wcd2x9._.js.map +1 -0
  425. package/.next/server/chunks/[root-of-the-server]__1xpp36t._.js +3 -0
  426. package/.next/server/chunks/[root-of-the-server]__1xpp36t._.js.map +1 -0
  427. package/.next/server/chunks/[root-of-the-server]__1z3tswg._.js +3 -0
  428. package/.next/server/chunks/[root-of-the-server]__1z3tswg._.js.map +1 -0
  429. package/.next/server/chunks/_04byth9._.js +34 -19
  430. package/.next/server/chunks/_04byth9._.js.map +1 -1
  431. package/.next/server/chunks/_0safx0g._.js +10 -0
  432. package/.next/server/chunks/_0safx0g._.js.map +1 -0
  433. package/.next/server/chunks/_1au4syj._.js +1 -1
  434. package/.next/server/chunks/_1au4syj._.js.map +1 -1
  435. package/.next/server/chunks/_1b5fqxy._.js.map +1 -1
  436. package/.next/server/chunks/_1ivswa9._.js +3 -0
  437. package/.next/server/chunks/_1ivswa9._.js.map +1 -0
  438. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_delete_route_actions_1a4-ad5.js +3 -0
  439. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_delete_route_actions_1a4-ad5.js.map +1 -0
  440. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_restore_route_actions_07637mh.js +3 -0
  441. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_restore_route_actions_07637mh.js.map +1 -0
  442. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_route_actions_0bxuv92.js +3 -0
  443. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_route_actions_0bxuv92.js.map +1 -0
  444. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_save_route_actions_0bwga-2.js +3 -0
  445. package/.next/server/chunks/_next-internal_server_app_api_memory_entries_save_route_actions_0bwga-2.js.map +1 -0
  446. package/.next/server/chunks/_next-internal_server_app_api_memory_graph_route_actions_0pca9et.js +3 -0
  447. package/.next/server/chunks/_next-internal_server_app_api_memory_graph_route_actions_0pca9et.js.map +1 -0
  448. package/.next/server/chunks/_next-internal_server_app_api_memory_history_route_actions_0w5pu5p.js +3 -0
  449. package/.next/server/chunks/_next-internal_server_app_api_memory_history_route_actions_0w5pu5p.js.map +1 -0
  450. package/.next/server/chunks/_next-internal_server_app_api_roadmap_restore_route_actions_0skshp1.js +3 -0
  451. package/.next/server/chunks/_next-internal_server_app_api_roadmap_restore_route_actions_0skshp1.js.map +1 -0
  452. package/.next/server/chunks/_next-internal_server_app_api_tasks_bulk_route_actions_1k75mlb.js +3 -0
  453. package/.next/server/chunks/_next-internal_server_app_api_tasks_bulk_route_actions_1k75mlb.js.map +1 -0
  454. package/.next/server/chunks/_next-internal_server_app_api_tasks_delete_route_actions_1k1g6mw.js +3 -0
  455. package/.next/server/chunks/_next-internal_server_app_api_tasks_delete_route_actions_1k1g6mw.js.map +1 -0
  456. package/.next/server/chunks/_next-internal_server_app_api_tasks_manual-tests_route_actions_1rpog0y.js +3 -0
  457. package/.next/server/chunks/_next-internal_server_app_api_tasks_manual-tests_route_actions_1rpog0y.js.map +1 -0
  458. package/.next/server/chunks/_next-internal_server_app_api_tasks_restore_route_actions_1ecsti8.js +3 -0
  459. package/.next/server/chunks/_next-internal_server_app_api_tasks_restore_route_actions_1ecsti8.js.map +1 -0
  460. package/.next/server/chunks/_next-internal_server_app_api_tasks_review_route_actions_1dly07f.js +3 -0
  461. package/.next/server/chunks/_next-internal_server_app_api_tasks_review_route_actions_1dly07f.js.map +1 -0
  462. package/.next/server/chunks/_next-internal_server_app_api_tasks_update_route_actions_0z-ho6g.js +3 -0
  463. package/.next/server/chunks/_next-internal_server_app_api_tasks_update_route_actions_0z-ho6g.js.map +1 -0
  464. package/.next/server/chunks/_next-internal_server_app_api_views_route_actions_10-2c0e.js +3 -0
  465. package/.next/server/chunks/_next-internal_server_app_api_views_route_actions_10-2c0e.js.map +1 -0
  466. package/.next/server/chunks/ssr/0_g__next_dist_000c5_m._.js +3 -0
  467. package/.next/server/chunks/ssr/0_g__next_dist_000c5_m._.js.map +1 -0
  468. package/.next/server/chunks/ssr/{0_nd_mermaid_dist_mermaid_core_mjs_0vv_0i3._.js → 0_nd_mermaid_dist_mermaid_core_mjs_027n2yl._.js} +2 -2
  469. package/.next/server/chunks/ssr/0_nd_mermaid_dist_mermaid_core_mjs_027n2yl._.js.map +1 -0
  470. package/.next/server/chunks/ssr/{1u84_katex_dist_katex_mjs_1z0p1bs._.js → 1u84_katex_dist_katex_mjs_1kb5xea._.js} +1 -1
  471. package/.next/server/chunks/ssr/1u84_katex_dist_katex_mjs_1kb5xea._.js.map +1 -0
  472. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_05ggp3i._.js +1 -1
  473. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_05ggp3i._.js.map +1 -1
  474. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0wurouw._.js +3 -0
  475. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0wurouw._.js.map +1 -0
  476. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_14hl50o._.js +3 -0
  477. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_14hl50o._.js.map +1 -0
  478. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_folder-open_mjs_117ipzw._.js +3 -0
  479. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_folder-open_mjs_117ipzw._.js.map +1 -0
  480. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js +3 -0
  481. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js.map +1 -0
  482. package/.next/server/chunks/ssr/[root-of-the-server]__0hcextx._.js +3 -0
  483. package/.next/server/chunks/ssr/[root-of-the-server]__0hcextx._.js.map +1 -0
  484. package/.next/server/chunks/ssr/[root-of-the-server]__0opgo3t._.js +14 -0
  485. package/.next/server/chunks/ssr/{[root-of-the-server]__0noc5ay._.js.map → [root-of-the-server]__0opgo3t._.js.map} +1 -1
  486. package/.next/server/chunks/ssr/[root-of-the-server]__0xt_0w2._.js.map +1 -1
  487. package/.next/server/chunks/ssr/[root-of-the-server]__1jv5ug1._.js +3 -0
  488. package/.next/server/chunks/ssr/{[root-of-the-server]__1pk-w2i._.js.map → [root-of-the-server]__1jv5ug1._.js.map} +1 -1
  489. package/.next/server/chunks/ssr/_04xff_2._.js +1 -1
  490. package/.next/server/chunks/ssr/_04xff_2._.js.map +1 -1
  491. package/.next/server/chunks/ssr/_071j6mr._.js +4 -0
  492. package/.next/server/chunks/ssr/_071j6mr._.js.map +1 -0
  493. package/.next/server/chunks/ssr/_0i75x-o._.js +3 -0
  494. package/.next/server/chunks/ssr/_0i75x-o._.js.map +1 -0
  495. package/.next/server/chunks/ssr/_0idb-vo._.js +151 -0
  496. package/.next/server/chunks/ssr/_0idb-vo._.js.map +1 -0
  497. package/.next/server/chunks/ssr/_0qp3gu7._.js +3 -0
  498. package/.next/server/chunks/ssr/_0qp3gu7._.js.map +1 -0
  499. package/.next/server/chunks/ssr/_15qpb4z._.js +3 -0
  500. package/.next/server/chunks/ssr/_15qpb4z._.js.map +1 -0
  501. package/.next/server/chunks/ssr/_1fg0usp._.js +3 -0
  502. package/.next/server/chunks/ssr/_1fg0usp._.js.map +1 -0
  503. package/.next/server/chunks/ssr/_1gxjjvh._.js +1 -1
  504. package/.next/server/chunks/ssr/_1gxjjvh._.js.map +1 -1
  505. package/.next/server/chunks/ssr/_1h0wfpz._.js +3 -0
  506. package/.next/server/chunks/ssr/_1h0wfpz._.js.map +1 -0
  507. package/.next/server/chunks/ssr/_1ncdakv._.js +4 -0
  508. package/.next/server/chunks/ssr/_1ncdakv._.js.map +1 -0
  509. package/.next/server/chunks/ssr/_1ocnpth._.js +3 -0
  510. package/.next/server/chunks/ssr/_1ocnpth._.js.map +1 -0
  511. package/.next/server/chunks/ssr/_1t76zdx._.js +3 -0
  512. package/.next/server/chunks/ssr/_1t76zdx._.js.map +1 -0
  513. package/.next/server/chunks/ssr/_1uno162._.js +3 -0
  514. package/.next/server/chunks/ssr/_1uno162._.js.map +1 -0
  515. package/.next/server/chunks/ssr/_next-internal_server_app_(app)_manual-tests_page_actions_1g5zjb7.js +3 -0
  516. package/.next/server/chunks/ssr/_next-internal_server_app_(app)_manual-tests_page_actions_1g5zjb7.js.map +1 -0
  517. package/.next/server/chunks/ssr/{node_modules__pnpm_04khl_s._.js → node_modules__pnpm_01bjcv9._.js} +1 -1
  518. package/.next/server/chunks/ssr/{node_modules__pnpm_08sqeu2._.js → node_modules__pnpm_03qrzdb._.js} +1 -1
  519. package/.next/server/chunks/ssr/{node_modules__pnpm_104pzhc._.js → node_modules__pnpm_06d-fdo._.js} +2 -2
  520. package/.next/server/chunks/ssr/node_modules__pnpm_0al3nfy._.js +3 -0
  521. package/.next/server/chunks/ssr/node_modules__pnpm_0al3nfy._.js.map +1 -0
  522. package/.next/server/chunks/ssr/node_modules__pnpm_0aoa6rg._.js +4 -0
  523. package/.next/server/chunks/ssr/node_modules__pnpm_0aoa6rg._.js.map +1 -0
  524. package/.next/server/chunks/ssr/{node_modules__pnpm_1xzf8g_._.js → node_modules__pnpm_0ctisl0._.js} +1 -1
  525. package/.next/server/chunks/ssr/{node_modules__pnpm_0og06fy._.js → node_modules__pnpm_0fwp8jm._.js} +1 -1
  526. package/.next/server/chunks/ssr/{node_modules__pnpm_0a9b2ei._.js → node_modules__pnpm_0kpu0-2._.js} +1 -1
  527. package/.next/server/chunks/ssr/{node_modules__pnpm_0jpv2b6._.js → node_modules__pnpm_0vry74x._.js} +2 -2
  528. package/.next/server/chunks/ssr/{node_modules__pnpm_0fd3pr1._.js → node_modules__pnpm_0ycbjbd._.js} +2 -2
  529. package/.next/server/chunks/ssr/{node_modules__pnpm_1l8k8w1._.js → node_modules__pnpm_1-76qxg._.js} +1 -1
  530. package/.next/server/chunks/ssr/{node_modules__pnpm_0ah02mu._.js → node_modules__pnpm_1-r94f7._.js} +1 -1
  531. package/.next/server/chunks/ssr/{node_modules__pnpm_1yq90z7._.js → node_modules__pnpm_14piqi4._.js} +1 -1
  532. package/.next/server/chunks/ssr/node_modules__pnpm_14piqi4._.js.map +1 -0
  533. package/.next/server/chunks/ssr/{node_modules__pnpm_0dwi7mu._.js → node_modules__pnpm_16u1vfb._.js} +2 -2
  534. package/.next/server/chunks/ssr/node_modules__pnpm_16u1vfb._.js.map +1 -0
  535. package/.next/server/chunks/ssr/{node_modules__pnpm_0f77_ng._.js → node_modules__pnpm_17i6z2d._.js} +1 -1
  536. package/.next/server/chunks/ssr/{node_modules__pnpm_09_i2jk._.js → node_modules__pnpm_189m48n._.js} +1 -1
  537. package/.next/server/chunks/ssr/node_modules__pnpm_189m48n._.js.map +1 -0
  538. package/.next/server/chunks/ssr/{node_modules__pnpm_0ttvopp._.js → node_modules__pnpm_192f222._.js} +1 -1
  539. package/.next/server/chunks/ssr/{node_modules__pnpm_07t_e8c._.js → node_modules__pnpm_1a48_nl._.js} +1 -1
  540. package/.next/server/chunks/ssr/{node_modules__pnpm_195j8p_._.js → node_modules__pnpm_1aa37e1._.js} +1 -1
  541. package/.next/server/chunks/ssr/{node_modules__pnpm_0cj8ryj._.js → node_modules__pnpm_1f440kx._.js} +1 -1
  542. package/.next/server/chunks/ssr/{node_modules__pnpm_0u3u82f._.js → node_modules__pnpm_1fn3ejy._.js} +1 -1
  543. package/.next/server/chunks/ssr/{node_modules__pnpm_0ts89ne._.js → node_modules__pnpm_1min2jl._.js} +1 -1
  544. package/.next/server/chunks/ssr/{node_modules__pnpm_1woddr6._.js → node_modules__pnpm_1q_hhr3._.js} +2 -2
  545. package/.next/server/chunks/ssr/{node_modules__pnpm_1x0t5_z._.js → node_modules__pnpm_1qmkxyo._.js} +1 -1
  546. package/.next/server/chunks/ssr/{node_modules__pnpm_0gifu-u._.js → node_modules__pnpm_1qp_jvj._.js} +2 -2
  547. package/.next/server/chunks/ssr/{node_modules__pnpm_0y35hs4._.js → node_modules__pnpm_1ssjj4u._.js} +1 -1
  548. package/.next/server/chunks/ssr/{node_modules__pnpm_0qc3gsk._.js → node_modules__pnpm_1txccoj._.js} +1 -1
  549. package/.next/server/chunks/ssr/{node_modules__pnpm_1w0f1m5._.js → node_modules__pnpm_1uwkcin._.js} +1 -1
  550. package/.next/server/chunks/ssr/node_modules__pnpm_1xeothw._.js +3 -0
  551. package/.next/server/chunks/ssr/node_modules__pnpm_1xeothw._.js.map +1 -0
  552. package/.next/server/chunks/ssr/{node_modules__pnpm_0286-tg._.js → node_modules__pnpm_1ygal0c._.js} +1 -1
  553. package/.next/server/chunks/ssr/src_app_(app)_activity_page_tsx_13jd6bn._.js +1 -1
  554. package/.next/server/chunks/ssr/src_app_(app)_activity_page_tsx_13jd6bn._.js.map +1 -1
  555. package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js +3 -0
  556. package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js.map +1 -0
  557. package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js +1 -1
  558. package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js.map +1 -1
  559. package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js +1 -1
  560. package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js.map +1 -1
  561. package/.next/server/chunks/ssr/src_app_(app)_manual-tests_page_tsx_01tnunf._.js +3 -0
  562. package/.next/server/chunks/ssr/src_app_(app)_manual-tests_page_tsx_01tnunf._.js.map +1 -0
  563. package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js +13 -0
  564. package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js.map +1 -0
  565. package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js +2 -2
  566. package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js.map +1 -1
  567. package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js +2 -2
  568. package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js.map +1 -1
  569. package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_1yids_n._.js +1 -1
  570. package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_1yids_n._.js.map +1 -1
  571. package/.next/server/chunks/ssr/src_components_0eyr_zi._.js +3 -0
  572. package/.next/server/chunks/ssr/src_components_0eyr_zi._.js.map +1 -0
  573. package/.next/server/chunks/ssr/src_components_1s861m8._.js +3 -0
  574. package/.next/server/chunks/ssr/src_components_1s861m8._.js.map +1 -0
  575. package/.next/server/chunks/ssr/src_components_chat_ChatView_tsx_0h5j-e2._.js +3 -0
  576. package/.next/server/chunks/ssr/src_components_chat_ChatView_tsx_0h5j-e2._.js.map +1 -0
  577. package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js +2 -2
  578. package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js.map +1 -1
  579. package/.next/server/middleware-build-manifest.js +3 -3
  580. package/.next/server/next-font-manifest.js +1 -1
  581. package/.next/server/next-font-manifest.json +4 -0
  582. package/.next/server/pages/404.html +1 -1
  583. package/.next/server/pages/500.html +1 -1
  584. package/.next/server/prefetch-hints.json +19 -0
  585. package/.next/server/server-reference-manifest.js +1 -1
  586. package/.next/server/server-reference-manifest.json +1 -1
  587. package/.next/static/chunks/02cj5_i9np4sg.js +3 -0
  588. package/.next/static/chunks/02i5hsdat1nuq.css +9 -0
  589. package/.next/static/chunks/0b547y6rqct9z.js +1 -0
  590. package/.next/static/chunks/0e3ha56i_0j05.css +1 -0
  591. package/.next/static/chunks/0f32hudp0yir7.js +2 -0
  592. package/.next/static/chunks/0mgifb98wbesa.js +1 -0
  593. package/.next/static/chunks/0rsmz1jgro1kj.js +1 -0
  594. package/.next/static/chunks/0wnq_kh8-6wc1.js +2 -0
  595. package/.next/static/chunks/13l4l-boqg8fx.js +1 -0
  596. package/.next/static/chunks/14hxe1qiaram9.js +1 -0
  597. package/.next/static/chunks/16k196zyl-n9q.js +1 -0
  598. package/.next/static/chunks/18b5l8p0vd9f8.js +1 -0
  599. package/.next/static/chunks/1acpfyut6j4e2.js +1 -0
  600. package/.next/static/chunks/1c_8t2kecjnua.js +1 -0
  601. package/.next/static/chunks/{1xyepk9227yej.js → 1l_dys0-y5-r7.js} +6 -6
  602. package/.next/static/chunks/1rko_88i85yqb.js +21 -0
  603. package/.next/static/chunks/1tu8lforstp1o.js +1 -0
  604. package/.next/static/chunks/20mdcup14_0yi.js +11 -0
  605. package/.next/static/chunks/23-xknrz6o748.js +1 -0
  606. package/.next/static/chunks/24u_rc2tbkhai.js +3 -0
  607. package/.next/static/chunks/2p-pkveutoh75.js +1 -0
  608. package/.next/static/chunks/329sozud9-tvr.js +1 -0
  609. package/.next/static/chunks/3ly7b47esdb7j.js +1 -0
  610. package/.next/static/chunks/3qqvn9vv6i0gy.js +68 -0
  611. package/.next/static/chunks/3ruw8lu2_re-h.js +1 -0
  612. package/.next/static/chunks/3xqcluqa32mjv.js +2 -0
  613. package/README.md +13 -5
  614. package/package.json +1 -1
  615. package/skills/work-epic/SKILL.md +22 -3
  616. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0am8bw2._.js +0 -3
  617. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0enefn6._.js +0 -3
  618. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0k3n_5f._.js +0 -3
  619. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0lcfjm4._.js +0 -3
  620. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0lfx9av._.js +0 -3
  621. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qau3qw._.js +0 -3
  622. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0r1pmvm._.js +0 -3
  623. package/.next/server/chunks/11mp_@anthropic-ai_sdk_11t-z2t._.js +0 -3
  624. package/.next/server/chunks/11mp_@anthropic-ai_sdk_15hyn79._.js +0 -3
  625. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_qk07x._.js +0 -3
  626. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1b2929e._.js +0 -3
  627. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1e72c89._.js +0 -3
  628. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1eq7asn._.js +0 -3
  629. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1fhdojs._.js +0 -3
  630. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1htgzmb._.js +0 -3
  631. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lh_vwq._.js +0 -3
  632. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ludf-o._.js +0 -3
  633. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1m3luz3._.js +0 -3
  634. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x1iz3d._.js +0 -3
  635. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1xsmwlh._.js +0 -3
  636. package/.next/server/chunks/11mp_@anthropic-ai_sdk_202spah._.js +0 -3
  637. package/.next/server/chunks/11mp_@anthropic-ai_sdk_215hw9u._.js +0 -3
  638. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0d2_lq6._.js +0 -3
  639. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0n-i0pd._.js +0 -3
  640. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13pos4j._.js +0 -3
  641. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_17b4pqr._.js +0 -3
  642. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1bkcmom._.js +0 -3
  643. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1hlj_3l._.js +0 -3
  644. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ip-sor._.js +0 -3
  645. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1pex5o1._.js +0 -3
  646. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1s8lc8_._.js +0 -3
  647. package/.next/server/chunks/[root-of-the-server]__05l6129._.js +0 -3
  648. package/.next/server/chunks/[root-of-the-server]__06zf_sh._.js +0 -3
  649. package/.next/server/chunks/[root-of-the-server]__093hlkh._.js +0 -3
  650. package/.next/server/chunks/[root-of-the-server]__0aynzrb._.js +0 -3
  651. package/.next/server/chunks/[root-of-the-server]__0e59y5j._.js +0 -3
  652. package/.next/server/chunks/[root-of-the-server]__0eqd-tw._.js +0 -3
  653. package/.next/server/chunks/[root-of-the-server]__0nfvvy9._.js +0 -3
  654. package/.next/server/chunks/[root-of-the-server]__106gpvh._.js +0 -3
  655. package/.next/server/chunks/[root-of-the-server]__11s76m8._.js +0 -3
  656. package/.next/server/chunks/[root-of-the-server]__142icjb._.js +0 -3
  657. package/.next/server/chunks/[root-of-the-server]__14aeqoi._.js +0 -3
  658. package/.next/server/chunks/[root-of-the-server]__1613hjb._.js +0 -88
  659. package/.next/server/chunks/[root-of-the-server]__1613hjb._.js.map +0 -1
  660. package/.next/server/chunks/[root-of-the-server]__169hmq_._.js +0 -10
  661. package/.next/server/chunks/[root-of-the-server]__169hmq_._.js.map +0 -1
  662. package/.next/server/chunks/[root-of-the-server]__17p0rkn._.js +0 -3
  663. package/.next/server/chunks/[root-of-the-server]__17xb02p._.js +0 -3
  664. package/.next/server/chunks/[root-of-the-server]__18kxo4a._.js +0 -3
  665. package/.next/server/chunks/[root-of-the-server]__1j0rrps._.js +0 -3
  666. package/.next/server/chunks/[root-of-the-server]__1jxu2x9._.js +0 -3
  667. package/.next/server/chunks/[root-of-the-server]__1lj_2cv._.js +0 -3
  668. package/.next/server/chunks/[root-of-the-server]__1o4a-4j._.js +0 -3
  669. package/.next/server/chunks/[root-of-the-server]__1o4a-4j._.js.map +0 -1
  670. package/.next/server/chunks/[root-of-the-server]__1q4ahvz._.js +0 -3
  671. package/.next/server/chunks/[root-of-the-server]__1u_q61h._.js +0 -3
  672. package/.next/server/chunks/[root-of-the-server]__1wr0m-s._.js +0 -3
  673. package/.next/server/chunks/[root-of-the-server]__1xb0fmp._.js +0 -3
  674. package/.next/server/chunks/[root-of-the-server]__1xb0fmp._.js.map +0 -1
  675. package/.next/server/chunks/[root-of-the-server]__1y-tt29._.js +0 -3
  676. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0cvmffy._.js +0 -3
  677. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0cvmffy._.js.map +0 -1
  678. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0u3jxas._.js +0 -3
  679. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0u3jxas._.js.map +0 -1
  680. package/.next/server/chunks/ssr/[root-of-the-server]__0noc5ay._.js +0 -14
  681. package/.next/server/chunks/ssr/[root-of-the-server]__1pk-w2i._.js +0 -3
  682. package/.next/server/chunks/ssr/_059qmur._.js +0 -3
  683. package/.next/server/chunks/ssr/_059qmur._.js.map +0 -1
  684. package/.next/server/chunks/ssr/_081irea._.js +0 -3
  685. package/.next/server/chunks/ssr/_081irea._.js.map +0 -1
  686. package/.next/server/chunks/ssr/_0d8t8l4._.js +0 -3
  687. package/.next/server/chunks/ssr/_0d8t8l4._.js.map +0 -1
  688. package/.next/server/chunks/ssr/_0dyvcdg._.js +0 -3
  689. package/.next/server/chunks/ssr/_0dyvcdg._.js.map +0 -1
  690. package/.next/server/chunks/ssr/_1-ghqy4._.js +0 -3
  691. package/.next/server/chunks/ssr/_1-ghqy4._.js.map +0 -1
  692. package/.next/server/chunks/ssr/_17jy5db._.js +0 -3
  693. package/.next/server/chunks/ssr/_17jy5db._.js.map +0 -1
  694. package/.next/server/chunks/ssr/_1c95ems._.js +0 -151
  695. package/.next/server/chunks/ssr/_1c95ems._.js.map +0 -1
  696. package/.next/server/chunks/ssr/_1dllfz5._.js +0 -4
  697. package/.next/server/chunks/ssr/_1dllfz5._.js.map +0 -1
  698. package/.next/server/chunks/ssr/node_modules__pnpm_006_c8z._.js +0 -3
  699. package/.next/server/chunks/ssr/node_modules__pnpm_006_c8z._.js.map +0 -1
  700. package/.next/server/chunks/ssr/node_modules__pnpm_1imm4ut._.js +0 -3
  701. package/.next/server/chunks/ssr/node_modules__pnpm_1imm4ut._.js.map +0 -1
  702. package/.next/server/chunks/ssr/node_modules__pnpm_1kcnkjs._.js +0 -3
  703. package/.next/server/chunks/ssr/node_modules__pnpm_1kcnkjs._.js.map +0 -1
  704. package/.next/server/chunks/ssr/src_1lkod9y._.js +0 -8
  705. package/.next/server/chunks/ssr/src_1lkod9y._.js.map +0 -1
  706. package/.next/server/chunks/ssr/src_components_14pwej-._.js +0 -3
  707. package/.next/server/chunks/ssr/src_components_14pwej-._.js.map +0 -1
  708. package/.next/server/chunks/ssr/src_components_ui_scroll-area_tsx_0i-n_27._.js +0 -3
  709. package/.next/server/chunks/ssr/src_components_ui_scroll-area_tsx_0i-n_27._.js.map +0 -1
  710. package/.next/static/chunks/0-z7kyblalrea.js +0 -1
  711. package/.next/static/chunks/050mq8l4e1ubn.js +0 -1
  712. package/.next/static/chunks/098le48845_fg.js +0 -3
  713. package/.next/static/chunks/0cw4-ebkoufdc.js +0 -1
  714. package/.next/static/chunks/0feo-go1w5nct.js +0 -1
  715. package/.next/static/chunks/0k2qhx29amdgs.js +0 -1
  716. package/.next/static/chunks/14sefb904pl64.js +0 -21
  717. package/.next/static/chunks/1fer-wulyrjrs.js +0 -3
  718. package/.next/static/chunks/1o7b1x4umy8a6.js +0 -1
  719. package/.next/static/chunks/1q_io1j58aukw.js +0 -1
  720. package/.next/static/chunks/1r7z33e9jk3vp.js +0 -1
  721. package/.next/static/chunks/1t-cgh4477hfo.js +0 -1
  722. package/.next/static/chunks/1u-1po1qesc9f.js +0 -1
  723. package/.next/static/chunks/1u5kegkgm0xoz.js +0 -1
  724. package/.next/static/chunks/24ygzsgd-moqy.js +0 -1
  725. package/.next/static/chunks/26folxgplfa9t.js +0 -68
  726. package/.next/static/chunks/2ocixvjhv34_3.js +0 -1
  727. package/.next/static/chunks/3_lsdgxa-h7ma.css +0 -10
  728. package/.next/static/chunks/3h4ehgq7i44wb.js +0 -6
  729. package/.next/static/chunks/3rmv-sb9w9i3e.js +0 -1
  730. package/.next/static/chunks/3smp1lj103j-l.js +0 -1
  731. package/.next/static/chunks/3ttzomivj48jh.js +0 -2
  732. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-5bkpj._.js.map → 11mp_@anthropic-ai_sdk_0-_cqh8._.js.map} +0 -0
  733. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00psb_y._.js.map → 11mp_@anthropic-ai_sdk_00o5o78._.js.map} +0 -0
  734. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01l5h3i._.js.map → 11mp_@anthropic-ai_sdk_03cp17a._.js.map} +0 -0
  735. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_072r2bd._.js.map → 11mp_@anthropic-ai_sdk_07dk2er._.js.map} +0 -0
  736. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0am8bw2._.js.map → 11mp_@anthropic-ai_sdk_0_e9zpr._.js.map} +0 -0
  737. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0enefn6._.js.map → 11mp_@anthropic-ai_sdk_0_xx_qf._.js.map} +0 -0
  738. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0k3n_5f._.js.map → 11mp_@anthropic-ai_sdk_0aer9lc._.js.map} +0 -0
  739. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0lcfjm4._.js.map → 11mp_@anthropic-ai_sdk_0ax30pe._.js.map} +0 -0
  740. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0lfx9av._.js.map → 11mp_@anthropic-ai_sdk_0gn7vgs._.js.map} +0 -0
  741. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0qau3qw._.js.map → 11mp_@anthropic-ai_sdk_0hye94a._.js.map} +0 -0
  742. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0r1pmvm._.js.map → 11mp_@anthropic-ai_sdk_0ir5cgk._.js.map} +0 -0
  743. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_11t-z2t._.js.map → 11mp_@anthropic-ai_sdk_0je0_pa._.js.map} +0 -0
  744. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_15hyn79._.js.map → 11mp_@anthropic-ai_sdk_0jfgh0o._.js.map} +0 -0
  745. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1_qk07x._.js.map → 11mp_@anthropic-ai_sdk_0mha4x1._.js.map} +0 -0
  746. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1b2929e._.js.map → 11mp_@anthropic-ai_sdk_0n__boa._.js.map} +0 -0
  747. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1e72c89._.js.map → 11mp_@anthropic-ai_sdk_0sqv26_._.js.map} +0 -0
  748. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1eq7asn._.js.map → 11mp_@anthropic-ai_sdk_0wnc6g-._.js.map} +0 -0
  749. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1fhdojs._.js.map → 11mp_@anthropic-ai_sdk_0xh0g59._.js.map} +0 -0
  750. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1htgzmb._.js.map → 11mp_@anthropic-ai_sdk_1-5wyhj._.js.map} +0 -0
  751. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1lh_vwq._.js.map → 11mp_@anthropic-ai_sdk_13ahm3n._.js.map} +0 -0
  752. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ludf-o._.js.map → 11mp_@anthropic-ai_sdk_13e6aq4._.js.map} +0 -0
  753. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1m3luz3._.js.map → 11mp_@anthropic-ai_sdk_14eg0ld._.js.map} +0 -0
  754. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1x1iz3d._.js.map → 11mp_@anthropic-ai_sdk_15md1n2._.js.map} +0 -0
  755. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1xsmwlh._.js.map → 11mp_@anthropic-ai_sdk_16av8b9._.js.map} +0 -0
  756. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_202spah._.js.map → 11mp_@anthropic-ai_sdk_16hjhv1._.js.map} +0 -0
  757. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_215hw9u._.js.map → 11mp_@anthropic-ai_sdk_16txvf7._.js.map} +0 -0
  758. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0d2_lq6._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_00kwqu5._.js.map} +0 -0
  759. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0n-i0pd._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_01j2nrd._.js.map} +0 -0
  760. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_13pos4j._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_05ybj3t._.js.map} +0 -0
  761. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_17b4pqr._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0adt7jj._.js.map} +0 -0
  762. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1bkcmom._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0bnl14w._.js.map} +0 -0
  763. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1hlj_3l._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0f557t9._.js.map} +0 -0
  764. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1ip-sor._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0ra6giw._.js.map} +0 -0
  765. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1pex5o1._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_107cqfx._.js.map} +0 -0
  766. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1s8lc8_._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1377sl6._.js.map} +0 -0
  767. /package/.next/server/chunks/{[root-of-the-server]__0e59y5j._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1_2hcok._.js.map} +0 -0
  768. /package/.next/server/chunks/{[root-of-the-server]__11s76m8._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1g--m6y._.js.map} +0 -0
  769. /package/.next/server/chunks/{ssr/0_nd_mermaid_dist_mermaid_core_mjs_0vv_0i3._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1geopi5._.js.map} +0 -0
  770. /package/.next/server/chunks/{ssr/1u84_katex_dist_katex_mjs_1z0p1bs._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1i11dte._.js.map} +0 -0
  771. /package/.next/server/chunks/{ssr/node_modules__pnpm_09_i2jk._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1mj3_qk._.js.map} +0 -0
  772. /package/.next/server/chunks/{ssr/node_modules__pnpm_0dwi7mu._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1qgy210._.js.map} +0 -0
  773. /package/.next/server/chunks/{ssr/node_modules__pnpm_1yq90z7._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1rkng9q._.js.map} +0 -0
  774. /package/.next/server/chunks/ssr/{node_modules__pnpm_04khl_s._.js.map → node_modules__pnpm_01bjcv9._.js.map} +0 -0
  775. /package/.next/server/chunks/ssr/{node_modules__pnpm_08sqeu2._.js.map → node_modules__pnpm_03qrzdb._.js.map} +0 -0
  776. /package/.next/server/chunks/ssr/{node_modules__pnpm_104pzhc._.js.map → node_modules__pnpm_06d-fdo._.js.map} +0 -0
  777. /package/.next/server/chunks/ssr/{node_modules__pnpm_1xzf8g_._.js.map → node_modules__pnpm_0ctisl0._.js.map} +0 -0
  778. /package/.next/server/chunks/ssr/{node_modules__pnpm_0og06fy._.js.map → node_modules__pnpm_0fwp8jm._.js.map} +0 -0
  779. /package/.next/server/chunks/ssr/{node_modules__pnpm_0a9b2ei._.js.map → node_modules__pnpm_0kpu0-2._.js.map} +0 -0
  780. /package/.next/server/chunks/ssr/{node_modules__pnpm_0jpv2b6._.js.map → node_modules__pnpm_0vry74x._.js.map} +0 -0
  781. /package/.next/server/chunks/ssr/{node_modules__pnpm_0fd3pr1._.js.map → node_modules__pnpm_0ycbjbd._.js.map} +0 -0
  782. /package/.next/server/chunks/ssr/{node_modules__pnpm_1l8k8w1._.js.map → node_modules__pnpm_1-76qxg._.js.map} +0 -0
  783. /package/.next/server/chunks/ssr/{node_modules__pnpm_0ah02mu._.js.map → node_modules__pnpm_1-r94f7._.js.map} +0 -0
  784. /package/.next/server/chunks/ssr/{node_modules__pnpm_0f77_ng._.js.map → node_modules__pnpm_17i6z2d._.js.map} +0 -0
  785. /package/.next/server/chunks/ssr/{node_modules__pnpm_0ttvopp._.js.map → node_modules__pnpm_192f222._.js.map} +0 -0
  786. /package/.next/server/chunks/ssr/{node_modules__pnpm_07t_e8c._.js.map → node_modules__pnpm_1a48_nl._.js.map} +0 -0
  787. /package/.next/server/chunks/ssr/{node_modules__pnpm_195j8p_._.js.map → node_modules__pnpm_1aa37e1._.js.map} +0 -0
  788. /package/.next/server/chunks/ssr/{node_modules__pnpm_0cj8ryj._.js.map → node_modules__pnpm_1f440kx._.js.map} +0 -0
  789. /package/.next/server/chunks/ssr/{node_modules__pnpm_0u3u82f._.js.map → node_modules__pnpm_1fn3ejy._.js.map} +0 -0
  790. /package/.next/server/chunks/ssr/{node_modules__pnpm_0ts89ne._.js.map → node_modules__pnpm_1min2jl._.js.map} +0 -0
  791. /package/.next/server/chunks/ssr/{node_modules__pnpm_1woddr6._.js.map → node_modules__pnpm_1q_hhr3._.js.map} +0 -0
  792. /package/.next/server/chunks/ssr/{node_modules__pnpm_1x0t5_z._.js.map → node_modules__pnpm_1qmkxyo._.js.map} +0 -0
  793. /package/.next/server/chunks/ssr/{node_modules__pnpm_0gifu-u._.js.map → node_modules__pnpm_1qp_jvj._.js.map} +0 -0
  794. /package/.next/server/chunks/ssr/{node_modules__pnpm_0y35hs4._.js.map → node_modules__pnpm_1ssjj4u._.js.map} +0 -0
  795. /package/.next/server/chunks/ssr/{node_modules__pnpm_0qc3gsk._.js.map → node_modules__pnpm_1txccoj._.js.map} +0 -0
  796. /package/.next/server/chunks/ssr/{node_modules__pnpm_1w0f1m5._.js.map → node_modules__pnpm_1uwkcin._.js.map} +0 -0
  797. /package/.next/server/chunks/ssr/{node_modules__pnpm_0286-tg._.js.map → node_modules__pnpm_1ygal0c._.js.map} +0 -0
  798. /package/.next/static/{uJ5RYxgFnE5svAvnuLDXN → Q29Tn_NjyVms0d3pKn4Yx}/_buildManifest.js +0 -0
  799. /package/.next/static/{uJ5RYxgFnE5svAvnuLDXN → Q29Tn_NjyVms0d3pKn4Yx}/_clientMiddlewareManifest.js +0 -0
  800. /package/.next/static/{uJ5RYxgFnE5svAvnuLDXN → Q29Tn_NjyVms0d3pKn4Yx}/_ssgManifest.js +0 -0
@@ -0,0 +1,11 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,424991,e=>{"use strict";var t=e.i(83790);let s={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};s.node;let n=(0,t.default)(s);e.s(["Pencil",0,n],424991)},678677,e=>{"use strict";var t=e.i(83790);let s={name:"scale",size:24,node:[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"m19 8 3 8a5 5 0 0 1-6 0zV7",key:"zcdpyk"}],["path",{d:"M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1",key:"1yorad"}],["path",{d:"m5 8 3 8a5 5 0 0 1-6 0zV7",key:"eua70x"}],["path",{d:"M7 21h10",key:"1b0cd5"}]]};s.node;let n=(0,t.default)(s);e.s(["Scale",0,n],678677)},343253,508540,e=>{"use strict";var t=e.i(83790);let s={name:"user",size:24,node:[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]};s.node;let n=(0,t.default)(s);e.s(["User",0,n],343253);var a=e.i(72345),r=e.i(975157);e.s(["ItemPanelHeader",0,function({kicker:e,title:t,menu:s,properties:n,className:i,children:l}){let o=n.filter(e=>null!==e.value&&void 0!==e.value&&!1!==e.value);return(0,a.jsxs)("header",{"data-item-header":!0,className:(0,r.cn)("flex shrink-0 flex-col gap-2 border-b border-border px-5 pb-4 pt-4",i),children:[(0,a.jsxs)("div",{className:"flex min-h-7 items-center gap-2 pr-8 font-mono text-[11px] text-muted",children:[(0,a.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-1",children:e}),s]}),(0,a.jsx)("div",{className:"text-base font-semibold leading-snug text-txt",children:t}),o.length>0&&(0,a.jsx)("dl",{className:"grid grid-cols-[88px_minmax(0,1fr)] items-center gap-x-3 gap-y-1.5 text-xs",children:o.map(e=>(0,a.jsxs)("div",{className:"contents",children:[(0,a.jsx)("dt",{className:"text-muted",children:e.label}),(0,a.jsx)("dd",{className:"flex min-w-0 items-center gap-2 text-txt",children:e.value})]},e.label))}),l]})}],508540)},185914,e=>{"use strict";var t=e.i(72345),s=e.i(180338),n=e.i(910172),a=e.i(763371),r=e.i(998822),i=e.i(635743),l=e.i(155515),o=e.i(161863),d=e.i(975157),c=e.i(793479),m=e.i(35032);let u=["convention","gotcha","decision","preference"],x=new Set("a an and are as at be but by can do does for from how i if in into is it its of on or our so that the their then there these this to use used using was we what when where which who why will with you your".split(" "));function p(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(e=>e.length>1&&!x.has(e)).map(e=>e.length>3&&e.endsWith("s")&&!e.endsWith("ss")?e.slice(0,-1):e)}function h(e){return Math.ceil(e.length/4)}function f({entries:e,selectedId:n,onOpen:a,onNew:r}){let[i,x]=(0,s.useState)(""),[b,y]=(0,s.useState)(null),g=(0,s.useMemo)(()=>{var t,s;let n,a,r;return t=e,a=new Map((n=(s={query:i,type:b}).type?t.filter(e=>e.type===s.type):t).map(e=>[e.id,e])),(p(r=s.query??"").length?function(e,t,s={}){let n=[...new Set(p(t))];if(!n.length)return[];let a=[];for(let t of e){if(s.type&&t.type!==s.type)continue;let e=new Set(p(t.summary)),r=new Set(p(t.body)),i=new Set([t.id.toLowerCase(),...p(t.type)]),l=0;for(let t of n)e.has(t)&&(l+=3),i.has(t)&&(l+=2),r.has(t)&&(l+=1);l>0&&a.push({id:t.id,type:t.type,summary:t.summary,tokens:h(`${t.summary}
2
+ ${t.body}`),score:l,updatedAt:t.updatedAt})}return a.sort((e,t)=>t.score-e.score||t.updatedAt.localeCompare(e.updatedAt)),a.slice(0,s.limit??10).map(({updatedAt:e,...t})=>t)}(n,r,{limit:n.length}):[...n].sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt)||e.id.localeCompare(t.id,"en",{numeric:!0})).map(e=>({id:e.id,type:e.type,summary:e.summary,tokens:h(`${e.summary}
3
+ ${e.body}`),score:0}))).map(e=>a.get(e.id)).filter(e=>!!e)},[e,i,b]),j=(0,s.useMemo)(()=>{let t={};for(let s of e)t[s.type]=(t[s.type]??0)+1;return t},[e]),v=p(i).length>0,N=(e,s,n)=>(0,t.jsxs)("button",{type:"button","aria-pressed":b===e,onClick:()=>y(e),className:(0,d.cn)("h-6 rounded-[5px] border border-transparent px-2 text-xs font-medium text-muted outline-none transition-colors","hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",b===e&&"border-border2 bg-surface2 text-txt"),children:[s," ",(0,t.jsx)("span",{className:"font-mono text-[10px] opacity-70",children:n})]},s);return(0,t.jsxs)("section",{"aria-label":"Knowledge entries",className:"flex min-w-0 flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,t.jsx)("h2",{className:"font-display text-base font-semibold tracking-tight",children:"Knowledge entries"}),(0,t.jsxs)("button",{type:"button",onClick:r,className:"inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-muted outline-none hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",children:[(0,t.jsx)(l.Plus,{className:"size-3.5","aria-hidden":!0})," New entry"]})]}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(o.Search,{className:"pointer-events-none absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-muted","aria-hidden":!0}),(0,t.jsx)(c.Input,{id:"memory-search",type:"search",value:i,onChange:e=>x(e.target.value),placeholder:"Search entries…","aria-label":"Search entries",className:"h-8 pl-8"})]}),(0,t.jsxs)("div",{role:"group","aria-label":"Filter by type",className:"flex flex-wrap gap-1",children:[N(null,"All",e.length),u.map(e=>N(e,e,j[e]??0))]}),0===e.length?(0,t.jsxs)("p",{className:"rounded-xl border border-dashed border-border p-4 text-sm text-muted",children:["No knowledge entries yet. Agents save them with ",(0,t.jsx)("code",{className:"font-mono text-xs",children:"vibedoc_save_entry"}),"."]}):0===g.length?(0,t.jsxs)("p",{className:"p-2 text-sm text-muted",children:["No entries match ",v?`"${i.trim()}"`:"this filter","."]}):(0,t.jsx)("ul",{className:"flex flex-col divide-y divide-border rounded-xl border border-border bg-surface",children:g.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>a(e.id),"aria-current":e.id===n?"true":void 0,className:(0,d.cn)("flex w-full flex-col gap-0.5 px-3 py-2 text-left outline-none transition-colors hover:bg-surface2 focus-visible:bg-surface2",e.id===n&&"bg-surface2 shadow-[inset_2px_0_0_var(--color-accent)]"),children:[(0,t.jsxs)("span",{className:"flex items-center gap-2 font-mono text-[11px] text-muted",children:[(0,t.jsx)("span",{children:e.id}),(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{children:e.type}),(0,t.jsxs)("span",{className:"ml-auto flex items-center gap-2",children:[(0,t.jsx)(m.OwnerChip,{owner:e.by,className:"font-sans"}),e.updatedAt]})]}),(0,t.jsx)("span",{className:"text-sm text-txt",children:e.summary})]})},e.id))})]})}var b=e.i(424991),y=e.i(458055),g=e.i(765470),j=e.i(519455),v=e.i(508540);function N({entry:e,rootParam:n,onSaved:a,onDelete:i,onClose:l,children:o}){let[d,x]=(0,s.useState)(null===e),[p,h]=(0,s.useState)(()=>w(e)),[f,k]=(0,s.useState)(null),[S,C]=(0,s.useState)(!1),E=()=>{e?(x(!1),k(null)):l()},z=async()=>{let t=function(e){let t;if(void 0!==e.id&&!function(e){let t=/^e(\d+)$/i.exec(e.trim());if(!t)return null;let s=Number(t[1]);return s>0?`E${String(s).padStart(3,"0")}`:null}(String(e.id)))return`Invalid id "${e.id}": expected E followed by a number, e.g. E001`;if(t=String(e.type??""),!u.includes(t))return`Invalid type "${e.type??""}": use one of ${u.join(", ")}`;let s=String(e.summary??"").trim();return s?/\n/.test(s)?"summary must be one line":s.length>120?`summary is ${s.length} characters; keep it to 120`:void 0!==e.body&&"string"!=typeof e.body?"body must be a string":null:"summary is required"}({...p,id:e?.id});if(t)return void k(t);C(!0),k(null);try{let t=await fetch(`/api/memory/entries/save${n}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...e?{id:e.id}:{},...p})}),s=await t.json().catch(()=>({}));if(!t.ok||!s.entry)throw Error(s.error??`Save failed (${t.status})`);x(!1),a(s.entry)}catch(e){k(e instanceof Error?e.message:String(e))}finally{C(!1)}};(0,s.useEffect)(()=>{if(d||!e)return;let t=t=>{if("Backspace"!==t.key&&"Delete"!==t.key||t.metaKey||t.ctrlKey||t.altKey)return;let s=t.target;s&&(s.isContentEditable||["INPUT","TEXTAREA","SELECT"].includes(s.tagName))||(t.preventDefault(),i(e))};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[d,e,i]);let $=(0,t.jsx)("button",{type:"button",onClick:l,"aria-label":"Close entry",className:"rounded p-1 text-muted hover:bg-surface2 hover:text-txt",children:(0,t.jsx)(g.X,{className:"size-3.5"})});return d?(0,t.jsx)("section",{"aria-label":e?`Edit ${e.id}`:"New entry",className:"rounded-xl border border-border bg-surface",children:(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),z()},onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),E()),"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),z())},className:"flex flex-col gap-3 p-5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between font-mono text-[11px] text-muted",children:[(0,t.jsx)("span",{children:e?`${e.id} \xb7 editing`:"New entry"}),$]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-muted",children:["Type",(0,t.jsx)("select",{value:p.type,onChange:e=>h({...p,type:e.target.value}),className:"h-8 rounded-md border border-border bg-bg px-2 text-sm text-txt focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent",children:u.map(e=>(0,t.jsx)("option",{value:e,children:e},e))})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-muted",children:["Summary (one line)",(0,t.jsx)(c.Input,{autoFocus:!0,value:p.summary,onChange:e=>h({...p,summary:e.target.value}),maxLength:200,className:"h-8 text-txt"})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-muted",children:["Details (markdown)",(0,t.jsx)("textarea",{value:p.body,onChange:e=>h({...p,body:e.target.value}),rows:8,className:"w-full resize-y rounded-md border border-border bg-bg px-3 py-2 font-mono text-xs text-txt focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent"})]}),f&&(0,t.jsx)("p",{role:"alert",className:"text-xs text-danger",children:f}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,t.jsx)("span",{className:"mr-auto text-[11px] text-muted",children:"⌘↵ save · Esc cancel"}),(0,t.jsx)(j.Button,{type:"button",variant:"ghost",size:"sm",onClick:E,children:"Cancel"}),(0,t.jsx)(j.Button,{type:"submit",size:"sm",disabled:S,children:S?"Saving…":"Save"})]})]})}):e?(0,t.jsxs)("section",{"aria-label":e.id,className:"rounded-xl border border-border bg-surface",children:[(0,t.jsx)(v.ItemPanelHeader,{kicker:(0,t.jsxs)("span",{children:[e.id," · entry"]}),menu:(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsxs)(j.Button,{variant:"ghost",size:"sm",onClick:()=>{h(w(e)),k(null),x(!0)},className:"h-7 px-2 text-xs",children:[(0,t.jsx)(b.Pencil,{className:"size-3.5"})," Edit"]}),(0,t.jsxs)(j.Button,{variant:"ghost",size:"sm",onClick:()=>i(e),title:"Delete (⌫)",className:"h-7 px-2 text-xs hover:text-danger",children:[(0,t.jsx)(y.Trash2,{className:"size-3.5"})," Delete"]}),$]}),title:e.summary,properties:[{label:"Type",value:e.type},{label:"Updated",value:e.updatedAt||null},{label:"Changed by",value:e.by?(0,t.jsx)(m.OwnerChip,{owner:e.by,className:"text-xs text-txt"}):null},{label:"File",value:(0,t.jsx)("span",{className:"truncate font-mono text-[11px] text-muted",children:e.file})}]}),(0,t.jsxs)("div",{className:"p-5",children:[e.body?(0,t.jsx)(r.MarkdownRenderer,{content:e.body}):(0,t.jsx)("p",{className:"text-sm text-muted",children:"No details."}),o]})]}):null}function w(e){return e?{type:e.type,summary:e.summary,body:e.body}:{type:"convention",summary:"",body:""}}var k=e.i(732460),S=e.i(406952),C=e.i(83790);let E={name:"flag",size:24,node:[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]};E.node;let z=(0,C.default)(E),$={name:"lightbulb",size:24,node:[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]};$.node;let M=(0,C.default)($);var A=e.i(678677),L=e.i(464750),O=e.i(694628);let R=[{kind:"task",label:"Tasks"},{kind:"epic",label:"Epics"},{kind:"adr",label:"ADRs"},{kind:"doc",label:"Docs"},{kind:"entry",label:"Entries"}],D={epic:z,adr:A.Scale,doc:S.FileText,entry:M,task:k.BookOpen};function I(e){let t=(0,n.useRouter)(),{openDoc:s}=(0,a.useApp)();return n=>{"task"===n.kind?t.push(`/board?task=${n.id}`):"epic"===n.kind?t.push(`/roadmap?item=${n.id}`):"entry"===n.kind?e(n.id):s(n.path)}}function P({entryId:e,onOpenEntry:n}){let{rootParam:r,summary:i,board:l}=(0,a.useApp)(),o=I(n),[d,c]=(0,s.useState)(null);(0,s.useEffect)(()=>{let t=!0;return fetch(`/api/memory/graph${r}&entry=${encodeURIComponent(e)}`).then(e=>e.json()).then(e=>{t&&c(e.nodes?e:{nodes:[],edges:[]})}).catch(e=>{console.warn("Loading entry links failed",e),t&&c({nodes:[],edges:[]})}),()=>{t=!1}},[e,r,i]);let m=(0,s.useMemo)(()=>new Map(Object.values(l??{}).flat().map(e=>[e.id,e])),[l]),u=(0,s.useMemo)(()=>new Map((d?.nodes??[]).map(e=>[e.id,e])),[d]),x=e=>e.map(e=>u.get(e)).filter(e=>!!e),p=x((d?.edges??[]).filter(t=>t.from===e).map(e=>e.to)),h=x((d?.edges??[]).filter(t=>t.to===e).map(e=>e.from)),f=e=>{let s="task"===e.kind?m.get(e.id):void 0,n=D[e.kind];return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>o(e),title:e.path,className:"flex w-full items-center gap-2 rounded-md px-2 py-1 text-left text-sm outline-none hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent",children:[s?(0,t.jsx)(L.StatusIcon,{status:(0,O.displayStatus)(s),className:"size-3.5 shrink-0"}):(0,t.jsx)(n,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),"doc"!==e.kind&&(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:e.id}),(0,t.jsx)("span",{className:"min-w-0 truncate text-txt",children:e.label})]})},e.id)},b=(e,s)=>(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("h4",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted",children:e}),R.map(({kind:e,label:n})=>{let a=s.filter(t=>t.kind===e);return a.length?(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"px-2 text-[11px] text-muted",children:n}),(0,t.jsx)("ul",{children:a.map(f)})]},e):null})]});return(0,t.jsxs)("section",{"aria-label":"Related",className:"mt-5 flex flex-col gap-3 border-t border-border pt-4",children:[(0,t.jsx)("h3",{className:"text-xs font-semibold text-txt",children:"Related"}),null===d?(0,t.jsx)("p",{className:"text-xs text-muted",children:"Loading links…"}):p.length||h.length?(0,t.jsxs)(t.Fragment,{children:[p.length>0&&b("Links to",p),h.length>0&&b("Linked from",h)]}):(0,t.jsx)("p",{className:"text-xs text-muted",children:"No links yet. Mention a task, epic or doc in the entry to link it."})]})}var T=e.i(675964);let _={name:"git-commit-horizontal",size:24,node:[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]],aliases:["git-commit"]};_.node;let K=(0,C.default)(_);function B({entryId:e}){let{rootParam:n}=(0,a.useApp)(),[r,i]=(0,s.useState)(!1),[l,o]=(0,s.useState)(null),[c,m]=(0,s.useState)(null),[u,x]=(0,s.useState)(null),p=`/api/memory/history${n}&entry=${encodeURIComponent(e)}`,h=async e=>{let t=await fetch(e),s=await t.json().catch(()=>({}));if(!t.ok)throw Error(s.error??`Request failed (${t.status})`);return s},f=async()=>{let e=!r;if(i(e),e&&!l)try{o(await h(p))}catch(e){m(e instanceof Error?e.message:String(e))}},b=async e=>{try{let{text:t}=await h(`${p}&sha=${e.sha}`);x({commit:e,text:t})}catch(e){m(e instanceof Error?e.message:String(e))}};return(0,t.jsxs)("section",{"aria-label":"History",className:"mt-4 border-t border-border pt-3",children:[(0,t.jsxs)("button",{type:"button",onClick:f,"aria-expanded":r,className:"flex items-center gap-1 rounded text-xs font-semibold text-txt outline-none focus-visible:ring-2 focus-visible:ring-accent",children:[(0,t.jsx)(T.ChevronRight,{className:(0,d.cn)("size-3.5 text-muted transition-transform",r&&"rotate-90"),"aria-hidden":!0}),"History"]}),r&&(0,t.jsxs)("div",{className:"mt-2 flex flex-col gap-2",children:[c&&(0,t.jsx)("p",{role:"alert",className:"text-xs text-danger",children:c}),!l&&!c&&(0,t.jsx)("p",{className:"text-xs text-muted",children:"Loading history…"}),l?.reason==="no-git"&&(0,t.jsx)("p",{className:"text-xs text-muted",children:"History needs git: this project is not a git repository."}),l&&!l.reason&&!l.history.length&&!l.uncommitted&&(0,t.jsx)("p",{className:"text-xs text-muted",children:"Not committed yet."}),l&&(l.uncommitted||l.history.length>0)&&(0,t.jsxs)("ul",{className:"flex flex-col",children:[l.uncommitted&&(0,t.jsxs)("li",{className:"flex items-center gap-2 px-2 py-1 text-xs text-muted",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-accent","aria-hidden":!0})," Uncommitted changes"]}),l.history.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>b(e),"aria-current":u?.commit.sha===e.sha?"true":void 0,className:(0,d.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1 text-left text-xs outline-none hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent",u?.commit.sha===e.sha&&"bg-surface2"),children:[(0,t.jsx)(K,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:e.date.slice(0,10)}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-txt",children:e.subject}),(0,t.jsx)("span",{className:"shrink-0 text-muted",children:e.author})]})},e.sha))]}),u&&(0,t.jsxs)("div",{className:"rounded-md border border-border bg-bg",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-3 py-1.5 font-mono text-[11px] text-muted",children:[(0,t.jsxs)("span",{children:[u.commit.sha.slice(0,7)," · ",u.commit.date.slice(0,10)," · read-only"]}),(0,t.jsx)("button",{type:"button",onClick:()=>x(null),"aria-label":"Close version",className:"rounded p-0.5 hover:text-txt",children:(0,t.jsx)(g.X,{className:"size-3.5"})})]}),(0,t.jsx)("pre",{className:"max-h-72 overflow-auto whitespace-pre-wrap p-3 font-mono text-xs text-txt",children:u.text})]})]})]})}var H=e.i(211672),U=e.i(301702);let F={epic:-2,task:-1,entry:0,adr:1,doc:2},V={"--xy-background-color":"var(--color-bg)"};function q(e){let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>t.disconnect()}let W={mem:(0,s.memo)(function({data:e}){let{node:s,status:n,unlinked:a,dim:r,active:i}=e,l=D[s.kind];return(0,t.jsxs)("div",{title:s.path,style:{width:196},className:(0,d.cn)("flex items-center gap-2 rounded-md border bg-surface px-2.5 py-1.5 text-xs transition-opacity","entry"===s.kind?"border-border2":"border-border",i&&"border-accent ring-1 ring-accent",a&&"border-dashed opacity-60",r&&"opacity-25"),children:[["l","r"].map(e=>(0,t.jsxs)("span",{children:[(0,t.jsx)(H.Handle,{id:e,type:"source",position:"l"===e?U.Position.Left:U.Position.Right,isConnectable:!1,className:"opacity-0"}),(0,t.jsx)(H.Handle,{id:`${e}-t`,type:"target",position:"l"===e?U.Position.Left:U.Position.Right,isConnectable:!1,className:"opacity-0"})]},e)),n?(0,t.jsx)(L.StatusIcon,{status:n,className:"size-3.5 shrink-0"}):(0,t.jsx)(l,{className:(0,d.cn)("size-3.5 shrink-0","entry"===s.kind?"text-accent":"text-muted"),"aria-hidden":!0}),"doc"!==s.kind&&(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:s.id}),(0,t.jsx)("span",{className:(0,d.cn)("min-w-0 truncate","entry"===s.kind?"text-txt":"text-muted"),children:s.label})]})})};function X({entries:e,selectedId:n,onOpenEntry:r}){let{rootParam:i,summary:l,board:o}=(0,a.useApp)(),d=I(r),[c,m]=(0,s.useState)(null),u=(0,s.useSyncExternalStore)(q,()=>document.documentElement.classList.contains("dark"),()=>!0);(0,s.useEffect)(()=>{let e=!0;return fetch(`/api/memory/graph${i}`).then(e=>e.json()).then(t=>{e&&m(t.nodes?t:{nodes:[],edges:[]})}).catch(t=>{console.warn("Loading the memory graph failed",t),e&&m({nodes:[],edges:[]})}),()=>{e=!1}},[i,l]);let{nodes:x,edges:p}=(0,s.useMemo)(()=>{if(!c)return{nodes:[],edges:[]};let t=function(e,t={}){let s={},n=e=>Number(e.replace(/\D/g,""))||0;e.nodes.filter(e=>"entry"===e.kind).sort((e,s)=>(t[e.id]??"").localeCompare(t[s.id]??"")||n(e.id)-n(s.id)).forEach((e,t)=>{s[e.id]={x:0,y:48*t}});let a=new Map;for(let{from:t,to:n}of e.edges)for(let[e,r]of[[t,n],[n,t]])s[r]&&!s[e]&&a.set(e,[...a.get(e)??[],s[r].y]);for(let t of["epic","task","adr","doc"]){let n=e.nodes.filter(e=>e.kind===t).map(e=>{let t=a.get(e.id)??[0];return{id:e.id,want:t.reduce((e,t)=>e+t,0)/t.length}}).sort((e,t)=>e.want-t.want||e.id.localeCompare(t.id,"en",{numeric:!0})),r=-1/0;for(let{id:e,want:a}of n){let n=Math.max(a,r);s[e]={x:240*F[t],y:n},r=n+48}}return s}(c,Object.fromEntries(e.map(e=>[e.id,e.type]))),s=new Map(Object.values(o??{}).flat().map(e=>[e.id,e])),a=new Set(c.edges.flatMap(e=>[e.from,e.to])),r=n&&t[n]?new Set([n,...c.edges.filter(e=>e.from===n||e.to===n).flatMap(e=>[e.from,e.to])]):null;return{nodes:c.nodes.map(e=>{let i="task"===e.kind?s.get(e.id):void 0;return{id:e.id,type:"mem",position:t[e.id]??{x:0,y:0},data:{node:e,status:i?(0,O.displayStatus)(i):void 0,unlinked:"entry"===e.kind&&!a.has(e.id),dim:!!r&&!r.has(e.id),active:e.id===n},draggable:!1}}),edges:c.edges.map(e=>{let s=t[e.from]?.x??0,a=t[e.to]?.x??0,i=a<s,l=!!r&&(e.from===n||e.to===n);return{id:`${e.from}->${e.to}`,source:e.from,target:e.to,sourceHandle:i?"l":"r",targetHandle:i||a===s?"r-t":"l-t",style:{stroke:l?"var(--color-accent)":"var(--color-border2)",strokeWidth:l?1.75:1,opacity:r&&!l?.15:1}}})}},[c,e,o,n]);return c?c.nodes.length?(0,t.jsx)("div",{"aria-label":"Memory graph",className:"h-[70vh] min-h-[420px] overflow-hidden rounded-xl border border-border",children:(0,t.jsxs)(H.ReactFlow,{nodes:x,edges:p,nodeTypes:W,onNodeClick:(e,t)=>d(t.data.node),nodesConnectable:!1,nodesDraggable:!1,deleteKeyCode:null,colorMode:u?"dark":"light",onlyRenderVisibleElements:x.length>150,fitView:!0,fitViewOptions:{padding:.1,minZoom:.8,maxZoom:1},minZoom:.1,style:V,children:[(0,t.jsx)(H.Background,{variant:H.BackgroundVariant.Dots,gap:20,size:1}),(0,t.jsx)(H.Controls,{showInteractive:!1})]})}):(0,t.jsx)("p",{className:"rounded-xl border border-dashed border-border p-4 text-sm text-muted",children:"No entries to draw yet."}):(0,t.jsx)("p",{className:"text-sm text-muted",children:"Loading graph…"})}function Z({memory:e,entries:s,rootParam:n,selectedId:a,creating:l,onOpen:o,onNew:c,onClose:m,onSaved:u,onDelete:x,view:p,onView:h}){let b=a?s?.find(e=>e.id===a):void 0;return(0,t.jsxs)("div",{className:(0,d.cn)("grid items-start gap-6 p-6","graph"===p?"lg:grid-cols-[minmax(0,1fr)_minmax(0,30rem)]":"lg:grid-cols-[minmax(280px,380px)_minmax(0,42rem)]"),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 lg:col-span-2",children:[(0,t.jsx)("h1",{className:"font-display text-xl font-semibold tracking-tight",children:"Memory"}),(0,t.jsx)("div",{role:"group","aria-label":"Entries view",className:"flex rounded-md border border-border p-0.5",children:["list","graph"].map(e=>(0,t.jsx)("button",{type:"button","aria-pressed":p===e,onClick:()=>h(e),className:(0,d.cn)("h-6 rounded-[5px] border border-transparent px-2.5 text-xs font-medium capitalize text-muted outline-none transition-colors","hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",p===e&&"border-border2 bg-surface2 text-txt"),children:e},e))})]}),s&&"graph"===p?(0,t.jsx)(X,{entries:s,selectedId:a,onOpenEntry:o}):s?(0,t.jsx)(f,{entries:s,selectedId:a,onOpen:o,onNew:c}):(0,t.jsx)("p",{className:"text-sm text-muted",children:"Loading entries…"}),l||b?(0,t.jsx)("div",{className:"min-w-0 lg:sticky lg:top-6",children:(0,t.jsx)(N,{entry:l?null:b??null,rootParam:n,onSaved:u,onDelete:x,onClose:m,children:b&&!l&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(P,{entryId:b.id,onOpenEntry:o}),(0,t.jsx)(B,{entryId:b.id})]})},l?"new":b?.id)}):a&&s?(0,t.jsxs)("div",{role:"alert",className:"min-w-0 rounded-xl border border-dashed border-border p-5 text-sm text-muted",children:["Entry ",a," not found."," ",(0,t.jsx)("button",{type:"button",onClick:m,className:"text-txt underline underline-offset-2",children:"Show the handoff"})]}):(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between mb-3",children:[(0,t.jsx)("h2",{className:"font-display text-base font-semibold tracking-tight",children:"Session handoff"}),(0,t.jsx)("span",{className:"text-xs font-mono text-muted",children:"memory/MEMORY.md"})]}),e?.exists?(0,t.jsx)("div",{className:"bg-surface border border-border rounded-xl p-5",children:(0,t.jsx)(r.MarkdownRenderer,{content:e.content})}):(0,t.jsx)(i.EmptyState,{icon:"🧠",message:"No MEMORY.md yet.",subMessage:"AI will create one at the end of the first session.",bordered:!0}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-surface2 border border-border rounded-xl",children:[(0,t.jsx)("p",{className:"text-xs font-mono text-muted mb-2",children:"Add to your CLAUDE.md system prompt:"}),(0,t.jsx)("pre",{className:"text-xs font-mono text-accent/80 whitespace-pre-wrap leading-relaxed",children:`At session start:
4
+ 1. Call vibedoc_read_memory
5
+ 2. Call vibedoc_get_status
6
+
7
+ When you learn a fact that should still hold next week:
8
+ - Call vibedoc_save_entry (convention, gotcha, decision, preference)
9
+
10
+ At session end:
11
+ - Call vibedoc_update_memory with full handoff`})]})]})]})}var J=e.i(673635);function Y(){let{summary:e,rootParam:r}=(0,a.useApp)(),i=(0,n.useRouter)(),l=(0,n.useSearchParams)(),o=l.get("entry"),d="graph"===l.get("view")?"graph":"list",[c,m]=(0,s.useState)(null),[u,x]=(0,s.useState)(!1),p=(0,s.useCallback)(()=>{let e=!0;return fetch(`/api/memory/entries${r}`).then(e=>e.json()).then(t=>{e&&m(t.entries??[])}).catch(t=>{console.warn("Loading memory entries failed",t),e&&m([])}),()=>{e=!1}},[r]);(0,s.useEffect)(()=>p(),[p,e]);let h=(0,s.useCallback)((e,t)=>{let s=new URLSearchParams;"graph"===t&&s.set("view","graph"),e&&s.set("entry",e),i.replace(s.size?`/memory?${s}`:"/memory",{scroll:!1})},[i]),f=(0,s.useCallback)(e=>{x(!1),h(e,d)},[h,d]),b=(0,s.useCallback)(async e=>{let t=async(e,t)=>{let s=await fetch(`${e}${r}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)}),n=await s.json().catch(()=>({}));if(!s.ok)throw Error(n.error??`Request failed (${s.status})`);return n};try{let{file:s,raw:n}=await t("/api/memory/entries/delete",{id:e.id});m(t=>(t??[]).filter(t=>t.id!==e.id)),f(null),(0,J.undoToast)(`Deleted ${e.id}`,async()=>{await t("/api/memory/entries/restore",{file:s,raw:n}),p(),f(e.id)})}catch(e){(0,J.toast)(`Delete failed: ${e instanceof Error?e.message:String(e)}`)}},[r,f,p]);return(0,t.jsx)(Z,{memory:e?.memory??null,entries:c,rootParam:r,selectedId:u?null:o,creating:u,onOpen:f,onNew:()=>x(!0),onClose:()=>f(null),onDelete:b,view:d,onView:e=>h(o,e),onSaved:e=>{m(t=>[...(t??[]).filter(t=>t.id!==e.id),e]),f(e.id)}})}e.s(["default",0,function(){return(0,t.jsx)(s.Suspense,{children:(0,t.jsx)(Y,{})})}],185914)},635743,e=>{"use strict";var t=e.i(72345),s=e.i(975157);e.s(["EmptyState",0,function({icon:e,message:n,subMessage:a,bordered:r}){return(0,t.jsxs)("div",{className:(0,s.cn)("text-center py-16 text-muted text-sm",r&&"border border-dashed border-border rounded-xl"),children:[(0,t.jsx)("p",{className:"text-3xl mb-3",children:e}),(0,t.jsx)("p",{children:n}),a&&(0,t.jsx)("p",{className:"text-xs mt-1",children:a})]})}])},35032,222581,e=>{"use strict";var t=e.i(72345),s=e.i(479432),n=e.i(343253),a=e.i(975157);function r(e){return"human"===e?"human":e?.startsWith("ai:")?"ai":"none"}function i(e){return"human"===e?"Human":e?.startsWith("ai:")?e.slice(3):"No owner"}e.s(["ownerKind",0,r,"ownerLabel",0,i],222581),e.s(["OwnerChip",0,function({owner:e,className:l}){let o=r(e);if("none"===o)return null;let d="ai"===o?s.Bot:n.User;return(0,t.jsxs)("span",{title:`Owner: ${i(e)}`,className:(0,a.cn)("inline-flex items-center gap-1 text-[11px] text-muted",l),children:[(0,t.jsx)(d,{className:(0,a.cn)("size-3.5 shrink-0","ai"===o&&"text-accent"),"aria-hidden":!0}),i(e)]})}],35032)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,901251,e=>{"use strict";var t=e.i(72345),n=e.i(180338),r=e.i(763371),i=e.i(406952),o=e.i(875581),a=e.i(763305),s=e.i(675964),l=e.i(83790);let c={name:"chevrons-down-up",size:24,node:[["path",{d:"m7 20 5-5 5 5",key:"13a0gw"}],["path",{d:"m7 4 5 5 5-5",key:"1kwcof"}]]};c.node;let d=(0,l.default)(c);var h=e.i(979400),u=e.i(161863),f=e.i(479432),m=e.i(155515);let p={name:"square-check-big",size:24,node:[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],aliases:["check-square"]};p.node;let g=(0,l.default)(p);var x=e.i(609617),v=e.i(837001),y=e.i(765470),b=e.i(975157),w=e.i(793479),k=e.i(759684),S=e.i(107308);let C={name:"copy-plus",size:24,node:[["line",{x1:"15",x2:"15",y1:"12",y2:"18",key:"1p7wdc"}],["line",{x1:"12",x2:"18",y1:"15",y2:"15",key:"1nscbv"}],["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};C.node;let j=(0,l.default)(C);var M=e.i(246978);let N={name:"link-2",size:24,node:[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]};N.node;let D=(0,l.default)(N);var A=e.i(475850),E=e.i(248070),T=e.i(424991),L=e.i(458055),R=e.i(755146),P=e.i(776639),I=e.i(519455),B=e.i(903763);function O({path:e,actions:n}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(R.DropdownMenuItem,{onSelect:()=>n.rename(e),children:[(0,t.jsx)(T.Pencil,{})," Rename",(0,t.jsx)(R.DropdownMenuShortcut,{children:(0,B.itemKeyLabel)("edit")})]}),(0,t.jsxs)(R.DropdownMenuItem,{onSelect:()=>n.move(e),children:[(0,t.jsx)(M.FolderInput,{})," Move to folder"]}),(0,t.jsxs)(R.DropdownMenuItem,{onSelect:()=>n.duplicate(e),children:[(0,t.jsx)(j,{})," Duplicate",(0,t.jsx)(R.DropdownMenuShortcut,{children:(0,B.itemKeyLabel)("duplicate")})]}),(0,t.jsx)(R.DropdownMenuSeparator,{}),(0,t.jsxs)(R.DropdownMenuItem,{onSelect:()=>n.copyPath(e),children:[(0,t.jsx)(x.Copy,{})," Copy path"]}),(0,t.jsxs)(R.DropdownMenuItem,{onSelect:()=>n.copyLink(e),children:[(0,t.jsx)(D,{})," Copy link"]}),(0,t.jsxs)(R.DropdownMenuItem,{onSelect:()=>n.chat(e),children:[(0,t.jsx)(A.MessageSquare,{})," Chat about this doc",(0,t.jsx)(R.DropdownMenuShortcut,{children:(0,B.itemKeyLabel)("chat")})]}),(0,t.jsx)(R.DropdownMenuSeparator,{}),(0,t.jsxs)(R.DropdownMenuItem,{onSelect:()=>n.remove(e),className:"text-danger focus:text-danger",children:[(0,t.jsx)(L.Trash2,{})," Delete",(0,t.jsx)(R.DropdownMenuShortcut,{children:(0,B.itemKeyLabel)("remove")})]})]})}function z({path:e,actions:n,open:r,onOpenChange:i,className:o}){return(0,t.jsxs)(R.DropdownMenu,{open:r,onOpenChange:i,children:[(0,t.jsx)(R.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":`Actions for ${e}`,onClick:e=>e.stopPropagation(),className:(0,b.cn)("grid size-7 shrink-0 place-items-center rounded-md text-muted hover:bg-surface2 hover:text-txt",o),children:(0,t.jsx)(E.MoreHorizontal,{className:"size-4"})})}),(0,t.jsx)(R.DropdownMenuContent,{align:"end",className:"w-52",children:(0,t.jsx)(O,{path:e,actions:n})})]})}let $=e=>e.split("/").slice(0,-1).join("/"),F=e=>e.split("/").pop()??e;function V({mode:e,path:n,onSubmit:r,onClose:i}){return(0,t.jsx)(P.Dialog,{open:!!e,onOpenChange:e=>{e||i()},children:(0,t.jsx)(P.DialogContent,{className:"max-w-md bg-surface border-border",children:e&&(0,t.jsx)(q,{mode:e,path:n,onSubmit:r,onClose:i},`${e}:${n}`)})})}function q({mode:e,path:r,onSubmit:i,onClose:o}){let[a,s]=(0,n.useState)("rename"===e?F(r).replace(/\.md$/,""):$(r)),[l,c]=(0,n.useState)(null),[d,h]=(0,n.useState)(!1),u=a.trim().replace(/^\/+|\/+$/g,""),f="rename"===e?[$(r),u&&`${u.replace(/\.md$/,"")}.md`].filter(Boolean).join("/"):[u,F(r)].filter(Boolean).join("/"),m="rename"===e&&(!u||u.includes("/"))||f===r;async function p(){if(m)return;h(!0),c(null);let e=await i(f);h(!1),e?c(e):o()}return(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),p()},className:"flex flex-col gap-3",children:[(0,t.jsx)(P.DialogHeader,{children:(0,t.jsx)(P.DialogTitle,{className:"text-txt",children:"rename"===e?"Rename doc":"Move to folder"})}),(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-muted",children:["rename"===e?"Name":"Folder (empty = project root)",(0,t.jsx)(w.Input,{autoFocus:!0,value:a,onChange:e=>s(e.target.value),placeholder:"move"===e?"docs/guides":void 0,className:"bg-bg border-border text-txt"})]}),(0,t.jsxs)("p",{className:"font-mono text-[11px] text-muted truncate",title:f,children:["→ ",f||"—"]}),l&&(0,t.jsx)("p",{role:"alert",className:"text-xs text-danger",children:l}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(I.Button,{type:"button",size:"sm",variant:"ghost",onClick:o,disabled:d,children:"Cancel"}),(0,t.jsx)(I.Button,{type:"submit",size:"sm",disabled:d||m,className:"bg-accent text-accent-fg hover:bg-accent/90",children:"rename"===e?"Rename":"Move"})]})]})}let W=(0,n.createContext)({active:!1,selected:new Set,toggle:()=>{},actions:null,collapsed:new Set,toggleFolder:()=>{}}),U=224;function H(e){return e.replace(/\\/g,"/")}function K(e){return e.replace(/^\d+-/,"").replace(/[-_]/g," ").toLowerCase().replace(/\b\w/g,e=>e.toUpperCase())}function J({node:e,depth:r,selectedPath:l,onDocClick:c,folderPath:d}){let{active:h,selected:u,toggle:f,actions:m,collapsed:p,toggleFolder:g}=(0,n.useContext)(W),[x,y]=(0,n.useState)(!1),w=!!e.docPath,k=e.docPath===l,C=!!e.docPath&&u.has(e.docPath),j=12*r;return w?(0,t.jsxs)("div",{onContextMenu:e=>{!h&&m&&(e.preventDefault(),y(!0))},className:(0,b.cn)("group w-full flex items-center gap-2 h-7 pr-1 rounded-md text-xs transition-colors",k&&!h?"bg-accent/10 text-accent font-medium":C?"bg-accent/10 text-accent":"text-muted hover:text-txt hover:bg-surface2"),children:[(0,t.jsxs)("button",{onClick:()=>h?f(e.docPath):c(e.docPath),style:{paddingLeft:`${8+j}px`},className:"flex-1 flex items-center gap-2 h-full truncate",children:[h?(0,t.jsx)("span",{className:(0,b.cn)("h-3.5 w-3.5 shrink-0 rounded-sm border flex items-center justify-center transition-colors",C?"border-accent bg-accent/20":"border-border"),children:C&&(0,t.jsx)(v.Check,{className:"h-2.5 w-2.5 text-accent"})}):(0,t.jsx)(i.FileText,{className:"h-3.5 w-3.5 shrink-0 opacity-50"}),(0,t.jsx)("span",{className:"truncate",children:K(e.name)})]}),!h&&m&&(0,t.jsx)(z,{path:e.docPath,actions:m,open:x,onOpenChange:y,className:"size-5 rounded-sm opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100 data-[state=open]:opacity-100"})]}):(0,t.jsxs)(S.Collapsible,{open:!p.has(d),onOpenChange:()=>g(d),children:[(0,t.jsx)(S.CollapsibleTrigger,{asChild:!0,children:(0,t.jsxs)("button",{style:{paddingLeft:`${8+j}px`},className:"group/trigger w-full flex items-center gap-2 h-7 pr-2 rounded-md text-xs font-medium text-muted hover:text-txt hover:bg-surface2 transition-colors",children:[(0,t.jsx)(s.ChevronRight,{className:"h-3 w-3 shrink-0 transition-transform duration-200 group-data-[state=open]/trigger:rotate-90"}),(0,t.jsx)(o.Folder,{className:"h-3.5 w-3.5 shrink-0 text-accent/70 group-data-[state=open]/trigger:hidden"}),(0,t.jsx)(a.FolderOpen,{className:"h-3.5 w-3.5 shrink-0 text-accent/70 hidden group-data-[state=open]/trigger:block"}),(0,t.jsx)("span",{className:"truncate",children:K(e.name)})]})}),(0,t.jsx)(S.CollapsibleContent,{className:"overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down",children:e.children.map(e=>(0,t.jsx)(J,{node:e,depth:r+1,selectedPath:l,onDocClick:c,folderPath:`${d}/${e.name}`},e.docPath??e.name))})]})}function G({docs:e,selectedDocPath:r,searchValue:o,onSearchChange:a,onDocClick:s,onNewDocClick:l,rootParam:c="",docActions:p}){let[S,C]=(0,n.useState)(!1),[j,M]=(0,n.useState)(new Set),[N,D]=(0,n.useState)("idle"),[A,E]=(0,n.useState)(null),[T,L]=(0,n.useState)(U),R=(0,n.useRef)(null),[P,I]=(0,n.useState)(new Set),[B,O]=(0,n.useState)(r),z=(0,n.useMemo)(()=>e.filter(e=>{let t=H(e.path);return"CLAUDE.md"===t||"AGENTS.md"===t||t.endsWith("/CLAUDE.md")||t.endsWith("/AGENTS.md")}),[e]),$=(0,n.useMemo)(()=>e.filter(e=>{let t=H(e.path);return"CLAUDE.md"!==t&&"AGENTS.md"!==t&&!t.endsWith("/CLAUDE.md")&&!t.endsWith("/AGENTS.md")}),[e]),F=(0,n.useMemo)(()=>(function(e){let t={name:"",children:[]};for(let n of e){let e=H(n.path).split("/"),r=t;for(let t=0;t<e.length-1;t++){let n=r.children.find(n=>n.name===e[t]&&!n.docPath);n||(n={name:e[t],children:[]},r.children.push(n)),r=n}r.children.push({name:n.name,docPath:n.path,children:[]})}return t.children})($),[$]),V=(0,n.useMemo)(()=>(function e(t,n=""){return t.flatMap(t=>{if(t.docPath)return[];let r=n?`${n}/${t.name}`:t.name;return[r,...e(t.children,r)]})})(F),[F]),q=o.trim().length>0,_=V.length>0&&V.every(e=>P.has(e));if(r!==B){let e;O(r);let t=r?(e=H(r).split("/").slice(0,-1)).map((t,n)=>e.slice(0,n+1).join("/")):[];t.some(e=>P.has(e))&&I(e=>{let n=new Set(e);return t.forEach(e=>n.delete(e)),n})}function X(e){L(U=Math.min(560,Math.max(180,e)))}function Q(e){M(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function Y(){C(!1),M(new Set),D("idle")}async function Z(){if(0!==j.size){D("copying");try{let e=await fetch(`/api/context${c}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths:[...j]})}),{context:t}=await e.json();await navigator.clipboard.writeText(t),D("copied"),setTimeout(()=>D("idle"),2e3)}catch{D("idle")}}}return(0,t.jsx)(W.Provider,{value:{active:S,selected:j,toggle:Q,actions:p??null,collapsed:P,toggleFolder:function(e){I(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}},children:(0,t.jsxs)("aside",{style:{width:T},className:"relative flex flex-col border-r border-border shrink-0 bg-sidebar",children:[(0,t.jsx)("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize docs panel","aria-valuenow":T,"aria-valuemin":180,"aria-valuemax":560,tabIndex:0,onPointerDown:e=>{e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),R.current={startX:e.clientX,startWidth:T}},onPointerMove:e=>{R.current&&X(R.current.startWidth+e.clientX-R.current.startX)},onPointerUp:()=>{R.current=null},onDoubleClick:()=>X(224),onKeyDown:e=>{"ArrowLeft"===e.key?X(T-16):"ArrowRight"===e.key&&X(T+16)},className:"absolute -right-1 top-0 z-10 h-full w-2 cursor-col-resize after:absolute after:inset-y-0 after:left-1/2 after:w-px after:-translate-x-1/2 after:transition-colors hover:after:bg-accent/60 focus-visible:outline-none focus-visible:after:bg-accent active:after:bg-accent"}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-border",children:[(0,t.jsx)("span",{className:"text-[10px] font-semibold text-muted uppercase tracking-wider",children:"Docs"}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[!S&&!q&&V.length>0&&(0,t.jsx)("button",{onClick:()=>I(_?new Set:new Set(V)),className:"h-5 w-5 flex items-center justify-center rounded-sm hover:bg-surface2 text-muted hover:text-accent transition-colors",title:_?"Expand all folders":"Collapse all folders","aria-label":_?"Expand all folders":"Collapse all folders",children:_?(0,t.jsx)(h.ChevronsUpDown,{className:"h-3.5 w-3.5"}):(0,t.jsx)(d,{className:"h-3.5 w-3.5"})}),(0,t.jsx)("button",{onClick:()=>{S?Y():C(!0)},className:(0,b.cn)("h-5 w-5 flex items-center justify-center rounded-sm transition-colors",S?"bg-accent/20 text-accent":"hover:bg-surface2 text-muted hover:text-accent"),title:"Select docs",children:(0,t.jsx)(g,{className:"h-3.5 w-3.5"})}),l&&(0,t.jsx)("button",{onClick:l,className:"h-5 w-5 flex items-center justify-center rounded-sm hover:bg-surface2 text-muted hover:text-accent transition-colors",title:"New document",children:(0,t.jsx)(m.Plus,{className:"h-3.5 w-3.5"})})]})]}),!S&&(0,t.jsx)("div",{className:"p-2 border-b border-border",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(u.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted pointer-events-none"}),(0,t.jsx)(w.Input,{id:"doc-search",value:o,onChange:e=>a(e.target.value),placeholder:"Search docs...",className:"pl-7 h-8 text-xs bg-surface2 border-transparent focus:border-border"})]})}),(0,t.jsx)(k.ScrollArea,{className:"flex-1",children:(0,t.jsx)("div",{className:"p-1.5 space-y-0.5",children:S?e.map(e=>{let n=j.has(e.path);return(0,t.jsxs)("button",{onClick:()=>Q(e.path),className:(0,b.cn)("w-full flex items-center gap-2 h-7 px-2 rounded-md text-xs transition-colors",n?"bg-accent/10 text-accent":"text-muted hover:text-txt hover:bg-surface2"),children:[(0,t.jsx)("span",{className:(0,b.cn)("h-3.5 w-3.5 shrink-0 rounded-sm border flex items-center justify-center transition-colors",n?"border-accent bg-accent/20":"border-border"),children:n&&(0,t.jsx)(v.Check,{className:"h-2.5 w-2.5 text-accent"})}),(0,t.jsx)("span",{className:"truncate flex-1 text-left",children:e.name}),(0,t.jsx)("span",{className:"text-[10px] opacity-40 truncate max-w-[60px]",children:H(e.path).split("/").slice(0,-1).join("/")||"root"})]},e.path)}):(0,t.jsxs)(t.Fragment,{children:[!q&&z.length>0&&(0,t.jsxs)("div",{className:"mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1",children:[(0,t.jsx)(f.Bot,{className:"h-3.5 w-3.5 text-amber-400 shrink-0"}),(0,t.jsx)("span",{className:"text-[10px] font-semibold text-muted uppercase tracking-wider",children:"Agent Config"}),(0,t.jsx)("span",{className:"ml-auto text-[9px] font-medium bg-amber-400/15 text-amber-400 px-1.5 py-0.5 rounded-full",children:"AI"})]}),z.map(e=>(0,t.jsxs)("button",{onClick:()=>s(e.path),className:(0,b.cn)("w-full flex items-center gap-2 h-7 px-2 rounded-md text-xs transition-colors",e.path===r?"bg-accent/10 text-accent font-medium":"text-muted hover:text-txt hover:bg-surface2"),children:[(0,t.jsx)(i.FileText,{className:"h-3.5 w-3.5 shrink-0 opacity-50"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.path)),(0,t.jsx)("div",{className:"mt-2 border-t border-border"})]}),q?0===e.length?(0,t.jsx)("p",{className:"text-xs text-muted px-2 py-4 text-center",children:"No results"}):e.map(e=>(0,t.jsxs)("button",{onClick:()=>s(e.path),className:(0,b.cn)("w-full flex flex-col items-start gap-0.5 px-2 py-1.5 rounded-md text-xs transition-colors text-left",e.path===r?"bg-accent/10 text-accent":"text-muted hover:text-txt hover:bg-surface2"),children:[(0,t.jsx)("span",{className:"font-medium truncate w-full",children:K(e.name)}),(0,t.jsx)("span",{className:"text-[10px] opacity-50 truncate w-full",children:H(e.path).split("/").slice(0,-1).join("/")})]},e.path)):F.map(e=>(0,t.jsx)(J,{node:e,depth:0,selectedPath:r,onDocClick:s,folderPath:e.name},e.docPath??e.name))]})})}),S&&(0,t.jsxs)("div",{className:"border-t border-border p-2 space-y-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between text-[11px] text-muted",children:[(0,t.jsxs)("span",{children:[j.size," selected"]}),(0,t.jsxs)("button",{onClick:Y,className:"hover:text-txt transition-colors flex items-center gap-1",children:[(0,t.jsx)(y.X,{className:"h-3 w-3"})," Clear"]})]}),(0,t.jsx)("button",{onClick:Z,disabled:0===j.size||"copying"===N,className:(0,b.cn)("w-full flex items-center justify-center gap-1.5 h-7 rounded-md text-xs font-medium transition-colors","copied"===N?"bg-green-500/20 text-green-400":0===j.size?"bg-surface2 text-muted cursor-not-allowed":"bg-accent/20 text-accent hover:bg-accent/30"),children:"copied"===N?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v.Check,{className:"h-3 w-3"})," Copied!"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.Copy,{className:"h-3 w-3"})," Copy Context"]})})]})]})})}var _=e.i(583225);let X={name:"download",size:24,node:[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]};X.node;let Q=(0,l.default)(X),Y={name:"list-todo",size:24,node:[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]};Y.node;let Z=(0,l.default)(Y);var ee=e.i(172856);function et(){return(et=Object.assign.bind()).apply(null,arguments)}var en=e.i(859850),er=e.i(588395),ei=e.i(986256),eo=e.i(78925);function ea(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let i=e(t,n);return!!i&&(r(n.update(i)),!0)}}let es=ea(function(e,t,n=t.selection.ranges){let r=[],i=-1;e:for(let{from:e,to:o}of n){let n=r.length,a=1e9,s;for(let n=e;n<=o;){let l=t.doc.lineAt(n);if(void 0==s&&!(s=ed(t,l.from).line))continue e;if(l.from>i&&(e==o||o>l.from)){i=l.from;let e=/^\s*/.exec(l.text)[0].length,t=e==l.length,n=l.text.slice(e,e+s.length)==s?e:-1;e<l.text.length&&e<a&&(a=e),r.push({line:l,comment:n,token:s,indent:e,empty:t,single:!1})}n=l.to+1}if(a<1e9)for(let e=n;e<r.length;e++)r[e].indent<r[e].line.text.length&&(r[e].indent=a);r.length==n+1&&(r[n].single=!0)}if(2!=e&&r.some(e=>e.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:i,empty:o,single:a}of r)(a||!o)&&e.push({from:t.from+i,insert:n+" "});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(1!=e&&r.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:i}of r)if(n>=0){let r=t.from+n,o=r+i.length;" "==t.text[o-t.from]&&o++,e.push({from:r,to:o})}return{changes:e}}return null},0),el=ea(eh,0),ec=ea((e,t)=>eh(e,t,function(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),i=n.to<=r.to?r:e.doc.lineAt(n.to);i.from>r.from&&i.from==n.to&&(i=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let o=t.length-1;o>=0&&t[o].to>r.from?t[o].to=i.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return t}(t)),0);function ed(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}function eh(e,t,n=t.selection.ranges){let r=n.map(e=>ed(t,e.from).block);if(!r.every(e=>e))return null;let i=n.map((e,n)=>(function(e,{open:t,close:n},r,i){let o,a,s=e.sliceDoc(r-50,r),l=e.sliceDoc(i,i+50),c=/\s*$/.exec(s)[0].length,d=/^\s*/.exec(l)[0].length,h=s.length-c;if(s.slice(h-t.length,h)==t&&l.slice(d,d+n.length)==n)return{open:{pos:r-c,margin:c&&1},close:{pos:i+d,margin:d&&1}};i-r<=100?o=a=e.sliceDoc(r,i):(o=e.sliceDoc(r,r+50),a=e.sliceDoc(i-50,i));let u=/^\s*/.exec(o)[0].length,f=/\s*$/.exec(a)[0].length,m=a.length-f-n.length;return o.slice(u,u+t.length)==t&&a.slice(m,m+n.length)==n?{open:{pos:r+u+t.length,margin:+!!/\s/.test(o.charAt(u+t.length))},close:{pos:i-f-n.length,margin:+!!/\s/.test(a.charAt(m-1))}}:null})(t,r[n],e.from,e.to));if(2!=e&&!i.every(e=>e))return{changes:t.changes(n.map((e,t)=>i[t]?[]:[{from:e.from,insert:r[t].open+" "},{from:e.to,insert:" "+r[t].close}]))};if(1!=e&&i.some(e=>e)){let e=[];for(let t=0,n;t<i.length;t++)if(n=i[t]){let i=r[t],{open:o,close:a}=n;e.push({from:o.pos-i.open.length,to:o.pos+o.margin},{from:a.pos-a.margin,to:a.pos+i.close.length})}return{changes:e}}return null}let eu=en.Annotation.define(),ef=en.Annotation.define(),em=en.Facet.define(),ep=en.Facet.define({combine:e=>(0,en.combineConfig)(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}),eg=en.StateField.define({create:()=>eA.empty,update(e,t){let n=t.state.facet(ep),r=t.annotation(eu);if(r){let i=ek.fromTransaction(t,r.selection),o=r.side,a=0==o?e.undone:e.done;return a=i?eS(a,a.length,n.minDepth,i):eM(a,t.startState.selection),new eA(0==o?r.rest:a,0==o?a:r.rest)}let i=t.annotation(ef);if(("full"==i||"before"==i)&&(e=e.isolate()),!1===t.annotation(en.Transaction.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let o=ek.fromTransaction(t),a=t.annotation(en.Transaction.time),s=t.annotation(en.Transaction.userEvent);return o?e=e.addChanges(o,a,s,n,t):t.selection&&(e=e.addSelection(t.startState.selection,a,s,n.newGroupDelay)),("full"==i||"after"==i)&&(e=e.isolate()),e},toJSON:e=>({done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}),fromJSON:e=>new eA(e.done.map(ek.fromJSON),e.undone.map(ek.fromJSON))});function ex(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let i=n.field(eg,!1);if(!i)return!1;let o=i.pop(e,n,t);return!!o&&(r(o),!0)}}let ev=ex(0,!1),ey=ex(1,!1),eb=ex(0,!0),ew=ex(1,!0);class ek{constructor(e,t,n,r,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=i}setSelAfter(e){return new ek(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:null==(e=this.changes)?void 0:e.toJSON(),mapped:null==(t=this.mapped)?void 0:t.toJSON(),startSelection:null==(n=this.startSelection)?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new ek(e.changes&&en.ChangeSet.fromJSON(e.changes),[],e.mapped&&en.ChangeDesc.fromJSON(e.mapped),e.startSelection&&en.EditorSelection.fromJSON(e.startSelection),e.selectionsAfter.map(en.EditorSelection.fromJSON))}static fromTransaction(e,t){let n=ej;for(let t of e.startState.facet(em)){let r=t(e);r.length&&(n=n.concat(r))}return!n.length&&e.changes.empty?null:new ek(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,ej)}static selection(e){return new ek(void 0,ej,void 0,void 0,e)}}function eS(e,t,n,r){let i=e.slice(t+1>n+20?t-n-1:0,t);return i.push(r),i}function eC(e,t){return e.length?t.length?e.concat(t):e:t}let ej=[];function eM(e,t){if(!e.length)return[ek.selection([t])];{let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-200));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),eS(e,e.length-1,1e9,n.setSelAfter(r)))}}function eN(e,t){if(!e.length)return e;let n=e.length,r=ej;for(;n;){let i=function(e,t,n){let r=eC(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):ej,n);if(!e.changes)return ek.selection(r);let i=e.changes.map(t),o=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(o):o;return new ek(i,en.StateEffect.mapEffects(e.effects,t),a,e.startSelection.map(o),r)}(e[n-1],t,r);if(i.changes&&!i.changes.empty||i.effects.length){let t=e.slice(0,n);return t[n-1]=i,t}t=i.mapped,n--,r=i.selectionsAfter}return r.length?[ek.selection(r)]:ej}let eD=/^(input\.type|delete)($|\.)/;class eA{constructor(e,t,n=0,r){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new eA(this.done,this.undone):this}addChanges(e,t,n,r,i){var o,a;let s,l,c=this.done,d=c[c.length-1];return new eA(c=d&&d.changes&&!d.changes.empty&&e.changes&&(!n||eD.test(n))&&(!d.selectionsAfter.length&&t-this.prevTime<r.newGroupDelay&&r.joinToEvent(i,(o=d.changes,a=e.changes,s=[],l=!1,o.iterChangedRanges((e,t)=>s.push(e,t)),a.iterChangedRanges((e,t,n,r)=>{for(let e=0;e<s.length;){let t=s[e++],i=s[e++];r>=t&&n<=i&&(l=!0)}}),l))||"input.type.compose"==n)?eS(c,c.length-1,r.minDepth,new ek(e.changes.compose(d.changes),eC(en.StateEffect.mapEffects(e.effects,d.changes),d.effects),d.mapped,d.startSelection,ej)):eS(c,c.length,r.minDepth,e),ej,t,n)}addSelection(e,t,n,r){var i;let o=this.done.length?this.done[this.done.length-1].selectionsAfter:ej;return o.length>0&&t-this.prevTime<r&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&(i=o[o.length-1],i.ranges.length==e.ranges.length&&0===i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length)?this:new eA(eM(this.done,e),this.undone,t,n)}addMapping(e){return new eA(eN(this.done,e),eN(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=0==e?this.done:this.undone;if(0==r.length)return null;let i=r[r.length-1],o=i.selectionsAfter[0]||(i.startSelection?i.startSelection.map(i.changes.invertedDesc,1):t.selection);if(n&&i.selectionsAfter.length){let n,a;return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:eu.of({side:e,rest:(n=r[r.length-1],(a=r.slice())[r.length-1]=n.setSelAfter(n.selectionsAfter.slice(0,n.selectionsAfter.length-1)),a),selection:o}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0})}{if(!i.changes)return null;let n=1==r.length?ej:r.slice(0,r.length-1);return i.mapped&&(n=eN(n,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:eu.of({side:e,rest:n,selection:o}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}}}eA.empty=new eA(ej,ej);let eE=[{key:"Mod-z",run:ev,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:ey,preventDefault:!0},{linux:"Ctrl-Shift-z",run:ey,preventDefault:!0},{key:"Mod-u",run:eb,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:ew,preventDefault:!0}];function eT(e,t){return en.EditorSelection.create(e.ranges.map(t),e.mainIndex)}function eL(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function eR({state:e,dispatch:t},n){let r=eT(e.selection,n);return!r.eq(e.selection,!0)&&(t(eL(e,r)),!0)}function eP(e,t){return en.EditorSelection.cursor(t?e.to:e.from)}function eI(e,t){return eR(e,n=>n.empty?e.moveByChar(n,t):eP(n,t))}function eB(e){return e.textDirectionAt(e.state.selection.main.head)==er.Direction.LTR}let eO=e=>eI(e,!eB(e)),ez=e=>eI(e,eB(e));function e$(e,t){return eR(e,n=>n.empty?e.moveByGroup(n,t):eP(n,t))}function eF(e,t,n){let r,i,o=(0,ei.syntaxTree)(e).resolveInner(t.head),a=n?eo.NodeProp.closedBy:eo.NodeProp.openedBy;for(let r=t.head;;){let t=n?o.childAfter(r):o.childBefore(r);if(!t)break;!function(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}(e,t,a)?r=n?t.to:t.from:o=t}return i=o.type.prop(a)&&(r=n?(0,ei.matchBrackets)(e,o.from,1):(0,ei.matchBrackets)(e,o.to,-1))&&r.matched?n?r.end.to:r.end.from:n?o.to:o.from,en.EditorSelection.cursor(i,n?-1:1)}function eV(e,t){return eR(e,n=>{if(!n.empty)return eP(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}"u">typeof Intl&&Intl.Segmenter;let eq=e=>eV(e,!1),eW=e=>eV(e,!0);function eU(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,i;if(t){for(let t of e.state.facet(er.EditorView.scrollMargins)){let i=t(e);(null==i?void 0:i.top)&&(n=Math.max(null==i?void 0:i.top,n)),(null==i?void 0:i.bottom)&&(r=Math.max(null==i?void 0:i.bottom,r))}i=e.scrollDOM.clientHeight-n-r}else i=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,i-5)}}function eH(e,t){let n,r=eU(e),{state:i}=e,o=eT(i.selection,n=>n.empty?e.moveVertically(n,t,r.height):eP(n,t));if(o.eq(i.selection))return!1;if(r.selfScroll){let t=e.coordsAtPos(i.selection.main.head),a=e.scrollDOM.getBoundingClientRect(),s=a.top+r.marginTop,l=a.bottom-r.marginBottom;t&&t.top>s&&t.bottom<l&&(n=er.EditorView.scrollIntoView(o.main.head,{y:"start",yMargin:t.top-s}))}return e.dispatch(eL(i,o),{effects:n}),!0}let eK=e=>eH(e,!1),eJ=e=>eH(e,!0);function eG(e,t,n){let r=e.lineBlockAt(t.head),i=e.moveToLineBoundary(t,n);if(i.head==t.head&&i.head!=(n?r.to:r.from)&&(i=e.moveToLineBoundary(t,n,!1)),!n&&i.head==r.from&&r.length){let n=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;n&&t.head!=r.from+n&&(i=en.EditorSelection.cursor(r.from+n))}return i}function e_(e,t,n){let r=eT(e.state.selection,e=>{e.undirectional&&e.head>=e.anchor!=t&&(e=en.EditorSelection.range(e.head,e.anchor));let r=n(e);return en.EditorSelection.range(e.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return!r.eq(e.state.selection)&&(e.dispatch(eL(e.state,r)),!0)}function eX(e,t){return e_(e,t,n=>e.moveByChar(n,t))}let eQ=e=>eX(e,!eB(e)),eY=e=>eX(e,eB(e));function eZ(e,t){return e_(e,t,n=>e.moveByGroup(n,t))}function e0(e,t){return e_(e,t,n=>e.moveVertically(n,t))}let e1=e=>e0(e,!1),e2=e=>e0(e,!0);function e5(e,t){return e_(e,t,n=>e.moveVertically(n,t,eU(e).height))}let e3=e=>e5(e,!1),e4=e=>e5(e,!0),e6=({state:e,dispatch:t})=>(t(eL(e,{anchor:0})),!0),e7=({state:e,dispatch:t})=>(t(eL(e,{anchor:e.doc.length})),!0),e9=({state:e,dispatch:t})=>(t(eL(e,{anchor:e.selection.main.anchor,head:0})),!0),e8=({state:e,dispatch:t})=>(t(eL(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function te(e,t){let{state:n}=e,r=n.selection,i=n.selection.ranges.slice();for(let r of n.selection.ranges){let o=n.doc.lineAt(r.head);if(t?o.to<e.state.doc.length:o.from>0)for(let n=r;;){let r=e.moveVertically(n,t);if(r.head<o.from||r.head>o.to){i.some(e=>e.head==r.head)||i.push(r);break}if(r.head==n.head)break;n=r}}return i.length!=r.ranges.length&&(e.dispatch(eL(n,en.EditorSelection.create(i,i.length-1))),!0)}function tt(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:r}=e,i=r.changeByRange(r=>{let{from:i,to:o}=r;if(i==o){let a=t(r);a<i?(n="delete.backward",a=tn(e,a,!1)):a>i&&(n="delete.forward",a=tn(e,a,!0)),i=Math.min(i,a),o=Math.max(o,a)}else i=tn(e,i,!1),o=tn(e,o,!0);return i==o?{range:r}:{changes:{from:i,to:o},range:en.EditorSelection.cursor(i,i<r.head?-1:1)}});return!i.changes.empty&&(e.dispatch(r.update(i,{scrollIntoView:!0,userEvent:n,effects:"delete.selection"==n?er.EditorView.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function tn(e,t,n){if(e instanceof er.EditorView)for(let r of e.state.facet(er.EditorView.atomicRanges).map(t=>t(e)))r.between(t,t,(e,r)=>{e<t&&r>t&&(t=n?r:e)});return t}let tr=(e,t,n)=>tt(e,r=>{let i=r.from,{state:o}=e,a=o.doc.lineAt(i),s,l;if(n&&!t&&i>a.from&&i<a.from+200&&!/[^ \t]/.test(s=a.text.slice(0,i-a.from))){if(" "==s[s.length-1])return i-1;let e=(0,en.countColumn)(s,o.tabSize)%(0,ei.getIndentUnit)(o)||(0,ei.getIndentUnit)(o);for(let t=0;t<e&&" "==s[s.length-1-t];t++)i--;l=i}else(l=(0,en.findClusterBreak)(a.text,i-a.from,t,t)+a.from)==i&&a.number!=(t?o.doc.lines:1)?l+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(a.text.slice(l-a.from,i-a.from))&&(l=(0,en.findClusterBreak)(a.text,l-a.from,!1,!1)+a.from);return l}),ti=e=>tr(e,!1,!0),to=e=>tr(e,!0,!1),ta=(e,t)=>tt(e,n=>{let r=n.head,{state:i}=e,o=i.doc.lineAt(r),a=i.charCategorizer(r);for(let e=null;;){if(r==(t?o.to:o.from)){r==n.head&&o.number!=(t?i.doc.lines:1)&&(r+=t?1:-1);break}let s=(0,en.findClusterBreak)(o.text,r-o.from,t)+o.from,l=o.text.slice(Math.min(r,s)-o.from,Math.max(r,s)-o.from),c=a(l);if(null!=e&&c!=e)break;(" "!=l||r!=n.head)&&(e=c),r=s}return r}),ts=e=>ta(e,!1);function tl(e){let t=[],n=-1;for(let r of e.selection.ranges){let i=e.doc.lineAt(r.from),o=e.doc.lineAt(r.to);if(r.empty||r.to!=o.from||(o=e.doc.lineAt(r.to-1)),n>=i.number){let e=t[t.length-1];e.to=o.to,e.ranges.push(r)}else t.push({from:i.from,to:o.to,ranges:[r]});n=o.number+1}return t}function tc(e,t,n){if(e.readOnly)return!1;let r=[],i=[];for(let t of tl(e)){if(n?t.to==e.doc.length:0==t.from)continue;let o=e.doc.lineAt(n?t.to+1:t.from-1),a=o.length+1;if(n)for(let n of(r.push({from:t.to,to:o.to},{from:t.from,insert:o.text+e.lineBreak}),t.ranges))i.push(en.EditorSelection.range(Math.min(e.doc.length,n.anchor+a),Math.min(e.doc.length,n.head+a)));else for(let n of(r.push({from:o.from,to:t.from},{from:t.to,insert:e.lineBreak+o.text}),t.ranges))i.push(en.EditorSelection.range(n.anchor-a,n.head-a))}return!!r.length&&(t(e.update({changes:r,scrollIntoView:!0,selection:en.EditorSelection.create(i,e.selection.mainIndex),userEvent:"move.line"})),!0)}function td(e,t,n){if(e.readOnly)return!1;let r=[];for(let t of tl(e))n?r.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):r.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});let i=e.changes(r);return t(e.update({changes:i,selection:e.selection.map(i,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}let th=tf(!1),tu=tf(!0);function tf(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(n=>{let{from:r,to:i}=n,o=t.doc.lineAt(r),a=!e&&r==i&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=(0,ei.syntaxTree)(e).resolveInner(t),r=n.childBefore(t),i=n.childAfter(t),o;return r&&i&&r.to<=t&&i.from>=t&&(o=r.type.prop(eo.NodeProp.closedBy))&&o.indexOf(i.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(i.from).from&&!/\S/.test(e.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}(t,r);e&&(r=i=(i<=o.to?o:t.doc.lineAt(i)).to);let s=new ei.IndentContext(t,{simulateBreak:r,simulateDoubleBreak:!!a}),l=(0,ei.getIndentation)(s,r);for(null==l&&(l=(0,en.countColumn)(/^\s*/.exec(t.doc.lineAt(r).text)[0],t.tabSize));i<o.to&&/\s/.test(o.text[i-o.from]);)i++;a?{from:r,to:i}=a:r>o.from&&r<o.from+100&&!/\S/.test(o.text.slice(0,r))&&(r=o.from);let c=["",(0,ei.indentString)(t,l)];return a&&c.push((0,ei.indentString)(t,s.lineIndent(o.from,-1))),{changes:{from:r,to:i,insert:en.Text.of(c)},range:en.EditorSelection.cursor(r+1+c[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function tm(e,t){let n=-1;return e.changeByRange(r=>{let i=[];for(let o=r.from;o<=r.to;){let a=e.doc.lineAt(o);a.number>n&&(r.empty||r.to>a.from)&&(t(a,i,r),n=a.number),o=a.to+1}let o=e.changes(i);return{changes:i,range:en.EditorSelection.range(o.mapPos(r.anchor,1),o.mapPos(r.head,1))}})}let tp=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(tm(e,(t,n)=>{n.push({from:t.from,insert:e.facet(ei.indentUnit)})}),{userEvent:"input.indent"})),!0),tg=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(tm(e,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let i=(0,en.countColumn)(r,e.tabSize),o=0,a=(0,ei.indentString)(e,Math.max(0,i-(0,ei.getIndentUnit)(e)));for(;o<r.length&&o<a.length&&r.charCodeAt(o)==a.charCodeAt(o);)o++;n.push({from:t.from+o,to:t.from+r.length,insert:a.slice(o)})}),{userEvent:"delete.dedent"})),!0),tx=[{key:"Ctrl-b",run:eO,shift:eQ,preventDefault:!0},{key:"Ctrl-f",run:ez,shift:eY},{key:"Ctrl-p",run:eq,shift:e1},{key:"Ctrl-n",run:eW,shift:e2},{key:"Ctrl-a",run:e=>eR(e,t=>e.moveToLineBoundary(t,!1,!1)),shift:e=>e_(e,!1,t=>en.EditorSelection.cursor(e.lineBlockAt(t.head).from))},{key:"Ctrl-e",run:e=>eR(e,t=>e.moveToLineBoundary(t,!0,!1)),shift:e=>e_(e,!0,t=>en.EditorSelection.cursor(e.lineBlockAt(t.head).to))},{key:"Ctrl-d",run:to},{key:"Ctrl-h",run:ti},{key:"Ctrl-k",run:e=>tt(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)})},{key:"Ctrl-Alt-h",run:ts},{key:"Ctrl-o",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:en.Text.of(["",""])},range:en.EditorSelection.cursor(e.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let n=t.from,r=e.doc.lineAt(n),i=n==r.from?n-1:(0,en.findClusterBreak)(r.text,n-r.from,!1)+r.from,o=n==r.to?n+1:(0,en.findClusterBreak)(r.text,n-r.from,!0)+r.from;return{changes:{from:i,to:o,insert:e.doc.slice(n,o).append(e.doc.slice(i,n))},range:en.EditorSelection.cursor(o)}});return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:eJ}],tv=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>eR(e,t=>eF(e.state,t,!eB(e))),shift:e=>{let t=!eB(e);return e_(e,t,n=>eF(e.state,n,t))}},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>eR(e,t=>eF(e.state,t,eB(e))),shift:e=>{let t=eB(e);return e_(e,t,n=>eF(e.state,n,t))}},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>tc(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>td(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>tc(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>td(e,t,!0)},{key:"Mod-Alt-ArrowUp",run:e=>te(e,!1)},{key:"Mod-Alt-ArrowDown",run:e=>te(e,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=en.EditorSelection.create([n.main]):n.main.empty||(r=en.EditorSelection.create([en.EditorSelection.cursor(n.main.head)])),!!r&&(t(eL(e,r)),!0)}},{key:"Mod-Enter",run:tu},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let n=tl(e).map(({from:t,to:n})=>en.EditorSelection.undirectionalRange(t,Math.min(n+1,e.doc.length)));return t(e.update({selection:en.EditorSelection.create(n),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let n=eT(e.selection,t=>{let n=(0,ei.syntaxTree)(e),r=n.resolveStack(t.from,1);if(t.empty){let e=n.resolveStack(t.from,-1);e.node.from>=r.node.from&&e.node.to<=r.node.to&&(r=e)}for(let e=r;e;e=e.next){let{node:n}=e;if((n.from<t.from&&n.to>=t.to||n.to>t.to&&n.from<=t.from)&&e.next)return en.EditorSelection.undirectionalRange(n.from,n.to)}return t});return!n.eq(e.selection)&&(t(eL(e,n)),!0)},preventDefault:!0},{key:"Mod-[",run:tg},{key:"Mod-]",run:tp},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new ei.IndentContext(e,{overrideIndentation:e=>{let t=n[e];return null==t?-1:t}}),i=tm(e,(t,i,o)=>{let a=(0,ei.getIndentation)(r,t.from);if(null==a)return;/\S/.test(t.text)||(a=0);let s=/^\s*/.exec(t.text)[0],l=(0,ei.indentString)(e,a);(s!=l||o.from<t.from+s.length)&&(n[t.from]=a,i.push({from:t.from,to:t.from+s.length,insert:l}))});return i.changes.empty||t(e.update(i,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(tl(t).map(({from:e,to:n})=>(e>0?e--:n<t.doc.length&&n++,{from:e,to:n}))),r=eT(t.selection,t=>{let n;if(e.lineWrapping){let r=e.lineBlockAt(t.head),i=e.coordsAtPos(t.head,t.assoc||1);i&&(n=r.bottom+e.documentTop-i.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,n)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>{let n,r;return n=!1,r=eT(e.selection,t=>{let r=(0,ei.matchBrackets)(e,t.head,-1)||(0,ei.matchBrackets)(e,t.head,1)||t.head>0&&(0,ei.matchBrackets)(e,t.head-1,1)||t.head<e.doc.length&&(0,ei.matchBrackets)(e,t.head+1,-1);if(!r||!r.end)return t;n=!0;let i=r.start.from==t.head?r.end.to:r.end.from;return en.EditorSelection.cursor(i)}),!!n&&(t(eL(e,r)),!0)}},{key:"Mod-/",run:e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=ed(e.state,n.from);return r.line?es(e):!!r.block&&ec(e)}},{key:"Alt-A",mac:"Ctrl-A",run:el},{key:"Ctrl-m",mac:"Shift-Alt-m",run:e=>(e.setTabFocusMode(),!0)}].concat([{key:"ArrowLeft",run:eO,shift:eQ,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>e$(e,!eB(e)),shift:e=>eZ(e,!eB(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>eR(e,t=>eG(e,t,!eB(e))),shift:e=>{let t=!eB(e);return e_(e,t,n=>eG(e,n,t))},preventDefault:!0},{key:"ArrowRight",run:ez,shift:eY,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>e$(e,eB(e)),shift:e=>eZ(e,eB(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>eR(e,t=>eG(e,t,eB(e))),shift:e=>{let t=eB(e);return e_(e,t,n=>eG(e,n,t))},preventDefault:!0},{key:"ArrowUp",run:eq,shift:e1,preventDefault:!0},{mac:"Cmd-ArrowUp",run:e6,shift:e9},{mac:"Ctrl-ArrowUp",run:eK,shift:e3},{key:"ArrowDown",run:eW,shift:e2,preventDefault:!0},{mac:"Cmd-ArrowDown",run:e7,shift:e8},{mac:"Ctrl-ArrowDown",run:eJ,shift:e4},{key:"PageUp",run:eK,shift:e3},{key:"PageDown",run:eJ,shift:e4},{key:"Home",run:e=>eR(e,t=>eG(e,t,!1)),shift:e=>e_(e,!1,t=>eG(e,t,!1)),preventDefault:!0},{key:"Mod-Home",run:e6,shift:e9},{key:"End",run:e=>eR(e,t=>eG(e,t,!0)),shift:e=>e_(e,!0,t=>eG(e,t,!0)),preventDefault:!0},{key:"Mod-End",run:e7,shift:e8},{key:"Enter",run:th,shift:th},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:ti,shift:ti,preventDefault:!0},{key:"Delete",run:to,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:ts,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>ta(e,!0),preventDefault:!0},{mac:"Mod-Backspace",run:e=>tt(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),preventDefault:!0},{mac:"Mod-Delete",run:e=>tt(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),preventDefault:!0}].concat(tx.map(e=>({mac:e.key,run:e.run,shift:e.shift})))),ty={key:"Tab",run:tp,shift:tg};var tb=e.i(921520);let tw="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class tk{constructor(e,t,n=0,r=e.length,i,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=i?e=>i(tw(e)):tw,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return -1;this.bufferPos=0,this.buffer=this.iter.value}return(0,en.codePointAt)(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=(0,en.fromCodePoint)(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=(0,en.codePointSize)(e);let r=this.normalize(t);if(r.length)for(let e=0,i=n;;e++){let o=r.charCodeAt(e),a=this.match(o,i,this.bufferPos+this.bufferStart);if(e==r.length-1){if(a)return this.value=a,this;break}i==n&&e<t.length&&t.charCodeAt(e)==o&&i++}}}match(e,t,n){let r=null;for(let t=0;t<this.matches.length;t+=2){let i=this.matches[t],o=!1;this.query.charCodeAt(i)==e&&(i==this.query.length-1?r={from:this.matches[t+1],to:n}:(this.matches[t]++,o=!0)),o||(this.matches.splice(t,2),t-=2)}return this.query.charCodeAt(0)==e&&(1==this.query.length?r={from:t,to:n}:this.matches.push(1,t)),r&&this.test&&!this.test(r.from,r.to,this.buffer,this.bufferStart)&&(r=null),r}}"u">typeof Symbol&&(tk.prototype[Symbol.iterator]=function(){return this});let tS={from:-1,to:-1,match:/.*/.exec("")},tC="gm"+(null==/x/.unicode?"":"u");class tj{constructor(e,t,n,r=0,i=e.length){if(this.text=e,this.to=i,this.curLine="",this.done=!1,this.value=tS,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new tD(e,t,n,r,i);this.re=new RegExp(t,tC+((null==n?void 0:n.ignoreCase)?"i":"")),this.test=null==n?void 0:n.test,this.iter=e.iter();let o=e.lineAt(r);this.curLineStart=o.from,this.matchPos=tA(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,r=n+t[0].length;if(this.matchPos=tA(this.text,r+ +(n==r)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<r||n>this.value.to)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length<this.to))return this.done=!0,this;this.nextLine(),e=0}}}}let tM=new WeakMap;class tN{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,n){let r=tM.get(e);if(!r||r.from>=n||r.to<=t){let r=new tN(t,e.sliceString(t,n));return tM.set(e,r),r}if(r.from==t&&r.to==n)return r;let{text:i,from:o}=r;return o>t&&(i=e.sliceString(t,o)+i,o=t),r.to<n&&(i+=e.sliceString(r.to,n)),tM.set(e,new tN(o,i)),new tN(t,i.slice(t-o,n-o))}}class tD{constructor(e,t,n,r,i){this.text=e,this.to=i,this.done=!1,this.value=tS,this.matchPos=tA(e,r),this.re=new RegExp(t,tC+((null==n?void 0:n.ignoreCase)?"i":"")),this.test=null==n?void 0:n.test,this.flat=tN.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,n=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,n,t)))return this.value={from:e,to:n,match:t},this.matchPos=tA(this.text,n+ +(e==n)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=tN.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function tA(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}"u">typeof Symbol&&(tj.prototype[Symbol.iterator]=tD.prototype[Symbol.iterator]=function(){return this});let tE={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},tT=en.Facet.define({combine:e=>(0,en.combineConfig)(e,tE,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}),tL=er.Decoration.mark({class:"cm-selectionMatch"}),tR=er.Decoration.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function tP(e,t,n,r){return(0==n||e(t.sliceDoc(n-1,n))!=en.CharCategory.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=en.CharCategory.Word)}let tI=er.ViewPlugin.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(tT),{state:n}=e,r=n.selection;if(r.ranges.length>1)return er.Decoration.none;let i=r.main,o,a=null;if(i.empty){if(!t.highlightWordAroundCursor)return er.Decoration.none;let e=n.wordAt(i.head);if(!e)return er.Decoration.none;a=n.charCategorizer(i.head),o=n.sliceDoc(e.from,e.to)}else{let e=i.to-i.from;if(e<t.minSelectionLength||e>200)return er.Decoration.none;if(t.wholeWords){var s,l,c;if(o=n.sliceDoc(i.from,i.to),!(tP(a=n.charCategorizer(i.head),n,i.from,i.to)&&(s=a,l=i.from,c=i.to,s(n.sliceDoc(l,l+1))==en.CharCategory.Word&&s(n.sliceDoc(c-1,c))==en.CharCategory.Word)))return er.Decoration.none}else if(!(o=n.sliceDoc(i.from,i.to)))return er.Decoration.none}let d=[];for(let r of e.visibleRanges){let e=new tk(n.doc,o,r.from,r.to);for(;!e.next().done;){let{from:r,to:o}=e.value;if((!a||tP(a,n,r,o))&&(i.empty&&r<=i.from&&o>=i.to?d.push(tR.range(r,o)):(r>=i.to||o<=i.from)&&d.push(tL.range(r,o)),d.length>t.maxMatches))return er.Decoration.none}}return er.Decoration.set(d)}},{decorations:e=>e.decorations}),tB=er.EditorView.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),tO=en.Facet.define({combine:e=>(0,en.combineConfig)(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new nn(e),scrollToMatch:e=>er.EditorView.scrollIntoView(e)})});class tz{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||function(e){try{return new RegExp(e,tC),!0}catch(e){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new tH(this):new tV(this)}getCursor(e,t=0,n){let r=e.doc?e:en.EditorState.create({doc:e});return null==n&&(n=r.doc.length),this.regexp?tq(this,r,t,n):tF(this,r,t,n)}}class t${constructor(e){this.spec=e}}function tF(e,t,n,r){var i,o,a,s;let l;return e.wholeWord&&(a=t.doc,s=t.charCategorizer(t.selection.main.head),l=(e,t,n,r)=>((r>e||r+n.length<t)&&(r=Math.max(0,e-2),n=a.sliceString(r,Math.min(a.length,t+2))),(s(tW(n,e-r))!=en.CharCategory.Word||s(tU(n,e-r))!=en.CharCategory.Word)&&(s(tU(n,t-r))!=en.CharCategory.Word||s(tW(n,t-r))!=en.CharCategory.Word))),e.test&&(i=e.test,o=l,l=(e,n,r,a)=>(!o||!!o(e,n,r,a))&&i(e>=a&&n<=a+r.length?r.slice(e-a,n-a):t.doc.sliceString(e,n),t,e,n)),new tk(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:e=>e.toLowerCase(),l)}class tV extends t${constructor(e){super(e)}nextMatch(e,t,n){let r=tF(this.spec,e,n,e.doc.length).nextOverlapping();if(r.done){let n=Math.min(e.doc.length,t+this.spec.unquoted.length);r=tF(this.spec,e,0,n).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==n?null:r.value}prevMatchInRange(e,t,n){for(let r=n;;){let n=Math.max(t,r-1e4-this.spec.unquoted.length),i=tF(this.spec,e,n,r),o=null;for(;!i.nextOverlapping().done;)o=i.value;if(o)return o;if(n==t)return null;r-=1e4}}prevMatch(e,t,n){let r=this.prevMatchInRange(e,0,t);return r||(r=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=t||r.to!=n)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=tF(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=tF(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}}function tq(e,t,n,r){var i,o,a;let s;return e.wholeWord&&(a=t.charCategorizer(t.selection.main.head),s=(e,t,n)=>!n[0].length||(a(tW(n.input,n.index))!=en.CharCategory.Word||a(tU(n.input,n.index))!=en.CharCategory.Word)&&(a(tU(n.input,n.index+n[0].length))!=en.CharCategory.Word||a(tW(n.input,n.index+n[0].length))!=en.CharCategory.Word)),e.test&&(i=e.test,o=s,s=(e,n,r)=>(!o||o(e,n,r))&&i(r[0],t,e,n)),new tj(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function tW(e,t){return e.slice((0,en.findClusterBreak)(e,t,!1),t)}function tU(e,t){return e.slice(t,(0,en.findClusterBreak)(e,t))}class tH extends t${nextMatch(e,t,n){let r=tq(this.spec,e,n,e.doc.length).next();return r.done&&(r=tq(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let i=Math.max(t,n-1e4*r),o=tq(this.spec,e,i,n),a=null;for(;!o.next().done;)a=o.value;if(a&&(i==t||a.from>i+10))return a;if(i==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if("&"==n)return e.match[0];if("$"==n)return"$";for(let t=n.length;t>0;t--){let r=+n.slice(0,t);if(r>0&&r<e.match.length)return e.match[r]+n.slice(t)}return t})}matchAll(e,t){let n=tq(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=tq(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}}let tK=en.StateEffect.define(),tJ=en.StateEffect.define(),tG=en.StateField.define({create:e=>new t_(t6(e).create(),null),update(e,t){for(let n of t.effects)n.is(tK)?e=new t_(n.value.create(),e.panel):n.is(tJ)&&(e=new t_(e.query,n.value?t4:null));return e},provide:e=>er.showPanel.from(e,e=>e.panel)});class t_{constructor(e,t){this.query=e,this.panel=t}}let tX=er.Decoration.mark({class:"cm-searchMatch"}),tQ=er.Decoration.mark({class:"cm-searchMatch cm-searchMatch-selected"}),tY=er.ViewPlugin.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(tG))}update(e){let t=e.state.field(tG);(t!=e.startState.field(tG)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return er.Decoration.none;let{view:n}=this,r=new en.RangeSetBuilder;for(let t=0,i=n.visibleRanges,o=i.length;t<o;t++){let{from:a,to:s}=i[t];for(;t<o-1&&s>i[t+1].from-500;)s=i[++t].to;e.highlight(n.state,a,s,(e,t)=>{let i=n.state.selection.ranges.some(n=>n.from==e&&n.to==t);r.add(e,t,i?tQ:tX)})}return r.finish()}},{decorations:e=>e.decorations});function tZ(e){return t=>{let n=t.state.field(tG,!1);return n&&n.query.spec.valid?e(t,n):t8(t)}}let t0=tZ((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let i=en.EditorSelection.single(r.from,r.to),o=e.state.facet(tO);return e.dispatch({selection:i,effects:[no(e,r),o.scrollToMatch(i.main,e)],userEvent:"select.search"}),t9(e),!0}),t1=tZ((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,i=t.prevMatch(n,r,r);if(!i)return!1;let o=en.EditorSelection.single(i.from,i.to),a=e.state.facet(tO);return e.dispatch({selection:o,effects:[no(e,i),a.scrollToMatch(o.main,e)],userEvent:"select.search"}),t9(e),!0}),t2=tZ((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!!n&&!!n.length&&(e.dispatch({selection:en.EditorSelection.create(n.map(e=>en.EditorSelection.range(e.from,e.to))),userEvent:"select.search.matches"}),!0)}),t5=tZ((e,{query:t})=>{let{state:n}=e,{from:r,to:i}=n.selection.main;if(n.readOnly)return!1;let o=t.nextMatch(n,r,r);if(!o)return!1;let a=o,s=[],l,c,d=[];a.from==r&&a.to==i&&(c=n.toText(t.getReplacement(a)),s.push({from:a.from,to:a.to,insert:c}),a=t.nextMatch(n,a.from,a.to),d.push(er.EditorView.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+".")));let h=e.state.changes(s);return a&&(l=en.EditorSelection.single(a.from,a.to).map(h),d.push(no(e,a)),d.push(n.facet(tO).scrollToMatch(l.main,e))),e.dispatch({changes:h,selection:l,effects:d,userEvent:"input.replace"}),!0}),t3=tZ((e,{query:t})=>{if(e.state.readOnly)return!1;let n=t.matchAll(e.state,1e9).map(e=>{let{from:n,to:r}=e;return{from:n,to:r,insert:t.getReplacement(e)}});if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:er.EditorView.announce.of(r),userEvent:"input.replace.all"}),!0});function t4(e){return e.state.facet(tO).createPanel(e)}function t6(e,t){var n,r,i,o,a;let s=e.selection.main,l=s.empty||s.to>s.from+100?"":e.sliceDoc(s.from,s.to);if(t&&!l)return t;let c=e.facet(tO);return new tz({search:(null!=(n=null==t?void 0:t.literal)?n:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:null!=(r=null==t?void 0:t.caseSensitive)?r:c.caseSensitive,literal:null!=(i=null==t?void 0:t.literal)?i:c.literal,regexp:null!=(o=null==t?void 0:t.regexp)?o:c.regexp,wholeWord:null!=(a=null==t?void 0:t.wholeWord)?a:c.wholeWord})}function t7(e){let t=(0,er.getPanel)(e,t4);return t&&t.dom.querySelector("[main-field]")}function t9(e){let t=t7(e);t&&t==e.root.activeElement&&t.select()}let t8=e=>{let t=e.state.field(tG,!1);if(t&&t.panel){let n=t7(e);if(n&&n!=e.root.activeElement){let r=t6(e.state,t.query.spec);r.valid&&e.dispatch({effects:tK.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[tJ.of(!0),t?tK.of(t6(e.state,t.query.spec)):en.StateEffect.appendConfig.of(ns)]});return!0},ne=e=>{let t=e.state.field(tG,!1);if(!t||!t.panel)return!1;let n=(0,er.getPanel)(e,t4);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:tJ.of(!1)}),!0},nt=[{key:"Mod-f",run:t8,scope:"editor search-panel"},{key:"F3",run:t0,shift:t1,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:t0,shift:t1,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:ne,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:i}=n.main,o=[],a=0;for(let t=new tk(e.doc,e.sliceDoc(r,i));!t.next().done;){if(o.length>1e3)return!1;t.value.from==r&&(a=o.length),o.push(en.EditorSelection.range(t.value.from,t.value.to))}return t(e.update({selection:en.EditorSelection.create(o,a),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:r,result:i}=(0,er.showDialog)(e,{label:t.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:t.phrase("go")});return i.then(n=>{let i=n&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.elements.line.value);if(!i)return void e.dispatch({effects:r});let o=t.doc.lineAt(t.selection.main.head),[,a,s,l,c]=i,d=l?+l.slice(1):0,h=s?+s:o.number;if(s&&c){let e=h/100;a&&(e=e*("-"==a?-1:1)+o.number/t.doc.lines),h=Math.round(t.doc.lines*e)}else s&&a&&(h=h*("-"==a?-1:1)+o.number);let u=t.doc.line(Math.max(1,Math.min(t.doc.lines,h))),f=en.EditorSelection.cursor(u.from+Math.max(0,Math.min(d,u.length)));e.dispatch({effects:[r,er.EditorView.scrollIntoView(f.from,{y:"center"})],selection:f})}),!0}},{key:"Mod-d",run:({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(e=>e.from===e.to))return(({state:e,dispatch:t})=>{let{selection:n}=e,r=en.EditorSelection.create(n.ranges.map(t=>e.wordAt(t.head)||en.EditorSelection.cursor(t.head)),n.mainIndex);return!r.eq(n)&&(t(e.update({selection:r})),!0)})({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=r))return!1;let i=function(e,t){let{main:n,ranges:r}=e.selection,i=e.wordAt(n.head),o=i&&i.from==n.from&&i.to==n.to;for(let n=!1,i=new tk(e.doc,t,r[r.length-1].to);;)if(i.next(),i.done){if(n)return null;i=new tk(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),n=!0}else{if(n&&r.some(e=>e.from==i.value.from))continue;if(o){let t=e.wordAt(i.value.from);if(!t||t.from!=i.value.from||t.to!=i.value.to)continue}return i.value}}(e,r);return!!i&&(t(e.update({selection:e.selection.addRange(en.EditorSelection.range(i.from,i.to),!1),effects:er.EditorView.scrollIntoView(i.to)})),!0)},preventDefault:!0}];class nn{constructor(e){this.view=e;let t=this.query=e.state.field(tG).query.spec;function n(e,t,n){return(0,tb.default)("button",{class:"cm-button",name:e,onclick:t,type:"button"},n)}this.commit=this.commit.bind(this),this.searchField=(0,tb.default)("input",{value:t.search,placeholder:nr(e,"Find"),"aria-label":nr(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=(0,tb.default)("input",{value:t.replace,placeholder:nr(e,"Replace"),"aria-label":nr(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=(0,tb.default)("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=(0,tb.default)("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=(0,tb.default)("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=(0,tb.default)("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,n("next",()=>t0(e),[nr(e,"next")]),n("prev",()=>t1(e),[nr(e,"previous")]),n("select",()=>t2(e),[nr(e,"all")]),(0,tb.default)("label",null,[this.caseField,nr(e,"match case")]),(0,tb.default)("label",null,[this.reField,nr(e,"regexp")]),(0,tb.default)("label",null,[this.wordField,nr(e,"by word")]),...e.state.readOnly?[]:[(0,tb.default)("br"),this.replaceField,n("replace",()=>t5(e),[nr(e,"replace")]),n("replaceAll",()=>t3(e),[nr(e,"replace all")])],(0,tb.default)("button",{name:"close",onclick:()=>ne(e),"aria-label":nr(e,"close"),type:"button"},["×"])])}commit(){let e=new tz({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:tK.of(e)}))}keydown(e){(0,er.runScopeHandlers)(this.view,e,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?t1:t0)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),t5(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(tK)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(tO).top}}function nr(e,t){return e.state.phrase(t)}let ni=/[\s\.,:;?!]/;function no(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),i=e.state.doc.lineAt(n).to,o=Math.max(r.from,t-30),a=Math.min(i,n+30),s=e.state.sliceDoc(o,a);if(o!=r.from){for(let e=0;e<30;e++)if(!ni.test(s[e+1])&&ni.test(s[e])){s=s.slice(e);break}}if(a!=i){for(let e=s.length-1;e>s.length-30;e--)if(!ni.test(s[e-1])&&ni.test(s[e])){s=s.slice(0,e);break}}return er.EditorView.announce.of(`${e.state.phrase("current match")}. ${s} ${e.state.phrase("on line")} ${r.number}.`)}let na=er.EditorView.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),ns=[tG,en.Prec.low(tY),na];var nl=e.i(424060),nc=er;class nd{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}}class nh{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(e,t,n){let r=n.facet(nk).markerFilter;r&&(e=r(e,n));let i=e.slice().sort((e,t)=>e.from-t.from||e.to-t.to),o=new en.RangeSetBuilder,a=[],s=0,l=n.doc.iter(),c=0,d=n.doc.length;for(let e=0;;){let t,n,r=e==i.length?null:i[e];if(!r&&!a.length)break;if(a.length)t=s,n=a.reduce((e,t)=>Math.min(e,t.to),r&&r.from>t?r.from:1e8);else{if((t=r.from)>d)break;n=r.to,a.push(r),e++}for(;e<i.length;){let r=i[e];if(r.from==t&&(r.to>r.from||r.to==t))a.push(r),e++,n=Math.min(r.to,n);else{n=Math.min(r.from,n);break}}n=Math.min(n,d);let h=!1;if(a.some(e=>e.from==t&&(e.to==n||n==d))&&!(h=t==n)&&n-t<10){let e=t-(c+l.value.length);e>0&&(l.next(e),c=t);for(let e=t;;){if(e>=n){h=!0;break}if(!l.lineBreak&&c+l.value.length>e)break;e=c+l.value.length,c+=l.value.length,l.next()}}let u=nT(a);if(h)o.add(t,t,nc.Decoration.widget({widget:new nM(u),diagnostics:a.slice()}));else{let e=a.reduce((e,t)=>t.markClass?e+" "+t.markClass:e,"");o.add(t,n,nc.Decoration.mark({class:"cm-lintRange cm-lintRange-"+u+e,diagnostics:a.slice(),inclusiveEnd:a.some(e=>e.to>n)}))}if((s=n)==d)break;for(let e=0;e<a.length;e++)a[e].to<=s&&a.splice(e--,1)}let h=o.finish();return new nh(h,t,nu(h))}}function nu(e,t=null,n=0){let r=null;return e.between(n,1e9,(e,n,{spec:i})=>{if(!(t&&0>i.diagnostics.indexOf(t)))if(r){if(0>i.diagnostics.indexOf(r.diagnostic))return!1;r=new nd(r.from,n,r.diagnostic)}else r=new nd(e,n,t||i.diagnostics[0])}),r}function nf(e,t){let n=t.pos,r=t.end||n,i=e.state.facet(nk).hideOn(e,n,r);if(null!=i)return i;let o=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(e=>e.is(nm))||e.changes.touchesRange(o.from,Math.max(o.to,r)))}let nm=en.StateEffect.define(),np=en.StateEffect.define(),ng=en.StateEffect.define(),nx=en.StateField.define({create:()=>new nh(nc.Decoration.none,null,null),update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,i=e.panel;if(e.selected){let i=t.changes.mapPos(e.selected.from,1);r=nu(n,e.selected.diagnostic,i)||nu(n,null,i)}!n.size&&i&&t.state.facet(nk).autoPanel&&(i=null),e=new nh(n,i,r)}for(let n of t.effects)if(n.is(nm)){let r=t.state.facet(nk).autoPanel?n.value.length?nD.open:null:e.panel;e=nh.init(n.value,r,t.state)}else n.is(np)?e=new nh(e.diagnostics,n.value?nD.open:null,e.selected):n.is(ng)&&(e=new nh(e.diagnostics,e.panel,n.value));return e},provide:e=>[nc.showPanel.from(e,e=>e.panel),nc.EditorView.decorations.from(e,e=>e.diagnostics)]}),nv=nc.Decoration.mark({class:"cm-lintRange cm-lintRange-active"});function ny(e,t){return(0,tb.default)("ul",{class:"cm-tooltip-lint"},t.map(t=>nj(e,t,!1)))}let nb=e=>{let t=e.state.field(nx,!1);return!!t&&!!t.panel&&(e.dispatch({effects:np.of(!1)}),!0)},nw=[{key:"Mod-Shift-m",run:e=>{var t,n;let r=e.state.field(nx,!1);r&&r.panel||e.dispatch({effects:(t=e.state,n=[np.of(!0)],t.field(nx,!1)?n:n.concat(en.StateEffect.appendConfig.of(nI)))});let i=(0,nc.getPanel)(e,nD.open);return i&&i.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(nx,!1);if(!t)return!1;let n=e.state.selection.main,r=nu(t.diagnostics,null,n.to+1);return(!!r||!!(r=nu(t.diagnostics,null,0))&&(r.from!=n.from||r.to!=n.to))&&(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),(0,nc.activateHover)(e,r.from,1,{tooltip:nP,until:e=>e.docChanged||e.newSelection.main.head<r.from||e.newSelection.main.head>r.to}),!0)}}],nk=en.Facet.define({combine:e=>({sources:e.map(e=>e.source).filter(e=>null!=e),...(0,en.combineConfig)(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:nS,tooltipFilter:nS,needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t,hideOn:(e,t)=>e?t?(n,r,i)=>e(n,r,i)||t(n,r,i):e:t,autoPanel:(e,t)=>e||t})})});function nS(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function nC(e){let t=[];if(e)t:for(let{name:n}of e){for(let e=0;e<n.length;e++){let r=n[e];if(/[a-zA-Z]/.test(r)&&!t.some(e=>e.toLowerCase()==r.toLowerCase())){t.push(r);continue t}}t.push("")}return t}function nj(e,t,n){var r;let i=n?nC(t.actions):[];return(0,tb.default)("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},(0,tb.default)("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),null==(r=t.actions)?void 0:r.map((n,r)=>{let o=!1,a=r=>{if(r.preventDefault(),o)return;o=!0;let i=nu(e.state.field(nx).diagnostics,t);i&&n.apply(e,i.from,i.to)},{name:s}=n,l=i[r]?s.indexOf(i[r]):-1,c=l<0?s:[s.slice(0,l),(0,tb.default)("u",s.slice(l,l+1)),s.slice(l+1)],d=n.markClass?" "+n.markClass:"";return(0,tb.default)("button",{type:"button",class:"cm-diagnosticAction"+d,onclick:a,onmousedown:a,"aria-label":` Action: ${s}${l<0?"":` (access key "${i[r]})"`}.`},c)}),t.source&&(0,tb.default)("div",{class:"cm-diagnosticSource"},t.source))}class nM extends nc.WidgetType{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return(0,tb.default)("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class nN{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(0xffffffff*Math.random()).toString(16),this.dom=nj(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class nD{constructor(e){this.view=e,this.items=[];let t=t=>{if(!t.ctrlKey&&!t.altKey&&!t.metaKey){if(27==t.keyCode)nb(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65)||!(t.keyCode<=90)||!(this.selectedIndex>=0))return;let{diagnostic:n}=this.items[this.selectedIndex],r=nC(n.actions);for(let i=0;i<r.length;i++)if(r[i].toUpperCase().charCodeAt(0)==t.keyCode){let t=nu(this.view.state.field(nx).diagnostics,n);t&&n.actions[i].apply(e,t.from,t.to)}}t.preventDefault()}},n=e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)};this.list=(0,tb.default)("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:n}),this.dom=(0,tb.default)("div",{class:"cm-panel-lint"},this.list,(0,tb.default)("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>nb(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(nx).selected;if(!e)return -1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return -1}update(){let{diagnostics:e,selected:t}=this.view.state.field(nx),n=0,r=!1,i=null,o=new Set;for(e.between(0,this.view.state.doc.length,(e,a,{spec:s})=>{for(let e of s.diagnostics){if(o.has(e))continue;o.add(e);let a=-1,s;for(let t=n;t<this.items.length;t++)if(this.items[t].diagnostic==e){a=t;break}a<0?(s=new nN(this.view,e),this.items.splice(n,0,s),r=!0):(s=this.items[a],a>n&&(this.items.splice(n,a-n),r=!0)),t&&s.diagnostic==t.diagnostic?s.dom.hasAttribute("aria-selected")||(s.dom.setAttribute("aria-selected","true"),i=s):s.dom.hasAttribute("aria-selected")&&s.dom.removeAttribute("aria-selected"),n++}});n<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();0==this.items.length&&(this.items.push(new nN(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),i?(this.list.setAttribute("aria-activedescendant",i.id),this.view.requestMeasure({key:this,read:()=>({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let n=t.height/this.list.offsetHeight;e.top<t.top?this.list.scrollTop-=(t.top-e.top)/n:e.bottom>t.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/n)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=nu(this.view.state.field(nx).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:ng.of(t)})}static open(e){return new nD(e)}}function nA(e){return function(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}let nE=nc.EditorView.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:nA("#f11")},".cm-lintRange-warning":{backgroundImage:nA("orange")},".cm-lintRange-info":{backgroundImage:nA("#999")},".cm-lintRange-hint":{backgroundImage:nA("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function nT(e){let t="hint",n=1;for(let i of e){var r;let e="error"==(r=i.severity)?4:"warning"==r?3:"info"==r?2:1;e>n&&(n=e,t=i.severity)}return t}nc.GutterMarker;let nL=en.StateEffect.define(),nR=en.StateField.define({create:()=>null,update:(e,t)=>(e&&t.docChanged&&(e=nf(t,e)?null:{...e,pos:t.changes.mapPos(e.pos)}),t.effects.reduce((e,t)=>t.is(nL)?t.value:e,e)),provide:e=>nc.showTooltip.from(e)}),nP=(0,nc.hoverTooltip)(function(e,t,n){let{diagnostics:r}=e.state.field(nx),i,o=-1,a=-1;r.between(t-(n<0),t+ +(n>0),(e,r,{spec:s})=>{if(t>=e&&t<=r&&(e==r||(t>e||n>0)&&(t<r||n<0)))return i=s.diagnostics,o=e,a=r,!1});let s=e.state.facet(nk).tooltipFilter;return(i&&s&&(i=s(i,e.state)),i)?{pos:o,end:a,above:!0,create:()=>({dom:ny(e,i)})}:null},{hideOn:nf}),nI=[nx,nc.EditorView.decorations.compute([nx],e=>{let{selected:t,panel:n}=e.field(nx);return t&&n&&t.from!=t.to?nc.Decoration.set([nv.range(t.from,t.to)]):nc.Decoration.none}),nP,nE],nB=en.Facet.define({combine:e=>(0,en.combineConfig)(e,{hoverTime:300,markerFilter:null,tooltipFilter:null})});var nO=function(e){void 0===e&&(e={});var t=e.crosshairCursor,n=[];!1!==e.closeBracketsKeymap&&(n=n.concat(nl.closeBracketsKeymap)),!1!==e.defaultKeymap&&(n=n.concat(tv)),!1!==e.searchKeymap&&(n=n.concat(nt)),!1!==e.historyKeymap&&(n=n.concat(eE)),!1!==e.foldKeymap&&(n=n.concat(ei.foldKeymap)),!1!==e.completionKeymap&&(n=n.concat(nl.completionKeymap)),!1!==e.lintKeymap&&(n=n.concat(nw));var r=[];return!1!==e.lineNumbers&&r.push((0,er.lineNumbers)()),!1!==e.highlightActiveLineGutter&&r.push((0,er.highlightActiveLineGutter)()),!1!==e.highlightSpecialChars&&r.push((0,er.highlightSpecialChars)()),!1!==e.history&&r.push(function(e={}){return[eg,ep.of(e),er.EditorView.domEventHandlers({beforeinput(e,t){let n="historyUndo"==e.inputType?ev:"historyRedo"==e.inputType?ey:null;return!!n&&(e.preventDefault(),n(t))}})]}()),!1!==e.foldGutter&&r.push((0,ei.foldGutter)()),!1!==e.drawSelection&&r.push((0,er.drawSelection)()),!1!==e.dropCursor&&r.push((0,er.dropCursor)()),!1!==e.allowMultipleSelections&&r.push(en.EditorState.allowMultipleSelections.of(!0)),!1!==e.indentOnInput&&r.push((0,ei.indentOnInput)()),!1!==e.syntaxHighlighting&&r.push((0,ei.syntaxHighlighting)(ei.defaultHighlightStyle,{fallback:!0})),!1!==e.bracketMatching&&r.push((0,ei.bracketMatching)()),!1!==e.closeBrackets&&r.push((0,nl.closeBrackets)()),!1!==e.autocompletion&&r.push((0,nl.autocompletion)()),!1!==e.rectangularSelection&&r.push((0,er.rectangularSelection)()),!1!==(void 0!==t&&t)&&r.push((0,er.crosshairCursor)()),!1!==e.highlightActiveLine&&r.push((0,er.highlightActiveLine)()),!1!==e.highlightSelectionMatches&&r.push([tB,tI]),e.tabSize&&"number"==typeof e.tabSize&&r.push(ei.indentUnit.of(" ".repeat(e.tabSize))),r.concat([er.keymap.of(n.flat())]).filter(Boolean)},nz=e.i(915966),n$=er.EditorView.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),nF=function(e){void 0===e&&(e={});var t=e,n=t.indentWithTab,r=t.editable,i=t.readOnly,o=t.theme,a=void 0===o?"light":o,s=t.placeholder,l=void 0===s?"":s,c=t.basicSetup,d=void 0===c||c,h=[];switch((void 0===n||n)&&h.unshift(er.keymap.of([ty])),d&&("boolean"==typeof d?h.unshift(nO()):h.unshift(nO(d))),l&&h.unshift((0,er.placeholder)(l)),a){case"light":h.push(n$);break;case"dark":h.push(nz.oneDark);break;case"none":break;default:h.push(a)}return!1===(void 0===r||r)&&h.push(er.EditorView.editable.of(!1)),void 0!==i&&i&&h.push(en.EditorState.readOnly.of(!0)),[...h]};class nV{constructor(e,t){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=t,this.timeoutMS=t,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(e=>{try{e()}catch(e){console.error("TimeoutLatch callback error:",e)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class nq{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),0===this.latches.size&&this.stop()}start(){null===this.interval&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){null!==this.interval&&(clearInterval(this.interval),this.interval=null)}}var nW=null,nU=er.EditorView.theme({"& .cm-scroller":{height:"100% !important"}}),nH=null,nK=null,nJ=en.Annotation.define(),nG=[],n_=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],nX=(0,n.forwardRef)((e,r)=>{var i,o,a,s,l,c,d,h,u,f,m,p,g,x,v,y,b,w,k,S,C,j,M,N,D,A,E,T,L,R,P,I,B,O,z,$,F,V,q,W,U,H,K,J,G,_,X,Q,Y,Z=e.className,ee=e.value,ei=void 0===ee?"":ee,eo=e.selection,ea=e.extensions,es=e.onChange,el=e.onStatistics,ec=e.onCreateEditor,ed=e.onUpdate,eh=e.autoFocus,eu=e.theme,ef=void 0===eu?"light":eu,em=e.height,ep=e.minHeight,eg=e.maxHeight,ex=e.width,ev=e.minWidth,ey=e.maxWidth,eb=e.basicSetup,ew=e.placeholder,ek=e.indentWithTab,eS=e.editable,eC=e.readOnly,ej=e.root,eM=e.initialState,eN=function(e,t){if(null==e)return{};var n={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,n_),eD=(0,n.useRef)(null),eA=(o=(i={root:ej,value:ei,autoFocus:eh,theme:ef,height:em,minHeight:ep,maxHeight:eg,width:ex,minWidth:ev,maxWidth:ey,basicSetup:eb,placeholder:ew,indentWithTab:ek,editable:eS,readOnly:eC,selection:eo,onChange:es,onStatistics:el,onCreateEditor:ec,onUpdate:ed,extensions:void 0===ea?[]:ea,initialState:eM}).value,a=i.selection,s=i.onChange,l=i.onStatistics,c=i.onCreateEditor,d=i.onUpdate,u=void 0===(h=i.extensions)?nG:h,f=i.autoFocus,p=void 0===(m=i.theme)?"light":m,x=void 0===(g=i.height)?null:g,y=void 0===(v=i.minHeight)?null:v,w=void 0===(b=i.maxHeight)?null:b,S=void 0===(k=i.width)?null:k,j=void 0===(C=i.minWidth)?null:C,N=void 0===(M=i.maxWidth)?null:M,A=void 0===(D=i.placeholder)?"":D,T=void 0===(E=i.editable)||E,R=void 0!==(L=i.readOnly)&&L,I=void 0===(P=i.indentWithTab)||P,O=void 0===(B=i.basicSetup)||B,z=i.root,$=i.initialState,V=(F=(0,n.useState)())[0],q=F[1],U=(W=(0,n.useState)())[0],H=W[1],J=(K=(0,n.useState)())[0],G=K[1],_=(0,n.useState)(()=>({current:null}))[0],X=(0,n.useState)(()=>({current:null}))[0],Q=function(e,t,n,r,i,o){if(!e&&!t&&!n&&!r&&!i&&!o)return null;var a=JSON.stringify({height:e,minHeight:t,maxHeight:n,width:r,minWidth:i,maxWidth:o});return a===nH?nK:(nH=a,nK=er.EditorView.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:i,maxWidth:o}}))}(x,y,w,S,j,N),Y=[er.EditorView.updateListener.of(e=>{e.docChanged&&"function"==typeof s&&!e.transactions.some(e=>e.annotation(nJ))&&(_.current?_.current.reset():(_.current=new nV(()=>{if(X.current){var e=X.current;X.current=null,e()}_.current=null},200),("u"<typeof window?new nq:(!nW&&(nW=new nq),nW)).add(_.current)),s(e.state.doc.toString(),e)),l&&l({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(e=>!e.empty)})}),...Q?[Q]:[],nU,...nF({theme:p,editable:T,readOnly:R,placeholder:A,indentWithTab:I,basicSetup:O})],d&&"function"==typeof d&&Y.push(er.EditorView.updateListener.of(d)),Y=Y.concat(u),(0,n.useLayoutEffect)(()=>{if(V&&!J){var e={doc:o,selection:a,extensions:Y},t=$?en.EditorState.fromJSON($.json,e,$.fields):en.EditorState.create(e);if(G(t),!U){var n=new er.EditorView({state:t,parent:V,root:z});H(n),c&&c(n,t)}}return()=>{U&&(G(void 0),H(void 0))}},[V,J]),(0,n.useEffect)(()=>{i.container&&q(i.container)},[i.container]),(0,n.useEffect)(()=>()=>{U&&(U.destroy(),H(void 0)),_.current&&(_.current.cancel(),_.current=null)},[U]),(0,n.useEffect)(()=>{f&&U&&U.focus()},[f,U]),(0,n.useEffect)(()=>{U&&U.dispatch({effects:en.StateEffect.reconfigure.of(Y)})},[p,u,x,y,w,S,j,N,A,T,R,I,O,s,d]),(0,n.useEffect)(()=>{if(void 0!==o){var e=U?U.state.doc.toString():"";if(U&&o!==e){var t=_.current&&!_.current.isDone,n=()=>{U&&o!==U.state.doc.toString()&&U.dispatch({changes:{from:0,to:U.state.doc.toString().length,insert:o||""},annotations:[nJ.of(!0)]})};t?X.current=n:n()}}},[o,U]),{state:J,setState:G,view:U,setView:H,container:V,setContainer:q}),eE=eA.state,eT=eA.view,eL=eA.container,eR=eA.setContainer;(0,n.useImperativeHandle)(r,()=>({editor:eD.current,state:eE,view:eT}),[eD,eL,eE,eT]);var eP=(0,n.useCallback)(e=>{eD.current=e,eR(e)},[eR]);if("string"!=typeof ei)throw Error("value must be typeof string but got "+typeof ei);return(0,t.jsx)("div",et({ref:eP,className:("string"==typeof ef?"cm-theme-"+ef:"cm-theme")+(Z?" "+Z:"")},eN))});nX.displayName="CodeMirror";var nQ=e.i(487486),nY=e.i(543836),nZ=e.i(264145),n0=e.i(360065),n1=e.i(997611),n2=e.i(978238),n5=e.i(900877),n3=e.i(315671),n4=e.i(432567),n6=Object.defineProperty,n7=(e,t)=>n6(e,"name",{value:t,configurable:!0}),n9="Tabs",[n8,re]=(0,nZ.createContextScope)(n9,[n0.createRovingFocusGroupScope]),rt=(0,n0.createRovingFocusGroupScope)(),[rn,rr]=n8(n9),ri=n.forwardRef(n7(function(e,n){let{__scopeTabs:r,value:i,onValueChange:o,defaultValue:a,orientation:s="horizontal",dir:l,activationMode:c="automatic",...d}=e,h=(0,n5.useDirection)(l),[u,f]=(0,n3.useControllableState)({prop:i,onChange:o,defaultProp:a??"",caller:n9});return(0,t.jsx)(rn,{scope:r,baseId:(0,n4.useId)(),value:u,onValueChange:f,orientation:s,dir:h,activationMode:c,children:(0,t.jsx)(n2.Primitive.div,{dir:h,"data-orientation":s,...d,ref:n})})},"Tabs")),ro=n.forwardRef(n7(function(e,n){let{__scopeTabs:r,loop:i=!0,...o}=e,a=rr("TabsList",r),s=rt(r);return(0,t.jsx)(n0.Root,{asChild:!0,...s,orientation:a.orientation,dir:a.dir,loop:i,children:(0,t.jsx)(n2.Primitive.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:n})})},"TabsList")),ra=n.forwardRef(n7(function(e,n){let{__scopeTabs:r,value:i,disabled:o=!1,...a}=e,s=rr("TabsTrigger",r),l=rt(r),c=rl(s.baseId,i),d=rc(s.baseId,i),h=i===s.value;return(0,t.jsx)(n0.Item,{asChild:!0,...l,focusable:!o,active:h,children:(0,t.jsx)(n2.Primitive.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":d,"data-state":h?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:c,...a,ref:n,onMouseDown:(0,nY.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():s.onValueChange(i)}),onKeyDown:(0,nY.composeEventHandlers)(e.onKeyDown,e=>{!o&&e.target===e.currentTarget&&[" ","Enter"].includes(e.key)&&s.onValueChange(i)}),onFocus:(0,nY.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==s.activationMode;h||o||!e||s.onValueChange(i)})})})},"TabsTrigger")),rs=n.forwardRef(n7(function(e,r){let{__scopeTabs:i,value:o,forceMount:a,children:s,...l}=e,c=rr("TabsContent",i),d=rl(c.baseId,o),h=rc(c.baseId,o),u=o===c.value,f=n.useRef(u);return n.useEffect(()=>{let e=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(n1.Presence,{present:a||u,children:({present:n})=>(0,t.jsx)(n2.Primitive.div,{"data-state":u?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":d,hidden:!n,id:h,tabIndex:0,...l,ref:r,style:{...e.style,animationDuration:f.current?"0s":void 0},children:n&&s})})},"TabsContent"));function rl(e,t){return`${e}-trigger-${t}`}function rc(e,t){return`${e}-content-${t}`}n7(rl,"makeTriggerId"),n7(rc,"makeContentId");let rd=n.forwardRef(({className:e,...n},r)=>(0,t.jsx)(ro,{ref:r,className:(0,b.cn)("inline-flex h-10 items-center justify-center rounded-md bg-surface2 p-1 text-muted",e),...n}));rd.displayName=ro.displayName;let rh=n.forwardRef(({className:e,...n},r)=>(0,t.jsx)(ra,{ref:r,className:(0,b.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-xs px-3 py-1.5 text-sm font-medium ring-offset-bg transition-[color,background-color,box-shadow] focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-bg data-[state=active]:text-txt data-[state=active]:shadow-xs",e),...n}));rh.displayName=ra.displayName,n.forwardRef(({className:e,...n},r)=>(0,t.jsx)(rs,{ref:r,className:(0,b.cn)("mt-2 ring-offset-bg focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2",e),...n})).displayName=rs.displayName;var ru=e.i(746798);let rf={name:"bold",size:24,node:[["path",{d:"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8",key:"mg9rjx"}]]};rf.node;let rm=(0,l.default)(rf),rp={name:"italic",size:24,node:[["line",{x1:"19",x2:"10",y1:"4",y2:"4",key:"15jd3p"}],["line",{x1:"14",x2:"5",y1:"20",y2:"20",key:"bu0au3"}],["line",{x1:"15",x2:"9",y1:"4",y2:"20",key:"uljnxc"}]]};rp.node;let rg=(0,l.default)(rp),rx={name:"strikethrough",size:24,node:[["path",{d:"M16 4H9a3 3 0 0 0-2.83 4",key:"43sutm"}],["path",{d:"M14 12a4 4 0 0 1 0 8H6",key:"nlfj13"}],["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}]]};rx.node;let rv=(0,l.default)(rx),ry={name:"heading-1",size:24,node:[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"m17 12 3-2v8",key:"1hhhft"}]]};ry.node;let rb=(0,l.default)(ry),rw={name:"heading-2",size:24,node:[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1",key:"9jr5yi"}]]};rw.node;let rk=(0,l.default)(rw),rS={name:"heading-3",size:24,node:[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2",key:"68ncm8"}],["path",{d:"M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2",key:"1ejuhz"}]]};rS.node;let rC=(0,l.default)(rS),rj={name:"code",size:24,node:[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]};rj.node;let rM=(0,l.default)(rj);var rN=e.i(798103);let rD={name:"quote",size:24,node:[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]]};rD.node;let rA=(0,l.default)(rD),rE={name:"minus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}]]};rE.node;let rT=(0,l.default)(rE);var rL=e.i(394512);let rR={name:"list-ordered",size:24,node:[["path",{d:"M11 5h10",key:"1cz7ny"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 19h10",key:"11t30w"}],["path",{d:"M4 4h1v5",key:"10yrso"}],["path",{d:"M4 9h2",key:"r1h2o0"}],["path",{d:"M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02",key:"xtkcd5"}]]};rR.node;let rP=(0,l.default)(rR);var rI=e.i(772436);function rB(e,t,n){let{from:r,to:i}=e.state.selection.main,o=e.state.sliceDoc(r,i);e.dispatch({changes:{from:r,to:i,insert:t+o+n},selection:{anchor:r+t.length,head:r+t.length+o.length}}),e.focus()}function rO(e,t){let{from:n}=e.state.selection.main,r=e.state.doc.lineAt(n);e.dispatch({changes:{from:r.from,to:r.from,insert:t},selection:{anchor:n+t.length}}),e.focus()}function rz({icon:e,label:n,onClick:r}){return(0,t.jsxs)(ru.Tooltip,{children:[(0,t.jsx)(ru.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(I.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:r,children:e})}),(0,t.jsx)(ru.TooltipContent,{side:"bottom",children:n})]})}function r$({editorView:e}){return(0,t.jsx)(ru.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)("div",{className:"flex items-center gap-0.5 px-2 py-1 border-b border-border bg-surface shrink-0",children:[(0,t.jsx)(rz,{icon:(0,t.jsx)(rm,{className:"h-3.5 w-3.5"}),label:"Bold",onClick:function(){e&&rB(e,"**","**")}}),(0,t.jsx)(rz,{icon:(0,t.jsx)(rg,{className:"h-3.5 w-3.5"}),label:"Italic",onClick:function(){e&&rB(e,"*","*")}}),(0,t.jsx)(rz,{icon:(0,t.jsx)(rv,{className:"h-3.5 w-3.5"}),label:"Strikethrough",onClick:function(){e&&rB(e,"~~","~~")}}),(0,t.jsx)(rI.Separator,{orientation:"vertical",className:"h-4 mx-1"}),(0,t.jsx)(rz,{icon:(0,t.jsx)(rb,{className:"h-3.5 w-3.5"}),label:"Heading 1",onClick:function(){e&&rO(e,"# ")}}),(0,t.jsx)(rz,{icon:(0,t.jsx)(rk,{className:"h-3.5 w-3.5"}),label:"Heading 2",onClick:function(){e&&rO(e,"## ")}}),(0,t.jsx)(rz,{icon:(0,t.jsx)(rC,{className:"h-3.5 w-3.5"}),label:"Heading 3",onClick:function(){e&&rO(e,"### ")}}),(0,t.jsx)(rI.Separator,{orientation:"vertical",className:"h-4 mx-1"}),(0,t.jsx)(rz,{icon:(0,t.jsx)(D,{className:"h-3.5 w-3.5"}),label:"Link",onClick:function(){if(!e)return;let{from:t,to:n}=e.state.selection.main,r=e.state.sliceDoc(t,n)||"link text";e.dispatch({changes:{from:t,to:n,insert:`[${r}](url)`},selection:{anchor:t+r.length+3,head:t+r.length+3+3}}),e.focus()}}),(0,t.jsx)(rz,{icon:(0,t.jsx)(rM,{className:"h-3.5 w-3.5"}),label:"Inline code",onClick:function(){e&&rB(e,"`","`")}}),(0,t.jsx)(rz,{icon:(0,t.jsx)(rN.Code2,{className:"h-3.5 w-3.5"}),label:"Code block",onClick:function(){e&&rB(e,"```\n","\n```")}}),(0,t.jsx)(rz,{icon:(0,t.jsx)(rA,{className:"h-3.5 w-3.5"}),label:"Blockquote",onClick:function(){e&&rO(e,"> ")}}),(0,t.jsx)(rI.Separator,{orientation:"vertical",className:"h-4 mx-1"}),(0,t.jsx)(rz,{icon:(0,t.jsx)(rT,{className:"h-3.5 w-3.5"}),label:"Horizontal rule",onClick:function(){e&&function(e,t){let{from:n,to:r}=e.state.selection.main;e.dispatch({changes:{from:n,to:r,insert:t},selection:{anchor:n+t.length}}),e.focus()}(e,"\n---\n")}}),(0,t.jsx)(rz,{icon:(0,t.jsx)(rL.List,{className:"h-3.5 w-3.5"}),label:"Unordered list",onClick:function(){e&&rO(e,"- ")}}),(0,t.jsx)(rz,{icon:(0,t.jsx)(rP,{className:"h-3.5 w-3.5"}),label:"Ordered list",onClick:function(){e&&rO(e,"1. ")}})]})})}var rF=e.i(998822),rV=e.i(956555);function rq({docPath:i,initialContent:o,onSave:a,onDirtyChange:s,onContentChange:l,wordWrap:c=!0,lineNumbers:d=!0}){let h=(0,n.useRef)(null),{rootParam:u}=(0,r.useApp)(),f=(0,n.useRef)(null),m=(0,n.useRef)(null),[p,g]=(0,n.useState)("split"),[x,y]=(0,n.useState)(o),[b,w]=(0,n.useState)("saved"),[k,S]=(0,n.useState)(1),[C,j]=(0,n.useState)([]),[M,N]=(0,n.useState)([]),[D,A]=(0,n.useState)(!1),E=(0,n.useRef)(void 0),T=(0,n.useRef)(void 0),L=(0,n.useRef)(o);(0,n.useEffect)(()=>{L.current=x},[x]),(0,n.useEffect)(()=>{y(o),L.current=o,w("saved"),j([]),N([]),A(!1),S(1),clearTimeout(E.current),clearTimeout(T.current),s?.(!1)},[i]),(0,n.useEffect)(()=>{let t=!1,n=null,r=null;return(async function(){let[{Doc:a,UndoManager:s},{WebsocketProvider:l},{yCollab:d},{markdown:h},{oneDark:u},{EditorView:p}]=await Promise.all([e.A(892171),e.A(685361),e.A(169155),e.A(456526),e.A(190905),e.A(973121)]);if(t)return;let g=[h(),u];c&&g.push(p.lineWrapping),j(g);let x=new a,v=x.getText("codemirror"),y=new s(v),b=new l(_.default.env.NEXT_PUBLIC_WS_URL??"ws://localhost:1234",i,x);r=x,f.current=v,m.current=b.awareness,n=b;let w=360*Math.random()|0,k=`hsl(${w},70%,50%)`;b.awareness.setLocalStateField("user",{color:k,colorLight:k+"44"}),b.awareness.on("change",()=>{S(b.awareness.getStates().size)}),b.on("sync",e=>{e&&!t&&(0===v.length&&v.insert(0,o),N([d(v,b.awareness,{undoManager:y})]),A(!0))})})().catch(console.error),()=>{t=!0,f.current=null,m.current=null,n?.disconnect(),r?.destroy()}},[i,o]),(0,n.useEffect)(()=>{async function e(e){let t=e.detail;if(t?.type!=="doc_updated"||t.payload?.actor!=="ai"||String(t.payload.path).replace(/^\.\//,"")!==i)return;let n=f.current,r=m.current;if(!n?.doc||!r||Math.min(...Array.from(r.getStates().keys()))!==n.doc.clientID)return;let o=Array.isArray(t.payload.edits)?t.payload.edits:void 0,a=null;if(!o){let e=await fetch(`/api/docs${u}&read=${encodeURIComponent(i)}`),t=(await e.json())?.content;if("string"!=typeof t)return;a=t}n.doc.transact(()=>{if(o)for(let{old_string:e,new_string:t}of o){let r=n.toString(),i=""===e?""===r?0:-1:r.indexOf(e);-1!==i&&(n.delete(i,e.length),n.insert(i,t))}else if(null!==a){let e=n.toString(),t=0;for(;t<e.length&&t<a.length&&e[t]===a[t];)t++;let r=0;for(;r<e.length-t&&r<a.length-t&&e[e.length-1-r]===a[a.length-1-r];)r++;n.delete(t,e.length-t-r),n.insert(t,a.slice(t,a.length-r))}})}return window.addEventListener("vibedoc:sse",e),()=>window.removeEventListener("vibedoc:sse",e)},[i,u]),(0,n.useEffect)(()=>{0!==C.length&&t().catch(console.error);async function t(){let[{markdown:t},{oneDark:n},{EditorView:r},{lineNumbers:i}]=await Promise.all([e.A(456526),e.A(190905),e.A(973121),e.A(973121)]),o=[t(),n];c&&o.push(r.lineWrapping),d&&o.push(i()),j(o)}},[c,d]),(0,n.useEffect)(()=>{if("unsaved"===b)return clearTimeout(E.current),E.current=setTimeout(async()=>{w("saving");try{await a(L.current),w("saved"),s?.(!1)}catch{w("unsaved")}},2e3),()=>clearTimeout(E.current)},[x,b]),(0,n.useEffect)(()=>{function e(e){(e.ctrlKey||e.metaKey)&&"s"===e.key&&(e.preventDefault(),clearTimeout(E.current),w("saving"),a(L.current).then(()=>{w("saved"),s?.(!1)}).catch(()=>w("unsaved")))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[a,s]);let R=(0,n.useCallback)(e=>{e!==L.current&&(y(e),w("unsaved"),s?.(!0),clearTimeout(T.current),T.current=setTimeout(()=>{l?.(e)},500))},[s,l]),P=h.current?.view??null,B="preview"!==p,O="edit"!==p,z=D?[...C,...M]:C,$="saving"===b?"text-muted":"saved"===b?"text-teal-400":"text-yellow-400";return(0,t.jsx)(ru.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)("div",{className:"flex flex-col h-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 border-b border-border shrink-0",children:[(0,t.jsx)("span",{className:"text-xs font-mono text-muted flex-1 truncate min-w-0",children:i}),(0,t.jsx)(ri,{value:p,onValueChange:e=>g(e),children:(0,t.jsxs)(rd,{className:"h-7 bg-surface2 p-0.5",children:[(0,t.jsx)(rh,{value:"edit",className:"h-6 px-2.5 text-xs",children:"Edit"}),(0,t.jsx)(rh,{value:"split",className:"h-6 px-2.5 text-xs",children:"Split"}),(0,t.jsx)(rh,{value:"preview",className:"h-6 px-2.5 text-xs",children:"Preview"})]})}),k>1&&(0,t.jsxs)(nQ.Badge,{variant:"secondary",className:"h-5 gap-1 text-[10px] px-1.5",children:[(0,t.jsx)(ee.Users,{className:"h-3 w-3"}),k]}),i.endsWith(".md")&&(0,t.jsxs)(ru.Tooltip,{children:[(0,t.jsx)(ru.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(I.Button,{variant:"ghost",size:"icon",className:"h-7 w-7","aria-label":"Break down with agent",onClick:()=>(0,rV.askAgent)(`Break down the spec in ${i} into tasks.`),children:(0,t.jsx)(Z,{className:"h-3.5 w-3.5"})})}),(0,t.jsx)(ru.TooltipContent,{side:"bottom",children:"Break down with agent"})]}),(0,t.jsxs)(ru.Tooltip,{children:[(0,t.jsx)(ru.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(I.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:function(){let e=new Blob([L.current],{type:"text/markdown"}),t=URL.createObjectURL(e),n=document.createElement("a");n.href=t,n.download=i.split("/").pop()??"document.md",n.click(),URL.revokeObjectURL(t)},children:(0,t.jsx)(Q,{className:"h-3.5 w-3.5"})})}),(0,t.jsx)(ru.TooltipContent,{side:"bottom",children:"Download .md"})]}),(0,t.jsxs)("span",{className:`text-xs flex items-center gap-1 ${$}`,children:["saved"===b&&(0,t.jsx)(v.Check,{className:"h-3 w-3"}),"saving"===b?"Saving…":"saved"===b?"Saved":"Unsaved"]})]}),"preview"!==p&&(0,t.jsx)(r$,{editorView:P}),(0,t.jsxs)("div",{className:`flex-1 overflow-hidden ${B&&O?"grid grid-cols-2 divide-x divide-border":"flex"}`,children:[B&&(0,t.jsx)("div",{className:"flex flex-col overflow-hidden min-h-0",children:0===C.length?(0,t.jsx)("div",{className:"flex-1 p-4 font-mono text-sm text-txt bg-[#282c34] overflow-auto whitespace-pre-wrap",children:x}):(0,t.jsx)(nX,{ref:h,value:x,theme:"none",onChange:R,extensions:z,style:{height:"100%",overflow:"auto"},className:"h-full text-sm"},i)}),O&&(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-6 min-w-0",children:(0,t.jsx)(rF.MarkdownRenderer,{content:x})})]})]})})}function rW({docPath:e,rootParam:r,onOpenDoc:o}){let[a,s]=(0,n.useState)(null),[l,c]=(0,n.useState)(!1),[d,h]=(0,n.useState)(!1),u=(0,n.useCallback)(async()=>{if(!d){c(!0);try{let t=await fetch(`/api/backlinks${r}&path=${encodeURIComponent(e)}`),n=await t.json();s(n.links??[])}catch{s([])}finally{c(!1),h(!0)}}},[e,r,d]);return(0,t.jsxs)("div",{className:"fixed right-4 bottom-8 z-40 group",onMouseEnter:()=>{d||u()},children:[(0,t.jsx)("div",{className:"w-8 h-8 rounded-full bg-surface border border-border flex items-center justify-center group-hover:opacity-0 transition-opacity duration-200 shadow-xs",children:(0,t.jsx)(D,{className:"h-4 w-4 text-muted"})}),(0,t.jsxs)("div",{className:(0,b.cn)("absolute right-0 bottom-0 w-72 max-h-[50vh] bg-surface/95 backdrop-blur-xs border border-border rounded-lg shadow-xl","opacity-0 scale-95 origin-bottom-right pointer-events-none","group-hover:opacity-100 group-hover:scale-100 group-hover:pointer-events-auto","transition-[opacity,scale] duration-(--duration-base) ease-out-soft"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2.5 border-b border-border/50",children:[(0,t.jsx)(D,{className:"h-3.5 w-3.5 text-accent"}),(0,t.jsx)("span",{className:"text-[11px] font-semibold text-muted uppercase tracking-wider",children:"Referenced by"}),null!==a&&(0,t.jsx)("span",{className:"text-[10px] text-muted/60 bg-accent/10 px-1.5 py-0.5 rounded-full ml-auto",children:a.length})]}),(0,t.jsxs)("div",{className:"overflow-y-auto max-h-[calc(50vh-44px)]",children:[l&&(0,t.jsxs)("div",{className:"px-3 py-6 text-center",children:[(0,t.jsx)("div",{className:"w-5 h-5 border-2 border-accent/30 border-t-accent rounded-full animate-spin mx-auto"}),(0,t.jsx)("p",{className:"text-xs text-muted/60 mt-2",children:"Scanning docs..."})]}),!l&&null!==a&&0===a.length&&(0,t.jsxs)("div",{className:"px-3 py-6 text-center",children:[(0,t.jsx)(D,{className:"h-8 w-8 text-muted/30 mx-auto mb-2"}),(0,t.jsx)("p",{className:"text-xs text-muted/60",children:"No other docs link to this file"})]}),!l&&null!==a&&a.length>0&&(0,t.jsx)("div",{className:"py-1",children:a.map((e,n)=>(0,t.jsxs)("button",{onClick:()=>o(e.file),className:"w-full text-left px-3 py-2 hover:bg-accent/10 transition-colors group/item",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(i.FileText,{className:"h-3.5 w-3.5 text-muted shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-txt truncate",children:e.file.split("/").pop()?.replace(/\.md$/,"")}),(0,t.jsxs)("span",{className:"text-[10px] text-muted/50 shrink-0",children:["L",e.line]})]}),(0,t.jsx)("p",{className:"text-[11px] text-muted/70 mt-1 truncate pl-5",children:e.text})]},`${e.file}-${e.line}-${n}`))})]})]})]})}var rU=e.i(329090),rH=e.i(508540),rK=e.i(343253);function rJ({doc:e,onDirtyChange:n,onContentChange:i,docActions:o}){let{rootParam:a,setSelectedDoc:s,openDoc:l,editorSettings:c}=(0,r.useApp)(),d=e?.path??"";if((0,B.useItemCommands)(e&&o?d:null,o?[{action:"edit",label:"Rename",run:()=>o.rename(d)},{action:"duplicate",label:"Duplicate",run:()=>o.duplicate(d)},{action:"chat",label:"Chat about this doc",run:()=>o.chat(d)},{action:"remove",label:"Delete",run:()=>o.remove(d)}]:[]),!e)return(0,t.jsx)("div",{className:"flex items-center justify-center h-full text-muted text-sm",children:"Select a document to read"});async function h(t){let n=await fetch(`/api/docs${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e.path,content:t})});if(!n.ok)throw Error((await n.json()).error??"Save failed");s({...e,content:t,lastEdit:{actor:"human",at:new Date().toISOString()}})}let u=e.path.lastIndexOf("/"),m=e.lastEdit;return(0,t.jsxs)("div",{className:"flex flex-col h-full",children:[(0,t.jsx)(rH.ItemPanelHeader,{kicker:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"truncate",children:u>0?e.path.slice(0,u):"project root"}),(0,t.jsx)("span",{className:"shrink-0",children:"· doc"})]}),title:(0,t.jsx)("h1",{children:e.path.slice(u+1).replace(/\.md$/,"")}),menu:o&&(0,t.jsx)(z,{path:e.path,actions:o}),properties:[{label:"Owner",value:m?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-muted",children:["ai"===m.actor?(0,t.jsx)(f.Bot,{className:"size-3.5 text-accent","aria-hidden":!0}):(0,t.jsx)(rK.User,{className:"size-3.5","aria-hidden":!0}),"ai"===m.actor?"AI":"Human"]}):(0,t.jsx)("span",{className:"text-muted",children:"—"})},{label:"Edited",value:m&&(0,t.jsxs)("span",{title:`Last edited ${new Date(m.at).toLocaleString()}`,className:"text-xs text-muted",children:["ai"===m.actor?"AI":"Human"," · ",(0,rU.timeAgo)(m.at)]})}]}),(0,t.jsx)("div",{className:"min-h-0 flex-1",children:(0,t.jsx)(rq,{docPath:e.path,initialContent:e.content,onSave:h,onDirtyChange:n,onContentChange:i,wordWrap:c.wordWrap,lineNumbers:c.lineNumbers})}),(0,t.jsx)(rW,{docPath:e.path,rootParam:a,onOpenDoc:l})]})}function rG({headings:e}){return 0===e.length?null:(0,t.jsxs)("div",{className:"fixed right-4 top-20 z-40 group",children:[(0,t.jsx)("div",{className:"w-1 h-32 bg-muted/20 rounded-full group-hover:opacity-0 transition-opacity duration-200"}),(0,t.jsxs)("div",{className:(0,b.cn)("absolute right-0 top-0 w-56 max-h-[70vh] bg-surface/95 backdrop-blur-xs border border-border rounded-lg shadow-xl","opacity-0 scale-95 origin-top-right pointer-events-none","group-hover:opacity-100 group-hover:scale-100 group-hover:pointer-events-auto","transition-[opacity,scale] duration-(--duration-base) ease-out-soft"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2.5 border-b border-border/50",children:[(0,t.jsx)(rL.List,{className:"h-3.5 w-3.5 text-accent"}),(0,t.jsx)("span",{className:"text-[11px] font-semibold text-muted uppercase tracking-wider",children:"Outline"}),(0,t.jsx)("span",{className:"text-[10px] text-muted/60 bg-accent/10 px-1.5 py-0.5 rounded-full ml-auto",children:e.length})]}),(0,t.jsx)("div",{className:"overflow-y-auto max-h-[calc(70vh-44px)] py-2",children:e.map((e,n)=>(0,t.jsx)("button",{onClick:()=>{var t;return t=e.anchor,void document.getElementById(t)?.scrollIntoView({behavior:"smooth",block:"start"})},className:(0,b.cn)("w-full text-left text-[13px] py-1.5 px-3 hover:bg-accent/10 transition-colors truncate",1===e.level&&"font-medium text-txt",2===e.level&&"pl-5 text-muted hover:text-txt",3===e.level&&"pl-7 text-muted/70 text-[12px] hover:text-muted"),children:e.text},n))})]})]})}function r_({docs:e,selectedDoc:r,docSearch:i,onSearchChange:o,onDocSelect:a,onDirtyChange:s,onNewDocClick:l,onDocDeleted:c,onDocRenamed:d,rootParam:h,docActions:u}){let[f,m]=(0,n.useState)(r?.content??"");(0,n.useEffect)(()=>{m(r?.content??"")},[r?.path]);let p=(0,n.useMemo)(()=>f.split("\n").filter(e=>/^#{1,3} /.test(e)).flatMap(e=>{let t=e.match(/^(#{1,3}) (.+)/);if(!t)return[];let n=t[2].trim(),r=n.toLowerCase().replace(/[^\w\s-]/g,"").replace(/\s+/g,"-");return[{level:t[1].length,text:n,anchor:r}]}),[f]);return(0,t.jsxs)("div",{className:"flex h-full relative",style:{minHeight:"calc(100vh - 3rem)"},children:[(0,t.jsx)(G,{docs:e,selectedDocPath:r?.path,searchValue:i,onSearchChange:o,onDocClick:a,onNewDocClick:l,rootParam:h,docActions:u}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,t.jsx)(rJ,{doc:r,onDirtyChange:s,onContentChange:m,docActions:u})}),r&&(0,t.jsx)(rG,{headings:p})]})}var rX=e.i(91881),rQ=e.i(673635);async function rY(e,t,n){try{let r=await fetch(e,{method:t,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(r.ok)return null;return(await r.json().catch(()=>null))?.error??`Request failed (${r.status})`}catch{return"Could not reach the server"}}e.s(["default",0,function(){let{selectedDoc:e,setSelectedDoc:i,rootParam:o,activeProject:a}=(0,r.useApp)(),[s,l]=(0,n.useState)([]),[c,d]=(0,n.useState)(""),[h,u]=(0,n.useState)(!1),f=(0,n.useRef)(!1),[m,p]=(0,n.useState)(null),g=(0,n.useCallback)(()=>{a&&fetch(`/api/docs${o}`).then(e=>e.json()).then(e=>l(Array.isArray(e)?e:[])).catch(()=>{})},[a,o]);(0,n.useEffect)(()=>{g()},[g]);let x=(0,n.useCallback)(async e=>{if(!e.trim())return void g();let t=await fetch(`/api/docs${o}&q=${encodeURIComponent(e)}`),n=await t.json();l(n.results?.map(e=>({path:e.file,section:"search",name:e.file}))||[])},[o,g]);async function v(e){if(f.current&&!window.confirm("You have unsaved changes. Discard?"))return;f.current=!1;let t=await fetch(`/api/docs${o}&read=${encodeURIComponent(e)}`);i(await t.json())}let y=(0,n.useRef)(!1);async function b(e){g(),await v(e)}function w(t){g(),e?.path===t&&i(null)}async function k(t,n){g(),e?.path===t&&await v(n)}async function S(e,t){let n=await rY(`/api/docs${o}`,"PATCH",{oldPath:e,newPath:t});return n||await k(e,t),n}return(0,n.useEffect)(()=>{if(y.current||!a)return;y.current=!0;let e=new URLSearchParams(window.location.search).get("doc");e&&fetch(`/api/docs${o}&read=${encodeURIComponent(e)}`).then(e=>e.ok?e.json():null).then(e=>{e?.path&&i(e)}).catch(()=>{})},[a,o,i]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(V,{mode:m?.mode??null,path:m?.path??"",onSubmit:e=>S(m?.path??"",e),onClose:()=>p(null)}),(0,t.jsx)(r_,{docActions:{rename:e=>p({mode:"rename",path:e}),move:e=>p({mode:"move",path:e}),duplicate:async e=>{let t=await fetch(`/api/docs${o}&read=${encodeURIComponent(e)}`),{content:n}=await t.json(),r=e.replace(/\.md$/,"");for(let e=1;e<50;e++){let t=`${r}-copy${e>1?`-${e}`:""}.md`,i=await rY(`/api/docs${o}`,"POST",{path:t,content:n});if(!i)return b(t);if("File already exists"!==i)return(0,rQ.toast)(i)}},copyPath:e=>{navigator.clipboard.writeText(e)},copyLink:e=>{navigator.clipboard.writeText(`${window.location.origin}/docs?doc=${encodeURIComponent(e)}`)},chat:e=>(0,rV.askAgent)(`Let's talk about ${e}. Read it first.`,{newChat:!0}),remove:async t=>{let n=e?.path===t,r=await fetch(`/api/docs${o}`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})}),i=await r.json().catch(()=>null);if(!r.ok)return(0,rQ.toast)(i?.error??"Delete failed");w(t),(0,rQ.undoToast)(`Deleted ${t}`,async()=>{let e=await rY(`/api/docs${o}`,"POST",{path:t,content:i.content});if(e)throw Error(e);n?await b(t):g()})}},docs:s,selectedDoc:e,docSearch:c,onSearchChange:function(e){d(e),x(e)},onDocSelect:v,onDirtyChange:function(e){f.current=e},onNewDocClick:()=>u(!0),onDocDeleted:w,onDocRenamed:k,rootParam:o}),(0,t.jsx)(rX.NewDocModal,{open:h,onOpenChange:u,rootParam:o,onDocCreated:b})]})}],901251)}]);
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,543836,e=>{"use strict";var t=Object.defineProperty,n=(e,n)=>t(e,"name",{value:n,configurable:!0}),r=!!("u">typeof window&&window.document&&window.document.createElement);function o(e,t,{checkForDefaultPrevented:r=!0}={}){return n(function(n){if(e?.(n),!1===r||!n||!n.defaultPrevented)return t?.(n)},"handleEvent")}function i(e){if(!r)throw Error("Cannot access document outside of the DOM");return e?.ownerDocument??document}function a(e){return"IFRAME"===e.tagName}n(o,"composeEventHandlers"),n(function(e){if(!r)throw Error("Cannot access window outside of the DOM");return e?.ownerDocument?.defaultView??window},"getOwnerWindow"),n(i,"getOwnerDocument"),n(function e(t,n=!1){let{activeElement:r}=i(t);if(!r?.nodeName)return null;if(a(r)&&r.contentDocument)return e(r.contentDocument.body,n);if(n){let e=r.getAttribute("aria-activedescendant");if(e){let t=i(r).getElementById(e);if(t)return t}}return r},"getActiveElement"),n(a,"isFrame"),e.s(["composeEventHandlers",0,o])},899300,e=>{"use strict";e.s(["IS_DEVELOPMENT",0,!1])},264145,e=>{"use strict";var t=e.i(180338),n=e.i(72345),r=Object.defineProperty,o=(e,t)=>r(e,"name",{value:t,configurable:!0});function i(e,r=[]){let s=[];function l(r,i){let a=t.createContext(i);a.displayName=r+"Context";let l=s.length;s=[...s,i];let u=o(r=>{let{scope:o,children:i,...s}=r,u=o?.[e]?.[l]||a,c=t.useMemo(()=>s,Object.values(s));return(0,n.jsx)(u.Provider,{value:c,children:i})},"Provider");function c(n,o,s={}){let{optional:u=!1}=s,d=o?.[e]?.[l]||a,f=t.useContext(d);if(f)return f;if(void 0!==i)return i;if(!u)throw Error(`\`${n}\` must be used within \`${r}\``)}return u.displayName=r+"Provider",o(c,"useContext"),[u,c]}o(l,"createContext");let u=o(()=>{let n=s.map(e=>t.createContext(e));return o(function(r){let o=r?.[e]||n;return t.useMemo(()=>({[`__scope${e}`]:{...r,[e]:o}}),[r,o])},"useScope")},"createScope");return u.scopeName=e,[l,a(u,...r)]}function a(...e){let n=e[0];if(1===e.length)return n;let r=o(()=>{let r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return o(function(e){let o=r.reduce((t,{useScope:n,scopeName:r})=>{let o=n(e)[`__scope${r}`];return{...t,...o}},{});return t.useMemo(()=>({[`__scope${n.scopeName}`]:o}),[o])},"useComposedScopes")},"createScope");return r.scopeName=n.scopeName,r}o(function(e,r){let i=t.createContext(r);i.displayName=e+"Context";let a=o(e=>{let{children:r,...o}=e,a=t.useMemo(()=>o,Object.values(o));return(0,n.jsx)(i.Provider,{value:a,children:r})},"Provider");function s(n,o={}){let{optional:a=!1}=o,l=t.useContext(i);if(l)return l;if(void 0!==r)return r;if(!a)throw Error(`\`${n}\` must be used within \`${e}\``)}return a.displayName=e+"Provider",o(s,"useContext"),[a,s]},"createContext"),o(i,"createContextScope"),o(a,"composeContextScopes"),e.s(["createContextScope",0,i])},900877,e=>{"use strict";var t=e.i(180338),n=(e.i(72345),Object.defineProperty),r=t.createContext(void 0);function o(e){let n=t.useContext(r);return e||n||"ltr"}n(o,"name",{value:"useDirection",configurable:!0}),e.s(["useDirection",0,o])},432567,e=>{"use strict";var t=e.i(180338),n=e.i(44532),r=Object.defineProperty,o=t[" useId ".trim().toString()]||(()=>void 0),i=0;function a(e){let[r,a]=t.useState(o());return(0,n.useLayoutEffect)(()=>{e||a(e=>e??String(i++))},[e]),e||(r?`radix-${r}`:"")}r(a,"name",{value:"useId",configurable:!0}),e.s(["useId",0,a])},997611,e=>{"use strict";var t=e.i(180338),n=e.i(44532),r=Object.defineProperty,o=(e,t)=>r(e,"name",{value:t,configurable:!0});function i(e,n){return t.useReducer((e,t)=>n[e][t]??e,e)}o(i,"useStateMachine");var a=o(e=>{let{present:n,children:r}=e,o=s(n),i="function"==typeof r?r({present:o.isPresent}):t.Children.only(r),a=u(o.ref,d(i));return"function"==typeof r||o.isPresent?t.cloneElement(i,{ref:a}):null},"Presence");function s(e){let[r,a]=t.useState(),s=t.useRef(null),l=t.useRef(e),u=t.useRef("none"),d=t.useRef(void 0),[f,p]=i(e?"mounted":"unmounted",{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return t.useEffect(()=>{"mounted"===f?(u.current=d.current??c(s.current),d.current=void 0):u.current="none"},[f]),(0,n.useLayoutEffect)(()=>{let t=s.current,n=l.current;if(n!==e){let r=u.current,o=c(t);e?(d.current=o,p("MOUNT")):"none"===o||t?.display==="none"?p("UNMOUNT"):n&&r!==o?p("ANIMATION_OUT"):p("UNMOUNT"),l.current=e}},[e,p]),(0,n.useLayoutEffect)(()=>{if(r){let e,t=r.ownerDocument.defaultView??window,n=o(n=>{let o=c(s.current).includes(CSS.escape(n.animationName));if(n.target===r&&o&&(p("ANIMATION_END"),!l.current)){let n=r.style.animationFillMode;r.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===r.style.animationFillMode&&(r.style.animationFillMode=n)})}},"handleAnimationEnd"),i=o(e=>{e.target===r&&(u.current=c(s.current))},"handleAnimationStart");return r.addEventListener("animationstart",i),r.addEventListener("animationcancel",n),r.addEventListener("animationend",n),()=>{t.clearTimeout(e),r.removeEventListener("animationstart",i),r.removeEventListener("animationcancel",n),r.removeEventListener("animationend",n)}}p("ANIMATION_END")},[r,p]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:t.useCallback(e=>{if(e){let t=getComputedStyle(e);s.current=t,d.current=c(t)}else s.current=null;a(e)},[])}}function l(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function u(...e){let n=t.useRef(e);return n.current=e,t.useCallback(e=>{let t=n.current,r=!1,o=t.map(t=>{let n=l(t,e);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let e=0;e<o.length;e++){let n=o[e];"function"==typeof n?n():l(t[e],null)}}},[])}function c(e){return e?.animationName||"none"}function d(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(n=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}o(s,"usePresence"),o(l,"setRef"),o(u,"useStableComposedRefs"),o(c,"getAnimationName"),o(d,"getElementRef"),e.s(["Presence",0,a])},978238,e=>{"use strict";var t=e.i(180338),n=e.i(399531),r=e.i(617739),o=e.i(72345),i=Object.defineProperty,a=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{let i=(0,r.createSlot)(`Primitive.${n}`),a=t.forwardRef((e,t)=>{let{asChild:r,...a}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,o.jsx)(r?i:n,{...a,ref:t})});return a.displayName=`Primitive.${n}`,{...e,[n]:a}},{});function s(e,t){e&&n.flushSync(()=>e.dispatchEvent(t))}i(s,"name",{value:"dispatchDiscreteCustomEvent",configurable:!0}),e.s(["Primitive",0,a,"dispatchDiscreteCustomEvent",0,s])},617739,166100,294237,e=>{"use strict";var t=e.i(180338),n=Object.defineProperty,r=(e,t)=>n(e,"name",{value:t,configurable:!0});function o(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function i(...e){return t=>{let n=!1,r=e.map(e=>{let r=o(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];"function"==typeof n?n():o(e[t],null)}}}}function a(...e){return t.useCallback(i(...e),e)}r(o,"setRef"),r(i,"composeRefs"),r(a,"useComposedRefs"),e.s(["useComposedRefs",0,a],166100);var s=Object.defineProperty,l=(e,t)=>s(e,"name",{value:t,configurable:!0});function u(e){let n=t.forwardRef((n,r)=>{let{children:o,...i}=n,s=null,l=!1,u=[];v(o)&&"function"==typeof E&&(o=E(o._payload)),t.Children.forEach(o,e=>{if(g(e)){l=!0;let t="child"in e.props?e.props.child:e.props.children;v(t)&&"function"==typeof E&&(t=E(t._payload)),s=p(e,t),u.push(s?.props?.children)}else u.push(e)}),s?s=t.cloneElement(s,void 0,u):!l&&1===t.Children.count(o)&&t.isValidElement(o)&&(s=o);let c=s?h(s):void 0,d=a(r,c);if(!s){if(o||0===o)throw Error(l?x(e):w(e));return o}let f=m(i,s.props??{});return s.type!==t.Fragment&&(f.ref=r?d:c),t.cloneElement(s,f)});return n.displayName=`${e}.Slot`,n}l(u,"createSlot");var c=u("Slot"),d=Symbol.for("radix.slottable");function f(e){let t=l(e=>"child"in e?e.children(e.child):e.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=d,t}l(f,"createSlottable");var p=l((e,n)=>{if("child"in e.props){let n=e.props.child;return t.isValidElement(n)?t.cloneElement(n,void 0,e.props.children(n.props.children)):null}return t.isValidElement(n)?n:null},"getSlottableElementFromSlottable");function m(e,t){let n={...t};for(let r in t){let o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...e)=>{let t=i(...e);return o(...e),t}:o&&(n[r]=o):"style"===r?n[r]={...o,...i}:"className"===r&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function h(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(n=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}function g(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===d}l(m,"mergeProps"),l(h,"getElementRef"),l(g,"isSlottable");var y=Symbol.for("react.lazy");function v(e){return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===y&&"_payload"in e&&b(e._payload)}function b(e){return"object"==typeof e&&null!==e&&"then"in e}l(v,"isLazyComponent"),l(b,"isPromiseLike");var w=l(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),x=l(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),E=t[" use ".trim().toString()];e.s(["Slot",0,c,"createSlot",0,u,"createSlottable",0,f],617739);var S=e.i(7284);let N=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,k=S.clsx;e.s(["cva",0,(e,t)=>n=>{var r;if((null==t?void 0:t.variants)==null)return k(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:o,defaultVariants:i}=t,a=Object.keys(o).map(e=>{let t=null==n?void 0:n[e],r=null==i?void 0:i[e];if(null===t)return null;let a=N(t)||N(r);return o[e][a]}),s=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return void 0===r||(e[n]=r),e},{});return k(e,a,null==t||null==(r=t.compoundVariants)?void 0:r.reduce((e,t)=>{let{class:n,className:r,...o}=t;return Object.entries(o).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...s}[t]):({...i,...s})[t]===n})?[...e,n,r]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}],294237)},232253,e=>{"use strict";var t=e.i(180338);function n(e){let n=t.useRef(e);return t.useEffect(()=>{n.current=e}),t.useMemo(()=>(...e)=>n.current?.(...e),[])}(0,Object.defineProperty)(n,"name",{value:"useCallbackRef",configurable:!0}),e.s(["useCallbackRef",0,n])},315671,e=>{"use strict";var t=e.i(180338),n=e.i(899300),r=e.i(44532),o=Object.defineProperty,i=t[" useEffectEvent ".trim().toString()],a=t[" useInsertionEffect ".trim().toString()];function s(e){if("function"==typeof i)return i(e);let n=t.useRef(()=>{throw Error("Cannot call an event handler while rendering.")});return"function"==typeof a?a(()=>{n.current=e}):(0,r.useLayoutEffect)(()=>{n.current=e}),t.useMemo(()=>(...e)=>n.current?.(...e),[])}o(s,"name",{value:"useEffectEvent",configurable:!0});var l=Object.defineProperty,u=(e,t)=>l(e,"name",{value:t,configurable:!0}),c=t[" useInsertionEffect ".trim().toString()]||r.useLayoutEffect;function d({prop:e,defaultProp:r,onChange:o=u(()=>{},"onChange"),caller:i}){let[a,s,l]=f({defaultProp:r,onChange:o}),c=void 0!==e,m=c?e:a;if(n.IS_DEVELOPMENT){let n=t.useRef(void 0!==e);t.useEffect(()=>{let e=n.current;if(e!==c){let t=c?"controlled":"uncontrolled";console.warn(`${i} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}n.current=c},[c,i])}return[m,t.useCallback(t=>{if(c){let n=p(t)?t(e):t;n!==e&&l.current?.(n)}else s(t)},[c,e,s,l])]}function f({defaultProp:e,onChange:n}){let[r,o]=t.useState(e),i=t.useRef(r),a=t.useRef(n);return c(()=>{a.current=n},[n]),t.useEffect(()=>{i.current!==r&&(a.current?.(r),i.current=r)},[r,i]),[r,o,a]}function p(e){return"function"==typeof e}u(d,"useControllableState"),u(f,"useUncontrolledState"),u(p,"isFunction");var m=Symbol("RADIX:SYNC_STATE");u(function(e,r,o,i){let{prop:a,defaultProp:l,onChange:u,caller:c}=r,d=void 0!==a,f=s(u);if(n.IS_DEVELOPMENT){let e=t.useRef(void 0!==a);t.useEffect(()=>{let t=e.current;if(t!==d){let e=d?"controlled":"uncontrolled";console.warn(`${c} is changing from ${t?"controlled":"uncontrolled"} to ${e}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}e.current=d},[d,c])}let p=[{...o,state:l}];i&&p.push(i);let[h,g]=t.useReducer((t,n)=>{if(n.type===m)return{...t,state:n.state};let r=e(t,n);return d&&!Object.is(r.state,t.state)&&f(r.state),r},...p),y=h.state,v=t.useRef(y);t.useEffect(()=>{v.current!==y&&(v.current=y,d||f(y))},[y,v,d]);let b=t.useMemo(()=>void 0!==a?{...h,state:a}:h,[h,a]);return t.useEffect(()=>{d&&!Object.is(a,h.state)&&g({type:m,state:a})},[a,h.state,d]),[b,g]},"useControllableStateReducer"),e.s(["useControllableState",0,d],315671)},44532,e=>{"use strict";var t=e.i(180338),n=globalThis?.document?t.useLayoutEffect:()=>{};e.s(["useLayoutEffect",0,n])},737152,e=>{"use strict";var t=e.i(83790);let n={name:"brain",size:24,node:[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]};n.node;let r=(0,t.default)(n);e.s(["Brain",0,r],737152)},837001,e=>{"use strict";var t=e.i(83790);let n={name:"check",size:24,node:[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]};n.node;let r=(0,t.default)(n);e.s(["Check",0,r],837001)},675964,e=>{"use strict";var t=e.i(83790);let n={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};n.node;let r=(0,t.default)(n);e.s(["ChevronRight",0,r],675964)},760930,e=>{"use strict";var t=e.i(83790);let n={name:"file-plus",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]]};n.node;let r=(0,t.default)(n);e.s(["FilePlus",0,r],760930)},406952,e=>{"use strict";var t=e.i(83790);let n={name:"file-text",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]};n.node;let r=(0,t.default)(n);e.s(["FileText",0,r],406952)},666326,e=>{"use strict";var t=e.i(83790);let n={name:"flask-conical",size:24,node:[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]]};n.node;let r=(0,t.default)(n);e.s(["FlaskConical",0,r],666326)},240595,e=>{"use strict";var t=e.i(83790);let n={name:"loader-circle",size:24,node:[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],aliases:["loader-2"]};n.node;let r=(0,t.default)(n);e.s(["Loader2",0,r],240595)},192871,e=>{"use strict";var t=e.i(83790);let n={name:"map",size:24,node:[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]};n.node;let r=(0,t.default)(n);e.s(["Map",0,r],192871)},15205,e=>{"use strict";var t=e.i(83790);let n={name:"plug",size:24,node:[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]]};n.node;let r=(0,t.default)(n);e.s(["Plug",0,r],15205)},138324,(e,t,n)=>{"use strict";e.i(583225),Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return y},useLinkStatus:function(){return b}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=e.r(56421),a=e.r(72345),s=i._(e.r(180338)),l=e.r(626167),u=e.r(757336),c=e.r(863555),d=e.r(549757),f=e.r(671412),p=e.r(235871),m=e.r(716851),h=e.r(658853),g=e.r(571921);function y(t){var n;let r,o,i,[y,b]=(0,s.useOptimistic)(m.IDLE_LINK_STATUS),w=(0,s.useRef)(null),{href:x,as:E,children:S,prefetch:N=null,passHref:k,replace:C,shallow:j,scroll:_,onClick:A,onMouseEnter:O,onTouchStart:P,legacyBehavior:M=!1,onNavigate:$,transitionTypes:R,ref:T,unstable_dynamicOnHover:I,...D}=t;r=S,M&&("string"==typeof r||"number"==typeof r)&&(r=(0,a.jsx)("a",{children:r}));let L=s.default.useContext(u.AppRouterContext),U=!1!==N,z=!1===N?"none":!0===N?"full":"auto",q="none"!==z?"auto"===z?g.FetchStrategy.PPR:g.FetchStrategy.Full:g.FetchStrategy.PPR,V="string"==typeof(n=E||x)?n:(0,l.formatUrl)(n);if(M){if(r?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=s.default.Children.only(r)}let F=M?o&&"object"==typeof o&&o.ref:T,W,B=s.default.useCallback(e=>(null!==L&&(w.current=(0,m.mountLinkInstance)(e,V,L,q,U,b,W)),()=>{w.current&&((0,m.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,m.unmountPrefetchableInstance)(e)}),[U,V,L,q,b,W]),H={ref:(0,c.useMergedRef)(B,F),onClick(t){M||"function"!=typeof A||A(t),M&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!L||t.defaultPrevented||function(t,n,r,o,i,a,l,u="none"){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(n)){o&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(187250);s.default.startTransition(()=>{f(n,o?"replace":"push",!1===i?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,r.current,l,u)})}}(t,V,w,C,_,$,R,z)},onMouseEnter(e){M||"function"!=typeof O||O(e),M&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),L&&U&&(0,m.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){M||"function"!=typeof P||P(e),M&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),L&&U&&(0,m.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,d.isAbsoluteUrl)(V)?H.href=V:M&&!k&&("a"!==o.type||"href"in o.props)||(H.href=(0,f.addBasePath)(V)),i=M?s.default.cloneElement(o,H):(0,a.jsx)("a",{...D,...H,children:r}),(0,a.jsx)(v.Provider,{value:y,children:i})}let v=(0,s.createContext)(m.IDLE_LINK_STATUS),b=()=>(0,s.useContext)(v);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},863555,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return o}});let r=e.r(180338);function o(e,t){let n=(0,r.useRef)(null),o=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=n.current;e&&(n.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(n.current=i(e,r)),t&&(o.current=i(t,r))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},549757,(e,t,n)=>{"use strict";e.i(583225),Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return w},NormalizeError:function(){return v},PageNotFoundError:function(){return b},SP:function(){return h},ST:function(){return g},WEB_VITALS:function(){return i},execOnce:function(){return a},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return E}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,n=!1;return(...r)=>(n||(n=!0,t=e(...r)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&s.test(e)};function u(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function m(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await m(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&f(n))return r;if(!r)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let h="u">typeof performance,g=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class v extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class w extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class x extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function E(e){return JSON.stringify({message:e.message,stack:e.stack})}},658853,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isLocalURL",{enumerable:!0,get:function(){return i}});let r=e.r(549757),o=e.r(144654);function i(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,o.hasBasePath)(n.pathname)}catch(e){return!1}}},818732,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={assign:function(){return l},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return s}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});function i(e){let t={};for(let[n,r]of e.entries()){let e=t[n];void 0===e?t[n]=r:Array.isArray(e)?e.push(r):t[n]=[e,r]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,a(e));else t.set(n,a(r));return t}function l(e,...t){for(let n of t){for(let t of n.keys())e.delete(t);for(let[t,r]of n.entries())e.append(t,r)}return e}},626167,(e,t,n)=>{"use strict";e.i(583225),Object.defineProperty(n,"__esModule",{value:!0});var r={formatUrl:function(){return s},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=e.r(56421)._(e.r(818732)),a=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:n}=e,r=e.protocol||"",o=e.pathname||"",s=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:n&&(u=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(i.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||a.test(r))&&!1!==u?(u="//"+(u||""),o&&"/"!==o[0]&&(o="/"+o)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${r}${u}${o}${c}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return s(e)}},980376,e=>{"use strict";var t=e.i(72345),n=e.i(180338),r=e.i(287272),o=e.i(294237),i=e.i(765470),a=e.i(975157);let s=r.Root;r.Trigger,r.Close;let l=r.Portal,u=n.forwardRef(({className:e,...n},o)=>(0,t.jsx)(r.Overlay,{className:(0,a.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...n,ref:o}));u.displayName=r.Overlay.displayName;let c=(0,o.cva)("fixed z-50 gap-4 bg-surface p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),d=n.forwardRef(({side:e="right",className:n,children:o,...s},d)=>(0,t.jsxs)(l,{children:[(0,t.jsx)(u,{}),(0,t.jsxs)(r.Content,{ref:d,className:(0,a.cn)(c({side:e}),n),...s,children:[o,(0,t.jsxs)(r.Close,{className:"absolute right-4 top-4 rounded-xs opacity-70 ring-offset-bg transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-accent focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-surface2",children:[(0,t.jsx)(i.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));d.displayName=r.Content.displayName;let f=({className:e,...n})=>(0,t.jsx)("div",{className:(0,a.cn)("flex flex-col space-y-2 text-center sm:text-left",e),...n});f.displayName="SheetHeader";let p=n.forwardRef(({className:e,...n},o)=>(0,t.jsx)(r.Title,{ref:o,className:(0,a.cn)("text-lg font-semibold text-txt",e),...n}));p.displayName=r.Title.displayName;let m=n.forwardRef(({className:e,...n},o)=>(0,t.jsx)(r.Description,{ref:o,className:(0,a.cn)("text-sm text-muted",e),...n}));m.displayName=r.Description.displayName,e.s(["Sheet",0,s,"SheetContent",0,d,"SheetDescription",0,m,"SheetHeader",0,f,"SheetTitle",0,p])},244267,702197,481523,844081,e=>{"use strict";var t=e.i(72345),n=e.i(180338),r=e.i(910172),o=e.i(763371),i=e.i(975157);function a(e){return Array.isArray(e)&&e.length>0&&e.every(e=>!!e&&"object"==typeof e&&"string"==typeof e.question&&"string"==typeof e.header&&Array.isArray(e.options)&&e.options.every(e=>!!e&&"object"==typeof e&&"string"==typeof e.label))}let s="\0other";function l(e,t){return["Answers:",...e.map((e,n)=>`- ${e.header}: ${t[n]}`)].join("\n")}e.s(["QuestionCard",0,function({set:e,disabled:r,onSubmit:o}){let[a,l]=(0,n.useState)(()=>e.questions.map(()=>[])),[u,c]=(0,n.useState)(()=>e.questions.map(()=>"")),d=!!e.answers,f=e.questions.map((e,t)=>{let n=e.options.map(e=>e.label).filter(e=>a[t].includes(e));return a[t].includes(s)&&u[t].trim()&&n.push(`Other: "${u[t].trim()}"`),n.join(", ")}),p=f.every(Boolean);return(0,t.jsxs)("div",{className:"my-2 rounded-md border border-border overflow-hidden","data-question-card":!0,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 bg-surface2 border-b border-border",children:[(0,t.jsx)("span",{className:"text-[10px] font-mono uppercase tracking-widest text-muted",children:"Questions"}),d&&(0,t.jsx)("span",{className:"ml-auto text-[10px] font-mono text-accent",children:"✓ Answered"})]}),(0,t.jsxs)("div",{className:"p-2 space-y-3",children:[e.questions.map((n,r)=>(0,t.jsxs)("fieldset",{disabled:d,className:"space-y-1",children:[(0,t.jsxs)("legend",{className:"mb-1",children:[(0,t.jsx)("span",{className:"text-[10px] font-mono px-1.5 py-0.5 rounded-sm bg-surface2 border border-border text-accent mr-1.5",children:n.header}),(0,t.jsx)("span",{className:"text-xs text-txt",children:n.question})]}),d?(0,t.jsx)("p",{className:"text-xs text-txt pl-1",children:e.answers?.[r]}):(0,t.jsxs)(t.Fragment,{children:[[...n.options,{label:"Other",value:s}].map(o=>{let s="value"in o?o.value:o.label,u=a[r].includes(s);return(0,t.jsxs)("label",{className:(0,i.cn)("flex gap-2 items-start rounded-sm px-1 py-0.5 cursor-pointer hover:bg-surface2",u&&"bg-surface2"),children:[(0,t.jsx)("input",{type:n.multiSelect?"checkbox":"radio",name:`${e.id}-${r}`,checked:u,onChange:()=>{var e;return e=n.multiSelect,void l(t=>t.map((t,n)=>n!==r?t:e?t.includes(s)?t.filter(e=>e!==s):[...t,s]:[s]))},className:"mt-0.5 accent-accent"}),(0,t.jsxs)("span",{className:"text-xs",children:[(0,t.jsx)("span",{className:"text-txt",children:o.label}),"description"in o&&o.description&&(0,t.jsx)("span",{className:"block text-muted",children:o.description})]})]},s)}),a[r].includes(s)&&(0,t.jsx)("input",{value:u[r],onChange:e=>c(t=>t.map((t,n)=>n===r?e.target.value:t)),placeholder:"Your answer","aria-label":`Other answer for ${n.header}`,className:"ml-6 w-[calc(100%-1.5rem)] rounded-sm bg-surface2 border border-border px-2 py-1 text-xs text-txt placeholder:text-muted focus:outline-hidden focus:border-accent"})]})]},r)),!d&&(0,t.jsx)("button",{onClick:()=>o(f),disabled:!p||r,className:"text-xs px-2 py-0.5 rounded-sm bg-accent/20 text-accent hover:bg-accent/30 disabled:opacity-50",children:"Submit"})]})]})},"formatAnswers",0,l,"isRenderableQuestions",0,a],702197);let u=e=>!!e&&"object"==typeof e&&!Array.isArray(e),c=e=>"string"==typeof e?e.trim():"";var d=e.i(956555);function f(e,t=Math.random()){return`c-${e.toString(36)}${t.toString(36).slice(2,6)}`}function p(e,t,n={}){var r;let o=n.now??new Date().toISOString();return[...e,{id:t,title:n.title??(n.attach?"epic"===(r=n.attach).kind?`Epic ${r.id}`:`Task ${r.id}`:"New chat"),messages:[],sessionId:null,busy:!1,notes:[],attach:n.attach??null,createdAt:o,updatedAt:o}]}function m(e,t,n){return e.map(e=>e.id===t?n(e):e)}let h={running:"Running","needs-answer":"Waiting for your answers",review:"Plan or edit to review",error:"Error",idle:"Idle"};function g(e){return e.messages.reduce((e,t)=>e+t.plans.filter(e=>"pending"===e.status).length+t.proposals.filter(e=>"pending"===e.status).length,0)}function y(e){if(e.busy)return"running";let t=e.messages[e.messages.length-1];if(t?.questions.some(e=>!e.answers))return"needs-answer";if(g(e))return"review";let n=e.messages.findLast(e=>"assistant"===e.role);return n?.error?"error":"idle"}function v(e,t){return!e.dismissed&&t-Date.parse(e.updatedAt)<864e5&&"error"===y(e)}let b=e=>"needs-answer"===e||"review"===e;function w(e,t,n={}){if((n.running??e.filter(e=>e.busy).length)>=4)return{refused:"Too many agents running (4). Stop or close a chat, or wait."};let r=e.find(e=>e.id===t);return!r||r.busy||n.newChat?{newChat:!0}:{chatId:r.id}}let x=e=>`${e.kind}:${e.id}`;function E(e){return e.trim().match(/^Break down epic (R\d+)/i)?.[1].toUpperCase()??null}function S(e,t){return e.filter(e=>{let n;return n=e.attach,!!n&&!!t&&n.kind===t.kind&&n.id===t.id}).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))[0]}let N={running:3,"needs-answer":2,review:1};function k(e){let t={};for(let n of e){let e=y(n);if(!n.attach||"idle"===e||"error"===e)continue;let r=x(n.attach),o=t[r];(!o||N[e]>N[o.status])&&(t[r]={status:e,chatId:n.id})}return t}function C(e){return"epic"===e.kind?`[This chat is about epic ${e.id}. Read it with vibedoc_get_roadmap (and its tasks with vibedoc_get_task) before answering.]`:`[This chat is about task ${e.id}. Read it with vibedoc_get_task before answering.]`}function j(e,t){let n=[...e].sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt)),r={needsYou:[],errors:[],running:[],recent:[]};for(let e of n){let n=y(e);b(n)?r.needsYou.push(e):void 0!==t&&v(e,t)?r.errors.push(e):"running"===n?r.running.push(e):r.recent.push(e)}return r}function _(e,t){let n=j(e,t);return[...n.needsYou,...n.errors]}function A(e,t){let n=e.findIndex(e=>e.id===t);return e[n+1]}function O(e,t=Date.now()){let n=j(e,t);return n.needsYou[0]??n.errors[0]??n.running[0]??n.recent[0]}function P(e){return e.messages.length?{...e,busy:!1}:null}function M(e){if(!e||"string"!=typeof e.id||!Array.isArray(e.messages))return null;let t=e.messages[e.messages.length-1],n=t?.role!=="assistant"||t.text||t.error||t.tools?.length||t.plans?.length||t.proposals?.length||t.questions?.length?e.messages:[...e.messages.slice(0,-1),{...t,error:"Interrupted: the page reloaded while the agent was working."}],r=e.updatedAt??e.createdAt??new Date(0).toISOString();return{...e,messages:n,busy:!1,notes:e.notes??[],attach:e.attach??null,createdAt:e.createdAt??r,updatedAt:r}}function $(e,t){return t.flatMap(t=>{let n=y(t);return b(n)&&e[t.id]!==n?[{chat:t,status:n}]:[]})}function R(e,t){let n=e.replace(/^\(\d+\) /,"");return t>0?`(${t}) ${n}`:n}function T(e){let t=E(e);if(t)return`Break down ${t}`;let n=e.trim().split("\n")[0];return n.length>40?`${n.slice(0,40).trimEnd()}…`:n}e.s(["MAX_RUNNING_CHATS",0,4,"STATUS_LABEL",0,h,"addChat",0,p,"ago",0,function(e,t){let n=Math.max(0,Math.floor((t-Date.parse(e))/6e4));return n<1?"now":n<60?`${n}m`:n<1440?`${Math.floor(n/60)}h`:`${Math.floor(n/1440)}d`},"attachContext",0,C,"attachKey",0,x,"attentionQueue",0,_,"chatFor",0,S,"chatStatus",0,y,"chatTitle",0,T,"defaultChat",0,O,"epicOf",0,E,"fromSaved",0,M,"groupChats",0,j,"isActionableError",0,v,"isWaiting",0,b,"itemAgents",0,k,"newChatId",0,f,"newlyWaiting",0,$,"nextInQueue",0,A,"patchChat",0,m,"pendingReviews",0,g,"routeAsk",0,w,"shellStatus",0,function(e,t){let n=y(e);return"error"!==n||v(e,t)?n:"idle"},"suggestions",0,function(e){return e?"epic"===e.kind?[`Break down epic ${e.id} into tasks.`,"Summarize this epic's progress.","What is at risk in this epic?"]:["Refine this task's spec.","Split this task into smaller tasks.","What blocks this task?"]:["What should I work on next?","Plan a roadmap for this project.","What is blocked right now?"]},"toSaved",0,P,"waitingTitle",0,R],481523);let I=(e,t="")=>({role:e,text:t,tools:[],proposals:[],plans:[],questions:[]}),D=(0,n.createContext)(null),L=(0,n.createContext)({});e.s(["ChatProvider",0,function({children:e}){let{rootParam:i,activeProject:s,selectedDoc:h}=(0,o.useApp)(),x=(0,r.usePathname)(),N=(0,r.useRouter)(),[j,U]=(0,n.useState)([]),[z,q]=(0,n.useState)(!1),[V,F]=(0,n.useState)(null),[W,B]=(0,n.useState)(null),[H,K]=(0,n.useState)(null),Q=(0,n.useRef)(new Map),J=(0,n.useRef)(new Set),X=(0,n.useRef)({}),[Y,G]=(0,n.useState)(()=>Date.now());(0,n.useEffect)(()=>{let e=setInterval(()=>G(Date.now()),6e4);return()=>clearInterval(e)},[]);let Z="/chat"===x,ee="/docs"===x?h?.path:void 0;(0,n.useEffect)(()=>{for(let e of Q.current.values())e.abort();Q.current.clear(),J.current.clear();let e=!1;return fetch(`/api/conversations${i}`).then(e=>e.ok?e.json():{chats:[]}).then(t=>{if(e)return;let n=(t.chats??[]).map(e=>M(e)).filter(e=>!!e);X.current=Object.fromEntries(n.map(e=>[e.id,y(e)])),U(n),F(null),B(null),q(!0)}).catch(t=>{console.warn("[vibedoc] could not load chats:",t),e||(U([]),q(!0))}),()=>{e=!0}},[s,i]),(0,n.useEffect)(()=>{for(let e of[...J.current]){let t=j.find(t=>t.id===e);J.current.delete(e);let n=t&&P(t);n&&fetch(`/api/conversations${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({chat:n})}).catch(t=>console.warn(`[vibedoc] could not save chat ${e}:`,t))}},[j,i]);let et=(0,n.useRef)({key:"{}",value:{}}),en=(0,n.useMemo)(()=>{let e=k(j),t=JSON.stringify(e);return t!==et.current.key&&(et.current={key:t,value:e}),et.current.value},[j]),er=j.filter(e=>e.busy).length,eo=j.filter(e=>b(y(e))).length,ei=j.filter(e=>v(e,Y)).length,ea=(0,n.useMemo)(()=>_(j,Y),[j,Y]);function es(e){J.current.add(e)}function el(e={}){e.keep||U(e=>e.filter(e=>e.id!==V||e.messages.length>0)),F(null)}function eu(e){B(e),Z?(F(null),N.replace(`/chat?id=${encodeURIComponent(e)}`,{scroll:!1})):F(e)}function ec(e=null){let t=f(Date.now());return U(n=>p(n,t,{attach:e})),t}function ed(e,t){U(n=>m(n,e,e=>({...e,messages:[...e.messages.slice(0,-1),t(e.messages[e.messages.length-1])]})))}async function ef(e,t){let n=t.trim(),r=j.find(t=>t.id===e);if(!n||r?.busy)return;"Notification"in window&&"default"===Notification.permission&&Notification.requestPermission().catch(()=>{});let o=!r?.messages.length,s=E(n),l=r?.attach??(s?{kind:"epic",id:s}:null);U(t=>m(t,e,e=>({...e,title:e.messages.length?e.title:T(n),attach:e.attach??l,busy:!0,dismissed:!1,notes:[],updatedAt:new Date().toISOString(),messages:[...e.messages,I("user",n),I("assistant")]}))),es(e);let c=[...o&&r?.attach?[C(r.attach)]:[],...r?.notes.length?[`[${r.notes.join(" ")}]`]:[]],d=c.length?`${c.join("\n")}
2
+
3
+ ${n}`:n,f=new AbortController;Q.current.set(e,f);try{let t=await fetch(`/api/chat${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:d,sessionId:r?.sessionId??null,docPath:ee}),signal:f.signal});if(!t.ok||!t.body){let e=await t.json().catch(()=>null);throw Error(e?.error??`Request failed (${t.status})`)}let n=t.body.getReader(),o=new TextDecoder,s="";for(;;){let{done:t,value:r}=await n.read();if(t)break;let i=(s+=o.decode(r,{stream:!0})).split("\n");for(let t of(s=i.pop()??"",i))if(t.trim())try{!function(e,t){if(t.session_id&&U(n=>m(n,e,e=>e.sessionId===t.session_id?e:{...e,sessionId:t.session_id})),"stream_event"===t.type){let n=t.event;n?.type==="message_start"?ed(e,e=>e.text&&!e.text.endsWith("\n\n")?{...e,text:e.text+"\n\n"}:e):n?.type==="content_block_delta"&&n.delta?.type==="text_delta"&&ed(e,e=>({...e,text:e.text+n.delta.text}))}else if("assistant"===t.type){let n=(t.message?.content??[]).filter(e=>"tool_use"===e.type),r=n.filter(e=>e.name.endsWith("vibedoc_propose_edit")&&"string"==typeof e.input?.path&&Array.isArray(e.input?.edits)).map(e=>({id:e.id,path:e.input.path,edits:e.input.edits,summary:"string"==typeof e.input.summary?e.input.summary:void 0,status:"pending"})),o=n.filter(e=>e.name.endsWith("vibedoc_propose_plan")).flatMap(e=>{let t=function(e){if(!u(e))return null;let t=(e,t)=>Array.isArray(e)&&e.every(e=>u(e)&&t.every(t=>"string"==typeof e[t])&&(void 0===e.dependsOn||Array.isArray(e.dependsOn)));if("breakdown"===e.kind){let n=void 0===e.epic||"string"==typeof e.epic,r=void 0===e.newEpic||u(e.newEpic)&&"string"==typeof e.newEpic.title&&"string"==typeof e.newEpic.parent;return n&&r&&t(e.tasks,["key","title"])&&e.tasks.length>0?e:null}if("roadmap"===e.kind){let n=e.horizons??[],r=e.epics??[];return t(n,["key","title"])&&t(r,["key","title","parent"])?{kind:"roadmap",horizons:n,epics:r}:null}return null}(e.input?.plan);return t?[{id:e.id,plan:t,status:"pending"}]:[]}),i=n.filter(e=>e.name.endsWith("vibedoc_ask_questions")&&a(e.input?.questions)).map(e=>({id:e.id,questions:e.input.questions})),s=["vibedoc_propose_edit","vibedoc_propose_plan","vibedoc_ask_questions"],l=n.filter(e=>!s.some(t=>e.name.endsWith(t))).map(e=>e.name.replace(/^mcp__vibedoc__vibedoc_/,""));(l.length||r.length||o.length||i.length)&&ed(e,e=>({...e,tools:[...e.tools,...l],proposals:[...e.proposals,...r],plans:[...e.plans,...o],questions:[...e.questions,...i]}))}else if("user"===t.type){let n=new Set((t.message?.content??[]).filter(e=>"tool_result"===e.type&&e.is_error).map(e=>e.tool_use_id));n.size&&ed(e,e=>({...e,proposals:e.proposals.filter(e=>!n.has(e.id)),plans:e.plans.filter(e=>!n.has(e.id)),questions:e.questions.filter(e=>!n.has(e.id))}))}else"result"===t.type&&t.is_error?ed(e,e=>({...e,error:t.result??t.subtype??"Agent error"})):"error"===t.type&&ed(e,e=>({...e,error:t.message}))}(e,JSON.parse(t))}catch{}}}catch(t){f.signal.aborted?ed(e,e=>e.text||e.error?e:{...e,error:"Stopped."}):ed(e,e=>({...e,error:t.message}))}finally{Q.current.get(e)===f&&(Q.current.delete(e),es(e)),U(t=>m(t,e,e=>({...e,busy:!1,updatedAt:new Date().toISOString()})))}}function ep(e){Q.current.get(e)?.abort()}function em(e,t,n){U(r=>m(r,e,e=>({...e,notes:n?[...e.notes,n]:e.notes,messages:e.messages.map(t)}))),es(e)}return(0,n.useEffect)(()=>{document.title=R(document.title,ea.length)},[ea.length,x]),(0,n.useEffect)(()=>{let e=$(X.current,j);if(X.current=Object.fromEntries(j.map(e=>[e.id,y(e)])),e.length&&document.hidden&&"Notification"in window&&"granted"===Notification.permission)for(let{chat:t,status:n}of e){let e=new Notification("needs-answer"===n?"Agent needs your answer":"Plan ready to review",{body:t.title,tag:t.id});e.onclick=()=>{window.focus(),(0,d.openAgentChat)(t.id),e.close()}}},[j]),(0,n.useEffect)(()=>{function e(e){let{message:t,newChat:n}=e.detail??{};if(!t)return;let r=w(j,W,{newChat:n,running:Q.current.size});if("refused"in r)return K(r.refused);K(null);let o=E(t),i="chatId"in r?r.chatId:ec(o?{kind:"epic",id:o}:null);ef(i,t),n||eu(i)}function t(e){let t=e.detail?.chatId;t&&j.some(e=>e.id===t)&&eu(t)}return window.addEventListener(d.ASK_AGENT_EVENT,e),window.addEventListener(d.OPEN_CHAT_EVENT,t),()=>{window.removeEventListener(d.ASK_AGENT_EVENT,e),window.removeEventListener(d.OPEN_CHAT_EVENT,t)}}),(0,t.jsx)(D.Provider,{value:{chats:j,loaded:z,modalId:V,closeModal:el,show:eu,showDefault:function(){let e=A(ea,V??(Z?W:null));if(e)return eu(e.id);if(V)return el();let t=O(j,Y);eu(t?t.id:ec())},showAbout:function(e){let t=S(j,e);eu(t?t.id:ec(e))},create:ec,send:ef,stop:ep,dismiss:function(e){U(t=>m(t,e,e=>({...e,dismissed:!0}))),es(e)},remove:function(e){let t=j.find(t=>t.id===e),n=t?g(t):0;return(!n||!!window.confirm(`Discard ${n} unreviewed proposal${1===n?"":"s"}?`))&&(ep(e),Q.current.delete(e),J.current.delete(e),U(t=>t.filter(t=>t.id!==e)),V===e&&F(null),W===e&&B(null),fetch(`/api/conversations${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({delete:e})}).catch(t=>console.warn(`[vibedoc] could not delete chat ${e}:`,t)),!0)},resolveProposal:function(e,t,n,r){em(e,e=>({...e,proposals:e.proposals.map(e=>e.id===t?{...e,status:r}:e)}),`User ${r} your proposed edit to ${n}.`)},resolvePlan:function(e,t,n,r,o){var i;let a="breakdown"===t.plan.kind?c((i=t.plan).epic)?c(i.epic).toUpperCase():i.newEpic?`new epic "${c(i.newEpic.title)}"`:"no epic":"the roadmap";em(e,e=>({...e,plans:e.plans.map(e=>e.id===t.id?{...e,status:n,created:r}:e)}),"accepted"===n?`User accepted plan for ${a}: created ${r.map(e=>e.id).join(", ")}${o.length?` (unchecked: ${o.join(", ")})`:""}.`:`User rejected the plan for ${a}.`)},answerQuestions:function(e,t,n){j.find(t=>t.id===e)?.busy||(em(e,e=>({...e,questions:e.questions.map(e=>e.id===t.id?{...e,answers:n}:e)})),ef(e,l(t.questions,n)))},agents:en,runningCount:er,waitingCount:eo,errorCount:ei,queue:ea,now:Y,notice:H,dismissNotice:()=>K(null)},children:(0,t.jsx)(L.Provider,{value:en,children:e})})},"useChats",0,function(){let e=(0,n.useContext)(D);if(!e)throw Error("useChats() must be used inside <ChatProvider>");return e},"useItemAgent",0,function(e){return(0,n.useContext)(L)[x(e)]}],244267);var U=e.i(240595),z=e.i(192871),q=e.i(83790);let V={name:"square-check",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m16 9-5.5 5.5L8 12",key:"xofnsj"}]],aliases:["check-square-2"]};V.node;let F=(0,q.default)(V);e.s(["AttachLabel",0,function({attach:e,className:n}){let r="epic"===e.kind?z.Map:F;return(0,t.jsxs)("span",{className:(0,i.cn)("inline-flex items-center gap-1 font-mono text-[10px] leading-none",n),children:[(0,t.jsx)(r,{className:"size-3"}),e.id]})},"StatusMarker",0,function({status:e,showIdle:n=!1,label:r,className:o}){if("idle"===e&&!n)return null;let a=r??h[e];return(0,t.jsx)("span",{role:"img","aria-label":a,title:a,className:(0,i.cn)("inline-flex size-3 shrink-0 items-center justify-center",o),children:"running"===e?(0,t.jsx)(U.Loader2,{className:"size-3 animate-spin text-accent"}):(0,t.jsx)("span",{className:(0,i.cn)("size-1.5","review"===e?"size-2 rotate-45 rounded-[1px] bg-accent animate-pulse-dot":"rounded-full","needs-answer"===e&&"bg-amber animate-pulse-dot","error"===e&&"bg-danger","idle"===e&&"border border-muted/60")})})},"attachHref",0,function(e){return"epic"===e.kind?`/roadmap?item=${e.id}`:`/board?task=${e.id}`}],844081)},956555,e=>{"use strict";let t="vibedoc:ask-agent",n="vibedoc:open-chat";e.s(["ASK_AGENT_EVENT",0,t,"OPEN_CHAT_EVENT",0,n,"askAgent",0,function(e,n={}){window.dispatchEvent(new CustomEvent(t,{detail:{message:e,...n}}))},"openAgentChat",0,function(e){window.dispatchEvent(new CustomEvent(n,{detail:{chatId:e}}))}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,169777,e=>{"use strict";var t=e.i(83790);let n={name:"arrow-down",size:24,node:[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]};n.node;let s=(0,t.default)(n);e.s(["ArrowDown",0,s],169777)},709948,e=>{"use strict";var t=e.i(83790);let n={name:"chevron-down",size:24,node:[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]};n.node;let s=(0,t.default)(n);e.s(["ChevronDown",0,s],709948)},248070,e=>{"use strict";var t=e.i(83790);let n={name:"ellipsis",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],aliases:["more-horizontal"]};n.node;let s=(0,t.default)(n);e.s(["MoreHorizontal",0,s],248070)},246978,e=>{"use strict";var t=e.i(83790);let n={name:"folder-input",size:24,node:[["path",{d:"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1",key:"fm4g5t"}],["path",{d:"M2 13h10",key:"pgb2dq"}],["path",{d:"m9 16 3-3-3-3",key:"6m91ic"}]]};n.node;let s=(0,t.default)(n);e.s(["FolderInput",0,s],246978)},506534,e=>{"use strict";var t=e.i(83790);let n={name:"list-tree",size:24,node:[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]]};n.node;let s=(0,t.default)(n);e.s(["ListTree",0,s],506534)},475850,e=>{"use strict";var t=e.i(83790);let n={name:"message-square",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]};n.node;let s=(0,t.default)(n);e.s(["MessageSquare",0,s],475850)},496385,e=>{"use strict";var t=e.i(83790);let n={name:"triangle-alert",size:24,node:[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],aliases:["alert-triangle"]};n.node;let s=(0,t.default)(n);e.s(["AlertTriangle",0,s],496385)},723528,e=>{"use strict";var t=e.i(72345),n=e.i(479432),s=e.i(240595),a=e.i(975157),r=e.i(244267),i=e.i(844081);let l={running:"Agent working","needs-answer":"Agent needs you",review:"Plan to review"};e.s(["AgentDot",0,function({attach:e}){let n=(0,r.useItemAgent)(e);return n?(0,t.jsx)(i.StatusMarker,{status:n.status,label:l[n.status]}):null},"AgentMark",0,function({attach:e,className:i}){let o=(0,r.useItemAgent)(e),{show:d}=(0,r.useChats)();if(!o)return null;let u=l[o.status];return(0,t.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),d(o.chatId)},title:`${u} \xb7 open chat`,"aria-label":`${u}, open chat`,className:(0,a.cn)("nodrag inline-flex shrink-0 items-center gap-1 rounded-full border px-1.5 py-px font-mono text-[10px] leading-4 animate-fade-in transition-colors duration-(--duration-fast)","running"===o.status&&"border-accent/50 text-accent hover:bg-accent/10","needs-answer"===o.status&&"border-amber/50 text-amber hover:bg-amber/10","review"===o.status&&"border-accent/50 bg-accent/10 text-accent hover:bg-accent/20",i),children:["running"===o.status?(0,t.jsx)(s.Loader2,{className:"size-3 animate-spin","aria-hidden":!0}):(0,t.jsx)(n.Bot,{className:"size-3","aria-hidden":!0}),u]})}])},651581,e=>{"use strict";var t=e.i(72345),n=e.i(211672),s=e.i(301702),a=e.i(496385),r=e.i(837001),i=e.i(975157),l=e.i(450768),o=e.i(640818),d=e.i(723528),u=e.i(244267);let c=[s.Position.Top,s.Position.Right,s.Position.Bottom,s.Position.Left];function p(){return(0,t.jsxs)(t.Fragment,{children:[c.map(e=>(0,t.jsx)(n.Handle,{id:e,type:"source",position:e,isConnectable:!1,className:"opacity-0"},e)),c.map(e=>(0,t.jsx)(n.Handle,{id:`${e}-t`,type:"target",position:e,isConnectable:!1,className:"opacity-0"},`${e}-t`))]})}let x={"in-progress":"Active",paused:"Paused",done:"Done",planned:"Planned"};function m({status:e,className:n}){return(0,t.jsxs)("span",{title:x[e],"aria-label":x[e],className:(0,i.cn)("relative inline-flex h-2 w-2 shrink-0",n),children:["in-progress"===e&&(0,t.jsx)("span",{className:"absolute inset-0 animate-ping rounded-full bg-accent/60"}),(0,t.jsx)("span",{className:(0,i.cn)("relative h-full w-full rounded-full","done"===e&&"bg-teal","in-progress"===e&&"bg-accent","planned"===e&&"border border-muted","paused"===e&&"border-2 border-y-0 border-muted")})]})}let h={done:"bg-teal","in-progress":"bg-amber",review:"bg-accent",blocked:"bg-danger",paused:"bg-muted/60",todo:"bg-border2",cancelled:"bg-border"};function g({statuses:e,className:n}){if(!e?.length)return null;let s=e.filter(e=>"done"===e).length;return(0,t.jsx)("div",{className:(0,i.cn)("flex h-1.5 min-w-0 flex-1 gap-0.5",n),title:`${s}/${e.length} tasks done`,children:e.map((e,n)=>(0,t.jsx)("span",{className:(0,i.cn)("h-full flex-1 rounded-[1px]",h[e])},n))})}function f({value:e,total:n,className:s}){let a=2*Math.PI*14,r=n>0?e/n:0;return(0,t.jsxs)("span",{className:(0,i.cn)("relative inline-flex h-9 w-9 shrink-0 items-center justify-center",s),title:`${e}/${n} tasks done`,children:[(0,t.jsxs)("svg",{viewBox:"0 0 36 36",className:"absolute inset-0 -rotate-90",children:[(0,t.jsx)("circle",{cx:"18",cy:"18",r:14,fill:"none",strokeWidth:"3",className:"stroke-border"}),(0,t.jsx)("circle",{cx:"18",cy:"18",r:14,fill:"none",strokeWidth:"3",stroke:"currentColor",strokeLinecap:"round",strokeDasharray:a,strokeDashoffset:a*(1-r)})]}),(0,t.jsx)("span",{className:"font-mono text-[9px] text-txt",children:Math.round(100*r)})]})}function b({due:e,state:n}){return e?(0,t.jsxs)("span",{className:(0,i.cn)("font-mono text-[10px]","overdue"===n?"text-danger":"soon"===n?"text-amber":"text-muted"),children:["Due ",(0,l.formatDay)(e)]}):null}function k({data:e}){let n=e.taskDue;return n&&n.overdue>0?(0,t.jsxs)("span",{className:"font-mono text-[10px] text-danger",children:[n.overdue," ",1===n.overdue?"task":"tasks"," overdue"]}):e.item.due?(0,t.jsx)(b,{due:e.item.due,state:e.dueState}):n?.next?(0,t.jsxs)("span",{className:(0,i.cn)("font-mono text-[10px]",e.taskDueSoon?"text-amber":"text-muted"),children:["Next due ",(0,l.formatDay)(n.next)]}):null}function j({drift:e}){return e?.length?(0,t.jsx)("span",{title:e.join("\n"),className:"absolute -left-2 -top-2 rounded-full bg-bg p-0.5 text-amber",children:(0,t.jsx)(a.AlertTriangle,{className:"h-3.5 w-3.5"})}):null}e.s(["DueChip",0,b,"STATUS_LABEL",0,x,"SegmentedProgress",0,g,"StatusDot",0,m,"StatusPill",0,function({status:e}){return(0,t.jsxs)("span",{className:(0,i.cn)("inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider","done"===e&&"border-teal/40 text-teal","in-progress"===e&&"border-accent/50 text-accent","planned"===e&&"border-dashed border-border2 text-muted","paused"===e&&"border-border2 text-muted"),children:[(0,t.jsx)(m,{status:e,className:"h-1.5 w-1.5"}),x[e]]})},"TASK_STATUS_BG",0,h,"nodeTypes",0,{horizon:function({data:e,selected:n}){let{item:s,progress:a,epics:r,chapter:l}=e,d=s.status;return(0,t.jsxs)("div",{style:{width:o.HORIZON_W},className:(0,i.cn)("relative flex items-center gap-3 rounded-xl border bg-surface px-3.5 py-3 transition-shadow duration-(--duration-base)","in-progress"===d&&"border-accent/60 shadow-[0_0_0_1px_rgb(var(--rgb-accent)/0.25),0_10px_30px_-12px_rgb(var(--rgb-accent)/0.6)]","done"===d&&"border-teal/40","planned"===d&&"border-dashed border-border2","paused"===d&&"border-border2 opacity-75",n&&"ring-2 ring-accent/60 ring-offset-2 ring-offset-bg"),children:[(0,t.jsx)(p,{}),(0,t.jsx)("span",{className:(0,i.cn)("font-mono text-2xl font-semibold leading-none tabular-nums","in-progress"===d?"text-accent":"done"===d?"text-teal":"text-muted"),children:l?String(l).padStart(2,"0"):"··"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"text-xs font-semibold uppercase leading-snug tracking-wider text-txt",children:s.title}),(0,t.jsxs)("p",{className:"mt-1 flex flex-wrap items-center gap-x-2 font-mono text-[10px] text-muted",children:[r&&r.total>0&&(0,t.jsxs)("span",{children:[r.done,"/",r.total," epics"]}),(0,t.jsx)(b,{due:s.due,state:e.dueState})]})]}),a&&(0,t.jsx)(f,{value:a.done,total:a.total,className:"done"===d?"text-teal":"text-accent"}),(0,t.jsx)(j,{drift:e.drift})]})},feature:function({data:e,selected:n}){let{item:s,taskStatuses:a,nextTaskId:l}=e,c=(0,u.useItemAgent)({kind:"epic",id:s.id}),x=!!e.drift?.length,h=n&&"ring-2 ring-accent/60 ring-offset-2 ring-offset-bg";if("done"===s.status)return(0,t.jsxs)("div",{style:{width:o.FEATURE_W},className:(0,i.cn)("group relative flex items-center gap-2 rounded-lg border border-border bg-surface/60 px-3 py-2 hover:border-teal/40",h),children:[(0,t.jsx)(p,{}),(0,t.jsx)(r.Check,{className:"h-3.5 w-3.5 shrink-0 text-teal",strokeWidth:3}),(0,t.jsx)("p",{className:"min-w-0 flex-1 truncate text-[13px] text-muted group-hover:text-txt",title:s.title,children:s.title}),c?(0,t.jsx)(d.AgentMark,{attach:{kind:"epic",id:s.id}}):e.progress&&(0,t.jsxs)("span",{className:"font-mono text-[10px] text-muted",children:[e.progress.done,"/",e.progress.total]}),(0,t.jsx)(j,{drift:e.drift})]});let f="in-progress"===s.status;return(0,t.jsxs)("div",{style:{width:o.FEATURE_W},className:(0,i.cn)("relative flex flex-col gap-1.5 rounded-lg border px-3 py-2.5 transition-shadow duration-(--duration-base)",f?"border-accent/50 bg-surface shadow-[0_8px_24px_-10px_rgb(var(--rgb-accent)/0.55)]":"border-dashed border-border2 bg-bg hover:border-muted","paused"===s.status&&"opacity-70",h),children:[(0,t.jsx)(p,{}),f&&(0,t.jsx)("span",{className:(0,i.cn)("absolute -inset-y-px -left-px w-[3px] rounded-l-lg",x?"bg-amber":"bg-accent")}),(0,t.jsxs)("div",{className:"flex items-center justify-between font-mono text-[10px]",children:[(0,t.jsx)("span",{className:"text-muted",children:s.id}),c?(0,t.jsx)(d.AgentMark,{attach:{kind:"epic",id:s.id}}):f?(0,t.jsxs)("span",{className:"flex items-center gap-1.5 uppercase tracking-wider text-accent",children:[(0,t.jsx)(m,{status:"in-progress",className:"h-1.5 w-1.5"}),"Live"]}):(0,t.jsx)("span",{className:"uppercase tracking-wider text-muted",children:s.tasks.length?`${s.tasks.length} tasks`:"No tasks yet"})]}),(0,t.jsx)("p",{className:(0,i.cn)("line-clamp-2 text-[13px] leading-snug",f?"font-medium text-txt":"text-txt/80"),title:s.title,children:s.title}),a&&a.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(g,{statuses:a}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:f&&l?(0,t.jsxs)(t.Fragment,{children:["next ",(0,t.jsx)("span",{className:"text-txt",children:l})]}):`${a.filter(e=>"done"===e).length}/${a.length}`})]}),(0,t.jsx)(k,{data:e}),(0,t.jsx)(j,{drift:e.drift})]})}}])},450768,692172,640818,e=>{"use strict";function t(e,t,n){let s;return e?"done"===t?"done":e<n?"overdue":7>=Math.round(((s=e=>Date.UTC(+e.slice(0,4),e.slice(5,7)-1,+e.slice(8,10)))(e)-s(n))/864e5)?"soon":"ok":null}function n(e){return e.every(e=>"done"===e)?"done":e.some(e=>"other"!==e)?"in-progress":"planned"}e.s(["dueState",0,t,"localToday",0,function(e=new Date){let t=e=>String(e).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`},"roadmapHealth",0,function(e,s,a){let r={},i=[];for(let n of e)n.due&&"overdue"===t(n.due,n.status,a)&&i.push({id:n.id,kind:"overdue",message:`${n.id} "${n.title}" is overdue since ${n.due}`});let l=new Set(e.filter(e=>null===e.parent).map(e=>e.id));for(let l of e){if(null===l.parent)continue;let e=l.tasks.filter(e=>!(e in s));e.length&&i.push({id:l.id,kind:"missing-task",message:`${l.id} links unknown task ${e.join(", ")}`});let o=l.tasks.filter(e=>e in s&&"cancelled"!==s[e].status),d="done"===l.status||"paused"===l.status?[]:function(e,n,s,a){let r=[];for(let e of n){let t=s[e];"done"!==t.status&&t.due&&t.due<a&&r.push(`${e} overdue since ${t.due}`),"blocked"===t.status&&r.push(`${e} blocked`)}let i=n.some(e=>["done","in-progress","review"].includes(s[e].status));return e.due&&"soon"===t(e.due,e.status,a)&&!i&&r.push(`due ${e.due}, nothing started`),r}(l,o,s,a);if(d.length&&i.push({id:l.id,kind:"at-risk",message:`${l.id} "${l.title}" at risk: ${d.join("; ")}`}),!o.length)continue;let u=o.map(e=>"done"===s[e].status?"done":"in-progress"===s[e].status||"review"===s[e].status?"in-progress":"other");r[l.id]={done:u.filter(e=>"done"===e).length,total:o.length};let c=n(u);if(c!==l.status&&("paused"!==l.status||"done"===c)){let e=o.filter(e=>"done"!==s[e].status);i.push({id:l.id,kind:"status-mismatch",message:"done"===c?`${l.id} "${l.title}": all tasks done but status is ${l.status}`:`${l.id} "${l.title}" is ${l.status} but tasks ${e.join(", ")} are not done`,suggestedStatus:c})}}for(let t of e){if(!l.has(t.id))continue;let s=e.filter(e=>e.parent===t.id);if(!s.length)continue;let a=s.map(e=>"done"===e.status?"done":"in-progress"===e.status?"in-progress":"other");r[t.id]=s.reduce((e,t)=>{let n=r[t.id]??{done:+("done"===t.status),total:1};return{done:e.done+n.done,total:e.total+n.total}},{done:0,total:0});let o=n(a);o!==t.status&&("paused"!==t.status||"done"===o)&&i.push({id:t.id,kind:"status-mismatch",message:`${t.id} "${t.title}" is ${t.status} but its features say ${o}`,suggestedStatus:o})}return{progress:r,drift:i}},"taskDueSummary",0,function(e,t,n){let s=e.map(e=>t[e]).filter(e=>e&&e.due&&"done"!==e.status&&"cancelled"!==e.status).map(e=>e.due);if(!s.length)return null;let a=s.filter(e=>e>=n).sort();return{overdue:s.length-a.length,next:a[0]??null}}],692172);function s(e){let t=new Set(e.filter(e=>null===e.parent).map(e=>e.id));return e.filter(e=>null===e.parent||!t.has(e.parent)).sort((e,t)=>e.order-t.order)}function a(e,t){return e.filter(e=>e.parent===t).sort((e,t)=>e.order-t.order)}e.s(["FEATURE_W",0,220,"HORIZON_W",0,260,"childrenOf",0,a,"resolvePositions",0,function(e,t){let n={},r=0;for(let i of s(e)){let s=t[i.id]??{x:0,y:r};n[i.id]=s;let l=null===i.parent?a(e,i.id):[],o=Math.ceil(l.length/2)>6?2:1;l.forEach((e,a)=>{let r=a%2==0?1:-1,i=Math.floor(a/2),l=i%o,d=Math.floor(i/o);n[e.id]=t[e.id]??{x:s.x+20+r*(340+260*l),y:s.y+110*d+55*l}}),r+=110*Math.max(1,Math.ceil(Math.ceil(l.length/2)/o))+90}return n},"spineItems",0,s],640818);let r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],i=e=>({y:+e.slice(0,4),m:+e.slice(5,7),day:+e.slice(8,10)});e.s(["LANE_ROW_H",0,44,"buildTimeline",0,function(e,n){let l=e.map(e=>e.due).filter(e=>!!e),o=i([n,...l].sort()[0]),d=i([n,...l].sort().at(-1)??n),u={y:o.y,m:o.m-1},c=Math.max(6,(d.y-o.y)*12+(d.m-o.m)+3),p=Array.from({length:c},(e,t)=>{let n=12*u.y+(u.m-1)+t,s=Math.floor(n/12),a=n%12+1;return{y:s,m:a,label:1===a||0===t?`${r[a-1]} ${s}`:r[a-1],x:160*t}}),x=e=>{let{y:t,m:n,day:s}=i(e);return((t-p[0].y)*12+(n-p[0].m))*160+(s-.5)/new Date(t,n,0).getDate()*160},m=s(e).map(s=>{let r=[s,...null===s.parent?a(e,s.id):[]].filter(e=>e.due),i=[],l=r.map(e=>({item:e,x:x(e.due),horizon:e.id===s.id})).sort((e,t)=>e.x-t.x).map(e=>{let s=i.findIndex(t=>e.x>=t);return -1===s&&(s=i.push(0)-1),i[s]=e.x+180,{...e,row:s,state:t(e.item.due,e.item.status,n)}});return{item:s,rows:Math.max(1,i.length),markers:l}});return{months:p.map(({label:e,x:t})=>({label:e,x:t})),width:160*c,todayX:x(n),lanes:m,undated:e.filter(e=>!e.due&&"done"!==e.status)}},"formatDay",0,function(e){let{m:t,day:n}=i(e);return`${n} ${r[t-1]}`}],450768)},65112,e=>{"use strict";var t=e.i(72345),n=e.i(180338),s=e.i(837001),a=e.i(755146),r=e.i(975157);let i=e=>e.stopPropagation(),l="inline-flex min-w-0 items-center gap-1 rounded-sm px-1 -mx-1 text-left outline-hidden hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent/60";e.s(["InlineDate",0,function({label:e,value:s,onChange:a,children:o,className:d}){let[u,c]=(0,n.useState)(!1),[p,x]=(0,n.useState)(s??""),m=()=>{c(!1),(p||null)!==s&&a(p||null)};return u?(0,t.jsx)("input",{type:"date",autoFocus:!0,"aria-label":e,value:p,onChange:e=>x(e.target.value),onClick:i,onPointerDown:i,onKeyDown:e=>{i(e),"Enter"===e.key&&(e.preventDefault(),m()),"Escape"===e.key&&(e.preventDefault(),c(!1))},onBlur:m,className:"h-6 rounded-sm border border-accent/60 bg-bg px-1 font-mono text-[11px] text-txt scheme-light outline-hidden dark:scheme-dark"}):(0,t.jsx)("button",{type:"button","aria-label":e,draggable:!1,onClick:e=>{i(e),x(s??""),c(!0)},onKeyDown:i,className:(0,r.cn)(l,d),children:o})},"InlineSelect",0,function({label:e,value:n,options:o,onChange:d,children:u,className:c}){return(0,t.jsxs)(a.DropdownMenu,{children:[(0,t.jsx)(a.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":e,draggable:!1,onClick:i,onKeyDown:i,onPointerDown:i,className:(0,r.cn)(l,c),children:u})}),(0,t.jsx)(a.DropdownMenuContent,{align:"start",className:"max-h-72 w-48 overflow-y-auto",onClick:i,onKeyDown:i,children:o.map(e=>(0,t.jsxs)(a.DropdownMenuItem,{onSelect:()=>{e.value!==n&&d(e.value)},children:[e.node??e.label,e.value===n&&(0,t.jsx)(s.Check,{className:"ml-auto size-3.5 text-muted","aria-hidden":!0})]},e.value))})]})}])},35032,222581,e=>{"use strict";var t=e.i(72345),n=e.i(479432),s=e.i(343253),a=e.i(975157);function r(e){return"human"===e?"human":e?.startsWith("ai:")?"ai":"none"}function i(e){return"human"===e?"Human":e?.startsWith("ai:")?e.slice(3):"No owner"}e.s(["ownerKind",0,r,"ownerLabel",0,i],222581),e.s(["OwnerChip",0,function({owner:e,className:l}){let o=r(e);if("none"===o)return null;let d="ai"===o?n.Bot:s.User;return(0,t.jsxs)("span",{title:`Owner: ${i(e)}`,className:(0,a.cn)("inline-flex items-center gap-1 text-[11px] text-muted",l),children:[(0,t.jsx)(d,{className:(0,a.cn)("size-3.5 shrink-0","ai"===o&&"text-accent"),"aria-hidden":!0}),i(e)]})}],35032)}]);