ompgui 0.4.2 → 0.4.4

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 (431) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +7 -6
  3. package/.next/build-manifest.json +4 -4
  4. package/.next/next-server.js.nft.json +1 -1
  5. package/.next/prerender-manifest.json +6 -6
  6. package/.next/react-loadable-manifest.json +14 -8
  7. package/.next/required-server-files.js +8 -8
  8. package/.next/required-server-files.json +8 -8
  9. package/.next/routes-manifest.json +6 -0
  10. package/.next/server/app/_global-error/page.js +2 -2
  11. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  12. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/_global-error.html +1 -1
  14. package/.next/server/app/_global-error.rsc +3 -3
  15. package/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  16. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
  17. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/_not-found/page.js +1 -1
  19. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/_not-found.html +1 -1
  22. package/.next/server/app/_not-found.rsc +4 -8
  23. package/.next/server/app/_not-found.segments/_full.segment.rsc +4 -8
  24. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -5
  25. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -6
  26. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  27. package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  29. package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/agent/[id]/route.js +1 -1
  31. package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/agent/new/route.js +1 -1
  33. package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/agent/running/events/route.js +1 -1
  35. package/.next/server/app/api/agent/running/events/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/agents/[name]/route.js +1 -6
  37. package/.next/server/app/api/agents/[name]/route.js.nft.json +1 -1
  38. package/.next/server/app/api/agents/[name]/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/agents/route.js +1 -6
  40. package/.next/server/app/api/agents/route.js.nft.json +1 -1
  41. package/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/agents/unpack/route.js +1 -6
  43. package/.next/server/app/api/agents/unpack/route.js.nft.json +1 -1
  44. package/.next/server/app/api/agents/unpack/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/app-update/route.js +1 -1
  46. package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  48. package/.next/server/app/api/auth/all-providers/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  50. package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  52. package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  54. package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/auth/providers/route.js +1 -1
  56. package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/cwd/browse/route.js +1 -1
  58. package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/cwd/validate/route.js +1 -1
  60. package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/default-cwd/route.js +1 -1
  62. package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/file-index/route.js +1 -1
  64. package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/files/[...path]/route.js +2 -2
  66. package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/git/diff/route.js +2 -2
  68. package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/git/status/route.js +1 -1
  70. package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/home/route.js +1 -1
  72. package/.next/server/app/api/home/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/mcp/route.js +3 -3
  74. package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/model-roles/route.js +1 -1
  76. package/.next/server/app/api/model-roles/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/models/route.js +1 -1
  78. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  80. package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/models-config/route.js +1 -1
  82. package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/models-config/test/route.js +1 -1
  84. package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/omp-settings/route.js +1 -1
  86. package/.next/server/app/api/omp-settings/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/omp-update/route.js +2 -2
  88. package/.next/server/app/api/omp-update/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/omp-version/route.js +1 -1
  90. package/.next/server/app/api/omp-version/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/plugins/route.js +1 -1
  92. package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/projects/route.js +2 -2
  94. package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/providers/enable/route.js +1 -1
  96. package/.next/server/app/api/providers/enable/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  98. package/.next/server/app/api/sessions/[id]/archive/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  100. package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  102. package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  104. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  106. package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  108. package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  110. package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route.js +1 -1
  112. package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/sessions/[id]/subagents/route.js +1 -1
  114. package/.next/server/app/api/sessions/[id]/subagents/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/sessions/import/route.js +1 -1
  116. package/.next/server/app/api/sessions/import/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/sessions/route.js +1 -1
  118. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/skills/check/route.js +1 -1
  120. package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/skills/install/route.js +1 -1
  122. package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/skills/route.js +1 -1
  124. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/skills/search/route.js +1 -1
  126. package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/skills/update/route.js +1 -1
  128. package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/usage/route.js +1 -0
  130. package/.next/server/app/api/usage/route.js.nft.json +1 -0
  131. package/.next/server/app/api/usage/route_client-reference-manifest.js +1 -0
  132. package/.next/server/app/api/web-auth/session/route.js +1 -1
  133. package/.next/server/app/api/web-auth/session/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/route.js +1 -1
  135. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/favicon.ico/route.js +1 -1
  137. package/.next/server/app/index.html +1 -1
  138. package/.next/server/app/index.rsc +5 -9
  139. package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -6
  140. package/.next/server/app/index.segments/_full.segment.rsc +5 -9
  141. package/.next/server/app/index.segments/_tree.segment.rsc +2 -6
  142. package/.next/server/app/login/page.js +1 -1
  143. package/.next/server/app/login/page.js.nft.json +1 -1
  144. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  145. package/.next/server/app/login.html +1 -1
  146. package/.next/server/app/login.rsc +5 -9
  147. package/.next/server/app/login.segments/_full.segment.rsc +5 -9
  148. package/.next/server/app/login.segments/_tree.segment.rsc +2 -6
  149. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -6
  150. package/.next/server/app/page.js +6 -6
  151. package/.next/server/app/page.js.nft.json +1 -1
  152. package/.next/server/app/page_client-reference-manifest.js +1 -1
  153. package/.next/server/app-paths-manifest.json +7 -6
  154. package/.next/server/chunks/3100.js +6 -0
  155. package/.next/server/chunks/3425.js +4 -4
  156. package/.next/server/chunks/3798.js +1 -1
  157. package/.next/server/chunks/6465.js +1 -1
  158. package/.next/server/chunks/8501.js +1 -1
  159. package/.next/server/chunks/933.js +48 -0
  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 +4 -4
  163. package/.next/server/next-font-manifest.js +1 -1
  164. package/.next/server/next-font-manifest.json +1 -1
  165. package/.next/server/pages/404.html +1 -1
  166. package/.next/server/pages/500.html +1 -1
  167. package/.next/server/server-reference-manifest.json +1 -1
  168. package/.next/static/PSnsCZi7ZNveFAakaEIgk/_buildManifest.js +1 -0
  169. package/.next/static/chunks/2201.f49c9364bec5b109.js +1 -0
  170. package/.next/static/chunks/3274.08ed8ce5038ed170.js +1 -0
  171. package/.next/static/chunks/4315-5512005e1f15ba17.js +1 -0
  172. package/.next/static/chunks/4473.c9bdafcdd251e4db.js +1 -0
  173. package/.next/static/chunks/6604.226e5eae7c573e65.js +1 -0
  174. package/.next/static/chunks/9182.b35b0b7f89ee106d.js +1 -0
  175. package/.next/static/chunks/9668.1d1b3d7d4555fccf.js +1 -0
  176. package/.next/static/chunks/9981.7fbe43b8b0e281ef.js +1 -0
  177. package/.next/static/chunks/app/_global-error/page-b3b7f9faeba219c0.js +1 -0
  178. package/.next/static/chunks/app/_not-found/{page-29d942d61dc402df.js → page-4059e984ec3299da.js} +1 -1
  179. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-b3b7f9faeba219c0.js +1 -0
  180. package/.next/static/chunks/app/api/agent/[id]/events/route-b3b7f9faeba219c0.js +1 -0
  181. package/.next/static/chunks/app/api/agent/[id]/route-b3b7f9faeba219c0.js +1 -0
  182. package/.next/static/chunks/app/api/agent/new/route-b3b7f9faeba219c0.js +1 -0
  183. package/.next/static/chunks/app/api/agent/running/events/route-b3b7f9faeba219c0.js +1 -0
  184. package/.next/static/chunks/app/api/agents/[name]/route-b3b7f9faeba219c0.js +1 -0
  185. package/.next/static/chunks/app/api/agents/route-b3b7f9faeba219c0.js +1 -0
  186. package/.next/static/chunks/app/api/agents/unpack/route-b3b7f9faeba219c0.js +1 -0
  187. package/.next/static/chunks/app/api/app-update/route-b3b7f9faeba219c0.js +1 -0
  188. package/.next/static/chunks/app/api/auth/all-providers/route-b3b7f9faeba219c0.js +1 -0
  189. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-b3b7f9faeba219c0.js +1 -0
  190. package/.next/static/chunks/app/api/auth/login/[provider]/route-b3b7f9faeba219c0.js +1 -0
  191. package/.next/static/chunks/app/api/auth/logout/[provider]/route-b3b7f9faeba219c0.js +1 -0
  192. package/.next/static/chunks/app/api/auth/providers/route-b3b7f9faeba219c0.js +1 -0
  193. package/.next/static/chunks/app/api/cwd/browse/route-b3b7f9faeba219c0.js +1 -0
  194. package/.next/static/chunks/app/api/cwd/validate/route-b3b7f9faeba219c0.js +1 -0
  195. package/.next/static/chunks/app/api/default-cwd/route-b3b7f9faeba219c0.js +1 -0
  196. package/.next/static/chunks/app/api/file-index/route-b3b7f9faeba219c0.js +1 -0
  197. package/.next/static/chunks/app/api/files/[...path]/route-b3b7f9faeba219c0.js +1 -0
  198. package/.next/static/chunks/app/api/git/diff/route-b3b7f9faeba219c0.js +1 -0
  199. package/.next/static/chunks/app/api/git/status/route-b3b7f9faeba219c0.js +1 -0
  200. package/.next/static/chunks/app/api/home/route-b3b7f9faeba219c0.js +1 -0
  201. package/.next/static/chunks/app/api/mcp/route-b3b7f9faeba219c0.js +1 -0
  202. package/.next/static/chunks/app/api/model-roles/route-b3b7f9faeba219c0.js +1 -0
  203. package/.next/static/chunks/app/api/models/route-b3b7f9faeba219c0.js +1 -0
  204. package/.next/static/chunks/app/api/models-config/catalog/route-b3b7f9faeba219c0.js +1 -0
  205. package/.next/static/chunks/app/api/models-config/route-b3b7f9faeba219c0.js +1 -0
  206. package/.next/static/chunks/app/api/models-config/test/route-b3b7f9faeba219c0.js +1 -0
  207. package/.next/static/chunks/app/api/omp-settings/route-b3b7f9faeba219c0.js +1 -0
  208. package/.next/static/chunks/app/api/omp-update/route-b3b7f9faeba219c0.js +1 -0
  209. package/.next/static/chunks/app/api/omp-version/route-b3b7f9faeba219c0.js +1 -0
  210. package/.next/static/chunks/app/api/plugins/route-b3b7f9faeba219c0.js +1 -0
  211. package/.next/static/chunks/app/api/projects/route-b3b7f9faeba219c0.js +1 -0
  212. package/.next/static/chunks/app/api/providers/enable/route-b3b7f9faeba219c0.js +1 -0
  213. package/.next/static/chunks/app/api/sessions/[id]/archive/route-b3b7f9faeba219c0.js +1 -0
  214. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-b3b7f9faeba219c0.js +1 -0
  215. package/.next/static/chunks/app/api/sessions/[id]/context/route-b3b7f9faeba219c0.js +1 -0
  216. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-b3b7f9faeba219c0.js +1 -0
  217. package/.next/static/chunks/app/api/sessions/[id]/export/route-b3b7f9faeba219c0.js +1 -0
  218. package/.next/static/chunks/app/api/sessions/[id]/route-b3b7f9faeba219c0.js +1 -0
  219. package/.next/static/chunks/app/api/sessions/[id]/state/route-b3b7f9faeba219c0.js +1 -0
  220. package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-b3b7f9faeba219c0.js +1 -0
  221. package/.next/static/chunks/app/api/sessions/[id]/subagents/route-b3b7f9faeba219c0.js +1 -0
  222. package/.next/static/chunks/app/api/sessions/import/route-b3b7f9faeba219c0.js +1 -0
  223. package/.next/static/chunks/app/api/sessions/route-b3b7f9faeba219c0.js +1 -0
  224. package/.next/static/chunks/app/api/skills/check/route-b3b7f9faeba219c0.js +1 -0
  225. package/.next/static/chunks/app/api/skills/install/route-b3b7f9faeba219c0.js +1 -0
  226. package/.next/static/chunks/app/api/skills/route-b3b7f9faeba219c0.js +1 -0
  227. package/.next/static/chunks/app/api/skills/search/route-b3b7f9faeba219c0.js +1 -0
  228. package/.next/static/chunks/app/api/skills/update/route-b3b7f9faeba219c0.js +1 -0
  229. package/.next/static/chunks/app/api/usage/route-b3b7f9faeba219c0.js +1 -0
  230. package/.next/static/chunks/app/api/web-auth/session/route-b3b7f9faeba219c0.js +1 -0
  231. package/.next/static/chunks/app/api/worktrees/route-b3b7f9faeba219c0.js +1 -0
  232. package/.next/static/chunks/app/{error-b1ed788ca548b925.js → error-a88ca1da88a49a27.js} +1 -1
  233. package/.next/static/chunks/app/global-error-0e57c8c5d04fec63.js +48 -0
  234. package/.next/static/chunks/app/layout-32679237fb27c4d9.js +1 -0
  235. package/.next/static/chunks/app/login/page-9944fe0148c69be1.js +1 -0
  236. package/.next/static/chunks/app/page-7b35997afb91b81d.js +76 -0
  237. package/.next/static/chunks/{main-app-0f81281390bb2b72.js → main-app-f86cfa9ca4019151.js} +1 -1
  238. package/.next/static/chunks/next/dist/client/components/builtin/app-error-b3b7f9faeba219c0.js +1 -0
  239. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-b3b7f9faeba219c0.js +1 -0
  240. package/.next/static/chunks/next/dist/client/components/builtin/not-found-b3b7f9faeba219c0.js +1 -0
  241. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b3b7f9faeba219c0.js +1 -0
  242. package/.next/static/chunks/webpack-5a3a80b1c55422fb.js +1 -0
  243. package/.next/static/css/df5d4e1ac6600988.css +3 -0
  244. package/.next/static/media/PretendardVariable.ff840cfe.woff2 +0 -0
  245. package/bin/omp-web-security.test.mjs +6 -3
  246. package/bin/ompgui.js +1 -1
  247. package/bin/port-availability.js +0 -1
  248. package/bin/process-lifecycle.js +0 -2
  249. package/package.json +3 -2
  250. package/.next/server/chunks/4445.js +0 -1
  251. package/.next/static/VBxoKAa50kI5B1rMOpGl3/_buildManifest.js +0 -1
  252. package/.next/static/chunks/2201.9abd9168805e51f1.js +0 -1
  253. package/.next/static/chunks/3274.981684293bab3573.js +0 -1
  254. package/.next/static/chunks/4315-9e1f7675d0f49d8b.js +0 -1
  255. package/.next/static/chunks/4473.bb35c176b3f2bf32.js +0 -1
  256. package/.next/static/chunks/6522.07d01cfb1ad3768e.js +0 -1
  257. package/.next/static/chunks/7570.db2b11eaf9806157.js +0 -1
  258. package/.next/static/chunks/9981.64e2a4c3b53b3217.js +0 -1
  259. package/.next/static/chunks/app/_global-error/page-db1bed60c4bd0656.js +0 -1
  260. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-db1bed60c4bd0656.js +0 -1
  261. package/.next/static/chunks/app/api/agent/[id]/events/route-db1bed60c4bd0656.js +0 -1
  262. package/.next/static/chunks/app/api/agent/[id]/route-db1bed60c4bd0656.js +0 -1
  263. package/.next/static/chunks/app/api/agent/new/route-db1bed60c4bd0656.js +0 -1
  264. package/.next/static/chunks/app/api/agent/running/events/route-db1bed60c4bd0656.js +0 -1
  265. package/.next/static/chunks/app/api/agents/[name]/route-db1bed60c4bd0656.js +0 -1
  266. package/.next/static/chunks/app/api/agents/route-db1bed60c4bd0656.js +0 -1
  267. package/.next/static/chunks/app/api/agents/unpack/route-db1bed60c4bd0656.js +0 -1
  268. package/.next/static/chunks/app/api/app-update/route-db1bed60c4bd0656.js +0 -1
  269. package/.next/static/chunks/app/api/auth/all-providers/route-db1bed60c4bd0656.js +0 -1
  270. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-db1bed60c4bd0656.js +0 -1
  271. package/.next/static/chunks/app/api/auth/login/[provider]/route-db1bed60c4bd0656.js +0 -1
  272. package/.next/static/chunks/app/api/auth/logout/[provider]/route-db1bed60c4bd0656.js +0 -1
  273. package/.next/static/chunks/app/api/auth/providers/route-db1bed60c4bd0656.js +0 -1
  274. package/.next/static/chunks/app/api/cwd/browse/route-db1bed60c4bd0656.js +0 -1
  275. package/.next/static/chunks/app/api/cwd/validate/route-db1bed60c4bd0656.js +0 -1
  276. package/.next/static/chunks/app/api/default-cwd/route-db1bed60c4bd0656.js +0 -1
  277. package/.next/static/chunks/app/api/file-index/route-db1bed60c4bd0656.js +0 -1
  278. package/.next/static/chunks/app/api/files/[...path]/route-db1bed60c4bd0656.js +0 -1
  279. package/.next/static/chunks/app/api/git/diff/route-db1bed60c4bd0656.js +0 -1
  280. package/.next/static/chunks/app/api/git/status/route-db1bed60c4bd0656.js +0 -1
  281. package/.next/static/chunks/app/api/home/route-db1bed60c4bd0656.js +0 -1
  282. package/.next/static/chunks/app/api/mcp/route-db1bed60c4bd0656.js +0 -1
  283. package/.next/static/chunks/app/api/model-roles/route-db1bed60c4bd0656.js +0 -1
  284. package/.next/static/chunks/app/api/models/route-db1bed60c4bd0656.js +0 -1
  285. package/.next/static/chunks/app/api/models-config/catalog/route-db1bed60c4bd0656.js +0 -1
  286. package/.next/static/chunks/app/api/models-config/route-db1bed60c4bd0656.js +0 -1
  287. package/.next/static/chunks/app/api/models-config/test/route-db1bed60c4bd0656.js +0 -1
  288. package/.next/static/chunks/app/api/omp-settings/route-db1bed60c4bd0656.js +0 -1
  289. package/.next/static/chunks/app/api/omp-update/route-db1bed60c4bd0656.js +0 -1
  290. package/.next/static/chunks/app/api/omp-version/route-db1bed60c4bd0656.js +0 -1
  291. package/.next/static/chunks/app/api/plugins/route-db1bed60c4bd0656.js +0 -1
  292. package/.next/static/chunks/app/api/projects/route-db1bed60c4bd0656.js +0 -1
  293. package/.next/static/chunks/app/api/providers/enable/route-db1bed60c4bd0656.js +0 -1
  294. package/.next/static/chunks/app/api/sessions/[id]/archive/route-db1bed60c4bd0656.js +0 -1
  295. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-db1bed60c4bd0656.js +0 -1
  296. package/.next/static/chunks/app/api/sessions/[id]/context/route-db1bed60c4bd0656.js +0 -1
  297. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-db1bed60c4bd0656.js +0 -1
  298. package/.next/static/chunks/app/api/sessions/[id]/export/route-db1bed60c4bd0656.js +0 -1
  299. package/.next/static/chunks/app/api/sessions/[id]/route-db1bed60c4bd0656.js +0 -1
  300. package/.next/static/chunks/app/api/sessions/[id]/state/route-db1bed60c4bd0656.js +0 -1
  301. package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-db1bed60c4bd0656.js +0 -1
  302. package/.next/static/chunks/app/api/sessions/[id]/subagents/route-db1bed60c4bd0656.js +0 -1
  303. package/.next/static/chunks/app/api/sessions/import/route-db1bed60c4bd0656.js +0 -1
  304. package/.next/static/chunks/app/api/sessions/route-db1bed60c4bd0656.js +0 -1
  305. package/.next/static/chunks/app/api/skills/check/route-db1bed60c4bd0656.js +0 -1
  306. package/.next/static/chunks/app/api/skills/install/route-db1bed60c4bd0656.js +0 -1
  307. package/.next/static/chunks/app/api/skills/route-db1bed60c4bd0656.js +0 -1
  308. package/.next/static/chunks/app/api/skills/search/route-db1bed60c4bd0656.js +0 -1
  309. package/.next/static/chunks/app/api/skills/update/route-db1bed60c4bd0656.js +0 -1
  310. package/.next/static/chunks/app/api/web-auth/session/route-db1bed60c4bd0656.js +0 -1
  311. package/.next/static/chunks/app/api/worktrees/route-db1bed60c4bd0656.js +0 -1
  312. package/.next/static/chunks/app/global-error-d103ca6500636699.js +0 -1
  313. package/.next/static/chunks/app/layout-27cadb6f9894131c.js +0 -1
  314. package/.next/static/chunks/app/login/page-529e71a823982db0.js +0 -1
  315. package/.next/static/chunks/app/page-0d51c0ee4910e024.js +0 -76
  316. package/.next/static/chunks/next/dist/client/components/builtin/app-error-db1bed60c4bd0656.js +0 -1
  317. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-db1bed60c4bd0656.js +0 -1
  318. package/.next/static/chunks/next/dist/client/components/builtin/not-found-db1bed60c4bd0656.js +0 -1
  319. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-db1bed60c4bd0656.js +0 -1
  320. package/.next/static/chunks/webpack-d5d95f150515a23a.js +0 -1
  321. package/.next/static/css/14563335c571ff8f.css +0 -1
  322. package/.next/static/css/5fe2a8af79a7efdf.css +0 -1
  323. package/.next/static/css/921bec6c70de20d4.css +0 -1
  324. package/.next/static/media/01bdb1c2bb2f530a-s.woff2 +0 -0
  325. package/.next/static/media/060fd7a2ba6f57dc-s.woff2 +0 -0
  326. package/.next/static/media/06d755a5cd3e2b96-s.woff2 +0 -0
  327. package/.next/static/media/09341845bc7215c3-s.woff2 +0 -0
  328. package/.next/static/media/09d8b46d011a8a55-s.woff2 +0 -0
  329. package/.next/static/media/0ac3ab6b6a54cd96-s.woff2 +0 -0
  330. package/.next/static/media/0cb7a0edc360425e-s.woff2 +0 -0
  331. package/.next/static/media/0de82041d2acf4c3-s.woff2 +0 -0
  332. package/.next/static/media/1249fbbadbb69451-s.woff2 +0 -0
  333. package/.next/static/media/182682366c265526-s.woff2 +0 -0
  334. package/.next/static/media/246116fa49278f72-s.woff2 +0 -0
  335. package/.next/static/media/2ad4a039dd2c0f35-s.woff2 +0 -0
  336. package/.next/static/media/2cd94acf7f6a8cd1-s.woff2 +0 -0
  337. package/.next/static/media/30af2a5bc088caeb-s.woff2 +0 -0
  338. package/.next/static/media/3117748ae3be552d-s.woff2 +0 -0
  339. package/.next/static/media/373befd5a68230ff-s.woff2 +0 -0
  340. package/.next/static/media/37ae20ae1d329cc2-s.woff2 +0 -0
  341. package/.next/static/media/3832bef2caf4f297-s.woff2 +0 -0
  342. package/.next/static/media/3b6ebd4dd223d8c1-s.woff2 +0 -0
  343. package/.next/static/media/3d165c286d94e27c-s.woff2 +0 -0
  344. package/.next/static/media/3da25081fc21e3b2-s.woff2 +0 -0
  345. package/.next/static/media/3eb545844a1630b6-s.woff2 +0 -0
  346. package/.next/static/media/41870aeb5505be99-s.woff2 +0 -0
  347. package/.next/static/media/45c8f5377f81d417-s.woff2 +0 -0
  348. package/.next/static/media/48d86e2f8821c61e-s.woff2 +0 -0
  349. package/.next/static/media/4957022da3161c6e-s.woff2 +0 -0
  350. package/.next/static/media/4be71ddc6c749643-s.woff2 +0 -0
  351. package/.next/static/media/4dc4381bbf526d04-s.woff2 +0 -0
  352. package/.next/static/media/4eb0814ea9e22f45-s.woff2 +0 -0
  353. package/.next/static/media/4f86cf50532e0e9b-s.woff2 +0 -0
  354. package/.next/static/media/5022b11bb4a81e48-s.woff2 +0 -0
  355. package/.next/static/media/5080c55e2dccd63d-s.woff2 +0 -0
  356. package/.next/static/media/5348b1e69a651725-s.woff2 +0 -0
  357. package/.next/static/media/54c50561be23e605-s.woff2 +0 -0
  358. package/.next/static/media/567d6f765096ee76-s.woff2 +0 -0
  359. package/.next/static/media/58045d1f8695a418-s.woff2 +0 -0
  360. package/.next/static/media/591e43f23f51e5a5-s.woff2 +0 -0
  361. package/.next/static/media/5a274ddc03d9a5ab-s.woff2 +0 -0
  362. package/.next/static/media/5feee92221bb8605-s.woff2 +0 -0
  363. package/.next/static/media/6067d3f78ecc4535-s.woff2 +0 -0
  364. package/.next/static/media/61a11ca45429493a-s.woff2 +0 -0
  365. package/.next/static/media/63d030730737efae-s.woff2 +0 -0
  366. package/.next/static/media/6bd056ddce336924-s.woff2 +0 -0
  367. package/.next/static/media/6dc0bae4a5666821-s.woff2 +0 -0
  368. package/.next/static/media/7513cc52807669ca-s.woff2 +0 -0
  369. package/.next/static/media/75ae81fea4aec8c5-s.woff2 +0 -0
  370. package/.next/static/media/77f6534b6a3eb37a-s.woff2 +0 -0
  371. package/.next/static/media/782d4006a26041e7-s.woff2 +0 -0
  372. package/.next/static/media/7c21074d9bafed1b-s.woff2 +0 -0
  373. package/.next/static/media/7d509f4f988023eb-s.woff2 +0 -0
  374. package/.next/static/media/7d58f39a50828c68-s.woff2 +0 -0
  375. package/.next/static/media/7db71cc013812f1c-s.woff2 +0 -0
  376. package/.next/static/media/7eb3f914ae6dd7a0-s.woff2 +0 -0
  377. package/.next/static/media/8051eb8307aa13c8-s.woff2 +0 -0
  378. package/.next/static/media/829dca987e1e010e-s.woff2 +0 -0
  379. package/.next/static/media/842f675c7a332a48-s.woff2 +0 -0
  380. package/.next/static/media/866e2e7b0cbc2cb4-s.woff2 +0 -0
  381. package/.next/static/media/86b38dc7f713ddda-s.woff2 +0 -0
  382. package/.next/static/media/8a3a66ae6bb27151-s.woff2 +0 -0
  383. package/.next/static/media/8b56b70f6d577d9f-s.woff2 +0 -0
  384. package/.next/static/media/8d93dbb77672da11-s.woff2 +0 -0
  385. package/.next/static/media/8f5c2d0a25b8f50c-s.woff2 +0 -0
  386. package/.next/static/media/916860560b9a2bc2-s.woff2 +0 -0
  387. package/.next/static/media/966e6d14b6c229fc-s.woff2 +0 -0
  388. package/.next/static/media/97ac91773d3121b2-s.p.woff2 +0 -0
  389. package/.next/static/media/9877fefe733dd250-s.woff2 +0 -0
  390. package/.next/static/media/9c57f4420502d43a-s.woff2 +0 -0
  391. package/.next/static/media/9cedd2ad7b0bcf3d-s.woff2 +0 -0
  392. package/.next/static/media/a00fb5ef1ca68e5d-s.woff2 +0 -0
  393. package/.next/static/media/a171b1d72388367c-s.woff2 +0 -0
  394. package/.next/static/media/a310fb84e6868735-s.woff2 +0 -0
  395. package/.next/static/media/a53504b22c396db6-s.woff2 +0 -0
  396. package/.next/static/media/aabb87babcdda375-s.woff2 +0 -0
  397. package/.next/static/media/afe75c8050c8fd4e-s.woff2 +0 -0
  398. package/.next/static/media/b201193f76404e13-s.woff2 +0 -0
  399. package/.next/static/media/b20daecae68a588f-s.p.woff2 +0 -0
  400. package/.next/static/media/b2574bc564dca98d-s.woff2 +0 -0
  401. package/.next/static/media/b6a1339c290590d0-s.woff2 +0 -0
  402. package/.next/static/media/b6fe4b2295863fe4-s.woff2 +0 -0
  403. package/.next/static/media/bb8ff9c700288292-s.woff2 +0 -0
  404. package/.next/static/media/bc1ccfae4ae17995-s.woff2 +0 -0
  405. package/.next/static/media/be15c189f996aeb2-s.woff2 +0 -0
  406. package/.next/static/media/c0d1f6928a1dbc31-s.woff2 +0 -0
  407. package/.next/static/media/c36d8bb68a53eb60-s.woff2 +0 -0
  408. package/.next/static/media/c5db947ee2561e06-s.woff2 +0 -0
  409. package/.next/static/media/c77ac7f613b44045-s.woff2 +0 -0
  410. package/.next/static/media/ca73d0c74010e612-s.woff2 +0 -0
  411. package/.next/static/media/cfbad6ceeeca5c58-s.woff2 +0 -0
  412. package/.next/static/media/d24aebb82f01e48d-s.woff2 +0 -0
  413. package/.next/static/media/d2c6107607eb7d44-s.woff2 +0 -0
  414. package/.next/static/media/d2c7d5e8db7ce20a-s.woff2 +0 -0
  415. package/.next/static/media/d51f7558abc55aa6-s.woff2 +0 -0
  416. package/.next/static/media/da718921282f76d0-s.woff2 +0 -0
  417. package/.next/static/media/dae37106d788c7c9-s.woff2 +0 -0
  418. package/.next/static/media/e0d4cd45847004a4-s.woff2 +0 -0
  419. package/.next/static/media/e100c7a7874aebd9-s.woff2 +0 -0
  420. package/.next/static/media/e26dff18031f4a7e-s.woff2 +0 -0
  421. package/.next/static/media/e54d16b9f2c4535b-s.woff2 +0 -0
  422. package/.next/static/media/e5b759c1d5c42d99-s.woff2 +0 -0
  423. package/.next/static/media/ea21a07081db26d0-s.woff2 +0 -0
  424. package/.next/static/media/eaee7682c49bd1c2-s.woff2 +0 -0
  425. package/.next/static/media/ec408158b9e08aea-s.woff2 +0 -0
  426. package/.next/static/media/ee5d9aad76ea4c0a-s.woff2 +0 -0
  427. package/.next/static/media/efdbc7cff3271ee9-s.woff2 +0 -0
  428. package/.next/static/media/f128be4e72405705-s.woff2 +0 -0
  429. package/.next/static/media/fb6cfff6119f26e8-s.woff2 +0 -0
  430. package/.next/static/media/fd516adbc3328c82-s.woff2 +0 -0
  431. /package/.next/static/{VBxoKAa50kI5B1rMOpGl3 → PSnsCZi7ZNveFAakaEIgk}/_ssgManifest.js +0 -0
