@seqyuan/annovibe 0.8.125 → 0.8.126

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 (304) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +12 -11
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/react-loadable-manifest.json +16 -16
  6. package/.next/required-server-files.js +1 -1
  7. package/.next/required-server-files.json +1 -1
  8. package/.next/routes-manifest.json +8 -0
  9. package/.next/server/app/_global-error/page.js +3 -3
  10. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_global-error.html +1 -1
  12. package/.next/server/app/_global-error.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/server/app/_not-found/page.js +2 -2
  20. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/_not-found.html +1 -1
  22. package/.next/server/app/_not-found.rsc +2 -2
  23. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  24. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  26. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  28. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  29. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  30. package/.next/server/app/api/agent/[id]/prepare/route.js +1 -1
  31. package/.next/server/app/api/agent/[id]/route.js +1 -1
  32. package/.next/server/app/api/agent/new/route.js +2 -1
  33. package/.next/server/app/api/agent/running/events/route.js +1 -1
  34. package/.next/server/app/api/agent/running/route.js +1 -1
  35. package/.next/server/app/api/agent/runtime/route.js +1 -1
  36. package/.next/server/app/api/apps/[id]/[[...path]]/route.js +2 -2
  37. package/.next/server/app/api/apps/route.js +1 -1
  38. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  39. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  40. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  41. package/.next/server/app/api/auth/login/route.js +1 -1
  42. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  43. package/.next/server/app/api/auth/providers/route.js +1 -1
  44. package/.next/server/app/api/auth/status/route.js +1 -1
  45. package/.next/server/app/api/auth/totp/route.js +1 -1
  46. package/.next/server/app/api/debug-models/route.js +1 -1
  47. package/.next/server/app/api/default-cwd/route.js +1 -1
  48. package/.next/server/app/api/file-tree/delete/route.js +1 -1
  49. package/.next/server/app/api/file-tree/mkdir/route.js +1 -1
  50. package/.next/server/app/api/file-tree/rename/route.js +1 -1
  51. package/.next/server/app/api/file-tree/reveal/route.js +1 -1
  52. package/.next/server/app/api/file-tree/write/route.js +1 -1
  53. package/.next/server/app/api/file-watch/route.js +2 -2
  54. package/.next/server/app/api/files/[...path]/route.js +1 -1
  55. package/.next/server/app/api/harness/route.js +1 -1
  56. package/.next/server/app/api/home/route.js +1 -1
  57. package/.next/server/app/api/im/cancel/route.js +1 -1
  58. package/.next/server/app/api/im/gateway-status/route.js +1 -1
  59. package/.next/server/app/api/im/gateway-token/route.js +1 -1
  60. package/.next/server/app/api/im/project/route.js +1 -1
  61. package/.next/server/app/api/im/projects/route.js +1 -1
  62. package/.next/server/app/api/im/session-ids/route.js +1 -1
  63. package/.next/server/app/api/im/turn/route.js +2 -2
  64. package/.next/server/app/api/images/upload/route.js +1 -1
  65. package/.next/server/app/api/internal/runtime/route.js +1 -1
  66. package/.next/server/app/api/memory/dismiss/route.js +2 -2
  67. package/.next/server/app/api/memory/promote/route.js +2 -2
  68. package/.next/server/app/api/models/route.js +1 -1
  69. package/.next/server/app/api/models-config/discover/route.js +1 -1
  70. package/.next/server/app/api/models-config/route.js +1 -1
  71. package/.next/server/app/api/models-config/test/route.js +1 -1
  72. package/.next/server/app/api/plot-kernels/route.js +1 -1
  73. package/.next/server/app/api/plot-kernels/save/route.js +1 -1
  74. package/.next/server/app/api/plot-kernels/status/route.js +1 -1
  75. package/.next/server/app/api/plot-kernels/stop/route.js +1 -1
  76. package/.next/server/app/api/projects/browse/route.js +1 -1
  77. package/.next/server/app/api/projects/route.js +1 -1
  78. package/.next/server/app/api/search/route.js +1 -1
  79. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  80. package/.next/server/app/api/sessions/[id]/kernel-state/route.js +1 -1
  81. package/.next/server/app/api/sessions/[id]/plan/route.js +1 -1
  82. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  83. package/.next/server/app/api/sessions/[id]/shadowed/route.js +1 -0
  84. package/.next/server/app/api/sessions/[id]/shadowed/route_client-reference-manifest.js +1 -0
  85. package/.next/server/app/api/sessions/[id]/workbench-artifact/route.js +1 -1
  86. package/.next/server/app/api/sessions/[id]/workbench-review/route.js +1 -1
  87. package/.next/server/app/api/sessions/new/route.js +1 -1
  88. package/.next/server/app/api/sessions/route.js +1 -1
  89. package/.next/server/app/api/settings/route.js +1 -1
  90. package/.next/server/app/api/skills/install/route.js +2 -2
  91. package/.next/server/app/api/skills/route.js +2 -2
  92. package/.next/server/app/api/skills/search/route.js +1 -1
  93. package/.next/server/app/api/smoke/prompt-admission/route.js +1 -1
  94. package/.next/server/app/api/soul/route.js +1 -1
  95. package/.next/server/app/api/subagents/status/route.js +1 -1
  96. package/.next/server/app/api/version/route.js +1 -1
  97. package/.next/server/app/favicon.ico/route.js +1 -1
  98. package/.next/server/app/icon.svg/route.js +1 -1
  99. package/.next/server/app/index.html +1 -1
  100. package/.next/server/app/index.rsc +3 -3
  101. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  102. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  103. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  104. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  105. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  106. package/.next/server/app/login/page.js +2 -2
  107. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  108. package/.next/server/app/login.html +1 -1
  109. package/.next/server/app/login.rsc +2 -2
  110. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  111. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  112. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  113. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  114. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  115. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  116. package/.next/server/app/page.js +22 -22
  117. package/.next/server/app/page_client-reference-manifest.js +1 -1
  118. package/.next/server/app/smoke/page.js +3 -3
  119. package/.next/server/app/smoke/page_client-reference-manifest.js +1 -1
  120. package/.next/server/app/smoke/session-stream/page.js +2 -2
  121. package/.next/server/app/smoke/session-stream/page_client-reference-manifest.js +1 -1
  122. package/.next/server/app/smoke/session-stream.html +1 -1
  123. package/.next/server/app/smoke/session-stream.rsc +3 -3
  124. package/.next/server/app/smoke/session-stream.segments/_full.segment.rsc +3 -3
  125. package/.next/server/app/smoke/session-stream.segments/_head.segment.rsc +1 -1
  126. package/.next/server/app/smoke/session-stream.segments/_index.segment.rsc +2 -2
  127. package/.next/server/app/smoke/session-stream.segments/_tree.segment.rsc +2 -2
  128. package/.next/server/app/smoke/session-stream.segments/smoke/session-stream/__PAGE__.segment.rsc +2 -2
  129. package/.next/server/app/smoke/session-stream.segments/smoke/session-stream.segment.rsc +1 -1
  130. package/.next/server/app/smoke/session-stream.segments/smoke.segment.rsc +1 -1
  131. package/.next/server/app/smoke.html +2 -2
  132. package/.next/server/app/smoke.rsc +3 -3
  133. package/.next/server/app/smoke.segments/_full.segment.rsc +3 -3
  134. package/.next/server/app/smoke.segments/_head.segment.rsc +1 -1
  135. package/.next/server/app/smoke.segments/_index.segment.rsc +2 -2
  136. package/.next/server/app/smoke.segments/_tree.segment.rsc +2 -2
  137. package/.next/server/app/smoke.segments/smoke/__PAGE__.segment.rsc +2 -2
  138. package/.next/server/app/smoke.segments/smoke.segment.rsc +1 -1
  139. package/.next/server/app-paths-manifest.json +12 -11
  140. package/.next/server/chunks/3041.js +5 -5
  141. package/.next/server/chunks/4584.js +1 -1
  142. package/.next/server/chunks/5582.js +2 -2
  143. package/.next/server/chunks/6429.js +3 -3
  144. package/.next/server/middleware-build-manifest.js +1 -1
  145. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  146. package/.next/server/pages/404.html +1 -1
  147. package/.next/server/pages/500.html +1 -1
  148. package/.next/server/server-reference-manifest.json +1 -1
  149. package/.next/static/chunks/{5690.332f301b9df6f2dd.js → 3309.d0c34b5ef504a551.js} +1 -1
  150. package/.next/static/chunks/{4456-7b68434c62b3f922.js → 4456-544da31731420516.js} +3 -3
  151. package/.next/static/chunks/5377-cbe3cc0d0dd42e56.js +22 -0
  152. package/.next/static/chunks/5690.64d843d3db8e1b4b.js +1 -0
  153. package/.next/static/chunks/{6586.25e1a0135b5e5bba.js → 6586.8c2a88c2a55300d2.js} +1 -1
  154. package/.next/static/chunks/{8863.4b2faadd47deb00c.js → 8863.8b769013468d83d4.js} +1 -1
  155. package/.next/static/chunks/app/_global-error/{page-2ea89149f3a75cf0.js → page-28655a0b22ddd86a.js} +1 -1
  156. package/.next/static/chunks/app/api/agent/[id]/events/{route-2ea89149f3a75cf0.js → route-28655a0b22ddd86a.js} +1 -1
  157. package/.next/static/chunks/app/api/agent/[id]/prepare/{route-2ea89149f3a75cf0.js → route-28655a0b22ddd86a.js} +1 -1
  158. package/.next/static/chunks/app/api/agent/[id]/{route-2ea89149f3a75cf0.js → route-28655a0b22ddd86a.js} +1 -1
  159. package/.next/static/chunks/app/api/agent/new/route-28655a0b22ddd86a.js +1 -0
  160. package/.next/static/chunks/app/api/agent/running/events/route-28655a0b22ddd86a.js +1 -0
  161. package/.next/static/chunks/app/api/agent/running/route-28655a0b22ddd86a.js +1 -0
  162. package/.next/static/chunks/app/api/agent/runtime/route-28655a0b22ddd86a.js +1 -0
  163. package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-28655a0b22ddd86a.js +1 -0
  164. package/.next/static/chunks/app/api/apps/route-28655a0b22ddd86a.js +1 -0
  165. package/.next/static/chunks/app/api/auth/all-providers/route-28655a0b22ddd86a.js +1 -0
  166. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-28655a0b22ddd86a.js +1 -0
  167. package/.next/static/chunks/app/api/auth/login/[provider]/route-28655a0b22ddd86a.js +1 -0
  168. package/.next/static/chunks/app/api/auth/login/route-28655a0b22ddd86a.js +1 -0
  169. package/.next/static/chunks/app/api/auth/logout/[provider]/route-28655a0b22ddd86a.js +1 -0
  170. package/.next/static/chunks/app/api/auth/providers/route-28655a0b22ddd86a.js +1 -0
  171. package/.next/static/chunks/app/api/auth/status/route-28655a0b22ddd86a.js +1 -0
  172. package/.next/static/chunks/app/api/auth/totp/route-28655a0b22ddd86a.js +1 -0
  173. package/.next/static/chunks/app/api/debug-models/route-28655a0b22ddd86a.js +1 -0
  174. package/.next/static/chunks/app/api/default-cwd/route-28655a0b22ddd86a.js +1 -0
  175. package/.next/static/chunks/app/api/file-tree/delete/route-28655a0b22ddd86a.js +1 -0
  176. package/.next/static/chunks/app/api/file-tree/mkdir/route-28655a0b22ddd86a.js +1 -0
  177. package/.next/static/chunks/app/api/file-tree/rename/route-28655a0b22ddd86a.js +1 -0
  178. package/.next/static/chunks/app/api/file-tree/reveal/route-28655a0b22ddd86a.js +1 -0
  179. package/.next/static/chunks/app/api/file-tree/write/route-28655a0b22ddd86a.js +1 -0
  180. package/.next/static/chunks/app/api/file-watch/route-28655a0b22ddd86a.js +1 -0
  181. package/.next/static/chunks/app/api/files/[...path]/route-28655a0b22ddd86a.js +1 -0
  182. package/.next/static/chunks/app/api/harness/route-28655a0b22ddd86a.js +1 -0
  183. package/.next/static/chunks/app/api/home/route-28655a0b22ddd86a.js +1 -0
  184. package/.next/static/chunks/app/api/im/cancel/route-28655a0b22ddd86a.js +1 -0
  185. package/.next/static/chunks/app/api/im/gateway-status/route-28655a0b22ddd86a.js +1 -0
  186. package/.next/static/chunks/app/api/im/gateway-token/route-28655a0b22ddd86a.js +1 -0
  187. package/.next/static/chunks/app/api/im/project/route-28655a0b22ddd86a.js +1 -0
  188. package/.next/static/chunks/app/api/im/projects/route-28655a0b22ddd86a.js +1 -0
  189. package/.next/static/chunks/app/api/im/session-ids/route-28655a0b22ddd86a.js +1 -0
  190. package/.next/static/chunks/app/api/im/turn/route-28655a0b22ddd86a.js +1 -0
  191. package/.next/static/chunks/app/api/images/upload/route-28655a0b22ddd86a.js +1 -0
  192. package/.next/static/chunks/app/api/internal/runtime/route-28655a0b22ddd86a.js +1 -0
  193. package/.next/static/chunks/app/api/memory/dismiss/route-28655a0b22ddd86a.js +1 -0
  194. package/.next/static/chunks/app/api/memory/promote/route-28655a0b22ddd86a.js +1 -0
  195. package/.next/static/chunks/app/api/models/route-28655a0b22ddd86a.js +1 -0
  196. package/.next/static/chunks/app/api/models-config/discover/route-28655a0b22ddd86a.js +1 -0
  197. package/.next/static/chunks/app/api/models-config/route-28655a0b22ddd86a.js +1 -0
  198. package/.next/static/chunks/app/api/models-config/test/route-28655a0b22ddd86a.js +1 -0
  199. package/.next/static/chunks/app/api/plot-kernels/route-28655a0b22ddd86a.js +1 -0
  200. package/.next/static/chunks/app/api/plot-kernels/save/route-28655a0b22ddd86a.js +1 -0
  201. package/.next/static/chunks/app/api/plot-kernels/status/route-28655a0b22ddd86a.js +1 -0
  202. package/.next/static/chunks/app/api/plot-kernels/stop/route-28655a0b22ddd86a.js +1 -0
  203. package/.next/static/chunks/app/api/projects/browse/route-28655a0b22ddd86a.js +1 -0
  204. package/.next/static/chunks/app/api/projects/route-28655a0b22ddd86a.js +1 -0
  205. package/.next/static/chunks/app/api/search/route-28655a0b22ddd86a.js +1 -0
  206. package/.next/static/chunks/app/api/sessions/[id]/context/route-28655a0b22ddd86a.js +1 -0
  207. package/.next/static/chunks/app/api/sessions/[id]/kernel-state/route-28655a0b22ddd86a.js +1 -0
  208. package/.next/static/chunks/app/api/sessions/[id]/plan/route-28655a0b22ddd86a.js +1 -0
  209. package/.next/static/chunks/app/api/sessions/[id]/route-28655a0b22ddd86a.js +1 -0
  210. package/.next/static/chunks/app/api/sessions/[id]/shadowed/route-28655a0b22ddd86a.js +1 -0
  211. package/.next/static/chunks/app/api/sessions/[id]/workbench-artifact/route-28655a0b22ddd86a.js +1 -0
  212. package/.next/static/chunks/app/api/sessions/[id]/workbench-review/route-28655a0b22ddd86a.js +1 -0
  213. package/.next/static/chunks/app/api/sessions/new/route-28655a0b22ddd86a.js +1 -0
  214. package/.next/static/chunks/app/api/sessions/route-28655a0b22ddd86a.js +1 -0
  215. package/.next/static/chunks/app/api/settings/route-28655a0b22ddd86a.js +1 -0
  216. package/.next/static/chunks/app/api/skills/install/route-28655a0b22ddd86a.js +1 -0
  217. package/.next/static/chunks/app/api/skills/route-28655a0b22ddd86a.js +1 -0
  218. package/.next/static/chunks/app/api/skills/search/route-28655a0b22ddd86a.js +1 -0
  219. package/.next/static/chunks/app/api/smoke/prompt-admission/route-28655a0b22ddd86a.js +1 -0
  220. package/.next/static/chunks/app/api/soul/route-28655a0b22ddd86a.js +1 -0
  221. package/.next/static/chunks/app/api/subagents/status/route-28655a0b22ddd86a.js +1 -0
  222. package/.next/static/chunks/app/api/version/route-28655a0b22ddd86a.js +1 -0
  223. package/.next/static/chunks/app/favicon.ico/route-28655a0b22ddd86a.js +1 -0
  224. package/.next/static/chunks/app/{page-05e8d45ca9d6130c.js → page-edbf8cd5ad82d387.js} +20 -20
  225. package/.next/static/chunks/next/dist/client/components/builtin/app-error-28655a0b22ddd86a.js +1 -0
  226. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-28655a0b22ddd86a.js +1 -0
  227. package/.next/static/chunks/next/dist/client/components/builtin/not-found-28655a0b22ddd86a.js +1 -0
  228. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-28655a0b22ddd86a.js +1 -0
  229. package/.next/static/chunks/{webpack-c256e3e1868863a5.js → webpack-fb1763edb92ee346.js} +1 -1
  230. package/.next/static/css/98d226d636ddce16.css +1 -0
  231. package/package.json +1 -1
  232. package/.next/static/chunks/3309.581b04bacfeed701.js +0 -1
  233. package/.next/static/chunks/5377-70343e4bd39d4239.js +0 -22
  234. package/.next/static/chunks/app/api/agent/new/route-2ea89149f3a75cf0.js +0 -1
  235. package/.next/static/chunks/app/api/agent/running/events/route-2ea89149f3a75cf0.js +0 -1
  236. package/.next/static/chunks/app/api/agent/running/route-2ea89149f3a75cf0.js +0 -1
  237. package/.next/static/chunks/app/api/agent/runtime/route-2ea89149f3a75cf0.js +0 -1
  238. package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-2ea89149f3a75cf0.js +0 -1
  239. package/.next/static/chunks/app/api/apps/route-2ea89149f3a75cf0.js +0 -1
  240. package/.next/static/chunks/app/api/auth/all-providers/route-2ea89149f3a75cf0.js +0 -1
  241. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-2ea89149f3a75cf0.js +0 -1
  242. package/.next/static/chunks/app/api/auth/login/[provider]/route-2ea89149f3a75cf0.js +0 -1
  243. package/.next/static/chunks/app/api/auth/login/route-2ea89149f3a75cf0.js +0 -1
  244. package/.next/static/chunks/app/api/auth/logout/[provider]/route-2ea89149f3a75cf0.js +0 -1
  245. package/.next/static/chunks/app/api/auth/providers/route-2ea89149f3a75cf0.js +0 -1
  246. package/.next/static/chunks/app/api/auth/status/route-2ea89149f3a75cf0.js +0 -1
  247. package/.next/static/chunks/app/api/auth/totp/route-2ea89149f3a75cf0.js +0 -1
  248. package/.next/static/chunks/app/api/debug-models/route-2ea89149f3a75cf0.js +0 -1
  249. package/.next/static/chunks/app/api/default-cwd/route-2ea89149f3a75cf0.js +0 -1
  250. package/.next/static/chunks/app/api/file-tree/delete/route-2ea89149f3a75cf0.js +0 -1
  251. package/.next/static/chunks/app/api/file-tree/mkdir/route-2ea89149f3a75cf0.js +0 -1
  252. package/.next/static/chunks/app/api/file-tree/rename/route-2ea89149f3a75cf0.js +0 -1
  253. package/.next/static/chunks/app/api/file-tree/reveal/route-2ea89149f3a75cf0.js +0 -1
  254. package/.next/static/chunks/app/api/file-tree/write/route-2ea89149f3a75cf0.js +0 -1
  255. package/.next/static/chunks/app/api/file-watch/route-2ea89149f3a75cf0.js +0 -1
  256. package/.next/static/chunks/app/api/files/[...path]/route-2ea89149f3a75cf0.js +0 -1
  257. package/.next/static/chunks/app/api/harness/route-2ea89149f3a75cf0.js +0 -1
  258. package/.next/static/chunks/app/api/home/route-2ea89149f3a75cf0.js +0 -1
  259. package/.next/static/chunks/app/api/im/cancel/route-2ea89149f3a75cf0.js +0 -1
  260. package/.next/static/chunks/app/api/im/gateway-status/route-2ea89149f3a75cf0.js +0 -1
  261. package/.next/static/chunks/app/api/im/gateway-token/route-2ea89149f3a75cf0.js +0 -1
  262. package/.next/static/chunks/app/api/im/project/route-2ea89149f3a75cf0.js +0 -1
  263. package/.next/static/chunks/app/api/im/projects/route-2ea89149f3a75cf0.js +0 -1
  264. package/.next/static/chunks/app/api/im/session-ids/route-2ea89149f3a75cf0.js +0 -1
  265. package/.next/static/chunks/app/api/im/turn/route-2ea89149f3a75cf0.js +0 -1
  266. package/.next/static/chunks/app/api/images/upload/route-2ea89149f3a75cf0.js +0 -1
  267. package/.next/static/chunks/app/api/internal/runtime/route-2ea89149f3a75cf0.js +0 -1
  268. package/.next/static/chunks/app/api/memory/dismiss/route-2ea89149f3a75cf0.js +0 -1
  269. package/.next/static/chunks/app/api/memory/promote/route-2ea89149f3a75cf0.js +0 -1
  270. package/.next/static/chunks/app/api/models/route-2ea89149f3a75cf0.js +0 -1
  271. package/.next/static/chunks/app/api/models-config/discover/route-2ea89149f3a75cf0.js +0 -1
  272. package/.next/static/chunks/app/api/models-config/route-2ea89149f3a75cf0.js +0 -1
  273. package/.next/static/chunks/app/api/models-config/test/route-2ea89149f3a75cf0.js +0 -1
  274. package/.next/static/chunks/app/api/plot-kernels/route-2ea89149f3a75cf0.js +0 -1
  275. package/.next/static/chunks/app/api/plot-kernels/save/route-2ea89149f3a75cf0.js +0 -1
  276. package/.next/static/chunks/app/api/plot-kernels/status/route-2ea89149f3a75cf0.js +0 -1
  277. package/.next/static/chunks/app/api/plot-kernels/stop/route-2ea89149f3a75cf0.js +0 -1
  278. package/.next/static/chunks/app/api/projects/browse/route-2ea89149f3a75cf0.js +0 -1
  279. package/.next/static/chunks/app/api/projects/route-2ea89149f3a75cf0.js +0 -1
  280. package/.next/static/chunks/app/api/search/route-2ea89149f3a75cf0.js +0 -1
  281. package/.next/static/chunks/app/api/sessions/[id]/context/route-2ea89149f3a75cf0.js +0 -1
  282. package/.next/static/chunks/app/api/sessions/[id]/kernel-state/route-2ea89149f3a75cf0.js +0 -1
  283. package/.next/static/chunks/app/api/sessions/[id]/plan/route-2ea89149f3a75cf0.js +0 -1
  284. package/.next/static/chunks/app/api/sessions/[id]/route-2ea89149f3a75cf0.js +0 -1
  285. package/.next/static/chunks/app/api/sessions/[id]/workbench-artifact/route-2ea89149f3a75cf0.js +0 -1
  286. package/.next/static/chunks/app/api/sessions/[id]/workbench-review/route-2ea89149f3a75cf0.js +0 -1
  287. package/.next/static/chunks/app/api/sessions/new/route-2ea89149f3a75cf0.js +0 -1
  288. package/.next/static/chunks/app/api/sessions/route-2ea89149f3a75cf0.js +0 -1
  289. package/.next/static/chunks/app/api/settings/route-2ea89149f3a75cf0.js +0 -1
  290. package/.next/static/chunks/app/api/skills/install/route-2ea89149f3a75cf0.js +0 -1
  291. package/.next/static/chunks/app/api/skills/route-2ea89149f3a75cf0.js +0 -1
  292. package/.next/static/chunks/app/api/skills/search/route-2ea89149f3a75cf0.js +0 -1
  293. package/.next/static/chunks/app/api/smoke/prompt-admission/route-2ea89149f3a75cf0.js +0 -1
  294. package/.next/static/chunks/app/api/soul/route-2ea89149f3a75cf0.js +0 -1
  295. package/.next/static/chunks/app/api/subagents/status/route-2ea89149f3a75cf0.js +0 -1
  296. package/.next/static/chunks/app/api/version/route-2ea89149f3a75cf0.js +0 -1
  297. package/.next/static/chunks/app/favicon.ico/route-2ea89149f3a75cf0.js +0 -1
  298. package/.next/static/chunks/next/dist/client/components/builtin/app-error-2ea89149f3a75cf0.js +0 -1
  299. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-2ea89149f3a75cf0.js +0 -1
  300. package/.next/static/chunks/next/dist/client/components/builtin/not-found-2ea89149f3a75cf0.js +0 -1
  301. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2ea89149f3a75cf0.js +0 -1
  302. package/.next/static/css/82991d37d91b75fd.css +0 -1
  303. /package/.next/static/{mulkaSvwGLOuWmirVJx-m → Q9Mb3eiyTmQOb-kfjSWQO}/_buildManifest.js +0 -0
  304. /package/.next/static/{mulkaSvwGLOuWmirVJx-m → Q9Mb3eiyTmQOb-kfjSWQO}/_ssgManifest.js +0 -0
