@seqyuan/annovibe 0.8.137 → 0.8.139

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 (426) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +13 -14
  3. package/.next/build-manifest.json +6 -6
  4. package/.next/diagnostics/framework.json +1 -1
  5. package/.next/prerender-manifest.json +33 -3
  6. package/.next/react-loadable-manifest.json +64 -64
  7. package/.next/required-server-files.js +45 -10
  8. package/.next/required-server-files.json +45 -10
  9. package/.next/routes-manifest.json +0 -6
  10. package/.next/server/app/_global-error/page.js +6 -3
  11. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/_global-error.html +1 -1
  13. package/.next/server/app/_global-error.meta +24 -5
  14. package/.next/server/app/_global-error.rsc +19 -12
  15. package/.next/server/app/_global-error.segments/_full.segment.rsc +19 -12
  16. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +25 -4
  17. package/.next/server/app/_global-error.segments/_tree.segment.rsc +3 -1
  18. package/.next/server/app/_not-found/page.js +5 -2
  19. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/_not-found.html +1 -1
  21. package/.next/server/app/_not-found.meta +24 -5
  22. package/.next/server/app/_not-found.rsc +23 -15
  23. package/.next/server/app/_not-found.segments/_full.segment.rsc +23 -15
  24. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +30 -4
  25. package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -1
  26. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  27. package/.next/server/app/api/agent/[id]/prepare/route.js +1 -1
  28. package/.next/server/app/api/agent/[id]/route.js +1 -1
  29. package/.next/server/app/api/agent/new/route.js +2 -2
  30. package/.next/server/app/api/agent/running/events/route.js +2 -2
  31. package/.next/server/app/api/agent/running/route.js +1 -1
  32. package/.next/server/app/api/agent/runtime/route.js +1 -1
  33. package/.next/server/app/api/apps/[id]/[[...path]]/route.js +2 -2
  34. package/.next/server/app/api/apps/route.js +2 -2
  35. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  36. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  37. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  38. package/.next/server/app/api/auth/login/route.js +1 -1
  39. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  40. package/.next/server/app/api/auth/providers/route.js +1 -1
  41. package/.next/server/app/api/auth/status/route.js +1 -1
  42. package/.next/server/app/api/auth/totp/route.js +1 -1
  43. package/.next/server/app/api/debug-models/route.js +1 -1
  44. package/.next/server/app/api/default-cwd/route.js +1 -1
  45. package/.next/server/app/api/file-index/route.js +1 -1
  46. package/.next/server/app/api/file-tree/delete/route.js +1 -1
  47. package/.next/server/app/api/file-tree/mkdir/route.js +1 -1
  48. package/.next/server/app/api/file-tree/rename/route.js +1 -1
  49. package/.next/server/app/api/file-tree/reveal/route.js +1 -1
  50. package/.next/server/app/api/file-tree/write/route.js +1 -1
  51. package/.next/server/app/api/file-watch/route.js +3 -3
  52. package/.next/server/app/api/files/[...path]/route.js +2 -2
  53. package/.next/server/app/api/harness/route.js +1 -1
  54. package/.next/server/app/api/home/route.js +1 -1
  55. package/.next/server/app/api/im/cancel/route.js +1 -1
  56. package/.next/server/app/api/im/gateway-status/route.js +1 -1
  57. package/.next/server/app/api/im/project/route.js +1 -1
  58. package/.next/server/app/api/im/projects/route.js +1 -1
  59. package/.next/server/app/api/im/session-ids/route.js +1 -1
  60. package/.next/server/app/api/im/turn/route.js +3 -3
  61. package/.next/server/app/api/images/upload/route.js +1 -1
  62. package/.next/server/app/api/internal/runtime/route.js +1 -1
  63. package/.next/server/app/api/memory/dismiss/route.js +3 -3
  64. package/.next/server/app/api/memory/promote/route.js +3 -3
  65. package/.next/server/app/api/models/route.js +1 -1
  66. package/.next/server/app/api/models-config/discover/route.js +1 -1
  67. package/.next/server/app/api/models-config/route.js +1 -1
  68. package/.next/server/app/api/models-config/test/route.js +1 -1
  69. package/.next/server/app/api/plot-kernels/route.js +1 -1
  70. package/.next/server/app/api/plot-kernels/save/route.js +1 -1
  71. package/.next/server/app/api/plot-kernels/status/route.js +1 -1
  72. package/.next/server/app/api/plot-kernels/stop/route.js +1 -1
  73. package/.next/server/app/api/plugins/route.js +1 -1
  74. package/.next/server/app/api/project-trust/route.js +1 -1
  75. package/.next/server/app/api/projects/browse/route.js +1 -1
  76. package/.next/server/app/api/projects/route.js +1 -1
  77. package/.next/server/app/api/search/route.js +1 -1
  78. package/.next/server/app/api/session-index/events/route.js +2 -2
  79. package/.next/server/app/api/sessions/[id]/auto-name/route.js +6 -7
  80. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  81. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  82. package/.next/server/app/api/sessions/[id]/media/route.js +1 -1
  83. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  84. package/.next/server/app/api/sessions/[id]/shadowed/route.js +1 -1
  85. package/.next/server/app/api/sessions/new/route.js +1 -1
  86. package/.next/server/app/api/sessions/route.js +1 -1
  87. package/.next/server/app/api/settings/route.js +1 -1
  88. package/.next/server/app/api/skills/check/route.js +1 -1
  89. package/.next/server/app/api/skills/install/route.js +5 -5
  90. package/.next/server/app/api/skills/route.js +5 -5
  91. package/.next/server/app/api/skills/search/route.js +1 -1
  92. package/.next/server/app/api/skills/update/route.js +2 -2
  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/favicon.ico.meta +1 -1
  99. package/.next/server/app/icon.svg/route.js +1 -1
  100. package/.next/server/app/icon.svg.meta +1 -1
  101. package/.next/server/app/index.html +1 -1
  102. package/.next/server/app/index.meta +19 -4
  103. package/.next/server/app/index.rsc +32 -14
  104. package/.next/server/app/index.segments/__PAGE__.segment.rsc +38 -5
  105. package/.next/server/app/index.segments/_full.segment.rsc +32 -14
  106. package/.next/server/app/index.segments/_tree.segment.rsc +2 -1
  107. package/.next/server/app/login/page.js +5 -2
  108. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  109. package/.next/server/app/login.html +1 -1
  110. package/.next/server/app/login.meta +24 -5
  111. package/.next/server/app/login.rsc +28 -19
  112. package/.next/server/app/login.segments/_full.segment.rsc +28 -19
  113. package/.next/server/app/login.segments/_tree.segment.rsc +3 -1
  114. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +35 -8
  115. package/.next/server/app/page.js +4 -5
  116. package/.next/server/app/page_client-reference-manifest.js +1 -1
  117. package/.next/server/app/smoke/page.js +5 -6
  118. package/.next/server/app/smoke/page_client-reference-manifest.js +1 -1
  119. package/.next/server/app/smoke/session-stream/page.js +1 -2
  120. package/.next/server/app/smoke/session-stream/page_client-reference-manifest.js +1 -1
  121. package/.next/server/app/smoke/session-stream.html +1 -1
  122. package/.next/server/app/smoke/session-stream.meta +29 -6
  123. package/.next/server/app/smoke/session-stream.rsc +35 -19
  124. package/.next/server/app/smoke/session-stream.segments/_full.segment.rsc +35 -19
  125. package/.next/server/app/smoke/session-stream.segments/_tree.segment.rsc +4 -1
  126. package/.next/server/app/smoke/session-stream.segments/smoke/session-stream/__PAGE__.segment.rsc +43 -8
  127. package/.next/server/app/smoke.html +2 -2
  128. package/.next/server/app/smoke.meta +24 -5
  129. package/.next/server/app/smoke.rsc +36 -19
  130. package/.next/server/app/smoke.segments/_full.segment.rsc +36 -19
  131. package/.next/server/app/smoke.segments/_tree.segment.rsc +3 -1
  132. package/.next/server/app/smoke.segments/smoke/__PAGE__.segment.rsc +43 -8
  133. package/.next/server/app-paths-manifest.json +13 -14
  134. package/.next/server/chunks/1367.js +1 -1
  135. package/.next/server/chunks/1589.js +1 -0
  136. package/.next/server/chunks/1681.js +1 -1
  137. package/.next/server/chunks/1688.js +3 -3
  138. package/.next/server/chunks/1761.js +1 -1
  139. package/.next/server/chunks/1813.js +23 -1
  140. package/.next/server/chunks/2242.js +1 -1
  141. package/.next/server/chunks/2325.js +28 -28
  142. package/.next/server/chunks/2671.js +2 -2
  143. package/.next/server/chunks/2970.js +46 -0
  144. package/.next/server/chunks/402.js +1 -1
  145. package/.next/server/chunks/42.js +44 -44
  146. package/.next/server/chunks/4367.js +1 -1
  147. package/.next/server/chunks/4406.js +1 -1
  148. package/.next/server/chunks/4779.js +1 -0
  149. package/.next/server/chunks/4980.js +1 -1
  150. package/.next/server/chunks/5193.js +3 -3
  151. package/.next/server/chunks/5715.js +1 -1
  152. package/.next/server/chunks/5851.js +1 -1
  153. package/.next/server/chunks/6346.js +1 -1
  154. package/.next/server/chunks/6429.js +13 -13
  155. package/.next/server/chunks/6644.js +108 -0
  156. package/.next/server/chunks/716.js +1 -1
  157. package/.next/server/chunks/7307.js +1 -1
  158. package/.next/server/chunks/7734.js +22 -0
  159. package/.next/server/chunks/7765.js +1 -1
  160. package/.next/server/chunks/7890.js +1 -1
  161. package/.next/server/chunks/8305.js +264 -0
  162. package/.next/server/chunks/8363.js +1 -1
  163. package/.next/server/chunks/8973.js +1 -1
  164. package/.next/server/chunks/9557.js +1 -0
  165. package/.next/server/chunks/9868.js +1 -1
  166. package/.next/server/chunks/static/media/pdf.worker.min.94f8ceaf.mjs +6 -0
  167. package/.next/server/functions-config-manifest.json +1 -1
  168. package/.next/server/middleware-build-manifest.js +1 -1
  169. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  170. package/.next/server/middleware.js +54 -6
  171. package/.next/server/pages/404.html +1 -1
  172. package/.next/server/pages/500.html +1 -1
  173. package/.next/server/prefetch-hints.json +86 -1
  174. package/.next/server/preview-props.json +5 -0
  175. package/.next/server/server-reference-manifest.json +1 -1
  176. package/.next/static/chunks/{0b9a0da7-9075af772487e743.js → 0b9a0da7-373b544740862358.js} +1 -1
  177. package/.next/static/chunks/{1209.6d037cb2674eafa2.js → 1209.4f7491c863d512f0.js} +1 -1
  178. package/.next/static/chunks/2170a4aa.4301f7c49f3f0a6e.js +1 -0
  179. package/.next/static/chunks/2254-db22997b60e1dc27.js +1 -0
  180. package/.next/static/chunks/2257-a948751c1a3d4608.js +22 -0
  181. package/.next/static/chunks/2619.8f686be8e2479c20.js +1 -0
  182. package/.next/static/chunks/{2623.d20fabd8e18197c6.js → 2623.a6bf38491c50cb6e.js} +2 -2
  183. package/.next/static/chunks/2693-421c2e9d9c92a666.js +173 -0
  184. package/.next/static/chunks/{2774.0811cda036dfeb94.js → 2774.ba50ba9e8b3ebf4a.js} +1 -1
  185. package/.next/static/chunks/2821.d15f14bd03d9d290.js +1 -0
  186. package/.next/static/chunks/{3307.e638f7fa43f28bac.js → 3307.c87aab94f4464604.js} +1 -1
  187. package/.next/static/chunks/{5690.332f301b9df6f2dd.js → 3309.d0c34b5ef504a551.js} +1 -1
  188. package/.next/static/chunks/363642f4-a09fcaca7af039e5.js +1 -0
  189. package/.next/static/chunks/{3689.0336d97dde6c9084.js → 3689.93592a22c737d185.js} +1 -1
  190. package/.next/static/chunks/3794-fba3f76785a3c234.js +52 -0
  191. package/.next/static/chunks/{425.9a3434a28926566a.js → 425.8fe80c34648b01ec.js} +1 -1
  192. package/.next/static/chunks/{4453.91a357dc43c21745.js → 4453.ba05c4805425ceeb.js} +1 -1
  193. package/.next/static/chunks/4936-799f05324bb5c236.js +1 -0
  194. package/.next/static/chunks/4bd1b696-8cd12253b448cc13.js +1 -0
  195. package/.next/static/chunks/51fb665c.b01d5a04c27e9091.js +45 -0
  196. package/.next/static/chunks/{547.902a733488cfe3f7.js → 547.0f08d4931c0f04a2.js} +1 -1
  197. package/.next/static/chunks/{5567.540d7fc108ad6ee5.js → 5567.6674301d1337d738.js} +1 -1
  198. package/.next/static/chunks/{5618-5cda45604cf32c2a.js → 5618-8aecfc54df369be5.js} +1 -1
  199. package/.next/static/chunks/5690.64d843d3db8e1b4b.js +1 -0
  200. package/.next/static/chunks/{58bb9007.1ccb6bba34b4c635.js → 58bb9007.3d4e7356b1e96b6a.js} +28 -28
  201. package/.next/static/chunks/6121.333d793734b9abf7.js +1 -0
  202. package/.next/static/chunks/6586.775a449050e0e9cc.js +138 -0
  203. package/.next/static/chunks/{6696.a41aec266e657d54.js → 6696.345b3cd62db13cb6.js} +1 -1
  204. package/.next/static/chunks/{7874.8db6929b94cdf697.js → 7874.7faccf8fab087120.js} +1 -1
  205. package/.next/static/chunks/8489.514938fd5e801cf7.js +36 -0
  206. package/.next/static/chunks/{8863.4b2faadd47deb00c.js → 8863.2ae457485a63aa22.js} +1 -1
  207. package/.next/static/chunks/90542734.6b9fbcabf095d1a0.js +1 -0
  208. package/.next/static/chunks/9867-1b73c62e8b604095.js +260 -0
  209. package/.next/static/chunks/app/_global-error/{page-6908129cec5a3264.js → page-ebf7ae60150d40d4.js} +1 -1
  210. package/.next/static/chunks/app/api/agent/[id]/events/{route-6908129cec5a3264.js → route-ebf7ae60150d40d4.js} +1 -1
  211. package/.next/static/chunks/app/api/agent/[id]/prepare/{route-6908129cec5a3264.js → route-ebf7ae60150d40d4.js} +1 -1
  212. package/.next/static/chunks/app/api/agent/[id]/{route-6908129cec5a3264.js → route-ebf7ae60150d40d4.js} +1 -1
  213. package/.next/static/chunks/app/api/agent/new/route-ebf7ae60150d40d4.js +1 -0
  214. package/.next/static/chunks/app/api/agent/running/events/route-ebf7ae60150d40d4.js +1 -0
  215. package/.next/static/chunks/app/api/agent/running/route-ebf7ae60150d40d4.js +1 -0
  216. package/.next/static/chunks/app/api/agent/runtime/route-ebf7ae60150d40d4.js +1 -0
  217. package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-ebf7ae60150d40d4.js +1 -0
  218. package/.next/static/chunks/app/api/apps/route-ebf7ae60150d40d4.js +1 -0
  219. package/.next/static/chunks/app/api/auth/all-providers/route-ebf7ae60150d40d4.js +1 -0
  220. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-ebf7ae60150d40d4.js +1 -0
  221. package/.next/static/chunks/app/api/auth/login/[provider]/route-ebf7ae60150d40d4.js +1 -0
  222. package/.next/static/chunks/app/api/auth/login/route-ebf7ae60150d40d4.js +1 -0
  223. package/.next/static/chunks/app/api/auth/logout/[provider]/route-ebf7ae60150d40d4.js +1 -0
  224. package/.next/static/chunks/app/api/auth/providers/route-ebf7ae60150d40d4.js +1 -0
  225. package/.next/static/chunks/app/api/auth/status/route-ebf7ae60150d40d4.js +1 -0
  226. package/.next/static/chunks/app/api/auth/totp/route-ebf7ae60150d40d4.js +1 -0
  227. package/.next/static/chunks/app/api/debug-models/route-ebf7ae60150d40d4.js +1 -0
  228. package/.next/static/chunks/app/api/default-cwd/route-ebf7ae60150d40d4.js +1 -0
  229. package/.next/static/chunks/app/api/file-index/route-ebf7ae60150d40d4.js +1 -0
  230. package/.next/static/chunks/app/api/file-tree/delete/route-ebf7ae60150d40d4.js +1 -0
  231. package/.next/static/chunks/app/api/file-tree/mkdir/route-ebf7ae60150d40d4.js +1 -0
  232. package/.next/static/chunks/app/api/file-tree/rename/route-ebf7ae60150d40d4.js +1 -0
  233. package/.next/static/chunks/app/api/file-tree/reveal/route-ebf7ae60150d40d4.js +1 -0
  234. package/.next/static/chunks/app/api/file-tree/write/route-ebf7ae60150d40d4.js +1 -0
  235. package/.next/static/chunks/app/api/file-watch/route-ebf7ae60150d40d4.js +1 -0
  236. package/.next/static/chunks/app/api/files/[...path]/route-ebf7ae60150d40d4.js +1 -0
  237. package/.next/static/chunks/app/api/harness/route-ebf7ae60150d40d4.js +1 -0
  238. package/.next/static/chunks/app/api/home/route-ebf7ae60150d40d4.js +1 -0
  239. package/.next/static/chunks/app/api/im/cancel/route-ebf7ae60150d40d4.js +1 -0
  240. package/.next/static/chunks/app/api/im/gateway-status/route-ebf7ae60150d40d4.js +1 -0
  241. package/.next/static/chunks/app/api/im/project/route-ebf7ae60150d40d4.js +1 -0
  242. package/.next/static/chunks/app/api/im/projects/route-ebf7ae60150d40d4.js +1 -0
  243. package/.next/static/chunks/app/api/im/session-ids/route-ebf7ae60150d40d4.js +1 -0
  244. package/.next/static/chunks/app/api/im/turn/route-ebf7ae60150d40d4.js +1 -0
  245. package/.next/static/chunks/app/api/images/upload/route-ebf7ae60150d40d4.js +1 -0
  246. package/.next/static/chunks/app/api/internal/runtime/route-ebf7ae60150d40d4.js +1 -0
  247. package/.next/static/chunks/app/api/memory/dismiss/route-ebf7ae60150d40d4.js +1 -0
  248. package/.next/static/chunks/app/api/memory/promote/route-ebf7ae60150d40d4.js +1 -0
  249. package/.next/static/chunks/app/api/models/route-ebf7ae60150d40d4.js +1 -0
  250. package/.next/static/chunks/app/api/models-config/discover/route-ebf7ae60150d40d4.js +1 -0
  251. package/.next/static/chunks/app/api/models-config/route-ebf7ae60150d40d4.js +1 -0
  252. package/.next/static/chunks/app/api/models-config/test/route-ebf7ae60150d40d4.js +1 -0
  253. package/.next/static/chunks/app/api/plot-kernels/route-ebf7ae60150d40d4.js +1 -0
  254. package/.next/static/chunks/app/api/plot-kernels/save/route-ebf7ae60150d40d4.js +1 -0
  255. package/.next/static/chunks/app/api/plot-kernels/status/route-ebf7ae60150d40d4.js +1 -0
  256. package/.next/static/chunks/app/api/plot-kernels/stop/route-ebf7ae60150d40d4.js +1 -0
  257. package/.next/static/chunks/app/api/plugins/route-ebf7ae60150d40d4.js +1 -0
  258. package/.next/static/chunks/app/api/project-trust/route-ebf7ae60150d40d4.js +1 -0
  259. package/.next/static/chunks/app/api/projects/browse/route-ebf7ae60150d40d4.js +1 -0
  260. package/.next/static/chunks/app/api/projects/route-ebf7ae60150d40d4.js +1 -0
  261. package/.next/static/chunks/app/api/search/route-ebf7ae60150d40d4.js +1 -0
  262. package/.next/static/chunks/app/api/session-index/events/route-ebf7ae60150d40d4.js +1 -0
  263. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-ebf7ae60150d40d4.js +1 -0
  264. package/.next/static/chunks/app/api/sessions/[id]/context/route-ebf7ae60150d40d4.js +1 -0
  265. package/.next/static/chunks/app/api/sessions/[id]/export/route-ebf7ae60150d40d4.js +1 -0
  266. package/.next/static/chunks/app/api/sessions/[id]/media/route-ebf7ae60150d40d4.js +1 -0
  267. package/.next/static/chunks/app/api/sessions/[id]/route-ebf7ae60150d40d4.js +1 -0
  268. package/.next/static/chunks/app/api/sessions/[id]/shadowed/route-ebf7ae60150d40d4.js +1 -0
  269. package/.next/static/chunks/app/api/sessions/new/route-ebf7ae60150d40d4.js +1 -0
  270. package/.next/static/chunks/app/api/sessions/route-ebf7ae60150d40d4.js +1 -0
  271. package/.next/static/chunks/app/api/settings/route-ebf7ae60150d40d4.js +1 -0
  272. package/.next/static/chunks/app/api/skills/check/route-ebf7ae60150d40d4.js +1 -0
  273. package/.next/static/chunks/app/api/skills/install/route-ebf7ae60150d40d4.js +1 -0
  274. package/.next/static/chunks/app/api/skills/route-ebf7ae60150d40d4.js +1 -0
  275. package/.next/static/chunks/app/api/skills/search/route-ebf7ae60150d40d4.js +1 -0
  276. package/.next/static/chunks/app/api/skills/update/route-ebf7ae60150d40d4.js +1 -0
  277. package/.next/static/chunks/app/api/smoke/prompt-admission/route-ebf7ae60150d40d4.js +1 -0
  278. package/.next/static/chunks/app/api/soul/route-ebf7ae60150d40d4.js +1 -0
  279. package/.next/static/chunks/app/api/subagents/status/route-ebf7ae60150d40d4.js +1 -0
  280. package/.next/static/chunks/app/api/version/route-ebf7ae60150d40d4.js +1 -0
  281. package/.next/static/chunks/app/error-6309e3e4cdf79d40.js +3 -0
  282. package/.next/static/chunks/app/favicon.ico/route-ebf7ae60150d40d4.js +1 -0
  283. package/.next/static/chunks/app/global-error-7595c826cec2c048.js +3 -0
  284. package/.next/static/chunks/app/layout-31265427e43f6876.js +1 -0
  285. package/.next/static/chunks/app/{page-18dafddef38f1693.js → page-621baff414be5f53.js} +5 -5
  286. package/.next/static/chunks/app/smoke/{page-32674afc320aa48b.js → page-82db33b4fdd2e0b4.js} +3 -3
  287. package/.next/static/chunks/app/smoke/session-stream/{page-e754151f65003821.js → page-9c9a9a2aafa69000.js} +2 -2
  288. package/.next/static/chunks/framework-461b899b66554474.js +1 -0
  289. package/.next/static/chunks/main-4c5c62a3f03fc745.js +5 -0
  290. package/.next/static/chunks/main-app-a8a207cb34d209aa.js +1 -0
  291. package/.next/static/chunks/next/dist/client/components/builtin/app-error-ebf7ae60150d40d4.js +1 -0
  292. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-ebf7ae60150d40d4.js +1 -0
  293. package/.next/static/chunks/next/dist/client/components/builtin/not-found-ebf7ae60150d40d4.js +1 -0
  294. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-ebf7ae60150d40d4.js +1 -0
  295. package/.next/static/chunks/{webpack-87d310cefc6fab2a.js → webpack-36fa69ae1e15e7ce.js} +1 -1
  296. package/.next/static/gQqswid5tIZgg-wzkoMn9/_buildManifest.js +1 -0
  297. package/.next/static/media/pdf.worker.min.7a62f52c.mjs +6 -0
  298. package/bin/annovibe-im-gateway.js +98 -21
  299. package/bin/pi-web.js +16 -9
  300. package/package.json +3 -4
  301. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +0 -5
  302. package/.next/server/app/_global-error.segments/_head.segment.rsc +0 -5
  303. package/.next/server/app/_global-error.segments/_index.segment.rsc +0 -5
  304. package/.next/server/app/_not-found.segments/_head.segment.rsc +0 -6
  305. package/.next/server/app/_not-found.segments/_index.segment.rsc +0 -7
  306. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -5
  307. package/.next/server/app/api/im/gateway-token/route.js +0 -1
  308. package/.next/server/app/api/im/gateway-token/route_client-reference-manifest.js +0 -1
  309. package/.next/server/app/index.segments/_head.segment.rsc +0 -6
  310. package/.next/server/app/index.segments/_index.segment.rsc +0 -7
  311. package/.next/server/app/login.segments/_head.segment.rsc +0 -6
  312. package/.next/server/app/login.segments/_index.segment.rsc +0 -7
  313. package/.next/server/app/login.segments/login.segment.rsc +0 -5
  314. package/.next/server/app/smoke/session-stream.segments/_head.segment.rsc +0 -6
  315. package/.next/server/app/smoke/session-stream.segments/_index.segment.rsc +0 -7
  316. package/.next/server/app/smoke/session-stream.segments/smoke/session-stream.segment.rsc +0 -5
  317. package/.next/server/app/smoke/session-stream.segments/smoke.segment.rsc +0 -5
  318. package/.next/server/app/smoke.segments/_head.segment.rsc +0 -6
  319. package/.next/server/app/smoke.segments/_index.segment.rsc +0 -7
  320. package/.next/server/app/smoke.segments/smoke.segment.rsc +0 -5
  321. package/.next/server/chunks/4741.js +0 -18
  322. package/.next/server/chunks/63.js +0 -45
  323. package/.next/server/chunks/7303.js +0 -260
  324. package/.next/server/chunks/7365.js +0 -1
  325. package/.next/server/chunks/8304.js +0 -1
  326. package/.next/server/chunks/8797.js +0 -22
  327. package/.next/server/chunks/static/media/pdf.worker.min.c476e1a0.mjs +0 -6
  328. package/.next/static/Dhz0OCkGsLWL775zzzmMs/_buildManifest.js +0 -1
  329. package/.next/static/chunks/2170a4aa.4213bb2183c9cdf9.js +0 -1
  330. package/.next/static/chunks/2254-fa3fcc88564ee18d.js +0 -1
  331. package/.next/static/chunks/2619.9aac8983f30c7c8a.js +0 -1
  332. package/.next/static/chunks/2693-52c358cf5d84b069.js +0 -173
  333. package/.next/static/chunks/2821.934bcf60fbdc28c6.js +0 -1
  334. package/.next/static/chunks/291-e0c3c616f67fe126.js +0 -22
  335. package/.next/static/chunks/3309.581b04bacfeed701.js +0 -1
  336. package/.next/static/chunks/363642f4-dc35a7a659350f8e.js +0 -1
  337. package/.next/static/chunks/3794-123fdf632563f469.js +0 -32
  338. package/.next/static/chunks/4936-9558484c46c3ecc8.js +0 -1
  339. package/.next/static/chunks/4bd1b696-e356ca5ba0218e27.js +0 -1
  340. package/.next/static/chunks/51fb665c.e2bfdae35ef4d790.js +0 -45
  341. package/.next/static/chunks/6121.f3f43f1896ea0cd9.js +0 -1
  342. package/.next/static/chunks/6586.25e1a0135b5e5bba.js +0 -138
  343. package/.next/static/chunks/8489.45f22859734f514f.js +0 -36
  344. package/.next/static/chunks/90542734.ecc36ada79772529.js +0 -1
  345. package/.next/static/chunks/9867-d66ff8fa3cb21f14.js +0 -260
  346. package/.next/static/chunks/app/api/agent/new/route-6908129cec5a3264.js +0 -1
  347. package/.next/static/chunks/app/api/agent/running/events/route-6908129cec5a3264.js +0 -1
  348. package/.next/static/chunks/app/api/agent/running/route-6908129cec5a3264.js +0 -1
  349. package/.next/static/chunks/app/api/agent/runtime/route-6908129cec5a3264.js +0 -1
  350. package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-6908129cec5a3264.js +0 -1
  351. package/.next/static/chunks/app/api/apps/route-6908129cec5a3264.js +0 -1
  352. package/.next/static/chunks/app/api/auth/all-providers/route-6908129cec5a3264.js +0 -1
  353. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-6908129cec5a3264.js +0 -1
  354. package/.next/static/chunks/app/api/auth/login/[provider]/route-6908129cec5a3264.js +0 -1
  355. package/.next/static/chunks/app/api/auth/login/route-6908129cec5a3264.js +0 -1
  356. package/.next/static/chunks/app/api/auth/logout/[provider]/route-6908129cec5a3264.js +0 -1
  357. package/.next/static/chunks/app/api/auth/providers/route-6908129cec5a3264.js +0 -1
  358. package/.next/static/chunks/app/api/auth/status/route-6908129cec5a3264.js +0 -1
  359. package/.next/static/chunks/app/api/auth/totp/route-6908129cec5a3264.js +0 -1
  360. package/.next/static/chunks/app/api/debug-models/route-6908129cec5a3264.js +0 -1
  361. package/.next/static/chunks/app/api/default-cwd/route-6908129cec5a3264.js +0 -1
  362. package/.next/static/chunks/app/api/file-index/route-6908129cec5a3264.js +0 -1
  363. package/.next/static/chunks/app/api/file-tree/delete/route-6908129cec5a3264.js +0 -1
  364. package/.next/static/chunks/app/api/file-tree/mkdir/route-6908129cec5a3264.js +0 -1
  365. package/.next/static/chunks/app/api/file-tree/rename/route-6908129cec5a3264.js +0 -1
  366. package/.next/static/chunks/app/api/file-tree/reveal/route-6908129cec5a3264.js +0 -1
  367. package/.next/static/chunks/app/api/file-tree/write/route-6908129cec5a3264.js +0 -1
  368. package/.next/static/chunks/app/api/file-watch/route-6908129cec5a3264.js +0 -1
  369. package/.next/static/chunks/app/api/files/[...path]/route-6908129cec5a3264.js +0 -1
  370. package/.next/static/chunks/app/api/harness/route-6908129cec5a3264.js +0 -1
  371. package/.next/static/chunks/app/api/home/route-6908129cec5a3264.js +0 -1
  372. package/.next/static/chunks/app/api/im/cancel/route-6908129cec5a3264.js +0 -1
  373. package/.next/static/chunks/app/api/im/gateway-status/route-6908129cec5a3264.js +0 -1
  374. package/.next/static/chunks/app/api/im/gateway-token/route-6908129cec5a3264.js +0 -1
  375. package/.next/static/chunks/app/api/im/project/route-6908129cec5a3264.js +0 -1
  376. package/.next/static/chunks/app/api/im/projects/route-6908129cec5a3264.js +0 -1
  377. package/.next/static/chunks/app/api/im/session-ids/route-6908129cec5a3264.js +0 -1
  378. package/.next/static/chunks/app/api/im/turn/route-6908129cec5a3264.js +0 -1
  379. package/.next/static/chunks/app/api/images/upload/route-6908129cec5a3264.js +0 -1
  380. package/.next/static/chunks/app/api/internal/runtime/route-6908129cec5a3264.js +0 -1
  381. package/.next/static/chunks/app/api/memory/dismiss/route-6908129cec5a3264.js +0 -1
  382. package/.next/static/chunks/app/api/memory/promote/route-6908129cec5a3264.js +0 -1
  383. package/.next/static/chunks/app/api/models/route-6908129cec5a3264.js +0 -1
  384. package/.next/static/chunks/app/api/models-config/discover/route-6908129cec5a3264.js +0 -1
  385. package/.next/static/chunks/app/api/models-config/route-6908129cec5a3264.js +0 -1
  386. package/.next/static/chunks/app/api/models-config/test/route-6908129cec5a3264.js +0 -1
  387. package/.next/static/chunks/app/api/plot-kernels/route-6908129cec5a3264.js +0 -1
  388. package/.next/static/chunks/app/api/plot-kernels/save/route-6908129cec5a3264.js +0 -1
  389. package/.next/static/chunks/app/api/plot-kernels/status/route-6908129cec5a3264.js +0 -1
  390. package/.next/static/chunks/app/api/plot-kernels/stop/route-6908129cec5a3264.js +0 -1
  391. package/.next/static/chunks/app/api/plugins/route-6908129cec5a3264.js +0 -1
  392. package/.next/static/chunks/app/api/project-trust/route-6908129cec5a3264.js +0 -1
  393. package/.next/static/chunks/app/api/projects/browse/route-6908129cec5a3264.js +0 -1
  394. package/.next/static/chunks/app/api/projects/route-6908129cec5a3264.js +0 -1
  395. package/.next/static/chunks/app/api/search/route-6908129cec5a3264.js +0 -1
  396. package/.next/static/chunks/app/api/session-index/events/route-6908129cec5a3264.js +0 -1
  397. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-6908129cec5a3264.js +0 -1
  398. package/.next/static/chunks/app/api/sessions/[id]/context/route-6908129cec5a3264.js +0 -1
  399. package/.next/static/chunks/app/api/sessions/[id]/export/route-6908129cec5a3264.js +0 -1
  400. package/.next/static/chunks/app/api/sessions/[id]/media/route-6908129cec5a3264.js +0 -1
  401. package/.next/static/chunks/app/api/sessions/[id]/route-6908129cec5a3264.js +0 -1
  402. package/.next/static/chunks/app/api/sessions/[id]/shadowed/route-6908129cec5a3264.js +0 -1
  403. package/.next/static/chunks/app/api/sessions/new/route-6908129cec5a3264.js +0 -1
  404. package/.next/static/chunks/app/api/sessions/route-6908129cec5a3264.js +0 -1
  405. package/.next/static/chunks/app/api/settings/route-6908129cec5a3264.js +0 -1
  406. package/.next/static/chunks/app/api/skills/check/route-6908129cec5a3264.js +0 -1
  407. package/.next/static/chunks/app/api/skills/install/route-6908129cec5a3264.js +0 -1
  408. package/.next/static/chunks/app/api/skills/route-6908129cec5a3264.js +0 -1
  409. package/.next/static/chunks/app/api/skills/search/route-6908129cec5a3264.js +0 -1
  410. package/.next/static/chunks/app/api/skills/update/route-6908129cec5a3264.js +0 -1
  411. package/.next/static/chunks/app/api/smoke/prompt-admission/route-6908129cec5a3264.js +0 -1
  412. package/.next/static/chunks/app/api/soul/route-6908129cec5a3264.js +0 -1
  413. package/.next/static/chunks/app/api/subagents/status/route-6908129cec5a3264.js +0 -1
  414. package/.next/static/chunks/app/api/version/route-6908129cec5a3264.js +0 -1
  415. package/.next/static/chunks/app/favicon.ico/route-6908129cec5a3264.js +0 -1
  416. package/.next/static/chunks/app/layout-101c4ccdf12880f0.js +0 -1
  417. package/.next/static/chunks/framework-594babcea68f40f6.js +0 -1
  418. package/.next/static/chunks/main-0371fd3122de9512.js +0 -5
  419. package/.next/static/chunks/main-app-8d81a93b58bb990f.js +0 -1
  420. package/.next/static/chunks/next/dist/client/components/builtin/app-error-6908129cec5a3264.js +0 -1
  421. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-6908129cec5a3264.js +0 -1
  422. package/.next/static/chunks/next/dist/client/components/builtin/global-error-a7f3f044c72f9137.js +0 -1
  423. package/.next/static/chunks/next/dist/client/components/builtin/not-found-6908129cec5a3264.js +0 -1
  424. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6908129cec5a3264.js +0 -1
  425. package/.next/static/media/pdf.worker.min.29aaf158.mjs +0 -6
  426. /package/.next/static/{Dhz0OCkGsLWL775zzzmMs → gQqswid5tIZgg-wzkoMn9}/_ssgManifest.js +0 -0