@@ -2,4 +2,4 @@
2
2
  RPC protocol error: ${a instanceof Error?a.message:String(a)}`).slice(-8192),this.dispose(0);return}if("ready"===d.type)return void b(d);if("response"===d.type)return void this.handleResponse(d);for(let a of this.frameListeners)try{a(d)}catch{}}}),this.child.stderr.on("data",a=>{this.stderrTail=(this.stderrTail+a.toString("utf8")).slice(-8192)});const l=(b,d)=>{if(this.exited)return;this.exited=!0,this.exitInfo={code:b,signal:d};let e=Error(`omp exited (code ${b??"null"}, signal ${d??"none"})${this.stderrTail?`: ${this.stderrTail.slice(-500)}`:""}`);for(let[,a]of(c(e),this.pending))a.timer&&clearTimeout(a.timer),a.reject(e);this.pending.clear(),a.onExit?.({code:b,signal:d,stderrTail:this.stderrTail})};this.child.on("exit",l),this.child.on("error",a=>{this.stderrTail=(this.stderrTail+`
3
3
  spawn error: ${a.message}`).slice(-8192),l(null,null)})}get isAlive(){return!this.exited}get exitDetails(){return this.exitInfo?{...this.exitInfo,stderrTail:this.stderrTail}:null}waitReady(a=6e4){let b=new Promise((b,c)=>{let d=setTimeout(()=>c(Error(`omp RPC ready timeout after ${a}ms`)),a);d.unref?.(),this.readyPromise.finally(()=>clearTimeout(d)).catch(()=>{})});return Promise.race([this.readyPromise,b])}async negotiateProtocol(a){if(!(Array.isArray(a.supportedProtocolVersions)?a.supportedProtocolVersions:[]).includes(2))return this.protocolVersion;let b=await this.sendCommand({type:"negotiate_protocol",protocolVersion:2});if(b?.protocolVersion!==2)throw Error("OMP rejected RPC protocol v2 negotiation");return this.protocolVersion=2,this.protocolVersion}onFrame(a){return this.frameListeners.add(a),()=>this.frameListeners.delete(a)}sendCommand(a,b){if(this.exited)return Promise.reject(Error("omp RPC process has exited"));let c=`w${this.nextId++}`;return new Promise((d,e)=>{let f={command:a.type,resolve:d,reject:e};b&&b>0&&(f.timer=setTimeout(()=>{this.pending.get(c)===f&&(this.pending.delete(c),e(Error(`RPC command ${a.type} timed out after ${b}ms`)))},b),f.timer.unref?.()),this.pending.set(c,f),this.writeFrame({...a,id:c},a=>{if(a){let b=this.pending.get(c);b&&(this.pending.delete(c),b.timer&&clearTimeout(b.timer),e(a))}})})}sendFrame(a){this.exited||this.writeFrame(a,()=>{})}writeFrame(a,b){let c;try{c=function(a,b,c){let d=JSON.stringify(a);if(1048576>=i(d))return[`${d}