@@ -1,22 +1,22 @@
1
- "use strict";exports.id=3041,exports.ids=[3041],exports.modules={29947:(a,b,c)=>{c.d(b,{ES:()=>m,IB:()=>n,SN:()=>e,tE:()=>o,xG:()=>l});let d="subagent",e=["retain","recall","reflect"],f=[],g=["read","bash","edit","write"],h=["bash","read","edit","write","grep","find","ls"],i=[...h,"kernel_plot_run","kernel_plot_render","kernel_plot_inspect","kernel_plot_stop","kernel_plot_artifacts"],j=[...h,d];function k(a){return[...a].sort().join(",")}function l(a){switch(a){case"none":return f;case"default":return g;case"workbench":return i;case"agent":return j;default:return h}}function m(a){let b=a.filter(a=>a.active).map(a=>a.name),c=b.filter(a=>!e.includes(a)),f=k(b),l=k(c);return""===f?"none":f===k(g)?"default":f===k(h)?"full":f===k(i)?"workbench":f===k(j)?"agent":""===l?"none":l===k(g)?"default":l===k(h)?"full":l===k(i)?"workbench":l===k(j)||b.includes(d)?"agent":"default"}function n(a){return e.filter(b=>a.some(a=>a.active&&a.name===b))}function o(a,b){return[...new Set([...l(a),...b])]}},33041:(a,b,c)=>{c.d(b,{T:()=>P});var d=c(67484);function e(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>("object"!=typeof a||null===a||Array.isArray(a)||"toolCall"!==a.type?null:{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input})??a);return{...a,content:c}}var f=c(37267),g=c(31343);async function h(a,b){if(!b.length)return[];let c=await fetch("/api/images/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a,images:b.map(a=>({data:a.data,mimeType:a.mimeType,name:a.name}))})}),d=await c.json().catch(()=>({}));if(!c.ok||d.error)throw Error(d.error??`Upload failed (HTTP ${c.status})`);return(d.uploaded??[]).map((a,c)=>({...a,previewUrl:b[c]?.previewUrl}))}async function i(a,b,c){let d,e=new TextDecoder,f="",g=a=>{if(a.startsWith("id: ")){d=a.slice(4);return}if(!a.startsWith("data: "))return;let c=a.slice(6);if("[DONE]"!==c)try{b(c,d)}catch{}finally{d=void 0}},h=new Promise(a=>{c?.aborted?a():c?.addEventListener("abort",()=>a(),{once:!0})});for(;;){let b=await Promise.race([a.read(),h.then(()=>({done:!0,value:void 0}))]);if(b.done)break;let c=(f+=e.decode(b.value,{stream:!0})).split("\n");for(let a of(f=c.pop()||"",c))g(a)}if(f.trim())for(let a of f.split("\n"))g(a)}c(81537);let j="__annovibeStreamSessions__",k="__annovibeStreamListeners__",l="__annovibeStreamErrorCallbacks__";function m(){let a=globalThis;return a[j]||(a[j]=new Map),a[j]}function n(){let a=globalThis;return a[l]||(a[l]=new Map),a[l]}function o(a){return{sessionId:a,phase:"idle",startedAt:null,lastEventAt:null,lastHeartbeatAt:null,reconnectCount:0,lastSyncReason:null,accumulatedText:"",toolCalls:[],toolResults:[],statusText:null,streamingMessage:null,isStreaming:!1,error:null}}function p(a,b){let c;for(let d of(!(c=globalThis)[k]&&(c[k]=new Map),c[k]).get(a)??[])try{d(b)}catch{}}function q(a){a.textThrottleTimer&&(clearTimeout(a.textThrottleTimer),a.textThrottleTimer=null),a.textDirty&&(a.textDirty=!1,s(a))}function r(a,b=!1){let c=Date.now();if(a.snapshot.lastEventAt=c,!b){a.textDirty=!0,a.textThrottleTimer||(a.textThrottleTimer=setTimeout(()=>{a.textThrottleTimer=null,a.textDirty&&(a.textDirty=!1,s(a))},100));return}q(a),s(a)}function s(a,b){let c=Date.now(),d=function(a){let b=[];for(let c of a.toolCalls.values())b.push({type:"toolCall",toolCallId:c.toolCallId,toolName:c.toolName,input:c.input??{}});let c=a.accumulatedText.trim();return c&&b.push({type:"text",text:c}),b}(a),e=(b??a.snapshot.phase)==="active";a.snapshot={...a.snapshot,phase:b??a.snapshot.phase,lastEventAt:c,accumulatedText:a.accumulatedText,toolCalls:[...a.toolCalls.values()],toolResults:[...a.toolResults.values()],statusText:e?function(a){if(a.activeToolId){let b=a.toolCalls.get(a.activeToolId);if(b){let a=Math.max(0,Math.floor((Date.now()-b.startedAt)/1e3));return`Running ${b.toolName||"tool"}… (${a}s)`}}return a.accumulatedText.trim()?"Generating response…":a.toolCalls.size>0?"Finishing tool results…":null}(a):a.snapshot.statusText,streamingMessage:e&&d.length>0?{role:"assistant",content:d}:null,isStreaming:e},p(a.snapshot.sessionId,{type:"snapshot-updated",snapshot:a.snapshot})}function t(a){u(a),a.idleCheckTimer=setInterval(()=>{if("connected"!==a.connectionState)return;let b=Math.max(a.snapshot.lastEventAt??0,a.snapshot.lastHeartbeatAt??0);if(Date.now()-b>=18e4){v(a),q(a);let b="Stream idle timeout — no activity for 180s.";a.snapshot={...a.snapshot,phase:"error",isStreaming:!1,streamingMessage:null,statusText:null,error:b},u(a),p(a.snapshot.sessionId,{type:"error",snapshot:a.snapshot});let c=n().get(a.snapshot.sessionId);if(c)try{c(a.snapshot.sessionId,b)}catch{}}},1e4)}function u(a){a.idleCheckTimer&&(clearInterval(a.idleCheckTimer),a.idleCheckTimer=null)}function v(a){a.toolProgressTimer&&(clearInterval(a.toolProgressTimer),a.toolProgressTimer=null)}function w(a){let b=m(),c=b.get(a);return c||(c={snapshot:o(a),accumulatedText:"",toolCalls:new Map,toolResults:new Map,toolProgressTimer:null,activeToolId:null,textThrottleTimer:null,textDirty:!1,connectionState:"idle",idleCheckTimer:null},b.set(a,c)),c}function x(a,b){let c=n();return c.set(a,b),()=>{c.get(a)===b&&c.delete(a)}}function y(a){let b=m(),c=b.get(a);c&&(v(c),u(c),q(c)),b.delete(a)}function z(a){let b=m().get(a);b&&(b.snapshot={...b.snapshot,reconnectCount:b.snapshot.reconnectCount+1,lastSyncReason:"sse-reconnect",lastEventAt:Date.now()},r(b,!0))}let A="__annovibeSessionMessageCache__";function B(){let a=globalThis;if(!a[A]){var b;let c={entries:new Map,cleanupTimer:null};a[A]=c,(b=c).cleanupTimer||(b.cleanupTimer=setInterval(()=>{let a=Date.now();for(let[c,d]of b.entries)a-d.loadedAt>72e5&&b.entries.delete(c)},6e4))}return a[A]}function C(a){let b=B(),c=b.entries.get(a);return c?Date.now()-c.loadedAt>72e5?(b.entries.delete(a),null):(c.loadedAt=Date.now(),{...c,messages:[...c.messages],entryIds:[...c.entryIds]}):null}function D(a,b,c,d,e){let f=B(),g=f.entries.get(a);if(!g)return;let h=new Set(g.entryIds),i=[],j=[];for(let a=0;a<b.length;a++){let d=c[a];d&&!h.has(d)&&(i.push(b[a]),j.push(d))}0!==i.length&&f.entries.set(a,{...g,messages:[...i,...g.messages],entryIds:[...j,...g.entryIds],hasMore:d,loadedMessagesCount:e,loadedAt:Date.now()})}function E(a){B().entries.delete(a)}var F=c(29947);function G(a,b){switch(b.type){case"start":return{isStreaming:!0,streamingMessage:null};case"update":return{isStreaming:!0,streamingMessage:b.message};case"end":case"reset":return{isStreaming:!1,streamingMessage:null};default:return a}}function H(a,b){return new DOMException(a,b)}function I(){return"u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,11)}-${Math.random().toString(36).slice(2,11)}`}let J=["read","bash","grep","find","ls"];function K(a,b){return a.trim()||0!==b?`text:${a}|images:${b}`:null}function L(a){return"string"==typeof a?K(a,0):Array.isArray(a)?K(a.filter(a=>!!a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join("\n"),a.filter(a=>!!a&&"object"==typeof a&&"image"===a.type).length):null}function M(a){let b=new Map;for(let c of a){let a="user"!==c.role?null:L(c.content);a&&b.set(a,(b.get(a)??0)+1)}return b}function N(a,b,c){return a.sessionId===b&&(!a.leafId||c.includes(a.leafId))}function O(a,b){let c=a.timestamp,d=b.timestamp;if("number"!=typeof c||"number"!=typeof d||c!==d||a.role!==b.role)return!1;try{return JSON.stringify(a)===JSON.stringify(b)}catch{return!1}}function P(a){let{session:b,newSessionCwd:c,planMode:j=!1,onAgentEnd:k,onSessionCreated:l,onSessionForked:n,modelsRefreshKey:s,onBranchDataChange:A,onPlanModeState:P}=a,Q=null===b&&null!==c,[R,S]=(0,d.useState)(null),[T,U]=(0,d.useState)(!Q),[V,W]=(0,d.useState)(null),[X,Y]=(0,d.useState)(null),[Z,$]=(0,d.useState)([]),[_,aa]=(0,d.useState)([]),[ab,ac]=(0,d.useState)(0),[ad,ae]=(0,d.useState)(!1),[af,ag]=(0,d.useState)(0),[ah,ai]=(0,d.useReducer)(G,{isStreaming:!1,streamingMessage:null}),[aj,ak]=(0,d.useState)(!1),[al,am]=(0,d.useState)({}),[an,ao]=(0,d.useState)([]),[ap,aq]=(0,d.useState)({}),[ar,as]=(0,d.useState)({}),[at,au]=(0,d.useState)(null),[av,aw]=(0,d.useState)("full"),[ax,ay]=(0,d.useState)([...F.SN]),[az,aA]=(0,d.useState)("auto"),[aB,aC]=(0,d.useState)(null),[aD,aE]=(0,d.useState)(null),[aF,aG]=(0,d.useState)(null),[aH,aI]=(0,d.useState)(null),[aJ,aK]=(0,d.useState)(null),[aL,aM]=(0,d.useState)(null),[aN,aO]=(0,d.useState)(!1),[aP,aQ]=(0,d.useState)(null),[aR,aS]=(0,d.useState)(null),[aT,aU]=(0,d.useState)(null),aV=(0,d.useRef)(null),aW=(0,d.useRef)(b?.id??null),aX=(0,d.useRef)(!1),aY=(0,d.useRef)(null),aZ=(0,d.useRef)(null),a$=(0,d.useRef)(null),a_=(0,d.useRef)(!1),a0=(0,d.useRef)(null),a1=(0,d.useRef)(!1),a2=(0,d.useRef)(null),a3=(0,d.useRef)(null),a4=(0,d.useRef)(new Map),a5=(0,d.useRef)(new Map),a6=(0,d.useRef)(new Map),a7=(0,d.useRef)(null),a8=(0,d.useRef)([]),a9=(0,d.useRef)(null),ba=(0,d.useRef)(0),bb=(0,d.useRef)(!1),bc=(0,d.useRef)(0),bd=(0,d.useRef)(!1);(0,d.useRef)(!1),(0,d.useRef)(0);let be=(0,d.useRef)(null),bf=(0,d.useRef)(null),bg=a.setNewSessionModel??au,bh=a.setToolPreset??aw,bi=a.setMemoryTools??ay,bj=aJ??R?.context.model??aL??null,bk=Q?at:bj,bl=(0,d.useCallback)(()=>j?J:(0,F.tE)(av,ax),[ax,j,av]),bm=(0,d.useCallback)(a=>a?.length?a.map((a,b)=>{let c=`Attachment ${b+1}: ${a.fileName} (${a.mimeType||"application/octet-stream"}, ${a.size} bytes)`;if(a.extractedText){let b=a.truncated?"\n[The extracted text was truncated before sending.]":"";return`${c}
1
+ "use strict";exports.id=3041,exports.ids=[3041],exports.modules={29947:(a,b,c)=>{c.d(b,{ES:()=>m,IB:()=>n,SN:()=>e,tE:()=>o,xG:()=>l});let d="subagent",e=["retain","recall","reflect"],f=[],g=["read","bash","edit","write"],h=["bash","read","edit","write","grep","find","ls"],i=[...h,"kernel_plot_run","kernel_plot_render","kernel_plot_inspect","kernel_plot_stop","kernel_plot_artifacts"],j=[...h,d];function k(a){return[...a].sort().join(",")}function l(a){switch(a){case"none":return f;case"default":return g;case"workbench":return i;case"agent":return j;default:return h}}function m(a){let b=a.filter(a=>a.active).map(a=>a.name),c=b.filter(a=>!e.includes(a)),f=k(b),l=k(c);return""===f?"none":f===k(g)?"default":f===k(h)?"full":f===k(i)?"workbench":f===k(j)?"agent":""===l?"none":l===k(g)?"default":l===k(h)?"full":l===k(i)?"workbench":l===k(j)||b.includes(d)?"agent":"default"}function n(a){return e.filter(b=>a.some(a=>a.active&&a.name===b))}function o(a,b){return[...new Set([...l(a),...b])]}},33041:(a,b,c)=>{c.d(b,{T:()=>P});var d=c(67484);function e(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>("object"!=typeof a||null===a||Array.isArray(a)||"toolCall"!==a.type?null:{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input})??a);return{...a,content:c}}var f=c(37267),g=c(31343);async function h(a,b){if(!b.length)return[];let c=await fetch("/api/images/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a,images:b.map(a=>({data:a.data,mimeType:a.mimeType,name:a.name}))})}),d=await c.json().catch(()=>({}));if(!c.ok||d.error)throw Error(d.error??`Upload failed (HTTP ${c.status})`);return(d.uploaded??[]).map((a,c)=>({...a,previewUrl:b[c]?.previewUrl}))}async function i(a,b,c){let d,e=new TextDecoder,f="",g=a=>{if(a.startsWith("id: ")){d=a.slice(4);return}if(!a.startsWith("data: "))return;let c=a.slice(6);if("[DONE]"!==c)try{b(c,d)}catch{}finally{d=void 0}},h=new Promise(a=>{c?.aborted?a():c?.addEventListener("abort",()=>a(),{once:!0})});for(;;){let b=await Promise.race([a.read(),h.then(()=>({done:!0,value:void 0}))]);if(b.done)break;let c=(f+=e.decode(b.value,{stream:!0})).split("\n");for(let a of(f=c.pop()||"",c))g(a)}if(f.trim())for(let a of f.split("\n"))g(a)}c(81537);let j="__annovibeStreamSessions__",k="__annovibeStreamListeners__",l="__annovibeStreamErrorCallbacks__";function m(){let a=globalThis;return a[j]||(a[j]=new Map),a[j]}function n(){let a=globalThis;return a[l]||(a[l]=new Map),a[l]}function o(a){return{sessionId:a,phase:"idle",startedAt:null,lastEventAt:null,lastHeartbeatAt:null,reconnectCount:0,lastSyncReason:null,accumulatedText:"",toolCalls:[],toolResults:[],statusText:null,streamingMessage:null,isStreaming:!1,error:null}}function p(a,b){let c;for(let d of(!(c=globalThis)[k]&&(c[k]=new Map),c[k]).get(a)??[])try{d(b)}catch{}}function q(a){a.textThrottleTimer&&(clearTimeout(a.textThrottleTimer),a.textThrottleTimer=null),a.textDirty&&(a.textDirty=!1,s(a))}function r(a,b=!1){let c=Date.now();if(a.snapshot.lastEventAt=c,!b){a.textDirty=!0,a.textThrottleTimer||(a.textThrottleTimer=setTimeout(()=>{a.textThrottleTimer=null,a.textDirty&&(a.textDirty=!1,s(a))},100));return}q(a),s(a)}function s(a,b){let c=Date.now(),d=function(a){let b=[];for(let c of a.toolCalls.values())b.push({type:"toolCall",toolCallId:c.toolCallId,toolName:c.toolName,input:c.input??{}});let c=a.accumulatedText.trim();return c&&b.push({type:"text",text:c}),b}(a),e=(b??a.snapshot.phase)==="active";a.snapshot={...a.snapshot,phase:b??a.snapshot.phase,lastEventAt:c,accumulatedText:a.accumulatedText,toolCalls:[...a.toolCalls.values()],toolResults:[...a.toolResults.values()],statusText:e?function(a){if(a.activeToolId){let b=a.toolCalls.get(a.activeToolId);if(b){let a=Math.max(0,Math.floor((Date.now()-b.startedAt)/1e3));return`Running ${b.toolName||"tool"}… (${a}s)`}}return a.accumulatedText.trim()?"Generating response…":a.toolCalls.size>0?"Finishing tool results…":null}(a):a.snapshot.statusText,streamingMessage:e&&d.length>0?{role:"assistant",content:d}:null,isStreaming:e},p(a.snapshot.sessionId,{type:"snapshot-updated",snapshot:a.snapshot})}function t(a){u(a),a.idleCheckTimer=setInterval(()=>{if("connected"!==a.connectionState)return;let b=Math.max(a.snapshot.lastEventAt??0,a.snapshot.lastHeartbeatAt??0);if(Date.now()-b>=18e4){v(a),q(a);let b="Stream idle timeout — no activity for 180s.";a.snapshot={...a.snapshot,phase:"error",isStreaming:!1,streamingMessage:null,statusText:null,error:b},u(a),p(a.snapshot.sessionId,{type:"error",snapshot:a.snapshot});let c=n().get(a.snapshot.sessionId);if(c)try{c(a.snapshot.sessionId,b)}catch{}}},1e4)}function u(a){a.idleCheckTimer&&(clearInterval(a.idleCheckTimer),a.idleCheckTimer=null)}function v(a){a.toolProgressTimer&&(clearInterval(a.toolProgressTimer),a.toolProgressTimer=null)}function w(a){let b=m(),c=b.get(a);return c||(c={snapshot:o(a),accumulatedText:"",toolCalls:new Map,toolResults:new Map,toolProgressTimer:null,activeToolId:null,textThrottleTimer:null,textDirty:!1,connectionState:"idle",idleCheckTimer:null},b.set(a,c)),c}function x(a,b){let c=n();return c.set(a,b),()=>{c.get(a)===b&&c.delete(a)}}function y(a){let b=m(),c=b.get(a);c&&(v(c),u(c),q(c)),b.delete(a)}function z(a){let b=m().get(a);b&&(b.snapshot={...b.snapshot,reconnectCount:b.snapshot.reconnectCount+1,lastSyncReason:"sse-reconnect",lastEventAt:Date.now()},r(b,!0))}let A="__annovibeSessionMessageCache__";function B(){let a=globalThis;if(!a[A]){var b;let c={entries:new Map,cleanupTimer:null};a[A]=c,(b=c).cleanupTimer||(b.cleanupTimer=setInterval(()=>{let a=Date.now();for(let[c,d]of b.entries)a-d.loadedAt>72e5&&b.entries.delete(c)},6e4))}return a[A]}function C(a){let b=B(),c=b.entries.get(a);return c?Date.now()-c.loadedAt>72e5?(b.entries.delete(a),null):(c.loadedAt=Date.now(),{...c,messages:[...c.messages],entryIds:[...c.entryIds]}):null}function D(a,b,c,d,e){let f=B(),g=f.entries.get(a);if(!g)return;let h=new Set(g.entryIds),i=[],j=[];for(let a=0;a<b.length;a++){let d=c[a];d&&!h.has(d)&&(i.push(b[a]),j.push(d))}0!==i.length&&f.entries.set(a,{...g,messages:[...i,...g.messages],entryIds:[...j,...g.entryIds],hasMore:d,loadedMessagesCount:e,loadedAt:Date.now()})}function E(a){B().entries.delete(a)}var F=c(29947);function G(a,b){switch(b.type){case"start":return{isStreaming:!0,streamingMessage:null};case"update":return{isStreaming:!0,streamingMessage:b.message};case"end":case"reset":return{isStreaming:!1,streamingMessage:null};default:return a}}function H(a,b){return new DOMException(a,b)}function I(){return"u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,11)}-${Math.random().toString(36).slice(2,11)}`}let J=["read","bash","grep","find","ls"];function K(a,b){return a.trim()||0!==b?`text:${a}|images:${b}`:null}function L(a){return"string"==typeof a?K(a,0):Array.isArray(a)?K(a.filter(a=>!!a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join("\n"),a.filter(a=>!!a&&"object"==typeof a&&"image"===a.type).length):null}function M(a){let b=new Map;for(let c of a){let a="user"!==c.role?null:L(c.content);a&&b.set(a,(b.get(a)??0)+1)}return b}function N(a,b,c){return a.sessionId===b&&(!a.leafId||c.includes(a.leafId))}function O(a,b){let c=a.timestamp,d=b.timestamp;if("number"!=typeof c||"number"!=typeof d||c!==d||a.role!==b.role)return!1;try{return JSON.stringify(a)===JSON.stringify(b)}catch{return!1}}function P(a){let{session:b,newSessionCwd:c,planMode:j=!1,onAgentEnd:k,onSessionCreated:l,onSessionForked:n,modelsRefreshKey:s,onBranchDataChange:A,onPlanModeState:P}=a,Q=null===b&&null!==c,[R,S]=(0,d.useState)(null),[T,U]=(0,d.useState)(!Q),[V,W]=(0,d.useState)(null),[X,Y]=(0,d.useState)(null),[Z,$]=(0,d.useState)([]),[_,aa]=(0,d.useState)([]),[ab,ac]=(0,d.useState)(0),[ad,ae]=(0,d.useState)(!1),[af,ag]=(0,d.useState)(0),[ah,ai]=(0,d.useReducer)(G,{isStreaming:!1,streamingMessage:null}),[aj,ak]=(0,d.useState)(!1),[al,am]=(0,d.useState)({}),[an,ao]=(0,d.useState)([]),[ap,aq]=(0,d.useState)({}),[ar,as]=(0,d.useState)({}),[at,au]=(0,d.useState)(null),[av,aw]=(0,d.useState)("full"),[ax,ay]=(0,d.useState)([...F.SN]),[az,aA]=(0,d.useState)("auto"),[aB,aC]=(0,d.useState)(null),[aD,aE]=(0,d.useState)(null),[aF,aG]=(0,d.useState)(null),[aH,aI]=(0,d.useState)(null),[aJ,aK]=(0,d.useState)(null),[aL,aM]=(0,d.useState)(null),[aN,aO]=(0,d.useState)(!1),[aP,aQ]=(0,d.useState)(null),[aR,aS]=(0,d.useState)(null),[aT,aU]=(0,d.useState)(null),[aV,aW]=(0,d.useState)(null),aX=(0,d.useRef)(null),aY=(0,d.useRef)(b?.id??null),aZ=(0,d.useRef)(!1),a$=(0,d.useRef)(null),a_=(0,d.useRef)(null),a0=(0,d.useRef)(null),a1=(0,d.useRef)(!1),a2=(0,d.useRef)(null),a3=(0,d.useRef)(!1),a4=(0,d.useRef)(null),a5=(0,d.useRef)(null),a6=(0,d.useRef)(new Map),a7=(0,d.useRef)(new Map),a8=(0,d.useRef)(new Map),a9=(0,d.useRef)(null),ba=(0,d.useRef)([]),bb=(0,d.useRef)(null),bc=(0,d.useRef)(0),bd=(0,d.useRef)(!1),be=(0,d.useRef)(0),bf=(0,d.useRef)(!1);(0,d.useRef)(!1),(0,d.useRef)(0);let bg=(0,d.useRef)(null),bh=(0,d.useRef)(null),bi=(0,d.useRef)(0);(0,d.useRef)(!1);let bj=a.setNewSessionModel??au,bk=a.setToolPreset??aw,bl=a.setMemoryTools??ay,bm=aJ??R?.context.model??aL??null,bn=Q?at:bm,bo=(0,d.useCallback)(()=>j?J:(0,F.tE)(av,ax),[ax,j,av]),bp=(0,d.useCallback)(a=>a?.length?a.map((a,b)=>{let c=`Attachment ${b+1}: ${a.fileName} (${a.mimeType||"application/octet-stream"}, ${a.size} bytes)`;if(a.extractedText){let b=a.truncated?"\n[The extracted text was truncated before sending.]":"";return`${c}
2
2
  ${b}
3
3
  ${a.extractedText}`.trim()}return`${c}
4
- [Text extraction unavailable: ${a.extractionError??"unsupported file type"}]`}).join("\n\n---\n\n"):"",[]),bn=(0,d.useCallback)(async a=>{let b=await fetch(`/api/agent/${encodeURIComponent(a)}/prepare`,{method:"POST"});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error??`Failed to prepare session (HTTP ${b.status})`)},[]),bo=(()=>{let a={input:0,output:0,cacheRead:0,cacheWrite:0},b=0;for(let c of Z){if("assistant"!==c.role)continue;let d=c.usage;d&&(a.input+=d.input??0,a.output+=d.output??0,a.cacheRead+=d.cacheRead??0,a.cacheWrite+=d.cacheWrite??0,b+=d.cost?.total??0)}return a.input+a.output+a.cacheRead+a.cacheWrite>0?{tokens:a,cost:b}:null})(),bp=(0,d.useRef)(!1),bq=(0,d.useCallback)(async()=>{let a=aW.current;if(!a||bp.current||bd.current)return;bp.current=!0,bb.current=!0;let b=0,c=C(a);b=c?c.loadedMessagesCount:50;try{for(;;)try{let c=await fetch(`/api/sessions/${encodeURIComponent(a)}?limit=100&offset=${b}`);if(!c.ok)break;let d=await c.json();if(aW.current!==a)break;let e=d.context.messages,f=d.context.entryIds??[];if(0===e.length)break;$(a=>[...e,...a]),aa(a=>{let b=[...f,...a];return a8.current=b,b});let g=b+e.length;if(ag(g),bc.current=g,ae(d.hasMore??!1),D(a,e,f,d.hasMore??!1,g),b=g,!d.hasMore)break;await new Promise(a=>setTimeout(a,800))}catch{break}}finally{bp.current=!1,bd.current=!0,bb.current=!1}},[]),br=(0,d.useCallback)(async(a,b=!1,c=!1,d=!1)=>{var e;let f=null;try{if(b&&U(!0),!c&&!aX.current&&!d){let c=C(a);if(c)return ac(c.totalMessages),ae(c.hasMore),ag(c.loadedMessagesCount),$(c.messages),a8.current=c.entryIds,aa(c.entryIds),a7.current=c.leafId,Y(c.leafId),bc.current=c.loadedMessagesCount,b&&U(!1),c.hasMore&&!bd.current&&setTimeout(()=>{bq()},1500),null}let g=c?`/api/sessions/${encodeURIComponent(a)}?includeState`:`/api/sessions/${encodeURIComponent(a)}?limit=50&offset=0`,h=bf.current;if(h?.sid===a&&!b)return null;h?.controller.abort(H("Session load superseded","AbortError"));let i=new AbortController;f=i,bf.current={sid:a,controller:i};let j=setTimeout(()=>{i.abort(H("Session load timed out after 30 seconds","TimeoutError"))},3e4),k=await fetch(g,{signal:i.signal}).finally(()=>clearTimeout(j));if(aW.current&&aW.current!==a)return null;if(404===k.status)return b&&(S(null),a7.current=null,Y(null),$([]),W(null)),null;if(!k.ok)throw Error(`HTTP ${k.status}`);let l=await k.json();c?(ac(l.totalMessages??l.context.messages.length),ae(!1)):(ac(l.totalMessages??l.context.messages.length),ae(l.hasMore??!1)),ag(l.context.messages.length),S(l),a7.current=l.leafId,Y(l.leafId);let m=l.context.messages,n=M(m),o=new Map,p=Date.now();for(let[b,c]of a4.current)if(c.sessionId===a){if(p-c.createdAt>12e4){a4.current.delete(b);continue}if(c.confirmKey){let a=n.get(c.confirmKey)??0,d=o.get(c.confirmKey)??0;a-d>c.confirmCountAtCreate&&(a4.current.delete(b),o.set(c.confirmKey,d+1))}}a5.current=n;let q=l.context.entryIds??[],r=[...a4.current.values()].filter(b=>N(b,a,q)).map(a=>a.message),s=r.length>0?[...m,...r]:m,t=a6.current.get(a);if(t){for(let[a,b]of t)p-b>12e4&&t.delete(a);0===t.size&&a6.current.delete(a)}let u=t?.size?t:null,v=u?new Set(q):null,w=!!u&&!!v&&[...u.keys()].some(a=>!v.has(a));u&&v&&!w&&a6.current.delete(a);let x=s.length;return!c&&(bc.current>x||w)?(ac(l.totalMessages??l.context.messages.length),ae(l.hasMore??!1)):($(a=>(function(a,b){if(a.length!==b.length)return b;let c=!1,d=b.map((b,d)=>O(a[d],b)?a[d]:(c=!0,b));return c?d:a})(a,s)),a8.current=q,aa(q),c?bc.current=x:bc.current=Math.max(bc.current,x),e={sessionId:a,leafId:l.leafId,messages:s,entryIds:q,totalMessages:l.totalMessages??l.context.messages.length,hasMore:!c&&(l.hasMore??!1),loadedMessagesCount:l.context.messages.length},B().entries.set(a,{...e,loadedAt:Date.now()})),aK(a=>{if(!a)return null;let b=l.context.model;return b?.provider===a.provider&&b.modelId===a.modelId?null:a}),W(null),!l.agentState?.state?.thinkingLevel&&l.context.thinkingLevel&&"off"!==l.context.thinkingLevel&&aA(l.context.thinkingLevel),l.agentState?.state?.planMode&&P?.(l.agentState.state.planMode),l.agentState??null}catch(a){if(a instanceof DOMException&&("AbortError"===a.name||"TimeoutError"===a.name)||a instanceof Error&&/aborted without reason|AbortError|Session load (?:timed out|superseded)/i.test(a.message))return null;return W(String(a)),null}finally{f&&bf.current?.controller===f&&(bf.current=null),b&&U(!1)}},[P,bq]),bs=(0,d.useRef)(!1),bt=(0,d.useCallback)(async()=>{if(bs.current)return;bs.current=!0;let a=aW.current;if(!a){bs.current=!1;return}try{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}?limit=50&offset=${af}`);if(!b.ok)return;let c=await b.json(),d=c.context.messages,e=c.context.entryIds??[];$(a=>[...d,...a]),aa(a=>{let b=[...e,...a];return a8.current=b,b}),ag(a=>a+d.length),ae(c.hasMore??!1),D(a,d,e,c.hasMore??!1,af+d.length)}catch{}finally{bs.current=!1}},[af]),bu=(0,d.useCallback)(async(a,b)=>{try{let c=b?`/api/sessions/${encodeURIComponent(a)}/context?leafId=${encodeURIComponent(b)}`:`/api/sessions/${encodeURIComponent(a)}/context`,d=await fetch(c);if(!d.ok)throw Error(`HTTP ${d.status}`);let e=await d.json(),f=e.context.messages,g=e.context.entryIds??[],h=M(f),i=new Map,j=Date.now();for(let[b,c]of a4.current)if(c.sessionId===a){if(j-c.createdAt>12e4){a4.current.delete(b);continue}if(c.confirmKey){let a=h.get(c.confirmKey)??0,d=i.get(c.confirmKey)??0;a-d>c.confirmCountAtCreate&&(a4.current.delete(b),i.set(c.confirmKey,d+1))}}a5.current=h;let k=[...a4.current.values()].filter(b=>N(b,a,g)).map(a=>a.message);$(k.length>0?[...f,...k]:f),a8.current=g,aa(g)}catch(a){console.error("Failed to load context:",a)}},[]),bv=(0,d.useCallback)(async a=>{try{let b=await (0,f.$)(a,{type:"get_tools"});b&&(bh((0,F.ES)(b)),bi((0,F.IB)(b)))}catch(a){console.error("Failed to load tools:",a)}},[bi,bh]),bw=(0,d.useCallback)((a,b={})=>{aV.current?.close(),aV.current=null;let c=`/api/agent/${encodeURIComponent(a)}/events${b.replay?"?replay=1":""}`;return!function(a){let b=w(a);if("active"===b.snapshot.phase)return r(b,!0),t(b),b.snapshot;let c=Date.now();b.snapshot={...o(a),phase:"active",startedAt:c,lastEventAt:c,isStreaming:!0,streamingMessage:{role:"assistant",content:[]}},t(b),r(b,!0),b.snapshot}(a),new Promise((d,e)=>{let f=!1,g=!1,h=null,j=a=>{if(!f){if(f=!0,clearTimeout(k),a){h?.close(),aV.current===h&&(aV.current=null),e(a);return}d()}},k=setTimeout(()=>{b.requireConnected?j(Error("Timed out waiting for event stream connection")):j()},b.timeoutMs??3e4);aV.current=h=function(a){let{url:b,onEvent:c,onStateChange:d,onFatalError:e,maxReconnectAttempts:f=1/0,reconnectBaseMs:g=1e3,reconnectMaxMs:h=3e4,autoReconnect:j=!0}=a,k="idle",l=new AbortController,m=0,n=null,o=null,p=!1,q=(a,b)=>{b&&(o=b),c(a,b)},r=a=>{k!==a&&(k=a,d?.(a))},s=()=>{null!==n&&(clearTimeout(n),n=null)},t=()=>{if(p)return;if(!j)return void r("error");if(m>=f){r("error"),e?.(Error(`Max reconnect attempts (${f}) reached`));return}let a=Math.min(h,g*2**m);m+=1,r("connecting"),n=setTimeout(()=>{n=null,u()},a)},u=async()=>{if(!p){s(),l=new AbortController,r("connecting");try{let a=await fetch(b,{signal:l.signal,headers:{Accept:"text/event-stream","Cache-Control":"no-cache",...o?{"Last-Event-ID":o}:{}}});if(!a.ok)throw Error(`HTTP ${a.status}: ${a.statusText}`);let c=a.body;if(!c)throw Error("Response has no readable body");let d=c.getReader();if(r("connected"),m=0,await i(d,q,l.signal),l.signal.aborted)try{await d.cancel()}catch{}d.releaseLock(),r("closed"),!p&&j&&t()}catch(a){if(p||a instanceof DOMException&&"AbortError"===a.name)return void r("closed");r("error"),j&&t()}}};return{get state(){return k},connect:()=>{p=!1,m=0,s(),u()},close:()=>{p=!0,s(),l.abort(),r("closed")},get abortController(){return l}}}({url:c,onEvent:b=>{try{let c=JSON.parse(b);if("connected"===c.type&&j(),aW.current!==a)return;aY.current?.(c)}catch{}},onStateChange:b=>{!function(a,b){let c=m().get(a);if(!c)return;let d=c.connectionState;c.connectionState=b,"connected"===b&&"connected"!==d&&(c.snapshot={...c.snapshot,lastEventAt:Date.now(),lastHeartbeatAt:Date.now()},t(c)),"connected"!==b&&"connected"===d&&u(c)}(a,b),"connected"===b&&(g&&(z(a),aZ.current?.(a,"sse_reconnected")),g=!0)},reconnectBaseMs:1e3,reconnectMaxMs:3e4}),h.connect()})},[]),bx=(0,d.useCallback)(async(a,b="manual")=>{if(!a||aW.current!==a)return;let c=ba.current;try{let b=await fetch(`/api/agent/${encodeURIComponent(a)}`),e=await b.json().catch(()=>({}));if(aW.current!==a||ba.current!==c)return;if(e.running){var d;aX.current=!0,ak(!0),aS((d=e.state,d?.phase==="running_tools"?{kind:"running_tools",tools:(d.activeTools??[]).map(a=>({id:a.id,name:a.name}))}:d?.phase==="streaming"||d?.phase==="compacting"||d?.phase==="idle"?null:{kind:"waiting_model"})),aV.current&&"closed"!==aV.current.state&&"error"!==aV.current.state||(z(a),bw(a,{replay:!0}))}else aX.current=!1,aV.current?.close(),aV.current=null,y(a),ak(!1),aS(null),aC(null),ai({type:"end"}),E(a),await br(a,!1,!1,!0);e.state?.contextUsage!==void 0&&aE(e.state.contextUsage??null),e.state?.systemPrompt!==void 0&&aG(e.state.systemPrompt??null),e.state?.isCompacting!==void 0&&aO(e.state.isCompacting),e.state?.thinkingLevel!==void 0&&aA(e.state.thinkingLevel??"auto"),e.state?.planMode!==void 0&&P?.(e.state.planMode)}catch{}},[bw,br,P]);aY.current=(0,d.useCallback)(a=>{let b=aW.current;switch(b&&function(a,b){let c=w(a),d=Date.now();switch(b.type){case"agent_start":if("active"===c.snapshot.phase)return r(c,!0),c.snapshot;return v(c),c.accumulatedText="",c.toolCalls.clear(),c.toolResults.clear(),c.activeToolId=null,c.snapshot={...o(a),phase:"active",startedAt:d,lastEventAt:d,isStreaming:!0,streamingMessage:{role:"assistant",content:[]}},t(c),r(c,!0),c.snapshot;case"message_update":{let a=b.message;if(!a||"assistant"!==a.role)return c.snapshot;let e=a.content;for(let a of Array.isArray(e)?e:[])"object"==typeof a&&null!==a&&"type"in a&&("text"===a.type?c.accumulatedText=a.text??"":"toolCall"===a.type&&a.toolCallId&&!c.toolCalls.has(a.toolCallId)&&c.toolCalls.set(a.toolCallId,{...a,startedAt:d}));return r(c,!1),c.snapshot}case"tool_execution_start":{let a="string"==typeof b.toolCallId?b.toolCallId:"",e="string"==typeof b.toolName?b.toolName:"tool",f=b.input??{};if(!a)return c.snapshot;let g=c.toolCalls.get(a);return c.toolCalls.set(a,{type:"toolCall",toolCallId:a,toolName:e,input:g?.input??f,startedAt:g?.startedAt??d}),c.activeToolId=a,v(c),c.activeToolId&&(c.toolProgressTimer=setInterval(()=>r(c,!0),1e3)),r(c,!0),c.snapshot}case"tool_execution_end":{let a="string"==typeof b.toolCallId?b.toolCallId:"",e="string"==typeof b.toolName?b.toolName:"tool",f="string"==typeof b.result?b.result:JSON.stringify(b.result??"");if(a){let g=c.toolCalls.get(a);g&&c.toolCalls.set(a,{...g,endedAt:d}),c.toolResults.set(a,{role:"toolResult",toolCallId:a,toolName:e,content:[{type:"text",text:f}],isError:!!b.isError,timestamp:d}),c.activeToolId===a&&(c.activeToolId=null,v(c))}return r(c,!0),c.snapshot}case"message_end":return q(c),r(c,!0),c.snapshot;case"agent_end":{if(q(c),v(c),c.activeToolId=null,!0===b.willRetry)return c.accumulatedText="",c.toolCalls.clear(),c.toolResults.clear(),c.snapshot={...c.snapshot,phase:"active",lastEventAt:d,accumulatedText:"",toolCalls:[],toolResults:[],statusText:null,streamingMessage:null,isStreaming:!0,error:null},t(c),p(a,{type:"snapshot-updated",snapshot:c.snapshot}),c.snapshot;u(c);let e="string"==typeof b.error?b.error:null;return c.snapshot={...c.snapshot,phase:e?"error":"completed",isStreaming:!1,streamingMessage:null,statusText:null,error:e},p(a,e?{type:"error",snapshot:c.snapshot}:{type:"completed",snapshot:c.snapshot}),c.snapshot}case"heartbeat":return c.snapshot={...c.snapshot,lastHeartbeatAt:d},c.snapshot;default:return c.snapshot}}(b,a),a.type){case"prompt_admitted":case"agent_start":aU(null),aX.current=!0,ak(!0),aS({kind:"waiting_model"}),ai({type:"start"});break;case"agent_end":if(!0===a.willRetry){aX.current=!0,ak(!0),aS({kind:"waiting_model"});break}aX.current=!1,aV.current?.close(),aV.current=null,ak(!1),aS(null),aC(null),ai({type:"end"}),b&&(E(b),br(b,!1,!1,!0),be.current&&clearTimeout(be.current),be.current=setTimeout(()=>{aW.current!==b||aX.current||(E(b),br(b,!1,!1,!0))},500),fetch(`/api/agent/${encodeURIComponent(b)}`).then(a=>a.json()).then(a=>{a.state?.contextUsage!==void 0&&aE(a.state.contextUsage??null),a.state?.systemPrompt!==void 0&&aG(a.state.systemPrompt??null),a.state?.isCompacting!==void 0&&aO(a.state.isCompacting)}).catch(()=>{})),k?.();break;case"message_start":case"message_update":{if(!aX.current)break;let b=a.message;if(b?.role==="user")break;b&&ai({type:"update",message:e(b)}),aS(null);break}case"message_end":{if(!aX.current)break;let c=a.message,d="string"==typeof a.__entryId?a.__entryId:null;if(c&&"user"!==c.role){"assistant"===c.role&&"error"===c.stopReason&&c.errorMessage?.trim()&&aU(`Model response failed: ${c.errorMessage.trim()}`);let a=e(c);if(!(d&&a8.current.includes(d))){if(b&&d){let a=a6.current.get(b)??new Map;a.set(d,Date.now()),a6.current.set(b,a)}$(b=>b.some(b=>O(b,a))?b:[...b,a]),d&&aa(a=>{if(a.includes(d))return a;let b=[...a,d];return a8.current=b,b})}}ai({type:"reset"}),aS({kind:"waiting_model"});break}case"replay_gap":b&&(E(b),br(b,!1,!1,!0));break;case"prompt_done":if(!aX.current)break;bx(aW.current??"","prompt_done");break;case"prompt_error":{let c="string"==typeof a.error&&a.error.trim()?a.error.trim():"The model request failed before producing a response.";if(aX.current=!1,ak(!1),aS(null),aC(null),ai({type:"end"}),aV.current?.close(),aV.current=null,b){for(let[a,c]of(y(b),a4.current))c.sessionId===b&&"prompt"===c.kind&&a4.current.delete(a);E(b),br(b,!1,!1,!0)}aU(`Model request failed: ${c}`),k?.();break}case"tool_execution_start":{let b=a.toolCallId,c=a.toolName,d=a.args,e="bash"===c&&"string"==typeof d?.command?d.command:void 0;aS(a=>{let d=a?.kind==="running_tools"?[...a.tools]:[];return d.some(a=>a.id===b)||d.push({id:b,name:c,args:e}),{kind:"running_tools",tools:d}});break}case"tool_execution_end":{let b=a.toolCallId;aS(a=>{if(a?.kind!=="running_tools")return a;let c=a.tools.filter(a=>a.id!==b);return 0===c.length?{kind:"waiting_model"}:{kind:"running_tools",tools:c}});break}case"auto_retry_start":aU(null),aX.current=!0,ak(!0),aS({kind:"waiting_model"}),aC({attempt:a.attempt,maxAttempts:a.maxAttempts,errorMessage:a.errorMessage});break;case"auto_retry_end":aC(null),!1===a.success&&"string"==typeof a.finalError&&a.finalError.trim()?aU(`Model response failed after retries: ${a.finalError.trim()}`):!0===a.success&&aU(null);break;case"auto_compaction_start":case"compaction_start":aO(!0),aQ(null);break;case"auto_compaction_end":case"compaction_end":aO(!1),a.errorMessage?aQ(a.errorMessage):!a.aborted&&aW.current&&br(aW.current)}},[br,k,bx]);let by=(0,d.useCallback)(async(a,d,e,i)=>{if(!a.trim()&&!d?.length&&!e?.length||aj)return;ba.current+=1;let k=bm(e),m=a.trim()?k?`${a}
4
+ [Text extraction unavailable: ${a.extractionError??"unsupported file type"}]`}).join("\n\n---\n\n"):"",[]),bq=(0,d.useCallback)(async a=>{let b=await fetch(`/api/agent/${encodeURIComponent(a)}/prepare`,{method:"POST"});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error??`Failed to prepare session (HTTP ${b.status})`)},[]),br=(()=>{let a={input:0,output:0,cacheRead:0,cacheWrite:0},b=0;for(let c of Z){if("assistant"!==c.role)continue;let d=c.usage;d&&(a.input+=d.input??0,a.output+=d.output??0,a.cacheRead+=d.cacheRead??0,a.cacheWrite+=d.cacheWrite??0,b+=d.cost?.total??0)}return a.input+a.output+a.cacheRead+a.cacheWrite>0?{tokens:a,cost:b}:null})(),bs=(0,d.useRef)(!1),bt=(0,d.useCallback)(async()=>{let a=aY.current;if(!a||bs.current||bf.current)return;bs.current=!0,bd.current=!0;let b=0,c=C(a);b=c?c.loadedMessagesCount:50;try{for(;;)try{let c=await fetch(`/api/sessions/${encodeURIComponent(a)}?limit=100&offset=${b}`);if(!c.ok)break;let d=await c.json();if(aY.current!==a)break;let e=d.context.messages,f=d.context.entryIds??[];if(0===e.length)break;$(a=>[...e,...a]),aa(a=>{let b=[...f,...a];return ba.current=b,b});let g=b+e.length;if(ag(g),be.current=g,ae(d.hasMore??!1),D(a,e,f,d.hasMore??!1,g),b=g,!d.hasMore)break;await new Promise(a=>setTimeout(a,800))}catch{break}}finally{bs.current=!1,bf.current=!0,bd.current=!1}},[]),bu=(0,d.useCallback)(async(a,b=!1,c=!1,d=!1)=>{var e;let f=null;try{if(b&&U(!0),!c&&!aZ.current&&!d){let c=C(a);if(c)return ac(c.totalMessages),ae(c.hasMore),ag(c.loadedMessagesCount),$(c.messages),ba.current=c.entryIds,aa(c.entryIds),a9.current=c.leafId,Y(c.leafId),be.current=c.loadedMessagesCount,b&&U(!1),c.hasMore&&!bf.current&&setTimeout(()=>{bt()},1500),null}let g=c?`/api/sessions/${encodeURIComponent(a)}?includeState`:`/api/sessions/${encodeURIComponent(a)}?limit=50&offset=0`,h=bh.current;if(h?.sid===a&&!b)return null;h?.controller.abort(H("Session load superseded","AbortError"));let i=new AbortController;f=i,bh.current={sid:a,controller:i};let j=setTimeout(()=>{i.abort(H("Session load timed out after 30 seconds","TimeoutError"))},3e4),k=await fetch(g,{signal:i.signal}).finally(()=>clearTimeout(j));if(aY.current&&aY.current!==a)return null;if(404===k.status)return b&&(S(null),a9.current=null,Y(null),$([]),W(null)),null;if(!k.ok)throw Error(`HTTP ${k.status}`);let l=await k.json();c?(ac(l.totalMessages??l.context.messages.length),ae(!1)):(ac(l.totalMessages??l.context.messages.length),ae(l.hasMore??!1)),ag(l.context.messages.length),S(l),a9.current=l.leafId,Y(l.leafId);let m=l.context.messages,n=M(m),o=new Map,p=Date.now();for(let[b,c]of a6.current)if(c.sessionId===a){if(p-c.createdAt>12e4){a6.current.delete(b);continue}if(c.confirmKey){let a=n.get(c.confirmKey)??0,d=o.get(c.confirmKey)??0;a-d>c.confirmCountAtCreate&&(a6.current.delete(b),o.set(c.confirmKey,d+1))}}a7.current=n;let q=l.context.entryIds??[],r=[...a6.current.values()].filter(b=>N(b,a,q)).map(a=>a.message),s=r.length>0?[...m,...r]:m,t=a8.current.get(a);if(t){for(let[a,b]of t)p-b>12e4&&t.delete(a);0===t.size&&a8.current.delete(a)}let u=t?.size?t:null,v=u?new Set(q):null,w=!!u&&!!v&&[...u.keys()].some(a=>!v.has(a));u&&v&&!w&&a8.current.delete(a);let x=s.length;return!c&&(be.current>x||w)?(ac(l.totalMessages??l.context.messages.length),ae(l.hasMore??!1)):($(a=>(function(a,b){if(a.length!==b.length)return b;let c=!1,d=b.map((b,d)=>O(a[d],b)?a[d]:(c=!0,b));return c?d:a})(a,s)),ba.current=q,aa(q),c?be.current=x:be.current=Math.max(be.current,x),e={sessionId:a,leafId:l.leafId,messages:s,entryIds:q,totalMessages:l.totalMessages??l.context.messages.length,hasMore:!c&&(l.hasMore??!1),loadedMessagesCount:l.context.messages.length},B().entries.set(a,{...e,loadedAt:Date.now()})),aK(a=>{if(!a)return null;let b=l.context.model;return b?.provider===a.provider&&b.modelId===a.modelId?null:a}),W(null),!l.agentState?.state?.thinkingLevel&&l.context.thinkingLevel&&"off"!==l.context.thinkingLevel&&aA(l.context.thinkingLevel),l.agentState?.state?.planMode&&P?.(l.agentState.state.planMode),l.agentState??null}catch(a){if(a instanceof DOMException&&("AbortError"===a.name||"TimeoutError"===a.name)||a instanceof Error&&/aborted without reason|AbortError|Session load (?:timed out|superseded)/i.test(a.message))return null;return W(String(a)),null}finally{f&&bh.current?.controller===f&&(bh.current=null),b&&U(!1)}},[P,bt]),bv=(0,d.useRef)(!1),bw=(0,d.useCallback)(async()=>{if(bv.current)return;bv.current=!0;let a=aY.current;if(!a){bv.current=!1;return}try{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}?limit=50&offset=${af}`);if(!b.ok)return;let c=await b.json(),d=c.context.messages,e=c.context.entryIds??[];$(a=>[...d,...a]),aa(a=>{let b=[...e,...a];return ba.current=b,b}),ag(a=>a+d.length),ae(c.hasMore??!1),D(a,d,e,c.hasMore??!1,af+d.length)}catch{}finally{bv.current=!1}},[af]),bx=(0,d.useCallback)(async a=>{let b=aY.current;if(!b)return[];let c=a9.current,d=c?`?leafId=${encodeURIComponent(c)}`:"";try{let c=await fetch(`/api/sessions/${encodeURIComponent(b)}/shadowed${d}`);if(!c.ok)return[];let e=await c.json(),f=e.groups?.find(b=>b.compactionEntryId===a);return f?.messages??[]}catch{return[]}},[]),by=(0,d.useCallback)(async(a,b)=>{try{let c=b?`/api/sessions/${encodeURIComponent(a)}/context?leafId=${encodeURIComponent(b)}`:`/api/sessions/${encodeURIComponent(a)}/context`,d=await fetch(c);if(!d.ok)throw Error(`HTTP ${d.status}`);let e=await d.json(),f=e.context.messages,g=e.context.entryIds??[],h=M(f),i=new Map,j=Date.now();for(let[b,c]of a6.current)if(c.sessionId===a){if(j-c.createdAt>12e4){a6.current.delete(b);continue}if(c.confirmKey){let a=h.get(c.confirmKey)??0,d=i.get(c.confirmKey)??0;a-d>c.confirmCountAtCreate&&(a6.current.delete(b),i.set(c.confirmKey,d+1))}}a7.current=h;let k=[...a6.current.values()].filter(b=>N(b,a,g)).map(a=>a.message);$(k.length>0?[...f,...k]:f),ba.current=g,aa(g)}catch(a){console.error("Failed to load context:",a)}},[]),bz=(0,d.useCallback)(async a=>{try{let b=await (0,f.$)(a,{type:"get_tools"});b&&(bk((0,F.ES)(b)),bl((0,F.IB)(b)))}catch(a){console.error("Failed to load tools:",a)}},[bl,bk]),bA=(0,d.useCallback)((a,b={})=>{aX.current?.close(),aX.current=null;let c=`/api/agent/${encodeURIComponent(a)}/events${b.replay?"?replay=1":""}`;return!function(a){let b=w(a);if("active"===b.snapshot.phase)return r(b,!0),t(b),b.snapshot;let c=Date.now();b.snapshot={...o(a),phase:"active",startedAt:c,lastEventAt:c,isStreaming:!0,streamingMessage:{role:"assistant",content:[]}},t(b),r(b,!0),b.snapshot}(a),new Promise((d,e)=>{let f=!1,g=!1,h=null,j=a=>{if(!f){if(f=!0,clearTimeout(k),a){h?.close(),aX.current===h&&(aX.current=null),e(a);return}d()}},k=setTimeout(()=>{b.requireConnected?j(Error("Timed out waiting for event stream connection")):j()},b.timeoutMs??3e4);aX.current=h=function(a){let{url:b,onEvent:c,onStateChange:d,onFatalError:e,maxReconnectAttempts:f=1/0,reconnectBaseMs:g=1e3,reconnectMaxMs:h=3e4,autoReconnect:j=!0}=a,k="idle",l=new AbortController,m=0,n=null,o=null,p=!1,q=(a,b)=>{b&&(o=b),c(a,b)},r=a=>{k!==a&&(k=a,d?.(a))},s=()=>{null!==n&&(clearTimeout(n),n=null)},t=()=>{if(p)return;if(!j)return void r("error");if(m>=f){r("error"),e?.(Error(`Max reconnect attempts (${f}) reached`));return}let a=Math.min(h,g*2**m);m+=1,r("connecting"),n=setTimeout(()=>{n=null,u()},a)},u=async()=>{if(!p){s(),l=new AbortController,r("connecting");try{let a=await fetch(b,{signal:l.signal,headers:{Accept:"text/event-stream","Cache-Control":"no-cache",...o?{"Last-Event-ID":o}:{}}});if(!a.ok)throw Error(`HTTP ${a.status}: ${a.statusText}`);let c=a.body;if(!c)throw Error("Response has no readable body");let d=c.getReader();if(r("connected"),m=0,await i(d,q,l.signal),l.signal.aborted)try{await d.cancel()}catch{}d.releaseLock(),r("closed"),!p&&j&&t()}catch(a){if(p||a instanceof DOMException&&"AbortError"===a.name)return void r("closed");r("error"),j&&t()}}};return{get state(){return k},connect:()=>{p=!1,m=0,s(),u()},close:()=>{p=!0,s(),l.abort(),r("closed")},get abortController(){return l}}}({url:c,onEvent:b=>{try{let c=JSON.parse(b);if("connected"===c.type&&j(),aY.current!==a)return;a$.current?.(c)}catch{}},onStateChange:b=>{!function(a,b){let c=m().get(a);if(!c)return;let d=c.connectionState;c.connectionState=b,"connected"===b&&"connected"!==d&&(c.snapshot={...c.snapshot,lastEventAt:Date.now(),lastHeartbeatAt:Date.now()},t(c)),"connected"!==b&&"connected"===d&&u(c)}(a,b),"connected"===b&&(g&&(z(a),a_.current?.(a,"sse_reconnected")),g=!0)},reconnectBaseMs:1e3,reconnectMaxMs:3e4}),h.connect()})},[]),bB=(0,d.useCallback)(async(a,b="manual")=>{if(!a||aY.current!==a)return;let c=bc.current;try{let b=await fetch(`/api/agent/${encodeURIComponent(a)}`),e=await b.json().catch(()=>({}));if(aY.current!==a||bc.current!==c)return;if(e.running){var d;aZ.current=!0,ak(!0),aU((d=e.state,d?.phase==="running_tools"?{kind:"running_tools",tools:(d.activeTools??[]).map(a=>({id:a.id,name:a.name}))}:d?.phase==="streaming"||d?.phase==="compacting"||d?.phase==="idle"?null:{kind:"waiting_model"})),aX.current&&"closed"!==aX.current.state&&"error"!==aX.current.state||(z(a),bA(a,{replay:!0}))}else aZ.current=!1,aX.current?.close(),aX.current=null,y(a),ak(!1),aU(null),aC(null),ai({type:"end"}),E(a),await bu(a,!1,!1,!0);e.state?.contextUsage!==void 0&&aE(e.state.contextUsage??null),e.state?.systemPrompt!==void 0&&aG(e.state.systemPrompt??null),e.state?.isCompacting!==void 0&&aO(e.state.isCompacting),e.state?.thinkingLevel!==void 0&&aA(e.state.thinkingLevel??"auto"),e.state?.planMode!==void 0&&P?.(e.state.planMode)}catch{}},[bA,bu,P]);a$.current=(0,d.useCallback)(a=>{let b=aY.current;switch(b&&function(a,b){let c=w(a),d=Date.now();switch(b.type){case"agent_start":if("active"===c.snapshot.phase)return r(c,!0),c.snapshot;return v(c),c.accumulatedText="",c.toolCalls.clear(),c.toolResults.clear(),c.activeToolId=null,c.snapshot={...o(a),phase:"active",startedAt:d,lastEventAt:d,isStreaming:!0,streamingMessage:{role:"assistant",content:[]}},t(c),r(c,!0),c.snapshot;case"message_update":{let a=b.message;if(!a||"assistant"!==a.role)return c.snapshot;let e=a.content;for(let a of Array.isArray(e)?e:[])"object"==typeof a&&null!==a&&"type"in a&&("text"===a.type?c.accumulatedText=a.text??"":"toolCall"===a.type&&a.toolCallId&&!c.toolCalls.has(a.toolCallId)&&c.toolCalls.set(a.toolCallId,{...a,startedAt:d}));return r(c,!1),c.snapshot}case"tool_execution_start":{let a="string"==typeof b.toolCallId?b.toolCallId:"",e="string"==typeof b.toolName?b.toolName:"tool",f=b.input??{};if(!a)return c.snapshot;let g=c.toolCalls.get(a);return c.toolCalls.set(a,{type:"toolCall",toolCallId:a,toolName:e,input:g?.input??f,startedAt:g?.startedAt??d}),c.activeToolId=a,v(c),c.activeToolId&&(c.toolProgressTimer=setInterval(()=>r(c,!0),1e3)),r(c,!0),c.snapshot}case"tool_execution_end":{let a="string"==typeof b.toolCallId?b.toolCallId:"",e="string"==typeof b.toolName?b.toolName:"tool",f="string"==typeof b.result?b.result:JSON.stringify(b.result??"");if(a){let g=c.toolCalls.get(a);g&&c.toolCalls.set(a,{...g,endedAt:d}),c.toolResults.set(a,{role:"toolResult",toolCallId:a,toolName:e,content:[{type:"text",text:f}],isError:!!b.isError,timestamp:d}),c.activeToolId===a&&(c.activeToolId=null,v(c))}return r(c,!0),c.snapshot}case"message_end":return q(c),r(c,!0),c.snapshot;case"agent_end":{if(q(c),v(c),c.activeToolId=null,!0===b.willRetry)return c.accumulatedText="",c.toolCalls.clear(),c.toolResults.clear(),c.snapshot={...c.snapshot,phase:"active",lastEventAt:d,accumulatedText:"",toolCalls:[],toolResults:[],statusText:null,streamingMessage:null,isStreaming:!0,error:null},t(c),p(a,{type:"snapshot-updated",snapshot:c.snapshot}),c.snapshot;u(c);let e="string"==typeof b.error?b.error:null;return c.snapshot={...c.snapshot,phase:e?"error":"completed",isStreaming:!1,streamingMessage:null,statusText:null,error:e},p(a,e?{type:"error",snapshot:c.snapshot}:{type:"completed",snapshot:c.snapshot}),c.snapshot}case"heartbeat":return c.snapshot={...c.snapshot,lastHeartbeatAt:d},c.snapshot;default:return c.snapshot}}(b,a),"heartbeat"!==a.type&&(bi.current=Date.now()),a.type){case"prompt_admitted":case"agent_start":aW(null),aZ.current=!0,ak(!0),aU({kind:"waiting_model"}),ai({type:"start"});break;case"agent_end":if(!0===a.willRetry){aZ.current=!0,ak(!0),aU({kind:"waiting_model"});break}aZ.current=!1,aX.current?.close(),aX.current=null,ak(!1),aU(null),aC(null),ai({type:"end"}),b&&(E(b),bu(b,!1,!1,!0),bg.current&&clearTimeout(bg.current),bg.current=setTimeout(()=>{aY.current!==b||aZ.current||(E(b),bu(b,!1,!1,!0))},500),fetch(`/api/agent/${encodeURIComponent(b)}`).then(a=>a.json()).then(a=>{a.state?.contextUsage!==void 0&&aE(a.state.contextUsage??null),a.state?.systemPrompt!==void 0&&aG(a.state.systemPrompt??null),a.state?.isCompacting!==void 0&&aO(a.state.isCompacting)}).catch(()=>{})),k?.();break;case"message_start":case"message_update":{let b=a.message;if(b?.role==="user")break;aZ.current||(aZ.current=!0,ak(!0),aU({kind:"waiting_model"})),b&&ai({type:"update",message:e(b)}),aU(null);break}case"message_end":{let c=a.message,d="string"==typeof a.__entryId?a.__entryId:null,f=aZ.current;if(c&&"user"!==c.role){"assistant"===c.role&&"error"===c.stopReason&&c.errorMessage?.trim()&&aW(`Model response failed: ${c.errorMessage.trim()}`);let a=e(c);if(!(d&&ba.current.includes(d))){if(b&&d){let a=a8.current.get(b)??new Map;a.set(d,Date.now()),a8.current.set(b,a)}$(b=>b.some(b=>O(b,a))?b:[...b,a]),d&&aa(a=>{if(a.includes(d))return a;let b=[...a,d];return ba.current=b,b})}}f&&(ai({type:"reset"}),aU({kind:"waiting_model"}));break}case"replay_gap":b&&(E(b),bu(b,!1,!1,!0));break;case"prompt_done":if(!aZ.current)break;bB(aY.current??"","prompt_done");break;case"prompt_error":{let c="string"==typeof a.error&&a.error.trim()?a.error.trim():"The model request failed before producing a response.";if(aZ.current=!1,ak(!1),aU(null),aC(null),ai({type:"end"}),aX.current?.close(),aX.current=null,b){for(let[a,c]of(y(b),a6.current))c.sessionId===b&&"prompt"===c.kind&&a6.current.delete(a);E(b),bu(b,!1,!1,!0)}aW(`Model request failed: ${c}`),k?.();break}case"tool_execution_start":{let b=a.toolCallId,c=a.toolName,d=a.args,e="bash"===c&&"string"==typeof d?.command?d.command:void 0;aU(a=>{let d=a?.kind==="running_tools"?[...a.tools]:[];return d.some(a=>a.id===b)||d.push({id:b,name:c,args:e}),{kind:"running_tools",tools:d}});break}case"tool_execution_end":{let b=a.toolCallId;aU(a=>{if(a?.kind!=="running_tools")return a;let c=a.tools.filter(a=>a.id!==b);return 0===c.length?{kind:"waiting_model"}:{kind:"running_tools",tools:c}});break}case"auto_retry_start":aW(null),aZ.current=!0,ak(!0),aU({kind:"waiting_model"}),aC({attempt:a.attempt,maxAttempts:a.maxAttempts,errorMessage:a.errorMessage});break;case"auto_retry_end":aC(null),!1===a.success&&"string"==typeof a.finalError&&a.finalError.trim()?aW(`Model response failed after retries: ${a.finalError.trim()}`):!0===a.success&&aW(null);break;case"auto_compaction_start":case"compaction_start":aO(!0),aQ(null);break;case"auto_compaction_end":case"compaction_end":aO(!1),a.errorMessage?aQ(a.errorMessage):!a.aborted&&aY.current&&bu(aY.current)}},[bu,k,bB]);let bC=(0,d.useCallback)(async(a,d,e,i)=>{if(!a.trim()&&!d?.length&&!e?.length||aj)return;bc.current+=1;let k=bp(e),m=a.trim()?k?`${a}
5
5
 
6
6
  Attached document text:
7
7
 
8
8
  ${k}`:a:k?`Attached document text:
9
9
 
10
- ${k}`:"",n=[],o=Q?c:b?.cwd??R?.info?.cwd;if(d?.length&&o)try{n=await h(o,d)}catch(a){aU(a instanceof Error?a.message:String(a));return}let p=n.length?n.map(a=>{var b;return{type:"image",path:a.path,mimeType:a.mimeType,name:a.name,source:{type:"url",url:(b=a.path,`/api/files/${(0,g.HG)(b)}?type=read`),media_type:a.mimeType}}}):d?.map(a=>({type:"image",source:{type:"base64",media_type:a.mimeType,data:a.data}})),q={role:"user",content:p?.length?[...m.trim()?[{type:"text",text:m}]:[],...p]:m,timestamp:Date.now()},r=I(),s=Q?null:b?.id??null;s&&E(s);let t=a7.current,u=L(q.content);a4.current.set(r,{localId:r,sessionId:s??"__new__",leafId:t,message:q,createdAt:Date.now(),kind:"prompt",confirmKey:u,confirmCountAtCreate:Q?0:u?a5.current.get(u)??0:0}),$(a=>[...a,q]),aU(null),aX.current=!0,ak(!0),aS({kind:"waiting_model"}),ai({type:"start"}),a1.current=!0;let v=an.find(a=>a.provider===bj?.provider&&a.id===bj?.modelId)?.input,w=!v||0===v.length||v.includes("image")?d?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})):void 0;try{if(Q&&c){at&&aM(at);let b=i??bl(),d=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:c,type:"prompt",message:m,toolNames:b,planMode:j,deferPrompt:!0,...w?.length?{images:w}:{},...at?{provider:at.provider,modelId:at.modelId}:{},..."auto"!==az?{thinkingLevel:az}:{}})}),e=await d.json().catch(()=>({}));if(!d.ok||e.error||!e.sessionId)throw Error(e.error??`HTTP ${d.status}`);let g=e.sessionId;aW.current=g;let h=a4.current.get(r);h&&(h.sessionId=g),a$.current?.(),a$.current=x(g,()=>{aW.current===g&&(ak(!1),aS(null))}),a9.current=g,await bw(g,{requireConnected:!0,timeoutMs:1e4}),await (0,f.$)(g,{type:"prompt",message:m,toolNames:b,planMode:j,...w?.length?{images:w}:{}}),l?.({id:g,path:"",cwd:c,name:void 0,created:new Date().toISOString(),modified:new Date().toISOString(),messageCount:1,firstMessage:a})}else if(b){let a=i??bl();await bn(b.id),a$.current?.(),a$.current=x(b.id,()=>{aW.current===b.id&&(ak(!1),aS(null))}),await bw(b.id,{requireConnected:!0,timeoutMs:1e4}),await (0,f.$)(b.id,{type:"prompt",message:m,toolNames:a,planMode:j,leafId:t,...bj?{provider:bj.provider,modelId:bj.modelId}:{},..."auto"!==az?{thinkingLevel:az}:{},...w?.length?{images:w}:{}})}}catch(b){let a=aW.current;if(a4.current.delete(r),$(a=>a.filter(a=>a!==q)),b instanceof f.H&&(409===b.status||"SESSION_BUSY"===b.code)){aU("This session is already running in another tab. Showing that active run instead."),aX.current=!0,ak(!0),aS({kind:"waiting_model"}),ai({type:"start"}),a&&(aV.current?.close(),aV.current=null,z(a),bw(a,{replay:!0}),aZ.current?.(a,"prompt_conflict"));return}if(console.error("Failed to send message:",b),Q&&aW.current){let a=aW.current;aW.current=null,a9.current=null,fetch(`/api/sessions/${encodeURIComponent(a)}`,{method:"DELETE"}).catch(()=>{})}aU(b instanceof Error?b.message:String(b)),aV.current?.close(),aV.current=null,a&&y(a),aX.current=!1,ak(!1),aS(null),ai({type:"end"})}},[Q,c,at,bl,az,b,R?.info?.cwd,aj,bw,l,bm,j,an,bj,bn]),bz=(0,d.useCallback)(async()=>{let a=aW.current;if(a){aX.current=!1,aU(null),ak(!1),aS(null),ai({type:"end"}),aV.current?.close(),aV.current=null,y(a),E(a);try{await (0,f.$)(a,{type:"abort"}),await br(a,!1,!1,!0)}catch(b){console.error("Failed to abort:",b),await br(a,!1,!1,!0)}}},[br]),bA=(0,d.useCallback)(async a=>{let b=aW.current;if(b){aI(a);try{let{cancelled:c,newSessionId:d}=await (0,f.$)(b,{type:"fork",entryId:a})??{};!c&&d&&n?.(d)}catch(a){console.error("Fork failed:",a)}finally{aI(null)}}},[n]),bB=(0,d.useCallback)(async a=>{let b=aW.current;b&&(a6.current.delete(b),E(b),a7.current=a,Y(a),await bu(b,a))},[bu]);(0,d.useCallback)(async a=>{a7.current=a,Y(a);let b=aW.current;b&&(a6.current.delete(b),E(b),await bu(b,a))},[bu]);let bC=(0,d.useCallback)(async(a,b)=>{if(Q)return void bg({provider:a,modelId:b});let c=aW.current;if(c)try{var d;aU(null);let e=await (0,f.$)(c,{type:"set_model",provider:a,modelId:b}),g={provider:e.provider,modelId:e.id};e.thinkingLevel&&(d=e.thinkingLevel,"auto"===d||"off"===d||"minimal"===d||"low"===d||"medium"===d||"high"===d||"xhigh"===d)&&aA(e.thinkingLevel),aK(g),S(a=>a?{...a,context:{...a.context,model:g}}:a)}catch(b){let a=b instanceof Error?b.message:String(b);console.error("Failed to set model:",b),aU(a)}},[Q,bg]),bD=(0,d.useCallback)(async()=>{let a=aW.current;if(a&&!aN){aO(!0),aQ(null);try{await (0,f.$)(a,{type:"compact"}),await br(a,!0)}catch(a){aQ(a instanceof Error?a.message:String(a))}finally{aO(!1)}}},[aN,br]),bE=(0,d.useCallback)(async(a,b,c)=>{let d=aW.current;if(!d)return;E(d);let e=bm(c),g=a.trim()?e?`${a}
10
+ ${k}`:"",n=[],o=Q?c:b?.cwd??R?.info?.cwd;if(d?.length&&o)try{n=await h(o,d)}catch(a){aW(a instanceof Error?a.message:String(a));return}let p=n.length?n.map(a=>{var b;return{type:"image",path:a.path,mimeType:a.mimeType,name:a.name,source:{type:"url",url:(b=a.path,`/api/files/${(0,g.HG)(b)}?type=read`),media_type:a.mimeType}}}):d?.map(a=>({type:"image",source:{type:"base64",media_type:a.mimeType,data:a.data}})),q={role:"user",content:p?.length?[...m.trim()?[{type:"text",text:m}]:[],...p]:m,timestamp:Date.now()},r=I(),s=Q?null:b?.id??null;s&&E(s);let t=a9.current,u=L(q.content);a6.current.set(r,{localId:r,sessionId:s??"__new__",leafId:t,message:q,createdAt:Date.now(),kind:"prompt",confirmKey:u,confirmCountAtCreate:Q?0:u?a7.current.get(u)??0:0}),$(a=>[...a,q]),aW(null),aZ.current=!0,ak(!0),aU({kind:"waiting_model"}),ai({type:"start"}),a3.current=!0;let v=an.find(a=>a.provider===bm?.provider&&a.id===bm?.modelId)?.input,w=!v||0===v.length||v.includes("image")?d?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})):void 0;try{if(Q&&c){at&&aM(at);let b=i??bo(),d=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:c,type:"prompt",message:m,toolNames:b,planMode:j,deferPrompt:!0,...w?.length?{images:w}:{},...at?{provider:at.provider,modelId:at.modelId}:{},..."auto"!==az?{thinkingLevel:az}:{}})}),e=await d.json().catch(()=>({}));if(!d.ok||e.error||!e.sessionId)throw Error(e.error??`HTTP ${d.status}`);let g=e.sessionId;aY.current=g;let h=a6.current.get(r);h&&(h.sessionId=g),a0.current?.(),a0.current=x(g,()=>{aY.current===g&&(ak(!1),aU(null))}),bb.current=g,await bA(g,{requireConnected:!0,timeoutMs:1e4}),await (0,f.$)(g,{type:"prompt",message:m,toolNames:b,planMode:j,...w?.length?{images:w}:{}}),l?.({id:g,path:"",cwd:c,name:void 0,created:new Date().toISOString(),modified:new Date().toISOString(),messageCount:1,firstMessage:a})}else if(b){let a=i??bo();await bq(b.id),a0.current?.(),a0.current=x(b.id,()=>{aY.current===b.id&&(ak(!1),aU(null))}),await bA(b.id,{requireConnected:!0,timeoutMs:1e4}),await (0,f.$)(b.id,{type:"prompt",message:m,toolNames:a,planMode:j,leafId:t,...bm?{provider:bm.provider,modelId:bm.modelId}:{},..."auto"!==az?{thinkingLevel:az}:{},...w?.length?{images:w}:{}})}}catch(b){let a=aY.current;if(a6.current.delete(r),$(a=>a.filter(a=>a!==q)),b instanceof f.H&&(409===b.status||"SESSION_BUSY"===b.code)){aW("This session is already running in another tab. Showing that active run instead."),aZ.current=!0,ak(!0),aU({kind:"waiting_model"}),ai({type:"start"}),a&&(aX.current?.close(),aX.current=null,z(a),bA(a,{replay:!0}),a_.current?.(a,"prompt_conflict"));return}if(console.error("Failed to send message:",b),Q&&aY.current){let a=aY.current;aY.current=null,bb.current=null,fetch(`/api/sessions/${encodeURIComponent(a)}`,{method:"DELETE"}).catch(()=>{})}aW(b instanceof Error?b.message:String(b)),aX.current?.close(),aX.current=null,a&&y(a),aZ.current=!1,ak(!1),aU(null),ai({type:"end"})}},[Q,c,at,bo,az,b,R?.info?.cwd,aj,bA,l,bp,j,an,bm,bq]),bD=(0,d.useCallback)(async()=>{let a=aY.current;if(a){aZ.current=!1,aW(null),ak(!1),aU(null),ai({type:"end"}),aX.current?.close(),aX.current=null,y(a),E(a);try{await (0,f.$)(a,{type:"abort"}),await bu(a,!1,!1,!0)}catch(b){console.error("Failed to abort:",b),await bu(a,!1,!1,!0)}}},[bu]),bE=(0,d.useCallback)(async a=>{let b=aY.current;if(b){aI(a);try{let{cancelled:c,newSessionId:d}=await (0,f.$)(b,{type:"fork",entryId:a})??{};!c&&d&&n?.(d)}catch(a){console.error("Fork failed:",a)}finally{aI(null)}}},[n]),bF=(0,d.useCallback)(async a=>{let d=aY.current,e=R?.info?.cwd??b?.cwd??c??null;if(!d||!e)return{ok:!1,error:"No active session to fork"};if(aZ.current)return{ok:!1,error:"Agent is still running"};try{let b=bo(),c=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,type:"prompt",parentSessionId:d,deferPrompt:!0,toolNames:b,...bm?{provider:bm.provider,modelId:bm.modelId}:{},..."auto"!==az?{thinkingLevel:az}:{}})}),g=await c.json().catch(()=>({}));if(!c.ok||g.error||!g.sessionId)return{ok:!1,error:g.error??`HTTP ${c.status}`};let h=g.sessionId;try{await (0,f.$)(h,{type:"append_message",message:a,customType:"fork_handoff",display:!0})}catch{}return l?.({id:h,path:"",cwd:e,created:new Date().toISOString(),modified:new Date().toISOString(),messageCount:1,firstMessage:a.slice(0,120),parentSessionId:d}),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}},[R?.info?.cwd,b?.cwd,c,bm,az,bo,l]),bG=(0,d.useCallback)(async a=>{let b=aY.current;b&&(a8.current.delete(b),E(b),a9.current=a,Y(a),await by(b,a))},[by]);(0,d.useCallback)(async a=>{a9.current=a,Y(a);let b=aY.current;b&&(a8.current.delete(b),E(b),await by(b,a))},[by]);let bH=(0,d.useCallback)(async(a,b)=>{if(Q)return void bj({provider:a,modelId:b});let c=aY.current;if(c)try{var d;aW(null);let e=await (0,f.$)(c,{type:"set_model",provider:a,modelId:b}),g={provider:e.provider,modelId:e.id};e.thinkingLevel&&(d=e.thinkingLevel,"auto"===d||"off"===d||"minimal"===d||"low"===d||"medium"===d||"high"===d||"xhigh"===d)&&aA(e.thinkingLevel),aK(g),S(a=>a?{...a,context:{...a.context,model:g}}:a)}catch(b){let a=b instanceof Error?b.message:String(b);console.error("Failed to set model:",b),aW(a)}},[Q,bj]),bI=(0,d.useCallback)(async()=>{let a=aY.current;if(a&&!aN){aO(!0),aQ(null),aS(null);try{let b=await (0,f.$)(a,{type:"compact"});b?.reducedBy!=null&&aS(`Compacted ~${b.tokensBefore??"?"} → ~${b.tokensAfter??"?"} tokens (−${b.reducedBy})`),await bu(a,!0)}catch(a){aQ(a instanceof Error?a.message:String(a))}finally{aO(!1)}}},[aN,bu]),bJ=(0,d.useCallback)(async(a,b,c)=>{let d=aY.current;if(!d)return;E(d);let e=bp(c),g=a.trim()?e?`${a}
11
11
 
12
12
  Attached document text:
13
13
 
14
14
  ${e}`:a:e?`Attached document text:
15
15
 
16
- ${e}`:"",h=an.find(a=>a.provider===bj?.provider&&a.id===bj?.modelId)?.input,i=!h||0===h.length||h.includes("image")?b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})):void 0,j={role:"user",content:`[steer] ${g}`,timestamp:Date.now()},k=I(),l=K(g,i?.length??0);a4.current.set(k,{localId:k,sessionId:d,leafId:a7.current,message:j,createdAt:Date.now(),kind:"steer",confirmKey:l,confirmCountAtCreate:l?a5.current.get(l)??0:0}),$(a=>[...a,j]);try{await (0,f.$)(d,{type:"steer",message:g,...i?.length?{images:i}:{}})}catch(a){a4.current.delete(k),console.error("Failed to steer:",a)}},[bm,an,bj]),bF=(0,d.useCallback)(async(a,b,c)=>{let d=aW.current;if(!d)return;E(d);let e=bm(c),g=a.trim()?e?`${a}
16
+ ${e}`:"",h=an.find(a=>a.provider===bm?.provider&&a.id===bm?.modelId)?.input,i=!h||0===h.length||h.includes("image")?b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})):void 0,j={role:"user",content:`[steer] ${g}`,timestamp:Date.now()},k=I(),l=K(g,i?.length??0);a6.current.set(k,{localId:k,sessionId:d,leafId:a9.current,message:j,createdAt:Date.now(),kind:"steer",confirmKey:l,confirmCountAtCreate:l?a7.current.get(l)??0:0}),$(a=>[...a,j]);try{await (0,f.$)(d,{type:"steer",message:g,...i?.length?{images:i}:{}})}catch(a){a6.current.delete(k),console.error("Failed to steer:",a)}},[bp,an,bm]),bK=(0,d.useCallback)(async(a,b,c)=>{let d=aY.current;if(!d)return;E(d);let e=bp(c),g=a.trim()?e?`${a}
17
17
 
18
18
  Attached document text:
19
19
 
20
20
  ${e}`:a:e?`Attached document text:
21
21
 
22
- ${e}`:"",h=an.find(a=>a.provider===bj?.provider&&a.id===bj?.modelId)?.input,i=!h||0===h.length||h.includes("image")?b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})):void 0,j={role:"user",content:g,timestamp:Date.now()},k=I(),l=K(g,i?.length??0);a4.current.set(k,{localId:k,sessionId:d,leafId:a7.current,message:j,createdAt:Date.now(),kind:"follow_up",confirmKey:l,confirmCountAtCreate:l?a5.current.get(l)??0:0}),$(a=>[...a,j]);try{await (0,f.$)(d,{type:"follow_up",message:g,...i?.length?{images:i}:{}})}catch(a){a4.current.delete(k),console.error("Failed to follow up:",a)}},[bm,an,bj]),bG=(0,d.useCallback)(async()=>{let a=aW.current;if(a)try{await (0,f.$)(a,{type:"abort_compaction"})}catch(a){console.error("Failed to abort compaction:",a)}},[]),bH=(0,d.useCallback)(async a=>{if(aA(a),"auto"===a)return;let b=aW.current;if(b)try{await (0,f.$)(b,{type:"set_thinking_level",level:a})}catch(a){console.error("Failed to set thinking level:",a)}},[]),bI=(0,d.useCallback)(async a=>{bh(a);let b=(0,F.tE)(a,ax),c=aW.current;if(c)try{await (0,f.$)(c,{type:"set_tools",toolNames:b})}catch(a){console.error("Failed to set tools:",a)}},[ax,bh]),bJ=(0,d.useCallback)(async a=>{bi(a);let b=(0,F.tE)(av,a),c=aW.current;if(c)try{await (0,f.$)(c,{type:"set_tools",toolNames:b})}catch(a){console.error("Failed to set memory tools:",a)}},[bi,av]);return(0,d.useCallback)((a="smooth")=>{a2.current?.scrollIntoView({behavior:a})},[]),(0,d.useCallback)(()=>{let a=a3.current,b=a0.current;if(!a||!b)return;let c=b.getBoundingClientRect().top-a.getBoundingClientRect().top+a.scrollTop;a.scrollTo({top:c-16,behavior:"smooth"})},[]),{data:R,loading:T,error:V,activeLeafId:X,messages:Z,entryIds:_,streamState:ah,agentRunning:aj,modelNames:al,modelList:an,modelThinkingLevels:ap,modelThinkingLevelMaps:ar,newSessionModel:at,toolPreset:av,memoryTools:ax,thinkingLevel:az,retryInfo:aB,contextUsage:aD,systemPrompt:aF,forkingEntryId:aH,isCompacting:aN,compactError:aP,currentModel:bj,displayModel:bk,sessionStats:bo,agentPhase:aR,agentError:aT,isNew:Q,sessionIdRef:aW,sseReaderRef:aV,messagesEndRef:a2,scrollContainerRef:a3,lastUserMsgRef:a0,pendingScrollToUserRef:a1,initialScrollDoneRef:a_,handleSend:by,handleAbort:bz,handleFork:bA,handleNavigate:bB,handleModelChange:bC,handleCompact:bD,handleSteer:bE,handleFollowUp:bF,handleAbortCompaction:bG,handleToolPresetChange:bI,handleMemoryToolsChange:bJ,handleThinkingLevelChange:bH,loadTools:bv,setActiveLeafId:Y,setData:S,setMessages:$,dispatch:ai,setAgentRunning:ak,setForkingEntryId:aI,loadMoreMessages:bt,hasMoreMessages:ad,totalMessages:ab,loadedMessagesCount:af,handleAgentEventRef:aY}}},37267:(a,b,c)=>{c.d(b,{$:()=>e,H:()=>d});class d extends Error{constructor(a,b,c){super(a),this.status=b,this.code=c,this.name="AgentCommandError"}}async function e(a,b){let c=await fetch(`/api/agent/${encodeURIComponent(a)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),e=await c.json().catch(()=>({}));if(!c.ok||e.error)throw new d(e.error??`HTTP ${c.status}`,c.status,e.code);return e.data}},81537:(a,b,c)=>{c.d(b,{O:()=>k});let d=new Set,e=null,f=null,g=null,h=null,i=null,j=!1;function k(a){return d.add(a),e&&a(e),()=>{if(d.delete(a),0===d.size&&j){if(j=!1,h&&clearTimeout(h),h=null,g&&(clearInterval(g),g=null),i?.(),i=null,f){try{f.port.postMessage({type:"disconnect"})}catch{}try{f.port.close()}catch{}}f=null,e=null}}}}};
22
+ ${e}`:"",h=an.find(a=>a.provider===bm?.provider&&a.id===bm?.modelId)?.input,i=!h||0===h.length||h.includes("image")?b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})):void 0,j={role:"user",content:g,timestamp:Date.now()},k=I(),l=K(g,i?.length??0);a6.current.set(k,{localId:k,sessionId:d,leafId:a9.current,message:j,createdAt:Date.now(),kind:"follow_up",confirmKey:l,confirmCountAtCreate:l?a7.current.get(l)??0:0}),$(a=>[...a,j]);try{await (0,f.$)(d,{type:"follow_up",message:g,...i?.length?{images:i}:{}})}catch(a){a6.current.delete(k),console.error("Failed to follow up:",a)}},[bp,an,bm]),bL=(0,d.useCallback)(async()=>{let a=aY.current;if(a)try{await (0,f.$)(a,{type:"abort_compaction"})}catch(a){console.error("Failed to abort compaction:",a)}},[]),bM=(0,d.useCallback)(async a=>{if(aA(a),"auto"===a)return;let b=aY.current;if(b)try{await (0,f.$)(b,{type:"set_thinking_level",level:a})}catch(a){console.error("Failed to set thinking level:",a)}},[]),bN=(0,d.useCallback)(async a=>{bk(a);let b=(0,F.tE)(a,ax),c=aY.current;if(c)try{await (0,f.$)(c,{type:"set_tools",toolNames:b})}catch(a){console.error("Failed to set tools:",a)}},[ax,bk]),bO=(0,d.useCallback)(async a=>{bl(a);let b=(0,F.tE)(av,a),c=aY.current;if(c)try{await (0,f.$)(c,{type:"set_tools",toolNames:b})}catch(a){console.error("Failed to set memory tools:",a)}},[bl,av]);return(0,d.useCallback)((a="smooth")=>{a4.current?.scrollIntoView({behavior:a})},[]),(0,d.useCallback)(()=>{let a=a5.current,b=a2.current;if(!a||!b)return;let c=b.getBoundingClientRect().top-a.getBoundingClientRect().top+a.scrollTop;a.scrollTo({top:c-16,behavior:"smooth"})},[]),{data:R,loading:T,error:V,activeLeafId:X,messages:Z,entryIds:_,streamState:ah,agentRunning:aj,modelNames:al,modelList:an,modelThinkingLevels:ap,modelThinkingLevelMaps:ar,newSessionModel:at,toolPreset:av,memoryTools:ax,thinkingLevel:az,retryInfo:aB,contextUsage:aD,systemPrompt:aF,forkingEntryId:aH,isCompacting:aN,compactError:aP,compactInfo:aR,currentModel:bm,displayModel:bn,sessionStats:br,agentPhase:aT,agentError:aV,isNew:Q,sessionIdRef:aY,sseReaderRef:aX,messagesEndRef:a4,scrollContainerRef:a5,lastUserMsgRef:a2,pendingScrollToUserRef:a3,initialScrollDoneRef:a1,handleSend:bC,handleAbort:bD,handleFork:bE,handleNavigate:bG,handleModelChange:bH,handleCompact:bI,handleSteer:bJ,handleFollowUp:bK,handleAbortCompaction:bL,handleToolPresetChange:bN,handleMemoryToolsChange:bO,handleThinkingLevelChange:bM,loadTools:bz,setActiveLeafId:Y,setData:S,setMessages:$,dispatch:ai,setAgentRunning:ak,setForkingEntryId:aI,forkToNewSession:bF,loadMoreMessages:bw,hasMoreMessages:ad,totalMessages:ab,loadedMessagesCount:af,loadShadowedMessages:bx,handleAgentEventRef:a$}}},37267:(a,b,c)=>{c.d(b,{$:()=>e,H:()=>d});class d extends Error{constructor(a,b,c){super(a),this.status=b,this.code=c,this.name="AgentCommandError"}}async function e(a,b){let c=await fetch(`/api/agent/${encodeURIComponent(a)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),e=await c.json().catch(()=>({}));if(!c.ok||e.error)throw new d(e.error??`HTTP ${c.status}`,c.status,e.code);return e.data}},81537:(a,b,c)=>{c.d(b,{O:()=>k});let d=new Set,e=null,f=null,g=null,h=null,i=null,j=!1;function k(a){return d.add(a),e&&a(e),()=>{if(d.delete(a),0===d.size&&j){if(j=!1,h&&clearTimeout(h),h=null,g&&(clearInterval(g),g=null),i?.(),i=null,f){try{f.port.postMessage({type:"disconnect"})}catch{}try{f.port.close()}catch{}}f=null,e=null}}}}};
@@ -257,4 +257,4 @@ ${a}
257
257
  ${a}
