ompgui 0.7.1 → 0.7.3

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 (287) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +9 -8
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +4 -4
  5. package/.next/react-loadable-manifest.json +14 -7
  6. package/.next/required-server-files.js +2 -2
  7. package/.next/required-server-files.json +2 -2
  8. package/.next/routes-manifest.json +6 -0
  9. package/.next/server/app/_global-error/page.js +2 -2
  10. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_global-error.html +1 -1
  12. package/.next/server/app/_global-error.rsc +2 -2
  13. package/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  14. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page.js +1 -1
  17. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +3 -3
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  21. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  23. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  24. package/.next/server/app/api/agent/[id]/events/route.js +1 -1
  25. package/.next/server/app/api/agent/[id]/route.js +1 -1
  26. package/.next/server/app/api/agent/new/route.js +1 -1
  27. package/.next/server/app/api/agent/running/events/route.js +2 -2
  28. package/.next/server/app/api/agents/[name]/route.js +1 -1
  29. package/.next/server/app/api/agents/route.js +1 -1
  30. package/.next/server/app/api/agents/unpack/route.js +1 -1
  31. package/.next/server/app/api/app-update/route.js +1 -1
  32. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  33. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  34. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  35. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  36. package/.next/server/app/api/auth/providers/route.js +1 -1
  37. package/.next/server/app/api/cwd/browse/route.js +1 -1
  38. package/.next/server/app/api/cwd/validate/route.js +2 -2
  39. package/.next/server/app/api/daemon/route.js +1 -0
  40. package/.next/server/app/api/daemon/route.js.nft.json +1 -0
  41. package/.next/server/app/api/daemon/route_client-reference-manifest.js +1 -0
  42. package/.next/server/app/api/default-cwd/route.js +1 -1
  43. package/.next/server/app/api/file-index/route.js +1 -1
  44. package/.next/server/app/api/files/[...path]/route.js +1 -1
  45. package/.next/server/app/api/git/diff/route.js +2 -2
  46. package/.next/server/app/api/git/status/route.js +2 -2
  47. package/.next/server/app/api/home/route.js +1 -1
  48. package/.next/server/app/api/mcp/route.js +2 -2
  49. package/.next/server/app/api/model-roles/route.js +1 -1
  50. package/.next/server/app/api/models/route.js +1 -1
  51. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  52. package/.next/server/app/api/models-config/route.js +1 -1
  53. package/.next/server/app/api/models-config/test/route.js +1 -1
  54. package/.next/server/app/api/omp-settings/route.js +1 -1
  55. package/.next/server/app/api/omp-update/route.js +2 -2
  56. package/.next/server/app/api/omp-version/route.js +1 -1
  57. package/.next/server/app/api/plugins/route.js +1 -1
  58. package/.next/server/app/api/projects/route.js +1 -1
  59. package/.next/server/app/api/providers/enable/route.js +1 -1
  60. package/.next/server/app/api/relay/devices/[id]/route.js +1 -1
  61. package/.next/server/app/api/relay/devices/route.js +1 -1
  62. package/.next/server/app/api/relay/pair/route.js +1 -1
  63. package/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  64. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  65. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  66. package/.next/server/app/api/sessions/[id]/entries/[entryId]/media/route.js +1 -1
  67. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  68. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  69. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  70. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  71. package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route.js +1 -1
  72. package/.next/server/app/api/sessions/[id]/subagents/route.js +1 -1
  73. package/.next/server/app/api/sessions/archive/route.js +1 -1
  74. package/.next/server/app/api/sessions/import/route.js +1 -1
  75. package/.next/server/app/api/sessions/route.js +1 -1
  76. package/.next/server/app/api/skills/check/route.js +1 -1
  77. package/.next/server/app/api/skills/install/route.js +1 -1
  78. package/.next/server/app/api/skills/route.js +1 -1
  79. package/.next/server/app/api/skills/search/route.js +1 -1
  80. package/.next/server/app/api/skills/update/route.js +1 -1
  81. package/.next/server/app/api/usage/route.js +1 -1
  82. package/.next/server/app/api/web-auth/session/route.js +1 -1
  83. package/.next/server/app/api/worktrees/route.js +1 -1
  84. package/.next/server/app/apple-icon.png/route.js +1 -1
  85. package/.next/server/app/favicon.ico/route.js +1 -1
  86. package/.next/server/app/icon.svg/route.js +1 -1
  87. package/.next/server/app/index.html +1 -1
  88. package/.next/server/app/index.rsc +4 -4
  89. package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  90. package/.next/server/app/index.segments/_full.segment.rsc +4 -4
  91. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  92. package/.next/server/app/login/page.js +1 -1
  93. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  94. package/.next/server/app/login.html +1 -1
  95. package/.next/server/app/login.rsc +4 -4
  96. package/.next/server/app/login.segments/_full.segment.rsc +4 -4
  97. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  98. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  99. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  100. package/.next/server/app/page.js +2 -2
  101. package/.next/server/app/page_client-reference-manifest.js +1 -1
  102. package/.next/server/app/pair/page.js +1 -1
  103. package/.next/server/app/pair/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/pair.html +1 -1
  105. package/.next/server/app/pair.rsc +4 -4
  106. package/.next/server/app/pair.segments/_full.segment.rsc +4 -4
  107. package/.next/server/app/pair.segments/_tree.segment.rsc +2 -2
  108. package/.next/server/app/pair.segments/pair/__PAGE__.segment.rsc +4 -4
  109. package/.next/server/app/relay/route.js +1 -1
  110. package/.next/server/app-paths-manifest.json +9 -8
  111. package/.next/server/chunks/5318.js +1 -1
  112. package/.next/server/chunks/714.js +1 -1
  113. package/.next/server/chunks/795.js +9 -9
  114. package/.next/server/chunks/8834.js +1 -1
  115. package/.next/server/chunks/933.js +1 -1
  116. package/.next/server/functions-config-manifest.json +1 -0
  117. package/.next/server/middleware-build-manifest.js +1 -1
  118. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  119. package/.next/server/middleware.js +3 -3
  120. package/.next/server/pages/404.html +1 -1
  121. package/.next/server/pages/500.html +1 -1
  122. package/.next/server/server-reference-manifest.json +1 -1
  123. package/.next/static/-e2ns-fZZm-4SQeI3H4-N/_buildManifest.js +1 -0
  124. package/.next/static/chunks/{1012.2a9e89fd82a08863.js → 1012.1393cfb59d12bb81.js} +1 -1
  125. package/.next/static/chunks/1941.66c3a0942c0c3e5d.js +1 -0
  126. package/.next/static/chunks/{2201.e6bbfc26ce87920c.js → 2201.46326eb058826eb2.js} +1 -1
  127. package/.next/static/chunks/{3274.4cdcf3a52b884856.js → 3274.2a04ea2716225057.js} +1 -1
  128. package/.next/static/chunks/3944.6215b78f025077b3.js +1 -0
  129. package/.next/static/chunks/4315-142781649334beb2.js +1 -0
  130. package/.next/static/chunks/4906-7dff29185f63f908.js +1 -0
  131. package/.next/static/chunks/587-c973123b3c9a5b80.js +1 -0
  132. package/.next/static/chunks/{7488.42415d6f1b86c86b.js → 7488.1403755f69bda581.js} +1 -1
  133. package/.next/static/chunks/app/_global-error/page-710453b8adcf7d31.js +1 -0
  134. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-710453b8adcf7d31.js +1 -0
  135. package/.next/static/chunks/app/api/agent/[id]/events/route-710453b8adcf7d31.js +1 -0
  136. package/.next/static/chunks/app/api/agent/[id]/route-710453b8adcf7d31.js +1 -0
  137. package/.next/static/chunks/app/api/agent/new/route-710453b8adcf7d31.js +1 -0
  138. package/.next/static/chunks/app/api/agent/running/events/route-710453b8adcf7d31.js +1 -0
  139. package/.next/static/chunks/app/api/agents/[name]/route-710453b8adcf7d31.js +1 -0
  140. package/.next/static/chunks/app/api/agents/route-710453b8adcf7d31.js +1 -0
  141. package/.next/static/chunks/app/api/agents/unpack/route-710453b8adcf7d31.js +1 -0
  142. package/.next/static/chunks/app/api/app-update/route-710453b8adcf7d31.js +1 -0
  143. package/.next/static/chunks/app/api/auth/all-providers/route-710453b8adcf7d31.js +1 -0
  144. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-710453b8adcf7d31.js +1 -0
  145. package/.next/static/chunks/app/api/auth/login/[provider]/route-710453b8adcf7d31.js +1 -0
  146. package/.next/static/chunks/app/api/auth/logout/[provider]/route-710453b8adcf7d31.js +1 -0
  147. package/.next/static/chunks/app/api/auth/providers/route-710453b8adcf7d31.js +1 -0
  148. package/.next/static/chunks/app/api/cwd/browse/route-710453b8adcf7d31.js +1 -0
  149. package/.next/static/chunks/app/api/cwd/validate/route-710453b8adcf7d31.js +1 -0
  150. package/.next/static/chunks/app/api/daemon/route-710453b8adcf7d31.js +1 -0
  151. package/.next/static/chunks/app/api/default-cwd/route-710453b8adcf7d31.js +1 -0
  152. package/.next/static/chunks/app/api/file-index/route-710453b8adcf7d31.js +1 -0
  153. package/.next/static/chunks/app/api/files/[...path]/route-710453b8adcf7d31.js +1 -0
  154. package/.next/static/chunks/app/api/git/diff/route-710453b8adcf7d31.js +1 -0
  155. package/.next/static/chunks/app/api/git/status/route-710453b8adcf7d31.js +1 -0
  156. package/.next/static/chunks/app/api/home/route-710453b8adcf7d31.js +1 -0
  157. package/.next/static/chunks/app/api/mcp/route-710453b8adcf7d31.js +1 -0
  158. package/.next/static/chunks/app/api/model-roles/route-710453b8adcf7d31.js +1 -0
  159. package/.next/static/chunks/app/api/models/route-710453b8adcf7d31.js +1 -0
  160. package/.next/static/chunks/app/api/models-config/catalog/route-710453b8adcf7d31.js +1 -0
  161. package/.next/static/chunks/app/api/models-config/route-710453b8adcf7d31.js +1 -0
  162. package/.next/static/chunks/app/api/models-config/test/route-710453b8adcf7d31.js +1 -0
  163. package/.next/static/chunks/app/api/omp-settings/route-710453b8adcf7d31.js +1 -0
  164. package/.next/static/chunks/app/api/omp-update/route-710453b8adcf7d31.js +1 -0
  165. package/.next/static/chunks/app/api/omp-version/route-710453b8adcf7d31.js +1 -0
  166. package/.next/static/chunks/app/api/plugins/route-710453b8adcf7d31.js +1 -0
  167. package/.next/static/chunks/app/api/projects/route-710453b8adcf7d31.js +1 -0
  168. package/.next/static/chunks/app/api/providers/enable/route-710453b8adcf7d31.js +1 -0
  169. package/.next/static/chunks/app/api/relay/devices/[id]/route-710453b8adcf7d31.js +1 -0
  170. package/.next/static/chunks/app/api/relay/devices/route-710453b8adcf7d31.js +1 -0
  171. package/.next/static/chunks/app/api/relay/pair/route-710453b8adcf7d31.js +1 -0
  172. package/.next/static/chunks/app/api/sessions/[id]/archive/route-710453b8adcf7d31.js +1 -0
  173. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-710453b8adcf7d31.js +1 -0
  174. package/.next/static/chunks/app/api/sessions/[id]/context/route-710453b8adcf7d31.js +1 -0
  175. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/media/route-710453b8adcf7d31.js +1 -0
  176. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-710453b8adcf7d31.js +1 -0
  177. package/.next/static/chunks/app/api/sessions/[id]/export/route-710453b8adcf7d31.js +1 -0
  178. package/.next/static/chunks/app/api/sessions/[id]/route-710453b8adcf7d31.js +1 -0
  179. package/.next/static/chunks/app/api/sessions/[id]/state/route-710453b8adcf7d31.js +1 -0
  180. package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-710453b8adcf7d31.js +1 -0
  181. package/.next/static/chunks/app/api/sessions/[id]/subagents/route-710453b8adcf7d31.js +1 -0
  182. package/.next/static/chunks/app/api/sessions/archive/route-710453b8adcf7d31.js +1 -0
  183. package/.next/static/chunks/app/api/sessions/import/route-710453b8adcf7d31.js +1 -0
  184. package/.next/static/chunks/app/api/sessions/route-710453b8adcf7d31.js +1 -0
  185. package/.next/static/chunks/app/api/skills/check/route-710453b8adcf7d31.js +1 -0
  186. package/.next/static/chunks/app/api/skills/install/route-710453b8adcf7d31.js +1 -0
  187. package/.next/static/chunks/app/api/skills/route-710453b8adcf7d31.js +1 -0
  188. package/.next/static/chunks/app/api/skills/search/route-710453b8adcf7d31.js +1 -0
  189. package/.next/static/chunks/app/api/skills/update/route-710453b8adcf7d31.js +1 -0
  190. package/.next/static/chunks/app/api/usage/route-710453b8adcf7d31.js +1 -0
  191. package/.next/static/chunks/app/api/web-auth/session/route-710453b8adcf7d31.js +1 -0
  192. package/.next/static/chunks/app/api/worktrees/route-710453b8adcf7d31.js +1 -0
  193. package/.next/static/chunks/app/login/page-a54174ed920300f7.js +1 -0
  194. package/.next/static/chunks/app/manifest.webmanifest/route-710453b8adcf7d31.js +1 -0
  195. package/.next/static/chunks/app/{page-dcb62803f94d0c1c.js → page-fe40fe42b5ca1207.js} +1 -1
  196. package/.next/static/chunks/app/pair/page-d72423ffc5654e29.js +1 -0
  197. package/.next/static/chunks/app/relay/route-710453b8adcf7d31.js +1 -0
  198. package/.next/static/chunks/next/dist/client/components/builtin/app-error-710453b8adcf7d31.js +1 -0
  199. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-710453b8adcf7d31.js +1 -0
  200. package/.next/static/chunks/next/dist/client/components/builtin/not-found-710453b8adcf7d31.js +1 -0
  201. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-710453b8adcf7d31.js +1 -0
  202. package/.next/static/chunks/webpack-d6e3c46873419a16.js +1 -0
  203. package/.next/static/css/63b622301ba107de.css +3 -0
  204. package/README.ja.md +28 -3
  205. package/README.ko.md +28 -3
  206. package/README.md +28 -3
  207. package/README.zh-CN.md +28 -3
  208. package/bin/ompgui-options.js +9 -2
  209. package/bin/ompgui-service.js +223 -0
  210. package/bin/ompgui-update.js +85 -22
  211. package/bin/ompgui.js +7 -0
  212. package/package.json +2 -1
  213. package/.next/static/QFUZ5E_wgec_DUeAoDxrb/_buildManifest.js +0 -1
  214. package/.next/static/chunks/1108.1f1e4661b6e402fb.js +0 -1
  215. package/.next/static/chunks/3065-24b6f2111fc740ea.js +0 -1
  216. package/.next/static/chunks/4315-bd1069a88334f3a3.js +0 -1
  217. package/.next/static/chunks/9090-6ce028ffeafe2aee.js +0 -1
  218. package/.next/static/chunks/app/_global-error/page-2900441d61e06609.js +0 -1
  219. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-2900441d61e06609.js +0 -1
  220. package/.next/static/chunks/app/api/agent/[id]/events/route-2900441d61e06609.js +0 -1
  221. package/.next/static/chunks/app/api/agent/[id]/route-2900441d61e06609.js +0 -1
  222. package/.next/static/chunks/app/api/agent/new/route-2900441d61e06609.js +0 -1
  223. package/.next/static/chunks/app/api/agent/running/events/route-2900441d61e06609.js +0 -1
  224. package/.next/static/chunks/app/api/agents/[name]/route-2900441d61e06609.js +0 -1
  225. package/.next/static/chunks/app/api/agents/route-2900441d61e06609.js +0 -1
  226. package/.next/static/chunks/app/api/agents/unpack/route-2900441d61e06609.js +0 -1
  227. package/.next/static/chunks/app/api/app-update/route-2900441d61e06609.js +0 -1
  228. package/.next/static/chunks/app/api/auth/all-providers/route-2900441d61e06609.js +0 -1
  229. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-2900441d61e06609.js +0 -1
  230. package/.next/static/chunks/app/api/auth/login/[provider]/route-2900441d61e06609.js +0 -1
  231. package/.next/static/chunks/app/api/auth/logout/[provider]/route-2900441d61e06609.js +0 -1
  232. package/.next/static/chunks/app/api/auth/providers/route-2900441d61e06609.js +0 -1
  233. package/.next/static/chunks/app/api/cwd/browse/route-2900441d61e06609.js +0 -1
  234. package/.next/static/chunks/app/api/cwd/validate/route-2900441d61e06609.js +0 -1
  235. package/.next/static/chunks/app/api/default-cwd/route-2900441d61e06609.js +0 -1
  236. package/.next/static/chunks/app/api/file-index/route-2900441d61e06609.js +0 -1
  237. package/.next/static/chunks/app/api/files/[...path]/route-2900441d61e06609.js +0 -1
  238. package/.next/static/chunks/app/api/git/diff/route-2900441d61e06609.js +0 -1
  239. package/.next/static/chunks/app/api/git/status/route-2900441d61e06609.js +0 -1
  240. package/.next/static/chunks/app/api/home/route-2900441d61e06609.js +0 -1
  241. package/.next/static/chunks/app/api/mcp/route-2900441d61e06609.js +0 -1
  242. package/.next/static/chunks/app/api/model-roles/route-2900441d61e06609.js +0 -1
  243. package/.next/static/chunks/app/api/models/route-2900441d61e06609.js +0 -1
  244. package/.next/static/chunks/app/api/models-config/catalog/route-2900441d61e06609.js +0 -1
  245. package/.next/static/chunks/app/api/models-config/route-2900441d61e06609.js +0 -1
  246. package/.next/static/chunks/app/api/models-config/test/route-2900441d61e06609.js +0 -1
  247. package/.next/static/chunks/app/api/omp-settings/route-2900441d61e06609.js +0 -1
  248. package/.next/static/chunks/app/api/omp-update/route-2900441d61e06609.js +0 -1
  249. package/.next/static/chunks/app/api/omp-version/route-2900441d61e06609.js +0 -1
  250. package/.next/static/chunks/app/api/plugins/route-2900441d61e06609.js +0 -1
  251. package/.next/static/chunks/app/api/projects/route-2900441d61e06609.js +0 -1
  252. package/.next/static/chunks/app/api/providers/enable/route-2900441d61e06609.js +0 -1
  253. package/.next/static/chunks/app/api/relay/devices/[id]/route-2900441d61e06609.js +0 -1
  254. package/.next/static/chunks/app/api/relay/devices/route-2900441d61e06609.js +0 -1
  255. package/.next/static/chunks/app/api/relay/pair/route-2900441d61e06609.js +0 -1
  256. package/.next/static/chunks/app/api/sessions/[id]/archive/route-2900441d61e06609.js +0 -1
  257. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-2900441d61e06609.js +0 -1
  258. package/.next/static/chunks/app/api/sessions/[id]/context/route-2900441d61e06609.js +0 -1
  259. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/media/route-2900441d61e06609.js +0 -1
  260. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-2900441d61e06609.js +0 -1
  261. package/.next/static/chunks/app/api/sessions/[id]/export/route-2900441d61e06609.js +0 -1
  262. package/.next/static/chunks/app/api/sessions/[id]/route-2900441d61e06609.js +0 -1
  263. package/.next/static/chunks/app/api/sessions/[id]/state/route-2900441d61e06609.js +0 -1
  264. package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-2900441d61e06609.js +0 -1
  265. package/.next/static/chunks/app/api/sessions/[id]/subagents/route-2900441d61e06609.js +0 -1
  266. package/.next/static/chunks/app/api/sessions/archive/route-2900441d61e06609.js +0 -1
  267. package/.next/static/chunks/app/api/sessions/import/route-2900441d61e06609.js +0 -1
  268. package/.next/static/chunks/app/api/sessions/route-2900441d61e06609.js +0 -1
  269. package/.next/static/chunks/app/api/skills/check/route-2900441d61e06609.js +0 -1
  270. package/.next/static/chunks/app/api/skills/install/route-2900441d61e06609.js +0 -1
  271. package/.next/static/chunks/app/api/skills/route-2900441d61e06609.js +0 -1
  272. package/.next/static/chunks/app/api/skills/search/route-2900441d61e06609.js +0 -1
  273. package/.next/static/chunks/app/api/skills/update/route-2900441d61e06609.js +0 -1
  274. package/.next/static/chunks/app/api/usage/route-2900441d61e06609.js +0 -1
  275. package/.next/static/chunks/app/api/web-auth/session/route-2900441d61e06609.js +0 -1
  276. package/.next/static/chunks/app/api/worktrees/route-2900441d61e06609.js +0 -1
  277. package/.next/static/chunks/app/login/page-76b98ef41947c31b.js +0 -1
  278. package/.next/static/chunks/app/manifest.webmanifest/route-2900441d61e06609.js +0 -1
  279. package/.next/static/chunks/app/pair/page-e1ad2578491903a8.js +0 -1
  280. package/.next/static/chunks/app/relay/route-2900441d61e06609.js +0 -1
  281. package/.next/static/chunks/next/dist/client/components/builtin/app-error-2900441d61e06609.js +0 -1
  282. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-2900441d61e06609.js +0 -1
  283. package/.next/static/chunks/next/dist/client/components/builtin/not-found-2900441d61e06609.js +0 -1
  284. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2900441d61e06609.js +0 -1
  285. package/.next/static/chunks/webpack-789dbb5c37af2dc8.js +0 -1
  286. package/.next/static/css/d4456801cd2ff0da.css +0 -3
  287. /package/.next/static/{QFUZ5E_wgec_DUeAoDxrb → -e2ns-fZZm-4SQeI3H4-N}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1941],{12651:(e,t,n)=>{n.d(t,{A:()=>i});let i=(0,n(99537).A)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]])},34140:(e,t,n)=>{n.d(t,{NN:()=>s,RJ:()=>o});let i="ompgui-sound-enabled",a="omp-sound-enabled";function s(){try{let e=function(){let e=window.localStorage,t=e.getItem(i);if(null!==t)return t;let n=e.getItem(a);if(null===n)return null;if("true"===n||"false"===n)try{return e.setItem(i,n),e.removeItem(a),n}catch{return null}try{e.removeItem(a)}catch{}return null}();return null===e||"true"===e}catch{return!0}}function o(e){try{window.localStorage.setItem(i,String(e))}catch{}}},35893:(e,t,n)=>{n.d(t,{t_:()=>o,vR:()=>r,vz:()=>s});let i="omp-web:submit-during-run",a="ompgui:submit-during-run-change";function s(){try{let e=window.localStorage.getItem(i);if("steer"===e||"queue"===e)return e}catch{}return"steer"}function o(e){try{window.localStorage.setItem(i,e),window.dispatchEvent(new Event(a))}catch{}}function r(e){let t=t=>{t.key===i&&e()};return window.addEventListener(a,e),window.addEventListener("storage",t),()=>{window.removeEventListener(a,e),window.removeEventListener("storage",t)}}},41941:(e,t,n)=>{n.r(t),n.d(t,{SettingsConfig:()=>ei});var i=n(95155),a=n(12115),s=n(35893),o=n(37206),r=n(65377),l=n(70299),d=n(47603),c=n(78890),p=n(86272),g=n(82749),u=n(99314),f=n(92298),b=n(99537);let x=(0,b.A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);var h=n(31590),m=n(30808),v=n(34906);let y=(0,b.A)("smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);var C=n(66763),k=n(50981),w=n(12651);let j=(0,b.A)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);var S=n(90710);let A=(0,b.A)("cable",[["path",{d:"M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z",key:"trhst0"}],["path",{d:"M17 21v-2",key:"ds4u3f"}],["path",{d:"M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10",key:"1mo9zo"}],["path",{d:"M21 21v-2",key:"eo0ou"}],["path",{d:"M3 5V3",key:"1k5hjh"}],["path",{d:"M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z",key:"1dd30t"}],["path",{d:"M7 5V3",key:"1t1388"}]]);var R=n(4315);let M=[{id:"relay",label:"Connect Phone",description:"Pair ompgui Remote over Relay with a QR or link",Icon:y},{id:"general",label:"Interface & Behavior",description:"UI preferences, completion sound, submission mode",Icon:C.A},{id:"safety",label:"Safety & Approvals",description:"Tool safety rules, YOLO mode, terminal permissions",Icon:k.A},{id:"models",label:"AI Model Defaults",description:"Reasoning budget, verbosity, personality, scratchpad",Icon:w.A},{id:"providers",label:"API Keys & Providers",description:"Connected OAuth accounts, API keys, and model registry",Icon:j},{id:"intelligence",label:"Agent & Intelligence",description:"Advisor, memory, autolearn, compaction and retry",Icon:p.A},{id:"agents",label:"Agents & Subagents",description:"Configured subagents, model routing, prewalk, and advisor",Icon:S.A},{id:"extensions",label:"Extensions & Tools",description:"Optional tools, MCP servers, managed skills, and OMP plugins",Icon:A},{id:"system",label:"System & Updates",description:"App updates, runtime version, and active session restart",Icon:g.A}],D=[{id:"tools",label:"Optional Tools",description:"Toggle optional built-in tool capabilities"},{id:"mcp",label:"MCP Servers",description:"Configure global and project MCP servers"},{id:"skills",label:"Skills",description:"Manage reusable workspace skills"},{id:"plugins",label:"Plugins",description:"Manage OMP plugins for this workspace"}],T=e=>"tools"===e||"mcp"===e||"skills"===e||"plugins"===e||"extensions"===e?"extensions":e;function z({active:e,onSelect:t,layout:n="vertical"}){let{t:a}=(0,R.s9)(),s=T(e),o=(e,n)=>{let i=M.findIndex(e=>e.id===n);if(i<0||0===M.length)return;let a=null;("ArrowRight"===e.key||"ArrowDown"===e.key)&&(a=(i+1)%M.length),("ArrowLeft"===e.key||"ArrowUp"===e.key)&&(a=(i-1+M.length)%M.length),"Home"===e.key&&(a=0),"End"===e.key&&(a=M.length-1),null!==a&&(e.preventDefault(),t(M[a].id))};return"vertical"===n?(0,i.jsx)("nav",{"aria-label":"Settings sections",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:M.map(({id:e,label:n,description:r,Icon:l})=>{let d=e===s,c=a(`settingsTabs.${e}`)||n,p=a(`settingsTabs.${e}Desc`)||r;return(0,i.jsxs)("button",{type:"button",role:"tab",id:`settings-tab-${e}`,"aria-selected":d,"aria-controls":`settings-panel-${e}`,tabIndex:d?0:-1,onClick:()=>t(e),onKeyDown:t=>o(t,e),style:{display:"flex",alignItems:"flex-start",gap:10,minHeight:"var(--control-touch, 44px)",padding:"8px 10px",border:d?"1px solid var(--accent)":"1px solid transparent",borderRadius:"var(--radius-control)",background:d?"var(--bg-selected)":"transparent",color:d?"var(--text)":"var(--text-muted)",cursor:"pointer",textAlign:"left",transition:"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)",width:"100%",boxSizing:"border-box",touchAction:"manipulation"},children:[(0,i.jsx)(l,{size:16,"aria-hidden":"true",style:{marginTop:2,flexShrink:0,color:d?"var(--accent)":"currentColor"}}),(0,i.jsxs)("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:2},children:[(0,i.jsx)("div",{style:{fontSize:"var(--text-base)",fontWeight:d?600:500,lineHeight:1.3,color:d?"var(--text)":"inherit"},children:c}),(0,i.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--text-dim)",lineHeight:1.3,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:p})]})]},e)})}):(0,i.jsx)("nav",{"aria-label":"Settings sections",role:"tablist",style:{display:"flex",gap:6,padding:"8px 12px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",flexShrink:0,overflowX:"auto",WebkitOverflowScrolling:"touch"},children:M.map(({id:e,label:n,description:r,Icon:l})=>{let d=e===s,c=a(`settingsTabs.${e}`)||n,p=a(`settingsTabs.${e}Desc`)||r;return(0,i.jsxs)("button",{type:"button",role:"tab",id:`settings-tab-${e}`,"aria-selected":d,"aria-controls":`settings-panel-${e}`,"aria-label":`${c}: ${p}`,title:p,tabIndex:d?0:-1,onClick:()=>t(e),onKeyDown:t=>o(t,e),style:{display:"inline-flex",alignItems:"flex-start",gap:7,minHeight:"var(--control-touch, 44px)",padding:"6px 10px",border:d?"1px solid var(--accent)":"1px solid var(--border)",borderRadius:"var(--radius-control)",background:d?"var(--bg-selected)":"var(--bg)",color:d?"var(--text)":"var(--text-muted)",fontWeight:d?600:500,cursor:"pointer",fontSize:"var(--text-sm)",whiteSpace:"nowrap",textAlign:"left",flexShrink:0,boxSizing:"border-box",touchAction:"manipulation",transition:"all var(--dur-fast) var(--ease-out-warm)"},children:[(0,i.jsx)(l,{size:14,"aria-hidden":"true",style:{marginTop:2,flexShrink:0,color:d?"var(--accent)":"currentColor"}}),(0,i.jsxs)("span",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[(0,i.jsx)("span",{style:{fontWeight:d?600:500,fontSize:"var(--text-base)",color:d?"var(--text)":"inherit"},children:c}),(0,i.jsx)("span",{style:{fontSize:"var(--text-sm)",color:"var(--text-dim)",lineHeight:1.25,maxWidth:180,overflow:"hidden",textOverflow:"ellipsis"},children:p})]})]},e)})})}function I({active:e,onSelect:t}){let{t:n}=(0,R.s9)(),a=Math.max(0,D.findIndex(t=>t.id===e)),s=e=>{let n=null;("ArrowRight"===e.key||"ArrowDown"===e.key)&&(n=(a+1)%D.length),("ArrowLeft"===e.key||"ArrowUp"===e.key)&&(n=(a-1+D.length)%D.length),"Home"===e.key&&(n=0),"End"===e.key&&(n=D.length-1),null!==n&&(e.preventDefault(),t(D[n].id))};return(0,i.jsx)("div",{role:"tablist","aria-label":n("settingsConfig.extensionsTabsAria"),"aria-orientation":"horizontal",style:{display:"flex",gap:4,padding:4,border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",alignSelf:"flex-start",maxWidth:"100%",overflowX:"auto"},children:D.map(a=>{let o=a.id===e,r=n(`settingsConfig.extensionsTab.${a.id}`)||a.label,l=n(`settingsConfig.extensionsTab.${a.id}Desc`)||a.description;return(0,i.jsx)("button",{type:"button",role:"tab",id:`settings-extension-tab-${a.id}`,"aria-selected":o,"aria-controls":`settings-extension-panel-${a.id}`,"aria-label":`${r}: ${l}`,tabIndex:o?0:-1,onClick:()=>t(a.id),onKeyDown:s,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",minHeight:"var(--control-touch, 44px)",padding:"6px 12px",border:o?"1px solid var(--accent)":"1px solid transparent",borderRadius:"calc(var(--radius-control) - var(--space-1))",background:o?"var(--bg-selected)":"transparent",color:o?"var(--text)":"var(--text-muted)",fontSize:"var(--text-sm)",fontWeight:o?600:500,cursor:"pointer",whiteSpace:"nowrap",boxSizing:"border-box",touchAction:"manipulation",transition:"all var(--dur-fast) var(--ease-out-warm)"},children:r},a.id)})})}var P=n(7834);function N(e){if("object"!=typeof e||null===e||!("supported"in e)||"boolean"!=typeof e.supported||!("installed"in e)||"boolean"!=typeof e.installed||!("running"in e)||"boolean"!=typeof e.running||!("autoStart"in e)||"boolean"!=typeof e.autoStart||!("label"in e)||"string"!=typeof e.label||!("pid"in e)||null!==e.pid&&("number"!=typeof e.pid||!Number.isSafeInteger(e.pid)||e.pid<=0)||!("logPath"in e)||null!==e.logPath&&"string"!=typeof e.logPath)throw Error("Invalid daemon status response");return{supported:e.supported,installed:e.installed,running:e.running,autoStart:e.autoStart,label:e.label,pid:e.pid,logPath:e.logPath,..."error"in e&&"string"==typeof e.error?{error:e.error}:{},..."accepted"in e&&!0===e.accepted?{accepted:!0}:{},..."cliAvailable"in e&&"boolean"==typeof e.cliAvailable?{cliAvailable:e.cliAvailable}:{}}}var O=n(96793),W=n(34140),F=n(90071);function L(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function E(e){return Object.assign({},e)}function U(e){return e.mounted&&e.requestGeneration===e.latestGeneration}let $=()=>(0,i.jsx)("div",{role:"status",style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-muted)",fontSize:"var(--text-sm)"},children:"Loading settings…"}),H=(0,o.default)(()=>n.e(7488).then(n.bind(n,47488)).then(e=>e.BuiltInToolsConfig),{loadableGenerated:{webpack:()=>[47488]},loading:$}),q=(0,o.default)(()=>Promise.all([n.e(1441),n.e(3274)]).then(n.bind(n,33274)).then(e=>e.ModelsConfig),{loadableGenerated:{webpack:()=>[33274]},loading:$}),B=(0,o.default)(()=>n.e(9981).then(n.bind(n,99981)).then(e=>e.SkillsConfig),{loadableGenerated:{webpack:()=>[99981]},loading:$}),V=(0,o.default)(()=>n.e(2201).then(n.bind(n,42201)).then(e=>e.PluginsConfig),{loadableGenerated:{webpack:()=>[42201]},loading:$}),K=(0,o.default)(()=>n.e(4473).then(n.bind(n,24473)).then(e=>e.McpConfig),{loadableGenerated:{webpack:()=>[24473]},loading:$}),G=(0,o.default)(()=>n.e(9668).then(n.bind(n,79668)).then(e=>e.AgentsConfig),{loadableGenerated:{webpack:()=>[79668]},ssr:!1}),_=(0,o.default)(()=>Promise.all([n.e(587),n.e(3944)]).then(n.bind(n,63944)).then(e=>e.RelayPairPanel),{loadableGenerated:{webpack:()=>[63944]},loading:$}),Y=["default","smol","slow","vision","plan","designer","commit","tiny","task","advisor"],J=Array.from({length:21},(e,t)=>t),Q={fontSize:"var(--text-xs)",padding:"1px 6px",borderRadius:"calc(var(--radius-control) / 2)",background:"var(--bg-subtle)",color:"var(--text-muted)",fontWeight:500};function X(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}let Z=(0,a.createContext)(null),ee=[{tab:"relay",section:"Connect Phone",label:"Pair phone via Relay",description:"Create a QR or link so ompgui Remote can connect over Tailscale Funnel.",scope:"UI",labelKey:"relayPair.title",descriptionKey:"relayPair.description",sectionKey:"settingsTabs.relay"},{tab:"general",section:"Appearance",label:"Color mode",description:"Choose between light, dark, or system color mode.",scope:"UI"},{tab:"general",section:"Appearance",label:"Theme palette",description:"Select warm paper/ember or canonical OMP birch/graphite palette.",scope:"UI"},{tab:"general",section:"Interface & Behavior",label:"Keep tool calls collapsed",description:"Show only compact headers while tools execute.",scope:"UI"},{tab:"general",section:"Interface & Behavior",label:"Completion sound",description:"Play a tone when the agent completes a run.",scope:"UI"},{tab:"general",section:"Interface & Behavior",label:"Message during active run",description:"What composer does on submit while agent runs. Steer interrupts; Queue follow-up delivers after finish.",scope:"UI"},{tab:"safety",section:"Tool Safety & Approvals",label:"Approval Mode",description:"Choose when OMP asks before tool calls.",scope:"New sessions"},{tab:"safety",section:"Tool Safety & Approvals",label:"Bash Override",description:"Override default approval policy specifically for terminal commands.",scope:"New sessions"},{tab:"safety",section:"Tool Safety & Approvals",label:"Extension Tool Requests",description:"Automatically approve extension tool authorization requests.",scope:"New sessions"},{tab:"models",section:"AI Model Defaults",label:"Reasoning",description:"Default effort level for thinking-capable models.",scope:"New sessions"},{tab:"models",section:"AI Model Defaults",label:"Verbosity",description:"Response detail level for supporting providers.",scope:"New sessions"},{tab:"models",section:"AI Model Defaults",label:"Personality",description:"Style included in OMP's system prompt.",scope:"New sessions"},{tab:"models",section:"AI Model Defaults",label:"Thinking Blocks",description:"Hide model reasoning from output view.",scope:"New sessions"},{tab:"models",section:"AI Model Defaults",label:"External Thinking",description:"Private scratchpad reasoning via think tool.",scope:"New sessions"},{tab:"intelligence",section:"Advisor Review",label:"Enable Advisor",description:"Enable Advisor for new sessions with the advisor role.",scope:"New sessions"},{tab:"intelligence",section:"Advisor Review",label:"Advisor Backlog",description:"Wait briefly when advisor falls behind.",scope:"New sessions"},{tab:"intelligence",section:"Advisor Review",label:"Review Subagents",description:"Apply Advisor passive review to subagent tasks.",scope:"New sessions"},{tab:"intelligence",section:"Context Compaction",label:"Automatic Compaction",description:"Compact context before model context limit is hit.",scope:"New sessions"},{tab:"intelligence",section:"Context Compaction",label:"Continue After Compaction",description:"Resume task execution after compaction completes.",scope:"New sessions"},{tab:"intelligence",section:"Context Compaction",label:"Maintenance Strategy",description:"Select algorithm used to reduce context pressure.",scope:"New sessions"},{tab:"intelligence",section:"Context Compaction",label:"Compact Mid-Turn",description:"Check context limits between tool execution steps.",scope:"New sessions"},{tab:"intelligence",section:"Memory & Auto-Learn",label:"Memory Backend",description:"Where durable knowledge is stored across sessions.",scope:"New sessions"},{tab:"intelligence",section:"Memory & Auto-Learn",label:"Enable Auto-Learn",description:"Capture reusable lessons after completed runs.",scope:"New sessions"},{tab:"intelligence",section:"Memory & Auto-Learn",label:"Private Capture Turn",description:"Run private lesson-capture turn at completion.",scope:"New sessions"},{tab:"intelligence",section:"Memory & Auto-Learn",label:"Memory Scope",description:"Scoping for Mnemopi knowledge storage.",scope:"New sessions"},{tab:"intelligence",section:"Memory & Auto-Learn",label:"Recall on Session Start",description:"Load relevant memories into first turn.",scope:"New sessions"},{tab:"intelligence",section:"Memory & Auto-Learn",label:"Retain Completed Turns",description:"Store completed conversation turns in memory.",scope:"New sessions"},{tab:"intelligence",section:"Automatic Retry",label:"Automatic Retry",description:"Retry failed turns automatically.",scope:"New sessions"},{tab:"intelligence",section:"Automatic Retry",label:"Max Attempts",description:"Retry limit before giving up.",scope:"New sessions"},{tab:"intelligence",section:"Automatic Retry",label:"Model Fallback",description:"Fall back to alternative model when retries exhaust.",scope:"New sessions"},{tab:"intelligence",section:"Automatic Retry",label:"Return to primary",description:"Choose when OMP should leave a fallback model after its cooldown.",scope:"New sessions"},{tab:"intelligence",section:"Automatic Retry",label:"Fallback chain",description:"Choose ordered fallback models for each native model role.",scope:"New sessions"},{tab:"mcp",section:"Extensions & Tools",label:"Load Project MCP Servers",description:"Allow project-root MCP configuration to be discovered.",scope:"New sessions"},{tab:"mcp",section:"Extensions & Tools",label:"Render MCP Markdown",description:"Render non-JSON MCP results as Markdown in transcript.",scope:"New sessions"},{tab:"mcp",section:"Extensions & Tools",label:"MCP Resource Updates",description:"Inject server resource updates into conversation.",scope:"New sessions"},{tab:"system",section:"System & Updates",label:"Background service",description:"Manage the macOS background service and automatic start at login.",labelKey:"daemon.title",descriptionKey:"daemon.description",sectionKey:"settingsConfig.systemUpdates"},{tab:"system",section:"System & Updates",label:"Active session system prompt",description:"Inspect the system prompt used by the active session.",labelKey:"settingsConfig.sessionSystemPrompt",descriptionKey:"settingsConfig.sessionSystemPromptDescription",sectionKey:"settingsConfig.systemUpdates"}];function et({results:e,query:t,onSelect:n}){return(0,i.jsxs)("div",{style:{flex:1,minHeight:0,overflowY:"auto",background:"var(--bg)",padding:16,display:"flex",flexDirection:"column",gap:10},children:[(0,i.jsx)("div",{style:{fontSize:"var(--text-base)",color:"var(--text-muted)"},children:0===e.length?`No settings match “${t}”.`:`${e.length} result${1===e.length?"":"s"} for “${t}”.`}),e.map(e=>(0,i.jsxs)("button",{type:"button",onClick:()=>n(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) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,i.jsx)("span",{style:{fontSize:"var(--text-base)",fontWeight:600},children:e.label}),"category"===e.kind&&(0,i.jsx)("span",{style:Q,children:"Section"}),e.scope&&(0,i.jsx)("span",{style:Q,children:e.scope})]}),(0,i.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--text-muted)",lineHeight:1.45},children:e.description}),e.section&&(0,i.jsx)("div",{style:{fontSize:"var(--text-xs)",color:"var(--text-dim)"},children:e.section})]},e.id))]})}function en({label:e,description:t,scope:n,compact:s=!1,hideDescription:o=!1,children:r}){let{t:l}=(0,R.s9)(),d=(0,a.useRef)(null),c=(0,a.useContext)(Z),p=null!==c&&c===X(e);return(0,a.useEffect)(()=>{p&&d.current&&d.current.scrollIntoView({behavior:"smooth",block:"center"})},[p]),(0,i.jsxs)("div",{ref:d,"data-search-id":X(e),style:{minWidth:0,padding:s?"8px 10px":"12px 14px",border:"1px solid var(--border)",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",display:"flex",flexDirection:"column",gap:s?4:8,transition:"box-shadow var(--dur-fast) var(--ease-out-warm), border-color var(--dur-fast) var(--ease-out-warm)",...p?{borderColor:"var(--accent)",boxShadow:"0 0 0 2px var(--accent)"}:{}},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:10,flexWrap:"wrap"},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,i.jsx)("span",{style:{fontSize:"var(--text-base)",fontWeight:600,color:"var(--text)"},children:e}),n&&(0,i.jsx)("span",{style:Q,children:"New sessions"===n?l("settingsConfig.newSessions"):n})]}),(0,i.jsx)("span",{style:{flexShrink:0},children:r})]}),!o&&(0,i.jsx)("span",{style:{color:"var(--text-muted)",fontSize:"var(--text-sm)",lineHeight:s?1.3:1.45},children:t})]})}function ei({activeTab:e,advisorEnabled:t,onAdvisorChange:n,toolCallsDefaultCollapsed:o,onToolCallsDefaultCollapsedChange:b,cwd:y,sessionId:C,systemPrompt:k,systemPromptLoading:w,onLoadSystemPrompt:j,onModelsSaved:S,onPluginsReloaded:A,onOmpSessionsRestarted:D,onOmpUpdateAvailabilityChange:$,onAppUpdateAvailabilityChange:ea,onSelectTab:es,onClose:eo,runtimeReady:er}){let{t:el}=(0,R.s9)(),ed=(0,h.a)(),[ec,ep]=(0,a.useState)(T(e)),[eg,eu]=(0,a.useState)(()=>"mcp"===e||"skills"===e||"plugins"===e?e:"tools"),[ef,eb]=(0,a.useState)(()=>new Set([T(e)])),[ex,eh]=(0,a.useState)(!1),[em,ev]=(0,a.useState)(null),[ey,eC]=(0,a.useState)(!1),[ek,ew]=(0,a.useState)(0),[ej,eS]=(0,a.useState)(null),[eA,eR]=(0,a.useState)(!1),[eM,eD]=(0,a.useState)(null),[eT,ez]=(0,a.useState)(null),[eI,eP]=(0,a.useState)(null),[eN,eO]=(0,a.useState)(null),[eW,eF]=(0,a.useState)(!1),[eL,eE]=(0,a.useState)(null),[eU,e$]=(0,a.useState)(!1),[eH,eq]=(0,a.useState)(!1),[eB,eV]=(0,a.useState)(null),[eK,eG]=(0,a.useState)(!1),e_=(0,a.useRef)(0),eY=(0,a.useRef)(0),eJ=(0,a.useRef)(!1),eQ=(0,a.useRef)(!1),[eX,eZ]=(0,a.useState)(null),[e0,e1]=(0,a.useState)(!1),[e2,e4]=(0,a.useState)("steer"),[e6,e5]=(0,a.useState)(""),[e8,e9]=(0,a.useState)(null),[e3,e7]=(0,a.useState)([]),[te,tt]=(0,a.useState)("default"),[tn,ti]=(0,a.useState)(""),{preference:ta,setTheme:ts,palette:to,setPalette:tr}=(0,O.DP)(),tl=(0,a.useRef)({}),td=(0,a.useRef)(0),tc=(0,a.useRef)(!0),tp=(0,a.useRef)(Promise.resolve()),tg=(0,a.useRef)(null),tu=(0,a.useCallback)(async()=>{let e=td.current;try{let t=await fetch("/api/omp-settings");if(!t.ok)return;let n=await t.json();if(!U({mounted:tc.current,requestGeneration:e,latestGeneration:td.current}))return;let i=n.settings??{};tl.current=i,eZ(i)}catch{}},[]);(0,a.useEffect)(()=>(tc.current=!0,()=>{tc.current=!1,tg.current&&(clearTimeout(tg.current),tg.current=null)}),[]),(0,a.useEffect)(()=>{tu()},[tu]),(0,a.useEffect)(()=>{e1((0,W.NN)()),e4((0,s.vz)())},[]),(0,a.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await (0,F.aQ)();if(e)return;let n=t.modelList.map(e=>({id:e.id,provider:e.provider,name:e.name}));e7(n)}catch{}})(),()=>{e=!0}},[]);let tf=(0,a.useCallback)(async e=>{let t=function(e,t){let n=E(e);for(let[e,i]of Object.entries(t))if(void 0!==i)if(L(i)){let t=n[e],a=L(t)?E(t):{},s={...a,...i};if("tools"===e&&L(i.approval)){let e=L(a.approval)?a.approval:{};s.approval=0===Object.keys(i.approval).length?{}:{...e,...i.approval}}n[e]=s}else n[e]=i;return n}(tl.current,e);tl.current=t,eZ(t);let n=++td.current,i=!1;return tp.current=tp.current.then(async()=>{if(tc.current)try{let e=await fetch("/api/omp-settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:tl.current})});if(!e.ok)return;let t=await e.json();if(i=!0,!U({mounted:tc.current,requestGeneration:n,latestGeneration:td.current}))return;t.settings&&(tl.current=t.settings,eZ(t.settings)),t.application?.restartRequired&&eV(el("settingsConfig.restartPrompt"))}catch{i=!1}}),await tp.current,i},[el]),tb=(0,a.useCallback)((e,t)=>tf({[e]:t}),[tf]),tx=(0,a.useCallback)(e=>tf({tools:{approval:e}}),[tf]),th=(0,a.useMemo)(()=>eX?.retry??{},[eX?.retry]),tm=(0,a.useMemo)(()=>th.fallbackChains??{},[th.fallbackChains]),tv=(0,a.useMemo)(()=>tm[te]??[],[tm,te]),ty=(0,a.useMemo)(()=>{let e=new Set;for(let t of e3)t.id&&e.add(t.id),t.provider&&t.id&&e.add(`${t.provider}/${t.id}`);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[e3]),tC=(0,a.useCallback)(e=>{let t={...tl.current.retry?.fallbackChains??{}};return 0===e.length?delete t[te]:t[te]=e,tb("retry",{fallbackChains:t})},[te,tb]),tk=(0,a.useCallback)(e=>{if(ex){ev(()=>e),eC(!0);return}e()},[ex]),tw=(0,a.useCallback)(()=>{tk(()=>{eo()})},[eo,tk]),tj=(0,a.useCallback)(e=>{"tools"===e||"mcp"===e||"skills"===e||"plugins"===e?tk(()=>{ep("extensions"),eu(e),eb(e=>new Set([...e,"extensions"])),es(e)}):tk(()=>{let t=T(e);ep(t),eb(e=>new Set([...e,t])),es(t)})},[es,tk]),tS=(0,a.useCallback)(()=>{eh(!1),ew(e=>e+1),eC(!1),ev(null),em&&em()},[em]);(0,a.useEffect)(()=>{let t=T(e);ep(t),("tools"===e||"mcp"===e||"skills"===e||"plugins"===e)&&eu(e),eb(e=>new Set([...e,t]))},[e]);let tA=(0,a.useCallback)(async(e=!1)=>{if(!e&&eJ.current)return;let t=++e_.current;eJ.current=!0,eF(!0),e&&eV(null);try{let e=await fetch("/api/omp-update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"check"})});if(!e.ok)throw Error("Failed to check OMP updates");let n=await e.json();if(t!==e_.current||!tc.current)return;eO(n),$&&"boolean"==typeof n.updateAvailable&&$(n.updateAvailable),n.updateAvailable||eV(el("settingsConfig.upToDate",{version:n.currentVersion??"current"}))}catch{if(t!==e_.current||!tc.current)return;eV(el("settingsConfig.updateCheckFailed"))}finally{t===e_.current&&(eJ.current=!1,tc.current&&eF(!1))}},[$,el]),tR=(0,a.useCallback)(async(e=!1)=>{if(!e&&eQ.current)return;let t=++eY.current;eQ.current=!0,e$(!0),e&&(eV(null),eG(!1));try{let n=await fetch(e?"/api/app-update?force=1":"/api/app-update");if(!n.ok)throw Error("Failed to check ompgui updates");let i=await n.json();if(t!==eY.current||!tc.current)return;if(eE(i),i.lookupFailed){e&&(eG(!0),eV(el("settingsConfig.appUpdateCheckFailed")));return}ea&&"boolean"==typeof i.updateAvailable&&ea(i.updateAvailable),eG(!1),e&&(i.updateAvailable?eV(null):eV(el("settingsConfig.upToDate",{version:i.currentVersion??"current"})))}catch{if(t!==eY.current||!tc.current)return;e&&(eG(!0),eV(el("settingsConfig.appUpdateCheckFailed")))}finally{t===eY.current&&(eQ.current=!1,tc.current&&e$(!1))}},[ea,el]);(0,a.useEffect)(()=>{"system"===ec&&(tA(),tR(!1))},[ec,tA,tR]);let tM=(0,a.useCallback)(async()=>{eR(!0),eD(null);try{let e=await fetch("/api/daemon",{cache:"no-store",signal:AbortSignal.timeout(5e3)});if(!e.ok)throw Error(el("daemon.unavailable"));let t=N(await e.json());tc.current&&eS(t)}catch(e){tc.current&&eD(e instanceof Error?e.message:el("daemon.unavailable"))}finally{tc.current&&eR(!1)}},[el]);(0,a.useEffect)(()=>{"system"===ec&&tM()},[ec,tM]),(0,a.useEffect)(()=>{let e;if(!eT)return;let t=!1,n=async()=>{try{let e=await fetch("/api/daemon",{cache:"no-store",signal:AbortSignal.timeout(4e3)});if(e.ok){let n=N(await e.json());if(t)return;if(eS(n),"restart"===eT.action?n.running&&n.pid!==eT.pid:"uninstall"===eT.action?!n.installed:!n.running){ez(null),eD(n.error??null);return}}}catch{}if(!t){if(Date.now()>=eT.deadline){ez(null),eS(null),eD(el("daemon.readbackFailed"));return}e=window.setTimeout(()=>void n(),2e3)}};return e=window.setTimeout(()=>void n(),2e3),()=>{t=!0,window.clearTimeout(e)}},[eT,el]);let tD=(0,a.useCallback)(async e=>{eR(!0),eD(null),eP(null);let t="restart"===e||"stop"===e||"uninstall"===e,n=!1;try{let t=await fetch("/api/daemon",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e}),signal:AbortSignal.timeout(2e4)});n=!t.ok;let i=await t.json();if(!t.ok)throw Error("object"==typeof i&&null!==i&&"error"in i&&"string"==typeof i.error?i.error:el("daemon.actionFailed"));if("object"==typeof i&&null!==i&&"error"in i&&"string"==typeof i.error&&i.error)throw n=!0,Error(i.error);let a=N(i);if(!tc.current)return;eS(a),a.accepted?ez({action:e,pid:ej?.pid??null,deadline:Date.now()+6e4}):await tM()}catch(i){if(!tc.current)return;eD(i instanceof Error?i.message:el("daemon.actionFailed")),t&&!n&&ez({action:e,pid:ej?.pid??null,deadline:Date.now()+6e4})}finally{tc.current&&eR(!1)}},[ej?.pid,tM,el]),tT=(0,a.useCallback)(async()=>{eq(!0),eV(null);try{if(!(await fetch("/api/omp-update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"restart"})})).ok)throw Error("Failed to restart sessions");eV(el("settingsConfig.sessionsRestarted")),D()}catch{eV(el("settingsConfig.restartFailed"))}finally{eq(!1)}},[D,el]),tz=(0,a.useMemo)(()=>{let e=e6.trim().toLowerCase();if(!e)return[];let t=[];for(let n of M){let i=el(`settingsTabs.${n.id}`)||n.label,a=el(`settingsTabs.${n.id}Desc`)||n.description;(i.toLowerCase().includes(e)||a.toLowerCase().includes(e)||n.id.toLowerCase().includes(e))&&t.push({id:`cat-${n.id}`,kind:"category",tab:n.id,label:i,description:a})}for(let n of ee){let i=(n.labelKey?el(n.labelKey):null)||n.label,a=(n.descriptionKey?el(n.descriptionKey):null)||n.description,s=(n.sectionKey?el(n.sectionKey):null)||n.section;(i.toLowerCase().includes(e)||a.toLowerCase().includes(e)||s.toLowerCase().includes(e))&&t.push({id:`setting-${n.tab}-${X(n.label)}`,kind:"setting",tab:n.tab,label:i,description:a,scope:n.scope,section:s})}return t},[e6,el]),tI=(0,a.useCallback)(e=>{e5(""),tj(e.tab),"setting"===e.kind&&(e9(X(e.label)),tg.current&&clearTimeout(tg.current),tg.current=setTimeout(()=>{tg.current=null,e9(null)},2500))},[tj]);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(m.lG,{open:!0,onOpenChange:e=>{e||tw()},children:(0,i.jsxs)(m.Cf,{ariaLabel:el("settingsConfig.title"),style:{width:860,maxWidth:"96vw",height:ed?"92dvh":"80vh",maxHeight:"92dvh",display:"flex",flexDirection:"column",overflow:"hidden",padding:0,borderRadius:"var(--radius-modal)",boxShadow:"var(--shadow-modal)",background:"var(--bg)"},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:ed?"12px 14px":"16px 20px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",gap:12},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0},children:[(0,i.jsx)(m.L3,{style:{margin:0,fontSize:"var(--text-lg)",fontWeight:650,whiteSpace:"nowrap"},children:el("settingsConfig.title")}),ex&&(0,i.jsx)("span",{style:{fontSize:"var(--text-xs)",padding:"2px 6px",borderRadius:"calc(var(--radius-control) / 2)",background:"var(--status-warning-bg)",color:"var(--status-warning)",border:"1px solid var(--status-warning-border)"},children:el("settingsConfig.unsavedChanges")})]}),(0,i.jsxs)("div",{style:{position:"relative",flex:1,maxWidth:280,minWidth:120},children:[(0,i.jsx)(r.A,{size:13,"aria-hidden":"true",style:{position:"absolute",left:9,top:"50%",transform:"translateY(-50%)",color:"var(--text-dim)",pointerEvents:"none"}}),(0,i.jsx)("input",{type:"search",value:e6,onChange:e=>e5(e.target.value),placeholder:el("settingsConfig.searchPlaceholder"),"aria-label":el("settingsConfig.searchPlaceholder"),style:{width:"100%",height:28,padding:"0 8px 0 28px",borderRadius:"var(--radius-control)",border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:"var(--text-sm)",outline:"none",boxSizing:"border-box"}})]})]}),(0,i.jsx)("div",{style:{display:"flex",flex:1,minHeight:0,flexDirection:ed?"column":"row"},children:e6.trim()?(0,i.jsx)(et,{results:tz,query:e6.trim(),onSelect:tI}):(0,i.jsxs)(Z.Provider,{value:e8,children:[(0,i.jsx)(z,{active:ec,onSelect:tj,layout:ed?"horizontal":"vertical"}),(0,i.jsxs)("div",{style:{flex:1,minWidth:0,overflowY:"auto",display:"flex",flexDirection:"column"},children:["relay"===ec&&(0,i.jsx)("div",{role:"tabpanel",id:"settings-panel-relay","aria-labelledby":"settings-tab-relay",style:{padding:ed?"12px 14px":20,display:"flex",flexDirection:"column",gap:16},children:(0,i.jsx)(_,{embedded:!0})}),"general"===ec&&(0,i.jsxs)("div",{role:"tabpanel",id:"settings-panel-general","aria-labelledby":"settings-tab-general",style:{padding:ed?"12px 14px":20,display:"flex",flexDirection:"column",gap:16},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("h3",{style:{fontSize:"var(--text-base)",fontWeight:600,margin:0},children:el("settingsConfig.generalTitle")}),(0,i.jsx)("p",{style:{margin:"4px 0 0",fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:el("settingsConfig.generalDescription")})]}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:ed?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,i.jsx)(en,{label:el("settingsConfig.themeMode"),description:el("settingsConfig.themeModeDesc"),scope:"UI",children:(0,i.jsx)("div",{style:{display:"inline-flex",padding:2,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",gap:2},children:["system","light","dark"].map(e=>{let t=ta===e,n="system"===e?l.A:"light"===e?d.A:c.A,a="system"===e?el("settingsConfig.themeModeSystem"):"light"===e?el("settingsConfig.themeModeLight"):el("settingsConfig.themeModeDark");return(0,i.jsxs)("button",{type:"button","aria-label":a,"aria-pressed":t,onClick:()=>ts(e),title:a,className:"ui-focus-ring",style:{display:"inline-flex",alignItems:"center",gap:4,height:24,padding:"0 8px",border:"none",borderRadius:"calc(var(--radius-control) - var(--space-1))",background:t?"var(--bg-selected)":"transparent",color:t?"var(--text)":"var(--text-muted)",fontWeight:t?600:500,fontSize:"var(--text-sm)",cursor:"pointer",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:[(0,i.jsx)(n,{size:12,"aria-hidden":"true"}),(0,i.jsx)("span",{children:a})]},e)})})}),(0,i.jsx)(en,{label:el("settingsConfig.themePalette"),description:el("settingsConfig.themePaletteDesc"),scope:"UI",children:(0,i.jsx)("div",{style:{display:"inline-flex",padding:2,background:"var(--bg)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",gap:2},children:["warm","omp"].map(e=>{let t=to===e,n="warm"===e?el("settingsConfig.paletteWarm"):el("settingsConfig.paletteOmp");return(0,i.jsxs)("button",{type:"button","aria-label":n,"aria-pressed":t,onClick:()=>tr(e),title:n,className:"ui-focus-ring",style:{display:"inline-flex",alignItems:"center",gap:5,height:24,padding:"0 8px",border:"none",borderRadius:"calc(var(--radius-control) - var(--space-1))",background:t?"var(--bg-selected)":"transparent",color:t?"var(--text)":"var(--text-muted)",fontWeight:t?600:500,fontSize:"var(--text-sm)",cursor:"pointer",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:[(0,i.jsxs)("span",{"aria-hidden":"true",style:{display:"inline-flex",alignItems:"center",gap:2.5,padding:"2px 3px",borderRadius:"calc(var(--radius-control) / 2)",background:"var(--bg-subtle)",flexShrink:0},children:[(0,i.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:`var(--palette-${e}-preview-bg)`,border:"1px solid var(--border)",flexShrink:0}}),(0,i.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:`var(--palette-${e}-preview-panel)`,border:"1px solid var(--border)",flexShrink:0}}),(0,i.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:`var(--palette-${e}-preview-accent)`,flexShrink:0}})]}),(0,i.jsx)("span",{children:n})]},e)})})})]}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:ed?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,i.jsx)(en,{label:el("settingsConfig.toolCallsCollapsed"),description:el("settingsConfig.toolCallsCollapsedDesc"),scope:"UI",children:(0,i.jsx)(v.dO,{checked:o,onChange:e=>b(e),"aria-label":el("settingsConfig.toolCallsCollapsed")})}),(0,i.jsx)(en,{label:el("settingsConfig.completionSound"),description:el("settingsConfig.completionSoundDesc"),scope:"UI",children:(0,i.jsx)(v.dO,{checked:e0,onChange:e=>{e1(e),(0,W.RJ)(e),window.dispatchEvent(new CustomEvent("omp-sound-pref-change",{detail:e}))},"aria-label":el("settingsConfig.completionSound")})})]}),(0,i.jsx)(en,{label:el("settingsConfig.submitBehavior"),description:el("settingsConfig.submitBehaviorDesc"),scope:"UI",children:(0,i.jsx)(v.l6,{value:e2,onChange:e=>{(0,s.t_)(e),e4(e)},required:!0,options:[{value:"steer",label:el("settingsConfig.steerCurrent")},{value:"queue",label:el("settingsConfig.queueFollowUp")}],"aria-label":el("settingsConfig.submitBehavior")})})]}),"agents"===ec&&(0,i.jsxs)("div",{role:"tabpanel",id:"settings-panel-agents","aria-labelledby":"settings-tab-agents",style:{padding:ed?"12px 14px":20,display:"flex",flexDirection:"column",gap:16,minHeight:0},children:[(0,i.jsx)(en,{label:el("settingsConfig.preferTaskDelegation"),description:el("settingsConfig.preferTaskDelegationDesc"),scope:"New sessions",compact:!0,hideDescription:ed,children:(0,i.jsx)(v.l6,{value:eX?.task?.eager??"default",onChange:e=>tb("task",{eager:e}),required:!0,options:[{value:"default",label:el("settingsConfig.delegationDefault")},{value:"preferred",label:el("settingsConfig.delegationPreferred")},{value:"always",label:el("settingsConfig.delegationAlways")}],"aria-label":el("settingsConfig.preferTaskDelegation")})}),(0,i.jsx)(G,{cwd:y??void 0,onSaved:S})]}),"safety"===ec&&(0,i.jsxs)("div",{role:"tabpanel",id:"settings-panel-safety","aria-labelledby":"settings-tab-safety",style:{padding:ed?"12px 14px":20,display:"flex",flexDirection:"column",gap:16},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("h3",{style:{fontSize:"var(--text-base)",fontWeight:600,margin:0},children:el("settingsConfig.safetyTitle")}),(0,i.jsx)("p",{style:{margin:"4px 0 0",fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:el("settingsConfig.safetyDescription")})]}),(0,i.jsx)(en,{label:el("settingsConfig.approvalMode"),description:el("settingsConfig.approvalModeDesc"),scope:"New sessions",compact:!0,hideDescription:ed,children:(0,i.jsx)(v.l6,{value:eX?.tools?.approvalMode??"yolo",onChange:e=>tb("tools",{approvalMode:e}),required:!0,options:[{value:"always-ask",label:el("settingsConfig.approvalAlwaysAsk")},{value:"write",label:el("settingsConfig.approvalWrite")},{value:"yolo",label:el("settingsConfig.approvalYolo")}],"aria-label":el("settingsConfig.approvalMode")})}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:ed?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,i.jsx)(en,{label:el("settingsConfig.bashApproval"),description:el("settingsConfig.bashApprovalDesc"),scope:"New sessions",children:(0,i.jsx)(v.l6,{value:eX?.tools?.approval?.bash??"prompt",onChange:e=>tx({bash:e}),required:!0,options:[{value:"allow",label:el("settingsConfig.allow")},{value:"prompt",label:el("settingsConfig.alwaysAsk")},{value:"deny",label:el("settingsConfig.deny")}],"aria-label":el("settingsConfig.bashApproval")})}),(0,i.jsx)(en,{label:el("settingsConfig.extensionApproval"),description:el("settingsConfig.extensionApprovalDesc"),scope:"New sessions",children:(0,i.jsx)(v.l6,{value:eX?.tools?.approval?.extension??"prompt",onChange:e=>tx({extension:e}),required:!0,options:[{value:"prompt",label:el("settingsConfig.askEveryTime")},{value:"allow",label:el("settingsConfig.autoApprove")}],"aria-label":el("settingsConfig.extensionApproval")})})]})]}),"models"===ec&&(0,i.jsxs)("div",{role:"tabpanel",id:"settings-panel-models","aria-labelledby":"settings-tab-models",style:{padding:20,display:"flex",flexDirection:"column",gap:16},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("h3",{style:{fontSize:"var(--text-base)",fontWeight:600,margin:0},children:el("settingsConfig.modelsTitle")}),(0,i.jsx)("p",{style:{margin:"4px 0 0",fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:el("settingsConfig.modelsDescription")})]}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:ed?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,i.jsx)(en,{label:el("settingsConfig.reasoning"),description:el("settingsConfig.reasoningDesc"),scope:"New sessions",children:(0,i.jsx)(v.l6,{value:eX?.defaultThinkingLevel??"high",onChange:e=>tf({defaultThinkingLevel:e}),required:!0,options:["auto","minimal","low","medium","high","xhigh","max"],"aria-label":el("settingsConfig.reasoning")})}),(0,i.jsx)(en,{label:el("settingsConfig.verbosity"),description:el("settingsConfig.verbosityDesc"),scope:"New sessions",children:(0,i.jsx)(v.l6,{value:eX?.textVerbosity??"medium",onChange:e=>tf({textVerbosity:e}),required:!0,options:["low","medium","high"],"aria-label":el("settingsConfig.verbosity")})}),(0,i.jsx)(en,{label:el("settingsConfig.personality"),description:el("settingsConfig.personalityDesc"),scope:"New sessions",children:(0,i.jsx)(v.l6,{value:eX?.personality??"default",onChange:e=>tf({personality:e}),required:!0,options:["default","friendly","pragmatic","none"],"aria-label":el("settingsConfig.personality")})}),(0,i.jsx)(en,{label:el("settingsConfig.hideThinking"),description:el("settingsConfig.hideThinkingDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.hideThinkingBlock??!1,onChange:e=>tf({hideThinkingBlock:e}),"aria-label":el("settingsConfig.hideThinking")})}),(0,i.jsx)(en,{label:el("settingsConfig.externalThinking"),description:el("settingsConfig.externalThinkingDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.externalThinking??!1,onChange:e=>tf({externalThinking:e}),"aria-label":el("settingsConfig.externalThinking")})})]})]}),(ef.has("providers")||ef.has("models"))&&(0,i.jsx)("div",{role:"tabpanel",id:"settings-panel-providers","aria-labelledby":"settings-tab-providers",style:{display:"providers"===ec?"flex":"none",height:"100%",minHeight:0,flexDirection:"column"},children:(0,i.jsx)(q,{onSaved:()=>{eh(!1),S()},onDirtyChange:eh},ek)}),"intelligence"===ec&&(0,i.jsxs)("div",{role:"tabpanel",id:"settings-panel-intelligence","aria-labelledby":"settings-tab-intelligence",style:{padding:20,display:"flex",flexDirection:"column",gap:18},children:[(0,i.jsxs)("section",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:"var(--text-md)",fontWeight:600},children:[(0,i.jsx)(p.A,{size:14,"aria-hidden":"true",style:{color:"var(--accent)"}})," ",el("settingsConfig.advisorReview")]}),(0,i.jsx)("p",{style:{margin:0,color:"var(--text-muted)",fontSize:"var(--text-sm)"},children:el("settingsConfig.advisorReviewDesc")}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:ed?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,i.jsx)(en,{label:el("settingsConfig.enableAdvisor"),description:el("settingsConfig.enableAdvisorDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.advisor?.enabled??t,onChange:e=>{n(e),tb("advisor",{enabled:e})},"aria-label":el("settingsConfig.enableAdvisor")})}),(eX?.advisor?.enabled??t)&&(0,i.jsx)(en,{label:el("settingsConfig.advisorBacklog"),description:el("settingsConfig.advisorBacklogDesc"),scope:"New sessions",children:(0,i.jsx)(v.l6,{value:eX?.advisor?.syncBacklog??"off",onChange:e=>tb("advisor",{syncBacklog:e}),required:!0,options:[{value:"off",label:el("settingsConfig.backlogOff")},{value:"1",label:el("settingsConfig.backlog1")},{value:"3",label:el("settingsConfig.backlog3")},{value:"5",label:el("settingsConfig.backlog5")}],"aria-label":el("settingsConfig.advisorBacklog")})})]}),(eX?.advisor?.enabled??t)&&(0,i.jsx)(en,{label:el("settingsConfig.reviewSubagents"),description:el("settingsConfig.reviewSubagentsDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.advisor?.subagents??!1,onChange:e=>tb("advisor",{subagents:e}),"aria-label":el("settingsConfig.reviewSubagents")})})]}),(0,i.jsxs)("section",{style:{display:"flex",flexDirection:"column",gap:10,borderTop:"1px solid var(--border)",paddingTop:16},children:[(0,i.jsx)("div",{style:{fontSize:"var(--text-md)",fontWeight:600},children:el("settingsConfig.contextCompaction")}),(0,i.jsx)("p",{style:{margin:0,color:"var(--text-muted)",fontSize:"var(--text-sm)"},children:el("settingsConfig.contextCompactionDesc")}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:ed?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,i.jsx)(en,{label:el("settingsConfig.autoCompaction"),description:el("settingsConfig.autoCompactionDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.compaction?.enabled??!0,onChange:e=>tb("compaction",{enabled:e}),"aria-label":el("settingsConfig.autoCompaction")})}),(0,i.jsx)(en,{label:el("settingsConfig.autoContinueCompaction"),description:el("settingsConfig.autoContinueCompactionDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.compaction?.autoContinue??!0,onChange:e=>tb("compaction",{autoContinue:e}),"aria-label":el("settingsConfig.autoContinueCompaction")})}),(0,i.jsx)(en,{label:el("settingsConfig.compactionStrategy"),description:el("settingsConfig.compactionStrategyDesc"),scope:"New sessions",children:(0,i.jsx)(v.l6,{value:eX?.compaction?.strategy??"snapcompact",onChange:e=>tb("compaction",{strategy:e}),required:!0,options:[{value:"snapcompact",label:"Snapcompact"},{value:"handoff",label:"Handoff"},{value:"context-full",label:"Context full"},{value:"shake",label:"Shake"},{value:"off",label:"Off"}],"aria-label":el("settingsConfig.compactionStrategy")})}),(0,i.jsx)(en,{label:el("settingsConfig.compactMidTurn"),description:el("settingsConfig.compactMidTurnDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.compaction?.midTurnEnabled??!0,onChange:e=>tb("compaction",{midTurnEnabled:e}),"aria-label":el("settingsConfig.compactMidTurn")})})]})]}),(0,i.jsxs)("section",{style:{display:"flex",flexDirection:"column",gap:10,borderTop:"1px solid var(--border)",paddingTop:16},children:[(0,i.jsx)("div",{style:{fontSize:"var(--text-md)",fontWeight:600},children:el("settingsConfig.memoryAndAutoLearn")}),(0,i.jsx)("p",{style:{margin:0,color:"var(--text-muted)",fontSize:"var(--text-sm)"},children:el("settingsConfig.memoryAndAutoLearnDesc")}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:ed?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,i.jsx)(en,{label:el("settingsConfig.memoryBackend"),description:el("settingsConfig.memoryBackendDesc"),scope:"New sessions",children:(0,i.jsx)(v.l6,{value:eX?.memory?.backend??"mnemopi",onChange:e=>tb("memory",{backend:e}),required:!0,options:[{value:"off",label:el("settingsConfig.backlogOff")},{value:"local",label:el("settingsConfig.memoryLocal")},{value:"mnemopi",label:el("settingsConfig.memoryMnemopi")},{value:"hindsight",label:el("settingsConfig.memoryHindsight")}],"aria-label":el("settingsConfig.memoryBackend")})}),(0,i.jsx)(en,{label:el("settingsConfig.enableAutolearn"),description:el("settingsConfig.enableAutolearnDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.autolearn?.enabled??!0,onChange:e=>tb("autolearn",{enabled:e}),"aria-label":el("settingsConfig.enableAutolearn")})}),(0,i.jsx)(en,{label:el("settingsConfig.privateCaptureTurn"),description:el("settingsConfig.privateCaptureTurnDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.autolearn?.autoContinue??!0,onChange:e=>tb("autolearn",{autoContinue:e}),"aria-label":el("settingsConfig.privateCaptureTurn")})}),(0,i.jsx)(en,{label:el("settingsConfig.memoryScope"),description:el("settingsConfig.memoryScopeDesc"),scope:"New sessions",children:(0,i.jsx)(v.l6,{value:eX?.mnemopi?.scoping??"per-project",onChange:e=>tb("mnemopi",{scoping:e}),required:!0,options:[{value:"per-project",label:el("settingsConfig.scopePerProject")},{value:"per-project-tagged",label:el("settingsConfig.scopePerProjectTagged")},{value:"global",label:el("settingsConfig.scopeGlobal")}],"aria-label":el("settingsConfig.memoryScope")})}),(0,i.jsx)(en,{label:el("settingsConfig.autoRecall"),description:el("settingsConfig.autoRecallDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.mnemopi?.autoRecall??!0,onChange:e=>tb("mnemopi",{autoRecall:e}),"aria-label":el("settingsConfig.autoRecall")})}),(0,i.jsx)(en,{label:el("settingsConfig.autoRetain"),description:el("settingsConfig.autoRetainDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.mnemopi?.autoRetain??!0,onChange:e=>tb("mnemopi",{autoRetain:e}),"aria-label":el("settingsConfig.autoRetain")})})]})]}),(0,i.jsxs)("section",{style:{display:"flex",flexDirection:"column",gap:10,borderTop:"1px solid var(--border)",paddingTop:16},children:[(0,i.jsx)("div",{style:{fontSize:"var(--text-md)",fontWeight:600},children:el("settingsConfig.autoRetry")}),(0,i.jsx)("p",{style:{margin:0,color:"var(--text-muted)",fontSize:"var(--text-sm)"},children:el("settingsConfig.autoRetryDesc")}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:ed?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,i.jsx)(en,{label:el("settingsConfig.enableRetry"),description:el("settingsConfig.enableRetryDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:th.enabled??!0,onChange:e=>tb("retry",{enabled:e}),"aria-label":el("settingsConfig.enableRetry")})}),(0,i.jsx)(en,{label:el("settingsConfig.maxAttempts"),description:el("settingsConfig.maxAttemptsDesc"),scope:"New sessions",children:(0,i.jsx)(v.l6,{value:String(th.maxRetries??10),onChange:e=>tb("retry",{maxRetries:Number(e)}),required:!0,options:J.map(String),"aria-label":el("settingsConfig.maxAttempts")})}),(0,i.jsx)(en,{label:el("settingsConfig.modelFallback"),description:el("settingsConfig.modelFallbackDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:th.modelFallback??!0,onChange:e=>tb("retry",{modelFallback:e}),"aria-label":el("settingsConfig.modelFallback")})}),(0,i.jsx)(en,{label:el("settingsConfig.fallbackRevertPolicy"),description:el("settingsConfig.fallbackRevertPolicyDesc"),scope:"New sessions",children:(0,i.jsx)(v.l6,{value:th.fallbackRevertPolicy??"cooldown-expiry",onChange:e=>tb("retry",{fallbackRevertPolicy:e}),required:!0,options:[{value:"cooldown-expiry",label:el("settingsConfig.fallbackRevertCooldown")},{value:"never",label:el("settingsConfig.fallbackRevertNever")}],"aria-label":el("settingsConfig.fallbackRevertPolicy")})})]}),(0,i.jsxs)("section",{"data-search-id":X("Fallback chain"),style:{display:"flex",flexDirection:"column",gap:10,marginTop:4,border:"1px solid var(--border)",borderRadius:"var(--radius-card)",overflow:"hidden"},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",padding:"10px 12px",background:"var(--bg-panel)",borderBottom:"1px solid var(--border)"},children:[(0,i.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:8,color:"var(--text)",fontSize:"var(--text-base)",fontWeight:600},children:[el("settingsConfig.fallbackChainFor"),(0,i.jsx)("span",{style:Q,children:el("settingsConfig.newSessions")})]}),(0,i.jsx)(v.l6,{"aria-label":el("settingsConfig.fallbackChainRole"),value:te,onChange:e=>{tt(e),ti("")},required:!0,options:Y,style:{width:"auto",minWidth:120}})]}),(0,i.jsxs)("div",{style:{display:"flex",gap:8,padding:"10px 12px"},children:[(0,i.jsx)(v.l6,{"aria-label":el("settingsConfig.selectFallbackModel"),value:tn,onChange:e=>ti(e),placeholder:el("settingsConfig.selectFallbackModel"),options:ty.filter(e=>!tv.includes(e)),style:{flex:1,minWidth:0}}),(0,i.jsx)("button",{type:"button",disabled:!tn,onClick:()=>{tC([...tv,tn]),ti("")},style:{padding:"6px 10px",border:"none",borderRadius:"var(--radius-control)",background:"var(--accent)",color:"var(--on-accent)",cursor:tn?"pointer":"not-allowed",opacity:tn?1:.5,fontSize:"var(--text-sm)",whiteSpace:"nowrap"},children:el("settingsConfig.addFallback")})]}),0===tv.length?(0,i.jsx)("div",{style:{padding:"0 12px 12px",color:"var(--text-dim)",fontSize:"var(--text-sm)"},children:el("settingsConfig.noFallbackChain")}):(0,i.jsx)("div",{style:{borderTop:"1px solid var(--border)"},children:tv.map((e,t)=>(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"7px 12px",color:"var(--text-muted)",fontSize:"var(--text-sm)"},children:[(0,i.jsx)("span",{style:{width:18,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:t+1}),(0,i.jsx)("code",{style:{flex:1},children:e}),(0,i.jsx)("button",{type:"button","aria-label":el("settingsConfig.moveFallbackUp",{model:e}),title:el("settingsConfig.moveFallbackUp",{model:e}),disabled:0===t,onClick:()=>{let e=[...tv],n=e[t-1];e[t-1]=e[t],e[t]=n,tC(e)},className:"ui-focus-ring",style:{width:24,height:24,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",border:"none",borderRadius:"calc(var(--radius-control) / 2)",background:"transparent",color:"var(--text-muted)",cursor:0===t?"default":"pointer"},children:(0,i.jsx)("span",{"aria-hidden":"true",children:"↑"})}),(0,i.jsx)("button",{type:"button","aria-label":el("settingsConfig.moveFallbackDown",{model:e}),title:el("settingsConfig.moveFallbackDown",{model:e}),disabled:t===tv.length-1,onClick:()=>{let e=[...tv],n=e[t+1];e[t+1]=e[t],e[t]=n,tC(e)},className:"ui-focus-ring",style:{width:24,height:24,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",border:"none",borderRadius:"calc(var(--radius-control) / 2)",background:"transparent",color:"var(--text-muted)",cursor:t===tv.length-1?"default":"pointer"},children:(0,i.jsx)("span",{"aria-hidden":"true",children:"↓"})}),(0,i.jsx)("button",{type:"button","aria-label":el("settingsConfig.removeFallback",{model:e}),title:el("settingsConfig.removeFallback",{model:e}),onClick:()=>tC(tv.filter((e,n)=>n!==t)),className:"ui-focus-ring",style:{width:24,height:24,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",border:"none",borderRadius:"calc(var(--radius-control) / 2)",background:"transparent",color:"var(--text-muted)",cursor:"pointer"},children:(0,i.jsx)("span",{"aria-hidden":"true",children:"\xd7"})})]},`${e}-${t}`))})]})]})]}),"extensions"===ec&&(0,i.jsxs)("div",{role:"tabpanel",id:"settings-panel-extensions","aria-labelledby":"settings-tab-extensions",style:{display:"flex",height:"100%",minHeight:0,flexDirection:"column",overflowY:"hidden",padding:20,gap:16},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("h3",{style:{fontSize:"var(--text-base)",fontWeight:600,margin:0},children:el("settingsTabs.extensions")}),(0,i.jsx)("p",{style:{margin:"4px 0 0",fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:el("settingsTabs.extensionsDesc")})]}),(0,i.jsx)(I,{active:eg,onSelect:tj}),"tools"===eg&&(0,i.jsx)("div",{role:"tabpanel",id:"settings-extension-panel-tools","aria-labelledby":"settings-extension-tab-tools",style:{display:"flex",flex:1,minHeight:0,flexDirection:"column",overflowY:"auto"},children:(0,i.jsx)(H,{settings:eX,onPatch:tf})}),"mcp"===eg&&(0,i.jsxs)("div",{role:"tabpanel",id:"settings-extension-panel-mcp","aria-labelledby":"settings-extension-tab-mcp",style:{display:"flex",flex:1,minHeight:0,flexDirection:"column",overflowY:"auto",gap:12},children:[(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:ed?"1fr":"repeat(2, minmax(0, 1fr))",gap:10},children:[(0,i.jsx)(en,{label:el("settingsConfig.loadProjectMcp"),description:el("settingsConfig.loadProjectMcpDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.mcp?.enableProjectConfig??!0,onChange:e=>tb("mcp",{enableProjectConfig:e}),"aria-label":el("settingsConfig.loadProjectMcp")})}),(0,i.jsx)(en,{label:el("settingsConfig.renderMcpMarkdown"),description:el("settingsConfig.renderMcpMarkdownDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.mcp?.renderMarkdownResults??!0,onChange:e=>tb("mcp",{renderMarkdownResults:e}),"aria-label":el("settingsConfig.renderMcpMarkdown")})}),(0,i.jsx)(en,{label:el("settingsConfig.mcpResourceUpdates"),description:el("settingsConfig.mcpResourceUpdatesDesc"),scope:"New sessions",children:(0,i.jsx)(v.dO,{checked:eX?.mcp?.notifications??!1,onChange:e=>tb("mcp",{notifications:e}),"aria-label":el("settingsConfig.mcpResourceUpdates")})})]}),(0,i.jsx)(K,{cwd:y??null,sessionId:C??void 0}),!y&&(0,i.jsx)("p",{role:"status",style:{margin:0,color:"var(--text-muted)",fontSize:"var(--text-sm)"},children:el("settingsConfig.noWorkspaceMcpHint")})]}),"skills"===eg&&(0,i.jsx)("div",{role:"tabpanel",id:"settings-extension-panel-skills","aria-labelledby":"settings-extension-tab-skills",style:{display:"flex",flex:1,minHeight:0,flexDirection:"column",overflowY:"auto"},children:y?(0,i.jsx)(B,{cwd:y}):(0,i.jsx)("div",{role:"status",style:{padding:16,border:"1px solid var(--border)",borderRadius:"var(--radius-card)",color:"var(--text-muted)",fontSize:"var(--text-sm)"},children:el("settingsConfig.workspaceRequired")})}),"plugins"===eg&&(0,i.jsx)("div",{role:"tabpanel",id:"settings-extension-panel-plugins","aria-labelledby":"settings-extension-tab-plugins",style:{display:"flex",flex:1,minHeight:0,flexDirection:"column",overflowY:"auto"},children:y?(0,i.jsx)(V,{cwd:y,sessionId:C??null,onReloaded:A,runtimeReady:er}):(0,i.jsx)("div",{role:"status",style:{padding:16,border:"1px solid var(--border)",borderRadius:"var(--radius-card)",color:"var(--text-muted)",fontSize:"var(--text-sm)"},children:el("settingsConfig.workspaceRequired")})})]}),"system"===ec&&(0,i.jsxs)("div",{role:"tabpanel",id:"settings-panel-system","aria-labelledby":"settings-tab-system",style:{padding:20,display:"flex",flexDirection:"column",gap:18},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("h3",{style:{fontSize:"var(--text-base)",fontWeight:600,margin:0},children:el("settingsConfig.systemUpdates")}),(0,i.jsx)("p",{style:{margin:"4px 0 0",fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:el("settingsConfig.systemUpdatesDescription")})]}),(0,i.jsxs)("section",{"data-search-id":X("Background service"),"aria-label":el("daemon.title"),style:{padding:14,border:"1px solid var(--border)",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",display:"flex",flexDirection:"column",gap:12},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[(0,i.jsx)("h4",{style:{margin:0,fontSize:"var(--text-md)",fontWeight:600},children:el("daemon.title")}),(0,i.jsx)("button",{type:"button",className:"ui-focus-ring",disabled:eA||!!eT,onClick:()=>void tM(),style:{padding:"6px 10px",minHeight:32,border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text)",fontSize:"var(--text-sm)",cursor:eA||eT?"wait":"pointer"},children:el("settingsConfig.refresh")})]}),(0,i.jsx)("div",{role:"status","aria-live":"polite",style:{fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:eT?el("restart"===eT.action?"daemon.reconnecting":"daemon.stopping"):eA?el("daemon.loading"):ej?ej.supported?ej.cliAvailable?ej.installed?ej.running?el("daemon.running",{pid:ej.pid??"—"}):el("daemon.stopped"):el("daemon.notInstalled"):el("daemon.cliMissing"):el("daemon.unsupported"):el("daemon.unknown")}),(0,i.jsx)("p",{style:{margin:0,fontSize:"var(--text-sm)",color:"var(--text-muted)",lineHeight:1.5},children:el("daemon.description")}),ej?.supported&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[(0,i.jsx)("span",{style:{fontSize:"var(--text-sm)"},children:el("daemon.autoStart")}),(0,i.jsx)(v.dO,{"aria-label":el("daemon.autoStart"),checked:ej.autoStart,disabled:eA||!!eT||!ej.cliAvailable,onChange:e=>{e?tD(ej.installed?"enable":"install"):eP("disable")}})]}),(0,i.jsx)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:["start","stop","restart","uninstall"].map(e=>(0,i.jsx)("button",{type:"button",className:"ui-focus-ring",style:{padding:"6px 10px",minHeight:32,border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text)",fontSize:"var(--text-sm)"},disabled:eA||!!eT||!ej.cliAvailable||!ej.installed||("start"===e?ej.running:("stop"===e||"restart"===e)&&!ej.running),onClick:()=>"start"===e?void tD(e):eP(e),children:el(`daemon.${e}`)},e))}),ej.logPath&&(0,i.jsxs)("div",{style:{fontSize:"var(--text-sm)",overflowWrap:"anywhere"},children:[el("daemon.logs"),": ",(0,i.jsx)("code",{children:ej.logPath})]}),!ej.cliAvailable&&(0,i.jsx)("code",{style:{fontSize:"var(--text-sm)",overflowWrap:"anywhere"},children:"npm install -g ompgui@latest"}),!ej.installed&&ej.cliAvailable&&(0,i.jsx)("code",{style:{fontSize:"var(--text-sm)",overflowWrap:"anywhere"},children:"ompgui service install"})]}),(eM||ej?.error)&&(0,i.jsx)("div",{role:"alert",style:{fontSize:"var(--text-sm)",color:"var(--danger)",overflowWrap:"anywhere"},children:eM||ej?.error}),(0,i.jsxs)("p",{style:{margin:0,fontSize:"var(--text-sm)",color:"var(--text-muted)",lineHeight:1.5},children:[el("daemon.disconnectWarning")," ",(0,i.jsx)("code",{children:"ompgui start"})]})]}),(0,i.jsxs)("section",{"data-search-id":X("Active session system prompt"),style:{padding:"var(--space-5)",border:"1px solid var(--border)",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",display:"flex",flexDirection:"column",gap:"var(--space-4)",...e8===X("Active session system prompt")?{borderColor:"var(--accent)",boxShadow:"0 0 0 2px var(--accent)"}:{}},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"var(--space-4)",flexWrap:"wrap"},children:[(0,i.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,i.jsx)("div",{style:{fontSize:"var(--text-md)",fontWeight:650},children:el("settingsConfig.sessionSystemPrompt")}),(0,i.jsx)("div",{style:{marginTop:"var(--space-1)",color:"var(--text-muted)",fontSize:"var(--text-sm)",lineHeight:1.45},children:el("settingsConfig.sessionSystemPromptDescription")})]}),(0,i.jsxs)("button",{type:"button",onClick:j,disabled:!C||w,"aria-label":el("settingsConfig.systemPromptActionAria"),style:{display:"inline-flex",alignItems:"center",gap:"var(--space-2)",flexShrink:0,padding:"var(--space-3) var(--space-4)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg)",color:"var(--text)",cursor:!C||w?"not-allowed":"pointer",opacity:!C||w?.65:1,fontSize:"var(--text-sm)"},children:[(0,i.jsx)(g.A,{size:13,"aria-hidden":"true",className:w?"icon-spin":void 0}),w?el("settingsConfig.systemPromptLoading"):null===k?el("settingsConfig.loadSystemPrompt"):el("settingsConfig.reloadSystemPrompt")]})]}),(0,i.jsx)("div",{"aria-live":"polite","aria-busy":w,style:{minHeight:"var(--control-height-lg)",maxHeight:"45dvh",overflowY:"auto",padding:"var(--space-4)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg)",color:"var(--text-muted)",fontSize:"var(--text-sm)",lineHeight:1.5},children:w?(0,i.jsx)("div",{role:"status",children:el("settingsConfig.systemPromptLoading")}):C?null===k?(0,i.jsx)("div",{style:{fontStyle:"italic"},children:el("settingsConfig.systemPromptUnavailable")}):0===k.length?(0,i.jsx)("div",{style:{fontStyle:"italic"},children:el("settingsConfig.systemPromptEmpty")}):(0,i.jsx)("pre",{"aria-label":el("settingsConfig.sessionSystemPrompt"),style:{margin:0,color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)",lineHeight:1.5,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:k}):(0,i.jsx)("div",{style:{fontStyle:"italic"},children:el("settingsConfig.systemPromptNoSession")})})]}),(0,i.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,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{style:{fontSize:"var(--text-md)",fontWeight:600},children:el("settingsConfig.appLabel")}),(0,i.jsx)("div",{style:{marginTop:4,color:eL?.updateAvailable?"var(--accent)":"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)"},children:eU?el("settingsConfig.checkingUpdates"):eL?.updateAvailable?el("appShell.updateVersion",{current:eL.currentVersion??"?",available:eL.availableVersion??"?"}):eK||eL?.lookupFailed?el("settingsConfig.appUpdateCheckFailed"):eL?.currentVersion&&eL?.availableVersion?el("settingsConfig.upToDate",{version:eL.currentVersion}):el("settingsConfig.versionUnavailable")})]}),(0,i.jsxs)("button",{type:"button",onClick:()=>void tR(!0),disabled:eU,"aria-label":el("settingsConfig.checkAppUpdates"),style:{padding:"6px 10px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text)",cursor:eU?"wait":"pointer",fontSize:"var(--text-sm)",display:"inline-flex",alignItems:"center",gap:5},children:[(0,i.jsx)(g.A,{size:13,"aria-hidden":"true"})," ",el("settingsConfig.refresh")]})]}),eL?.updateAvailable&&(0,i.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,i.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:el("settingsConfig.runAppUpdateCommand")}),(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,i.jsx)("code",{style:{flex:1,fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)",color:"var(--accent)",wordBreak:"break-all"},children:eL.updateCommand||"ompgui update"}),(0,i.jsxs)("button",{type:"button",onClick:()=>{(0,P.D)(eL.updateCommand||"ompgui update").then(()=>eV(el("appShell.commandCopied"))).catch(()=>eV(el("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:"var(--text-xs)"},children:[(0,i.jsx)(u.A,{size:12,"aria-hidden":"true"})," ",el("appShell.copyCommand")]})]})]})]}),(0,i.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,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{style:{fontSize:"var(--text-md)",fontWeight:600},children:el("settingsConfig.ompLabel")}),(0,i.jsx)("div",{style:{marginTop:4,color:eN?.updateAvailable?"var(--accent)":"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)"},children:eW?el("settingsConfig.checkingUpdates"):eN?.updateAvailable?el("appShell.updateVersion",{current:eN.currentVersion??"?",available:eN.availableVersion??"?"}):eN?.currentVersion?el("settingsConfig.upToDate",{version:eN.currentVersion}):el("settingsConfig.versionUnavailable")})]}),(0,i.jsxs)("button",{type:"button",onClick:()=>void tA(!0),disabled:eW,"aria-label":el("settingsConfig.checkOmpUpdates"),style:{padding:"6px 10px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text)",cursor:eW?"wait":"pointer",fontSize:"var(--text-sm)",display:"inline-flex",alignItems:"center",gap:5},children:[(0,i.jsx)(g.A,{size:13,"aria-hidden":"true"})," ",el("settingsConfig.refresh")]})]}),eN?.updateAvailable&&(0,i.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,i.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:el("settingsConfig.runOmpUpdateCommand")}),(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,i.jsx)("code",{style:{flex:1,fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)",color:"var(--accent)",wordBreak:"break-all"},children:eN.updateCommand||"omp update"}),(0,i.jsxs)("button",{type:"button",onClick:()=>{(0,P.D)(eN.updateCommand||"omp update").then(()=>eV(el("appShell.commandCopied"))).catch(()=>eV(el("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:"var(--text-xs)"},children:[(0,i.jsx)(u.A,{size:12,"aria-hidden":"true"})," ",el("appShell.copyCommand")]})]})]}),(0,i.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:8,marginTop:6},children:[(0,i.jsxs)("button",{type:"button",onClick:()=>void tT(),disabled:eH,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:eH?"wait":"pointer",fontSize:"var(--text-sm)"},children:[(0,i.jsx)(f.A,{size:13,"aria-hidden":"true"})," ",eH?el("settingsConfig.restarting"):el("settingsConfig.restartSessions")]}),(0,i.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:"var(--text-sm)"},children:[(0,i.jsx)(x,{size:13,"aria-hidden":"true"})," ",el("settingsConfig.changelog")]})]}),eB&&(0,i.jsx)("p",{role:"status",style:{margin:"4px 0 0",color:"var(--text-muted)",fontSize:"var(--text-sm)",lineHeight:1.5},children:eB})]})]})]})]})})]})}),(0,i.jsx)(v.TM,{open:null!==eI,onOpenChange:e=>{e||eP(null)},title:eI?el(`daemon.${eI}`):el("daemon.title"),description:el("disable"===eI?"daemon.disableConfirm":"daemon.disconnectConfirm"),confirmLabel:eI?el(`daemon.${eI}`):el("daemon.title"),cancelLabel:el("settingsConfig.cancel"),danger:!0,onConfirm:()=>{eI&&tD(eI)}}),(0,i.jsx)(v.TM,{open:ey,onOpenChange:e=>{eC(e),e||ev(null)},title:el("settingsConfig.unsavedChangesTitle"),description:el("settingsConfig.unsavedChangesDescription"),confirmLabel:el("settingsConfig.discardChanges"),cancelLabel:el("settingsConfig.cancel"),danger:!0,onConfirm:tS})]})}},50981:(e,t,n)=>{n.d(t,{A:()=>i});let i=(0,n(99537).A)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},70299:(e,t,n)=>{n.d(t,{A:()=>i});let i=(0,n(99537).A)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]])},86272:(e,t,n)=>{n.d(t,{A:()=>i});let i=(0,n(99537).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},90071:(e,t,n)=>{function i(){return globalThis.__ompClientModelStore||(globalThis.__ompClientModelStore={globalGeneration:0,entries:new Map,inFlight:new Map,listeners:new Map}),globalThis.__ompClientModelStore}n.d(t,{aQ:()=>r,dU:()=>o});function a(e,t){t.snapshot={status:t.status,data:t.data,error:t.error,cwd:e,expiresAt:t.expiresAt};let n=i().listeners.get(e);if(n)for(let e of[...n])try{e(t.snapshot)}catch{}return t.snapshot}function s(e,t){let n=e.entries.get(t);if(n)return n;let i={data:null,error:null,status:"idle",expiresAt:null,generation:0,snapshot:{status:"idle",data:null,error:null,cwd:t,expiresAt:null}};return e.entries.set(t,i),i}function o(e){let t=i();if(void 0===e){for(let[e,n]of(t.globalGeneration+=1,t.entries))n.generation+=1,n.data=null,n.error=null,n.status="idle",n.expiresAt=null,a(e,n);t.inFlight.clear();return}let n=e??"",o=s(t,n);o.generation+=1,o.data=null,o.error=null,o.status="idle",o.expiresAt=null,t.inFlight.delete(n),a(n,o)}function r(e,t){let n=e??"";t?.force&&o(n);let r=i(),l=s(r,n),d=Date.now();if(l.data&&null!==l.expiresAt&&l.expiresAt>d&&!t?.force)return Promise.resolve(l.data);let c=r.inFlight.get(n);if(c)return c;let p=l.generation,g=r.globalGeneration;"ready"!==l.status&&(l.status="loading",l.error=null,a(n,l));let u=(async()=>{let e=await fetch(n?`/api/models?cwd=${encodeURIComponent(n)}`:"/api/models",{cache:"no-store"});if(!e.ok)throw Error(`HTTP ${e.status}`);var t=await e.json();if(!t||"object"!=typeof t)throw Error("invalid models response");return{models:t.models&&"object"==typeof t.models?t.models:{},modelList:Array.isArray(t.modelList)?t.modelList:[],defaultModel:t.defaultModel??null,thinkingLevels:t.thinkingLevels&&"object"==typeof t.thinkingLevels?t.thinkingLevels:{},...t.thinkingLevelMaps?{thinkingLevelMaps:t.thinkingLevelMaps}:{},...t.connectedProviders?{connectedProviders:t.connectedProviders}:{},..."string"==typeof t.modelError?{modelError:t.modelError}:{}}})().then(e=>{let t=i(),s=t.entries.get(n);return s&&s.generation===p&&t.globalGeneration===g&&(s.data=e,s.error=null,s.status="ready",s.expiresAt=Date.now()+3e4,a(n,s)),e}).catch(e=>{let t=i(),s=t.entries.get(n);throw s&&s.generation===p&&t.globalGeneration===g&&(s.status="error",s.error=e instanceof Error?e.message:String(e),s.expiresAt=null,a(n,s)),e}).finally(()=>{let e=i();e.inFlight.get(n)===u&&e.inFlight.delete(n)});return r.inFlight.set(n,u),u}},90710:(e,t,n)=>{n.d(t,{A:()=>i});let i=(0,n(99537).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},99314:(e,t,n)=>{n.d(t,{A:()=>i});let i=(0,n(99537).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2201],{32383:(e,t,n)=>{n.d(t,{$:()=>i});var r=n(18136);async function i(e,t){let n=await fetch(`/api/agent/${encodeURIComponent(e)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),i=await n.json().catch(()=>({}));if(!n.ok||i.error)throw Error(i.error||i.code?(0,r.K)(i):`HTTP ${n.status}`);return i.data}},42201:(e,t,n)=>{n.r(t),n.d(t,{PackageDetail:()=>S,PluginsConfig:()=>T});var r=n(95155),i=n(12115),o=n(32383),s=n(31590),l=n(4315),a=n(18136),d=n(69090),c=n(51087),p=n(2125);function u(e){return e.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function g(e){return`${e.scope}\0${e.source}`}function x(e){if(e.disabled)return(0,l.Tl)("pluginsConfig.disabled");let t=[e.counts.extensions?(0,l.zw)("pluginsConfig.extCount",e.counts.extensions):"",e.counts.skills?(0,l.zw)("pluginsConfig.skillCount",e.counts.skills):"",e.counts.prompts?(0,l.zw)("pluginsConfig.promptCount",e.counts.prompts):"",e.counts.themes?(0,l.zw)("pluginsConfig.themeCount",e.counts.themes):""].filter(Boolean);return t.length?t.join(" \xb7 "):(0,l.Tl)("pluginsConfig.noResources")}function f(e){let t=[];return e.version&&t.push((0,l.Tl)("pluginsConfig.installedVersion",{version:e.version})),e.configuredVersion&&t.push((0,l.Tl)("pluginsConfig.configuredVersion",{version:e.configuredVersion})),t.length?t.join(" \xb7 "):(0,l.Tl)("pluginsConfig.unknown")}function v(e){return"loaded"===e?"var(--accent)":"installed"===e?"var(--status-warning)":"disabled"===e?"var(--text-dim)":"var(--status-error)"}function h(e){return"project"===e?"pluginsConfig.scopeProject":"pluginsConfig.scopeGlobal"}let m={loaded:"pluginsConfig.statusLoaded",installed:"pluginsConfig.statusInstalled",missing:"pluginsConfig.statusMissing",disabled:"pluginsConfig.statusDisabled"};function y({pkg:e}){let{t}=(0,l.s9)(),n=[["extension","pluginsConfig.extensions"],["skill","pluginsConfig.skills"],["prompt","pluginsConfig.prompts"],["theme","pluginsConfig.themes"]].map(([n,r])=>({kind:n,label:t(r),resources:e.resources.filter(e=>e.kind===n)})).filter(e=>e.resources.length>0);return 0===n.length?(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--text-dim)"},children:e.disabled?t("pluginsConfig.packageDisabled"):t("pluginsConfig.noResolvedResources")}):(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-5)"},children:n.map((e,t)=>(0,r.jsxs)("div",{style:{borderTop:0===t?"none":"1px solid var(--border)",paddingTop:12*(0!==t)},children:[(0,r.jsx)("div",{style:{fontSize:"var(--text-xs)",fontWeight:700,color:"var(--text-dim)",textTransform:"uppercase",marginBottom:6},children:e.label}),(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-3)"},children:e.resources.map(e=>(0,r.jsxs)("div",{style:{minWidth:0},children:[(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--text)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.path,children:e.name}),(0,r.jsx)("div",{style:{fontSize:"var(--text-xs)",color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:1},title:e.path,children:e.relativePath})]},`${e.kind}:${e.path}`))})]},e.kind))})}function b({scope:e}){let{t}=(0,l.s9)();return(0,r.jsx)("span",{style:{fontSize:"var(--text-xs)",padding:"1px 5px",borderRadius:3,flexShrink:0,background:"project"===e?"var(--accent-subtle)":"color-mix(in srgb, var(--text-dim) 12%, transparent)",color:"project"===e?"var(--accent)":"var(--text-dim)"},children:t(h(e))})}function j(e,t){return{padding:"6px 12px",background:t?"color-mix(in srgb, var(--status-error) 8%, transparent)":"none",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:t?"var(--status-error)":"var(--text-muted)",cursor:e?"not-allowed":"pointer",fontSize:"var(--text-md)",opacity:e?.5:1}}function C({enabled:e,loading:t,onToggle:n,label:i}){return(0,r.jsx)("button",{type:"button",onClick:n,disabled:t,title:i,"aria-label":i,"aria-pressed":e,style:{flexShrink:0,width:40,height:22,borderRadius:11,border:"none",padding:0,cursor:t?"wait":"pointer",background:e?"var(--accent)":"var(--border)",position:"relative",transition:"background var(--dur-med) var(--ease-out-warm)",opacity:t?.65:1},children:(0,r.jsx)("span",{style:{position:"absolute",top:3,left:3,width:16,height:16,borderRadius:"50%",background:"var(--bg)",boxShadow:"var(--shadow-card)",transform:e?"translateX(18px)":"translateX(0)",transition:"transform var(--dur-med) var(--ease-out-warm)"}})})}function k({value:e,onChange:t}){let{t:n}=(0,l.s9)();return(0,r.jsx)("div",{style:{display:"inline-flex",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",overflow:"hidden",height:30},children:["global","project"].map(i=>{let o=e===i;return(0,r.jsx)("button",{onClick:()=>t(i),style:{width:76,border:"none",borderRight:"global"===i?"1px solid var(--border)":"none",background:o?"var(--bg-selected)":"none",color:o?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:"var(--text-md)"},children:n(h(i))},i)})})}function w({cwd:e,source:t,scope:n,busy:o,actionError:s,onSourceChange:a,onScopeChange:d,onInstall:c}){let{t:p}=(0,l.s9)(),g=(0,i.useRef)(null);return(0,i.useEffect)(()=>{g.current?.focus()},[]),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:18,maxWidth:660,minHeight:"100%"},children:[(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,r.jsx)("div",{style:{fontSize:"var(--text-lg)",fontWeight:700,color:"var(--text)"},children:p("pluginsConfig.addPluginTitle")}),(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:"project"===n?`${u(e)}/.omp`:"~/.omp/plugins"})]}),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,r.jsx)("label",{htmlFor:"plugin-source",style:{fontSize:"var(--text-md)",fontWeight:600,color:"var(--text-muted)"},children:p("pluginsConfig.source")}),(0,r.jsx)("input",{id:"plugin-source",ref:g,"aria-label":"Plugin package or repository",value:t,onChange:e=>a(e.target.value),placeholder:"npm:@scope/package",style:{width:"100%",height:"var(--control-height-lg)",padding:"0 11px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:"var(--text-base)",outline:"none"},onKeyDown:e=>{"Enter"===e.key&&t.trim()&&!o&&c()}})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,r.jsx)(k,{value:n,onChange:d}),(0,r.jsx)("button",{type:"button",onClick:c,disabled:o||!t.trim(),style:{...j(o||!t.trim()),background:"var(--accent)",color:"var(--on-accent)",borderColor:"var(--accent)"},children:p(o?"pluginsConfig.installing":"pluginsConfig.install")})]}),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",fontWeight:600,color:"var(--text-muted)"},children:p("pluginsConfig.examples")}),(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-3)"},children:["npm:@scope/pi-plugin","git:https://github.com/user/repo","/absolute/path/to/plugin"].map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>a(e),style:{width:"100%",minHeight:30,textAlign:"left",padding:"6px 9px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text-dim)",cursor:"pointer",fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text-muted)"},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-panel)",e.currentTarget.style.color="var(--text-dim)"},children:e},e))})]}),s&&(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--status-error)",whiteSpace:"pre-wrap"},children:s})]})}function S({pkg:e,cwd:t,busyKey:n,actionError:o,actionMessage:s,sessionId:a,onAction:c,onReloadSession:p,runtimeReady:h=!0}){let{t:k}=(0,l.s9)(),w=g(e),T=n?.endsWith(w)??!1,z="reload"===n,R=!e.disabled,[$,P]=(0,i.useState)(!1),W=!a||!1===h||z||T;return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:20,maxWidth:680},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"var(--space-5)",minWidth:0,flexWrap:"wrap"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-4)",minWidth:180,flex:1},children:[(0,r.jsx)(C,{enabled:R,loading:T||z,onToggle:()=>c(e.disabled?"enable":"disable",e),label:k(e.disabled?"pluginsConfig.enablePackage":"pluginsConfig.disablePackage")}),(0,r.jsx)(b,{scope:e.scope}),e.disabled?(0,r.jsx)("span",{style:{fontSize:"var(--text-xs)",padding:"1px 5px",borderRadius:3,background:"var(--bg-subtle)",color:"var(--text-dim)"},children:k("pluginsConfig.badgeDisabled")}):e.filtered&&(0,r.jsx)("span",{style:{fontSize:"var(--text-xs)",padding:"1px 5px",borderRadius:3,background:"var(--status-warning-subtle)",color:"var(--status-warning)"},children:k("pluginsConfig.badgeFiltered")}),(0,r.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:"var(--text-md)",color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.source})]}),(0,r.jsxs)("div",{style:{display:"flex",gap:"var(--space-4)",flexWrap:"wrap"},children:[(0,r.jsx)("button",{onClick:()=>c("update",e),disabled:T||z,style:j(T||z),children:k(n===`update:${w}`?"pluginsConfig.updating":"pluginsConfig.update")}),(0,r.jsx)("button",{onClick:p,disabled:W,style:j(W),title:k(a&&!1!==h?"pluginsConfig.reloadCurrentSession":"pluginsConfig.openSessionToReload"),children:k(z?"pluginsConfig.reloading":"pluginsConfig.reloadSession")}),(0,r.jsx)("button",{onClick:()=>P(!0),disabled:T||z,style:j(T||z,!0),children:k(n===`remove:${w}`?"pluginsConfig.removing":"pluginsConfig.remove")})]})]}),(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(96px, 130px) minmax(0, 1fr)",gap:"9px 14px",fontSize:"var(--text-md)",lineHeight:1.45},children:[(0,r.jsx)("div",{style:{color:"var(--text-dim)"},children:k("pluginsConfig.status")}),(0,r.jsx)("div",{style:{color:v(e.status)},children:k(m[e.status])}),(0,r.jsx)("div",{style:{color:"var(--text-dim)"},children:k("pluginsConfig.version")}),(0,r.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:f(e)}),(0,r.jsx)("div",{style:{color:"var(--text-dim)"},children:k("pluginsConfig.package")}),(0,r.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:e.packageName??k("pluginsConfig.unknown")}),(0,r.jsx)("div",{style:{color:"var(--text-dim)"},children:k("pluginsConfig.resources")}),(0,r.jsx)("div",{style:{color:"var(--text-muted)"},children:x(e)}),(0,r.jsx)("div",{style:{color:"var(--text-dim)"},children:k("pluginsConfig.installedPath")}),(0,r.jsx)("div",{style:{color:e.installedPath?"var(--text-muted)":"var(--status-error)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:e.installedPath?u(e.installedPath):k("pluginsConfig.notFound")}),(0,r.jsx)("div",{style:{color:"var(--text-dim)"},children:k("pluginsConfig.cwd")}),(0,r.jsx)("div",{style:{color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:u(t)})]}),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-4)"},children:[(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",fontWeight:700,color:"var(--text)"},children:k("pluginsConfig.resolvedResources")}),(0,r.jsx)(y,{pkg:e})]}),s&&(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--status-success)"},children:s}),o&&(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--status-error)",whiteSpace:"pre-wrap"},children:o}),(0,r.jsx)(d.TM,{open:$,onOpenChange:P,title:k("pluginsConfig.removePluginTitle"),description:k("pluginsConfig.removePluginBody",{source:e.source}),confirmLabel:k("pluginsConfig.remove"),cancelLabel:k("pluginsConfig.cancel"),danger:!0,onConfirm:()=>{P(!1),c("remove",e)}})]})}function T({cwd:e,sessionId:t,onReloaded:n,runtimeReady:d=!0}){let u=(0,s.a)(),{t:m,tn:y}=(0,l.s9)(),[b,C]=(0,i.useState)(null),[k,z]=(0,i.useState)(!0),[R,$]=(0,i.useState)(null),[P,W]=(0,i.useState)(null),[E,D]=(0,i.useState)(!1),[F,I]=(0,i.useState)(""),[M,O]=(0,i.useState)("global"),[N,H]=(0,i.useState)(null),[K,L]=(0,i.useState)(null),[B,V]=(0,i.useState)(null),_=(0,i.useMemo)(()=>b?.packages??[],[b?.packages]),A=_.find(e=>g(e)===P)??null,U=(0,i.useMemo)(()=>["project","global"].map(e=>({scope:e,packages:_.filter(t=>t.scope===e)})).filter(e=>e.packages.length>0),[_]),J=(0,i.useCallback)(async()=>{z(!0),$(null);try{let t=await fetch(`/api/plugins?cwd=${encodeURIComponent(e)}`),n=await t.json();if(!t.ok||n.error)throw Error((0,a.K)(n.error?n:`HTTP ${t.status}`));C(n),D(e=>0===n.packages.length||e),W(e=>e&&n.packages.some(t=>g(t)===e)?e:n.packages[0]?g(n.packages[0]):null)}catch(e){$(e instanceof Error?e.message:String(e))}finally{z(!1)}},[e]);(0,i.useEffect)(()=>{J()},[J]);let X=(0,i.useCallback)(async(t,n)=>{let r=g(n);H(`${t}:${r}`),L(null),V(null);try{let r=await fetch("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:t,source:n.source,scope:n.scope,cwd:e})}),i=await r.json();if(!r.ok||i.error)throw Error((0,a.K)(i.error?i:`HTTP ${r.status}`));if(C(i),"remove"===t)W(i.packages[0]?g(i.packages[0]):null),0===i.packages.length&&D(!0),V((0,l.Tl)("pluginsConfig.packageRemoved")),c.oR.success(m("pluginsConfig.packageRemoved"));else{let e={install:"pluginsConfig.packageInstalled",update:"pluginsConfig.packageUpdated",disable:"pluginsConfig.packageDisabledMsg",enable:"pluginsConfig.packageEnabledMsg"};V((0,l.Tl)(e[t])),c.oR.success((0,l.Tl)(e[t]))}}catch(n){let e=n instanceof Error?n.message:String(n);L(e),c.oR.error(m("pluginsConfig.actionErrorTitle",{action:m(`pluginsConfig.action_${t}`)}),e)}finally{H(null)}},[e,m]),Y=(0,i.useCallback)(async()=>{let t=F.trim();if(!t)return;let n=`${M}\0${t}`;H(`install:${n}`),L(null),V(null);try{var r;let i,o,s=await fetch("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",source:t,scope:M,cwd:e})}),d=await s.json();if(!s.ok||d.error)throw Error((0,a.K)(d.error?d:`HTTP ${s.status}`));C(d);let c=(r=d.packages,o=(i=t.trim()).startsWith("npm:")?i.slice(4):i,r.find(e=>e.scope===M&&e.source===i)??r.find(e=>e.scope===M&&e.source===`npm:${o}`)??r.find(e=>e.scope===M&&e.source.endsWith(i)));W(c?g(c):n),D(!1),I(""),V((0,l.Tl)("pluginsConfig.packageInstalled"))}catch(e){L(e instanceof Error?e.message:String(e))}finally{H(null)}},[e,M,F]),G=(0,i.useCallback)(async()=>{if(t&&!1!==d){H("reload"),L(null),V(null);try{await (0,o.$)(t,{type:"reload"}),n?.(),await J(),V((0,l.Tl)("pluginsConfig.sessionReloaded"))}catch(e){L(e instanceof Error?e.message:String(e))}finally{H(null)}}},[J,n,d,t]),q=N?.startsWith("install:")??!1;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:u?"column":"row",overflow:"hidden"},children:[(0,r.jsxs)("div",{style:{width:u?"100%":245,maxHeight:u?"40vh":void 0,borderRight:u?"none":"1px solid var(--border)",borderBottom:u?"1px solid var(--border)":"none",display:"flex",flexDirection:"column",flexShrink:0,background:"var(--bg-panel)"},children:[(0,r.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"8px 6px"},children:k?(0,r.jsx)("div",{style:{padding:"10px 8px",fontSize:"var(--text-md)",color:"var(--text-muted)"},children:m("pluginsConfig.loading")}):R?(0,r.jsx)("div",{style:{padding:"10px 8px",fontSize:"var(--text-sm)",color:"var(--status-error)"},children:R}):0===_.length?(0,r.jsx)("div",{style:{padding:"10px 8px",fontSize:"var(--text-sm)",color:"var(--text-dim)"},children:m("pluginsConfig.noPlugins")}):U.map(e=>(0,r.jsxs)("div",{style:{marginBottom:6},children:[(0,r.jsx)("div",{style:{padding:"4px 8px 3px",fontSize:"var(--text-xs)",fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase"},children:m(h(e.scope))}),e.packages.map(e=>{let t=g(e),n=!E&&P===t;return(0,r.jsxs)("button",{type:"button",onClick:()=>{W(t),D(!1),L(null),V(null)},style:{display:"flex",alignItems:"center",gap:7,padding:"8px 8px",borderRadius:"var(--radius-control)",cursor:"pointer",width:"100%",border:"none",textAlign:"left",fontFamily:"inherit",background:n?"var(--bg-selected)":"none"},onMouseEnter:e=>{n||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{n||(e.currentTarget.style.background="none")},children:[(0,r.jsx)("span",{style:{flexShrink:0,width:7,height:7,borderRadius:"50%",background:v(e.status)}}),(0,r.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",fontWeight:n?600:400,color:"var(--text)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.source}),(0,r.jsx)("div",{style:{fontSize:"var(--text-xs)",color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2},children:x(e)}),(e.version||e.configuredVersion)&&(0,r.jsx)("div",{style:{fontSize:"var(--text-xs)",color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2},children:f(e)})]})]},t)})]},e.scope))}),(0,r.jsx)("div",{style:{padding:"8px 6px",borderTop:"1px solid var(--border)",flexShrink:0},children:(0,r.jsxs)("button",{type:"button",onClick:()=>{D(!0),L(null),V(null)},style:{display:"flex",alignItems:"center",gap:"var(--space-3)",padding:"7px 8px",borderRadius:"var(--radius-control)",border:"none",width:"100%",cursor:"pointer",background:E?"var(--bg-selected)":"none",color:E?"var(--accent)":"var(--text-dim)",fontSize:"var(--text-md)"},onMouseEnter:e=>{E||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{E||(e.currentTarget.style.background="none")},children:[(0,r.jsx)(p.A,{size:13,"aria-hidden":"true"}),m("pluginsConfig.addPlugin")]})})]}),(0,r.jsx)("div",{style:{flex:1,overflowY:"auto",padding:20},children:E?(0,r.jsx)(w,{cwd:e,source:F,scope:M,busy:q,actionError:K,onSourceChange:I,onScopeChange:O,onInstall:Y}):k?(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,r.jsx)("div",{className:"skeleton",style:{height:18,width:"40%"}}),(0,r.jsx)("div",{className:"skeleton",style:{height:12,width:"70%"}}),(0,r.jsx)("div",{className:"skeleton",style:{height:12,width:"55%"}}),(0,r.jsx)("div",{className:"skeleton",style:{height:90,width:"100%"}})]}):A?(0,r.jsx)(S,{pkg:A,cwd:e,busyKey:N,actionError:K,actionMessage:B,sessionId:t,onAction:X,onReloadSession:G,runtimeReady:d},g(A)):(0,r.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:"var(--text-base)"},children:m("pluginsConfig.selectPackage")})})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--space-5)",padding:"10px 18px",borderTop:"1px solid var(--border)",flexShrink:0},children:[(0,r.jsx)("div",{style:{minWidth:0,flex:1,fontSize:"var(--text-sm)",color:"var(--text-dim)",overflow:"hidden"},children:b?.diagnostics.length?(0,r.jsx)("span",{title:b.diagnostics.map(e=>`${e.type}: ${e.source?`${e.source}: `:""}${e.message}`).join("\n"),style:{color:b.diagnostics.some(e=>"error"===e.type)?"var(--status-error)":"var(--status-warning)"},children:y("pluginsConfig.diagnosticCount",b.diagnostics.length)}):(0,r.jsx)("span",{children:b?m("pluginsConfig.totalsSummary",{extensions:b.totals.extensions,skills:b.totals.skills,prompts:b.totals.prompts,themes:b.totals.themes}):""})}),(0,r.jsx)("button",{onClick:()=>void J(),disabled:k||null!==N,style:j(k||null!==N),children:m("pluginsConfig.refresh")})]})]})}}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2201],{32383:(e,t,n)=>{n.d(t,{$:()=>i});var r=n(18136);async function i(e,t){let n=await fetch(`/api/agent/${encodeURIComponent(e)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),i=await n.json().catch(()=>({}));if(!n.ok||i.error)throw Error(i.error||i.code?(0,r.K)(i):`HTTP ${n.status}`);return i.data}},42201:(e,t,n)=>{n.r(t),n.d(t,{PackageDetail:()=>S,PluginsConfig:()=>T});var r=n(95155),i=n(12115),o=n(32383),s=n(31590),l=n(4315),a=n(18136),d=n(34906),c=n(51087),p=n(2125);function u(e){return e.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function g(e){return`${e.scope}\0${e.source}`}function x(e){if(e.disabled)return(0,l.Tl)("pluginsConfig.disabled");let t=[e.counts.extensions?(0,l.zw)("pluginsConfig.extCount",e.counts.extensions):"",e.counts.skills?(0,l.zw)("pluginsConfig.skillCount",e.counts.skills):"",e.counts.prompts?(0,l.zw)("pluginsConfig.promptCount",e.counts.prompts):"",e.counts.themes?(0,l.zw)("pluginsConfig.themeCount",e.counts.themes):""].filter(Boolean);return t.length?t.join(" \xb7 "):(0,l.Tl)("pluginsConfig.noResources")}function f(e){let t=[];return e.version&&t.push((0,l.Tl)("pluginsConfig.installedVersion",{version:e.version})),e.configuredVersion&&t.push((0,l.Tl)("pluginsConfig.configuredVersion",{version:e.configuredVersion})),t.length?t.join(" \xb7 "):(0,l.Tl)("pluginsConfig.unknown")}function v(e){return"loaded"===e?"var(--accent)":"installed"===e?"var(--status-warning)":"disabled"===e?"var(--text-dim)":"var(--status-error)"}function h(e){return"project"===e?"pluginsConfig.scopeProject":"pluginsConfig.scopeGlobal"}let m={loaded:"pluginsConfig.statusLoaded",installed:"pluginsConfig.statusInstalled",missing:"pluginsConfig.statusMissing",disabled:"pluginsConfig.statusDisabled"};function y({pkg:e}){let{t}=(0,l.s9)(),n=[["extension","pluginsConfig.extensions"],["skill","pluginsConfig.skills"],["prompt","pluginsConfig.prompts"],["theme","pluginsConfig.themes"]].map(([n,r])=>({kind:n,label:t(r),resources:e.resources.filter(e=>e.kind===n)})).filter(e=>e.resources.length>0);return 0===n.length?(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--text-dim)"},children:e.disabled?t("pluginsConfig.packageDisabled"):t("pluginsConfig.noResolvedResources")}):(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-5)"},children:n.map((e,t)=>(0,r.jsxs)("div",{style:{borderTop:0===t?"none":"1px solid var(--border)",paddingTop:12*(0!==t)},children:[(0,r.jsx)("div",{style:{fontSize:"var(--text-xs)",fontWeight:700,color:"var(--text-dim)",textTransform:"uppercase",marginBottom:6},children:e.label}),(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-3)"},children:e.resources.map(e=>(0,r.jsxs)("div",{style:{minWidth:0},children:[(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--text)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.path,children:e.name}),(0,r.jsx)("div",{style:{fontSize:"var(--text-xs)",color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:1},title:e.path,children:e.relativePath})]},`${e.kind}:${e.path}`))})]},e.kind))})}function b({scope:e}){let{t}=(0,l.s9)();return(0,r.jsx)("span",{style:{fontSize:"var(--text-xs)",padding:"1px 5px",borderRadius:3,flexShrink:0,background:"project"===e?"var(--accent-subtle)":"color-mix(in srgb, var(--text-dim) 12%, transparent)",color:"project"===e?"var(--accent)":"var(--text-dim)"},children:t(h(e))})}function j(e,t){return{padding:"6px 12px",background:t?"color-mix(in srgb, var(--status-error) 8%, transparent)":"none",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:t?"var(--status-error)":"var(--text-muted)",cursor:e?"not-allowed":"pointer",fontSize:"var(--text-md)",opacity:e?.5:1}}function C({enabled:e,loading:t,onToggle:n,label:i}){return(0,r.jsx)("button",{type:"button",onClick:n,disabled:t,title:i,"aria-label":i,"aria-pressed":e,style:{flexShrink:0,width:40,height:22,borderRadius:11,border:"none",padding:0,cursor:t?"wait":"pointer",background:e?"var(--accent)":"var(--border)",position:"relative",transition:"background var(--dur-med) var(--ease-out-warm)",opacity:t?.65:1},children:(0,r.jsx)("span",{style:{position:"absolute",top:3,left:3,width:16,height:16,borderRadius:"50%",background:"var(--bg)",boxShadow:"var(--shadow-card)",transform:e?"translateX(18px)":"translateX(0)",transition:"transform var(--dur-med) var(--ease-out-warm)"}})})}function k({value:e,onChange:t}){let{t:n}=(0,l.s9)();return(0,r.jsx)("div",{style:{display:"inline-flex",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",overflow:"hidden",height:30},children:["global","project"].map(i=>{let o=e===i;return(0,r.jsx)("button",{onClick:()=>t(i),style:{width:76,border:"none",borderRight:"global"===i?"1px solid var(--border)":"none",background:o?"var(--bg-selected)":"none",color:o?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:"var(--text-md)"},children:n(h(i))},i)})})}function w({cwd:e,source:t,scope:n,busy:o,actionError:s,onSourceChange:a,onScopeChange:d,onInstall:c}){let{t:p}=(0,l.s9)(),g=(0,i.useRef)(null);return(0,i.useEffect)(()=>{g.current?.focus()},[]),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:18,maxWidth:660,minHeight:"100%"},children:[(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,r.jsx)("div",{style:{fontSize:"var(--text-lg)",fontWeight:700,color:"var(--text)"},children:p("pluginsConfig.addPluginTitle")}),(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:"project"===n?`${u(e)}/.omp`:"~/.omp/plugins"})]}),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,r.jsx)("label",{htmlFor:"plugin-source",style:{fontSize:"var(--text-md)",fontWeight:600,color:"var(--text-muted)"},children:p("pluginsConfig.source")}),(0,r.jsx)("input",{id:"plugin-source",ref:g,"aria-label":"Plugin package or repository",value:t,onChange:e=>a(e.target.value),placeholder:"npm:@scope/package",style:{width:"100%",height:"var(--control-height-lg)",padding:"0 11px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:"var(--text-base)",outline:"none"},onKeyDown:e=>{"Enter"===e.key&&t.trim()&&!o&&c()}})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,r.jsx)(k,{value:n,onChange:d}),(0,r.jsx)("button",{type:"button",onClick:c,disabled:o||!t.trim(),style:{...j(o||!t.trim()),background:"var(--accent)",color:"var(--on-accent)",borderColor:"var(--accent)"},children:p(o?"pluginsConfig.installing":"pluginsConfig.install")})]}),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",fontWeight:600,color:"var(--text-muted)"},children:p("pluginsConfig.examples")}),(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-3)"},children:["npm:@scope/pi-plugin","git:https://github.com/user/repo","/absolute/path/to/plugin"].map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>a(e),style:{width:"100%",minHeight:30,textAlign:"left",padding:"6px 9px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text-dim)",cursor:"pointer",fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text-muted)"},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-panel)",e.currentTarget.style.color="var(--text-dim)"},children:e},e))})]}),s&&(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--status-error)",whiteSpace:"pre-wrap"},children:s})]})}function S({pkg:e,cwd:t,busyKey:n,actionError:o,actionMessage:s,sessionId:a,onAction:c,onReloadSession:p,runtimeReady:h=!0}){let{t:k}=(0,l.s9)(),w=g(e),T=n?.endsWith(w)??!1,z="reload"===n,R=!e.disabled,[$,P]=(0,i.useState)(!1),W=!a||!1===h||z||T;return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:20,maxWidth:680},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"var(--space-5)",minWidth:0,flexWrap:"wrap"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-4)",minWidth:180,flex:1},children:[(0,r.jsx)(C,{enabled:R,loading:T||z,onToggle:()=>c(e.disabled?"enable":"disable",e),label:k(e.disabled?"pluginsConfig.enablePackage":"pluginsConfig.disablePackage")}),(0,r.jsx)(b,{scope:e.scope}),e.disabled?(0,r.jsx)("span",{style:{fontSize:"var(--text-xs)",padding:"1px 5px",borderRadius:3,background:"var(--bg-subtle)",color:"var(--text-dim)"},children:k("pluginsConfig.badgeDisabled")}):e.filtered&&(0,r.jsx)("span",{style:{fontSize:"var(--text-xs)",padding:"1px 5px",borderRadius:3,background:"var(--status-warning-subtle)",color:"var(--status-warning)"},children:k("pluginsConfig.badgeFiltered")}),(0,r.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:"var(--text-md)",color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.source})]}),(0,r.jsxs)("div",{style:{display:"flex",gap:"var(--space-4)",flexWrap:"wrap"},children:[(0,r.jsx)("button",{onClick:()=>c("update",e),disabled:T||z,style:j(T||z),children:k(n===`update:${w}`?"pluginsConfig.updating":"pluginsConfig.update")}),(0,r.jsx)("button",{onClick:p,disabled:W,style:j(W),title:k(a&&!1!==h?"pluginsConfig.reloadCurrentSession":"pluginsConfig.openSessionToReload"),children:k(z?"pluginsConfig.reloading":"pluginsConfig.reloadSession")}),(0,r.jsx)("button",{onClick:()=>P(!0),disabled:T||z,style:j(T||z,!0),children:k(n===`remove:${w}`?"pluginsConfig.removing":"pluginsConfig.remove")})]})]}),(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(96px, 130px) minmax(0, 1fr)",gap:"9px 14px",fontSize:"var(--text-md)",lineHeight:1.45},children:[(0,r.jsx)("div",{style:{color:"var(--text-dim)"},children:k("pluginsConfig.status")}),(0,r.jsx)("div",{style:{color:v(e.status)},children:k(m[e.status])}),(0,r.jsx)("div",{style:{color:"var(--text-dim)"},children:k("pluginsConfig.version")}),(0,r.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:f(e)}),(0,r.jsx)("div",{style:{color:"var(--text-dim)"},children:k("pluginsConfig.package")}),(0,r.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:e.packageName??k("pluginsConfig.unknown")}),(0,r.jsx)("div",{style:{color:"var(--text-dim)"},children:k("pluginsConfig.resources")}),(0,r.jsx)("div",{style:{color:"var(--text-muted)"},children:x(e)}),(0,r.jsx)("div",{style:{color:"var(--text-dim)"},children:k("pluginsConfig.installedPath")}),(0,r.jsx)("div",{style:{color:e.installedPath?"var(--text-muted)":"var(--status-error)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:e.installedPath?u(e.installedPath):k("pluginsConfig.notFound")}),(0,r.jsx)("div",{style:{color:"var(--text-dim)"},children:k("pluginsConfig.cwd")}),(0,r.jsx)("div",{style:{color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:u(t)})]}),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-4)"},children:[(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",fontWeight:700,color:"var(--text)"},children:k("pluginsConfig.resolvedResources")}),(0,r.jsx)(y,{pkg:e})]}),s&&(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--status-success)"},children:s}),o&&(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--status-error)",whiteSpace:"pre-wrap"},children:o}),(0,r.jsx)(d.TM,{open:$,onOpenChange:P,title:k("pluginsConfig.removePluginTitle"),description:k("pluginsConfig.removePluginBody",{source:e.source}),confirmLabel:k("pluginsConfig.remove"),cancelLabel:k("pluginsConfig.cancel"),danger:!0,onConfirm:()=>{P(!1),c("remove",e)}})]})}function T({cwd:e,sessionId:t,onReloaded:n,runtimeReady:d=!0}){let u=(0,s.a)(),{t:m,tn:y}=(0,l.s9)(),[b,C]=(0,i.useState)(null),[k,z]=(0,i.useState)(!0),[R,$]=(0,i.useState)(null),[P,W]=(0,i.useState)(null),[E,D]=(0,i.useState)(!1),[F,I]=(0,i.useState)(""),[M,O]=(0,i.useState)("global"),[N,H]=(0,i.useState)(null),[K,L]=(0,i.useState)(null),[B,V]=(0,i.useState)(null),_=(0,i.useMemo)(()=>b?.packages??[],[b?.packages]),A=_.find(e=>g(e)===P)??null,U=(0,i.useMemo)(()=>["project","global"].map(e=>({scope:e,packages:_.filter(t=>t.scope===e)})).filter(e=>e.packages.length>0),[_]),J=(0,i.useCallback)(async()=>{z(!0),$(null);try{let t=await fetch(`/api/plugins?cwd=${encodeURIComponent(e)}`),n=await t.json();if(!t.ok||n.error)throw Error((0,a.K)(n.error?n:`HTTP ${t.status}`));C(n),D(e=>0===n.packages.length||e),W(e=>e&&n.packages.some(t=>g(t)===e)?e:n.packages[0]?g(n.packages[0]):null)}catch(e){$(e instanceof Error?e.message:String(e))}finally{z(!1)}},[e]);(0,i.useEffect)(()=>{J()},[J]);let X=(0,i.useCallback)(async(t,n)=>{let r=g(n);H(`${t}:${r}`),L(null),V(null);try{let r=await fetch("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:t,source:n.source,scope:n.scope,cwd:e})}),i=await r.json();if(!r.ok||i.error)throw Error((0,a.K)(i.error?i:`HTTP ${r.status}`));if(C(i),"remove"===t)W(i.packages[0]?g(i.packages[0]):null),0===i.packages.length&&D(!0),V((0,l.Tl)("pluginsConfig.packageRemoved")),c.oR.success(m("pluginsConfig.packageRemoved"));else{let e={install:"pluginsConfig.packageInstalled",update:"pluginsConfig.packageUpdated",disable:"pluginsConfig.packageDisabledMsg",enable:"pluginsConfig.packageEnabledMsg"};V((0,l.Tl)(e[t])),c.oR.success((0,l.Tl)(e[t]))}}catch(n){let e=n instanceof Error?n.message:String(n);L(e),c.oR.error(m("pluginsConfig.actionErrorTitle",{action:m(`pluginsConfig.action_${t}`)}),e)}finally{H(null)}},[e,m]),Y=(0,i.useCallback)(async()=>{let t=F.trim();if(!t)return;let n=`${M}\0${t}`;H(`install:${n}`),L(null),V(null);try{var r;let i,o,s=await fetch("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",source:t,scope:M,cwd:e})}),d=await s.json();if(!s.ok||d.error)throw Error((0,a.K)(d.error?d:`HTTP ${s.status}`));C(d);let c=(r=d.packages,o=(i=t.trim()).startsWith("npm:")?i.slice(4):i,r.find(e=>e.scope===M&&e.source===i)??r.find(e=>e.scope===M&&e.source===`npm:${o}`)??r.find(e=>e.scope===M&&e.source.endsWith(i)));W(c?g(c):n),D(!1),I(""),V((0,l.Tl)("pluginsConfig.packageInstalled"))}catch(e){L(e instanceof Error?e.message:String(e))}finally{H(null)}},[e,M,F]),G=(0,i.useCallback)(async()=>{if(t&&!1!==d){H("reload"),L(null),V(null);try{await (0,o.$)(t,{type:"reload"}),n?.(),await J(),V((0,l.Tl)("pluginsConfig.sessionReloaded"))}catch(e){L(e instanceof Error?e.message:String(e))}finally{H(null)}}},[J,n,d,t]),q=N?.startsWith("install:")??!1;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:u?"column":"row",overflow:"hidden"},children:[(0,r.jsxs)("div",{style:{width:u?"100%":245,maxHeight:u?"40vh":void 0,borderRight:u?"none":"1px solid var(--border)",borderBottom:u?"1px solid var(--border)":"none",display:"flex",flexDirection:"column",flexShrink:0,background:"var(--bg-panel)"},children:[(0,r.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"8px 6px"},children:k?(0,r.jsx)("div",{style:{padding:"10px 8px",fontSize:"var(--text-md)",color:"var(--text-muted)"},children:m("pluginsConfig.loading")}):R?(0,r.jsx)("div",{style:{padding:"10px 8px",fontSize:"var(--text-sm)",color:"var(--status-error)"},children:R}):0===_.length?(0,r.jsx)("div",{style:{padding:"10px 8px",fontSize:"var(--text-sm)",color:"var(--text-dim)"},children:m("pluginsConfig.noPlugins")}):U.map(e=>(0,r.jsxs)("div",{style:{marginBottom:6},children:[(0,r.jsx)("div",{style:{padding:"4px 8px 3px",fontSize:"var(--text-xs)",fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase"},children:m(h(e.scope))}),e.packages.map(e=>{let t=g(e),n=!E&&P===t;return(0,r.jsxs)("button",{type:"button",onClick:()=>{W(t),D(!1),L(null),V(null)},style:{display:"flex",alignItems:"center",gap:7,padding:"8px 8px",borderRadius:"var(--radius-control)",cursor:"pointer",width:"100%",border:"none",textAlign:"left",fontFamily:"inherit",background:n?"var(--bg-selected)":"none"},onMouseEnter:e=>{n||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{n||(e.currentTarget.style.background="none")},children:[(0,r.jsx)("span",{style:{flexShrink:0,width:7,height:7,borderRadius:"50%",background:v(e.status)}}),(0,r.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,r.jsx)("div",{style:{fontSize:"var(--text-md)",fontWeight:n?600:400,color:"var(--text)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.source}),(0,r.jsx)("div",{style:{fontSize:"var(--text-xs)",color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2},children:x(e)}),(e.version||e.configuredVersion)&&(0,r.jsx)("div",{style:{fontSize:"var(--text-xs)",color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2},children:f(e)})]})]},t)})]},e.scope))}),(0,r.jsx)("div",{style:{padding:"8px 6px",borderTop:"1px solid var(--border)",flexShrink:0},children:(0,r.jsxs)("button",{type:"button",onClick:()=>{D(!0),L(null),V(null)},style:{display:"flex",alignItems:"center",gap:"var(--space-3)",padding:"7px 8px",borderRadius:"var(--radius-control)",border:"none",width:"100%",cursor:"pointer",background:E?"var(--bg-selected)":"none",color:E?"var(--accent)":"var(--text-dim)",fontSize:"var(--text-md)"},onMouseEnter:e=>{E||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{E||(e.currentTarget.style.background="none")},children:[(0,r.jsx)(p.A,{size:13,"aria-hidden":"true"}),m("pluginsConfig.addPlugin")]})})]}),(0,r.jsx)("div",{style:{flex:1,overflowY:"auto",padding:20},children:E?(0,r.jsx)(w,{cwd:e,source:F,scope:M,busy:q,actionError:K,onSourceChange:I,onScopeChange:O,onInstall:Y}):k?(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,r.jsx)("div",{className:"skeleton",style:{height:18,width:"40%"}}),(0,r.jsx)("div",{className:"skeleton",style:{height:12,width:"70%"}}),(0,r.jsx)("div",{className:"skeleton",style:{height:12,width:"55%"}}),(0,r.jsx)("div",{className:"skeleton",style:{height:90,width:"100%"}})]}):A?(0,r.jsx)(S,{pkg:A,cwd:e,busyKey:N,actionError:K,actionMessage:B,sessionId:t,onAction:X,onReloadSession:G,runtimeReady:d},g(A)):(0,r.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:"var(--text-base)"},children:m("pluginsConfig.selectPackage")})})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--space-5)",padding:"10px 18px",borderTop:"1px solid var(--border)",flexShrink:0},children:[(0,r.jsx)("div",{style:{minWidth:0,flex:1,fontSize:"var(--text-sm)",color:"var(--text-dim)",overflow:"hidden"},children:b?.diagnostics.length?(0,r.jsx)("span",{title:b.diagnostics.map(e=>`${e.type}: ${e.source?`${e.source}: `:""}${e.message}`).join("\n"),style:{color:b.diagnostics.some(e=>"error"===e.type)?"var(--status-error)":"var(--status-warning)"},children:y("pluginsConfig.diagnosticCount",b.diagnostics.length)}):(0,r.jsx)("span",{children:b?m("pluginsConfig.totalsSummary",{extensions:b.totals.extensions,skills:b.totals.skills,prompts:b.totals.prompts,themes:b.totals.themes}):""})}),(0,r.jsx)("button",{onClick:()=>void J(),disabled:k||null!==N,style:j(k||null!==N),children:m("pluginsConfig.refresh")})]})]})}}}]);