4
4
  `];if(1===b)throw Error("RPC frame exceeds the v1 transport limit");let e=Buffer.from(d,"utf8");if(e.byteLength>0x4000000)throw Error("RPC frame exceeds the v2 reassembly limit");let f=Math.ceil(e.byteLength/262144),g=[];for(let a=0;a<f;a++){let b=JSON.stringify({type:"rpc_chunk",chunkId:c,index:a,count:f,byteLength:e.byteLength,data:e.subarray(262144*a,(a+1)*262144).toString("base64")});if(i(b)>1048576)throw Error("RPC chunk exceeds the transport limit");g.push(`${b}
5
- `)}return g}(a,this.protocolVersion,`web-${this.nextChunkId++}`)}catch(a){b(a instanceof Error?a:Error(String(a)));return}this.writeQueue=this.writeQueue.then(()=>new Promise(a=>{if(this.exited||this.child.stdin.destroyed){b(Error("RPC process is not running")),a();return}let d=0,e=f=>{if(f||d===c.length){b(f??null),a();return}this.child.stdin.write(c[d++],e)};e()}))}handleResponse(a){let b=a.id,c=b?this.pending.get(b):void 0;if(!c||!b){for(let b of this.frameListeners)try{b(a)}catch{}return}this.pending.delete(b),c.timer&&clearTimeout(c.timer),a.success?c.resolve(a.data):c.reject(new k(a.command,a.error??"RPC command failed",a.code))}async dispose(a=5e3){if(this.exited)return;let b=new Promise(a=>{if(this.exited)return a();this.child.once("exit",()=>a())});try{this.child.stdin.end()}catch{}let c=(a,b)=>{let c=this.child.pid;if(c){if("win32"===process.platform){let d=["/pid",String(c),"/t",...a?["/f"]:[]];this.spawnProcess("taskkill",d,{windowsHide:!0,stdio:"ignore"}).once("error",()=>{try{this.child.kill(b)}catch{}});return}try{process.kill(-c,b)}catch{try{this.child.kill(b)}catch{}}}},d=setTimeout(()=>{this.exited||c(!1,"SIGTERM")},a),e=setTimeout(()=>{this.exited||c(!0,"SIGKILL")},2*a);d.unref?.(),e.unref?.(),await b,clearTimeout(d),clearTimeout(e)}}},79588:(a,b,c)=>{c.d(b,{F1:()=>n,wS:()=>m});var d=c(79646),e=c(29021),f=c(21820),g=c(33873);let h=null,i=0,j=null,k=0,l="win32"===process.platform?"omp.exe":"omp";function m(){if(h)return h;if(Date.now()-i<3e4)return null;let a=function(){let a=process.env.OMPGUI_OMP_BIN??process.env.OMP_WEB_OMP_BIN;if(a)return(0,e.existsSync)(a)?a:null;for(let a of(process.env.PATH??"").split(g.delimiter)){if(!a)continue;let b=(0,g.join)(a,l);if((0,e.existsSync)(b))return b}for(let a of["/opt/homebrew/bin","/usr/local/bin",(0,g.join)((0,f.homedir)(),".bun","bin"),(0,g.join)((0,f.homedir)(),".local","bin")]){let b=(0,g.join)(a,l);if((0,e.existsSync)(b))return b}return null}();return a?(h=a,i=0,a):(i=Date.now(),null)}async function n(){if(j)return j;if(Date.now()-k<3e4)return null;let a=m();if(!a)return k=Date.now(),null;try{let b=(await new Promise((b,c)=>{(0,d.execFile)(a,["--version"],{timeout:1e4,windowsHide:!0},(a,d)=>{a?c(a):b(d)})})).trim();if(b)return j=b,k=0,b}catch{}return k=Date.now(),null}}};
5
+ `)}return g}(a,this.protocolVersion,`web-${this.nextChunkId++}`)}catch(a){b(a instanceof Error?a:Error(String(a)));return}this.writeQueue=this.writeQueue.then(()=>new Promise(a=>{if(this.exited||this.child.stdin.destroyed){b(Error("RPC process is not running")),a();return}let d=0,e=f=>{if(f||d===c.length){b(f??null),a();return}this.child.stdin.write(c[d++],e)};e()}))}handleResponse(a){let b=a.id,c=b?this.pending.get(b):void 0;if(!c||!b){for(let b of this.frameListeners)try{b(a)}catch{}return}this.pending.delete(b),c.timer&&clearTimeout(c.timer),a.success?c.resolve(a.data):c.reject(new k(a.command,a.error??"RPC command failed",a.code))}async dispose(a=5e3){if(this.exited)return;let b=new Promise(a=>{if(this.exited)return a();this.child.once("exit",()=>a())});try{this.child.stdin.end()}catch{}let c=(a,b)=>{let c=this.child.pid;if(c){if("win32"===process.platform){let d=["/pid",String(c),"/t",...a?["/f"]:[]];this.spawnProcess("taskkill",d,{windowsHide:!0,stdio:"ignore"}).once("error",()=>{try{this.child.kill(b)}catch{}});return}try{process.kill(-c,b)}catch{try{this.child.kill(b)}catch{}}}},d=setTimeout(()=>{this.exited||c(!1,"SIGTERM")},a),e=setTimeout(()=>{this.exited||c(!0,"SIGKILL")},2*a);d.unref?.(),e.unref?.(),await b,clearTimeout(d),clearTimeout(e)}}},79588:(a,b,c)=>{c.d(b,{F1:()=>o,eG:()=>p,nH:()=>q,wS:()=>n});var d=c(79646),e=c(29021),f=c(21820),g=c(33873);let h=null,i=0,j=null,k=0,l="win32"===process.platform?"omp.exe":"omp",m=/\x1B\[[0-9;]*m/g;function n(){if(h)return h;if(Date.now()-i<3e4)return null;let a=function(){let a=process.env.OMPGUI_OMP_BIN??process.env.OMP_WEB_OMP_BIN;if(a)return(0,e.existsSync)(a)?a:null;for(let a of(process.env.PATH??"").split(g.delimiter)){if(!a)continue;let b=(0,g.join)(a,l);if((0,e.existsSync)(b))return b}for(let a of["/opt/homebrew/bin","/usr/local/bin",(0,g.join)((0,f.homedir)(),".bun","bin"),(0,g.join)((0,f.homedir)(),".local","bin")]){let b=(0,g.join)(a,l);if((0,e.existsSync)(b))return b}return null}();return a?(h=a,i=0,a):(i=Date.now(),null)}async function o(){if(j)return j;if(Date.now()-k<3e4)return null;let a=n();if(!a)return k=Date.now(),null;try{let b=(await new Promise((b,c)=>{(0,d.execFile)(a,["--version"],{timeout:1e4,windowsHide:!0},(a,d)=>{a?c(a):b(d)})})).trim();if(b)return j=b,k=0,b}catch{}return k=Date.now(),null}function p(a,b={}){let c=n();if(!c)return Promise.reject(Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN."));let{promise:e,resolve:f,reject:g}=Promise.withResolvers();return(0,d.execFile)(c,a,{cwd:b.cwd,timeout:b.timeout??6e4,maxBuffer:b.maxBuffer??0x1000000,env:{...process.env,FORCE_COLOR:"0",NO_COLOR:"1"},windowsHide:!0},(b,c,d)=>{b?g(Error((d||c||b.message).replace(m,"").trim().slice(-600)||`omp ${a.join(" ")} failed`)):f({stdout:c,stderr:d})}),e}function q(a){let b=a.replace(m,""),c=b.search(/[{[]/);if(c<0)return null;try{return JSON.parse(b.slice(c))}catch{return null}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=6465,exports.ids=[6465],exports.modules={28967:(a,b,c)=>{function d(){return globalThis.__piModelsCacheState||(globalThis.__piModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__piModelsCacheState}function e(){let a=d();a.generation+=1,a.entries.clear(),a.inFlight.clear()}function f(a,b){return b?{...a,modelError:b}:a}function g(a){return{...a,modelError:"Model list is temporarily unavailable. Check your configuration and try again."}}function h(a,b){var c,e,f;let g,h,i=d(),j=i.entries.get(a);if(j&&j.expiresAt>Date.now())return Promise.resolve(j.data);let k=i.inFlight.get(a)??(c=i,e=a,f=b,g=c.generation,h=Promise.resolve().then(f).then(a=>{if(c.generation===g&&c.inFlight.get(e)===h){for(c.entries.delete(e);c.entries.size>=32;){let a=c.entries.keys().next().value;if(void 0===a)break;c.entries.delete(a)}c.entries.set(e,{data:a,expiresAt:Date.now()+6e4})}return a}).finally(()=>{c.inFlight.get(e)===h&&c.inFlight.delete(e)}),c.inFlight.set(e,h),h);return j?(k.catch(()=>{}),Promise.resolve(j.data)):k}c.d(b,{Fw:()=>g,Mx:()=>f,kn:()=>e,rC:()=>h})},86465:(a,b,c)=>{c.d(b,{OZ:()=>k,A4:()=>x,HG:()=>y,yo:()=>t,Te:()=>z,OF:()=>E,Fn:()=>B});var d=c(29021),e=c(21820),f=c(28967),g=c(13798),h=c(88501),i=c(78573);let j="This session is restarting — retry in a moment.";class k extends Error{constructor(a,b){super(a),this.name="WebRpcError",this.code=b}}let l=new Set(["select","confirm","input","editor","open_url"]),m=new Set(["abort","abort_and_prompt","set_thinking_level","cycle_thinking_level","cycle_model","get_available_models","set_auto_compaction","set_auto_retry","abort_retry","abort_bash","set_todos","set_steering_mode","set_follow_up_mode","set_interrupt_mode","get_branch_messages","get_messages","get_messages_page","export_html","handoff","get_subagents","get_subagent_messages","set_subagent_subscription","get_login_providers","login"]),n={navigate_tree:"Branch navigation is not supported over the omp RPC protocol",clear_queue:"Recalling queued messages is not supported over the omp RPC protocol",get_tools:"Per-session tool listing is not supported over the omp RPC protocol",set_tools:"Changing tools on a running session is not supported over the omp RPC protocol; tool presets apply to new sessions",extension_ui_input:"Extension custom UI is not supported over the omp RPC protocol"},o={find:"glob",search:"grep"},p=new Set(["ls"]),q=["bash","read","edit","write","grep","find","ls"].map(a=>a.toLowerCase()).sort().join(",");function r(a,b,c=!1){let d=[];if(a)d.push("--resume",a);else if(void 0!==b){let a=b.map(a=>a.toLowerCase()).sort().join(",");if(0===b.length)d.push("--no-tools");else if(a===q);else{let a=function(a){let b=[];for(let c of a){let a=c.toLowerCase();if(p.has(a))continue;let d=o[a]??a;b.includes(d)||b.push(d)}return b}(b);a.length>0&&d.push("--tools",a.join(","))}}return c&&!a&&d.push("--advisor"),d}function s(a){return a?.length?a:void 0}function t(a){if(a&&(0,d.existsSync)(a))return a;try{let a=process.cwd();if(a&&(0,d.existsSync)(a))return a}catch{}return(0,e.homedir)()}function u(a){a&&"object"==typeof a&&void 0===a.estimatedTokensAfter&&(a.estimatedTokensAfter=Math.round((a.summary?.length??0)/4))}class v{constructor(a,b){this.listeners=[],this.pendingUiRequests=new Map,this.uiExpiryTimers=new Map,this.extensionStatuses=new Map,this.extensionWidgets=new Map,this.promptRunning=!1,this.bashRunning=!1,this.streaming=!1,this.compacting=!1,this.fastModeEnabled=!1,this.idleTimer=null,this.onDestroyCallback=null,this.onIdentityChangeCallback=null,this.unsubscribeFrames=null,this.initPromise=null,this.restarting=!1,this.mcpListWaiter=null,this._alive=!0,this.hostToolNames=new Set,this.pendingHostTools=new Map,this.hostUriSchemes=new Map,this.pendingHostUris=new Map,this.destroyPromise=null,this._sessionId="",this._sessionFile="",this.sessionFileSignalTimer=null,this.proc=a,this.cwd=b}get sessionId(){return this._sessionId}get sessionFile(){return this._sessionFile}isAlive(){return this._alive&&this.proc.isAlive}isRunning(){return this.isAlive()&&(this.promptRunning||this.streaming||this.compacting||this.bashRunning)}start(){this.unsubscribeFrames=this.proc.onFrame(a=>this.handleFrame(a)),this.resetIdleTimer(),D()}waitUntilReady(){return this.initPromise||(this.initPromise=this.initialize()),this.initPromise}async initialize(){let a=await this.proc.waitReady(12e4);await this.proc.negotiateProtocol(a),await this.proc.sendCommand({type:"set_subagent_subscription",level:"events"}).catch(()=>{});let b=await this.proc.sendCommand({type:"get_state"});this.applyIdentity(b)}applyIdentity(a){this._sessionId=a.sessionId,this._sessionFile=a.sessionFile??"",this._sessionName=a.sessionName,this.streaming=a.isStreaming,this.compacting=a.isCompacting,this.fastModeEnabled=a.fastModeEnabled??a.fastMode??this.fastModeEnabled,this._sessionFile&&(0,i.O8)(this._sessionId,this._sessionFile)}handleProcessExit(a){if(!this._alive||this.restarting)return;let b=a.trim().split("\n").pop()??"";this.emit({type:"notice",level:"error",message:`The omp process for this session exited unexpectedly${b?`: ${b}`:"."}`}),(this.streaming||this.promptRunning)&&this.emit({type:"agent_end",isTerminal:!0,messages:[]}),this.destroy()}handleFrame(a){this.resetIdleTimer();let b=!1;switch(a.type){case"command_output":{let b=this.mcpListWaiter;if(b&&"string"==typeof a.text){clearTimeout(b.timer),this.mcpListWaiter=null,b.resolve(a.text),D();return}break}case"agent_start":this.streaming=!0,(0,i.mD)(),b=!0,this._sessionFile&&!(0,d.existsSync)(this._sessionFile)&&this.signalWhenSessionFileAppears();break;case"agent_end":!1!==a.isTerminal&&(this.streaming=!1,this.promptRunning=!1,(0,i.mD)());break;case"prompt_result":this.promptRunning=!1;break;case"auto_compaction_start":this.compacting=!0;break;case"auto_compaction_end":this.compacting=!1,u(a.result),(0,i.mD)();break;case"session_info_update":"string"==typeof a.title&&(this._sessionName=a.title),(0,i.mD)(),b=!0;break;case"response":if(!1===a.success&&"prompt"===a.command){this.promptRunning=!1,this.emit({type:"prompt_error",errorMessage:a.error??"Prompt failed"}),D();return}break;case"extension_ui_request":if(this.trackExtensionUiRequest(a))return void D();break;case"host_tool_call":{let b="string"==typeof a.id?a.id:"",c="string"==typeof a.toolName?a.toolName:"";if(b&&c&&this.hostToolNames.has(c)&&this.listeners.length>0){this.pendingHostTools.set(b,a),this.emit(a),D();return}this.rejectUnexpectedHostTool(a);return}case"host_tool_cancel":{let b="string"==typeof a.targetId?a.targetId:"";if(b&&this.pendingHostTools.delete(b)){this.emit(a),D();return}break}case"host_uri_request":{let b="string"==typeof a.id?a.id:"",c=("string"==typeof a.url?a.url:"").split(":")[0]??"",d="write"===a.operation?"write":"read",e=this.hostUriSchemes.get(c);if(b&&c&&e&&("write"!==d||e.writable)&&this.listeners.length>0){this.pendingHostUris.set(b,a),this.emit(a),D();return}this.proc.sendFrame({type:"host_uri_result",id:b,isError:!0,error:`URI scheme "${c}" is not registered by omp-web`});return}case"host_uri_cancel":{let b="string"==typeof a.targetId?a.targetId:"";if(b&&this.pendingHostUris.delete(b)){this.emit(a),D();return}}}this.emit(a),D({refreshSessionList:b})}forgetPendingUiRequest(a){this.pendingUiRequests.delete(a);let b=this.uiExpiryTimers.get(a);b&&(clearTimeout(b),this.uiExpiryTimers.delete(a))}clearPendingUiRequests(){for(let a of this.uiExpiryTimers.values())clearTimeout(a);this.uiExpiryTimers.clear(),this.pendingUiRequests.clear()}trackExtensionUiRequest(a){let b=a.method,c=a.id;if("cancel"===b)return this.forgetPendingUiRequest(a.targetId),!1;let d=!1;try{d=(0,h.r)().settings.tools?.approval?.extension==="allow"}catch{}if("confirm"===b&&"string"==typeof a.title&&/^allow tool\s*:/i.test(a.title)&&d)return this.forgetPendingUiRequest(c),this.proc.sendFrame({type:"extension_ui_response",id:c,confirmed:!0}),!0;if(l.has(b)){this.forgetPendingUiRequest(c);let b="number"==typeof a.timeout?a.timeout:void 0;if(b&&b>0){a.expiresAt=Date.now()+b;let d=setTimeout(()=>this.forgetPendingUiRequest(c),b);d.unref?.(),this.uiExpiryTimers.set(c,d)}return this.pendingUiRequests.set(c,a),!1}if("setStatus"===b){let b=a.statusKey,c=a.statusText;return void 0===c?this.extensionStatuses.delete(b):this.extensionStatuses.set(b,c),!1}if("setWidget"===b){let b=a.widgetKey,c=a.widgetLines;void 0===c?this.extensionWidgets.delete(b):this.extensionWidgets.set(b,{key:b,lines:c,placement:a.widgetPlacement??"aboveEditor"})}return!1}rejectUnexpectedHostTool(a){let b="string"==typeof a.id?a.id:"";if(!b)return;let c="string"==typeof a.toolName?a.toolName:"unknown";this.proc.sendFrame({type:"host_tool_result",id:b,isError:!0,result:{content:[{type:"text",text:`Host tool "${c}" is not available in ompgui. Use OMP's built-in tools within the selected workspace.`}]}}),this.emit({type:"notice",level:"warning",message:`Rejected unavailable host tool: ${c}`})}rejectPendingHostTools(a){for(let b of this.pendingHostTools.keys())this.proc.sendFrame({type:"host_tool_result",id:b,isError:!0,result:{content:[{type:"text",text:a}]}});this.pendingHostTools.clear()}rejectPendingHostUris(a){for(let b of this.pendingHostUris.keys())this.proc.sendFrame({type:"host_uri_result",id:b,isError:!0,error:a});this.pendingHostUris.clear()}emit(a){for(let b of this.listeners)try{b(a)}catch{}}signalWhenSessionFileAppears(){if(this.sessionFileSignalTimer)return;let a=0,b=()=>{if(this.sessionFileSignalTimer=null,this._alive&&this._sessionFile){if(!(0,d.existsSync)(this._sessionFile)){(a+=1)<40&&(this.sessionFileSignalTimer=setTimeout(b,250));return}(0,i.mD)(),D({refreshSessionList:!0})}};this.sessionFileSignalTimer=setTimeout(b,250)}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isRunning()?this.resetIdleTimer():this.destroy()},6e5)}onEvent(a){this.listeners.push(a);let b=Date.now();for(let[c,d]of this.pendingUiRequests){let e=d.expiresAt;if(void 0!==e&&e<=b){this.forgetPendingUiRequest(c);continue}a(d)}return()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1),0===this.listeners.length&&(this.rejectPendingHostTools("The web UI disconnected while the agent was waiting for this host tool"),this.rejectPendingHostUris("The web UI disconnected while the agent was waiting for this URI request"))}}onDestroy(a){this.onDestroyCallback=a}onIdentityChange(a){this.onIdentityChangeCallback=a}async withFinalRunningNotification(a){try{return await a()}finally{D()}}async getMcpList(){let a,b;if(this.restarting)throw new k(j,"session_restarting");if(!this.isAlive())throw Error("Session is no longer running");if(this.isRunning())throw new k("Wait for the current run to finish","session_busy");if(this.mcpListWaiter)throw new k("MCP list is already loading","mcp_list_loading");this.promptRunning=!0,D();let c=new Promise((c,d)=>{a=c,b=d}),d={resolve:a,reject:b,timer:void 0};d.timer=setTimeout(()=>{this.mcpListWaiter===d&&(this.mcpListWaiter=null,b(new k("Timed out while loading MCP servers","mcp_list_timeout")))},15e3),d.timer.unref?.(),this.mcpListWaiter=d;try{return await this.proc.sendCommand({type:"prompt",message:"/mcp list"}),await c}catch(a){throw this.mcpListWaiter===d&&(clearTimeout(d.timer),this.mcpListWaiter=null,d.reject(a instanceof Error?a:Error(String(a)))),a}finally{this.mcpListWaiter===d&&(clearTimeout(d.timer),this.mcpListWaiter=null),this.promptRunning=!1,D()}}buildWebState(a){return this.streaming=a.isStreaming,this.compacting=a.isCompacting,this._sessionName=a.sessionName,a.sessionId&&(this._sessionId=a.sessionId,this._sessionFile=a.sessionFile??this._sessionFile),{sessionId:a.sessionId,sessionFile:a.sessionFile??"",sessionName:a.sessionName,isStreaming:a.isStreaming,isPromptRunning:this.promptRunning,isBashRunning:this.bashRunning,isCompacting:a.isCompacting,autoCompactionEnabled:a.autoCompactionEnabled,autoRetryEnabled:a.autoRetryEnabled,interruptMode:a.interruptMode,steeringMode:a.steeringMode,followUpMode:a.followUpMode,model:a.model?{id:a.model.id,provider:a.model.provider,name:a.model.name,reasoning:a.model.reasoning,thinking:a.model.thinking?{efforts:a.model.thinking.efforts}:void 0}:void 0,messageCount:a.messageCount,queuedMessageCount:a.queuedMessageCount,contextUsage:a.contextUsage??null,systemPrompt:a.systemPrompt?.join("\n\n")??"",thinkingLevel:a.thinkingLevel??"off",fastModeEnabled:a.fastModeEnabled??a.fastMode??this.fastModeEnabled,fastModeActive:a.fastModeActive,todoPhases:a.todoPhases??[],extensionStatuses:Array.from(this.extensionStatuses,([a,b])=>({key:a,text:b})),extensionWidgets:Array.from(this.extensionWidgets.values())}}async refreshIdentityAfterSessionChange(){let a=this._sessionId,b=await this.proc.sendCommand({type:"get_state"});return this.applyIdentity(b),a&&a!==this._sessionId&&this.onIdentityChangeCallback?.(a,this._sessionId),(0,i.mD)(),this._sessionId}async restart(){if(this.restarting)throw new k(j,"session_restarting");let a=this._sessionFile,b=!!a&&(0,d.existsSync)(a),c=this.proc;this.restarting=!0,this.unsubscribeFrames?.();try{if(await c.dispose(),!this._alive)return;this.extensionStatuses.clear(),this.extensionWidgets.clear(),this.clearPendingUiRequests(),this.promptRunning=!1,this.bashRunning=!1,this.streaming=!1,this.compacting=!1;let d=new g.X({cwd:this.cwd,extraArgs:r(b?a:""),onExit:({stderrTail:a})=>{this.proc===d&&this.handleProcessExit(a)}});this.proc=d,this.unsubscribeFrames=d.onFrame(a=>this.handleFrame(a));try{let a=await d.waitReady(12e4);await d.negotiateProtocol(a),await d.sendCommand({type:"set_subagent_subscription",level:"events"}).catch(()=>{});let b=await d.sendCommand({type:"get_state"});this.applyIdentity(b)}catch(a){throw this.unsubscribeFrames?.(),this.unsubscribeFrames=null,d.dispose(),this.destroy(),a}}finally{this.restarting=!1}D()}async send(a){if(this.restarting)throw new k(j,"session_restarting");if(!this.isAlive())throw Error("Session is no longer running");this.resetIdleTimer();let b=a.type;if("prompt"===b||"steer"===b||"follow_up"===b){let b=function(a){if(void 0===a)return null;if(!Array.isArray(a))return"images must be an array";if(a.length>10)return"A message can include at most 10 images";for(let b of a){if(!b||"object"!=typeof b||"image"!==b.type)return"Each attachment must be an image";if(!function(a){if(!a||"object"!=typeof a||"string"!=typeof a.data||"string"!=typeof a.mimeType||!a.mimeType.startsWith("image/"))return!1;let b=function(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b;for(let b=0;b<c;b+=1){var d;if(!((d=a.charCodeAt(b))>=65&&d<=90||d>=97&&d<=122||d>=48&&d<=57||43===d||47===d))return null}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return a.length/4*3-b}(a.data);return null!==b&&b<=0xa00000}(b))return"Each image must be valid base64 image data of 10MB or smaller"}return null}(a.images);if(b)throw Error(b)}let c=n[b];if(c)throw new g.x(b,c,"unsupported");switch(b){case"prompt":{if(this.bashRunning)throw Error("Cannot send a prompt while a shell command is running");let b=a.streamingBehavior;b||(this.promptRunning=!0,D());try{let c=await this.proc.sendCommand({type:"prompt",message:a.message,...s(a.images)?{images:s(a.images)}:{},...b?{streamingBehavior:b}:{}});c?.agentInvoked!==!1||b||(this.promptRunning=!1,this.emit({type:"prompt_result",agentInvoked:!1}),D())}catch(a){throw this.promptRunning=!1,D(),a}return null}case"steer":case"follow_up":return await this.proc.sendCommand({type:b,message:a.message,...s(a.images)?{images:s(a.images)}:{}}),null;case"abort":return await this.withFinalRunningNotification(async()=>{await this.proc.sendCommand({type:"abort"}),this.promptRunning=!1}),null;case"get_state":{let a=await this.proc.sendCommand({type:"get_state"});return this.buildWebState(a)}case"set_model":{let{provider:b,modelId:c}=a,d=await this.proc.sendCommand({type:"set_model",provider:b,modelId:c});return(0,f.kn)(),(0,i.mD)(),{id:d.id,provider:d.provider}}case"set_fast_mode":{let b=!0===a.enabled,c=await this.proc.sendCommand({type:"set_fast_mode",enabled:b});return this.fastModeEnabled=c?.enabled??b,{enabled:this.fastModeEnabled,active:c?.active??!1}}case"fork":if(this.bashRunning)throw Error("Cannot fork while a shell command is running");if((await this.proc.sendCommand({type:"branch",entryId:a.entryId})).cancelled)return{cancelled:!0};return{cancelled:!1,newSessionId:await this.refreshIdentityAfterSessionChange()};case"new_session":case"switch_session":{let b=await this.proc.sendCommand(a);if(!b.cancelled)return{cancelled:!1,newSessionId:await this.refreshIdentityAfterSessionChange()};return b}case"compact":try{return await this.withFinalRunningNotification(async()=>{this.compacting=!0,D();try{let b=await this.proc.sendCommand({type:"compact",...a.customInstructions?{customInstructions:a.customInstructions}:{}});return u(b),b}finally{this.compacting=!1}})}finally{(0,i.mD)()}case"abort_compaction":return await this.withFinalRunningNotification(()=>this.proc.sendCommand({type:"abort"})),null;case"set_session_name":{let b=a.name?.trim();if(!b)throw Error("Session name cannot be empty");return await this.proc.sendCommand({type:"set_session_name",name:b}),this._sessionName=b,(0,i.mD)(),null}case"get_session_stats":return{...await this.proc.sendCommand({type:"get_session_stats"}),sessionName:this._sessionName};case"get_last_assistant_text":return{text:(await this.proc.sendCommand({type:"get_last_assistant_text"})).text??""};case"get_commands":return await this.proc.sendCommand({type:"get_available_commands"});case"reload":return await this.restart(),{success:!0};case"extension_ui_response":{let{id:b,...c}=a;return this.forgetPendingUiRequest(b),this.proc.sendFrame({type:"extension_ui_response",id:b,...c}),null}case"bash":if(!0===a.excludeFromContext)throw new k("omp cannot run a shell command with its output excluded from the model context (`!!`): the RPC bash command has no exclusion option, so the output would silently enter the context anyway. Run it with a single `!` to share the output with the model, or use a terminal outside ompgui.","bash_exclude_unsupported");if(this.isRunning())throw Error("Cannot run a shell command while the session is busy");this.bashRunning=!0,D();try{return await this.proc.sendCommand({type:"bash",command:a.command})}finally{this.bashRunning=!1,(0,i.mD)(),D()}case"set_host_tools":{let b=(Array.isArray(a.tools)?a.tools:[]).filter(a=>"string"==typeof a.name&&a.name);return this.hostToolNames=new Set(b.map(a=>a.name)),await this.proc.sendCommand({type:"set_host_tools",tools:b}),null}case"host_tool_result":return"string"==typeof a.id&&this.pendingHostTools.delete(a.id),await this.proc.sendCommand(a),null;case"set_host_uri_schemes":{let b=Array.isArray(a.schemes)?a.schemes:[];for(let a of(this.hostUriSchemes=new Map,b))"string"==typeof a.scheme&&a.scheme&&this.hostUriSchemes.set(a.scheme,{writable:!0===a.writable});return await this.proc.sendCommand({type:"set_host_uri_schemes",schemes:b}),null}case"host_uri_result":return"string"==typeof a.id&&this.pendingHostUris.delete(a.id),await this.proc.sendCommand(a),null;default:if(m.has(b)){let c=await this.proc.sendCommand(a);return"set_thinking_level"===b&&(0,i.mD)(),c??null}throw Error(`Unsupported command: ${b}`)}}destroy(){this.destroyAndWait()}async destroyAndWait(){if(this.destroyPromise)return this.destroyPromise;if(!this._alive)return;this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.sessionFileSignalTimer&&(clearTimeout(this.sessionFileSignalTimer),this.sessionFileSignalTimer=null),this.unsubscribeFrames?.(),this.clearPendingUiRequests(),this.mcpListWaiter&&(clearTimeout(this.mcpListWaiter.timer),this.mcpListWaiter.reject(Error("Session was closed while loading MCP servers")),this.mcpListWaiter=null);let a=this.proc.dispose().catch(()=>{});this.destroyPromise=a,this.pendingHostTools.clear(),this.hostToolNames.clear(),this.pendingHostUris.clear(),this.hostUriSchemes.clear(),this.onDestroyCallback?.(),D(),await a}}function w(){if(!globalThis.__ompSessions){globalThis.__ompSessions=new Map;let a=()=>globalThis.__ompSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__ompSessions}function x(a){return w().get(a)}function y(){let a=new Set;for(let[b,c]of w())c.isRunning()&&a.add(c.sessionId||b);return[...a]}async function z(){let a=[...new Set(w().values())];return await Promise.all(a.map(a=>a.destroyAndWait())),a.length}function A(){return globalThis.__ompRunningListeners||(globalThis.__ompRunningListeners=new Set),globalThis.__ompRunningListeners}function B(a){let b=A();return b.add(a),()=>{b.delete(a)}}let C="";function D({refreshSessionList:a=!1}={}){let b=y(),c=JSON.stringify([...b].sort());if(c===C&&!a)return;C=c;let d={ids:b,refreshSessionList:a};for(let a of A())try{a(d)}catch{}}async function E(a,b,c,d,e=!1){let f=w(),h=(globalThis.__ompStartLocks||(globalThis.__ompStartLocks=new Map),globalThis.__ompStartLocks),i=f.get(a);if(i?.isAlive())return{session:i,realSessionId:a};i?.destroyPromise&&await i.destroyPromise;let j=h.get(a);if(j)return j;let k=(async()=>{let a={},h=new v(new g.X({cwd:c,extraArgs:r(b,d,e),onExit:({stderrTail:b})=>a.wrapper?.handleProcessExit(b)}),c);a.wrapper=h,h.start();try{await h.waitUntilReady()}catch(a){throw await h.destroyAndWait(),a}let i=h.sessionId;return h.onDestroy(()=>{f.get(h.sessionId)===h&&f.delete(h.sessionId),f.get(i)===h&&f.delete(i)}),h.onIdentityChange((a,b)=>{f.get(a)===h&&f.delete(a),f.set(b,h)}),f.set(i,h),{session:h,realSessionId:i}})().finally(()=>h.delete(a));return h.set(a,k),k}}};
1
+ "use strict";exports.id=6465,exports.ids=[6465],exports.modules={28967:(a,b,c)=>{function d(){return globalThis.__piModelsCacheState||(globalThis.__piModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__piModelsCacheState}function e(){let a=d();a.generation+=1,a.entries.clear(),a.inFlight.clear()}function f(a,b){return b?{...a,modelError:b}:a}function g(a){return{...a,modelError:"Model list is temporarily unavailable. Check your configuration and try again."}}function h(a,b){var c,e,f;let g,h,i=d(),j=i.entries.get(a);if(j&&j.expiresAt>Date.now())return Promise.resolve(j.data);let k=i.inFlight.get(a)??(c=i,e=a,f=b,g=c.generation,h=Promise.resolve().then(f).then(a=>{if(c.generation===g&&c.inFlight.get(e)===h){for(c.entries.delete(e);c.entries.size>=32;){let a=c.entries.keys().next().value;if(void 0===a)break;c.entries.delete(a)}c.entries.set(e,{data:a,expiresAt:Date.now()+6e4})}return a}).finally(()=>{c.inFlight.get(e)===h&&c.inFlight.delete(e)}),c.inFlight.set(e,h),h);return j?(k.catch(()=>{}),Promise.resolve(j.data)):k}c.d(b,{Fw:()=>g,Mx:()=>f,kn:()=>e,rC:()=>h})},86465:(a,b,c)=>{c.d(b,{OZ:()=>k,A4:()=>x,HG:()=>y,rb:()=>t,Te:()=>z,OF:()=>E,Fn:()=>B});var d=c(29021),e=c(21820),f=c(28967),g=c(13798),h=c(88501),i=c(78573);let j="This session is restarting — retry in a moment.";class k extends Error{constructor(a,b){super(a),this.name="WebRpcError",this.code=b}}let l=new Set(["select","confirm","input","editor","open_url"]),m=new Set(["abort","abort_and_prompt","set_thinking_level","cycle_thinking_level","cycle_model","get_available_models","set_auto_compaction","set_auto_retry","abort_retry","abort_bash","set_todos","set_steering_mode","set_follow_up_mode","set_interrupt_mode","get_branch_messages","get_messages","get_messages_page","export_html","handoff","get_subagents","get_subagent_messages","set_subagent_subscription","get_login_providers","login"]),n={navigate_tree:"Branch navigation is not supported over the omp RPC protocol",clear_queue:"Recalling queued messages is not supported over the omp RPC protocol",get_tools:"Per-session tool listing is not supported over the omp RPC protocol",set_tools:"Changing tools on a running session is not supported over the omp RPC protocol; tool presets apply to new sessions",extension_ui_input:"Extension custom UI is not supported over the omp RPC protocol"},o={find:"glob",search:"grep"},p=new Set(["ls"]),q=["bash","read","edit","write","grep","find","ls"].map(a=>a.toLowerCase()).sort().join(",");function r(a,b,c=!1){let d=[];if(a)d.push("--resume",a);else if(void 0!==b){let a=b.map(a=>a.toLowerCase()).sort().join(",");if(0===b.length)d.push("--no-tools");else if(a===q);else{let a=function(a){let b=[];for(let c of a){let a=c.toLowerCase();if(p.has(a))continue;let d=o[a]??a;b.includes(d)||b.push(d)}return b}(b);a.length>0&&d.push("--tools",a.join(","))}}return c&&!a&&d.push("--advisor"),d}function s(a){return a?.length?a:void 0}function t(a){if(a&&(0,d.existsSync)(a))return{cwd:a,fellBack:!1};try{let a=process.cwd();if(a&&(0,d.existsSync)(a))return{cwd:a,fellBack:!0}}catch{}return{cwd:(0,e.homedir)(),fellBack:!0}}function u(a){a&&"object"==typeof a&&void 0===a.estimatedTokensAfter&&(a.estimatedTokensAfter=Math.round((a.summary?.length??0)/4))}class v{constructor(a,b,c){this.listeners=[],this.pendingUiRequests=new Map,this.uiExpiryTimers=new Map,this.extensionStatuses=new Map,this.extensionWidgets=new Map,this.promptRunning=!1,this.bashRunning=!1,this.streaming=!1,this.compacting=!1,this.fastModeEnabled=!1,this.idleTimer=null,this.onDestroyCallback=null,this.onIdentityChangeCallback=null,this.unsubscribeFrames=null,this.initPromise=null,this.restarting=!1,this.mcpListWaiter=null,this._alive=!0,this.hostToolNames=new Set,this.pendingHostTools=new Map,this.hostUriSchemes=new Map,this.pendingHostUris=new Map,this.destroyPromise=null,this._sessionId="",this._sessionFile="",this.sessionFileSignalTimer=null,this.proc=a,this.cwd=b,this.recordedCwd=c??null}get sessionId(){return this._sessionId}get sessionFile(){return this._sessionFile}isAlive(){return this._alive&&this.proc.isAlive}isRunning(){return this.isAlive()&&(this.promptRunning||this.streaming||this.compacting||this.bashRunning)}start(){this.unsubscribeFrames=this.proc.onFrame(a=>this.handleFrame(a)),this.resetIdleTimer(),D()}waitUntilReady(){return this.initPromise||(this.initPromise=this.initialize()),this.initPromise}async initialize(){let a=await this.proc.waitReady(12e4);await this.proc.negotiateProtocol(a),await this.proc.sendCommand({type:"set_subagent_subscription",level:"events"}).catch(()=>{});let b=await this.proc.sendCommand({type:"get_state"});this.applyIdentity(b),this.recordedCwd&&this.recordedCwd!==this.cwd&&this.emit({type:"notice",level:"warning",message:`This session's working directory no longer exists; the agent is running in ${this.cwd}.`})}applyIdentity(a){this._sessionId=a.sessionId,this._sessionFile=a.sessionFile??"",this._sessionName=a.sessionName,this.streaming=a.isStreaming,this.compacting=a.isCompacting,this.fastModeEnabled=a.fastModeEnabled??a.fastMode??this.fastModeEnabled,this._sessionFile&&(0,i.O8)(this._sessionId,this._sessionFile)}handleProcessExit(a){if(!this._alive||this.restarting)return;let b=a.trim().split("\n").pop()??"";this.emit({type:"notice",level:"error",message:`The omp process for this session exited unexpectedly${b?`: ${b}`:"."}`}),(this.streaming||this.promptRunning)&&this.emit({type:"agent_end",isTerminal:!0,messages:[]}),this.destroy()}handleFrame(a){this.resetIdleTimer();let b=!1;switch(a.type){case"command_output":{let b=this.mcpListWaiter;if(b&&"string"==typeof a.text){clearTimeout(b.timer),this.mcpListWaiter=null,b.resolve(a.text),D();return}break}case"agent_start":this.streaming=!0,(0,i.mD)(),b=!0,this._sessionFile&&!(0,d.existsSync)(this._sessionFile)&&this.signalWhenSessionFileAppears();break;case"agent_end":!1!==a.isTerminal&&(this.streaming=!1,this.promptRunning=!1,(0,i.mD)());break;case"prompt_result":this.promptRunning=!1;break;case"auto_compaction_start":this.compacting=!0;break;case"auto_compaction_end":this.compacting=!1,u(a.result),(0,i.mD)();break;case"session_info_update":"string"==typeof a.title&&(this._sessionName=a.title),(0,i.mD)(),b=!0;break;case"response":if(!1===a.success&&"prompt"===a.command){this.promptRunning=!1,this.emit({type:"prompt_error",errorMessage:a.error??"Prompt failed"}),D();return}break;case"extension_ui_request":if(this.trackExtensionUiRequest(a))return void D();break;case"host_tool_call":{let b="string"==typeof a.id?a.id:"",c="string"==typeof a.toolName?a.toolName:"";if(b&&c&&this.hostToolNames.has(c)&&this.listeners.length>0){this.pendingHostTools.set(b,a),this.emit(a),D();return}this.rejectUnexpectedHostTool(a);return}case"host_tool_cancel":{let b="string"==typeof a.targetId?a.targetId:"";if(b&&this.pendingHostTools.delete(b)){this.emit(a),D();return}break}case"host_uri_request":{let b="string"==typeof a.id?a.id:"",c=("string"==typeof a.url?a.url:"").split(":")[0]??"",d="write"===a.operation?"write":"read",e=this.hostUriSchemes.get(c);if(b&&c&&e&&("write"!==d||e.writable)&&this.listeners.length>0){this.pendingHostUris.set(b,a),this.emit(a),D();return}this.proc.sendFrame({type:"host_uri_result",id:b,isError:!0,error:`URI scheme "${c}" is not registered by omp-web`});return}case"host_uri_cancel":{let b="string"==typeof a.targetId?a.targetId:"";if(b&&this.pendingHostUris.delete(b)){this.emit(a),D();return}}}this.emit(a),D({refreshSessionList:b})}forgetPendingUiRequest(a){this.pendingUiRequests.delete(a);let b=this.uiExpiryTimers.get(a);b&&(clearTimeout(b),this.uiExpiryTimers.delete(a))}clearPendingUiRequests(){for(let a of this.uiExpiryTimers.values())clearTimeout(a);this.uiExpiryTimers.clear(),this.pendingUiRequests.clear()}trackExtensionUiRequest(a){let b=a.method,c=a.id;if("cancel"===b)return this.forgetPendingUiRequest(a.targetId),!1;let d=!1;try{d=(0,h.r)().settings.tools?.approval?.extension==="allow"}catch{}if("confirm"===b&&"string"==typeof a.title&&/^allow tool\s*:/i.test(a.title)&&d)return this.forgetPendingUiRequest(c),this.proc.sendFrame({type:"extension_ui_response",id:c,confirmed:!0}),!0;if(l.has(b)){this.forgetPendingUiRequest(c);let b="number"==typeof a.timeout?a.timeout:void 0;if(b&&b>0){a.expiresAt=Date.now()+b;let d=setTimeout(()=>this.forgetPendingUiRequest(c),b);d.unref?.(),this.uiExpiryTimers.set(c,d)}return this.pendingUiRequests.set(c,a),!1}if("setStatus"===b){let b=a.statusKey,c=a.statusText;return void 0===c?this.extensionStatuses.delete(b):this.extensionStatuses.set(b,c),!1}if("setWidget"===b){let b=a.widgetKey,c=a.widgetLines;void 0===c?this.extensionWidgets.delete(b):this.extensionWidgets.set(b,{key:b,lines:c,placement:a.widgetPlacement??"aboveEditor"})}return!1}rejectUnexpectedHostTool(a){let b="string"==typeof a.id?a.id:"";if(!b)return;let c="string"==typeof a.toolName?a.toolName:"unknown";this.proc.sendFrame({type:"host_tool_result",id:b,isError:!0,result:{content:[{type:"text",text:`Host tool "${c}" is not available in ompgui. Use OMP's built-in tools within the selected workspace.`}]}}),this.emit({type:"notice",level:"warning",message:`Rejected unavailable host tool: ${c}`})}rejectPendingHostTools(a){for(let b of this.pendingHostTools.keys())this.proc.sendFrame({type:"host_tool_result",id:b,isError:!0,result:{content:[{type:"text",text:a}]}});this.pendingHostTools.clear()}rejectPendingHostUris(a){for(let b of this.pendingHostUris.keys())this.proc.sendFrame({type:"host_uri_result",id:b,isError:!0,error:a});this.pendingHostUris.clear()}emit(a){for(let b of this.listeners)try{b(a)}catch{}}signalWhenSessionFileAppears(){if(this.sessionFileSignalTimer)return;let a=0,b=()=>{if(this.sessionFileSignalTimer=null,this._alive&&this._sessionFile){if(!(0,d.existsSync)(this._sessionFile)){(a+=1)<40&&(this.sessionFileSignalTimer=setTimeout(b,250));return}(0,i.mD)(),D({refreshSessionList:!0})}};this.sessionFileSignalTimer=setTimeout(b,250)}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isRunning()?this.resetIdleTimer():this.destroy()},6e5)}onEvent(a){this.listeners.push(a);let b=Date.now();for(let[c,d]of this.pendingUiRequests){let e=d.expiresAt;if(void 0!==e&&e<=b){this.forgetPendingUiRequest(c);continue}a(d)}return()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1),0===this.listeners.length&&(this.rejectPendingHostTools("The web UI disconnected while the agent was waiting for this host tool"),this.rejectPendingHostUris("The web UI disconnected while the agent was waiting for this URI request"))}}onDestroy(a){this.onDestroyCallback=a}onIdentityChange(a){this.onIdentityChangeCallback=a}async withFinalRunningNotification(a){try{return await a()}finally{D()}}async getMcpList(){let a,b;if(this.restarting)throw new k(j,"session_restarting");if(!this.isAlive())throw Error("Session is no longer running");if(this.isRunning())throw new k("Wait for the current run to finish","session_busy");if(this.mcpListWaiter)throw new k("MCP list is already loading","mcp_list_loading");this.promptRunning=!0,D();let c=new Promise((c,d)=>{a=c,b=d}),d={resolve:a,reject:b,timer:void 0};d.timer=setTimeout(()=>{this.mcpListWaiter===d&&(this.mcpListWaiter=null,b(new k("Timed out while loading MCP servers","mcp_list_timeout")))},15e3),d.timer.unref?.(),this.mcpListWaiter=d;try{return await this.proc.sendCommand({type:"prompt",message:"/mcp list"}),await c}catch(a){throw this.mcpListWaiter===d&&(clearTimeout(d.timer),this.mcpListWaiter=null,d.reject(a instanceof Error?a:Error(String(a)))),a}finally{this.mcpListWaiter===d&&(clearTimeout(d.timer),this.mcpListWaiter=null),this.promptRunning=!1,D()}}buildWebState(a){return this.streaming=a.isStreaming,this.compacting=a.isCompacting,this._sessionName=a.sessionName,a.sessionId&&(this._sessionId=a.sessionId,this._sessionFile=a.sessionFile??this._sessionFile),{sessionId:a.sessionId,sessionFile:a.sessionFile??"",sessionName:a.sessionName,isStreaming:a.isStreaming,isPromptRunning:this.promptRunning,isBashRunning:this.bashRunning,isCompacting:a.isCompacting,autoCompactionEnabled:a.autoCompactionEnabled,autoRetryEnabled:a.autoRetryEnabled,interruptMode:a.interruptMode,steeringMode:a.steeringMode,followUpMode:a.followUpMode,model:a.model?{id:a.model.id,provider:a.model.provider,name:a.model.name,reasoning:a.model.reasoning,thinking:a.model.thinking?{efforts:a.model.thinking.efforts}:void 0}:void 0,messageCount:a.messageCount,queuedMessageCount:a.queuedMessageCount,contextUsage:a.contextUsage??null,systemPrompt:a.systemPrompt?.join("\n\n")??"",thinkingLevel:a.thinkingLevel??"off",fastModeEnabled:a.fastModeEnabled??a.fastMode??this.fastModeEnabled,fastModeActive:a.fastModeActive,todoPhases:a.todoPhases??[],extensionStatuses:Array.from(this.extensionStatuses,([a,b])=>({key:a,text:b})),extensionWidgets:Array.from(this.extensionWidgets.values())}}async refreshIdentityAfterSessionChange(){let a=this._sessionId,b=await this.proc.sendCommand({type:"get_state"});return this.applyIdentity(b),a&&a!==this._sessionId&&this.onIdentityChangeCallback?.(a,this._sessionId),(0,i.mD)(),this._sessionId}async restart(){if(this.restarting)throw new k(j,"session_restarting");let a=this._sessionFile,b=!!a&&(0,d.existsSync)(a),c=this.proc;this.restarting=!0,this.unsubscribeFrames?.();try{if(await c.dispose(),!this._alive)return;this.extensionStatuses.clear(),this.extensionWidgets.clear(),this.clearPendingUiRequests(),this.promptRunning=!1,this.bashRunning=!1,this.streaming=!1,this.compacting=!1;let d=new g.X({cwd:this.cwd,extraArgs:r(b?a:""),onExit:({stderrTail:a})=>{this.proc===d&&this.handleProcessExit(a)}});this.proc=d,this.unsubscribeFrames=d.onFrame(a=>this.handleFrame(a));try{let a=await d.waitReady(12e4);await d.negotiateProtocol(a),await d.sendCommand({type:"set_subagent_subscription",level:"events"}).catch(()=>{});let b=await d.sendCommand({type:"get_state"});this.applyIdentity(b)}catch(a){throw this.unsubscribeFrames?.(),this.unsubscribeFrames=null,d.dispose(),this.destroy(),a}}finally{this.restarting=!1}D()}async send(a){if(this.restarting)throw new k(j,"session_restarting");if(!this.isAlive())throw Error("Session is no longer running");this.resetIdleTimer();let b=a.type;if("prompt"===b||"steer"===b||"follow_up"===b){let b=function(a){if(void 0===a)return null;if(!Array.isArray(a))return"images must be an array";if(a.length>10)return"A message can include at most 10 images";for(let b of a){if(!b||"object"!=typeof b||"image"!==b.type)return"Each attachment must be an image";if(!function(a){if(!a||"object"!=typeof a||"string"!=typeof a.data||"string"!=typeof a.mimeType||!a.mimeType.startsWith("image/"))return!1;let b=function(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b;for(let b=0;b<c;b+=1){var d;if(!((d=a.charCodeAt(b))>=65&&d<=90||d>=97&&d<=122||d>=48&&d<=57||43===d||47===d))return null}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return a.length/4*3-b}(a.data);return null!==b&&b<=0xa00000}(b))return"Each image must be valid base64 image data of 10MB or smaller"}return null}(a.images);if(b)throw Error(b)}let c=n[b];if(c)throw new g.x(b,c,"unsupported");switch(b){case"prompt":{if(this.bashRunning)throw Error("Cannot send a prompt while a shell command is running");let b=a.streamingBehavior;b||(this.promptRunning=!0,D());try{let c=await this.proc.sendCommand({type:"prompt",message:a.message,...s(a.images)?{images:s(a.images)}:{},...b?{streamingBehavior:b}:{}});c?.agentInvoked!==!1||b||(this.promptRunning=!1,this.emit({type:"prompt_result",agentInvoked:!1}),D())}catch(a){throw this.promptRunning=!1,D(),a}return null}case"steer":case"follow_up":return await this.proc.sendCommand({type:b,message:a.message,...s(a.images)?{images:s(a.images)}:{}}),null;case"abort":return await this.withFinalRunningNotification(async()=>{await this.proc.sendCommand({type:"abort"}),this.promptRunning=!1}),null;case"get_state":{let a=await this.proc.sendCommand({type:"get_state"});return this.buildWebState(a)}case"set_model":{let{provider:b,modelId:c}=a,d=await this.proc.sendCommand({type:"set_model",provider:b,modelId:c});return(0,f.kn)(),(0,i.mD)(),{id:d.id,provider:d.provider}}case"set_fast_mode":{let b=!0===a.enabled,c=await this.proc.sendCommand({type:"set_fast_mode",enabled:b});return this.fastModeEnabled=c?.enabled??b,{enabled:this.fastModeEnabled,active:c?.active??!1}}case"fork":if(this.bashRunning)throw Error("Cannot fork while a shell command is running");if((await this.proc.sendCommand({type:"branch",entryId:a.entryId})).cancelled)return{cancelled:!0};return{cancelled:!1,newSessionId:await this.refreshIdentityAfterSessionChange()};case"new_session":case"switch_session":{let b=await this.proc.sendCommand(a);if(!b.cancelled)return{cancelled:!1,newSessionId:await this.refreshIdentityAfterSessionChange()};return b}case"compact":try{return await this.withFinalRunningNotification(async()=>{this.compacting=!0,D();try{let b=await this.proc.sendCommand({type:"compact",...a.customInstructions?{customInstructions:a.customInstructions}:{}});return u(b),b}finally{this.compacting=!1}})}finally{(0,i.mD)()}case"abort_compaction":return await this.withFinalRunningNotification(()=>this.proc.sendCommand({type:"abort"})),null;case"set_session_name":{let b=a.name?.trim();if(!b)throw Error("Session name cannot be empty");return await this.proc.sendCommand({type:"set_session_name",name:b}),this._sessionName=b,(0,i.mD)(),null}case"get_session_stats":return{...await this.proc.sendCommand({type:"get_session_stats"}),sessionName:this._sessionName};case"get_last_assistant_text":return{text:(await this.proc.sendCommand({type:"get_last_assistant_text"})).text??""};case"get_commands":return await this.proc.sendCommand({type:"get_available_commands"});case"reload":return await this.restart(),{success:!0};case"extension_ui_response":{let{id:b,...c}=a;return this.forgetPendingUiRequest(b),this.proc.sendFrame({type:"extension_ui_response",id:b,...c}),null}case"bash":if(!0===a.excludeFromContext)throw new k("omp cannot run a shell command with its output excluded from the model context (`!!`): the RPC bash command has no exclusion option, so the output would silently enter the context anyway. Run it with a single `!` to share the output with the model, or use a terminal outside ompgui.","bash_exclude_unsupported");if(this.isRunning())throw Error("Cannot run a shell command while the session is busy");this.bashRunning=!0,D();try{return await this.proc.sendCommand({type:"bash",command:a.command})}finally{this.bashRunning=!1,(0,i.mD)(),D()}case"set_host_tools":{let b=(Array.isArray(a.tools)?a.tools:[]).filter(a=>"string"==typeof a.name&&a.name);return this.hostToolNames=new Set(b.map(a=>a.name)),await this.proc.sendCommand({type:"set_host_tools",tools:b}),null}case"host_tool_result":return"string"==typeof a.id&&this.pendingHostTools.delete(a.id),await this.proc.sendCommand(a),null;case"set_host_uri_schemes":{let b=Array.isArray(a.schemes)?a.schemes:[];for(let a of(this.hostUriSchemes=new Map,b))"string"==typeof a.scheme&&a.scheme&&this.hostUriSchemes.set(a.scheme,{writable:!0===a.writable});return await this.proc.sendCommand({type:"set_host_uri_schemes",schemes:b}),null}case"host_uri_result":return"string"==typeof a.id&&this.pendingHostUris.delete(a.id),await this.proc.sendCommand(a),null;default:if(m.has(b)){let c=await this.proc.sendCommand(a);return"set_thinking_level"===b&&(0,i.mD)(),c??null}throw Error(`Unsupported command: ${b}`)}}destroy(){this.destroyAndWait()}async destroyAndWait(){if(this.destroyPromise)return this.destroyPromise;if(!this._alive)return;this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.sessionFileSignalTimer&&(clearTimeout(this.sessionFileSignalTimer),this.sessionFileSignalTimer=null),this.unsubscribeFrames?.(),this.clearPendingUiRequests(),this.mcpListWaiter&&(clearTimeout(this.mcpListWaiter.timer),this.mcpListWaiter.reject(Error("Session was closed while loading MCP servers")),this.mcpListWaiter=null);let a=this.proc.dispose().catch(()=>{});this.destroyPromise=a,this.pendingHostTools.clear(),this.hostToolNames.clear(),this.pendingHostUris.clear(),this.hostUriSchemes.clear(),this.onDestroyCallback?.(),D(),await a}}function w(){if(!globalThis.__ompSessions){globalThis.__ompSessions=new Map;let a=()=>globalThis.__ompSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__ompSessions}function x(a){return w().get(a)}function y(){let a=new Set;for(let[b,c]of w())c.isRunning()&&a.add(c.sessionId||b);return[...a]}async function z(){let a=[...new Set(w().values())];return await Promise.all(a.map(a=>a.destroyAndWait())),a.length}function A(){return globalThis.__ompRunningListeners||(globalThis.__ompRunningListeners=new Set),globalThis.__ompRunningListeners}function B(a){let b=A();return b.add(a),()=>{b.delete(a)}}let C="";function D({refreshSessionList:a=!1}={}){let b=y(),c=JSON.stringify([...b].sort());if(c===C&&!a)return;C=c;let d={ids:b,refreshSessionList:a};for(let a of A())try{a(d)}catch{}}async function E(a,b,c,d,e=!1,f){let h=w(),i=(globalThis.__ompStartLocks||(globalThis.__ompStartLocks=new Map),globalThis.__ompStartLocks),j=h.get(a);if(j?.isAlive())return{session:j,realSessionId:a};j?.destroyPromise&&await j.destroyPromise;let k=i.get(a);if(k)return k;let l=(async()=>{let a={},i=new v(new g.X({cwd:c,extraArgs:r(b,d,e),onExit:({stderrTail:b})=>a.wrapper?.handleProcessExit(b)}),c,f);a.wrapper=i,i.start();try{await i.waitUntilReady()}catch(a){throw await i.destroyAndWait(),a}let j=i.sessionId;return i.onDestroy(()=>{h.get(i.sessionId)===i&&h.delete(i.sessionId),h.get(j)===i&&h.delete(j)}),i.onIdentityChange((a,b)=>{h.get(a)===i&&h.delete(a),h.set(b,i)}),h.set(j,i),{session:i,realSessionId:j}})().finally(()=>i.delete(a));return i.set(a,l),l}}};
@@ -1 +1 @@
1
- "use strict";exports.id=8501,exports.ids=[8501],exports.modules={88501:(a,b,c)=>{c.d(b,{W:()=>y,r:()=>x});var d=c(29021),e=c(33873),f=c(63294),g=c(85887),h=c(20565);let i=new Set(["auto","minimal","low","medium","high","xhigh","max"]),j=new Set(["low","medium","high"]),k=new Set(["default","friendly","pragmatic","none"]),l=new Set(["off","1","3","5"]),m=new Set(["always-ask","write","yolo"]),n=new Set(["allow","prompt","deny"]),o=new Set(["cooldown-expiry","never"]),p=new Set(["snapcompact","handoff","context-full","shake","off"]),q=new Set(["off","local","mnemopi","hindsight"]),r=new Set(["global","per-project","per-project-tagged"]);function s(a){return Array.isArray(a)&&a.every(a=>"string"==typeof a)?a:void 0}function t(a){if(!(0,h.u4)(a))return;let b={};for(let[c,d]of Object.entries(a))("string"==typeof d||s(d))&&(b[c]=d);return b}function u(a){if(!(0,h.u4)(a))return;let b={};for(let[c,d]of Object.entries(a))("boolean"==typeof d||"string"==typeof d)&&(b[c]=d);return b}function v(a,b){if(void 0!==a&&!(0,h.u4)(a))throw Error(`${b} must be an object`)}function w(){let a=(0,g.pA)(),b=(0,f.Tp)((0,d.existsSync)(a)?(0,d.readFileSync)(a,"utf8"):"");if(b.errors.length>0)throw Error(`${a} is not valid YAML: ${b.errors[0].message}`);return{path:a,doc:b}}function x(){let{path:a,doc:b}=w(),c=b.toJS();if(!(0,h.u4)(c))return{path:a,settings:{}};let d=(0,h.u4)(c.advisor)?c.advisor:{},e=(0,h.u4)(c.tools)?c.tools:{},f=(0,h.u4)(e.approval)?e.approval:{},g=(0,h.u4)(c.retry)?c.retry:{},v=(0,h.u4)(g.fallbackChains)?Object.fromEntries(Object.entries(g.fallbackChains).filter(a=>"string"==typeof a[0]&&void 0!==s(a[1]))):{},x=(0,h.u4)(c.compaction)?c.compaction:{},y=(0,h.u4)(c.memory)?c.memory:{},z=(0,h.u4)(c.autolearn)?c.autolearn:{},A=(0,h.u4)(c.mnemopi)?c.mnemopi:{},B=(0,h.u4)(c.mcp)?c.mcp:{},C=(0,h.u4)(c.task)?c.task:{},D=[c.enabledModels,c.disabledProviders,c.modelProviderOrder].some(a=>Array.isArray(a)&&!a.every(a=>"string"==typeof a));return{path:a,settings:{...i.has(c.defaultThinkingLevel)?{defaultThinkingLevel:c.defaultThinkingLevel}:{},..."boolean"==typeof c.hideThinkingBlock?{hideThinkingBlock:c.hideThinkingBlock}:{},..."boolean"==typeof c.externalThinking?{externalThinking:c.externalThinking}:{},...j.has(c.textVerbosity)?{textVerbosity:c.textVerbosity}:{},...k.has(c.personality)?{personality:c.personality}:{},...Object.keys(d).length?{advisor:{..."boolean"==typeof d.enabled?{enabled:d.enabled}:{},..."boolean"==typeof d.subagents?{subagents:d.subagents}:{},...l.has(d.syncBacklog)?{syncBacklog:d.syncBacklog}:{},..."number"==typeof d.immuneTurns&&Number.isInteger(d.immuneTurns)?{immuneTurns:d.immuneTurns}:{}}}:{},...Object.keys(e).length?{tools:{...m.has(e.approvalMode)?{approvalMode:e.approvalMode}:{},...n.has(f.bash)||"allow"===f.extension||"prompt"===f.extension?{approval:{...n.has(f.bash)?{bash:f.bash}:{},..."allow"===f.extension||"prompt"===f.extension?{extension:f.extension}:{}}}:{}}}:{},...s(c.enabledModels)?{enabledModels:s(c.enabledModels)}:{},...s(c.disabledProviders)?{disabledProviders:s(c.disabledProviders)}:{},...s(c.modelProviderOrder)?{modelProviderOrder:s(c.modelProviderOrder)}:{},...D?{registryHasScopedEntries:!0}:{},...Object.keys(g).length?{retry:{..."boolean"==typeof g.enabled?{enabled:g.enabled}:{},..."number"==typeof g.maxRetries&&Number.isInteger(g.maxRetries)?{maxRetries:g.maxRetries}:{},..."boolean"==typeof g.modelFallback?{modelFallback:g.modelFallback}:{},...o.has(g.fallbackRevertPolicy)?{fallbackRevertPolicy:g.fallbackRevertPolicy}:{},...Object.keys(v).length?{fallbackChains:v}:{}}}:{},...Object.keys(x).length?{compaction:{..."boolean"==typeof x.enabled?{enabled:x.enabled}:{},..."boolean"==typeof x.midTurnEnabled?{midTurnEnabled:x.midTurnEnabled}:{},...p.has(x.strategy)?{strategy:x.strategy}:{},..."boolean"==typeof x.autoContinue?{autoContinue:x.autoContinue}:{},..."boolean"==typeof x.remoteEnabled?{remoteEnabled:x.remoteEnabled}:{},..."number"==typeof x.keepRecentTokens&&Number.isInteger(x.keepRecentTokens)?{keepRecentTokens:x.keepRecentTokens}:{}}}:{},...Object.keys(y).length?{memory:{...q.has(y.backend)?{backend:y.backend}:{}}}:{},...Object.keys(z).length?{autolearn:{..."boolean"==typeof z.enabled?{enabled:z.enabled}:{},..."boolean"==typeof z.autoContinue?{autoContinue:z.autoContinue}:{},..."number"==typeof z.minToolCalls&&Number.isInteger(z.minToolCalls)?{minToolCalls:z.minToolCalls}:{}}}:{},...Object.keys(A).length?{mnemopi:{...r.has(A.scoping)?{scoping:A.scoping}:{},..."boolean"==typeof A.autoRecall?{autoRecall:A.autoRecall}:{},..."boolean"==typeof A.autoRetain?{autoRetain:A.autoRetain}:{},..."boolean"==typeof A.noEmbeddings?{noEmbeddings:A.noEmbeddings}:{}}}:{},...Object.keys(B).length?{mcp:{..."boolean"==typeof B.enableProjectConfig?{enableProjectConfig:B.enableProjectConfig}:{},..."boolean"==typeof B.renderMarkdownResults?{renderMarkdownResults:B.renderMarkdownResults}:{},..."boolean"==typeof B.notifications?{notifications:B.notifications}:{},..."number"==typeof B.notificationDebounceMs&&Number.isInteger(B.notificationDebounceMs)?{notificationDebounceMs:B.notificationDebounceMs}:{}}}:{},...Object.keys(C).length?{task:{..."boolean"==typeof C.prewalk?{prewalk:C.prewalk}:{},...t(C.agentModelOverrides)?{agentModelOverrides:t(C.agentModelOverrides)}:{},...u(C.agentPrewalk)?{agentPrewalk:u(C.agentPrewalk)}:{},...u(C.agentAdvisor)?{agentAdvisor:u(C.agentAdvisor)}:{},...s(C.disabledAgents)?{disabledAgents:s(C.disabledAgents)}:{}}}:{}}}}function y(a){if(!(0,h.u4)(a))throw Error("Settings must be an object");for(let[b,c]of(v(a.advisor,"advisor"),v(a.tools,"tools"),v(a.tools?.approval,"tools.approval"),v(a.retry,"retry"),v(a.compaction,"compaction"),v(a.memory,"memory"),v(a.autolearn,"autolearn"),v(a.mnemopi,"mnemopi"),v(a.mcp,"mcp"),v(a.task,"task"),Object.entries({hideThinkingBlock:a.hideThinkingBlock,externalThinking:a.externalThinking,"advisor.enabled":a.advisor?.enabled,"advisor.subagents":a.advisor?.subagents,"retry.enabled":a.retry?.enabled,"retry.modelFallback":a.retry?.modelFallback,"compaction.enabled":a.compaction?.enabled,"compaction.midTurnEnabled":a.compaction?.midTurnEnabled,"compaction.autoContinue":a.compaction?.autoContinue,"compaction.remoteEnabled":a.compaction?.remoteEnabled,"autolearn.enabled":a.autolearn?.enabled,"autolearn.autoContinue":a.autolearn?.autoContinue,"mnemopi.autoRecall":a.mnemopi?.autoRecall,"mnemopi.autoRetain":a.mnemopi?.autoRetain,"mnemopi.noEmbeddings":a.mnemopi?.noEmbeddings,"mcp.enableProjectConfig":a.mcp?.enableProjectConfig,"mcp.renderMarkdownResults":a.mcp?.renderMarkdownResults,"mcp.notifications":a.mcp?.notifications,"task.prewalk":a.task?.prewalk})))if(void 0!==c&&"boolean"!=typeof c)throw Error(`${b} must be a boolean`);for(let[b,c]of Object.entries(a.task?.agentModelOverrides??{}))if("string"!=typeof c&&!s(c))throw Error(`task.agentModelOverrides.${b} must be a string or string array`);for(let[b,c]of[["agentPrewalk",a.task?.agentPrewalk],["agentAdvisor",a.task?.agentAdvisor]])for(let[a,d]of Object.entries(c??{}))if("boolean"!=typeof d&&"string"!=typeof d)throw Error(`task.${b}.${a} must be a boolean or string`);if(a.task?.disabledAgents!==void 0&&(!s(a.task.disabledAgents)||a.task.disabledAgents.some(a=>!a.trim())))throw Error("task.disabledAgents must contain non-empty strings");if(void 0!==a.defaultThinkingLevel&&!i.has(a.defaultThinkingLevel))throw Error("Invalid default thinking level");if(void 0!==a.textVerbosity&&!j.has(a.textVerbosity))throw Error("Invalid text verbosity");if(void 0!==a.personality&&!k.has(a.personality))throw Error("Invalid personality");if(a.advisor?.syncBacklog!==void 0&&!l.has(a.advisor.syncBacklog))throw Error("Invalid advisor sync backlog");if(a.advisor?.immuneTurns!==void 0&&(!Number.isInteger(a.advisor.immuneTurns)||a.advisor.immuneTurns<0||a.advisor.immuneTurns>20))throw Error("Advisor immune turns must be an integer between 0 and 20");if(a.tools?.approvalMode!==void 0&&!m.has(a.tools.approvalMode))throw Error("Invalid approval mode");if(a.tools?.approval?.bash!==void 0&&!n.has(a.tools.approval.bash))throw Error("Invalid Bash approval policy");if(a.tools?.approval?.extension!==void 0&&"allow"!==a.tools.approval.extension&&"prompt"!==a.tools.approval.extension)throw Error("Invalid extension tool approval policy");if(a.retry?.maxRetries!==void 0&&(!Number.isInteger(a.retry.maxRetries)||a.retry.maxRetries<0||a.retry.maxRetries>20))throw Error("Retry attempts must be an integer between 0 and 20");if(a.retry?.fallbackRevertPolicy!==void 0&&!o.has(a.retry.fallbackRevertPolicy))throw Error("Invalid fallback revert policy");if(a.retry?.fallbackChains!==void 0){for(let[b,c]of Object.entries(a.retry.fallbackChains))if(!b.trim()||!Array.isArray(c)||c.some(a=>"string"!=typeof a||!a.trim()))throw Error("Fallback chains require non-empty role and model selectors")}if(a.compaction?.strategy!==void 0&&!p.has(a.compaction.strategy))throw Error("Invalid compaction strategy");if(a.compaction?.keepRecentTokens!==void 0&&(!Number.isInteger(a.compaction.keepRecentTokens)||a.compaction.keepRecentTokens<1e3||a.compaction.keepRecentTokens>1e6))throw Error("Compaction retained tokens must be an integer between 1,000 and 1,000,000");if(a.memory?.backend!==void 0&&!q.has(a.memory.backend))throw Error("Invalid memory backend");if(a.autolearn?.minToolCalls!==void 0&&(!Number.isInteger(a.autolearn.minToolCalls)||a.autolearn.minToolCalls<0||a.autolearn.minToolCalls>100))throw Error("Auto-learn minimum tool calls must be an integer between 0 and 100");if(a.mnemopi?.scoping!==void 0&&!r.has(a.mnemopi.scoping))throw Error("Invalid Mnemopi memory scope");if(a.mcp?.notificationDebounceMs!==void 0&&(!Number.isInteger(a.mcp.notificationDebounceMs)||a.mcp.notificationDebounceMs<0||a.mcp.notificationDebounceMs>6e4))throw Error("MCP notification debounce must be an integer between 0 and 60,000");for(let[b,c]of Object.entries({enabledModels:a.enabledModels,disabledProviders:a.disabledProviders,modelProviderOrder:a.modelProviderOrder}))if(void 0!==c&&(!Array.isArray(c)||c.some(a=>"string"!=typeof a||!a.trim())))throw Error(`${b} must contain non-empty strings`);let{path:b,doc:c}=w();if((0,d.mkdirSync)((0,e.dirname)(b),{recursive:!0}),null===c.contents){let c=`${b}.tmp-${process.pid}-${Date.now()}`;try{(0,d.writeFileSync)(c,(0,f.As)(a),"utf8"),(0,d.renameSync)(c,b)}catch(a){try{(0,d.existsSync)(c)&&(0,d.unlinkSync)(c)}catch{}throw a}return}if(!(0,f.jh)(c.contents))throw Error(`${b} must contain a YAML mapping`);for(let[b,d]of(void 0!==a.defaultThinkingLevel&&c.set("defaultThinkingLevel",a.defaultThinkingLevel),void 0!==a.hideThinkingBlock&&c.set("hideThinkingBlock",a.hideThinkingBlock),void 0!==a.externalThinking&&c.set("externalThinking",a.externalThinking),void 0!==a.textVerbosity&&c.set("textVerbosity",a.textVerbosity),void 0!==a.personality&&c.set("personality",a.personality),Object.entries(a.advisor??{})))c.setIn(["advisor",b],d);for(let[b,d]of(a.tools?.approvalMode!==void 0&&c.setIn(["tools","approvalMode"],a.tools.approvalMode),a.tools?.approval?.bash!==void 0&&c.setIn(["tools","approval","bash"],a.tools.approval.bash),a.tools?.approval?.extension!==void 0&&c.setIn(["tools","approval","extension"],a.tools.approval.extension),void 0!==a.enabledModels&&c.set("enabledModels",a.enabledModels),void 0!==a.disabledProviders&&c.set("disabledProviders",a.disabledProviders),void 0!==a.modelProviderOrder&&c.set("modelProviderOrder",a.modelProviderOrder),Object.entries(a.retry??{})))c.setIn(["retry",b],d);for(let[b,d]of Object.entries(a.compaction??{}))c.setIn(["compaction",b],d);for(let[b,d]of Object.entries(a.memory??{}))c.setIn(["memory",b],d);for(let[b,d]of Object.entries(a.autolearn??{}))c.setIn(["autolearn",b],d);for(let[b,d]of Object.entries(a.mnemopi??{}))c.setIn(["mnemopi",b],d);for(let[b,d]of Object.entries(a.mcp??{}))c.setIn(["mcp",b],d);for(let[b,d]of(a.task?.prewalk!==void 0&&c.setIn(["task","prewalk"],a.task.prewalk),Object.entries(a.task?.agentModelOverrides??{})))c.setIn(["task","agentModelOverrides",b],d);for(let[b,d]of Object.entries(a.task?.agentPrewalk??{}))c.setIn(["task","agentPrewalk",b],d);for(let[b,d]of Object.entries(a.task?.agentAdvisor??{}))c.setIn(["task","agentAdvisor",b],d);a.task?.disabledAgents!==void 0&&c.setIn(["task","disabledAgents"],a.task.disabledAgents);let g=`${b}.tmp-${process.pid}-${Date.now()}`;try{(0,d.writeFileSync)(g,c.toString(),"utf8"),(0,d.renameSync)(g,b)}catch(a){try{(0,d.existsSync)(g)&&(0,d.unlinkSync)(g)}catch{}throw a}}}};
1
+ "use strict";exports.id=8501,exports.ids=[8501],exports.modules={88501:(a,b,c)=>{c.d(b,{W:()=>z,r:()=>y});var d=c(29021),e=c(33873),f=c(63294),g=c(85887),h=c(20565);let i=new Set(["auto","minimal","low","medium","high","xhigh","max"]),j=new Set(["low","medium","high"]),k=new Set(["default","friendly","pragmatic","none"]),l=new Set(["off","1","3","5"]),m=new Set(["always-ask","write","yolo"]),n=new Set(["allow","prompt","deny"]),o=new Set(["cooldown-expiry","never"]),p=new Set(["snapcompact","handoff","context-full","shake","off"]),q=new Set(["off","local","mnemopi","hindsight"]),r=new Set(["global","per-project","per-project-tagged"]),s=new Set(["default","preferred","always"]);function t(a){return Array.isArray(a)&&a.every(a=>"string"==typeof a)?a:void 0}function u(a){if(!(0,h.u4)(a))return;let b={};for(let[c,d]of Object.entries(a))("string"==typeof d||t(d))&&(b[c]=d);return b}function v(a){if(!(0,h.u4)(a))return;let b={};for(let[c,d]of Object.entries(a))("boolean"==typeof d||"string"==typeof d)&&(b[c]=d);return b}function w(a,b){if(void 0!==a&&!(0,h.u4)(a))throw Error(`${b} must be an object`)}function x(){let a=(0,g.pA)(),b=(0,f.Tp)((0,d.existsSync)(a)?(0,d.readFileSync)(a,"utf8"):"");if(b.errors.length>0)throw Error(`${a} is not valid YAML: ${b.errors[0].message}`);return{path:a,doc:b}}function y(){let{path:a,doc:b}=x(),c=b.toJS();if(!(0,h.u4)(c))return{path:a,settings:{}};let d=(0,h.u4)(c.advisor)?c.advisor:{},e=(0,h.u4)(c.tools)?c.tools:{},f=(0,h.u4)(e.approval)?e.approval:{},g=(0,h.u4)(c.retry)?c.retry:{},w=(0,h.u4)(g.fallbackChains)?Object.fromEntries(Object.entries(g.fallbackChains).filter(a=>"string"==typeof a[0]&&void 0!==t(a[1]))):{},y=(0,h.u4)(c.compaction)?c.compaction:{},z=(0,h.u4)(c.memory)?c.memory:{},A=(0,h.u4)(c.autolearn)?c.autolearn:{},B=(0,h.u4)(c.mnemopi)?c.mnemopi:{},C=(0,h.u4)(c.mcp)?c.mcp:{},D=(0,h.u4)(c.task)?c.task:{},E=[c.enabledModels,c.disabledProviders,c.modelProviderOrder].some(a=>Array.isArray(a)&&!a.every(a=>"string"==typeof a));return{path:a,settings:{...i.has(c.defaultThinkingLevel)?{defaultThinkingLevel:c.defaultThinkingLevel}:{},..."boolean"==typeof c.hideThinkingBlock?{hideThinkingBlock:c.hideThinkingBlock}:{},..."boolean"==typeof c.externalThinking?{externalThinking:c.externalThinking}:{},...j.has(c.textVerbosity)?{textVerbosity:c.textVerbosity}:{},...k.has(c.personality)?{personality:c.personality}:{},...Object.keys(d).length?{advisor:{..."boolean"==typeof d.enabled?{enabled:d.enabled}:{},..."boolean"==typeof d.subagents?{subagents:d.subagents}:{},...l.has(d.syncBacklog)?{syncBacklog:d.syncBacklog}:{},..."number"==typeof d.immuneTurns&&Number.isInteger(d.immuneTurns)?{immuneTurns:d.immuneTurns}:{}}}:{},...Object.keys(e).length?{tools:{...m.has(e.approvalMode)?{approvalMode:e.approvalMode}:{},...n.has(f.bash)||"allow"===f.extension||"prompt"===f.extension?{approval:{...n.has(f.bash)?{bash:f.bash}:{},..."allow"===f.extension||"prompt"===f.extension?{extension:f.extension}:{}}}:{}}}:{},...t(c.enabledModels)?{enabledModels:t(c.enabledModels)}:{},...t(c.disabledProviders)?{disabledProviders:t(c.disabledProviders)}:{},...t(c.modelProviderOrder)?{modelProviderOrder:t(c.modelProviderOrder)}:{},...E?{registryHasScopedEntries:!0}:{},...Object.keys(g).length?{retry:{..."boolean"==typeof g.enabled?{enabled:g.enabled}:{},..."number"==typeof g.maxRetries&&Number.isInteger(g.maxRetries)?{maxRetries:g.maxRetries}:{},..."boolean"==typeof g.modelFallback?{modelFallback:g.modelFallback}:{},...o.has(g.fallbackRevertPolicy)?{fallbackRevertPolicy:g.fallbackRevertPolicy}:{},...Object.keys(w).length?{fallbackChains:w}:{}}}:{},...Object.keys(y).length?{compaction:{..."boolean"==typeof y.enabled?{enabled:y.enabled}:{},..."boolean"==typeof y.midTurnEnabled?{midTurnEnabled:y.midTurnEnabled}:{},...p.has(y.strategy)?{strategy:y.strategy}:{},..."boolean"==typeof y.autoContinue?{autoContinue:y.autoContinue}:{},..."boolean"==typeof y.remoteEnabled?{remoteEnabled:y.remoteEnabled}:{},..."number"==typeof y.keepRecentTokens&&Number.isInteger(y.keepRecentTokens)?{keepRecentTokens:y.keepRecentTokens}:{}}}:{},...Object.keys(z).length?{memory:{...q.has(z.backend)?{backend:z.backend}:{}}}:{},...Object.keys(A).length?{autolearn:{..."boolean"==typeof A.enabled?{enabled:A.enabled}:{},..."boolean"==typeof A.autoContinue?{autoContinue:A.autoContinue}:{},..."number"==typeof A.minToolCalls&&Number.isInteger(A.minToolCalls)?{minToolCalls:A.minToolCalls}:{}}}:{},...Object.keys(B).length?{mnemopi:{...r.has(B.scoping)?{scoping:B.scoping}:{},..."boolean"==typeof B.autoRecall?{autoRecall:B.autoRecall}:{},..."boolean"==typeof B.autoRetain?{autoRetain:B.autoRetain}:{},..."boolean"==typeof B.noEmbeddings?{noEmbeddings:B.noEmbeddings}:{}}}:{},...Object.keys(C).length?{mcp:{..."boolean"==typeof C.enableProjectConfig?{enableProjectConfig:C.enableProjectConfig}:{},..."boolean"==typeof C.renderMarkdownResults?{renderMarkdownResults:C.renderMarkdownResults}:{},..."boolean"==typeof C.notifications?{notifications:C.notifications}:{},..."number"==typeof C.notificationDebounceMs&&Number.isInteger(C.notificationDebounceMs)?{notificationDebounceMs:C.notificationDebounceMs}:{}}}:{},...Object.keys(D).length?{task:{...s.has(D.eager)?{eager:D.eager}:{},..."boolean"==typeof D.prewalk?{prewalk:D.prewalk}:{},...u(D.agentModelOverrides)?{agentModelOverrides:u(D.agentModelOverrides)}:{},...v(D.agentPrewalk)?{agentPrewalk:v(D.agentPrewalk)}:{},...v(D.agentAdvisor)?{agentAdvisor:v(D.agentAdvisor)}:{},...t(D.disabledAgents)?{disabledAgents:t(D.disabledAgents)}:{}}}:{}}}}function z(a){if(!(0,h.u4)(a))throw Error("Settings must be an object");for(let[b,c]of(w(a.advisor,"advisor"),w(a.tools,"tools"),w(a.tools?.approval,"tools.approval"),w(a.retry,"retry"),w(a.compaction,"compaction"),w(a.memory,"memory"),w(a.autolearn,"autolearn"),w(a.mnemopi,"mnemopi"),w(a.mcp,"mcp"),w(a.task,"task"),Object.entries({hideThinkingBlock:a.hideThinkingBlock,externalThinking:a.externalThinking,"advisor.enabled":a.advisor?.enabled,"advisor.subagents":a.advisor?.subagents,"retry.enabled":a.retry?.enabled,"retry.modelFallback":a.retry?.modelFallback,"compaction.enabled":a.compaction?.enabled,"compaction.midTurnEnabled":a.compaction?.midTurnEnabled,"compaction.autoContinue":a.compaction?.autoContinue,"compaction.remoteEnabled":a.compaction?.remoteEnabled,"autolearn.enabled":a.autolearn?.enabled,"autolearn.autoContinue":a.autolearn?.autoContinue,"mnemopi.autoRecall":a.mnemopi?.autoRecall,"mnemopi.autoRetain":a.mnemopi?.autoRetain,"mnemopi.noEmbeddings":a.mnemopi?.noEmbeddings,"mcp.enableProjectConfig":a.mcp?.enableProjectConfig,"mcp.renderMarkdownResults":a.mcp?.renderMarkdownResults,"mcp.notifications":a.mcp?.notifications,"task.prewalk":a.task?.prewalk})))if(void 0!==c&&"boolean"!=typeof c)throw Error(`${b} must be a boolean`);for(let[b,c]of Object.entries(a.task?.agentModelOverrides??{}))if("string"==typeof c){if(!c.trim())throw Error(`task.agentModelOverrides.${b} must be a non-empty string`)}else if(t(c)){if(c.some(a=>!a.trim()))throw Error(`task.agentModelOverrides.${b} must contain non-empty strings`)}else throw Error(`task.agentModelOverrides.${b} must be a string or string array`);for(let[b,c]of[["agentPrewalk",a.task?.agentPrewalk],["agentAdvisor",a.task?.agentAdvisor]])for(let[a,d]of Object.entries(c??{}))if("boolean"!=typeof d&&"string"!=typeof d)throw Error(`task.${b}.${a} must be a boolean or string`);if(a.task?.disabledAgents!==void 0&&(!t(a.task.disabledAgents)||a.task.disabledAgents.some(a=>!a.trim())))throw Error("task.disabledAgents must contain non-empty strings");if(a.task?.eager!==void 0&&!s.has(a.task.eager))throw Error("Invalid task eager preference");if(void 0!==a.defaultThinkingLevel&&!i.has(a.defaultThinkingLevel))throw Error("Invalid default thinking level");if(void 0!==a.textVerbosity&&!j.has(a.textVerbosity))throw Error("Invalid text verbosity");if(void 0!==a.personality&&!k.has(a.personality))throw Error("Invalid personality");if(a.advisor?.syncBacklog!==void 0&&!l.has(a.advisor.syncBacklog))throw Error("Invalid advisor sync backlog");if(a.advisor?.immuneTurns!==void 0&&(!Number.isInteger(a.advisor.immuneTurns)||a.advisor.immuneTurns<0||a.advisor.immuneTurns>20))throw Error("Advisor immune turns must be an integer between 0 and 20");if(a.tools?.approvalMode!==void 0&&!m.has(a.tools.approvalMode))throw Error("Invalid approval mode");if(a.tools?.approval?.bash!==void 0&&!n.has(a.tools.approval.bash))throw Error("Invalid Bash approval policy");if(a.tools?.approval?.extension!==void 0&&"allow"!==a.tools.approval.extension&&"prompt"!==a.tools.approval.extension)throw Error("Invalid extension tool approval policy");if(a.retry?.maxRetries!==void 0&&(!Number.isInteger(a.retry.maxRetries)||a.retry.maxRetries<0||a.retry.maxRetries>20))throw Error("Retry attempts must be an integer between 0 and 20");if(a.retry?.fallbackRevertPolicy!==void 0&&!o.has(a.retry.fallbackRevertPolicy))throw Error("Invalid fallback revert policy");if(a.retry?.fallbackChains!==void 0){for(let[b,c]of Object.entries(a.retry.fallbackChains))if(!b.trim()||!Array.isArray(c)||c.some(a=>"string"!=typeof a||!a.trim()))throw Error("Fallback chains require non-empty role and model selectors")}if(a.compaction?.strategy!==void 0&&!p.has(a.compaction.strategy))throw Error("Invalid compaction strategy");if(a.compaction?.keepRecentTokens!==void 0&&(!Number.isInteger(a.compaction.keepRecentTokens)||a.compaction.keepRecentTokens<1e3||a.compaction.keepRecentTokens>1e6))throw Error("Compaction retained tokens must be an integer between 1,000 and 1,000,000");if(a.memory?.backend!==void 0&&!q.has(a.memory.backend))throw Error("Invalid memory backend");if(a.autolearn?.minToolCalls!==void 0&&(!Number.isInteger(a.autolearn.minToolCalls)||a.autolearn.minToolCalls<0||a.autolearn.minToolCalls>100))throw Error("Auto-learn minimum tool calls must be an integer between 0 and 100");if(a.mnemopi?.scoping!==void 0&&!r.has(a.mnemopi.scoping))throw Error("Invalid Mnemopi memory scope");if(a.mcp?.notificationDebounceMs!==void 0&&(!Number.isInteger(a.mcp.notificationDebounceMs)||a.mcp.notificationDebounceMs<0||a.mcp.notificationDebounceMs>6e4))throw Error("MCP notification debounce must be an integer between 0 and 60,000");for(let[b,c]of Object.entries({enabledModels:a.enabledModels,disabledProviders:a.disabledProviders,modelProviderOrder:a.modelProviderOrder}))if(void 0!==c&&(!Array.isArray(c)||c.some(a=>"string"!=typeof a||!a.trim())))throw Error(`${b} must contain non-empty strings`);let{path:b,doc:c}=x();if((0,d.mkdirSync)((0,e.dirname)(b),{recursive:!0}),null===c.contents){let c=`${b}.tmp-${process.pid}-${Date.now()}`;try{(0,d.writeFileSync)(c,(0,f.As)(a),"utf8"),(0,d.renameSync)(c,b)}catch(a){try{(0,d.existsSync)(c)&&(0,d.unlinkSync)(c)}catch{}throw a}return}if(!(0,f.jh)(c.contents))throw Error(`${b} must contain a YAML mapping`);for(let[b,d]of(void 0!==a.defaultThinkingLevel&&c.set("defaultThinkingLevel",a.defaultThinkingLevel),void 0!==a.hideThinkingBlock&&c.set("hideThinkingBlock",a.hideThinkingBlock),void 0!==a.externalThinking&&c.set("externalThinking",a.externalThinking),void 0!==a.textVerbosity&&c.set("textVerbosity",a.textVerbosity),void 0!==a.personality&&c.set("personality",a.personality),Object.entries(a.advisor??{})))c.setIn(["advisor",b],d);for(let[b,d]of(a.tools?.approvalMode!==void 0&&c.setIn(["tools","approvalMode"],a.tools.approvalMode),a.tools?.approval?.bash!==void 0&&c.setIn(["tools","approval","bash"],a.tools.approval.bash),a.tools?.approval?.extension!==void 0&&c.setIn(["tools","approval","extension"],a.tools.approval.extension),void 0!==a.enabledModels&&c.set("enabledModels",a.enabledModels),void 0!==a.disabledProviders&&c.set("disabledProviders",a.disabledProviders),void 0!==a.modelProviderOrder&&c.set("modelProviderOrder",a.modelProviderOrder),Object.entries(a.retry??{})))c.setIn(["retry",b],d);for(let[b,d]of Object.entries(a.compaction??{}))c.setIn(["compaction",b],d);for(let[b,d]of Object.entries(a.memory??{}))c.setIn(["memory",b],d);for(let[b,d]of Object.entries(a.autolearn??{}))c.setIn(["autolearn",b],d);for(let[b,d]of Object.entries(a.mnemopi??{}))c.setIn(["mnemopi",b],d);for(let[b,d]of Object.entries(a.mcp??{}))c.setIn(["mcp",b],d);a.task?.eager!==void 0&&c.setIn(["task","eager"],a.task.eager),a.task?.prewalk!==void 0&&c.setIn(["task","prewalk"],a.task.prewalk),a.task?.agentModelOverrides!==void 0&&c.setIn(["task","agentModelOverrides"],a.task.agentModelOverrides),a.task?.agentPrewalk!==void 0&&c.setIn(["task","agentPrewalk"],a.task.agentPrewalk),a.task?.agentAdvisor!==void 0&&c.setIn(["task","agentAdvisor"],a.task.agentAdvisor),a.task?.disabledAgents!==void 0&&c.setIn(["task","disabledAgents"],a.task.disabledAgents);let g=`${b}.tmp-${process.pid}-${Date.now()}`;try{(0,d.writeFileSync)(g,c.toString(),"utf8"),(0,d.renameSync)(g,b)}catch(a){try{(0,d.existsSync)(g)&&(0,d.unlinkSync)(g)}catch{}throw a}}}};