258
258
  ${d}`;(0,p.D)(e).then(()=>{s(!0),setTimeout(()=>s(!1),1500)})},title:"Copy as Markdown fence",ariaLabel:"Copy as Markdown fence",label:"markdown",activeLabel:"md copied",active:r}),(0,d.jsx)(m.Mi,{onClick:()=>{(0,p.D)(a).then(()=>{n(!0),setTimeout(()=>n(!1),1500)})},ariaLabel:"Copy code",label:"copy",activeLabel:"copied",active:l})]})}),(0,d.jsx)(m.oG,{totalLines:u,children:w})]})}function r({chart:a}){let{isDark:b}=(0,l.D)(),[c,f]=(0,e.useState)(null),[g,h]=(0,e.useState)(null);return((0,e.useRef)(`mermaid-${Math.random().toString(36).slice(2)}`),g)?(0,d.jsxs)("div",{className:"mermaid-diagram mermaid-diagram-error",children:[(0,d.jsx)("div",{className:"mermaid-diagram-error-title",children:"Mermaid render failed"}),(0,d.jsx)("div",{className:"mermaid-diagram-error-message",children:g}),(0,d.jsx)("pre",{children:a})]}):(0,d.jsx)("div",{className:"mermaid-diagram",children:c?(0,d.jsx)("div",{className:"mermaid-diagram-canvas",dangerouslySetInnerHTML:{__html:c}}):(0,d.jsx)("div",{className:"mermaid-diagram-loading",children:"Rendering diagram..."})})}var s=c(31218),t=c(52515);function u({code:a,onAcceptDiff:b,agentRunning:c}){let f=(0,e.useMemo)(()=>(function(a){let b=a.split("\n"),c=[],d=null,e=1;for(let a of b){let b=/^\+\+\+ [ab]\/(.+)/.exec(a);if(b){d=b[1];continue}if(/^@@ /.test(a)){let b=/@@ -\d+(?:,\d+)? \+(\d+)/.exec(a);b&&(e=parseInt(b[1],10));continue}/^--- /.test(a)||(a.startsWith("+")&&!a.startsWith("+++")?c.push({type:"added",text:a.slice(1),lineNo:e++}):a.startsWith("-")&&!a.startsWith("---")?c.push({type:"removed",text:a.slice(1),lineNo:0}):a.startsWith(" ")?c.push({type:"unchanged",text:a.slice(1),lineNo:e++}):c.push({type:"unchanged",text:a,lineNo:e++}))}return{lines:c,filePath:d}})(a),[a]),g=(0,e.useMemo)(()=>(function(a){let b=0,c=0;for(let d of a)"added"===d.type&&b++,"removed"===d.type&&c++;return{added:b,removed:c}})(f.lines),[f.lines]);return(0,d.jsxs)(m.NG,{className:"markdown-code-block markdown-code-block-chat",style:{marginTop:4,marginBottom:4},children:[(0,d.jsx)(m.iO,{title:(0,d.jsxs)("span",{children:["diff ",f.filePath&&(0,d.jsx)("span",{style:{opacity:.7},children:f.filePath})," ",(0,d.jsxs)("span",{style:{color:"var(--text-dim)",fontWeight:400},children:["(",(0,d.jsxs)("span",{style:{color:"#16a34a"},children:["+",g.added]})," /"," ",(0,d.jsxs)("span",{style:{color:"#dc2626"},children:["-",g.removed]}),")"]})]}),actions:b&&!c?(0,d.jsx)(m.Mi,{onClick:()=>b(a,f.filePath),title:"Ask the agent to apply this diff",ariaLabel:"Ask the agent to apply this diff",label:"apply",activeLabel:"apply",active:!1}):void 0}),(0,d.jsx)(t.pg,{diff:f.lines,emptyLabel:"No changes detected"})]})}let v=new Set,w=new Map,x=null;function y(){return x||(x=Promise.resolve().then(c.bind(c,78908)).then(a=>{if(0===v.size){for(let b of Object.keys(a.bundledLanguages??{}))v.add(b.toLowerCase());for(let b of a.bundledLanguagesInfo??[]){let a=b.id.toLowerCase();for(let c of b.aliases??[])w.set(c.toLowerCase(),a)}}return a})),x}var z=c(7952),A=c(31343);function B(a){return a?.replace(/^language-/,"").trim()??""}function C(a){return/^[a-z][a-z\d+.-]*:/i.test(a)||a.startsWith("//")}function D(a,b,c){let d;if(!c||c.startsWith("#")||C(c))return null;let e=(d=/^([^?#]*)(.*)$/.exec(c),d?.[1]??c);if(!e)return null;let f=function(a){try{return decodeURI(a)}catch{return a}}(e);return(0,A.HR)(f,b,a)}function E(a){return`/api/files/${(0,A.HG)(a)}?type=read`}function F({value:a,baseFilePath:b,cwd:c,onOpenLocalFile:e,onOpenFileAtLine:f}){let g=(0,d.jsx)("code",{style:{background:"var(--bg-selected)",padding:"1px 4px",borderRadius:3,fontFamily:"var(--font-mono)",fontSize:"0.9em"},children:a});return/^(?:\.{1,2}\/|\/|~\/|[\w@.-]+\/)[\w@./+-]+\.[A-Za-z0-9]{1,12}:\d+$/.test(a.trim())?(0,d.jsx)(I,{href:a,baseFilePath:b,cwd:c,onOpenLocalFile:e,onOpenFileAtLine:f,style:{textDecoration:"none"},children:g}):g}function G(a){let b=/^\s*!\[([^\]]*)\]\((.+)\)\s*$/.exec(a);if(!b)return null;let c=b[2]?.trim()??"";if(!c)return null;let d=/^(.+?)\s+(?:"[^"]*"|'[^']*')\s*$/.exec(c);return{alt:b[1]?.trim()||void 0,src:(d?.[1]??c).trim()}}function H({items:a,baseFilePath:b,cwd:c,onOpenLocalFile:e}){let f=1===a.length;return(0,d.jsx)("div",{className:"report-image-gallery",style:{display:"grid",gridTemplateColumns:f?"minmax(0, 1fr)":"repeat(auto-fit, minmax(min(100%, 240px), 1fr))",gap:12,margin:"16px 0"},children:a.map((a,g)=>{let h=D(b,c,a.src),i=h?E(h):a.src,j=a.alt??a.caption??`Figure ${g+1}`,k=(0,d.jsx)("img",{src:i,alt:j,loading:"lazy",title:h??a.src,style:{display:"block",width:"100%",maxHeight:f?520:340,objectFit:"contain",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)"}});return(0,d.jsxs)("figure",{style:{margin:0,minWidth:0},children:[h&&e?(0,d.jsx)("button",{type:"button",onClick:()=>e(h,(0,A.WP)(h)),title:`Open ${h}`,style:{display:"block",width:"100%",padding:0,border:"none",background:"none",cursor:"zoom-in"},children:k}):k,a.caption&&(0,d.jsx)("figcaption",{style:{marginTop:6,color:"var(--text-muted)",fontSize:12,lineHeight:1.45},children:a.caption})]},`${a.src}-${g}`)})})}function I({href:a,children:b,baseFilePath:c,cwd:e,onOpenLocalFile:f,onOpenFileAtLine:g,title:h,...i}){let j=a?/^(.*):(\d+)$/.exec(a.replace(/[?#].*$/,"")):null,k=j?j[1]:a,l=j?parseInt(j[2],10):void 0,m=D(c,e,k),n=!!m,o=!!a&&C(a),p=m&&l?`${E(m)}#L${l}`:n?E(m):a;return(0,d.jsx)("a",{...i,href:p,target:o?"_blank":void 0,rel:o?"noreferrer":void 0,onClick:a=>{if(!m)return;a.preventDefault();let b=(0,A.WP)(m);g?g(m,b,l):f&&f(m,b)},title:n?m:h,children:b})}function J({src:a,alt:b,title:c,baseFilePath:e,cwd:f,onOpenLocalFile:g,...h}){let i="string"==typeof a?a:void 0,j=D(e,f,i),k=j?E(j):i,l=(0,d.jsx)("img",{...h,src:k,alt:b??"",loading:"lazy",title:j??c,style:{...h.style??{},cursor:k?"zoom-in":h.style?.cursor}});return k?(0,d.jsx)("a",{href:k,target:"_blank",rel:"noreferrer",title:j??c??"Open image",style:{display:"inline-block",maxWidth:"100%"},onClick:a=>{j&&g&&(a.preventDefault(),g(j,(0,A.WP)(j)))},children:l}):l}function K({code:a,language:b,variant:c,isStreaming:e=!1,baseFilePath:f,cwd:g,onOpenLocalFile:h,onWidgetSendMessage:i,renderVisualCodeBlocks:j=!1,testAsyncCodeDelayMs:k=0,activeFilePath:l,agentRunning:m,onApplyToFile:n,onRunCode:o,onAcceptDiff:p}){let t,v,w,x;if("mermaid"===(t=b.trim().toLowerCase())||"mmd"===t)return(0,d.jsx)(r,{chart:a});if("diff"===(v=b.trim().toLowerCase())||"patch"===v||"unified-diff"===v)return(0,d.jsx)(u,{code:a,onAcceptDiff:p,agentRunning:m});if("show-widget"===b.trim().toLowerCase()){let b,c=(b=(0,z.aH)(`\`\`\`show-widget