@@ -0,0 +1,22 @@
1
+ "use strict";exports.id=7734,exports.ids=[7734],exports.modules={29947:(a,b,c)=>{c.d(b,{ES:()=>l,IB:()=>m,SN:()=>e,tE:()=>n});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){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 m(a){return e.filter(b=>a.some(a=>a.active&&a.name===b))}function n(a,b){return[...new Set([...function(a){switch(a){case"none":return f;case"default":return g;case"workbench":return i;case"agent":return j;default:return h}}(a),...b])]}},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}}}},87734:(a,b,c)=>{c.d(b,{T:()=>X});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}}let f={isStreaming:!1,streamingMessage:null};function g(){return{role:"assistant",content:[],model:"",provider:"",timestamp:Date.now()}}function h(a,b,c){if(!Number.isInteger(b)||void 0===b||b<0)return a;let d=a.streamingMessage??g(),e=[...d.content],f=c(e[b]);return f?(e[b]=f,{isStreaming:!0,streamingMessage:{...d,content:e}}):a}function i(a){if(a.id||a.toolName)return{...a.id?{id:a.id}:{},...a.toolName?{toolName:a.toolName}:{}};let b=a.partial,c=a.contentIndex;if(!b||!Array.isArray(b.content)||void 0===c)return{};let d=b.content[c];return d&&"toolCall"===d.type?{..."string"==typeof d.id?{id:d.id}:"string"==typeof d.toolCallId?{id:d.toolCallId}:{},..."string"==typeof d.name?{toolName:d.name}:"string"==typeof d.toolName?{toolName:d.toolName}:{}}:{}}function j(a,b){switch(b.type){case"start":return{isStreaming:!0,streamingMessage:null};case"snapshot":return"assistant"===b.message.role?{isStreaming:!0,streamingMessage:b.message}:a;case"delta":var c=b.event;switch(c.type){case"start":return{isStreaming:!0,streamingMessage:a.streamingMessage??g()};case"text_start":return h(a,c.contentIndex,a=>a?.type==="text"?a:{type:"text",text:""});case"text_delta":return h(a,c.contentIndex,a=>({type:"text",text:(a?.type==="text"?a.text:"")+(c.delta??"")}));case"text_end":return h(a,c.contentIndex,a=>({type:"text",text:c.content??(a?.type==="text"?a.text:"")}));case"thinking_start":return h(a,c.contentIndex,a=>a?.type==="thinking"?a:{type:"thinking",thinking:""});case"thinking_delta":return h(a,c.contentIndex,a=>({type:"thinking",thinking:(a?.type==="thinking"?a.thinking:"")+(c.delta??"")}));case"thinking_end":return h(a,c.contentIndex,a=>({type:"thinking",thinking:c.content??(a?.type==="thinking"?a.thinking:"")}));case"toolcall_start":return h(a,c.contentIndex,a=>{let b=i(c);return a?.type==="toolCall"?{...a,...b.id?{toolCallId:b.id}:{},...b.toolName?{toolName:b.toolName}:{},rawInput:a.rawInput??""}:{type:"toolCall",toolCallId:b.id??"",toolName:b.toolName??"tool",input:{},rawInput:""}});case"toolcall_delta":return h(a,c.contentIndex,a=>{let b=i(c),d=a?.type==="toolCall"?a:{type:"toolCall",toolCallId:b.id??"",toolName:b.toolName??"tool",input:{}};return{...d,...b.id?{toolCallId:b.id}:{},...b.toolName?{toolName:b.toolName}:{},rawInput:(d.rawInput??"")+(c.delta??"")}});case"toolcall_end":return h(a,c.contentIndex,()=>({type:"toolCall",toolCallId:c.toolCall?.id??"",toolName:c.toolCall?.name??"tool",input:c.toolCall?.arguments??{}}));default:return a}case"end":case"reset":return f;default:return a}}function k(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function l(a){if("assistant"!==a.role)return null;let b=a.timestamp;return"number"!=typeof b?null:`assistant:${b}`}class m extends Error{constructor(a,b,c){super(a),this.status=b,this.code=c,this.name="AgentCommandError"}}async function n(a,b){let c=await fetch(`/api/agent/${encodeURIComponent(a)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),d=await c.json().catch(()=>({}));if(!c.ok||d.error)throw new m(d.error??`HTTP ${c.status}`,c.status,d.code);return d.data}var o=c(31343);async function p(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 q(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 r="__annovibeStreamSessions__",s="__annovibeStreamListeners__",t="__annovibeStreamErrorCallbacks__";function u(){let a=globalThis;return a[r]||(a[r]=new Map),a[r]}function v(){let a=globalThis;return a[t]||(a[t]=new Map),a[t]}function w(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 x(a,b){let c;for(let d of(!(c=globalThis)[s]&&(c[s]=new Map),c[s]).get(a)??[])try{d(b)}catch{}}function y(a){a.textThrottleTimer&&(clearTimeout(a.textThrottleTimer),a.textThrottleTimer=null),a.textDirty&&(a.textDirty=!1,A(a))}function z(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,A(a))},100));return}y(a),A(a)}function A(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},x(a.snapshot.sessionId,{type:"snapshot-updated",snapshot:a.snapshot})}function B(a){C(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){D(a),y(a);let b="Stream idle timeout — no activity for 180s.";a.snapshot={...a.snapshot,phase:"error",isStreaming:!1,streamingMessage:null,statusText:null,error:b},C(a),x(a.snapshot.sessionId,{type:"error",snapshot:a.snapshot});let c=v().get(a.snapshot.sessionId);if(c)try{c(a.snapshot.sessionId,b)}catch{}}},1e4)}function C(a){a.idleCheckTimer&&(clearInterval(a.idleCheckTimer),a.idleCheckTimer=null)}function D(a){a.toolProgressTimer&&(clearInterval(a.toolProgressTimer),a.toolProgressTimer=null)}function E(a){let b=u(),c=b.get(a);return c||(c={snapshot:w(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 F(a,b){let c=v();return c.set(a,b),()=>{c.get(a)===b&&c.delete(a)}}function G(a){let b=u(),c=b.get(a);c&&(D(c),C(c),y(c)),b.delete(a)}function H(a){let b=u().get(a);b&&(b.snapshot={...b.snapshot,reconnectCount:b.snapshot.reconnectCount+1,lastSyncReason:"sse-reconnect",lastEventAt:Date.now()},z(b,!0))}let I="__annovibeSessionMessageCache__";function J(){let a=globalThis;if(!a[I]){var b;let c={entries:new Map,cleanupTimer:null};a[I]=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[I]}function K(a){let b=J(),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 L(a,b,c,d,e){let f=J(),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 M(a){J().entries.delete(a)}var N=c(29947);function O(a){return{steering:a?.steering??[],followUp:a?.followUp??[]}}let P=[500,1500,3e3];function Q(a,b){return new DOMException(a,b)}function R(){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)}`}function S(a,b){return a.trim()||0!==b?`text:${a}|images:${b}`:null}function T(a){return"string"==typeof a?S(a,0):Array.isArray(a)?S(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 U(a){let b=new Map;for(let c of a){let a="user"!==c.role?null:T(c.content);a&&b.set(a,(b.get(a)??0)+1)}return b}function V(a,b,c){return a.sessionId===b&&(!a.leafId||c.includes(a.leafId))}function W(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 X(a){let{session:b,newSessionCwd:c,onAgentEnd:g,onSessionCreated:h,onSessionForked:i,modelsRefreshKey:r,onBranchDataChange:s,chatInputRef:t}=a,v=null===b&&null!==c,[A,I]=(0,d.useState)(null),[X,Y]=(0,d.useState)(!v),[Z,$]=(0,d.useState)(null),[_,aa]=(0,d.useState)(null),[ab,ac]=(0,d.useState)([]),[ad,ae]=(0,d.useState)([]),[af,ag]=(0,d.useState)(0),[ah,ai]=(0,d.useState)(!1),[aj,ak]=(0,d.useState)(0),[al,am]=(0,d.useReducer)(j,f),[an,ao]=(0,d.useState)(!1),[ap,aq]=(0,d.useState)({}),[ar,as]=(0,d.useState)([]),[at,au]=(0,d.useState)({}),[av,aw]=(0,d.useState)({}),[ax,ay]=(0,d.useState)(null),[az,aA]=(0,d.useState)("full"),[aB,aC]=(0,d.useState)([...N.SN]),[aD,aE]=(0,d.useState)([]),[aF,aG]=(0,d.useState)(null),[aH,aI]=(0,d.useState)(!1),[aJ,aK]=(0,d.useState)("auto"),[aL,aM]=(0,d.useState)(null),[aN,aO]=(0,d.useState)(null),[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,aY]=(0,d.useState)(!1),[aZ,a$]=(0,d.useState)(null),[a_,a0]=(0,d.useState)(null),[a1,a2]=(0,d.useState)(null),[a3,a4]=(0,d.useState)({steering:[],followUp:[]}),[a5,a6]=(0,d.useState)(null),a7=(0,d.useRef)(null),a8=(0,d.useRef)(b?.id??null),{statuses:a9,widgets:ba,dialog:bb,notices:bc,applyFromState:bd,handleEvent:be,respond:bf,dismissNotice:bg}=function({chatInputRef:a,sessionIdRef:b,onError:c,noticeTtlMs:e=8e3}){let[f,g]=(0,d.useState)([]),[h,i]=(0,d.useState)([]),[j,k]=(0,d.useState)(null),[l,m]=(0,d.useState)([]),o=(0,d.useRef)(new Set),p=(0,d.useCallback)(()=>{for(let a of o.current)clearTimeout(a);o.current.clear()},[]),q=(0,d.useCallback)((a,b)=>{let c={id:`${Date.now()}-${Math.random().toString(36).slice(2,8)}`,message:a,type:b};m(a=>[...a,c].slice(-4));let d=setTimeout(()=>{o.current.delete(d),m(a=>a.filter(a=>a.id!==c.id))},e);o.current.add(d)},[e]),r=(0,d.useCallback)(a=>{a&&(Array.isArray(a.extensionStatuses)&&g(a.extensionStatuses),Array.isArray(a.extensionWidgets)&&i(a.extensionWidgets))},[]),s=(0,d.useCallback)(b=>{if("extension_error"===b.type)return q("string"==typeof b.error?b.error:"Extension command failed","error"),!0;if("extension_ui_request"!==b.type)return!1;let c="string"==typeof b.method?b.method:"";if("select"===c||"confirm"===c||"input"===c||"editor"===c)return k({id:String(b.id??""),method:c,title:"string"==typeof b.title?b.title:"",...Array.isArray(b.options)?{options:b.options}:{},..."string"==typeof b.message?{message:b.message}:{},..."string"==typeof b.placeholder?{placeholder:b.placeholder}:{},..."string"==typeof b.prefill?{prefill:b.prefill}:{}}),!0;if("notify"===c){let a="warning"===b.notifyType||"error"===b.notifyType?b.notifyType:"info";return q(String(b.message??""),a),!0}if("setStatus"===c){let a=String(b.statusKey??"");if(!a)return!0;let c="string"==typeof b.statusText?b.statusText:null;return g(b=>{let d=b.filter(b=>b.key!==a);return c?[...d,{key:a,text:c}]:d}),!0}if("setWidget"===c){let a=String(b.widgetKey??"");if(!a)return!0;let c=Array.isArray(b.widgetLines)?b.widgetLines.filter(a=>"string"==typeof a):null;return i(d=>{let e=d.filter(b=>b.key!==a);return c&&c.length>0?[...e,{key:a,lines:c,placement:"string"==typeof b.widgetPlacement?b.widgetPlacement:"aboveEditor"}]:e}),!0}return"dismiss"===c?k(a=>a?.id===b.id?null:a):"set_editor_text"===c&&"string"==typeof b.text?a?.current?.setText?.(b.text):"setTitle"===c&&"string"==typeof b.title&&(document.title=b.title),!0},[a,q]),t=(0,d.useCallback)(async(a,d)=>{let e=b.current;if(k(b=>b?.id===a?null:b),e)try{await n(e,{type:"extension_ui_response",id:a,...d})}catch(a){c(a instanceof Error?a.message:String(a))}},[c,b]);return{statuses:f,widgets:h,dialog:j,notices:l,applyFromState:r,handleEvent:s,respond:t,dismissNotice:(0,d.useCallback)(a=>{m(b=>b.filter(b=>b.id!==a))},[]),reset:(0,d.useCallback)(()=>{p(),g([]),i([]),k(null),m([])},[p])}}({chatInputRef:t,sessionIdRef:a8,onError:a6}),bh=(0,d.useRef)(!1),bi=(0,d.useRef)(null),bj=(0,d.useRef)(null),bk=(0,d.useRef)(null),bl=(0,d.useRef)(!1),bm=(0,d.useRef)(null),bn=(0,d.useRef)(!1),bo=(0,d.useRef)(null),bp=(0,d.useRef)(null),bq=(0,d.useRef)(new Map),br=(0,d.useRef)(new Map),bs=(0,d.useRef)(new Map),bt=(0,d.useRef)(new Map),bu=(0,d.useRef)(null),bv=(0,d.useRef)([]),bw=(0,d.useRef)(null),bx=(0,d.useRef)(0),by=(0,d.useRef)(!1),bz=(0,d.useRef)(0),bA=(0,d.useRef)(!1);(0,d.useRef)(!1),(0,d.useRef)(0);let bB=(0,d.useRef)(null),bC=(0,d.useRef)(null),bD=(0,d.useRef)(0);(0,d.useRef)(!1);let bE=(0,d.useRef)(!1),bF=(0,d.useRef)(""),bG=(0,d.useRef)(null),bH=a.setNewSessionModel??ay,bI=a.setToolPreset??aA,bJ=a.setMemoryTools??aC,bK=aT??A?.context.model??aV??null,bL=v?ax:bK,bM=(0,d.useCallback)(()=>(0,N.tE)(az,aB),[aB,az]),bN=(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
+ ${b}
3
+ ${a.extractedText}`.trim()}return`${c}
4
+ [Text extraction unavailable: ${a.extractionError??"unsupported file type"}]`}).join("\n\n---\n\n"):"",[]),bO=(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})`)},[]),bP=(()=>{let a={input:0,output:0,cacheRead:0,cacheWrite:0};for(let b of ab){if("assistant"!==b.role)continue;let c=b.usage;c&&(a.input+=c.input??0,a.output+=c.output??0,a.cacheRead+=c.cacheRead??0,a.cacheWrite+=c.cacheWrite??0)}return a.input+a.output+a.cacheRead+a.cacheWrite>0?{tokens:a}:null})(),bQ=(0,d.useRef)(!1),bR=(0,d.useCallback)(async()=>{let a=a8.current;if(!a||bQ.current||bA.current)return;bQ.current=!0,by.current=!0;let b=0,c=K(a);b=c?c.loadedMessagesCount:50;try{for(;;)try{let c=await fetch(`/api/sessions/${encodeURIComponent(a)}?limit=100&offset=${b}&deferThinking=1&deferMedia=1`);if(!c.ok)break;let d=await c.json();if(a8.current!==a)break;let e=d.context.messages,f=d.context.entryIds??[];if(0===e.length)break;ac(a=>[...e,...a]),ae(a=>{let b=[...f,...a];return bv.current=b,b});let g=b+e.length;if(ak(g),bz.current=g,ai(d.hasMore??!1),L(a,e,f,d.hasMore??!1,g),b=g,!d.hasMore)break;await new Promise(a=>setTimeout(a,800))}catch{break}}finally{bQ.current=!1,bA.current=!0,by.current=!1}},[]),bS=(0,d.useCallback)(async(a,b=!1,c=!1,d=!1)=>{var e;let f=null;try{if(b&&Y(!0),!c&&!bh.current&&!d){let c=K(a);if(c)return ag(c.totalMessages),ai(c.hasMore),ak(c.loadedMessagesCount),ac(c.messages),bv.current=c.entryIds,ae(c.entryIds),bu.current=c.leafId,aa(c.leafId),bz.current=c.loadedMessagesCount,b&&Y(!1),c.hasMore&&!bA.current&&setTimeout(()=>{bR()},1500),null}let g=c?`/api/sessions/${encodeURIComponent(a)}?includeState&deferThinking=1&deferMedia=1`:`/api/sessions/${encodeURIComponent(a)}?limit=50&offset=0&deferThinking=1&deferMedia=1`,h=bC.current;if(h?.sid===a&&!b)return null;h?.controller.abort(Q("Session load superseded","AbortError"));let i=new AbortController;f=i,bC.current={sid:a,controller:i};let j=setTimeout(()=>{i.abort(Q("Session load timed out after 30 seconds","TimeoutError"))},3e4),k=await fetch(g,{signal:i.signal}).finally(()=>clearTimeout(j));if(a8.current&&a8.current!==a)return null;if(404===k.status)return b&&(I(null),bu.current=null,aa(null),ac([]),$(null)),null;if(!k.ok)throw Error(`HTTP ${k.status}`);let m=await k.json();c?(ag(m.totalMessages??m.context.messages.length),ai(!1)):(ag(m.totalMessages??m.context.messages.length),ai(m.hasMore??!1)),ak(m.context.messages.length),I(m),bu.current=m.leafId,aa(m.leafId);let n=m.context.messages,o=U(n),p=new Map,q=Date.now();for(let[b,c]of bq.current)if(c.sessionId===a){if(q-c.createdAt>12e4){bq.current.delete(b);continue}if(c.confirmKey){let a=o.get(c.confirmKey)??0,d=p.get(c.confirmKey)??0;a-d>c.confirmCountAtCreate&&(bq.current.delete(b),p.set(c.confirmKey,d+1))}}br.current=o;let r=m.context.entryIds??[],s=[...bq.current.values()].filter(b=>V(b,a,r)).map(a=>a.message),t=s.length>0?[...n,...s]:n,u=function(a,b,c){if(0===b.size)return a;let d=!1,e=a.map(a=>{let e=l(a);if(!e)return a;let f=b.get(e);return f?c-f.observedAt>5e3||function(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}}(f.message,a)?(b.delete(e),a):(d=!0,f.message):a});return d?e:a}(t,bt.current,Date.now()),v=bs.current.get(a);if(v){for(let[a,b]of v)q-b>12e4&&v.delete(a);0===v.size&&bs.current.delete(a)}let w=v?.size?v:null,x=w?new Set(r):null,y=!!w&&!!x&&[...w.keys()].some(a=>!x.has(a));w&&x&&!y&&bs.current.delete(a);let z=u.length;return!c&&(bz.current>z||y)?(ag(m.totalMessages??m.context.messages.length),ai(m.hasMore??!1)):(ac(a=>(function(a,b){if(a.length!==b.length)return b;let c=!1,d=b.map((b,d)=>W(a[d],b)?a[d]:(c=!0,b));return c?d:a})(a,u)),bv.current=r,ae(r),c?bz.current=z:bz.current=Math.max(bz.current,z),e={sessionId:a,leafId:m.leafId,messages:u,entryIds:r,totalMessages:m.totalMessages??m.context.messages.length,hasMore:!c&&(m.hasMore??!1),loadedMessagesCount:m.context.messages.length},J().entries.set(a,{...e,loadedAt:Date.now()})),aU(a=>{if(!a)return null;let b=m.context.model;return b?.provider===a.provider&&b.modelId===a.modelId?null:a}),$(null),!m.agentState?.state?.thinkingLevel&&m.context.thinkingLevel&&"off"!==m.context.thinkingLevel&&aK(m.context.thinkingLevel),m.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 $(String(a)),null}finally{f&&bC.current?.controller===f&&(bC.current=null),b&&Y(!1)}},[bR]),bT=(0,d.useRef)(!1),bU=(0,d.useCallback)(async()=>{if(bT.current)return;bT.current=!0;let a=a8.current;if(!a){bT.current=!1;return}try{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}?limit=50&offset=${aj}&deferThinking=1&deferMedia=1`);if(!b.ok)return;let c=await b.json(),d=c.context.messages,e=c.context.entryIds??[];ac(a=>[...d,...a]),ae(a=>{let b=[...e,...a];return bv.current=b,b}),ak(a=>a+d.length),ai(c.hasMore??!1),L(a,d,e,c.hasMore??!1,aj+d.length)}catch{}finally{bT.current=!1}},[aj]),bV=(0,d.useCallback)(async a=>{let b=a8.current;if(!b)return[];let c=bu.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[]}},[]),bW=(0,d.useCallback)(async(a,b)=>{try{let c=b?`/api/sessions/${encodeURIComponent(a)}/context?leafId=${encodeURIComponent(b)}&deferThinking=1&deferMedia=1`:`/api/sessions/${encodeURIComponent(a)}/context?deferThinking=1&deferMedia=1`,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=U(f),i=new Map,j=Date.now();for(let[b,c]of bq.current)if(c.sessionId===a){if(j-c.createdAt>12e4){bq.current.delete(b);continue}if(c.confirmKey){let a=h.get(c.confirmKey)??0,d=i.get(c.confirmKey)??0;a-d>c.confirmCountAtCreate&&(bq.current.delete(b),i.set(c.confirmKey,d+1))}}br.current=h;let k=[...bq.current.values()].filter(b=>V(b,a,g)).map(a=>a.message);ac(k.length>0?[...f,...k]:f),bv.current=g,ae(g)}catch(a){console.error("Failed to load context:",a)}},[]),bX=(0,d.useCallback)(async a=>{try{let b=await n(a,{type:"get_tools"});b&&(bI((0,N.ES)(b)),bJ((0,N.IB)(b)))}catch(a){console.error("Failed to load tools:",a)}},[bJ,bI]),bY=(0,d.useCallback)(async a=>{try{let b=await n(a,{type:"get_commands"});aE(Array.isArray(b?.commands)?b.commands:[])}catch{aE([])}},[]),bZ=(0,d.useCallback)((a,b={})=>{a7.current?.close(),a7.current=null;let c=`/api/agent/${encodeURIComponent(a)}/events${b.replay?"?replay=1":""}`;return!function(a){let b=E(a);if("active"===b.snapshot.phase)return z(b,!0),B(b),b.snapshot;let c=Date.now();b.snapshot={...w(a),phase:"active",startedAt:c,lastEventAt:c,isStreaming:!0,streamingMessage:{role:"assistant",content:[]}},B(b),z(b,!0),b.snapshot}(a),new Promise((d,e)=>{let f=!1,g=!1,h=null,i=a=>{if(!f){if(f=!0,clearTimeout(j),a){h?.close(),a7.current===h&&(a7.current=null),e(a);return}d()}},j=setTimeout(()=>{b.requireConnected?i(Error("Timed out waiting for event stream connection")):i()},b.timeoutMs??3e4);a7.current=h=function(a){let{url:b,onEvent:c,onStateChange:d,onFatalError:e,maxReconnectAttempts:f=1/0,reconnectBaseMs:g=1e3,reconnectMaxMs:h=3e4,autoReconnect:i=!0}=a,j="idle",k=new AbortController,l=0,m=null,n=null,o=!1,p=(a,b)=>{b&&(n=b),c(a,b)},r=a=>{j!==a&&(j=a,d?.(a))},s=()=>{null!==m&&(clearTimeout(m),m=null)},t=()=>{if(o)return;if(!i)return void r("error");if(l>=f){r("error"),e?.(Error(`Max reconnect attempts (${f}) reached`));return}let a=Math.min(h,g*2**l);l+=1,r("connecting"),m=setTimeout(()=>{m=null,u()},a)},u=async()=>{if(!o){s(),k=new AbortController,r("connecting");try{let a=await fetch(b,{signal:k.signal,headers:{Accept:"text/event-stream","Cache-Control":"no-cache",...n?{"Last-Event-ID":n}:{}}});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"),l=0,await q(d,p,k.signal),k.signal.aborted)try{await d.cancel()}catch{}d.releaseLock(),r("closed"),!o&&i&&t()}catch(a){if(o||a instanceof DOMException&&"AbortError"===a.name)return void r("closed");r("error"),i&&t()}}};return{get state(){return j},connect:()=>{o=!1,l=0,s(),u()},close:()=>{o=!0,s(),k.abort(),r("closed")},get abortController(){return k}}}({url:c,onEvent:b=>{try{let c=JSON.parse(b);if("connected"===c.type&&i(),a8.current!==a)return;bi.current?.(c)}catch{}},onStateChange:b=>{!function(a,b){let c=u().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()},B(c)),"connected"!==b&&"connected"===d&&C(c)}(a,b),"connected"===b&&(g&&(H(a),bj.current?.(a,"sse_reconnected")),g=!0)},reconnectBaseMs:1e3,reconnectMaxMs:3e4}),h.connect()})},[]),b$=(0,d.useCallback)(async(a,b="manual")=>{if(!a||a8.current!==a)return;let c=bx.current;try{let b=await fetch(`/api/agent/${encodeURIComponent(a)}`),e=await b.json().catch(()=>({}));if(a8.current!==a||bx.current!==c)return;if(e.running){var d;bh.current=!0,ao(!0),a2((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"})),a7.current&&"closed"!==a7.current.state&&"error"!==a7.current.state||(H(a),bZ(a,{replay:!0}))}else bh.current=!1,a7.current?.close(),a7.current=null,G(a),ao(!1),a2(null),aM(null),am({type:"end"}),M(a),await bS(a,!1,!1,!0);e.state?.contextUsage!==void 0&&aO(e.state.contextUsage??null),e.state?.systemPrompt!==void 0&&aQ(e.state.systemPrompt??null),e.state?.isCompacting!==void 0&&aY(e.state.isCompacting),e.state?.thinkingLevel!==void 0&&aK(e.state.thinkingLevel??"auto"),e.state?.queuedMessages!==void 0&&a4(O(e.state.queuedMessages)),bd(e.state),e.state?.isBashRunning&&(bE.current=!0,aI(!0),ao(!0),a2({kind:"running_tools",tools:[{id:"bash",name:"bash"}]}))}catch{}},[bZ,bS,bd]);bi.current=(0,d.useCallback)(a=>{let b=a8.current;switch(b&&function(a,b){let c=E(a),d=Date.now();switch(b.type){case"agent_start":if("active"===c.snapshot.phase)return z(c,!0),c.snapshot;return D(c),c.accumulatedText="",c.toolCalls.clear(),c.toolResults.clear(),c.activeToolId=null,c.snapshot={...w(a),phase:"active",startedAt:d,lastEventAt:d,isStreaming:!0,streamingMessage:{role:"assistant",content:[]}},B(c),z(c,!0),c.snapshot;case"message_update":{let a=b.message;if(a?.role==="assistant"){let b=a.content;for(let a of Array.isArray(b)?b:[])"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}))}else{let a=b.assistantMessageEvent;a?.type==="text_delta"?c.accumulatedText+=a.delta??"":a?.type==="text_end"?c.accumulatedText=a.content??c.accumulatedText:(a?.type==="toolcall_start"||a?.type==="toolcall_delta")&&a.id&&!c.toolCalls.has(a.id)&&c.toolCalls.set(a.id,{type:"toolCall",toolCallId:a.id,toolName:a.toolName??"tool",input:{},startedAt:d})}return z(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&&Object.keys(g.input).length>0?g.input:f,startedAt:g?.startedAt??d}),c.activeToolId=a,D(c),c.activeToolId&&(c.toolProgressTimer=setInterval(()=>z(c,!0),1e3)),z(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,D(c))}return z(c,!0),c.snapshot}case"message_end":return y(c),z(c,!0),c.snapshot;case"agent_end":{if(y(c),D(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},B(c),x(a,{type:"snapshot-updated",snapshot:c.snapshot}),c.snapshot;C(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},x(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&&(bD.current=Date.now()),a.type){case"prompt_admitted":case"agent_start":a6(null),bh.current=!0,ao(!0),a2({kind:"waiting_model"}),am({type:"start"});break;case"agent_end":if(!0===a.willRetry){bh.current=!0,ao(!0),a2({kind:"waiting_model"});break}if(bh.current=!1,ao(!1),a2(null),aM(null),am({type:"end"}),b){bB.current&&clearTimeout(bB.current);let a=bx.current,c=0,d=async()=>{if(a8.current!==b||bh.current||bx.current!==a)return;M(b),await bS(b,!1,!1,!0);let e=P[c++];void 0===e||a8.current!==b||bh.current||bx.current!==a||(bB.current=setTimeout(()=>{bB.current=null,d()},e))};d(),fetch(`/api/agent/${encodeURIComponent(b)}`).then(a=>a.json()).then(a=>{a.state?.contextUsage!==void 0&&aO(a.state.contextUsage??null),a.state?.systemPrompt!==void 0&&aQ(a.state.systemPrompt??null),a.state?.isCompacting!==void 0&&aY(a.state.isCompacting)}).catch(()=>{})}g?.();break;case"agent_settled":a2(null),aM(null),bh.current&&(bh.current=!1,ao(!1),am({type:"end"}));break;case"message_start":case"message_update":{let b=a.message;if(b?.role==="user")break;bh.current||(bh.current=!0,ao(!0),a2({kind:"waiting_model"}));let c=a.assistantMessageEvent;b?.role==="assistant"?am({type:"snapshot",message:e(b)}):c&&am({type:"delta",event:c}),a2(null);break}case"message_end":{let c=a.message,d="string"==typeof a.__entryId?a.__entryId:null,f=bh.current;if(c&&"user"!==c.role){"assistant"===c.role&&"error"===c.stopReason&&c.errorMessage?.trim()&&a6(`Model response failed: ${c.errorMessage.trim()}`);let a=e(c),f=l(a);if(f&&bt.current.set(f,{observedAt:Date.now(),message:a}),!(d&&bv.current.includes(d))){if(b&&d){let a=bs.current.get(b)??new Map;a.set(d,Date.now()),bs.current.set(b,a)}ac(b=>b.some(b=>W(b,a))?b:[...b,a]),d&&ae(a=>{if(a.includes(d))return a;let b=[...a,d];return bv.current=b,b})}}f&&(am({type:"reset"}),a2({kind:"waiting_model"}));break}case"replay_gap":b&&(M(b),bS(b,!1,!1,!0));break;case"prompt_done":if(!bh.current)break;b$(a8.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(bh.current=!1,ao(!1),a2(null),aM(null),am({type:"end"}),a7.current?.close(),a7.current=null,b){for(let[a,c]of(G(b),bq.current))c.sessionId===b&&"prompt"===c.kind&&bq.current.delete(a);M(b),bS(b,!1,!1,!0)}a6(`Model request failed: ${c}`),g?.();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;a2(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_update":{let b=a.toolCallId,c=a.toolName,d=function(a){if(!k(a))return null;let b=a.content;if(!Array.isArray(b))return null;let c=b.filter(a=>k(a)&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join("\n").split(/\r?\n/),d="";for(let a=c.length-1;a>=0&&!(d=c[a].trim());a-=1);if(!d)return null;let e=d.replace(/\s+/g," ");return e.length<=500?e:`...${e.slice(-497)}`}(a.partialResult);if(!b)break;a2(a=>{let e=a?.kind==="running_tools"?[...a.tools]:[],f=e.find(a=>a.id===b),g={id:b,name:c||f?.name||"tool",args:f?.args,progress:d??f?.progress};return{kind:"running_tools",tools:[...e.filter(a=>a.id!==b),g]}});break}case"tool_execution_end":{let b=a.toolCallId;a2(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"extension_ui_request":case"extension_error":be(a);break;case"bash_execution_start":{let b=String(a.command??"");bE.current=!0,aI(!0),aG({command:b,output:""}),ao(!0),a2({kind:"running_tools",tools:[{id:"bash",name:"bash",args:b}]});break}case"bash_execution_update":{let b="string"==typeof a.chunk?a.chunk:"";if(!b)break;bF.current+=b,bG.current||(bG.current=setTimeout(()=>{bG.current=null;let a=bF.current;bF.current="",a&&aG(b=>b?{...b,output:b.output+a}:b)},60));break}case"bash_done":{bG.current&&(clearTimeout(bG.current),bG.current=null),bF.current="",bE.current=!1,aI(!1),aG(null),ao(!1),a2(null);let a=a8.current;a&&(M(a),bS(a,!1,!1,!0));break}case"queue_update":a4(O({steering:Array.isArray(a.steering)?a.steering:[],followUp:Array.isArray(a.followUp)?a.followUp:[]}));break;case"auto_retry_start":a6(null),bh.current=!0,ao(!0),a2({kind:"waiting_model"}),aM({attempt:a.attempt,maxAttempts:a.maxAttempts,errorMessage:a.errorMessage});break;case"auto_retry_end":aM(null),!1===a.success&&"string"==typeof a.finalError&&a.finalError.trim()?a6(`Model response failed after retries: ${a.finalError.trim()}`):!0===a.success&&a6(null);break;case"auto_compaction_start":case"compaction_start":aY(!0),a$(null);break;case"auto_compaction_end":case"compaction_end":aY(!1),a.errorMessage?a$(a.errorMessage):!a.aborted&&a8.current&&bS(a8.current)}},[bS,g,b$,be]);let b_=(0,d.useCallback)(async(a,d,e,f)=>{if(!a.trim()&&!d?.length&&!e?.length||an)return;bx.current+=1;let g=bN(e),i=a.trim()?g?`${a}
5
+
6
+ Attached document text:
7
+
8
+ ${g}`:a:g?`Attached document text:
9
+
10
+ ${g}`:"",j=[],k=v?c:b?.cwd??A?.info?.cwd;if(d?.length&&k)try{j=await p(k,d)}catch(a){a6(a instanceof Error?a.message:String(a));return}let l=j.length?j.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,o.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:l?.length?[...i.trim()?[{type:"text",text:i}]:[],...l]:i,timestamp:Date.now()},r=R(),s=v?null:b?.id??null;s&&M(s);let u=bu.current,w=T(q.content);bq.current.set(r,{localId:r,sessionId:s??"__new__",leafId:u,message:q,createdAt:Date.now(),kind:"prompt",confirmKey:w,confirmCountAtCreate:v?0:w?br.current.get(w)??0:0}),ac(a=>[...a,q]),a6(null),bh.current=!0,ao(!0),a2({kind:"waiting_model"}),am({type:"start"}),bn.current=!0;let x=ar.find(a=>a.provider===bK?.provider&&a.id===bK?.modelId)?.input,y=!x||0===x.length||x.includes("image")?d?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})):void 0;try{if(v&&c){ax&&aW(ax);let b=f??bM(),d=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:c,type:"prompt",message:i,toolNames:b,deferPrompt:!0,...y?.length?{images:y}:{},...ax?{provider:ax.provider,modelId:ax.modelId}:{},..."auto"!==aJ?{thinkingLevel:aJ}:{}})}),e=await d.json().catch(()=>({}));if(!d.ok||e.error||!e.sessionId)throw Error(e.error??`HTTP ${d.status}`);let g=e.sessionId;a8.current=g;let j=bq.current.get(r);j&&(j.sessionId=g),bk.current?.(),bk.current=F(g,()=>{a8.current===g&&(ao(!1),a2(null))}),bw.current=g,await bZ(g,{requireConnected:!0,timeoutMs:1e4}),await n(g,{type:"prompt",message:i,toolNames:b,...y?.length?{images:y}:{}}),h?.({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=f??bM();await bO(b.id),bk.current?.(),bk.current=F(b.id,()=>{a8.current===b.id&&(ao(!1),a2(null))}),await bZ(b.id,{requireConnected:!0,timeoutMs:1e4}),await n(b.id,{type:"prompt",message:i,toolNames:a,leafId:u,...bK?{provider:bK.provider,modelId:bK.modelId}:{},..."auto"!==aJ?{thinkingLevel:aJ}:{},...y?.length?{images:y}:{}})}}catch(c){let b=a8.current;if(bq.current.delete(r),ac(a=>a.filter(a=>a!==q)),c instanceof m&&(409===c.status||"SESSION_BUSY"===c.code)){a6("This session is already running in another tab. Showing that active run instead."),bh.current=!0,ao(!0),a2({kind:"waiting_model"}),am({type:"start"}),b&&(a7.current?.close(),a7.current=null,H(b),bZ(b,{replay:!0}),bj.current?.(b,"prompt_conflict"));return}if(console.error("Failed to send message:",c),v&&a8.current){let a=a8.current;a8.current=null,bw.current=null,fetch(`/api/sessions/${encodeURIComponent(a)}`,{method:"DELETE"}).catch(()=>{})}t?.current&&a.trim()&&t.current.insertIfEmpty(a),t?.current&&d?.length&&t.current.addBase64Images?.(d.map(({data:a,mimeType:b})=>({data:a,mimeType:b}))),a6(c instanceof Error?c.message:String(c)),a7.current?.close(),a7.current=null,b&&G(b),bh.current=!1,ao(!1),a2(null),am({type:"end"})}},[v,c,ax,bM,aJ,b,A?.info?.cwd,an,bZ,h,bN,ar,bK,bO,t]),b0=(0,d.useCallback)(async()=>{let a=a8.current;if(!a)return;let b=bE.current;bh.current=!1,aI(!1),aG(null),a6(null),ao(!1),a2(null),am({type:"end"}),a7.current?.close(),a7.current=null,G(a),M(a);try{await n(a,{type:b?"abort_bash":"abort"}),await bS(a,!1,!1,!0)}catch(b){console.error("Failed to abort:",b),await bS(a,!1,!1,!0)}finally{b&&(bE.current=!1,aI(!1),aG(null))}},[bS]),b1=(0,d.useCallback)(async(a,b)=>{let c=a8.current,d=a.trim();if(c&&d){bE.current=!0,aI(!0),a6(null),aG({command:d,output:""}),bh.current=!0,ao(!0),a2({kind:"running_tools",tools:[{id:"bash",name:"bash",args:d}]});try{await n(c,{type:"bash",command:d,excludeFromContext:b})}catch(a){a6(a instanceof Error?a.message:String(a))}finally{bG.current&&(clearTimeout(bG.current),bG.current=null),bF.current="",bE.current=!1,aI(!1),aG(null),bh.current=!1,ao(!1),a2(null),M(c),await bS(c,!1,!1,!0)}}},[bS]),b2=(0,d.useCallback)(async a=>{let b=a8.current;if(b){aS(a);try{let{cancelled:c,newSessionId:d}=await n(b,{type:"fork",entryId:a})??{};!c&&d&&i?.(d)}catch(a){console.error("Fork failed:",a)}finally{aS(null)}}},[i]),b3=(0,d.useCallback)(async a=>{let d=a8.current,e=A?.info?.cwd??b?.cwd??c??null;if(!d||!e)return{ok:!1,error:"No active session to fork"};if(bh.current)return{ok:!1,error:"Agent is still running"};try{let b=bM(),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,...bK?{provider:bK.provider,modelId:bK.modelId}:{},..."auto"!==aJ?{thinkingLevel:aJ}:{}})}),f=await c.json().catch(()=>({}));if(!c.ok||f.error||!f.sessionId)return{ok:!1,error:f.error??`HTTP ${c.status}`};let g=f.sessionId;try{await n(g,{type:"append_message",message:a,customType:"fork_handoff",display:!0})}catch{}return h?.({id:g,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)}}},[A?.info?.cwd,b?.cwd,c,bK,aJ,bM,h]),b4=(0,d.useCallback)(async a=>{let b=a8.current;b&&(bs.current.delete(b),M(b),bu.current=a,aa(a),await bW(b,a))},[bW]);(0,d.useCallback)(async a=>{bu.current=a,aa(a);let b=a8.current;b&&(bs.current.delete(b),M(b),await bW(b,a))},[bW]);let b5=(0,d.useCallback)(async(a,b)=>{if(v)return void bH({provider:a,modelId:b});let c=a8.current;if(c)try{var d;a6(null);let e=await n(c,{type:"set_model",provider:a,modelId:b}),f={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)&&aK(e.thinkingLevel),aU(f),I(a=>a?{...a,context:{...a.context,model:f}}:a)}catch(b){let a=b instanceof Error?b.message:String(b);console.error("Failed to set model:",b),a6(a)}},[v,bH]),b6=(0,d.useCallback)(async()=>{let a=a8.current;if(a&&!aX){aY(!0),a$(null),a0(null);try{let b=await n(a,{type:"compact"});b?.reducedBy!=null&&a0(`Compacted ~${b.tokensBefore??"?"} → ~${b.tokensAfter??"?"} tokens (−${b.reducedBy})`),await bS(a,!0)}catch(a){a$(a instanceof Error?a.message:String(a))}finally{aY(!1)}}},[aX,bS]),b7=(0,d.useCallback)(async(a,b,c)=>{let d=a8.current;if(!d)return;M(d);let e=bN(c),f=a.trim()?e?`${a}
11
+
12
+ Attached document text:
13
+
14
+ ${e}`:a:e?`Attached document text:
15
+
16
+ ${e}`:"",g=ar.find(a=>a.provider===bK?.provider&&a.id===bK?.modelId)?.input,h=!g||0===g.length||g.includes("image")?b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})):void 0,i={role:"user",content:`[steer] ${f}`,timestamp:Date.now()},j=R(),k=S(f,h?.length??0);bq.current.set(j,{localId:j,sessionId:d,leafId:bu.current,message:i,createdAt:Date.now(),kind:"steer",confirmKey:k,confirmCountAtCreate:k?br.current.get(k)??0:0}),ac(a=>[...a,i]);try{await n(d,{type:"steer",message:f,...h?.length?{images:h}:{}})}catch(a){bq.current.delete(j),console.error("Failed to steer:",a)}},[bN,ar,bK]),b8=(0,d.useCallback)(async(a,b,c)=>{let d=a8.current;if(!d)return;M(d);let e=bN(c),f=a.trim()?e?`${a}
17
+
18
+ Attached document text:
19
+
20
+ ${e}`:a:e?`Attached document text:
21
+
22
+ ${e}`:"",g=ar.find(a=>a.provider===bK?.provider&&a.id===bK?.modelId)?.input,h=!g||0===g.length||g.includes("image")?b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})):void 0,i={role:"user",content:f,timestamp:Date.now()},j=R(),k=S(f,h?.length??0);bq.current.set(j,{localId:j,sessionId:d,leafId:bu.current,message:i,createdAt:Date.now(),kind:"follow_up",confirmKey:k,confirmCountAtCreate:k?br.current.get(k)??0:0}),ac(a=>[...a,i]);try{await n(d,{type:"follow_up",message:f,...h?.length?{images:h}:{}})}catch(a){bq.current.delete(j),console.error("Failed to follow up:",a)}},[bN,ar,bK]),b9=(0,d.useCallback)(async()=>{let a=a8.current;if(a)try{await n(a,{type:"abort_compaction"})}catch(a){console.error("Failed to abort compaction:",a)}},[]),ca=(0,d.useCallback)(async a=>{if(aK(a),"auto"===a)return;let b=a8.current;if(b)try{await n(b,{type:"set_thinking_level",level:a})}catch(a){console.error("Failed to set thinking level:",a)}},[]),cb=(0,d.useCallback)(async a=>{bI(a);let b=(0,N.tE)(a,aB),c=a8.current;if(c)try{await n(c,{type:"set_tools",toolNames:b})}catch(a){console.error("Failed to set tools:",a)}},[aB,bI]),cc=(0,d.useCallback)(async a=>{bJ(a);let b=(0,N.tE)(az,a),c=a8.current;if(c)try{await n(c,{type:"set_tools",toolNames:b})}catch(a){console.error("Failed to set memory tools:",a)}},[bJ,az]);(0,d.useCallback)((a="smooth")=>{bo.current?.scrollIntoView({behavior:a})},[]),(0,d.useCallback)(()=>{let a=bp.current,b=bm.current;if(!a||!b)return;let c=b.getBoundingClientRect().top-a.getBoundingClientRect().top+a.scrollTop;a.scrollTo({top:c-16,behavior:"smooth"})},[]);let cd=(0,d.useCallback)(async()=>{let a=a8.current;if(a)try{await n(a,{type:"clear_queue"}),a4({steering:[],followUp:[]})}catch(a){a6(a instanceof Error?a.message:String(a))}},[]);return{data:A,loading:X,error:Z,activeLeafId:_,messages:ab,entryIds:ad,streamState:al,agentRunning:an,modelNames:ap,modelList:ar,modelThinkingLevels:at,modelThinkingLevelMaps:av,newSessionModel:ax,toolPreset:az,memoryTools:aB,thinkingLevel:aJ,retryInfo:aL,queuedMessages:a3,extensionStatuses:a9,extensionWidgets:ba,extensionDialog:bb,extensionNotices:bc,bashLive:aF,bashRunning:aH,contextUsage:aN,systemPrompt:aP,forkingEntryId:aR,isCompacting:aX,compactError:aZ,compactInfo:a_,currentModel:bK,displayModel:bL,sessionStats:bP,agentPhase:a1,agentError:a5,isNew:v,sessionIdRef:a8,sseReaderRef:a7,messagesEndRef:bo,scrollContainerRef:bp,lastUserMsgRef:bm,pendingScrollToUserRef:bn,initialScrollDoneRef:bl,handleSend:b_,handleAbort:b0,handleFork:b2,handleNavigate:b4,handleModelChange:b5,handleCompact:b6,handleSteer:b7,handleFollowUp:b8,handleAbortCompaction:b9,handleToolPresetChange:cb,handleMemoryToolsChange:cc,handleThinkingLevelChange:ca,handleClearQueue:cd,handleBash:b1,respondToExtensionUi:bf,dismissExtensionNotice:bg,loadTools:bX,loadSlashCommands:bY,slashCommands:aD,setActiveLeafId:aa,setData:I,setMessages:ac,dispatch:am,setAgentRunning:ao,setForkingEntryId:aS,forkToNewSession:b3,loadMoreMessages:bU,hasMoreMessages:ah,totalMessages:af,loadedMessagesCount:aj,loadShadowedMessages:bV,handleAgentEventRef:bi}}}};