ompgui 0.6.5 → 0.7.2

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 (334) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +10 -4
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +31 -3
  5. package/.next/react-loadable-manifest.json +16 -9
  6. package/.next/required-server-files.js +2 -2
  7. package/.next/required-server-files.json +2 -2
  8. package/.next/routes-manifest.json +40 -2
  9. package/.next/server/app/_global-error/page.js +1 -1
  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 +2 -2
  25. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
  26. package/.next/server/app/api/agent/[id]/route.js +1 -1
  27. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
  28. package/.next/server/app/api/agent/new/route.js +1 -1
  29. package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
  30. package/.next/server/app/api/agent/running/events/route.js +2 -2
  31. package/.next/server/app/api/agent/running/events/route.js.nft.json +1 -1
  32. package/.next/server/app/api/agents/[name]/route.js +1 -1
  33. package/.next/server/app/api/agents/route.js +1 -1
  34. package/.next/server/app/api/agents/unpack/route.js +1 -1
  35. package/.next/server/app/api/app-update/route.js +1 -1
  36. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  37. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  38. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  39. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  40. package/.next/server/app/api/auth/providers/route.js +1 -1
  41. package/.next/server/app/api/cwd/browse/route.js +1 -1
  42. package/.next/server/app/api/cwd/validate/route.js +2 -1
  43. package/.next/server/app/api/daemon/route.js +1 -0
  44. package/.next/server/app/api/daemon/route.js.nft.json +1 -0
  45. package/.next/server/app/api/daemon/route_client-reference-manifest.js +1 -0
  46. package/.next/server/app/api/default-cwd/route.js +1 -1
  47. package/.next/server/app/api/file-index/route.js +1 -1
  48. package/.next/server/app/api/files/[...path]/route.js +5 -5
  49. package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -1
  50. package/.next/server/app/api/git/diff/route.js +2 -2
  51. package/.next/server/app/api/git/status/route.js +2 -2
  52. package/.next/server/app/api/home/route.js +1 -1
  53. package/.next/server/app/api/mcp/route.js +3 -3
  54. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  55. package/.next/server/app/api/model-roles/route.js +1 -1
  56. package/.next/server/app/api/models/route.js +1 -1
  57. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  58. package/.next/server/app/api/models-config/route.js +1 -1
  59. package/.next/server/app/api/models-config/test/route.js +1 -1
  60. package/.next/server/app/api/omp-settings/route.js +1 -1
  61. package/.next/server/app/api/omp-update/route.js +2 -2
  62. package/.next/server/app/api/omp-update/route.js.nft.json +1 -1
  63. package/.next/server/app/api/omp-version/route.js +1 -1
  64. package/.next/server/app/api/plugins/route.js +1 -1
  65. package/.next/server/app/api/projects/route.js +2 -2
  66. package/.next/server/app/api/providers/enable/route.js +1 -1
  67. package/.next/server/app/api/relay/devices/[id]/route.js +1 -0
  68. package/.next/server/app/api/relay/devices/[id]/route.js.nft.json +1 -0
  69. package/.next/server/app/api/relay/devices/[id]/route_client-reference-manifest.js +1 -0
  70. package/.next/server/app/api/relay/devices/route.js +1 -0
  71. package/.next/server/app/api/relay/devices/route.js.nft.json +1 -0
  72. package/.next/server/app/api/relay/devices/route_client-reference-manifest.js +1 -0
  73. package/.next/server/app/api/relay/pair/route.js +1 -0
  74. package/.next/server/app/api/relay/pair/route.js.nft.json +1 -0
  75. package/.next/server/app/api/relay/pair/route_client-reference-manifest.js +1 -0
  76. package/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  77. package/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
  78. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  79. package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -1
  80. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  81. package/.next/server/app/api/sessions/[id]/entries/[entryId]/media/route.js +1 -1
  82. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  83. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  84. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  85. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  86. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  87. package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -1
  88. package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route.js +1 -1
  89. package/.next/server/app/api/sessions/[id]/subagents/route.js +1 -1
  90. package/.next/server/app/api/sessions/[id]/subagents/route.js.nft.json +1 -1
  91. package/.next/server/app/api/sessions/archive/route.js +1 -1
  92. package/.next/server/app/api/sessions/import/route.js +1 -1
  93. package/.next/server/app/api/sessions/route.js +1 -1
  94. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  95. package/.next/server/app/api/skills/check/route.js +1 -1
  96. package/.next/server/app/api/skills/check/route.js.nft.json +1 -1
  97. package/.next/server/app/api/skills/install/route.js +1 -1
  98. package/.next/server/app/api/skills/route.js +2 -2
  99. package/.next/server/app/api/skills/search/route.js +1 -1
  100. package/.next/server/app/api/skills/update/route.js +1 -1
  101. package/.next/server/app/api/skills/update/route.js.nft.json +1 -1
  102. package/.next/server/app/api/usage/route.js +1 -1
  103. package/.next/server/app/api/web-auth/session/route.js +1 -1
  104. package/.next/server/app/api/worktrees/route.js +1 -1
  105. package/.next/server/app/apple-icon.png/route.js +1 -1
  106. package/.next/server/app/favicon.ico/route.js +1 -1
  107. package/.next/server/app/icon.svg/route.js +1 -1
  108. package/.next/server/app/index.html +1 -1
  109. package/.next/server/app/index.rsc +4 -4
  110. package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  111. package/.next/server/app/index.segments/_full.segment.rsc +4 -4
  112. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  113. package/.next/server/app/login/page.js +1 -1
  114. package/.next/server/app/login/page.js.nft.json +1 -1
  115. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  116. package/.next/server/app/login.html +1 -1
  117. package/.next/server/app/login.rsc +3 -3
  118. package/.next/server/app/login.segments/_full.segment.rsc +3 -3
  119. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  120. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
  121. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  122. package/.next/server/app/page.js +2 -2
  123. package/.next/server/app/page.js.nft.json +1 -1
  124. package/.next/server/app/page_client-reference-manifest.js +1 -1
  125. package/.next/server/app/pair/page.js +1 -0
  126. package/.next/server/app/pair/page.js.nft.json +1 -0
  127. package/.next/server/app/pair/page_client-reference-manifest.js +1 -0
  128. package/.next/server/app/pair.html +1 -0
  129. package/.next/server/app/pair.meta +26 -0
  130. package/.next/server/app/pair.rsc +23 -0
  131. package/.next/server/app/pair.segments/_full.segment.rsc +23 -0
  132. package/.next/server/app/pair.segments/_tree.segment.rsc +4 -0
  133. package/.next/server/app/pair.segments/pair/__PAGE__.segment.rsc +25 -0
  134. package/.next/server/app/relay/route.js +1 -0
  135. package/.next/server/app/relay/route.js.nft.json +1 -0
  136. package/.next/server/app/relay/route_client-reference-manifest.js +1 -0
  137. package/.next/server/app-paths-manifest.json +10 -4
  138. package/.next/server/chunks/1448.js +1 -1
  139. package/.next/server/chunks/1671.js +1 -1
  140. package/.next/server/chunks/2043.js +12 -0
  141. package/.next/server/chunks/2676.js +4 -0
  142. package/.next/server/chunks/2865.js +1 -1
  143. package/.next/server/chunks/3100.js +2 -2
  144. package/.next/server/chunks/3798.js +4 -5
  145. package/.next/server/chunks/5318.js +1 -1
  146. package/.next/server/chunks/6209.js +4 -4
  147. package/.next/server/chunks/{8353.js → 6332.js} +2 -2
  148. package/.next/server/chunks/7077.js +1 -0
  149. package/.next/server/chunks/714.js +1 -1
  150. package/.next/server/chunks/7779.js +1 -0
  151. package/.next/server/chunks/795.js +105 -0
  152. package/.next/server/chunks/8501.js +1 -1
  153. package/.next/server/chunks/8672.js +1 -0
  154. package/.next/server/chunks/8834.js +18 -0
  155. package/.next/server/chunks/9145.js +2 -0
  156. package/.next/server/chunks/933.js +1 -1
  157. package/.next/server/functions-config-manifest.json +1 -0
  158. package/.next/server/instrumentation.js +1 -1
  159. package/.next/server/instrumentation.js.nft.json +1 -1
  160. package/.next/server/middleware-build-manifest.js +1 -1
  161. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  162. package/.next/server/middleware.js +2 -2
  163. package/.next/server/pages/404.html +1 -1
  164. package/.next/server/pages/500.html +1 -1
  165. package/.next/server/prefetch-hints.json +14 -0
  166. package/.next/server/server-reference-manifest.json +1 -1
  167. package/.next/static/Na7qed083WBP3X-plluRO/_buildManifest.js +1 -0
  168. package/.next/static/chunks/1012.477e42e5184b6aaa.js +17 -0
  169. package/.next/static/chunks/1941.66c3a0942c0c3e5d.js +1 -0
  170. package/.next/static/chunks/3944.6215b78f025077b3.js +1 -0
  171. package/.next/static/chunks/4315-142781649334beb2.js +1 -0
  172. package/.next/static/chunks/484.761e1ff01f663fb2.js +1 -0
  173. package/.next/static/chunks/5658.0fe2642c815aea9a.js +1 -0
  174. package/.next/static/chunks/587-c973123b3c9a5b80.js +1 -0
  175. package/.next/static/chunks/9448.b6c5eb8f1356d5fd.js +2 -0
  176. package/.next/static/chunks/9668.b62ea9e45077f781.js +1 -0
  177. package/.next/static/chunks/app/_global-error/page-710453b8adcf7d31.js +1 -0
  178. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-710453b8adcf7d31.js +1 -0
  179. package/.next/static/chunks/app/api/agent/[id]/events/route-710453b8adcf7d31.js +1 -0
  180. package/.next/static/chunks/app/api/agent/[id]/route-710453b8adcf7d31.js +1 -0
  181. package/.next/static/chunks/app/api/agent/new/route-710453b8adcf7d31.js +1 -0
  182. package/.next/static/chunks/app/api/agent/running/events/route-710453b8adcf7d31.js +1 -0
  183. package/.next/static/chunks/app/api/agents/[name]/route-710453b8adcf7d31.js +1 -0
  184. package/.next/static/chunks/app/api/agents/route-710453b8adcf7d31.js +1 -0
  185. package/.next/static/chunks/app/api/agents/unpack/route-710453b8adcf7d31.js +1 -0
  186. package/.next/static/chunks/app/api/app-update/route-710453b8adcf7d31.js +1 -0
  187. package/.next/static/chunks/app/api/auth/all-providers/route-710453b8adcf7d31.js +1 -0
  188. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-710453b8adcf7d31.js +1 -0
  189. package/.next/static/chunks/app/api/auth/login/[provider]/route-710453b8adcf7d31.js +1 -0
  190. package/.next/static/chunks/app/api/auth/logout/[provider]/route-710453b8adcf7d31.js +1 -0
  191. package/.next/static/chunks/app/api/auth/providers/route-710453b8adcf7d31.js +1 -0
  192. package/.next/static/chunks/app/api/cwd/browse/route-710453b8adcf7d31.js +1 -0
  193. package/.next/static/chunks/app/api/cwd/validate/route-710453b8adcf7d31.js +1 -0
  194. package/.next/static/chunks/app/api/daemon/route-710453b8adcf7d31.js +1 -0
  195. package/.next/static/chunks/app/api/default-cwd/route-710453b8adcf7d31.js +1 -0
  196. package/.next/static/chunks/app/api/file-index/route-710453b8adcf7d31.js +1 -0
  197. package/.next/static/chunks/app/api/files/[...path]/route-710453b8adcf7d31.js +1 -0
  198. package/.next/static/chunks/app/api/git/diff/route-710453b8adcf7d31.js +1 -0
  199. package/.next/static/chunks/app/api/git/status/route-710453b8adcf7d31.js +1 -0
  200. package/.next/static/chunks/app/api/home/route-710453b8adcf7d31.js +1 -0
  201. package/.next/static/chunks/app/api/mcp/route-710453b8adcf7d31.js +1 -0
  202. package/.next/static/chunks/app/api/model-roles/route-710453b8adcf7d31.js +1 -0
  203. package/.next/static/chunks/app/api/models/route-710453b8adcf7d31.js +1 -0
  204. package/.next/static/chunks/app/api/models-config/catalog/route-710453b8adcf7d31.js +1 -0
  205. package/.next/static/chunks/app/api/models-config/route-710453b8adcf7d31.js +1 -0
  206. package/.next/static/chunks/app/api/models-config/test/route-710453b8adcf7d31.js +1 -0
  207. package/.next/static/chunks/app/api/omp-settings/route-710453b8adcf7d31.js +1 -0
  208. package/.next/static/chunks/app/api/omp-update/route-710453b8adcf7d31.js +1 -0
  209. package/.next/static/chunks/app/api/omp-version/route-710453b8adcf7d31.js +1 -0
  210. package/.next/static/chunks/app/api/plugins/route-710453b8adcf7d31.js +1 -0
  211. package/.next/static/chunks/app/api/projects/route-710453b8adcf7d31.js +1 -0
  212. package/.next/static/chunks/app/api/providers/enable/route-710453b8adcf7d31.js +1 -0
  213. package/.next/static/chunks/app/api/relay/devices/[id]/route-710453b8adcf7d31.js +1 -0
  214. package/.next/static/chunks/app/api/relay/devices/route-710453b8adcf7d31.js +1 -0
  215. package/.next/static/chunks/app/api/relay/pair/route-710453b8adcf7d31.js +1 -0
  216. package/.next/static/chunks/app/api/sessions/[id]/archive/route-710453b8adcf7d31.js +1 -0
  217. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-710453b8adcf7d31.js +1 -0
  218. package/.next/static/chunks/app/api/sessions/[id]/context/route-710453b8adcf7d31.js +1 -0
  219. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/media/route-710453b8adcf7d31.js +1 -0
  220. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-710453b8adcf7d31.js +1 -0
  221. package/.next/static/chunks/app/api/sessions/[id]/export/route-710453b8adcf7d31.js +1 -0
  222. package/.next/static/chunks/app/api/sessions/[id]/route-710453b8adcf7d31.js +1 -0
  223. package/.next/static/chunks/app/api/sessions/[id]/state/route-710453b8adcf7d31.js +1 -0
  224. package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-710453b8adcf7d31.js +1 -0
  225. package/.next/static/chunks/app/api/sessions/[id]/subagents/route-710453b8adcf7d31.js +1 -0
  226. package/.next/static/chunks/app/api/sessions/archive/route-710453b8adcf7d31.js +1 -0
  227. package/.next/static/chunks/app/api/sessions/import/route-710453b8adcf7d31.js +1 -0
  228. package/.next/static/chunks/app/api/sessions/route-710453b8adcf7d31.js +1 -0
  229. package/.next/static/chunks/app/api/skills/check/route-710453b8adcf7d31.js +1 -0
  230. package/.next/static/chunks/app/api/skills/install/route-710453b8adcf7d31.js +1 -0
  231. package/.next/static/chunks/app/api/skills/route-710453b8adcf7d31.js +1 -0
  232. package/.next/static/chunks/app/api/skills/search/route-710453b8adcf7d31.js +1 -0
  233. package/.next/static/chunks/app/api/skills/update/route-710453b8adcf7d31.js +1 -0
  234. package/.next/static/chunks/app/api/usage/route-710453b8adcf7d31.js +1 -0
  235. package/.next/static/chunks/app/api/web-auth/session/route-710453b8adcf7d31.js +1 -0
  236. package/.next/static/chunks/app/api/worktrees/route-710453b8adcf7d31.js +1 -0
  237. package/.next/static/chunks/app/manifest.webmanifest/route-710453b8adcf7d31.js +1 -0
  238. package/.next/static/chunks/app/{page-2845a463e3b265c2.js → page-f53564bcb292e1e5.js} +2 -2
  239. package/.next/static/chunks/app/pair/page-d72423ffc5654e29.js +1 -0
  240. package/.next/static/chunks/app/relay/route-710453b8adcf7d31.js +1 -0
  241. package/.next/static/chunks/next/dist/client/components/builtin/app-error-710453b8adcf7d31.js +1 -0
  242. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-710453b8adcf7d31.js +1 -0
  243. package/.next/static/chunks/next/dist/client/components/builtin/not-found-710453b8adcf7d31.js +1 -0
  244. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-710453b8adcf7d31.js +1 -0
  245. package/.next/static/chunks/webpack-4e02c722bd171663.js +1 -0
  246. package/.next/static/css/63b622301ba107de.css +3 -0
  247. package/README.ja.md +32 -1
  248. package/README.ko.md +34 -1
  249. package/README.md +35 -2
  250. package/README.zh-CN.md +32 -1
  251. package/bin/ompgui-options.js +18 -3
  252. package/bin/ompgui-pair.js +108 -0
  253. package/bin/ompgui-service.js +223 -0
  254. package/bin/ompgui-update.js +85 -22
  255. package/bin/ompgui.js +30 -11
  256. package/next.config.ts +3 -1
  257. package/package.json +9 -5
  258. package/.next/server/chunks/2118.js +0 -1
  259. package/.next/server/chunks/3379.js +0 -1
  260. package/.next/server/chunks/6777.js +0 -1
  261. package/.next/server/chunks/7834.js +0 -5
  262. package/.next/server/chunks/8816.js +0 -18
  263. package/.next/static/chunks/4315-6b59cc5d91fe9083.js +0 -1
  264. package/.next/static/chunks/484.3215a9f03ff865da.js +0 -1
  265. package/.next/static/chunks/5658.eb16997c19c2372b.js +0 -1
  266. package/.next/static/chunks/6139.8971a8cbb6c07ac8.js +0 -17
  267. package/.next/static/chunks/7194.651566324b8fac6f.js +0 -1
  268. package/.next/static/chunks/9448.3ded6700334581bd.js +0 -2
  269. package/.next/static/chunks/9668.5e681bc0055ed4d0.js +0 -1
  270. package/.next/static/chunks/app/_global-error/page-129e1f8238bd66db.js +0 -1
  271. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-129e1f8238bd66db.js +0 -1
  272. package/.next/static/chunks/app/api/agent/[id]/events/route-129e1f8238bd66db.js +0 -1
  273. package/.next/static/chunks/app/api/agent/[id]/route-129e1f8238bd66db.js +0 -1
  274. package/.next/static/chunks/app/api/agent/new/route-129e1f8238bd66db.js +0 -1
  275. package/.next/static/chunks/app/api/agent/running/events/route-129e1f8238bd66db.js +0 -1
  276. package/.next/static/chunks/app/api/agents/[name]/route-129e1f8238bd66db.js +0 -1
  277. package/.next/static/chunks/app/api/agents/route-129e1f8238bd66db.js +0 -1
  278. package/.next/static/chunks/app/api/agents/unpack/route-129e1f8238bd66db.js +0 -1
  279. package/.next/static/chunks/app/api/app-update/route-129e1f8238bd66db.js +0 -1
  280. package/.next/static/chunks/app/api/auth/all-providers/route-129e1f8238bd66db.js +0 -1
  281. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-129e1f8238bd66db.js +0 -1
  282. package/.next/static/chunks/app/api/auth/login/[provider]/route-129e1f8238bd66db.js +0 -1
  283. package/.next/static/chunks/app/api/auth/logout/[provider]/route-129e1f8238bd66db.js +0 -1
  284. package/.next/static/chunks/app/api/auth/providers/route-129e1f8238bd66db.js +0 -1
  285. package/.next/static/chunks/app/api/cwd/browse/route-129e1f8238bd66db.js +0 -1
  286. package/.next/static/chunks/app/api/cwd/validate/route-129e1f8238bd66db.js +0 -1
  287. package/.next/static/chunks/app/api/default-cwd/route-129e1f8238bd66db.js +0 -1
  288. package/.next/static/chunks/app/api/file-index/route-129e1f8238bd66db.js +0 -1
  289. package/.next/static/chunks/app/api/files/[...path]/route-129e1f8238bd66db.js +0 -1
  290. package/.next/static/chunks/app/api/git/diff/route-129e1f8238bd66db.js +0 -1
  291. package/.next/static/chunks/app/api/git/status/route-129e1f8238bd66db.js +0 -1
  292. package/.next/static/chunks/app/api/home/route-129e1f8238bd66db.js +0 -1
  293. package/.next/static/chunks/app/api/mcp/route-129e1f8238bd66db.js +0 -1
  294. package/.next/static/chunks/app/api/model-roles/route-129e1f8238bd66db.js +0 -1
  295. package/.next/static/chunks/app/api/models/route-129e1f8238bd66db.js +0 -1
  296. package/.next/static/chunks/app/api/models-config/catalog/route-129e1f8238bd66db.js +0 -1
  297. package/.next/static/chunks/app/api/models-config/route-129e1f8238bd66db.js +0 -1
  298. package/.next/static/chunks/app/api/models-config/test/route-129e1f8238bd66db.js +0 -1
  299. package/.next/static/chunks/app/api/omp-settings/route-129e1f8238bd66db.js +0 -1
  300. package/.next/static/chunks/app/api/omp-update/route-129e1f8238bd66db.js +0 -1
  301. package/.next/static/chunks/app/api/omp-version/route-129e1f8238bd66db.js +0 -1
  302. package/.next/static/chunks/app/api/plugins/route-129e1f8238bd66db.js +0 -1
  303. package/.next/static/chunks/app/api/projects/route-129e1f8238bd66db.js +0 -1
  304. package/.next/static/chunks/app/api/providers/enable/route-129e1f8238bd66db.js +0 -1
  305. package/.next/static/chunks/app/api/sessions/[id]/archive/route-129e1f8238bd66db.js +0 -1
  306. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-129e1f8238bd66db.js +0 -1
  307. package/.next/static/chunks/app/api/sessions/[id]/context/route-129e1f8238bd66db.js +0 -1
  308. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/media/route-129e1f8238bd66db.js +0 -1
  309. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-129e1f8238bd66db.js +0 -1
  310. package/.next/static/chunks/app/api/sessions/[id]/export/route-129e1f8238bd66db.js +0 -1
  311. package/.next/static/chunks/app/api/sessions/[id]/route-129e1f8238bd66db.js +0 -1
  312. package/.next/static/chunks/app/api/sessions/[id]/state/route-129e1f8238bd66db.js +0 -1
  313. package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-129e1f8238bd66db.js +0 -1
  314. package/.next/static/chunks/app/api/sessions/[id]/subagents/route-129e1f8238bd66db.js +0 -1
  315. package/.next/static/chunks/app/api/sessions/archive/route-129e1f8238bd66db.js +0 -1
  316. package/.next/static/chunks/app/api/sessions/import/route-129e1f8238bd66db.js +0 -1
  317. package/.next/static/chunks/app/api/sessions/route-129e1f8238bd66db.js +0 -1
  318. package/.next/static/chunks/app/api/skills/check/route-129e1f8238bd66db.js +0 -1
  319. package/.next/static/chunks/app/api/skills/install/route-129e1f8238bd66db.js +0 -1
  320. package/.next/static/chunks/app/api/skills/route-129e1f8238bd66db.js +0 -1
  321. package/.next/static/chunks/app/api/skills/search/route-129e1f8238bd66db.js +0 -1
  322. package/.next/static/chunks/app/api/skills/update/route-129e1f8238bd66db.js +0 -1
  323. package/.next/static/chunks/app/api/usage/route-129e1f8238bd66db.js +0 -1
  324. package/.next/static/chunks/app/api/web-auth/session/route-129e1f8238bd66db.js +0 -1
  325. package/.next/static/chunks/app/api/worktrees/route-129e1f8238bd66db.js +0 -1
  326. package/.next/static/chunks/app/manifest.webmanifest/route-129e1f8238bd66db.js +0 -1
  327. package/.next/static/chunks/next/dist/client/components/builtin/app-error-129e1f8238bd66db.js +0 -1
  328. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-129e1f8238bd66db.js +0 -1
  329. package/.next/static/chunks/next/dist/client/components/builtin/not-found-129e1f8238bd66db.js +0 -1
  330. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-129e1f8238bd66db.js +0 -1
  331. package/.next/static/chunks/webpack-9c013878cb300763.js +0 -1
  332. package/.next/static/css/dd19cac539e3e218.css +0 -3
  333. package/.next/static/wMrrM4WHr4pqT7Bavv79j/_buildManifest.js +0 -1
  334. /package/.next/static/{wMrrM4WHr4pqT7Bavv79j → Na7qed083WBP3X-plluRO}/_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"}]])}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3944],{63944:(e,r,t)=>{t.r(r),t.d(r,{RelayPairPanel:()=>d});var a=t(95155),i=t(51128),l=t(12115),n=t(34906),s=t(4315),o=t(28594);function d({embedded:e=!1}){let{t:r}=(0,s.s9)(),[t,c]=(0,l.useState)(""),[y,h]=(0,l.useState)(),[x,u]=(0,l.useState)(null),[v,p]=(0,l.useState)([]),[g,f]=(0,l.useState)(null),[m,b]=(0,l.useState)(!1),[j,w]=(0,l.useState)(!1),S=(0,l.useMemo)(()=>x?function(e){let r=function(e){let r=e.trim();if(!r||r.length>2048)return null;try{let{data:e}=(0,o.lF)(r,{ecc:"M"});if(!Array.isArray(e)||e.length<21)return null;return e}catch{return null}}(e);if(!r)return null;let t=r.length,a=[];for(let e=0;e<t;e+=1){let i=r[e];if(!i||i.length!==t)return null;for(let r=0;r<t;r+=1)i[r]&&a.push(`M${r} ${e}h1v1h-1z`)}let i=a.join("");return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${t} ${t}" width="100%" height="100%" shape-rendering="crispEdges" role="img"><rect width="${t}" height="${t}" fill="#fff"/><path fill="#000" d="${i}"/></svg>`}(x.uri):null,[x]),P=(0,l.useCallback)(async()=>{try{let[e,r]=await Promise.all([fetch("/api/relay/pair"),fetch("/api/relay/devices")]);if(e.ok){let r=await e.json(),t=null!==r&&"object"==typeof r&&"relayUrl"in r&&"string"==typeof r.relayUrl?r.relayUrl:void 0;t&&c(e=>e||t),h(t)}if(r.ok){let e=await r.json();p(e.devices??[])}}catch{}},[]);async function k(){b(!0),f(null),w(!1);try{let e=await fetch("/api/relay/pair",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t.trim()?{url:t.trim()}:{})}),a=await e.json();if(!e.ok)return void f(a.error??r("relayPair.createFailed"));u(a),c(a.relayUrl),await P()}catch{f(r("relayPair.createFailed"))}finally{b(!1)}}async function z(){if(x)try{await navigator.clipboard.writeText(x.uri),w(!0)}catch{w(!1)}}async function C(e){f(null);try{if(!(await fetch(`/api/relay/devices/${encodeURIComponent(e)}`,{method:"DELETE"})).ok)return void f(r("relayPair.revokeFailed"));await P()}catch{f(r("relayPair.revokeFailed"))}}(0,l.useEffect)(()=>{P()},[P]);let $=(0,a.jsxs)(a.Fragment,{children:[e?null:(0,a.jsx)("div",{style:{width:40,height:40,display:"grid",placeItems:"center",borderRadius:"50%",background:"var(--user-bg)",color:"var(--accent)",marginBottom:20},children:(0,a.jsx)(i.A,{size:19,"aria-hidden":"true"})}),e?(0,a.jsx)("h3",{style:{margin:0,fontSize:"var(--text-base)",fontWeight:600,color:"var(--text)"},children:r("relayPair.title")}):(0,a.jsx)("h1",{className:"display-serif",style:{margin:0,fontSize:"calc(var(--text-xl) + var(--space-5) - var(--space-1))",color:"var(--text)"},children:r("relayPair.title")}),(0,a.jsx)("p",{style:{margin:e?"4px 0 16px":"10px 0 24px",color:"var(--text-muted)",fontSize:"var(--text-base)",lineHeight:1.5},children:r("relayPair.description")}),(0,a.jsx)("p",{style:{margin:"0 0 16px",color:"var(--text-dim)",fontSize:"var(--text-sm)",lineHeight:1.45},children:r("relayPair.steps")}),(0,a.jsxs)("div",{style:{display:"grid",gap:14},children:[(0,a.jsx)(n.D0,{label:r("relayPair.urlLabel"),hint:y&&!t?y:void 0,children:(0,a.jsx)(n.ks,{value:t,onChange:c,placeholder:"wss://machine.tailnet.ts.net/relay",autoComplete:"off",spellCheck:!1,mono:!0})}),(0,a.jsx)(n.$n,{type:"button",variant:"primary",busy:m,disabled:m,onClick:()=>void k(),children:m?r("relayPair.creating"):r("relayPair.create")}),g?(0,a.jsx)("p",{style:{margin:0,color:"var(--danger, #c44)",fontSize:"var(--text-sm)"},children:g}):null,x?(0,a.jsxs)("div",{style:{display:"grid",gap:8},children:[S?(0,a.jsxs)("div",{style:{display:"grid",justifyItems:"center",gap:8},children:[(0,a.jsx)("div",{role:"img","aria-label":r("relayPair.qrHint"),className:"relay-pair-qr",style:{width:212,height:212,boxSizing:"border-box",background:"#fff",color:"#000",padding:12,borderRadius:"var(--radius-control)",border:"1px solid var(--border)",isolation:"isolate"},dangerouslySetInnerHTML:{__html:S}}),(0,a.jsx)("p",{style:{margin:0,color:"var(--text-dim)",fontSize:"var(--text-sm)",textAlign:"center"},children:r("relayPair.qrHint")})]}):null,(0,a.jsx)("label",{style:{color:"var(--text-muted)",fontSize:"var(--text-sm)"},children:r("relayPair.linkLabel")}),(0,a.jsx)("textarea",{readOnly:!0,value:x.uri,rows:4,style:{width:"100%",resize:"vertical",fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)",padding:10,borderRadius:"var(--radius-control)",border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)"}}),(0,a.jsx)(n.$n,{type:"button",variant:"secondary",onClick:()=>void z(),children:j?r("relayPair.copied"):r("relayPair.copy")}),(0,a.jsx)("p",{style:{margin:0,color:"var(--text-dim)",fontSize:"var(--text-sm)"},children:r("relayPair.expires",{time:new Date(x.expiresAt).toLocaleTimeString()})})]}):null,(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{style:{margin:"16px 0 8px",fontSize:"var(--text-base)",color:"var(--text)"},children:r("relayPair.devicesTitle")}),0===v.length?(0,a.jsx)("p",{style:{margin:0,color:"var(--text-muted)",fontSize:"var(--text-sm)"},children:r("relayPair.noDevices")}):(0,a.jsx)("ul",{style:{listStyle:"none",margin:0,padding:0,display:"grid",gap:8},children:v.map(e=>(0,a.jsxs)("li",{style:{display:"flex",justifyContent:"space-between",gap:12,alignItems:"center"},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{color:"var(--text)",fontSize:"var(--text-sm)"},children:e.label||e.id}),(0,a.jsx)("div",{style:{color:"var(--text-dim)",fontSize:"var(--text-sm)",fontFamily:"var(--font-mono)"},children:e.id})]}),(0,a.jsx)(n.$n,{type:"button",variant:"secondary",onClick:()=>void C(e.id),children:r("relayPair.revoke")})]},e.id))})]})]})]});return e?(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:0,maxWidth:520},children:$}):(0,a.jsx)("main",{style:{flex:1,display:"grid",placeItems:"center",padding:20,background:"var(--bg)"},children:(0,a.jsx)("section",{style:{width:"min(100%, 520px)",padding:32,background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-modal)",boxShadow:"var(--shadow-modal)"},children:$})})}}}]);