259
259
  ${a}
260
- \`\`\``).find(a=>"widget"===a.type),b?.type==="widget"?{title:b.title,code:b.code}:null);if(c)return(0,d.jsx)(s.u,{code:c.code,isStreaming:!1,title:c.title,onSendMessage:i})}if("report-gallery"===b.trim().toLowerCase()){let b=function(a){try{let b=JSON.parse(a);if(!Array.isArray(b))return null;let c=b.flatMap(a=>a&&"object"==typeof a&&"string"==typeof a.src&&a.src.trim()?[{src:a.src.trim(),alt:"string"==typeof a.alt&&a.alt.trim()?a.alt.trim():void 0,caption:"string"==typeof a.caption&&a.caption.trim()?a.caption.trim():void 0}]:[]);return c.length>0?c.slice(0,12):null}catch{return null}}(a);if(b)return(0,d.jsx)(H,{items:b,baseFilePath:f,cwd:g,onOpenLocalFile:h})}return j&&(w=b.trim().toLowerCase(),(x=a.trim())&&("svg"===w||"xml"===w&&/^<svg[\s>]/i.test(x)?/^<svg[\s>]/i.test(x):!("html"!==w||/<!doctype|<html[\s>]|<head[\s>]|<body[\s>]/i.test(x))&&/^<(style|svg|div|section|article|main|figure|canvas)\b/i.test(x)))?(0,d.jsx)(s.u,{code:a,isStreaming:!1,title:`${b||"visual"} preview`,onSendMessage:i}):(0,d.jsx)(q,{code:a,language:b,variant:c,isStreaming:e,testAsyncDelayMs:k,activeFilePath:l,agentRunning:m,onApplyToFile:n,onRunCode:o})}function L({children:a,className:b,node:c,baseFilePath:e,cwd:f,onOpenLocalFile:g,onWidgetSendMessage:h,renderVisualCodeBlocks:i=!1,isStreaming:j=!1,testAsyncCodeDelayMs:k=0,activeFilePath:l,agentRunning:m,onApplyToFile:n,onRunCode:o,onOpenFileAtLine:p,onAcceptDiff:q,...r}){let s=("string"==typeof a?a:Array.isArray(a)?a.map(a=>"string"==typeof a?a:"").join(""):"").replace(/\n$/,""),t=B(b);return"data-block"in r?(0,d.jsx)(K,{code:s,language:t,variant:"chat",isStreaming:j||!!r["data-incomplete"],baseFilePath:e,cwd:f,onOpenLocalFile:g,onWidgetSendMessage:h,renderVisualCodeBlocks:i,testAsyncCodeDelayMs:k,activeFilePath:l,agentRunning:m,onApplyToFile:n,onRunCode:o,onAcceptDiff:q}):(0,d.jsx)(F,{value:s,baseFilePath:e,cwd:f,onOpenLocalFile:g,onOpenFileAtLine:p})}function M({content:a,className:b="markdown-body",style:c,codeBlockVariant:m="chat",baseFilePath:o,cwd:p,onOpenLocalFile:q,onWidgetSendMessage:r,renderVisualCodeBlocks:s=!1,enableImageGallery:t=!1,isStreaming:u=!1,renderer:x="react-markdown",testAsyncCodeDelayMs:z=0,activeFilePath:A,agentRunning:C,onApplyToFile:D,onRunCode:E,onOpenFileAtLine:H,onAcceptDiff:N}){let O,P,{isDark:Q}=(0,l.D)(),R=t?function(a){let b=a.split("\n"),c=[],d=0;for(;d<b.length;){if(!G(b[d])){c.push(b[d]),d+=1;continue}let a=[],e=d;for(;e<b.length;){let c=G(b[e]);if(!c)break;let d=e+1,f=d;for(;f<b.length&&!b[f].trim();)f+=1;let g=f<b.length?function(a){let b=/^\s*(?:_([^_]+)_|\*([^*]+)\*)\s*$/.exec(a);return(b?.[1]??b?.[2]??"").trim()||null}(b[f]):null;g&&(c.caption=g,d=f+1),a.push(c);let h=d;for(;h<b.length&&!b[h].trim();)h+=1;if(!G(b[h])){e=d;break}e=h}if(a.length>1||a.some(a=>a.caption)){c.push(["```report-gallery",JSON.stringify(a,null,2),"```"].join("\n")),d=e;continue}c.push(b[d]),d+=1}return c.join("\n")}(a):a,S=H?(O=R.split("\n"),P=!1,O.map(a=>/^\s*(```|~~~)/.test(a)?(P=!P,a):P||/\]\([^)]*$/.test(a)?a:a.replace(/(^|[\s([{"'])((?:\.{1,2}\/|\/|~\/|[\w@.-]+\/)[\w@./+-]+\.[A-Za-z0-9]{1,12}:\d+)\b/g,(a,b,c)=>`${b}[${c}](${c})`)).join("\n")):R,T=(0,e.useMemo)(()=>u?{cjk:i.h,math:j.D,mermaid:k.a}:{cjk:i.h,math:j.D,mermaid:k.a,code:function(a,b=[n.cx,n.aU]){return y(),{name:"shiki",type:"code-highlighter",getSupportedLanguages:()=>[...v],getThemes:()=>b,supportsLanguage(a){let b;return 0===v.size||null!==((b=a.trim().toLowerCase())?v.has(b)?b:w.get(b)??null:null)},highlight(b,c){let d=b.language,e=(0,n.wY)(b.code,d,a,a=>{c?.({tokens:a.tokens,bg:a.bg,fg:a.fg})});return e?{tokens:e.tokens,bg:e.bg,fg:e.fg}:(y(),null)}}}(Q)},[Q,u]);return"streamdown"!==x||o||t?(0,d.jsx)("div",{className:b,style:c,children:(0,d.jsx)(f.oz,{remarkPlugins:[g.A],components:{code({className:a,children:b,node:c}){let e=B(a),f=String(b),g=f.replace(/\n$/,"");return a?.includes("language-")||f.includes("\n")?(0,d.jsx)(K,{code:g,language:e,variant:m,isStreaming:u,baseFilePath:o,cwd:p,onOpenLocalFile:q,onWidgetSendMessage:r,renderVisualCodeBlocks:s,testAsyncCodeDelayMs:z,activeFilePath:A,agentRunning:C,onApplyToFile:D,onRunCode:E,onAcceptDiff:N}):(0,d.jsx)(F,{value:g,baseFilePath:o,cwd:p,onOpenLocalFile:q,onOpenFileAtLine:H})},pre:({children:a})=>(0,d.jsx)(d.Fragment,{children:a}),a:({href:a,children:b,node:c,...e})=>(0,d.jsx)(I,{...e,href:a,baseFilePath:o,cwd:p,onOpenLocalFile:q,onOpenFileAtLine:H,children:b}),img:({src:a,alt:b,node:c,...e})=>(0,d.jsx)(J,{...e,src:a,alt:b,baseFilePath:o,cwd:p,onOpenLocalFile:q})},children:S})}):(0,d.jsx)("div",{className:b,style:c,children:(0,d.jsx)(h.jH,{mode:u?"streaming":"static",isAnimating:!!u,plugins:T,components:{code:({children:a,className:b,node:c,...e})=>(0,d.jsx)(L,{...e,node:c,className:b,baseFilePath:o,cwd:p,onOpenLocalFile:q,onWidgetSendMessage:r,renderVisualCodeBlocks:s,isStreaming:u,testAsyncCodeDelayMs:z,activeFilePath:A,agentRunning:C,onApplyToFile:D,onRunCode:E,onOpenFileAtLine:H,onAcceptDiff:N,children:a}),a:({href:a,children:b,node:c,...e})=>(0,d.jsx)(I,{...e,href:a,baseFilePath:o,cwd:p,onOpenLocalFile:q,onOpenFileAtLine:H,children:b}),img:({src:a,alt:b,node:c,...e})=>(0,d.jsx)(J,{...e,src:a,alt:b,baseFilePath:o,cwd:p,onOpenLocalFile:q})},children:S})})}},51810:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23))},52515:(a,b,c)=>{"use strict";c.d(b,{K$:()=>h,Ph:()=>g,Tg:()=>m,fj:()=>f,mK:()=>i,ml:()=>j,nG:()=>k,pg:()=>l,v7:()=>e});var d=c(48249);function e(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}function f({children:a,style:b}){return(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden",...b},children:a})}function g({children:a,style:b}){return(0,d.jsx)("div",{style:{flex:1,overflow:"auto",background:"var(--bg)",...b},children:a})}function h({pathLabel:a,title:b,trailing:c,style:e}){return(0,d.jsxs)("div",{"data-file-viewer-surface":"status-bar",style:{display:"flex",alignItems:"center",gap:12,padding:"4px 16px",borderBottom:"1px solid var(--border)",fontSize:11,color:"var(--text-dim)",background:"var(--bg)",flexShrink:0,...e},children:[(0,d.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)"},title:b??a,children:a}),c]})}function i({watching:a}){return(0,d.jsxs)("span",{title:a?"Live sync active":"Not watching",style:{display:"flex",alignItems:"center",gap:4,color:a?"#4ade80":"var(--text-dim)"},children:[(0,d.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:a?"#4ade80":"var(--border)",display:"inline-block",boxShadow:a?"0 0 4px #4ade80":"none"}}),a?"live":"static"]})}function j({children:a,onClick:b,title:c,disabled:e=!1,active:f=!1,emphasis:g="default",style:h}){let i="primary"==g,k="danger"==g;return(0,d.jsx)("button",{"data-file-viewer-surface":"toolbar-button",onClick:b,disabled:e,title:c,style:{padding:"2px 10px",fontSize:11,cursor:e?"not-allowed":"pointer",background:i?"var(--accent)":k?"rgba(239,68,68,0.1)":f?"var(--bg-selected)":"var(--bg-hover)",color:i?"#fff":k?"#ef4444":f?"var(--text)":"var(--text-muted)",border:`1px solid ${i?"var(--accent)":k?"rgba(239,68,68,0.3)":"var(--border)"}`,borderRadius:5,fontWeight:f||i||k?600:400,opacity:e?.6:1,...h},children:a})}function k({children:a,tone:b="muted",style:c}){return(0,d.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",padding:24,color:"error"===b?"#f87171":"var(--text-muted)",fontSize:13,textAlign:"center",...c},children:a})}function l({diff:a,emptyLabel:b="No changes"}){if(!a.some(a=>"unchanged"!==a.type))return(0,d.jsx)("div",{style:{padding:"12px 16px",fontSize:12,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:b});let c=new Set(a.flatMap((a,b)=>"unchanged"!==a.type?[b]:[])),e=new Set;for(let b of c)for(let c=Math.max(0,b-3);c<=Math.min(a.length-1,b+3);c++)e.add(c);let f=[],g=0;for(;g<a.length;)if(e.has(g)){let b=[];for(;g<a.length&&e.has(g);)b.push(a[g]),g++;f.push({hidden:!1,lines:b})}else{let b=0;for(;g<a.length&&!e.has(g);)b++,g++;f.push({hidden:!0,count:b})}let h=[],i=1;for(let b of a)"removed"===b.type?h.push(0):h.push(i++);let j=0;return(0,d.jsx)("div",{style:{fontFamily:"var(--font-mono)",fontSize:13,lineHeight:1.6},children:f.map((a,b)=>{if(a.hidden){let c=(0,d.jsxs)("div",{style:{padding:"2px 16px",color:"var(--text-dim)",background:"var(--bg-panel)",fontSize:11,borderTop:"1px solid var(--border)",borderBottom:"1px solid var(--border)"},children:["... ",a.count," unchanged lines ..."]},b);return j+=a.count,c}let c=a.lines.map((a,b)=>{let c=h[j+b],e="added"===a.type?"rgba(0,200,80,0.12)":"removed"===a.type?"rgba(240,60,60,0.14)":"transparent",f="added"===a.type?"+":"removed"===a.type?"-":" ",g="added"===a.type?"#4ade80":"removed"===a.type?"#f87171":"var(--text-dim)";return(0,d.jsxs)("div",{style:{display:"flex",background:e,borderLeft:"added"===a.type?"3px solid #4ade80":"removed"===a.type?"3px solid #f87171":"3px solid transparent"},children:[(0,d.jsx)("span",{style:{minWidth:44,padding:"0 8px 0 16px",textAlign:"right",color:"var(--text-dim)",userSelect:"none",fontSize:11,lineHeight:1.6,borderRight:"1px solid var(--border)",background:"var(--bg-panel)",flexShrink:0},children:"removed"===a.type?a.lineNo:c||""}),(0,d.jsx)("span",{style:{minWidth:16,padding:"0 6px",color:g,userSelect:"none",flexShrink:0,fontWeight:600},children:f}),(0,d.jsx)("span",{style:{flex:1,padding:"0 8px 0 0",whiteSpace:"pre",color:"var(--text)",overflowX:"auto"},children:a.text||"\xa0"})]},b)});return j+=a.lines.length,(0,d.jsx)("div",{children:c},b)})})}function m({options:a}){return(0,d.jsx)("div",{"data-file-viewer-surface":"segmented-toggle",style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:a.map((a,b)=>(0,d.jsx)("button",{onClick:a.onClick,style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:0===b?"none":"1px solid var(--border)",cursor:"pointer",background:a.active?"var(--bg-selected)":"var(--bg-hover)",color:a.active?"var(--text)":"var(--text-muted)",fontWeight:a.active?600:400},children:a.label},a.key))})}},54097:(a,b,c)=>{"use strict";c.d(b,{p:()=>f,t:()=>e});var d=c(48249);function e({children:a,style:b,kind:c}){return(0,d.jsx)("div",{"data-disclosure-surface":"panel","data-disclosure-kind":c,style:{border:"1px solid var(--border)",borderRadius:6,overflow:"hidden",background:"var(--bg-panel)",...b},children:a})}function f({children:a,style:b}){return(0,d.jsx)("div",{"data-disclosure-surface":"body",style:{borderTop:"1px solid var(--border)",...b},children:a})}},57703:(a,b,c)=>{"use strict";c.d(b,{V:()=>h});var d=c(48249),e=c(6954),f=c(40648),g=c(41044);function h({expanded:a,onToggle:b,status:c,title:i,summary:j,durationLabel:k,leading:l,titleTooltip:m,summaryTooltip:n,buttonStyle:o,titleStyle:p,summaryStyle:q,durationStyle:r}){return(0,d.jsxs)(e.R,{expanded:a,onToggle:b,buttonStyle:o,children:[l,(0,d.jsx)("span",{title:m??i,style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",fontWeight:600,fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flexShrink:+!j,minWidth:0,flex:j?void 0:1,...p},children:"running"===c?(0,d.jsx)(f.n,{children:i}):i}),j?(0,d.jsx)("span",{title:n??j,style:{color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,minWidth:0,...q},children:"running"===c?(0,d.jsx)(f.n,{children:j}):j}):(0,d.jsx)("span",{style:{flex:1,minWidth:0}}),(0,d.jsx)(g.U1,{status:c}),k?(0,d.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",fontVariantNumeric:"tabular-nums",flexShrink:0,...r},children:k}):null]})}},60125:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,33071,23))},62418:(a,b,c)=>{"use strict";c.d(b,{D:()=>O});var d=c(48249),e=c(67484),f=c(51415),g=c(40648),h=c(73383),i=c(8033),j=c(41044),k=c(129),l=c(31218),m=c(7952);function n({block:a,toolResults:b,isStreaming:c,streamingDuration:e,toolCallDurations:f,onSendMessage:g,renderVisualCodeBlocks:h,cwd:i,activeFilePath:j,agentRunning:l,onApplyToFile:m,onRunCode:p,onOpenFileAtLine:q,onAcceptDiff:t}){if("text"===a.type)return(0,d.jsx)(o,{block:a,isStreaming:c,onSendMessage:g,renderVisualCodeBlocks:h,cwd:i,activeFilePath:j,agentRunning:l,onApplyToFile:m,onRunCode:p,onOpenFileAtLine:q,onAcceptDiff:t});if("image"===a.type)return(0,d.jsx)(k.O7,{images:[a]});if("thinking"===a.type)return(0,d.jsx)(r,{block:a,duration:e,isStreaming:c});let u=b?.get(a.toolCallId),v=f?.get(a.toolCallId);return(0,d.jsx)(s,{block:a,result:u,duration:v,isStreaming:c,cwd:i})}function o({block:a,isStreaming:b,onSendMessage:c,renderVisualCodeBlocks:e,cwd:f,activeFilePath:g,agentRunning:h,onApplyToFile:i,onRunCode:j,onOpenFileAtLine:k,onAcceptDiff:n}){let r=a.text,s=(0,m.aH)(r);if(!s.some(a=>"widget"===a.type)){if(b&&(0,m.qk)(r)){let a=s.filter(a=>"text"===a.type).map(a=>a.content).join("\n\n");return(0,d.jsxs)(d.Fragment,{children:[a&&(0,d.jsx)(p,{text:a,isStreaming:b,onSendMessage:c,renderVisualCodeBlocks:e,cwd:f,activeFilePath:g,agentRunning:h,onApplyToFile:i,onRunCode:j,onOpenFileAtLine:k,onAcceptDiff:n}),(0,d.jsx)(q,{})]})}return(0,d.jsx)(p,{text:r,isStreaming:b,onSendMessage:c,renderVisualCodeBlocks:e,cwd:f,activeFilePath:g,agentRunning:h,onApplyToFile:i,onRunCode:j,onOpenFileAtLine:k,onAcceptDiff:n})}return(0,d.jsx)(d.Fragment,{children:s.map((a,m)=>"text"===a.type?(0,d.jsx)(p,{text:a.content,isStreaming:b,onSendMessage:c,renderVisualCodeBlocks:e,cwd:f,activeFilePath:g,agentRunning:h,onApplyToFile:i,onRunCode:j,onOpenFileAtLine:k,onAcceptDiff:n},m):(0,d.jsx)(l.u,{code:a.code,isStreaming:!!a.partial,title:a.title,showOverlay:a.showOverlay,onSendMessage:c},m))})}function p({text:a,isStreaming:b,onSendMessage:c,renderVisualCodeBlocks:g,cwd:h,activeFilePath:i,agentRunning:j,onApplyToFile:l,onRunCode:m,onOpenFileAtLine:n,onAcceptDiff:o}){let q=(0,e.useMemo)(()=>(0,k.qn)(a,h),[h,a]);return(0,d.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8*(q.length>0)},children:[(0,d.jsx)(f.T,{content:a,cwd:h,onWidgetSendMessage:c,renderVisualCodeBlocks:g,isStreaming:b,renderer:"streamdown",activeFilePath:i,agentRunning:j,onApplyToFile:l,onRunCode:m,onOpenFileAtLine:n,onAcceptDiff:o}),q.length>0&&(0,d.jsx)(k.eR,{imagePaths:q})]})}function q(){return(0,d.jsx)(g.r,{height:88,style:{border:"1px solid var(--border)"}})}function r({block:a,duration:b,isStreaming:c}){return(0,d.jsx)(h.pm,{content:a.thinking,durationLabel:void 0!==b?`${b}s`:null,isStreaming:c,buttonStyle:{width:"100%",padding:"6px 10px",fontSize:12},containerStyle:{fontSize:13},contentStyle:{background:"var(--bg-panel)"}})}function s({block:a,result:b,duration:c,isStreaming:e,cwd:f}){let g=(0,j.s2)(b,e),h=(0,j.Gb)(g),k="bash"===a.toolName;return(0,d.jsx)(i.Dm,{tool:a,result:b,status:g,durationLabel:void 0!==c?`${c}s`:null,cwd:f,titleStyle:{color:h},collapsedPreviewBackground:`color-mix(in srgb, ${h} 5%, transparent)`,buttonStyle:{display:"flex",alignItems:"center",gap:7,width:"100%",padding:"6px 10px",background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:12,textAlign:"left",minWidth:0},containerStyle:{border:`1px solid color-mix(in srgb, ${h} 38%, transparent)`,background:`color-mix(in srgb, ${h} 8%, transparent)`},notebookStyle:k})}var t=c(39868);function u(a=768){let[b,c]=(0,e.useState)(!1);return b}function v({children:a,hovered:b,onHoverChange:c,style:e}){return(0,d.jsx)("div",{style:e,onMouseEnter:()=>c?.(!0),onMouseLeave:()=>c?.(!1),"data-message-hovered":b?"true":"false",children:a})}function w({children:a,justify:b="flex-start",style:c}){let e=u();return(0,d.jsx)("div",{"data-message-surface":"footer",style:{display:"flex",alignItems:"center",justifyContent:b,gap:e?4:6,marginTop:4,...c},children:a})}function x({children:a,alignEnd:b=!1,style:c}){return(0,d.jsx)("span",{"data-message-surface":"timestamp",style:{fontSize:10,color:"var(--text-dim)",marginLeft:b?"auto":void 0,...c},children:a})}function y({children:a,visible:b,style:c}){return(0,d.jsx)("div",{style:{display:"flex",gap:3,opacity:+!!b,pointerEvents:b?"auto":"none",transition:"opacity 0.12s",...c},children:a})}function z({children:a,onClick:b,disabled:c=!1,title:e,active:f=!1,style:g,onMouseEnterColor:h="var(--accent)",onMouseLeaveColor:i="var(--text-dim)",iconOnlyOnMobile:j=!1}){let k=u();return(0,d.jsx)("button",{onClick:b,disabled:c,title:e,style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",height:22,background:"none",border:"none",borderRadius:5,color:f?"var(--accent)":"var(--text-dim)",cursor:c?"not-allowed":"pointer",fontSize:11,fontWeight:400,whiteSpace:"nowrap",transition:"color 0.12s",...g},onMouseEnter:a=>{c||(a.currentTarget.style.color=h)},onMouseLeave:a=>{c||(a.currentTarget.style.color=i)},children:j&&k&&Array.isArray(a)?a[0]:a})}function A({children:a,hovered:b,onHoverChange:c}){let e=u();return(0,d.jsx)(v,{hovered:b,onHoverChange:c,style:{marginBottom:e?12:16,display:"flex",flexDirection:"column",alignItems:"flex-end"},children:a})}function B({children:a}){let b=u();return(0,d.jsx)("div",{style:{display:"flex",alignItems:"flex-end",gap:b?4:6,maxWidth:b?"92%":"85%"},children:(0,d.jsx)("div",{style:{flex:1,minWidth:0,background:"var(--user-bg)",border:"1px solid rgba(59,130,246,0.2)",borderRadius:12,padding:b?"7px 10px":"8px 12px",fontSize:14,lineHeight:1.6,color:"var(--text)",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:a})})}function C({children:a,hasBody:b=!1}){let c=u();return(0,d.jsx)("div",{style:{display:"flex",gap:c?4:6,flexWrap:"wrap",marginBottom:b?c?6:8:0},children:a})}function D({children:a,hovered:b,onHoverChange:c}){let e=u();return(0,d.jsx)(v,{hovered:b,onHoverChange:c,style:{marginBottom:e?12:16},children:a})}function E({children:a}){let b=u();return(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:b?6:8},children:a})}function F({children:a,accent:b="default"}){let c="subagent"===b;return(0,d.jsx)("div",{"data-message-surface":"custom-card","data-message-accent":b,style:{padding:"8px 14px",borderRadius:8,border:`1px solid ${c?"rgba(99,102,241,0.25)":"var(--border)"}`,background:c?"rgba(99,102,241,0.05)":"var(--bg-panel)",fontSize:13,lineHeight:1.6,color:"var(--text-muted)"},children:a})}function G({icon:a,children:b}){return(0,d.jsxs)("div",{"data-message-surface":"custom-icon-row",style:{display:"flex",alignItems:"flex-start",gap:8},children:[(0,d.jsx)("span",{style:{flexShrink:0,fontSize:14},children:a}),(0,d.jsx)("div",{style:{flex:1,minWidth:0},children:b})]})}function H({text:a,title:b="Copy message",style:c}){let[f,g]=(0,e.useState)(!1),h=u();return(0,d.jsxs)("button",{onClick:()=>{(0,t.D)(a).then(()=>{g(!0),setTimeout(()=>g(!1),1500)})},title:b,style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",height:22,background:"none",border:"none",borderRadius:5,color:f?"var(--accent)":"var(--text-dim)",cursor:"pointer",fontSize:11,fontWeight:400,whiteSpace:"nowrap",transition:"color 0.12s",...c},onMouseEnter:a=>{f||(a.currentTarget.style.color="var(--accent)")},onMouseLeave:a=>{f||(a.currentTarget.style.color="var(--text-dim)")},children:[f?(0,d.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("polyline",{points:"20 6 9 17 4 12"})}):(0,d.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,d.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),(0,d.jsx)("span",{style:h?{display:"none"}:void 0,children:f?"Copied":"Copy"})]})}function I({provider:a,model:b,modelNames:c,isStreaming:e=!1,estimatedTokens:f=0,tps:g=null}){let h=a&&b?c?.[`${a}:${b}`]??c?.[b]??b:null;return(0,d.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:4,display:"flex",alignItems:"center",gap:6},children:[h&&(0,d.jsx)("span",{children:h}),e&&f>0&&(0,d.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,color:"var(--text)"},title:"预估 token 数(流式接收中)",children:[(0,d.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:2,fontSize:11,fontWeight:400},children:[(0,d.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("line",{x1:"5",y1:"1.5",x2:"5",y2:"8.5"}),(0,d.jsx)("polyline",{points:"2 6 5 8.5 8 6"})]}),f]}),null!==g&&(0,d.jsxs)("span",{style:{marginLeft:6,padding:"1px 6px",borderRadius:4,background:g>=50?"#53b3cb":g>=30?"#9bc53d":g>=15?"#f9c22e":"#e01a4f",color:"#fff",fontSize:11,fontWeight:400},children:[g.toFixed(1)," t/s"]})]})]})}var J=c(27563);let K=[],L=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(a){return a.toString().padStart(2,"0")}function N(a){if(!a)return null;let b=new Date(a),c=new Date,d=b.getFullYear()===c.getFullYear()&&b.getMonth()===c.getMonth()&&b.getDate()===c.getDate(),e=`${M(b.getHours())}:${M(b.getMinutes())}`;if(d)return e;let f=[`${L[b.getMonth()]} ${b.getDate()}`];b.getFullYear()!==c.getFullYear()&&f.push(String(b.getFullYear()));let g=f.join(", ");return`${g} ${e}`}function O({message:a,isStreaming:b,toolResults:c,modelNames:e,entryId:f,onFork:g,forking:h,onNavigate:i,prevAssistantEntryId:j,onEditContent:k,onSendMessage:l,showTimestamp:m,prevTimestamp:n,renderVisualCodeBlocks:o,cwd:p,onOpenImage:q,activeFilePath:r,agentRunning:s,onApplyToFile:t,onRunCode:u,onOpenFileAtLine:v,onAcceptDiff:w}){return"user"===a.role?(0,d.jsx)(P,{message:a,entryId:f,onFork:g,forking:h,onNavigate:i,prevAssistantEntryId:j,onEditContent:k,onOpenImage:q}):"assistant"===a.role?(0,d.jsx)(Q,{message:a,isStreaming:b,toolResults:c,modelNames:e,onSendMessage:l,showTimestamp:m,prevTimestamp:n,renderVisualCodeBlocks:o,cwd:p,activeFilePath:r,agentRunning:s,onApplyToFile:t,onRunCode:u,onOpenFileAtLine:v,onAcceptDiff:w}):"toolResult"===a.role?null:"custom"===a.role?(0,d.jsx)(R,{message:a,showTimestamp:m}):null}function P({message:a,entryId:b,onFork:c,forking:f,onNavigate:g,prevAssistantEntryId:h,onEditContent:i,onOpenImage:j}){let[l,m]=(0,e.useState)(!1),n="string"==typeof a.content?a.content:a.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n"),o="string"==typeof a.content?[]:a.content.filter(a=>"image"===a.type),p=o.flatMap(a=>{let b=(0,k.h5)(a);return b?[{src:b}]:[]}),q=N(a.timestamp),r=!!b&&!!c,s=!!h&&!!g;return(0,d.jsxs)(A,{hovered:l,onHoverChange:m,children:[(0,d.jsxs)(B,{children:[o.length>0&&(0,d.jsx)(C,{hasBody:!!n,children:o.map((a,b)=>{let c=(0,k.h5)(a);if(!c)return null;let e=a.path&&c.startsWith("/api/files/");return(0,d.jsx)("a",{href:c,target:e||!j?"_blank":void 0,rel:e||!j?"noreferrer":void 0,title:"Open image",style:{display:"block",cursor:"zoom-in"},onClick:a=>{j&&(a.preventDefault(),j(c,void 0,p))},children:(0,d.jsx)("img",{src:c,alt:"",style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:"contain",display:"block",border:"1px solid rgba(59,130,246,0.15)"}})},b)})}),n]}),(0,d.jsxs)(w,{justify:"flex-end",style:{marginTop:3},children:[(0,d.jsx)(y,{visible:l,children:(0,d.jsx)(H,{text:n})}),(r||s)&&(0,d.jsxs)(y,{visible:l||!!f,children:[s&&(0,d.jsxs)(z,{iconOnlyOnMobile:!0,onClick:()=>{g(h),i?.(n)},title:"Edit from here — branches within this session",children:[(0,d.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("polyline",{points:"15 10 20 15 15 20"}),(0,d.jsx)("path",{d:"M4 4v7a4 4 0 0 0 4 4h12"})]}),"Edit from here"]}),r&&(0,d.jsxs)(z,{iconOnlyOnMobile:!0,onClick:()=>{c(b)},disabled:f,active:!!f,title:f?"Creating new session…":"New session — creates an independent copy from here",children:[(0,d.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),(0,d.jsx)("circle",{cx:"18",cy:"6",r:"3"}),(0,d.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,d.jsx)("path",{d:"M18 9a9 9 0 0 1-9 9"})]}),f?"Creating…":"New session"]})]}),q&&(0,d.jsx)(x,{children:q})]})]})}function Q({message:a,isStreaming:b,toolResults:c,modelNames:f,onSendMessage:g,showTimestamp:h,prevTimestamp:i,renderVisualCodeBlocks:j,cwd:k,activeFilePath:l,agentRunning:m,onApplyToFile:o,onRunCode:p,onOpenFileAtLine:q,onAcceptDiff:r}){var s;let t,u=h?N(a.timestamp):null,v=a.content??K,[z,A]=(0,e.useState)(!1);(0,e.useRef)(null),(0,e.useRef)(new Map);let B=(0,e.useRef)(v),[C,F]=(0,e.useState)(null),[G,L]=(0,e.useState)(new Map);B.current=v;let M=(0,e.useMemo)(()=>{if(!a.timestamp||!i)return;let b=Math.round((a.timestamp-i)/1e3);return b>0?b:void 0},[a.timestamp,i]),O=(0,e.useMemo)(()=>(function(a,b){let c=new Map;if(!a||!b)return c;for(let[d,e]of a){if(!e.timestamp)continue;let a=Math.round((e.timestamp-b)/1e3);a>0&&c.set(d,a)}return c})(c,a.timestamp),[c,a.timestamp]),P=(0,e.useMemo)(()=>(function(a,b,c){let d=[],e=[],f=[];for(let[g,h]of a.entries()){if("thinking"===h.type){e.push({content:h.thinking,duration:b.get(g)??c});continue}if("toolCall"===h.type){d.push(h);continue}f.push(h)}return{tools:d,thinkingBlocks:e,visibleBlocks:f}})(v,G,M),[v,G,M]),R=(0,e.useMemo)(()=>v.filter(a=>"text"===a.type).map(a=>a.text).join("\n"),[v]),S=(0,e.useMemo)(()=>Math.round(function(a){let b=0;for(let c of a){if("text"===c.type){b+=c.text.length;continue}if("thinking"===c.type){b+=c.thinking.length;continue}"toolCall"===c.type&&(b+=JSON.stringify(c.input??{}).length)}return b}(v)/4),[v]);return(0,d.jsxs)(D,{hovered:z,onHoverChange:A,children:[(0,d.jsx)(I,{provider:a.provider,model:a.model,modelNames:f,isStreaming:b,estimatedTokens:S,tps:C}),(0,d.jsxs)(E,{children:[!b&&"error"===a.stopReason&&a.errorMessage?.trim()&&(0,d.jsxs)("div",{role:"alert","data-message-surface":"assistant-error",style:{border:"1px solid rgba(248,113,113,0.35)",borderRadius:6,background:"rgba(248,113,113,0.07)",padding:"8px 10px",color:"#f87171",fontSize:12,lineHeight:1.5,overflowWrap:"anywhere"},children:[(0,d.jsx)("strong",{style:{display:"block",marginBottom:2,fontWeight:600},children:"Model response failed"}),a.errorMessage.trim()]}),(P.tools.length>0||P.thinkingBlocks.length>0)&&(0,d.jsx)(J.kD,{tools:P.tools,results:c,durations:O,thinkingBlocks:P.thinkingBlocks,isStreaming:b,cwd:k}),P.visibleBlocks.map((a,e)=>(0,d.jsx)(n,{block:a,toolResults:c,isStreaming:b,toolCallDurations:O,onSendMessage:g,renderVisualCodeBlocks:j,cwd:k,activeFilePath:l,agentRunning:m,onApplyToFile:o,onRunCode:p,onOpenFileAtLine:q,onAcceptDiff:r},e))]}),(0,d.jsxs)(w,{style:{gap:8},children:[a.usage&&!b&&(0,d.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:(s=a.usage,t=[],s.input&&t.push(`${s.input.toLocaleString()} in`),s.output&&t.push(`${s.output.toLocaleString()} out`),s.cacheRead&&t.push(`${s.cacheRead.toLocaleString()} cache`),s.cost?.total&&t.push(`$${s.cost.total.toFixed(4)}`),t.join(" \xb7 "))}),R&&!b&&(0,d.jsx)(y,{visible:z,children:(0,d.jsx)(H,{text:R})}),u&&(0,d.jsx)(x,{alignEnd:!0,children:u})]})]})}function R({message:a,showTimestamp:b}){if(!a.display)return null;let c=b?N(a.timestamp):null,e="string"==typeof a.content?a.content:a.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n"),g="subagent-notify"===a.customType,h=e.match(/^Background task (completed|failed|paused):\s*\*\*(.+?)\*\*/),i=h?"completed"===h[1]?"✅":"failed"===h[1]?"❌":"⏸":g?"\uD83E\uDD16":"ℹ";return(0,d.jsxs)("div",{style:{marginBottom:12},children:[(0,d.jsx)(F,{accent:g?"subagent":"default",children:(0,d.jsx)(G,{icon:i,children:(0,d.jsx)("div",{"data-message-surface":"custom-body",children:(0,d.jsx)(f.T,{content:e,style:{fontSize:13}})})})}),(c||h)&&(0,d.jsxs)(w,{justify:"flex-end",style:{marginTop:3},children:[h&&(0,d.jsx)(x,{children:h[2]}),c&&(0,d.jsx)(x,{children:c})]})]})}},63956:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23)),Promise.resolve().then(c.t.bind(c,60440,23)),Promise.resolve().then(c.t.bind(c,84342,23)),Promise.resolve().then(c.t.bind(c,82265,23)),Promise.resolve().then(c.t.bind(c,35421,23)),Promise.resolve().then(c.t.bind(c,61335,23)),Promise.resolve().then(c.t.bind(c,70664,23)),Promise.resolve().then(c.bind(c,74661))},65950:(a,b,c)=>{"use strict";c.d(b,{aU:()=>f,cx:()=>e,nS:()=>r,Rd:()=>q,wY:()=>p,tG:()=>m});class d{#a;#b;constructor(a){this.#b=new Map,this.#a=a}get(a){if(!this.#b.has(a))return;let b=this.#b.get(a);return this.#b.delete(a),this.#b.set(a,b),b}set(a,b){for(this.#b.has(a)&&this.#b.delete(a);this.#b.size>=this.#a;){let a=this.#b.keys().next().value;if(void 0===a)break;this.#b.delete(a)}this.#b.set(a,b)}delete(a){this.#b.delete(a)}get size(){return this.#b.size}}let e="github-light",f="github-dark",g=new d(10),h=new d(200),i=new Set,j=new Map,k=null;function l(a,b,c){let d=a.slice(0,100),e=a.length>100?a.slice(-100):"";return`${b}:${c}:${a.length}:${d}:${e}`}function m(a){return void 0===a||0===a?{}:{fontStyle:1&a?"italic":void 0,fontWeight:2&a?700:void 0,textDecorationLine:4&a?"underline":void 0}}function n(){return k||(k=Promise.resolve().then(c.bind(c,78908)).then(a=>{if(0===i.size){for(let b of Object.keys(a.bundledLanguages??{}))i.add(b.toLowerCase());for(let b of a.bundledLanguagesInfo??[]){let a=b.id.toLowerCase();for(let c of b.aliases??[])j.set(c.toLowerCase(),a)}}return a})),k}async function o(a,b=e,c=f){let d=`${a}:${b}:${c}`,h=g.get(d);if(h)return h;let i=n().then(({createHighlighter:d})=>d({langs:[a],themes:[b,c]})).catch(a=>{throw g.delete(d),a});return g.set(d,i),i}function p(a,b,c,d){let g=q(a,b,c);if(g)return g;let k=c?f:e,m=b.trim().toLowerCase();if(!m)return null;let p=l(a,m,k);return n().then(()=>{let c,g=(c=b.trim().toLowerCase())?i.has(c)?c:j.get(c)??null:null;return g?o(g,e,f).then(b=>{let c=b.codeToTokens(a,{lang:g,theme:k}),e={bg:c.bg??"transparent",fg:c.fg??"inherit",tokens:c.tokens};return h.set(p,e),d(e),e}):null}).catch(a=>{console.warn("[Shiki] highlight failed:",a)}),null}function q(a,b,c){let d=b.trim().toLowerCase();if(!d)return null;let g=l(a,d,c?f:e);return h.get(g)??null}function r(a){return{bg:"transparent",fg:"inherit",tokens:a.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n").map(a=>""===a?[]:[{color:"inherit",content:a}])}}},73383:(a,b,c)=>{"use strict";c.d(b,{pm:()=>k});var d=c(48249),e=c(67484),f=c(54097),g=c(6954),h=c(40648);function i({expanded:a,onToggle:b,durationLabel:c,isStreaming:e=!1,leading:f,label:j="Thinking",buttonStyle:k,labelStyle:l,durationStyle:m}){return(0,d.jsxs)(g.R,{expanded:a,onToggle:b,buttonStyle:{width:"100%",display:"flex",alignItems:"center",gap:7,minWidth:0,textAlign:"left",cursor:"pointer",border:"none",background:"transparent",color:"var(--text-muted)",...k},children:[f,(0,d.jsx)("span",{style:{fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0,flex:1,...l},children:e?(0,d.jsx)(h.n,{children:j}):j}),c&&(0,d.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",fontVariantNumeric:"tabular-nums",flexShrink:0,...m},children:c})]})}function j({content:a,contentStyle:b}){return(0,d.jsx)(f.p,{style:{color:"var(--text-muted)",fontSize:12,lineHeight:1.6,whiteSpace:"pre-wrap",wordBreak:"break-word",...b},children:(0,d.jsx)("div",{style:{padding:"8px 10px"},children:a})})}function k({content:a,durationLabel:b,isStreaming:c=!1,leading:g,label:h="Thinking",containerStyle:l,buttonStyle:m,labelStyle:n,durationStyle:o,contentStyle:p}){let[q,r]=(0,e.useState)(!1);return(0,d.jsxs)(f.t,{kind:"thinking",style:l,children:[(0,d.jsx)(i,{expanded:q,onToggle:()=>r(a=>!a),durationLabel:b,isStreaming:c,leading:g,label:h,buttonStyle:m,labelStyle:n,durationStyle:o}),q&&(0,d.jsx)(j,{content:a,contentStyle:p})]})}},78335:()=>{},80251:(a,b,c)=>{"use strict";function d(a,b){for(let c of b){let b=a[c];if(null!=b&&""!==b)return String(b)}return null}function e(a,b=60){let c=a.replace(/\s+/g," ").trim();return c.length<=b?c:`${c.slice(0,Math.max(0,b-3))}...`}function f(a){let b=a.toLowerCase().split("__").filter(Boolean);return b[b.length-1]??a.toLowerCase()}function g(a,b=120){let c=Object.keys(a);return 0===c.length?"":"command"in a?String(a.command).slice(0,b):"cmd"in a?String(a.cmd).slice(0,b):"path"in a?String(a.path).slice(0,b):"file_path"in a?String(a.file_path).slice(0,b):"pattern"in a?String(a.pattern).slice(0,b):"query"in a?String(a.query).slice(0,b):String(a[c[0]]).slice(0,b)}function h(a){let b=a.toolName||"tool",c=f(b),g=a.input??{};if(["bash","execute","run","shell","exec_command","execute_command"].includes(c))return{canonicalName:c,kind:"terminal",label:"Shell",summary:e(d(g,["command","cmd"])??b,60)};if(["read","readfile","read_file"].includes(c))return{canonicalName:c,kind:"read",label:"Read",summary:e(d(g,["file_path","path"])??b,60)};if(["write","edit","write_file","create_file","notebook_edit"].includes(c)){let a,f=d(g,["file_path","path","notebook_path","filename"]);return{canonicalName:c,kind:"edit",label:"Edit",summary:e(f?(a=f.split(/[\\/]/).filter(Boolean))[a.length-1]??f:b,60)}}if(["search","grep","glob","find","find_files","websearch"].includes(c))return{canonicalName:c,kind:"search",label:"Search",summary:e(d(g,["pattern","query","glob"])??b,60)};if(["subagent","agent"].includes(c))return{canonicalName:c,kind:"agent",label:"Agent",summary:e([d(g,["agent","name","agentName"]),d(g,["prompt","task","message"])].filter(Boolean).join(": ")||b,60)};let h=d(g,["command","cmd","path","file_path","pattern","query","glob","prompt","description"])??function(a){try{return JSON.stringify(a)}catch{return String(a)}}(g)??b;return{canonicalName:c,kind:"tool",label:e(b,60),summary:e(h,60)}}c.d(b,{WI:()=>f,Wm:()=>g,wS:()=>h})},82704:()=>{},86364:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(88868);let e=async a=>[{type:"image/svg+xml",sizes:"any",url:(0,d.fillMetadataSegment)(".",await a.params,"icon.svg",!0)+"?6eceb6fbd1a5bb90"}]},96487:()=>{}};
260
+ \`\`\``).find(a=>"widget"===a.type),b?.type==="widget"?{title:b.title,code:b.code}:null);if(c)return(0,d.jsx)(s.u,{code:c.code,isStreaming:!1,title:c.title,onSendMessage:i})}if("report-gallery"===b.trim().toLowerCase()){let b=function(a){try{let b=JSON.parse(a);if(!Array.isArray(b))return null;let c=b.flatMap(a=>a&&"object"==typeof a&&"string"==typeof a.src&&a.src.trim()?[{src:a.src.trim(),alt:"string"==typeof a.alt&&a.alt.trim()?a.alt.trim():void 0,caption:"string"==typeof a.caption&&a.caption.trim()?a.caption.trim():void 0}]:[]);return c.length>0?c.slice(0,12):null}catch{return null}}(a);if(b)return(0,d.jsx)(H,{items:b,baseFilePath:f,cwd:g,onOpenLocalFile:h})}return j&&(w=b.trim().toLowerCase(),(x=a.trim())&&("svg"===w||"xml"===w&&/^<svg[\s>]/i.test(x)?/^<svg[\s>]/i.test(x):!("html"!==w||/<!doctype|<html[\s>]|<head[\s>]|<body[\s>]/i.test(x))&&/^<(style|svg|div|section|article|main|figure|canvas)\b/i.test(x)))?(0,d.jsx)(s.u,{code:a,isStreaming:!1,title:`${b||"visual"} preview`,onSendMessage:i}):(0,d.jsx)(q,{code:a,language:b,variant:c,isStreaming:e,testAsyncDelayMs:k,activeFilePath:l,agentRunning:m,onApplyToFile:n,onRunCode:o})}function L({children:a,className:b,node:c,baseFilePath:e,cwd:f,onOpenLocalFile:g,onWidgetSendMessage:h,renderVisualCodeBlocks:i=!1,isStreaming:j=!1,testAsyncCodeDelayMs:k=0,activeFilePath:l,agentRunning:m,onApplyToFile:n,onRunCode:o,onOpenFileAtLine:p,onAcceptDiff:q,...r}){let s=("string"==typeof a?a:Array.isArray(a)?a.map(a=>"string"==typeof a?a:"").join(""):"").replace(/\n$/,""),t=B(b);return"data-block"in r?(0,d.jsx)(K,{code:s,language:t,variant:"chat",isStreaming:j||!!r["data-incomplete"],baseFilePath:e,cwd:f,onOpenLocalFile:g,onWidgetSendMessage:h,renderVisualCodeBlocks:i,testAsyncCodeDelayMs:k,activeFilePath:l,agentRunning:m,onApplyToFile:n,onRunCode:o,onAcceptDiff:q}):(0,d.jsx)(F,{value:s,baseFilePath:e,cwd:f,onOpenLocalFile:g,onOpenFileAtLine:p})}function M({content:a,className:b="markdown-body",style:c,codeBlockVariant:m="chat",baseFilePath:o,cwd:p,onOpenLocalFile:q,onWidgetSendMessage:r,renderVisualCodeBlocks:s=!1,enableImageGallery:t=!1,isStreaming:u=!1,renderer:x="react-markdown",testAsyncCodeDelayMs:z=0,activeFilePath:A,agentRunning:C,onApplyToFile:D,onRunCode:E,onOpenFileAtLine:H,onAcceptDiff:N}){let O,P,{isDark:Q}=(0,l.D)(),R=t?function(a){let b=a.split("\n"),c=[],d=0;for(;d<b.length;){if(!G(b[d])){c.push(b[d]),d+=1;continue}let a=[],e=d;for(;e<b.length;){let c=G(b[e]);if(!c)break;let d=e+1,f=d;for(;f<b.length&&!b[f].trim();)f+=1;let g=f<b.length?function(a){let b=/^\s*(?:_([^_]+)_|\*([^*]+)\*)\s*$/.exec(a);return(b?.[1]??b?.[2]??"").trim()||null}(b[f]):null;g&&(c.caption=g,d=f+1),a.push(c);let h=d;for(;h<b.length&&!b[h].trim();)h+=1;if(!G(b[h])){e=d;break}e=h}if(a.length>1||a.some(a=>a.caption)){c.push(["```report-gallery",JSON.stringify(a,null,2),"```"].join("\n")),d=e;continue}c.push(b[d]),d+=1}return c.join("\n")}(a):a,S=H?(O=R.split("\n"),P=!1,O.map(a=>/^\s*(```|~~~)/.test(a)?(P=!P,a):P||/\]\([^)]*$/.test(a)?a:a.replace(/(^|[\s([{"'])((?:\.{1,2}\/|\/|~\/|[\w@.-]+\/)[\w@./+-]+\.[A-Za-z0-9]{1,12}:\d+)\b/g,(a,b,c)=>`${b}[${c}](${c})`)).join("\n")):R,T=(0,e.useMemo)(()=>u?{cjk:i.h,math:j.D,mermaid:k.a}:{cjk:i.h,math:j.D,mermaid:k.a,code:function(a,b=[n.cx,n.aU]){return y(),{name:"shiki",type:"code-highlighter",getSupportedLanguages:()=>[...v],getThemes:()=>b,supportsLanguage(a){let b;return 0===v.size||null!==((b=a.trim().toLowerCase())?v.has(b)?b:w.get(b)??null:null)},highlight(b,c){let d=b.language,e=(0,n.wY)(b.code,d,a,a=>{c?.({tokens:a.tokens,bg:a.bg,fg:a.fg})});return e?{tokens:e.tokens,bg:e.bg,fg:e.fg}:(y(),null)}}}(Q)},[Q,u]);return"streamdown"!==x||o||t?(0,d.jsx)("div",{className:b,style:c,children:(0,d.jsx)(f.oz,{remarkPlugins:[g.A],components:{code({className:a,children:b,node:c}){let e=B(a),f=String(b),g=f.replace(/\n$/,"");return a?.includes("language-")||f.includes("\n")?(0,d.jsx)(K,{code:g,language:e,variant:m,isStreaming:u,baseFilePath:o,cwd:p,onOpenLocalFile:q,onWidgetSendMessage:r,renderVisualCodeBlocks:s,testAsyncCodeDelayMs:z,activeFilePath:A,agentRunning:C,onApplyToFile:D,onRunCode:E,onAcceptDiff:N}):(0,d.jsx)(F,{value:g,baseFilePath:o,cwd:p,onOpenLocalFile:q,onOpenFileAtLine:H})},pre:({children:a})=>(0,d.jsx)(d.Fragment,{children:a}),a:({href:a,children:b,node:c,...e})=>(0,d.jsx)(I,{...e,href:a,baseFilePath:o,cwd:p,onOpenLocalFile:q,onOpenFileAtLine:H,children:b}),img:({src:a,alt:b,node:c,...e})=>(0,d.jsx)(J,{...e,src:a,alt:b,baseFilePath:o,cwd:p,onOpenLocalFile:q})},children:S})}):(0,d.jsx)("div",{className:b,style:c,children:(0,d.jsx)(h.jH,{mode:u?"streaming":"static",isAnimating:!!u,plugins:T,components:{code:({children:a,className:b,node:c,...e})=>(0,d.jsx)(L,{...e,node:c,className:b,baseFilePath:o,cwd:p,onOpenLocalFile:q,onWidgetSendMessage:r,renderVisualCodeBlocks:s,isStreaming:u,testAsyncCodeDelayMs:z,activeFilePath:A,agentRunning:C,onApplyToFile:D,onRunCode:E,onOpenFileAtLine:H,onAcceptDiff:N,children:a}),a:({href:a,children:b,node:c,...e})=>(0,d.jsx)(I,{...e,href:a,baseFilePath:o,cwd:p,onOpenLocalFile:q,onOpenFileAtLine:H,children:b}),img:({src:a,alt:b,node:c,...e})=>(0,d.jsx)(J,{...e,src:a,alt:b,baseFilePath:o,cwd:p,onOpenLocalFile:q})},children:S})})}},51810:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23))},52515:(a,b,c)=>{"use strict";c.d(b,{K$:()=>h,Ph:()=>g,Tg:()=>m,fj:()=>f,mK:()=>i,ml:()=>j,nG:()=>k,pg:()=>l,v7:()=>e});var d=c(48249);function e(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}function f({children:a,style:b}){return(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden",...b},children:a})}function g({children:a,style:b}){return(0,d.jsx)("div",{style:{flex:1,overflow:"auto",background:"var(--bg)",...b},children:a})}function h({pathLabel:a,title:b,trailing:c,style:e}){return(0,d.jsxs)("div",{"data-file-viewer-surface":"status-bar",style:{display:"flex",alignItems:"center",gap:12,padding:"4px 16px",borderBottom:"1px solid var(--border)",fontSize:11,color:"var(--text-dim)",background:"var(--bg)",flexShrink:0,...e},children:[(0,d.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)"},title:b??a,children:a}),c]})}function i({watching:a}){return(0,d.jsxs)("span",{title:a?"Live sync active":"Not watching",style:{display:"flex",alignItems:"center",gap:4,color:a?"#4ade80":"var(--text-dim)"},children:[(0,d.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:a?"#4ade80":"var(--border)",display:"inline-block",boxShadow:a?"0 0 4px #4ade80":"none"}}),a?"live":"static"]})}function j({children:a,onClick:b,title:c,disabled:e=!1,active:f=!1,emphasis:g="default",style:h}){let i="primary"==g,k="danger"==g;return(0,d.jsx)("button",{"data-file-viewer-surface":"toolbar-button",onClick:b,disabled:e,title:c,style:{padding:"2px 10px",fontSize:11,cursor:e?"not-allowed":"pointer",background:i?"var(--accent)":k?"rgba(239,68,68,0.1)":f?"var(--bg-selected)":"var(--bg-hover)",color:i?"#fff":k?"#ef4444":f?"var(--text)":"var(--text-muted)",border:`1px solid ${i?"var(--accent)":k?"rgba(239,68,68,0.3)":"var(--border)"}`,borderRadius:5,fontWeight:f||i||k?600:400,opacity:e?.6:1,...h},children:a})}function k({children:a,tone:b="muted",style:c}){return(0,d.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",padding:24,color:"error"===b?"#f87171":"var(--text-muted)",fontSize:13,textAlign:"center",...c},children:a})}function l({diff:a,emptyLabel:b="No changes"}){if(!a.some(a=>"unchanged"!==a.type))return(0,d.jsx)("div",{style:{padding:"12px 16px",fontSize:12,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:b});let c=new Set(a.flatMap((a,b)=>"unchanged"!==a.type?[b]:[])),e=new Set;for(let b of c)for(let c=Math.max(0,b-3);c<=Math.min(a.length-1,b+3);c++)e.add(c);let f=[],g=0;for(;g<a.length;)if(e.has(g)){let b=[];for(;g<a.length&&e.has(g);)b.push(a[g]),g++;f.push({hidden:!1,lines:b})}else{let b=0;for(;g<a.length&&!e.has(g);)b++,g++;f.push({hidden:!0,count:b})}let h=[],i=1;for(let b of a)"removed"===b.type?h.push(0):h.push(i++);let j=0;return(0,d.jsx)("div",{style:{fontFamily:"var(--font-mono)",fontSize:13,lineHeight:1.6},children:f.map((a,b)=>{if(a.hidden){let c=(0,d.jsxs)("div",{style:{padding:"2px 16px",color:"var(--text-dim)",background:"var(--bg-panel)",fontSize:11,borderTop:"1px solid var(--border)",borderBottom:"1px solid var(--border)"},children:["... ",a.count," unchanged lines ..."]},b);return j+=a.count,c}let c=a.lines.map((a,b)=>{let c=h[j+b],e="added"===a.type?"rgba(0,200,80,0.12)":"removed"===a.type?"rgba(240,60,60,0.14)":"transparent",f="added"===a.type?"+":"removed"===a.type?"-":" ",g="added"===a.type?"#4ade80":"removed"===a.type?"#f87171":"var(--text-dim)";return(0,d.jsxs)("div",{style:{display:"flex",background:e,borderLeft:"added"===a.type?"3px solid #4ade80":"removed"===a.type?"3px solid #f87171":"3px solid transparent"},children:[(0,d.jsx)("span",{style:{minWidth:44,padding:"0 8px 0 16px",textAlign:"right",color:"var(--text-dim)",userSelect:"none",fontSize:11,lineHeight:1.6,borderRight:"1px solid var(--border)",background:"var(--bg-panel)",flexShrink:0},children:"removed"===a.type?a.lineNo:c||""}),(0,d.jsx)("span",{style:{minWidth:16,padding:"0 6px",color:g,userSelect:"none",flexShrink:0,fontWeight:600},children:f}),(0,d.jsx)("span",{style:{flex:1,padding:"0 8px 0 0",whiteSpace:"pre",color:"var(--text)",overflowX:"auto"},children:a.text||"\xa0"})]},b)});return j+=a.lines.length,(0,d.jsx)("div",{children:c},b)})})}function m({options:a}){return(0,d.jsx)("div",{"data-file-viewer-surface":"segmented-toggle",style:{display:"flex",borderRadius:5,overflow:"hidden",border:"1px solid var(--border)"},children:a.map((a,b)=>(0,d.jsx)("button",{onClick:a.onClick,style:{padding:"2px 8px",fontSize:11,border:"none",borderLeft:0===b?"none":"1px solid var(--border)",cursor:"pointer",background:a.active?"var(--bg-selected)":"var(--bg-hover)",color:a.active?"var(--text)":"var(--text-muted)",fontWeight:a.active?600:400},children:a.label},a.key))})}},54097:(a,b,c)=>{"use strict";c.d(b,{p:()=>f,t:()=>e});var d=c(48249);function e({children:a,style:b,kind:c}){return(0,d.jsx)("div",{"data-disclosure-surface":"panel","data-disclosure-kind":c,style:{border:"1px solid var(--border)",borderRadius:6,overflow:"hidden",background:"var(--bg-panel)",...b},children:a})}function f({children:a,style:b}){return(0,d.jsx)("div",{"data-disclosure-surface":"body",style:{borderTop:"1px solid var(--border)",...b},children:a})}},57703:(a,b,c)=>{"use strict";c.d(b,{V:()=>h});var d=c(48249),e=c(6954),f=c(40648),g=c(41044);function h({expanded:a,onToggle:b,status:c,title:i,summary:j,durationLabel:k,leading:l,titleTooltip:m,summaryTooltip:n,buttonStyle:o,titleStyle:p,summaryStyle:q,durationStyle:r}){return(0,d.jsxs)(e.R,{expanded:a,onToggle:b,buttonStyle:o,children:[l,(0,d.jsx)("span",{title:m??i,style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",fontWeight:600,fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flexShrink:+!j,minWidth:0,flex:j?void 0:1,...p},children:"running"===c?(0,d.jsx)(f.n,{children:i}):i}),j?(0,d.jsx)("span",{title:n??j,style:{color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,minWidth:0,...q},children:"running"===c?(0,d.jsx)(f.n,{children:j}):j}):(0,d.jsx)("span",{style:{flex:1,minWidth:0}}),(0,d.jsx)(g.U1,{status:c}),k?(0,d.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",fontVariantNumeric:"tabular-nums",flexShrink:0,...r},children:k}):null]})}},60125:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,33071,23))},62418:(a,b,c)=>{"use strict";c.d(b,{D:()=>O});var d=c(48249),e=c(67484),f=c(51415),g=c(40648),h=c(73383),i=c(8033),j=c(41044),k=c(129),l=c(31218),m=c(7952);function n({block:a,toolResults:b,isStreaming:c,streamingDuration:e,toolCallDurations:f,onSendMessage:g,renderVisualCodeBlocks:h,cwd:i,activeFilePath:j,agentRunning:l,onApplyToFile:m,onRunCode:p,onOpenFileAtLine:q,onAcceptDiff:t}){if("text"===a.type)return(0,d.jsx)(o,{block:a,isStreaming:c,onSendMessage:g,renderVisualCodeBlocks:h,cwd:i,activeFilePath:j,agentRunning:l,onApplyToFile:m,onRunCode:p,onOpenFileAtLine:q,onAcceptDiff:t});if("image"===a.type)return(0,d.jsx)(k.O7,{images:[a]});if("thinking"===a.type)return(0,d.jsx)(r,{block:a,duration:e,isStreaming:c});let u=b?.get(a.toolCallId),v=f?.get(a.toolCallId);return(0,d.jsx)(s,{block:a,result:u,duration:v,isStreaming:c,cwd:i})}function o({block:a,isStreaming:b,onSendMessage:c,renderVisualCodeBlocks:e,cwd:f,activeFilePath:g,agentRunning:h,onApplyToFile:i,onRunCode:j,onOpenFileAtLine:k,onAcceptDiff:n}){let r=a.text,s=(0,m.aH)(r);if(!s.some(a=>"widget"===a.type)){if(b&&(0,m.qk)(r)){let a=s.filter(a=>"text"===a.type).map(a=>a.content).join("\n\n");return(0,d.jsxs)(d.Fragment,{children:[a&&(0,d.jsx)(p,{text:a,isStreaming:b,onSendMessage:c,renderVisualCodeBlocks:e,cwd:f,activeFilePath:g,agentRunning:h,onApplyToFile:i,onRunCode:j,onOpenFileAtLine:k,onAcceptDiff:n}),(0,d.jsx)(q,{})]})}return(0,d.jsx)(p,{text:r,isStreaming:b,onSendMessage:c,renderVisualCodeBlocks:e,cwd:f,activeFilePath:g,agentRunning:h,onApplyToFile:i,onRunCode:j,onOpenFileAtLine:k,onAcceptDiff:n})}return(0,d.jsx)(d.Fragment,{children:s.map((a,m)=>"text"===a.type?(0,d.jsx)(p,{text:a.content,isStreaming:b,onSendMessage:c,renderVisualCodeBlocks:e,cwd:f,activeFilePath:g,agentRunning:h,onApplyToFile:i,onRunCode:j,onOpenFileAtLine:k,onAcceptDiff:n},m):(0,d.jsx)(l.u,{code:a.code,isStreaming:!!a.partial,title:a.title,showOverlay:a.showOverlay,onSendMessage:c},m))})}function p({text:a,isStreaming:b,onSendMessage:c,renderVisualCodeBlocks:g,cwd:h,activeFilePath:i,agentRunning:j,onApplyToFile:l,onRunCode:m,onOpenFileAtLine:n,onAcceptDiff:o}){let q=(0,e.useMemo)(()=>(0,k.qn)(a,h),[h,a]);return(0,d.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8*(q.length>0)},children:[(0,d.jsx)(f.T,{content:a,cwd:h,onWidgetSendMessage:c,renderVisualCodeBlocks:g,isStreaming:b,renderer:"streamdown",activeFilePath:i,agentRunning:j,onApplyToFile:l,onRunCode:m,onOpenFileAtLine:n,onAcceptDiff:o}),q.length>0&&(0,d.jsx)(k.eR,{imagePaths:q})]})}function q(){return(0,d.jsx)(g.r,{height:88,style:{border:"1px solid var(--border)"}})}function r({block:a,duration:b,isStreaming:c}){return(0,d.jsx)(h.pm,{content:a.thinking,durationLabel:void 0!==b?`${b}s`:null,isStreaming:c,buttonStyle:{width:"100%",padding:"6px 10px",fontSize:12},containerStyle:{fontSize:13},contentStyle:{background:"var(--bg-panel)"}})}function s({block:a,result:b,duration:c,isStreaming:e,cwd:f}){let g=(0,j.s2)(b,e),h=(0,j.Gb)(g),k="bash"===a.toolName;return(0,d.jsx)(i.Dm,{tool:a,result:b,status:g,durationLabel:void 0!==c?`${c}s`:null,cwd:f,titleStyle:{color:h},collapsedPreviewBackground:`color-mix(in srgb, ${h} 5%, transparent)`,buttonStyle:{display:"flex",alignItems:"center",gap:7,width:"100%",padding:"6px 10px",background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:12,textAlign:"left",minWidth:0},containerStyle:{border:`1px solid color-mix(in srgb, ${h} 38%, transparent)`,background:`color-mix(in srgb, ${h} 8%, transparent)`},notebookStyle:k})}var t=c(39868);function u(a=768){let[b,c]=(0,e.useState)(!1);return b}function v({children:a,hovered:b,onHoverChange:c,style:e}){return(0,d.jsx)("div",{style:e,onMouseEnter:()=>c?.(!0),onMouseLeave:()=>c?.(!1),"data-message-hovered":b?"true":"false",children:a})}function w({children:a,justify:b="flex-start",style:c}){let e=u();return(0,d.jsx)("div",{"data-message-surface":"footer",style:{display:"flex",alignItems:"center",justifyContent:b,gap:e?4:6,marginTop:4,...c},children:a})}function x({children:a,alignEnd:b=!1,style:c}){return(0,d.jsx)("span",{"data-message-surface":"timestamp",style:{fontSize:10,color:"var(--text-dim)",marginLeft:b?"auto":void 0,...c},children:a})}function y({children:a,visible:b,style:c}){return(0,d.jsx)("div",{style:{display:"flex",gap:3,opacity:+!!b,pointerEvents:b?"auto":"none",transition:"opacity 0.12s",...c},children:a})}function z({children:a,onClick:b,disabled:c=!1,title:e,active:f=!1,style:g,onMouseEnterColor:h="var(--accent)",onMouseLeaveColor:i="var(--text-dim)",iconOnlyOnMobile:j=!1}){let k=u();return(0,d.jsx)("button",{onClick:b,disabled:c,title:e,style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",height:22,background:"none",border:"none",borderRadius:5,color:f?"var(--accent)":"var(--text-dim)",cursor:c?"not-allowed":"pointer",fontSize:11,fontWeight:400,whiteSpace:"nowrap",transition:"color 0.12s",...g},onMouseEnter:a=>{c||(a.currentTarget.style.color=h)},onMouseLeave:a=>{c||(a.currentTarget.style.color=i)},children:j&&k&&Array.isArray(a)?a[0]:a})}function A({children:a,hovered:b,onHoverChange:c}){let e=u();return(0,d.jsx)(v,{hovered:b,onHoverChange:c,style:{marginBottom:e?12:16,display:"flex",flexDirection:"column",alignItems:"flex-end"},children:a})}function B({children:a}){let b=u();return(0,d.jsx)("div",{style:{display:"flex",alignItems:"flex-end",gap:b?4:6,maxWidth:b?"92%":"85%"},children:(0,d.jsx)("div",{style:{flex:1,minWidth:0,background:"var(--user-bg)",border:"1px solid rgba(59,130,246,0.2)",borderRadius:12,padding:b?"7px 10px":"8px 12px",fontSize:14,lineHeight:1.6,color:"var(--text)",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:a})})}function C({children:a,hasBody:b=!1}){let c=u();return(0,d.jsx)("div",{style:{display:"flex",gap:c?4:6,flexWrap:"wrap",marginBottom:b?c?6:8:0},children:a})}function D({children:a,hovered:b,onHoverChange:c}){let e=u();return(0,d.jsx)(v,{hovered:b,onHoverChange:c,style:{marginBottom:e?12:16},children:a})}function E({children:a}){let b=u();return(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:b?6:8},children:a})}function F({children:a,accent:b="default"}){let c="subagent"===b;return(0,d.jsx)("div",{"data-message-surface":"custom-card","data-message-accent":b,style:{padding:"8px 14px",borderRadius:8,border:`1px solid ${c?"rgba(99,102,241,0.25)":"var(--border)"}`,background:c?"rgba(99,102,241,0.05)":"var(--bg-panel)",fontSize:13,lineHeight:1.6,color:"var(--text-muted)"},children:a})}function G({icon:a,children:b}){return(0,d.jsxs)("div",{"data-message-surface":"custom-icon-row",style:{display:"flex",alignItems:"flex-start",gap:8},children:[(0,d.jsx)("span",{style:{flexShrink:0,fontSize:14},children:a}),(0,d.jsx)("div",{style:{flex:1,minWidth:0},children:b})]})}function H({text:a,title:b="Copy message",style:c}){let[f,g]=(0,e.useState)(!1),h=u();return(0,d.jsxs)("button",{onClick:()=>{(0,t.D)(a).then(()=>{g(!0),setTimeout(()=>g(!1),1500)})},title:b,style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",height:22,background:"none",border:"none",borderRadius:5,color:f?"var(--accent)":"var(--text-dim)",cursor:"pointer",fontSize:11,fontWeight:400,whiteSpace:"nowrap",transition:"color 0.12s",...c},onMouseEnter:a=>{f||(a.currentTarget.style.color="var(--accent)")},onMouseLeave:a=>{f||(a.currentTarget.style.color="var(--text-dim)")},children:[f?(0,d.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("polyline",{points:"20 6 9 17 4 12"})}):(0,d.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,d.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),(0,d.jsx)("span",{style:h?{display:"none"}:void 0,children:f?"Copied":"Copy"})]})}function I({provider:a,model:b,modelNames:c,isStreaming:e=!1,estimatedTokens:f=0,tps:g=null}){let h=a&&b?c?.[`${a}:${b}`]??c?.[b]??b:null;return(0,d.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:4,display:"flex",alignItems:"center",gap:6},children:[h&&(0,d.jsx)("span",{children:h}),e&&f>0&&(0,d.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,color:"var(--text)"},title:"预估 token 数(流式接收中)",children:[(0,d.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:2,fontSize:11,fontWeight:400},children:[(0,d.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("line",{x1:"5",y1:"1.5",x2:"5",y2:"8.5"}),(0,d.jsx)("polyline",{points:"2 6 5 8.5 8 6"})]}),f]}),null!==g&&(0,d.jsxs)("span",{style:{marginLeft:6,padding:"1px 6px",borderRadius:4,background:g>=50?"#53b3cb":g>=30?"#9bc53d":g>=15?"#f9c22e":"#e01a4f",color:"#fff",fontSize:11,fontWeight:400},children:[g.toFixed(1)," t/s"]})]})]})}var J=c(27563);let K=[],L=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(a){return a.toString().padStart(2,"0")}function N(a){if(!a)return null;let b=new Date(a),c=new Date,d=b.getFullYear()===c.getFullYear()&&b.getMonth()===c.getMonth()&&b.getDate()===c.getDate(),e=`${M(b.getHours())}:${M(b.getMinutes())}`;if(d)return e;let f=[`${L[b.getMonth()]} ${b.getDate()}`];b.getFullYear()!==c.getFullYear()&&f.push(String(b.getFullYear()));let g=f.join(", ");return`${g} ${e}`}function O({message:a,isStreaming:b,toolResults:c,modelNames:e,entryId:f,onFork:g,forking:h,onNavigate:i,prevAssistantEntryId:j,onEditContent:k,onSendMessage:l,showTimestamp:m,prevTimestamp:n,renderVisualCodeBlocks:o,cwd:p,onOpenImage:q,activeFilePath:r,agentRunning:s,onApplyToFile:t,onRunCode:u,onOpenFileAtLine:v,onAcceptDiff:w,compactionShadowCount:x,onLoadShadowed:y}){return"user"===a.role?(0,d.jsx)(P,{message:a,entryId:f,onFork:g,forking:h,onNavigate:i,prevAssistantEntryId:j,onEditContent:k,onOpenImage:q,compactionShadowCount:x,onLoadShadowed:y}):"assistant"===a.role?(0,d.jsx)(Q,{message:a,isStreaming:b,toolResults:c,modelNames:e,onSendMessage:l,showTimestamp:m,prevTimestamp:n,renderVisualCodeBlocks:o,cwd:p,activeFilePath:r,agentRunning:s,onApplyToFile:t,onRunCode:u,onOpenFileAtLine:v,onAcceptDiff:w}):"toolResult"===a.role?null:"custom"===a.role?(0,d.jsx)(R,{message:a,showTimestamp:m}):null}function P({message:a,entryId:b,onFork:c,forking:g,onNavigate:h,prevAssistantEntryId:i,onEditContent:j,onOpenImage:l,compactionShadowCount:m,onLoadShadowed:n}){let[o,p]=(0,e.useState)(!1),[q,r]=(0,e.useState)(null),[s,t]=(0,e.useState)(!1),u="string"==typeof a.content?a.content:a.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n"),v="string"==typeof a.content?[]:a.content.filter(a=>"image"===a.type),D=v.flatMap(a=>{let b=(0,k.h5)(a);return b?[{src:b}]:[]}),E=N(a.timestamp),F=!!b&&!!c,G=!!i&&!!h;return(0,d.jsxs)(A,{hovered:o,onHoverChange:p,children:[(0,d.jsxs)(B,{children:[v.length>0&&(0,d.jsx)(C,{hasBody:!!u,children:v.map((a,b)=>{let c=(0,k.h5)(a);if(!c)return null;let e=a.path&&c.startsWith("/api/files/");return(0,d.jsx)("a",{href:c,target:e||!l?"_blank":void 0,rel:e||!l?"noreferrer":void 0,title:"Open image",style:{display:"block",cursor:"zoom-in"},onClick:a=>{l&&(a.preventDefault(),l(c,void 0,D))},children:(0,d.jsx)("img",{src:c,alt:"",style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:"contain",display:"block",border:"1px solid rgba(59,130,246,0.15)"}})},b)})}),u]}),null!=m&&m>0&&(0,d.jsx)("div",{style:{marginTop:4,textAlign:"left"},children:null===q?(0,d.jsx)("button",{onClick:()=>{s||null!==q||(t(!0),(b&&n?n(b):Promise.resolve([])).then(a=>r(a)).catch(()=>r([])).finally(()=>t(!1)))},disabled:s,style:{padding:"5px 12px",fontSize:12,color:"var(--accent)",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:6,cursor:s?"wait":"pointer"},children:s?"Loading…":`Show ${m} compacted message${1===m?"":"s"}`}):(0,d.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:7,background:"var(--bg-panel)",padding:"8px 10px",maxHeight:360,overflowY:"auto"},children:[(0,d.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:6},children:[(0,d.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Compacted history"}),(0,d.jsx)("button",{onClick:()=>r(null),style:{padding:"2px 8px",fontSize:11,color:"var(--text-dim)",background:"transparent",border:"1px solid var(--border)",borderRadius:5,cursor:"pointer"},children:"Hide"})]}),0===q.length&&(0,d.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:"No earlier messages to show."}),q.map((a,b)=>{let c,e="string"==typeof(c=a.content)?c:Array.isArray(c)?c.filter(a=>!!a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join("\n"):"";if(!e.trim())return null;let g="user"===a.role?"User":"assistant"===a.role?"Assistant":"Tool";return(0,d.jsxs)("div",{style:{marginBottom:8,paddingBottom:8,borderBottom:b===q.length-1?"none":"1px solid var(--border)"},children:[(0,d.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",marginBottom:2},children:g}),(0,d.jsx)(f.T,{content:e,style:{fontSize:12.5}})]},b)})]})}),(0,d.jsxs)(w,{justify:"flex-end",style:{marginTop:3},children:[(0,d.jsx)(y,{visible:o,children:(0,d.jsx)(H,{text:u})}),(F||G)&&(0,d.jsxs)(y,{visible:o||!!g,children:[G&&(0,d.jsxs)(z,{iconOnlyOnMobile:!0,onClick:()=>{h(i),j?.(u)},title:"Edit from here — branches within this session",children:[(0,d.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("polyline",{points:"15 10 20 15 15 20"}),(0,d.jsx)("path",{d:"M4 4v7a4 4 0 0 0 4 4h12"})]}),"Edit from here"]}),F&&(0,d.jsxs)(z,{iconOnlyOnMobile:!0,onClick:()=>{c(b)},disabled:g,active:!!g,title:g?"Creating new session…":"New session — creates an independent copy from here",children:[(0,d.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),(0,d.jsx)("circle",{cx:"18",cy:"6",r:"3"}),(0,d.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,d.jsx)("path",{d:"M18 9a9 9 0 0 1-9 9"})]}),g?"Creating…":"New session"]})]}),E&&(0,d.jsx)(x,{children:E})]})]})}function Q({message:a,isStreaming:b,toolResults:c,modelNames:f,onSendMessage:g,showTimestamp:h,prevTimestamp:i,renderVisualCodeBlocks:j,cwd:k,activeFilePath:l,agentRunning:m,onApplyToFile:o,onRunCode:p,onOpenFileAtLine:q,onAcceptDiff:r}){var s;let t,u=h?N(a.timestamp):null,v=a.content??K,[z,A]=(0,e.useState)(!1);(0,e.useRef)(null),(0,e.useRef)(new Map);let B=(0,e.useRef)(v),[C,F]=(0,e.useState)(null),[G,L]=(0,e.useState)(new Map);B.current=v;let M=(0,e.useMemo)(()=>{if(!a.timestamp||!i)return;let b=Math.round((a.timestamp-i)/1e3);return b>0?b:void 0},[a.timestamp,i]),O=(0,e.useMemo)(()=>(function(a,b){let c=new Map;if(!a||!b)return c;for(let[d,e]of a){if(!e.timestamp)continue;let a=Math.round((e.timestamp-b)/1e3);a>0&&c.set(d,a)}return c})(c,a.timestamp),[c,a.timestamp]),P=(0,e.useMemo)(()=>(function(a,b,c){let d=[],e=[],f=[];for(let[g,h]of a.entries()){if("thinking"===h.type){e.push({content:h.thinking,duration:b.get(g)??c});continue}if("toolCall"===h.type){d.push(h);continue}f.push(h)}return{tools:d,thinkingBlocks:e,visibleBlocks:f}})(v,G,M),[v,G,M]),R=(0,e.useMemo)(()=>v.filter(a=>"text"===a.type).map(a=>a.text).join("\n"),[v]),S=(0,e.useMemo)(()=>Math.round(function(a){let b=0;for(let c of a){if("text"===c.type){b+=c.text.length;continue}if("thinking"===c.type){b+=c.thinking.length;continue}"toolCall"===c.type&&(b+=JSON.stringify(c.input??{}).length)}return b}(v)/4),[v]);return(0,d.jsxs)(D,{hovered:z,onHoverChange:A,children:[(0,d.jsx)(I,{provider:a.provider,model:a.model,modelNames:f,isStreaming:b,estimatedTokens:S,tps:C}),(0,d.jsxs)(E,{children:[!b&&"error"===a.stopReason&&a.errorMessage?.trim()&&(0,d.jsxs)("div",{role:"alert","data-message-surface":"assistant-error",style:{border:"1px solid rgba(248,113,113,0.35)",borderRadius:6,background:"rgba(248,113,113,0.07)",padding:"8px 10px",color:"#f87171",fontSize:12,lineHeight:1.5,overflowWrap:"anywhere"},children:[(0,d.jsx)("strong",{style:{display:"block",marginBottom:2,fontWeight:600},children:"Model response failed"}),a.errorMessage.trim()]}),(P.tools.length>0||P.thinkingBlocks.length>0)&&(0,d.jsx)(J.kD,{tools:P.tools,results:c,durations:O,thinkingBlocks:P.thinkingBlocks,isStreaming:b,cwd:k}),P.visibleBlocks.map((a,e)=>(0,d.jsx)(n,{block:a,toolResults:c,isStreaming:b,toolCallDurations:O,onSendMessage:g,renderVisualCodeBlocks:j,cwd:k,activeFilePath:l,agentRunning:m,onApplyToFile:o,onRunCode:p,onOpenFileAtLine:q,onAcceptDiff:r},e))]}),(0,d.jsxs)(w,{style:{gap:8},children:[a.usage&&!b&&(0,d.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:(s=a.usage,t=[],s.input&&t.push(`${s.input.toLocaleString()} in`),s.output&&t.push(`${s.output.toLocaleString()} out`),s.cacheRead&&t.push(`${s.cacheRead.toLocaleString()} cache`),s.cost?.total&&t.push(`$${s.cost.total.toFixed(4)}`),t.join(" \xb7 "))}),R&&!b&&(0,d.jsx)(y,{visible:z,children:(0,d.jsx)(H,{text:R})}),u&&(0,d.jsx)(x,{alignEnd:!0,children:u})]})]})}function R({message:a,showTimestamp:b}){if(!a.display)return null;let c=b?N(a.timestamp):null,e="string"==typeof a.content?a.content:a.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n"),g="subagent-notify"===a.customType,h=e.match(/^Background task (completed|failed|paused):\s*\*\*(.+?)\*\*/),i=h?"completed"===h[1]?"✅":"failed"===h[1]?"❌":"⏸":g?"\uD83E\uDD16":"ℹ";return(0,d.jsxs)("div",{style:{marginBottom:12},children:[(0,d.jsx)(F,{accent:g?"subagent":"default",children:(0,d.jsx)(G,{icon:i,children:(0,d.jsx)("div",{"data-message-surface":"custom-body",children:(0,d.jsx)(f.T,{content:e,style:{fontSize:13}})})})}),(c||h)&&(0,d.jsxs)(w,{justify:"flex-end",style:{marginTop:3},children:[h&&(0,d.jsx)(x,{children:h[2]}),c&&(0,d.jsx)(x,{children:c})]})]})}},63956:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23)),Promise.resolve().then(c.t.bind(c,60440,23)),Promise.resolve().then(c.t.bind(c,84342,23)),Promise.resolve().then(c.t.bind(c,82265,23)),Promise.resolve().then(c.t.bind(c,35421,23)),Promise.resolve().then(c.t.bind(c,61335,23)),Promise.resolve().then(c.t.bind(c,70664,23)),Promise.resolve().then(c.bind(c,74661))},65950:(a,b,c)=>{"use strict";c.d(b,{aU:()=>f,cx:()=>e,nS:()=>r,Rd:()=>q,wY:()=>p,tG:()=>m});class d{#a;#b;constructor(a){this.#b=new Map,this.#a=a}get(a){if(!this.#b.has(a))return;let b=this.#b.get(a);return this.#b.delete(a),this.#b.set(a,b),b}set(a,b){for(this.#b.has(a)&&this.#b.delete(a);this.#b.size>=this.#a;){let a=this.#b.keys().next().value;if(void 0===a)break;this.#b.delete(a)}this.#b.set(a,b)}delete(a){this.#b.delete(a)}get size(){return this.#b.size}}let e="github-light",f="github-dark",g=new d(10),h=new d(200),i=new Set,j=new Map,k=null;function l(a,b,c){let d=a.slice(0,100),e=a.length>100?a.slice(-100):"";return`${b}:${c}:${a.length}:${d}:${e}`}function m(a){return void 0===a||0===a?{}:{fontStyle:1&a?"italic":void 0,fontWeight:2&a?700:void 0,textDecorationLine:4&a?"underline":void 0}}function n(){return k||(k=Promise.resolve().then(c.bind(c,78908)).then(a=>{if(0===i.size){for(let b of Object.keys(a.bundledLanguages??{}))i.add(b.toLowerCase());for(let b of a.bundledLanguagesInfo??[]){let a=b.id.toLowerCase();for(let c of b.aliases??[])j.set(c.toLowerCase(),a)}}return a})),k}async function o(a,b=e,c=f){let d=`${a}:${b}:${c}`,h=g.get(d);if(h)return h;let i=n().then(({createHighlighter:d})=>d({langs:[a],themes:[b,c]})).catch(a=>{throw g.delete(d),a});return g.set(d,i),i}function p(a,b,c,d){let g=q(a,b,c);if(g)return g;let k=c?f:e,m=b.trim().toLowerCase();if(!m)return null;let p=l(a,m,k);return n().then(()=>{let c,g=(c=b.trim().toLowerCase())?i.has(c)?c:j.get(c)??null:null;return g?o(g,e,f).then(b=>{let c=b.codeToTokens(a,{lang:g,theme:k}),e={bg:c.bg??"transparent",fg:c.fg??"inherit",tokens:c.tokens};return h.set(p,e),d(e),e}):null}).catch(a=>{console.warn("[Shiki] highlight failed:",a)}),null}function q(a,b,c){let d=b.trim().toLowerCase();if(!d)return null;let g=l(a,d,c?f:e);return h.get(g)??null}function r(a){return{bg:"transparent",fg:"inherit",tokens:a.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n").map(a=>""===a?[]:[{color:"inherit",content:a}])}}},73383:(a,b,c)=>{"use strict";c.d(b,{pm:()=>k});var d=c(48249),e=c(67484),f=c(54097),g=c(6954),h=c(40648);function i({expanded:a,onToggle:b,durationLabel:c,isStreaming:e=!1,leading:f,label:j="Thinking",buttonStyle:k,labelStyle:l,durationStyle:m}){return(0,d.jsxs)(g.R,{expanded:a,onToggle:b,buttonStyle:{width:"100%",display:"flex",alignItems:"center",gap:7,minWidth:0,textAlign:"left",cursor:"pointer",border:"none",background:"transparent",color:"var(--text-muted)",...k},children:[f,(0,d.jsx)("span",{style:{fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0,flex:1,...l},children:e?(0,d.jsx)(h.n,{children:j}):j}),c&&(0,d.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",fontVariantNumeric:"tabular-nums",flexShrink:0,...m},children:c})]})}function j({content:a,contentStyle:b}){return(0,d.jsx)(f.p,{style:{color:"var(--text-muted)",fontSize:12,lineHeight:1.6,whiteSpace:"pre-wrap",wordBreak:"break-word",...b},children:(0,d.jsx)("div",{style:{padding:"8px 10px"},children:a})})}function k({content:a,durationLabel:b,isStreaming:c=!1,leading:g,label:h="Thinking",containerStyle:l,buttonStyle:m,labelStyle:n,durationStyle:o,contentStyle:p}){let[q,r]=(0,e.useState)(!1);return(0,d.jsxs)(f.t,{kind:"thinking",style:l,children:[(0,d.jsx)(i,{expanded:q,onToggle:()=>r(a=>!a),durationLabel:b,isStreaming:c,leading:g,label:h,buttonStyle:m,labelStyle:n,durationStyle:o}),q&&(0,d.jsx)(j,{content:a,contentStyle:p})]})}},78335:()=>{},80251:(a,b,c)=>{"use strict";function d(a,b){for(let c of b){let b=a[c];if(null!=b&&""!==b)return String(b)}return null}function e(a,b=60){let c=a.replace(/\s+/g," ").trim();return c.length<=b?c:`${c.slice(0,Math.max(0,b-3))}...`}function f(a){let b=a.toLowerCase().split("__").filter(Boolean);return b[b.length-1]??a.toLowerCase()}function g(a,b=120){let c=Object.keys(a);return 0===c.length?"":"command"in a?String(a.command).slice(0,b):"cmd"in a?String(a.cmd).slice(0,b):"path"in a?String(a.path).slice(0,b):"file_path"in a?String(a.file_path).slice(0,b):"pattern"in a?String(a.pattern).slice(0,b):"query"in a?String(a.query).slice(0,b):String(a[c[0]]).slice(0,b)}function h(a){let b=a.toolName||"tool",c=f(b),g=a.input??{};if(["bash","execute","run","shell","exec_command","execute_command"].includes(c))return{canonicalName:c,kind:"terminal",label:"Shell",summary:e(d(g,["command","cmd"])??b,60)};if(["read","readfile","read_file"].includes(c))return{canonicalName:c,kind:"read",label:"Read",summary:e(d(g,["file_path","path"])??b,60)};if(["write","edit","write_file","create_file","notebook_edit"].includes(c)){let a,f=d(g,["file_path","path","notebook_path","filename"]);return{canonicalName:c,kind:"edit",label:"Edit",summary:e(f?(a=f.split(/[\\/]/).filter(Boolean))[a.length-1]??f:b,60)}}if(["search","grep","glob","find","find_files","websearch"].includes(c))return{canonicalName:c,kind:"search",label:"Search",summary:e(d(g,["pattern","query","glob"])??b,60)};if(["subagent","agent"].includes(c))return{canonicalName:c,kind:"agent",label:"Agent",summary:e([d(g,["agent","name","agentName"]),d(g,["prompt","task","message"])].filter(Boolean).join(": ")||b,60)};let h=d(g,["command","cmd","path","file_path","pattern","query","glob","prompt","description"])??function(a){try{return JSON.stringify(a)}catch{return String(a)}}(g)??b;return{canonicalName:c,kind:"tool",label:e(b,60),summary:e(h,60)}}c.d(b,{WI:()=>f,Wm:()=>g,wS:()=>h})},82704:()=>{},86364:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(88868);let e=async a=>[{type:"image/svg+xml",sizes:"any",url:(0,d.fillMetadataSegment)(".",await a.params,"icon.svg",!0)+"?6eceb6fbd1a5bb90"}]},96487:()=>{}};
@@ -1,3 +1,3 @@
1
- exports.id=5582,exports.ids=[5582],exports.modules={12039:(a,b,c)=>{"use strict";function d(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>("object"!=typeof a||null===a||Array.isArray(a)||"toolCall"!==a.type?null:{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input})??a);return{...a,content:c}}c.d(b,{B:()=>d})},40402:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>e.getAgentDir,BR:()=>q,CF:()=>v,DK:()=>r,O8:()=>p,Uv:()=>s,dQ:()=>l,ev:()=>u,lG:()=>w,m1:()=>m,os:()=>o});var e=c(75430),f=c(12039),g=c(74788),h=c(29021),i=c(33873),j=a([e,g]);function k(a){let b=[];for(let c of a)if((0,h.existsSync)(c))try{for(let a of(0,h.readdirSync)(c))a.endsWith(".jsonl")&&b.push((0,i.join)(c,a))}catch{}let c=(0,g.tS)(),d=n(),e=[];for(let a of b)try{let b=(0,h.statSync)(a),f=function(a){let b;try{b=(0,h.openSync)(a,"r");let c=Buffer.alloc(5120),d=(0,h.readSync)(b,c,0,5120,0);return c.toString("utf-8",0,d)}finally{if(void 0!==b)try{(0,h.closeSync)(b)}catch{}}}(a),g=function(a){let b=a.split("\n")[0]?.trim();if(!b)return null;try{let a=JSON.parse(b);if("session"!==a.type||"string"!=typeof a.id)return null;return{id:a.id,cwd:"string"==typeof a.cwd?a.cwd:"",timestamp:"string"==typeof a.timestamp?a.timestamp:new Date().toISOString(),parentSession:"string"==typeof a.parentSession?a.parentSession:void 0,title:"string"==typeof a.title?a.title:void 0}}catch{return null}}(f);if(!g)continue;let i=function(a){let b=0,c=-1;for(;-1!==(c=a.indexOf('"type":"message"',c+1));)b++;return b}(f),j=function(a){let b=a.split("\n");for(let a=1;a<b.length;a++){let c=b[a].trim();if(c)try{let a=JSON.parse(c);if("message"!==a.type)continue;let b=a.message;if(b?.role!=="user")continue;let d=b.content;if("string"==typeof d)return d;if(Array.isArray(d)){let a=d.find(a=>"object"==typeof a&&null!==a&&"text"===a.type);if(a?.text)return a.text}}catch{}}return""}(f)||"(no messages)",k=c[g.id]??null;d.set(g.id,a),e.push({path:a,id:g.id,cwd:g.cwd,name:g.title,created:g.timestamp,modified:b.mtime.toISOString(),messageCount:i,firstMessage:j,parentSessionId:g.parentSession?function(a){let b=(a.split("/").pop()??"").match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?.[0]}(g.parentSession):void 0,sessionKind:k?.sessionKind,createdBy:k?.createdBy,sessionMeta:k})}catch{}return e.sort((a,b)=>new Date(b.modified).getTime()-new Date(a.modified).getTime()),e}async function l(){let a=`${(0,e.getAgentDir)()}/sessions`,b=[];try{for(let c of(0,h.readdirSync)(a)){let d=(0,i.join)(a,c);try{(0,h.statSync)(d).isDirectory()&&b.push(d)}catch{}}}catch{}return k(b)}async function m(a){let b=a.map(a=>{let b,c;return b=(0,i.resolve)(a),c=`--${b.replace(/^[/\\]/,"").replace(/[/\\:]/g,"-")}--`,(0,i.join)((0,e.getAgentDir)(),"sessions",c)});return k(b)}function n(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}async function o(a){let b=n().get(a);return b||(await l(),n().get(a)??null)}function p(a,b){n().set(a,b)}function q(a){n().delete(a)}function r(a){return e.SessionManager.open(a).getEntries()}function s(a,b){let c,d,g,h=new Map;for(let b of a)h.set(b.id,b);let i=(0,e.buildSessionContext)(a,b,h);if(null===b||(b&&(c=h.get(b)),c||(c=a[a.length-1]),!c))return{messages:[],entryIds:[],thinkingLevel:i.thinkingLevel,model:i.model};let j=[],k=c;for(;k;)j.unshift(k),k=k.parentId?h.get(k.parentId):void 0;for(let a of j)"compaction"===a.type&&(d=a.id,g=a.firstKeptEntryId);let l=[];if(d){l.push(d);let a=j.findIndex(a=>a.id===d),b=g?j.findIndex((b,c)=>c<a&&b.id===g):-1,c=b>=0?b:a;for(let b=c;b<a;b++)"message"===j[b].type&&l.push(j[b].id);for(let b=a+1;b<j.length;b++)"message"===j[b].type&&l.push(j[b].id)}else for(let a of j)"message"===a.type&&l.push(a.id);return{messages:i.messages.map(a=>"compactionSummary"===a.role?{role:"user",content:`*The conversation history before this point was compacted into the following summary:*
1
+ exports.id=5582,exports.ids=[5582],exports.modules={12039:(a,b,c)=>{"use strict";function d(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>("object"!=typeof a||null===a||Array.isArray(a)||"toolCall"!==a.type?null:{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input})??a);return{...a,content:c}}c.d(b,{B:()=>d})},40402:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>e.getAgentDir,BR:()=>s,CF:()=>x,DK:()=>t,O8:()=>r,Uv:()=>u,dQ:()=>n,ev:()=>w,gO:()=>k.g,lG:()=>y,m1:()=>o,os:()=>q});var e=c(75430),f=c(12039),g=c(74788),h=c(77443),i=c(29021),j=c(33873),k=c(47240),l=a([e,g,h]);function m(a){let b=[];for(let c of a)if((0,i.existsSync)(c))try{for(let a of(0,i.readdirSync)(c))a.endsWith(".jsonl")&&b.push((0,j.join)(c,a))}catch{}let c=(0,g.tS)(),d=p(),e=[];for(let a of b)try{let b,f,g,j=(0,i.statSync)(a),k=j.mtimeMs,l=(0,h._E)(a,k,j.size);if(l)b={id:l.id,cwd:l.cwd,timestamp:l.created,parentSession:l.parentSession,title:l.title},f=l.messageCount,g=l.firstMessage;else{let c=function(a){let b;try{b=(0,i.openSync)(a,"r");let c=Buffer.alloc(5120),d=(0,i.readSync)(b,c,0,5120,0);return c.toString("utf-8",0,d)}finally{if(void 0!==b)try{(0,i.closeSync)(b)}catch{}}}(a);if(!(b=function(a){let b=a.split("\n")[0]?.trim();if(!b)return null;try{let a=JSON.parse(b);if("session"!==a.type||"string"!=typeof a.id)return null;return{id:a.id,cwd:"string"==typeof a.cwd?a.cwd:"",timestamp:"string"==typeof a.timestamp?a.timestamp:new Date().toISOString(),parentSession:"string"==typeof a.parentSession?a.parentSession:void 0,title:"string"==typeof a.title?a.title:void 0}}catch{return null}}(c)))continue;f=function(a){let b=0,c=-1;for(;-1!==(c=a.indexOf('"type":"message"',c+1));)b++;return b}(c),g=function(a){let b=a.split("\n");for(let a=1;a<b.length;a++){let c=b[a].trim();if(c)try{let a=JSON.parse(c);if("message"!==a.type)continue;let b=a.message;if(b?.role!=="user")continue;let d=b.content;if("string"==typeof d)return d;if(Array.isArray(d)){let a=d.find(a=>"object"==typeof a&&null!==a&&"text"===a.type);if(a?.text)return a.text}}catch{}}return""}(c)||"(no messages)",(0,h.C8)(a,{mtimeMs:k,size:j.size,id:b.id,cwd:b.cwd,created:b.timestamp,parentSession:b.parentSession,title:b.title,messageCount:f,firstMessage:g})}let m=c[b.id]??null;d.set(b.id,a),e.push({path:a,id:b.id,cwd:b.cwd,name:b.title,created:b.timestamp,modified:j.mtime.toISOString(),messageCount:f,firstMessage:g,parentSessionId:b.parentSession?function(a){let b=(a.split("/").pop()??"").match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?.[0]}(b.parentSession):void 0,sessionKind:m?.sessionKind,createdBy:m?.createdBy,sessionMeta:m})}catch{}return e.sort((a,b)=>new Date(b.modified).getTime()-new Date(a.modified).getTime()),e}async function n(){let a=`${(0,e.getAgentDir)()}/sessions`,b=[];try{for(let c of(0,i.readdirSync)(a)){let d=(0,j.join)(a,c);try{(0,i.statSync)(d).isDirectory()&&b.push(d)}catch{}}}catch{}return m(b)}async function o(a){let b=a.map(a=>{let b,c;return b=(0,j.resolve)(a),c=`--${b.replace(/^[/\\]/,"").replace(/[/\\:]/g,"-")}--`,(0,j.join)((0,e.getAgentDir)(),"sessions",c)});return m(b)}function p(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}async function q(a){let b=p().get(a);if(b)return b;let c=(0,h.Y1)(a);return c&&(0,i.existsSync)(c)?(p().set(a,c),c):(await n(),p().get(a)??null)}function r(a,b){p().set(a,b)}function s(a){p().delete(a)}function t(a){return e.SessionManager.open(a).getEntries()}function u(a,b){let c,d,g,h=new Map;for(let b of a)h.set(b.id,b);let i=(0,e.buildSessionContext)(a,b,h);if(null===b||(b&&(c=h.get(b)),c||(c=a[a.length-1]),!c))return{messages:[],entryIds:[],thinkingLevel:i.thinkingLevel,model:i.model};let j=[],k=c;for(;k;)j.unshift(k),k=k.parentId?h.get(k.parentId):void 0;for(let a of j)"compaction"===a.type&&(d=a.id,g=a.firstKeptEntryId);let l=[],m=[];if(d){l.push(d);let a=j.findIndex(a=>a.id===d),b=g?j.findIndex((b,c)=>c<a&&b.id===g):-1,c=b>=0?b:a;for(let b=c;b<a;b++)"message"===j[b].type&&l.push(j[b].id);for(let b=a+1;b<j.length;b++)"message"===j[b].type&&l.push(j[b].id);let e=0;for(let a=0;a<c;a++)"message"===j[a].type&&e++;e>0&&m.push({entryId:d,shadowedCount:e})}else for(let a of j)"message"===a.type&&l.push(a.id);return{messages:i.messages.map(a=>"compactionSummary"===a.role?{role:"user",content:`*The conversation history before this point was compacted into the following summary:*
2
2
 
3
- ${a.summary??""}`,timestamp:a.timestamp}:(0,f.B)(a)),entryIds:l,thinkingLevel:i.thinkingLevel,model:i.model}}function t(){return globalThis.__piSessionContextCache||(globalThis.__piSessionContextCache={map:new Map,order:[]}),globalThis.__piSessionContextCache}function u(a,b){let c=t(),d=c.map.get(a);if(!d)return null;if(d.mtime!==b){c.map.delete(a);let b=c.order.indexOf(a);return b>-1&&c.order.splice(b,1),null}let e=c.order.indexOf(a);return e>-1&&c.order.splice(e,1),c.order.push(a),d}function v(a,b){let c=t(),d=c.map.has(a);if(!d&&c.order.length>=16){let a=c.order.shift();a&&c.map.delete(a)}if(c.map.set(a,b),d){let b=c.order.indexOf(a);b>-1&&c.order.splice(b,1),c.order.push(a)}else c.order.push(a)}function w(a){let b=t();b.map.delete(a);let c=b.order.indexOf(a);c>-1&&b.order.splice(c,1)}[e,g]=j.then?(await j)():j,d()}catch(a){d(a)}})},74788:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{LN:()=>p,Of:()=>q,U5:()=>n,oR:()=>o,tS:()=>m});var e=c(29021),f=c(55511),g=c(33873),h=c(75430),i=a([h]);h=(i.then?(await i)():i)[0];let s=(0,g.join)((0,h.getAgentDir)(),"annovibe-session-meta.json"),t=(0,g.join)((0,h.getAgentDir)(),"session-meta");function j(a){return(0,g.join)(t,`${a}.json`)}function k(){(0,e.existsSync)(t)||(0,e.mkdirSync)(t,{recursive:!0})}function l(a,b){k();let c=j(a),d=`${c}.${(0,f.randomUUID)().slice(0,8)}.tmp`;(0,e.writeFileSync)(d,JSON.stringify(b)),(0,e.renameSync)(d,c)}if((0,e.existsSync)(s))try{k();let a=JSON.parse((0,e.readFileSync)(s,"utf-8"));for(let[b,c]of Object.entries(a)){let a=r(c);if(!a)continue;let d=j(b);(0,e.existsSync)(d)||l(b,a)}(0,e.renameSync)(s,`${s}.migrated`)}catch{}function m(){if(!(0,e.existsSync)(t))return{};let a={};try{for(let b of(0,e.readdirSync)(t)){if(!b.endsWith(".json")||b.endsWith(".tmp"))continue;let c=b.slice(0,-5);try{let d=JSON.parse((0,e.readFileSync)((0,g.join)(t,b),"utf-8")),f=r(d);f&&(a[c]=f)}catch{}}}catch{}return a}function n(a){let b=j(a);if(!(0,e.existsSync)(b))return null;try{let a=JSON.parse((0,e.readFileSync)(b,"utf-8"));return r(a)}catch{return null}}async function o(a,b){l(a,b)}async function p(a,b){let c=n(a);c&&l(a,{...c,...b})}async function q(a){let b=j(a);if((0,e.existsSync)(b))try{(0,e.unlinkSync)(b)}catch{}}function r(a){let b;if(!a||"object"!=typeof a)return null;let c="workbench"===a.sessionKind||"chat"===a.sessionKind?a.sessionKind:null;if(!c)return null;let d="launcher"===a.createdBy||"fork"===a.createdBy||"manual"===a.createdBy?a.createdBy:"manual",e=Array.isArray(a.lastToolNames)?a.lastToolNames.filter(a=>"string"==typeof a):[],f="string"==typeof a.createdAt?a.createdAt:new Date().toISOString(),g="string"==typeof a.initialSourcePath&&a.initialSourcePath?a.initialSourcePath:void 0,h="r"===a.initialKernel||"python"===a.initialKernel?a.initialKernel:void 0,i="string"==typeof a.initialKernelId&&a.initialKernelId?a.initialKernelId:void 0,j="string"==typeof a.initialKernelDisplayName&&a.initialKernelDisplayName?a.initialKernelDisplayName:void 0;if(a.goal&&"object"==typeof a.goal){let c=a.goal;"string"==typeof c.id&&"string"==typeof c.objective&&"string"==typeof c.status&&(b={id:c.id,objective:c.objective,status:c.status,tokenBudget:"number"==typeof c.tokenBudget?c.tokenBudget:void 0,tokensUsed:"number"==typeof c.tokensUsed?c.tokensUsed:0,timeUsedSeconds:"number"==typeof c.timeUsedSeconds?c.timeUsedSeconds:0,createdAt:"number"==typeof c.createdAt?c.createdAt:Date.now(),updatedAt:"number"==typeof c.updatedAt?c.updatedAt:Date.now()})}return{sessionKind:c,lastToolNames:e,createdBy:d,createdAt:f,initialSourcePath:g,initialKernel:h,initialKernelId:i,initialKernelDisplayName:j,goal:b}}d()}catch(a){d(a)}})},78335:()=>{},96487:()=>{}};
3
+ ${a.summary??""}`,timestamp:a.timestamp}:(0,f.B)(a)),entryIds:l,thinkingLevel:i.thinkingLevel,model:i.model,compactions:m.length>0?m:void 0}}function v(){return globalThis.__piSessionContextCache||(globalThis.__piSessionContextCache={map:new Map,order:[]}),globalThis.__piSessionContextCache}function w(a,b){let c=v(),d=c.map.get(a);if(!d)return null;if(d.mtime!==b){c.map.delete(a);let b=c.order.indexOf(a);return b>-1&&c.order.splice(b,1),null}let e=c.order.indexOf(a);return e>-1&&c.order.splice(e,1),c.order.push(a),d}function x(a,b){let c=v(),d=c.map.has(a);if(!d&&c.order.length>=16){let a=c.order.shift();a&&c.map.delete(a)}if(c.map.set(a,b),d){let b=c.order.indexOf(a);b>-1&&c.order.splice(b,1),c.order.push(a)}else c.order.push(a)}function y(a){let b=v();b.map.delete(a);let c=b.order.indexOf(a);c>-1&&b.order.splice(c,1)}[e,g,h]=l.then?(await l)():l,d()}catch(a){d(a)}})},47240:(a,b,c)=>{"use strict";function d(a,b){let c,d=new Map;for(let b of a)d.set(b.id,b);if(b&&(c=d.get(b)),c||(c=a[a.length-1]),!c)return[];let e=[],f=c;for(;f;)e.unshift(f),f=f.parentId?d.get(f.parentId):void 0;let g=[];for(let a=0;a<e.length;a++){let b=e[a];if("compaction"!==b.type)continue;let c=b.firstKeptEntryId??"",d=c?e.findIndex((b,d)=>d<a&&b.id===c):-1,f=d>=0?d:a,h=[],i=[];for(let a=0;a<f;a++){let b=e[a];"message"===b.type&&b.message&&(h.push(b.message),i.push(b.id))}h.length>0&&g.push({compactionEntryId:b.id,firstKeptEntryId:c,messages:h,entryIds:i})}return g}c.d(b,{g:()=>d})},74788:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{LN:()=>p,Of:()=>q,U5:()=>n,oR:()=>o,tS:()=>m});var e=c(29021),f=c(55511),g=c(33873),h=c(75430),i=a([h]);h=(i.then?(await i)():i)[0];let s=(0,g.join)((0,h.getAgentDir)(),"annovibe-session-meta.json"),t=(0,g.join)((0,h.getAgentDir)(),"session-meta"),u=null;function j(a){return(0,g.join)(t,`${a}.json`)}function k(){(0,e.existsSync)(t)||(0,e.mkdirSync)(t,{recursive:!0})}function l(a,b){k();let c=j(a),d=`${c}.${(0,f.randomUUID)().slice(0,8)}.tmp`;(0,e.writeFileSync)(d,JSON.stringify(b)),(0,e.renameSync)(d,c),u=null}if((0,e.existsSync)(s))try{k();let a=JSON.parse((0,e.readFileSync)(s,"utf-8"));for(let[b,c]of Object.entries(a)){let a=r(c);if(!a)continue;let d=j(b);(0,e.existsSync)(d)||l(b,a)}(0,e.renameSync)(s,`${s}.migrated`)}catch{}function m(){if(u)return u;if(!(0,e.existsSync)(t))return u={};let a={};try{for(let b of(0,e.readdirSync)(t)){if(!b.endsWith(".json")||b.endsWith(".tmp"))continue;let c=b.slice(0,-5);try{let d=JSON.parse((0,e.readFileSync)((0,g.join)(t,b),"utf-8")),f=r(d);f&&(a[c]=f)}catch{}}}catch{}return u=a,a}function n(a){let b=j(a);if(!(0,e.existsSync)(b))return null;try{let a=JSON.parse((0,e.readFileSync)(b,"utf-8"));return r(a)}catch{return null}}async function o(a,b){l(a,b)}async function p(a,b){let c=n(a);c&&l(a,{...c,...b})}async function q(a){let b=j(a);if((0,e.existsSync)(b))try{(0,e.unlinkSync)(b),u=null}catch{}}function r(a){let b;if(!a||"object"!=typeof a)return null;let c="workbench"===a.sessionKind||"chat"===a.sessionKind?a.sessionKind:null;if(!c)return null;let d="launcher"===a.createdBy||"fork"===a.createdBy||"manual"===a.createdBy?a.createdBy:"manual",e=Array.isArray(a.lastToolNames)?a.lastToolNames.filter(a=>"string"==typeof a):[],f="string"==typeof a.createdAt?a.createdAt:new Date().toISOString(),g="string"==typeof a.initialSourcePath&&a.initialSourcePath?a.initialSourcePath:void 0,h="r"===a.initialKernel||"python"===a.initialKernel?a.initialKernel:void 0,i="string"==typeof a.initialKernelId&&a.initialKernelId?a.initialKernelId:void 0,j="string"==typeof a.initialKernelDisplayName&&a.initialKernelDisplayName?a.initialKernelDisplayName:void 0;if(a.goal&&"object"==typeof a.goal){let c=a.goal;"string"==typeof c.id&&"string"==typeof c.objective&&"string"==typeof c.status&&(b={id:c.id,objective:c.objective,status:c.status,tokenBudget:"number"==typeof c.tokenBudget?c.tokenBudget:void 0,tokensUsed:"number"==typeof c.tokensUsed?c.tokensUsed:0,timeUsedSeconds:"number"==typeof c.timeUsedSeconds?c.timeUsedSeconds:0,createdAt:"number"==typeof c.createdAt?c.createdAt:Date.now(),updatedAt:"number"==typeof c.updatedAt?c.updatedAt:Date.now()})}return{sessionKind:c,lastToolNames:e,createdBy:d,createdAt:f,initialSourcePath:g,initialKernel:h,initialKernelId:i,initialKernelDisplayName:j,goal:b}}d()}catch(a){d(a)}})},77443:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{C8:()=>l,Pf:()=>m,Y1:()=>n,_E:()=>k});var e=c(29021),f=c(33873),g=c(75430),h=c(55511),i=a([g]);g=(i.then?(await i)():i)[0];let p=(0,f.join)((0,g.getAgentDir)(),"session-projections"),q=(0,f.join)(p,"index.json"),r=null,s=!1,t=null;function j(){if(r)return r;try{if((0,e.existsSync)(q)){let a=JSON.parse((0,e.readFileSync)(q,"utf-8"));if(a&&"object"==typeof a.entries&&null!==a.entries)return r={entries:a.entries}}}catch{}return r={entries:{}}}function k(a,b,c){let d=j().entries[a];return d&&d.mtimeMs===b&&d.size===c?d:null}function l(a,b){j().entries[a]=b,o()}function m(a){let b=j();Object.hasOwn(b.entries,a)&&(delete b.entries[a],o())}function n(a){let b=j();for(let[c,d]of Object.entries(b.entries))if(d.id===a)return c;return null}function o(){s=!0,t||(t=setTimeout(()=>{t=null,s&&(s=!1,function(){if(r)try{(0,e.existsSync)(p)||(0,e.mkdirSync)(p,{recursive:!0});let a=`${q}.${(0,h.randomUUID)().slice(0,8)}.tmp`;(0,e.writeFileSync)(a,JSON.stringify(r)),(0,e.renameSync)(a,q)}catch{}}())},2e3))}d()}catch(a){d(a)}})},78335:()=>{},96487:()=>{}};