@37chengshan/ompweb 0.3.5

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 (631) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +66 -0
  3. package/.next/build-manifest.json +20 -0
  4. package/.next/export-marker.json +6 -0
  5. package/.next/images-manifest.json +68 -0
  6. package/.next/next-minimal-server.js.nft.json +1 -0
  7. package/.next/next-server.js.nft.json +1 -0
  8. package/.next/package.json +1 -0
  9. package/.next/prerender-manifest.json +189 -0
  10. package/.next/react-loadable-manifest.json +499 -0
  11. package/.next/required-server-files.js +364 -0
  12. package/.next/required-server-files.json +364 -0
  13. package/.next/routes-manifest.json +513 -0
  14. package/.next/server/app/_global-error/page.js +31 -0
  15. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  16. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  17. package/.next/server/app/_global-error.html +1 -0
  18. package/.next/server/app/_global-error.meta +27 -0
  19. package/.next/server/app/_global-error.rsc +15 -0
  20. package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
  21. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +21 -0
  22. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  23. package/.next/server/app/_not-found/page.js +1 -0
  24. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  25. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  26. package/.next/server/app/_not-found.html +1 -0
  27. package/.next/server/app/_not-found.meta +27 -0
  28. package/.next/server/app/_not-found.rsc +26 -0
  29. package/.next/server/app/_not-found.segments/_full.segment.rsc +26 -0
  30. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +27 -0
  31. package/.next/server/app/_not-found.segments/_tree.segment.rsc +8 -0
  32. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -0
  33. package/.next/server/app/api/agent/[id]/bash-output/route.js.nft.json +1 -0
  34. package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -0
  35. package/.next/server/app/api/agent/[id]/events/route.js +5 -0
  36. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -0
  37. package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -0
  38. package/.next/server/app/api/agent/[id]/route.js +1 -0
  39. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -0
  40. package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -0
  41. package/.next/server/app/api/agent/new/route.js +1 -0
  42. package/.next/server/app/api/agent/new/route.js.nft.json +1 -0
  43. package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -0
  44. package/.next/server/app/api/agent/running/events/route.js +3 -0
  45. package/.next/server/app/api/agent/running/events/route.js.nft.json +1 -0
  46. package/.next/server/app/api/agent/running/events/route_client-reference-manifest.js +1 -0
  47. package/.next/server/app/api/agents/route.js +1 -0
  48. package/.next/server/app/api/agents/route.js.nft.json +1 -0
  49. package/.next/server/app/api/agents/route_client-reference-manifest.js +1 -0
  50. package/.next/server/app/api/app-update/route.js +1 -0
  51. package/.next/server/app/api/app-update/route.js.nft.json +1 -0
  52. package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -0
  53. package/.next/server/app/api/auth/all-providers/route.js +1 -0
  54. package/.next/server/app/api/auth/all-providers/route.js.nft.json +1 -0
  55. package/.next/server/app/api/auth/all-providers/route_client-reference-manifest.js +1 -0
  56. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -0
  57. package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -0
  58. package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -0
  59. package/.next/server/app/api/auth/login/[provider]/route.js +3 -0
  60. package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -0
  61. package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -0
  62. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -0
  63. package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +1 -0
  64. package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -0
  65. package/.next/server/app/api/auth/providers/route.js +1 -0
  66. package/.next/server/app/api/auth/providers/route.js.nft.json +1 -0
  67. package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -0
  68. package/.next/server/app/api/cwd/browse/route.js +1 -0
  69. package/.next/server/app/api/cwd/browse/route.js.nft.json +1 -0
  70. package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -0
  71. package/.next/server/app/api/cwd/validate/route.js +1 -0
  72. package/.next/server/app/api/cwd/validate/route.js.nft.json +1 -0
  73. package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -0
  74. package/.next/server/app/api/default-cwd/route.js +1 -0
  75. package/.next/server/app/api/default-cwd/route.js.nft.json +1 -0
  76. package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -0
  77. package/.next/server/app/api/file-index/route.js +1 -0
  78. package/.next/server/app/api/file-index/route.js.nft.json +1 -0
  79. package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -0
  80. package/.next/server/app/api/files/[...path]/route.js +49 -0
  81. package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -0
  82. package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -0
  83. package/.next/server/app/api/git/diff/route.js +6 -0
  84. package/.next/server/app/api/git/diff/route.js.nft.json +1 -0
  85. package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -0
  86. package/.next/server/app/api/git/status/route.js +6 -0
  87. package/.next/server/app/api/git/status/route.js.nft.json +1 -0
  88. package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -0
  89. package/.next/server/app/api/home/route.js +1 -0
  90. package/.next/server/app/api/home/route.js.nft.json +1 -0
  91. package/.next/server/app/api/home/route_client-reference-manifest.js +1 -0
  92. package/.next/server/app/api/mcp/route.js +4 -0
  93. package/.next/server/app/api/mcp/route.js.nft.json +1 -0
  94. package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -0
  95. package/.next/server/app/api/model-roles/route.js +1 -0
  96. package/.next/server/app/api/model-roles/route.js.nft.json +1 -0
  97. package/.next/server/app/api/model-roles/route_client-reference-manifest.js +1 -0
  98. package/.next/server/app/api/models/fetch/route.js +1 -0
  99. package/.next/server/app/api/models/fetch/route.js.nft.json +1 -0
  100. package/.next/server/app/api/models/fetch/route_client-reference-manifest.js +1 -0
  101. package/.next/server/app/api/models/route.js +1 -0
  102. package/.next/server/app/api/models/route.js.nft.json +1 -0
  103. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
  104. package/.next/server/app/api/models-config/catalog/route.js +1 -0
  105. package/.next/server/app/api/models-config/catalog/route.js.nft.json +1 -0
  106. package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -0
  107. package/.next/server/app/api/models-config/route.js +1 -0
  108. package/.next/server/app/api/models-config/route.js.nft.json +1 -0
  109. package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -0
  110. package/.next/server/app/api/models-config/test/route.js +1 -0
  111. package/.next/server/app/api/models-config/test/route.js.nft.json +1 -0
  112. package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -0
  113. package/.next/server/app/api/omp-settings/route.js +1 -0
  114. package/.next/server/app/api/omp-settings/route.js.nft.json +1 -0
  115. package/.next/server/app/api/omp-settings/route_client-reference-manifest.js +1 -0
  116. package/.next/server/app/api/omp-update/route.js +2 -0
  117. package/.next/server/app/api/omp-update/route.js.nft.json +1 -0
  118. package/.next/server/app/api/omp-update/route_client-reference-manifest.js +1 -0
  119. package/.next/server/app/api/omp-version/route.js +1 -0
  120. package/.next/server/app/api/omp-version/route.js.nft.json +1 -0
  121. package/.next/server/app/api/omp-version/route_client-reference-manifest.js +1 -0
  122. package/.next/server/app/api/plugins/route.js +1 -0
  123. package/.next/server/app/api/plugins/route.js.nft.json +1 -0
  124. package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -0
  125. package/.next/server/app/api/projects/route.js +2 -0
  126. package/.next/server/app/api/projects/route.js.nft.json +1 -0
  127. package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -0
  128. package/.next/server/app/api/providers/enable/route.js +1 -0
  129. package/.next/server/app/api/providers/enable/route.js.nft.json +1 -0
  130. package/.next/server/app/api/providers/enable/route_client-reference-manifest.js +1 -0
  131. package/.next/server/app/api/reveal/route.js +1 -0
  132. package/.next/server/app/api/reveal/route.js.nft.json +1 -0
  133. package/.next/server/app/api/reveal/route_client-reference-manifest.js +1 -0
  134. package/.next/server/app/api/sessions/[id]/archive/route.js +1 -0
  135. package/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -0
  136. package/.next/server/app/api/sessions/[id]/archive/route_client-reference-manifest.js +1 -0
  137. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -0
  138. package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -0
  139. package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -0
  140. package/.next/server/app/api/sessions/[id]/context/route.js +1 -0
  141. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -0
  142. package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -0
  143. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -0
  144. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js.nft.json +1 -0
  145. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -0
  146. package/.next/server/app/api/sessions/[id]/export/route.js +1 -0
  147. package/.next/server/app/api/sessions/[id]/export/route.js.nft.json +1 -0
  148. package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -0
  149. package/.next/server/app/api/sessions/[id]/plan/route.js +1 -0
  150. package/.next/server/app/api/sessions/[id]/plan/route.js.nft.json +1 -0
  151. package/.next/server/app/api/sessions/[id]/plan/route_client-reference-manifest.js +1 -0
  152. package/.next/server/app/api/sessions/[id]/route.js +1 -0
  153. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -0
  154. package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -0
  155. package/.next/server/app/api/sessions/[id]/state/route.js +1 -0
  156. package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -0
  157. package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -0
  158. package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route.js +1 -0
  159. package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route.js.nft.json +1 -0
  160. package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route_client-reference-manifest.js +1 -0
  161. package/.next/server/app/api/sessions/[id]/subagents/route.js +1 -0
  162. package/.next/server/app/api/sessions/[id]/subagents/route.js.nft.json +1 -0
  163. package/.next/server/app/api/sessions/[id]/subagents/route_client-reference-manifest.js +1 -0
  164. package/.next/server/app/api/sessions/archive/route.js +1 -0
  165. package/.next/server/app/api/sessions/archive/route.js.nft.json +1 -0
  166. package/.next/server/app/api/sessions/archive/route_client-reference-manifest.js +1 -0
  167. package/.next/server/app/api/sessions/import/route.js +1 -0
  168. package/.next/server/app/api/sessions/import/route.js.nft.json +1 -0
  169. package/.next/server/app/api/sessions/import/route_client-reference-manifest.js +1 -0
  170. package/.next/server/app/api/sessions/route.js +1 -0
  171. package/.next/server/app/api/sessions/route.js.nft.json +1 -0
  172. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
  173. package/.next/server/app/api/skills/check/route.js +1 -0
  174. package/.next/server/app/api/skills/check/route.js.nft.json +1 -0
  175. package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -0
  176. package/.next/server/app/api/skills/install/route.js +1 -0
  177. package/.next/server/app/api/skills/install/route.js.nft.json +1 -0
  178. package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -0
  179. package/.next/server/app/api/skills/route.js +4 -0
  180. package/.next/server/app/api/skills/route.js.nft.json +1 -0
  181. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -0
  182. package/.next/server/app/api/skills/search/route.js +1 -0
  183. package/.next/server/app/api/skills/search/route.js.nft.json +1 -0
  184. package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -0
  185. package/.next/server/app/api/skills/update/route.js +1 -0
  186. package/.next/server/app/api/skills/update/route.js.nft.json +1 -0
  187. package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -0
  188. package/.next/server/app/api/terminal/input/route.js +8 -0
  189. package/.next/server/app/api/terminal/input/route.js.nft.json +1 -0
  190. package/.next/server/app/api/terminal/input/route_client-reference-manifest.js +1 -0
  191. package/.next/server/app/api/terminal/open/route.js +1 -0
  192. package/.next/server/app/api/terminal/open/route.js.nft.json +1 -0
  193. package/.next/server/app/api/terminal/open/route_client-reference-manifest.js +1 -0
  194. package/.next/server/app/api/terminal/session/route.js +8 -0
  195. package/.next/server/app/api/terminal/session/route.js.nft.json +1 -0
  196. package/.next/server/app/api/terminal/session/route_client-reference-manifest.js +1 -0
  197. package/.next/server/app/api/terminal/stream/route.js +13 -0
  198. package/.next/server/app/api/terminal/stream/route.js.nft.json +1 -0
  199. package/.next/server/app/api/terminal/stream/route_client-reference-manifest.js +1 -0
  200. package/.next/server/app/api/web-auth/session/route.js +1 -0
  201. package/.next/server/app/api/web-auth/session/route.js.nft.json +1 -0
  202. package/.next/server/app/api/web-auth/session/route_client-reference-manifest.js +1 -0
  203. package/.next/server/app/api/worktrees/route.js +1 -0
  204. package/.next/server/app/api/worktrees/route.js.nft.json +1 -0
  205. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -0
  206. package/.next/server/app/favicon.ico/route.js +1 -0
  207. package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  208. package/.next/server/app/favicon.ico.body +0 -0
  209. package/.next/server/app/favicon.ico.meta +1 -0
  210. package/.next/server/app/index.html +1 -0
  211. package/.next/server/app/index.meta +21 -0
  212. package/.next/server/app/index.rsc +29 -0
  213. package/.next/server/app/index.segments/__PAGE__.segment.rsc +28 -0
  214. package/.next/server/app/index.segments/_full.segment.rsc +29 -0
  215. package/.next/server/app/index.segments/_tree.segment.rsc +8 -0
  216. package/.next/server/app/login/page.js +1 -0
  217. package/.next/server/app/login/page.js.nft.json +1 -0
  218. package/.next/server/app/login/page_client-reference-manifest.js +1 -0
  219. package/.next/server/app/login.html +1 -0
  220. package/.next/server/app/login.meta +26 -0
  221. package/.next/server/app/login.rsc +29 -0
  222. package/.next/server/app/login.segments/_full.segment.rsc +29 -0
  223. package/.next/server/app/login.segments/_tree.segment.rsc +8 -0
  224. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +28 -0
  225. package/.next/server/app/manifest.webmanifest/route.js +17 -0
  226. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
  227. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -0
  228. package/.next/server/app/manifest.webmanifest.body +1 -0
  229. package/.next/server/app/manifest.webmanifest.meta +1 -0
  230. package/.next/server/app/page.js +1 -0
  231. package/.next/server/app/page.js.nft.json +1 -0
  232. package/.next/server/app/page_client-reference-manifest.js +1 -0
  233. package/.next/server/app-paths-manifest.json +66 -0
  234. package/.next/server/chunks/1636.js +1 -0
  235. package/.next/server/chunks/1671.js +1 -0
  236. package/.next/server/chunks/1813.js +1 -0
  237. package/.next/server/chunks/2349.js +1 -0
  238. package/.next/server/chunks/3290.js +4 -0
  239. package/.next/server/chunks/3294.js +25 -0
  240. package/.next/server/chunks/3379.js +1 -0
  241. package/.next/server/chunks/3425.js +163 -0
  242. package/.next/server/chunks/3798.js +5 -0
  243. package/.next/server/chunks/4509.js +12 -0
  244. package/.next/server/chunks/4741.js +165 -0
  245. package/.next/server/chunks/5309.js +1 -0
  246. package/.next/server/chunks/6465.js +1 -0
  247. package/.next/server/chunks/7834.js +5 -0
  248. package/.next/server/chunks/7839.js +1 -0
  249. package/.next/server/chunks/8333.js +1 -0
  250. package/.next/server/functions-config-manifest.json +16 -0
  251. package/.next/server/instrumentation.js +1 -0
  252. package/.next/server/instrumentation.js.nft.json +1 -0
  253. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  254. package/.next/server/middleware-build-manifest.js +1 -0
  255. package/.next/server/middleware-manifest.json +6 -0
  256. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  257. package/.next/server/middleware.js +163 -0
  258. package/.next/server/middleware.js.nft.json +1 -0
  259. package/.next/server/next-font-manifest.js +1 -0
  260. package/.next/server/next-font-manifest.json +1 -0
  261. package/.next/server/pages/404.html +1 -0
  262. package/.next/server/pages/500.html +1 -0
  263. package/.next/server/pages-manifest.json +4 -0
  264. package/.next/server/prefetch-hints.json +53 -0
  265. package/.next/server/server-reference-manifest.js +1 -0
  266. package/.next/server/server-reference-manifest.json +1 -0
  267. package/.next/server/webpack-runtime.js +1 -0
  268. package/.next/static/cA3mF_wj2VN78irY68Wcm/_buildManifest.js +1 -0
  269. package/.next/static/cA3mF_wj2VN78irY68Wcm/_ssgManifest.js +1 -0
  270. package/.next/static/chunks/103.23142a67b02246a8.js +215 -0
  271. package/.next/static/chunks/1032.d9a9179233599785.js +1 -0
  272. package/.next/static/chunks/1063.775c442bdbeef08b.js +1 -0
  273. package/.next/static/chunks/1133.0f37525b2b215f36.js +1 -0
  274. package/.next/static/chunks/1327.09252bb80616cc3a.js +1 -0
  275. package/.next/static/chunks/1708.c3a1896e4cc9f8d9.js +1 -0
  276. package/.next/static/chunks/1781.9072b4c9586df549.js +1 -0
  277. package/.next/static/chunks/1ba63609.b2ae90f43319a29e.js +153 -0
  278. package/.next/static/chunks/202.95416cc0d8e6df0e.js +131 -0
  279. package/.next/static/chunks/2081.47b6e9391094055f.js +1 -0
  280. package/.next/static/chunks/2181.ba21239d3ac39f81.js +1 -0
  281. package/.next/static/chunks/2201.08d1cac24fc438ee.js +1 -0
  282. package/.next/static/chunks/2258.4defa30121ef44a5.js +1 -0
  283. package/.next/static/chunks/2325.23caf22075e51aa5.js +1 -0
  284. package/.next/static/chunks/2356.523277bb8c6bf72a.js +23 -0
  285. package/.next/static/chunks/2414.8b3662a85cd1b14e.js +1 -0
  286. package/.next/static/chunks/2418.b5d9e177e10a686e.js +1 -0
  287. package/.next/static/chunks/2480.cf27ca02e5b19761.js +24 -0
  288. package/.next/static/chunks/2539.c5a4f2fd8e421c70.js +41 -0
  289. package/.next/static/chunks/2584-20a03146e1e2db70.js +1 -0
  290. package/.next/static/chunks/2619.9431a3f48da8eef4.js +1 -0
  291. package/.next/static/chunks/268.ec500965c1761e26.js +80 -0
  292. package/.next/static/chunks/2695.b732ef1965253b3f.js +90 -0
  293. package/.next/static/chunks/2703.495a65ed14b2f094.js +36 -0
  294. package/.next/static/chunks/2821.934bcf60fbdc28c6.js +1 -0
  295. package/.next/static/chunks/3251.408c817adb161919.js +1 -0
  296. package/.next/static/chunks/3308.8e27b5c43a478f0d.js +73 -0
  297. package/.next/static/chunks/3336.a76f9485fe7cb762.js +1 -0
  298. package/.next/static/chunks/3606.ddd8065b4a3108bd.js +1 -0
  299. package/.next/static/chunks/370.8e8f3cf8eb0e29dd.js +1 -0
  300. package/.next/static/chunks/3716.72bf4c9d7325debd.js +1 -0
  301. package/.next/static/chunks/3794-d7cddff008311ab3.js +52 -0
  302. package/.next/static/chunks/394.475e54c848486e3a.js +1 -0
  303. package/.next/static/chunks/398.ffa02af9062a3950.js +77 -0
  304. package/.next/static/chunks/3995.eca0f5bef1fc3ae5.js +38 -0
  305. package/.next/static/chunks/4004.74b9bcf5478b1663.js +160 -0
  306. package/.next/static/chunks/4202.8440832386f023c7.js +226 -0
  307. package/.next/static/chunks/4238.6f102dcbcf2ae339.js +141 -0
  308. package/.next/static/chunks/4405.7a19458960a1058e.js +287 -0
  309. package/.next/static/chunks/4424.fd0c93a807a333e1.js +1 -0
  310. package/.next/static/chunks/4559.2e7ed39ea2757280.js +1 -0
  311. package/.next/static/chunks/484.c74eeb0fca9a9ddf.js +1 -0
  312. package/.next/static/chunks/4854.b64a1daa15899219.js +1 -0
  313. package/.next/static/chunks/4866.d1060b4faf2ae1e2.js +1 -0
  314. package/.next/static/chunks/4970.8a63b4953b0e4946.js +1 -0
  315. package/.next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js +1 -0
  316. package/.next/static/chunks/5020.9ac8d0dc8390bb6e.js +1 -0
  317. package/.next/static/chunks/5137.f163e94c74a94d01.js +1 -0
  318. package/.next/static/chunks/5165.2681017cd0bd291f.js +1 -0
  319. package/.next/static/chunks/5242.7b643c6b3394cac1.js +1 -0
  320. package/.next/static/chunks/5361.afc00ab2626bacbf.js +1 -0
  321. package/.next/static/chunks/5521.cfdf2cfc6db31407.js +1 -0
  322. package/.next/static/chunks/5526.ff46471041fdcb79.js +86 -0
  323. package/.next/static/chunks/5658.600b820420422057.js +1 -0
  324. package/.next/static/chunks/5681.dd0e66b0de16e54b.js +27 -0
  325. package/.next/static/chunks/6121.eb9023b1cbc78ee2.js +1 -0
  326. package/.next/static/chunks/6161.4836cd7d031026bf.js +1 -0
  327. package/.next/static/chunks/6195.8710aa41b2319dff.js +24 -0
  328. package/.next/static/chunks/6202.f4317cf0a48876f9.js +1 -0
  329. package/.next/static/chunks/6294.24f510c0c3e3714c.js +1 -0
  330. package/.next/static/chunks/6654.41440ef667144967.js +1 -0
  331. package/.next/static/chunks/6794.57bf1aff78682f3a.js +93 -0
  332. package/.next/static/chunks/7256.e07cf52d87d40252.js +1 -0
  333. package/.next/static/chunks/7268.2f59c671f26160f3.js +1 -0
  334. package/.next/static/chunks/7331.2add3c4e125a2dba.js +104 -0
  335. package/.next/static/chunks/7543.89f7b805ed0f2901.js +1 -0
  336. package/.next/static/chunks/8114.8a8fdee4c3b7fd4b.js +1 -0
  337. package/.next/static/chunks/8200.a36b9f8c983c6b9e.js +5 -0
  338. package/.next/static/chunks/852.60444b32fcbeb00c.js +1 -0
  339. package/.next/static/chunks/8673.8f38e67890334c5a.js +1 -0
  340. package/.next/static/chunks/869.7152372b662e31af.js +1 -0
  341. package/.next/static/chunks/8863.fa0320ea586efb3b.js +1 -0
  342. package/.next/static/chunks/8885.d9308c756376780b.js +79 -0
  343. package/.next/static/chunks/8901.e117d206a917bda0.js +1 -0
  344. package/.next/static/chunks/90542734.ae439f2382f58c51.js +1 -0
  345. package/.next/static/chunks/918.6a9bbe564e4a2d0f.js +115 -0
  346. package/.next/static/chunks/934.9006461bd0548660.js +1 -0
  347. package/.next/static/chunks/9365.a3e0e5ac101ccd02.js +1 -0
  348. package/.next/static/chunks/9522.c7c6e9c330f9ba6b.js +1 -0
  349. package/.next/static/chunks/9614.3221013d7f0af27f.js +64 -0
  350. package/.next/static/chunks/9698.4d09a99b9d99f3e5.js +148 -0
  351. package/.next/static/chunks/9705.40a82b97f214e28b.js +1 -0
  352. package/.next/static/chunks/973.9efc01efd9d768a5.js +8 -0
  353. package/.next/static/chunks/9754.d67dec946fc871d4.js +25 -0
  354. package/.next/static/chunks/9764.2669775c6e107a01.js +62 -0
  355. package/.next/static/chunks/9793.4567af813117ad25.js +1 -0
  356. package/.next/static/chunks/993e5495.598a97aa1337298f.js +62 -0
  357. package/.next/static/chunks/9974.9a0f79beca65e8c4.js +34 -0
  358. package/.next/static/chunks/9981.678c7bcc42f24571.js +1 -0
  359. package/.next/static/chunks/app/_global-error/page-48788bcdc79e1c9e.js +1 -0
  360. package/.next/static/chunks/app/_not-found/page-8753f2eb4b097627.js +1 -0
  361. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-48788bcdc79e1c9e.js +1 -0
  362. package/.next/static/chunks/app/api/agent/[id]/events/route-48788bcdc79e1c9e.js +1 -0
  363. package/.next/static/chunks/app/api/agent/[id]/route-48788bcdc79e1c9e.js +1 -0
  364. package/.next/static/chunks/app/api/agent/new/route-48788bcdc79e1c9e.js +1 -0
  365. package/.next/static/chunks/app/api/agent/running/events/route-48788bcdc79e1c9e.js +1 -0
  366. package/.next/static/chunks/app/api/agents/route-48788bcdc79e1c9e.js +1 -0
  367. package/.next/static/chunks/app/api/app-update/route-48788bcdc79e1c9e.js +1 -0
  368. package/.next/static/chunks/app/api/auth/all-providers/route-48788bcdc79e1c9e.js +1 -0
  369. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-48788bcdc79e1c9e.js +1 -0
  370. package/.next/static/chunks/app/api/auth/login/[provider]/route-48788bcdc79e1c9e.js +1 -0
  371. package/.next/static/chunks/app/api/auth/logout/[provider]/route-48788bcdc79e1c9e.js +1 -0
  372. package/.next/static/chunks/app/api/auth/providers/route-48788bcdc79e1c9e.js +1 -0
  373. package/.next/static/chunks/app/api/cwd/browse/route-48788bcdc79e1c9e.js +1 -0
  374. package/.next/static/chunks/app/api/cwd/validate/route-48788bcdc79e1c9e.js +1 -0
  375. package/.next/static/chunks/app/api/default-cwd/route-48788bcdc79e1c9e.js +1 -0
  376. package/.next/static/chunks/app/api/file-index/route-48788bcdc79e1c9e.js +1 -0
  377. package/.next/static/chunks/app/api/files/[...path]/route-48788bcdc79e1c9e.js +1 -0
  378. package/.next/static/chunks/app/api/git/diff/route-48788bcdc79e1c9e.js +1 -0
  379. package/.next/static/chunks/app/api/git/status/route-48788bcdc79e1c9e.js +1 -0
  380. package/.next/static/chunks/app/api/home/route-48788bcdc79e1c9e.js +1 -0
  381. package/.next/static/chunks/app/api/mcp/route-48788bcdc79e1c9e.js +1 -0
  382. package/.next/static/chunks/app/api/model-roles/route-48788bcdc79e1c9e.js +1 -0
  383. package/.next/static/chunks/app/api/models/fetch/route-48788bcdc79e1c9e.js +1 -0
  384. package/.next/static/chunks/app/api/models/route-48788bcdc79e1c9e.js +1 -0
  385. package/.next/static/chunks/app/api/models-config/catalog/route-48788bcdc79e1c9e.js +1 -0
  386. package/.next/static/chunks/app/api/models-config/route-48788bcdc79e1c9e.js +1 -0
  387. package/.next/static/chunks/app/api/models-config/test/route-48788bcdc79e1c9e.js +1 -0
  388. package/.next/static/chunks/app/api/omp-settings/route-48788bcdc79e1c9e.js +1 -0
  389. package/.next/static/chunks/app/api/omp-update/route-48788bcdc79e1c9e.js +1 -0
  390. package/.next/static/chunks/app/api/omp-version/route-48788bcdc79e1c9e.js +1 -0
  391. package/.next/static/chunks/app/api/plugins/route-48788bcdc79e1c9e.js +1 -0
  392. package/.next/static/chunks/app/api/projects/route-48788bcdc79e1c9e.js +1 -0
  393. package/.next/static/chunks/app/api/providers/enable/route-48788bcdc79e1c9e.js +1 -0
  394. package/.next/static/chunks/app/api/reveal/route-48788bcdc79e1c9e.js +1 -0
  395. package/.next/static/chunks/app/api/sessions/[id]/archive/route-48788bcdc79e1c9e.js +1 -0
  396. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-48788bcdc79e1c9e.js +1 -0
  397. package/.next/static/chunks/app/api/sessions/[id]/context/route-48788bcdc79e1c9e.js +1 -0
  398. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-48788bcdc79e1c9e.js +1 -0
  399. package/.next/static/chunks/app/api/sessions/[id]/export/route-48788bcdc79e1c9e.js +1 -0
  400. package/.next/static/chunks/app/api/sessions/[id]/plan/route-48788bcdc79e1c9e.js +1 -0
  401. package/.next/static/chunks/app/api/sessions/[id]/route-48788bcdc79e1c9e.js +1 -0
  402. package/.next/static/chunks/app/api/sessions/[id]/state/route-48788bcdc79e1c9e.js +1 -0
  403. package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-48788bcdc79e1c9e.js +1 -0
  404. package/.next/static/chunks/app/api/sessions/[id]/subagents/route-48788bcdc79e1c9e.js +1 -0
  405. package/.next/static/chunks/app/api/sessions/archive/route-48788bcdc79e1c9e.js +1 -0
  406. package/.next/static/chunks/app/api/sessions/import/route-48788bcdc79e1c9e.js +1 -0
  407. package/.next/static/chunks/app/api/sessions/route-48788bcdc79e1c9e.js +1 -0
  408. package/.next/static/chunks/app/api/skills/check/route-48788bcdc79e1c9e.js +1 -0
  409. package/.next/static/chunks/app/api/skills/install/route-48788bcdc79e1c9e.js +1 -0
  410. package/.next/static/chunks/app/api/skills/route-48788bcdc79e1c9e.js +1 -0
  411. package/.next/static/chunks/app/api/skills/search/route-48788bcdc79e1c9e.js +1 -0
  412. package/.next/static/chunks/app/api/skills/update/route-48788bcdc79e1c9e.js +1 -0
  413. package/.next/static/chunks/app/api/terminal/input/route-48788bcdc79e1c9e.js +1 -0
  414. package/.next/static/chunks/app/api/terminal/open/route-48788bcdc79e1c9e.js +1 -0
  415. package/.next/static/chunks/app/api/terminal/session/route-48788bcdc79e1c9e.js +1 -0
  416. package/.next/static/chunks/app/api/terminal/stream/route-48788bcdc79e1c9e.js +1 -0
  417. package/.next/static/chunks/app/api/web-auth/session/route-48788bcdc79e1c9e.js +1 -0
  418. package/.next/static/chunks/app/api/worktrees/route-48788bcdc79e1c9e.js +1 -0
  419. package/.next/static/chunks/app/error-9ba463bef8c2cf06.js +1 -0
  420. package/.next/static/chunks/app/global-error-871c4baa96801c4e.js +1 -0
  421. package/.next/static/chunks/app/layout-347584865a4cd886.js +1 -0
  422. package/.next/static/chunks/app/login/page-7a5cd8dbc1789d87.js +1 -0
  423. package/.next/static/chunks/app/manifest.webmanifest/route-48788bcdc79e1c9e.js +1 -0
  424. package/.next/static/chunks/app/page-833698058d71b603.js +1 -0
  425. package/.next/static/chunks/bf2ff291.244c8a7c1c14966a.js +122 -0
  426. package/.next/static/chunks/d3ac728e.7964f816a1ca64e5.js +1 -0
  427. package/.next/static/chunks/da12927c.476aa688a637649c.js +82 -0
  428. package/.next/static/chunks/db9d41be.27ee8fcc7bf00d70.js +1 -0
  429. package/.next/static/chunks/e868780c.0440c4cbaec74878.js +18 -0
  430. package/.next/static/chunks/framework-b33a8f5d57cd8d87.js +1 -0
  431. package/.next/static/chunks/main-354b27ede3eb835a.js +5 -0
  432. package/.next/static/chunks/main-app-14cb310088a8e6b1.js +1 -0
  433. package/.next/static/chunks/next/dist/client/components/builtin/app-error-48788bcdc79e1c9e.js +1 -0
  434. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-48788bcdc79e1c9e.js +1 -0
  435. package/.next/static/chunks/next/dist/client/components/builtin/not-found-48788bcdc79e1c9e.js +1 -0
  436. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-48788bcdc79e1c9e.js +1 -0
  437. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  438. package/.next/static/chunks/webpack-2a4b77ae5d80a8ba.js +1 -0
  439. package/.next/static/css/2f46e0db0d4a3aed.css +1 -0
  440. package/.next/static/css/5fe2a8af79a7efdf.css +1 -0
  441. package/.next/static/css/921bec6c70de20d4.css +1 -0
  442. package/.next/static/css/dda9acc8fa0835d6.css +1 -0
  443. package/.next/static/media/01bdb1c2bb2f530a-s.woff2 +0 -0
  444. package/.next/static/media/060fd7a2ba6f57dc-s.woff2 +0 -0
  445. package/.next/static/media/06d755a5cd3e2b96-s.woff2 +0 -0
  446. package/.next/static/media/09341845bc7215c3-s.woff2 +0 -0
  447. package/.next/static/media/09d8b46d011a8a55-s.woff2 +0 -0
  448. package/.next/static/media/0ac3ab6b6a54cd96-s.woff2 +0 -0
  449. package/.next/static/media/0cb7a0edc360425e-s.woff2 +0 -0
  450. package/.next/static/media/0de82041d2acf4c3-s.woff2 +0 -0
  451. package/.next/static/media/1249fbbadbb69451-s.woff2 +0 -0
  452. package/.next/static/media/15605e25b523335c-s.woff2 +0 -0
  453. package/.next/static/media/182682366c265526-s.woff2 +0 -0
  454. package/.next/static/media/1a3dce5cfb5f7760-s.woff2 +0 -0
  455. package/.next/static/media/1cdd02902f937a18-s.woff2 +0 -0
  456. package/.next/static/media/246116fa49278f72-s.woff2 +0 -0
  457. package/.next/static/media/2ad4a039dd2c0f35-s.woff2 +0 -0
  458. package/.next/static/media/2cd94acf7f6a8cd1-s.woff2 +0 -0
  459. package/.next/static/media/30af2a5bc088caeb-s.woff2 +0 -0
  460. package/.next/static/media/3117748ae3be552d-s.woff2 +0 -0
  461. package/.next/static/media/373befd5a68230ff-s.woff2 +0 -0
  462. package/.next/static/media/37ae20ae1d329cc2-s.woff2 +0 -0
  463. package/.next/static/media/3832bef2caf4f297-s.woff2 +0 -0
  464. package/.next/static/media/3b6ebd4dd223d8c1-s.woff2 +0 -0
  465. package/.next/static/media/3d165c286d94e27c-s.woff2 +0 -0
  466. package/.next/static/media/3da25081fc21e3b2-s.woff2 +0 -0
  467. package/.next/static/media/3eb545844a1630b6-s.woff2 +0 -0
  468. package/.next/static/media/41870aeb5505be99-s.woff2 +0 -0
  469. package/.next/static/media/45c8f5377f81d417-s.woff2 +0 -0
  470. package/.next/static/media/48d86e2f8821c61e-s.woff2 +0 -0
  471. package/.next/static/media/4957022da3161c6e-s.woff2 +0 -0
  472. package/.next/static/media/4be71ddc6c749643-s.woff2 +0 -0
  473. package/.next/static/media/4c4b3b30b6bcb2be-s.woff2 +0 -0
  474. package/.next/static/media/4dc4381bbf526d04-s.woff2 +0 -0
  475. package/.next/static/media/4eb0814ea9e22f45-s.woff2 +0 -0
  476. package/.next/static/media/4f86cf50532e0e9b-s.woff2 +0 -0
  477. package/.next/static/media/5022b11bb4a81e48-s.woff2 +0 -0
  478. package/.next/static/media/5080c55e2dccd63d-s.woff2 +0 -0
  479. package/.next/static/media/5348b1e69a651725-s.woff2 +0 -0
  480. package/.next/static/media/54c50561be23e605-s.woff2 +0 -0
  481. package/.next/static/media/567d6f765096ee76-s.woff2 +0 -0
  482. package/.next/static/media/58045d1f8695a418-s.woff2 +0 -0
  483. package/.next/static/media/591e43f23f51e5a5-s.woff2 +0 -0
  484. package/.next/static/media/5a274ddc03d9a5ab-s.woff2 +0 -0
  485. package/.next/static/media/5feee92221bb8605-s.woff2 +0 -0
  486. package/.next/static/media/6067d3f78ecc4535-s.woff2 +0 -0
  487. package/.next/static/media/61a11ca45429493a-s.woff2 +0 -0
  488. package/.next/static/media/63d030730737efae-s.woff2 +0 -0
  489. package/.next/static/media/641a7b8a5800ee0e-s.woff2 +0 -0
  490. package/.next/static/media/6bd056ddce336924-s.woff2 +0 -0
  491. package/.next/static/media/6dc0bae4a5666821-s.woff2 +0 -0
  492. package/.next/static/media/7513cc52807669ca-s.woff2 +0 -0
  493. package/.next/static/media/75ae81fea4aec8c5-s.woff2 +0 -0
  494. package/.next/static/media/77f6534b6a3eb37a-s.woff2 +0 -0
  495. package/.next/static/media/782d4006a26041e7-s.woff2 +0 -0
  496. package/.next/static/media/7c21074d9bafed1b-s.woff2 +0 -0
  497. package/.next/static/media/7d509f4f988023eb-s.woff2 +0 -0
  498. package/.next/static/media/7d58f39a50828c68-s.woff2 +0 -0
  499. package/.next/static/media/7db71cc013812f1c-s.woff2 +0 -0
  500. package/.next/static/media/7deddc85b7ffd1dc-s.p.woff2 +0 -0
  501. package/.next/static/media/7eb3f914ae6dd7a0-s.woff2 +0 -0
  502. package/.next/static/media/8051eb8307aa13c8-s.woff2 +0 -0
  503. package/.next/static/media/829dca987e1e010e-s.woff2 +0 -0
  504. package/.next/static/media/842f675c7a332a48-s.woff2 +0 -0
  505. package/.next/static/media/866e2e7b0cbc2cb4-s.woff2 +0 -0
  506. package/.next/static/media/86b38dc7f713ddda-s.woff2 +0 -0
  507. package/.next/static/media/8a3a66ae6bb27151-s.woff2 +0 -0
  508. package/.next/static/media/8b56b70f6d577d9f-s.woff2 +0 -0
  509. package/.next/static/media/8d93dbb77672da11-s.woff2 +0 -0
  510. package/.next/static/media/8f5c2d0a25b8f50c-s.woff2 +0 -0
  511. package/.next/static/media/916860560b9a2bc2-s.woff2 +0 -0
  512. package/.next/static/media/966e6d14b6c229fc-s.woff2 +0 -0
  513. package/.next/static/media/97ac91773d3121b2-s.p.woff2 +0 -0
  514. package/.next/static/media/9877fefe733dd250-s.woff2 +0 -0
  515. package/.next/static/media/9c57f4420502d43a-s.woff2 +0 -0
  516. package/.next/static/media/9cedd2ad7b0bcf3d-s.woff2 +0 -0
  517. package/.next/static/media/KaTeX_AMS-Regular.1608a09b.woff +0 -0
  518. package/.next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
  519. package/.next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
  520. package/.next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
  521. package/.next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
  522. package/.next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
  523. package/.next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
  524. package/.next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
  525. package/.next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
  526. package/.next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
  527. package/.next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
  528. package/.next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
  529. package/.next/static/media/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
  530. package/.next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
  531. package/.next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
  532. package/.next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
  533. package/.next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
  534. package/.next/static/media/KaTeX_Main-Bold.d181c465.woff +0 -0
  535. package/.next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
  536. package/.next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
  537. package/.next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
  538. package/.next/static/media/KaTeX_Main-Italic.47373d1e.ttf +0 -0
  539. package/.next/static/media/KaTeX_Main-Italic.8916142b.woff2 +0 -0
  540. package/.next/static/media/KaTeX_Main-Italic.9024d815.woff +0 -0
  541. package/.next/static/media/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
  542. package/.next/static/media/KaTeX_Main-Regular.7f51fe03.woff +0 -0
  543. package/.next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
  544. package/.next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
  545. package/.next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
  546. package/.next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
  547. package/.next/static/media/KaTeX_Math-Italic.5295ba48.woff +0 -0
  548. package/.next/static/media/KaTeX_Math-Italic.939bc644.ttf +0 -0
  549. package/.next/static/media/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
  550. package/.next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
  551. package/.next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
  552. package/.next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
  553. package/.next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
  554. package/.next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
  555. package/.next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
  556. package/.next/static/media/KaTeX_SansSerif-Regular.74048478.woff +0 -0
  557. package/.next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
  558. package/.next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
  559. package/.next/static/media/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
  560. package/.next/static/media/KaTeX_Script-Regular.07505710.woff +0 -0
  561. package/.next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
  562. package/.next/static/media/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
  563. package/.next/static/media/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
  564. package/.next/static/media/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
  565. package/.next/static/media/KaTeX_Size2-Regular.57727022.woff +0 -0
  566. package/.next/static/media/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
  567. package/.next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
  568. package/.next/static/media/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
  569. package/.next/static/media/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
  570. package/.next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
  571. package/.next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
  572. package/.next/static/media/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
  573. package/.next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
  574. package/.next/static/media/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
  575. package/.next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
  576. package/.next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
  577. package/.next/static/media/a00fb5ef1ca68e5d-s.woff2 +0 -0
  578. package/.next/static/media/a171b1d72388367c-s.woff2 +0 -0
  579. package/.next/static/media/a310fb84e6868735-s.woff2 +0 -0
  580. package/.next/static/media/a53504b22c396db6-s.woff2 +0 -0
  581. package/.next/static/media/aabb87babcdda375-s.woff2 +0 -0
  582. package/.next/static/media/afe75c8050c8fd4e-s.woff2 +0 -0
  583. package/.next/static/media/b201193f76404e13-s.woff2 +0 -0
  584. package/.next/static/media/b20daecae68a588f-s.p.woff2 +0 -0
  585. package/.next/static/media/b2574bc564dca98d-s.woff2 +0 -0
  586. package/.next/static/media/b6a1339c290590d0-s.woff2 +0 -0
  587. package/.next/static/media/b6fe4b2295863fe4-s.woff2 +0 -0
  588. package/.next/static/media/bb8ff9c700288292-s.woff2 +0 -0
  589. package/.next/static/media/bc1ccfae4ae17995-s.woff2 +0 -0
  590. package/.next/static/media/be15c189f996aeb2-s.woff2 +0 -0
  591. package/.next/static/media/c0d1f6928a1dbc31-s.woff2 +0 -0
  592. package/.next/static/media/c36d8bb68a53eb60-s.woff2 +0 -0
  593. package/.next/static/media/c5db947ee2561e06-s.woff2 +0 -0
  594. package/.next/static/media/c77ac7f613b44045-s.woff2 +0 -0
  595. package/.next/static/media/ca73d0c74010e612-s.woff2 +0 -0
  596. package/.next/static/media/cfbad6ceeeca5c58-s.woff2 +0 -0
  597. package/.next/static/media/d24aebb82f01e48d-s.woff2 +0 -0
  598. package/.next/static/media/d2c6107607eb7d44-s.woff2 +0 -0
  599. package/.next/static/media/d2c7d5e8db7ce20a-s.woff2 +0 -0
  600. package/.next/static/media/d51f7558abc55aa6-s.woff2 +0 -0
  601. package/.next/static/media/da718921282f76d0-s.woff2 +0 -0
  602. package/.next/static/media/dae37106d788c7c9-s.woff2 +0 -0
  603. package/.next/static/media/e0d4cd45847004a4-s.woff2 +0 -0
  604. package/.next/static/media/e100c7a7874aebd9-s.woff2 +0 -0
  605. package/.next/static/media/e26dff18031f4a7e-s.woff2 +0 -0
  606. package/.next/static/media/e54d16b9f2c4535b-s.woff2 +0 -0
  607. package/.next/static/media/e5b759c1d5c42d99-s.woff2 +0 -0
  608. package/.next/static/media/ea21a07081db26d0-s.woff2 +0 -0
  609. package/.next/static/media/eaee7682c49bd1c2-s.woff2 +0 -0
  610. package/.next/static/media/ec14413c594b3356-s.p.woff2 +0 -0
  611. package/.next/static/media/ec408158b9e08aea-s.woff2 +0 -0
  612. package/.next/static/media/ee5d9aad76ea4c0a-s.woff2 +0 -0
  613. package/.next/static/media/efdbc7cff3271ee9-s.woff2 +0 -0
  614. package/.next/static/media/f128be4e72405705-s.woff2 +0 -0
  615. package/.next/static/media/fb6cfff6119f26e8-s.woff2 +0 -0
  616. package/.next/static/media/fd516adbc3328c82-s.woff2 +0 -0
  617. package/LICENSE +21 -0
  618. package/README.ja.md +139 -0
  619. package/README.md +194 -0
  620. package/README.zh-CN.md +177 -0
  621. package/bin/network-addresses.js +197 -0
  622. package/bin/node-version.js +35 -0
  623. package/bin/omp-web-options.js +86 -0
  624. package/bin/omp-web-security.test.mjs +9 -0
  625. package/bin/omp-web.js +147 -0
  626. package/bin/port-availability.js +27 -0
  627. package/bin/process-lifecycle.js +71 -0
  628. package/bin/process-lifecycle.test.mjs +83 -0
  629. package/next.config.ts +94 -0
  630. package/package.json +83 -0
  631. package/public/icon.png +0 -0
@@ -0,0 +1,131 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[202],{6014:(e,t,r)=>{r.d(t,{q:()=>a});var n=r(12115),i=r(7834);function a(){let[e,t]=(0,n.useState)(!1),r=(0,n.useRef)(null),a=(0,n.useRef)(!0),o=(0,n.useCallback)(e=>{(0,i.D)(e).then(()=>{a.current&&(t(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>t(!1),1500))}).catch(()=>{})},[]);return(0,n.useEffect)(()=>()=>{a.current=!1,r.current&&clearTimeout(r.current)},[]),{copied:e,copy:o}}},7834:(e,t,r)=>{r.d(t,{D:()=>n});function n(e){if(navigator.clipboard?.writeText)return navigator.clipboard.writeText(e);try{let t=document.createElement("textarea");return t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t),Promise.resolve()}catch{return Promise.reject()}}},18136:(e,t,r)=>{r.d(t,{K:()=>i});var n=r(52584);function i(e,t="errors.generic"){if("string"==typeof e)return e;let r=e?.code;if(r){let e=`errors.${r}`,t=(0,n.Tl)(e);if(t!==e)return t}if(e?.error)return e.error;let a=(0,n.Tl)(t);return a===t?"Request failed":a}},19870:(e,t,r)=>{function n(e){try{return decodeURIComponent(e)}catch{return e}}function i(e){return/^[a-zA-Z]:[\\/]/.test(e)||e.startsWith("\\\\")?e.replace(/\\/g,"/"):e}function a(e){let t=i(e),r=/^[a-zA-Z]:\//.test(t),n=t.startsWith("//"),a=t.startsWith("/")&&!r&&!n,o=[];for(let e of t.split("/"))if(e&&"."!==e){if(".."===e){o.length>0&&".."!==o[o.length-1]?o.pop():a||r||n||o.push(e);continue}o.push(e)}let s=o.join("/");return r?s:n?`//${s}`:a?`/${s}`:s}function o(e,t,r=t){let s,l,d,c,u;if(!e)return null;let p=e.split("#",1)[0].split("?",1)[0].trim();if(!p)return null;let h=null,g=null,f=n(p),m=f.startsWith("\\\\"),x=i(f),v=x.toLowerCase();if(v.startsWith("/api/")||v.startsWith("/_next/")||!m&&x.startsWith("//")||/^[a-zA-Z][a-zA-Z0-9+.-]*:/i.test(x)&&!v.startsWith("file:")&&!/^[a-zA-Z]:\//.test(x))return null;if(v.startsWith("file:")?g=(h=function(e){try{let t=new URL(e);if("file:"!==t.protocol)return null;let r=n(t.pathname);if(t.hostname)return`//${t.hostname}${r.startsWith("/")?r:`/${r}`}`;if(/^\/[a-zA-Z]:\//.test(r))return r.slice(1);return r}catch{return null}}(x))?"absolute":null:/^[a-zA-Z]:\//.test(x)||x.startsWith("/")?(h=x,g="absolute"):t&&!(x.startsWith("#")||x.startsWith("?"))&&(x.startsWith("./")||x.startsWith("../")||x.includes("/")||/(^|\/)\.?[^/]+\.[^/.]+$/.test(x))&&(h=`${i(t).replace(/\/+$/,"")}/${x}`,g="relative"),!h)return null;let y=a(h).replace(/:\d+(?::\d+)?$/,"");return"relative"===g&&r&&(s=a(y).replace(/\/+$/,""),l=a(r).replace(/\/+$/,""),c=(d=/^[a-zA-Z]:\//.test(s)||/^[a-zA-Z]:\//.test(l))?s.toLowerCase():s,!(c===(u=d?l.toLowerCase():l)||c.startsWith(`${u}/`)))?null:y}r.d(t,{V:()=>o})},28999:(e,t,r)=>{function n(e){return/^[a-zA-Z]:[\\/]/.test(e)||e.startsWith("\\\\")?e.replace(/\\/g,"/"):e}function i(e){let t=n(e),r=t.startsWith("//"),i=t.split("/").filter(Boolean);return r&&i.length>0&&(i[0]=`//${i[0]}`),i.map(encodeURIComponent).join("/")}function a(e){let t=n(e).replace(/\/+$/,"");return t.split("/").pop()??t}function o(e){let t=n(e).replace(/\/+$/,""),r=t.lastIndexOf("/");return r<0?"":0===r?"/":2===r&&/^[a-zA-Z]:\//.test(t)?t.slice(0,3):t.slice(0,r)}function s(e,t){if(!t)return e;let r=n(e),i=n(t).replace(/\/$/,""),a=/^[a-zA-Z]:\//.test(r)||r.startsWith("//")||/^[a-zA-Z]:\//.test(i)||i.startsWith("//"),o=a?r.toLowerCase():r,s=a?i.toLowerCase():i;return o.startsWith(s+"/")?r.slice(i.length+1):e}function l(e,t){return`${n(e).replace(/\/$/,"")}/${t}`}r.d(t,{A0:()=>n,HG:()=>i,WP:()=>a,e_:()=>l,gX:()=>o,qP:()=>s})},30808:(e,t,r)=>{r.d(t,{Cf:()=>y,HM:()=>k,L3:()=>b,Nt:()=>j,R6:()=>S,lG:()=>v,m_:()=>w});var n=r(95155),i=r(53474),a=r(72222),o=r(45477),s=r(59567),l=r(11975),d=r(52579),c=r(3683),u=r(11412),p=r(80403),h=r(15383),g=r(96238),f=r(27443),m=r(4280),x=r(11827);function v({open:e,onOpenChange:t,children:r}){return(0,n.jsx)(i.D,{open:e,onOpenChange:t,children:r})}function y({children:e,className:t,style:r,ariaLabel:i}){return(0,n.jsxs)(a.Z,{children:[(0,n.jsx)(o.X,{style:{position:"fixed",inset:0,background:"var(--overlay-backdrop)",backdropFilter:"blur(2px)",zIndex:1e3}}),(0,n.jsx)(s.h,{"aria-label":i,className:t,style:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",animation:"dialog-pop-in var(--dur-med) var(--ease-out-warm) both",zIndex:1001,background:"var(--bg)",color:"var(--text)",border:"1px solid var(--border)",borderRadius:"var(--radius-modal)",boxShadow:"var(--shadow-modal)",padding:20,maxWidth:"min(92vw, 560px)",maxHeight:"85dvh",overflow:"auto",...r},children:e})]})}function b({children:e,style:t}){return(0,n.jsx)(l.L,{className:"display-serif",style:{fontSize:20,margin:"0 0 12px",...t},children:e})}let k=d.H;function w({content:e,children:t,side:r="top"}){return(0,n.jsx)(c.B,{delay:350,closeDelay:0,children:(0,n.jsxs)(u.s,{children:[(0,n.jsx)(p.k,{render:t}),(0,n.jsx)(h.K,{children:(0,n.jsx)(g.o,{side:r,sideOffset:6,style:{zIndex:1100},children:(0,n.jsx)(f.o,{style:{background:"var(--bg-panel)",color:"var(--text)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",boxShadow:"var(--shadow-pop)",padding:"4px 9px",fontSize:12,lineHeight:1.4,maxWidth:260},children:e})})})]})})}function j({open:e,onOpenChange:t,defaultOpen:r,children:i}){return(0,n.jsx)(m.N,{open:e,onOpenChange:t,defaultOpen:r,children:i})}let S=x.R},31590:(e,t,r)=>{r.d(t,{a:()=>l});var n=r(12115);let i="(max-width: 640px)";function a(e){if(!window.matchMedia)return()=>{};let t=window.matchMedia(i);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}function o(){return!!window.matchMedia&&window.matchMedia(i).matches}function s(){return!1}function l(){return(0,n.useSyncExternalStore)(a,o,s)}},32383:(e,t,r)=>{r.d(t,{$:()=>o,C:()=>a});var n=r(18136);let i=new Set;function a(e,t){t?i.add(e):i.delete(e)}async function o(e,t){let r=i.has(e)?"?advisor=1":"",a=await fetch(`/api/agent/${encodeURIComponent(e)}${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),o=await a.json().catch(()=>({}));if(!a.ok||o.error)throw Error(o.error||o.code?(0,n.K)(o):`HTTP ${a.status}`);return o.data}},51087:(e,t,r)=>{r.d(t,{oR:()=>w,tE:()=>T});var n=r(95155),i=r(66101),a=r(33208),o=r(23083),s=r(97787),l=r(48262),d=r(99777),c=r(32031),u=r(56395),p=r(40323),h=r(25818),g=r(64577),f=r(35484),m=r(14577),x=r(9005),v=r(12115),y=r(31590);let b=i.V();function k(e,t,r,n){return b.add({title:t,description:r,type:e,data:{kind:e,clamp:n?.clamp}})}let w={success:(e,t,r)=>k("success",e,t,r),error:(e,t,r)=>k("error",e,t,r),info:(e,t,r)=>k("info",e,t,r),close:e=>b.close(e)};function j({kind:e}){let t={size:13,strokeWidth:2,style:{flexShrink:0,marginTop:2}};return"success"===e?(0,n.jsx)(g.A,{...t,style:{...t.style,color:"var(--accent)"},"aria-hidden":!0}):"error"===e?(0,n.jsx)(f.A,{...t,style:{...t.style,color:"var(--accent-strong)"},"aria-hidden":!0}):(0,n.jsx)(m.A,{...t,style:{...t.style,color:"var(--text-muted)"},"aria-hidden":!0})}let S={fontSize:12,color:"var(--text-muted)",lineHeight:1.5,marginTop:2};function C({children:e}){let[t,r]=(0,v.useState)(!1);return(0,n.jsx)("span",{onClick:()=>r(e=>!e),"aria-expanded":t,title:t?void 0:"Click to expand",style:{...S,cursor:t?"default":"pointer",whiteSpace:"pre-wrap",wordBreak:"break-word",...t?{}:{display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},children:e})}function I(){let{toasts:e}=a.I(),t=(0,y.a)();return(0,n.jsx)(o.S,{children:(0,n.jsx)(s.U,{style:{position:"fixed",top:t?88:80,right:16,zIndex:2100,display:"flex",flexDirection:"column",gap:8,width:"min(92vw, 360px)",pointerEvents:"none"},children:e.map(e=>(0,n.jsxs)(l.m,{toast:e,className:"toast-card",style:{pointerEvents:"auto",display:"flex",alignItems:"flex-start",gap:8,background:"var(--bg)",color:"var(--text)",border:"1px solid var(--border)",borderRadius:"var(--radius-card)",boxShadow:"var(--shadow-pop)",padding:"10px 12px"},children:[(0,n.jsx)(j,{kind:e.type}),(0,n.jsxs)(d.p,{style:{flex:1,minWidth:0},children:[(0,n.jsx)(c.S,{className:"display-serif",style:{fontSize:13,lineHeight:1.4}}),e.data?.clamp?(0,n.jsx)(u.a,{render:(0,n.jsx)("div",{}),style:S,children:(0,n.jsx)(C,{children:e.description})}):(0,n.jsx)(u.a,{render:(0,n.jsx)("div",{}),style:S})]}),(0,n.jsx)(p.e,{"aria-label":"Dismiss",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,border:0,borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text-dim)",cursor:"pointer",flexShrink:0},children:(0,n.jsx)(x.A,{size:12,strokeWidth:2,"aria-hidden":!0})})]},e.id))})})}function T({children:e}){return(0,n.jsxs)(h.t,{toastManager:b,timeout:4e3,limit:4,children:[e,(0,n.jsx)(I,{})]})}},68925:(e,t,r)=>{r.d(t,{Ep:()=>f,T6:()=>p});var n=r(12115),i=r(5924),a=r(94764),o=r(63835),s=r(84678);let l={...a.j,attributes:{...a.j.attributes,code:[["className",/^language-./,"math-inline","math-display"]]},strip:[...a.j.strip||[],"iframe","object","style","form"]},d={remarkPlugins:[[s.A,{singleTilde:!1}]],rehypePlugins:[i.A,[o.A,l]]},c=null,u=null;function p(e){let t=e.includes("$")||e.includes("\\(")||e.includes("\\["),[,i]=(0,n.useState)(0);return(0,n.useEffect)(()=>{if(!t||c)return;let e=!1;return(!u&&(u=(async()=>{let[e,t]=await Promise.all([r.e(9365).then(r.bind(r,49365)).then(e=>e.default),Promise.all([r.e(7330),r.e(6202)]).then(r.bind(r,46202)).then(e=>e.default)]);return await Promise.all([r.e(5846),r.e(4559)]).then(r.t.bind(r,84559,23)),c={remarkPlugins:[...d.remarkPlugins,e],rehypePlugins:[...d.rehypePlugins,[t,{throwOnError:!1,strict:!1}]]}})().catch(e=>{throw u=null,e})),u).then(()=>{e||i(e=>e+1)}).catch(()=>{}),()=>{e=!0}},[t]),t&&c?c:d}let h=[],g=new Map;function f(e){let t=g.get(e);if(void 0!==t)return t;let r=function(e){let t=e.includes("\r\n")?"\r\n":"\n",r=e.split(/\r?\n/),n=[],i=null,a=0,o=null,s=new Map;for(let e=0;e<r.length;e++){var l;let t=r[e];if(o){n.push(t),RegExp(`</${o}\\s*>`,"i").test(t)&&(o=null);continue}let d=t.match(/^ {0,3}(`{3,}|~{3,})/);if(d){let e=d[1][0],r=d[1].length;i?e===i.marker&&r>=i.size&&(i=null):i={marker:e,size:r},a=0,n.push(t);continue}if(i){n.push(t);continue}let c=t.match(/<(code|pre|script|style)\b/i);if(c){let e=c[1].toLowerCase(),r=t.slice((c.index??0)+c[0].length);RegExp(`</${e}\\s*>`,"i").test(r)||(o=e),a=0,n.push(t);continue}if(/^(?: {4}|\t)/.test(t)||""===t.trim()){a=0,n.push(t);continue}if(a||t.includes("`")){a=function(e,t){let r=t;for(let t=0;t<e.length;){if("`"!==e[t]){t++;continue}let n=t+1;for(;"`"===e[n];)n++;let i=n-t;0===r?r=i:i===r&&(r=0),t=n}return r}(t,a),n.push(t);continue}let u=t.match(/^([ ]{0,3})\\\[[ \t]*(.+?)[ \t]*\\\][ \t]*$/);if(u){let e=u[2].trim();if(e){n.push(`${u[1]}$$`,`${u[1]}${e}`,`${u[1]}$$`);continue}}let p=t.match(/^([ ]{0,3})\\\[[ \t]*$/);if(p){let t=function(e,t){for(let r=t;r<e.length;r++){let t=e[r];if(/^ {0,3}\\\][ \t]*$/.test(t))return r;if(/^ {0,3}(`{3,}|~{3,})/.test(t)||/^ {0,3}\\\[[ \t]*$/.test(t)||/<(code|pre|script|style)\b/i.test(t))break}return -1}(r,e+1);if(-1!==t){n.push(`${p[1]}$$`,...r.slice(e+1,t).map(e=>x(e,p[1])),`${p[1]}$$`),e=t;continue}}let h=t.match(/^([ \t]{0,3})\$\$(.+)\$\$[ \t]*$/);if(h){let e=h[2].trim();if(e){n.push(`${h[1]}$$`,`${h[1]}${e}`,`${h[1]}$$`);continue}}let g=t.match(/^([ \t]{0,3})\$\$(.+)$/);if(g){let t=g[1],i=g[2].trimEnd();if(i&&!i.includes("$$")){let a=m(r,e+1,t,s);if(a){n.push(`${t}$$`,`${t}${i}`);for(let i=e+1;i<a.index;i++)n.push(x(r[i],t));a.content&&n.push(`${t}${a.content}`),n.push(`${t}$$`),e=a.index;continue}}}let f=t.match(/^([ \t]{0,3})\$\$\s*$/);if(f){let t=f[1],i=m(r,e+1,t,s);if(i&&(i.glued||""!==t)){n.push(`${t}$$`);for(let a=e+1;a<i.index;a++)n.push(x(r[a],t));i.content&&n.push(`${t}${i.content}`),n.push(`${t}$$`),e=i.index;continue}}n.push((l=t,/^\s{0,3}\[[^\]]+\]:/.test(l)||/]\s*\(/.test(l)||/<(?:!--|\/?[A-Za-z][^>]*>)/.test(l)||/\b(?:https?|file|mailto):/i.test(l)||/\b[A-Za-z]:\\/.test(l)?l:l.replace(/(?<!\\)\\\(([^`\r\n$]+?)(?<!\\)\\\)/g,(e,t)=>t.trim()?`$${t}$`:e)))}return n.join(t)}(e);if(h.length>=200){let e=h.shift();g.delete(e)}return h.push(e),g.set(e,r),r}function m(e,t,r,n){let i=n.get(r);if(void 0!==i&&t<i)return null;for(let i=t;i<e.length;i++){var a,o,s,l;let t=e[i];if(a=t,""===(o=r)?/^ {0,3}\$\$\s*$/.test(a):a.startsWith(o)&&/^\$\$\s*$/.test(a.slice(o.length)))return{index:i,content:"",glued:!1};if(s=t,/^ {0,3}(`{3,}|~{3,})/.test(s)||/^[ \t]*(?:[-+*]|\d{1,9}[.)])(?:[ \t]+|$)/.test(s)||/^ {0,3}#{1,6}(?:[ \t]+|$)/.test(s)||/^ {0,3}>/.test(s)||/<(code|pre|script|style)\b/i.test(s)||(l=t,/^ {0,3}\$\$(?:\S|[ \t]+\S)/.test(l)))return n.set(r,i),null;let d=function(e,t){if(!e.startsWith(t))return null;let r=e.slice(t.length).match(/^(.+?)\$\$\s*$/);if(!r)return null;let n=r[1].trimEnd();return n&&!n.includes("$$")?n:null}(t,r);if(null!==d)return{index:i,content:d,glued:!0}}return n.set(r,e.length),null}function x(e,t){if(!t||!e||e.startsWith(" "))return e;let r=e.match(/^ */)?.[0].length??0;return r>=t.length?e:`${t.slice(r)}${e}`}},69878:(e,t,r)=>{r.d(t,{Dx:()=>h,mm:()=>f,qc:()=>g});var n=r(95155),i=r(52584),a=r(66763),o=r(50981),s=r(12651),l=r(81499),d=r(86272),c=r(90710),u=r(738),p=r(82749);let h=[{id:"general",label:"Interface & Behavior",description:"UI preferences, completion sound, submission mode",Icon:a.A},{id:"safety",label:"Safety & Approvals",description:"Tool safety rules, YOLO mode, terminal permissions",Icon:o.A},{id:"models",label:"AI Model Defaults",description:"Reasoning budget, verbosity, personality, scratchpad",Icon:s.A},{id:"providers",label:"API Keys & Providers",description:"Connected OAuth accounts, API keys, and model registry",Icon:l.A},{id:"intelligence",label:"Agent & Intelligence",description:"Advisor, memory, autolearn, compaction and retry",Icon:d.A},{id:"agents",label:"Agents",description:"Task agents, model settings, and tool policy",Icon:c.A},{id:"mcp",label:"Extensions & Tools",description:"MCP servers, managed skills, and OMP plugins",Icon:u.A},{id:"system",label:"System & Updates",description:"App updates, runtime version, and active session restart",Icon:p.A}],g=e=>"skills"===e||"plugins"===e||"extensions"===e?"mcp":e;function f({active:e,onSelect:t,workspaceReady:r=!0,layout:a="vertical"}){let{t:o}=(0,i.s9)(),s=g(e),l=(e,n)=>{let i=h.filter(e=>!(e.needsWorkspace&&!r)),a=null;if(("ArrowRight"===e.key||"ArrowDown"===e.key)&&(a=n+1),("ArrowLeft"===e.key||"ArrowUp"===e.key)&&(a=n-1),"Home"===e.key&&(a=0),"End"===e.key&&(a=i.length-1),null!==a){e.preventDefault();let r=i[a]??i[n];if(r){t(r.id);let e=document.getElementById("settings-tab-"+r.id);e?.focus()}}};return"vertical"===a?(0,n.jsx)("nav",{"aria-label":o("settingsTabs.ariaLabel"),role:"tablist","aria-orientation":"vertical",style:{display:"flex",flexDirection:"column",gap:4,padding:"12px 8px",width:230,flexShrink:0,borderRight:"1px solid var(--border)",background:"var(--bg-panel)",overflowY:"auto"},children:h.map(({id:e,label:i,description:a,Icon:d,needsWorkspace:c},u)=>{let p=`settingsTabs.${e}.label`,h=`settingsTabs.${e}.description`,g=o(p),f=o(h),m=e===s,x=!!(c&&!r);return(0,n.jsxs)("button",{type:"button",role:"tab",id:`settings-tab-${e}`,"aria-selected":m,"aria-controls":`settings-panel-${e}`,tabIndex:m?0:-1,disabled:x,onClick:()=>t(e),onKeyDown:e=>l(e,u),style:{display:"flex",alignItems:"flex-start",gap:10,padding:"9px 10px",border:"none",borderRadius:"var(--radius-control)",background:m?"var(--bg-selected)":"transparent",color:m?"var(--text)":x?"var(--text-dim)":"var(--text-muted)",cursor:x?"not-allowed":"pointer",opacity:x?.5:1,textAlign:"left",transition:"background var(--dur-fast), color var(--dur-fast)",width:"100%"},children:[(0,n.jsx)(d,{size:16,"aria-hidden":"true",style:{marginTop:2,flexShrink:0,color:m?"var(--accent)":"currentColor"}}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:2},children:[(0,n.jsx)("div",{style:{fontSize:12.5,fontWeight:m?600:500,lineHeight:1.3,color:m?"var(--text)":"inherit"},children:g!==p?g:i}),(0,n.jsx)("div",{style:{fontSize:10.5,color:"var(--text-dim)",lineHeight:1.3,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:f!==h?f:a})]})]},e)})}):(0,n.jsx)("nav",{"aria-label":o("settingsTabs.ariaLabel"),role:"tablist",style:{display:"flex",gap:3,padding:"7px 12px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",flexShrink:0,overflowX:"auto"},children:h.map(({id:e,label:i,description:a,Icon:d,needsWorkspace:c},u)=>{let p=`settingsTabs.${e}.label`,h=`settingsTabs.${e}.description`,g=o(p),f=o(h),m=g!==p?g:i,x=f!==h?f:a,v=e===s,y=!!(c&&!r);return(0,n.jsxs)("button",{type:"button",role:"tab",id:`settings-tab-${e}`,"aria-selected":v,"aria-controls":`settings-panel-${e}`,"aria-label":`${m}: ${x}`,title:x,tabIndex:v?0:-1,disabled:y,onClick:()=>t(e),onKeyDown:e=>l(e,u),style:{display:"inline-flex",alignItems:"flex-start",gap:5,padding:"6px 9px",border:"none",borderRadius:"var(--radius-control)",background:v?"var(--bg-selected)":"transparent",color:v?"var(--text)":"var(--text-muted)",cursor:y?"not-allowed":"pointer",opacity:y?.45:1,fontSize:12,whiteSpace:"nowrap",textAlign:"left",minWidth:150},children:[(0,n.jsx)(d,{size:13,"aria-hidden":"true"}),(0,n.jsxs)("span",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[(0,n.jsx)("span",{style:{fontWeight:v?600:500},children:m}),(0,n.jsx)("span",{style:{maxWidth:220,overflow:"hidden",textOverflow:"ellipsis",color:"var(--text-muted)",fontSize:10,fontWeight:400,lineHeight:1.25},children:x})]})]},e)})})}},82490:(e,t,r)=>{r.d(t,{y:()=>i});let n=new Map;function i(e){let t;if(n.has(e)){let t=n.get(e);return n.delete(e),n.set(e,t),t}let r=[],i=null,o=0,s=0,l=[],d=[],c=()=>({lineNo:null,text:"",type:"empty"}),u=()=>{if(!i){l=[],d=[];return}let e=Math.max(l.length,d.length);for(let t=0;t<e;t++){let e=l[t]?{lineNo:l[t].lineNo,text:l[t].text,type:"removed"}:c(),r=d[t]?{lineNo:d[t].lineNo,text:d[t].text,type:"added"}:c();i.rows.push({type:"line",left:e,right:r})}l=[],d=[]};for(let n of e.split(/\r?\n/)){if(n.startsWith("--- ")){u(),t=a(n.slice(4));continue}if(n.startsWith("+++ ")){u(),i={oldPath:t,newPath:a(n.slice(4)),rows:[]},r.push(i);continue}let e=n.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(e){i||(i={rows:[]},r.push(i)),u(),o=Number(e[1]),s=Number(e[2]),i.rows.push({type:"hunk",text:n});continue}if(!i)continue;if(n.startsWith("\\ ")){u(),i.rows.push({type:"hunk",text:n});continue}let c=n[0],p=n.slice(1);" "===c?(u(),i.rows.push({type:"line",left:{lineNo:o++,text:p,type:"context"},right:{lineNo:s++,text:p,type:"context"}})):"-"===c?l.push({lineNo:o++,text:p}):"+"===c?d.push({lineNo:s++,text:p}):""!==n&&(u(),i.rows.push({type:"hunk",text:n}))}u();let p=r.filter(e=>e.rows.some(e=>"line"===e.type)),h=p.length>0?p:null;if(n.set(e,h),n.size>20){let e=n.keys().next().value;void 0!==e&&n.delete(e)}return h}function a(e){return e.split(" ")[0].trim()}},84111:(e,t,r)=>{function n(e,t){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.round(e/1e3)}k`:t?e.toLocaleString(t):String(e)}function i(e){return`${e.toFixed(1)}%`}function a(e,t){let r=e+t;return r>0?t/r*100:null}r.d(t,{l9:()=>i,uX:()=>a,wk:()=>n})},90202:(e,t,r)=>{r.r(t),r.d(t,{AppShell:()=>ay});var n=r(95155),i=r(12115),a=r(37206),o=r(73321);let s=null;var l=r(47650),d=r(52584),c=r(18136);let u=[];function p({onClose:e,active:t=!0}){let r=(0,i.useRef)(null),n=(0,i.useRef)(e);return n.current=e,(0,i.useEffect)(()=>{if(!t)return;let e=r.current;if(!e)return;let i=document.activeElement instanceof HTMLElement?document.activeElement:null;u.push(e),e.contains(document.activeElement)||e.focus();let a=t=>{if(u[u.length-1]!==e)return;if("Escape"===t.key){if(t.isComposing||229===t.keyCode)return;t.preventDefault(),t.stopPropagation(),n.current();return}if("Tab"!==t.key)return;let r=Array.from(e.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(e=>e.getClientRects().length>0||e===document.activeElement);if(0===r.length){t.preventDefault(),e.focus();return}let i=document.activeElement,a=i instanceof Node&&e.contains(i);t.shiftKey?a&&i!==r[0]&&i!==e||(t.preventDefault(),r[r.length-1].focus()):a&&i!==r[r.length-1]||(t.preventDefault(),r[0].focus())};return document.addEventListener("keydown",a,!0),()=>{document.removeEventListener("keydown",a,!0);let t=u.indexOf(e);-1!==t&&u.splice(t,1),i&&i.isConnected&&i.focus()}},[t]),r}async function h(e){let t=e?`?path=${encodeURIComponent(e)}`:"",r=await fetch(`/api/cwd/browse${t}`),n=await r.json();if(!r.ok||n.error)throw Error((0,c.K)({...n,error:n.error??`HTTP ${r.status}`}));return n}function g(){return(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.3","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M1.5 3h4l1.5 2h7.5v7.5h-13z"})})}function f(){return(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1.5"}),(0,n.jsx)("path",{d:"M2 9h12"}),(0,n.jsx)("circle",{cx:"11.5",cy:"11",r:"0.6",fill:"currentColor",stroke:"none"})]})}function m({onCancel:e,onSelect:t,busy:r=!1,error:a}){let{t:o}=(0,d.s9)(),[s,c]=(0,i.useState)(null),[u,x]=(0,i.useState)(""),[v,y]=(0,i.useState)(null),[b,k]=(0,i.useState)(""),[w,j]=(0,i.useState)([]),[S,C]=(0,i.useState)(null),[I,T]=(0,i.useState)(null),[R,M]=(0,i.useState)(!0),z=p({onClose:()=>{r||e()},active:null!==s}),E=(0,i.useCallback)(async e=>{M(!0),T(null);try{let t=await h(e),r=t.path??e??"/";x(r),y(t.parentPath??null),k(r),j(t.directories??[]),C(t.drives??null)}catch(e){T(e instanceof Error?e.message:String(e))}finally{M(!1)}},[]);(0,i.useEffect)(()=>{c(document.body),E()},[E]);let A=b.trim()!==u,W=!!u&&!A&&!r,D=!!v||/^[a-zA-Z]:[\\/]?$/.test(u);return s?(0,l.createPortal)((0,n.jsx)("div",{className:"directory-picker-backdrop animate-fade-in",onClick:t=>{t.target!==t.currentTarget||r||e()},style:{position:"fixed",inset:0,zIndex:1002,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--overlay-backdrop)"},children:(0,n.jsxs)("div",{className:"directory-picker-panel animate-scale-in",ref:z,role:"dialog","aria-modal":"true","aria-label":o("directoryPicker.selectDirectory"),tabIndex:-1,style:{width:520,maxWidth:"calc(100vw - 16px)",height:"min(620px, calc(100dvh - 16px))",maxHeight:"calc(100dvh - 16px)",display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:"var(--radius-modal)",boxShadow:"var(--shadow-modal)",outline:"none"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexShrink:0,padding:"12px 18px",borderBottom:"1px solid var(--border)"},children:[(0,n.jsx)("div",{style:{minWidth:0,flex:1},children:(0,n.jsx)("div",{style:{color:"var(--text)",fontWeight:700,fontSize:15},children:o("directoryPicker.selectDirectory")})}),(0,n.jsx)("button",{type:"button",onClick:e,disabled:r,title:o("directoryPicker.close"),"aria-label":o("directoryPicker.close"),style:{padding:"2px 6px",border:0,background:"none",color:"var(--text-muted)",fontSize:20,lineHeight:1,cursor:r?"default":"pointer",opacity:r?.5:1,transition:"color var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{r||(e.currentTarget.style.color="var(--text)")},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-muted)"},children:"\xd7"})]}),(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault();let t=b.trim();t&&E(t)},style:{display:"flex",alignItems:"center",gap:8,flexShrink:0,padding:"10px 14px",borderBottom:"1px solid var(--border)"},children:[(0,n.jsx)("button",{className:"directory-picker-back",type:"button",onClick:()=>void E(v??void 0),disabled:R||!D,title:o("directoryPicker.goToParent"),"aria-label":o("directoryPicker.goToParent"),style:{width:36,height:36,padding:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-hover)",color:"var(--text-muted)",cursor:D?"pointer":"default",opacity:D?1:.45,transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{D&&!R&&(e.currentTarget.style.background="var(--bg-selected)",e.currentTarget.style.color="var(--text)")},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text-muted)"},children:(0,n.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"m18 15-6-6-6 6"})})}),(0,n.jsx)("label",{htmlFor:"directory-path",style:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},children:o("directoryPicker.directoryPath")}),(0,n.jsx)("input",{className:"directory-picker-path",id:"directory-path",type:"text",value:b,"aria-label":o("directoryPicker.pathPlaceholder")||"Directory path",placeholder:o("directoryPicker.pathPlaceholder"),autoFocus:!0,autoComplete:"off",spellCheck:!1,onChange:e=>{k(e.target.value),T(null)},style:{minWidth:0,flex:1,height:36,padding:"0 10px",border:"1px solid var(--border)",borderRadius:6,outline:"none",background:"var(--bg-panel)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:12,transition:"border-color var(--dur-fast) var(--ease-out-warm)"}}),(0,n.jsx)("button",{className:"directory-picker-action",type:"submit",disabled:R||!b.trim(),title:o("directoryPicker.goToDirectory"),style:{minWidth:58,height:36,padding:"0 12px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-hover)",color:"var(--text-muted)",cursor:R||!b.trim()?"default":"pointer",opacity:R||!b.trim()?.6:1,transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{!R&&b.trim()&&(e.currentTarget.style.background="var(--bg-selected)",e.currentTarget.style.color="var(--text)")},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text-muted)"},children:o("directoryPicker.go")})]}),(0,n.jsxs)("div",{className:"directory-picker-list",style:{flex:1,minHeight:0,overflow:"auto",padding:"8px 10px"},children:[R?(0,n.jsx)("div",{style:{display:"grid",gap:6,padding:8},"aria-busy":"true","aria-label":o("directoryPicker.loadingDirectories"),children:Array.from({length:7}).map((e,t)=>(0,n.jsx)("div",{className:"skeleton",style:{height:22,width:`${55+37*t%40}%`}},t))}):null!==S?S.length>0?S.map(e=>(0,n.jsxs)("button",{className:"directory-picker-entry",type:"button",onClick:()=>void E(e.path),title:e.path,style:{width:"100%",minHeight:30,display:"flex",alignItems:"center",gap:7,padding:"5px 8px",border:0,borderRadius:5,background:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontFamily:"var(--font-mono)",fontSize:11},children:[(0,n.jsx)(f,{}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.path)):(0,n.jsx)("div",{style:{padding:8,color:"var(--text-dim)",fontSize:11},children:o("directoryPicker.noDrives")}):w.length>0?w.map(e=>(0,n.jsxs)("button",{className:"directory-picker-entry",type:"button",onClick:()=>void E(e.path),title:e.path,style:{width:"100%",minHeight:30,display:"flex",alignItems:"center",gap:7,padding:"5px 8px",border:0,borderRadius:5,background:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontFamily:"var(--font-mono)",fontSize:11,transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--text-muted)"},children:[(0,n.jsx)(g,{}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.path)):(0,n.jsx)("div",{style:{padding:8,color:"var(--text-dim)",fontSize:11},children:o("directoryPicker.noSubdirectories")}),(I||a)&&(0,n.jsx)("div",{style:{padding:"8px",color:"var(--status-error)",fontSize:11},children:I??a})]}),(0,n.jsxs)("div",{className:"directory-picker-footer",style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:10,flexShrink:0,padding:"10px 18px",borderTop:"1px solid var(--border)"},children:[(0,n.jsx)("button",{className:"directory-picker-action",type:"button",onClick:e,disabled:r,style:{padding:"6px 14px",border:"1px solid var(--border)",borderRadius:6,background:"none",color:"var(--text-muted)",cursor:r?"default":"pointer",fontSize:13},children:o("directoryPicker.cancel")}),(0,n.jsx)("button",{className:"directory-picker-action",type:"button",onClick:()=>t(u),disabled:!W,title:o(A?"directoryPicker.openPathBeforeSelecting":"directoryPicker.selectCurrentDirectory"),style:{padding:"6px 16px",border:0,borderRadius:6,background:"var(--accent)",color:"var(--on-accent)",fontSize:13,fontWeight:600,opacity:W?1:.6,cursor:W?"pointer":"default"},children:o(r?"directoryPicker.checking":"directoryPicker.selectThisFolder")})]})]})}),s):null}var x=r(9005),v=r(76721),y=r(95660),b=r(14225),k=r(92571),w=r(83254),j=r(87708),S=r(50825),C=r(68562),I=r(64577),T=r(79530),R=r(11012),M=r(35484);let z="var(--text-dim)";function E({size:e=14,open:t=!1}){return t?(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:[(0,n.jsx)("path",{d:"M1 4.5A1 1 0 0 1 2 3.5H5.5L7 5h7.5v1H1V4.5Z",fill:z}),(0,n.jsx)("path",{d:"M1 6h14.5L14 13H2L1 6Z",stroke:z,strokeWidth:"1",fill:z,fillOpacity:"0.12"})]}):(0,n.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:(0,n.jsx)("path",{d:"M1 4.5A1 1 0 0 1 2 3.5H5.5L7 5H14a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4.5Z",stroke:z,strokeWidth:"1",fill:z,fillOpacity:"0.1"})})}function A({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:[(0,n.jsx)("path",{d:"M3 2h7l3 3v9H3V2Z",stroke:z,strokeWidth:"1",fill:z,fillOpacity:"0.08"}),(0,n.jsx)("path",{d:"M10 2v3h3",stroke:z,strokeWidth:"1",fill:"none",strokeLinejoin:"round"})]})}function W({label:e,size:t=14}){let r=t/14;return(0,n.jsxs)("svg",{width:t,height:t,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("text",{x:"7",y:"9.5",textAnchor:"middle",fontSize:3.4*r,fontFamily:"var(--font-mono), monospace",fontWeight:"600",fill:z,letterSpacing:"0",children:e})]})}function D({size:e=14}){return(0,n.jsx)(W,{label:"TS",size:e})}function $({size:e=14}){return(0,n.jsx)(W,{label:"TSX",size:e})}function L({size:e=14}){return(0,n.jsx)(W,{label:"JS",size:e})}function N({size:e=14}){return(0,n.jsx)(W,{label:"JSX",size:e})}function F({size:e=14}){return(0,n.jsx)(W,{label:"PY",size:e})}function P({size:e=14}){return(0,n.jsx)(W,{label:"{}",size:e})}function B({size:e=14}){return(0,n.jsx)(W,{label:"CSS",size:e})}function O({size:e=14}){return(0,n.jsx)(W,{label:"SC",size:e})}function H({size:e=14}){return(0,n.jsx)(W,{label:"HTM",size:e})}function K({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M3.5 9.5V7l1.5 1.5L6.5 7v2.5",stroke:z,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,n.jsx)("path",{d:"M8 7v2.5M7 9l1 1.5 1-1.5",stroke:z,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]})}function U({size:e=14}){return(0,n.jsx)(W,{label:"YML",size:e})}function _({size:e=14}){return(0,n.jsx)(W,{label:"TOM",size:e})}function q({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M4 7.5l2 1.5-2 1.5",stroke:z,strokeWidth:"0.95",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,n.jsx)("path",{d:"M7.5 10.5h2.5",stroke:z,strokeWidth:"0.95",strokeLinecap:"round"})]})}function V({size:e=14}){return(0,n.jsx)(W,{label:"RS",size:e})}function Y({size:e=14}){return(0,n.jsx)(W,{label:"GO",size:e})}function J({size:e=14}){return(0,n.jsx)(W,{label:"SQL",size:e})}function Z({size:e=14}){return(0,n.jsx)(W,{label:"GQL",size:e})}function G({size:e=14}){return(0,n.jsx)(W,{label:"TF",size:e})}function X({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("rect",{x:"3.5",y:"6.5",width:"2",height:"1.5",rx:"0.3",stroke:z,strokeWidth:"0.8"}),(0,n.jsx)("rect",{x:"6",y:"6.5",width:"2",height:"1.5",rx:"0.3",stroke:z,strokeWidth:"0.8"}),(0,n.jsx)("rect",{x:"3.5",y:"8.5",width:"2",height:"1.5",rx:"0.3",stroke:z,strokeWidth:"0.8"})]})}function Q({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"5.5",cy:"8.5",r:"1.5",stroke:z,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M7 8.5h2.5M8.5 8.5v1.5",stroke:z,strokeWidth:"0.9",strokeLinecap:"round"})]})}function ee({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"5",cy:"6.5",r:"1",stroke:z,strokeWidth:"0.85"}),(0,n.jsx)("circle",{cx:"9",cy:"6.5",r:"1",stroke:z,strokeWidth:"0.85"}),(0,n.jsx)("circle",{cx:"5",cy:"10",r:"1",stroke:z,strokeWidth:"0.85"}),(0,n.jsx)("path",{d:"M5 7.5V9",stroke:z,strokeWidth:"0.85",strokeLinecap:"round"}),(0,n.jsx)("path",{d:"M9 7.5v.5a2 2 0 0 1-2 2H6",stroke:z,strokeWidth:"0.85",strokeLinecap:"round",fill:"none"})]})}function et({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("rect",{x:"4.5",y:"8.5",width:"5",height:"3",rx:"0.6",stroke:z,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M5.5 8.5V7.5a1.5 1.5 0 0 1 3 0v1",stroke:z,strokeWidth:"0.9",strokeLinecap:"round",fill:"none"})]})}function er({size:e=14}){return(0,n.jsx)(W,{label:"DOC",size:e})}function en({size:e=14}){return(0,n.jsx)(W,{label:"PDF",size:e})}function ei({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"7",cy:"8.5",r:"1.3",stroke:z,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M7 6.5v.7M7 10.3v.7M5 8.5h.7M8.3 8.5H9M5.5 6.9l.5.5M8.5 9.6l-.5-.5M5.5 10.1l.5-.5M8.5 7.4l-.5.5",stroke:z,strokeWidth:"0.8",strokeLinecap:"round"})]})}function ea(e,t=14){let r=e.toLowerCase(),i=r.split(".").pop()??"";if("dockerfile"===r||r.startsWith("dockerfile."))return(0,n.jsx)(X,{size:t});if(".env"===r||r.startsWith(".env."))return(0,n.jsx)(Q,{size:t});if(".gitignore"===r||".gitattributes"===r||".gitmodules"===r)return(0,n.jsx)(ee,{size:t});if("package-lock.json"===r||"yarn.lock"===r||"bun.lock"===r||"pnpm-lock.yaml"===r||"cargo.lock"===r)return(0,n.jsx)(et,{size:t});if(r.endsWith(".config.ts")||r.endsWith(".config.js")||r.endsWith(".config.mjs")||r.endsWith(".config.cjs")||[".eslintrc",".eslintrc.js",".eslintrc.json",".eslintrc.yml","eslint.config.mjs","eslint.config.js"].includes(r))return(0,n.jsx)(ei,{size:t});switch(i){case"ts":return(0,n.jsx)(D,{size:t});case"tsx":return(0,n.jsx)($,{size:t});case"js":case"mjs":case"cjs":return(0,n.jsx)(L,{size:t});case"jsx":return(0,n.jsx)(N,{size:t});case"py":return(0,n.jsx)(F,{size:t});case"json":case"jsonl":return(0,n.jsx)(P,{size:t});case"css":case"less":return(0,n.jsx)(B,{size:t});case"scss":return(0,n.jsx)(O,{size:t});case"html":case"htm":return(0,n.jsx)(H,{size:t});case"md":case"mdx":return(0,n.jsx)(K,{size:t});case"yaml":case"yml":return(0,n.jsx)(U,{size:t});case"toml":return(0,n.jsx)(_,{size:t});case"sh":case"bash":case"zsh":case"fish":return(0,n.jsx)(q,{size:t});case"rs":return(0,n.jsx)(V,{size:t});case"go":return(0,n.jsx)(Y,{size:t});case"sql":return(0,n.jsx)(J,{size:t});case"graphql":case"gql":return(0,n.jsx)(Z,{size:t});case"tf":case"hcl":return(0,n.jsx)(G,{size:t});case"docx":return(0,n.jsx)(er,{size:t});case"pdf":return(0,n.jsx)(en,{size:t});case"lock":return(0,n.jsx)(et,{size:t});default:return(0,n.jsx)(A,{size:t})}}var eo=r(30808),es=r(51087),el=r(28999);async function ed(e){let t=(0,el.HG)(e),r=await fetch(`/api/files/${t}?type=list`);if(!r.ok){let e=(0,d.Tl)("fileExplorer.loadFailed",{status:r.status});try{let t=await r.json();t.error&&(e=t.error)}catch{}throw Error(e)}return((await r.json()).entries??[]).map(t=>({name:t.name,fullPath:(0,el.e_)(e,t.name),isDir:t.isDir,size:t.size,children:t.isDir?[]:void 0,loaded:!t.isDir}))}async function ec(e){let t=new URLSearchParams({cwd:e}),r=await fetch(`/api/git/status?${t.toString()}`);if(!r.ok)throw Error((0,d.Tl)("fileExplorer.gitStatusFailed",{status:r.status}));return r.json()}let eu={modified:"fileExplorer.gitModified",added:"fileExplorer.gitAdded",deleted:"fileExplorer.gitDeleted",renamed:"fileExplorer.gitRenamed",untracked:"fileExplorer.gitUntracked",conflict:"fileExplorer.gitConflict"},ep={modified:"var(--status-modified)",added:"var(--status-success)",deleted:"var(--status-error)",renamed:"var(--status-renamed)",untracked:"var(--status-success)",conflict:"var(--status-error)"};function eh({onClick:e,title:t}){return(0,n.jsx)("button",{type:"button",onClick:e,title:t,"aria-label":t,style:{width:24,height:24,padding:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,border:"none",borderRadius:"var(--radius-control)",background:"none",color:"var(--text-dim)",cursor:"pointer",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none"},children:(0,n.jsx)(x.A,{size:13,strokeWidth:2.2,"aria-hidden":"true"})})}function eg({node:e,depth:t,cwd:r,onOpenFile:a,onAtMention:o,expandedPaths:s,onToggleExpanded:l,refreshToken:c,highlightedPaths:u,gitStatusByPath:p,changedDirectoryPaths:h}){let{t:g}=(0,d.s9)(),f=s.has(e.fullPath),m=u.has(e.fullPath),x=(0,el.A0)(e.fullPath),C=p.get(x),I=e.isDir&&(void 0!==C||h.has(x)),[T,R]=(0,i.useState)(e.children??[]),[M,z]=(0,i.useState)(e.loaded??!1),[E,A]=(0,i.useState)(!1),[W,D]=(0,i.useState)(!1),[$,L]=(0,i.useState)(!1),N=(0,i.useCallback)(async(t=!1)=>{if(!M||t){A(!0);try{let t=await ed(e.fullPath);R(t),z(!0)}catch{}finally{A(!1)}}},[M,e.fullPath]);(0,i.useEffect)(()=>{f?M&&N(!0):z(!1)},[c]);let F=(0,i.useCallback)(()=>{if(e.isDir){let t=!f;l(e.fullPath,t),t&&!M&&N()}else a(e.fullPath,e.name)},[e.isDir,e.fullPath,e.name,M,f,N,a,l]),P=(0,i.useCallback)(t=>{if(t.target===t.currentTarget){if("Enter"===t.key||" "===t.key)t.preventDefault(),F();else if("ArrowRight"===t.key){if(e.isDir)if(t.preventDefault(),f){let e=t.currentTarget.parentElement?.querySelector('[role="group"] [role="treeitem"]');e?.focus()}else l(e.fullPath,!0),M||N()}else if("ArrowLeft"===t.key)if(e.isDir&&f)t.preventDefault(),l(e.fullPath,!1);else{let e=t.currentTarget.closest('[role="group"]')?.parentElement?.querySelector(':scope > [role="treeitem"]');e?.focus()}else if("ArrowDown"===t.key||"ArrowUp"===t.key){t.preventDefault();let e=t.currentTarget.closest('[role="tree"]');if(!e)return;let r=Array.from(e.querySelectorAll('[role="treeitem"]')).filter(e=>!e.closest("[inert]")),n=r.indexOf(t.currentTarget);if(-1!==n){let e="ArrowDown"===t.key?Math.min(r.length-1,n+1):Math.max(0,n-1);r[e]?.focus()}}}},[e.isDir,e.fullPath,f,M,N,l,F]),B=g("fileExplorer.insertPathIntoChat"),O=g("fileExplorer.downloadFile"),H=g("fileExplorer.revealInFileManager"),K=(0,i.useCallback)(async e=>{try{let t=await fetch("/api/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})}),r=await t.json().catch(()=>({}));t.ok||es.oR.error(r.error??g("fileExplorer.revealFailed"))}catch{es.oR.error(g("fileExplorer.revealFailed"))}},[g]);return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{onClick:F,onKeyDown:P,onMouseEnter:()=>D(!0),onMouseLeave:()=>D(!1),onFocus:e=>{e.target===e.currentTarget&&L(!0)},onBlur:()=>L(!1),role:"treeitem",tabIndex:0,"aria-selected":m,"aria-expanded":e.isDir?f:void 0,"aria-label":e.isDir?e.name+" (folder"+(f?", expanded":", collapsed")+")":e.name+" (file)",style:{position:"relative",display:"flex",alignItems:"center",gap:4,paddingLeft:8+14*t,paddingRight:8,height:24,cursor:"pointer",background:W?"var(--bg-hover)":"transparent",borderRadius:"var(--radius-control)",userSelect:"none",boxShadow:$?"inset 0 0 0 1px color-mix(in srgb, var(--accent) 70%, transparent)":"none",outline:"none",transition:"background var(--dur-fast) var(--ease-out-warm)"},children:[e.isDir&&(0,n.jsx)(v.A,{size:10,strokeWidth:2,color:"var(--text-dim)",style:{flexShrink:0,transform:f?"rotate(90deg)":"none",transition:"transform var(--dur-med) var(--ease-out-warm)"},"aria-hidden":"true"}),!e.isDir&&(0,n.jsx)("span",{style:{width:10,flexShrink:0}}),(0,n.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center",color:e.isDir?"var(--text-muted)":"var(--text-dim)"},children:e.isDir?f?(0,n.jsx)(y.A,{size:14,strokeWidth:1.8,"aria-hidden":"true"}):(0,n.jsx)(b.A,{size:14,strokeWidth:1.8,"aria-hidden":"true"}):ea(e.name,14)}),(0,n.jsx)("span",{style:{fontSize:12,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},title:e.fullPath,children:e.name}),m&&(0,n.jsx)("span",{title:g("fileExplorer.newlyUploaded"),"aria-label":g("fileExplorer.newlyUploaded"),style:{width:6,height:6,flexShrink:0,borderRadius:"50%",background:"var(--accent)"}}),!W&&!e.isDir&&C&&(0,n.jsx)("span",{title:g(eu[C.status]),"aria-label":g(eu[C.status]),style:{width:14,flexShrink:0,color:ep[C.status],fontFamily:"var(--font-mono)",fontSize:11,fontWeight:600,textAlign:"center"},children:C.code}),!W&&I&&(0,n.jsx)("span",{title:g("fileExplorer.containsChangedFiles"),"aria-label":g("fileExplorer.containsChangedFiles"),style:{width:6,height:6,flexShrink:0,borderRadius:"50%",background:"var(--status-modified)"}}),E&&(0,n.jsx)(k.A,{size:10,strokeWidth:2,color:"var(--text-dim)",style:{animation:"spin 0.8s linear infinite",flexShrink:0},"aria-hidden":"true"}),o&&W&&(0,n.jsx)(eo.m_,{content:B,children:(0,n.jsxs)("button",{onClick:t=>{t.stopPropagation(),o((0,el.qP)(e.fullPath,r),e.isDir)},"aria-label":B,style:{position:"absolute",right:e.isDir?4:28,top:"50%",transform:"translateY(-50%)",display:"flex",alignItems:"center",justifyContent:"center",gap:4,padding:"0 8px",height:20,background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--accent)",cursor:"pointer",fontSize:11,fontWeight:600,whiteSpace:"nowrap",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)(w.A,{size:11,strokeWidth:2.2,"aria-hidden":"true"}),g("fileExplorer.mention")]})}),(0,n.jsx)(eo.m_,{content:H,children:(0,n.jsx)("button",{onClick:t=>{t.stopPropagation(),K(e.fullPath)},"aria-label":H,title:H,style:{position:"absolute",right:e.isDir?4:52,top:"50%",transform:"translateY(-50%)",display:"flex",alignItems:"center",justifyContent:"center",width:22,height:20,background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",cursor:"pointer",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(j.A,{size:11,strokeWidth:2,"aria-hidden":"true"})})}),W&&!e.isDir&&(0,n.jsx)(eo.m_,{content:O,children:(0,n.jsx)("a",{href:`/api/files/${(0,el.HG)(e.fullPath)}?type=download`,download:!0,onClick:e=>e.stopPropagation(),"aria-label":O,style:{position:"absolute",right:4,top:"50%",transform:"translateY(-50%)",display:"flex",alignItems:"center",justifyContent:"center",gap:4,padding:"0 5px",height:20,background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",cursor:"pointer",fontSize:11,fontWeight:600,whiteSpace:"nowrap",textDecoration:"none",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(S.A,{size:11,strokeWidth:2.2,"aria-hidden":"true"})})})]}),e.isDir&&(0,n.jsx)("div",{role:"group",inert:!f||void 0,className:"accordion-flow "+(f?"is-open":""),children:(0,n.jsxs)("div",{className:"accordion-flow-inner",children:[T.map(e=>(0,n.jsx)(eg,{node:e,depth:t+1,cwd:r,onOpenFile:a,onAtMention:o,expandedPaths:s,onToggleExpanded:l,refreshToken:c,highlightedPaths:u,gitStatusByPath:p,changedDirectoryPaths:h},e.fullPath)),0===T.length&&M&&(0,n.jsx)("div",{style:{paddingLeft:8+(t+1)*14,fontSize:11,color:"var(--text-dim)",height:22,display:"flex",alignItems:"center"},children:g("fileExplorer.emptyDir")})]})})]})}let ef=(0,i.forwardRef)(function({cwd:e,onOpenFile:t,refreshKey:r,onAtMention:a,onAtMentions:o,onUploadBusyChange:s,onRefreshDone:l},c){let{t:u,tn:p}=(0,d.s9)(),[h,g]=(0,i.useState)([]),[f,m]=(0,i.useState)(!0),[x,v]=(0,i.useState)(null),[y,b]=(0,i.useState)(new Set),[j,S]=(0,i.useState)(0),[z,E]=(0,i.useState)(new Set),[A,W]=(0,i.useState)([]),[D,$]=(0,i.useState)("idle"),[L,N]=(0,i.useState)(0),[F,P]=(0,i.useState)(null),[B,O]=(0,i.useState)(null),[H,K]=(0,i.useState)(null),U=(0,i.useRef)(null),_=(0,i.useRef)(null),q=`${r??0}:${j}`,V="idle"!==D,Y=(0,i.useMemo)(()=>new Map(A.map(e=>[(0,el.A0)(e.filePath),e])),[A]),J=(0,i.useMemo)(()=>{let t=new Set,r=(0,el.A0)(e).replace(/\/$/,"");for(let e of A){let n=(0,el.gX)((0,el.A0)(e.filePath));for(;(n===r||n.startsWith(`${r}/`))&&(t.add(n),n!==r);){let e=(0,el.gX)(n);if(e===n)break;n=e}}return t},[e,A]),Z=(0,i.useCallback)((e,t)=>{b(r=>{let n=new Set(r);return t?n.add(e):n.delete(e),n})},[]),G=(0,i.useCallback)(t=>{let r=t.uploaded??[];O({uploaded:r,skipped:t.skipped??[],errors:t.errors??[]}),r.length>0&&(E(new Set(r.map(t=>(0,el.e_)(e,t)))),S(e=>e+1))},[e]),X=(0,i.useCallback)(async(t,r)=>{K(null),P(null),N(0),$("uploading");try{let{status:n,data:i}=await new Promise((n,i)=>{let a=new FormData;t.forEach(e=>a.append("files",e,e.name));let o=new XMLHttpRequest;o.open("POST",`/api/files/${(0,el.HG)(e)}?type=upload&conflict=${r}`),o.upload.onprogress=e=>{e.lengthComputable&&e.total>0&&N(Math.round(e.loaded/e.total*100))},o.onerror=()=>i(Error((0,d.Tl)("fileExplorer.uploadNetworkError"))),o.onabort=()=>i(Error((0,d.Tl)("fileExplorer.uploadCancelled"))),o.onload=()=>{let e={};try{e=JSON.parse(o.responseText)}catch{o.responseText&&(e.error=o.responseText)}n({status:o.status,data:e})},o.send(a)});if(409===n&&i.conflicts?.length)return void K({files:t,conflicts:i.conflicts,nonReplaceable:i.nonReplaceable??[]});if(n<200||n>=300)throw Error(i.error??(0,d.Tl)("fileExplorer.uploadFailed",{status:n}));N(100),G(i)}catch(e){P(e instanceof Error?e.message:String(e))}finally{$("idle")}},[G,e]),Q=(0,i.useCallback)(async t=>{if(0!==t.length&&!V){O(null),E(new Set),K(null),P(null),N(0),$("checking");try{let r=await fetch(`/api/files/${(0,el.HG)(e)}?type=upload-check`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileNames:t.map(e=>e.name)})}),n=await r.json().catch(()=>({}));if(!r.ok)throw Error(n.error??(0,d.Tl)("fileExplorer.uploadCheckFailed",{status:r.status}));if(n.conflicts?.length)return void K({files:t,conflicts:n.conflicts,nonReplaceable:n.nonReplaceable??[]});await X(t,"error")}catch(e){P(e instanceof Error?e.message:String(e))}finally{$("idle")}}},[e,X,V]),ee=(0,i.useCallback)(e=>{let t=Array.from(e.target.files??[]);e.target.value="",Q(t)},[Q]);(0,i.useImperativeHandle)(c,()=>({openUploadPicker(){V||_.current?.click()}}),[V]),(0,i.useEffect)(()=>{s?.(V)},[s,V]),(0,i.useEffect)(()=>()=>s?.(!1),[s]);let et=(0,i.useRef)(l);et.current=l,(0,i.useEffect)(()=>{let t=U.current!==e;U.current=e,t&&(b(new Set),E(new Set),O(null),K(null),P(null)),m(t),v(null);let r=!1;return ed(e).then(e=>{r||g(e)}).catch(e=>{r||v(e instanceof Error?e.message:String(e))}).finally(()=>{r||m(!1),et.current?.()}),()=>{r=!0}},[e,r,j]),(0,i.useEffect)(()=>{let t=!1;return ec(e).then(e=>{t||W(e.isGitRepository?e.files:[])}).catch(()=>{t||W([])}),()=>{t=!0}},[e,r,j]);let er=V||null!==H||null!==F||null!==B,en=(0,i.useCallback)(()=>{B&&0!==B.uploaded.length&&o?.(B.uploaded.map(t=>(0,el.qP)((0,el.e_)(e,t),e)))},[e,o,B]);return(0,n.jsxs)("div",{style:{minHeight:"100%"},children:[(0,n.jsx)("input",{ref:_,type:"file",multiple:!0,hidden:!0,onChange:ee}),er&&(0,n.jsxs)("div",{style:{padding:"6px 8px",borderBottom:"1px solid var(--border)"},children:[V&&(0,n.jsxs)("div",{role:"status","aria-live":"polite","aria-label":"checking"===D?u("fileExplorer.checkingFiles"):u("fileExplorer.uploadingPercent",{percent:L}),children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,minHeight:14,color:"var(--text-muted)"},children:["checking"===D?(0,n.jsx)(k.A,{size:13,strokeWidth:2.2,style:{animation:"spin 0.8s linear infinite"},"aria-hidden":"true"}):(0,n.jsx)(C.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),"uploading"===D&&(0,n.jsxs)("span",{style:{fontSize:10},children:[L,"%"]})]}),"uploading"===D&&(0,n.jsx)("div",{style:{height:3,marginTop:4,overflow:"hidden",borderRadius:2,background:"var(--border)"},children:(0,n.jsx)("div",{style:{width:`${L}%`,height:"100%",background:"var(--accent)",transition:"width var(--dur-fast) var(--ease-out-warm)"}})})]}),H&&(0,n.jsxs)("div",{role:"alert",style:{padding:7,border:"1px solid color-mix(in srgb, var(--status-warning) 55%, var(--border))",borderRadius:4,background:"color-mix(in srgb, var(--status-warning) 9%, var(--bg-panel))"},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text)",lineHeight:1.35,overflowWrap:"anywhere"},children:p("fileExplorer.filesAlreadyExist",H.conflicts.length,{files:H.conflicts.join(", ")})}),H.nonReplaceable.length>0&&(0,n.jsx)("div",{style:{marginTop:3,fontSize:10,color:"var(--status-warning)",lineHeight:1.35,overflowWrap:"anywhere"},children:u("fileExplorer.cannotReplace",{files:H.nonReplaceable.join(", ")})}),(0,n.jsxs)("div",{style:{display:"flex",gap:5,marginTop:7},children:[(0,n.jsx)("button",{type:"button",onClick:()=>void X(H.files,"overwrite"),style:{height:24,minHeight:24,padding:"0 8px",border:"1px solid var(--status-error)",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--status-error)",cursor:"pointer",fontSize:11},children:u("fileExplorer.replace")}),(0,n.jsx)("button",{type:"button",onClick:()=>void X(H.files,"skip"),style:{height:24,minHeight:24,padding:"0 8px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text)",cursor:"pointer",fontSize:11},children:u("fileExplorer.skipExisting")}),(0,n.jsx)("button",{type:"button",onClick:()=>K(null),style:{height:24,minHeight:24,padding:"0 8px",border:"none",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text-muted)",cursor:"pointer",fontSize:11},children:u("fileExplorer.cancel")})]})]}),F&&(0,n.jsxs)("div",{role:"alert",style:{display:"flex",alignItems:"flex-start",gap:6,fontSize:11,lineHeight:1.35,color:"var(--status-error)"},children:[(0,n.jsx)("span",{style:{minWidth:0,flex:1,overflowWrap:"anywhere"},children:F}),(0,n.jsx)(eh,{onClick:()=>P(null),title:u("fileExplorer.dismissError")})]}),B&&(0,n.jsxs)("div",{"aria-live":"polite",children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minHeight:22,fontSize:11},children:[(0,n.jsxs)("div",{style:{minWidth:0,flex:1,display:"flex",alignItems:"center",gap:8},children:[B.uploaded.length>0&&(0,n.jsxs)("span",{title:u("fileExplorer.uploadedCount",{count:B.uploaded.length}),"aria-label":u("fileExplorer.uploadedCount",{count:B.uploaded.length}),style:{display:"flex",alignItems:"center",gap:3,color:"var(--status-success)"},children:[(0,n.jsx)(I.A,{size:13,strokeWidth:2.4,"aria-hidden":"true"}),(0,n.jsx)("span",{children:B.uploaded.length})]}),B.skipped.length>0&&(0,n.jsxs)("span",{title:u("fileExplorer.skippedCount",{count:B.skipped.length}),"aria-label":u("fileExplorer.skippedCount",{count:B.skipped.length}),style:{display:"flex",alignItems:"center",gap:3,color:"var(--text-dim)"},children:[(0,n.jsx)(T.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),(0,n.jsx)("span",{children:B.skipped.length})]}),B.errors.length>0&&(0,n.jsxs)("span",{title:u("fileExplorer.failedCount",{count:B.errors.length}),"aria-label":u("fileExplorer.failedCount",{count:B.errors.length}),style:{display:"flex",alignItems:"center",gap:3,color:"var(--status-error)"},children:[(0,n.jsx)(R.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),(0,n.jsx)("span",{children:B.errors.length})]})]}),B.uploaded.length>0&&o&&(0,n.jsx)(eo.m_,{content:u(1===B.uploaded.length?"fileExplorer.addUploadedFile":"fileExplorer.addAllUploadedFiles"),children:(0,n.jsxs)("button",{type:"button",onClick:en,"aria-label":u(1===B.uploaded.length?"fileExplorer.addUploadedFile":"fileExplorer.addAllUploadedFiles"),style:{height:22,padding:"0 7px",display:"flex",alignItems:"center",justifyContent:"center",gap:4,flexShrink:0,border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--accent)",cursor:"pointer",fontSize:11,fontWeight:600,whiteSpace:"nowrap",transition:"background var(--dur-fast) var(--ease-out-warm), border-color var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)(w.A,{size:11,strokeWidth:2.2,"aria-hidden":"true"}),u("fileExplorer.mention")]})}),(0,n.jsx)(eh,{onClick:()=>O(null),title:u("fileExplorer.dismissUploadResults")})]}),B.errors.map(e=>(0,n.jsxs)("div",{title:e.error,style:{display:"flex",alignItems:"center",gap:4,marginTop:3,minWidth:0,fontSize:10,color:"var(--status-error)"},children:[(0,n.jsx)(M.A,{size:11,strokeWidth:2,style:{flexShrink:0},"aria-hidden":"true"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.name))]})]}),(0,n.jsxs)("div",{role:"tree","aria-label":u("sessionSidebar.explorer"),style:{padding:"2px 4px"},children:[f?(0,n.jsx)("div",{style:{padding:"8px 12px",fontSize:11,color:"var(--text-dim)"},children:u("fileExplorer.loadingFiles")}):x?(0,n.jsx)("div",{style:{padding:"8px 12px",fontSize:11,color:"var(--status-error)"},children:x}):h.map(r=>(0,n.jsx)(eg,{node:r,depth:0,cwd:e,onOpenFile:t,onAtMention:a,expandedPaths:y,onToggleExpanded:Z,refreshToken:q,highlightedPaths:z,gitStatusByPath:Y,changedDirectoryPaths:J},r.fullPath)),!f&&!x&&0===h.length&&(0,n.jsx)("div",{style:{padding:"8px 12px",fontSize:11,color:"var(--text-dim)"},children:u("fileExplorer.noFilesFound")})]})]})});function em(){let[e,t]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{if(!window.matchMedia)return;let e=window.matchMedia("(prefers-reduced-motion: reduce)");t(e.matches);let r=e=>t(e.matches);return e.addEventListener("change",r),()=>e.removeEventListener("change",r)},[]),e}let ex="omp-web:last-open-by-project";function ev(){try{return window.localStorage}catch{return null}}function ey(e){try{let t=e.getItem(ex);if(!t)return{};let r=JSON.parse(t);if(!r||"object"!=typeof r||Array.isArray(r))return{};return Object.fromEntries(Object.entries(r).filter(([,e])=>"string"==typeof e&&e.length>0))}catch{return{}}}function eb(e){return e.projectKey??e.projectRoot??e.cwd}let ek=/^[a-zA-Z]:[\\/]/,ew=/^\/\//;function ej(e){let t=e.replace(/\\/g,"/"),r=ek.test(t)||ew.test(t);return t=t.replace(/\/{2,}/g,"/").replace(/\/+$/,""),r?t.toLowerCase():t}var eS=r(32159),eC=r(23637),eI=r(82749),eT=r(2125),eR=r(65377),eM=r(80846),ez=r(66763),eE=r(59680),eA=r(12363),eW=r(65738),eD=r(15480);let e$=new Set;function eL(e){if(0!==e.length)for(let t of[...e$])try{t(e)}catch{}}function eN(e){let t=/^[a-zA-Z]:/.test(e)||e.includes("\\"),r=e.replace(/[\/]+$/,"").replace(/\\/g,"/");return t?r.toLowerCase():r}let eF="omp-web:unread-session-ids",eP="omp-web:expanded-projects",eB=new Set;function eO(e,t){return t&&e.startsWith(t)?"~"+e.slice(t.length):e}function eH(e){let t=e.replace(/[\\/]+$/,""),r=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return r>=0?t.slice(r+1):t}function eK({text:e,style:t}){return(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"block",minWidth:0,lineHeight:1.35,direction:"rtl",textAlign:"left",...t},children:(0,n.jsx)("span",{style:{unicodeBidi:"plaintext"},children:e})})}let eU="background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm), border-color var(--dur-fast) var(--ease-out-warm)";function e_({label:e,title:t,onClick:r,active:a=!1,disabled:o=!1,children:s}){let[l,d]=(0,i.useState)(!1);return(0,n.jsx)("button",{type:"button","aria-label":e,title:t??e,onClick:r,disabled:o,"aria-pressed":a,style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,flexShrink:0,lineHeight:0,background:a||l?"var(--bg-hover)":"none",border:"none",borderRadius:"var(--radius-control)",color:a||l?"var(--accent)":"var(--text-dim)",cursor:o?"default":"pointer",opacity:o?.5:1,transition:eU},onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:s})}function eq({anchor:e,open:t,onClose:r,placement:a="below",align:o="end",minWidth:s=136,style:d,children:c}){let u=(0,i.useRef)(null),[p,h]=(0,i.useState)(null),g=(0,i.useCallback)((e,t)=>{let r;if(!e||!t)return;let n=e.getBoundingClientRect(),i=t.offsetWidth,s=t.offsetHeight;"above"===a?(r=n.top-s-5)<8&&(r=Math.min(n.bottom+5,window.innerHeight-s-8)):(r=n.bottom+5)+s>window.innerHeight-8&&(r=n.top-s-5),r<8&&(r=8),h({top:r,left:"start"===o?Math.max(8,Math.min(n.left,window.innerWidth-i-8)):Math.max(8,Math.min(n.right-i,window.innerWidth-i-8))})},[a,o]);return((0,i.useLayoutEffect)(()=>{t&&g(e.current,u.current)},[t,g,e]),(0,i.useEffect)(()=>{if(!t)return;let r=()=>g(e.current,u.current);return window.addEventListener("scroll",r,!0),window.addEventListener("resize",r),()=>{window.removeEventListener("scroll",r,!0),window.removeEventListener("resize",r)}},[t,g,e]),(0,i.useEffect)(()=>{if(!t)return;let n=setTimeout(()=>{let e=u.current?.querySelector("button:not([disabled])");e?.focus()},0),i=t=>{let n=t.target;e.current?.contains(n)||u.current?.contains(n)||r()},a=t=>{if("Escape"===t.key)t.stopPropagation(),t.preventDefault(),r(),e.current?.focus();else if("ArrowDown"===t.key||"ArrowUp"===t.key){t.preventDefault();let e=Array.from(u.current?.querySelectorAll("button:not([disabled])")??[]);if(0===e.length)return;let r=e.indexOf(document.activeElement),n="ArrowDown"===t.key?(r+1)%e.length:(r-1+e.length)%e.length;e[n]?.focus()}};return document.addEventListener("mousedown",i),document.addEventListener("touchstart",i),document.addEventListener("keydown",a),()=>{clearTimeout(n),document.removeEventListener("mousedown",i),document.removeEventListener("touchstart",i),document.removeEventListener("keydown",a)}},[t,r,e]),!t||"u"<typeof document)?null:(0,l.createPortal)((0,n.jsx)("div",{ref:u,role:"menu",style:{position:"fixed",top:p?p.top:-9999,left:p?p.left:-9999,visibility:p?"visible":"hidden",zIndex:1e3,minWidth:s,padding:4,border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",boxShadow:"var(--shadow-pop)",...d},children:c}),document.body)}function eV(e){let t=new Map;for(let r of e)t.set(r.id,{session:r,children:[]});let r=new Map;for(let t of e)t.parentSessionId&&r.set(t.id,t.parentSessionId);let n=[];for(let e of t.values()){let i=function(e){let n=r.get(e),i=new Set;for(;n&&!i.has(n);){if(i.add(n),t.has(n))return n;n=r.get(n)}return null}(e.session.id);i?t.get(i).children.push(e):n.push(e)}let i=e=>{e.sort((e,t)=>t.session.modified.localeCompare(e.session.modified)),e.forEach(e=>i(e.children))};return i(n),n}let eY="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";function eJ(){let[e,t]=(0,i.useState)(!1),[r,a]=(0,i.useState)(!1),o=(0,i.useRef)(null),s=(0,i.useRef)(null),l=em(),d=function(e,t,r){let[n,a]=(0,i.useState)(e),o=(0,i.useRef)(null),s=(0,i.useRef)(0);return(0,i.useEffect)(()=>{if(!t||r)return void a(e);s.current=0;let n=4*e.length,i=()=>{s.current+=1;let t=Math.floor(s.current/n*e.length);a(e.split("").map((e,r)=>" "===e?" ":r<t?e:eY[Math.floor(Math.random()*eY.length)]).join("")),s.current<n?o.current=requestAnimationFrame(i):a(e)};return o.current=requestAnimationFrame(i),()=>{o.current&&cancelAnimationFrame(o.current)}},[e,t,r]),n}(e?"v0.3.5":"omp web",r,l),c=(0,i.useCallback)(e=>{t(e),s.current&&clearTimeout(s.current),l||(a(!0),s.current=setTimeout(()=>a(!1),(e?6:8)*4*(1e3/60)+100))},[l]),u=(0,i.useCallback)(()=>{o.current&&clearTimeout(o.current);let t=!e;c(t),t&&(o.current=setTimeout(()=>c(!1),3e3))},[e,c]);return(0,i.useEffect)(()=>()=>{o.current&&clearTimeout(o.current),s.current&&clearTimeout(s.current)},[]),(0,n.jsx)("button",{onClick:u,style:{background:"none",border:"none",padding:0,cursor:"pointer",fontWeight:700,fontSize:14,letterSpacing:"-0.01em",fontFamily:"var(--font-mono)",minWidth:"6ch",lineHeight:1},title:e?"Show ompweb name":"Show ompweb version",children:r||e?(0,n.jsx)("span",{style:{color:e?"var(--accent)":"var(--text)"},children:d}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{style:{color:"var(--accent)"},children:"omp"}),(0,n.jsx)("span",{style:{color:"var(--text)"},children:"web"})]})})}function eZ({selectedSessionId:e,optimisticSession:t,onSelectSession:r,onNewSession:a,initialSessionId:o,skipInitialProjectSelection:s,onInitialRestoreDone:l,refreshKey:u,onSessionDeleted:p,selectedCwd:h,onCwdChange:g,onOpenFile:f,explorerRefreshKey:x,onExplorerRefresh:y,explorerRefreshing:b,onExplorerRefreshDone:k,onAtMention:w,onAtMentions:j,onOpenSettings:S,onOpenArchive:T,updateAvailable:R}){let{t:M}=(0,d.s9)(),[z,E]=(0,i.useState)([]),[A,W]=(0,i.useState)(!0),[D,$]=(0,i.useState)(null),[L,N]=(0,i.useState)(null),[F,P]=(0,i.useState)(""),[B,O]=(0,i.useState)([]),[H,K]=(0,i.useState)(null),[U,_]=(0,i.useState)(null),[q,V]=(0,i.useState)(!1),[Y,J]=(0,i.useState)(!1),[Z,G]=(0,i.useState)(null),[X,Q]=(0,i.useState)(()=>(function(){try{let e=window.localStorage.getItem(eP);if(!e)return null;let t=JSON.parse(e);if(Array.isArray(t))return new Set(t.filter(e=>"string"==typeof e&&e.length>0));return null}catch{return null}})()),[ee,et]=(0,i.useState)(null),[er,en]=(0,i.useState)({}),[ei,ea]=(0,i.useState)(!1),[el,ed]=(0,i.useState)(!1),[ec,eu]=(0,i.useState)(""),[ep,eh]=(0,i.useState)(null),[eg,em]=(0,i.useState)(!1),[ek,ew]=(0,i.useState)(null),eE=(0,i.useRef)(null),eA=(0,i.useRef)(null),[eW,eD]=(0,i.useState)(!0),[e$,eK]=(0,i.useState)(0),[eq,eY]=(0,i.useState)(!1),[e0,e1]=(0,i.useState)(!1),[e2,e4]=(0,i.useState)(()=>new Set),[e5,e6]=(0,i.useState)(()=>(function(){try{let e=window.localStorage.getItem(eF);if(!e)return new Set;let t=JSON.parse(e);if(Array.isArray(t))return new Set(t.filter(e=>"string"==typeof e));return new Set}catch{return new Set}})()),e8=(0,i.useRef)(new Set),[e3,e9]=(0,i.useState)(()=>Date.now()),[e7,te]=(0,i.useState)(!1),[tt,tr]=(0,i.useState)(""),[tn,ti]=(0,i.useState)(!1),ta=(0,i.useRef)(null),to=(0,i.useRef)(!1),ts=(0,i.useRef)(null),tl=(0,i.useRef)(null),td=(0,i.useRef)(null),tc=(0,i.useRef)(null),tu=(0,i.useCallback)(async(e=!1)=>{tc.current?.abort();let t=new AbortController;tc.current=t;try{e&&W(!0);let r={};td.current&&(r["If-None-Match"]=td.current);let n=await fetch("/api/sessions",{headers:r,signal:t.signal});if(304===n.status)return;if(!n.ok)throw Error(`HTTP ${n.status}`);let i=n.headers.get("ETag");i&&(td.current=i);let a=await n.json();E(a.sessions),to.current||e4(new Set(a.runningSessionIds??[]));let o=new Set(a.sessions.map(e=>e.id));e6(e=>{if(0===e.size)return e;let t=new Set([...e].filter(e=>o.has(e)));return t.size===e.size?e:t}),$(null),e||(e1(!0),ts.current&&clearTimeout(ts.current),ts.current=setTimeout(()=>e1(!1),2e3))}catch(e){if(e?.name==="AbortError")return;$(M("sessionSidebar.loadFailed",{detail:e instanceof Error?e.message:String(e)}))}finally{e&&W(!1)}},[M]),tp=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let e=!tp.current;tp.current=!0,tu(e)},[tu,u]);let th=(0,i.useCallback)(async()=>{try{let e=await fetch("/api/projects");if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();O(t.projects??[]),_(null),tx.current=!0}catch(e){_(M("projects.loadFailed",{detail:e instanceof Error?e.message:String(e)}))}},[M]);(0,i.useEffect)(()=>{th()},[th,u]),(0,i.useEffect)(()=>{let e=setInterval(()=>e9(Date.now()),6e4);return()=>clearInterval(e)},[]),(0,i.useEffect)(()=>{if(null!==X)try{window.localStorage.setItem(eP,JSON.stringify([...X]))}catch{}},[X]),(0,i.useEffect)(()=>{try{0===e5.size?window.localStorage.removeItem(eF):window.localStorage.setItem(eF,JSON.stringify([...e5]))}catch{}},[e5]);let tg=(0,i.useRef)(null),tf=(0,i.useCallback)(()=>{tg.current||(tg.current=setTimeout(()=>{tg.current=null,tu(!1)},300))},[tu]);(0,i.useEffect)(()=>{let e=new EventSource("/api/agent/running/events");return e.onmessage=e=>{try{let t=JSON.parse(e.data);"running"===t.type?(to.current=!0,e4(new Set(t.runningSessionIds??[])),t.refreshSessionList&&tf()):"sessions-changed"===t.type&&(t.refreshSessionList&&tf(),eL(t.sessionIds??[]))}catch{}},()=>{tg.current&&clearTimeout(tg.current),e.close()}},[tu,tf]),(0,i.useEffect)(()=>{let t=e8.current,r=[...t].filter(t=>!e2.has(t)&&t!==e),n=[...e2].filter(e=>!t.has(e));(r.length>0||n.length>0)&&e6(e=>{let t=new Set(e);return n.forEach(e=>t.delete(e)),r.forEach(e=>t.add(e)),t}),(r.length>0||n.length>0)&&tu(!1),e8.current=e2},[e2,e,tu]),(0,i.useEffect)(()=>{e&&e6(t=>{if(!t.has(e))return t;let r=new Set(t);return r.delete(e),r})},[e]),(0,i.useEffect)(()=>{void 0!==x&&eK(e=>e+1)},[x]),(0,i.useEffect)(()=>{fetch("/api/home").then(e=>e.json()).then(e=>{e.home&&P(e.home)}).catch(()=>{})},[]);let tm=(0,i.useRef)(!1),tx=(0,i.useRef)(!1),tv=(0,i.useCallback)(e=>{if(!e)return null;for(let t of Object.values(er))if(t.worktrees.some(t=>eN(t.path)===eN(e)))return t.projectRoot;let t=B.find(t=>ej(t.path)===ej(e));if(t)return t.path;let r=ej(e),n=z.find(e=>ej(e.cwd)===r);return n?.projectRoot??e},[er,z,B]),ty=(0,i.useCallback)(e=>{Q(t=>{if(t?.has(e))return t;let r=new Set(t??[]);return r.add(e),r})},[]),tb=(0,i.useCallback)(e=>{Q(t=>{if(!t?.has(e))return t;let r=new Set(t);return r.delete(e),r})},[]),tk=(0,i.useCallback)(e=>{Q(t=>{let r=new Set(t??[]);return r.has(e)?r.delete(e):r.add(e),r})},[]),tw=(0,i.useCallback)(e=>{tH.current=!1,N(e),ty(e)},[ty]),tj=(0,i.useRef)(null);(0,i.useEffect)(()=>{tj.current!==L&&(tj.current=L,g?.(L,tv(L)))},[L,g,tv]);let tS=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(h&&h!==tS.current){tS.current=h,N(h);let e=tv(h);e&&ty(e)}},[h,tv,ty]);let[tC,tI]=(0,i.useState)(0);(0,i.useLayoutEffect)(()=>{if(!L)return;let e=!1;return fetch(`/api/worktrees?cwd=${encodeURIComponent(L)}`).then(e=>e.json()).then(t=>{if(e||t.error||!t.projectRoot)return;let r=t.projectRoot,n={forCwd:L,projectRoot:r,isGit:t.isGit??!1,isTopLevel:t.isTopLevel??!1,worktrees:t.worktrees??[]};en(e=>{let t=eN(r),i=e[t];if(i&&eN(i.projectRoot)!==t){let r={...e};return delete r[eN(i.projectRoot)],r[t]=n,r}return{...e,[t]:n}})}).catch(()=>{}),()=>{e=!0}},[L,tC,u]);let tT=(()=>{if(!t)return null;if(t.projectRoot)return t.projectRoot;if(t.projectKey)return t.projectKey;let e=t.cwd??"";if(!e)return null;let r=B.find(t=>ej(t.path)===ej(e));return r?r.path:e})(),tR=(0,i.useRef)(new Map),tM=(0,i.useMemo)(()=>{let e=z;if(t&&!e.some(e=>e.id===t.id)){let r=tT??t.cwd,n=r?ej(r):void 0;e=[...e,{...t,projectRoot:r??t.cwd,...n?{projectKey:n}:{}}]}let r=new Set(e.map(e=>e.id)),n=[];for(let e of e2){if(r.has(e))continue;let t=tR.current.get(e);t||(t=new Date().toISOString(),tR.current.set(e,t));let i=tT??L??"",a=i?ej(i):void 0;n.push({id:e,path:"",cwd:L??"",name:void 0,created:t,modified:t,messageCount:1,firstMessage:"",projectRoot:i,...a?{projectKey:a}:{}})}if(tR.current.size>n.length)for(let e of[...tR.current.keys()])(!e2.has(e)||r.has(e))&&tR.current.delete(e);return n.length?[...e,...n]:e},[z,t,tT,e2,L]),tz=(0,i.useMemo)(()=>{let e=B,t=!!tT&&e.some(e=>ej(e.path)===ej(tT));tT&&!t&&(e=[...e,{path:tT}]);let r=new Set(e.map(e=>ej(e.path)));for(let t of e2){if(z.some(e=>e.id===t))continue;let n=tT??L??"";n&&!r.has(ej(n))&&(e=[...e,{path:n}],r.add(ej(n)))}return e},[tT,B,e2,z,L]),tE=(0,i.useMemo)(()=>tv(L),[tv,L]),tA=!!(t||[...e2].some(e=>!z.some(t=>t.id===e))),tW=(0,i.useMemo)(()=>[...tz].sort((e,t)=>{let r=void 0!==e.sortOrder,n=void 0!==t.sortOrder;if(r!==n)return r?-1:1;if(r&&n&&e.sortOrder!==t.sortOrder)return e.sortOrder-t.sortOrder;let i=void 0!==e.addedAt,a=void 0!==t.addedAt;if(i!==a)return i?-1:1;if(i&&a){let r=t.addedAt.localeCompare(e.addedAt);if(0!==r)return r}return e.path.localeCompare(t.path)}),[tz]),tD=(0,i.useRef)(null),t$=(0,i.useMemo)(()=>{if(tA&&tD.current){let e=tD.current,t=new Set(e.map(e=>ej(e.path))),r=[...e];for(let e of tW)t.has(ej(e.path))||r.push(e);return r}return tD.current=tW,tW},[tW,tA]),tL=(0,i.useMemo)(()=>(function(e,t){let r=new Map,n=new Map;for(let t of e){let e=[];r.set(t.path,e),n.set(ej(t.path),e)}for(let e of t){let t=eb(e);if(!t)continue;let i=n.get(ej(e.projectKey??t))??r.get(t);i&&i.push(e)}return r})(t$,tM),[t$,tM]),tN=(0,i.useMemo)(()=>(function(e,t,r){let n=new Set(t),i=new Set(r),a=new Map;for(let t of e){let e=eb(t);if(!e)continue;let r=ej(t.projectKey??e),o=a.get(r)??{running:0,unread:0};n.has(t.id)&&(o.running+=1),i.has(t.id)&&(o.unread+=1),a.set(r,o)}return a})(tM,e2,e5),[tM,e2,e5]),tF=(0,i.useDeferredValue)(tt),tP=e7||tn||tF.trim().length>0,tB=(0,i.useMemo)(()=>{let e=tF.trim().toLowerCase(),t=[];for(let r of t$){let n=tL.get(r.path)??[];tn&&(n=n.filter(e=>e2.has(e.id))),e&&(n=n.filter(t=>(t.name??"").toLowerCase().includes(e)||t.firstMessage.toLowerCase().includes(e))),(0!==n.length||!tn&&(!e||eH(r.path).toLowerCase().includes(e)||(r.alias??"").toLowerCase().includes(e)))&&t.push({project:r,sessions:n})}return t},[t$,tL,tn,tF,e2]),tO=(0,i.useMemo)(()=>{let e=new Map;for(let{project:t,sessions:r}of tB)e.set(t.path,eV(r));return e},[tB]);(0,i.useEffect)(()=>{if(null===X||!tx.current)return;let e=new Set(t$.map(e=>e.path)),t=[...X].filter(t=>!e.has(t));0!==t.length&&Q(e=>{if(!e)return e;let r=new Set(e);return t.forEach(e=>r.delete(e)),r})},[X,t$]);let tH=(0,i.useRef)(!1),tK=(0,i.useRef)(0),tU=(0,i.useRef)(null);(0,i.useEffect)(()=>()=>{tU.current&&(clearTimeout(tU.current),tU.current=null)},[]),(0,i.useEffect)(()=>{if(s)return;if(o&&!tm.current){if(0===z.length)return;let e=z.find(e=>e.id===o);if(e){tK.current=0,tm.current=!0,N(e.cwd),ty(eb(e)),r(e,!0);return}if(tK.current<8){tK.current+=1,tU.current&&(clearTimeout(tU.current),tU.current=null),tU.current=setTimeout(()=>{tU.current=null,tu(!1)},1e3);return}tK.current=0,tm.current=!0,l?.()}if(null!==L&&!tH.current)return;let e=t$[0];e&&(N(e.path),ty(e.path),tH.current=0===z.length)},[z,L,o,s,r,l,t$,ty,tu]);let t_=(0,i.useRef)(!1);(0,i.useEffect)(()=>{t_.current||tE&&(t_.current=!0,null===X&&ty(tE))},[tE,X,ty]);let tq=(0,i.useCallback)(async e=>{let t=(e??"").trim();if(t&&!Y){J(!0),G(null);try{let e=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:t})}),r=await e.json().catch(()=>({}));if(!e.ok||r.error||!r.project)return void G((0,c.K)({...r,error:r.error??`HTTP ${e.status}`}));await th(),N(r.project.path),ty(r.project.path),V(!1)}catch(e){G(e instanceof Error?e.message:String(e))}finally{J(!1)}}},[Y,th,ty]),tV=(0,i.useCallback)(async(e,t)=>{try{if(!(await fetch("/api/projects",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,...t})})).ok)throw Error(M("projects.updateFailed"));await th()}catch(e){es.oR.error(e instanceof Error?e.message:String(e))}},[th,M]),tY=(0,i.useCallback)(async e=>{try{if(!(await fetch("/api/projects",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({updates:e.map((e,t)=>({cwd:e.path,sortOrder:t}))})})).ok)throw Error(M("projects.reorderFailed"));await th()}catch(e){es.oR.error(e instanceof Error?e.message:String(e))}},[th,M]),tJ=(0,i.useCallback)(async e=>{if(K(null),!H||H===e)return;let t=[...t$],r=t.findIndex(e=>e.path===H),n=t.findIndex(t=>t.path===e);if(r<0||n<0)return;let[i]=t.splice(r,1);i&&(t.splice(n,0,i),await tY(t))},[H,t$,tY]),tZ=(0,i.useCallback)(async(e,t)=>{let r=[...t$],n=r.findIndex(t=>t.path===e),i=n+t;if(n<0||i<0||i>=r.length)return;let[a]=r.splice(n,1);a&&(r.splice(i,0,a),await tY(r))},[t$,tY]),tG=(0,i.useCallback)(async e=>{if(!ee){et(e);try{let t=await fetch("/api/projects",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e})}),r=await t.json().catch(()=>({}));if(!t.ok||!r.success)return void es.oR.error((0,c.K)({...r,error:r.error??`HTTP ${t.status}`}));if(null!==tE&&ej(tE)===ej(e)){let t=t$.find(t=>t.path!==e);N(t?t.path:null)}tb(e),await th()}finally{et(null)}}},[ee,tE,t$,tb,th]),tX=(0,i.useCallback)(async()=>{let e=ec.trim(),t=tE?er[eN(tE)]:void 0;if(!e||eg||!t)return;let r=t.projectRoot;em(!0),eh(null);try{let t=await fetch("/api/worktrees",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:r,branch:e})}),n=await t.json().catch(()=>({}));if(!t.ok||n.error||!n.path)return void eh((0,c.K)({...n,error:n.error??`HTTP ${t.status}`}));let i=n.path;ed(!1),eu(""),ea(!1),en(t=>{let n=eN(r),a=t[n];return a?{...t,[n]:{...a,forCwd:i,worktrees:[...a.worktrees,{path:i,branch:e,isMain:!1}]}}:t}),N(i),tI(e=>e+1)}catch(e){eh(e instanceof Error?e.message:String(e))}finally{em(!1)}},[ec,eg,tE,er]),tQ=(0,i.useCallback)(async(e,t)=>{let r=tE?er[eN(tE)]:void 0;if(!r||eg)return;let n=r.projectRoot;em(!0),eh(null);try{let r=await fetch("/api/worktrees",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:n,path:e,force:t})}),i=await r.json().catch(()=>({}));if(!r.ok){if(i.dirty&&!t)return void ew(e);eh((0,c.K)({...i,error:i.error??`HTTP ${r.status}`}));return}ew(null),null!==L&&ej(L)===ej(e)&&N(n),tI(e=>e+1)}catch(e){eh(e instanceof Error?e.message:String(e))}finally{em(!1)}},[tE,er,eg,L]),t0=(0,i.useCallback)(()=>{ea(!1),ed(!1),eu(""),eh(null),ew(null)},[]),t1=(0,i.useCallback)(e=>{tH.current=!1,e.cwd&&N(e.cwd),ty(eb(e)),r(e)},[r,ty]),t2=(0,i.useCallback)(()=>{if(!L)return;let e="function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`;a?.(e,L)},[L,a]),[t4,t5]=(0,i.useState)(!1),t6=(0,i.useRef)(null),t8=(0,i.useCallback)(async e=>{if(e&&!t4){t5(!0);try{let t=await e.text(),r=await fetch("/api/sessions/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:e.name,content:t})}),n=await r.json().catch(()=>({}));if(!r.ok||!n.success)return void es.oR.error(n.error??`HTTP ${r.status}`);es.oR.success(M("sessionSidebar.imported")),tu(!1),th()}catch(e){es.oR.error(e instanceof Error?e.message:String(e))}finally{t5(!1)}}},[t4,tu,th,M]),t3=X??eB,t9=tE?er[eN(tE)]:void 0,t7=(0,i.useCallback)(e=>{let t=er[eN(e)];if(!t||!t.isGit||!t.isTopLevel)return null;let r=t.worktrees.find(e=>eN(e.path)===eN(L??""))??t.worktrees.find(e=>e.isMain);return r?r.branch??eO(r.path,F):null},[er,L,F]),re=!!(t9?.isGit&&t9.isTopLevel&&L&&null!==tE&&ej(tE)===ej(t9.projectRoot)),rt=(0,i.useCallback)(()=>{ea(e=>!e)},[]),rr=(0,i.useCallback)(e=>{let t=z.find(t=>t.id===e);t&&function(e,t=ev()){if(t)try{let r=ey(t);if(!(e in r))return;delete r[e],0===Object.keys(r).length?t.removeItem(ex):t.setItem(ex,JSON.stringify(r))}catch{}}(eb(t)),p?.(e),tu()},[z,p,tu]);(0,i.useEffect)(()=>{let t=z.find(t=>t.id===e);t&&function(e,t,r=ev()){if(r)try{let n=ey(r);n[e]=t,r.setItem(ex,JSON.stringify(n))}catch{}}(eb(t),t.id)},[z,e]);let rn=re&&t9?(0,n.jsx)(eQ,{worktreeState:t9,selectedCwd:L,homeDir:F,wtDropdownOpen:ei,wtNewOpen:el,setWtNewOpen:ed,wtNewBranch:ec,setWtNewBranch:eu,wtError:ep,setWtError:eh,wtBusy:eg,wtConfirmRemove:ek,setWtConfirmRemove:ew,onSelectWorktree:e=>{N(e),ea(!1),eh(null)},onCreateWorktree:tX,onRemoveWorktree:(e,t)=>void tQ(e,t),anchorRef:eE,newInputRef:eA,onClose:t0}):null;return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[q&&(0,n.jsx)(m,{busy:Y,error:Z,onCancel:()=>{V(!1),G(null)},onSelect:e=>void tq(e)}),(0,n.jsxs)("div",{style:{padding:"10px 10px 8px",borderBottom:"1px solid var(--border)",flexShrink:0,display:"flex",flexDirection:"column",gap:8},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,n.jsx)(eJ,{}),(0,n.jsxs)("div",{style:{display:"flex",gap:2},children:[T&&(0,n.jsx)(eo.m_,{content:M("sessionSidebar.archiveBrowserTitle"),side:"bottom",children:(0,n.jsx)(e_,{label:M("sessionSidebar.archiveBrowser"),onClick:T,children:(0,n.jsx)(eS.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})}),(0,n.jsx)(eo.m_,{content:M("sessionSidebar.importTitle"),side:"bottom",children:(0,n.jsx)(e_,{label:M("sessionSidebar.import"),onClick:()=>t6.current?.click(),disabled:t4,children:(0,n.jsx)(eC.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})}),(0,n.jsx)(eo.m_,{content:M("sessionSidebar.refresh"),side:"bottom",children:(0,n.jsx)(e_,{label:M("sessionSidebar.refresh"),active:e0,onClick:()=>{tu(!1),th()},children:e0?(0,n.jsx)(I.A,{size:14,strokeWidth:2.2,"aria-hidden":"true"}):(0,n.jsx)(eI.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})})]})]}),(0,n.jsx)("input",{ref:t6,type:"file",accept:".jsonl,.json,application/json,application/jsonl",style:{display:"none"},onChange:e=>{let t=e.target.files?.[0]??null;e.target.value="",t8(t)}}),(0,n.jsxs)("button",{onClick:t2,disabled:!L,className:"sidebar-new-session",title:L?M("sessionSidebar.newSessionIn",{cwd:L}):M("sessionSidebar.selectProjectFirst"),style:{width:"100%",height:38,boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"center",gap:7,background:"var(--bg-hover)",border:"1px solid var(--border)",borderRadius:9,color:L?"var(--text)":"var(--text-dim)",cursor:L?"pointer":"not-allowed",fontSize:12.5,fontWeight:600,letterSpacing:"-0.01em",opacity:L?1:.65,transition:eU},onMouseEnter:e=>{L&&(e.currentTarget.style.background="var(--bg-selected)",e.currentTarget.style.borderColor="color-mix(in srgb, var(--accent) 30%, transparent)")},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.borderColor="var(--border)"},children:[(0,n.jsx)(eT.A,{size:15,strokeWidth:2.2,style:{color:"var(--accent)",flexShrink:0},"aria-hidden":"true"}),(0,n.jsx)("span",{children:M("sessionSidebar.new")})]})]}),(0,n.jsxs)("div",{style:{flexShrink:0,padding:"4px 10px 2px",display:"flex",alignItems:"center",gap:2},children:[(0,n.jsx)("span",{style:{flex:1,color:"var(--text-muted)",fontSize:11,fontWeight:600,letterSpacing:"0.08em",textTransform:"uppercase"},children:M("projects.heading")}),(0,n.jsx)(e_,{label:M("sessionSidebar.search"),title:M("sessionSidebar.searchTitle"),active:e7,onClick:()=>{let e=!e7;te(e),e?setTimeout(()=>ta.current?.focus(),0):tr("")},children:(0,n.jsx)(eR.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})}),(0,n.jsx)(e_,{label:M("sessionSidebar.filterRunning"),title:M("sessionSidebar.filterRunningTitle"),active:tn,onClick:()=>ti(e=>!e),children:(0,n.jsx)(eM.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})}),(0,n.jsx)(e_,{label:M("projects.add"),title:M("projects.addTitle"),onClick:()=>{V(!0),G(null)},children:(0,n.jsx)(eT.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})})]}),e7&&(0,n.jsx)("div",{style:{padding:"0 10px 6px",flexShrink:0},children:(0,n.jsx)("input",{ref:ta,value:tt,onChange:e=>tr(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),te(!1),tr(""))},placeholder:M("sessionSidebar.searchPlaceholder"),"aria-label":M("sessionSidebar.search"),style:{width:"100%",height:27,boxSizing:"border-box",padding:"0 9px",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",outline:"none",color:"var(--text)",fontSize:12},onFocus:e=>{e.currentTarget.style.borderColor="var(--accent)"},onBlur:e=>{e.currentTarget.style.borderColor="var(--border)"}})}),(0,n.jsxs)("div",{style:{flex:eW&&(h||L)?"1 1 0":"1 1 auto",transition:"flex var(--dur-med) var(--ease-out-warm)",overflowY:"auto",padding:"2px 10px 10px",minHeight:80},children:[A&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--text-muted)",fontSize:12},children:M("sessionSidebar.loading")}),U&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--accent)",fontSize:12},children:U}),D&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--accent)",fontSize:12},children:D}),!A&&!U&&!D&&0===t$.length&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--text-muted)",fontSize:12,lineHeight:1.5},children:M("projects.noProjects")}),!A&&!U&&!D&&t$.length>0&&0===tB.length&&(0,n.jsx)("div",{style:{padding:"14px 4px",color:"var(--text-dim)",fontSize:11.5,lineHeight:1.5},children:M("sessionSidebar.noMatches")}),tB.map(({project:t,sessions:r})=>{let i=tO.get(t.path)??eV(r),a=null!==tE&&ej(tE)===ej(t.path),o=t7(t.path);return(0,n.jsx)(eX,{project:t,isActive:a,isExpanded:t3.has(t.path),activity:tN.get(ej(t.path)),tree:i,hiddenCount:tP?0:Math.max(0,i.length-eG),selectedSessionId:e,runningSessionIds:e2,unreadSessionIds:e5,relativeTimeNow:e3,onActivate:tw,onToggleExpand:tk,onRemoveProject:tG,onUpdatePresentation:tV,onDragPathChange:K,onDropProject:e=>void tJ(e),onMoveProject:(e,t)=>void tZ(e,t),isDragTarget:null!==H&&H!==t.path,removeBusy:ee===t.path,onSelectSession:t1,onRenamed:tu,onSessionDeleted:rr,activeWorktreeSwitcher:a?rn:null,worktreeBranch:o,worktreeToggleRef:a&&o?eE:void 0,worktreeOpen:!!a&&ei,onToggleWorktrees:a?rt:void 0,homeDir:F},t.path)})]}),(h||L)&&(0,n.jsxs)("div",{style:{borderTop:"1px solid var(--border)",display:"flex",flexDirection:"column",flex:eW?"1 1 0":"0 0 auto",minHeight:0,overflow:"hidden",transition:"flex var(--dur-med) var(--ease-out-warm)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",flexShrink:0},children:[(0,n.jsxs)("button",{onClick:()=>eD(e=>!e),style:{display:"flex",alignItems:"center",gap:6,flex:1,padding:"6px 10px",background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:11,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",textAlign:"left"},children:[(0,n.jsx)(v.A,{size:12,strokeWidth:1.8,style:{transform:eW?"rotate(90deg)":"none",transition:"transform var(--dur-med) var(--ease-out-warm)",flexShrink:0},"aria-hidden":"true"}),M("sessionSidebar.explorer")]}),(0,n.jsx)("div",{inert:!eW||void 0,style:{display:"flex",alignItems:"center",opacity:+!!eW,pointerEvents:eW?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(eo.m_,{content:M("sessionSidebar.uploadFilesTitle"),side:"top",children:(0,n.jsx)("button",{onClick:()=>tl.current?.openUploadPicker(),disabled:eq,title:M("sessionSidebar.uploadFilesTitle"),"aria-label":M("sessionSidebar.uploadFiles"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,background:"none",border:"none",color:"var(--text-dim)",cursor:eq?"default":"pointer",borderRadius:"var(--radius-control)",flexShrink:0,opacity:eq?.6:1,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{eq||(e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{eq||(e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none")},children:(0,n.jsx)(C.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})})}),(0,n.jsx)(eo.m_,{content:M("sessionSidebar.refreshExplorer"),side:"top",children:(0,n.jsx)("button",{"aria-label":M("sessionSidebar.refreshExplorer"),onClick:()=>{y?y():eK(e=>e+1)},title:M("sessionSidebar.refreshExplorer"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,marginRight:6,background:"none",border:"none",color:b?"var(--accent)":"var(--text-dim)",cursor:"pointer",borderRadius:"var(--radius-control)",flexShrink:0,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{b||(e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{b||(e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none")},children:b?(0,n.jsx)(eI.A,{size:13,strokeWidth:2,"aria-hidden":"true",className:"icon-spin"}):(0,n.jsx)(eI.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})})]}),(0,n.jsx)("div",{className:"accordion-flow "+(eW?"is-open":""),inert:!eW||void 0,style:{flex:eW?"1 1 auto":"0 0 0px",minHeight:0},children:(0,n.jsx)("div",{className:"accordion-flow-inner",style:{height:"100%",overflowY:"auto",overflowX:"hidden"},children:(0,n.jsx)(ef,{ref:tl,cwd:L??h,onOpenFile:f??(()=>{}),refreshKey:e$,onAtMention:w,onAtMentions:j,onUploadBusyChange:eY,onRefreshDone:k})})})]}),(0,n.jsx)("div",{style:{borderTop:"1px solid var(--border)",flexShrink:0},children:(0,n.jsxs)("button",{className:"sidebar-settings-row",onClick:S,title:M("chatInput.settings"),"aria-label":M("chatInput.settings"),style:{width:"100%",height:36,boxSizing:"border-box",display:"flex",alignItems:"center",gap:9,padding:"0 12px",background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",transition:eU},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="none",e.currentTarget.style.color="var(--text-muted)"},children:[(0,n.jsxs)("span",{style:{position:"relative",display:"inline-flex",flexShrink:0,color:"var(--accent)"},children:[(0,n.jsx)(ez.A,{size:14,strokeWidth:2,"aria-hidden":"true"}),R&&(0,n.jsx)("span",{"aria-label":M("skillsConfig.updateAvailable"),role:"status",style:{position:"absolute",top:-3,right:-4,width:6,height:6,borderRadius:"50%",background:"var(--accent)",border:"1px solid var(--bg-panel)"}})]}),(0,n.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:12,fontWeight:500},children:M("chatInput.settings")}),(0,n.jsx)(v.A,{size:13,strokeWidth:2,style:{flexShrink:0,color:"var(--text-dim)"},"aria-hidden":"true"})]})})]})}let eG=5;function eX({project:e,isActive:t,isExpanded:r,activity:a,tree:o,hiddenCount:s,selectedSessionId:l,runningSessionIds:c,unreadSessionIds:u,relativeTimeNow:p,onActivate:h,onToggleExpand:g,onRemoveProject:f,onUpdatePresentation:m,onDragPathChange:x,onDropProject:y,onMoveProject:k,isDragTarget:w,removeBusy:S,onSelectSession:C,onRenamed:I,onSessionDeleted:T,activeWorktreeSwitcher:R,worktreeBranch:M,worktreeToggleRef:z,worktreeOpen:E,onToggleWorktrees:A}){let{t:W}=(0,d.s9)(),[D,$]=(0,i.useState)(!1),[L,N]=(0,i.useState)(!1),[F,P]=(0,i.useState)(!1),[B,O]=(0,i.useState)(!1),H=(0,i.useRef)(null),[K,U]=(0,i.useState)(!1),[_,q]=(0,i.useState)(""),V=(0,i.useRef)(null),Y=(0,i.useRef)(!1),J=(0,i.useCallback)(()=>{q(e.alias??""),U(!0),setTimeout(()=>V.current?.select(),0)},[e.alias]),Z=(0,i.useCallback)(()=>{if(Y.current){Y.current=!1,U(!1);return}let t=_.trim();U(!1),t!==(e.alias??"")&&m(e.path,{alias:t})},[_,e.alias,e.path,m]),G=(0,i.useCallback)(async e=>{try{let t=await fetch("/api/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})}),r=await t.json().catch(()=>({}));t.ok||es.oR.error(r.error??W("fileExplorer.revealFailed"))}catch{es.oR.error(W("fileExplorer.revealFailed"))}},[W]),X=e.alias??eH(e.path),Q=!!(a&&(a.running>0||a.unread>0)),ee=s>0&&!F?o.slice(0,eG):o,et=D||L||B;return(0,n.jsxs)("section",{className:"sidebar-project","data-active":t?"true":"false",style:{marginBottom:12},children:[(0,n.jsxs)("div",{className:"sidebar-project-header",draggable:!K,onDragStart:t=>{t.dataTransfer.setData("text/plain",e.path),t.dataTransfer.effectAllowed="move",x(e.path)},onDragOver:e=>{w&&(e.preventDefault(),e.dataTransfer.dropEffect="move")},onDrop:t=>{t.preventDefault(),y(e.path)},onDragEnd:()=>x(null),onMouseEnter:()=>$(!0),onMouseLeave:()=>$(!1),onFocus:()=>N(!0),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||N(!1)},onKeyDown:e=>{"Escape"===e.key&&B&&(e.stopPropagation(),O(!1))},style:{display:"flex",alignItems:"center",gap:2,height:30,margin:0,padding:"0 6px 0 0",borderRadius:"var(--radius-control)",background:D?"var(--bg-hover)":"transparent",transition:eU,...w?{outline:"1px solid var(--accent)",outlineOffset:-1}:{}},children:[K?(0,n.jsxs)("div",{className:"sidebar-project-identity",onClick:e=>e.stopPropagation(),style:{flex:"0 1 auto",minWidth:0,alignSelf:"stretch",display:"flex",alignItems:"center",gap:7,padding:"0 4px 0 10px"},children:[(0,n.jsx)(b.A,{size:15,strokeWidth:1.8,style:{flexShrink:0,color:"var(--text-muted)"},"aria-hidden":"true"}),(0,n.jsx)("input",{ref:V,autoFocus:!0,"aria-label":W("projects.aliasPrompt"),value:_,onChange:e=>q(e.target.value),onBlur:Z,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),Z()),"Escape"===e.key&&(e.preventDefault(),Y.current=!0,U(!1))},style:{flex:1,minWidth:0,height:22,padding:"2px 6px",border:"1px solid var(--accent)",borderRadius:"var(--radius-control)",outline:"none",background:"var(--bg)",color:"var(--text)",fontSize:12,fontFamily:"var(--font-mono)",fontWeight:600}})]}):(0,n.jsxs)("button",{className:"sidebar-project-identity",onClick:()=>h(e.path),"aria-current":t?"true":void 0,title:e.path,style:{flex:"0 1 auto",minWidth:0,alignSelf:"stretch",display:"flex",alignItems:"center",gap:7,padding:"0 4px 0 10px",background:"none",border:"none",color:D?"var(--text)":"var(--text-muted)",cursor:"pointer",textAlign:"left"},children:[(0,n.jsx)(b.A,{size:15,strokeWidth:1.8,style:{flexShrink:0,color:t?"var(--accent)":D?"var(--text-muted)":"var(--text-dim)",transition:"color var(--dur-fast) var(--ease-out-warm)"},"aria-hidden":"true"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)",fontSize:12,fontWeight:600,letterSpacing:"-0.01em",lineHeight:1.25},children:X})]}),M&&z&&(0,n.jsxs)("button",{type:"button",ref:z,onClick:A,"aria-expanded":E,"aria-haspopup":"menu",title:W("sessionSidebar.switchWorktreeTo",{path:M}),style:{display:"inline-flex",alignItems:"center",gap:5,flexShrink:0,minWidth:0,maxWidth:104,height:24,padding:"0 6px",border:"none",borderRadius:"var(--radius-control)",background:E?"var(--bg-selected)":"none",color:E?"var(--accent)":D?"var(--text-muted)":"var(--text-dim)",cursor:"pointer",fontFamily:"var(--font-mono)",fontSize:10.5,lineHeight:1,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)("span",{"aria-hidden":"true",style:{flexShrink:0,opacity:.7},children:"\xb7"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:M})]}),(0,n.jsx)("div",{style:{flex:1}}),(0,n.jsx)(eo.m_,{content:W("fileExplorer.revealInFileManager"),children:(0,n.jsx)("button",{type:"button",className:"sidebar-project-action",onClick:()=>void G(e.path),"aria-label":W("fileExplorer.revealInFileManager"),title:W("fileExplorer.revealInFileManager"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,border:"none",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text-dim)",cursor:"pointer",lineHeight:0,transition:eU},children:(0,n.jsx)(j.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})}),Q&&(0,n.jsx)("span",{"aria-label":W("projects.activity",{running:a?.running??0,unread:a?.unread??0}),title:W("projects.activity",{running:a?.running??0,unread:a?.unread??0}),className:"sidebar-project-activity","data-running":(a?.running??0)>0?"true":"false",role:"status","aria-live":"polite",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:11,height:11,margin:"0 2px 0 0",flexShrink:0,lineHeight:0},children:(0,n.jsx)("span",{"aria-hidden":"true",className:"sidebar-project-activity-dot",style:{width:7,height:7,borderRadius:"50%",background:"var(--accent)"}})}),(0,n.jsxs)("div",{style:{flexShrink:0,visibility:et?"visible":"hidden"},children:[(0,n.jsx)("button",{type:"button",ref:H,className:"sidebar-project-action",onClick:()=>O(e=>!e),disabled:S,"aria-label":W("commandPalette.actions"),title:W("commandPalette.actions"),"aria-expanded":B,"aria-haspopup":"menu",style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,border:"none",borderRadius:"var(--radius-control)",background:B?"var(--bg-selected)":"transparent",color:"var(--text-dim)",cursor:S?"default":"pointer",opacity:S?.5:1,lineHeight:0,transition:eU},children:(0,n.jsx)(eE.A,{size:13,strokeWidth:2,"aria-hidden":"true"})}),(0,n.jsxs)(eq,{anchor:H,open:B,onClose:()=>O(!1),placement:"below",minWidth:136,children:[(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{J(),O(!1)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:11},children:e.alias?W("projects.editAlias"):W("projects.nameAlias")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{O(!1),k(e.path,-1)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:11},children:W("projects.moveUp")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{O(!1),k(e.path,1)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:11},children:W("projects.moveDown")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",disabled:S,onClick:()=>{O(!1),f(e.path)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--status-error)",cursor:S?"default":"pointer",textAlign:"left",fontSize:11},children:W("projects.remove",{name:X})})]})]}),(0,n.jsx)("button",{className:"sidebar-project-toggle",onClick:()=>g(e.path),"aria-label":r?W("projects.collapseProject",{name:X}):W("projects.expandProject",{name:X}),"aria-expanded":r,title:r?W("projects.collapseProjectTitle",{path:e.path}):W("projects.expandProjectTitle",{path:e.path}),style:{display:"flex",alignItems:"center",justifyContent:"center",width:22,height:26,padding:0,flexShrink:0,background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",lineHeight:0,borderRadius:"var(--radius-control)",transition:"color var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(v.A,{size:13,strokeWidth:1.8,style:{transform:r?"rotate(90deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"},"aria-hidden":"true"})})]}),t&&R,r&&(0,n.jsx)("div",{className:"sidebar-project-sessions",style:{margin:"2px 0 0"},children:0===ee.length?(0,n.jsx)("div",{style:{padding:"6px 12px 8px 34px",color:"var(--text-dim)",fontSize:11},children:W("projects.emptyProject")}):(0,n.jsxs)(n.Fragment,{children:[ee.map(e=>(0,n.jsx)(e0,{node:e,selectedSessionId:l,runningSessionIds:c,unreadSessionIds:u,relativeTimeNow:p,onSelectSession:C,onRenamed:I,onSessionDeleted:T,depth:0},e.session.id)),s>0&&(0,n.jsxs)("button",{onClick:()=>P(e=>!e),"aria-expanded":F,style:{display:"flex",alignItems:"center",gap:5,width:"100%",margin:"2px 0 0",padding:"5px 8px 5px 34px",background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",textAlign:"left",fontSize:11,fontWeight:600,borderRadius:"var(--radius-control)",transition:eU},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none"},children:[(0,n.jsx)(eA.A,{size:11,strokeWidth:1.8,style:{flexShrink:0,transform:F?"rotate(180deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"},"aria-hidden":"true"}),F?W("projects.showLess"):W("projects.showMoreSessions",{count:s})]})]})})]})}function eQ({worktreeState:e,selectedCwd:t,homeDir:r,wtDropdownOpen:i,wtNewOpen:a,setWtNewOpen:o,wtNewBranch:s,setWtNewBranch:l,wtError:c,setWtError:u,wtBusy:p,wtConfirmRemove:h,setWtConfirmRemove:g,onSelectWorktree:f,onCreateWorktree:m,onRemoveWorktree:x,anchorRef:v,newInputRef:y,onClose:b}){let{t:k}=(0,d.s9)();return(0,n.jsxs)(eq,{anchor:v,open:i,onClose:b,placement:"below",align:"start",minWidth:240,style:{overflow:"hidden"},children:[(0,n.jsx)("div",{style:{maxHeight:"min(40vh, 300px)",overflowY:"auto"},children:e.worktrees.map(i=>{let a=i.path===t||i.isMain&&!e.worktrees.some(e=>e.path===t);return h===i.path?(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"7px 10px",borderBottom:"1px solid var(--border)",background:"color-mix(in srgb, var(--accent) 6%, transparent)"},children:[(0,n.jsx)("span",{style:{flex:1,fontSize:11,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:k("sessionSidebar.uncommittedForceRemove")}),(0,n.jsx)("button",{onClick:()=>x(i.path,!0),disabled:p,style:{padding:"3px 9px",background:"var(--accent-strong)",border:"none",borderRadius:"var(--radius-control)",color:"var(--on-accent)",fontSize:11,fontWeight:600,cursor:"pointer",flexShrink:0},children:k("sessionSidebar.force")}),(0,n.jsx)("button",{onClick:()=>g(null),style:{padding:"3px 9px",background:"var(--bg-hover)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",fontSize:11,cursor:"pointer",flexShrink:0},children:k("sessionSidebar.cancel")})]},i.path):(0,n.jsxs)("div",{className:"wt-row",style:{display:"flex",alignItems:"center",borderBottom:"1px solid var(--border)"},children:[(0,n.jsxs)("button",{onClick:()=>f(i.path),"aria-pressed":a,title:i.path,style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:7,padding:"8px 10px",background:"var(--bg)",border:"none",color:a?"var(--text)":"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:11,fontFamily:"var(--font-mono)"},children:[a?(0,n.jsx)(I.A,{size:10,strokeWidth:2,style:{flexShrink:0,color:"var(--accent)"},"aria-hidden":"true"}):(0,n.jsx)("span",{style:{width:10,flexShrink:0}}),(0,n.jsx)(eK,{text:i.branch??eO(i.path,r),style:{flex:1}}),i.isMain&&(0,n.jsx)("span",{style:{flexShrink:0,color:"var(--text-dim)",fontSize:10},children:k("sessionSidebar.mainBadge")})]}),!i.isMain&&(0,n.jsx)("button",{onClick:()=>x(i.path,!1),disabled:p,title:k("sessionSidebar.removeWorktreeTitle",{path:i.path}),style:{display:"flex",alignItems:"center",justifyContent:"center",width:34,height:28,padding:0,marginRight:4,background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",borderRadius:"var(--radius-control)",flexShrink:0,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)",e.currentTarget.style.background="color-mix(in srgb, var(--accent) 8%, transparent)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none"},children:(0,n.jsx)(eW.A,{size:12,strokeWidth:2,"aria-hidden":"true"})})]},i.path)})}),a?(0,n.jsxs)("div",{style:{padding:"6px 8px"},children:[(0,n.jsx)("input",{ref:y,value:s,onChange:e=>{l(e.target.value),u(null)},onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),m()),"Escape"===e.key&&(o(!1),l(""),u(null))},placeholder:k("sessionSidebar.branchNamePlaceholder"),style:{width:"100%",fontSize:11,fontFamily:"var(--font-mono)",padding:"5px 8px",border:"1px solid var(--accent)",borderRadius:"var(--radius-control)",outline:"none",background:"var(--bg)",color:"var(--text)",boxSizing:"border-box"}}),(0,n.jsxs)("div",{style:{display:"flex",gap:5,marginTop:5},children:[(0,n.jsx)("button",{onClick:m,disabled:p||!s.trim(),style:{flex:1,padding:"4px 0",background:"var(--accent-strong)",border:"none",borderRadius:"var(--radius-control)",color:"var(--on-accent)",fontSize:11,fontWeight:600,cursor:p||!s.trim()?"not-allowed":"pointer",opacity:p||!s.trim()?.65:1},children:p?k("sessionSidebar.creating"):k("sessionSidebar.create")}),(0,n.jsx)("button",{onClick:()=>{o(!1),l(""),u(null)},style:{flex:1,padding:"4px 0",background:"var(--bg-hover)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",fontSize:11,cursor:"pointer"},children:k("sessionSidebar.cancel")})]})]}):(0,n.jsxs)("button",{onClick:e=>{e.stopPropagation(),o(!0),u(null),setTimeout(()=>y.current?.focus(),0)},title:k("sessionSidebar.newWorktreeTitle"),style:{display:"flex",alignItems:"center",gap:7,width:"100%",padding:"8px 10px",background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:11},children:[(0,n.jsx)(eT.A,{size:12,strokeWidth:1.8,style:{flexShrink:0},"aria-hidden":"true"}),(0,n.jsx)("span",{children:k("sessionSidebar.newWorktree")})]}),c&&(0,n.jsx)("div",{style:{padding:"5px 10px 8px",color:"var(--accent)",fontSize:11,lineHeight:1.35,overflowWrap:"anywhere"},children:c})]})}let e0=(0,i.memo)(function e({node:t,selectedSessionId:r,runningSessionIds:a,unreadSessionIds:o,relativeTimeNow:s,onSelectSession:l,onRenamed:d,onSessionDeleted:c,depth:u}){let[p,h]=(0,i.useState)(!1),g=t.children.length>0,f=t.session.id,m=f===r,x=a.has(f),v=o.has(f),y=(0,i.useCallback)(()=>{l(t.session)},[l,t.session]),b=(0,i.useCallback)(e=>{c?.(e)},[c]),k=(0,i.useCallback)(()=>{h(e=>!e)},[]);return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{style:{position:"relative"},children:[u>0&&(0,n.jsx)("div",{style:{position:"absolute",left:14*u+22,top:0,bottom:0,width:1,background:"var(--border)",pointerEvents:"none"}}),(0,n.jsx)(e4,{session:t.session,isSelected:m,isRunning:x,isUnread:v,relativeTimeNow:s,onClick:y,onRenamed:d,onDeleted:b,depth:u,hasChildren:g,collapsed:p,onToggleCollapse:k})]}),g&&!p&&(0,n.jsx)("div",{children:t.children.map(t=>(0,n.jsx)(e,{node:t,selectedSessionId:r,runningSessionIds:a,unreadSessionIds:o,relativeTimeNow:s,onSelectSession:l,onRenamed:d,onSessionDeleted:c,depth:u+1},t.session.id))})]})},(e,t)=>{if(e.node!==t.node)return!1;if(e.selectedSessionId!==t.selectedSessionId){let r=e.node.session.id;if(r===e.selectedSessionId!=(r===t.selectedSessionId))return!1}if(e.runningSessionIds!==t.runningSessionIds){let r=e.node.session.id;if(e.runningSessionIds.has(r)!==t.runningSessionIds.has(r))return!1}if(e.unreadSessionIds!==t.unreadSessionIds){let r=e.node.session.id;if(e.unreadSessionIds.has(r)!==t.unreadSessionIds.has(r))return!1}return e.relativeTimeNow===t.relativeTimeNow&&e.onSelectSession===t.onSelectSession&&e.onRenamed===t.onRenamed&&e.onSessionDeleted===t.onSessionDeleted});function e1({size:e=14}){let{t}=(0,d.s9)(),r=em();return(0,n.jsx)("span",{title:t("sessionSidebar.agentRunning"),"aria-label":t("sessionSidebar.agentRunningAria"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--accent)"},children:(0,n.jsx)("span",{"aria-hidden":"true",className:"sidebar-running-spinner","data-reduced-motion":r?"true":"false",style:{width:e-2,height:e-2}})})}function e2({size:e=14}){let{t}=(0,d.s9)(),r=em();return(0,n.jsx)("span",{title:t("sessionSidebar.newActivity"),"aria-label":t("sessionSidebar.newSessionActivity"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--accent)"},children:(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",style:{display:"block"},children:[(0,n.jsx)("circle",{cx:"7",cy:"7",r:"2.5",fill:"currentColor"}),!r&&(0,n.jsxs)("circle",{cx:"7",cy:"7",r:"3",stroke:"currentColor",strokeWidth:"1.4",opacity:"0.32",children:[(0,n.jsx)("animate",{attributeName:"r",values:"3;6;3",dur:"1.6s",repeatCount:"indefinite"}),(0,n.jsx)("animate",{attributeName:"opacity",values:"0.32;0;0.32",dur:"1.6s",repeatCount:"indefinite"})]})]})})}let e4=(0,i.memo)(function({session:e,isSelected:t,isRunning:r,isUnread:a,onClick:o,onRenamed:s,onDeleted:l,depth:c=0,hasChildren:u=!1,collapsed:p=!1,relativeTimeNow:h,onToggleCollapse:g}){let{t:f,locale:m}=(0,d.s9)(),[x,v]=(0,i.useState)(!1),[y,b]=(0,i.useState)(!1),[k,w]=(0,i.useState)(!1),[j,S]=(0,i.useState)(""),C=(0,i.useRef)(!1),[I,T]=(0,i.useState)(!1),[R,M]=(0,i.useState)(!1),[z,E]=(0,i.useState)(!1),[A,W]=(0,i.useState)(!1),D=(0,i.useRef)(null),$=(0,i.useRef)(null),L=(0,i.useRef)(null),N=e.name||e.firstMessage.slice(0,50)||e.id.slice(0,12),F=function(e,t){let r=new Date(e).getTime();if(!Number.isFinite(r))return null;let n=Math.max(0,Math.floor((t-r)/6e4));if(n<1)return"now";if(n<60)return`${n}m`;let i=Math.floor(n/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);if(a<30)return`${a}d`;let o=Math.floor(a/30);return o<12?`${o}mo`:`${Math.floor(o/12)}y`}(e.modified,h),P=I||R,B=x||y||z,O=(0,i.useCallback)(t=>{t.stopPropagation(),S(e.name??""),w(!0),setTimeout(()=>D.current?.select(),0)},[e.name]),H=(0,i.useCallback)(async()=>{if(C.current){C.current=!1;return}let t=j.trim();if(w(!1),t!==(e.name??""))try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})})).ok)throw Error("Session rename failed");s?.()}catch{}},[j,e.id,e.name,s]),K=(0,i.useCallback)(async()=>{T(!1),W(!0);try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}/archive`,{method:"POST"})).ok)throw Error("Session archive failed");l?.(e.id)}catch{W(!1),es.oR.error(f("sessionSidebar.archiveFailed"))}},[e.id,l,f]),U=(0,i.useCallback)(async()=>{M(!1),W(!0);try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"DELETE"})).ok)throw Error("Session deletion failed");l?.(e.id)}catch{W(!1),es.oR.error(f("sessionSidebar.deleteFailed"))}},[e.id,l,f]),_=(0,i.useCallback)(()=>{T(!1),M(!1),E(!1),requestAnimationFrame(()=>$.current?.focus())},[]);return(0,n.jsxs)("div",{onClick:I||R||k?void 0:o,onMouseEnter:()=>v(!0),onMouseLeave:()=>v(!1),onFocus:()=>b(!0),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||b(!1)},onKeyDown:e=>{(I||R||z)&&"Escape"===e.key&&(e.stopPropagation(),_())},style:{height:P?34:30,display:"flex",alignItems:"center",gap:6,width:"100%",margin:"1px 0",padding:`0 8px 0 ${30+14*c}px`,position:"relative",overflow:"hidden",background:P?"color-mix(in srgb, var(--accent) 6%, transparent)":t?"color-mix(in srgb, var(--bg-selected) 70%, transparent)":x?"var(--bg-hover)":"transparent",opacity:A?.5:1,cursor:P||k?"default":"pointer",transition:"background var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},children:[(t||P)&&(0,n.jsx)("span",{"aria-hidden":"true",style:{position:"absolute",left:20+14*c,top:0,bottom:0,width:2,borderRadius:1,background:"var(--accent)",pointerEvents:"none"}}),P?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:12,color:"var(--text)"},children:I?f("sessionSidebar.archiveConfirm",{title:N.length>22?`${N.slice(0,22)}…`:N}):f("sessionSidebar.deleteConfirm",{title:N.length>22?`${N.slice(0,22)}…`:N})}),(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),I?K():U()},style:{height:28,padding:"0 10px",border:"none",borderRadius:"var(--radius-control)",background:"var(--accent-strong)",color:"var(--on-accent)",cursor:"pointer",fontSize:11,fontWeight:600},children:I?f("sessionSidebar.archive"):f("sessionSidebar.delete")}),(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),_()},autoFocus:!0,style:{height:28,padding:"0 10px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg)",color:"var(--text-muted)",cursor:"pointer",fontSize:11},children:f("sessionSidebar.cancel")})]}):k?(0,n.jsx)("input",{ref:D,autoFocus:!0,"aria-label":f("sessionSidebar.rename"),value:j,onChange:e=>S(e.target.value),onBlur:H,onKeyDown:e=>{"Enter"===e.key&&H(),"Escape"===e.key&&(e.preventDefault(),C.current=!0,w(!1))},style:{flex:1,height:25,padding:"3px 7px",border:"1px solid var(--accent)",borderRadius:"var(--radius-control)",outline:"none",background:"var(--bg)",color:"var(--text)",fontSize:12}}):(0,n.jsxs)(n.Fragment,{children:[c>0&&(0,n.jsx)(eD.A,{size:11,strokeWidth:2,style:{flexShrink:0,color:"var(--text-dim)"},"aria-hidden":"true"}),(0,n.jsx)("button",{ref:$,type:"button",className:"session-item-button","aria-current":t?"true":void 0,onKeyDown:e=>{"Delete"===e.key&&(e.preventDefault(),M(!0))},style:{display:"flex",alignItems:"center",flex:1,minWidth:0},children:(0,n.jsx)("span",{title:N,style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text)",fontSize:12.5,fontWeight:t?600:500,lineHeight:1.35,letterSpacing:"-0.005em"},children:N})}),e.worktreeBranch&&(0,n.jsxs)("span",{title:f("sessionSidebar.worktreeTitle",{path:e.cwd}),style:{display:"flex",alignItems:"center",gap:3,maxWidth:56,minWidth:0,overflow:"hidden",color:"var(--text-dim)",fontSize:10,flexShrink:1},children:[(0,n.jsx)(eD.A,{size:10,strokeWidth:2.4,"aria-hidden":"true"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.worktreeBranch})]}),u&&(0,n.jsx)("button",{className:"session-item-icon-button",onClick:e=>{e.stopPropagation(),g?.()},title:p?f("sessionSidebar.expandForks"):f("sessionSidebar.collapseForks"),"aria-label":p?f("sessionSidebar.expandForks"):f("sessionSidebar.collapseForks"),"aria-expanded":!p,style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,flexShrink:0,border:"none",background:"none",color:"var(--text-dim)",cursor:"pointer",transform:p?"rotate(-90deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(eA.A,{size:12,strokeWidth:1.8,"aria-hidden":"true"})}),(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",gap:2,flexShrink:0},children:(0,n.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"flex-end",width:64,height:24,flexShrink:0},children:[(0,n.jsxs)("div",{"aria-hidden":B,style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:2,width:"100%",whiteSpace:"nowrap",opacity:+!B,pointerEvents:B?"none":"auto",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},children:[r&&(0,n.jsx)(e1,{size:12}),!r&&a&&(0,n.jsx)(e2,{size:11}),F&&(0,n.jsx)("span",{title:new Date(e.modified).toLocaleString(m),style:{minWidth:42,whiteSpace:"nowrap",textAlign:"right",color:t?"var(--accent)":"var(--text-dim)",fontSize:10,fontVariantNumeric:"tabular-nums"},children:F})]}),(0,n.jsxs)("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"flex-end",opacity:+!!B,pointerEvents:B?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)("button",{type:"button",ref:L,className:"session-item-icon-button",onClick:e=>{e.stopPropagation(),E(e=>!e)},title:f("projects.actions"),"aria-label":f("projects.actions"),"aria-expanded":z,style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,lineHeight:0,border:"none",borderRadius:"var(--radius-control)",background:z?"var(--bg-selected)":"transparent",color:z?"var(--text)":"var(--text-dim)",cursor:"pointer"},children:(0,n.jsx)(eE.A,{size:14,strokeWidth:2,"aria-hidden":"true"})}),(0,n.jsxs)(eq,{anchor:L,open:z,onClose:()=>E(!1),placement:"above",minWidth:128,children:[(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:e=>{e.stopPropagation(),E(!1),T(!0)},disabled:u,title:u?f("sessionSidebar.archiveLeafOnly"):f("sessionSidebar.archive"),style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:u?"var(--text-dim)":"var(--text-muted)",cursor:u?"not-allowed":"pointer",textAlign:"left",fontSize:11,opacity:u?.55:1},children:f("sessionSidebar.archive")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:e=>{O(e),E(!1)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:11},children:f("sessionSidebar.rename")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:e=>{e.stopPropagation(),E(!1),M(!0)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--status-error)",cursor:"pointer",textAlign:"left",fontSize:11},children:f("sessionSidebar.delete")})]})]})]})})]})]})});function e5(e,t={}){return"thinking"===e.type&&!e.deferred&&!t.isStreaming&&(!e.thinking||""===e.thinking.trim())}function e6(e,t={}){return(e.content??[]).filter(e=>!e5(e,t))}function e8(e,t={}){let r=e6(e,t),n=r.findLastIndex(e=>"text"!==e.type&&"image"!==e.type);return -1===n?{answerBlocks:r,processBlocks:[]}:{answerBlocks:r.slice(n+1),processBlocks:r.slice(0,n+1)}}function e3(e){return e.filter(e=>"toolCall"===e.type).length}var e9=r(99314),e7=r(66958),te=r(72788),tt=r(5045),tr=r(89034),tn=r(32316),ti=r(19870),ta=r(68925),to=r(94309);function ts({src:e,alt:t,...r}){let{t:a}=(0,d.s9)(),[o,s]=(0,i.useState)(!1),[c,u]=(0,i.useState)(null);(0,i.useEffect)(()=>{if("string"==typeof e||void 0===e)return void u(null);let t=URL.createObjectURL(e);return u(t),()=>URL.revokeObjectURL(t)},[e]);let p="string"==typeof e?e:c??"";return p?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{type:"button",className:"image-clickable",onClick:e=>{e.preventDefault(),e.stopPropagation(),s(!0)},"aria-label":t?a("imagePreview.openWithAlt",{alt:t}):a("imagePreview.open"),title:t?a("imagePreview.openWithAlt",{alt:t}):a("imagePreview.open"),children:(0,n.jsx)("img",{src:p,alt:t??"",loading:"lazy",...r})}),o&&(0,l.createPortal)((0,n.jsx)(tl,{src:p,alt:t??"",onClose:()=>s(!1)}),document.body)]}):null}function tl({src:e,alt:t,onClose:r}){let a=(0,i.useRef)(null),[o,s]=(0,i.useState)(1),{t:l}=(0,d.s9)();return(0,i.useEffect)(()=>{let e=a.current;if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow="hidden",e.showModal(),()=>{document.body.style.overflow=t,e.open&&e.close()}},[]),(0,n.jsx)("dialog",{ref:a,className:"image-lightbox-dialog","aria-label":l("imagePreview.viewerLabel"),onClick:e=>{e.stopPropagation()},onCancel:e=>{e.preventDefault(),r()},onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),r())},children:(0,n.jsxs)("div",{className:"image-lightbox-layout",children:[(0,n.jsxs)("div",{className:"image-lightbox-toolbar",children:[(0,n.jsx)("span",{className:"image-lightbox-title",children:t||l("imagePreview.imageTitle")}),(0,n.jsxs)("div",{className:"image-lightbox-actions",children:[(0,n.jsxs)("div",{className:"image-lightbox-stepper",children:[(0,n.jsx)("button",{type:"button",onClick:()=>s(e=>Math.max(.25,e-.25)),disabled:o<=.25,title:l("imagePreview.zoomOut"),"aria-label":l("imagePreview.zoomOut"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M5 12h14"})})}),(0,n.jsxs)("span",{className:"image-lightbox-zoom-value",children:[Math.round(100*o),"%"]}),(0,n.jsx)("button",{type:"button",onClick:()=>s(e=>Math.min(8,e+.25)),disabled:o>=8,title:l("imagePreview.zoomIn"),"aria-label":l("imagePreview.zoomIn"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M12 5v14M5 12h14"})})})]}),(0,n.jsx)("button",{type:"button",className:"image-lightbox-icon-button",onClick:()=>s(1),title:l("imagePreview.resetZoom"),"aria-label":l("imagePreview.resetZoom"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M8 3H3v5M16 3h5v5M8 21H3v-5M16 21h5v-5"})})}),(0,n.jsx)("button",{type:"button",className:"image-lightbox-icon-button",onClick:r,title:l("imagePreview.close"),"aria-label":l("imagePreview.close"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})})})]})]}),(0,n.jsx)("div",{className:"image-lightbox-viewport",onClick:e=>{e.target===e.currentTarget&&r()},children:(0,n.jsx)("img",{src:e,alt:t,className:"image-lightbox-img",style:{transform:`scale(${o})`}})})]})})}function td({children:e,className:t,isStreaming:r,cwd:a,onOpenFile:o}){let s=(0,i.useMemo)(()=>r?e:(0,ta.Ep)(e),[e,r]),{remarkPlugins:l,rehypePlugins:d}=(0,ta.T6)(r?"":s),c=(0,i.useMemo)(()=>{let e=({src:e,alt:t,...r})=>{delete r.node;let i="string"==typeof e?(0,ti.V)(e,a):null,o=i?`/api/files/${(0,el.HG)(i)}?type=read`:e;return(0,n.jsx)(ts,{src:o,alt:t??"",loading:"lazy",...r})},t=e=>(0,i.isValidElement)(e),s=r=>{let n=[],a=[];for(let o of i.Children.toArray(r)){if(!t(o)){n.push(o);continue}if(o.type===e){a.push(o);continue}let r=s(o.props.children);0===r.imageParts.length?n.push(o):0===r.textParts.length?a.push(o):(n.push((0,i.cloneElement)(o,void 0,r.textParts)),a.push(...r.imageParts))}return{textParts:n,imageParts:a}},l=e=>e.some(e=>"string"==typeof e?e.trim().length>0:"number"==typeof e||!!t(e)&&l(i.Children.toArray(e.props.children)));return{code:(0,to.Q)({isStreaming:r,inlineClassName:"markdown-inline-code"}),pre:({children:e})=>(0,n.jsx)(n.Fragment,{children:e}),a({href:e,children:t,...r}){delete r.node;let{textParts:i,imageParts:d}=s(t);if(d.length>0&&!l(i))return(0,n.jsx)(n.Fragment,{children:t});let c=o?(0,ti.V)(e,a):null;if(c&&o){let t=(0,n.jsx)("a",{href:e,...r,onClick:e=>{if(e.defaultPrevented||0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.currentTarget.getAttribute("target");t&&"_self"!==t||(e.preventDefault(),o(c))},children:i});return d.length>0?(0,n.jsxs)(n.Fragment,{children:[t,d]}):t}let u=(0,n.jsx)("a",{href:e,...r,target:"_blank",rel:"noopener noreferrer",children:i});return d.length>0?(0,n.jsxs)(n.Fragment,{children:[u,d]}):u},img:e,table:({children:e})=>(0,n.jsx)("div",{className:"markdown-table-wrap",children:(0,n.jsx)("table",{children:e})})}},[r,a,o]);return(0,n.jsx)("div",{className:["markdown-body",t].filter(Boolean).join(" "),children:(0,n.jsx)(tn.oz,{remarkPlugins:l,rehypePlugins:d,components:c,children:s})})}let tc=/<(read-files|modified-files)>\s*([\s\S]*?)\s*<\/\1>/g,tu=/(?:\r?\n){2,}((?:[ \t]*<(?:read-files|modified-files)>[ \t]*\r?\n[\s\S]*?\r?\n[ \t]*<\/(?:read-files|modified-files)>[ \t]*(?:\r?\n)?)+)\s*$/;var tp=r(6014),th=r(64962),tg=r(79762),tf=r(67401);function tm({status:e,live:t}){let r={size:12,strokeWidth:2,"aria-hidden":!0};return"completed"===e?(0,n.jsx)(th.A,{...r,color:"var(--accent)"}):"failed"===e?(0,n.jsx)(M.A,{...r,color:"var(--accent-strong)"}):"aborted"===e?(0,n.jsx)(tg.A,{...r,color:"var(--text-dim)"}):!0===t?(0,n.jsx)("span",{"aria-hidden":!0,className:"live-status-dot live-pulse inline-block h-1.5 w-1.5 shrink-0 rounded-full bg-accent"}):!1===t?(0,n.jsx)(tf.A,{...r,color:"var(--text-dim)"}):(0,n.jsx)("span",{"aria-hidden":!0,className:"live-status-dot inline-block h-1.5 w-1.5 shrink-0 rounded-full bg-accent"})}function tx(e){if(null==e||!Number.isFinite(e)||e<=0)return null;if(e>=1e3){let t=(e/1e3).toFixed(e>=1e4?0:1);return t.endsWith(".0")?`${t.slice(0,-2)}k`:`${t}k`}return String(e)}function tv(e){return null==e||!Number.isFinite(e)||e<=0?null:`$${e.toFixed(e<.01?4:2)}`}function ty(e){return null==e||!Number.isFinite(e)||e<=0||e<1e3?null:e<6e4?`${Math.floor(e/1e3)}s`:`${Math.round(e/6e4)}m`}function tb(e){if(!e)return null;let t=e.lastIndexOf("/");return(t>=0?e.slice(t+1):e).replace(/:.*$/,"")||null}var tk=r(82490),tw=r(84111);let tj=new Map;function tS({children:e,className:t,...r}){let{t:a}=(0,d.s9)(),[o,s]=(0,i.useState)(!1);if(e.length<=1e5)return(0,n.jsx)(td,{className:t,...r,children:e});if(!o){var l;return(0,n.jsx)("button",{type:"button",onClick:()=>s(!0),style:{display:"block",width:"100%",margin:"4px 0",padding:"7px 10px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:12,textAlign:"left"},children:a("messageView.largeMessageReveal",{size:(l=e.length)>=1e6?`${(l/1e6).toFixed(1)} MB`:`${Math.round(l/1e3)} KB`})})}return(0,n.jsx)("div",{className:t,style:{maxHeight:420,overflow:"auto",fontSize:12,lineHeight:1.5},children:(0,n.jsx)("pre",{style:{margin:0,padding:"8px 10px",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"var(--font-mono)",color:"var(--text-muted)"},children:e})})}function tC(e,t){if(!e)return null;let r=new Date(e),n=new Date,i=r.getFullYear()===n.getFullYear()&&r.getMonth()===n.getMonth()&&r.getDate()===n.getDate(),a=r.toLocaleTimeString(t,{hour:"2-digit",minute:"2-digit"});if(i)return a;let o=r.toLocaleDateString(t,{month:"short",day:"numeric",year:r.getFullYear()!==n.getFullYear()?"numeric":void 0});return`${o} ${a}`}let tI=(0,i.memo)(function({message:e,isStreaming:t,toolResults:r,modelNames:i,cwd:a,onOpenFile:o,entryId:s,onFork:l,forking:d,onNavigate:c,prevAssistantEntryId:u,onEditContent:p,showTimestamp:h,prevTimestamp:g,sessionId:f,toolCallsDefaultCollapsed:m=!0,thinkingDisplayMode:x="auto",liveTokensPerSecond:v}){return"user"===e.role?(0,n.jsx)(tT,{message:e,cwd:a,onOpenFile:o,entryId:s,onFork:l,forking:d,onNavigate:c,prevAssistantEntryId:u,onEditContent:p}):"assistant"===e.role?(0,n.jsx)(tR,{message:e,isStreaming:t,toolResults:r,modelNames:i,cwd:a,onOpenFile:o,showTimestamp:h,prevTimestamp:g,sessionId:f,entryId:s,toolCallsDefaultCollapsed:m,thinkingDisplayMode:x,liveTokensPerSecond:v}):"toolResult"===e.role?null:"custom"===e.role?"xdev-mount-notice"===e.customType?null:"compaction"===e.customType?(0,n.jsx)(tH,{message:e}):!1===e.display?(0,n.jsx)(t_,{message:e,cwd:a,onOpenFile:o}):(0,n.jsx)(tq,{message:e,cwd:a,onOpenFile:o}):"bashExecution"===e.role?(0,n.jsx)(tQ,{message:e,sessionId:f}):null},(e,t)=>e.message===t.message&&e.isStreaming===t.isStreaming&&function(e,t,r){if(t===r||"assistant"!==e.role)return!0;for(let n of e.content??[])if("toolCall"===n.type&&t?.get(n.toolCallId)!==r?.get(n.toolCallId))return!1;return!0}(e.message,e.toolResults,t.toolResults)&&e.modelNames===t.modelNames&&e.cwd===t.cwd&&e.onOpenFile===t.onOpenFile&&e.entryId===t.entryId&&e.onFork===t.onFork&&e.forking===t.forking&&e.onNavigate===t.onNavigate&&e.prevAssistantEntryId===t.prevAssistantEntryId&&e.onEditContent===t.onEditContent&&e.showTimestamp===t.showTimestamp&&e.prevTimestamp===t.prevTimestamp&&e.sessionId===t.sessionId&&e.toolCallsDefaultCollapsed===t.toolCallsDefaultCollapsed&&e.thinkingDisplayMode===t.thinkingDisplayMode&&e.liveTokensPerSecond===t.liveTokensPerSecond);function tT({message:e,cwd:t,onOpenFile:r,entryId:a,onFork:o,forking:s,onNavigate:l,prevAssistantEntryId:c,onEditContent:u}){let{t:p,locale:h}=(0,d.s9)(),[g,f]=(0,i.useState)(!1),[m,x]=(0,i.useState)(!1),{copied:v,copy:y}=(0,tp.q)(),b="string"==typeof e.content?e.content:e.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n"),k="string"==typeof e.content?[]:e.content.filter(e=>"image"===e.type),w=tC(e.timestamp,h),j=!!a&&!!o,S=!!c&&!!l;return(0,n.jsx)("div",{style:{marginBottom:18,display:"flex",flexDirection:"column",alignItems:"flex-end",paddingRight:6},onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",maxWidth:"85%",minWidth:0},children:[(0,n.jsxs)("div",{className:"chat-message-card",style:{maxWidth:"100%",minWidth:0,background:"var(--user-bg)",border:"1px solid color-mix(in srgb, var(--accent) 28%, transparent)",borderRadius:"var(--radius-card)",boxShadow:"var(--shadow-card)",padding:"8px 12px",fontSize:14,lineHeight:1.6,color:"var(--text)",wordBreak:"break-word",maxHeight:300,overflowY:"auto"},children:[k.length>0&&(0,n.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",marginBottom:8*!!b},children:k.map((e,t)=>{let r=e.source?"base64"===e.source.type?`data:${e.source.media_type};base64,${e.source.data}`:e.source.url??"":e.data?`data:${e.mimeType};base64,${e.data}`:"";return(0,n.jsx)(ts,{src:r,alt:"",style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:"contain",display:"block",border:"1px solid color-mix(in srgb, var(--accent) 18%, transparent)"}},t)})}),b&&(0,n.jsx)(tS,{className:"markdown-user-message",cwd:t,onOpenFile:r,children:b})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:6,marginTop:3,width:"100%"},children:[(0,n.jsx)("div",{style:{display:"flex",gap:3,opacity:g||m?1:0,pointerEvents:g||m?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},onFocusCapture:()=>x(!0),onBlurCapture:()=>x(!1),children:(0,n.jsx)(eo.m_,{content:p("messageView.copyMessage"),children:(0,n.jsxs)("button",{onClick:()=>y(b),"aria-label":p("messageView.copyMessage"),style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",height:24,minHeight:24,background:"none",border:"none",borderRadius:5,color:v?"var(--accent)":"var(--text-dim)",cursor:"pointer",fontSize:11,fontWeight:400,whiteSpace:"nowrap",transition:"color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{v||(e.currentTarget.style.color="var(--accent)")},onMouseLeave:e=>{v||(e.currentTarget.style.color="var(--text-dim)")},children:[v?(0,n.jsx)(I.A,{size:11,strokeWidth:1.8}):(0,n.jsx)(e9.A,{size:11,strokeWidth:1.8}),p(v?"messageView.copied":"messageView.copy")]})})}),(j||S)&&(0,n.jsxs)("div",{style:{display:"flex",gap:3,opacity:g||m||s?1:0,pointerEvents:g||m||s?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},onFocusCapture:()=>x(!0),onBlurCapture:()=>x(!1),children:[S&&(0,n.jsx)(eo.m_,{content:p("messageView.editFromHereTitle"),children:(0,n.jsxs)("button",{onClick:()=>{l(c),u?.(b)},"aria-label":p("messageView.editFromHereTitle"),style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",height:24,minHeight:24,background:"none",border:"none",borderRadius:5,color:"var(--text-dim)",cursor:"pointer",fontSize:11,fontWeight:400,whiteSpace:"nowrap",transition:"color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)"},children:[(0,n.jsx)(e7.A,{size:11,strokeWidth:1.8}),p("messageView.editFromHere")]})}),j&&(0,n.jsx)(eo.m_,{content:p(s?"messageView.creatingSession":"messageView.newSessionTitle"),children:(0,n.jsxs)("button",{onClick:()=>{o(a)},disabled:s,"aria-label":p(s?"messageView.creatingSession":"messageView.newSessionTitle"),style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",height:24,minHeight:24,background:"none",border:"none",borderRadius:5,color:s?"var(--accent)":"var(--text-dim)",cursor:s?"not-allowed":"pointer",fontSize:11,fontWeight:400,whiteSpace:"nowrap",transition:"color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{s||(e.currentTarget.style.color="var(--accent)")},onMouseLeave:e=>{s||(e.currentTarget.style.color="var(--text-dim)")},children:[(0,n.jsx)(te.A,{size:11,strokeWidth:1.8}),p(s?"messageView.creating":"messageView.newSession")]})})]}),w&&(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)"},children:w})]})]})})}function tR({message:e,isStreaming:t,toolResults:r,modelNames:a,cwd:o,onOpenFile:s,showTimestamp:l,prevTimestamp:c,sessionId:u,entryId:p,toolCallsDefaultCollapsed:h,thinkingDisplayMode:g="auto",liveTokensPerSecond:f}){let{t:m,locale:x}=(0,d.s9)(),v=l?tC(e.timestamp,x):null,y=(e.content??[]).map((e,t)=>({block:e,originalIndex:t})).filter(({block:e})=>!e5(e,{isStreaming:t})),b=y.map(({block:e})=>e),k=b.some(e=>"thinking"===e.type||"toolCall"===e.type),w=(0,i.useRef)(y);w.current=y;let j=(0,i.useRef)(new Map),[S,C]=(0,i.useState)(new Map),I=(0,i.useMemo)(()=>{if(!e.timestamp||!c)return;let t=Math.round((e.timestamp-c)/1e3);return t>0?t:void 0},[e.timestamp,c]),T=(0,i.useMemo)(()=>{let t=new Map;if(!r||!e.timestamp)return t;for(let[n,i]of r)if(i.timestamp&&e.timestamp){let r=Math.round((i.timestamp-e.timestamp)/1e3);r>0&&t.set(n,r)}return t},[r,e.timestamp]);return((0,i.useEffect)(()=>{if(!t){let e=new Date().getTime();C(t=>{let r=new Map(t);for(let[t,n]of j.current)r.has(t)||r.set(t,Math.round((e-n)/1e3));return r});return}let e=()=>{let e=w.current,t=Date.now();e.forEach(({originalIndex:e})=>{j.current.has(e)||j.current.set(e,t)}),C(r=>{let n=!1,i=new Map(r);for(let r=0;r<e.length-1;r++){let a=e[r].originalIndex,o=e[r+1].originalIndex;if(!i.has(a)&&j.current.has(a)){let e=j.current.get(a),r=j.current.get(o)??t;i.set(a,Math.round((r-e)/1e3)),n=!0}}return n?i:r})},r=setInterval(e,300);return e(),()=>clearInterval(r)},[t]),0!==b.length||t)?(0,n.jsxs)("div",{className:"chat-message",style:{marginBottom:6},children:[(0,n.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:4,display:k?"none":"flex",alignItems:"center",gap:6},children:[e.provider&&(0,n.jsx)("span",{children:a?.[`${e.provider}:${e.model}`]??a?.[e.model]??e.model}),t&&(()=>{let e,t,r=0;for(let e of b)"text"===e.type?r+=e.text?.length??0:"thinking"===e.type&&(r+=e.thinking?.length??0);let i=Math.round(r/4);return(0,n.jsx)(n.Fragment,{children:i>0&&(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,color:"var(--text)"},title:m("messageView.estimatedTokens"),children:[(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:2,fontSize:11,fontWeight:400},children:[(0,n.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("line",{x1:"5",y1:"1.5",x2:"5",y2:"8.5"}),(0,n.jsx)("polyline",{points:"2 6 5 8.5 8 6"})]}),i]}),null!=f&&(e=f>=50?"success":f>=30?"renamed":f>=15?"warning":"error",t=`var(--status-${e})`,(0,n.jsx)("span",{style:{marginLeft:6,padding:"1px 6px",borderRadius:4,background:`color-mix(in srgb, ${t} 14%, var(--bg-panel))`,color:t,fontSize:11,fontWeight:400},children:m("messageView.tokensPerSecond",{tps:f.toFixed(1)})}))]})})})()]}),(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:y.map(({block:e,originalIndex:i})=>(0,n.jsx)(tM,{block:e,toolResults:r,isStreaming:t,streamingDuration:S.get(i)??("thinking"===e.type?I:void 0),toolCallDurations:T,cwd:o,onOpenFile:s,sessionId:u,entryId:p,blockIndex:i,toolCallsDefaultCollapsed:h,thinkingDisplayMode:g},`${p??"stream"}-${i}`))}),v&&!t&&(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:3},children:(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)"},children:v})})]}):null}function tM({block:e,toolResults:t,isStreaming:r,streamingDuration:i,toolCallDurations:a,cwd:o,onOpenFile:s,sessionId:l,entryId:d,blockIndex:c,toolCallsDefaultCollapsed:u,thinkingDisplayMode:p}){if("text"===e.type)return(0,n.jsx)(tz,{block:e,isStreaming:r,cwd:o,onOpenFile:s});if("thinking"===e.type)return(0,n.jsx)(tE,{block:e,duration:i,sessionId:l,entryId:d,blockIndex:c,isStreaming:r,thinkingDisplayMode:p});if("toolCall"===e.type){let i=t?.get(e.toolCallId),o=a?.get(e.toolCallId);return(0,n.jsx)(tA,{block:e,result:i,duration:o,isStreaming:r,defaultCollapsed:u})}return null}let tz=(0,i.memo)(function({block:e,isStreaming:t,cwd:r,onOpenFile:i}){return(0,n.jsx)(tS,{isStreaming:t,cwd:r,onOpenFile:i,children:e.text})},(e,t)=>e.block.text===t.block.text&&e.isStreaming===t.isStreaming&&e.cwd===t.cwd&&e.onOpenFile===t.onOpenFile),tE=(0,i.memo)(function({block:e,duration:t,sessionId:r,entryId:a,blockIndex:o,isStreaming:s,thinkingDisplayMode:l="auto"}){let{t:c}=(0,d.s9)(),[u,p]=(0,i.useState)(null),[h,g]=(0,i.useState)(null),[f,m]=(0,i.useState)(!1),[x,v]=(0,i.useState)(null),y=(0,i.useMemo)(()=>"expanded"===l||"collapsed"!==l&&!!(s&&!e.deferred),[l,s,e.deferred]),b=null!==u?u:y;return(0,n.jsx)("div",{className:"activity-row","data-activity-operation":"true",children:(0,n.jsxs)(eo.Nt,{open:b,onOpenChange:t=>{if(p(t),t&&e.deferred&&null===h){if(!r||!a)return void v(c("messageView.thinkingUnavailable"));m(!0),v(null),(function(e,t,r){let n=`${e}:${t}:${r}`,i=tj.get(n);if(i)return tj.delete(n),tj.set(n,i),i;let a=fetch(`/api/sessions/${encodeURIComponent(e)}/entries/${encodeURIComponent(t)}/thinking?blockIndex=${r}`).then(async e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();if("string"!=typeof t.thinking)throw Error((0,d.Tl)("messageView.invalidThinkingResponse"));return t.thinking}).catch(e=>{throw tj.delete(n),e});if(tj.set(n,a),tj.size>100){let e=tj.keys().next().value;e&&tj.delete(e)}return a})(r,a,o).then(e=>g(e)).catch(e=>v(e instanceof Error?e.message:String(e))).finally(()=>m(!1))}},children:[(0,n.jsxs)(eo.R6,{className:"activity-row-trigger",children:[(0,n.jsx)("span",{className:"activity-row-indicator","aria-hidden":!0,children:(0,n.jsx)(tt.A,{size:12,strokeWidth:1.8,className:s?"thinking-icon-active":void 0})}),(0,n.jsx)("span",{className:"activity-row-tool",children:c("messageView.thinking")}),(0,n.jsx)("span",{className:"activity-row-preview"}),void 0!==t&&(0,n.jsx)("span",{className:"activity-row-duration",children:c("messageView.durationSeconds",{seconds:t})}),(0,n.jsx)(eA.A,{size:11,strokeWidth:1.8,"aria-hidden":!0,style:{flexShrink:0,transform:b?"none":"rotate(-90deg)",transition:"transform var(--dur-fast) var(--ease-out-warm)"}})]}),(0,n.jsx)("div",{className:"activity-collapsible-wrapper","data-open":b?"true":"false",children:(0,n.jsx)("div",{className:"activity-collapsible-inner",children:(0,n.jsx)("div",{className:"tool-call-details",children:(0,n.jsx)("div",{className:`tool-call-output${x?" tool-call-output-error":""}`,style:{whiteSpace:"pre-wrap",fontFamily:"var(--font-mono)",fontSize:10.5,lineHeight:1.45,color:x?"var(--status-error)":"var(--text-muted)"},children:(0,n.jsx)("pre",{className:"tool-call-output-text",children:(()=>{if(f)return c("messageView.loadingThinking");if(x)return x;let t=e.deferred?h:e.thinking;return t?t.length>1e5?t.slice(0,1e5)+`
2
+
3
+ ... (Thinking truncated, ${t.length-1e5} characters hidden) ...`:t:""})()})})})})})]})})},(e,t)=>e.block.thinking===t.block.thinking&&e.block.deferred===t.block.deferred&&e.duration===t.duration&&e.sessionId===t.sessionId&&e.entryId===t.entryId&&e.blockIndex===t.blockIndex&&e.isStreaming===t.isStreaming&&e.thinkingDisplayMode===t.thinkingDisplayMode),tA=(0,i.memo)(function({block:e,result:t,duration:r,isStreaming:a,defaultCollapsed:o=!0}){var s;let l,{t:c}=(0,d.s9)(),[u,p]=(0,i.useState)(!!a&&!o),h=t?"string"==typeof t.content?t.content:(Array.isArray(t.content)?t.content:[]).filter(e=>"text"===e.type&&"string"==typeof e.text).map(e=>e.text).join("\n"):null,g=null!==h&&("(no output)"===h.trim()||""===h.trim()),f=t?.isError??!1,m=u&&t&&!f?function(e){let t=e.details;if("object"!=typeof t||null===t||Array.isArray(t))return null;let r="string"==typeof t.patch?t.patch:null;if(r)return{text:r};let n="string"==typeof t.diff?t.diff:null;return n?{text:n}:null}(t):null,x=function(e){if(!e||!tD(e.details))return null;let t=e.details,r=tD(t.usage)?t.usage:t,n=(...e)=>{for(let t of e){let e=r[t];if("number"==typeof e&&Number.isFinite(e)&&e>0)return e}},i=n("input","inputTokens","input_tokens"),a=n("output","outputTokens","output_tokens"),o=n("cacheRead","cache_read","cacheReadTokens"),s=n("cacheWrite","cache_write","cacheWriteTokens"),l=[i?`in ${(0,tw.wk)(i)}`:null,a?`out ${(0,tw.wk)(a)}`:null,o?`cache R ${(0,tw.wk)(o)}`:null,s?`cache W ${(0,tw.wk)(s)}`:null].filter(e=>!!e);return l.length>0?l.join(" \xb7 "):null}(t),v=function(e){let t=e.input;if(t&&"string"==typeof t.command)return t.command;if(t&&"string"==typeof t.path)return`${e.toolName} ${t.path}`;if(t&&"string"==typeof t.file_path)return`${e.toolName} ${t.file_path}`;if(t&&"string"==typeof t.query)return`${e.toolName} ${t.query}`;try{return`${e.toolName} ${JSON.stringify(t)}`}catch{return e.toolName}}(e);return(0,n.jsx)("div",{className:"activity-row","data-activity-operation":"true",children:(0,n.jsxs)(eo.Nt,{open:u,onOpenChange:p,children:[(0,n.jsxs)(eo.R6,{className:"activity-row-trigger",children:[(0,n.jsx)("span",{className:`activity-row-indicator${f?" activity-row-indicator-error":""}`,"aria-hidden":!0,children:f?(0,n.jsx)(M.A,{size:12,strokeWidth:1.8}):t?(0,n.jsx)(I.A,{size:12,strokeWidth:2}):(0,n.jsx)(k.A,{size:12,strokeWidth:1.8,className:"activity-row-spinner"})}),(0,n.jsx)("span",{className:`activity-row-tool${f?" activity-row-tool-error":""}`,children:e.toolName}),(0,n.jsx)("span",{className:"activity-row-preview",children:function(e){let t=e.input;if(!t||"object"!=typeof t)return"";let r=Object.keys(t);return 0===r.length?"":"command"in t?String(t.command).slice(0,120):"path"in t?String(t.path).slice(0,120):"file_path"in t?String(t.file_path).slice(0,120):"pattern"in t?String(t.pattern).slice(0,120):"query"in t?String(t.query).slice(0,120):String(t[r[0]]).slice(0,120)}(e)}),void 0!==r&&(0,n.jsx)("span",{className:"activity-row-duration",children:c("messageView.durationSeconds",{seconds:r})}),(0,n.jsx)(eA.A,{size:11,strokeWidth:1.8,"aria-hidden":!0,style:{flexShrink:0,transform:u?"none":"rotate(-90deg)",transition:"transform var(--dur-fast) var(--ease-out-warm)"}})]}),x&&(0,n.jsx)("div",{className:"activity-row-secondary",children:x}),(0,n.jsx)("div",{className:"activity-collapsible-wrapper","data-open":u?"true":"false",children:(0,n.jsx)("div",{className:"activity-collapsible-inner",children:(0,n.jsxs)("div",{className:`tool-call-details${f?" tool-call-details-error":""}`,children:[(0,n.jsxs)("div",{className:"tool-call-command",children:[(0,n.jsx)("span",{className:"tool-call-command-prompt","aria-hidden":!0,children:"$"}),(0,n.jsx)("code",{children:v})]}),(0,n.jsx)(t$,{details:t?.details}),t?m?(0,n.jsx)(tL,{diff:m}):(0,n.jsx)(tO,{text:(s=h??"","read"===(l=e.toolName.toLowerCase())||l.endsWith(".read")||l.endsWith("_read")?s.split("\n").map(e=>e.replace(/^\s*\d+:\s?/,"")).join("\n"):s),isEmpty:g,isError:f}):null]})})})]})})},(e,t)=>e.block.toolCallId===t.block.toolCallId&&e.block.toolName===t.block.toolName&&e.block.input===t.block.input&&e.result===t.result&&e.duration===t.duration&&e.defaultCollapsed===t.defaultCollapsed);function tW({status:e}){return(0,n.jsx)(tm,{status:e})}function tD(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function t$({details:e}){let{t,tn:r}=(0,d.s9)();if(!tD(e))return null;let i=(Array.isArray(e.results)?e.results:[]).filter(tD),a=(Array.isArray(e.progress)?e.progress:[]).filter(tD),o=tD(e.async)?e.async:null;if(0===i.length&&0===a.length&&!o)return null;let s=i.length>0?i:a.length>0?a:o&&"string"==typeof o.jobId?[{id:o.jobId,agent:"task",status:"started",task:o.jobId}]:[],l=s.reduce((e,t)=>e+("number"==typeof t.tokens?t.tokens:0),0),c=s.reduce((e,t)=>e+("number"==typeof t.cost?t.cost:0),0),u="number"==typeof e.totalDurationMs?e.totalDurationMs:void 0,p=tx(l),h=[r("chatWindow.subagentCount",s.length),p?t("chatWindow.tokensUnit",{count:p}):null,tv(c),ty(u)].filter(Boolean);return(0,n.jsxs)("div",{style:{borderTop:"1px solid var(--border)",background:"var(--bg-subtle)",padding:"8px 10px",display:"grid",gap:4},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11,color:"var(--text-muted)"},children:[(0,n.jsx)("span",{style:{fontWeight:600,color:"var(--text)"},children:t("messageView.taskSubagents")}),(0,n.jsx)("span",{style:{marginLeft:"auto",fontFamily:"var(--font-mono)",color:"var(--text-dim)",fontSize:10.5},children:h.join(" \xb7 ")}),o&&(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,color:"var(--text-dim)"},children:"⤴"})]}),s.map((e,r)=>{let i="string"==typeof e.id?e.id:`row-${r}`,a=function(e){if(!0===e.aborted)return"aborted";if("string"==typeof e.error&&e.error)return"failed";if("number"==typeof e.exitCode)return 0===e.exitCode?"completed":"failed";let t=e.status;return"completed"===t?"completed":"failed"===t?"failed":"aborted"===t?"aborted":"started"}(e),o="string"==typeof e.task&&e.task?e.task:"string"==typeof e.assignment?e.assignment:null,s=tx("number"==typeof e.tokens?e.tokens:void 0),l=[s?t("chatWindow.tokensUnit",{count:s}):null,tv("number"==typeof e.cost?e.cost:void 0),"started"!==a?ty("number"==typeof e.durationMs?e.durationMs:void 0):null,tb("string"==typeof e.resolvedModel?e.resolvedModel:void 0)].filter(Boolean);return(0,n.jsxs)("div",{"aria-label":`${"string"==typeof e.agent?e.agent:"subagent"}: ${t(`chatWindow.subagentState.${a}`)}${o?` — ${o}`:""}`,style:{display:"flex",alignItems:"center",gap:6,minWidth:0,fontSize:11.5},children:[(0,n.jsx)(tW,{status:a}),(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontWeight:600,fontSize:10.5,color:"var(--accent)",flexShrink:0},children:"string"==typeof e.agent?e.agent:"subagent"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,color:"var(--text)"},children:o??""}),l.length>0&&(0,n.jsx)("span",{style:{flexShrink:0,fontFamily:"var(--font-mono)",fontSize:10,color:"var(--text-dim)"},children:l.join(" \xb7 ")})]},i)})]})}function tL({diff:e}){return(0,n.jsx)("div",{style:{borderTop:"1px solid color-mix(in srgb, var(--status-success) 15%, transparent)",background:"var(--bg)"},children:(0,n.jsx)(tN,{text:e.text})})}function tN({text:e}){let{t}=(0,d.s9)(),r=(0,i.useMemo)(()=>(0,tk.y)(e),[e]);if(!r)return(0,n.jsx)(tB,{text:e});let a=0,o=0,s=r.map(e=>{if(a>=800)return o+=e.rows.length,null;if(a+e.rows.length>800){let t=800-a;return o+=e.rows.length-t,a+=t,{...e,rows:e.rows.slice(0,t)}}return a+=e.rows.length,e}).filter(e=>null!==e),l=s.length>1;return(0,n.jsxs)("div",{style:{maxHeight:560,overflowY:"auto",overflowX:"hidden",background:"var(--bg)"},children:[s.map((e,r)=>(0,n.jsxs)("div",{style:{minWidth:0,borderTop:0===r?"none":"1px solid var(--border)",fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55},children:[l&&(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)",position:"sticky",top:0,zIndex:1,background:"var(--bg-panel)",borderBottom:"1px solid var(--border)"},children:[(0,n.jsx)(tF,{title:e.oldPath||t("messageView.diffBefore"),side:"left"}),(0,n.jsx)(tF,{title:e.newPath||t("messageView.diffAfter"),side:"right"})]}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)"},children:e.rows.map((e,t)=>"hunk"===e.type?null:(0,n.jsxs)("div",{style:{display:"contents"},children:[(0,n.jsx)(tP,{cell:e.left,side:"left"}),(0,n.jsx)(tP,{cell:e.right,side:"right"})]},t))})]},r)),o>0&&(0,n.jsxs)("div",{style:{padding:"8px 10px",color:"var(--text-dim)",textAlign:"center",background:"var(--bg-subtle)"},children:["... ",o," more lines truncated ..."]})]})}function tF({title:e,side:t}){return(0,n.jsx)("div",{title:e,style:{padding:"5px 10px",color:"var(--text-dim)",borderRight:"left"===t?"1px solid var(--border)":"none",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e})}function tP({cell:e,side:t}){let r="added"===e.type?"color-mix(in srgb, var(--status-success) 12%, transparent)":"removed"===e.type?"color-mix(in srgb, var(--status-error) 13%, transparent)":"empty"===e.type?"var(--bg-subtle)":"transparent",i="added"===e.type?"+":"removed"===e.type?"-":" ",a="added"===e.type?"var(--status-success)":"removed"===e.type?"var(--status-error)":"var(--text-dim)";return(0,n.jsxs)("div",{style:{display:"flex",minWidth:0,background:r,borderRight:"left"===t?"1px solid var(--border)":"none"},children:[(0,n.jsx)("span",{style:{width:42,padding:"0 6px",textAlign:"right",color:"var(--text-dim)",userSelect:"none",background:"var(--bg-panel)",borderRight:"1px solid var(--border)",flexShrink:0},children:e.lineNo??""}),(0,n.jsx)("span",{style:{width:18,padding:"0 5px",color:a,userSelect:"none",fontWeight:"context"===e.type||"empty"===e.type?400:700,flexShrink:0},children:i}),(0,n.jsx)("span",{style:{flex:1,minWidth:0,padding:"0 10px 0 0",color:"empty"===e.type?"var(--text-dim)":"var(--text)",whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:e.text||"\xa0"})]})}function tB({text:e}){let t=e.split(/\r?\n/),r=t.slice(0,800),i=t.length-r.length;return(0,n.jsxs)("div",{style:{maxHeight:520,overflowY:"auto",overflowX:"hidden",fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55,minWidth:0},children:[r.map((e,t)=>{let r=e.startsWith("@@")?"hunk":e.startsWith("+")&&!e.startsWith("+++")?"added":e.startsWith("-")&&!e.startsWith("---")?"removed":"context";return(0,n.jsxs)("div",{style:{display:"flex",background:"added"===r?"color-mix(in srgb, var(--status-success) 12%, transparent)":"removed"===r?"color-mix(in srgb, var(--status-error) 13%, transparent)":"hunk"===r?"color-mix(in srgb, var(--accent) 12%, transparent)":"transparent",borderLeft:"added"===r?"3px solid var(--status-success)":"removed"===r?"3px solid var(--status-error)":"hunk"===r?"3px solid var(--accent)":"3px solid transparent"},children:[(0,n.jsx)("span",{style:{width:48,padding:"0 8px",color:"var(--text-dim)",background:"var(--bg-panel)",borderRight:"1px solid var(--border)",textAlign:"right",userSelect:"none",flexShrink:0},children:t+1}),(0,n.jsx)("span",{style:{padding:"0 10px",whiteSpace:"pre-wrap",overflowWrap:"anywhere",color:"added"===r?"var(--status-success)":"removed"===r?"var(--status-error)":"hunk"===r?"var(--accent)":"var(--text)"},children:e||"\xa0"})]},t)}),i>0&&(0,n.jsxs)("div",{style:{padding:"8px 10px",color:"var(--text-dim)",textAlign:"center",background:"var(--bg-subtle)"},children:["... ",i," more lines truncated ..."]})]})}function tO({text:e,isEmpty:t,isError:r}){let{t:i}=(0,d.s9)(),a=e.length>1e5,o=a?e.slice(0,1e5):e;return(0,n.jsx)("div",{className:`tool-call-output${r?" tool-call-output-error":""}`,children:(0,n.jsxs)("pre",{className:"tool-call-output-text","data-tool-output":"true",children:[t?i("messageView.noOutput"):o,a&&`
4
+
5
+ ... (Output truncated, ${e.length-1e5} characters hidden) ...`]})})}function tH({message:e}){let{t,locale:r}=(0,d.s9)(),a=tV(e.content),o=(0,i.useMemo)(()=>{let e,t,r,n,i;return e=[],t=[],r=a.match(tu),n=r?.[1]??"",i=r?.index===void 0?a:a.slice(0,r.index),n.replace(tc,(r,n,i)=>{let a=i.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);return"read-files"===n?e.push(...a):t.push(...a),""}),{body:i.trim(),readFiles:e,modifiedFiles:t}},[a]),s=tC(e.timestamp,r),l=e.details??null,c="number"==typeof l?.tokensBefore?l.tokensBefore:null,u="number"==typeof l?.tokensAfter?l.tokensAfter:null,p="string"==typeof l?.method&&l.method?l.method:null;return(0,n.jsx)("div",{style:{marginBottom:16},children:(0,n.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:8,overflow:"hidden",background:"var(--bg)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"7px 10px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)"},children:[(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,fontWeight:650},children:t("messageView.compactionLabel")}),s&&(0,n.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10},children:s})]}),(0,n.jsxs)("div",{style:{padding:"11px 13px 12px"},children:[(0,n.jsx)("div",{style:{color:"var(--text)",fontSize:15,fontWeight:700,lineHeight:1.35},children:t("messageView.conversationCompacted")}),(p||null!==c&&null!==u)&&(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8,flexWrap:"wrap"},children:[p&&(0,n.jsx)("span",{style:{padding:"1px 7px",borderRadius:4,background:"var(--bg-subtle)",color:"var(--text-muted)",fontSize:11,fontFamily:"var(--font-mono)",fontWeight:600},children:p}),null!==c&&null!==u&&(0,n.jsx)("span",{style:{color:"var(--text-muted)",fontSize:11},children:t("messageView.compactionTokenDelta",{before:(0,tw.wk)(c,r),after:(0,tw.wk)(u,r)})})]}),(0,n.jsx)("div",{style:{marginTop:3,marginBottom:10,color:"var(--text)",fontSize:14,lineHeight:1.5},children:t("messageView.compactionDescription")}),o.body?(0,n.jsx)(td,{className:"markdown-compaction-message",children:o.body}):(0,n.jsx)("span",{style:{color:"var(--text-dim)",fontSize:12},children:t("messageView.noSummary")}),(0,n.jsx)(tK,{readFiles:o.readFiles,modifiedFiles:o.modifiedFiles})]})]})})}function tK({readFiles:e,modifiedFiles:t}){let{t:r}=(0,d.s9)();if(0===e.length+t.length)return null;let i=[];return e.length>0&&i.push(r("messageView.filesReadCount",{count:e.length})),t.length>0&&i.push(r("messageView.filesModifiedCount",{count:t.length})),(0,n.jsxs)("details",{className:"compaction-file-details",children:[(0,n.jsx)("summary",{children:r("messageView.fileContext",{parts:i.join(", ")})}),t.length>0&&(0,n.jsx)(tU,{title:r("messageView.modifiedFiles"),files:t}),e.length>0&&(0,n.jsx)(tU,{title:r("messageView.readFiles"),files:e})]})}function tU({title:e,files:t}){return(0,n.jsxs)("div",{className:"compaction-file-section",children:[(0,n.jsx)("div",{className:"compaction-file-title",children:e}),(0,n.jsx)("ul",{className:"compaction-file-list",children:t.map(e=>(0,n.jsx)("li",{children:e},e))})]})}function t_({message:e,cwd:t,onOpenFile:r}){var a;let o,{t:s,locale:l}=(0,d.s9)(),[c,u]=(0,i.useState)(!1),[p,h]=(0,i.useState)(!1),{copied:g,copy:f}=(0,tp.q)(),m=tV(e.content),x=tY(e.content),y=(0,i.useMemo)(()=>{let e,t;return(t=(e=(e=m.trim()).replace(/^<!--[\s\S]*?-->\s*/,"").trim()).match(/^<([a-zA-Z0-9_-]+)(?:\s[^>]*)?>\s*([\s\S]*?)\s*<\/\1>\s*$/))?t[2].trim():e},[m]),b=(0,i.useMemo)(()=>{let e=y.replace(/\s+/g," ").trim();return e?e.length>92?`${e.slice(0,92)}…`:e:""},[y]),k=void 0!==e.details,w=k?tZ(e.details):"",j=(a=e.customType,(o={"mid-run-todo-nudge":"Todo reminder","todo-error-reminder":"Todo reminder","resolve-reminder":"Pending preview","interrupted-thinking":"Interrupted","autoresearch-resume":"Resume hint","plan-mode-context":"Plan context","plan-mode-reference":"Plan reference","goal-mode-context":"Goal context","goal-continuation":"Goal continuation","goal-budget-limit":"Budget limit","thinking-loop-redirect":"Loop guard","image-attachment-description":"Image note",extension_debug:"Extension","lsp-late-diagnostic":"Diagnostics"})[a]?o[a]:a?a.replace(/[-_]/g," ").replace(/\b\w/g,e=>e.toUpperCase()):s("messageView.extensionType")),S=tC(e.timestamp,l);return(0,n.jsx)("div",{style:{marginBottom:8,display:"flex",justifyContent:"center"},children:(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:0,width:"100%",maxWidth:640},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,width:"100%"},children:[(0,n.jsx)("div",{style:{flex:1,height:1,background:"var(--border)",opacity:.55}}),(0,n.jsxs)("button",{type:"button",onClick:()=>u(e=>!e),"aria-expanded":c,"aria-label":s(c?"messageView.collapse":"messageView.expand"),style:{display:"inline-flex",alignItems:"center",gap:6,maxWidth:"78%",padding:"4px 10px",border:"1px dashed color-mix(in srgb, var(--border) 88%, transparent)",borderRadius:999,background:"color-mix(in srgb, var(--bg-subtle) 92%, var(--bg))",color:"var(--text-dim)",cursor:"pointer",fontSize:11,lineHeight:1.2,whiteSpace:"nowrap"},children:[(0,n.jsx)(tr.A,{size:12,strokeWidth:1.8,style:{flexShrink:0,opacity:.85}}),(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontWeight:650,letterSpacing:"0.01em",color:"var(--text-muted)",fontSize:11},children:j}),b?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{style:{width:3,height:3,borderRadius:999,background:"var(--text-dim)",opacity:.5,flexShrink:0}}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0,fontSize:11},children:b})]}):null,(0,n.jsx)(v.A,{size:11,strokeWidth:1.8,style:{flexShrink:0,opacity:.7,transform:c?"rotate(90deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"}})]}),(0,n.jsx)("div",{style:{flex:1,height:1,background:"var(--border)",opacity:.55}})]}),S?(0,n.jsx)("span",{style:{marginTop:2,color:"var(--text-dim)",fontSize:10,fontVariantNumeric:"tabular-nums",opacity:.75},children:S}):null,c?(0,n.jsxs)("div",{style:{marginTop:6,width:"100%",border:"1px solid var(--border)",borderRadius:8,overflow:"hidden",background:"var(--bg-subtle)"},children:[(0,n.jsxs)("div",{style:{padding:"8px 10px"},children:[x.length>0&&(0,n.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",marginBottom:8*!!y},children:x.map((e,t)=>{let r=tJ(e);return r?(0,n.jsx)(ts,{src:r,alt:"",style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:"contain",display:"block",border:"1px solid var(--border)"}},t):null})}),y?(0,n.jsx)(td,{className:"markdown-custom-message",cwd:t,onOpenFile:r,children:y}):(0,n.jsx)("span",{style:{color:"var(--text-dim)",fontSize:12},children:s("messageView.noMessage")})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 9px",borderTop:"1px solid var(--border)",background:"var(--bg-panel)"},children:[y||w?(0,n.jsxs)("button",{onClick:()=>f(y||w),style:{display:"inline-flex",alignItems:"center",gap:4,padding:"3px 7px",border:"none",background:"none",color:g?"var(--accent)":"var(--text-dim)",cursor:"pointer",fontSize:11},children:[g?(0,n.jsx)(I.A,{size:11,strokeWidth:1.8}):(0,n.jsx)(e9.A,{size:11,strokeWidth:1.8}),s(g?"messageView.copied":"messageView.copy")]}):null,k?(0,n.jsxs)("button",{onClick:()=>h(e=>!e),style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:4,padding:"3px 7px",border:"none",background:"none",color:"var(--text-dim)",cursor:"pointer",fontSize:11},children:[s(p?"messageView.hideDetails":"messageView.showDetails"),(0,n.jsx)(eA.A,{size:11,strokeWidth:1.8,style:{transform:p?"rotate(180deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"}})]}):(0,n.jsx)("button",{onClick:()=>u(!1),style:{marginLeft:"auto",padding:"3px 7px",border:"none",background:"none",color:"var(--text-dim)",cursor:"pointer",fontSize:11},children:s("messageView.collapse")})]}),k&&p?(0,n.jsx)("pre",{style:{margin:0,padding:"9px 10px",borderTop:"1px solid var(--border)",backgroundColor:"var(--bg)",color:"var(--text-muted)",fontSize:12,lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:360,overflow:"auto",fontFamily:"var(--font-mono)"},children:w}):null]}):null]})})}function tq({message:e,cwd:t,onOpenFile:r}){let a,{t:o,locale:s}=(0,d.s9)(),[l,c]=(0,i.useState)(!0),[u,p]=(0,i.useState)(!1),{copied:h,copy:g}=(0,tp.q)(),f=tV(e.content),m=tY(e.content),x=void 0!==e.details,v=x?tZ(e.details):"",y=tX.has(e.customType),b=y?function(e){let t=e.split("\n"),r=null,n=0;for(let e=0;e<t.length;e+=1){let i=t[e].match(/agent\s*`([^`]+)`/);if(i){r=i[1],n=e+1;break}}return{sender:r,body:t.slice(n).join("\n").trim()}}(f):null,k=b?b.body:f,w=y?b?.sender??tG(e.customType):"advisor"===e.customType?o("messageView.advisorLabel"):tG(e.customType),j=tC(e.timestamp,s);return(0,n.jsx)("div",{style:{marginBottom:16},children:(0,n.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:8,overflow:"hidden",background:"var(--bg)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"7px 10px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",fontSize:12},children:[(0,n.jsx)("span",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:11,fontWeight:650},children:y&&"irc:incoming"===e.customType?`← ${w}`:w}),j&&(0,n.jsx)("span",{style:{marginLeft:"auto",color:"var(--text-dim)",fontSize:10},children:j})]}),l?(0,n.jsxs)("div",{style:{padding:"6px 9px"},children:[m.length>0&&(0,n.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",marginBottom:8*!!k},children:m.map((e,t)=>{let r=tJ(e);return r?(0,n.jsx)(ts,{src:r,alt:"",style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:"contain",display:"block",border:"1px solid var(--border)"}},t):null})}),k?(0,n.jsx)(td,{className:"markdown-custom-message",cwd:t,onOpenFile:r,children:k}):(0,n.jsx)("span",{style:{color:"var(--text-dim)",fontSize:12},children:o("messageView.noMessage")})]}):(0,n.jsx)("button",{onClick:()=>c(!0),style:{display:"block",width:"100%",padding:"8px 10px",border:"none",background:"transparent",color:"var(--text-dim)",cursor:"pointer",fontSize:12,textAlign:"left"},children:k?(a=k.replace(/\s+/g," ").trim())?a.length>140?`${a.slice(0,140)}...`:a:(0,d.Tl)("messageView.showExtensionMessage"):o("messageView.showExtensionMessage")}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 9px",borderTop:"1px solid var(--border)",background:"var(--bg-subtle)"},children:[f||v?(0,n.jsx)("button",{onClick:()=>g(k||v),style:{padding:"3px 7px",border:"none",background:"none",color:h?"var(--accent)":"var(--text-dim)",cursor:"pointer",fontSize:11},children:o(h?"messageView.copied":"messageView.copy")}):null,x&&(0,n.jsx)("button",{onClick:()=>{p(e=>!e)},style:{marginLeft:"auto",padding:"3px 7px",border:"none",background:"none",color:"var(--text-dim)",cursor:"pointer",fontSize:11},children:o(u?"messageView.hideDetails":"messageView.showDetails")})]}),x&&u&&(0,n.jsx)("pre",{style:{margin:0,padding:"9px 10px",borderTop:"1px solid var(--border)",backgroundColor:"var(--bg)",color:"var(--text-muted)",fontSize:12,lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:360,overflow:"auto",fontFamily:"var(--font-mono)"},children:v})]})})}function tV(e){return"string"==typeof e?e:e.filter(e=>"text"===e.type).map(e=>e.text).join("\n")}function tY(e){return"string"==typeof e?[]:e.filter(e=>"image"===e.type)}function tJ(e){return e.source?"base64"===e.source.type?`data:${e.source.media_type};base64,${e.source.data}`:e.source.url??"":e.data?`data:${e.mimeType};base64,${e.data}`:""}function tZ(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function tG(e){return e||(0,d.Tl)("messageView.extensionType")}let tX=new Set(["irc:incoming","irc:autoreply","irc:relay"]);function tQ({message:e,sessionId:t}){let{t:r}=(0,d.s9)(),[a,o]=(0,i.useState)(null),s=(0,i.useRef)(0);(0,i.useEffect)(()=>{s.current+=1,o(null)},[e.command,e.fullOutputPath,e.output,e.timestamp]);let l=!e.output&&void 0===e.exitCode&&!e.cancelled,c=e.cancelled||void 0!==e.exitCode&&0!==e.exitCode,u=e.excludeFromContext?"bash (local)":"bash",p={type:"toolCall",toolCallId:`bash-${e.timestamp??""}`,toolName:u,input:{command:e.command}},h=l?void 0:{role:"toolResult",toolCallId:p.toolCallId,toolName:u,content:e.output?[{type:"text",text:e.output}]:[],isError:c,timestamp:e.timestamp},g=(0,i.useCallback)(async()=>{if(!e.fullOutputPath||!t||a?.phase==="ready")return;let r=s.current;o({phase:"loading"});try{let n=await fetch(`/api/agent/${encodeURIComponent(t)}/bash-output?path=${encodeURIComponent(e.fullOutputPath)}`),i=await n.json();if(s.current!==r)return;if(!n.ok||!i.success)throw Error(i.error??`HTTP ${n.status}`);o({phase:"ready",output:i.data?.output??""})}catch(e){if(s.current!==r)return;o({phase:"error",message:e instanceof Error?e.message:String(e)})}},[e.fullOutputPath,t,a?.phase]),f=e.fullOutputPath&&t?`/api/agent/${encodeURIComponent(t)}/bash-output?path=${encodeURIComponent(e.fullOutputPath)}&download=1`:null;return(0,n.jsxs)("div",{style:{margin:"6px 0"},children:[(0,n.jsx)(tA,{block:p,result:h}),f&&(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginTop:6},children:[a?.phase!=="ready"&&(0,n.jsx)("button",{type:"button",disabled:a?.phase==="loading",onClick:()=>void g(),style:{padding:0,border:"none",background:"none",color:"var(--accent)",cursor:a?.phase==="loading"?"default":"pointer",fontSize:12,opacity:a?.phase==="loading"?.6:1,fontFamily:"inherit"},children:r(a?.phase==="loading"?"messageView.fullOutputLoading":"messageView.viewFullOutput")}),(0,n.jsx)("a",{href:f,download:!0,style:{color:"var(--text-dim)",fontSize:12,textDecoration:"none"},children:r("messageView.fullOutputDownload")})]}),a?.phase==="ready"&&(0,n.jsx)("div",{style:{maxHeight:420,overflow:"auto",marginTop:6,border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)"},children:(0,n.jsx)("pre",{style:{margin:0,padding:"8px 10px",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"var(--font-mono)",fontSize:12,color:"var(--text-muted)"},children:a.output})}),a?.phase==="error"&&(0,n.jsx)("div",{style:{marginTop:6,fontSize:12,color:"var(--status-error)"},children:a.message})]})}var t0=r(17494),t1=r(8143),t2=r(86272),t4=r(49804),t5=r(64350);let t6="omp-web:submit-during-run";function t8(){try{let e=window.localStorage.getItem(t6);if("steer"===e||"queue"===e)return e}catch{}return"steer"}let t3=new Map;function t9(e){return{value:e.value,images:e.images.map(e=>({...e})),files:e.files.map(e=>({...e}))}}function t7(e){let t=t3.get(e);return t?t9(t):null}function re(e,t){t.value||0!==t.images.length||0!==t.files.length?t3.set(e,t9(t)):t3.delete(e)}let rt=[{name:"goal",descriptionKey:"chatInput.cmdGoal",argumentHintKey:"chatInput.cmdGoalArg",requiresArgs:!0,buildPrompt:e=>`Work toward this goal for the rest of the session:
6
+
7
+ ${e}
8
+
9
+ Treat it as the objective to prioritize when deciding what to do next.`},{name:"plan",descriptionKey:"chatInput.cmdPlan",argumentHintKey:"chatInput.cmdPlanArg",requiresArgs:!0,buildPrompt:e=>`Create a plan for this task before doing anything else:
10
+
11
+ ${e}
12
+
13
+ Think it through step by step, list concrete steps, and state what you will verify when done.`},{name:"review",descriptionKey:"chatInput.cmdReview",argumentHintKey:"chatInput.cmdReviewArg",requiresArgs:!1,buildPrompt:e=>e?`Review ${e} for bugs, security issues, and opportunities to simplify. Summarize what you find, then fix anything clearly wrong.`:"Review the current project state and recent changes for bugs, security issues, and opportunities to simplify. Summarize what you find, then fix anything clearly wrong."},{name:"fix",descriptionKey:"chatInput.cmdFix",argumentHintKey:"chatInput.cmdFixArg",requiresArgs:!0,buildPrompt:e=>`Fix this issue:
14
+
15
+ ${e}
16
+
17
+ Reproduce the problem, apply the smallest correct fix, and verify it works before finishing.`},{name:"test",descriptionKey:"chatInput.cmdTest",argumentHintKey:"chatInput.cmdTestArg",requiresArgs:!0,buildPrompt:e=>`Write tests for ${e}. Follow the project's test conventions, cover the important behavior and edge cases, and run the tests to confirm they pass.`},{name:"explain",descriptionKey:"chatInput.cmdExplain",argumentHintKey:"chatInput.cmdExplainArg",requiresArgs:!0,buildPrompt:e=>`Explain ${e} concisely: what it does, how it works, and the key details worth knowing.`},{name:"simplify",descriptionKey:"chatInput.cmdSimplify",argumentHintKey:"chatInput.cmdSimplifyArg",requiresArgs:!0,buildPrompt:e=>`Simplify ${e}. Remove unnecessary complexity while preserving behavior, keep the change focused, and verify nothing breaks.`},{name:"commit",descriptionKey:"chatInput.cmdCommit",argumentHintKey:"chatInput.cmdCommitArg",requiresArgs:!1,buildPrompt:e=>e?`Stage the relevant files and commit the current changes with this message: ${JSON.stringify(e)}. Run the project's checks first so the commit is green.`:"Stage the relevant files and commit the current changes with a clear conventional commit message. Run the project's checks first so the commit is green."},{name:"advisor",descriptionKey:"chatInput.cmdAdvisor",argumentHintKey:"chatInput.cmdAdvisorArg",requiresArgs:!1,buildPrompt:e=>e?`Act as an independent advisor reviewing this work: ${e}. Assess the approach, point out risks, gaps, and better alternatives, and give concrete recommendations without changing any code.`:"Act as an independent advisor reviewing the current work. Assess the recent changes and overall direction, point out risks, gaps, and better alternatives, and give concrete recommendations without changing any code."}],rr=new Map(rt.map(e=>[e.name,e]));function rn(e){var t;if(!e.startsWith("/"))return{kind:"not-web"};let r=e.match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);if(!r)return{kind:"not-web"};let n=(t=r[1],rr.get(t));if(!n)return{kind:"not-web"};let i=(r[2]??"").trim();return n.requiresArgs&&!i?{kind:"usage-error",command:`/${n.name}`,argumentHintKey:n.argumentHintKey}:{kind:"expand",prompt:n.buildPrompt(i)}}function ri(e){if(!e||"object"!=typeof e||"string"!=typeof e.data||"string"!=typeof e.mimeType||!e.mimeType.startsWith("image/"))return!1;let t=function(e){if(!e||e.length%4!=0)return null;let t=e.endsWith("==")?2:+!!e.endsWith("="),r=e.length-t;for(let t=0;t<r;t+=1){var n;if(!((n=e.charCodeAt(t))>=65&&n<=90||n>=97&&n<=122||n>=48&&n<=57||43===n||47===n))return null}for(let t=r;t<e.length;t+=1)if("="!==e[t])return null;return e.length/4*3-t}(e.data);return null!==t&&t<=0xa00000}function ra(e){let t=/(?:^|\s)@"([^"\n]*)$/.exec(e);if(t)return{start:e.length-(t[1].length+2),query:t[1],quoted:!0};let r=/(?:^|\s)@([^\s"]*)$/.exec(e);return r?{start:e.length-(r[1].length+1),query:r[1],quoted:!1}:null}function ro(e){let t=0;for(let r=0;r<e.length;r++)"/"===e[r]&&t++;return t}function rs(e,t){if(!e)return!0;let r=0;for(let n=0;n<t.length&&r<e.length;n++)t[n]===e[r]&&r++;return r===e.length}function rl(e,t){let r=t?`${e}/`:e;return r.includes(" ")?`@"${r}" `:`@${r} `}var rd=r(31590);let rc=["auto","off","minimal","low","medium","high","xhigh","max"],ru="omp-composer-models";function rp(e,t,r){return e.compare(t.name||t.modelId,r.name||r.modelId)||e.compare(t.provider,r.provider)||e.compare(t.modelId,r.modelId)}function rh(e,t){return(0,tw.wk)(e,t)}function rg(e,t){return"skill"===e.source&&t.has(e.name)}let rf=[...rt.map(e=>({name:e.name,descriptionKey:e.descriptionKey,argumentHintKey:e.argumentHintKey})),{name:"compact",descriptionKey:"chatInput.cmdCompact"},{name:"reload",descriptionKey:"chatInput.cmdReload"},{name:"name",descriptionKey:"chatInput.cmdName"},{name:"session",descriptionKey:"chatInput.cmdSession"},{name:"copy",descriptionKey:"chatInput.cmdCopy"}],rm=new Set(rf.map(e=>e.name)),rx=["builtin","extension","prompt","skill","ompBuiltin"],rv={builtin:"chatInput.groupBuiltin",extension:"chatInput.groupExtensions",prompt:"chatInput.groupPrompts",skill:"chatInput.groupSkills",ompBuiltin:"chatInput.groupOmpBuiltin"},ry={builtin:0,extension:1,prompt:2,skill:3,ompBuiltin:4};function rb(e,t){let r=e.name.toLowerCase(),n=e.description?.toLowerCase()??"";return r===t?0:r.startsWith(t)?1:r.includes(t)?2:n.includes(t)?3:4}function rk(e){return{data:e.data,mimeType:e.mimeType}}function rw(e){return{...e,previewUrl:`data:${e.mimeType};base64,${e.data}`}}function rj(e){return(e??[]).filter(ri).slice(0,10).map(rw)}function rS(e){return{name:e.name,mimeType:e.mimeType,content:e.content,size:e.size}}function rC(e){return(e??[]).filter(e=>"string"==typeof e.name&&"string"==typeof e.mimeType&&"string"==typeof e.content&&Number.isFinite(e.size)&&e.size<=262144).slice(0,10)}function rI(e){e.previewUrl.startsWith("blob:")&&URL.revokeObjectURL(e.previewUrl)}function rT({onClick:e,title:t,accent:r=!1,children:i}){return(0,n.jsx)("button",{type:"button",onClick:e,title:t,style:{flexShrink:0,padding:"4px 8px",minHeight:24,border:"none",borderRadius:6,background:"transparent",color:r?"var(--accent)":"var(--text-dim)",cursor:"pointer",fontSize:11,fontWeight:r?600:400,transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",r||(e.currentTarget.style.color="var(--text-muted)")},onMouseLeave:e=>{e.currentTarget.style.background="transparent",r||(e.currentTarget.style.color="var(--text-dim)")},children:i})}function rR({error:e}){let{t}=(0,d.s9)();return e?(0,n.jsxs)("div",{role:"alert",style:{display:"flex",alignItems:"flex-start",gap:8,maxHeight:120,marginBottom:8,padding:"7px 10px",overflowY:"auto",border:"1px solid color-mix(in srgb, var(--status-error) 35%, transparent)",borderRadius:"var(--radius-control)",background:"color-mix(in srgb, var(--status-error) 8%, transparent)",color:"var(--status-error)",fontSize:11,lineHeight:1.45},children:[(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0,marginTop:1},"aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M10.3 2.9 1.8 17a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 2.9a2 2 0 0 0-3.4 0Z"}),(0,n.jsx)("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),(0,n.jsx)("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]}),(0,n.jsxs)("div",{style:{minWidth:0},children:[(0,n.jsx)("div",{style:{fontWeight:600},children:t("chatInput.modelError")}),(0,n.jsx)("div",{style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:e})]})]}):null}function rM({goal:e,plan:t}){let r,a,o,{t:s}=(0,d.s9)(),[l,c]=(0,i.useState)(!1),[u,p]=(0,i.useState)(()=>Date.now());return((0,i.useEffect)(()=>{if(!e)return;c(!1),p(Date.now());let t=window.setInterval(()=>p(Date.now()),3e4);return()=>window.clearInterval(t)},[e]),e||t)?(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,marginBottom:8},children:[e&&(0,n.jsxs)("button",{type:"button","aria-expanded":l,onClick:()=>c(e=>!e),title:s(l?"chatInput.collapseGoal":"chatInput.expandGoal"),style:{display:"flex",alignItems:l?"flex-start":"center",gap:8,width:"100%",padding:"6px 9px",border:"1px solid color-mix(in srgb, var(--accent) 32%, var(--border))",borderRadius:"var(--radius-control)",background:"color-mix(in srgb, var(--accent) 7%, var(--bg-panel))",color:"var(--text)",cursor:"pointer",textAlign:"left",transition:"background var(--dur-fast) var(--ease-out-warm), border-color var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)(t0.A,{size:14,strokeWidth:2,style:{flexShrink:0,marginTop:+!!l,color:"var(--accent)"},"aria-hidden":"true"}),(0,n.jsxs)("span",{style:{flexShrink:0,color:"var(--text-dim)",fontSize:10,fontFamily:"var(--font-mono)",textTransform:"uppercase",letterSpacing:"0.04em"},children:[s("chatInput.goalActive")," \xb7 ",(a=Math.floor((r=Math.max(0,Math.floor((u-e.startedAt)/6e4)))/60),o=r%60,a>0?`${a}h ${o}m`:`${o}m`)]}),(0,n.jsx)("span",{style:{minWidth:0,flex:1,overflow:l?"visible":"hidden",textOverflow:l?void 0:"ellipsis",whiteSpace:l?"pre-wrap":"nowrap",fontSize:12,lineHeight:1.4},children:e.objective})]}),t&&(0,n.jsxs)("div",{role:"status","aria-live":"polite",style:{display:"flex",alignItems:"center",gap:7,padding:"5px 9px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text-muted)",fontSize:12},children:[(0,n.jsx)(t1.A,{size:14,strokeWidth:2,style:{flexShrink:0,color:"var(--accent)"},"aria-hidden":"true"}),(0,n.jsx)("span",{style:{fontWeight:600},children:s("chatInput.planningInProgress")}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text-dim)"},children:t.objective})]})]}):null}let rz=(0,i.memo)((0,i.forwardRef)(function({onSend:e,onAbort:t,onSteer:r,onFollowUp:a,isStreaming:o,model:s,isAutoModelSelection:l,modelNames:c,modelList:u,modelError:p,modelsLoading:h,onModelChange:g,fastModeEnabled:f,fastModeActive:m,fastModeSupported:x,onFastModeChange:v,onAbortCompaction:y,isCompacting:b,compactResult:k,thinkingLevel:w,onThinkingLevelChange:j,availableThinkingLevels:S,thinkingLevelMap:C,modelNameOverride:I,retryInfo:T,queuedMessages:R,inputHistory:M=[],onAbortRetry:z,slashCommands:A,slashCommandsLoading:W,onLoadSlashCommands:D,onBuiltinCommand:$,onAudioUnlock:L,onPromptWithStreamingBehavior:N,advisorActive:F,advisorModel:P,onCompact:B,onRemoveQueuedMessage:O,onPromoteQueuedToSteer:H,draftKey:K,cwd:U,activeGoal:_,activePlan:q,advisorEnabled:V,onAdvisorChange:Y},J){let Z,G,X,Q,ee,et,er,en,ei=(0,rd.a)(),{t:eo,tn:el,locale:ed}=(0,d.s9)(),ec=i.useMemo(()=>new Intl.Collator(ed,{numeric:!0,sensitivity:"base"}),[ed]),[eu,ep]=(0,i.useState)(()=>K?t7(K)?.value??"":""),[eh,eg]=(0,i.useState)(!1),[ef,em]=(0,i.useState)(null),[ex,ev]=(0,i.useState)(!1),[ey,eb]=(0,i.useState)(""),[ek,ew]=(0,i.useState)(()=>K?rj(t7(K)?.images):[]),[ej,eS]=(0,i.useState)(()=>K?rC(t7(K)?.files):[]),[eC,eI]=(0,i.useState)(null),eT=eu.trimStart(),eM=0===ek.length&&0===ej.length&&eT.startsWith("!"),ez=eM&&eT.startsWith("!!"),[eE,eW]=(0,i.useState)(!1),[eD,e$]=(0,i.useState)(0),[eL,eN]=(0,i.useState)(null),[eF,eP]=(0,i.useState)(!1),[eB,eO]=(0,i.useState)(0),[eH,eK]=(0,i.useState)(!1),[eU,e_]=(0,i.useState)(0),[eq,eV]=(0,i.useState)(null),[eY,eJ]=(0,i.useState)(!1),[eZ,eG]=(0,i.useState)(null),eX=(0,i.useRef)(null),eQ=(0,i.useRef)(null),e0=(0,i.useRef)(null),e1=(0,i.useRef)(null),e2=(0,i.useRef)(null),e4=(0,i.useRef)(null),e5=(0,i.useRef)(null),e6=(0,i.useRef)(!1),e8=(0,i.useRef)(0),e3=(0,i.useRef)(!1),e9=(0,i.useRef)([]),e7=(0,i.useRef)([]),te=(0,i.useRef)([]),tt=(0,i.useRef)(null),tr=(0,i.useRef)(null),tn=(0,i.useRef)(K),ti=(0,i.useRef)(eu),ta=(0,i.useRef)(ek),to=(0,i.useRef)(ej),ts=(0,i.useRef)(0),tl=(0,i.useRef)(0),td=(0,i.useRef)(0);ti.current=eu,ta.current=ek,to.current=ej,(0,i.useImperativeHandle)(J,()=>({insertIfEmpty(e){let t=eX.current;(t?t.value:eu).trim()||(ep(e),eN(null),tb(null),requestAnimationFrame(()=>{t&&(t.focus(),t.style.height="auto",t.style.height=`${Math.min(t.scrollHeight,200)}px`)}))},prependText(e){if(!e.trim())return;let t=eX.current,r=[e,t?t.value:eu].filter(e=>e.trim()).join("\n\n");ep(r),eN(null),tb(null),requestAnimationFrame(()=>{t&&(t.focus(),t.setSelectionRange(r.length,r.length),t.style.height="auto",t.style.height=`${Math.min(t.scrollHeight,200)}px`)})},insertText(e){let t=eX.current;if(!t)return void ep(t=>t+(t?" ":"")+e);let r=t.selectionStart??t.value.length,n=t.selectionEnd??t.value.length,i=t.value.slice(0,r),a=t.value.slice(n),o=i.length>0&&!i.endsWith(" ")?" ":"";ep(i+o+e+a),eN(null),tb(null),requestAnimationFrame(()=>{if(!t)return;let n=r+o.length+e.length;t.setSelectionRange(n,n),t.focus(),t.style.height="auto",t.style.height=`${Math.min(t.scrollHeight,200)}px`})},addFiles(e){tp(e)}}));let tc=(0,i.useCallback)(async e=>{let t=Math.max(0,10-ta.current.length-tl.current),r=e.filter(e=>e.type.startsWith("image/")&&e.size<=0xa00000).slice(0,t);if(!r.length){e.length>0&&eI(0===t?"Maximum of 10 attached images reached.":`${e.length} image(s) skipped: images up to ${Math.round(10)} MB are supported.`);return}let n=ts.current;tl.current+=r.length;let i=[];try{let e=await Promise.all(r.map(e=>new Promise((t,r)=>{let n=new FileReader;n.onload=()=>{let r={data:n.result.split(",")[1],mimeType:e.type,previewUrl:URL.createObjectURL(e)};i.push(r),t(r)},n.onerror=r,n.readAsDataURL(e)})));if(ts.current!==n)return void e.forEach(rI);ew(t=>{let r=e.slice(0,Math.max(0,10-t.length));return e.slice(r.length).forEach(rI),[...t,...r]}),eI(null)}catch{i.forEach(rI),eI("One or more images could not be read. Try a different file.")}finally{tl.current-=r.length}},[]),tu=(0,i.useCallback)(async e=>{let t=Math.max(0,10-to.current.length-td.current),r=e.filter(e=>e.size<=262144).slice(0,t);if(!r.length){e.length>0&&eI(0===t?"Maximum of 10 text files reached.":`${e.length} file(s) skipped: files up to ${Math.round(256)} KB are supported.`);return}let n=ts.current;td.current+=r.length;try{let e=await Promise.all(r.map(async e=>({name:e.name,mimeType:e.type,content:await e.text(),size:e.size})));if(ts.current!==n)return;let t=e.filter(e=>!e.content.includes("\0")&&!e.content.includes("�")),i=r.length-t.length;eS(e=>[...e,...t.slice(0,Math.max(0,10-e.length))]),i>0?eI(`${i} file(s) skipped: binary or non-text files cannot be attached.`):eI(null)}catch{eI("One or more files could not be read. Try a different file.")}finally{td.current-=r.length}},[]),tp=(0,i.useCallback)(e=>{if(o)return void eI("Attachments are disabled while the agent is running.");let t=e.filter(e=>e.type.startsWith("image/")),r=e.filter(e=>!e.type.startsWith("image/"));tc(t),tu(r)},[o,tc,tu]),th=(0,i.useCallback)(e=>{ew(t=>{let r=[...t],[n]=r.splice(e,1);return n&&rI(n),r}),eI(null)},[]),tg=(0,i.useCallback)(e=>{eS(t=>t.filter((t,r)=>r!==e)),eI(null)},[]),tf=(0,i.useCallback)(()=>{ew(e=>(e.forEach(rI),[]))},[]),tm=(0,i.useCallback)(()=>{eS([])},[]),tx=(0,i.useCallback)(()=>{var e;ep(""),eN(null),tb(null),eK(!1),K&&t3.delete(K),tn.current&&tn.current!==K&&(e=tn.current,t3.delete(e)),tf(),tm(),ts.current+=1,eX.current&&(eX.current.style.height="auto")},[tf,tm,K]);(0,i.useEffect)(()=>{K&&tn.current===K&&re(K,{value:eu,images:ek.map(rk),files:ej.map(rS)})},[ek,ej,K,eu]),(0,i.useEffect)(()=>{let e=tn.current;if(e===K)return;e&&re(e,{value:ti.current,images:ta.current.map(rk),files:to.current.map(rS)});let t=K?t7(K):null;tn.current=K,ep(t?.value??""),eN(null),tb(null),eK(!1),ew(e=>(e.forEach(rI),rj(t?.images))),eS(rC(t?.files))},[K]),(0,i.useEffect)(()=>{let e=eX.current;e&&(e.style.height="auto",eu&&(e.style.height=`${Math.min(e.scrollHeight,200)}px`))},[eu]),(0,i.useEffect)(()=>()=>{ta.current.forEach(rI)},[]);let tv=(0,i.useCallback)(async()=>{let t=eu.trim();if(!t&&!ek.length&&!ej.length||o)return;L?.();let r=function(e,t){if(0===t.length)return e;let r=t.map(e=>{var t,r;let n,i,a=(t=e.content,n=t.match(/`+/g)?.reduce((e,t)=>Math.max(e,t.length),0)??0,"`".repeat(Math.max(3,n+1)));return`Attached file: ${e.name}
18
+ ${a}${r=e.name,"md"===(i=r.toLowerCase().replace(/\\/g,"/").split("/").pop()?.split(".").pop()??"")||"markdown"===i||"mdx"===i?"markdown":"text"}
19
+ ${e.content}
20
+ ${a}`});return[e.trim(),...r].filter(Boolean).join("\n\n")}(t,ej);if(!ek.length&&!ej.length&&t.startsWith("/")&&$){let e=await $(t);if(e.handled){e.error||e.retainInput||tx();return}}e(r,ek.length?ek:void 0),tx()},[eu,ek,ej,o,$,e,tx,L]),[ty,tb]=(0,i.useState)(null),tk=null===ty?null:ty.query.toLowerCase(),[tw,tj]=(0,i.useState)(()=>new Set);(0,i.useEffect)(()=>{if(null===tk||!U)return;let e=new AbortController;return fetch(`/api/skills?cwd=${encodeURIComponent(U)}`,{signal:e.signal}).then(e=>e.ok?e.json():null).then(e=>{e&&tj(new Set((e.skills??[]).flatMap(e=>e.disableModelInvocation&&e.name?[e.name]:[])))}).catch(()=>{}),()=>e.abort()},[U,tk]);let tS=i.useMemo(()=>rf.filter(e=>"advisor"!==e.name||V).map(e=>({name:e.name,description:eo(e.descriptionKey),...e.argumentHintKey?{argumentHint:eo(e.argumentHintKey)}:{},source:"builtin"})),[eo,V]),tC=i.useMemo(()=>(A??[]).flatMap(e=>{let t=e.source;return rm.has(e.name)?[]:"builtin"===t||"ompBuiltin"===t?[{name:e.name,description:e.description,source:"ompBuiltin"}]:[e]}),[A]),tI=null===tk?[]:[...o?[]:tS,...tC].filter(e=>{let t=e.name.toLowerCase(),r=e.description?.toLowerCase()??"";return t.includes(tk)||r.includes(tk)}).sort((e,t)=>{let r=rb(e,tk)-rb(t,tk);if(0!==r)return r;let n=Number(rg(e,tw))-Number(rg(t,tw));return 0!==n?n:ry[e.source]-ry[t.source]||ec.compare(e.name,t.name)}),tT=(()=>{let e=new Map;for(let t of rx)e.set(t,{source:t,items:[]});return tI.forEach((t,r)=>{e.get(t.source)?.items.push({command:t,index:r})}),rx.map(t=>e.get(t)).filter(e=>e.items.length>0)})(),tR=el(tk?"chatInput.matchCount":"chatInput.commandCount",tI.length),tM=(0,i.useCallback)((e,t)=>{if(!U)return void eN(null);let r=t??e.length;eN(ra(e.slice(0,r)))},[U]),tz=(0,i.useCallback)((e,t)=>{let r=t??e.length;tb(function(e){let t=/\/([^\s/]*)$/.exec(e);if(!t)return null;let r=t.index;if(0===r)return{start:0,query:t[1]};let n=e[r-1];return/[A-Za-z0-9/]/.test(n)?null:{start:r,query:t[1]}}(e.slice(0,r)))},[]),tE=eL?.query??null,tA=i.useMemo(()=>null!==tE&&eq&&eq.cwd===U?function(e,t,r=20){let n=t.toLowerCase();if(!n)return e.slice(0,r);let i=[];for(let t of e){let e=function(e,t){let r=e.path.toLowerCase(),n=0;if(t.includes("/"))r===t?n=100:r.startsWith(t)?n=80:r.includes(t)?n=50:rs(t,r)&&(n=10);else{let e=r.lastIndexOf("/"),i=-1===e?r:r.slice(e+1);i===t?n=100:i.startsWith(t)?n=80:i.includes(t)?n=50:r.includes(t)?n=30:rs(t,r)&&(n=10)}return e.isDir&&n>0&&(n+=10),n}(t,n);e>0&&i.push({entry:t,score:e})}return i.sort((e,t)=>t.score-e.score||ro(e.entry.path)-ro(t.entry.path)||e.entry.path.localeCompare(t.entry.path)),i.slice(0,r).map(e=>e.entry)}(eq.entries,tE):[],[tE,eq,U]),tW=!!(tE&&eq?.truncated&&eq.cwd===U);(0,i.useEffect)(()=>{if(!tW||!U||!tE)return;let e=setTimeout(()=>{fetch(`/api/file-index?cwd=${encodeURIComponent(U)}&q=${encodeURIComponent(tE)}`).then(e=>{if(!e.ok)throw Error(`file search failed: ${e.status}`);return e.json()}).then(e=>eG({cwd:U,query:tE,matches:e.matches??[]})).catch(()=>{})},150);return()=>clearTimeout(e)},[tW,tE,U]);let tD=tW&&null!==eZ&&eZ.cwd===U&&eZ.query===tE,t$=tD?eZ.matches:tA,tL=null===eL?null:`${eL.start}:${+!!eL.quoted}:${eL.query}`;(0,i.useEffect)(()=>{if(null===tL){eP(!1),eO(0);return}eP(!0),eO(0)},[tL]);let tN=null!==eL;(0,i.useEffect)(()=>{if(!tN||!U)return;let e=tt.current;e&&e.cwd===U&&Date.now()-e.fetchedAt<1e4||tr.current===U||(tr.current=U,eJ(!0),fetch(`/api/file-index?cwd=${encodeURIComponent(U)}`).then(e=>{if(!e.ok)throw Error(`file index failed: ${e.status}`);return e.json()}).then(e=>{eV({cwd:U,entries:function(e){let t=new Set;for(let r of e){let e=r.indexOf("/");for(;-1!==e;)t.add(r.slice(0,e)),e=r.indexOf("/",e+1)}let r=[];for(let e of t)r.push({path:e,isDir:!0});for(let t of e)t&&r.push({path:t,isDir:!1});return r.sort((e,t)=>ro(e.path)-ro(t.path)||e.path.localeCompare(t.path)),r}(e.files??[]),truncated:!!e.truncated}),tt.current={cwd:U,fetchedAt:Date.now()}}).catch(()=>{tt.current=null}).finally(()=>{tr.current=null,eJ(!1)}))},[tN,U]);let tF=(0,i.useCallback)(e=>{if(!eL)return;let t=eX.current,r=t?.selectionStart??eu.length,n=eu.slice(0,eL.start),i=eu.slice(r);eL.quoted&&i.startsWith('"')&&(i=i.slice(1));let a=function(e,t,r=!1){let n=t?`${e}/`:e,i=r||n.includes(" ");if(t){let e=i?`@"${n}"`:`@${n}`;return{text:e,cursorOffset:i?e.length-1:e.length}}let a=i?`@"${n}" `:`@${n} `;return{text:a,cursorOffset:a.length}}(e.path,e.isDir,eL.quoted),o=n+a.text+i,s=n.length+a.cursorOffset;ep(o),eN(ra(o.slice(0,s))),requestAnimationFrame(()=>{let e=eX.current;e&&(e.focus(),e.setSelectionRange(s,s),e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,200)}px`)})},[eL,eu]);(0,i.useEffect)(()=>{eB>=t$.length&&eO(Math.max(0,t$.length-1))},[t$.length,eB]),(0,i.useEffect)(()=>{e7.current.length=t$.length},[t$.length]),(0,i.useEffect)(()=>{eF&&e7.current[eB]?.scrollIntoView({block:"nearest",inline:"nearest"})},[eB,eF]),(0,i.useEffect)(()=>{eU>=M.length&&e_(Math.max(0,M.length-1))},[M.length,eU]),(0,i.useEffect)(()=>{te.current.length=M.length},[M.length]),(0,i.useEffect)(()=>{eH&&te.current[eU]?.scrollIntoView({block:"nearest",inline:"nearest"})},[eU,eH]);let tP=(0,i.useCallback)(e=>{ep(e),eK(!1),e_(0),eN(null),tb(null),requestAnimationFrame(()=>{let t=eX.current;t&&(t.focus(),t.setSelectionRange(e.length,e.length),t.style.height="auto",t.style.height=`${Math.min(t.scrollHeight,200)}px`)})},[]),tB=(0,i.useCallback)(e=>{let t=eX.current,r=t?.selectionStart??eu.length,n=ty?.start??0,i=eu.slice(0,n),a=eu.slice(r),o=i+`/${e.name} `+a,s=i.length+e.name.length+2;ep(o),eW(!1),e$(0),tb(null),requestAnimationFrame(()=>{let e=eX.current;e&&(e.focus(),e.setSelectionRange(s,s),e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,200)}px`)})},[ty,eu]),tO=(0,i.useCallback)(e=>{let t=eu.trim();if(!t&&!ek.length&&!ej.length||ek.length||ej.length)return;L?.();let n="steer"===e?"steer":"followUp";if(t.startsWith("/")&&N){if("advisor"===t.slice(1).split(/\s+/)[0]&&!V)return void es.oR.error(eo("agentSession.advisorDisabled"));let e=rn(t);if("expand"===e.kind){N(e.prompt,n,ek.length?ek:void 0),tx();return}return"usage-error"===e.kind?void es.oR.error(eo("chatInput.commandUsageTitle"),eo("agentSession.commandRequiresArgs",{command:e.command,usage:eo(e.argumentHintKey)})):(N(t,n,ek.length?ek:void 0),void tx())}"steer"===e&&r?r(t,ek.length?ek:void 0):"followup"===e&&a&&a(t,ek.length?ek:void 0),tx()},[eu,ek,ej,N,r,a,tx,L,eo,V]),tH=o&&!!eu.trim()&&0===ek.length&&0===ej.length&&!!a,tK=[...(R?.followUp??[]).map(e=>({kind:"follow-up",text:e})),...(R?.steering??[]).map(e=>({kind:"steer",text:e}))],tU=tK[0]??null,t_=tK.length,[tq,tV]=(0,i.useState)(!1),tY=(0,i.useCallback)(e=>{O?.(e),ep(e),eN(null),tb(null),eK(!1),requestAnimationFrame(()=>{let t=eX.current;t&&(t.focus(),t.setSelectionRange(e.length,e.length),t.style.height="auto",t.style.height=Math.min(t.scrollHeight,200)+"px")})},[O]),tJ=(0,i.useCallback)(e=>{O?.(e)},[O]),tZ=(0,i.useCallback)(e=>{"follow-up"===e.kind&&H?.(e.text)},[H]),tG=(0,i.useCallback)(()=>{tU&&tY(tU.text)},[tU,tY]),tX=(0,i.useCallback)(()=>{tU&&tJ(tU.text)},[tU,tJ]),tQ=(0,i.useCallback)(()=>{tU&&tZ(tU)},[tU,tZ]),t0=(0,i.useCallback)(e=>{let t=tI.length-1;if(t<0)return 0;if("left"===e)return Math.max(0,eD-1);if("right"===e)return Math.min(t,eD+1);let r=e9.current[eD];if(!r)return"down"===e?Math.min(t,eD+1):Math.max(0,eD-1);let n=r.getBoundingClientRect(),i=n.left+n.width/2,a=n.top+n.height/2,o=-1,s=1/0;for(let r=0;r<=t;r+=1){if(r===eD)continue;let t=e9.current[r];if(!t)continue;let n=t.getBoundingClientRect(),l=n.top+n.height/2-a;if("down"===e?l<=4:l>=-4)continue;let d=1e3*Math.abs(l)+Math.abs(n.left+n.width/2-i);d<s&&(o=r,s=d)}return o>=0?o:"down"===e?Math.min(t,eD+1):Math.max(0,eD-1)},[tI.length,eD]),t6=(0,i.useCallback)(e=>{let n=e.nativeEvent,i=Date.now()-e8.current<100,s=e6.current||n.isComposing||229===n.keyCode;if("Enter"===e.key&&!e.shiftKey&&(s||i)){i&&e.preventDefault();return}if(eH&&!s){if("ArrowDown"===e.key){e.preventDefault(),e_(e=>Math.min(Math.max(0,M.length-1),e+1));return}if("ArrowUp"===e.key){e.preventDefault(),e_(e=>Math.max(0,e-1));return}if("Escape"===e.key){e.preventDefault(),eK(!1);return}if(("Tab"===e.key||"Enter"===e.key&&!e.shiftKey)&&M[eU]){e.preventDefault(),tP(M[eU]);return}}if(eE&&null!==tk){if("ArrowDown"===e.key){e.preventDefault(),e$(t0("down"));return}if("ArrowUp"===e.key){e.preventDefault(),e$(t0("up"));return}if("ArrowRight"===e.key){e.preventDefault(),e$(t0("right"));return}if("ArrowLeft"===e.key){e.preventDefault(),e$(t0("left"));return}if("Escape"===e.key){e.preventDefault(),eW(!1);return}if(("Tab"===e.key||"Enter"===e.key&&!e.shiftKey)&&tI[eD]){e.preventDefault(),tB(tI[eD]);return}}if(eF&&null!==eL&&!s){if("ArrowDown"===e.key){e.preventDefault(),eO(e=>Math.min(Math.max(0,t$.length-1),e+1));return}if("ArrowUp"===e.key){e.preventDefault(),eO(e=>Math.max(0,e-1));return}if("Escape"===e.key){e.preventDefault(),eP(!1);return}if(("Tab"===e.key||"Enter"===e.key&&!e.shiftKey)&&t$[eB]){e.preventDefault(),tF(t$[eB]);return}}if("ArrowUp"===e.key&&!s&&!o&&M.length>0&&0===eu.trim().length){e.preventDefault(),eW(!1),eP(!1),e_(M.length-1),eK(!0);return}if("Escape"===e.key&&!s&&o&&t){e.preventDefault(),t();return}"Enter"!==e.key||e.shiftKey||(e.preventDefault(),o&&(r||a)?"steer"===t8()&&r?tO("steer"):tO("followup"):tv())},[o,r,a,t,eE,tk,tI,eD,tB,tO,tv,t0,eF,eL,t$,eB,tF,eH,M,eU,tP,eu]),t9=(0,i.useCallback)(()=>{let e=eX.current;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,200)}px`)},[]),rt=(0,i.useCallback)(e=>{let t=Array.from(e.clipboardData?.items??[]).filter(e=>e.type.startsWith("image/"));t.length&&(e.preventDefault(),tp(t.map(e=>e.getAsFile()).filter(e=>null!==e)))},[tp]);(0,i.useEffect)(()=>{if(null===tk){eW(!1),e$(0),e3.current=!1;return}eW(!0),e$(0),!e3.current&&D&&(e3.current=!0,Promise.resolve(D()).catch(()=>{e3.current=!1}))},[tk,D]),(0,i.useEffect)(()=>{eD>=tI.length&&e$(Math.max(0,tI.length-1))},[tI.length,eD]),(0,i.useEffect)(()=>{e9.current.length=tI.length},[tI.length]),(0,i.useEffect)(()=>{eE&&e9.current[eD]?.scrollIntoView({block:"nearest",inline:"nearest"})},[eD,eE]);let[rr,ri]=(0,i.useState)(null);(0,i.useEffect)(()=>{let e=()=>ri(function(){try{let e=JSON.parse(localStorage.getItem(ru)??"null");return Array.isArray(e)?new Set(e.filter(e=>"string"==typeof e)):null}catch{return null}}()),t=t=>{(null===t.key||t.key===ru)&&e()};return e(),window.addEventListener("omp-composer-models-change",e),window.addEventListener("storage",t),()=>{window.removeEventListener("omp-composer-models-change",e),window.removeEventListener("storage",t)}},[]);let rl=i.useMemo(()=>u&&u.length>0?u.map(e=>({provider:e.provider,modelId:e.id,name:e.name})).filter(e=>null===rr||rr.has(`${e.provider}:${e.modelId}`)).sort((e,t)=>rp(ec,e,t)):Object.entries(c??{}).map(([e,t])=>({provider:s?.provider??"unknown",modelId:e,name:t})).sort((e,t)=>rp(ec,e,t)),[u,c,s?.provider,rr,ec]),rw=i.useMemo(()=>{let e;return(e=ey.trim().toLocaleLowerCase(ed))?rl.filter(t=>t.name.toLocaleLowerCase(ed).includes(e)||t.modelId.toLocaleLowerCase(ed).includes(e)||t.provider.toLocaleLowerCase(ed).includes(e)):rl},[ed,rl,ey]),rz=i.useMemo(()=>{let e=[];for(let t of rw){let r=e.find(e=>e.provider===t.provider);r?r.options.push(t):e.push({provider:t.provider,options:[t]})}return e},[rw]),rE=s?rl.find(e=>e.modelId===s.modelId&&e.provider===s.provider)?.name??I??c?.[`${s.provider}:${s.modelId}`]??s.modelId:null,rA=!!h&&!p,rW=o||rA&&0===rl.length,rD=k?Math.max(0,k.tokensBefore-k.estimatedTokensAfter):0,r$=k?.reason&&"manual"!==k.reason?eo("chatInput.compactedWithReason",{reason:`${k.reason[0].toUpperCase()}${k.reason.slice(1)}`}):eo("chatInput.compacted"),rL=k?eo("chatInput.compactResult",{verb:r$,before:rh(k.tokensBefore,ed),after:rh(k.estimatedTokensAfter,ed),saved:rh(rD,ed)}):null,rN="auto"!==(Z=w??"auto")&&C?C[Z]??Z:Z,rF=i.useMemo(()=>(function(e){if(!e)return[...rc];let t=new Set(e.filter(e=>e&&"auto"!==e));return[...rc.filter(e=>"auto"===e||t.delete(e)),...t]})(S),[S]);return(0,i.useEffect)(()=>{o&&ev(!1)},[o]),(0,i.useEffect)(()=>{eh?requestAnimationFrame(()=>e1.current?.focus()):eb("")},[eh]),(0,i.useEffect)(()=>{let e=e=>{eQ.current&&!eQ.current.contains(e.target)&&e0.current&&!e0.current.contains(e.target)&&eg(!1),e2.current&&!e2.current.contains(e.target)&&ev(!1),!e4.current||e4.current.contains(e.target)||eX.current?.contains(e.target)||eK(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,n.jsxs)("div",{style:{flexShrink:0,background:"transparent",padding:"0 16px calc(8px + env(safe-area-inset-bottom))"},children:[(0,n.jsx)("input",{ref:e5,type:"file",accept:"*/*",multiple:!0,disabled:o,style:{display:"none"},onChange:e=>{tp(Array.from(e.target.files??[])),e.target.value=""}}),(0,n.jsxs)("div",{style:{maxWidth:960,margin:"0 auto"},children:[(0,n.jsx)(rR,{error:p}),(0,n.jsx)(rM,{goal:_,plan:q}),T&&(0,n.jsxs)("div",{style:{marginBottom:8,padding:"5px 10px",background:"color-mix(in srgb, var(--status-warning) 8%, transparent)",border:"1px solid color-mix(in srgb, var(--status-warning) 25%, transparent)",borderRadius:6,fontSize:12,color:"var(--status-warning)",display:"flex",alignItems:"center",gap:6},children:[(0,n.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:[(0,n.jsx)("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,n.jsx)("path",{d:"M3 3v5h5"})]}),eo("chatInput.retrying",{attempt:T.attempt,maxAttempts:T.maxAttempts}),T.errorMessage&&(0,n.jsxs)("span",{style:{opacity:.7,marginLeft:4},children:["— ",T.errorMessage]}),z&&(0,n.jsx)("button",{type:"button",onClick:z,title:"Stop the automatic retry and leave the failed turn as-is",style:{marginLeft:"auto",padding:"3px 9px",fontSize:11,color:"var(--status-warning)",background:"transparent",border:"1px solid color-mix(in srgb, var(--status-warning) 45%, transparent)",borderRadius:6,cursor:"pointer",whiteSpace:"nowrap",transition:"background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.background="color-mix(in srgb, var(--status-warning) 12%, transparent)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:"Abort retry"})]}),rL&&(0,n.jsxs)("div",{style:{marginBottom:8,padding:"5px 10px",background:"color-mix(in srgb, var(--status-success) 8%, transparent)",border:"1px solid color-mix(in srgb, var(--status-success) 24%, transparent)",borderRadius:6,fontSize:12,color:"var(--status-success)",display:"flex",alignItems:"center",gap:6},children:[(0,n.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})}),rL]}),eC&&(0,n.jsx)("div",{role:"alert",style:{marginBottom:8,padding:"5px 10px",background:"color-mix(in srgb, var(--status-error) 7%, transparent)",border:"1px solid color-mix(in srgb, var(--status-error) 30%, transparent)",borderRadius:6,fontSize:12,color:"var(--status-error)"},children:eC}),ek.length>0&&(0,n.jsx)("div",{style:{display:"flex",gap:6,marginBottom:6,flexWrap:"wrap"},children:ek.map((e,t)=>(0,n.jsxs)("div",{style:{position:"relative",flexShrink:0},children:[(0,n.jsx)("img",{src:e.previewUrl,alt:"",style:{width:56,height:56,objectFit:"cover",borderRadius:6,border:"1px solid var(--border)",display:"block"}}),(0,n.jsx)("button",{onClick:()=>th(t),title:"Remove image","aria-label":"Remove image",style:{position:"absolute",top:-5,right:-5,width:24,height:24,borderRadius:"50%",background:"var(--bg-panel)",border:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",padding:0,color:"var(--text-muted)",transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--text)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="var(--bg-panel)"},children:(0,n.jsxs)("svg",{width:"9",height:"9",viewBox:"0 0 8 8",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[(0,n.jsx)("line",{x1:"1",y1:"1",x2:"7",y2:"7"}),(0,n.jsx)("line",{x1:"7",y1:"1",x2:"1",y2:"7"})]})})]},t))}),ej.length>0&&(0,n.jsx)("div",{style:{display:"flex",gap:6,marginBottom:6,flexWrap:"wrap"},children:ej.map((e,t)=>(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,maxWidth:260,height:30,padding:"0 6px 0 9px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",fontSize:12,color:"var(--text)"},children:[(0,n.jsx)("span",{style:{flexShrink:0,display:"flex",color:"var(--text-muted)"},children:(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,n.jsx)("polyline",{points:"14 2 14 8 20 8"})]})}),(0,n.jsx)("span",{title:e.name,style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)",fontSize:11.5},children:e.name}),(0,n.jsx)("span",{style:{flexShrink:0,fontSize:10,color:"var(--text-dim)"},children:e.size<1024?`${e.size} B`:`${Math.round(e.size/1024)} KB`}),(0,n.jsx)("button",{onClick:()=>tg(t),title:"Remove file","aria-label":"Remove file",style:{flexShrink:0,width:18,height:18,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"transparent",border:"none",cursor:"pointer",padding:0,color:"var(--text-muted)",transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--text)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="transparent"},children:(0,n.jsxs)("svg",{width:"9",height:"9",viewBox:"0 0 8 8",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[(0,n.jsx)("line",{x1:"1",y1:"1",x2:"7",y2:"7"}),(0,n.jsx)("line",{x1:"7",y1:"1",x2:"1",y2:"7"})]})})]},t))}),(0,n.jsxs)("div",{style:{position:"relative"},children:[eH&&M.length>0&&(0,n.jsxs)("div",{ref:e4,className:"dropdown-surface",style:{position:"absolute",left:0,right:0,bottom:"calc(100% + 8px)",zIndex:120,maxHeight:"min(44vh, 360px)"},children:[(0,n.jsx)("div",{title:eo("chatInput.inputHistory"),style:{height:30,padding:"0 10px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",color:"var(--text-dim)"},children:(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),(0,n.jsx)("path",{d:"M3 4v5h5"}),(0,n.jsx)("path",{d:"M12 7v5l3 2"})]})}),(0,n.jsx)("div",{style:{maxHeight:"calc(min(44vh, 360px) - 31px)",overflowY:"auto",padding:4},children:M.map((e,t)=>{let r=t===eU;return(0,n.jsxs)("button",{ref:e=>{te.current[t]=e},type:"button",onMouseDown:t=>{t.preventDefault(),tP(e)},onMouseEnter:()=>e_(t),style:{width:"100%",display:"flex",alignItems:"flex-start",gap:8,padding:"7px 8px",border:"none",borderRadius:6,background:r?"var(--bg-selected)":"none",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:12.5,lineHeight:1.45},children:[(0,n.jsx)("span",{style:{flexShrink:0,fontFamily:"var(--font-mono)",fontSize:11,color:"var(--text-dim)",paddingTop:1},children:t+1}),(0,n.jsx)("span",{style:{minWidth:0,display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden",overflowWrap:"anywhere"},children:e})]},`${t}:${e}`)})})]}),eE&&null!==tk&&(0,n.jsxs)("div",{className:"dropdown-surface",style:{position:"absolute",left:0,right:0,bottom:"calc(100% + 8px)",zIndex:120,maxHeight:"min(56vh, 460px)"},children:[(0,n.jsxs)("div",{style:{padding:"8px 10px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,fontSize:11,color:"var(--text-dim)"},children:[(0,n.jsx)("span",{children:W?eo("chatInput.loadingCommands"):eo("chatInput.slashCommandsHeader",{countLabel:tR})}),(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)"},children:eo("chatInput.tabEnterHint")})]}),(0,n.jsx)("div",{style:{maxHeight:"calc(min(56vh, 460px) - 34px)",overflowY:"auto",padding:10},children:W||0!==tI.length?tT.map(e=>(0,n.jsxs)("section",{style:{marginBottom:12},children:[(0,n.jsxs)("div",{style:{position:"sticky",top:-10,zIndex:1,display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"4px 0 6px",background:"var(--bg)",color:"var(--text-dim)",fontSize:10,fontWeight:600,textTransform:"uppercase"},children:[(0,n.jsx)("span",{children:eo(rv[e.source])}),(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontWeight:500},children:e.items.length})]}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:8},children:e.items.map(({command:e,index:t})=>{let r=t===eD,i=rg(e,tw);return(0,n.jsxs)("button",{ref:e=>{e9.current[t]=e},type:"button",onMouseDown:t=>{t.preventDefault(),tB(e)},onMouseEnter:()=>e$(t),style:{width:"100%",minWidth:0,minHeight:58,display:"flex",flexDirection:"column",gap:4,justifyContent:"center",padding:"9px 10px",border:`1px solid ${r?"var(--accent)":"var(--border)"}`,borderRadius:7,background:r?"var(--bg-selected)":"var(--bg-panel)",color:i?"var(--text-dim)":"var(--text)",cursor:"pointer",textAlign:"left",boxShadow:r?"0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent)":"none"},children:[(0,n.jsxs)("span",{style:{fontSize:13,fontFamily:"var(--font-mono)",overflowWrap:"anywhere",wordBreak:"break-word"},children:["/",e.name,e.argumentHint&&(0,n.jsx)("span",{style:{marginLeft:6,fontSize:10,color:"var(--text-dim)"},children:e.argumentHint}),i&&(0,n.jsx)("span",{style:{marginLeft:6,fontSize:10,color:"var(--text-dim)"},children:eo("chatInput.dormant")})]}),e.description&&(0,n.jsx)("span",{style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden",fontSize:11,lineHeight:1.35,color:"var(--text-dim)"},children:e.description})]},`${e.source}:${e.name}`)})})]},e.source)):(0,n.jsx)("div",{style:{padding:"2px 2px 4px",fontSize:12,color:"var(--text-dim)"},children:eo("chatInput.noCommandsFound")})})]}),eF&&null!==eL&&(G=eY&&(!eq||eq.cwd!==U),X=el("chatInput.matchCount",t$.length),Q=eq?.truncated&&!tD?` \xb7 ${eL.query?eo("chatInput.searchingAllFiles"):eo("chatInput.indexTruncated")}`:"",(0,n.jsxs)("div",{className:"dropdown-surface",style:{position:"absolute",left:0,right:0,bottom:"calc(100% + 8px)",zIndex:120,maxHeight:"min(48vh, 400px)"},children:[(0,n.jsxs)("div",{style:{padding:"8px 10px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,fontSize:11,color:"var(--text-dim)"},children:[(0,n.jsx)("span",{children:G?eo("chatInput.loadingFiles"):`${eo("chatInput.filesHeader",{countLabel:X})}${Q}`}),(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)"},children:eo("chatInput.tabEnterHint")})]}),(0,n.jsx)("div",{style:{maxHeight:"calc(min(48vh, 400px) - 34px)",overflowY:"auto",padding:4},children:G||0!==t$.length?t$.map((e,t)=>{let r=t===eB,i=e.path.split("/").pop()??e.path,a=e.path.slice(0,e.path.length-i.length);return(0,n.jsxs)("button",{ref:e=>{e7.current[t]=e},type:"button",onMouseDown:t=>{t.preventDefault(),tF(e)},onMouseEnter:()=>eO(t),style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"6px 8px",border:"none",borderRadius:6,background:r?"var(--bg-selected)":"none",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:12.5,fontFamily:"var(--font-mono)"},children:[(0,n.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:e.isDir?(0,n.jsx)(E,{size:14}):ea(i,14)}),(0,n.jsxs)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[a&&(0,n.jsx)("span",{style:{color:"var(--text-dim)"},children:a}),i,e.isDir&&(0,n.jsx)("span",{style:{color:"var(--text-dim)"},children:"/"})]})]},`${e.isDir?"d":"f"}:${e.path}`)}):(0,n.jsx)("div",{style:{padding:"6px 8px",fontSize:12,color:"var(--text-dim)"},children:tW&&!tD?eo("chatInput.searching"):eo("chatInput.noMatchingFiles")})})]})),t_>0&&(0,n.jsx)("div",{"aria-label":eo("chatInput.queuedPrompts"),style:{border:"1px solid var(--border)",borderBottom:"none",borderRadius:"var(--radius-card) var(--radius-card) 0 0",background:"var(--bg-panel)",overflow:"hidden"},children:1===t_?(0,n.jsxs)("div",{style:{padding:"5px 8px 5px 12px",display:"flex",alignItems:"center",gap:8,minWidth:0},children:[(0,n.jsx)("span",{style:{flexShrink:0,fontSize:10,fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:"var(--text-muted)"},children:tU?.kind==="steer"?eo("chatInput.queuedSteer"):eo("chatInput.queuedFollowUp")}),(0,n.jsx)("span",{title:tU?.text,style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:12,color:"var(--text-muted)"},children:tU?.text}),(0,n.jsx)(rT,{onClick:tG,title:eo("chatInput.queuedEditTitle"),children:eo("chatInput.queuedEdit")}),(0,n.jsx)(rT,{onClick:tX,title:eo("chatInput.queuedDeleteTitle"),children:eo("chatInput.queuedDelete")}),(0,n.jsx)(rT,{onClick:tQ,title:eo("chatInput.queuedSteerTitle"),accent:!0,children:eo("chatInput.queuedSteerAction")})]}):(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{style:{padding:"5px 8px 5px 12px",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,borderBottom:tq?"1px solid var(--border)":"none"},children:[(0,n.jsxs)("button",{type:"button",onClick:()=>tV(e=>!e),"aria-expanded":tq,title:tq?eo("chatInput.collapseQueued"):eo("chatInput.expandQueued"),style:{display:"flex",alignItems:"center",gap:6,background:"none",border:"none",padding:0,cursor:"pointer",color:"var(--text-muted)",fontSize:11,fontWeight:600,letterSpacing:"0.04em",textTransform:"uppercase",minWidth:0,flex:1,textAlign:"left"},children:[(0,n.jsx)(eA.A,{size:13,strokeWidth:2,style:{transform:tq?"rotate(0deg)":"rotate(-90deg)",transition:"transform var(--dur-fast) var(--ease-out-warm)",flexShrink:0},"aria-hidden":!0}),(0,n.jsx)("span",{children:eo("chatInput.queuedPrompts")}),(0,n.jsxs)("span",{style:{color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:10},children:["(",t_,")"]}),!tq&&tU&&(0,n.jsxs)("span",{style:{marginLeft:4,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:11,fontWeight:400,textTransform:"none"},children:["steer"===tU.kind?`[${eo("chatInput.queuedSteer")}] `:"",tU.text]})]}),(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",gap:4,flexShrink:0},children:(0,n.jsx)("button",{type:"button",onClick:()=>tV(e=>!e),style:{background:"none",border:"none",padding:"2px 6px",cursor:"pointer",color:"var(--text-dim)",fontSize:11},children:tq?eo("chatInput.collapseQueued"):eo("chatInput.expandQueued")})})]}),tq&&(0,n.jsx)("div",{style:{maxHeight:180,overflowY:"auto",display:"flex",flexDirection:"column",gap:1,background:"var(--bg-subtle)",padding:"4px 0"},children:tK.map((e,t)=>(0,n.jsxs)("div",{style:{padding:"4px 8px 4px 12px",display:"flex",alignItems:"center",gap:8,background:"var(--bg-panel)",fontSize:12},children:[(0,n.jsx)("span",{style:{flexShrink:0,fontSize:9.5,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",padding:"1px 4px",borderRadius:4,background:"steer"===e.kind?"color-mix(in srgb, var(--accent) 15%, transparent)":"var(--bg)",border:`1px solid ${"steer"===e.kind?"var(--accent)":"var(--border)"}`,color:"steer"===e.kind?"var(--accent)":"var(--text-muted)"},children:"steer"===e.kind?eo("chatInput.queuedSteer"):eo("chatInput.queuedFollowUp")}),(0,n.jsx)("span",{title:e.text,style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:11.5},children:e.text}),(0,n.jsx)(rT,{onClick:()=>tY(e.text),title:eo("chatInput.queuedEditTitle"),children:eo("chatInput.queuedEdit")}),(0,n.jsx)(rT,{onClick:()=>tJ(e.text),title:eo("chatInput.queuedDeleteTitle"),children:eo("chatInput.queuedDelete")}),"follow-up"===e.kind&&(0,n.jsx)(rT,{onClick:()=>tZ(e),title:eo("chatInput.queuedSteerTitle"),accent:!0,children:eo("chatInput.queuedSteerAction")})]},`${e.kind}:${t}:${e.text}`))})]})}),(0,n.jsxs)("div",{className:`chat-input-shell ${o?"chat-input-shell-streaming":""}`,style:{display:"flex",flexDirection:"column",background:"var(--bg)",border:`1px solid ${eM?"var(--tool-bg)":o?"color-mix(in srgb, var(--accent) 25%, transparent)":"color-mix(in srgb, var(--border) 70%, transparent)"}`,borderRadius:"var(--radius-card)",padding:"12px 12px 10px 14px",boxShadow:o?"0 0 14px -2px color-mix(in srgb, var(--accent) 18%, transparent), var(--shadow-card)":"var(--shadow-card)",transition:"border-color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm), box-shadow var(--dur-med) var(--ease-out-warm)",position:"relative"},children:[o&&(0,n.jsxs)("svg",{className:"chat-input-beam-svg","aria-hidden":"true",children:[(0,n.jsx)("rect",{x:"0.75",y:"0.75",width:"calc(100% - 1.5px)",height:"calc(100% - 1.5px)",rx:"12",fill:"none",stroke:"url(#chatInputBeamGrad)",strokeWidth:"1.6",pathLength:"100",strokeDasharray:"9 91",className:"chat-input-beam-rect"}),(0,n.jsx)("defs",{children:(0,n.jsxs)("linearGradient",{id:"chatInputBeamGrad",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,n.jsx)("stop",{offset:"0%",stopColor:"var(--accent)",stopOpacity:"0"}),(0,n.jsx)("stop",{offset:"55%",stopColor:"var(--accent)",stopOpacity:"0.6"}),(0,n.jsx)("stop",{offset:"88%",stopColor:"color-mix(in srgb, #ffffff 35%, var(--accent))",stopOpacity:"0.85"}),(0,n.jsx)("stop",{offset:"100%",stopColor:"color-mix(in srgb, #ffffff 55%, var(--accent))",stopOpacity:"0.9"})]})})]}),(0,n.jsx)("textarea",{ref:eX,value:eu,onChange:e=>{ep(e.target.value),eK(!1),tM(e.target.value,e.target.selectionStart),tz(e.target.value,e.target.selectionStart)},onSelect:e=>{let t=e.currentTarget;tM(t.value,t.selectionStart),tz(t.value,t.selectionStart)},onKeyDown:t6,onCompositionStart:()=>{e6.current=!0},onCompositionEnd:e=>{e6.current=!1,e8.current=Date.now();let t=e.currentTarget;tM(t.value,t.selectionStart)},onInput:t9,onPaste:rt,placeholder:eo("chatInput.placeholder"),rows:1,style:{width:"100%",background:"none",border:"none",outline:"none",resize:"none",color:"var(--text)",fontSize:14,lineHeight:1.6,fontFamily:"inherit",minHeight:24,maxHeight:200,overflow:"auto"}}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:2,marginTop:8,paddingTop:8,borderTop:"1px solid color-mix(in srgb, var(--border) 62%, transparent)",flexWrap:ei?"wrap":"nowrap"},children:[(0,n.jsx)("button",{onClick:()=>e5.current?.click(),disabled:o,title:eo("chatInput.attachFile"),"aria-label":eo("chatInput.attachFile"),style:{flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",width:28,height:28,padding:0,background:"none",border:"none",borderRadius:7,color:ek.length||ej.length?"var(--accent)":"var(--text-muted)",cursor:o?"not-allowed":"pointer",opacity:o?.5:1,transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{o||(e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color=ek.length||ej.length?"var(--accent)":"var(--text)")},onMouseLeave:e=>{e.currentTarget.style.background="none",e.currentTarget.style.color=ek.length||ej.length?"var(--accent)":"var(--text-muted)"},children:(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,n.jsx)("polyline",{points:"14 2 14 8 20 8"})]})}),Y&&(0,n.jsx)("button",{type:"button",onClick:()=>Y(!V),"aria-pressed":V,title:V?eo("chatInput.advisorDisableTitle",{model:P?.name??eo("messageView.advisorLabel"),reasoning:P?.reasoning??eo("chatInput.advisorReasoningDefault")}):eo("chatInput.advisorEnableTitle"),"aria-label":V?eo("chatInput.advisorDisableTitle",{model:P?.name??eo("messageView.advisorLabel"),reasoning:P?.reasoning??eo("chatInput.advisorReasoningDefault")}):eo("chatInput.advisorEnableTitle"),style:{flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",width:28,height:28,padding:0,background:"none",border:"none",borderRadius:7,color:V?"var(--accent)":"var(--text-muted)",cursor:"pointer",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="none"},children:(0,n.jsx)(t2.A,{size:14,strokeWidth:2,"aria-hidden":"true"})}),(rl.length>0||rE||p||rA)&&g&&(0,n.jsxs)("div",{ref:eQ,style:{position:"relative",minWidth:0},children:[(0,n.jsxs)("button",{onClick:e=>{let t=e.currentTarget.getBoundingClientRect();em({top:t.top,left:t.left,width:t.width}),eg(e=>!e)},disabled:rW,style:{display:"flex",alignItems:"center",gap:5,height:28,maxWidth:190,padding:"0 8px",overflow:"hidden",background:eh?"var(--bg-hover)":"none",border:"none",borderRadius:7,color:"var(--text-muted)",cursor:rW?"not-allowed":"pointer",fontSize:12,opacity:rW?.5:1,transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{o||(e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)")},onMouseLeave:e=>{e.currentTarget.style.background=eh?"var(--bg-hover)":"none",e.currentTarget.style.color="var(--text-muted)"},title:rl.length>0?eo("chatInput.changeModel"):rA?eo("chatInput.loadingModels"):eo("chatInput.noAvailableModels"),"aria-expanded":eh,"aria-haspopup":"dialog",children:[(0,n.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:[(0,n.jsx)("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}),(0,n.jsx)("rect",{x:"9",y:"9",width:"6",height:"6"}),(0,n.jsx)("line",{x1:"9",y1:"1",x2:"9",y2:"4"}),(0,n.jsx)("line",{x1:"15",y1:"1",x2:"15",y2:"4"}),(0,n.jsx)("line",{x1:"9",y1:"20",x2:"9",y2:"23"}),(0,n.jsx)("line",{x1:"15",y1:"20",x2:"15",y2:"23"}),(0,n.jsx)("line",{x1:"20",y1:"9",x2:"23",y2:"9"}),(0,n.jsx)("line",{x1:"20",y1:"14",x2:"23",y2:"14"}),(0,n.jsx)("line",{x1:"1",y1:"9",x2:"4",y2:"9"}),(0,n.jsx)("line",{x1:"1",y1:"14",x2:"4",y2:"14"})]}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:rE??(rl.length>0?eo("chatInput.selectModel"):rA?eo("chatInput.loadingModels"):eo("chatInput.noModels"))}),(0,n.jsx)(eA.A,{size:12,strokeWidth:1.8,style:{flexShrink:0,opacity:.7},"aria-hidden":"true"})]}),eh&&ef&&(et=(ee=window.visualViewport?.height??window.innerHeight)-ef.top+6,er=Math.max(120,Math.min(ef.top-8,.6*ee)),en=ei?{left:8,right:8,maxWidth:"calc(100vw - 16px)"}:{left:ef.left,width:"max-content",minWidth:ef.width,maxWidth:"calc(100vw - 16px)"},(0,n.jsxs)("div",{ref:e0,className:"picker-panel",style:{position:"fixed",bottom:et,...en,zIndex:500,display:"flex",flexDirection:"column",maxHeight:er},children:[(0,n.jsxs)("div",{className:"picker-panel-header",children:[(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:{color:"var(--text-muted)"},children:[(0,n.jsx)("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}),(0,n.jsx)("rect",{x:"9",y:"9",width:"6",height:"6"})]}),(0,n.jsx)("span",{className:"picker-panel-title",children:eo("chatInput.modelsLabel")}),(0,n.jsx)("span",{className:"picker-panel-count",children:rl.length})]}),(0,n.jsxs)("label",{className:"picker-search",children:[(0,n.jsx)(eR.A,{size:13,strokeWidth:1.8,color:"var(--text-dim)","aria-hidden":"true"}),(0,n.jsx)("input",{ref:e1,type:"search",autoComplete:"off",spellCheck:!1,value:ey,onChange:e=>eb(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),eg(!1))},placeholder:eo("chatInput.searchModels"),"aria-label":eo("chatInput.searchModels")})]}),(0,n.jsx)("div",{className:"picker-list",children:0===rz.length?(0,n.jsx)("div",{style:{padding:"9px 8px",color:"var(--text-dim)",fontSize:12,whiteSpace:"nowrap"},children:ey.trim()?eo("chatInput.noMatchingModels"):rA?eo("chatInput.loadingModels"):eo("chatInput.noAvailableModels")}):rz.map(e=>(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"picker-group-label",children:e.provider}),e.options.map(e=>{let t=e.modelId===s?.modelId&&e.provider===s?.provider;return(0,n.jsxs)("button",{className:"picker-row","data-active":t,onClick:()=>{eg(!1),(!t||l)&&g(e.provider,e.modelId)},children:[(0,n.jsx)("span",{className:"picker-check",children:t&&(0,n.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"1.5 5 4 7.5 8.5 2.5"})})}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},`${e.provider}:${e.modelId}`)})]},e.provider))})]}))]}),j&&(0,n.jsxs)("div",{ref:e2,style:{position:"relative"},children:[(0,n.jsxs)("button",{onClick:()=>ev(e=>!e),disabled:o,title:eo("chatInput.changeReasoningTitle",{level:rN}),"aria-label":`${eo("chatInput.changeReasoning")}: ${rN}`,"aria-expanded":ex,"aria-haspopup":"menu",style:{display:"flex",alignItems:"center",gap:5,height:28,padding:"0 8px",background:ex?"var(--bg-hover)":"none",border:"none",borderRadius:7,color:"var(--text-muted)",cursor:o?"not-allowed":"pointer",opacity:o?.5:1,fontSize:12,transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{o||(e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)")},onMouseLeave:e=>{e.currentTarget.style.background=ex?"var(--bg-hover)":"none",e.currentTarget.style.color="var(--text-muted)"},children:[(0,n.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},"aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M9.5 2A5.5 5.5 0 0 0 4 7.5c0 1.7.78 3.21 2 4.21V14a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-2.29c1.22-1 2-2.51 2-4.21A5.5 5.5 0 0 0 9.5 2z"}),(0,n.jsx)("line",{x1:"7",y1:"18",x2:"12",y2:"18"}),(0,n.jsx)("line",{x1:"8",y1:"21",x2:"11",y2:"21"})]}),(0,n.jsx)("span",{style:{whiteSpace:"nowrap",textTransform:"capitalize"},children:rN}),(0,n.jsx)(eA.A,{size:12,strokeWidth:1.8,style:{flexShrink:0,opacity:.7,transform:ex?"rotate(180deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"},"aria-hidden":"true"})]}),ex&&(0,n.jsxs)("div",{className:"picker-panel",role:"menu",style:{position:"absolute",bottom:"calc(100% + 6px)",left:0,zIndex:100,width:190,maxWidth:"calc(100vw - 32px)"},children:[(0,n.jsxs)("div",{className:"picker-panel-header",children:[(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:{color:"var(--text-muted)"},children:[(0,n.jsx)("path",{d:"M9.5 2A5.5 5.5 0 0 0 4 7.5c0 1.7.78 3.21 2 4.21V14a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-2.29c1.22-1 2-2.51 2-4.21A5.5 5.5 0 0 0 9.5 2z"}),(0,n.jsx)("line",{x1:"7",y1:"18",x2:"12",y2:"18"})]}),(0,n.jsx)("span",{className:"picker-panel-title",children:eo("chatInput.reasoningLabel")}),(0,n.jsx)("span",{className:"picker-panel-count",children:rF.length})]}),(0,n.jsx)("div",{className:"picker-thinking-cards",children:rF.map(e=>{let t=(w??"auto")===e,r="auto"!==e&&C?C[e]:void 0,i=null!=r&&r!==e?r:e;return(0,n.jsxs)("button",{className:"picker-thinking-card","data-active":t,role:"menuitemradio","aria-checked":t,onClick:()=>{ev(!1),t||o||j(e)},children:[(0,n.jsx)("span",{className:"picker-check",children:t&&(0,n.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"1.5 5 4 7.5 8.5 2.5"})})}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",textTransform:"capitalize"},children:i})]},e)})}),(0,n.jsxs)("div",{className:"picker-panel-footer",children:[(0,n.jsx)("span",{children:eo("chatInput.appliesNextPrompt")}),(0,n.jsx)("span",{style:{fontWeight:600,color:"var(--text-muted)",textTransform:"capitalize"},children:rN})]})]})]}),x&&v&&(0,n.jsxs)("button",{type:"button",onClick:()=>{o||v(!f)},disabled:o,title:f&&!1===m?"Fast mode is enabled but inactive for this model":`Turn OMP Fast mode ${f?"off":"on"} for this model`,"aria-pressed":f,style:{display:"flex",alignItems:"center",gap:5,height:28,padding:"0 8px",background:f?"var(--bg-selected)":"none",border:"none",borderRadius:7,color:f&&!1===m?"var(--status-warning)":f?"var(--accent)":"var(--text-muted)",cursor:o?"not-allowed":"pointer",opacity:o?.5:1,fontSize:12,fontWeight:600,transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})}),eo("chatInput.fastLabel")]}),(0,n.jsx)("div",{style:{flex:1}}),F&&(0,n.jsx)("span",{title:eo("chatInput.advisorReviewingTitle",{model:P?.name??eo("messageView.advisorLabel"),reasoning:P?.reasoning??eo("chatInput.advisorReasoningDefault")}),"aria-label":eo("chatInput.advisorReviewingTitle",{model:P?.name??eo("messageView.advisorLabel"),reasoning:P?.reasoning??eo("chatInput.advisorReasoningDefault")}),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:26,height:26,flexShrink:0,color:"var(--accent)"},children:(0,n.jsx)(t4.A,{size:14,strokeWidth:2,fill:"currentColor","aria-hidden":"true"})}),B&&(0,n.jsx)("button",{type:"button",onClick:b?y:B,disabled:o&&!b,title:b?eo("chatInput.stopCompaction"):eo("chatInput.compactContext"),"aria-label":b?eo("chatInput.stopCompaction"):eo("chatInput.compactContext"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:28,height:28,padding:0,background:"none",border:"none",borderRadius:7,color:b?"var(--accent)":"var(--text-muted)",cursor:o&&!b?"not-allowed":"pointer",opacity:o&&!b?.5:1,transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{o&&!b||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{e.currentTarget.style.background="none"},children:(0,n.jsx)(t5.A,{size:14,strokeWidth:1.8,"aria-hidden":"true"})}),tH?(0,n.jsxs)("button",{type:"button",onClick:()=>tO("followup"),title:eo("chatInput.queueMessage"),style:{display:"flex",alignItems:"center",gap:6,height:28,padding:"0 14px",background:"var(--accent-strong)",border:"none",borderRadius:8,color:"var(--on-accent)",cursor:"pointer",fontSize:12,fontWeight:600,transition:"background var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)(t1.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),eo("chatInput.queue")]}):o?(0,n.jsxs)("button",{type:"button",onClick:b?y:t,title:eo("chatInput.stopAgent"),style:{display:"flex",alignItems:"center",gap:6,height:28,padding:"0 14px",background:"var(--accent-strong)",border:"none",borderRadius:8,color:"var(--on-accent)",cursor:"pointer",fontSize:12,fontWeight:600,transition:"background var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)("svg",{width:"9",height:"9",viewBox:"0 0 10 10",fill:"none","aria-hidden":"true",children:(0,n.jsx)("rect",{x:"1.5",y:"1.5",width:"7",height:"7",rx:"1.5",fill:"currentColor"})}),eo("chatInput.stop")]}):(0,n.jsxs)("button",{type:"button",onClick:tv,disabled:!eu.trim()&&!ek.length&&!ej.length,style:{display:"flex",alignItems:"center",gap:6,height:28,padding:"0 14px",background:eu.trim()||ek.length||ej.length?"var(--accent-strong)":"var(--bg-panel)",border:"none",borderRadius:8,color:eu.trim()||ek.length||ej.length?"var(--on-accent)":"var(--text-dim)",cursor:eu.trim()||ek.length||ej.length?"pointer":"not-allowed",fontSize:12,fontWeight:600,boxShadow:eu.trim()||ek.length||ej.length?"var(--shadow-card)":"none",transition:"background var(--dur-fast) var(--ease-out-warm), box-shadow var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("line",{x1:"2",y1:"7",x2:"11",y2:"7"}),(0,n.jsx)("polyline",{points:"7.5 3 12 7 7.5 11"})]}),eo("chatInput.send")]})]})]})]}),eM&&(0,n.jsx)("div",{className:"text-xs px-2 py-1",style:{color:ez?"var(--text-muted)":"var(--accent)",marginTop:4},children:ez?eo("chatInput.shellLocal"):eo("chatInput.shellToModel")})]})]})}));function rE({request:e,onRespond:t,attached:r=!1}){let{t:a}=(0,d.s9)(),[o,s]=(0,i.useState)("editor"===e.method?e.prefill??"":""),[l,c]=(0,i.useState)(null);(0,i.useEffect)(()=>{s("editor"===e.method?e.prefill??"":""),c(null)},[e]);let u=()=>t(e,{cancelled:!0}),h=p({onClose:u,active:!r}),g=()=>{"confirm"===e.method?t(e,{confirmed:!0}):"select"===e.method?l&&t(e,{value:l}):t(e,{value:o})};return(0,n.jsx)("div",{className:r?void 0:"animate-fade-in",onMouseDown:r?void 0:e=>{e.target===e.currentTarget&&u()},style:r?{width:"100%",flexShrink:0}:{position:"absolute",inset:0,zIndex:90,display:"flex",alignItems:"center",justifyContent:"center",padding:20,background:"var(--overlay-backdrop)"},children:(0,n.jsxs)("div",{ref:h,role:"dialog","aria-modal":r?void 0:"true","aria-label":e.title,tabIndex:-1,className:r?void 0:"animate-scale-in",style:{width:r?"100%":"min(560px, 100%)",border:"1px solid var(--border)",borderRadius:r?"var(--radius-card)":"var(--radius-modal)",background:"var(--bg)",boxShadow:r?"var(--shadow-card)":"var(--shadow-modal)",overflow:"hidden",outline:"none",maxHeight:r?"min(420px, 60vh)":void 0},children:[(0,n.jsxs)("div",{style:{padding:"12px 14px",borderBottom:"1px solid var(--border)"},children:[(0,n.jsx)("div",{style:{color:"var(--text)",fontSize:14,fontWeight:650},children:e.title}),(0,n.jsx)("div",{style:{marginTop:3,color:"var(--text-dim)",fontSize:11,fontFamily:"var(--font-mono)"},children:a("chatWindow.extensionRequest")})]}),(0,n.jsxs)("div",{style:{padding:14},children:["confirm"===e.method&&(0,n.jsx)("div",{style:{color:"var(--text-muted)",fontSize:13,lineHeight:1.6,whiteSpace:"pre-wrap"},children:e.message}),"select"===e.method&&(0,n.jsx)("div",{style:{display:"grid",gap:8},children:e.options.map(i=>{let a=l===i;return(0,n.jsx)("button",{onClick:()=>r?c(i):t(e,{value:i}),"aria-pressed":r?a:void 0,style:{width:"100%",padding:"9px 10px",borderRadius:7,border:`1px solid ${a?"var(--accent)":"var(--border)"}`,background:a?"color-mix(in srgb, var(--accent) 10%, var(--bg-panel))":"var(--bg-panel)",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:13,transition:r?void 0:"background-color var(--dur-fast) var(--ease-out-warm), border-color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:r?void 0:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:r?void 0:e=>{e.currentTarget.style.background="var(--bg-panel)"},children:i},i)})}),"input"===e.method&&(0,n.jsx)("input",{autoFocus:!0,"aria-label":e.title||e.placeholder||"Input value",value:o,placeholder:e.placeholder,onChange:e=>s(e.target.value),onKeyDown:e=>{"Enter"===e.key&&g()},style:{width:"100%",padding:"9px 10px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",outline:"none",fontSize:13}}),"editor"===e.method&&(0,n.jsx)("textarea",{autoFocus:!0,"aria-label":e.title||"Input value",value:o,onChange:e=>s(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&g()},style:{width:"100%",minHeight:220,padding:10,borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",outline:"none",resize:"vertical",fontSize:13,lineHeight:1.55,fontFamily:"var(--font-mono)"}})]}),(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,padding:"10px 14px",borderTop:"1px solid var(--border)",background:"var(--bg-panel)"},children:[(0,n.jsx)("button",{onClick:u,style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text-muted)",cursor:"pointer",transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg)",e.currentTarget.style.color="var(--text-muted)"},children:a("chatWindow.cancel")}),"confirm"===e.method?(0,n.jsx)("button",{onClick:g,style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--on-accent)",cursor:"pointer",transition:"background-color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.background="var(--accent-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="var(--accent)"},children:a("chatWindow.confirm")}):"select"===e.method&&r?(0,n.jsx)("button",{onClick:g,disabled:!l,style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--accent)",background:l?"var(--accent)":"var(--bg-subtle)",color:l?"var(--on-accent)":"var(--text-dim)",cursor:l?"pointer":"not-allowed",opacity:l?1:.65},children:a("chatWindow.next")}):"select"!==e.method?(0,n.jsx)("button",{onClick:g,style:{padding:"6px 10px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--on-accent)",cursor:"pointer",transition:"background-color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.background="var(--accent-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="var(--accent)"},children:a("chatWindow.submit")}):null]})]})})}var rA=r(32383);function rW({message:e}){let t="user"===e.role?"U":"assistant"===e.role?"A":"R",r="user"===e.role?"var(--accent)":"assistant"===e.role?"var(--text-muted)":"var(--text-dim)",i=e.content,a=("string"==typeof i?[{type:"text",text:i}]:Array.isArray(i)?i:[]).filter(e=>"text"===e.type&&"string"==typeof e.text).map(e=>e.text).join("\n").slice(0,400),o=!0===e.isError;return(0,n.jsxs)("div",{style:{display:"flex",gap:8,minWidth:0},children:[(0,n.jsx)("span",{style:{flexShrink:0,fontSize:10,fontFamily:"var(--font-mono)",color:r,paddingTop:2},children:t}),(0,n.jsx)("div",{style:{fontSize:"toolResult"===e.role||"assistant"===e.role?11.5:12.5,lineHeight:1.55,minWidth:0,whiteSpace:"pre-wrap",wordBreak:"break-word",color:"toolResult"===e.role?"var(--text-muted)":"var(--text)",fontFamily:"toolResult"===e.role?"var(--font-mono)":"inherit"},children:"assistant"===e.role&&"string"!=typeof i&&Array.isArray(i)?i.map((e,t)=>(0,n.jsx)("div",{children:e&&"object"==typeof e&&"toolCall"===e.type?`→ ${e.toolName??"tool"} ${JSON.stringify(e.input??{})}`:e&&"object"==typeof e&&"text"===e.type?e.text??"":""},t)):a||("user"===e.role||"assistant"===e.role?"":o?"(error)":"(no output)")})]})}let rD={fontFamily:"var(--font-mono)",fontSize:10,fontWeight:700,letterSpacing:.4,textTransform:"uppercase",color:"var(--text-dim)"};function r$({value:e}){return"string"==typeof e?(0,n.jsx)("div",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word",color:"var(--text-muted)",fontSize:12,lineHeight:1.55},children:e}):Array.isArray(e)?(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:e.map((e,t)=>(0,n.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"flex-start"},children:[(0,n.jsx)("span",{style:{color:"var(--text-dim)",flexShrink:0},children:"•"}),(0,n.jsx)("div",{style:{minWidth:0,flex:1},children:(0,n.jsx)(r$,{value:e})})]},t))}):null!==e&&"object"==typeof e?(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:Object.keys(e).map(t=>(0,n.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"flex-start"},children:[(0,n.jsx)("span",{style:{flexShrink:0,fontFamily:"var(--font-mono)",fontSize:10.5,color:"var(--text-dim)",minWidth:110,textAlign:"right",paddingTop:2},children:t}),(0,n.jsx)("div",{style:{minWidth:0,flex:1},children:(0,n.jsx)(r$,{value:e[t]})})]},t))}):(0,n.jsx)("span",{style:{color:"var(--text-muted)",fontSize:12},children:String(e)})}function rL({task:e}){let{t}=(0,d.s9)();return e?(0,n.jsxs)("section",{style:{border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-subtle)",padding:"10px 12px"},children:[(0,n.jsx)("span",{style:rD,children:t("subagentTranscript.taskLabel")}),(0,n.jsx)("div",{style:{marginTop:6},children:(0,n.jsx)(td,{className:"markdown-subagent-text",children:e})})]}):null}function rN({completion:e,truncated:t}){let{t:r}=(0,d.s9)(),i=null;if(e)try{let t=JSON.parse(e);null===t||"object"!=typeof t||Array.isArray(t)||(i=t)}catch{i=null}let a=i?Object.keys(i):[],o=i&&1===a.length&&"string"==typeof i[a[0]]?i[a[0]]:null;return(0,n.jsxs)("section",{style:{border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",padding:"10px 12px"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:8},children:[(0,n.jsx)("span",{style:rD,children:r("subagentTranscript.resultLabel")}),t&&(0,n.jsx)("span",{style:{fontSize:10.5,color:"var(--text-dim)"},children:r("subagentTranscript.completionTruncated")})]}),o?(0,n.jsx)("div",{style:{marginTop:6,whiteSpace:"pre-wrap",wordBreak:"break-word",color:"var(--text-muted)",fontSize:12,lineHeight:1.55},children:o}):i?(0,n.jsx)("div",{style:{marginTop:6},children:(0,n.jsx)(r$,{value:i})}):e?(0,n.jsx)("div",{style:{marginTop:6},children:(0,n.jsx)(td,{className:"markdown-subagent-text",children:e})}):(0,n.jsx)("div",{style:{marginTop:6,fontSize:12,color:"var(--text-dim)",fontStyle:"italic"},children:r("subagentTranscript.noCompletion")})]})}function rF({subagent:e,sessionId:t,transcriptVersion:r,events:a,onClose:o}){let{t:s}=(0,d.s9)(),[l,c]=(0,i.useState)(null),[u,p]=(0,i.useState)(null),[h,g]=(0,i.useState)(!1),[f,m]=(0,i.useState)(!1),[x,v]=(0,i.useState)(null),[y,b]=(0,i.useState)(!1),[k,w]=(0,i.useState)([]),[j,S]=(0,i.useState)(0),[C,I]=(0,i.useState)(!1),[T,R]=(0,i.useState)(null),[M,z]=(0,i.useState)(!1),E=(0,i.useRef)(0),A=(0,i.useRef)(0),W=(0,i.useRef)(0),D=(0,i.useRef)(0),$=(0,i.useRef)(0),L=(0,i.useRef)(null),N=null!==e,F=e?.source==="history",P=!F,B=(0,i.useCallback)(async()=>{if(!t||!e?.id)throw Error("No session");let r=await fetch(`/api/sessions/${encodeURIComponent(t)}/subagents/${encodeURIComponent(e.id)}?mode=completion`);if(404===r.status)return{completion:null,truncated:!1};if(!r.ok)throw Error(`HTTP ${r.status}`);return await r.json()},[t,e?.id]),O=(0,i.useCallback)(async(r,n)=>{if(!t||!e?.id)throw Error("No session");if(n){let n=await fetch(`/api/sessions/${encodeURIComponent(t)}/subagents/${encodeURIComponent(e.id)}?fromByte=${r}`);if(!n.ok)throw Error(`HTTP ${n.status}`);return await n.json()}return await (0,rA.$)(t,{type:"get_subagent_messages",subagentId:e.id,sessionFile:e.sessionFile,fromByte:r})},[t,e?.id,e?.sessionFile]),H=(0,i.useCallback)(async r=>{if(!t||!e?.id)return;let n=++A.current;I(!0),R(null);try{let t;try{t=await O(r,F)}catch(n){if(F||!e.id)throw n;t=await O(r,!0)}if(n!==A.current)return;t.reset?w(t.messages):w(e=>[...e,...t.messages]),S(t.nextByte);let i="number"==typeof t.totalBytes?t.nextByte>=t.totalBytes:0===t.messages.length;z(i||t.nextByte<=t.fromByte)}catch(e){if(n!==A.current)return;R(e instanceof Error?e.message:String(e))}finally{n===A.current&&I(!1)}},[t,e?.id,F,O]),K=(0,i.useCallback)(async()=>{if(!t||!e?.id)return;let r=++E.current;m(!0),v(null);try{let n=await B();if(null===n.completion&&P){let n=((await (0,rA.$)(t,{type:"get_subagents"})).subagents??[]).find(t=>t.id===e?.id);if(r!==E.current)return;n&&c(n)}if(r!==E.current)return;p(n.completion),g(n.truncated)}catch(e){if(r!==E.current)return;v(e instanceof Error?e.message:String(e))}finally{r===E.current&&m(!1)}},[t,e?.id,P,B]);(0,i.useEffect)(()=>{N&&t&&(E.current+=1,A.current+=1,p(null),g(!1),v(null),c(null),b(!1),w([]),S(0),z(!1),R(null),I(!1),K())},[N,t,K]),(0,i.useEffect)(()=>{if(!N||!t||0===r||f)return;let e=r===W.current&&r===$.current,n=r===D.current;if(!e||!n)return $.current=r,L.current&&clearTimeout(L.current),L.current=setTimeout(()=>{L.current=null,W.current!==$.current&&(W.current=$.current,K()),y&&!C&&D.current!==$.current&&(D.current=$.current,H(j))},600),()=>{L.current&&clearTimeout(L.current)}},[N,t,r,f,y,C,K,H,j]);let U=l?.agent??e?.agent??"",_=l?.description??e?.description??"",q=l?.task??e?.task??e?.assignment??"",V=e?.progress,Y=tx(V?.tokens),J=e?.source==="history"?[Y?s("chatWindow.tokensUnit",{count:Y}):null,tv(V?.cost),ty(V?.durationMs),V?.resolvedModel?V.resolvedModel.replace(/:.*$/,""):null].filter(Boolean).join(" \xb7 "):null,Z=e?.source==="history"?e?.result?.abortReason??e?.result?.error:void 0,G=P&&!u&&a&&a.length>0?a.slice(-4):null;return(0,n.jsx)(eo.lG,{open:N,onOpenChange:e=>{e||o()},children:e&&(0,n.jsx)(eo.Cf,{ariaLabel:s("subagentTranscript.title"),style:{width:"min(94vw, 920px)",maxWidth:"min(94vw, 920px)"},children:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10,marginBottom:12},children:[(0,n.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,n.jsx)(eo.L3,{style:{marginBottom:2,fontSize:16,lineHeight:1.3},children:(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",color:"var(--accent)",fontSize:14},children:U})}),_&&(0,n.jsx)("div",{style:{fontSize:12.5,color:"var(--text-muted)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginBottom:4},children:_}),(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:l?.sessionFile??e.sessionFile??e.id}),J&&(0,n.jsx)("div",{style:{fontSize:10.5,color:"var(--text-dim)",fontFamily:"var(--font-mono)",marginTop:2},children:J}),Z&&(0,n.jsx)("div",{style:{fontSize:11,color:"var(--status-error)",marginTop:2,wordBreak:"break-word"},children:Z})]}),(0,n.jsx)(eo.HM,{style:{flexShrink:0,background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:18,lineHeight:1,padding:"2px 6px"},"aria-label":s("subagentTranscript.close"),children:"\xd7"})]}),G&&(0,n.jsx)("div",{"aria-live":"polite",style:{display:"grid",gap:2,marginBottom:8,padding:"6px 10px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)"},children:G.map((e,t)=>(0,n.jsxs)("div",{style:{display:"flex",gap:6,fontSize:11,fontFamily:"var(--font-mono)",color:"tool"===e.kind?"var(--accent)":"var(--text-muted)",minWidth:0},children:[(0,n.jsx)("span",{style:{color:"var(--text-dim)",flexShrink:0},children:"tool"===e.kind?"\xb7":"notice"===e.kind?"!":"\xbb"}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.label})]},t))}),x?(0,n.jsx)("div",{style:{fontSize:12,color:"var(--status-error)",padding:"8px 2px"},children:x}):(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,n.jsx)(rL,{task:q}),(0,n.jsx)(rN,{completion:u,truncated:h}),f&&(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:s("subagentTranscript.loading")}),(0,n.jsx)("button",{type:"button","aria-expanded":y,"aria-controls":"subagent-transcript-panel",onClick:()=>{let e=!y;b(e),e&&0===k.length&&!C&&H(0)},style:{alignSelf:"flex-start",background:"none",border:"none",color:"var(--accent)",cursor:"pointer",fontSize:12,fontFamily:"inherit",padding:0},children:s(y?"subagentTranscript.hideTranscript":"subagentTranscript.showTranscript")}),y&&(0,n.jsxs)("div",{id:"subagent-transcript-panel",style:{display:"grid",gap:8,padding:"10px 12px",border:"1px solid var(--border)",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",maxHeight:"50dvh",overflowY:"auto"},children:[T?(0,n.jsx)("div",{style:{fontSize:12,color:"var(--status-error)"},children:T}):0!==k.length||C?k.map((e,t)=>(0,n.jsx)(rW,{message:e},t)):(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",fontStyle:"italic"},children:s("subagentTranscript.noMessages")}),C&&(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:s("subagentTranscript.loading")}),!M&&!C&&(0,n.jsx)("button",{type:"button",onClick:()=>void H(j),style:{background:"none",border:"none",color:"var(--accent)",cursor:"pointer",fontSize:12,fontFamily:"inherit",padding:0},children:s("subagentTranscript.loadMore")})]})]})]})},e.id)})}function rP(e){if("user"===e.role){let t=e.content;return"string"==typeof t?t.slice(0,200):Array.isArray(t)?t.filter(e=>"text"===e.type&&e.text).map(e=>e.text).join("\n").slice(0,200):""}if("assistant"===e.role){let t=e.content??[],r=t.filter(e=>"text"===e.type).map(e=>e.text).join(" ");if(r)return r.slice(0,200);let n=t.filter(e=>"toolCall"===e.type).map(e=>e.toolName);if(n.length)return n.join(", ")}return""}function rB(e){return"user"===e.role?{bg:"color-mix(in srgb, var(--accent) 18%, transparent)",border:"color-mix(in srgb, var(--accent) 70%, transparent)"}:{bg:"color-mix(in srgb, var(--text-dim) 12%, transparent)",border:"color-mix(in srgb, var(--text-dim) 50%, transparent)"}}let rO=(0,i.memo)(function({messages:e,scrollContainer:t,messageRefs:r}){let[a,o]=(0,i.useState)(0),[s,l]=(0,i.useState)(1),[d,c]=(0,i.useState)(!1),[u,p]=(0,i.useState)([]),[h,g]=(0,i.useState)(!1),[f,m]=(0,i.useState)(null),x=(0,i.useRef)(!1),v=(0,i.useRef)(null),y=(0,i.useRef)(null),b=(0,i.useRef)(null),k=(0,i.useRef)(null),w=(0,i.useRef)(e);w.current=e;let j=(0,i.useCallback)(()=>{let e=t.current;if(!e)return;let r=e.scrollHeight,n=e.clientHeight,i=r-n;c(i>20),i<=0?(o(0),l(1)):(o(e.scrollTop/i),l(n/r))},[t]),S=(0,i.useRef)(null),C=(0,i.useCallback)(()=>{S.current||(S.current=setTimeout(()=>{S.current=null;let e=t.current;if(!e)return;let n=e.scrollHeight;if(n<=0)return;let i=r.current,a=[],o=0,s=w.current,l=e.getBoundingClientRect();for(let t=0;t<s.length;t++){let r=s[t];if("user"!==r.role&&"assistant"!==r.role)continue;let d=i?.[o];if(o++,("user"===r.role||"assistant"===r.role&&(r.content??[]).some(e=>"text"===e.type))&&d){let t=d.getBoundingClientRect(),i=t.top-l.top+e.scrollTop,o=t.height;a.push({topRatio:i/n,heightRatio:o/n,msg:r,index:a.length})}}p(a)},150))},[t,r]),I=(0,i.useRef)(null),T=(0,i.useCallback)(()=>{I.current=null,j()},[j]);(0,i.useEffect)(()=>{let e=t.current;if(!e)return;let r=()=>{null===I.current&&(I.current=requestAnimationFrame(T))};return e.addEventListener("scroll",r,{passive:!0}),()=>{e.removeEventListener("scroll",r),null!==I.current&&(cancelAnimationFrame(I.current),I.current=null)}},[t,T]),(0,i.useEffect)(()=>{let e=t.current;if(!e)return;let r=()=>{j(),C()},n=new ResizeObserver(r);return n.observe(e),e.firstElementChild&&n.observe(e.firstElementChild),r(),()=>{n.disconnect(),S.current&&(clearTimeout(S.current),S.current=null)}},[t,C,j]),(0,i.useEffect)(()=>{let e=setTimeout(()=>{j(),C()},50);return()=>clearTimeout(e)},[e.length,C,j]),(0,i.useEffect)(()=>()=>{null!==b.current&&(cancelAnimationFrame(b.current),b.current=null)},[]);let R=(0,i.useCallback)(e=>{let r=t.current;if(!r)return;let n=r.scrollHeight-r.clientHeight;n<=0||(r.scrollTop=Math.max(0,Math.min(1-s,e))/(1-s)*n)},[t,s]),M=(0,i.useCallback)(()=>{b.current=null,null!==k.current&&(m(k.current),k.current=null)},[]),z=(0,i.useCallback)(e=>{let t=e.currentTarget.getBoundingClientRect();k.current=(e.clientY-t.top)/t.height,null===b.current&&(b.current=requestAnimationFrame(M))},[M]),E=(0,i.useCallback)(e=>{if(!d)return;x.current=!0;let t=e.currentTarget.getBoundingClientRect(),r=(e.clientY-t.top)/t.height,n=r-a*(1-s),i=n>=0&&n<=s?n:s/2;R(r-i);let o=e=>{x.current&&R((e.clientY-t.top)/t.height-i)},l=()=>{x.current=!1,v.current=null,window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",l)};window.addEventListener("mousemove",o),window.addEventListener("mouseup",l),v.current={onMove:o,onUp:l}},[d,s,a,R]);(0,i.useEffect)(()=>()=>{let e=v.current;e&&(window.removeEventListener("mousemove",e.onMove),window.removeEventListener("mouseup",e.onUp),v.current=null),x.current=!1},[]);let A=y.current?.clientHeight??600,W=(0,i.useMemo)(()=>u.map(e=>rB(e.msg)),[u]),D=(0,i.useMemo)(()=>u.map(e=>rP(e.msg)),[u]),$=(0,i.useMemo)(()=>{if(!h||0===u.length)return[];let e=u.map(e=>Math.round(e.topRatio*A-11));for(let t=0;t<10;t++){for(let t=1;t<e.length;t++){let r=e[t-1]+22+2;e[t]<r&&(e[t]=r)}for(let t=e.length-2;t>=0;t--){let r=e[t+1]-22-2;e[t]>r&&(e[t]=r)}}for(let t=0;t<e.length;t++)e[t]=Math.max(0,Math.min(A-22,e[t]));return e},[h,u,A]);if(!d)return null;let L=a*(1-s)*100,N=100*s,F=null!==f&&u.length>0?u.reduce((e,t)=>Math.abs(t.topRatio-f)<Math.abs(u[e].topRatio-f)?t.index:e,0):null;return(0,n.jsxs)("div",{ref:y,onMouseDown:E,onMouseEnter:()=>g(!0),onMouseLeave:()=>{g(!1),m(null)},onMouseMove:z,style:{width:36,flexShrink:0,position:"relative",cursor:"default",userSelect:"none",borderLeft:"1px solid var(--border)",background:"var(--bg-panel)",overflow:"visible"},children:[(0,n.jsx)("div",{style:{position:"absolute",left:0,right:0,top:`${L}%`,height:`${N}%`,background:"color-mix(in srgb, var(--text-dim) 10%, transparent)",borderTop:"1px solid color-mix(in srgb, var(--text-dim) 20%, transparent)",borderBottom:"1px solid color-mix(in srgb, var(--text-dim) 20%, transparent)",pointerEvents:"none",zIndex:1}}),u.map(e=>{let t=W[e.index]??rB(e.msg),r=h&&F===e.index,i="user"===e.msg.role,a=100*e.topRatio;return(0,n.jsx)("div",{style:{position:"absolute",top:`${a}%`,transform:"translateY(-50%)",left:0,right:0,height:"12px",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",zIndex:2},children:(0,n.jsx)("div",{style:{width:i?8:6,height:i?8:6,borderRadius:i?2:"50%",background:t.bg,border:`1.5px solid ${t.border}`,flexShrink:0,transition:"transform var(--dur-fast) var(--ease-out-warm)",transform:r?"scale(1.6)":"scale(1)"}})},e.index)}),(0,n.jsx)("div",{style:{position:"absolute",left:"50%",top:0,bottom:0,width:1,background:"var(--border)",transform:"translateX(-50%)",zIndex:0}}),h&&u.map((e,t)=>{let r=D[t]??rP(e.msg),i=W[t]??rB(e.msg),a=F===e.index;return r&&0!==$.length?(0,n.jsx)("div",{style:{position:"absolute",top:$[t],right:"100%",marginRight:6,background:"var(--bg)",borderTop:`1px solid ${a?i.border:"var(--border)"}`,borderRight:`1px solid ${a?i.border:"var(--border)"}`,borderBottom:`1px solid ${a?i.border:"var(--border)"}`,borderLeft:`2px solid ${i.border}`,borderRadius:4,padding:"2px 7px",width:200,zIndex:100,pointerEvents:"none",opacity:a?1:.45,transition:"top var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)("div",{style:{fontSize:11,color:a?"var(--text)":"var(--text-muted)",lineHeight:1.4,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:r})},e.index):null})]})});var rH=r(57990),rK=r(36338),rU=r(88359),r_=r(12651),rq=r(85302),rV=r(44236),rY=r(90710),rJ=r(59103),rZ=r(83599),rG=r(58769);function rX({status:e}){let t={size:14,strokeWidth:1.8,"aria-hidden":!0};return"completed"===e?(0,n.jsx)(th.A,{...t,color:"var(--accent)"}):"in_progress"===e?(0,n.jsx)(rG.A,{...t,color:"var(--accent)"}):"blocked"===e?(0,n.jsx)(M.A,{...t,color:"var(--text-muted)"}):"abandoned"===e?(0,n.jsx)(tg.A,{...t,color:"var(--text-dim)"}):(0,n.jsx)(tf.A,{...t,color:"var(--text-dim)"})}function rQ({phases:e=[],collapsible:t=!1,defaultExpanded:r=!1}){let{t:a}=(0,d.s9)(),[o,s]=(0,i.useState)(!1),[l,c]=(0,i.useState)(!!t&&!r);if(0===e.length)return null;let u=e.flatMap(e=>e.tasks),p=u.filter(e=>"completed"===e.status).length,h=5,g=(o?e:e.slice(0,4)).map(e=>{let t=o?e.tasks:e.tasks.slice(0,h);return h-=t.length,{...e,tasks:t}}).filter(e=>e.tasks.length>0),f=g.reduce((e,t)=>e+t.tasks.length,0)<u.length,m="flex items-center gap-2 px-3 py-2 text-xs text-text-muted",x=l?"":"border-b border-border",v=a("chatWindow.todoProgress",{done:p,total:u.length});return(0,n.jsxs)("section",{"aria-label":a("chatWindow.todoList"),className:`overflow-hidden border border-border bg-bg-subtle ${t?"":"my-2"}`,style:{borderRadius:"var(--radius-card)"},children:[t?(0,n.jsxs)("button",{type:"button","aria-expanded":!l,onClick:()=>c(e=>!e),title:l?a("chatWindow.expandPanel"):a("chatWindow.collapsePanel"),className:`${m} ${x} w-full cursor-pointer text-left`,style:{background:"none"},children:[(0,n.jsx)(t1.A,{size:15,strokeWidth:1.8,"aria-hidden":!0}),(0,n.jsx)("strong",{className:"font-medium text-text",children:a("chatWindow.todoList")}),(0,n.jsx)("span",{className:"ml-auto",children:v}),(0,n.jsx)(eA.A,{size:14,strokeWidth:1.8,"aria-hidden":!0,style:{color:"var(--text-dim)",transform:l?"rotate(-90deg)":"rotate(0deg)",transition:"transform var(--dur-med) var(--ease-out-warm)"}})]}):(0,n.jsxs)("div",{className:`${m} ${x}`,children:[(0,n.jsx)(t1.A,{size:15,strokeWidth:1.8,"aria-hidden":!0}),(0,n.jsx)("strong",{className:"font-medium text-text",children:a("chatWindow.todoList")}),(0,n.jsx)("span",{className:"ml-auto",children:v})]}),!l&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"grid gap-3 px-3 py-2.5 animate-slide-down",children:g.map((e,t)=>(0,n.jsxs)("div",{className:"grid gap-1.5",children:[(0,n.jsx)("div",{className:"text-[11px] font-medium text-text-muted",children:e.name}),(0,n.jsx)("div",{className:"grid gap-1.5",children:e.tasks.map((e,t)=>(0,n.jsxs)("div",{className:"flex min-w-0 items-start gap-2 text-[13px] text-text","aria-label":`${a(`chatWindow.todoStatus.${e.status}`)}: ${e.content}`,children:[(0,n.jsx)("span",{className:"mt-0.5 shrink-0",children:(0,n.jsx)(rX,{status:e.status})}),(0,n.jsxs)("span",{className:"min-w-0",children:[(0,n.jsx)("span",{className:"completed"===e.status||"abandoned"===e.status?"text-text-dim line-through":void 0,children:e.content}),e.blocker&&(0,n.jsx)("span",{className:"mt-0.5 block text-[11px] text-text-muted",children:a("chatWindow.todoBlocker",{blocker:e.blocker})})]})]},e.id??`${e.content}-${t}`))})]},e.id??`${e.name}-${t}`))}),(f||o)&&(0,n.jsx)("button",{type:"button",className:"border-t border-border px-3 py-2 text-left text-xs text-accent hover:text-accent-hover",onClick:()=>s(e=>!e),children:o?a("chatWindow.todoShowLess"):a("chatWindow.todoShowAll")})]})]})}let r0={started:"chatWindow.subagentState.started",completed:"chatWindow.subagentState.completed",failed:"chatWindow.subagentState.failed",aborted:"chatWindow.subagentState.aborted"};function r1({subagent:e}){return(0,n.jsx)(tm,{status:e.status,live:"history"!==e.source})}function r2({icon:e,label:t,children:r}){return(0,n.jsxs)("span",{"aria-label":t,title:t,"data-subagent-metric":t,style:{display:"inline-flex",alignItems:"center",gap:3},children:[(0,n.jsx)(e,{size:11,strokeWidth:1.8,"aria-hidden":!0}),(0,n.jsx)("span",{children:r})]})}function r4({subagent:e}){let{t}=(0,d.s9)(),r=e.progress,i=!!(r?.retryState??r?.retryFailure),a=[];if(i){let e=r?.retryState?.attempt??r?.retryFailure?.attempt??0,i=r?.retryState?.maxAttempts??0,o=i>0?t("chatWindow.subagentRetrying",{attempt:e,max:i}):t("chatWindow.subagentRetryAttempt",{attempt:e});a.push((0,n.jsx)(r2,{icon:eI.A,label:o,children:i>0?`${e}/${i}`:e},"retry"))}else if("started"===e.status){let e=r?.currentTool?`${r.currentTool}${r.lastIntent?` — ${r.lastIntent}`:""}`:r?.lastIntent;e&&a.push((0,n.jsx)(r2,{icon:r?.currentTool?rH.A:rK.A,label:e,children:e},"activity"))}let o=function(e){if(!e)return 0;let t=0,r=e.inflightTaskDetails;r&&"object"==typeof r&&!Array.isArray(r)&&Array.isArray(r.progress)&&(t+=r.progress.length);let n=e.extractedToolData?.task;if(Array.isArray(n))for(let e of n)e&&"object"==typeof e&&!Array.isArray(e)&&Array.isArray(e.progress)&&(t+=e.progress.length);return t}(r),s=e.agentSource&&"bundled"!==e.agentSource?e.agentSource:null,l=tx(r?.tokens),c=tv(r?.cost),u=tx(r?.contextTokens),p=u?`${u}/${tx(r?.contextWindow)??"?"}`:null,h=tb(r?.resolvedModel),g="history"===e.source?ty(r?.durationMs):null,f=[s?(0,n.jsx)(r2,{icon:rU.A,label:s,children:"user"===s?null:s},"source"):null,o>0?(0,n.jsx)(r2,{icon:eD.A,label:t("chatWindow.subagentNestedCount",{count:o}),children:o},"nested"):null,l?(0,n.jsx)(r2,{icon:r_.A,label:t("chatWindow.tokensUnit",{count:l}),children:l},"tokens"):null,c?(0,n.jsx)(r2,{icon:rq.A,label:c,children:c},"cost"):null,p?(0,n.jsx)(r2,{icon:rV.A,label:t("chatWindow.contextGauge",{used:u??"?",total:tx(r?.contextWindow)??"?"}),children:p},"context"):null,h?(0,n.jsx)(r2,{icon:rY.A,label:h,children:h},"model"):null,g?(0,n.jsx)(r2,{icon:rJ.A,label:g,children:g},"duration"):null].filter(Boolean);return(f.length>0&&a.push((0,n.jsx)("span",{style:{display:"inline-flex",flexWrap:"wrap",gap:"2px 7px"},children:f},"meta")),0===a.length)?null:(0,n.jsx)("span",{style:{display:"flex",minWidth:0,overflow:"hidden",fontSize:10.5,fontFamily:"var(--font-mono)",color:i?"var(--accent)":"var(--text-dim)",lineHeight:1.4,gap:7,flexWrap:"wrap"},children:a})}function r5({subagents:e,onSelectSubagent:t,defaultExpanded:r=!1}){let{t:a}=(0,d.s9)(),[o,s]=(0,i.useState)(!r),l=e.filter(e=>"history"!==e.source&&"started"===e.status).length;return 0===e.length?null:(0,n.jsxs)("section",{"aria-label":a("chatWindow.subagentsPanel"),className:"overflow-hidden border border-border bg-bg-subtle",style:{borderRadius:"var(--radius-card)"},children:[(0,n.jsxs)("button",{type:"button","aria-expanded":!o,onClick:()=>s(e=>!e),title:o?a("chatWindow.expandPanel"):a("chatWindow.collapsePanel"),className:`ui-focus-ring flex w-full cursor-pointer items-center gap-2 px-3 py-2 text-left text-xs text-text-muted ${o?"":"border-b border-border"}`,style:{background:"none"},children:[(0,n.jsx)(rZ.A,{size:14,strokeWidth:1.8,"aria-hidden":!0}),(0,n.jsx)("strong",{className:"font-medium text-text",children:a("chatWindow.subagentsPanel")}),(0,n.jsx)("span",{className:"ml-auto inline-flex items-center gap-1.5","aria-label":a("chatWindow.subagentSummary",{running:l,total:e.length}),title:a("chatWindow.subagentSummary",{running:l,total:e.length}),children:(0,n.jsxs)("span",{children:[l,"/",e.length]})}),(0,n.jsx)(eA.A,{size:14,strokeWidth:1.8,"aria-hidden":!0,style:{color:"var(--text-dim)",transform:o?"rotate(-90deg)":"rotate(0deg)",transition:"transform var(--dur-med) var(--ease-out-warm)"}})]}),!o&&(0,n.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3 py-2.5 animate-slide-down",style:{maxHeight:"min(30vh, 240px)",overflowY:"auto"},children:e.map(e=>{let r=a(r0[e.status]),i=`${e.agent} \xb7 ${r} \xb7 ${e.task??e.description??""}`.replace(/\s+$/,""),o="history"!==e.source;return(0,n.jsxs)("button",{type:"button",className:"ui-focus-ring",onClick:()=>t(e),"aria-label":i,title:`${i}${e.detached?" (async)":""}`,style:{display:"inline-flex",flexDirection:"column",alignItems:"flex-start",gap:1,maxWidth:320,padding:"5px 9px",border:"1px solid color-mix(in srgb, var(--border) 86%, transparent)",borderRadius:"var(--radius-control)",background:"var(--bg)",fontSize:11.5,fontFamily:"inherit",cursor:"pointer",color:o&&"started"===e.status?"var(--text)":"var(--text-dim)",opacity:o&&"started"===e.status?1:.72,transition:"border-color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.borderColor="color-mix(in srgb, var(--accent) 40%, var(--border))",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.borderColor="color-mix(in srgb, var(--border) 86%, transparent)",e.currentTarget.style.background="var(--bg)"},children:[(0,n.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6,minWidth:0,maxWidth:"100%"},children:[(0,n.jsx)(r1,{subagent:e}),(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontWeight:600,fontSize:10.5,color:"var(--accent)",flexShrink:0},children:e.agent}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:220},children:e.task??e.description??r}),e.detached&&(0,n.jsx)("span",{"aria-hidden":!0,style:{fontSize:10,color:"var(--text-dim)",flexShrink:0,fontFamily:"var(--font-mono)"},children:"⤴"})]}),(0,n.jsx)(r4,{subagent:e})]},e.id)})})]})}function r6({todoPhases:e,subagents:t,onSelectSubagent:r,defaultExpanded:i=!1,planModeActive:a=!1}){return 0===e.length&&0===t.length?null:(0,n.jsxs)("div",{style:{display:"grid",gap:6,marginBottom:8},children:[!a&&(0,n.jsx)(rQ,{phases:e,collapsible:!0,defaultExpanded:i}),(0,n.jsx)(r5,{subagents:t,onSelectSubagent:r,defaultExpanded:i})]})}var r8=r(24413),r3=r(50981),r9=r(94179),r7=r(25583),ne=r(90467);function nt({onSelectPrompt:e,cwd:t}){let{t:r}=(0,d.s9)(),i=[{icon:r8.A,title:r("emptyState.cardPlanTitle")||"智能工程规划",desc:r("emptyState.cardPlanDesc")||"分析当前项目结构,自动分解任务并生成实施路线",prompt:"/plan 分析当前项目的架构与核心模块,并制定下一步计划",accent:"var(--accent)"},{icon:r3.A,title:r("emptyState.cardReviewTitle")||"代码质量审查",desc:r("emptyState.cardReviewDesc")||"多维度审查最近的代码改动、类型安全与潜在隐患",prompt:"/review 审查最近的代码改动,排查逻辑缺陷与规范问题",accent:"#38BDF8"},{icon:r9.A,title:r("emptyState.cardTestTitle")||"运行测试与验证",desc:r("emptyState.cardTestDesc")||"执行项目测试套件,自动捕获错误并提供修复方案",prompt:"/test 运行测试套件并验证系统功能完整性",accent:"#4ADE80"},{icon:r7.A,title:r("emptyState.cardExploreTitle")||"工作区检索与答疑",desc:r("emptyState.cardExploreDesc")||"向 omp 提问,输入 @ 快速引用文件或函数进行研讨",prompt:"简要介绍当前工作区的主要功能与目录结构",accent:"#FBBF24"}];return(0,n.jsxs)("div",{className:"empty-chat-hero animate-fade-in",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"32px 16px 20px",textAlign:"center",maxWidth:720,margin:"0 auto",userSelect:"none"},children:[(0,n.jsxs)("div",{style:{position:"relative",marginBottom:12},children:[(0,n.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 10px",borderRadius:999,background:"color-mix(in srgb, var(--accent) 8%, var(--bg-panel))",border:"1px solid color-mix(in srgb, var(--accent) 22%, transparent)",color:"var(--accent)",fontSize:11,fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",marginBottom:14,fontFamily:"var(--font-mono)"},children:[(0,n.jsx)(t2.A,{size:12,strokeWidth:2.2,"aria-hidden":"true"}),(0,n.jsx)("span",{children:"OMP Coding Agent \xb7 Web Workspace"})]}),(0,n.jsxs)("h1",{className:"display-serif",style:{fontSize:"clamp(36px, 5.5vw, 54px)",lineHeight:1.1,margin:"0 0 10px",fontWeight:700,letterSpacing:"-0.03em",color:"var(--text)",textShadow:"0 2px 12px color-mix(in srgb, var(--accent) 15%, transparent)"},children:["omp",(0,n.jsx)("span",{style:{color:"var(--accent)",fontStyle:"italic",marginLeft:2},children:"web"})]}),(0,n.jsx)("p",{style:{fontSize:"clamp(13px, 2vw, 15px)",color:"var(--text-muted)",margin:"0 auto",maxWidth:480,lineHeight:1.6},children:r("emptyState.subtitle")||"代码中枢 \xb7 沉浸式多模型协同与智能会话流转"})]}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))",gap:10,width:"100%",marginTop:18,marginBottom:16,textAlign:"left"},children:i.map((t,r)=>{let i=t.icon;return(0,n.jsxs)("button",{type:"button",onClick:()=>e(t.prompt),className:"group ui-focus-ring",style:{display:"flex",flexDirection:"column",gap:6,padding:"12px 14px",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",border:"1px solid var(--border)",cursor:"pointer",transition:"all var(--dur-fast) var(--ease-out-warm)",boxShadow:"var(--shadow-card)",textAlign:"left"},onMouseEnter:e=>{e.currentTarget.style.transform="translateY(-1px)",e.currentTarget.style.borderColor="color-mix(in srgb, var(--accent) 50%, var(--border))",e.currentTarget.style.boxShadow="var(--shadow-pop)"},onMouseLeave:e=>{e.currentTarget.style.transform="none",e.currentTarget.style.borderColor="var(--border)",e.currentTarget.style.boxShadow="var(--shadow-card)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:26,height:26,borderRadius:6,background:"var(--bg-hover)",color:t.accent},children:(0,n.jsx)(i,{size:15,strokeWidth:2})}),(0,n.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--text)"},children:t.title})]}),(0,n.jsx)(ne.A,{size:13,strokeWidth:2,style:{color:"var(--text-dim)",opacity:.6,transition:"transform var(--dur-fast)"}})]}),(0,n.jsx)("p",{style:{margin:0,fontSize:12,color:"var(--text-muted)",lineHeight:1.45},children:t.desc})]},r)})}),(0,n.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"center",gap:12,fontSize:11,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:[(0,n.jsxs)("span",{children:["输入 ",(0,n.jsx)("kbd",{style:{padding:"1px 5px",borderRadius:4,background:"var(--bg-hover)",border:"1px solid var(--border)"},children:"/"})," 指令"]}),(0,n.jsx)("span",{children:"\xb7"}),(0,n.jsxs)("span",{children:["使用 ",(0,n.jsx)("kbd",{style:{padding:"1px 5px",borderRadius:4,background:"var(--bg-hover)",border:"1px solid var(--border)"},children:"@"})," 引用文件"]}),(0,n.jsx)("span",{children:"\xb7"}),(0,n.jsxs)("span",{children:[(0,n.jsx)("kbd",{style:{padding:"1px 5px",borderRadius:4,background:"var(--bg-hover)",border:"1px solid var(--border)"},children:"⌘K"})," 命令面板"]})]})]})}var nr=r(36619),nn=r(31861),ni=r(94088),na=r(9383);function no({status:e}){switch(e){case"completed":return(0,n.jsx)(th.A,{size:15,style:{color:"var(--status-success)"}});case"in_progress":return(0,n.jsx)(rG.A,{size:15,style:{color:"var(--accent)"}});case"blocked":return(0,n.jsx)(M.A,{size:15,style:{color:"var(--status-warning)"}});case"cancelled":return(0,n.jsx)(tg.A,{size:15,style:{color:"var(--text-dim)"}});default:return(0,n.jsx)(tf.A,{size:15,style:{color:"var(--text-dim)"}})}}let ns=(0,i.memo)(function({plan:e,todoPhases:t=[],onExecutePlan:r,onRejectPlan:a,planModeActive:o,planContent:s=null,planTruncated:l=!1}){let{t:c}=(0,d.s9)(),[u,p]=(0,i.useState)(!0),[h,g]=(0,i.useState)(!1),[f,m]=(0,i.useState)(""),v=t.length>0;if(!(e?.objective||o))return null;let y=t.flatMap(e=>e.tasks),b=y.filter(e=>"completed"===e.status).length,k=y.filter(e=>"in_progress"===e.status).length;return(0,n.jsxs)("div",{className:"plan-panel-card animate-fade-in",style:{marginBottom:10,borderRadius:"var(--radius-card)",background:"var(--bg-panel)",border:"1.5px solid color-mix(in srgb, var(--accent) 30%, var(--border))",boxShadow:"var(--shadow-card)",overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 14px",background:"color-mix(in srgb, var(--accent) 6%, var(--bg-panel))",borderBottom:u?"1px solid var(--border)":"none",userSelect:"none"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0,flex:1},children:[(0,n.jsx)("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:6,background:"var(--accent)",color:"var(--on-accent)",flexShrink:0},children:(0,n.jsx)(r8.A,{size:14,strokeWidth:2.2})}),(0,n.jsxs)("div",{style:{minWidth:0},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,n.jsx)("span",{style:{fontSize:13,fontWeight:700,color:"var(--text)"},children:c("plan.modeTitle")||"OMP 计划制定模式"}),(0,n.jsx)("span",{style:{fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:999,background:k>0?"color-mix(in srgb, var(--accent) 15%, transparent)":"color-mix(in srgb, var(--status-success) 15%, transparent)",color:k>0?"var(--accent)":"var(--status-success)",fontFamily:"var(--font-mono)"},children:y.length>0?`${b}/${y.length} 任务已完成`:"待规划"})]}),e?.objective&&(0,n.jsx)("p",{style:{margin:"2px 0 0",fontSize:12,color:"var(--text-muted)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.objective})]})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexShrink:0},children:[y.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{type:"button",onClick:()=>{r("已审阅并确认上述计划,请开始按照规划阶段分步执行所有任务。")},className:"ui-focus-ring",style:{display:"inline-flex",alignItems:"center",gap:5,padding:"4px 10px",borderRadius:"var(--radius-control)",background:"var(--accent)",color:"var(--on-accent)",fontSize:12,fontWeight:600,border:"none",cursor:"pointer",boxShadow:"0 1px 3px rgba(0,0,0,0.12)"},children:[(0,n.jsx)(nr.A,{size:12,strokeWidth:2.4}),(0,n.jsx)("span",{children:c("plan.executeButton")||"执行此计划"})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>g(!0),className:"ui-focus-ring",style:{display:"inline-flex",alignItems:"center",gap:5,padding:"4px 10px",borderRadius:"var(--radius-control)",background:"var(--bg)",color:"var(--status-warning)",border:"1px solid var(--border)",fontSize:12,fontWeight:600,cursor:"pointer"},children:[(0,n.jsx)(nn.A,{size:12,strokeWidth:2}),(0,n.jsx)("span",{children:c("plan.rejectButton")||"打回修改"})]})]}),(0,n.jsx)("button",{type:"button",onClick:()=>p(e=>!e),title:u?"折叠计划":"展开计划",className:"shell-toolbar-btn ui-focus-ring",style:{width:26,height:26,borderRadius:6},children:u?(0,n.jsx)(ni.A,{size:14,strokeWidth:2}):(0,n.jsx)(eA.A,{size:14,strokeWidth:2})})]})]}),u&&(0,n.jsxs)("div",{style:{padding:"12px 14px"},children:[s&&(0,n.jsxs)("div",{style:{maxHeight:"50vh",overflowY:"auto",marginBottom:12*!!v,padding:"10px 12px",borderRadius:"var(--radius-control)",background:"var(--bg)",border:"1px solid var(--border)",fontSize:13,lineHeight:1.55,color:"var(--text)"},children:[(0,n.jsx)(td,{children:s}),l&&(0,n.jsx)("div",{style:{marginTop:8,fontSize:11,color:"var(--text-dim)"},children:c("plan.truncatedNote")})]}),v?(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:t.map((e,t)=>(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,n.jsxs)("div",{style:{fontSize:11,fontWeight:700,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.05em",fontFamily:"var(--font-mono)"},children:["阶段 ",t+1,": ",e.name]}),(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4,paddingLeft:6},children:e.tasks.map((e,t)=>(0,n.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:8,fontSize:13,color:"completed"===e.status?"var(--text-dim)":"var(--text)",textDecoration:"completed"===e.status?"line-through":"none"},children:[(0,n.jsx)("span",{style:{marginTop:2,flexShrink:0},children:(0,n.jsx)(no,{status:e.status})}),(0,n.jsx)("span",{style:{flex:1,lineHeight:1.4},children:e.content}),e.blocker&&(0,n.jsxs)("span",{style:{fontSize:11,color:"var(--status-warning)",background:"color-mix(in srgb, var(--status-warning) 10%, transparent)",padding:"1px 6px",borderRadius:4},children:["阻塞: ",e.blocker]})]},e.id??`task-${t}`))})]},e.id??`phase-${t}`))}):(0,n.jsxs)("div",{style:{padding:"8px 0",color:"var(--text-muted)",fontSize:13,textAlign:"center"},children:[(0,n.jsx)(t2.A,{size:16,style:{color:"var(--accent)",margin:"0 auto 6px"}}),(0,n.jsx)("p",{style:{margin:0},children:"正在就位 Plan 模式。在输入框提交目标即可生成多阶段执行规划。"})]})]}),h&&(0,n.jsx)("div",{style:{position:"fixed",inset:0,zIndex:900,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0, 0, 0, 0.45)",backdropFilter:"blur(2px)",padding:16},onClick:()=>g(!1),children:(0,n.jsxs)("div",{className:"dropdown-surface animate-scale-in",style:{width:"100%",maxWidth:520,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:"var(--radius-modal)",boxShadow:"var(--shadow-modal)",padding:20,display:"flex",flexDirection:"column",gap:14},onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)(nn.A,{size:18,style:{color:"var(--status-warning)"}}),(0,n.jsx)("h3",{style:{margin:0,fontSize:15,fontWeight:700,color:"var(--text)"},children:c("plan.critiqueModalTitle")||"打回计划 \xb7 提供修改建议"})]}),(0,n.jsx)("button",{type:"button",onClick:()=>g(!1),className:"shell-toolbar-btn ui-focus-ring",style:{width:28,height:28,borderRadius:6},children:(0,n.jsx)(x.A,{size:16})})]}),(0,n.jsx)("p",{style:{margin:0,fontSize:13,color:"var(--text-muted)",lineHeight:1.5},children:"指出当前计划存在的问题(如步骤冗余、缺少测试、顺序不当或风险项),智能体将根据意见重新规划。"}),(0,n.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:[{label:"简化改动 (YAGNI)",text:"改动范围过大,请遵循最小必要改动原则 (YAGNI),剔除不必要的抽象与额外功能。"},{label:"增加测试与验证",text:"请在计划中增加详尽的单元测试与端到端自动化验证步骤,确保无回归风险。"},{label:"调整步骤顺序",text:"请调整步骤顺序,先排查并修复阻塞性前置依赖,再进行核心逻辑实现。"},{label:"保持向下兼容",text:"方案存在破坏性变更风险,请补充向前与向下兼容性方案及回退机制。"}].map((e,t)=>(0,n.jsxs)("button",{type:"button",onClick:()=>m(t=>t?`${t}
21
+ ${e.text}`:e.text),style:{fontSize:11,padding:"3px 8px",borderRadius:6,background:"var(--bg-panel)",border:"1px solid var(--border)",color:"var(--text)",cursor:"pointer"},onMouseEnter:e=>{e.currentTarget.style.borderColor="var(--accent)"},onMouseLeave:e=>{e.currentTarget.style.borderColor="var(--border)"},children:["+ ",e.label]},t))}),(0,n.jsx)("textarea",{rows:4,value:f,onChange:e=>m(e.target.value),placeholder:"请输入具体的修改建议或打回理由...",style:{width:"100%",padding:"10px 12px",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",border:"1px solid var(--border)",color:"var(--text)",fontSize:13,fontFamily:"inherit",resize:"vertical",outline:"none"},onFocus:e=>{e.currentTarget.style.borderColor="var(--accent)"},onBlur:e=>{e.currentTarget.style.borderColor="var(--border)"}}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8},children:[(0,n.jsx)("button",{type:"button",onClick:()=>g(!1),style:{padding:"6px 14px",borderRadius:"var(--radius-control)",background:"transparent",border:"1px solid var(--border)",color:"var(--text)",fontSize:13,cursor:"pointer"},children:"取消"}),(0,n.jsxs)("button",{type:"button",onClick:()=>{f.trim()&&(a(`【计划打回修改】当前计划存在以下问题需要调整:
22
+
23
+ ${f.trim()}
24
+
25
+ 请根据上述审查意见重新分析并输出修正后的完整方案与 Todo 步骤。`),m(""),g(!1))},disabled:!f.trim(),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 16px",borderRadius:"var(--radius-control)",background:"var(--accent)",color:"var(--on-accent)",fontSize:13,fontWeight:600,border:"none",cursor:f.trim()?"pointer":"not-allowed",opacity:f.trim()?1:.5},children:[(0,n.jsx)(na.A,{size:13}),(0,n.jsx)("span",{children:"提交修改意见"})]})]})]})})]})});function nl(e){if("assistant"!==e.role)return e;let t=e.content;if(!Array.isArray(t))return e;let r=t.map(e=>("object"!=typeof e||null===e||Array.isArray(e)||"toolCall"!==e.type?null:{type:"toolCall",toolCallId:"string"==typeof e.toolCallId?e.toolCallId:"string"==typeof e.id?e.id:"",toolName:"string"==typeof e.toolName?e.toolName:"string"==typeof e.name?e.name:"",input:"object"!=typeof e.input||null===e.input||Array.isArray(e.input)?"object"!=typeof e.arguments||null===e.arguments||Array.isArray(e.arguments)?{}:e.arguments:e.input})??e);return{...e,content:r}}let nd=[],nc=["read","bash","edit","write"],nu=["bash","read","edit","write","grep","find","ls"],np="omp-web:tool-preset";function nh(){try{return window.localStorage}catch{return null}}function ng(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function nf(e){return"string"==typeof e?e:void 0}function nm(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0}function nx(e){return"bundled"===e||"user"===e||"project"===e?e:void 0}function nv(e){var t;if(!ng(e))return;let r={},n=nm(e.index);void 0!==n&&(r.index=n);let i=nf(e.id);void 0!==i&&(r.id=i);let a=nf(e.agent);void 0!==a&&(r.agent=a);let o=nx(e.agentSource);void 0!==o&&(r.agentSource=o);let s="pending"===(t=e.status)||"running"===t||"completed"===t||"failed"===t||"aborted"===t?t:void 0;void 0!==s&&(r.status=s);let l=nf(e.task);void 0!==l&&(r.task=l);let d=nf(e.assignment);void 0!==d&&(r.assignment=d);let c=nf(e.description);void 0!==c&&(r.description=c);let u=nf(e.lastIntent);void 0!==u&&(r.lastIntent=u);let p=nf(e.currentTool);void 0!==p&&(r.currentTool=p);let h=nf(e.currentToolArgs);void 0!==h&&(r.currentToolArgs=h);let g=nm(e.currentToolStartMs);void 0!==g&&(r.currentToolStartMs=g),Array.isArray(e.recentTools)&&(r.recentTools=e.recentTools),Array.isArray(e.recentOutput)&&(r.recentOutput=e.recentOutput.filter(e=>"string"==typeof e));let f=nm(e.toolCount);void 0!==f&&(r.toolCount=f);let m=nm(e.requests);void 0!==m&&(r.requests=m);let x=nm(e.tokens);void 0!==x&&(r.tokens=x);let v=nm(e.contextTokens);void 0!==v&&(r.contextTokens=v);let y=nm(e.contextWindow);void 0!==y&&(r.contextWindow=y);let b=nm(e.cost);void 0!==b&&(r.cost=b);let k=nm(e.durationMs);void 0!==k&&(r.durationMs=k),("string"==typeof e.modelOverride||Array.isArray(e.modelOverride)&&e.modelOverride.every(e=>"string"==typeof e))&&(r.modelOverride=e.modelOverride);let w=nf(e.modelRole);void 0!==w&&(r.modelRole=w);let j=nf(e.resolvedModel);if(void 0!==j&&(r.resolvedModel=j),"boolean"==typeof e.resolvedModelIsFallback&&(r.resolvedModelIsFallback=e.resolvedModelIsFallback),ng(e.retryState)){let t=nm(e.retryState.attempt),n=nm(e.retryState.maxAttempts),i=nm(e.retryState.delayMs),a=nf(e.retryState.errorMessage),o=nm(e.retryState.startedAtMs);void 0!==t&&void 0!==n&&void 0!==i&&void 0!==a&&void 0!==o&&(r.retryState={attempt:t,maxAttempts:n,delayMs:i,errorMessage:a,startedAtMs:o})}if(ng(e.retryFailure)){let t=nm(e.retryFailure.attempt),n=nf(e.retryFailure.errorMessage);void 0!==t&&void 0!==n&&(r.retryFailure={attempt:t,errorMessage:n})}return void 0!==e.inflightTaskDetails&&(r.inflightTaskDetails=e.inflightTaskDetails),ng(e.extractedToolData)&&(r.extractedToolData=e.extractedToolData),Object.keys(r).length>0?r:void 0}function ny(e){let t;if(!ng(e))return;let r=nf(e.id),n=nf(e.agent);if(!r||!n)return;if("started"===e.status||"completed"===e.status||"failed"===e.status||"aborted"===e.status)t=e.status;else{if("pending"!==e.status&&"running"!==e.status)return;t="started"}let i={id:r,agent:n,status:t,index:nm(e.index)??-1,source:"live"},a=nx(e.agentSource);void 0!==a&&(i.agentSource=a);let o=nf(e.description);void 0!==o&&(i.description=o);let s=nf(e.task);void 0!==s&&(i.task=s);let l=nf(e.assignment);void 0!==l&&(i.assignment=l);let d=nf(e.sessionFile);void 0!==d&&(i.sessionFile=d);let c=nf(e.parentToolCallId);void 0!==c&&(i.parentToolCallId=c);let u=nm(e.lastUpdate);void 0!==u&&(i.lastUpdate=u);let p=nv(e.progress);return void 0!==p&&(i.progress=p),i}function nb(e,t){switch(t.type){case"start":return{isStreaming:!0,streamingMessage:null};case"update":return{isStreaming:!0,streamingMessage:t.message};case"end":case"reset":return{isStreaming:!1,streamingMessage:null};default:return e}}function nk(e){let t=Object.keys(e);if(t.length<=64)return e;let r={...e},n=t.length-64;for(let e of t.filter(e=>!/^(?:0|[1-9]\d*)$/.test(e))){if(n<=0)break;delete r[e],n-=1}if(n>0)for(let e of t){if(n<=0)break;void 0!==r[e]&&(delete r[e],n-=1)}return r}function nw(e){let t={id:e.id,agent:e.agent,agentSource:e.agentSource,description:e.description,status:e.status,task:e.task,assignment:e.assignment,index:e.index,sessionFile:e.sessionFile,source:"history",detached:e.detached,result:e.result};return t.progress={status:"started"===e.status?"running":e.status,task:e.task,assignment:e.assignment,description:e.description,lastIntent:e.lastIntent,toolCount:e.toolCount,requests:e.requests,tokens:e.tokens,contextTokens:e.contextTokens,contextWindow:e.contextWindow,cost:e.cost,durationMs:e.durationMs,modelOverride:e.modelOverride,modelRole:e.modelRole,resolvedModel:e.resolvedModel,resolvedModelIsFallback:e.resolvedModelIsFallback,retryFailure:e.retryFailure},t}let nj={steering:[],followUp:[]},nS="omp-queue-";function nC(e){return 0===e.steering.length&&0===e.followUp.length}function nI(e){return e&&"inherit"!==e?e:"auto"}function nT(e){return e?.provider&&e.id?{provider:e.provider,modelId:e.id,name:e.name,reasoning:e.reasoning,thinking:e.thinking}:null}let nR=new Set(["ArrowUp","ArrowDown","PageUp","PageDown","Home","End"," ","Space","Spacebar"]);class nM extends Error{constructor(e){super("timeout"===e?(0,d.Tl)("agentSession.eventStreamTimeout"):(0,d.Tl)("agentSession.eventStreamFailed")),this.status=e,this.name="EventStreamConnectionError"}}function nz(e){if("string"!=typeof e)return!1;let t=e.trim();if(!t||t.startsWith("//"))return!1;let r=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t);if(!r)return!1;let n=r[1].toLowerCase();return"http"===n||"https"===n||"mailto"===n}function nE(e){return new Promise(t=>setTimeout(t,e))}function nA(e){let t=e.findIndex(e=>!e.exiting);return -1===t?e:e.map((e,r)=>r===t?{...e,exiting:!0}:e)}function nW(e,t){switch(t.type){case"add":if(e.visible.some(e=>e.exiting)||e.visible.length>=5)return{visible:e.visible.some(e=>e.exiting)?e.visible:nA(e.visible),pending:[...e.pending,t.notice]};return{...e,visible:[...e.visible,t.notice]};case"mark_oldest_exiting":return{...e,visible:nA(e.visible)};case"remove":return function(e,t){let r=e,n=t;for(;n.length>0&&r.length<5;){let[e,...t]=n;r=[...r,e],n=t}return n.length>0&&!r.some(e=>e.exiting)&&(r=nA(r)),{visible:r,pending:n}}(e.visible.filter(e=>e.id!==t.id),e.pending);default:return e}}function nD(e){let t=e.content;return"string"==typeof t?t:Array.isArray(t)?t.map(e=>e&&"object"==typeof e&&"text"===e.type&&"string"==typeof e.text?e.text:"").filter(Boolean).join("\n"):""}function n$(e){if(!e||"object"!=typeof e||"image"!==e.type)return"";let t=e.source;return t&&"object"==typeof t?["url"===t.type?"url":"base64","string"==typeof t.media_type?t.media_type:"","string"==typeof t.data?t.data:"","string"==typeof t.url?t.url:""].join(":"):["base64","string"==typeof e.mimeType?e.mimeType:"","string"==typeof e.data?e.data:"",""].join(":")}function nL(e){let t=e.content;return"string"==typeof t?JSON.stringify({text:t,images:[]}):Array.isArray(t)?JSON.stringify({text:nD(e),images:t.map(n$).filter(Boolean)}):JSON.stringify({text:"",images:[]})}function nN(e,t){return e&&"object"==typeof e?"number"!=typeof e.tokensBefore?null:{reason:t,tokensBefore:e.tokensBefore,estimatedTokensAfter:"number"==typeof e.estimatedTokensAfter?e.estimatedTokensAfter:0}:null}function nF(e,t){let r=t?.map(e=>({type:"image",source:{type:"base64",media_type:e.mimeType,data:e.data}}));return{userMsg:{role:"user",content:r?.length?[...e.trim()?[{type:"text",text:e}]:[],...r]:e,timestamp:Date.now()},piImages:t?.map(e=>({type:"image",data:e.data,mimeType:e.mimeType}))}}function nP(e){if("builtin"===e.source)return null;let t="extension"===e.source?"extension":"skill"===e.source?"skill":"prompt";return{name:e.name,description:e.description,source:t}}function nB(e){return e.type.startsWith("image/")||"text/plain"===e.type||"text/markdown"===e.type}let nO=/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/g,nH=/^\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/,nK=/\x1B\[([0-9;]*)m/g,nU=/\x1B_pi:c\x07/g,n_=["#1f2937","#dc2626","#16a34a","#d97706","#2563eb","#9333ea","#0891b2","#6b7280"],nq=["#9ca3af","#ef4444","#22c55e","#f59e0b","#3b82f6","#a855f7","#06b6d4","#e5e7eb"];function nV(e){return e.replace(nU,"").replace(nO,"")}function nY(e){let t=[],r=0;for(;r<e.length;){if(27===e.charCodeAt(r)){let t=e.slice(r).match(nH);if(t){r+=t[0].length;continue}}let n=e.codePointAt(r);if(void 0===n)break;let i=String.fromCodePoint(n);t.push({start:r,end:r+i.length,char:i}),r+=i.length}return t}function nJ(e,t){let r=nY(e)[t];return r?e.slice(0,r.start)+e.slice(r.end):e}function nZ(e){return nY(e)[0]?.char}let nG={ArrowUp:"\x1b[A",ArrowDown:"\x1b[B",ArrowRight:"\x1b[C",ArrowLeft:"\x1b[D",Home:"\x1b[H",End:"\x1b[F",Insert:"\x1b[2~",Delete:"\x1b[3~",PageUp:"\x1b[5~",PageDown:"\x1b[6~",Escape:"\x1b",Backspace:""},nX={ArrowLeft:"\x1bb",ArrowRight:"\x1bf",ArrowUp:"\x1bp",ArrowDown:"\x1bn"};function nQ(){return(0,n.jsxs)("span",{className:"omp-letters-inline","aria-hidden":"true",style:{display:"inline-flex",alignItems:"baseline",gap:1,userSelect:"none",flexShrink:0,lineHeight:1,fontFamily:"var(--font-mono)",fontWeight:800,fontSize:13.5},children:[(0,n.jsx)("style",{children:`
26
+ @keyframes omp-solo-jump-o {
27
+ 0% { transform: translateY(0) scale(1, 1); }
28
+ 5% { transform: translateY(1.5px) scale(1.18, 0.82); }
29
+ 15% { transform: translateY(-7px) scale(0.88, 1.2); }
30
+ 25% { transform: translateY(0.8px) scale(1.08, 0.92); }
31
+ 30%, 100% { transform: translateY(0) scale(1, 1); }
32
+ }
33
+ @keyframes omp-solo-jump-m {
34
+ 0%, 33.3% { transform: translateY(0) scale(1, 1); }
35
+ 38.3% { transform: translateY(1.5px) scale(1.18, 0.82); }
36
+ 48.3% { transform: translateY(-7px) scale(0.88, 1.2); }
37
+ 58.3% { transform: translateY(0.8px) scale(1.08, 0.92); }
38
+ 63.3%, 100% { transform: translateY(0) scale(1, 1); }
39
+ }
40
+ @keyframes omp-solo-jump-p {
41
+ 0%, 66.6% { transform: translateY(0) scale(1, 1); }
42
+ 71.6% { transform: translateY(1.5px) scale(1.18, 0.82); }
43
+ 81.6% { transform: translateY(-7px) scale(0.88, 1.2); }
44
+ 91.6% { transform: translateY(0.8px) scale(1.08, 0.92); }
45
+ 96.6%, 100% { transform: translateY(0) scale(1, 1); }
46
+ }
47
+ .omp-solo-o {
48
+ display: inline-block;
49
+ transform-origin: bottom center;
50
+ animation: omp-solo-jump-o 1.5s cubic-bezier(0.34, 1.35, 0.64, 1) infinite !important;
51
+ }
52
+ .omp-solo-m {
53
+ display: inline-block;
54
+ transform-origin: bottom center;
55
+ animation: omp-solo-jump-m 1.5s cubic-bezier(0.34, 1.35, 0.64, 1) infinite !important;
56
+ }
57
+ .omp-solo-p {
58
+ display: inline-block;
59
+ transform-origin: bottom center;
60
+ animation: omp-solo-jump-p 1.5s cubic-bezier(0.34, 1.35, 0.64, 1) infinite !important;
61
+ }
62
+ html[data-animations="false"] .omp-solo-o,
63
+ html[data-animations="false"] .omp-solo-m,
64
+ html[data-animations="false"] .omp-solo-p,
65
+ html[data-animation-omp="false"] .omp-solo-o,
66
+ html[data-animation-omp="false"] .omp-solo-m,
67
+ html[data-animation-omp="false"] .omp-solo-p {
68
+ animation: none !important;
69
+ transform: none !important;
70
+ }
71
+ `}),(0,n.jsx)("span",{className:"omp-solo-o",style:{color:"var(--omp-o, var(--accent))"},children:"o"}),(0,n.jsx)("span",{className:"omp-solo-m",style:{color:"var(--omp-m, #F59E0B)"},children:"m"}),(0,n.jsx)("span",{className:"omp-solo-p",style:{color:"var(--omp-p, #38BDF8)"},children:"p"})]})}function n0(e,t=50){return e+t}function n1(e){return"user"===e.role||"custom"===e.role&&"compaction"===e.customType}function n2(e,t,r={}){let n={...e,content:t};return r.omitUsage&&(n.usage=void 0),n}function n4({messageCount:e,toolCallCount:t,children:r}){let{t:a,tn:o}=(0,d.s9)(),[s,l]=(0,i.useState)(!1),c=[a("chatWindow.processDetails"),o("chatWindow.messageCount",e)];return t>0&&c.push(o("chatWindow.toolCallCount",t)),(0,n.jsxs)("div",{style:{marginBottom:4},children:[(0,n.jsxs)("button",{type:"button","aria-expanded":s,onClick:()=>l(e=>!e),className:"process-details-toggle",title:a(s?"chatWindow.collapseProcessDetails":"chatWindow.expandProcessDetails"),children:[(0,n.jsx)(eA.A,{size:12,strokeWidth:1.8,"aria-hidden":"true",style:{flexShrink:0,transform:s?"rotate(180deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"}}),(0,n.jsx)("span",{className:"process-details-label",children:c.join(" \xb7 ")})]}),s&&(0,n.jsx)("div",{style:{marginTop:3},children:r})]})}let n5=(0,i.memo)(function({messages:e,entryIds:t,conversationMeta:r,messageRefs:a,isStreaming:o,sessionBusy:s,isNew:l,forkingEntryId:c,handleFork:u,handleNavigate:p,handleEditContent:h,modelNames:g,messageCwd:f,onOpenFile:m,sessionId:x,toolCallsDefaultCollapsed:v,thinkingDisplayMode:y,visibleCount:b,nearBottom:k,sentinelRef:w,handleLoadMoreClick:j}){let{t:S}=(0,d.s9)(),{toolResultsMap:C,lastAnchorIdx:I,visibleRefIndexByMessage:T}=r,R=(r,i={})=>{let d=i.messageOverride??e[r],b="user"===d.role&&r>0&&"assistant"===e[r-1].role?t[r-1]:void 0,k="user"===d.role||"assistant"===d.role,w=T.get(r),j=i.keyPrefix??"message",S=!1;if("assistant"===d.role){S=!0;for(let t=r+1;t<e.length;t++){let r=e[t].role;if("user"===r)break;if("assistant"===r){S=!1;break}}S&&o&&r===e.length-1&&(S=!1)}void 0!==i.showTimestamp&&(S=i.showTimestamp);let I=(0,n.jsx)(tI,{message:d,toolResults:C,modelNames:g,cwd:f,onOpenFile:m,entryId:t[r],onFork:s||l||0===r&&"user"===d.role?void 0:u,forking:c===t[r],onNavigate:s?void 0:p,prevAssistantEntryId:s?void 0:b,onEditContent:h,showTimestamp:S,prevTimestamp:r>0?e[r-1].timestamp:void 0,sessionId:x,toolCallsDefaultCollapsed:v,thinkingDisplayMode:y},`${j}-view-${r}`);return k&&!1!==i.attachRef&&void 0!==w?(0,n.jsx)("div",{ref:e=>{a.current[w]=e},children:I},`${j}-${r}`):I},M=[];for(let t=0;t<e.length;){if(!n1(e[t])){M.push(R(t)),t+=1;continue}let r=t,i=r+1;for(;i<e.length&&!n1(e[i]);)i+=1;let l=function(e,t,r){for(let i=r-1;i>t;i--){var n;if("assistant"===(n=e[i]).role&&e8(n).answerBlocks.some(e=>"image"===e.type||"text"===e.type&&e.text.trim().length>0))return i}for(let n=r-1;n>t;n--)if(e[n]?.role==="assistant")return n;return -1}(e,r,i);if(-1===l||(s||o)&&i===e.length&&r===I){for(let e=r;e<i;e++)M.push(R(e));t=i;continue}M.push(R(r));let d=[];for(let e=r+1;e<l;e++)d.push(e);let c=d.filter(t=>{var r;return"assistant"===(r=e[t]).role?e6(r).length>0:"custom"===r.role}),u=e[l],p=e8(u),h=p.processBlocks.length>0?n2(u,p.processBlocks,{omitUsage:!0}):null,g=p.answerBlocks.length>0?n2(u,p.answerBlocks):null,f=c.length+ +!!h;if(f>0){let t=c.map(e=>T.get(e)).find(e=>"number"==typeof e)??(g?void 0:T.get(l)),i=(0,n.jsxs)(n4,{messageCount:f,toolCallCount:function(e,t){let r=0;for(let n of t){let t=e[n];t?.role==="assistant"&&(r+=e3(e6(t)))}return r}(e,c)+e3(p.processBlocks),children:[c.map(e=>R(e,{attachRef:!1,keyPrefix:"process"})),h&&R(l,{attachRef:!1,keyPrefix:"process-final",messageOverride:h,showTimestamp:!1})]});M.push((0,n.jsx)("div",{ref:void 0===t?void 0:e=>{a.current[t]=e},children:i},`process-group-${r}-${l}`))}g&&M.push(R(l,{messageOverride:g}));for(let e=l+1;e<i;e++)M.push(R(e));t=i}let z=(0,i.useRef)(null),{startIndex:E,hasMore:A}=(0,i.useMemo)(()=>{let e=Math.max(0,M.length-b);if(k||null===z.current)return z.current=e,{startIndex:e,hasMore:e>0};let t=Math.min(z.current,e);return z.current=t,{startIndex:t,hasMore:t>0}},[M.length,b,k]);return(0,n.jsxs)(n.Fragment,{children:[A&&(0,n.jsx)("button",{ref:w,type:"button",onClick:j,className:"py-3 w-full text-center text-xs text-text-muted hover:text-text transition-colors cursor-pointer",children:S("chatWindow.scrollUpToLoad",{count:E})}),M.slice(E)]})});function n6({session:e,newSessionCwd:t,toolCallsDefaultCollapsed:r=!0,thinkingDisplayMode:a="auto",onAgentEnd:o,onSessionCreated:l,onSessionForked:c,modelsRefreshKey:u,chatInputRef:p,onBranchDataChange:h,onSystemPromptChange:g,onSystemPromptLoaderChange:f,onSessionStatsChange:m,onSessionStatsPanelOpen:x,onContextUsageChange:v,onModelCapacityChange:y,onGenerationSpeedChange:b,onOpenFile:k,terminalOpen:w=!1,onCloseTerminal:j}){let{t:S,tn:C}=(0,d.s9)(),I=(0,rd.a)(),{playDoneSound:T,unlockAudio:R}=function(){let[e,t]=(0,i.useState)(()=>{let e=localStorage.getItem("omp-sound-enabled");return null===e||"true"===e}),r=(0,i.useRef)(e);(0,i.useEffect)(()=>{r.current=e},[e]),(0,i.useEffect)(()=>{let e=e=>{let n=e.detail;"boolean"==typeof n&&(r.current=n,t(n))};return window.addEventListener("omp-sound-pref-change",e),()=>window.removeEventListener("omp-sound-pref-change",e)},[]);let n=(0,i.useRef)(null),a=(0,i.useCallback)(()=>{if(n.current&&"closed"!==n.current.state)return n.current;try{n.current=new AudioContext}catch{return null}return n.current},[]),o=(0,i.useCallback)((e=!1)=>{if(!e&&!r.current)return;let t=a();t&&"suspended"===t.state&&t.resume().catch(()=>{})},[a]);return{soundEnabled:e,onSoundToggle:(0,i.useCallback)(()=>{let e=!r.current;e&&o(!0),r.current=e,localStorage.setItem("omp-sound-enabled",String(e)),t(e)},[o]),playDoneSound:(0,i.useCallback)(()=>{if(!r.current)return;let e=a();if(!e)return;let t=()=>{try{let t;t=e.currentTime,[523.25,659.25].forEach((r,n)=>{let i=e.createOscillator(),a=e.createGain();i.connect(a),a.connect(e.destination),i.type="sine",i.frequency.value=r;let o=t+.18*n;a.gain.setValueAtTime(0,o),a.gain.linearRampToValueAtTime(.18,o+.02),a.gain.exponentialRampToValueAtTime(.001,o+.45),i.start(o),i.stop(o+.45),i.onended=()=>{i.disconnect(),a.disconnect()}})}catch{}};"suspended"===e.state?e.resume().then(t).catch(()=>{}):t()},[a]),unlockAudio:o,soundEnabledRef:r}}(),M=(0,i.useRef)(T);M.current=T;let z=(0,i.useCallback)(()=>{M.current(),o?.()},[o]),E=(0,i.useCallback)(e=>{p?.current?.insertIfEmpty(e)},[p]),{loading:A,error:W,messages:D,entryIds:$,showPreCompactionHistory:L,streamState:N,agentRunning:F,bashRunning:P,pendingBash:B,modelNames:O,modelList:H,modelsLoading:K,modelError:U,modelThinkingLevels:_,modelThinkingLevelMaps:q,thinkingLevel:V,fastModeEnabled:Y,fastModeActive:J,liveModelMeta:Z,retryInfo:G,contextUsage:X,forkingEntryId:Q,isCompacting:ee,compactResult:et,tokensPerSecond:er,displayModel:en,sessionStats:ei,slashCommands:ea,slashCommandsLoading:eo,queuedMessages:el,advisorActive:ed,advisorEnabled:ec,handleAdvisorChange:eu,notices:ep,extensionDialog:eh,extensionCustomUi:eg,extensionStatuses:ef,extensionWidgets:ex,respondToExtensionUi:ev,sendExtensionCustomInput:ey,isAutoModelSelection:eb,agentPhase:ek,activeGoal:ew,activePlan:ej,planInfo:eS,subagents:eC,subagentEvents:eI,subagentTranscriptVersions:eT,activeSubagentCount:eR,currentTodoPhase:eM,todoPhases:ez,isNew:eE,sessionIdRef:eA,messagesEndRef:eW,scrollContainerRef:eD,handleSend:eL,handleAbort:eN,handleFork:eF,handleNavigate:eP,handleModelChange:eB,handleSteer:eO,handleFollowUp:eH,handlePromptWithStreamingBehavior:eK,handleAbortCompaction:eU,handleCompact:e_,removeQueuedMessage:eq,promoteQueuedToSteer:eV,handleBuiltinSlashCommand:eY,togglePreCompactionHistory:eJ,handleThinkingLevelChange:eZ,handleFastModeChange:eG,handleCycleModel:eX,handleCycleThinkingLevel:eQ,handleAbortRetry:e0,loadSlashCommands:e1}=function(e){let{session:t,newSessionCwd:r,onAgentEnd:n,onSessionCreated:a,onSessionForked:o,modelsRefreshKey:s,onBranchDataChange:l,onSystemPromptChange:c,onSystemPromptLoaderChange:u,onSessionStatsPanelOpen:p,onOpenFile:h}=e,g=em(),f=null===t&&null!==r,[m,x]=(0,i.useState)(null),[v,y]=(0,i.useState)(!f),[b,k]=(0,i.useState)(null),[w,j]=(0,i.useState)(null),[S,C]=(0,i.useState)([]),[I,T]=(0,i.useState)([]),[R,M]=(0,i.useState)(!1),[z,E]=(0,i.useReducer)(nb,{isStreaming:!1,streamingMessage:null}),[A,W]=(0,i.useState)(!1),[D,$]=(0,i.useState)(!1),[L,N]=(0,i.useState)(null),F=(0,i.useRef)(!0),[P,B]=(0,i.useState)({}),[O,H]=(0,i.useState)([]),[K,U]=(0,i.useState)(!1),[_,q]=(0,i.useState)(null),[V,Y]=(0,i.useState)(null),[J,Z]=(0,i.useState)({}),[G,X]=(0,i.useState)({}),[Q,ee]=(0,i.useState)(null),[et,er]=(0,i.useState)(null),[en,ei]=(0,i.useState)(()=>(function(e=nh()){if(!e)return"default";try{let t=e.getItem(np);return"none"===t||"default"===t||"full"===t?t:"default"}catch{return"default"}})()),[ea,eo]=(0,i.useState)("auto"),[el,ed]=(0,i.useState)(!1),[ec,eu]=(0,i.useState)(void 0),[ep,eh]=(0,i.useState)("immediate"),[eg,ef]=(0,i.useState)(!0),[ex,ev]=(0,i.useState)(!1),[ey,eb]=(0,i.useState)("all"),[ek,ew]=(0,i.useState)("all"),[ej,eS]=(0,i.useState)(null),[eC,eI]=(0,i.useState)(null),[eT,eR]=(0,i.useState)(null),[eM,ez]=(0,i.useState)(null),[eE,eA]=(0,i.useState)(null),[eW,eD]=(0,i.useState)(null),[eL,eN]=(0,i.useState)(!1),[eF,eP]=(0,i.useState)(null),[eB,eO]=(0,i.useState)(null),[eH,eK]=(0,i.useState)(null),[eU,e_]=(0,i.useState)(null),[eq,eV]=(0,i.useState)([]),[eY,eJ]=(0,i.useState)(!1),[eZ,eG]=(0,i.useReducer)(nW,{visible:[],pending:[]}),[eX,eQ]=(0,i.useState)(null),[e0,e1]=(0,i.useState)(null),e2=(0,i.useRef)(null);(0,i.useEffect)(()=>()=>{e2.current&&clearTimeout(e2.current)},[]);let[e4,e5]=(0,i.useState)(null),[e6,e8]=(0,i.useState)([]),[e3,e9]=(0,i.useState)([]),[e7,te]=(0,i.useState)({steering:[],followUp:[]}),[tt,tr]=(0,i.useState)([]),[tn,ti]=(0,i.useState)({}),[ta,to]=(0,i.useState)({}),[ts,tl]=(0,i.useState)([]),[td,tc]=(0,i.useState)(null),[tu,tp]=(0,i.useState)(null),[th,tg]=(0,i.useState)(null),[tf,tm]=(0,i.useState)(0),[tx,tv]=(0,i.useState)(!1),ty=tt.filter(e=>"history"!==e.source&&"started"===e.status).length,tb=(0,i.useRef)(null),tk=(0,i.useRef)(null),tw=(0,i.useRef)(t?.id??null),tj=(0,i.useRef)(0),tS=(0,i.useRef)(!1),tC=(0,i.useRef)(!1),tI=(0,i.useRef)(0),tT=(0,i.useRef)(!1),tR=(0,i.useRef)(!1),tM=(0,i.useRef)(0),tz=(0,i.useRef)(null),tE=(0,i.useRef)(!1),tA=(0,i.useRef)(!1),tW=(0,i.useRef)(!0),tD=(0,i.useRef)(void 0),t$=(0,i.useRef)(0),tL=(0,i.useRef)(0),tN=(0,i.useRef)(null),tF=(0,i.useRef)(null),tP=(0,i.useRef)(null),tB=(0,i.useRef)(!1),tO=(0,i.useRef)(null),tH=(0,i.useRef)(null),tK=(0,i.useRef)(null),tU=(0,i.useRef)(0),t_=(0,i.useRef)(0),tq=(0,i.useRef)(null),tV=(0,i.useRef)(!1),tY=(0,i.useRef)(null);null===tY.current&&(tY.current=function(e,t=function(e){if("u">typeof document&&!document.hidden&&"function"==typeof requestAnimationFrame){let t=requestAnimationFrame(e);return()=>cancelAnimationFrame(t)}let t=setTimeout(e,50);return()=>clearTimeout(t)}){let r=null,n=null,i=()=>{n&&(n(),n=null)},a=()=>{n=null;let t=r;r=null,t&&e(t)};return{push(o){if("message_update"===o.type){r=o,n||(n=t(a));return}if("message_end"===o.type)r=null,i();else if(r){i();let t=r;r=null,e(t)}e(o)},reset(){r=null,i()}}}(e=>{tz.current?.(e)}));let tJ=tY.current,tZ=e.setToolPreset??ei,tG=eE??m?.context.model??eW??null,tX=f?Q??et:eE??(V?{provider:V.provider,modelId:V.modelId}:m?.context.model??eW),tQ=(0,i.useMemo)(()=>{if(eX)return eX;let e={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},r=0,n=0,i=0,a=0,o=0;for(let t of S){if("user"===t.role&&(n+=1),"toolResult"===t.role&&(a+=1),"assistant"!==t.role)continue;i+=1;let s=t.usage;o+=t.content.filter(e=>"toolCall"===e.type).length,s&&(e.input+=s.input??0,e.output+=s.output??0,e.cacheRead+=s.cacheRead??0,e.cacheWrite+=s.cacheWrite??0,r+=s.cost?.total??0)}return(e.total=e.input+e.output+e.cacheRead+e.cacheWrite,0===e.total&&0===S.length)?null:{sessionFile:m?.filePath||void 0,sessionId:tw.current??t?.id??"",sessionName:t?.name,userMessages:n,assistantMessages:i,toolCalls:o,toolResults:a,totalMessages:S.length,tokens:e,cost:r,...eC?{contextUsage:eC}:{}}},[S,eX,eC,m?.filePath,t?.id,t?.name]);(0,i.useEffect)(()=>{let e=t?.id;(tp(null),e)?tc(function(e){if(!e)return null;try{let t=JSON.parse(e);if(!t||"object"!=typeof t)return null;let{objective:r,startedAt:n}=t;if("string"!=typeof r||!r.trim()||"number"!=typeof n||!Number.isFinite(n)||n<0)return null;return{objective:r,startedAt:n}}catch{return null}}(sessionStorage.getItem(`omp-web:goal:${e}`))):tc(null)},[t?.id]),(0,i.useEffect)(()=>{A||tp(null)},[A]);let t0=(0,i.useMemo)(()=>{for(let e=0;e<ts.length;e++){let t=ts[e],r=Array.isArray(t?.tasks)?t.tasks:[],n=r.filter(e=>"completed"===e.status).length;if(r.some(e=>"pending"===e.status||"in_progress"===e.status))return{name:t.name,index:e+1,phaseCount:ts.length,done:n,total:r.length}}return null},[ts]);(0,i.useEffect)(()=>{let e=t?.id;if(!e)return void tv(!1);let r=!1;try{r="true"===localStorage.getItem(`omp-advisor-enabled:${e}`)}catch{r=!1}tv(r),(0,rA.C)(e,r)},[t?.id]);let t1=(0,i.useCallback)(e=>{tv(e);let t=tw.current;if(t){(0,rA.C)(t,e);try{localStorage.setItem(`omp-advisor-enabled:${t}`,String(e))}catch{}}},[]),t2=(0,i.useCallback)((e,t)=>{if(!e.length)return;let r=t?.skipNewerThan;tr(t=>{let n=new Map(t.map(e=>[e.id,e]));for(let t of e){let e=n.get(t.id);if(!e||void 0===r||!((e.lastUpdate??0)>=r)){if(!e){n.set(t.id,t);continue}if("history"!==t.source||"history"===e.source){if("history"!==t.source&&"history"===e.source){n.set(t.id,t);continue}n.set(t.id,{...e,...t})}}}return[...n.values()].sort((e,t)=>e.index-t.index||e.id.localeCompare(t.id))})},[]),t4=(0,i.useCallback)(async e=>{let t=t_.current;try{let r=await fetch(`/api/sessions/${encodeURIComponent(e)}/plan`);if(!r.ok)return;let n=await r.json();if(tw.current!==e||t_.current!==t)return;tg({planModeActive:!!n.planModeActive,plan:"string"==typeof n.plan?n.plan:null,planFile:"string"==typeof n.planFile?n.planFile:null,truncated:!!n.truncated})}catch{}},[]),t5=(0,i.useCallback)(async e=>{let t=t_.current;try{let r=await fetch(`/api/sessions/${encodeURIComponent(e)}/subagents`);if(!r.ok)return;let n=await r.json();if(tw.current!==e||t_.current!==t)return;let i=(n.subagents??[]).map(nw);t2(i)}catch{}},[t2]),t6=(0,i.useCallback)(async e=>{let t=Date.now(),r=tU.current,n=t_.current;try{let i=await (0,rA.$)(e,{type:"get_subagents"});if(tw.current!==e||tU.current!==r||t_.current!==n)return;let a=(i.subagents??[]).map(ny).filter(e=>void 0!==e);t2(a,{skipNewerThan:t});let o=new Set(a.map(e=>e.id));tr(e=>{let r=e.filter(e=>"live"!==e.source||o.has(e.id)||(e.lastUpdate??0)>=t);return r.length===e.length?e:r}),t5(e)}catch{}},[t2,t5]),t8=(0,i.useCallback)(()=>{null!==tH.current&&(cancelAnimationFrame(tH.current),tH.current=null),tO.current=null,ti({}),to({})},[]),t3=(0,i.useRef)(0),t9=(0,i.useCallback)(()=>(t3.current+=1,t3.current),[]),t7=(0,i.useCallback)((e,t)=>(void 0===t||t===t3.current)&&(t3.current+=1,Y(e),!e||(eA(t=>t&&(t.provider!==e.provider||t.modelId!==e.modelId)?null:t),!0)),[]),re=(0,i.useCallback)(async e=>{let t=t9();try{let r=await fetch(`/api/sessions/${encodeURIComponent(e)}/state`);if(!r.ok)return;let n=await r.json();if(tw.current!==e||!t7(nT(n.state?.model),t))return;n.state?.thinkingLevel!==void 0&&eo(nI(n.state.thinkingLevel)),n.state?.fastModeEnabled!==void 0&&ed(n.state.fastModeEnabled),eu(n.state?.fastModeActive),n.state?.autoRetryEnabled!==void 0&&ev(n.state.autoRetryEnabled),n.state?.interruptMode!==void 0&&eh(n.state.interruptMode),n.state?.autoCompactionEnabled!==void 0&&ef(n.state.autoCompactionEnabled),n.state?.steeringMode!==void 0&&eb(n.state.steeringMode),n.state?.followUpMode!==void 0&&ew(n.state.followUpMode)}catch{}},[t7,t9]),rt=(0,i.useCallback)(async(e,t=!1,r=!1,n)=>{let i=!1;try{t&&y(!0);let a=new URLSearchParams({deferThinking:"1",deferMedia:"1"}),o=await fetch(`/api/sessions/${encodeURIComponent(e)}?${a}`);if(404===o.status)return t&&(x(null),j(null),C([]),k(null)),null;if(!o.ok)throw Error(`HTTP ${o.status}`);let s=await o.json();if(tw.current!==e||void 0!==n&&tU.current!==n)return null;if(x(s),j(s.leafId),C(s.context.messages),T(s.context.entryIds??[]),M(!1),tl(s.context.todoPhases??[]),tg(null),t5(e),t4(e),eA(null),k(null),s.context.thinkingLevel&&"off"!==s.context.thinkingLevel&&eo(s.context.thinkingLevel),i=!0,!r)return t&&y(!1),null;try{let r=t9(),i=await fetch(`/api/sessions/${encodeURIComponent(e)}/state`);if(!i.ok)throw Error(`HTTP ${i.status}`);let a=await i.json();if(tw.current!==e||void 0!==n&&tU.current!==n)return t&&y(!1),null;let o=a.state,s=t7(nT(o?.model),r);return o?(void 0!==o.contextUsage&&eI(o.contextUsage??null),void 0!==o.systemPrompt&&eR(o.systemPrompt||null),s&&void 0!==o.thinkingLevel&&eo(nI(o.thinkingLevel)),void 0!==o.fastModeEnabled&&ed(o.fastModeEnabled),eu(o.fastModeActive),void 0!==o.autoRetryEnabled&&ev(o.autoRetryEnabled),void 0!==o.interruptMode&&eh(o.interruptMode),void 0!==o.autoCompactionEnabled&&ef(o.autoCompactionEnabled),void 0!==o.steeringMode&&eb(o.steeringMode),void 0!==o.followUpMode&&ew(o.followUpMode),void 0!==o.extensionStatuses&&e8(o.extensionStatuses??[]),void 0!==o.extensionWidgets&&e9(o.extensionWidgets??[]),void 0!==o.todoPhases&&tl(o.todoPhases??[]),0===o.queuedMessageCount&&Date.now()-tI.current>=5e3&&te(nj)):!a.running&&Date.now()-tI.current>=5e3&&te(nj),t&&y(!1),a}catch(e){return console.error("Failed to load agent state:",e),t&&y(!1),null}}catch(e){return k(String(e)),null}finally{t&&!i&&y(!1)}},[t5,t4,t7,t9]),rr=(0,i.useCallback)(async(e,t,r=!1)=>{let n=++tj.current;try{let i=new URLSearchParams({deferThinking:"1",deferMedia:"1"});t&&i.set("leafId",t),r&&i.set("includePreCompaction","1");let a=`/api/sessions/${encodeURIComponent(e)}/context?${i}`,o=await fetch(a);if(!o.ok)throw Error(`HTTP ${o.status}`);let s=await o.json();if(tw.current!==e||tj.current!==n)return;C(s.context.messages),T(s.context.entryIds??[]),M(r),tl(s.context.todoPhases??[])}catch(e){console.error("Failed to load context:",e)}},[]),ri=(0,i.useCallback)(()=>{let e=tw.current;e&&rr(e,w,!R)},[w,rr,R]),ra=(0,i.useCallback)((e=0,t)=>{t??=(0,d.Tl)("agentSession.noMessages");let n=tw.current;f&&r&&n&&!tB.current&&(tB.current=!0,a?.({id:n,path:"",cwd:r,name:void 0,created:new Date().toISOString(),modified:new Date().toISOString(),messageCount:e,firstMessage:t}))},[f,r,a]),ro=(0,i.useCallback)(async()=>{if(tw.current||!f||!r)return tw.current;if(tP.current)return tP.current;let e=(async()=>{let e=Q??et;e&&eD(e);let t="none"===en?[...nd]:"full"===en?[...nu]:[...nc],n=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:r,type:"ensure_session",toolNames:t,...e?{provider:e.provider,modelId:e.modelId}:{},..."auto"!==ea?{thinkingLevel:ea}:{},...tx?{advisor:!0}:{}})});if(!n.ok)throw Error(`HTTP ${n.status}`);let i=(await n.json()).sessionId;if(tw.current=i,tx){(0,rA.C)(i,!0);try{localStorage.setItem(`omp-advisor-enabled:${i}`,"true")}catch{}}return i})();tP.current=e;try{return await e}finally{tP.current=null}},[tx,f,r,Q,et,en,ea]),rs=(0,i.useCallback)(async()=>{let e=tw.current??await ro();if(!e)return;let t=await (0,rA.$)(e,{type:"get_state"});F.current&&tw.current===e&&eR(t.systemPrompt??"")},[ro]),rl=(0,i.useCallback)(async()=>{let e=tw.current??await ro();if(!e)return eV([]),[];eJ(!0);try{let t=await (0,rA.$)(e,{type:"get_commands"}),r=(t?.commands??[]).map(nP).filter(e=>null!==e);return eV(r),r}catch(e){return console.error("Failed to load slash commands:",e),eV([]),[]}finally{eJ(!1)}},[ro]);(0,i.useEffect)(()=>{var e;return e=e=>{let t=tw.current;t&&!tb.current&&e.includes(t)&&rt(t)},e$.add(e),()=>{e$.delete(e)}},[rt]);let rd=(0,i.useRef)(null),rc=(0,i.useCallback)(e=>{tb.current&&(tb.current.close(),tb.current=null),tJ.reset();let t=new EventSource(`/api/agent/${encodeURIComponent(e)}/events`);return tb.current=t,new Promise(r=>{let n=!1,i=e=>{n||(n=!0,clearTimeout(a),r({status:e,source:t}))},a=setTimeout(()=>i("timeout"),6e4);t.onopen=()=>i("connected"),t.onmessage=e=>{try{let t=JSON.parse(e.data);"connected"===t.type&&i("connected"),tJ.push(t)}catch{}},t.onerror=()=>{t.readyState===EventSource.CLOSED&&(i("closed"),tb.current===t&&tT.current&&(tb.current=null,tk.current&&clearTimeout(tk.current),tk.current=setTimeout(()=>{tk.current=null,tT.current&&tw.current===e&&(rc(e),rd.current?.(e))},1e3)))}})},[tJ]),ru=(0,i.useCallback)(async(e,t)=>{let r=tw.current;if(!r)return void e1(t=>t?.id===e.id?null:t);try{await (0,rA.$)(r,{type:"extension_ui_response",id:e.id,...t})}catch(e){console.error("Failed to send extension UI response:",e)}finally{e2.current&&clearTimeout(e2.current),e2.current=setTimeout(()=>{e1(t=>t?.id===e.id?null:t),e2.current=null},250)}},[]),rp=(0,i.useMemo)(()=>[{name:"open_url",description:"Open a URL in the user's browser.",parameters:{type:"object",properties:{url:{type:"string"}},required:["url"]}},{name:"notify",description:"Show a browser notification to the user.",parameters:{type:"object",properties:{title:{type:"string"},message:{type:"string",description:"Optional notification body."}},required:["title"]}},{name:"open_file",description:"Open a file in the workspace file viewer.",parameters:{type:"object",properties:{path:{type:"string",description:"Absolute or workspace-relative file path."}},required:["path"]}}],[]),rh=(0,i.useCallback)(async e=>{try{await (0,rA.$)(e,{type:"set_host_tools",tools:rp})}catch{}},[rp]),rg=(0,i.useMemo)(()=>[{scheme:"pi-web",description:"Browser-integrated resources: pi-web://clipboard reads/writes the user's clipboard via the web UI.",writable:!0}],[]),rf=(0,i.useCallback)(async e=>{try{await (0,rA.$)(e,{type:"set_host_uri_schemes",schemes:rg})}catch{}},[rg]);rd.current=e=>{rh(e),rf(e),t6(e)};let rm=(0,i.useCallback)(async(e,t,r,n=!1)=>{try{await (0,rA.$)(e,{type:"host_tool_result",id:t,isError:n,result:{content:[{type:"text",text:r}]}})}catch(e){console.error("Failed to send host tool result:",e)}},[]),rx=(0,i.useCallback)(async(e,t,r)=>{let n=tw.current;if(!n)return;let i=e=>"string"==typeof e?e:void 0;switch(t){case"open_url":{let t="string"==typeof r.url?r.url:"",i=nz(t),a=i?t:"";if(a&&1){let e=window.open(a,"_blank","noopener,noreferrer");e?.focus?.()}let o=i?t?`Opened ${t}`:"No URL provided":"Unsafe or invalid URL not opened";await rm(n,e,o,!i&&!!t);break}case"notify":{let t=i(r.title)??"OMP",a=i(r.message)??"";if("u">typeof Notification)try{if("granted"===Notification.permission)new Notification(t,{body:a});else if("default"===Notification.permission){let e=await Notification.requestPermission();"granted"===e&&new Notification(t,{body:a})}}catch{}await rm(n,e,"Notification shown");break}case"open_file":{let t=i(r.path)??"";if(t&&h)try{let e=t.split(/[\\/]/).pop()||t;h(t,e,n)}catch{}await rm(n,e,t?`Opened ${t}`:"No path provided",!t);break}default:await rm(n,e,`Host tool "${t}" is not available in omp-web`,!0)}},[h,rm]),rv=(0,i.useCallback)(async(e,t,r)=>{try{await (0,rA.$)(e,{type:"host_uri_result",id:t,...r})}catch(e){console.error("Failed to send host URI result:",e)}},[]),ry=(0,i.useCallback)(async(e,t,r,n)=>{let i=tw.current;if(!i)return;let a=r.replace(/^pi-web:\/\//i,"")||"";if("clipboard"===a){if("read"===t){if("u"<typeof navigator||!navigator.clipboard?.readText)return void await rv(i,e,{isError:!0,error:"Clipboard read is not available in this browser"});try{let t=await navigator.clipboard.readText();await rv(i,e,{content:t||"(clipboard is empty)",contentType:"text/plain"})}catch{await rv(i,e,{isError:!0,error:"Clipboard read was denied. Click into the omp-web window and try again."})}return}if("u">typeof navigator&&navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(n??""),await rv(i,e,{});return}catch{await rv(i,e,{isError:!0,error:"Clipboard write failed in this browser"});return}return void await rv(i,e,{isError:!0,error:"Clipboard write is not available in this browser"})}await rv(i,e,{isError:!0,error:`Unknown pi-web resource: ${a}`})},[rv]),rb=(0,i.useCallback)(async(e,t)=>{let r=tw.current;if(r)try{await (0,rA.$)(r,{type:"extension_ui_input",id:e.id,data:t})}catch(e){console.error("Failed to send extension custom UI input:",e)}},[]),rk=(0,i.useCallback)(e=>{let t=e.message.trim();t&&eG({type:"add",notice:{id:e.id??("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`),message:t,type:e.type??"info"}})},[]),rw=(0,i.useCallback)(async e=>{let t,r=setTimeout(()=>{rk({type:"info",message:(0,d.Tl)("agentSession.startingAgent")})},4e3);try{t=await rc(e)}finally{clearTimeout(r)}if("connected"!==t.status&&t.source.readyState!==EventSource.OPEN)throw tb.current===t.source&&(tb.current=null),t.source.close(),new nM(t.status)},[rk,rc]),rj=(0,i.useCallback)(t=>{switch(t.method){case"select":case"confirm":case"input":case"editor":e2.current&&(clearTimeout(e2.current),e2.current=null),e1(t);break;case"cancel":e1(e=>e?.id===t.targetId?null:e);break;case"open_url":{let e=t.launchUrl??t.url,r=nz(e)?e:"";if(r)try{window.open(r,"_blank","noopener,noreferrer")}catch{}rk({id:t.id,type:"info",message:r?t.instructions?`${t.instructions}
72
+ ${r}`:(0,d.Tl)("agentSession.openInBrowser",{url:r}):(0,d.Tl)("agentSession.unsafeUrlBlocked")});break}case"notify":rk({id:t.id,message:t.message,type:t.notifyType??"info"});break;case"setStatus":e8(e=>{let r=e.filter(e=>e.key!==t.statusKey);return t.statusText?[...r,{key:t.statusKey,text:t.statusText}]:r});break;case"setWidget":e9(e=>{let r=e.filter(e=>e.key!==t.widgetKey);return t.widgetLines?[...r,{key:t.widgetKey,lines:t.widgetLines,placement:t.widgetPlacement??"aboveEditor"}]:r});break;case"setTitle":t.title&&(document.title=t.title);break;case"set_editor_text":e.chatInputRef?.current?.insertText(t.text);break;case"custom":e5(e=>t.closed?e?.id===t.id?null:e:t)}},[rk,e.chatInputRef]),rS=(0,i.useCallback)(async(e=tw.current,t)=>{if(void 0===t||tU.current===t)try{e&&await rt(e,!1,!0,t)}finally{if(void 0!==t&&tU.current!==t||(tq.current=null,!tT.current))return;tT.current=!1,W(!1),e_(null),eS(null),tr([]),tm(0),t_.current+=1,t8(),e&&t5(e),E({type:"end"}),n?.()}},[rt,n,t5,t8]),rC=(0,i.useCallback)(async(e,t)=>{await nE(800);let r=Date.now();for(;F.current&&tw.current===e&&tT.current&&Date.now()-r<2e4;){if(void 0!==t&&tU.current!==t)return;try{let r=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(r.ok){let n=await r.json(),i=n.state;if(!n.running||!i||!i.isStreaming&&!i.isPromptRunning)return void await rS(e,t)}}catch{}await nE(600)}},[rS]),rI=(0,i.useCallback)(async e=>{let t=tM.current+1;for(tM.current=t;tR.current&&tM.current===t&&tw.current===e;){await nE(1e3);try{let r=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(!r.ok)continue;let n=await r.json();if(n.state?.isBashRunning)continue;if(await rt(e),tM.current!==t||tw.current!==e)return;tR.current=!1,$(!1),N(null);return}catch{}}},[rt]),rT=(0,i.useCallback)(async e=>{if(!tT.current)return;let t=tU.current;try{let r=await fetch(`/api/agent/${encodeURIComponent(e)}`);if(!r.ok)return;let n=await r.json();if(tU.current!==t)return;let i=n.state;if(tS.current=i?.isCompacting??!1,eN(i?.isCompacting??!1),i?.todoPhases!==void 0&&tl(i.todoPhases??[]),t6(e),(!i||0===i.queuedMessageCount)&&Date.now()-tI.current>=5e3&&te(nj),n.running&&i&&(i.isStreaming||i.isPromptRunning||i.isCompacting)||!tT.current)return;i&&(void 0!==i.contextUsage&&eI(i.contextUsage??null),void 0!==i.systemPrompt&&eR(i.systemPrompt??null),void 0!==i.extensionStatuses&&e8(i.extensionStatuses??[]),void 0!==i.extensionWidgets&&e9(i.extensionWidgets??[])),await rS(e,t)}catch{}},[rS,t6]);(0,i.useEffect)(()=>{if(!A)return;let e=()=>{let e=tw.current;e&&rT(e)},t=()=>{"visible"===document.visibilityState&&e()},r=setInterval(e,15e3);return document.addEventListener("visibilitychange",t),window.addEventListener("online",e),()=>{clearInterval(r),document.removeEventListener("visibilitychange",t),window.removeEventListener("online",e)}},[A,rT]),(0,i.useEffect)(()=>{if(!A){let e=tw.current;if(!e)return;let t=!1;return fetch(`/api/agent/${encodeURIComponent(e)}`).then(e=>e.ok?e.json():null).then(e=>{if(t)return;let r=e?.state?.tokensPerSecond;eP("number"==typeof r&&Number.isFinite(r)&&r>0?r:null)}).catch(()=>{}),()=>{t=!0}}let e=0,t=null,r=!1,n=()=>{if(r)return;let i=tw.current;i&&fetch(`/api/agent/${encodeURIComponent(i)}`).then(e=>e.ok?e.json():null).then(i=>{if(r)return;let a=i?.state?.tokensPerSecond,o="number"==typeof a&&Number.isFinite(a)&&a>0;eP(o?a:null),t=setTimeout(n,(e=o?0:Math.min(e+1,4))>=3?4e3:2e3)}).catch(()=>{r||(t=setTimeout(n,2e3))})};return t=setTimeout(n,2e3),()=>{r=!0,null!==t&&clearTimeout(t)}},[A]),(0,i.useEffect)(()=>{eP(null)},[m?.sessionId]),(0,i.useEffect)(()=>{tT.current=A},[A]);let rR=(0,i.useCallback)(e=>{e&&te(t=>{let r=t.steering.indexOf(e);if(-1!==r)return{...t,steering:t.steering.filter((e,t)=>t!==r)};let n=t.followUp.indexOf(e);return -1!==n?{...t,followUp:t.followUp.filter((e,t)=>t!==n)}:t})},[]),rM=(0,i.useCallback)(e=>{e&&te(t=>{let r=t.steering.indexOf(e),n=t.followUp.indexOf(e);return -1===r&&-1===n?t:{steering:-1===r?t.steering:t.steering.filter((e,t)=>t!==r),followUp:-1===n?t.followUp:t.followUp.filter((e,t)=>t!==n)}})},[]),rz=(0,i.useCallback)(e=>{e&&te(t=>{let r=t.followUp.indexOf(e);return -1===r?t:{steering:[...t.steering,e],followUp:t.followUp.filter((e,t)=>t!==r)}})},[]);(0,i.useEffect)(()=>{let e=tw.current;if(!e)return;let t=nC(e7);(!t||tV.current)&&(tV.current=!t,function(e,t){try{let r=nS+e;if(nC(t))return void sessionStorage.removeItem(r);let n=t,i=JSON.stringify(n);for(;i.length>5e4&&n.steering.length+n.followUp.length>1;)n=n.steering.length>=n.followUp.length?{...n,steering:n.steering.slice(1)}:{...n,followUp:n.followUp.slice(1)},i=JSON.stringify(n);if(i.length>5e4)return void sessionStorage.removeItem(r);sessionStorage.setItem(r,i)}catch{}}(e,e7))},[e7]),tz.current=(0,i.useCallback)(e=>{switch(e.type){case"agent_start":tC.current=!1,tT.current=!0,W(!0),e_({kind:"waiting_model"}),E({type:"start"});break;case"agent_end":if(!1===e.isTerminal)break;if(tC.current){tC.current=!1;break}if(!tT.current)break;let t=tw.current,r=tU.current;if(tT.current=!1,W(!1),e_(null),eS(null),tr([]),tm(0),t_.current+=1,t8(),E({type:"end"}),t){rt(t,!1,!1,r);let e=t9();fetch(`/api/agent/${encodeURIComponent(t)}`).then(e=>e.ok?e.json():null).then(n=>{!n?.state?.model||tw.current!==t||tU.current!==r||t7(nT(n.state.model),e)&&(n.state?.contextUsage!==void 0&&eI(n.state.contextUsage??null),n.state?.systemPrompt!==void 0&&eR(n.state.systemPrompt||null),n.state?.fastModeEnabled!==void 0&&ed(n.state.fastModeEnabled),eu(n.state?.fastModeActive),n.state?.extensionStatuses!==void 0&&e8(n.state.extensionStatuses??[]),n.state?.extensionWidgets!==void 0&&e9(n.state.extensionWidgets??[]),n.state?.todoPhases!==void 0&&tl(n.state.todoPhases??[]),(!n.state||0===n.state.queuedMessageCount)&&Date.now()-tI.current>=5e3&&te(nj))}).catch(()=>{})}n?.();break;case"prompt_result":if(!1!==e.agentInvoked||!tT.current)break;rS(tw.current,tU.current);break;case"prompt_error":rk({type:"error",message:e.errorMessage??(0,d.Tl)("agentSession.commandFailed")}),tT.current&&rS(tw.current,tU.current);break;case"notice":{let t=e.level,r=e.message?.trim()??"";/^xd:\/\/:\s*mounted\s+mcp__/i.test(r)?es.oR.info("MCP tools updated",r,{clamp:!0}):rk({type:"error"===t?"error":"warning"===t?"warning":"info",message:r});break}case"command_output":{let t=e.text?.trim()??"";/^xd:\/\/:\s*mounted\s+mcp__/i.test(t)?es.oR.info("MCP tools updated",t,{clamp:!0}):t&&rk({type:"info",message:t});break}case"thinking_level_changed":eo(nI(e.thinkingLevel));break;case"model_changed":{let e=tw.current;if(!e)break;let t=t9();fetch(`/api/agent/${encodeURIComponent(e)}`).then(e=>e.ok?e.json():null).then(r=>{!r?.state?.model||tw.current!==e||t7(nT(r.state.model),t)&&(void 0!==r.state.thinkingLevel&&eo(nI(r.state.thinkingLevel)),void 0!==r.state.fastModeEnabled&&ed(r.state.fastModeEnabled),eu(r.state.fastModeActive),void 0!==r.state.autoRetryEnabled&&ev(r.state.autoRetryEnabled),void 0!==r.state.interruptMode&&eh(r.state.interruptMode),void 0!==r.state.autoCompactionEnabled&&ef(r.state.autoCompactionEnabled),void 0!==r.state.steeringMode&&eb(r.state.steeringMode),void 0!==r.state.followUpMode&&ew(r.state.followUpMode))}).catch(()=>{});break}case"config_update":{let t=e.model;t&&t7(nT(t)),void 0!==e.thinkingLevel&&eo(nI(e.thinkingLevel));break}case"available_commands_update":eV((e.commands??[]).map(nP).filter(e=>null!==e));break;case"message_start":case"message_update":{if(!tT.current)break;let t=e.message;if(t?.role==="user")break;t?.role==="custom"&&"advisor"===t.customType&&tm(e=>0===e?Date.now():e),t&&E({type:"update",message:nl(t)}),e_(null);break}case"message_end":{if(!tT.current)break;let t=e.message;if(t&&"user"===t.role){let e=nl(t),r=nL(e),n=tq.current;tq.current=null,rR(nD(e)),C(t=>{let i=t[t.length-1];return n&&i?.role==="user"&&nL(i)===n?n===r?t:[...t.slice(0,-1),e]:[...t,e]})}else t?.role==="custom"&&"xdev-mount-notice"===t.customType?es.oR.info("MCP tools updated",nD(t).trim()||"The MCP tool inventory changed.",{clamp:!0}):t&&("advisor"===t.customType&&tm(Date.now()),C(e=>[...e,nl(t)]));E({type:"reset"}),e_({kind:"waiting_model"});break}case"tool_execution_start":{let t=e.toolCallId,r=e.toolName;e_(e=>{let n=e?.kind==="running_tools"?[...e.tools]:[];return n.some(e=>e.id===t)||n.push({id:t,name:r}),{kind:"running_tools",tools:n}});break}case"tool_execution_end":{let t=e.toolCallId;"todo"===e.toolName&&tw.current&&rT(tw.current),e_(e=>{if(e?.kind!=="running_tools")return e;let r=e.tools.filter(e=>e.id!==t);return 0===r.length?{kind:"waiting_model"}:{kind:"running_tools",tools:r}});break}case"todo_reminder":case"todo_auto_clear":tw.current&&rT(tw.current);break;case"auto_retry_start":eS({attempt:e.attempt,maxAttempts:e.maxAttempts,errorMessage:e.errorMessage});break;case"auto_retry_end":eS(null);break;case"auto_compaction_start":eN(!0),eO(null),eK(null);break;case"auto_compaction_end":eN(!1),e.errorMessage?(eO(e.errorMessage),eK(null)):e.aborted||e.skipped||(eK(nN(e.result,"auto")),tw.current&&rt(tw.current));break;case"subagent_lifecycle":{let t=function(e){if(!ng(e))return;let t=nf(e.id),r=nf(e.status);if(!t||!r||"started"!==r&&"completed"!==r&&"failed"!==r&&"aborted"!==r)return;let n={id:t,agent:nf(e.agent)??"subagent",status:r,index:nm(e.index)??-1,lastUpdate:Date.now(),source:"live"},i=nx(e.agentSource);void 0!==i&&(n.agentSource=i);let a=nf(e.description);void 0!==a&&(n.description=a);let o=nf(e.sessionFile);void 0!==o&&(n.sessionFile=o);let s=nf(e.parentToolCallId);return void 0!==s&&(n.parentToolCallId=s),"boolean"==typeof e.detached&&(n.detached=e.detached),n}(e.payload);if(!t)break;t2([t]);break}case"host_tool_call":{let t="string"==typeof e.id?e.id:"",r="string"==typeof e.toolName?e.toolName:"",n=ng(e.arguments)?e.arguments:{};t&&r&&rx(t,r,n);break}case"host_uri_request":{let t="string"==typeof e.id?e.id:"",r="string"==typeof e.url?e.url:"",n="write"===e.operation?"write":"read",i="string"==typeof e.content?e.content:void 0;t&&r&&ry(t,n,r,i);break}case"subagent_progress":{let t=e.payload,r=nv(t?.progress),n=r?.id,i="number"==typeof t?.index?t.index:r?.index??-1,a="string"==typeof t?.parentToolCallId?t.parentToolCallId:null,o="string"==typeof t?.task&&t.task.trim()?t.task:r?.task??null,s="string"==typeof t?.assignment?t.assignment:r?.assignment;if(!n&&!o&&!a&&i<0)break;tr(e=>{if(0===e.length)return e;let l=-1;if(n?l=e.findIndex(e=>e.id===n):(a&&i>=0&&(l=e.findIndex(e=>e.parentToolCallId===a&&e.index===i)),-1===l&&a&&(l=e.findIndex(e=>e.parentToolCallId===a)),-1===l&&i>=0&&(l=e.findIndex(e=>e.index===i))),-1===l)return e;let d=e[l],c={...d,agent:"string"==typeof t?.agent?t.agent:d.agent,agentSource:"string"==typeof t?.agentSource&&("bundled"===t.agentSource||"user"===t.agentSource||"project"===t.agentSource)?t.agentSource:d.agentSource,..."string"==typeof t?.sessionFile?{sessionFile:t.sessionFile}:{},..."boolean"==typeof t?.detached?{detached:t.detached}:{},...o?{task:o}:{},...void 0!==s?{assignment:s}:{},...r?{progress:r}:{},lastUpdate:Date.now(),source:"live"};if(d.agent===c.agent&&d.agentSource===c.agentSource&&d.sessionFile===c.sessionFile&&d.detached===c.detached&&d.task===c.task&&d.assignment===c.assignment&&JSON.stringify(d.progress)===JSON.stringify(c.progress))return e;let u=[...e];return u[l]=c,u});break}case"subagent_event":{let t=e.payload,r="string"==typeof t?.id?t.id:null;if(r){(tO.current??(tO.current=new Set)).add(r),null===tH.current&&(tH.current=requestAnimationFrame(()=>{tH.current=null;let e=tO.current;tO.current=null,e&&0!==e.size&&to(t=>{let r=t;for(let t of e)r={...r,[t]:(r[t]??0)+1};return nk(r)})}));let e=function(e){if(!ng(e))return null;let t=ng(e.event)?e.event:null;if(!t)return null;let r=nf(t.type),n=Date.now();if("tool_execution_start"===r){let e=nf(t.toolName)??"tool",r=nf(t.intent)?.trim();if(r)return{kind:"tool",label:`→ ${e} — ${r}`,ts:n};let i=ng(t.args)?Object.keys(t.args).slice(0,3).join(", "):void 0;return{kind:"tool",label:i?`→ ${e} (${i})`:`→ ${e}`,ts:n}}if("message_end"===r){let e=ng(t.message)?t.message:null;if(e&&"assistant"===e.role){let t=e.content,r=("string"==typeof t?t:Array.isArray(t)?t.filter(e=>ng(e)&&"text"===e.type).map(e=>"string"==typeof e.text?e.text:"").join("\n"):"").trim();if(r)return{kind:"text",label:r.slice(0,140),ts:n}}}if("notice"===r){let e=nf(t.message);if(e)return{kind:"notice",label:e.slice(0,140),ts:n}}return null}(t);e&&ti(t=>{let n=t[r]??[],i=n.length>=50?[...n.slice(n.length-50+1),e]:[...n,e],a={...t};return delete a[r],a[r]=i,nk(a)})}break}case"extension_ui_request":rj(e)}},[rk,rR,rS,rj,rx,ry,rt,t2,n,rT,t8,t7,t9]);let rE=(0,i.useCallback)(async(n,i)=>{let a=n.trim();if(!a&&!i?.length||tT.current||tR.current)return!1;let o=!i?.length&&a.startsWith("/");if(!i?.length&&a.startsWith("!")){let e=a.startsWith("!!"),t=(e?a.slice(2):a.slice(1)).trim();return!!t&&(await tD.current?.(t,e),!0)}let s=tU.current+1,{userMsg:l,piImages:c}=nF(n,i);C(e=>[...e,l]),tq.current=nL(l),tU.current=s,tT.current=!0,W(!0),e_(o?{kind:"running_command"}:{kind:"waiting_model"}),tm(0),E({type:"start"}),tA.current=!0,tW.current=!0,t$.current=0;try{let e=null;if(f&&r){let t=tw.current??await tP.current,r=t??await ro();r&&(e=r,ra(1,n),Q&&(eD(Q),t&&await (0,rA.$)(r,{type:"set_model",provider:Q.provider,modelId:Q.modelId})),await rw(r),t6(r),await (0,rA.$)(r,{type:"prompt",message:n,...c?.length?{images:c}:{}}))}else t&&(e=t.id,await (0,rA.$)(t.id,{type:"get_state"}),await rw(t.id),t6(t.id),rh(t.id),rf(t.id),await (0,rA.$)(t.id,{type:"prompt",message:n,...c?.length?{images:c}:{}}));return o&&e&&rC(e,s),!0}catch(r){console.error("Failed to send message:",r);let t=tq.current;return t&&C(e=>{let r=e[e.length-1];return r?.role==="user"&&nL(r)===t?e.slice(0,-1):e}),rk({type:"error",message:r instanceof nM?r.message:(0,d.Tl)("agentSession.sendFailed",{detail:r instanceof Error?r.message:String(r)})}),n&&e.chatInputRef?.current?.insertIfEmpty(n),tq.current=null,tT.current=!1,W(!1),e_(null),E({type:"end"}),!1}},[f,r,Q,t,ro,rw,ra,rC,rk,e.chatInputRef,t6,rh,rf]),rW=(0,i.useCallback)(async(e,t)=>{let r=e.trim();if(!r&&!t?.length)return!1;let n=tw.current;if(!n||!tT.current)return!1;let{userMsg:i,piImages:a}=nF(e,t);C(e=>[...e,i]),tq.current=nL(i),tC.current=!0,tA.current=!0,tW.current=!0,t$.current=0;try{return await rw(n),t6(n),await (0,rA.$)(n,{type:"abort_and_prompt",message:r,...a?.length?{images:a}:{}}),!0}catch(t){console.error("Failed to interrupt and reply:",t),tC.current=!1;let e=tq.current;return e&&C(t=>{let r=t[t.length-1];return r?.role==="user"&&nL(r)===e?t.slice(0,-1):t}),tq.current=null,rk({type:"error",message:t instanceof Error?t.message:String(t)}),!1}},[rk,rw,t6]);tD.current=(0,i.useCallback)(async(r,n)=>{if(tT.current||tR.current)return;let i=`${n?"!!":"!"}${r}`;tR.current=!0,N({command:r,excludeFromContext:n}),$(!0);try{let e=tw.current??t?.id??await ro();if(!e)throw Error((0,d.Tl)("agentSession.shellSessionFailed"));await (0,rA.$)(e,{type:"bash",command:r,excludeFromContext:n}),await rt(e),ra(1,i)}catch(t){console.error("Failed to execute shell command:",t),rk({type:"error",message:t instanceof Error?t.message:String(t)}),e.chatInputRef?.current?.insertIfEmpty(i)}finally{tR.current=!1,N(null),$(!1)}},[rk,ro,rt,e.chatInputRef,ra,t]);let rD=(0,i.useCallback)(async()=>{let e=tw.current;if(e){if(tR.current){try{await (0,rA.$)(e,{type:"abort_bash"})}catch(e){console.error("Failed to abort bash:",e)}return}try{await (0,rA.$)(e,{type:"abort"})}catch(e){console.error("Failed to abort:",e)}}},[]),r$=(0,i.useCallback)(async e=>{if(tR.current)return;let t=tw.current;if(t){ez(e);try{let{cancelled:r,newSessionId:n}=await (0,rA.$)(t,{type:"fork",entryId:e})??{};!r&&n&&o?.(n)}catch(e){console.error("Fork failed:",e)}finally{ez(null)}}},[o]),rL=(0,i.useCallback)(async e=>{if(tR.current||tT.current)return;let t=tw.current;t&&(j(e),await rr(t,e))},[rr]),rN=(0,i.useCallback)(async e=>{if(tR.current||tT.current)return;j(e);let t=tw.current;t&&await rr(t,e)},[rr]),rF=(0,i.useCallback)(async(e,t)=>{if(f){ee({provider:e,modelId:t}),eD({provider:e,modelId:t});let r=tw.current??await tP.current;if(!r)return;try{await (0,rA.$)(r,{type:"set_model",provider:e,modelId:t})}catch(e){console.error("Failed to set model:",e)}return}let r=tw.current;if(r)try{await (0,rA.$)(r,{type:"set_model",provider:e,modelId:t}),eA({provider:e,modelId:t}),re(r)}catch(e){console.error("Failed to set model:",e)}},[f,ee,re]),rP=(0,i.useCallback)(async e=>{let t=tw.current??await tP.current??await ro();if(t)try{let r=await (0,rA.$)(t,{type:"set_fast_mode",enabled:e});ed(r?.enabled??e),eu(r?.active),re(t)}catch(e){console.error("Failed to change Fast mode:",e),rk({type:"error",message:e instanceof Error?e.message:String(e)})}},[rk,ro,re]),rB=(0,i.useCallback)(async e=>{let t=tw.current??await tP.current;if(t){ev(e);try{await (0,rA.$)(t,{type:"set_auto_retry",enabled:e})}catch(t){ev(t=>t===e?!e:t),rk({type:"error",message:t instanceof Error?t.message:String(t)})}}},[rk]),rO=(0,i.useCallback)(async e=>{let t=tw.current??await tP.current;if(t){eh(e);try{await (0,rA.$)(t,{type:"set_interrupt_mode",mode:e})}catch(e){console.error("Failed to change interrupt mode:",e),rk({type:"error",message:e instanceof Error?e.message:String(e)})}}},[rk]),rH=(0,i.useCallback)(async e=>{let t=tw.current??await tP.current;if(t){ef(e);try{await (0,rA.$)(t,{type:"set_auto_compaction",enabled:e})}catch(e){console.error("Failed to change auto-compaction:",e),rk({type:"error",message:e instanceof Error?e.message:String(e)})}}},[rk]),rK=(0,i.useCallback)(async e=>{let t=tw.current??await tP.current;if(t){eb(e);try{await (0,rA.$)(t,{type:"set_steering_mode",mode:e})}catch(e){console.error("Failed to change steering mode:",e),rk({type:"error",message:e instanceof Error?e.message:String(e)})}}},[rk]),rU=(0,i.useCallback)(async e=>{let t=tw.current??await tP.current;if(t){ew(e);try{await (0,rA.$)(t,{type:"set_follow_up_mode",mode:e})}catch(e){console.error("Failed to change follow-up mode:",e),rk({type:"error",message:e instanceof Error?e.message:String(e)})}}},[rk]),r_=(0,i.useCallback)(async()=>{let e=tw.current;if(e)try{await (0,rA.$)(e,{type:"cycle_model"}),re(e)}catch(e){console.error("Failed to cycle model:",e),rk({type:"error",message:e instanceof Error?e.message:String(e)})}},[rk,re]),rq=(0,i.useCallback)(async()=>{let e=tw.current;if(e)try{await (0,rA.$)(e,{type:"cycle_thinking_level"}),re(e)}catch(e){console.error("Failed to cycle thinking level:",e),rk({type:"error",message:e instanceof Error?e.message:String(e)})}},[rk,re]),rV=(0,i.useCallback)(async()=>{let e=tw.current;if(e){eS(null);try{await (0,rA.$)(e,{type:"abort_retry"})}catch(e){console.error("Failed to abort retry:",e),rk({type:"error",message:e instanceof Error?e.message:String(e)})}}},[rk]),rY=(0,i.useCallback)(async()=>{let e=tw.current;if(e&&!tS.current&&!tT.current&&!tR.current)try{await (0,rA.$)(e,{type:"handoff"}),await rt(e,!0),re(e)}catch(e){rk({type:"error",message:e instanceof Error?e.message:String(e)})}},[rk,rt,re]),rJ=(0,i.useCallback)(async()=>{let e=tw.current;if(e&&!tS.current&&!eL){tS.current=!0,eN(!0),eO(null),eK(null);try{let t=await (0,rA.$)(e,{type:"compact"});eK(nN(t,"manual")),await rt(e,!0),re(e)}catch(e){eO(e instanceof Error?e.message:String(e)),eK(null)}finally{tS.current=!1,eN(!1)}}},[eL,rt,re]),rZ=(0,i.useCallback)(async e=>{U(!0);try{let n=r??t?.cwd??"",i=n?`/api/models?cwd=${encodeURIComponent(n)}`:"/api/models",a=await fetch(i,{cache:"no-store",...e?{signal:e}:{}});if(!a.ok)throw Error(`HTTP ${a.status}`);let o=await a.json();B(o.models),q(o.modelError??null),Z(o.thinkingLevels??{}),X(o.thinkingLevelMaps??{});let s=o.modelList??[];if(H(s),f){let e=(o.defaultModel?s.find(e=>e.id===o.defaultModel?.modelId&&e.provider===o.defaultModel?.provider):void 0)??s[0];er(e?{provider:e.provider,modelId:e.id}:null)}}catch(t){e?.aborted||q(t instanceof Error?t.message:String(t))}finally{U(!1)}},[f,r,t?.cwd]),rG=(0,i.useCallback)(async e=>{if(!e.startsWith("/"))return{handled:!1};let t=e.match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);if(!t)return{handled:!1};let[,r,n=""]=t,i=n.trim(),a=tw.current??await ro(),o=e=>(e.handled&&(e.error?rk({type:"error",message:e.error}):"openSessionStats"!==e.action&&rk({type:"success",message:e.message??(0,d.Tl)("agentSession.commandCompleted")})),e);try{switch(r){case"compact":{if(!a||tS.current||eL)return o({handled:!0,error:(0,d.Tl)("agentSession.noSessionToCompact")});tS.current=!0,eN(!0),eO(null),eK(null);let e=await (0,rA.$)(a,{type:"compact",...i?{customInstructions:i}:{}});return eK(nN(e,"manual")),await rt(a,!0),tS.current=!1,eN(!1),ra(),o({handled:!0,message:(0,d.Tl)("agentSession.compactedContext")})}case"reload":if(!a)return o({handled:!0,error:(0,d.Tl)("agentSession.noSessionToReload")});return await (0,rA.$)(a,{type:"reload"}),await Promise.all([rt(a,!1,!0),rl(),rZ()]),o({handled:!0,message:(0,d.Tl)("agentSession.reloadedResources")});case"name":if(!a)return o({handled:!0,error:(0,d.Tl)("agentSession.noSessionToName")});if(!i)return o({handled:!0,error:(0,d.Tl)("agentSession.nameUsage")});return await (0,rA.$)(a,{type:"set_session_name",name:i}),await rt(a),ra(),o({handled:!0,message:(0,d.Tl)("agentSession.sessionRenamed",{name:i})});case"session":{if(!a)return o({handled:!0,error:(0,d.Tl)("agentSession.noActiveSession")});let e=await (0,rA.$)(a,{type:"get_session_stats"});return e&&eQ(e),p?.(),o({handled:!0,action:"openSessionStats"})}case"copy":{if(!a)return o({handled:!0,error:(0,d.Tl)("agentSession.noActiveSession")});let e=await (0,rA.$)(a,{type:"get_last_assistant_text"}),t=e?.text??"";if(!t)return o({handled:!0,error:(0,d.Tl)("agentSession.noMessageToCopy")});return await navigator.clipboard.writeText(t),o({handled:!0,message:(0,d.Tl)("agentSession.copiedLastMessage")})}default:{if("advisor"===r&&!tx)return o({handled:!0,error:(0,d.Tl)("agentSession.advisorDisabled")});let t=rn(e);if("not-web"===t.kind)return{handled:!1};if("usage-error"===t.kind)return o({handled:!0,error:(0,d.Tl)("agentSession.commandRequiresArgs",{command:t.command,usage:(0,d.Tl)(t.argumentHintKey)})});if("plan"===r&&tp({objective:i}),!await rE(t.prompt))return"plan"===r&&tp(null),{handled:!0,retainInput:!0};if("goal"===r){let e=function(e,t=Date.now()){return{objective:e.trim(),startedAt:t}}(i);tc(e);let t=tw.current;t&&sessionStorage.setItem(`omp-web:goal:${t}`,JSON.stringify(e))}return{handled:!0}}}}catch(e){return o({handled:!0,error:e instanceof Error?e.message:String(e)})}finally{"compact"===r&&(tS.current=!1,eN(!1))}},[rk,tx,ro,rE,eL,rZ,rt,rl,ra,p]),rX=e=>e?.map(e=>({type:"image",data:e.data,mimeType:e.mimeType})),rQ=(0,i.useCallback)(async(t,r)=>{let n=tw.current;if(!n)return;let i=rX(r);try{await (0,rA.$)(n,{type:"steer",message:t,...i?.length?{images:i}:{}}),tI.current=Date.now(),te(e=>({...e,steering:[...e.steering,t]}))}catch(r){console.error("Failed to steer:",r),rk({type:"error",message:r instanceof Error?r.message:String(r)}),e.chatInputRef?.current?.insertIfEmpty(t)}},[rk,e.chatInputRef]),r0=(0,i.useCallback)(async(t,r,n)=>{let i=tw.current;if(!i)return;let a=rX(n);try{await (0,rA.$)(i,{type:"prompt",message:t,streamingBehavior:r,...a?.length?{images:a}:{}}),tI.current=Date.now(),te(e=>"steer"===r?{...e,steering:[...e.steering,t]}:{...e,followUp:[...e.followUp,t]})}catch(r){console.error("Failed to queue prompt:",r),rk({type:"error",message:r instanceof Error?r.message:String(r)}),e.chatInputRef?.current?.insertIfEmpty(t)}},[rk,e.chatInputRef]),r1=(0,i.useCallback)(async(t,r)=>{let n=tw.current;if(!n)return;let i=rX(r);try{await (0,rA.$)(n,{type:"follow_up",message:t,...i?.length?{images:i}:{}}),tI.current=Date.now(),te(e=>({...e,followUp:[...e.followUp,t]}))}catch(r){console.error("Failed to follow up:",r),rk({type:"error",message:r instanceof Error?r.message:String(r)}),e.chatInputRef?.current?.insertIfEmpty(t)}},[rk,e.chatInputRef]),r2=(0,i.useCallback)(async()=>{let e=tw.current;if(e)try{await (0,rA.$)(e,{type:"abort_compaction"})}catch(e){console.error("Failed to abort compaction:",e)}},[]),r4=(0,i.useCallback)(async e=>{if(eo(e),"auto"===e)return;let t=tw.current??await tP.current;if(t)try{await (0,rA.$)(t,{type:"set_thinking_level",level:e}),re(t)}catch(e){console.error("Failed to set thinking level:",e)}},[re]),r5=(0,i.useCallback)(async e=>{tZ(e),function(e,t=nh()){if(t)try{t.setItem(np,e)}catch{}}(e),(tw.current??await tP.current)&&rk({type:"info",message:(0,d.Tl)("agentSession.toolPresetNotice")})},[tZ,rk]),r6=(0,i.useCallback)((e="smooth")=>{let t=tF.current,r=tN.current;t&&r&&(tL.current=Date.now()+700,r.scrollIntoView({block:"nearest",behavior:g?"instant":e}))},[g]),r8=(0,i.useCallback)(e=>{e instanceof KeyboardEvent&&(!nR.has(e.key)||e.target instanceof Element&&e.target.closest("input, textarea, [contenteditable='true']"))||(t$.current=Date.now()+1200)},[]),r3=(0,i.useCallback)(()=>{let e=Date.now()<=t$.current;if(!e&&Date.now()<tL.current||!e)return;let t=tF.current,r=tN.current;t&&r&&(tW.current=r.getBoundingClientRect().bottom-t.getBoundingClientRect().bottom<=24)},[]);(0,i.useEffect)(()=>(t&&(tw.current=t.id,rt(t.id,!0,!0).then(e=>{if(e?.running){if(e.state?.isStreaming||e.state?.isPromptRunning){tT.current=!0,W(!0),e_(e.state.isStreaming?{kind:"waiting_model"}:{kind:"running_command"}),E({type:"start"}),rc(t.id),rh(t.id),rf(t.id),tK.current&&(clearTimeout(tK.current),tK.current=null);let r=t.id;tK.current=setTimeout(()=>{tK.current=null,tw.current===r&&t6(r)},600),!e.state.isStreaming&&e.state.isPromptRunning&&rC(t.id)}e.state?.isBashRunning&&(tR.current=!0,$(!0),rI(t.id))}if(e?.state){if(void 0!==e.state.isCompacting&&eN(e.state.isCompacting),void 0!==e.state.contextUsage&&eI(e.state.contextUsage??null),void 0!==e.state.systemPrompt&&eR(e.state.systemPrompt||null),void 0!==e.state.extensionStatuses&&e8(e.state.extensionStatuses??[]),void 0!==e.state.extensionWidgets&&e9(e.state.extensionWidgets??[]),0===e.state.queuedMessageCount&&Date.now()-tI.current>=5e3){te(nj);var r=t.id;if(r)try{sessionStorage.removeItem(nS+r)}catch{}}else if("number"==typeof e.state.queuedMessageCount){let e=function(e){try{let t=sessionStorage.getItem(nS+e);if(!t)return null;let r=JSON.parse(t),n=e=>Array.isArray(e)?e.filter(e=>"string"==typeof e):[],i={steering:n(r?.steering),followUp:n(r?.followUp)};return nC(i)?null:i}catch{return null}}(t.id);e&&te(t=>nC(t)?e:t)}}})),()=>{tM.current+=1,tY.current?.reset(),tb.current?.close(),tb.current=null,tk.current&&(clearTimeout(tk.current),tk.current=null),tK.current&&(clearTimeout(tK.current),tK.current=null),null!==tH.current&&(cancelAnimationFrame(tH.current),tH.current=null),tO.current=null}),[t6,rh,rf]),(0,i.useEffect)(()=>{c?.(eT)},[eT,c]),(0,i.useEffect)(()=>(u?.(rs),()=>u?.(null)),[rs,u]),(0,i.useEffect)(()=>{l&&l(m?.tree??[],w,rN)},[m?.tree,w,rN,l]),(0,i.useEffect)(()=>(window.addEventListener("keydown",r8),window.addEventListener("pointerdown",r8,{passive:!0}),()=>{window.removeEventListener("keydown",r8),window.removeEventListener("pointerdown",r8)}),[r8]),(0,i.useEffect)(()=>{let e=tF.current;if(e)return e.addEventListener("wheel",r8,{passive:!0}),e.addEventListener("touchstart",r8,{passive:!0}),e.addEventListener("scroll",r3,{passive:!0}),()=>{e.removeEventListener("wheel",r8),e.removeEventListener("touchstart",r8),e.removeEventListener("scroll",r3)}},[S.length,v,r3,r8]);let r9=(0,i.useRef)(null),r7=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let e=t?.id??null;r7.current!==e&&(r7.current=e,tE.current=!1,tW.current=!0,tA.current=!1,null!==r9.current&&(cancelAnimationFrame(r9.current),r9.current=null))},[t?.id]),(0,i.useEffect)(()=>{if(S.length>0||z.isStreaming)if(tA.current)tA.current=!1,tE.current=!0,r6(z.isStreaming||tT.current?"instant":"smooth");else if(tE.current)tW.current&&null===r9.current&&(r9.current=requestAnimationFrame(()=>{r9.current=null,tW.current&&r6(tT.current||z.isStreaming?"instant":"smooth")}));else{if(v)return;tE.current=!0,r6("instant")}},[S,z,A,eU,e3,eL,ej,ty,ts,r6,v]),(0,i.useEffect)(()=>()=>{F.current=!1,null!==r9.current&&cancelAnimationFrame(r9.current)},[]),(0,i.useEffect)(()=>{let e=new AbortController;return rZ(e.signal).catch(e=>{if(e instanceof DOMException&&"AbortError"===e.name)return}),()=>e.abort()},[rZ,s]),(0,i.useEffect)(()=>{if(!eB)return;let e=setTimeout(()=>eO(null),3e3);return()=>clearTimeout(e)},[eB]),(0,i.useEffect)(()=>{if(!eH)return;let e=setTimeout(()=>eK(null),6e3);return()=>clearTimeout(e)},[eH]),(0,i.useEffect)(()=>{if(0===eZ.visible.length)return;let e=eZ.visible.find(e=>e.exiting);if(e){let t=setTimeout(()=>{eG({type:"remove",id:e.id})},180);return()=>clearTimeout(t)}if(!eZ.visible[0])return;let t=setTimeout(()=>{eG({type:"mark_oldest_exiting"})},5e3);return()=>clearTimeout(t)},[eZ.visible]),(0,i.useEffect)(()=>{eQ(null)},[S.length,eC?.tokens,eC?.percent,eC?.contextWindow]),{data:m,loading:v,error:b,activeLeafId:w,messages:S,entryIds:I,showPreCompactionHistory:R,streamState:z,agentRunning:A,modelNames:P,modelList:O,modelsLoading:K,modelError:_,modelThinkingLevels:J,modelThinkingLevelMaps:G,newSessionModel:Q,toolPreset:en,thinkingLevel:ea,fastModeEnabled:el,fastModeActive:ec,autoRetryEnabled:ex,interruptMode:ep,autoCompactionEnabled:eg,steeringMode:ey,followUpMode:ek,liveModelMeta:V,retryInfo:ej,contextUsage:eC,systemPrompt:eT,forkingEntryId:eM,isCompacting:eL,compactError:eB,compactResult:eH,tokensPerSecond:eF,currentModel:tG,displayModel:tX,isAutoModelSelection:!tX,sessionStats:tQ,agentPhase:eU,slashCommands:eq,slashCommandsLoading:eY,queuedMessages:e7,notices:eZ.visible,extensionDialog:e0,extensionCustomUi:e4,extensionStatuses:e6,extensionWidgets:e3,respondToExtensionUi:ru,sendExtensionCustomInput:rb,advisorActive:tf>0,advisorEnabled:tx,handleAdvisorChange:t1,subagents:tt,subagentEvents:tn,subagentTranscriptVersions:ta,activeSubagentCount:ty,currentTodoPhase:t0,todoPhases:ts,activeGoal:td,activePlan:tu,planInfo:th,isNew:f,sessionIdRef:tw,messagesEndRef:tN,scrollContainerRef:tF,pendingScrollToUserRef:tA,initialScrollDoneRef:tE,handleSend:rE,handleAbort:rD,handleFork:r$,handleNavigate:rL,handleModelChange:rF,handleFastModeChange:rP,handleAutoRetryChange:rB,handleInterruptModeChange:rO,handleAutoCompactionChange:rH,handleSteeringModeChange:rK,handleFollowUpModeChange:rU,handleCycleModel:r_,handleCycleThinkingLevel:rq,handleAbortRetry:rV,handleInterruptAndReply:rW,handleCompact:rJ,handleHandoff:rY,handleSteer:rQ,handleFollowUp:r1,handlePromptWithStreamingBehavior:r0,handleAbortCompaction:r2,removeQueuedMessage:rM,promoteQueuedToSteer:rz,handleBuiltinSlashCommand:rG,togglePreCompactionHistory:ri,handleToolPresetChange:r5,handleThinkingLevelChange:r4,loadSlashCommands:rl,setActiveLeafId:j,setData:x,setMessages:C,dispatch:E,setAgentRunning:W,setForkingEntryId:ez,bashRunning:D,pendingBash:L,handleAgentEventRef:tz}}({session:e,newSessionCwd:t,onAgentEnd:z,onSessionCreated:l,onSessionForked:c,modelsRefreshKey:u,chatInputRef:p,onBranchDataChange:h,onSystemPromptChange:g,onSystemPromptLoaderChange:f,onSessionStatsPanelOpen:x,onOpenFile:k}),e2=F||P,e4=(0,i.useMemo)(()=>{if(!en)return null;let e=H.find(e=>e.provider===en.provider&&e.id===en.modelId);return e&&(e.contextWindow||e.maxTokens)?{contextWindow:e.contextWindow,maxTokens:e.maxTokens}:null},[en,H]),e5=e4?`${e4.contextWindow??""}|${e4.maxTokens??""}`:"",e6=(0,i.useRef)(e4);e6.current=e4,(0,i.useEffect)(()=>{y?.(e6.current)},[e5,y]);let e8=D.some(e=>"custom"===e.role&&"compaction"===e.customType),[e3,e9]=(0,i.useState)(null),e7=(0,i.useRef)([]),te=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(null===er||!Number.isFinite(er)||er<=0){null!==te.current&&(te.current=null,e9(e=>e?{...e,current:null}:e));return}let e=Math.round(10*er)/10;if(e===te.current)return;te.current=e;let t=[...e7.current,e].slice(-32);e7.current=t,e9({current:e,average:t.reduce((e,t)=>e+t,0)/t.length})},[er]);let tt=(0,i.useRef)(null);(0,i.useEffect)(()=>{let r;if(e2||0===D.length)return;let n=e?.id??t??null;if(!n||tt.current===n)return;tt.current=n;let i=[];for(let e of D){let t="timestamp"in e&&"number"==typeof e.timestamp?e.timestamp:void 0;if("assistant"!==e.role||!e.usage||void 0===t){void 0!==t&&(r=t);continue}if(void 0!==r){let n=(t-r)/1e3;if(n>1){let t=e.usage.output/n;Number.isFinite(t)&&t>.5&&t<=500&&i.push(t)}}r=t}if(0===i.length)return;let a=i.slice(-32);e7.current=a,e9(e=>({current:e?.current??null,average:a.reduce((e,t)=>e+t,0)/a.length}))},[D,e2,e?.id,t]),(0,i.useEffect)(()=>(s=e2?eN:null,()=>void(s=null)),[e2,eN]),(0,i.useEffect)(()=>{if(!e)return;let t=e=>{if(!(e.metaKey||e.ctrlKey)||!e.altKey)return;let t=e.key.toLowerCase();"m"===t?(e.preventDefault(),eX()):"t"===t&&(e.preventDefault(),eQ())};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e,eX,eQ]);let[tr,tn]=(0,i.useState)(50),ti=(0,i.useRef)(null),ta=e?.id??(t?`new:${t}`:"empty");(0,i.useEffect)(()=>{ti.current!==ta&&(ti.current=ta,tn(50))},[ta]);let[to,ts]=(0,i.useState)(null),[tl,td]=(0,i.useState)(!0);(0,i.useEffect)(()=>{let e=eD.current;if(!e)return;let t=null,r=()=>{t=null;let r=e.scrollTop+e.clientHeight>=e.scrollHeight-96;td(e=>e===r?e:r)},n=()=>{null===t&&(t=requestAnimationFrame(r))};return r(),e.addEventListener("scroll",n,{passive:!0}),()=>{e.removeEventListener("scroll",n),null!==t&&cancelAnimationFrame(t)}},[eD]);let tc=(0,i.useRef)(null),tu=(0,i.useRef)(null),tp=(0,i.useRef)("auto");(0,i.useEffect)(()=>{let e=tc.current,t=eD.current;if(!e||!t)return;let r=new IntersectionObserver(e=>{e[0]?.isIntersecting&&t.scrollTop>0&&(tu.current=t.scrollHeight-t.scrollTop,tp.current="auto",tn(e=>n0(e)))},{root:t,rootMargin:"400px 0px 0px 0px",threshold:0});return r.observe(e),()=>r.disconnect()},[tr,D.length,eD]),(0,i.useEffect)(()=>{if(null==tu.current)return;let e=eD.current;if(e){if("click"===tp.current){let t=tc.current;if(t){let r=e.getBoundingClientRect(),n=t.getBoundingClientRect();e.scrollTop=e.scrollTop+(n.bottom-r.top)+1}else e.scrollTop=0}else{var t;t=e.scrollHeight,e.scrollTop=Math.max(0,t-tu.current)}tp.current="auto",tu.current=null}},[tr,eD]);let th=(0,i.useCallback)(()=>{let e=eD.current;e&&(tu.current=e.scrollHeight-e.scrollTop),tp.current="click",tn(e=>n0(e))},[eD]),tg=e3?`${e3.current??"null"}|${e3.average??"null"}`:null,tf=(0,i.useRef)(e3);tf.current=e3,(0,i.useEffect)(()=>{b?.(tf.current)},[tg,b]),(0,i.useEffect)(()=>()=>{b?.(null)},[b]);let tm=ei?[ei.sessionId,ei.sessionFile??"",ei.sessionName??"",ei.userMessages,ei.assistantMessages,ei.toolCalls,ei.toolResults,ei.totalMessages,ei.tokens.input,ei.tokens.output,ei.tokens.cacheRead,ei.tokens.cacheWrite,ei.tokens.total,ei.cost??0].join("|"):null,tx=(0,i.useRef)(ei);tx.current=ei,(0,i.useEffect)(()=>{m?.(tx.current)},[tm,m]),(0,i.useEffect)(()=>()=>{m?.(null)},[m]);let tv=X?`${X.percent??"null"}|${X.contextWindow}|${X.tokens??"null"}`:null,ty=(0,i.useRef)(X);ty.current=X,(0,i.useEffect)(()=>{v?.(ty.current)},[tv,v]),(0,i.useEffect)(()=>()=>{v?.(null)},[v]);let{isDragOver:tb,handleDragEnter:tk,handleDragOver:tw,handleDragLeave:tj,handleDrop:tS}=function(e){let[t,r]=(0,i.useState)(!1),n=(0,i.useRef)(0);(0,i.useEffect)(()=>{let e=()=>{n.current=0,r(!1)};return window.addEventListener("drop",e),window.addEventListener("dragend",e),()=>{window.removeEventListener("drop",e),window.removeEventListener("dragend",e)}},[]);let a=(0,i.useCallback)(e=>{Array.from(e.dataTransfer.items).some(nB)&&(e.preventDefault(),n.current+=1,r(!0))},[]),o=(0,i.useCallback)(e=>{Array.from(e.dataTransfer.items).some(nB)&&e.preventDefault()},[]);return{isDragOver:t,handleDragEnter:a,handleDragOver:o,handleDragLeave:(0,i.useCallback)(()=>{n.current-=1,n.current<=0&&(n.current=0,r(!1))},[]),handleDrop:(0,i.useCallback)(t=>{t.preventDefault(),n.current=0,r(!1),e(Array.from(t.dataTransfer.files))},[e])}}((0,i.useCallback)(e=>{e2||p?.current?.addFiles(e)},[e2,p])),tC=(0,i.useMemo)(()=>{let e=new Set,t=[];for(let r=D.length-1;r>=0;r-=1){let n=function(e){if("user"!==e.role)return null;if("string"==typeof e.content){let t=e.content.trim();return t.length>0?t:null}let t=e.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n").trim();return t.length>0?t:null}(D[r]);if(!(!n||e.has(n))&&(e.add(n),t.push(n),t.length>=50))break}return t.reverse()},[D]),tT=(0,i.useMemo)(()=>{let e=new Map,t=-1,r=new Map,n=0;return D.forEach((i,a)=>{"toolResult"===i.role&&e.set(i.toolCallId,i),n1(i)&&(t=a),("user"===i.role||"assistant"===i.role)&&r.set(a,n++)}),{toolResultsMap:e,lastAnchorIdx:t,visibleRefIndexByMessage:r}},[D]),tR=function(e){let t=(0,i.useRef)([]),r=(0,i.useRef)(0);if(r.current!==e){r.current=e;let n=Array(e);for(let r=0;r<e;r+=1)n[r]=t.current[r]??null;t.current=n}return t}(tT.visibleRefIndexByMessage.size),tM=(0,i.useMemo)(()=>{let e=new Set;for(let t of D)if(t?.role==="assistant")for(let r of t.content??[])"toolCall"===r.type&&e.add(r.toolCallId);return e},[D]),tz=(0,i.useMemo)(()=>{if(ek?.kind!=="running_tools")return[];let e=new Set(tM),t=N.streamingMessage;if(t?.role==="assistant")for(let r of t.content??[])"toolCall"===r.type&&e.add(r.toolCallId);return ek.tools.filter(t=>!e.has(t.id))},[ek,tM,N.streamingMessage]),tE=eE&&0===D.length&&!N.isStreaming&&!e2,tA=e?.cwd??t??void 0,tW=en?function(e,t,r){if(e&&e.length>0)return e;if(t&&r&&r.provider===t.provider&&r.modelId===t.modelId)return r.reasoning?["off",...r.thinking?.efforts??[]]:["off"];return null}(_[`${en.provider}:${en.modelId}`],en,Z):null,tD=en?q[`${en.provider}:${en.modelId}`]??null:null,[t$,tL]=(0,i.useState)(null);(0,i.useEffect)(()=>{if(!ec)return void tL(null);let e=new AbortController;return fetch("/api/model-roles",{signal:e.signal}).then(e=>e.ok?e.json():null).then(e=>tL(e?.roles?.advisor??null)).catch(()=>{}),()=>e.abort()},[ec]);let tN=(0,i.useMemo)(()=>{if(!t$)return null;let[e,t]=t$.split(":"),r=e.indexOf("/"),n=-1===r?"":e.slice(0,r),i=-1===r?e:e.slice(r+1);return{name:H.find(e=>e.provider===n&&e.id===i)?.name??t$,reasoning:t||null}},[t$,H]),tF=(0,n.jsx)(rz,{ref:p,onSend:eL,onAbort:eN,onSteer:F?eO:void 0,onFollowUp:F?eH:void 0,onPromptWithStreamingBehavior:F?eK:void 0,isStreaming:e2,model:en,isAutoModelSelection:eb,modelNames:O,modelList:H,modelsLoading:K,modelError:U,onModelChange:eB,onAbortCompaction:eU,isCompacting:ee,compactResult:et,thinkingLevel:V,onThinkingLevelChange:e||eE?eZ:void 0,fastModeEnabled:Y,fastModeActive:J,fastModeSupported:!!(en&&H.some(e=>e.provider===en.provider&&e.id===en.modelId&&e.supportsFastMode)),onFastModeChange:e||eE?eG:void 0,onAbortRetry:e?e0:void 0,availableThinkingLevels:tW,thinkingLevelMap:tD,modelNameOverride:Z?.name??null,retryInfo:G,activeGoal:ew,activePlan:ej,advisorEnabled:ec,onAdvisorChange:eu,advisorModel:tN,queuedMessages:el,inputHistory:tC,advisorActive:ed,onCompact:e_,onRemoveQueuedMessage:eq,onPromoteQueuedToSteer:eV,slashCommands:ea,slashCommandsLoading:eo,onLoadSlashCommands:e1,onBuiltinCommand:eY,onAudioUnlock:R,draftKey:e?.id??(t?`new:${t}`:void 0),cwd:e?.cwd??t}),tP=ex.filter(e=>"belowEditor"!==e.placement),tB=ex.filter(e=>"belowEditor"===e.placement);return A?(0,n.jsx)("div",{role:"status",className:"flex h-full items-center justify-center",style:{color:"var(--text-muted)"},children:S("chatWindow.loadingSession")}):W?(0,n.jsx)("div",{role:"alert",className:"flex h-full items-center justify-center",style:{color:"var(--accent-strong)",padding:"0 16px",textAlign:"center",fontSize:13},children:W}):(0,n.jsxs)("div",{className:"relative flex h-full flex-col overflow-hidden aurora-flow-bg",onDragEnter:tk,onDragOver:tw,onDragLeave:tj,onDrop:tS,children:[tb&&!e2&&(0,n.jsxs)("div",{className:"drop-zone-overlay pointer-events-none absolute inset-0 z-50 flex items-center justify-center backdrop-blur-[1px]",children:[(0,n.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:[0,.8,1.6].map(e=>(0,n.jsx)("div",{className:"drop-ripple-ring absolute h-[720px] w-[720px] rounded-full border-[1.5px] border-solid",style:{transformOrigin:"center",animationDelay:`${e}s`}},e))}),(0,n.jsxs)("svg",{width:"280",height:"280",viewBox:"0 0 140 140",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"drop-zone-illustration",children:[(0,n.jsx)("rect",{x:"28",y:"44",width:"84",height:"60",rx:"8",fill:"color-mix(in srgb, var(--accent) 8%, transparent)",stroke:"color-mix(in srgb, var(--accent) 50%, transparent)",strokeWidth:"1.8"}),(0,n.jsx)("path",{d:"M36 100 L54 72 L68 88 L80 74 L104 100Z",fill:"color-mix(in srgb, var(--accent) 16%, transparent)",stroke:"color-mix(in srgb, var(--accent) 40%, transparent)",strokeWidth:"1.4",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"96",cy:"58",r:"8",fill:"color-mix(in srgb, var(--accent) 22%, transparent)",stroke:"color-mix(in srgb, var(--accent) 55%, transparent)",strokeWidth:"1.6"}),(0,n.jsxs)("g",{stroke:"color-mix(in srgb, var(--accent) 45%, transparent)",strokeWidth:"1.4",strokeLinecap:"round",children:[(0,n.jsx)("line",{x1:"96",y1:"46",x2:"96",y2:"43"}),(0,n.jsx)("line",{x1:"96",y1:"70",x2:"96",y2:"73"}),(0,n.jsx)("line",{x1:"84",y1:"58",x2:"81",y2:"58"}),(0,n.jsx)("line",{x1:"108",y1:"58",x2:"111",y2:"58"}),(0,n.jsx)("line",{x1:"87.5",y1:"49.5",x2:"85.4",y2:"47.4"}),(0,n.jsx)("line",{x1:"104.5",y1:"66.5",x2:"106.6",y2:"68.6"}),(0,n.jsx)("line",{x1:"104.5",y1:"49.5",x2:"106.6",y2:"47.4"}),(0,n.jsx)("line",{x1:"87.5",y1:"66.5",x2:"85.4",y2:"68.6"})]})]})]}),(0,n.jsx)(rF,{subagent:to,sessionId:e?.id??eA.current??null,transcriptVersion:to?eT[to.id]??0:0,events:to?eI[to.id]??[]:void 0,onClose:()=>ts(null)}),eg&&(0,n.jsx)(n7,{request:eg,onInput:ey}),tE?(0,n.jsx)("div",{className:"relative flex flex-1 flex-col overflow-hidden",children:(0,n.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center overflow-y-auto px-4 py-8",style:{minHeight:0},children:(0,n.jsxs)("div",{className:"w-full",style:{maxWidth:960},children:[(0,n.jsx)(nt,{onSelectPrompt:E,cwd:e?.cwd??t}),(0,n.jsx)(n9,{notices:ep,align:"right"}),tF]})})}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"relative flex flex-1 overflow-hidden",children:[(0,n.jsx)("div",{style:{position:"absolute",top:12,left:0,right:0,zIndex:40,padding:"0 16px",pointerEvents:"none"},children:(0,n.jsx)("div",{style:{maxWidth:960,margin:"0 auto"},children:(0,n.jsx)(n9,{notices:ep,floating:!0,align:"right"})})}),(0,n.jsx)("div",{ref:eD,className:"flex-1 overflow-y-auto pt-6"+(I?"":" [scrollbar-width:none]"),children:(0,n.jsx)("div",{style:{padding:"0 16px"},children:(0,n.jsxs)("div",{style:{maxWidth:960,margin:"0 auto"},children:[(0,n.jsx)(n8,{statuses:ef}),(0,n.jsx)(n3,{widgets:tP}),e8&&(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,marginBottom:8,padding:"7px 10px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-subtle)"},children:[(0,n.jsx)("span",{style:{color:"var(--text-muted)",fontSize:12},children:L?S("chatWindow.fullHistoryVisible"):S("chatWindow.compactedHistoryNotice")}),(0,n.jsx)("button",{type:"button",onClick:eJ,style:{flexShrink:0,padding:"4px 8px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",cursor:"pointer",fontSize:12},children:L?S("chatWindow.returnToCompactHistory"):S("chatWindow.viewPreCompactionHistory")})]}),(0,n.jsx)(n5,{messages:D,entryIds:$,conversationMeta:tT,messageRefs:tR,isStreaming:N.isStreaming,sessionBusy:e2,isNew:eE,forkingEntryId:Q,handleFork:eF,handleNavigate:eP,handleEditContent:E,modelNames:O,messageCwd:tA,onOpenFile:k,sessionId:e?.id??eA.current??void 0,toolCallsDefaultCollapsed:r,thinkingDisplayMode:a,visibleCount:tr,nearBottom:tl,sentinelRef:tc,handleLoadMoreClick:th}),N.isStreaming&&N.streamingMessage&&(0,n.jsx)(tI,{message:N.streamingMessage,isStreaming:!0,modelNames:O,cwd:tA,onOpenFile:k,toolCallsDefaultCollapsed:r,thinkingDisplayMode:a,liveTokensPerSecond:er}),r&&tz.map(e=>(0,n.jsxs)("div",{role:"status","aria-label":S("chatWindow.runningNamed",{names:e.name}),style:{display:"flex",alignItems:"center",gap:7,marginBottom:8,padding:"6px 10px",border:"1px solid color-mix(in srgb, var(--status-success) 25%, transparent)",borderRadius:"var(--radius-control)",background:"color-mix(in srgb, var(--status-success) 4%, transparent)",color:"var(--text-muted)",fontSize:12},children:[(0,n.jsx)("span",{"aria-hidden":!0,className:"live-status-dot live-pulse inline-block h-1.5 w-1.5 shrink-0 rounded-full bg-accent"}),(0,n.jsx)("span",{style:{color:"var(--status-success)",fontFamily:"var(--font-mono)",fontWeight:600,fontSize:11},children:e.name})]},e.id)),(ee||F&&!N.streamingMessage&&0===tz.length)&&(0,n.jsxs)("div",{role:"status","aria-live":"polite",className:"pt-2 pb-4 mb-3 text-[13px] text-text-muted flex items-center gap-2.5",children:[(0,n.jsx)(nQ,{}),(0,n.jsx)("span",{children:[function(e){if(e?.kind==="running_tools"){let t=e.tools.map(e=>e.name);return 0===t.length?(0,d.Tl)("chatWindow.runningTool"):t.length<=3?(0,d.Tl)("chatWindow.runningNamed",{names:t.join(", ")}):(0,d.Tl)("chatWindow.runningNamedMore",{names:t.slice(0,2).join(", "),more:t.length-2})}return e?.kind==="waiting_model"?(0,d.Tl)("chatWindow.waitingModel"):e?.kind==="running_command"?(0,d.Tl)("chatWindow.runningCommand"):(0,d.Tl)("chatWindow.thinking")}(ek),eR>0?C("chatWindow.subagentCount",eR):null,ee?S("chatWindow.compactingContext"):null,eM?S("chatWindow.todoPhaseStatus",{name:eM.name,done:eM.done,total:eM.total}):null].filter(Boolean).join(" \xb7 ")})]}),P&&!B&&(0,n.jsxs)("div",{role:"status","aria-live":"polite",className:"py-2 text-[13px] text-text-muted flex items-center gap-2",children:[(0,n.jsx)("span",{"aria-hidden":!0,className:"live-status-dot live-pulse inline-block h-2 w-2 shrink-0 rounded-full bg-accent"}),(0,n.jsx)("span",{children:S("chatWindow.runningCommand")})]}),B&&(0,n.jsx)(tI,{message:{role:"bashExecution",command:B.command,output:"",excludeFromContext:B.excludeFromContext},sessionId:e?.id??eA.current??void 0}),(0,n.jsx)("div",{ref:eW})]})})}),I?null:(0,n.jsx)("div",{style:{position:"absolute",top:0,bottom:0,right:0,zIndex:30,display:"flex"},children:(0,n.jsx)(rO,{messages:D,scrollContainer:eD,messageRefs:tR})})]}),(0,n.jsxs)("div",{className:"relative",style:{flexShrink:0},children:[(0,n.jsx)("div",{style:{padding:"0 16px"},children:(0,n.jsxs)("div",{style:{maxWidth:960,margin:"0 auto"},children:[eh&&(0,n.jsx)("div",{style:{marginBottom:8},children:(0,n.jsx)(rE,{request:eh,onRespond:ev,attached:!0})}),(0,n.jsx)(ns,{plan:ej,todoPhases:ez,onExecutePlan:e=>eL(e),onRejectPlan:e=>eL(e),planModeActive:!!ej,planContent:eS?.plan??null,planFile:eS?.planFile??null,planTruncated:!!eS?.truncated}),(0,n.jsx)(r6,{todoPhases:ez,subagents:eC,onSelectSubagent:ts,planModeActive:!!ej}),(0,n.jsx)(n3,{widgets:tB})]})}),tF]})]})]})}function n8({statuses:e}){return 0===e.length?null:(0,n.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginBottom:8},children:e.map(e=>(0,n.jsxs)("div",{className:"ui-compact-surface",style:{display:"flex",alignItems:"center",gap:6,maxWidth:"100%",padding:"4px 8px",border:"1px solid color-mix(in srgb, var(--accent) 24%, var(--border))",borderRadius:"var(--radius-control)",background:"color-mix(in srgb, var(--accent) 7%, var(--bg))",color:"var(--text-muted)",fontSize:12},children:[(0,n.jsx)("span",{style:{color:"var(--accent)",fontFamily:"var(--font-mono)",fontSize:11},children:e.key}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.text})]},e.key))})}function n3({widgets:e}){return 0===e.length?null:(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6,marginBottom:8},children:e.map(e=>(0,n.jsxs)("div",{className:"ui-compact-surface",style:{border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",overflow:"hidden"},children:[(0,n.jsx)("div",{style:{padding:"5px 9px",borderBottom:"1px solid var(--border)",color:"var(--text-dim)",fontSize:11,fontFamily:"var(--font-mono)"},children:e.key}),(0,n.jsx)("pre",{style:{margin:0,padding:"8px 9px",color:"var(--text-muted)",fontSize:12,lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"var(--font-mono)"},children:e.lines.join("\n")})]},e.key))})}function n9({notices:e,floating:t=!1,align:r="left"}){return 0===e.length?null:(0,n.jsx)("div",{role:"status","aria-live":"polite",style:{display:"flex",flexDirection:"column",alignItems:"right"===r?"flex-end":"stretch",marginBottom:10*!t},children:e.map((r,i)=>{let a="error"===r.type?"var(--status-error)":"warning"===r.type?"var(--status-warning)":"success"===r.type?"var(--status-success)":"var(--accent)";return(0,n.jsxs)("div",{className:"notice-shelf-item",style:{display:"flex",alignItems:"center",gap:8,minHeight:36,height:36,maxHeight:48,marginBottom:4*(i!==e.length-1),overflow:"hidden",borderRadius:"var(--radius-control)",border:"1px solid color-mix(in srgb, var(--border) 70%, transparent)",background:"var(--bg)",color:"var(--text-muted)",width:"fit-content",maxWidth:"min(100%, 620px)",boxShadow:t?"var(--shadow-pop)":"var(--shadow-card)",fontSize:12,lineHeight:1.35,transformOrigin:"top center",animation:r.exiting?"notice-shelf-out var(--dur-med) ease-in forwards":"notice-shelf-in var(--dur-med) var(--ease-out-warm) both",padding:"0 10px"},children:[(0,n.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:a,flexShrink:0}}),(0,n.jsx)("span",{style:{padding:"8px 0",minWidth:0,maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r.message})]},r.id)})})}function n7({request:e,onInput:t}){let{t:r}=(0,d.s9)(),a=(0,i.useRef)(null),o=(0,i.useRef)(!1),s=function(e){let t=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,r=[];for(let n of e){let e=n.replace(nU,""),i=nV(e).trimEnd();if(t.test(i))continue;let a=e,o=nZ(a);("│"===o||"┃"===o)&&" "===nZ(a=nJ(a,0))&&(a=nJ(a,0));let s=function(e){let t=nY(e);for(let e=t.length-1;e>=0;e--)if(""!==t[e].char.trim())return e;return -1}(a),l=s>=0?nY(a)[s]?.char:void 0;("│"===l||"┃"===l)&&(a=nJ(a,s)),r.push(function(e){let t=e;for(;;){let e=nY(t),r=e[e.length-1];if(!r||""!==r.char.trim())return t;t=t.slice(0,r.start)+t.slice(r.end)}}(a))}for(;r.length>0&&""===nV(r[0]).trim();)r.shift();for(;r.length>0&&""===nV(r[r.length-1]).trim();)r.pop();return r.length?r:e}(e.lines);return(0,i.useEffect)(()=>{a.current?.focus()},[e.id]),(0,n.jsx)("div",{style:{position:"absolute",inset:0,zIndex:95,display:"flex",alignItems:"center",justifyContent:"center",padding:20,background:"var(--overlay-backdrop)"},children:(0,n.jsxs)("div",{role:"dialog","aria-modal":"true",onClick:e=>{e.target.closest("button")||a.current?.focus()},style:{position:"relative",width:"min(920px, 100%)",maxHeight:"min(760px, calc(100vh - 40px))",border:"1px solid var(--border)",borderRadius:8,background:"var(--bg)",boxShadow:"var(--shadow-modal)",overflow:"hidden",outline:"none"},children:[(0,n.jsx)("textarea",{ref:a,"aria-label":r("chatWindow.extensionTerminalInput"),autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,onKeyDown:r=>{if(o.current||r.nativeEvent.isComposing)return;let n=function(e){if(e.metaKey||e.ctrlKey&&!e.altKey&&"v"===e.key.toLowerCase())return null;if(e.ctrlKey&&!e.altKey){let t=function(e){if(1!==e.length)return null;let t=e.toUpperCase().charCodeAt(0);return t>=64&&t<=95?String.fromCharCode(31&t):"?"===e?"":null}(e.key);if(t)return t}if(e.altKey&&!e.ctrlKey){if("Backspace"===e.key)return"\x1b\x7f";let t=nX[e.key];if(t)return t;if(1===e.key.length)return`\x1b${e.key}`}return"Enter"===e.key?e.shiftKey?"\n":"\r":"Tab"===e.key?e.shiftKey?"\x1b[Z":" ":nG[e.key]??null}(r);n&&(r.preventDefault(),r.stopPropagation(),t(e,n))},onInput:r=>{if(o.current||r.nativeEvent.isComposing)return;let n=r.currentTarget.value;r.currentTarget.value="",n&&t(e,n)},onCompositionStart:()=>{o.current=!0},onCompositionEnd:r=>{o.current=!1;let n=r.currentTarget;queueMicrotask(()=>{let r=n.value;n.value="",r&&t(e,r)})},onPaste:r=>{r.preventDefault();let n=r.clipboardData.getData("text");n&&t(e,`\x1b[200~${n}\x1b[201~`)},style:{position:"absolute",width:1,height:1,padding:0,border:0,opacity:0,pointerEvents:"none"}}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"10px 12px",borderBottom:"1px solid var(--border)"},children:[(0,n.jsx)("div",{style:{color:"var(--text)",fontSize:13,fontWeight:650},children:r("chatWindow.extensionPanel")}),(0,n.jsx)("button",{onClick:()=>t(e,"\x03"),style:{padding:"5px 9px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:12},children:r("chatWindow.close")})]}),(0,n.jsx)("pre",{style:{margin:0,padding:14,maxHeight:"calc(min(760px, 100vh - 40px) - 48px)",overflow:"auto",background:"var(--bg-panel)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:13,lineHeight:1.45,whiteSpace:"pre"},children:(s.length?s:[""]).map((e,t,r)=>{var a;return(0,n.jsxs)(i.Fragment,{children:[(a=`line-${t}`,(function(e){let t,r=[],n={},i=0;for(nK.lastIndex=0;null!==(t=nK.exec(e));)t.index>i&&r.push({text:e.slice(i,t.index),style:n}),n=function(e,t){let r={...e};for(let e=0;e<t.length;e++){let n=t[e];if(0===n)for(let e of Object.keys(r))delete r[e];else if(1===n)r.fontWeight=700;else if(2===n)r.opacity=.65;else if(3===n)r.fontStyle="italic";else if(4===n)r.textDecoration="underline";else if(22===n)delete r.fontWeight,delete r.opacity;else if(23===n)delete r.fontStyle;else if(24===n)delete r.textDecoration;else if(39===n)delete r.color;else if(49===n)delete r.background;else if(n>=30&&n<=37)r.color=n_[n-30];else if(n>=90&&n<=97)r.color=nq[n-90];else if(n>=40&&n<=47)r.background=n_[n-40];else if(n>=100&&n<=107)r.background=nq[n-100];else if((38===n||48===n)&&2===t[e+1]){let[i,a,o]=[t[e+2],t[e+3],t[e+4]];[i,a,o].every(e=>"number"==typeof e&&Number.isFinite(e))&&(38===n?r.color=`rgb(${i}, ${a}, ${o})`:r.background=`rgb(${i}, ${a}, ${o})`),e+=4}else if((38===n||48===n)&&5===t[e+1]){let i=function(e){if(e>=0&&e<8)return n_[e];if(e>=8&&e<16)return nq[e-8];if(e>=16&&e<=231){let t=e-16,r=Math.floor(t/36),n=Math.floor(t%36/6),i=e=>0===e?0:55+40*e;return`rgb(${i(r)}, ${i(n)}, ${i(t%6)})`}if(e>=232&&e<=255){let t=8+(e-232)*10;return`rgb(${t}, ${t}, ${t})`}}(t[e+2]);i&&(38===n?r.color=i:r.background=i),e+=2}}return r}(n,t[1]?t[1].split(";").map(e=>Number(e||"0")):[0]),i=t.index+t[0].length;return i<e.length&&r.push({text:e.slice(i),style:n}),r})(e).map((e,t)=>Object.keys(e.style).length>0?(0,n.jsx)("span",{style:e.style,children:e.text},`${a}-${t}`):e.text)),t<r.length-1?"\n":null]},t)})})]})})}function ie({tabs:e,activeTabId:t,onSelectTab:r,onCloseTab:a}){let{t:o}=(0,d.s9)(),[s,l]=(0,i.useState)(null),c=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let e=c.current;if(!e)return;let r=e.querySelector(`[data-tab-id="${CSS.escape(t)}"]`);if(!r)return;let n=e.getBoundingClientRect(),i=r.getBoundingClientRect();i.left<n.left?e.scrollLeft-=n.left-i.left:i.right>n.right&&(e.scrollLeft+=i.right-n.right)},[t,e]),(0,n.jsx)("div",{ref:c,role:"tablist","aria-label":"Open files",className:"tabbar-scroll",style:{display:"flex",alignItems:"flex-end",background:"var(--bg-panel)",overflowX:"auto",flexShrink:0,height:36},children:e.map(i=>{let d=i.id===t;return(0,n.jsxs)("div",{"data-tab-id":i.id,className:"tabbar-tab ui-focus-ring",onClick:()=>r(i.id),role:"tab",tabIndex:d?0:-1,"aria-selected":d,"aria-label":i.filePath,onKeyDown:t=>{if(("Enter"===t.key||" "===t.key)&&(t.preventDefault(),r(i.id)),("Delete"===t.key||"Backspace"===t.key)&&(t.preventDefault(),a(i.id)),"ArrowRight"===t.key||"ArrowLeft"===t.key){t.preventDefault();let n=e.findIndex(e=>e.id===i.id),a=e[(n+("ArrowRight"===t.key?1:-1)+e.length)%e.length];if(a){r(a.id);let e=c.current?.querySelector(`[data-tab-id="${CSS.escape(a.id)}"]`);e?.focus()}}},onMouseDown:e=>{1===e.button&&e.preventDefault()},onAuxClick:e=>{1===e.button&&(e.preventDefault(),e.stopPropagation(),a(i.id))},style:{display:"flex",alignItems:"center",gap:6,height:36,paddingLeft:12,paddingRight:6,borderRight:"1px solid var(--border)",background:d?"var(--bg)":"var(--bg-panel)",cursor:"pointer",fontSize:12,color:d?"var(--text)":"var(--text-muted)",whiteSpace:"nowrap",maxWidth:180,minWidth:80,flexShrink:0,userSelect:"none",position:"relative",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:[d&&(0,n.jsx)("span",{"aria-hidden":"true",style:{position:"absolute",left:0,right:0,bottom:0,height:2,background:"var(--accent)",borderTopLeftRadius:"var(--radius-control)",borderTopRightRadius:"var(--radius-control)"}}),(0,n.jsx)("span",{style:{flexShrink:0,opacity:d?1:.7,display:"flex",alignItems:"center"},children:ea(i.label,13)}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",flex:1,fontWeight:d?500:400},title:i.filePath,children:i.label}),(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),a(i.id)},tabIndex:-1,className:"tabbar-close ui-focus-ring",onMouseEnter:()=>l(i.id),onMouseLeave:()=>l(null),style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,background:s===i.id?"var(--bg-hover)":"transparent",border:"none",borderRadius:"var(--radius-control)",color:s===i.id?"var(--text)":"var(--text-dim)",cursor:"pointer",padding:0,flexShrink:0,transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},title:o("tabBar.close"),"aria-label":o("tabBar.closeTab",{label:i.label}),children:(0,n.jsx)(x.A,{size:11,strokeWidth:2,"aria-hidden":"true"})})]},i.id)})})}function it(e){return"message"===e.type&&"message"in e}function ir(e){if(!it(e))return;let t=e.message.content,r="string"==typeof t?t:Array.isArray(t)?t.filter(e=>"object"==typeof e&&null!==e&&"text"===e.type&&"string"==typeof e.text).map(e=>e.text).join(" "):"";(r=r.replace(/\s+/g," ").trim()).length>40&&(r=`${r.slice(0,40)}…`),r||(r="assistant"===e.message.role?(0,d.Tl)("branchNavigator.assistantLabel"):"message");let n="user"===e.message.role||"assistant"===e.message.role?e.message.role:void 0;return{...n?{role:n}:{},text:r}}function ii(e){let t=e,r=t.branchPreview,n=t.entry;it(t.entry)&&(r??=ir(t.entry),n=t.entry);let i=t.compressedEntryIds?.length??0;for(;1===t.children.length;)t=t.children[0],r??=t.branchPreview??ir(t.entry),!it(n)&&it(t.entry)&&(n=t.entry),i+=1+(t.compressedEntryIds?.length??0);return{node:t,skipped:i,branchPreview:r,labelEntry:n}}let ia=(0,i.memo)(function e({node:t,activePathIds:r,depth:a,isLast:o,parentLines:s,onSelect:l}){let{t:c}=(0,d.s9)(),{node:u,skipped:p,branchPreview:h,labelEntry:g}=(0,i.useMemo)(()=>ii(t),[t]),f=u.entry.id,m=t.entry.id,x=r.has(f),v=r.has(m)||r.has(f),y=(0,i.useMemo)(()=>h?.text??ir(g)?.text??g.type,[h,g]),b=(0,i.useMemo)(()=>h?.role??("message"===g.type&&"message"in g?g.message.role:null),[h,g]);return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{role:"button",tabIndex:0,"aria-label":y,style:{display:"flex",alignItems:"center",height:24,cursor:"pointer"},onClick:()=>l(u.entry.id),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),l(u.entry.id))},children:[s.map((e,t)=>(0,n.jsx)("div",{style:{width:16,flexShrink:0,position:"relative",height:"100%",alignSelf:"stretch"},children:e&&(0,n.jsx)("div",{style:{position:"absolute",left:7,top:0,bottom:0,width:1,background:"var(--border)"}})},t)),(0,n.jsxs)("div",{style:{width:16,flexShrink:0,position:"relative",height:"100%",alignSelf:"stretch"},children:[(0,n.jsx)("div",{style:{position:"absolute",left:7,top:0,bottom:o?"50%":0,width:1,background:"var(--border)"}}),(0,n.jsx)("div",{style:{position:"absolute",left:7,top:"50%",width:9,height:1,background:"var(--border)"}})]}),(0,n.jsx)("div",{style:{width:7,height:7,borderRadius:"50%",flexShrink:0,background:x?"var(--accent)":v?"var(--text-muted)":"var(--border)",border:x?"none":"1px solid var(--text-dim)",marginRight:6,transition:"background var(--dur-fast) var(--ease-out-warm)"}}),b&&(0,n.jsx)("span",{style:{fontSize:9,fontFamily:"var(--font-mono)",color:"user"===b?"var(--accent)":"var(--text-dim)",background:"user"===b?"color-mix(in srgb, var(--accent) 8%, transparent)":"var(--bg-hover)",border:`1px solid ${"user"===b?"color-mix(in srgb, var(--accent) 20%, transparent)":"var(--border)"}`,borderRadius:3,padding:"0 4px",marginRight:5,flexShrink:0,lineHeight:"16px"},children:c("user"===b?"branchNavigator.roleUser":"branchNavigator.roleAssistant")}),p>0&&(0,n.jsxs)("span",{style:{fontSize:10,color:"var(--text-dim)",marginRight:5,flexShrink:0},children:["+",p]}),(0,n.jsx)("span",{style:{fontSize:11,color:x?"var(--text)":v?"var(--text-muted)":"var(--text-dim)",fontWeight:x?500:400,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,minWidth:0},children:y})]}),u.children.map((t,i)=>(0,n.jsx)(e,{node:t,activePathIds:r,depth:a+1,isLast:i===u.children.length-1,parentLines:[...s,!o],onSelect:l},t.entry.id))]})},(e,t)=>{if(e.node!==t.node||e.onSelect!==t.onSelect)return!1;if(e.activePathIds===t.activePathIds)return!0;let r=t.node.entry.id,n=ii(t.node).node.entry.id;return e.activePathIds.has(n)===t.activePathIds.has(n)&&e.activePathIds.has(r)===t.activePathIds.has(r)});function io({tree:e,activeLeafId:t,onLeafChange:r,inline:a,containerRef:o,open:s,onToggle:l,hasSession:c}){let{t:u}=(0,d.s9)(),[p,h]=(0,i.useState)(!1),g=void 0!==s?s:p,f=(0,i.useRef)(null),[m,x]=(0,i.useState)(null);(0,i.useEffect)(()=>{if(!g||!a)return;let e=o?.current??f.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect(),r=t.width,n=Math.min(260,window.innerHeight-t.bottom-8);x({top:t.bottom,left:Math.max(0,Math.min(t.left,window.innerWidth-r)),width:r,height:Math.max(60,n)})};t();let r=new ResizeObserver(t);return r.observe(e),window.addEventListener("scroll",t,!0),window.addEventListener("resize",t),()=>{r.disconnect(),window.removeEventListener("scroll",t,!0),window.removeEventListener("resize",t)}},[g,a,o]),(0,i.useEffect)(()=>{if(!g||!a)return;let e=()=>{l?l():h(!1)},t=t=>{let r=f.current;r&&r.contains(t.target)||t.target instanceof Element&&t.target.closest("[data-branch-panel]")||e()},r=t=>{"Escape"===t.key&&(t.stopPropagation(),e())};return document.addEventListener("mousedown",t),document.addEventListener("keydown",r),()=>{document.removeEventListener("mousedown",t),document.removeEventListener("keydown",r)}},[g,a,o,l]);let v=(0,i.useMemo)(()=>t?new Set(function e(r,n){for(let i of r){let r=[...n,i.entry.id];if(i.entry.id===t||i.compressedEntryIds?.includes(t))return r;let a=e(i.children,r);if(a)return a}return null}(e,[])??[]):new Set,[e,t]),y=(0,i.useCallback)(e=>{r(e),void 0===s&&h(!1)},[r,s]),b=(0,i.useMemo)(()=>c?!function e(t){if(t.length>1)return!0;for(let r of t)if(r.children.length>1||e(r.children))return!0;return!1}(e)?u("branchNavigator.noBranches"):null:u("branchNavigator.noActiveSession"),[c,e,u]),k=(0,i.useMemo)(()=>{let t=e.length>0?ii(e[0]):null;return t?.node??null},[e]),w=(0,i.useMemo)(()=>e.length>1?e:k&&k.children.length>1?k.children:[],[k,e]),j=!b&&w.length>0,S=(0,n.jsx)(eD.A,{size:16,strokeWidth:1.8,"aria-hidden":"true",style:{color:j?"var(--accent)":void 0,flexShrink:0}}),C=(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"var(--text-dim)",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:2,transform:g?"rotate(180deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)("polyline",{points:"2 3.5 5 6.5 8 3.5"})});return a?(0,n.jsxs)("div",{style:{height:"100%",display:"flex",alignItems:"center"},children:[(0,n.jsx)("button",{ref:f,onClick:()=>l?l():h(e=>!e),className:"shell-toolbar-btn ui-focus-ring",style:{background:g?"var(--bg-selected)":void 0,color:g?"var(--text)":void 0},title:u("branchNavigator.branches"),"aria-label":u("branchNavigator.branches"),"aria-haspopup":"menu","aria-expanded":g,children:S}),g&&m&&(0,n.jsx)("div",{"data-branch-panel":!0,className:"dropdown-surface",style:{position:"fixed",top:m.top,left:m.left,width:m.width,maxHeight:m.height,overflowY:"auto",zIndex:600},children:j?(0,n.jsx)("div",{style:{padding:"4px 12px 8px 12px",maxHeight:260,overflowY:"auto"},children:w.map((e,t)=>(0,n.jsx)(ia,{node:e,activePathIds:v,depth:0,isLast:t===w.length-1,parentLines:[],onSelect:y},e.entry.id))}):(0,n.jsx)("div",{style:{padding:"10px 16px",fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:b})})]}):(0,n.jsxs)("div",{style:{borderBottom:"1px solid var(--border)",background:"var(--bg)",flexShrink:0,position:"relative"},children:[(0,n.jsxs)("button",{onClick:()=>h(e=>!e),style:{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"5px 12px",background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",fontSize:11,textAlign:"left"},children:[S,(0,n.jsx)("span",{style:{color:"var(--text-muted)"},children:u("branchNavigator.branches")}),C]}),g&&(0,n.jsx)("div",{style:{position:"absolute",top:"100%",left:0,right:0,background:"var(--bg)",borderBottom:"1px solid var(--border)",boxShadow:"var(--shadow-pop)",zIndex:100},children:j?(0,n.jsx)("div",{style:{padding:"4px 12px 8px 12px",maxHeight:260,overflowY:"auto"},children:w.map((e,t)=>(0,n.jsx)(ia,{node:e,activePathIds:v,depth:0,isLast:t===w.length-1,parentLines:[],onSelect:y},e.entry.id))}):(0,n.jsx)("div",{style:{padding:"10px 16px",fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:b??u("branchNavigator.noBranches")})})]})}function is(){let{locale:e,setLocale:t,t:r}=(0,d.s9)(),a=(0,rd.a)(),[o,s]=(0,i.useState)(!1),[l,c]=(0,i.useState)(0),u=(0,i.useRef)(null),p=(0,i.useRef)([]),h=(0,i.useId)(),g=`${h}-listbox`,f=Math.max(0,d.YZ.findIndex(t=>t.value===e)),m=d.YZ[f];(0,i.useEffect)(()=>{o||c(f)},[f,o]),(0,i.useEffect)(()=>{o&&p.current[l]?.focus()},[o,l]);let x=(e=!0)=>{s(!1),e&&u.current?.focus()},v=e=>{t(e),x(!0)};return(0,n.jsxs)("div",{style:{position:"relative",flexShrink:0},onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||s(!1)},children:[(0,n.jsxs)("button",{ref:u,type:"button",onClick:()=>s(e=>!e),onKeyDown:e=>{("ArrowDown"===e.key||"Enter"===e.key||" "===e.key||"ArrowUp"===e.key)&&(e.preventDefault(),s(!0),c("ArrowUp"===e.key?d.YZ.length-1:f))},title:r("languageSwitcher.switchTo",{language:m.label}),"aria-haspopup":"menu","aria-expanded":o,"aria-controls":o?g:void 0,className:"shell-toolbar-btn ui-focus-ring",style:{width:"auto",minWidth:a?44:36,padding:"0 8px",gap:4,background:o?"var(--bg-selected)":void 0,color:o?"var(--text)":void 0,fontSize:11,whiteSpace:"nowrap"},children:[m.label,(0,n.jsx)(eA.A,{size:10,strokeWidth:2,"aria-hidden":"true",style:{flexShrink:0,transform:o?"rotate(180deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"}})]}),o&&(0,n.jsx)("ul",{id:g,role:"menu",className:"dropdown-surface animate-slide-down",style:{position:"absolute",top:"calc(100% + 4px)",right:0,zIndex:50,minWidth:120,margin:0,padding:4,listStyle:"none",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",boxShadow:"var(--shadow-pop)"},children:d.YZ.map((t,r)=>{let i=t.value===e;return(0,n.jsx)("li",{role:"none",children:(0,n.jsxs)("button",{className:"dropdown-item",ref:e=>{p.current[r]=e},type:"button",role:"menuitem",tabIndex:-1,"aria-current":i||void 0,onClick:()=>v(t.value),onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.background=i?"var(--bg-selected)":"transparent"},onKeyDown:e=>((e,t)=>{switch(e.key){case"ArrowDown":e.preventDefault(),c((t+1)%d.YZ.length);break;case"ArrowUp":e.preventDefault(),c((t-1+d.YZ.length)%d.YZ.length);break;case"Home":e.preventDefault(),c(0);break;case"End":e.preventDefault(),c(d.YZ.length-1);break;case"Enter":case" ":e.preventDefault(),v(d.YZ[t].value);break;case"Escape":e.preventDefault(),e.stopPropagation(),x(!0);break;case"Tab":x(!1)}})(e,r),style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"7px 10px",border:0,borderRadius:5,background:i?"var(--bg-selected)":"transparent",color:i?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12,textAlign:"left",transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)("span",{children:t.label}),i&&(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"m3 8 3.5 3.5L13 5"})})]})},t.value)})})]})}var il=r(91669),id=r(96304),ic=r(61663),iu=r(61491),ip=r(16449),ih=r(52920),ig=r(34026),im=r(84280),ix=r(14929),iv=r(47603),iy=r(78890),ib=r(36565),ik=r(96793);let iw={enabled:!0,chatBorderBeam:!0,beamSpeed:5.5,ompBouncing:!0,thinkingPulse:!0},ij="omp-motion-prefs",iS=new Set,iC=iw,iI=!1;function iT(e){if("u"<typeof document)return;let t=document.documentElement;t.setAttribute("data-animations",e.enabled?"true":"false"),t.setAttribute("data-animation-beam",e.enabled&&e.chatBorderBeam?"true":"false"),t.setAttribute("data-animation-omp",e.enabled&&e.ompBouncing?"true":"false"),t.setAttribute("data-animation-thinking",e.enabled&&e.thinkingPulse?"true":"false"),t.style.setProperty("--omp-beam-speed",`${e.beamSpeed}s`)}function iR(){if(!iI){iI=!0;try{let e=localStorage.getItem(ij);e&&(iC={...iw,...JSON.parse(e)})}catch{}iT(iC)}return iC}function iM(e){iC={...iC,...e};try{localStorage.setItem(ij,JSON.stringify(iC)),iT(iC),iS.forEach(e=>e())}catch{}}function iz(e){return iS.add(e),()=>iS.delete(e)}function iE(){return{motionPrefs:(0,i.useSyncExternalStore)(iz,iR,()=>iw),setMotionPrefs:iM}}let iA=[{id:"sans",name:"现代黑体",nameKey:"typography.sans",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Microsoft YaHei', sans-serif",description:"现代利落,结构清晰,高屏幕易读性"},{id:"serif",name:"人文宋体",nameKey:"typography.serif",fontFamily:"var(--font-serif), 'Songti SC', 'Source Serif 4', 'Noto Serif SC', Georgia, serif",description:"典雅温润,具有人文手帐与书卷质感"},{id:"mono",name:"极客等宽",nameKey:"typography.mono",fontFamily:"var(--font-mono), 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace",description:"经典终端与代码风格,字符等距规整"}],iW="omp-typography-config",iD=new Set;function i$(e){return iD.add(e),()=>iD.delete(e)}let iL={fontPreset:"sans",chatFontSize:14},iN=iL,iF=!1;function iP(){if(!iF){iF=!0;try{let e=localStorage.getItem(iW);if(e){let t=JSON.parse(e);iN={fontPreset:t.fontPreset||"sans",chatFontSize:Number(t.chatFontSize)||14}}}catch{}}return iN}function iB(){return iL}function iO(e){if("u"<typeof document)return;let t=document.documentElement,r=iA.find(t=>t.id===e.fontPreset)??iA[0];t.style.setProperty("--app-font-family",r.fontFamily),t.style.setProperty("--chat-font-size",`${e.chatFontSize}px`),t.style.setProperty("--chat-line-height",`${Math.round(1.65*e.chatFontSize)}px`),t.setAttribute("data-font-preset",e.fontPreset)}function iH(){let e,t,r,a,{preference:o,setTheme:s}=(0,ik.DP)(),{motionPrefs:l,setMotionPrefs:c}=iE(),{fontPreset:u,chatFontSize:p,setFontPreset:h,setChatFontSize:g}=(e=(0,i.useSyncExternalStore)(i$,iP,iB),(0,i.useEffect)(()=>{iO(e)},[e]),t=(0,i.useCallback)(e=>{iN={...iN,...e};try{localStorage.setItem(iW,JSON.stringify(iN))}catch{}iO(iN),iD.forEach(e=>e())},[]),r=(0,i.useCallback)(e=>{t({fontPreset:e})},[t]),a=(0,i.useCallback)(e=>{t({chatFontSize:e})},[t]),{config:e,fontPreset:e.fontPreset,chatFontSize:e.chatFontSize,setFontPreset:r,setChatFontSize:a,updateTypography:t}),{t:f}=(0,d.s9)(),[m,x]=(0,i.useState)(!1),[v,y]=(0,i.useState)("static"),[b,k]=(0,i.useState)((0,ik.TP)()),w=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(m)return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)};function e(e){w.current&&!w.current.contains(e.target)&&x(!1)}function t(e){"Escape"===e.key&&x(!1)}},[m]);let j=ik.F$.find(e=>e.id===o)??ik.F$[0],S=ik.F$.filter(e=>"static"===e.category||"system"===e.category),C=ik.F$.filter(e=>"flowing"===e.category),T=e=>{let t={...b,...e};k(t),(0,ik.ob)(t),s("custom")};return(0,n.jsxs)("div",{ref:w,style:{position:"relative",display:"inline-block"},children:[(0,n.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),x(e=>!e)},title:f("appShell.switchTheme")||"主题与字体外观","aria-label":f("appShell.switchTheme")||"主题与字体外观","aria-expanded":m,className:"shell-toolbar-btn ui-focus-ring",style:{display:"inline-flex",alignItems:"center",gap:6,padding:"0 6px",height:28,borderRadius:6},children:[(0,n.jsx)("span",{style:{width:10,height:10,borderRadius:"50%",backgroundColor:"custom"===o?b.accent:j.accent,boxShadow:`0 0 0 1.5px ${j.border}`,flexShrink:0}}),(0,n.jsx)(ih.A,{size:15,strokeWidth:1.8,"aria-hidden":"true",style:{color:"var(--text-muted)"}})]}),m&&(0,n.jsxs)("div",{className:"dropdown-surface animate-scale-in",style:{position:"absolute",top:"calc(100% + 6px)",left:0,zIndex:650,width:320,padding:8,borderRadius:"var(--radius-card)",background:"var(--bg-panel)",border:"1px solid var(--border)",boxShadow:"var(--shadow-pop)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"4px 6px 8px",borderBottom:"1px solid var(--border)",marginBottom:8},children:[(0,n.jsx)("span",{style:{fontSize:12,fontWeight:700,color:"var(--text)"},children:f("appShell.themePalette")||"视觉中心 \xb7 主题与排版"}),(0,n.jsxs)("span",{style:{fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:[o.toUpperCase()," \xb7 ",p,"px"]})]}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1.05fr 1.05fr 1.05fr 1.05fr",gap:2.5,padding:2,borderRadius:8,background:"var(--bg)",border:"1px solid var(--border)",marginBottom:8},children:[(0,n.jsx)("button",{type:"button",onClick:()=>y("static"),style:{padding:"4px 0",fontSize:10.5,fontWeight:600,border:"none",borderRadius:6,cursor:"pointer",background:"static"===v?"var(--bg-selected)":"transparent",color:"static"===v?"var(--text)":"var(--text-muted)"},children:"静态"}),(0,n.jsxs)("button",{type:"button",onClick:()=>y("flowing"),style:{display:"flex",alignItems:"center",justifyContent:"center",gap:2,padding:"4px 0",fontSize:10.5,fontWeight:600,border:"none",borderRadius:6,cursor:"pointer",background:"flowing"===v?"var(--bg-selected)":"transparent",color:"flowing"===v?"var(--accent)":"var(--text-muted)"},children:[(0,n.jsx)(ig.A,{size:11}),(0,n.jsx)("span",{children:"流动"})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>y("custom"),style:{display:"flex",alignItems:"center",justifyContent:"center",gap:2,padding:"4px 0",fontSize:10.5,fontWeight:600,border:"none",borderRadius:6,cursor:"pointer",background:"custom"===v?"var(--bg-selected)":"transparent",color:"custom"===v?"var(--text)":"var(--text-muted)"},children:[(0,n.jsx)(im.A,{size:11}),(0,n.jsx)("span",{children:"调色"})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>y("motion"),style:{display:"flex",alignItems:"center",justifyContent:"center",gap:2,padding:"4px 0",fontSize:10.5,fontWeight:600,border:"none",borderRadius:6,cursor:"pointer",background:"motion"===v?"var(--bg-selected)":"transparent",color:"motion"===v?"var(--accent)":"var(--text-muted)"},children:[(0,n.jsx)(t2.A,{size:11}),(0,n.jsx)("span",{children:"动效"})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>y("typography"),style:{display:"flex",alignItems:"center",justifyContent:"center",gap:2,padding:"4px 0",fontSize:10.5,fontWeight:600,border:"none",borderRadius:6,cursor:"pointer",background:"typography"===v?"var(--bg-selected)":"transparent",color:"typography"===v?"var(--text)":"var(--text-muted)"},children:[(0,n.jsx)(ix.A,{size:11}),(0,n.jsx)("span",{children:"字体"})]})]}),"static"===v&&(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2,maxHeight:260,overflowY:"auto"},children:S.map(e=>{let t=o===e.id;return(0,n.jsxs)("button",{type:"button",onClick:t=>{let r=t.currentTarget.getBoundingClientRect();s(e.id,{x:r.left+r.width/2,y:r.top+r.height/2}),x(!1)},style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"6px 8px",borderRadius:6,fontSize:12,border:"none",cursor:"pointer",textAlign:"left",background:t?"var(--bg-selected)":"transparent",color:t?"var(--text)":"var(--text-muted)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)("span",{style:{width:12,height:12,borderRadius:"50%",backgroundColor:e.color,boxShadow:`0 0 0 1.5px ${e.accent}`,flexShrink:0}}),(0,n.jsx)("span",{children:f(e.nameKey)||e.name})]}),t&&(0,n.jsx)(I.A,{size:14,strokeWidth:2.2,style:{color:"var(--accent)"}})]},e.id)})}),"flowing"===v&&(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",padding:"2px 6px"},children:"动态流动渐变光效 \xb7 呼吸流转"}),C.map(e=>{let t=o===e.id;return(0,n.jsxs)("button",{type:"button",onClick:t=>{let r=t.currentTarget.getBoundingClientRect();s(e.id,{x:r.left+r.width/2,y:r.top+r.height/2}),x(!1)},style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"7px 10px",borderRadius:8,fontSize:12,border:"1px solid color-mix(in srgb, var(--border) 60%, transparent)",cursor:"pointer",textAlign:"left",background:t?"color-mix(in srgb, var(--accent) 14%, var(--bg))":"var(--bg)",color:t?"var(--text)":"var(--text-muted)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)("span",{style:{width:14,height:14,borderRadius:"50%",background:`linear-gradient(45deg, ${e.accent}, ${e.border})`,boxShadow:`0 0 8px ${e.accent}`,flexShrink:0}}),(0,n.jsx)("span",{style:{fontWeight:600},children:f(e.nameKey)||e.name})]}),t&&(0,n.jsx)(I.A,{size:14,strokeWidth:2.2,style:{color:"var(--accent)"}})]},e.id)})]}),"custom"===v&&(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10,padding:"4px 2px",maxHeight:360,overflowY:"auto"},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",marginBottom:6},children:"灵感风格预设 (Inspiration Presets)"}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:4},children:[{name:"赛博霓虹",accent:"#38BDF8",bg:"#0B0F19",isDark:!0,mode:"flow"},{name:"极光翠绿",accent:"#34D399",bg:"#091410",isDark:!0,mode:"flow"},{name:"德古拉紫",accent:"#BD93F9",bg:"#161020",isDark:!0,mode:"flow"},{name:"烈焰流金",accent:"#F59E0B",bg:"#1C140C",isDark:!0,mode:"flow"},{name:"樱落暮雪",accent:"#FB7185",bg:"#1A0F15",isDark:!0,mode:"flow"},{name:"纯黑极曜",accent:"#00E5FF",bg:"#000000",isDark:!0,mode:"flow"},{name:"暖阳手帐",accent:"#B03E22",bg:"#FAF9F6",isDark:!1,mode:"static"},{name:"燕麦拿铁",accent:"#965A38",bg:"#F7F4EE",isDark:!1,mode:"static"}].map(e=>{let t=b.accent===e.accent&&b.bg===e.bg;return(0,n.jsxs)("button",{type:"button",onClick:()=>T(e),style:{display:"flex",alignItems:"center",gap:6,padding:"5px 7px",borderRadius:6,border:`1px solid ${t?"var(--accent)":"color-mix(in srgb, var(--border) 60%, transparent)"}`,background:t?"color-mix(in srgb, var(--accent) 15%, var(--bg))":"var(--bg)",color:t?"var(--accent)":"var(--text)",fontSize:11,fontWeight:500,cursor:"pointer",textAlign:"left"},children:[(0,n.jsx)("span",{style:{width:10,height:10,borderRadius:"50%",backgroundColor:e.accent,boxShadow:`0 0 4px ${e.accent}`,flexShrink:0}}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.name)})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",marginBottom:6},children:"渲染模式 (Mode)"}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[(0,n.jsx)("button",{type:"button",onClick:()=>T({mode:"static"}),style:{display:"flex",alignItems:"center",justifyContent:"center",gap:4,padding:"6px 0",fontSize:11,fontWeight:600,borderRadius:6,border:`1.5px solid ${"static"===b.mode?"var(--accent)":"var(--border)"}`,background:"static"===b.mode?"color-mix(in srgb, var(--accent) 18%, var(--bg))":"var(--bg)",color:"static"===b.mode?"var(--accent)":"var(--text-muted)",cursor:"pointer",boxShadow:"static"===b.mode?"0 0 8px color-mix(in srgb, var(--accent) 25%, transparent)":"none"},children:(0,n.jsx)("span",{children:"静态色彩"})}),(0,n.jsxs)("button",{type:"button",onClick:()=>T({mode:"flow"}),style:{display:"flex",alignItems:"center",justifyContent:"center",gap:4,padding:"6px 0",fontSize:11,fontWeight:600,borderRadius:6,border:`1.5px solid ${"flow"===b.mode?"var(--accent)":"var(--border)"}`,background:"flow"===b.mode?"color-mix(in srgb, var(--accent) 18%, var(--bg))":"var(--bg)",color:"flow"===b.mode?"var(--accent)":"var(--text-muted)",cursor:"pointer",boxShadow:"flow"===b.mode?"0 0 8px color-mix(in srgb, var(--accent) 25%, transparent)":"none"},children:[(0,n.jsx)(ig.A,{size:12}),(0,n.jsx)("span",{children:"流动流光"})]})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",marginBottom:6},children:"强调色 (Accent Color)"}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:6},children:[(0,n.jsx)("input",{type:"color",value:b.accent,onChange:e=>T({accent:e.target.value}),style:{width:32,height:28,borderRadius:6,border:"1px solid var(--border)",background:"transparent",cursor:"pointer",padding:1}}),(0,n.jsx)("input",{type:"text",value:b.accent,onChange:e=>T({accent:e.target.value}),style:{flex:1,height:28,padding:"0 8px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:12,fontFamily:"var(--font-mono)"}})]}),(0,n.jsx)("div",{style:{display:"flex",gap:4,flexWrap:"wrap"},children:["#38BDF8","#00E5FF","#34D399","#10B981","#BD93F9","#8B5CF6","#FF2A85","#FB7185","#F59E0B","#B03E22","#E07B54","#60A5FA"].map(e=>(0,n.jsx)("button",{type:"button",onClick:()=>T({accent:e}),style:{width:18,height:18,borderRadius:"50%",backgroundColor:e,border:"none",cursor:"pointer",boxShadow:b.accent===e?"0 0 0 2px var(--text)":"none"}},e))})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",marginBottom:6},children:"背景底色 (Background Color)"}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:6},children:[(0,n.jsx)("input",{type:"color",value:b.bg,onChange:e=>T({bg:e.target.value}),style:{width:32,height:28,borderRadius:6,border:"1px solid var(--border)",background:"transparent",cursor:"pointer",padding:1}}),(0,n.jsx)("input",{type:"text",value:b.bg,onChange:e=>T({bg:e.target.value}),style:{flex:1,height:28,padding:"0 8px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:12,fontFamily:"var(--font-mono)"}})]}),(0,n.jsx)("div",{style:{display:"flex",gap:4,flexWrap:"wrap"},children:["#000000","#090B16","#0B0F19","#0C1417","#121B17","#1B1916","#FAF9F6","#F7F4EE","#F3F6F3","#F1F5F9"].map(e=>(0,n.jsx)("button",{type:"button",onClick:()=>{let t=e.startsWith("#0")||e.startsWith("#1");T({bg:e,isDark:t})},style:{width:18,height:18,borderRadius:4,backgroundColor:e,border:"1px solid var(--border)",cursor:"pointer",boxShadow:b.bg===e?"0 0 0 2px var(--accent)":"none"}},e))})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",marginBottom:6},children:"基底明暗 (Base Tone)"}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:4},children:[(0,n.jsxs)("button",{type:"button",onClick:()=>T({isDark:!1,bg:b.bg.startsWith("#0")||b.bg.startsWith("#1")?"#FAF9F6":b.bg}),style:{display:"flex",alignItems:"center",justifyContent:"center",gap:4,padding:"5px 0",fontSize:11,fontWeight:600,borderRadius:6,border:`1px solid ${!b.isDark?"var(--accent)":"var(--border)"}`,background:b.isDark?"var(--bg)":"color-mix(in srgb, var(--accent) 15%, var(--bg))",color:b.isDark?"var(--text)":"var(--accent)",cursor:"pointer"},children:[(0,n.jsx)(iv.A,{size:12}),(0,n.jsx)("span",{children:"浅色明亮"})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>T({isDark:!0,bg:b.bg.startsWith("#F")?"#0B0F19":b.bg}),style:{display:"flex",alignItems:"center",justifyContent:"center",gap:4,padding:"5px 0",fontSize:11,fontWeight:600,borderRadius:6,border:`1px solid ${b.isDark?"var(--accent)":"var(--border)"}`,background:b.isDark?"color-mix(in srgb, var(--accent) 15%, var(--bg))":"var(--bg)",color:b.isDark?"var(--accent)":"var(--text)",cursor:"pointer"},children:[(0,n.jsx)(iy.A,{size:12}),(0,n.jsx)("span",{children:"深色暗夜"})]})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",marginBottom:6},children:"OMP 字符专属配色 (OMP Loader Colors)"}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:4},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,n.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"var(--omp-o, var(--accent))"},children:"o:"}),(0,n.jsx)("input",{type:"color",value:b.ompO||b.accent,onChange:e=>T({ompO:e.target.value}),style:{width:24,height:22,border:"none",background:"none",cursor:"pointer",padding:0}})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,n.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"var(--omp-m, #F59E0B)"},children:"m:"}),(0,n.jsx)("input",{type:"color",value:b.ompM||"#F59E0B",onChange:e=>T({ompM:e.target.value}),style:{width:24,height:22,border:"none",background:"none",cursor:"pointer",padding:0}})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,n.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"var(--omp-p, #38BDF8)"},children:"p:"}),(0,n.jsx)("input",{type:"color",value:b.ompP||"#38BDF8",onChange:e=>T({ompP:e.target.value}),style:{width:24,height:22,border:"none",background:"none",cursor:"pointer",padding:0}})]})]})]})]}),"motion"===v&&(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10,padding:"4px 2px",maxHeight:360,overflowY:"auto"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 10px",borderRadius:8,background:"var(--bg)",border:"1px solid var(--border)"},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:11.5,fontWeight:700,color:"var(--text)"},children:"全局动效开关"}),(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-muted)"},children:"开启或关闭全站动态效果"})]}),(0,n.jsx)("button",{type:"button",onClick:()=>c({enabled:!l.enabled}),style:{width:36,height:20,borderRadius:10,background:l.enabled?"var(--accent)":"var(--border)",position:"relative",cursor:"pointer",border:"none",transition:"background var(--dur-fast)"},children:(0,n.jsx)("span",{style:{position:"absolute",top:2,left:l.enabled?18:2,width:16,height:16,borderRadius:"50%",background:"#ffffff",boxShadow:"0 1px 3px rgba(0,0,0,0.25)",transition:"left var(--dur-fast)"}})})]}),(0,n.jsxs)("div",{style:{padding:"8px 10px",borderRadius:8,background:"var(--bg)",border:"1px solid var(--border)",opacity:l.enabled?1:.5},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:6},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:11.5,fontWeight:600,color:"var(--text)"},children:"对话框边框流光"}),(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-muted)"},children:"对话中沿边框顺时针游走"})]}),(0,n.jsx)("button",{type:"button",disabled:!l.enabled,onClick:()=>c({chatBorderBeam:!l.chatBorderBeam}),style:{width:34,height:18,borderRadius:9,background:l.enabled&&l.chatBorderBeam?"var(--accent)":"var(--border)",position:"relative",cursor:l.enabled?"pointer":"not-allowed",border:"none",transition:"background var(--dur-fast)"},children:(0,n.jsx)("span",{style:{position:"absolute",top:2,left:l.enabled&&l.chatBorderBeam?18:2,width:14,height:14,borderRadius:"50%",background:"#ffffff",boxShadow:"0 1px 3px rgba(0,0,0,0.25)",transition:"left var(--dur-fast)"}})})]}),l.enabled&&l.chatBorderBeam&&(0,n.jsxs)("div",{style:{marginTop:8,paddingTop:6,borderTop:"1px solid color-mix(in srgb, var(--border) 60%, transparent)"},children:[(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"var(--text-dim)",marginBottom:4},children:[(0,n.jsx)("span",{children:"流速周期"}),(0,n.jsxs)("span",{style:{fontFamily:"var(--font-mono)",color:"var(--accent)",fontWeight:600},children:[l.beamSpeed," 秒/周"]})]}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr 1fr",gap:3},children:[{label:"极慢 8s",speed:8},{label:"慢速 5.5s",speed:5.5},{label:"标准 3.8s",speed:3.8},{label:"快速 2.2s",speed:2.2}].map(e=>(0,n.jsx)("button",{type:"button",onClick:()=>c({beamSpeed:e.speed}),style:{padding:"3px 0",fontSize:10,fontWeight:l.beamSpeed===e.speed?700:500,borderRadius:4,border:`1px solid ${l.beamSpeed===e.speed?"var(--accent)":"var(--border)"}`,background:l.beamSpeed===e.speed?"color-mix(in srgb, var(--accent) 15%, var(--bg))":"var(--bg)",color:l.beamSpeed===e.speed?"var(--accent)":"var(--text-muted)",cursor:"pointer"},children:e.label},e.speed))})]})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 10px",borderRadius:8,background:"var(--bg)",border:"1px solid var(--border)",opacity:l.enabled?1:.5},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:11.5,fontWeight:600,color:"var(--text)"},children:"OMP 字符跳动动效"}),(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-muted)"},children:"等待响应时 o\xb7m\xb7p 独立循环跳动"})]}),(0,n.jsx)("button",{type:"button",disabled:!l.enabled,onClick:()=>c({ompBouncing:!l.ompBouncing}),style:{width:34,height:18,borderRadius:9,background:l.enabled&&l.ompBouncing?"var(--accent)":"var(--border)",position:"relative",cursor:l.enabled?"pointer":"not-allowed",border:"none",transition:"background var(--dur-fast)"},children:(0,n.jsx)("span",{style:{position:"absolute",top:2,left:l.enabled&&l.ompBouncing?18:2,width:14,height:14,borderRadius:"50%",background:"#ffffff",boxShadow:"0 1px 3px rgba(0,0,0,0.25)",transition:"left var(--dur-fast)"}})})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 10px",borderRadius:8,background:"var(--bg)",border:"1px solid var(--border)",opacity:l.enabled?1:.5},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:11.5,fontWeight:600,color:"var(--text)"},children:"思考脑波呼吸动效"}),(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-muted)"},children:"模型深度思考状态图标脉冲"})]}),(0,n.jsx)("button",{type:"button",disabled:!l.enabled,onClick:()=>c({thinkingPulse:!l.thinkingPulse}),style:{width:34,height:18,borderRadius:9,background:l.enabled&&l.thinkingPulse?"var(--accent)":"var(--border)",position:"relative",cursor:l.enabled?"pointer":"not-allowed",border:"none",transition:"background var(--dur-fast)"},children:(0,n.jsx)("span",{style:{position:"absolute",top:2,left:l.enabled&&l.thinkingPulse?18:2,width:14,height:14,borderRadius:"50%",background:"#ffffff",boxShadow:"0 1px 3px rgba(0,0,0,0.25)",transition:"left var(--dur-fast)"}})})]})]}),"typography"===v&&(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10,padding:"4px 2px"},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",marginBottom:6},children:"字体预设 (Font Family)"}),(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:iA.map(e=>{let t=u===e.id;return(0,n.jsxs)("button",{type:"button",onClick:()=>h(e.id),style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"6px 8px",borderRadius:6,border:"1px solid color-mix(in srgb, var(--border) 60%, transparent)",background:t?"var(--bg-selected)":"var(--bg)",color:t?"var(--text)":"var(--text-muted)",cursor:"pointer",textAlign:"left"},children:[(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:1},children:[(0,n.jsx)("span",{style:{fontSize:12,fontWeight:600,fontFamily:e.fontFamily},children:e.name}),(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)"},children:e.description})]}),t&&(0,n.jsx)(I.A,{size:14,style:{color:"var(--accent)",flexShrink:0}})]},e.id)})})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:6},children:[(0,n.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)"},children:"对话字号大小 (Font Size)"}),(0,n.jsxs)("span",{style:{fontSize:11,fontWeight:700,color:"var(--accent)",fontFamily:"var(--font-mono)"},children:[p," px"]})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)("button",{type:"button",onClick:()=>g(Math.max(12,p-1)),disabled:p<=12,className:"shell-toolbar-btn ui-focus-ring",style:{width:26,height:26,borderRadius:6},children:(0,n.jsx)(ib.A,{size:12})}),(0,n.jsx)("input",{type:"range",min:12,max:20,step:.5,value:p,onChange:e=>g(Number(e.target.value)),style:{flex:1,accentColor:"var(--accent)",cursor:"pointer"}}),(0,n.jsx)("button",{type:"button",onClick:()=>g(Math.min(20,p+1)),disabled:p>=20,className:"shell-toolbar-btn ui-focus-ring",style:{width:26,height:26,borderRadius:6},children:(0,n.jsx)(eT.A,{size:12})})]}),(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginTop:4,fontSize:10,color:"var(--text-dim)"},children:[(0,n.jsx)("span",{children:"精简 (12px)"}),(0,n.jsx)("span",{children:"标准 (14px)"}),(0,n.jsx)("span",{children:"超大 (20px)"})]})]})]})]})]})}var iK=r(65408),iU=r(8962);function i_({open:e,onClose:t,cwd:a}){let{t:o}=(0,d.s9)(),{isDark:s,preference:l}=(0,ik.DP)(),[c,u]=(0,i.useState)(()=>{try{let e=localStorage.getItem("omp-terminal-height");return e?Number(e):280}catch{return 280}}),[p,h]=(0,i.useState)(!1),[g,f]=(0,i.useState)(null),[m,v]=(0,i.useState)("connecting"),[y,b]=(0,i.useState)(a||""),k=(0,i.useRef)(null),w=(0,i.useRef)(null),j=(0,i.useRef)(null),S=(0,i.useRef)(!1),C=(0,i.useRef)(0),I=(0,i.useRef)(280),T=(0,i.useRef)(e);(0,i.useEffect)(()=>{T.current=e},[e]);let R=(0,i.useRef)(Promise.resolve()),M=(0,i.useCallback)((e,t)=>{R.current=R.current.then(async()=>{try{await fetch("/api/terminal/input",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,data:t}),signal:AbortSignal.timeout(5e3)})}catch{}})},[]),z=(0,i.useRef)(""),E=(0,i.useCallback)(async()=>{try{v("connecting");let e=await fetch("/api/terminal/session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a})}),t=await e.json();e.ok&&t.sessionId?(f(t.sessionId),b(t.cwd||a||"")):v("disconnected")}catch{v("disconnected")}},[a]);(0,i.useEffect)(()=>{g||E()},[g,E]),(0,i.useEffect)(()=>{if(!k.current)return;let e=!0;return async function(){let{Terminal:t}=await r.e(3888).then(r.bind(r,8422)),{FitAddon:n}=await r.e(3606).then(r.bind(r,63606)),{WebLinksAddon:i}=await r.e(2414).then(r.bind(r,52414));if(!e||!k.current)return;w.current&&w.current.dispose();let a="oled"===l,o="nord"===l,d="dracula"===l,c="pine"===l,u="navy"===l,p="aurora-flow"===l,h=a?"#000000":d?"#282A36":o?"#2E3440":c?"#121B17":u?"#0F172A":p?"#0c1417":s?"#1B1916":"#FAF9F6",f=a?"#38BDF8":d?"#BD93F9":o?"#88C0D0":c?"#52B788":u?"#60A5FA":p?"#34d399":"var(--accent)",m=new t({cursorBlink:!0,fontSize:13,fontFamily:'var(--font-mono), "SF Mono", Menlo, Consolas, monospace',theme:{background:h,foreground:a?"#F8FAFC":s?"#EBE6DC":"#2B2823",cursor:f,selectionBackground:s?"rgba(255,255,255,0.2)":"rgba(0,0,0,0.15)",black:s?"#282828":"#000000",red:"#FF5555",green:"#50FA7B",yellow:"#F1FA8C",blue:"#BD93F9",magenta:"#FF79C6",cyan:"#8BE9FD",white:"#BFBFBF"}}),x=new n,v=new i;m.loadAddon(x),m.loadAddon(v),k.current.innerHTML="",m.open(k.current),x.fit(),w.current=m,j.current=x,z.current&&(m.write(z.current),z.current=""),m.onData(e=>{g&&M(g,e)})}(),()=>{e=!1,w.current&&(w.current.dispose(),w.current=null)}},[s,l,g]),(0,i.useEffect)(()=>{if(!g)return;let e=!1,t=null,r=1e3,n=!1,i=new AbortController;z.current="";let a=async()=>{if(!e)try{let e=await fetch(`/api/terminal/stream?id=${encodeURIComponent(g)}`,{signal:i.signal});if(404===e.status){n=!0,v("disconnected");return}if(!e.ok||!e.body)throw Error(`terminal stream failed: ${e.status}`);v("connected"),r=1e3;let t=e.body.getReader(),a=new TextDecoder,o="";for(;;){let e,{done:r,value:i}=await t.read();if(r)break;for(o+=a.decode(i,{stream:!0});-1!==(e=o.indexOf("\n\n"));){let t=o.slice(0,e);o=o.slice(e+2);let r=t.split("\n");if(r.some(e=>e.startsWith("event:")))continue;let i=r.find(e=>e.startsWith("data:"));if(!i)continue;let a=i.slice(5).trimStart(),s=a;try{let e=JSON.parse(a);e&&"string"==typeof e.data&&(s=e.data)}catch{}s&&(s.includes("[Terminal closed")&&(n=!0,v("disconnected")),w.current?w.current.write(s):z.current+=s)}}}catch(t){e||t?.name==="AbortError"||v("disconnected")}finally{e||n||!T.current||(t=setTimeout(a,r),r=Math.min(2*r,8e3))}};return a(),()=>{e=!0,i.abort(),t&&clearTimeout(t),fetch(`/api/terminal/session?id=${encodeURIComponent(g)}`,{method:"DELETE",keepalive:!0}).catch(()=>{})}},[g]),(0,i.useEffect)(()=>{if(e){let e=setTimeout(()=>{j.current?.fit(),w.current?.focus()},120);return()=>clearTimeout(e)}},[e,c,p]);let A=(0,i.useCallback)(e=>{S.current=!0,C.current=e.clientY,I.current=c;let r=e=>{if(!S.current)return;let r=C.current-e.clientY,n=I.current+r;if(n<110)t();else{let e=Math.max(140,Math.min(.85*window.innerHeight,n));u(e);try{localStorage.setItem("omp-terminal-height",String(e))}catch{}j.current?.fit()}},n=()=>{S.current=!1,document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",n)};document.addEventListener("mousemove",r),document.addEventListener("mouseup",n)},[c,t]),W=(0,i.useCallback)(()=>{w.current?.clear(),w.current?.focus()},[]),D=(0,i.useCallback)(async()=>{g&&await fetch(`/api/terminal/session?id=${encodeURIComponent(g)}`,{method:"DELETE"}).catch(()=>{}),R.current=Promise.resolve(),f(null),w.current?.clear(),await E()},[g,E]);return(0,n.jsxs)("div",{className:"terminal-panel-container",style:{position:"relative",width:"100%",height:e?p?"calc(100% - 40px)":`${c}px`:0,maxHeight:"85vh",display:"flex",flexDirection:"column",background:"var(--bg-panel)",borderTop:e?"1.5px solid var(--border)":"none",boxShadow:e?"0 -4px 18px rgba(0,0,0,0.14)":"none",zIndex:45,overflow:"hidden",transition:S.current?"none":"height 240ms cubic-bezier(0.22, 1, 0.36, 1)",pointerEvents:e?"auto":"none",visibility:e?"visible":"hidden"},children:[e&&(0,n.jsx)("div",{onMouseDown:A,title:"拖拽调节终端高度,向下拉到底可收起",style:{position:"absolute",top:0,left:0,right:0,height:6,cursor:"row-resize",zIndex:50}}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"6px 12px",borderBottom:"1px solid var(--border)",background:"var(--bg)",userSelect:"none",flexShrink:0},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)(r9.A,{size:15,strokeWidth:2,style:{color:"var(--accent)"}}),(0,n.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--text)"},children:o("terminal.title")||"页面内嵌终端"}),(0,n.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:4,background:"connected"===m?"color-mix(in srgb, var(--status-success) 14%, transparent)":"color-mix(in srgb, var(--status-warning) 14%, transparent)",color:"connected"===m?"var(--status-success)":"var(--status-warning)",fontFamily:"var(--font-mono)"},children:"connected"===m?"ONLINE":"connecting"===m?"CONNECTING...":"DISCONNECTED"}),y&&(0,n.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",fontFamily:"var(--font-mono)",maxWidth:320,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:y,children:y})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,n.jsx)("button",{type:"button",onClick:W,title:o("terminal.clear")||"清屏 (Clear)",className:"shell-toolbar-btn ui-focus-ring",style:{width:24,height:24,borderRadius:4},children:(0,n.jsx)(eW.A,{size:13,strokeWidth:1.8})}),(0,n.jsx)("button",{type:"button",onClick:D,title:o("terminal.restart")||"重启终端会话",className:"shell-toolbar-btn ui-focus-ring",style:{width:24,height:24,borderRadius:4},children:(0,n.jsx)(eI.A,{size:13,strokeWidth:1.8})}),(0,n.jsx)("button",{type:"button",onClick:()=>{h(e=>!e),setTimeout(()=>j.current?.fit(),100)},title:p?o("terminal.restore")||"还原":o("terminal.maximize")||"最大化",className:"shell-toolbar-btn ui-focus-ring",style:{width:24,height:24,borderRadius:4},children:p?(0,n.jsx)(iK.A,{size:13,strokeWidth:1.8}):(0,n.jsx)(iU.A,{size:13,strokeWidth:1.8})}),(0,n.jsx)("button",{type:"button",onClick:t,title:o("terminal.close")||"收起终端",className:"shell-toolbar-btn ui-focus-ring",style:{width:24,height:24,borderRadius:4},children:(0,n.jsx)(x.A,{size:14,strokeWidth:1.8})})]})]}),(0,n.jsx)("div",{ref:k,style:{flex:1,padding:"8px 12px",background:"var(--bg)",overflow:"hidden"}})]})}var iq=r(7834),iV=r(92298),iY=r(1275),iJ=r(69878);let iZ=()=>{let{t:e}=(0,d.s9)();return(0,n.jsx)("div",{role:"status",style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-muted)",fontSize:12},children:e("settingsConfig.loadingSettings")})},iG=(0,a.default)(()=>r.e(852).then(r.bind(r,70852)).then(e=>e.ModelsConfig),{loadableGenerated:{webpack:()=>[70852]},loading:iZ,ssr:!1}),iX=(0,a.default)(()=>r.e(9981).then(r.bind(r,99981)).then(e=>e.SkillsConfig),{loadableGenerated:{webpack:()=>[99981]},loading:iZ,ssr:!1}),iQ=(0,a.default)(()=>r.e(2201).then(r.bind(r,42201)).then(e=>e.PluginsConfig),{loadableGenerated:{webpack:()=>[42201]},loading:iZ,ssr:!1}),i0=(0,a.default)(()=>r.e(394).then(r.bind(r,20394)).then(e=>e.McpConfig),{loadableGenerated:{webpack:()=>[20394]},loading:iZ,ssr:!1}),i1=(0,a.default)(()=>r.e(5165).then(r.bind(r,25165)).then(e=>e.AgentsConfig),{loadableGenerated:{webpack:()=>[25165]},loading:iZ,ssr:!1}),i2={minHeight:32,padding:"4px 28px 4px 10px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg)",color:"var(--text)",fontSize:12,cursor:"pointer",appearance:"none",WebkitAppearance:"none",MozAppearance:"none",backgroundImage:"url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\")",backgroundRepeat:"no-repeat",backgroundPosition:"right 8px center",outline:"none",colorScheme:"dark light"},i4={background:"var(--bg-panel)",color:"var(--text)"},i5={fontSize:10,padding:"1px 6px",borderRadius:4,background:"var(--bg-subtle)",color:"var(--text-muted)",fontWeight:500};function i6(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}let i8=(0,i.createContext)(null),i3=[{id:"keep-tool-calls-collapsed",tab:"general",sectionKey:"settingsConfig.interfaceBehavior",labelKey:"settingsConfig.keepToolCallsCollapsed",descKey:"settingsConfig.keepToolCallsCollapsedDesc",fallbackSection:"Interface & Behavior",fallbackLabel:"Keep tool calls collapsed",fallbackDesc:"Show only compact headers while tools execute.",scope:"UI"},{id:"thinking-display-mode",tab:"general",sectionKey:"settingsConfig.interfaceBehavior",labelKey:"settingsConfig.thinkingDisplayMode",descKey:"settingsConfig.thinkingDisplayModeDesc",fallbackSection:"Interface & Behavior",fallbackLabel:"Thinking Display Behavior",fallbackDesc:"Configure whether model thinking blocks default to collapsed, auto-collapse, or always expanded.",scope:"UI"},{id:"completion-sound",tab:"general",sectionKey:"settingsConfig.interfaceBehavior",labelKey:"settingsConfig.completionSound",descKey:"settingsConfig.completionSoundDesc",fallbackSection:"Interface & Behavior",fallbackLabel:"Completion sound",fallbackDesc:"Play a tone when the agent completes a run.",scope:"UI"},{id:"message-during-active-run",tab:"general",sectionKey:"settingsConfig.interfaceBehavior",labelKey:"settingsConfig.messageDuringActiveRun",descKey:"settingsConfig.messageDuringActiveRunDesc",fallbackSection:"Interface & Behavior",fallbackLabel:"Message during active run",fallbackDesc:"What composer does on submit while agent runs. Steer interrupts; Queue follow-up delivers after finish.",scope:"UI"},{id:"global-animations",tab:"general",sectionKey:"settingsConfig.interfaceBehavior",labelKey:"settingsConfig.globalAnimations",descKey:"settingsConfig.globalAnimationsDesc",fallbackSection:"Interface & Behavior",fallbackLabel:"Global Animations",fallbackDesc:"Enable or disable all UI animations across the application.",scope:"UI"},{id:"chat-border-beam",tab:"general",sectionKey:"settingsConfig.interfaceBehavior",labelKey:"settingsConfig.chatBorderBeam",descKey:"settingsConfig.chatBorderBeamDesc",fallbackSection:"Interface & Behavior",fallbackLabel:"Chat Border Flow",fallbackDesc:"Clockwise luminous beam on input border during active conversation.",scope:"UI"},{id:"omp-bouncing-letters",tab:"general",sectionKey:"settingsConfig.interfaceBehavior",labelKey:"settingsConfig.ompBouncingLetters",descKey:"settingsConfig.ompBouncingLettersDesc",fallbackSection:"Interface & Behavior",fallbackLabel:"OMP Loader Jump",fallbackDesc:"Sequential jumping letters animation while waiting for response.",scope:"UI"},{id:"thinking-pulse",tab:"general",sectionKey:"settingsConfig.interfaceBehavior",labelKey:"settingsConfig.thinkingPulse",descKey:"settingsConfig.thinkingPulseDesc",fallbackSection:"Interface & Behavior",fallbackLabel:"Thinking Pulse",fallbackDesc:"Breathing brain pulse animation on the reasoning icon.",scope:"UI"},{id:"approval-mode",tab:"safety",sectionKey:"settingsConfig.toolSafetyApprovals",labelKey:"settingsConfig.approvalMode",descKey:"settingsConfig.approvalModeDesc",fallbackSection:"Tool Safety & Approvals",fallbackLabel:"Approval Mode",fallbackDesc:"Choose when OMP asks before tool calls.",scope:"Native OMP"},{id:"bash-override",tab:"safety",sectionKey:"settingsConfig.toolSafetyApprovals",labelKey:"settingsConfig.bashOverride",descKey:"settingsConfig.bashOverrideDesc",fallbackSection:"Tool Safety & Approvals",fallbackLabel:"Bash Override",fallbackDesc:"Override default approval policy specifically for terminal commands.",scope:"Native OMP"},{id:"extension-tool-requests",tab:"safety",sectionKey:"settingsConfig.toolSafetyApprovals",labelKey:"settingsConfig.extensionToolRequests",descKey:"settingsConfig.extensionToolRequestsDesc",fallbackSection:"Tool Safety & Approvals",fallbackLabel:"Extension Tool Requests",fallbackDesc:"Automatically approve extension tool authorization requests.",scope:"Native OMP"},{id:"reasoning",tab:"models",sectionKey:"settingsConfig.modelDefaults",labelKey:"settingsConfig.reasoning",descKey:"settingsConfig.reasoningDesc",fallbackSection:"AI Model Defaults",fallbackLabel:"Reasoning",fallbackDesc:"Default effort level for thinking-capable models.",scope:"Native OMP"},{id:"verbosity",tab:"models",sectionKey:"settingsConfig.modelDefaults",labelKey:"settingsConfig.verbosity",descKey:"settingsConfig.verbosityDesc",fallbackSection:"AI Model Defaults",fallbackLabel:"Verbosity",fallbackDesc:"Response detail level for supporting providers.",scope:"Native OMP"},{id:"personality",tab:"models",sectionKey:"settingsConfig.modelDefaults",labelKey:"settingsConfig.personality",descKey:"settingsConfig.personalityDesc",fallbackSection:"AI Model Defaults",fallbackLabel:"Personality",fallbackDesc:"Style included in OMP's system prompt.",scope:"Native OMP"},{id:"thinking-blocks",tab:"models",sectionKey:"settingsConfig.modelDefaults",labelKey:"settingsConfig.thinkingBlocks",descKey:"settingsConfig.thinkingBlocksDesc",fallbackSection:"AI Model Defaults",fallbackLabel:"Thinking Blocks",fallbackDesc:"Hide model reasoning from output view.",scope:"Native OMP"},{id:"external-thinking",tab:"models",sectionKey:"settingsConfig.modelDefaults",labelKey:"settingsConfig.externalThinking",descKey:"settingsConfig.externalThinkingDesc",fallbackSection:"AI Model Defaults",fallbackLabel:"External Thinking",fallbackDesc:"Private scratchpad reasoning via think tool.",scope:"Native OMP"},{id:"automatic-compaction",tab:"intelligence",sectionKey:"settingsConfig.contextCompaction",labelKey:"settingsConfig.automaticCompaction",descKey:"settingsConfig.automaticCompactionDesc",fallbackSection:"Context Compaction",fallbackLabel:"Automatic Compaction",fallbackDesc:"Compact context before model context limit is hit.",scope:"Native OMP"},{id:"continue-after-compaction",tab:"intelligence",sectionKey:"settingsConfig.contextCompaction",labelKey:"settingsConfig.continueAfterCompaction",descKey:"settingsConfig.continueAfterCompactionDesc",fallbackSection:"Context Compaction",fallbackLabel:"Continue After Compaction",fallbackDesc:"Resume task execution after compaction completes.",scope:"Native OMP"},{id:"maintenance-strategy",tab:"intelligence",sectionKey:"settingsConfig.contextCompaction",labelKey:"settingsConfig.maintenanceStrategy",descKey:"settingsConfig.maintenanceStrategyDesc",fallbackSection:"Context Compaction",fallbackLabel:"Maintenance Strategy",fallbackDesc:"Select algorithm used to reduce context pressure.",scope:"Native OMP"},{id:"compact-mid-turn",tab:"intelligence",sectionKey:"settingsConfig.contextCompaction",labelKey:"settingsConfig.compactMidTurn",descKey:"settingsConfig.compactMidTurnDesc",fallbackSection:"Context Compaction",fallbackLabel:"Compact Mid-Turn",fallbackDesc:"Check context limits between tool execution steps.",scope:"Native OMP"},{id:"memory-backend",tab:"intelligence",sectionKey:"settingsConfig.memoryAutoLearn",labelKey:"settingsConfig.memoryBackend",descKey:"settingsConfig.memoryBackendDesc",fallbackSection:"Memory & Auto-Learn",fallbackLabel:"Memory Backend",fallbackDesc:"Where durable knowledge is stored across sessions.",scope:"Native OMP"},{id:"enable-auto-learn",tab:"intelligence",sectionKey:"settingsConfig.memoryAutoLearn",labelKey:"settingsConfig.enableAutoLearn",descKey:"settingsConfig.enableAutoLearnDesc",fallbackSection:"Memory & Auto-Learn",fallbackLabel:"Enable Auto-Learn",fallbackDesc:"Capture reusable lessons after completed runs.",scope:"Native OMP"},{id:"private-capture-turn",tab:"intelligence",sectionKey:"settingsConfig.memoryAutoLearn",labelKey:"settingsConfig.privateCaptureTurn",descKey:"settingsConfig.privateCaptureTurnDesc",fallbackSection:"Memory & Auto-Learn",fallbackLabel:"Private Capture Turn",fallbackDesc:"Run private lesson-capture turn at completion.",scope:"Native OMP"},{id:"memory-scope",tab:"intelligence",sectionKey:"settingsConfig.memoryAutoLearn",labelKey:"settingsConfig.memoryScope",descKey:"settingsConfig.memoryScopeDesc",fallbackSection:"Memory & Auto-Learn",fallbackLabel:"Memory Scope",fallbackDesc:"Scoping for Mnemopi knowledge storage.",scope:"Native OMP"},{id:"recall-on-session-start",tab:"intelligence",sectionKey:"settingsConfig.memoryAutoLearn",labelKey:"settingsConfig.recallOnSessionStart",descKey:"settingsConfig.recallOnSessionStartDesc",fallbackSection:"Memory & Auto-Learn",fallbackLabel:"Recall on Session Start",fallbackDesc:"Load relevant memories into first turn.",scope:"Native OMP"},{id:"retain-completed-turns",tab:"intelligence",sectionKey:"settingsConfig.memoryAutoLearn",labelKey:"settingsConfig.retainCompletedTurns",descKey:"settingsConfig.retainCompletedTurnsDesc",fallbackSection:"Memory & Auto-Learn",fallbackLabel:"Retain Completed Turns",fallbackDesc:"Store completed conversation turns in memory.",scope:"Native OMP"},{id:"automatic-retry",tab:"intelligence",sectionKey:"settingsConfig.automaticRetry",labelKey:"settingsConfig.retryToggle",descKey:"settingsConfig.retryToggleDesc",fallbackSection:"Automatic Retry",fallbackLabel:"Automatic Retry",fallbackDesc:"Retry failed turns automatically.",scope:"Native OMP"},{id:"max-attempts",tab:"intelligence",sectionKey:"settingsConfig.automaticRetry",labelKey:"settingsConfig.maxAttempts",descKey:"settingsConfig.maxAttemptsDesc",fallbackSection:"Automatic Retry",fallbackLabel:"Max Attempts",fallbackDesc:"Retry limit before giving up.",scope:"Native OMP"},{id:"model-fallback",tab:"intelligence",sectionKey:"settingsConfig.automaticRetry",labelKey:"settingsConfig.modelFallback",descKey:"settingsConfig.modelFallbackDesc",fallbackSection:"Automatic Retry",fallbackLabel:"Model Fallback",fallbackDesc:"Fall back to alternative model when retries exhaust.",scope:"Native OMP"},{id:"agent-roster",tab:"agents",sectionKey:"settingsConfig.agentsTitle",labelKey:"settingsTabs.agents.label",descKey:"settingsTabs.agents.description",fallbackSection:"Agents",fallbackLabel:"Agent roster",fallbackDesc:"Browse enabled agents filtered by name and source.",scope:"Native OMP"},{id:"agent-model",tab:"agents",sectionKey:"settingsConfig.agentsTitle",labelKey:"agentsConfig.modelRoles",descKey:"modelsConfig.modelRolesDesc",fallbackSection:"Agents",fallbackLabel:"Agent model",fallbackDesc:"Model mapping and reasoning effort per agent role.",scope:"Native OMP"},{id:"agent-tools",tab:"agents",sectionKey:"settingsConfig.agentsTitle",labelKey:"agentsConfig.tools",descKey:"settingsTabs.agents.description",fallbackSection:"Agents",fallbackLabel:"Agent tools",fallbackDesc:"Allowed tools and delegated task prompt per agent.",scope:"Native OMP"},{id:"load-project-mcp-servers",tab:"mcp",sectionKey:"settingsConfig.extensionsTools",labelKey:"settingsConfig.loadProjectMcp",descKey:"settingsConfig.loadProjectMcpDesc",fallbackSection:"Extensions & Tools",fallbackLabel:"Load Project MCP Servers",fallbackDesc:"Allow project-root MCP configuration to be discovered.",scope:"Native OMP"},{id:"render-mcp-markdown",tab:"mcp",sectionKey:"settingsConfig.extensionsTools",labelKey:"settingsConfig.renderMcpMarkdown",descKey:"settingsConfig.renderMcpMarkdownDesc",fallbackSection:"Extensions & Tools",fallbackLabel:"Render MCP Markdown",fallbackDesc:"Render non-JSON MCP results as Markdown in transcript.",scope:"Native OMP"},{id:"mcp-resource-updates",tab:"mcp",sectionKey:"settingsConfig.extensionsTools",labelKey:"settingsConfig.mcpResourceUpdates",descKey:"settingsConfig.mcpResourceUpdatesDesc",fallbackSection:"Extensions & Tools",fallbackLabel:"MCP Resource Updates",fallbackDesc:"Inject server resource updates into conversation.",scope:"Native OMP"}];function i9({results:e,query:t,onSelect:r}){let{t:i,tn:a}=(0,d.s9)();return(0,n.jsxs)("div",{style:{flex:1,minHeight:0,overflowY:"auto",background:"var(--bg)",padding:16,display:"flex",flexDirection:"column",gap:10},children:[(0,n.jsx)("div",{style:{fontSize:12.5,color:"var(--text-muted)"},children:0===e.length?i("settingsConfig.noSettingsMatch",{query:t}):a("settingsConfig.searchResults",e.length,{count:e.length,query:t})}),e.map(e=>{var t;return(0,n.jsxs)("button",{type:"button",onClick:()=>r(e),style:{textAlign:"left",display:"flex",flexDirection:"column",gap:4,padding:"10px 12px",border:"1px solid var(--border)",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",color:"var(--text)",cursor:"pointer",transition:"border-color var(--dur-fast), background var(--dur-fast)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)("span",{style:{fontSize:12.5,fontWeight:600},children:e.label}),"category"===e.kind&&(0,n.jsx)("span",{style:i5,children:i("settingsConfig.chipSection")}),e.scope&&(0,n.jsx)("span",{style:i5,children:"UI"===(t=e.scope)?i("settingsConfig.chipUI"):"Native OMP"===t?i("settingsConfig.chipNativeOMP"):"Workspace"===t?i("settingsConfig.chipWorkspace"):t})]}),(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-muted)",lineHeight:1.45},children:e.description}),e.section&&(0,n.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)"},children:e.section})]},e.id)})]})}function i7({checked:e,onChange:t,disabled:r,id:i,"aria-label":a,"aria-labelledby":o,"aria-describedby":s}){return(0,n.jsx)("button",{id:i,type:"button",role:"switch","aria-checked":e,"aria-label":a,"aria-labelledby":o,"aria-describedby":s,disabled:r,onClick:()=>t(!e),className:"ui-focus-ring",style:{position:"relative",display:"inline-flex",alignItems:"center",width:40,height:24,borderRadius:12,border:"none",background:e?"var(--accent)":"var(--border)",cursor:r?"not-allowed":"pointer",transition:"background var(--dur-fast)",padding:2,flexShrink:0},children:(0,n.jsx)("span",{style:{width:20,height:20,borderRadius:10,background:"#fff",transform:e?"translateX(16px)":"translateX(0px)",transition:"transform var(--dur-fast)",boxShadow:"0 1px 3px rgba(0,0,0,0.2)"}})})}function ae({label:e,description:t,scope:r,searchId:a,children:o}){let{t:s}=(0,d.s9)(),l=(0,i.useRef)(null),c=(0,i.useContext)(i8),u=a||i6(e),p=null!==c&&(c===u||c===i6(e)),h="setting-"+u,g="setting-label-"+u,f="setting-desc-"+u;(0,i.useEffect)(()=>{p&&l.current&&l.current.scrollIntoView({behavior:"smooth",block:"center"})},[p]);let m=o;if((0,i.isValidElement)(o)){let t=o.props;m=(0,i.cloneElement)(o,{id:t.id||h,"aria-labelledby":t["aria-labelledby"]||g,"aria-describedby":t["aria-describedby"]||f,"aria-label":t["aria-label"]||e})}return(0,n.jsxs)("div",{ref:l,"data-search-id":u,style:{minWidth:0,padding:"12px 14px",border:"1px solid var(--border)",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",display:"flex",flexDirection:"column",gap:8,transition:"box-shadow var(--dur-fast), border-color var(--dur-fast)",...p?{borderColor:"var(--accent)",boxShadow:"0 0 0 2px var(--accent)"}:{}},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:10},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)("label",{id:g,htmlFor:h,style:{fontSize:12.5,fontWeight:600,color:"var(--text)",cursor:"pointer"},children:e}),r&&(0,n.jsx)("span",{style:i5,children:"UI"===r?s("settingsConfig.chipUI"):"Native OMP"===r?s("settingsConfig.chipNativeOMP"):"Workspace"===r?s("settingsConfig.chipWorkspace"):r})]}),(0,n.jsx)("span",{style:{flexShrink:0},children:m})]}),(0,n.jsx)("span",{id:f,style:{color:"var(--text-muted)",fontSize:11,lineHeight:1.45},children:t})]})}function at({activeTab:e,toolCallsDefaultCollapsed:t,onToolCallsDefaultCollapsedChange:r,thinkingDisplayMode:a="auto",onThinkingDisplayModeChange:o,cwd:s,sessionId:l,onModelsSaved:c,onPluginsReloaded:u,onOmpUpdateAvailabilityChange:p,onSelectTab:h,onClose:g}){let f=(0,rd.a)(),{t:m}=(0,d.s9)(),x=null!==s,[v,y]=(0,i.useState)(""),[b,k]=(0,i.useState)(null),[w,j]=(0,i.useState)(()=>t8()),[S,C]=(0,i.useState)(()=>{try{let e=window.localStorage.getItem("omp-sound-enabled");return null===e||"true"===e}catch{return!0}}),{motionPrefs:I,setMotionPrefs:T}=iE(),[R,z]=(0,i.useState)(null),[E,A]=(0,i.useState)(!1),[W,D]=(0,i.useState)(null),[$,L]=(0,i.useState)(!1),[N,F]=(0,i.useState)(!1),[P,B]=(0,i.useState)(!1),[O,H]=(0,i.useState)(null),[K,U]=(0,i.useState)(null),[_,q]=(0,i.useState)(null),[V,Y]=(0,i.useState)(0),[J,Z]=(0,i.useTransition)(),G=(0,i.useRef)(null),X=(0,i.useRef)(!1),Q=(0,i.useRef)(!1);(0,i.useEffect)(()=>{fetch("/api/omp-settings").then(e=>e.ok?e.json():Promise.reject(Error(`HTTP ${e.status}`))).then(e=>{Q.current||U(e.settings??{})}).catch(e=>q(e instanceof Error?e.message:String(e)))},[]);let ee=(0,i.useCallback)(e=>{Q.current=!0,U(e),q(null),G.current=e,X.current||(X.current=!0,Y(e=>e+1),(async()=>{try{for(;null!==G.current;){let e=G.current;G.current=null;try{let t=await fetch("/api/omp-settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:e})}),r=await t.json();if(!t.ok||r.error)throw Error(r.error||`HTTP ${t.status}`);null===G.current&&U(r.settings??e)}catch(e){q(e instanceof Error?e.message:String(e));break}}}finally{X.current=!1,Y(e=>Math.max(0,e-1))}})())},[]),et=(0,i.useCallback)(()=>G.current??K??{},[K]),er=(0,i.useCallback)(e=>{ee({...et(),...e})},[et,ee]),en=(0,i.useCallback)((e,t)=>{let r=G.current??K?.[e]??{};ee({...et(),[e]:{...r,...t}})},[et,K,ee]),ei=(0,i.useCallback)(e=>{let t=G.current??K??{},r=t.tools??{};ee({...t,tools:{...r,approval:{...r.approval??{},...e}}})},[K,ee]),ea=(0,i.useCallback)(async()=>{A(!0),H(null);try{let e=await fetch("/api/omp-update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"check"})}),t=await e.json();if(!e.ok||t.error)throw Error(t.error||`HTTP ${e.status}`);z(t),p(t.updateAvailable)}catch(e){H(e instanceof Error?e.message:String(e))}finally{A(!1)}},[p]),es=(0,i.useCallback)(async(e=!1)=>{L(!0);try{let t=await fetch(e?"/api/app-update?force=1":"/api/app-update"),r=await t.json();if(!t.ok||r.error)throw Error(r.error||`HTTP ${t.status}`);D(r)}catch(e){H(e instanceof Error?e.message:String(e))}finally{L(!1)}},[]),el=(0,i.useCallback)(async()=>{B(!0);try{let e=await fetch("/api/omp-update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"restart"})}),t=await e.json();if(!e.ok||t.error)throw Error(t.error||`HTTP ${e.status}`);H(m("settingsConfig.restartSuccess",{count:t.sessionsRestarted??0}))}catch(e){H(e instanceof Error?e.message:String(e))}finally{B(!1)}},[m]),ed=(0,iJ.qc)(e);(0,i.useEffect)(()=>{"system"!==ed||N||(F(!0),ea(),es())},[ed,N,ea,es]);let ec=v.trim().toLowerCase(),eu=ec.length>0,ep=(0,i.useMemo)(()=>{if(!ec)return[];let e=[];for(let t of iJ.Dx){let r=`settingsTabs.${t.id}.label`,n=`settingsTabs.${t.id}.description`,i=m(r),a=m(n),o=i!==r?i:t.label,s=a!==n?a:t.description;`${o} ${s} ${t.label} ${t.description}`.toLowerCase().includes(ec)&&e.push({id:`tab-${t.id}`,kind:"category",tab:t.id,label:o,description:s})}for(let t of i3){let r=m(t.labelKey),n=m(t.descKey),i=m(t.sectionKey),a=r!==t.labelKey?r:t.fallbackLabel,o=n!==t.descKey?n:t.fallbackDesc,s=i!==t.sectionKey?i:t.fallbackSection;`${a} ${o} ${s} ${t.fallbackLabel} ${t.fallbackDesc} ${t.fallbackSection}`.toLowerCase().includes(ec)&&e.push({id:t.id,kind:"setting",tab:t.tab,label:a,description:o,scope:t.scope,section:s})}return e},[ec,m]),eh=(0,i.useCallback)(e=>{Z(()=>h(e.tab)),k("setting"===e.kind?e.id:null),y("")},[h]),eg=(0,i.useCallback)(e=>{Z(()=>h(e))},[h]),ef=(0,i.useMemo)(()=>({flex:1,minHeight:0,display:"flex",flexDirection:"column",overflowY:"auto",background:"var(--bg)",opacity:J?.92:1,transition:J?"opacity 80ms ease-out":"opacity 120ms ease-out"}),[J]);return(0,n.jsx)(eo.lG,{open:!0,onOpenChange:e=>{e||g()},children:(0,n.jsxs)(eo.Cf,{ariaLabel:m("settingsConfig.title"),style:{width:f?"calc(100vw - 16px)":940,maxWidth:"calc(100vw - 16px)",height:f?"calc(100dvh - 16px)":"82vh",maxHeight:"calc(100dvh - 16px)",padding:0,display:"flex",flexDirection:"column",overflow:"hidden",animation:"none"},children:[(0,n.jsxs)("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:14,padding:"12px 18px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,n.jsx)(eo.L3,{style:{fontSize:16,margin:0,fontWeight:600},children:m("settingsConfig.title")}),V>0?(0,n.jsxs)("span",{style:{fontSize:11,color:"var(--accent)",padding:"2px 8px",borderRadius:10,background:"var(--bg-subtle)",display:"inline-flex",alignItems:"center",gap:4},children:[(0,n.jsx)(eI.A,{size:11,className:"spin","aria-hidden":"true"})," ",m("settingsConfig.saving")]}):(0,n.jsx)("span",{style:{fontSize:11,color:"var(--text-dim)",padding:"2px 8px",borderRadius:10,background:"var(--bg-subtle)"},children:m("settingsConfig.autoSaved")})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flex:1,maxWidth:360,justifyContent:"flex-end"},children:[(0,n.jsxs)("div",{style:{position:"relative",width:"100%",maxWidth:260},children:[(0,n.jsx)(eR.A,{size:13,"aria-hidden":"true",style:{position:"absolute",left:9,top:"50%",transform:"translateY(-50%)",color:"var(--text-muted)",pointerEvents:"none"}}),(0,n.jsx)("input",{type:"text","aria-label":m("settingsConfig.searchPlaceholder"),placeholder:m("settingsConfig.searchPlaceholder"),value:v,onChange:e=>y(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(y(""),k(null),e.target.blur())},style:{width:"100%",height:28,padding:"0 8px 0 28px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg)",color:"var(--text)",fontSize:12,outline:"none"}})]}),(0,n.jsx)("button",{type:"button",onClick:g,"aria-label":m("settingsConfig.closeSettings"),title:m("settingsConfig.closeSettings"),className:"ui-focus-ring",style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:20,lineHeight:1,padding:"4px 8px",minWidth:28,minHeight:28,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--radius-control)"},children:"\xd7"})]})]}),(0,n.jsx)("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:f?"column":"row",overflow:"hidden"},children:eu?(0,n.jsx)(i9,{results:ep,query:v.trim(),onSelect:eh}):(0,n.jsxs)(i8.Provider,{value:b,children:[(0,n.jsx)(iJ.mm,{active:ed,onSelect:eg,workspaceReady:x,layout:f?"horizontal":"vertical"}),(0,n.jsxs)("div",{style:ef,children:[_&&(0,n.jsxs)("div",{role:"alert",style:{margin:16,padding:"10px 14px",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",border:"1px solid var(--status-error)",color:"var(--status-error)",fontSize:12,display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)(M.A,{size:14,"aria-hidden":"true"})," ",_]}),"general"===ed&&(0,n.jsxs)("div",{role:"tabpanel",id:"settings-panel-general","aria-labelledby":"settings-tab-general",style:{padding:20,display:"flex",flexDirection:"column",gap:16},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{style:{fontSize:14,fontWeight:600,margin:0},children:m("settingsConfig.interfaceBehavior")}),(0,n.jsx)("p",{style:{margin:"4px 0 0",fontSize:12,color:"var(--text-muted)"},children:m("settingsConfig.interfaceBehaviorDesc")})]}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:f?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,n.jsx)(ae,{searchId:"keep-tool-calls-collapsed",label:m("settingsConfig.keepToolCallsCollapsed"),description:m("settingsConfig.keepToolCallsCollapsedDesc"),scope:"UI",children:(0,n.jsx)(i7,{checked:t,onChange:r})}),(0,n.jsx)(ae,{searchId:"thinking-display-mode",label:m("settingsConfig.thinkingDisplayMode"),description:m("settingsConfig.thinkingDisplayModeDesc"),scope:"UI",children:(0,n.jsxs)("select",{style:i2,value:a,onChange:e=>{o?.(e.target.value)},children:[(0,n.jsx)("option",{value:"auto",style:i4,children:m("settingsConfig.thinkingModeAuto")}),(0,n.jsx)("option",{value:"collapsed",style:i4,children:m("settingsConfig.thinkingModeCollapsed")}),(0,n.jsx)("option",{value:"expanded",style:i4,children:m("settingsConfig.thinkingModeExpanded")})]})}),(0,n.jsx)(ae,{searchId:"completion-sound",label:m("settingsConfig.completionSound"),description:m("settingsConfig.completionSoundDesc"),scope:"UI",children:(0,n.jsx)(i7,{checked:S,onChange:e=>{C(e);try{localStorage.setItem("omp-sound-enabled",String(e))}catch{}window.dispatchEvent(new CustomEvent("omp-sound-pref-change",{detail:e}))}})}),(0,n.jsx)(ae,{searchId:"message-during-active-run",label:m("settingsConfig.messageDuringActiveRun"),description:m("settingsConfig.messageDuringActiveRunDesc"),scope:"UI",children:(0,n.jsxs)("select",{style:i2,value:w,onChange:e=>{let t=e.target.value;try{window.localStorage.setItem(t6,t)}catch{}j(t)},children:[(0,n.jsx)("option",{value:"steer",style:i4,children:m("settingsConfig.steerCurrentRun")}),(0,n.jsx)("option",{value:"queue",style:i4,children:m("settingsConfig.queueFollowUp")})]})})]}),(0,n.jsxs)("div",{style:{marginTop:12,paddingTop:14,borderTop:"1px solid var(--border)"},children:[(0,n.jsx)("h4",{style:{fontSize:13,fontWeight:600,margin:"0 0 4px",color:"var(--text)"},children:"动画与动效 (Animations & Motion)"}),(0,n.jsx)("p",{style:{margin:"0 0 10px",fontSize:12,color:"var(--text-muted)"},children:"管理全站交互动效、边框流光与跳动动画开关"}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:f?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,n.jsx)(ae,{searchId:"global-animations",label:"全局动效总开关",description:"开启或关闭全站所有动态效果与过渡动画",scope:"UI",children:(0,n.jsx)(i7,{checked:I.enabled,onChange:e=>T({enabled:e})})}),(0,n.jsx)(ae,{searchId:"chat-border-beam",label:"对话框边框流光",description:"对话响应中沿输入框边缘顺时针流淌",scope:"UI",children:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[I.enabled&&I.chatBorderBeam&&(0,n.jsxs)("select",{style:i2,value:I.beamSpeed,onChange:e=>T({beamSpeed:Number(e.target.value)}),children:[(0,n.jsx)("option",{value:8,style:i4,children:"极慢 (8.0s)"}),(0,n.jsx)("option",{value:5.5,style:i4,children:"慢速 (5.5s)"}),(0,n.jsx)("option",{value:3.8,style:i4,children:"标准 (3.8s)"}),(0,n.jsx)("option",{value:2.2,style:i4,children:"快速 (2.2s)"})]}),(0,n.jsx)(i7,{checked:I.enabled&&I.chatBorderBeam,disabled:!I.enabled,onChange:e=>T({chatBorderBeam:e})})]})}),(0,n.jsx)(ae,{searchId:"omp-bouncing-letters",label:"OMP 字符跳动动效",description:"等待响应时 o\xb7m\xb7p 字母独立循环跳动",scope:"UI",children:(0,n.jsx)(i7,{checked:I.enabled&&I.ompBouncing,disabled:!I.enabled,onChange:e=>T({ompBouncing:e})})}),(0,n.jsx)(ae,{searchId:"thinking-pulse",label:"思考脑波呼吸动效",description:"模型深度思考状态图标脉冲",scope:"UI",children:(0,n.jsx)(i7,{checked:I.enabled&&I.thinkingPulse,disabled:!I.enabled,onChange:e=>T({thinkingPulse:e})})})]})]})]}),"safety"===ed&&(0,n.jsxs)("div",{role:"tabpanel",id:"settings-panel-safety","aria-labelledby":"settings-tab-safety",style:{padding:20,display:"flex",flexDirection:"column",gap:16},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{style:{fontSize:14,fontWeight:600,margin:0},children:m("settingsConfig.toolSafetyApprovals")}),(0,n.jsx)("p",{style:{margin:"4px 0 0",fontSize:12,color:"var(--text-muted)"},children:m("settingsConfig.toolSafetyApprovalsDesc")})]}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:f?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,n.jsx)(ae,{searchId:"approval-mode",label:m("settingsConfig.approvalMode"),description:m("settingsConfig.approvalModeDesc"),scope:"Native OMP",children:(0,n.jsxs)("select",{style:i2,value:K?.tools?.approvalMode??"yolo",onChange:e=>en("tools",{approvalMode:e.target.value}),children:[(0,n.jsx)("option",{value:"always-ask",style:i4,children:m("settingsConfig.alwaysAsk")}),(0,n.jsx)("option",{value:"write",style:i4,children:m("settingsConfig.allowWrites")}),(0,n.jsx)("option",{value:"yolo",style:i4,children:m("settingsConfig.autoApproveYolo")})]})}),(0,n.jsx)(ae,{searchId:"bash-override",label:m("settingsConfig.bashOverride"),description:m("settingsConfig.bashOverrideDesc"),scope:"Native OMP",children:(0,n.jsxs)("select",{style:i2,value:K?.tools?.approval?.bash??"prompt",onChange:e=>ei({bash:e.target.value}),children:[(0,n.jsx)("option",{value:"allow",style:i4,children:m("settingsConfig.allow")}),(0,n.jsx)("option",{value:"prompt",style:i4,children:m("settingsConfig.alwaysAsk")}),(0,n.jsx)("option",{value:"deny",style:i4,children:m("settingsConfig.deny")})]})}),(0,n.jsx)(ae,{searchId:"extension-tool-requests",label:m("settingsConfig.extensionToolRequests"),description:m("settingsConfig.extensionToolRequestsDesc"),scope:"Native OMP",children:(0,n.jsxs)("select",{style:i2,value:K?.tools?.approval?.extension??"prompt",onChange:e=>ei({extension:e.target.value}),children:[(0,n.jsx)("option",{value:"prompt",style:i4,children:m("settingsConfig.askEveryTime")}),(0,n.jsx)("option",{value:"allow",style:i4,children:m("settingsConfig.autoApprove")})]})})]})]}),"models"===ed&&(0,n.jsxs)("div",{role:"tabpanel",id:"settings-panel-models","aria-labelledby":"settings-tab-models",style:{padding:20,display:"flex",flexDirection:"column",gap:16},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{style:{fontSize:14,fontWeight:600,margin:0},children:m("settingsConfig.modelDefaults")}),(0,n.jsx)("p",{style:{margin:"4px 0 0",fontSize:12,color:"var(--text-muted)"},children:m("settingsConfig.modelDefaultsDesc")})]}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:f?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,n.jsx)(ae,{searchId:"reasoning",label:m("settingsConfig.reasoning"),description:m("settingsConfig.reasoningDesc"),scope:"Native OMP",children:(0,n.jsx)("select",{style:i2,value:K?.defaultThinkingLevel??"high",onChange:e=>er({defaultThinkingLevel:e.target.value}),children:["auto","minimal","low","medium","high","xhigh","max"].map(e=>(0,n.jsx)("option",{value:e,style:i4,children:e},e))})}),(0,n.jsx)(ae,{searchId:"verbosity",label:m("settingsConfig.verbosity"),description:m("settingsConfig.verbosityDesc"),scope:"Native OMP",children:(0,n.jsxs)("select",{style:i2,value:K?.textVerbosity??"medium",onChange:e=>er({textVerbosity:e.target.value}),children:[(0,n.jsx)("option",{value:"low",style:i4,children:m("settingsConfig.verbosityLow")}),(0,n.jsx)("option",{value:"medium",style:i4,children:m("settingsConfig.verbosityMedium")}),(0,n.jsx)("option",{value:"high",style:i4,children:m("settingsConfig.verbosityHigh")})]})}),(0,n.jsx)(ae,{searchId:"personality",label:m("settingsConfig.personality"),description:m("settingsConfig.personalityDesc"),scope:"Native OMP",children:(0,n.jsxs)("select",{style:i2,value:K?.personality??"default",onChange:e=>er({personality:e.target.value}),children:[(0,n.jsx)("option",{value:"default",style:i4,children:m("settingsConfig.personalityDefault")}),(0,n.jsx)("option",{value:"friendly",style:i4,children:m("settingsConfig.personalityFriendly")}),(0,n.jsx)("option",{value:"pragmatic",style:i4,children:m("settingsConfig.personalityPragmatic")}),(0,n.jsx)("option",{value:"none",style:i4,children:m("settingsConfig.personalityNone")})]})}),(0,n.jsx)(ae,{searchId:"thinking-blocks",label:m("settingsConfig.thinkingBlocks"),description:m("settingsConfig.thinkingBlocksDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.hideThinkingBlock??!1,onChange:e=>er({hideThinkingBlock:e})})}),(0,n.jsx)(ae,{searchId:"external-thinking",label:m("settingsConfig.externalThinking"),description:m("settingsConfig.externalThinkingDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.externalThinking??!1,onChange:e=>er({externalThinking:e})})})]})]}),"providers"===ed&&(0,n.jsx)("div",{role:"tabpanel",id:"settings-panel-providers","aria-labelledby":"settings-tab-providers",style:{display:"providers"===ed?"flex":"none",height:"100%",minHeight:0,flexDirection:"column"},children:(0,n.jsx)(iG,{embedded:!0,onClose:g,onSaved:c})}),"intelligence"===ed&&(0,n.jsxs)("div",{role:"tabpanel",id:"settings-panel-intelligence","aria-labelledby":"settings-tab-intelligence",style:{padding:20,display:"flex",flexDirection:"column",gap:18},children:[(0,n.jsxs)("section",{style:{display:"flex",flexDirection:"column",gap:10,borderTop:"1px solid var(--border)",paddingTop:16},children:[(0,n.jsx)("div",{style:{fontSize:13,fontWeight:600},children:m("settingsConfig.contextCompaction")}),(0,n.jsx)("p",{style:{margin:0,color:"var(--text-muted)",fontSize:12},children:m("settingsConfig.contextCompactionDesc")}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:f?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,n.jsx)(ae,{searchId:"automatic-compaction",label:m("settingsConfig.automaticCompaction"),description:m("settingsConfig.automaticCompactionDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.compaction?.enabled??!0,onChange:e=>en("compaction",{enabled:e})})}),(0,n.jsx)(ae,{searchId:"continue-after-compaction",label:m("settingsConfig.continueAfterCompaction"),description:m("settingsConfig.continueAfterCompactionDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.compaction?.autoContinue??!0,onChange:e=>en("compaction",{autoContinue:e})})}),(0,n.jsx)(ae,{searchId:"maintenance-strategy",label:m("settingsConfig.maintenanceStrategy"),description:m("settingsConfig.maintenanceStrategyDesc"),scope:"Native OMP",children:(0,n.jsxs)("select",{style:i2,value:K?.compaction?.strategy??"snapcompact",onChange:e=>en("compaction",{strategy:e.target.value}),children:[(0,n.jsx)("option",{value:"snapcompact",style:i4,children:m("settingsConfig.strategySnapcompact")}),(0,n.jsx)("option",{value:"handoff",style:i4,children:m("settingsConfig.strategyHandoff")}),(0,n.jsx)("option",{value:"context-full",style:i4,children:m("settingsConfig.strategyContextFull")}),(0,n.jsx)("option",{value:"shake",style:i4,children:m("settingsConfig.strategyShake")}),(0,n.jsx)("option",{value:"off",style:i4,children:m("settingsConfig.strategyOff")})]})}),(0,n.jsx)(ae,{searchId:"compact-mid-turn",label:m("settingsConfig.compactMidTurn"),description:m("settingsConfig.compactMidTurnDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.compaction?.midTurnEnabled??!0,onChange:e=>en("compaction",{midTurnEnabled:e})})})]})]}),(0,n.jsxs)("section",{style:{display:"flex",flexDirection:"column",gap:10,borderTop:"1px solid var(--border)",paddingTop:16},children:[(0,n.jsx)("div",{style:{fontSize:13,fontWeight:600},children:m("settingsConfig.memoryAutoLearn")}),(0,n.jsx)("p",{style:{margin:0,color:"var(--text-muted)",fontSize:12},children:m("settingsConfig.memoryAutoLearnDesc")}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:f?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,n.jsx)(ae,{searchId:"memory-backend",label:m("settingsConfig.memoryBackend"),description:m("settingsConfig.memoryBackendDesc"),scope:"Native OMP",children:(0,n.jsxs)("select",{style:i2,value:K?.memory?.backend??"mnemopi",onChange:e=>en("memory",{backend:e.target.value}),children:[(0,n.jsx)("option",{value:"off",style:i4,children:m("settingsConfig.memoryBackendOff")}),(0,n.jsx)("option",{value:"local",style:i4,children:m("settingsConfig.memoryBackendLocal")}),(0,n.jsx)("option",{value:"mnemopi",style:i4,children:m("settingsConfig.memoryBackendMnemopi")}),(0,n.jsx)("option",{value:"hindsight",style:i4,children:m("settingsConfig.memoryBackendHindsight")})]})}),(0,n.jsx)(ae,{searchId:"enable-auto-learn",label:m("settingsConfig.enableAutoLearn"),description:m("settingsConfig.enableAutoLearnDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.autolearn?.enabled??!0,onChange:e=>en("autolearn",{enabled:e})})}),(0,n.jsx)(ae,{searchId:"private-capture-turn",label:m("settingsConfig.privateCaptureTurn"),description:m("settingsConfig.privateCaptureTurnDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.autolearn?.autoContinue??!0,onChange:e=>en("autolearn",{autoContinue:e})})}),(0,n.jsx)(ae,{searchId:"memory-scope",label:m("settingsConfig.memoryScope"),description:m("settingsConfig.memoryScopeDesc"),scope:"Native OMP",children:(0,n.jsxs)("select",{style:i2,value:K?.mnemopi?.scoping??"per-project",onChange:e=>en("mnemopi",{scoping:e.target.value}),children:[(0,n.jsx)("option",{value:"per-project",style:i4,children:m("settingsConfig.memoryScopePerProject")}),(0,n.jsx)("option",{value:"per-project-tagged",style:i4,children:m("settingsConfig.memoryScopePerProjectTagged")}),(0,n.jsx)("option",{value:"global",style:i4,children:m("settingsConfig.memoryScopeGlobal")})]})}),(0,n.jsx)(ae,{searchId:"recall-on-session-start",label:m("settingsConfig.recallOnSessionStart"),description:m("settingsConfig.recallOnSessionStartDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.mnemopi?.autoRecall??!0,onChange:e=>en("mnemopi",{autoRecall:e})})}),(0,n.jsx)(ae,{searchId:"retain-completed-turns",label:m("settingsConfig.retainCompletedTurns"),description:m("settingsConfig.retainCompletedTurnsDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.mnemopi?.autoRetain??!0,onChange:e=>en("mnemopi",{autoRetain:e})})})]})]}),(0,n.jsxs)("section",{style:{display:"flex",flexDirection:"column",gap:10,borderTop:"1px solid var(--border)",paddingTop:16},children:[(0,n.jsx)("div",{style:{fontSize:13,fontWeight:600},children:m("settingsConfig.automaticRetry")}),(0,n.jsx)("p",{style:{margin:0,color:"var(--text-muted)",fontSize:12},children:m("settingsConfig.automaticRetryDesc")}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:f?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,n.jsx)(ae,{searchId:"automatic-retry",label:m("settingsConfig.retryToggle"),description:m("settingsConfig.retryToggleDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.retry?.enabled??!0,onChange:e=>en("retry",{enabled:e})})}),(0,n.jsx)(ae,{searchId:"max-attempts",label:m("settingsConfig.maxAttempts"),description:m("settingsConfig.maxAttemptsDesc"),scope:"Native OMP",children:(0,n.jsx)("select",{style:i2,value:String(K?.retry?.maxRetries??2),onChange:e=>en("retry",{maxRetries:Number(e.target.value)}),children:[0,1,2,3,4,5].map(e=>(0,n.jsx)("option",{value:e,style:i4,children:e},e))})}),(0,n.jsx)(ae,{searchId:"model-fallback",label:m("settingsConfig.modelFallback"),description:m("settingsConfig.modelFallbackDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.retry?.modelFallback??!1,onChange:e=>en("retry",{modelFallback:e})})})]})]})]}),"mcp"===ed&&(0,n.jsxs)("div",{role:"tabpanel",id:"settings-panel-mcp","aria-labelledby":"settings-tab-mcp",style:{display:"mcp"===ed?"flex":"none",height:"100%",minHeight:0,flexDirection:"column",overflowY:"auto",padding:20,gap:16},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{style:{fontSize:14,fontWeight:600,margin:0},children:m("settingsConfig.extensionsTools")}),(0,n.jsx)("p",{style:{margin:"4px 0 0",fontSize:12,color:"var(--text-muted)"},children:m("settingsConfig.extensionsToolsDesc")})]}),s&&(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:f?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,n.jsx)(ae,{searchId:"load-project-mcp-servers",label:m("settingsConfig.loadProjectMcp"),description:m("settingsConfig.loadProjectMcpDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.mcp?.enableProjectConfig??!0,onChange:e=>en("mcp",{enableProjectConfig:e})})}),(0,n.jsx)(ae,{searchId:"render-mcp-markdown",label:m("settingsConfig.renderMcpMarkdown"),description:m("settingsConfig.renderMcpMarkdownDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.mcp?.renderMarkdownResults??!0,onChange:e=>en("mcp",{renderMarkdownResults:e})})}),(0,n.jsx)(ae,{searchId:"mcp-resource-updates",label:m("settingsConfig.mcpResourceUpdates"),description:m("settingsConfig.mcpResourceUpdatesDesc"),scope:"Native OMP",children:(0,n.jsx)(i7,{checked:K?.mcp?.notifications??!1,onChange:e=>en("mcp",{notifications:e})})})]}),(0,n.jsx)(i0,{cwd:s,sessionId:l}),!s&&(0,n.jsx)("p",{style:{margin:0,color:"var(--text-muted)",fontSize:12},children:m("settingsConfig.selectWorkspaceForMcp")})]}),s&&"skills"===ed&&(0,n.jsx)("div",{role:"tabpanel",id:"settings-panel-skills","aria-labelledby":"settings-tab-skills",style:{display:"skills"===ed?"flex":"none",height:"100%",minHeight:0,flexDirection:"column"},children:(0,n.jsx)(iX,{embedded:!0,cwd:s,onClose:g})}),s&&"plugins"===ed&&(0,n.jsx)("div",{role:"tabpanel",id:"settings-panel-plugins","aria-labelledby":"settings-tab-plugins",style:{display:"plugins"===ed?"flex":"none",height:"100%",minHeight:0,flexDirection:"column"},children:(0,n.jsx)(iQ,{embedded:!0,cwd:s,sessionId:l,onClose:g,onReloaded:u})}),"agents"===ed&&(0,n.jsxs)("div",{role:"tabpanel",id:"settings-panel-agents","aria-labelledby":"settings-tab-agents",style:{display:"agents"===ed?"flex":"none",height:"100%",minHeight:0,flexDirection:"column",overflowY:"auto",padding:20,gap:16,...b&&["agent-roster","agent-model","agent-tools"].includes(b)?{border:"1px solid var(--accent)",boxShadow:"0 0 0 2px var(--accent)"}:{}},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{style:{fontSize:14,fontWeight:600,margin:0},children:m("settingsConfig.agentsTitle")}),(0,n.jsx)("p",{style:{margin:"4px 0 0",fontSize:12,color:"var(--text-muted)"},children:m("settingsConfig.agentsDesc")})]}),(0,n.jsx)(i1,{cwd:s})]}),"system"===ed&&(0,n.jsxs)("div",{role:"tabpanel",id:"settings-panel-system","aria-labelledby":"settings-tab-system",style:{padding:20,display:"flex",flexDirection:"column",gap:18},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{style:{fontSize:14,fontWeight:600,margin:0},children:m("settingsConfig.systemUpdates")}),(0,n.jsx)("p",{style:{margin:"4px 0 0",fontSize:12,color:"var(--text-muted)"},children:m("settingsConfig.systemUpdatesDescription")})]}),(0,n.jsxs)("section",{style:{padding:14,border:"1px solid var(--border)",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",display:"flex",flexDirection:"column",gap:10},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:13,fontWeight:600},children:m("settingsConfig.appLabel")}),(0,n.jsx)("div",{style:{marginTop:4,color:W?.updateAvailable?"var(--accent)":"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:12},children:$?m("settingsConfig.checkingUpdates"):W?.updateAvailable?m("appShell.updateVersion",{current:W.currentVersion??"?",available:W.availableVersion??"?"}):W?.currentVersion?m("settingsConfig.upToDate",{version:W.currentVersion}):m("settingsConfig.versionUnavailable")})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>void es(!0),disabled:$,"aria-label":m("settingsConfig.checkAppUpdates"),style:{padding:"6px 10px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text)",cursor:$?"wait":"pointer",fontSize:12,display:"inline-flex",alignItems:"center",gap:5},children:[(0,n.jsx)(eI.A,{size:13,"aria-hidden":"true"})," ",m("settingsConfig.refresh")]})]}),W?.updateAvailable&&(0,n.jsxs)("div",{style:{marginTop:6,padding:"10px 12px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg)",display:"flex",flexDirection:"column",gap:6},children:[(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:m("settingsConfig.runAppUpdateCommand")}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)("code",{style:{flex:1,fontFamily:"var(--font-mono)",fontSize:12,color:"var(--accent)",wordBreak:"break-all"},children:W.updateCommand||"npm install -g @37chengshan/ompweb"}),(0,n.jsxs)("button",{type:"button",onClick:()=>{(0,iq.D)(W.updateCommand||"npm install -g @37chengshan/ompweb").then(()=>H(m("appShell.commandCopied"))).catch(()=>H(m("appShell.commandCopyFailed")))},style:{display:"inline-flex",alignItems:"center",gap:5,padding:"4px 8px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-subtle)",color:"var(--text)",cursor:"pointer",fontSize:11},children:[(0,n.jsx)(e9.A,{size:12,"aria-hidden":"true"})," ",m("appShell.copyCommand")]})]})]})]}),(0,n.jsxs)("section",{style:{padding:14,border:"1px solid var(--border)",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",display:"flex",flexDirection:"column",gap:10},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{style:{fontSize:13,fontWeight:600},children:m("settingsConfig.ompLabel")}),(0,n.jsx)("div",{style:{marginTop:4,color:R?.updateAvailable?"var(--accent)":"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:12},children:E?m("settingsConfig.checkingUpdates"):R?.updateAvailable?m("appShell.updateVersion",{current:R.currentVersion??"?",available:R.availableVersion??"?"}):R?.currentVersion?m("settingsConfig.upToDate",{version:R.currentVersion}):m("settingsConfig.versionUnavailable")})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>void ea(),disabled:E,"aria-label":m("settingsConfig.checkOmpUpdates"),style:{padding:"6px 10px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text)",cursor:E?"wait":"pointer",fontSize:12,display:"inline-flex",alignItems:"center",gap:5},children:[(0,n.jsx)(eI.A,{size:13,"aria-hidden":"true"})," ",m("settingsConfig.refresh")]})]}),R?.updateAvailable&&(0,n.jsxs)("div",{style:{marginTop:6,padding:"10px 12px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg)",display:"flex",flexDirection:"column",gap:6},children:[(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)"},children:m("settingsConfig.runOmpUpdateCommand")}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)("code",{style:{flex:1,fontFamily:"var(--font-mono)",fontSize:12,color:"var(--accent)",wordBreak:"break-all"},children:R.updateCommand||"omp update"}),(0,n.jsxs)("button",{type:"button",onClick:()=>{(0,iq.D)(R.updateCommand||"omp update").then(()=>H(m("appShell.commandCopied"))).catch(()=>H(m("appShell.commandCopyFailed")))},style:{display:"inline-flex",alignItems:"center",gap:5,padding:"4px 8px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-subtle)",color:"var(--text)",cursor:"pointer",fontSize:11},children:[(0,n.jsx)(e9.A,{size:12,"aria-hidden":"true"})," ",m("appShell.copyCommand")]})]})]}),(0,n.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:8,marginTop:6},children:[(0,n.jsxs)("button",{type:"button",onClick:()=>void el(),disabled:P,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"7px 12px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-subtle)",color:"var(--text)",cursor:P?"wait":"pointer",fontSize:12},children:[(0,n.jsx)(iV.A,{size:13,"aria-hidden":"true"})," ",P?m("settingsConfig.restarting"):m("settingsConfig.restartSessions")]}),(0,n.jsxs)("a",{href:"https://github.com/can1357/oh-my-pi/releases",target:"_blank",rel:"noreferrer",style:{display:"inline-flex",alignItems:"center",gap:6,padding:"7px 12px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",textDecoration:"none",fontSize:12},children:[(0,n.jsx)(iY.A,{size:13,"aria-hidden":"true"})," ",m("settingsConfig.changelog")]})]}),O&&(0,n.jsx)("p",{role:"status",style:{margin:"4px 0 0",color:"var(--text-muted)",fontSize:12,lineHeight:1.5},children:O})]})]})]})]})})]})})}var ar=r(47421),an=r(44539),ai=r(6923),aa=r(25494),ao=r(7589);function as(e){return!Number.isFinite(e)||e<0?"0 B":e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function al(e,t){try{let r=new Date(e);if(Number.isNaN(r.getTime()))return e;return r.toLocaleString(t,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return e}}function ad({status:e}){if(!e)return null;let t={complete:{bg:"color-mix(in srgb, var(--status-success) 12%, transparent)",color:"var(--status-success)",border:"color-mix(in srgb, var(--status-success) 28%, transparent)"},interrupted:{bg:"color-mix(in srgb, var(--status-warning) 12%, transparent)",color:"var(--status-warning)",border:"color-mix(in srgb, var(--status-warning) 28%, transparent)"},aborted:{bg:"color-mix(in srgb, var(--status-warning) 12%, transparent)",color:"var(--status-warning)",border:"color-mix(in srgb, var(--status-warning) 28%, transparent)"},error:{bg:"color-mix(in srgb, var(--status-error) 12%, transparent)",color:"var(--status-error)",border:"color-mix(in srgb, var(--status-error) 28%, transparent)"},pending:{bg:"var(--bg-subtle)",color:"var(--text-dim)",border:"var(--border)"},unknown:{bg:"var(--bg-subtle)",color:"var(--text-dim)",border:"var(--border)"}},r=t[e]??t.unknown;return(0,n.jsx)("span",{style:{display:"inline-flex",alignItems:"center",padding:"1px 6px",borderRadius:"var(--radius-control)",fontSize:10,fontWeight:600,fontFamily:"var(--font-mono)",textTransform:"uppercase",letterSpacing:"0.03em",background:r.bg,color:r.color,border:`1px solid ${r.border}`,lineHeight:1.3},children:e})}function ac({icon:e,label:t,value:r,mono:i=!1,action:a}){return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10,padding:"8px 10px",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",border:"1px solid var(--border)",minWidth:0},children:[(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,borderRadius:6,background:"var(--bg-subtle)",color:"var(--text-dim)",flexShrink:0,marginTop:1},children:(0,n.jsx)(e,{size:14,"aria-hidden":"true"})}),(0,n.jsxs)("div",{style:{minWidth:0,flex:1,overflow:"hidden"},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:2},children:t}),(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text)",fontFamily:i?"var(--font-mono)":"inherit",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"break-all"},title:"string"==typeof r?r:void 0,children:r})]}),a&&(0,n.jsx)("div",{style:{flexShrink:0,marginLeft:4},children:a})]})}function au({open:e,onClose:t,onRestored:r}){let{t:a,locale:o}=(0,d.s9)(),[s,l]=(0,i.useState)([]),[u,p]=(0,i.useState)(!0),[h,g]=(0,i.useState)(!1),[f,m]=(0,i.useState)(null),[v,y]=(0,i.useState)(""),[k,w]=(0,i.useState)(null),[j,S]=(0,i.useState)(null),[C,T]=(0,i.useState)(!1),[R]=(0,i.useState)(()=>Date.now()),z=(0,i.useRef)(null),E=(0,i.useCallback)(async(e=!1)=>{e?g(!0):p(!0),m(null);try{let e=await fetch("/api/sessions/archive");if(!e.ok){let t=await e.json().catch(()=>({}));throw Error((0,c.K)(t,`errors.http${e.status}`))}let t=await e.json(),r=Array.isArray(t.archives)?t.archives:[];l(r),w(e=>e&&r.some(t=>t.key===e)?e:r.length>0?r[0].key:null)}catch(e){m(e instanceof Error?e.message:String(e))}finally{p(!1),g(!1)}},[]);(0,i.useEffect)(()=>{e&&E(!1)},[e,E]),(0,i.useEffect)(()=>{if(e){let e=setTimeout(()=>{z.current?.focus()},50);return()=>clearTimeout(e)}},[e]);let A=(0,i.useMemo)(()=>{let e=v.trim().toLowerCase();return e?s.filter(t=>{let r=(t.name??"").toLowerCase(),n=(t.id??"").toLowerCase(),i=(t.cwd??"").toLowerCase(),a=(t.firstMessage??"").toLowerCase(),o=(t.status??"").toLowerCase();return r.includes(e)||n.includes(e)||i.includes(e)||a.includes(e)||o.includes(e)}):s},[s,v]);(0,i.useEffect)(()=>{A.length>0?k&&A.some(e=>e.key===k)||w(A[0].key):w(null)},[A,k]);let W=(0,i.useMemo)(()=>k?s.find(e=>e.key===k)??null:null,[s,k]),D=(0,i.useCallback)(async e=>{try{await (0,iq.D)(e),T(!0),setTimeout(()=>T(!1),2e3),es.oR.success(a("archiveBrowser.copied"))}catch{es.oR.error(a("appShell.commandCopyFailed"))}},[a]),$=(0,i.useCallback)(async e=>{if(!j){S(e.key);try{let n=await fetch("/api/sessions/archive",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e.key})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error((0,c.K)(e,`errors.http${n.status}`))}let i=(await n.json()).sessionId||e.id;es.oR.success(a("archiveBrowser.restoreSuccess",{name:e.name||e.firstMessage.slice(0,30)||e.id.slice(0,10)})),r(i),t()}catch(t){let e=t instanceof Error?t.message:String(t);es.oR.error(a("archiveBrowser.restoreFailed",{detail:e}))}finally{S(null)}}},[j,a,r,t]);return(0,n.jsx)(eo.lG,{open:e,onOpenChange:e=>{e||t()},children:(0,n.jsxs)(eo.Cf,{ariaLabel:a("archiveBrowser.title"),style:{width:"min(95vw, 920px)",maxWidth:"min(95vw, 920px)",height:"min(90dvh, 680px)",display:"flex",flexDirection:"column",padding:0,overflow:"hidden"},children:[(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,padding:"16px 20px 14px",borderBottom:"1px solid var(--border)",background:"var(--bg)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",width:32,height:32,borderRadius:"var(--radius-control)",background:"var(--bg-subtle)",color:"var(--accent)"},children:(0,n.jsx)(eS.A,{size:17,strokeWidth:2,"aria-hidden":"true"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)(eo.L3,{style:{margin:0,fontSize:17,lineHeight:1.2},children:a("archiveBrowser.title")}),(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",marginTop:2},children:a("archiveBrowser.description")})]})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,n.jsx)(eo.m_,{content:a("archiveBrowser.refresh"),side:"bottom",children:(0,n.jsx)("button",{type:"button",onClick:()=>void E(!0),disabled:u||h,"aria-label":a("archiveBrowser.refresh"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:30,height:30,border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text)",cursor:u||h?"wait":"pointer",transition:"background var(--dur-fast), border-color var(--dur-fast)"},children:(0,n.jsx)(eI.A,{size:14,strokeWidth:2,className:h?"icon-spin":void 0,"aria-hidden":"true"})})}),(0,n.jsx)(eo.HM,{style:{display:"flex",alignItems:"center",justifyContent:"center",width:30,height:30,border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:16,lineHeight:1,padding:0},"aria-label":a("archiveBrowser.close"),children:(0,n.jsx)(x.A,{size:15,strokeWidth:2,"aria-hidden":"true"})})]})]}),(0,n.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center"},children:[(0,n.jsx)(eR.A,{size:14,strokeWidth:2,style:{position:"absolute",left:10,color:"var(--text-dim)",pointerEvents:"none"},"aria-hidden":"true"}),(0,n.jsx)("input",{ref:z,type:"text",value:v,onChange:e=>y(e.target.value),placeholder:a("archiveBrowser.searchPlaceholder"),style:{width:"100%",height:34,padding:"0 32px 0 32px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text)",fontSize:12.5,outline:"none",transition:"border-color var(--dur-fast)"},className:"ui-focus-ring"}),v&&(0,n.jsx)("button",{type:"button",onClick:()=>y(""),"aria-label":a("archiveBrowser.close"),style:{position:"absolute",right:8,display:"flex",alignItems:"center",justifyContent:"center",width:20,height:20,border:"none",borderRadius:4,background:"transparent",color:"var(--text-dim)",cursor:"pointer",padding:0},children:(0,n.jsx)(x.A,{size:12,strokeWidth:2,"aria-hidden":"true"})})]})]}),(0,n.jsx)("div",{style:{display:"flex",flex:1,minHeight:0,overflow:"hidden"},children:u&&0===s.length?(0,n.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,color:"var(--text-dim)",fontSize:13},children:[(0,n.jsx)(eI.A,{size:22,strokeWidth:2,className:"icon-spin","aria-hidden":"true"}),(0,n.jsx)("span",{children:a("archiveBrowser.loading")})]}):f&&0===s.length?(0,n.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,padding:24,textAlign:"center"},children:[(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",width:40,height:40,borderRadius:"var(--radius-card)",background:"color-mix(in srgb, var(--status-error) 12%, transparent)",color:"var(--status-error)"},children:(0,n.jsx)(M.A,{size:20,strokeWidth:2,"aria-hidden":"true"})}),(0,n.jsxs)("div",{style:{maxWidth:420},children:[(0,n.jsx)("div",{style:{fontSize:14,fontWeight:600,color:"var(--text)",marginBottom:4},children:a("archiveBrowser.loadFailed",{detail:""}).replace(/:\s*$/,"")}),(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",wordBreak:"break-word"},children:f})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>void E(!1),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 14px",borderRadius:"var(--radius-control)",background:"var(--accent-strong)",color:"var(--on-accent)",border:"none",fontSize:12,fontWeight:600,cursor:"pointer"},children:[(0,n.jsx)(eI.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),a("archiveBrowser.retry")]})]}):0===s.length?(0,n.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:10,padding:24,textAlign:"center"},children:[(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",width:44,height:44,borderRadius:"var(--radius-card)",background:"var(--bg-subtle)",color:"var(--text-dim)"},children:(0,n.jsx)(eS.A,{size:22,strokeWidth:1.8,"aria-hidden":"true"})}),(0,n.jsx)("div",{style:{fontSize:14,fontWeight:600,color:"var(--text)"},children:a("archiveBrowser.noArchives")}),(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",maxWidth:320},children:a("archiveBrowser.noArchivesDescription")})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{style:{width:"min(340px, 40%)",flexShrink:0,borderRight:"1px solid var(--border)",background:"var(--bg-panel)",display:"flex",flexDirection:"column",minHeight:0},children:[(0,n.jsx)("div",{style:{padding:"8px 12px",fontSize:11,fontWeight:600,color:"var(--text-dim)",borderBottom:"1px solid var(--border)",display:"flex",justifyContent:"space-between",alignItems:"center"},children:(0,n.jsx)("span",{children:a("archiveBrowser.count",{count:A.length})})}),(0,n.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"6px 8px",display:"flex",flexDirection:"column",gap:4},children:0===A.length?(0,n.jsxs)("div",{style:{padding:"32px 16px",textAlign:"center",color:"var(--text-dim)",fontSize:12},children:[(0,n.jsx)("div",{style:{fontWeight:600,marginBottom:4,color:"var(--text-muted)"},children:a("archiveBrowser.noMatches")}),(0,n.jsx)("div",{children:a("archiveBrowser.noMatchesDescription")})]}):A.map(e=>{let t=e.key===k,r=e.name||e.firstMessage.trim().slice(0,48)||e.id.slice(0,12),i=function(e,t){let r=new Date(e).getTime();if(!Number.isFinite(r))return null;let n=Math.max(0,Math.floor((t-r)/6e4));if(n<1)return"now";if(n<60)return`${n}m`;let i=Math.floor(n/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);if(a<30)return`${a}d`;let o=Math.floor(a/30);return o<12?`${o}mo`:`${Math.floor(o/12)}y`}(e.archivedAt||e.created,R);return(0,n.jsxs)("button",{type:"button",onClick:()=>w(e.key),style:{display:"flex",flexDirection:"column",gap:4,padding:"9px 10px",borderRadius:"var(--radius-control)",border:t?"1px solid var(--accent)":"1px solid transparent",background:t?"var(--bg-selected)":"transparent",color:"var(--text)",textAlign:"left",cursor:"pointer",transition:"background var(--dur-fast), border-color var(--dur-fast)",outline:"none"},className:"sidebar-session-row",children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:6,minWidth:0},children:[(0,n.jsx)("span",{style:{fontSize:12.5,fontWeight:t?600:500,color:t?"var(--accent)":"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},children:r}),i&&(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)",flexShrink:0,fontVariantNumeric:"tabular-nums"},children:i})]}),(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,color:"var(--text-dim)",overflow:"hidden"},children:(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},title:e.cwd,children:e.cwd})}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:10.5,color:"var(--text-muted)",marginTop:2},children:[(0,n.jsxs)("span",{children:[e.messageCount," msgs"]}),(0,n.jsx)("span",{children:"•"}),(0,n.jsx)("span",{children:as(e.size)}),e.status&&(0,n.jsx)("div",{style:{marginLeft:"auto"},children:(0,n.jsx)(ad,{status:e.status})})]})]},e.key)})})]}),(0,n.jsx)("div",{style:{flex:1,display:"flex",flexDirection:"column",minHeight:0,background:"var(--bg)",overflowY:"auto"},children:W?(0,n.jsxs)("div",{style:{padding:"20px 24px",display:"flex",flexDirection:"column",gap:18},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:16,flexWrap:"wrap"},children:[(0,n.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4},children:[(0,n.jsx)("h3",{style:{margin:0,fontSize:16,fontWeight:600,color:"var(--text)",wordBreak:"break-word"},children:W.name||W.firstMessage.trim().slice(0,60)||W.id}),W.status&&(0,n.jsx)(ad,{status:W.status})]}),(0,n.jsx)("div",{style:{fontSize:11.5,color:"var(--text-muted)",fontFamily:"var(--font-mono)",wordBreak:"break-all"},children:W.id})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>void $(W),disabled:null!==j,style:{display:"inline-flex",alignItems:"center",gap:7,padding:"8px 16px",borderRadius:"var(--radius-control)",background:"var(--accent-strong)",color:"var(--on-accent)",border:"none",fontSize:13,fontWeight:600,cursor:null!==j?"wait":"pointer",opacity:null!==j?.7:1,boxShadow:"0 1px 3px rgba(0,0,0,0.12)",transition:"opacity var(--dur-fast), transform var(--dur-fast)",flexShrink:0},children:[(0,n.jsx)(iV.A,{size:14,strokeWidth:2.2,className:j===W.key?"icon-spin":void 0,"aria-hidden":"true"}),(0,n.jsx)("span",{children:j===W.key?a("archiveBrowser.restoring"):a("archiveBrowser.restore")})]})]}),(0,n.jsx)("div",{style:{padding:"10px 12px",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",border:"1px solid var(--border)",fontSize:12,color:"var(--text-muted)",lineHeight:1.45},children:a("archiveBrowser.restoreNotice")}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:10},children:[(0,n.jsx)(ac,{icon:b.A,label:a("archiveBrowser.directory"),value:W.cwd,mono:!0}),(0,n.jsx)(ac,{icon:ar.A,label:a("archiveBrowser.sessionId"),value:W.id,mono:!0,action:(0,n.jsx)(eo.m_,{content:a("archiveBrowser.copyId"),side:"left",children:(0,n.jsx)("button",{type:"button",onClick:()=>void D(W.id),"aria-label":a("archiveBrowser.copyId"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:22,height:22,border:"none",borderRadius:4,background:"transparent",color:"var(--text-dim)",cursor:"pointer",padding:0},children:C?(0,n.jsx)(I.A,{size:13,style:{color:"var(--status-success)"},"aria-hidden":"true"}):(0,n.jsx)(e9.A,{size:13,"aria-hidden":"true"})})})}),(0,n.jsx)(ac,{icon:an.A,label:a("archiveBrowser.created"),value:al(W.created,o)}),(0,n.jsx)(ac,{icon:ai.A,label:a("archiveBrowser.archivedAt"),value:al(W.archivedAt,o)}),(0,n.jsx)(ac,{icon:aa.A,label:a("archiveBrowser.messages"),value:`${W.messageCount}`}),(0,n.jsx)(ac,{icon:ao.A,label:a("archiveBrowser.size"),value:as(W.size)})]}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,n.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.04em"},children:a("archiveBrowser.firstMessage")}),(0,n.jsx)("div",{style:{padding:"12px 14px",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",border:"1px solid var(--border)",fontSize:12.5,lineHeight:1.55,color:W.firstMessage.trim()?"var(--text)":"var(--text-dim)",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:200,overflowY:"auto",fontStyle:W.firstMessage.trim()?"normal":"italic"},children:W.firstMessage.trim()||a("archiveBrowser.noFirstMessage")})]})]}):(0,n.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:13,padding:24,textAlign:"center"},children:[(0,n.jsx)(eS.A,{size:28,strokeWidth:1.5,style:{marginBottom:10,opacity:.6},"aria-hidden":"true"}),(0,n.jsx)("span",{children:a("archiveBrowser.selectPrompt")})]})})]})})]})})}let ap=(0,a.default)(()=>Promise.all([r.e(4854),r.e(9754),r.e(5658)]).then(r.bind(r,65658)).then(e=>e.FileViewer),{loadableGenerated:{webpack:()=>[65658]},ssr:!1,loading:()=>(0,n.jsx)(av,{})}),ah="omp-web:sidebar-width",ag="omp-web:tool-calls-collapsed",af="omp-web:thinking-display-mode";function am(e){return Math.min(520,Math.max(200,Math.round(e)))}let ax=(0,a.default)(()=>Promise.all([r.e(8114),r.e(1133)]).then(r.bind(r,11133)).then(e=>e.CommandPalette),{loadableGenerated:{webpack:()=>[11133]},ssr:!1});function av(){let{t:e}=(0,d.s9)();return(0,n.jsx)("div",{role:"status",style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:12},children:e("appShell.loading")})}function ay(){let e,t,r,a,l,u,p,h,g,f,m,x,v,y,b=(0,o.useRouter)(),k=(0,o.useSearchParams)(),[w]=(0,i.useState)(()=>{let e;return{requestedCwd:e=k.get("cwd")?.trim()||null,sessionId:e?null:k.get("session")}}),{isDark:j,preference:S,toggleTheme:C}=(0,ik.DP)(),{t:T,locale:R}=(0,d.s9)(),M=(0,rd.a)(),[z,E]=(0,i.useState)(null),[A,W]=(0,i.useState)(null),[D,$]=(0,i.useState)(()=>w.requestedCwd?"validating":"idle"),[L,N]=(0,i.useState)(null),[F,P]=(0,i.useState)(0),[B,O]=(0,i.useState)(0),[H,K]=(0,i.useState)(0),[U,_]=(0,i.useState)(!1),[q,V]=(0,i.useState)(null),[Y,J]=(0,i.useState)(!1),[Z,G]=(0,i.useState)(0),[X,Q]=(0,i.useState)(!0),[ee,et]=(0,i.useState)(!1),[er,en]=(0,i.useState)(260),[ei,ea]=(0,i.useState)(!0),[eo,ed]=(0,i.useState)("auto"),[ec,eu]=(0,i.useState)(!1),[ep,eh]=(0,i.useState)(!1),[eg,ef]=(0,i.useState)(()=>{try{let e=localStorage.getItem("omp-right-panel-width");return e?Number(e):480}catch{return 480}}),em=(0,i.useCallback)(e=>{e.preventDefault();let t=e.clientX,r=e=>{let r=eg+(t-e.clientX);if(r<180)tS(!1);else{tS(!0);let e=Math.min(.75*window.innerWidth,Math.max(260,r));ef(e);try{localStorage.setItem("omp-right-panel-width",String(e))}catch{}}},n=()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",n)};document.addEventListener("mousemove",r),document.addEventListener("mouseup",n)},[eg]),ex=(0,i.useRef)(null),ev=(0,i.useRef)(null),ey=(0,i.useRef)(260);(0,i.useEffect)(()=>{en(function(){try{let e=window.localStorage.getItem(ah),t=e?Number(e):NaN;return Number.isFinite(t)?am(t):260}catch{return 260}}());try{ea("false"!==window.localStorage.getItem(ag))}catch{}try{let e=window.localStorage.getItem(af);("collapsed"===e||"expanded"===e||"auto"===e)&&ed(e)}catch{}},[]);let eb=(0,i.useCallback)(e=>{ea(e);try{window.localStorage.setItem(ag,String(e))}catch{}},[]),ek=(0,i.useCallback)(e=>{ed(e);try{window.localStorage.setItem(af,e)}catch{}},[]),ew=(0,i.useRef)(!1);(0,i.useEffect)(()=>{if(!ew.current){ew.current=!0;return}if(!ec)try{window.localStorage.setItem(ah,String(er))}catch{}},[er,ec]);let[eS,eC]=(0,i.useState)(!1),[eI,eT]=(0,i.useState)(!1);(0,i.useEffect)(()=>{M&&Q(!1)},[M]),(0,i.useEffect)(()=>{et(!0)},[]),(0,i.useLayoutEffect)(()=>{if(X||!ee)return;let e=ev.current,t=document.activeElement;e&&t instanceof HTMLElement&&e.contains(t)&&t.blur()},[X,ee]),(0,i.useEffect)(()=>{let e=new AbortController;return fetch("/api/omp-update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"check"}),signal:e.signal}).then(e=>e.ok?e.json():null).then(e=>{if(eT(!!e?.updateAvailable),!e?.updateAvailable||!e.availableVersion)return;let t=e.updateCommand||"omp update";es.oR.info((0,d.Tl)("appShell.ompUpdateAvailable"),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,marginTop:4},children:[(0,n.jsx)("div",{children:(0,d.Tl)("appShell.updateVersion",{current:e.currentVersion??"?",available:e.availableVersion})}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,n.jsx)("code",{style:{background:"var(--bg-panel)",padding:"3px 7px",borderRadius:"var(--radius-control)",fontSize:11,fontFamily:"var(--font-mono)"},children:t}),(0,n.jsx)("button",{type:"button",onClick:()=>{(0,iq.D)(t).then(()=>es.oR.success((0,d.Tl)("appShell.commandCopied"))).catch(()=>es.oR.error((0,d.Tl)("appShell.commandCopyFailed")))},style:{padding:"3px 7px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text)",cursor:"pointer",fontSize:11},children:(0,d.Tl)("appShell.copyCommand")})]})]}))}).catch(()=>{}),()=>e.abort()},[]),(0,i.useEffect)(()=>{let e=new AbortController;return fetch("/api/app-update",{signal:e.signal}).then(e=>e.ok?e.json():null).then(e=>{if(eC(!!e?.updateAvailable),!e?.updateAvailable||!e.availableVersion)return;let t=e.updateCommand||"npm install -g @37chengshan/ompweb";es.oR.info((0,d.Tl)("appShell.appUpdateAvailable"),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,marginTop:4},children:[(0,n.jsx)("div",{children:(0,d.Tl)("appShell.updateVersion",{current:e.currentVersion??"?",available:e.availableVersion})}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,n.jsx)("code",{style:{background:"var(--bg-panel)",padding:"3px 7px",borderRadius:"var(--radius-control)",fontSize:11,fontFamily:"var(--font-mono)"},children:t}),(0,n.jsx)("button",{type:"button",onClick:()=>{(0,iq.D)(t).then(()=>es.oR.success((0,d.Tl)("appShell.commandCopied"))).catch(()=>es.oR.error((0,d.Tl)("appShell.commandCopyFailed")))},style:{padding:"3px 7px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text)",cursor:"pointer",fontSize:11},children:(0,d.Tl)("appShell.copyCommand")})]})]}))}).catch(()=>{}),()=>e.abort()},[]);let eR=(0,i.useRef)(null),eM=(0,i.useRef)(null),[ez,eE]=(0,i.useState)([]),[eA,eW]=(0,i.useState)(null),eD=(0,i.useRef)(null),e$=(0,i.useCallback)((e,t,r)=>{eE(e),eW(t),eD.current=r},[]);(0,i.useCallback)(async()=>{let e=z?.cwd??A??w.requestedCwd;try{let t=await fetch("/api/terminal/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e})}),r=await t.json().catch(()=>({}));t.ok?es.oR.info(T("appShell.terminalOpened")||`已在 ${r.terminal??"终端"} 打开工作区`):es.oR.error(r.error||"打开终端失败")}catch(t){let e=t instanceof Error?t.message:"打开终端请求失败";es.oR.error(e)}},[z?.cwd,A,w.requestedCwd,T]);let eN=(0,i.useCallback)(e=>{eD.current?.(e)},[]),[eF,eP]=(0,i.useState)(null),[eB,eO]=(0,i.useState)(!1),eH=(0,i.useRef)(null),eK=(0,i.useRef)(0),eU=(0,i.useRef)(null),e_=(0,i.useRef)(null),eq=(0,i.useCallback)(e=>{eP(e),eO(!1)},[]),eV=(0,i.useCallback)(e=>{eK.current+=1,eH.current=e,eO(!1)},[]),[eY,eJ]=(0,i.useState)(null),[eG,eX]=(0,i.useState)({kind:"idle"}),eQ=(0,i.useRef)(null),e0=(0,i.useRef)(z?.id??null);e0.current=z?.id??null;let e1=(0,i.useCallback)(e=>{eJ(e)},[]),[e2,e4]=(0,i.useState)(null),e5=(0,i.useRef)(null),e6=(0,i.useCallback)((e,t)=>{(0,iq.D)(t).then(()=>{e5.current&&clearTimeout(e5.current),e4(e),e5.current=setTimeout(()=>e4(null),1400)})},[]);(0,i.useEffect)(()=>()=>{e5.current&&clearTimeout(e5.current),eQ.current&&clearTimeout(eQ.current)},[]);let[e8,e3]=(0,i.useState)(null),[e9,e7]=(0,i.useState)(null),te=(0,i.useCallback)(e=>{e3(e)},[]),tt=(0,i.useCallback)(e=>{e7(e)},[]),[tr,tn]=(0,i.useState)(null),[ti,ta]=(0,i.useState)(null),to=(0,i.useCallback)(e=>{M&&Q(!1),tn(t=>t===e?null:e)},[M]),[ts,tl]=(0,i.useState)(null),td=(0,i.useCallback)(e=>{tl(e)},[]),tc=(0,i.useCallback)(()=>{let e="system"!==tr;if(to("system"),!e||eB||null!==eF)return;let t=eH.current;if(!t)return;let r=++eK.current;eO(!0),t().catch(e=>{console.error("Failed to load system prompt:",e)}).finally(()=>{eK.current===r&&eO(!1)})},[tr,eF,eB,to]),tu=(0,i.useCallback)(()=>{M&&Q(!1),tn("session")},[M]),tp=(0,i.useCallback)(()=>{M&&tn(null),Q(e=>!e)},[M]),tg=(0,i.useCallback)(()=>{en(260)},[]),tf=(0,i.useCallback)(e=>{en(t=>am(t+e))},[]),tm=(0,i.useCallback)(e=>{"ArrowLeft"===e.key?(e.preventDefault(),tf(-10)):"ArrowRight"===e.key?(e.preventDefault(),tf(10)):("Enter"===e.key||" "===e.key)&&(e.preventDefault(),tg())},[tf,tg]),tx=(0,i.useCallback)(e=>{if(M)return;e.preventDefault();let t=e.clientX;eu(!0);let r=e=>{let r=am(er+(e.clientX-t));ev.current?.style.setProperty("--sidebar-width",`${r}px`),ey.current=r},n=()=>{window.removeEventListener("mousemove",r),window.removeEventListener("mouseup",n),ex.current=null,eu(!1),en(ey.current),document.body.style.cursor="",document.body.style.userSelect=""};document.body.style.cursor="col-resize",document.body.style.userSelect="none",ey.current=er,ex.current={onMove:r,onUp:n},window.addEventListener("mousemove",r),window.addEventListener("mouseup",n)},[M,er]);(0,i.useEffect)(()=>()=>{let e=ex.current;e&&(window.removeEventListener("mousemove",e.onMove),window.removeEventListener("mouseup",e.onUp),ex.current=null,document.body.style.cursor="",document.body.style.userSelect="")},[]),(0,i.useEffect)(()=>{if(!tr||!eM.current)return;let e=()=>{let e=eM.current.getBoundingClientRect();ta({top:e.bottom,left:e.left,width:e.width})};e();let t=new ResizeObserver(e);return t.observe(eM.current),()=>t.disconnect()},[tr]),(0,i.useEffect)(()=>{if(!tr||"branches"===tr)return;let e=e=>{e.target instanceof Element&&e.target.closest("[data-top-panel]")||eU.current?.contains(e.target)||e_.current?.contains(e.target)||tn(null)},t=e=>{"Escape"===e.key&&(e.stopPropagation(),tn(null))};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[tr]);let[tv,ty]=(0,i.useState)([]),[tb,tk]=(0,i.useState)(null),[tj,tS]=(0,i.useState)(!1),tC=(0,i.useCallback)((e,t)=>{eR.current?.insertText(rl(e,t))},[]),tI=(0,i.useCallback)(e=>{let t=e.map(e=>rl(e,!1)).join("");t&&eR.current?.insertText(t)},[]),tT=(0,i.useCallback)((e,t,r)=>{let n,i,a,o;eR.current?.insertText((n=Math.max(1,Math.min(t,r)),i=Math.max(1,Math.max(t,r)),a=e.includes(" ")?`@"${e}"`:`@${e}`,o=n===i?`:${n}`:`:${n}-${i}`,`${a}${o} `))},[]),tR=w.sessionId,[tM,tz]=(0,i.useState)(null),[tE,tA]=(0,i.useState)(()=>!tR),tW=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let e=w.requestedCwd;if(!e)return;let t=new AbortController;return $("validating"),N(null),fetch("/api/cwd/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e}),signal:t.signal}).then(async e=>{let t=await e.json().catch(()=>({}));if(!e.ok||!t.cwd)throw Error(t.error||t.code?(0,c.K)(t):`HTTP ${e.status}`);tW.current=!0,W(t.cwd),$("ready")}).catch(e=>{t.signal.aborted||(N(e instanceof Error?e.message:String(e)),$("error"))}),()=>t.abort()},[w]);let tD=(0,i.useCallback)((e,t)=>{if(tz(e),!e)return;if(tW.current){tW.current=!1;return}let r=t??e,n=z?z.projectRoot??z.cwd:null;n&&ej(n)===ej(r)||(E(null),W(t=>t&&t!==e?null:t),O(e=>e+1),eE([]),eW(null),eP(null),eO(!1),tn(null),b.replace("/",{scroll:!1}))},[b,z]),t$=(0,i.useCallback)((e,t=!1)=>{W(null),E(e),O(e=>e+1),eP(null),eO(!1),tA(!0),M&&!t&&Q(!1),t&&(tW.current=!0),t||b.replace(`?session=${encodeURIComponent(e.id)}`,{scroll:!1})},[b,M]),tL=(0,i.useCallback)((e,t)=>{E(null),W(t),O(e=>e+1),eE([]),eW(null),eP(null),eO(!1),tn(null),M&&Q(!1),b.replace("/",{scroll:!1})},[b,M]);!function(e){let{onNewSession:t,activeCwd:r}=e;(0,i.useEffect)(()=>{let e=e=>{if("Escape"===e.key){if(!s)return;let t=e.target?.tagName;if("TEXTAREA"===t||"INPUT"===t)return;e.preventDefault(),s();return}if("n"===e.key&&e.ctrlKey&&e.altKey){if(!r||!t)return;e.preventDefault(),t(r)}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[r,t])}({onNewSession:e=>tL(`kb-${Date.now()}`,e),activeCwd:tM});let tN=(0,i.useCallback)(e=>{fetch("/api/sessions").then(e=>e.ok?e.json():null).then(t=>{let r=t?.sessions.find(t=>t.id===e);r&&E(t=>t&&t.id===e&&!t.projectRoot?r:t)}).catch(()=>{})},[]),tF=(0,i.useCallback)(e=>{W(null),E(e),P(e=>e+1),tN(e.id),b.replace(`?session=${encodeURIComponent(e.id)}`,{scroll:!1})},[b,tN]),tP=(0,i.useCallback)(()=>{if(P(e=>e+1),K(e=>e+1),"hidden"!==document.visibilityState||!("Notification"in window))return;let e=()=>{!function(e,t,r,n={createNotification:(e,t)=>new Notification(e,t)}){try{let i=n.createNotification(e,{body:t});i.onclick=()=>{i.close(),r()}}catch{return!1}}(z?.name??(0,d.Tl)("appShell.sessionComplete"),(0,d.Tl)("appShell.taskFinished"),()=>{window.focus(),z&&t$(z)})};"granted"===Notification.permission?e():"default"===Notification.permission&&Notification.requestPermission().then(t=>{"granted"===t&&e()})},[t$,z]),tB=(0,i.useCallback)(async()=>{let e=z?.id;if(e&&"naming"!==eG.kind){eQ.current&&clearTimeout(eQ.current),tn(null),eX({kind:"naming"});try{let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/auto-name`,{method:"POST"}),r=await t.json().catch(()=>({}));if(!t.ok||!r.title)throw Error(r.error||r.code?(0,c.K)(r):`HTTP ${t.status}`);let n=r.title.trim();if(P(e=>e+1),e0.current!==e)return;E(t=>t?.id===e?{...t,name:n}:t),eJ(t=>t?.sessionId===e?{...t,sessionName:n}:t),eX({kind:"success"}),eQ.current=setTimeout(()=>eX({kind:"idle"}),1800)}catch(t){if(e0.current!==e)return;eX({kind:"error",message:t instanceof Error?t.message:String(t)}),eQ.current=setTimeout(()=>eX({kind:"idle"}),5e3)}}},[eG.kind,z?.id]);(0,i.useEffect)(()=>{eQ.current&&clearTimeout(eQ.current),eX({kind:"idle"})},[z?.id]);let tO=(0,i.useCallback)(()=>{_(!0),K(e=>e+1)},[]),tH=(0,i.useCallback)(()=>{_(!1)},[]),tK=(0,i.useCallback)(e=>{P(e=>e+1),O(e=>e+1),W(null),E(t=>({...t??{path:"",cwd:"",created:"",modified:"",messageCount:0,firstMessage:""},id:e})),tN(e),b.replace(`?session=${encodeURIComponent(e)}`,{scroll:!1})},[b,tN]),tU=(0,i.useCallback)(()=>{tA(!0)},[]),t_=(0,i.useCallback)(e=>{if(P(e=>e+1),z?.id===e){let e=z.cwd;E(null),W(e??null),O(e=>e+1),eE([]),eW(null),eP(null),tn(null),b.replace("/",{scroll:!1})}},[z,b]),tq=(0,i.useCallback)(async e=>{J(!1),eL([e]),P(e=>e+1);let t=async(r=5)=>{try{let t=await fetch("/api/sessions");if(t.ok){let r=await t.json(),n=r.sessions?.find(t=>t.id===e);if(n)return void t$(n,!1)}}catch{}r>0?setTimeout(()=>void t(r-1),300):b.replace(`?session=${encodeURIComponent(e)}`,{scroll:!1})};t()},[t$,b]),tV=(0,i.useCallback)((e,t,r)=>{let n=`file:${e}`;ty(i=>{let a=i.find(e=>e.id===n);return a?r&&a.sourceSessionId!==r?i.map(e=>e.id===n?{...e,sourceSessionId:r}:e):i:[...i,{id:n,label:t,filePath:e,sourceSessionId:r}]}),tk(n),tS(!0),M&&Q(!1)},[M]),tY=(0,i.useCallback)(e=>{tV(e,(0,el.WP)(e),z?.id??null)},[tV,z?.id]),tJ=(0,i.useCallback)(e=>{let t=tv.filter(t=>t.id!==e);ty(t),0===t.length&&tS(!1),tk(r=>r!==e?r:t.length>0?t[t.length-1].id:null)},[tv]),tZ=(0,i.useCallback)(()=>{z&&window.open(`/api/sessions/${encodeURIComponent(z.id)}/export?inline=1`,"_blank","noopener,noreferrer")},[z]),tG=A??(null===z&&tM?tM:null),tX=null!==z||null!==tG,tQ=tE&&!tX,t0=tM?(0,el.WP)(tM)||tM:null,t1=t0?`${t0} - omp web`:"omp web";(0,i.useEffect)(()=>{let e=()=>{document.title!==t1&&(document.title=t1)};e();let t=new MutationObserver(e);return t.observe(document.head,{childList:!0,subtree:!0,characterData:!0}),()=>t.disconnect()},[t1]);let t2=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(ax,{onSelectSession:t$,onNewSession:()=>tL(`palette-${Date.now()}`,tM??""),currentModel:null}),(0,n.jsx)(eZ,{selectedSessionId:z?.id??null,optimisticSession:z?.path===""?z:null,onSelectSession:t$,onNewSession:tL,initialSessionId:tR,skipInitialProjectSelection:null!==w.requestedCwd,onInitialRestoreDone:tU,refreshKey:F,onSessionDeleted:t_,selectedCwd:z?.cwd??A??null,onCwdChange:tD,onOpenFile:tV,explorerRefreshKey:H,onExplorerRefresh:tO,explorerRefreshing:U,onExplorerRefreshDone:tH,onAtMention:tC,onAtMentions:tI,onOpenSettings:()=>V("general"),onOpenArchive:()=>J(!0),updateAvailable:eS||eI})]});return(0,n.jsx)(n.Fragment,{children:(0,n.jsxs)(es.tE,{children:[(0,n.jsx)("style",{children:`
73
+ @keyframes session-info-pop {
74
+ 0% {
75
+ opacity: 0;
76
+ transform: translateY(-24px);
77
+ }
78
+ 100% {
79
+ opacity: 1;
80
+ transform: translateY(0);
81
+ }
82
+ }
83
+ @keyframes session-info-light-wash {
84
+ 0% {
85
+ opacity: 0;
86
+ transform: translateX(-110%) skewX(-16deg);
87
+ }
88
+ 24% {
89
+ opacity: 0.42;
90
+ }
91
+ 100% {
92
+ opacity: 0;
93
+ transform: translateX(115%) skewX(-16deg);
94
+ }
95
+ }
96
+ .session-info-popover {
97
+ position: relative;
98
+ overflow: visible;
99
+ transform-origin: top right;
100
+ animation: session-info-pop var(--dur-slow) var(--ease-out-warm) both;
101
+ will-change: transform, opacity;
102
+ }
103
+ .session-info-popover::after {
104
+ content: "";
105
+ position: absolute;
106
+ top: 0;
107
+ bottom: 0;
108
+ left: 0;
109
+ width: 44%;
110
+ pointer-events: none;
111
+ background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 24%, transparent), transparent);
112
+ animation: session-info-light-wash var(--dur-slow) var(--ease-out-warm) both;
113
+ }
114
+ @media (prefers-reduced-motion: reduce) {
115
+ .session-info-popover,
116
+ .session-info-popover::after {
117
+ animation: none;
118
+ }
119
+ }
120
+ @media (max-width: 640px) {
121
+ .sidebar-overlay-backdrop.sidebar-mobile-pending {
122
+ opacity: 0 !important;
123
+ pointer-events: none !important;
124
+ }
125
+ .sidebar-container.sidebar-mobile-pending.sidebar-open {
126
+ transform: translateX(-100%);
127
+ box-shadow: none;
128
+ }
129
+ }
130
+ `}),(0,n.jsxs)("div",{style:{display:"flex",height:"100dvh",overflow:"hidden",background:"var(--bg)"},children:[(0,n.jsx)("div",{className:`sidebar-overlay-backdrop${ee?"":" sidebar-mobile-pending"}`,onClick:()=>Q(!1),style:{position:"fixed",inset:0,zIndex:199,background:"color-mix(in srgb, var(--text) 28%, transparent)",opacity:+!!X,pointerEvents:X?"auto":"none",transition:"opacity var(--dur-slow) var(--ease-out-warm)"}}),(0,n.jsx)("div",{ref:ev,className:`sidebar-container${X?" sidebar-open":" sidebar-closed"}${ee?"":" sidebar-mobile-pending"}${ec?" sidebar-resizing":""}`,"aria-hidden":!!ee&&!X||void 0,inert:!!ee&&!X||void 0,style:{background:"var(--bg-panel)",borderRight:"1px solid var(--border)",display:"flex",flexDirection:"column",flexShrink:0,zIndex:200,...!M?{"--sidebar-width":`${er}px`}:{}},children:t2}),!M&&X&&(0,n.jsx)("div",{role:"separator","aria-orientation":"vertical","aria-label":T("appShell.resizeSidebar"),tabIndex:0,onMouseDown:tx,onDoubleClick:tg,onKeyDown:tm,title:T("appShell.resizeSidebarTitle"),style:{width:5,flexShrink:0,marginLeft:-5,cursor:"col-resize",background:"transparent",zIndex:205,outline:"none",transition:"background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.background="color-mix(in srgb, var(--accent) 35%, transparent)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},onFocus:e=>{e.currentTarget.style.background="color-mix(in srgb, var(--accent) 35%, transparent)"},onBlur:e=>{e.currentTarget.style.background="transparent"}}),(0,n.jsxs)("main",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden",minWidth:0},children:[(0,n.jsxs)("div",{ref:eM,className:"shell-topbar",style:{display:"flex",alignItems:"center",flexShrink:0,borderBottom:"1px solid var(--border)",height:M?44:36,background:"var(--bg-panel)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,height:"100%",paddingLeft:M?4:8},children:[(0,n.jsx)("button",{onClick:tp,title:X?T("appShell.hideSidebar"):T("appShell.showSidebar"),"aria-label":X?T("appShell.hideSidebar"):T("appShell.showSidebar"),className:"shell-toolbar-btn ui-focus-ring",children:X?(0,n.jsx)(il.A,{size:16,strokeWidth:1.8,"aria-hidden":"true"}):(0,n.jsx)(id.A,{size:16,strokeWidth:1.8,"aria-hidden":"true"})}),(0,n.jsx)(iH,{}),(0,n.jsx)("button",{type:"button",onClick:()=>eh(e=>!e),title:ep?T("appShell.hideTerminal")||"隐藏页面内嵌终端":T("appShell.toggleTerminal")||"切换页面内嵌终端 (Terminal)","aria-label":T("appShell.toggleTerminal")||"切换页面内嵌终端","aria-pressed":ep,className:"shell-toolbar-btn ui-focus-ring",style:{color:ep?"var(--accent)":void 0,background:ep?"var(--bg-selected)":void 0},children:(0,n.jsx)(r9.A,{size:16,strokeWidth:1.8,"aria-hidden":"true"})}),(0,n.jsx)(is,{})]}),tX&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"shell-toolbar-divider","aria-hidden":"true"}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,height:"100%"},children:[(0,n.jsx)("button",{onClick:tZ,disabled:!z,title:z?T("appShell.fullHistory"):T("appShell.fullHistoryUnavailable"),"aria-label":T("appShell.fullHistory"),className:"shell-toolbar-btn ui-focus-ring",children:(0,n.jsx)(ic.A,{size:16,strokeWidth:1.8,"aria-hidden":"true"})}),(e=!!(z&&(eY?.userMessages??z.messageCount)>0),t=!z||!e||"naming"===eG.kind,r="success"===eG.kind,a="error"===eG.kind,l="naming"===eG.kind?T("appShell.generating"):r?T("appShell.titleUpdated"):a?T("appShell.generationFailed"):T("appShell.generateTitle"),u=z?e?a?eG.message:T("appShell.generateSessionTitle"):T("appShell.titleGenNeedsMessage"):T("appShell.titleGenUnavailable"),(0,n.jsx)("button",{type:"button",onClick:()=>void tB(),disabled:t,title:u,"aria-label":l,className:"shell-toolbar-btn ui-focus-ring",style:{opacity:"naming"===eG.kind?1:void 0},children:"naming"===eG.kind?(0,n.jsxs)("svg",{className:"animate-spin",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2",opacity:"0.25"}),(0,n.jsx)("path",{d:"M21 12a9 9 0 0 0-9-9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):r?(0,n.jsx)(I.A,{size:16,strokeWidth:1.8,"aria-hidden":"true",style:{color:"var(--accent)"}}):a?(0,n.jsx)(iu.A,{size:16,strokeWidth:1.8,"aria-hidden":"true",style:{color:"var(--status-error)"}}):(0,n.jsx)(iu.A,{size:16,strokeWidth:1.8,"aria-hidden":"true"})})),(0,n.jsx)(io,{tree:ez,activeLeafId:eA,onLeafChange:eN,inline:!0,containerRef:eM,open:"branches"===tr,onToggle:()=>to("branches"),hasSession:!0}),(0,n.jsx)("button",{ref:eU,onClick:tc,title:T("appShell.system"),"aria-label":T("appShell.system"),"aria-pressed":"system"===tr,className:"shell-toolbar-btn ui-focus-ring",children:(0,n.jsx)(ip.A,{size:16,strokeWidth:1.8,"aria-hidden":"true",style:{color:eF?"var(--accent)":void 0}})})]})]}),tX&&(eY||e8||e9||ts)&&(()=>{let e=eY?.tokens,t=eY?.cost??0,r=t>0?t>=.01?`$${t.toFixed(2)}`:"<$0.01":null,i=e?(0,tw.uX)(e.input,e.cacheRead):null,a=null!==i?(0,tw.l9)(i):null,o=ts?.current!==null&&ts?.current!==void 0?`${ts.current.toFixed(1)} t/s`:null,s=ts?.average!==null&&ts?.average!==void 0?`AVG ${ts.average.toFixed(1)} t/s`:null,l="var(--text-muted)",d=null;if(e8?.contextWindow){let e=e8.percent;null!==e&&e>90?l="var(--status-error)":null!==e&&e>70&&(l="var(--status-warning)"),d=null!==e?`${(0,tw.l9)(e)} / ${(0,tw.wk)(e8.contextWindow)}`:`? / ${(0,tw.wk)(e8.contextWindow)}`}let c=[];if(e&&(c.push(T("appShell.tooltipInput",{value:e.input.toLocaleString(R)})),c.push(T("appShell.tooltipOutput",{value:e.output.toLocaleString(R)})),c.push(T("appShell.tooltipCacheRead",{value:e.cacheRead.toLocaleString(R)})),c.push(T("appShell.tooltipCacheWrite",{value:e.cacheWrite.toLocaleString(R)})),a&&c.push(T("appShell.tooltipCacheRate",{percent:a})),t>0&&c.push(T("appShell.tooltipCost",{value:t.toFixed(4)}))),e9?.maxTokens&&c.push(T("appShell.tooltipMaxOutput",{tokens:e9.maxTokens.toLocaleString(R)})),e8?.contextWindow){let e=e8.percent;c.push(T("appShell.tooltipContext",{percent:null!==e?e.toFixed(1)+"%":T("appShell.unknown"),tokens:e8.contextWindow.toLocaleString(R)}))}o&&c.push(T("appShell.tooltipCurrentSpeed",{value:o})),s&&c.push(T("appShell.tooltipAverageSpeed",{value:s}));let u=c.join(" | ");return(0,n.jsxs)("button",{ref:e_,type:"button",onClick:()=>to("session"),title:u||T("appShell.sessionInfo"),"aria-label":T("appShell.sessionInfo"),"aria-pressed":"session"===tr,style:{marginLeft:"auto",display:"flex",alignItems:"center",justifyContent:"center",gap:10,paddingLeft:12*!M,paddingRight:M?44*!tj:tj?12:48,height:"100%",minWidth:44*!!M,overflow:"hidden",background:"session"===tr?"var(--bg-selected)":"none",border:"none",fontSize:11,color:"var(--text-muted)",whiteSpace:"nowrap",cursor:"pointer",fontVariantNumeric:"tabular-nums",transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{"session"!==tr&&(e.currentTarget.style.background="var(--bg-hover)"),e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="session"===tr?"var(--bg-selected)":"none",e.currentTarget.style.color="session"===tr?"var(--text)":"var(--text-muted)"},children:[M&&(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),(0,n.jsx)("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})]}),!M&&e&&e.input>0&&(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("line",{x1:"5",y1:"8.5",x2:"5",y2:"1.5"}),(0,n.jsx)("polyline",{points:"2 4 5 1.5 8 4"})]}),(0,tw.wk)(e.input)]}),!M&&e&&e.output>0&&(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("line",{x1:"5",y1:"1.5",x2:"5",y2:"8.5"}),(0,n.jsx)("polyline",{points:"2 6 5 8.5 8 6"})]}),(0,tw.wk)(e.output)]}),!M&&e&&e.cacheRead>0&&(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M8.5 5a3.5 3.5 0 1 1-1-2.45"}),(0,n.jsx)("polyline",{points:"6.5 1.5 8.5 2.5 7.5 4.5"})]}),(0,tw.wk)(e.cacheRead)]}),!M&&e9?.maxTokens&&(0,n.jsxs)("span",{style:{color:"var(--text-muted)",whiteSpace:"nowrap"},children:["↗ ",(0,tw.wk)(e9.maxTokens)]}),!M&&a&&(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,color:"var(--text-muted)"},children:[(0,n.jsx)(th.A,{size:12,strokeWidth:1.8,"aria-hidden":"true"}),a]}),d&&(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,color:l,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M1 9 L1 5 Q1 1 5 1 Q9 1 9 5 L9 9"}),(0,n.jsx)("line",{x1:"1",y1:"9",x2:"9",y2:"9"})]}),d]}),!M&&r&&(0,n.jsx)("span",{style:{display:"flex",alignItems:"center",color:"var(--text)",fontWeight:500},children:r}),!M&&o&&(0,n.jsx)("span",{style:{display:"flex",alignItems:"center",gap:4,color:"var(--text)",fontWeight:600},children:o}),!M&&s&&(0,n.jsx)("span",{style:{display:"flex",alignItems:"center",gap:4,color:"var(--text-muted)"},children:s})]})})(),("system"===tr||"session"===tr)&&ti&&(0,n.jsxs)("div",{"data-top-panel":!0,className:"dropdown-surface",style:{position:"fixed",top:ti.top,right:12,left:"auto",width:"auto",minWidth:360,maxWidth:"min(680px, calc(100vw - 24px))",maxHeight:`min(70vh, calc(100dvh - ${ti.top}px - 12px))`,overflowY:"auto",overflowX:"hidden",zIndex:500},children:["system"===tr&&(0,n.jsx)("div",{style:{background:"var(--bg-panel)",borderBottom:"1px solid var(--border)"},children:eF?(0,n.jsx)("div",{style:{maxHeight:"min(600px, 75vh)",overflowY:"auto",padding:"12px 16px",color:"var(--text-muted)",fontSize:12,lineHeight:1.6,whiteSpace:"pre-wrap",fontFamily:"var(--font-mono)"},children:eF}):""===eF?(0,n.jsx)("div",{style:{padding:"10px 16px",fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:T("appShell.systemPromptEmpty")}):(0,n.jsx)("div",{style:{padding:"10px 16px",fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:eB?T("appShell.systemPromptLoading"):T("appShell.systemPromptLoadHint")})}),"session"===tr&&(0,n.jsx)("div",{className:"session-info-popover",style:{background:"var(--bg-panel)",borderBottom:"1px solid var(--border)",boxShadow:"var(--shadow-pop)",padding:"12px 16px"},children:eY?(p=[...eY.sessionName?[{label:T("appShell.statName"),value:eY.sessionName,copyField:null}]:[],{label:T("appShell.statFile"),value:eY.sessionFile??T("appShell.inMemory"),copyField:"file"},{label:T("appShell.statId"),value:eY.sessionId,copyField:"id"}],h=[[T("appShell.statUser"),eY.userMessages.toLocaleString(R)],[T("appShell.statAssistant"),eY.assistantMessages.toLocaleString(R)],[T("appShell.statToolCalls"),eY.toolCalls.toLocaleString(R)],[T("appShell.statToolResults"),eY.toolResults.toLocaleString(R)],[T("appShell.statTotal"),eY.totalMessages.toLocaleString(R)]],g=[[T("appShell.statInput"),eY.tokens.input.toLocaleString(R)],[T("appShell.statOutput"),eY.tokens.output.toLocaleString(R)],...eY.tokens.cacheRead>0?[[T("appShell.statCacheRead"),eY.tokens.cacheRead.toLocaleString(R)]]:[],...eY.tokens.cacheWrite>0?[[T("appShell.statCacheWrite"),eY.tokens.cacheWrite.toLocaleString(R)]]:[],[T("appShell.statTotal"),eY.tokens.total.toLocaleString(R)]],f=e8??eY.contextUsage,x=[...null!==(m=(0,tw.uX)(eY.tokens.input,eY.tokens.cacheRead))?[[T("appShell.statCacheRate"),(0,tw.l9)(m)]]:[],...f?.contextWindow?[[T("appShell.statContext"),`${null!==f.percent?(0,tw.l9)(f.percent):"?"} / ${(0,tw.wk)(f.contextWindow)}`]]:[],...eY.cost>0?[[T("appShell.statCost"),`$${eY.cost.toFixed(4)}`]]:[]],v=(e,t,r="left",i=!1)=>(0,n.jsxs)("div",{style:{minWidth:0},children:[(0,n.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"var(--text)",marginBottom:6},children:e}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:i?"max-content max-content":"auto minmax(0, 1fr)",columnGap:i?14:12,rowGap:4,justifyContent:i?"start":void 0},children:t.map(([t,a])=>(0,n.jsxs)("div",{style:{display:"contents"},children:[(0,n.jsx)("div",{style:{color:"var(--text-dim)",whiteSpace:"nowrap"},children:t}),(0,n.jsx)("div",{style:{color:"var(--text-muted)",minWidth:0,overflowWrap:i?"normal":"anywhere",textAlign:r,whiteSpace:"right"===r?"nowrap":"normal"},children:a})]},`${e}:${t}`))})]}),y=(0,n.jsxs)("div",{style:{minWidth:0},children:[(0,n.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"var(--text)",marginBottom:6},children:T("appShell.sectionSessionInfo")}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"auto minmax(0, 1fr) auto",columnGap:12,rowGap:8,alignItems:"start"},children:p.map(e=>{var t,r;let i;return(0,n.jsxs)("div",{style:{display:"contents"},children:[(0,n.jsx)("div",{style:{color:"var(--text-dim)",whiteSpace:"nowrap"},children:e.label}),(0,n.jsx)("div",{style:{color:"var(--text-muted)",minWidth:0,overflowWrap:"anywhere",wordBreak:"break-word",whiteSpace:"normal"},children:e.value}),(0,n.jsx)("div",{children:e.copyField?(t=e.copyField,r=e.value,i=e2===t,(0,n.jsx)("button",{type:"button",title:i?T("appShell.copied"):"file"===t?T("appShell.copyFilePath"):T("appShell.copySessionId"),onClick:()=>e6(t,r),style:{alignSelf:"start",display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,marginTop:-2,color:i?"var(--accent)":"var(--text-dim)",background:"transparent",border:"1px solid var(--border)",borderRadius:4,cursor:"pointer",flex:"0 0 auto",transition:"color var(--dur-fast) var(--ease-out-warm), border-color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)",e.currentTarget.style.borderColor="var(--accent)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.color=i?"var(--accent)":"var(--text-dim)",e.currentTarget.style.borderColor="var(--border)",e.currentTarget.style.background="transparent"},children:i?(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})}):(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,n.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})):null})]},`session-info:${e.label}`)})})]}),(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:M?"1fr":"minmax(240px, 1.6fr) minmax(110px, 0.55fr) minmax(140px, 0.65fr)",gap:M?16:24,fontSize:12,lineHeight:1.5,fontFamily:"var(--font-mono)"},children:[y,v(T("appShell.sectionMessages"),h),v(T("appShell.sectionTokens"),[...g,...x],"right",!0)]})):(0,n.jsx)("div",{style:{fontSize:12,color:"var(--text-muted)",fontStyle:"italic"},children:T("appShell.sessionInfoLoadHint")})})]})]}),(0,n.jsx)("div",{style:{flex:1,overflow:"hidden",position:"relative"},children:tX?(0,n.jsx)(n6,{session:z,newSessionCwd:tG,onAgentEnd:tP,onSessionCreated:tF,onSessionForked:tK,modelsRefreshKey:Z,chatInputRef:eR,onOpenFile:tY,onBranchDataChange:e$,onSystemPromptChange:eq,onSystemPromptLoaderChange:eV,onSessionStatsChange:e1,onSessionStatsPanelOpen:tu,onContextUsageChange:te,onModelCapacityChange:tt,onGenerationSpeedChange:td,toolCallsDefaultCollapsed:ei,thinkingDisplayMode:eo,terminalOpen:ep,onCloseTerminal:()=>eh(!1)},B):"validating"===D?(0,n.jsxs)("div",{role:"status",style:{height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:8,padding:24,color:"var(--text-muted)",textAlign:"center"},children:[(0,n.jsx)("div",{style:{fontSize:14,color:"var(--text)"},children:T("appShell.openingWorkspace")}),(0,n.jsx)("div",{style:{maxWidth:"min(720px, 100%)",overflowWrap:"anywhere",fontFamily:"var(--font-mono)",fontSize:12},children:w.requestedCwd})]}):"error"===D?(0,n.jsxs)("div",{role:"alert",style:{height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:8,padding:24,color:"var(--text-muted)",textAlign:"center"},children:[(0,n.jsx)("div",{style:{fontSize:14,color:"var(--status-error)"},children:T("appShell.unableToOpenWorkspace")}),(0,n.jsx)("div",{style:{maxWidth:"min(720px, 100%)",overflowWrap:"anywhere",fontFamily:"var(--font-mono)",fontSize:12},children:w.requestedCwd}),(0,n.jsx)("div",{style:{maxWidth:720,fontSize:12},children:L})]}):tQ?tM?(0,n.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-muted)",fontSize:16},children:(0,n.jsx)("span",{className:"display-serif",children:T("appShell.selectSessionHint")})}):(0,n.jsxs)("div",{style:{position:"absolute",top:12,left:12,display:"flex",alignItems:"flex-start",gap:8,userSelect:"none",pointerEvents:"none"},children:[(0,n.jsxs)("svg",{width:"44",height:"44",viewBox:"0 0 24 24",fill:"none",stroke:"var(--accent)",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:.7,flexShrink:0},children:[(0,n.jsx)("line",{x1:"20",y1:"12",x2:"4",y2:"12"}),(0,n.jsx)("polyline",{points:"10 6 4 12 10 18"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"display-serif",style:{fontSize:20,color:"var(--text)",marginBottom:8},children:T("appShell.getStarted")}),(0,n.jsxs)("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.8},children:[(0,n.jsx)("span",{style:{color:"var(--text-dim)",marginRight:6},children:"1."}),T("appShell.getStartedStep1"),(0,n.jsx)("br",{}),(0,n.jsx)("span",{style:{color:"var(--text-dim)",marginRight:6},children:"2."}),(()=>{let[e,t]=T("appShell.getStartedStep2").split("{models}");return(0,n.jsxs)(n.Fragment,{children:[e,(0,n.jsx)("strong",{style:{color:"var(--text)"},children:T("appShell.models")}),t]})})()]})]})]}):(0,n.jsx)(av,{})}),(0,n.jsx)(i_,{open:ep,onClose:()=>eh(!1),cwd:tM??void 0})]}),(0,n.jsxs)("div",{className:`right-panel-container${tj?" right-panel-open":" right-panel-closed"}`,style:{display:"flex",flexDirection:"column",borderLeft:tj?"1px solid var(--border)":"none",background:"var(--bg)",width:tj?`${eg}px`:0,minWidth:260*!!tj,position:"relative"},children:[tj&&!M&&(0,n.jsx)("div",{onMouseDown:em,title:"拖拽调节右侧栏宽度,向右拖拽收缩",style:{position:"absolute",top:0,left:-4,bottom:0,width:8,cursor:"col-resize",zIndex:40}}),(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",flexShrink:0,background:"var(--bg-panel)",borderBottom:"1px solid var(--border)",height:36},children:(0,n.jsx)("div",{style:{flex:1,overflow:"hidden"},children:(0,n.jsx)(ie,{tabs:tv,activeTabId:tb??"",onSelectTab:tk,onCloseTab:tJ})})}),(0,n.jsx)("div",{style:{flex:1,overflow:"hidden"},children:tv.length>0?tv.map(e=>(0,n.jsx)("div",{style:{display:e.id===tb?"block":"none",height:"100%"},children:(0,n.jsx)(ap,{filePath:e.filePath,cwd:tM??void 0,sourceSessionId:e.sourceSessionId,gitRefreshKey:H,onMentionLines:e.id===tb&&tj?tT:void 0,onOpenFile:t=>tV(t,(0,el.WP)(t),e.sourceSessionId)})},e.id)):(0,n.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:12},children:T("appShell.noFileOpen")})})]})]}),(0,n.jsx)("button",{onClick:()=>tS(e=>!e),title:tj?T("appShell.hideFilePanel"):T("appShell.showFilePanel"),"aria-label":tj?T("appShell.hideFilePanel"):T("appShell.showFilePanel"),style:{position:"fixed",top:0,right:0,zIndex:300,display:"flex",alignItems:"center",justifyContent:"center",width:M?44:36,height:M?44:36,padding:0,background:"var(--bg-panel)",border:"none",borderLeft:"1px solid var(--border)",borderBottom:"1px solid var(--border)",color:tj?"var(--text)":"var(--text-muted)",cursor:"pointer",transition:"color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.color=tj?"var(--text)":"var(--text-muted)"},children:(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,n.jsx)("line",{x1:"15",y1:"3",x2:"15",y2:"21"})]})}),q&&(0,n.jsx)(at,{activeTab:q,toolCallsDefaultCollapsed:ei,onToolCallsDefaultCollapsedChange:eb,thinkingDisplayMode:eo,onThinkingDisplayModeChange:ek,cwd:tM??z?.cwd??A,sessionId:z?.id??null,onModelsSaved:()=>G(e=>e+1),onPluginsReloaded:()=>O(e=>e+1),onOmpUpdateAvailabilityChange:eT,onSelectTab:V,onClose:()=>V(null)}),Y&&(0,n.jsx)(au,{open:Y,onClose:()=>J(!1),onRestored:tq})]})})}},94309:(e,t,r)=>{r.d(t,{Q:()=>u});var n=r(95155),i=r(12115),a=r(96793),o=r(52584),s=r(6014);function l({code:e,isStreaming:t,defaultPreview:s=!1}){let{isDark:u}=(0,a.DP)(),{t:p}=(0,o.s9)(),[h,g]=(0,i.useState)(s),[f,m]=(0,i.useState)(null),[x,v]=(0,i.useState)(!1),[y,b]=(0,i.useState)(0),k=`${u?"dark":"light"}
131
+ ${e}`,w=h&&!t;(0,i.useEffect)(()=>{if(!w)return;let t=!1;return m({key:k,status:"loading"}),(async()=>{let{default:n}=await Promise.all([r.e(988),r.e(9425),r.e(3308)]).then(r.bind(r,43328));if(n.initialize({startOnLoad:!1,securityLevel:"strict",suppressErrorRendering:!0,theme:u?"dark":"default"}),!await n.parse(e,{suppressErrors:!0}))throw Error("Invalid Mermaid diagram");let i="u">typeof crypto&&"randomUUID"in crypto?`mermaid-${crypto.randomUUID()}`:`mermaid-${Date.now()}-${Math.random().toString(36).slice(2)}`,a=await n.render(i,e);t||m({key:k,status:"ready",svg:a.svg})})().catch(()=>{t||m({key:k,status:"error"})}),()=>{t=!0}},[e,k,u,w,y]);let j=(0,n.jsx)("button",{type:"button",onClick:()=>g(e=>!e),disabled:t,title:p(t?"mermaidBlock.previewAfterStreaming":w?"mermaidBlock.showSourceTitle":"mermaidBlock.previewTitle"),className:["markdown-code-action",w?"is-active":""].filter(Boolean).join(" "),children:p(w?"mermaidBlock.source":"mermaidBlock.preview")});if(!w)return(0,n.jsx)(c,{code:e,lang:"mermaid",headerAction:j,isStreaming:t});let S=f?.key===k&&"error"===f.status?(0,n.jsxs)("div",{className:"mermaid-block mermaid-block-error",children:[(0,n.jsx)("span",{children:p("mermaidBlock.invalidDiagram")}),(0,n.jsx)("button",{type:"button",className:"markdown-code-action",onClick:()=>b(e=>e+1),title:p("mermaidBlock.retry"),children:p("mermaidBlock.retry")})]}):f?.key!==k||"ready"!==f.status?(0,n.jsx)("div",{className:"mermaid-block mermaid-block-loading",role:"status",children:p("mermaidBlock.rendering")}):(0,n.jsxs)(n.Fragment,{children:[!x&&(0,n.jsx)("button",{type:"button",className:"mermaid-block mermaid-preview-button",title:p("mermaidBlock.openViewer"),"aria-label":p("mermaidBlock.openViewer"),onClick:()=>v(!0),dangerouslySetInnerHTML:{__html:f.svg}}),x&&(0,n.jsx)(d,{svg:f.svg,onClose:()=>v(!1)})]});return(0,n.jsxs)("div",{className:"markdown-code-block",children:[(0,n.jsxs)("div",{className:"markdown-code-header",children:[(0,n.jsx)("span",{className:"markdown-code-lang",children:"mermaid"}),j]}),S]})}function d({svg:e,onClose:t}){let r=(0,i.useRef)(null),[a,s]=(0,i.useState)(1),{t:l}=(0,o.s9)();return(0,i.useEffect)(()=>{let e=r.current;if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow="hidden",e.showModal(),()=>{document.body.style.overflow=t,e.open&&e.close()}},[]),(0,n.jsx)("dialog",{ref:r,className:"mermaid-zoom-dialog","aria-label":l("mermaidBlock.viewerLabel"),onCancel:e=>{e.preventDefault(),t()},onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),t())},children:(0,n.jsxs)("div",{className:"mermaid-zoom-layout",children:[(0,n.jsxs)("div",{className:"mermaid-zoom-toolbar",children:[(0,n.jsx)("span",{className:"mermaid-zoom-title",children:l("mermaidBlock.diagramTitle")}),(0,n.jsxs)("div",{className:"mermaid-zoom-actions",children:[(0,n.jsxs)("div",{className:"mermaid-zoom-stepper",children:[(0,n.jsx)("button",{type:"button",onClick:()=>s(e=>Math.max(.5,e-.25)),disabled:a<=.5,title:l("mermaidBlock.zoomOut"),"aria-label":l("mermaidBlock.zoomOut"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M5 12h14"})})}),(0,n.jsxs)("span",{className:"mermaid-zoom-value",children:[Math.round(100*a),"%"]}),(0,n.jsx)("button",{type:"button",onClick:()=>s(e=>Math.min(3,e+.25)),disabled:a>=3,title:l("mermaidBlock.zoomIn"),"aria-label":l("mermaidBlock.zoomIn"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M12 5v14M5 12h14"})})})]}),(0,n.jsx)("button",{type:"button",className:"mermaid-zoom-icon-button",onClick:()=>s(1),title:l("mermaidBlock.fitToWidth"),"aria-label":l("mermaidBlock.fitToWidth"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M8 3H3v5M16 3h5v5M8 21H3v-5M16 21h5v-5"})})}),(0,n.jsx)("button",{type:"button",className:"mermaid-zoom-icon-button",onClick:t,title:l("mermaidBlock.close"),"aria-label":l("mermaidBlock.close"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})})})]})]}),(0,n.jsx)("div",{className:"mermaid-zoom-viewport",onClick:e=>{e.target===e.currentTarget&&t()},children:(0,n.jsx)("div",{className:"mermaid-zoom-canvas",style:{transform:`scale(${a})`,transformOrigin:"top left"},dangerouslySetInnerHTML:{__html:e}})})]})})}let c=(0,i.memo)(function({code:e,lang:t,headerAction:a,isStreaming:l}){let{t:d}=(0,o.s9)(),{copied:c,copy:u}=(0,s.q)(),[p,h]=(0,i.useState)(null);return(0,i.useEffect)(()=>{if(l||p)return;let e=!1;return Promise.all([r.e(4854),r.e(484)]).then(r.bind(r,30484)).then(({SyntaxHighlightedCode:t})=>{e||h(()=>t)}),()=>{e=!0}},[p,l]),(0,n.jsxs)("div",{className:"markdown-code-block",children:[(0,n.jsxs)("div",{className:"markdown-code-header",children:[(0,n.jsx)("span",{className:"markdown-code-lang",children:t||"text"}),(0,n.jsxs)("div",{className:"markdown-code-actions",children:[a,(0,n.jsx)("button",{onClick:()=>u(e),className:c?"markdown-code-action is-copied":"markdown-code-action",children:d(c?"codeBlock.copied":"codeBlock.copy")})]})]}),l||!p?(0,n.jsx)("pre",{style:{margin:0,padding:"11px 13px",fontSize:12.5,lineHeight:1.62,overflowX:"auto",backgroundColor:"color-mix(in srgb, var(--bg) 88%, var(--bg-panel))"},children:(0,n.jsx)("code",{style:{fontFamily:"var(--font-mono)"},children:e})}):(0,n.jsx)(p,{code:e,lang:t})]})});function u(e){return function({className:t,children:r,...i}){let a=t?.replace("language-","").toLowerCase()??"",o=String(r);return t?.includes("language-")||o.includes("\n")?"mermaid"===a?(0,n.jsx)(l,{code:o.replace(/\n$/,""),isStreaming:e.isStreaming,defaultPreview:e.defaultPreview}):(0,n.jsx)(c,{code:o.replace(/\n$/,""),lang:a,isStreaming:e.isStreaming}):(0,n.jsx)("code",{className:e.inlineClassName??t,...i,children:r})}}},96793:(e,t,r)=>{r.d(t,{DP:()=>y,F$:()=>i,TP:()=>u,ob:()=>p});var n=r(12115);let i=[{id:"light",name:"暖阳手帐",nameKey:"theme.light",isDark:!1,color:"#FAF9F6",accent:"#B03E22",border:"#E2DDD2",category:"static"},{id:"nord",name:"极地雪原",nameKey:"theme.nord",isDark:!0,color:"#2E3440",accent:"#88C0D0",border:"#434C5E",category:"static"},{id:"oatmeal",name:"燕麦拿铁",nameKey:"theme.oatmeal",isDark:!1,color:"#F7F4EE",accent:"#965A38",border:"#D8D2C4",category:"static"},{id:"matcha",name:"京都抹茶",nameKey:"theme.matcha",isDark:!1,color:"#F3F6F3",accent:"#2D6A4F",border:"#CAD6C8",category:"static"},{id:"oled",name:"极夜黑曜",nameKey:"theme.oled",isDark:!0,color:"#000000",accent:"#38BDF8",border:"#242424",category:"static"},{id:"dark",name:"暗夜余烬",nameKey:"theme.dark",isDark:!0,color:"#1B1916",accent:"#E07B54",border:"#38322B",category:"static"},{id:"sepia",name:"大英古籍",nameKey:"theme.sepia",isDark:!1,color:"#F5EEDC",accent:"#8C4820",border:"#D5BE99",category:"static"},{id:"dracula",name:"德古拉之夜",nameKey:"theme.dracula",isDark:!0,color:"#282A36",accent:"#BD93F9",border:"#44475A",category:"static"},{id:"pine",name:"松林深翠",nameKey:"theme.pine",isDark:!0,color:"#121B17",accent:"#52B788",border:"#2C4037",category:"static"},{id:"navy",name:"远山黛蓝",nameKey:"theme.navy",isDark:!0,color:"#0F172A",accent:"#60A5FA",border:"#334155",category:"static"},{id:"aurora-flow",name:"极光幻境",nameKey:"theme.auroraFlow",isDark:!0,color:"#0c1417",accent:"#34d399",border:"#50b4a0",category:"flowing"},{id:"dawn-flow",name:"晨曦微光",nameKey:"theme.dawnFlow",isDark:!0,color:"#16101a",accent:"#f472b6",border:"#f472b6",category:"flowing"},{id:"cosmic-flow",name:"深空星云",nameKey:"theme.cosmicFlow",isDark:!0,color:"#090b16",accent:"#818cf8",border:"#818cf8",category:"flowing"},{id:"ocean-flow",name:"深海幽光",nameKey:"theme.oceanFlow",isDark:!0,color:"#071318",accent:"#38bdf8",border:"#38bdf8",category:"flowing"},{id:"sakura-flow",name:"樱落暮雪",nameKey:"theme.sakuraFlow",isDark:!0,color:"#171114",accent:"#fb7185",border:"#fda4af",category:"flowing"},{id:"bamboo-flow",name:"竹林雨霁",nameKey:"theme.bambooFlow",isDark:!0,color:"#0c1612",accent:"#10b981",border:"#a7f3d0",category:"flowing"},{id:"system",name:"跟随系统",nameKey:"theme.system",isDark:!1,color:"#777777",accent:"#B03E22",border:"#999999",category:"system"}],a=new Set(["system","light","nord","oatmeal","matcha","oled","dark","sepia","dracula","pine","navy","aurora-flow","dawn-flow","cosmic-flow","ocean-flow","sakura-flow","bamboo-flow","custom"]),o="omp-custom-theme",s="omp-theme",l=new Set,d={accent:"#38BDF8",bg:"#0B0F19",mode:"flow",isDark:!0},c=!1;function u(){if(!c){c=!0;try{let e=localStorage.getItem(o);e&&(d=JSON.parse(e))}catch{}}return d}function p(e){d=e;try{localStorage.setItem(o,JSON.stringify(e)),"u">typeof document&&h(e),l.forEach(e=>e())}catch{}}function h(e){let t=document.documentElement;t.style.setProperty("--accent",e.accent),t.style.setProperty("--accent-strong",e.accent),t.style.setProperty("--accent-hover",e.accent),t.style.setProperty("--bg",e.bg),t.style.setProperty("--bg-panel",e.panel||(e.isDark?"color-mix(in srgb, var(--bg) 82%, white 4%)":"color-mix(in srgb, var(--bg) 86%, black 3%)")),t.style.setProperty("--border",e.isDark?"color-mix(in srgb, var(--bg) 76%, white 12%)":"color-mix(in srgb, var(--bg) 76%, black 10%)"),t.style.setProperty("--text",e.text||(e.isDark?"#EBE6DC":"#2B2823")),t.style.setProperty("--text-muted",e.isDark?"#A39B8E":"#69635A"),t.style.setProperty("--omp-o",e.ompO||e.accent),t.style.setProperty("--omp-m",e.ompM||`color-mix(in srgb, ${e.accent} 65%, #F59E0B)`),t.style.setProperty("--omp-p",e.ompP||`color-mix(in srgb, ${e.accent} 65%, #38BDF8)`),t.classList.toggle("dark",e.isDark),t.setAttribute("data-theme","custom"),t.setAttribute("data-custom-mode",e.mode),"flow"===e.mode?(t.classList.add("theme-flow-active"),document.body.style.background=`linear-gradient(-45deg, ${e.bg}, color-mix(in srgb, ${e.accent} 25%, ${e.bg}), ${e.bg})`,document.body.style.backgroundSize="400% 400%",document.body.style.animation="omp-mesh-flow 15s ease infinite"):(t.classList.remove("theme-flow-active"),document.body.style.background="",document.body.style.animation="")}function g(e){return l.add(e),()=>l.delete(e)}function f(){try{let e=localStorage.getItem(s);return e&&a.has(e)?e:"system"}catch{return"system"}}function m(e,t=!1){return"system"===e?t:"custom"===e?u().isDark:"dark"===e||"oled"===e||"nord"===e||"dracula"===e||"pine"===e||"navy"===e||"aurora-flow"===e||"dawn-flow"===e||"cosmic-flow"===e||"ocean-flow"===e||"sakura-flow"===e||"bamboo-flow"===e}function x(e){let t=document.documentElement;if("custom"!==e&&(t.style.removeProperty("--accent"),t.style.removeProperty("--accent-strong"),t.style.removeProperty("--accent-hover"),t.style.removeProperty("--bg"),t.style.removeProperty("--bg-panel"),t.style.removeProperty("--border"),t.style.removeProperty("--text"),t.style.removeProperty("--text-muted"),t.style.removeProperty("--omp-o"),t.style.removeProperty("--omp-m"),t.style.removeProperty("--omp-p"),t.removeAttribute("data-custom-mode"),t.classList.remove("theme-flow-active"),document.body.style.background="",document.body.style.animation=""),"custom"===e){h(u());try{localStorage.setItem(s,"custom")}catch{}l.forEach(e=>e());return}let r=m(e,window.matchMedia?.("(prefers-color-scheme: dark)").matches);t.classList.toggle("dark",r),"system"===e?t.removeAttribute("data-theme"):t.setAttribute("data-theme",e);try{localStorage.setItem(s,e)}catch{}l.forEach(e=>e())}function v(){return"system"}function y(){let e=(0,n.useSyncExternalStore)(g,f,v),[t,r]=(0,n.useState)(!1);(0,n.useEffect)(()=>{r(!0),x(f())},[]);let i=function(e,t=!1){return m(e,t)?"dark":"light"}(e,t&&window.matchMedia("(prefers-color-scheme: dark)").matches);(0,n.useEffect)(()=>{t&&x(e)},[e,t]),(0,n.useEffect)(()=>{if("system"!==e)return;let t=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{document.documentElement.classList.toggle("dark",t.matches),l.forEach(e=>e())};return t.addEventListener("change",r),()=>t.removeEventListener("change",r)},[e]);let a=(0,n.useCallback)((e,t)=>{let r=()=>x(e),n=window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;if("function"!=typeof document.startViewTransition||n)return void r();let i=t?.x??window.innerWidth/2,a=t?.y??window.innerHeight/2,o=Math.hypot(Math.max(i,window.innerWidth-i),Math.max(a,window.innerHeight-a)),s=document.startViewTransition(r);s.ready.then(()=>{let e=getComputedStyle(document.documentElement);document.documentElement.animate({clipPath:[`circle(0px at ${i}px ${a}px)`,`circle(${o}px at ${i}px ${a}px)`]},{duration:function(e){let t=getComputedStyle(document.documentElement).getPropertyValue(e).trim();if(t.endsWith("ms")){let e=Number.parseFloat(t);return Number.isFinite(e)?e:450}if(t.endsWith("s")){let e=Number.parseFloat(t);return Number.isFinite(e)?1e3*e:450}return 450}("--dur-theme"),easing:e.getPropertyValue("--ease-out-warm").trim()||"ease-out",pseudoElement:"::view-transition-new(root)"})}).catch(()=>{}),s.finished?.catch(()=>{})},[]),o=(0,n.useCallback)(t=>a("light"===e?"dark":"dark"===e?"system":"system"===e||m(e)?"light":"dark",t),[e,a]);return{theme:i,preference:e,isDark:"dark"===i,setTheme:a,toggleTheme:o}}}}]);