@37chengshan/ompweb 4.0.3 → 4.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +12 -9
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/react-loadable-manifest.json +4 -4
  5. package/.next/required-server-files.js +2 -2
  6. package/.next/required-server-files.json +2 -2
  7. package/.next/routes-manifest.json +42 -2
  8. package/.next/server/app/_global-error/page.js +1 -1
  9. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_global-error.html +1 -1
  11. package/.next/server/app/_global-error.rsc +2 -2
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  13. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
  14. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/server/app/_not-found/page.js +1 -1
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.rsc +2 -2
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  21. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  22. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  23. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  24. package/.next/server/app/api/agent/[id]/route.js +1 -1
  25. package/.next/server/app/api/agent/new/route.js +1 -1
  26. package/.next/server/app/api/agent/running/events/route.js +1 -1
  27. package/.next/server/app/api/agents/route.js +1 -1
  28. package/.next/server/app/api/app-update/releases/route.js +1 -0
  29. package/.next/server/app/api/app-update/releases/route.js.nft.json +1 -0
  30. package/.next/server/app/api/app-update/releases/route_client-reference-manifest.js +1 -0
  31. package/.next/server/app/api/app-update/route.js +1 -1
  32. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  33. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  34. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  35. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  36. package/.next/server/app/api/auth/providers/route.js +1 -1
  37. package/.next/server/app/api/cwd/browse/route.js +1 -1
  38. package/.next/server/app/api/cwd/validate/route.js +1 -1
  39. package/.next/server/app/api/default-cwd/route.js +1 -1
  40. package/.next/server/app/api/diagnostics/route.js +1 -0
  41. package/.next/server/app/api/diagnostics/route.js.nft.json +1 -0
  42. package/.next/server/app/api/diagnostics/route_client-reference-manifest.js +1 -0
  43. package/.next/server/app/api/file-index/route.js +1 -1
  44. package/.next/server/app/api/files/[...path]/route.js +2 -2
  45. package/.next/server/app/api/git/diff/route.js +2 -2
  46. package/.next/server/app/api/git/status/route.js +2 -2
  47. package/.next/server/app/api/github/status/route.js +1 -1
  48. package/.next/server/app/api/github/status/route.js.nft.json +1 -1
  49. package/.next/server/app/api/home/route.js +1 -1
  50. package/.next/server/app/api/mcp/route.js +2 -2
  51. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  52. package/.next/server/app/api/model-roles/route.js +1 -1
  53. package/.next/server/app/api/models/fetch/route.js +1 -1
  54. package/.next/server/app/api/models/route.js +1 -1
  55. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  56. package/.next/server/app/api/models-config/route.js +1 -1
  57. package/.next/server/app/api/models-config/test/route.js +1 -1
  58. package/.next/server/app/api/omp-settings/route.js +1 -1
  59. package/.next/server/app/api/omp-update/route.js +2 -2
  60. package/.next/server/app/api/omp-version/route.js +1 -1
  61. package/.next/server/app/api/plugins/route.js +1 -1
  62. package/.next/server/app/api/projects/route.js +2 -2
  63. package/.next/server/app/api/providers/enable/route.js +1 -1
  64. package/.next/server/app/api/proxy/route.js +1 -0
  65. package/.next/server/app/api/proxy/route.js.nft.json +1 -0
  66. package/.next/server/app/api/proxy/route_client-reference-manifest.js +1 -0
  67. package/.next/server/app/api/reveal/route.js +1 -1
  68. package/.next/server/app/api/scripts/route.js +1 -1
  69. package/.next/server/app/api/scripts/run/route.js +1 -1
  70. package/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  71. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  72. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  73. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  74. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  75. package/.next/server/app/api/sessions/[id]/plan/route.js +1 -1
  76. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  77. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  78. package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route.js +1 -1
  79. package/.next/server/app/api/sessions/[id]/subagents/route.js +1 -1
  80. package/.next/server/app/api/sessions/archive/route.js +1 -1
  81. package/.next/server/app/api/sessions/import/route.js +1 -1
  82. package/.next/server/app/api/sessions/route.js +1 -1
  83. package/.next/server/app/api/skills/check/route.js +1 -1
  84. package/.next/server/app/api/skills/install/route.js +1 -1
  85. package/.next/server/app/api/skills/route.js +1 -1
  86. package/.next/server/app/api/skills/search/route.js +1 -1
  87. package/.next/server/app/api/skills/update/route.js +1 -1
  88. package/.next/server/app/api/terminal/input/route.js +3 -3
  89. package/.next/server/app/api/terminal/open/route.js +1 -1
  90. package/.next/server/app/api/terminal/resize/route.js +3 -3
  91. package/.next/server/app/api/terminal/session/route.js +3 -3
  92. package/.next/server/app/api/terminal/stream/route.js +4 -4
  93. package/.next/server/app/api/web-auth/session/route.js +1 -1
  94. package/.next/server/app/api/worktrees/route.js +1 -1
  95. package/.next/server/app/favicon.ico/route.js +1 -1
  96. package/.next/server/app/index.html +1 -1
  97. package/.next/server/app/index.rsc +3 -3
  98. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  99. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  100. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  101. package/.next/server/app/login/page.js +1 -1
  102. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  103. package/.next/server/app/login.html +1 -1
  104. package/.next/server/app/login.rsc +2 -2
  105. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  106. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  107. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  108. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  109. package/.next/server/app/page.js +1 -1
  110. package/.next/server/app/page_client-reference-manifest.js +1 -1
  111. package/.next/server/app-paths-manifest.json +12 -9
  112. package/.next/server/chunks/2760.js +5 -0
  113. package/.next/server/chunks/3798.js +5 -5
  114. package/.next/server/chunks/5309.js +1 -1
  115. package/.next/server/instrumentation.js +1 -1
  116. package/.next/server/instrumentation.js.nft.json +1 -1
  117. package/.next/server/middleware-build-manifest.js +1 -1
  118. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  119. package/.next/server/middleware.js +3 -3
  120. package/.next/server/next-font-manifest.js +1 -1
  121. package/.next/server/next-font-manifest.json +1 -1
  122. package/.next/server/pages/404.html +1 -1
  123. package/.next/server/pages/500.html +1 -1
  124. package/.next/standalone/.next/BUILD_ID +1 -1
  125. package/.next/standalone/.next/app-path-routes-manifest.json +12 -9
  126. package/.next/standalone/.next/build-manifest.json +3 -3
  127. package/.next/standalone/.next/react-loadable-manifest.json +4 -4
  128. package/.next/standalone/.next/required-server-files.json +2 -2
  129. package/.next/standalone/.next/routes-manifest.json +42 -2
  130. package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
  131. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  133. package/.next/standalone/.next/server/app/_global-error.rsc +2 -2
  134. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  135. package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
  136. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  137. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  138. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  140. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  141. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  142. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  143. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  144. package/.next/standalone/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  145. package/.next/standalone/.next/server/app/api/agent/[id]/events/route.js +2 -2
  146. package/.next/standalone/.next/server/app/api/agent/[id]/route.js +1 -1
  147. package/.next/standalone/.next/server/app/api/agent/new/route.js +1 -1
  148. package/.next/standalone/.next/server/app/api/agent/running/events/route.js +1 -1
  149. package/.next/standalone/.next/server/app/api/agents/route.js +1 -1
  150. package/.next/standalone/.next/server/app/api/app-update/releases/route.js +1 -0
  151. package/.next/standalone/.next/server/app/api/app-update/releases/route.js.nft.json +1 -0
  152. package/.next/standalone/.next/server/app/api/app-update/releases/route_client-reference-manifest.js +1 -0
  153. package/.next/standalone/.next/server/app/api/app-update/route.js +1 -1
  154. package/.next/standalone/.next/server/app/api/auth/all-providers/route.js +1 -1
  155. package/.next/standalone/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  156. package/.next/standalone/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  157. package/.next/standalone/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  158. package/.next/standalone/.next/server/app/api/auth/providers/route.js +1 -1
  159. package/.next/standalone/.next/server/app/api/cwd/browse/route.js +1 -1
  160. package/.next/standalone/.next/server/app/api/cwd/validate/route.js +1 -1
  161. package/.next/standalone/.next/server/app/api/default-cwd/route.js +1 -1
  162. package/.next/standalone/.next/server/app/api/diagnostics/route.js +1 -0
  163. package/.next/standalone/.next/server/app/api/diagnostics/route.js.nft.json +1 -0
  164. package/.next/standalone/.next/server/app/api/diagnostics/route_client-reference-manifest.js +1 -0
  165. package/.next/standalone/.next/server/app/api/file-index/route.js +1 -1
  166. package/.next/standalone/.next/server/app/api/files/[...path]/route.js +2 -2
  167. package/.next/standalone/.next/server/app/api/git/diff/route.js +2 -2
  168. package/.next/standalone/.next/server/app/api/git/status/route.js +2 -2
  169. package/.next/standalone/.next/server/app/api/github/status/route.js +1 -1
  170. package/.next/standalone/.next/server/app/api/github/status/route.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/api/home/route.js +1 -1
  172. package/.next/standalone/.next/server/app/api/mcp/route.js +2 -2
  173. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/app/api/model-roles/route.js +1 -1
  175. package/.next/standalone/.next/server/app/api/models/fetch/route.js +1 -1
  176. package/.next/standalone/.next/server/app/api/models/route.js +1 -1
  177. package/.next/standalone/.next/server/app/api/models-config/catalog/route.js +1 -1
  178. package/.next/standalone/.next/server/app/api/models-config/route.js +1 -1
  179. package/.next/standalone/.next/server/app/api/models-config/test/route.js +1 -1
  180. package/.next/standalone/.next/server/app/api/omp-settings/route.js +1 -1
  181. package/.next/standalone/.next/server/app/api/omp-update/route.js +2 -2
  182. package/.next/standalone/.next/server/app/api/omp-version/route.js +1 -1
  183. package/.next/standalone/.next/server/app/api/plugins/route.js +1 -1
  184. package/.next/standalone/.next/server/app/api/projects/route.js +2 -2
  185. package/.next/standalone/.next/server/app/api/providers/enable/route.js +1 -1
  186. package/.next/standalone/.next/server/app/api/proxy/route.js +1 -0
  187. package/.next/standalone/.next/server/app/api/proxy/route.js.nft.json +1 -0
  188. package/.next/standalone/.next/server/app/api/proxy/route_client-reference-manifest.js +1 -0
  189. package/.next/standalone/.next/server/app/api/reveal/route.js +1 -1
  190. package/.next/standalone/.next/server/app/api/scripts/route.js +1 -1
  191. package/.next/standalone/.next/server/app/api/scripts/run/route.js +1 -1
  192. package/.next/standalone/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  193. package/.next/standalone/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  194. package/.next/standalone/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  195. package/.next/standalone/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  196. package/.next/standalone/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  197. package/.next/standalone/.next/server/app/api/sessions/[id]/plan/route.js +1 -1
  198. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js +1 -1
  199. package/.next/standalone/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  200. package/.next/standalone/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route.js +1 -1
  201. package/.next/standalone/.next/server/app/api/sessions/[id]/subagents/route.js +1 -1
  202. package/.next/standalone/.next/server/app/api/sessions/archive/route.js +1 -1
  203. package/.next/standalone/.next/server/app/api/sessions/import/route.js +1 -1
  204. package/.next/standalone/.next/server/app/api/sessions/route.js +1 -1
  205. package/.next/standalone/.next/server/app/api/skills/check/route.js +1 -1
  206. package/.next/standalone/.next/server/app/api/skills/install/route.js +1 -1
  207. package/.next/standalone/.next/server/app/api/skills/route.js +1 -1
  208. package/.next/standalone/.next/server/app/api/skills/search/route.js +1 -1
  209. package/.next/standalone/.next/server/app/api/skills/update/route.js +1 -1
  210. package/.next/standalone/.next/server/app/api/terminal/input/route.js +3 -3
  211. package/.next/standalone/.next/server/app/api/terminal/open/route.js +1 -1
  212. package/.next/standalone/.next/server/app/api/terminal/resize/route.js +3 -3
  213. package/.next/standalone/.next/server/app/api/terminal/session/route.js +3 -3
  214. package/.next/standalone/.next/server/app/api/terminal/stream/route.js +4 -4
  215. package/.next/standalone/.next/server/app/api/web-auth/session/route.js +1 -1
  216. package/.next/standalone/.next/server/app/api/worktrees/route.js +1 -1
  217. package/.next/standalone/.next/server/app/favicon.ico/route.js +1 -1
  218. package/.next/standalone/.next/server/app/index.html +1 -1
  219. package/.next/standalone/.next/server/app/index.rsc +3 -3
  220. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  221. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  222. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  223. package/.next/standalone/.next/server/app/login/page.js +1 -1
  224. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  225. package/.next/standalone/.next/server/app/login.html +1 -1
  226. package/.next/standalone/.next/server/app/login.rsc +2 -2
  227. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
  228. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  229. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  230. package/.next/standalone/.next/server/app/manifest.webmanifest/route.js +2 -2
  231. package/.next/standalone/.next/server/app/page.js +1 -1
  232. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  233. package/.next/standalone/.next/server/app-paths-manifest.json +12 -9
  234. package/.next/standalone/.next/server/chunks/2760.js +5 -0
  235. package/.next/standalone/.next/server/chunks/3798.js +5 -5
  236. package/.next/standalone/.next/server/chunks/5309.js +1 -1
  237. package/.next/standalone/.next/server/instrumentation.js +1 -1
  238. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  239. package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  240. package/.next/standalone/.next/server/middleware.js +3 -3
  241. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  242. package/.next/standalone/.next/server/next-font-manifest.json +1 -1
  243. package/.next/standalone/.next/server/pages/404.html +1 -1
  244. package/.next/standalone/.next/server/pages/500.html +1 -1
  245. package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/linux-arm64-unpacked/resources/standalone/.omp/mcp.json +11 -0
  246. package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/.omp/mcp.json +11 -0
  247. package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/linux-arm64-unpacked/resources/standalone/.omp/mcp.json +11 -0
  248. package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/.omp/mcp.json +11 -0
  249. package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/linux-arm64-unpacked/resources/standalone/.omp/mcp.json +11 -0
  250. package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/.omp/mcp.json +11 -0
  251. package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/linux-arm64-unpacked/resources/standalone/.omp/mcp.json +11 -0
  252. package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/.omp/mcp.json +11 -0
  253. package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/win-arm64-unpacked/resources/standalone/.omp/mcp.json +11 -0
  254. package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/win-arm64-unpacked/resources/standalone/.omp/mcp.json +11 -0
  255. package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/win-arm64-unpacked/resources/standalone/.omp/mcp.json +11 -0
  256. package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/win-arm64-unpacked/resources/standalone/.omp/mcp.json +11 -0
  257. package/.next/standalone/package.json +22 -4
  258. package/.next/standalone/server.js +1 -1
  259. package/.next/static/chunks/1147.cb989e1cb0ba5ad6.js +126 -0
  260. package/.next/static/chunks/2584-d4cd2d8de76d5e35.js +1 -0
  261. package/.next/static/chunks/{3550.d3f97c806e3623e2.js → 3596.9fdb605d40673ac8.js} +1 -1
  262. package/.next/static/chunks/app/_global-error/page-b24b35e3a039f3af.js +1 -0
  263. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-b24b35e3a039f3af.js +1 -0
  264. package/.next/static/chunks/app/api/agent/[id]/events/route-b24b35e3a039f3af.js +1 -0
  265. package/.next/static/chunks/app/api/agent/[id]/route-b24b35e3a039f3af.js +1 -0
  266. package/.next/static/chunks/app/api/agent/new/route-b24b35e3a039f3af.js +1 -0
  267. package/.next/static/chunks/app/api/agent/running/events/route-b24b35e3a039f3af.js +1 -0
  268. package/.next/static/chunks/app/api/agents/route-b24b35e3a039f3af.js +1 -0
  269. package/.next/static/chunks/app/api/app-update/releases/route-b24b35e3a039f3af.js +1 -0
  270. package/.next/static/chunks/app/api/app-update/route-b24b35e3a039f3af.js +1 -0
  271. package/.next/static/chunks/app/api/auth/all-providers/route-b24b35e3a039f3af.js +1 -0
  272. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-b24b35e3a039f3af.js +1 -0
  273. package/.next/static/chunks/app/api/auth/login/[provider]/route-b24b35e3a039f3af.js +1 -0
  274. package/.next/static/chunks/app/api/auth/logout/[provider]/route-b24b35e3a039f3af.js +1 -0
  275. package/.next/static/chunks/app/api/auth/providers/route-b24b35e3a039f3af.js +1 -0
  276. package/.next/static/chunks/app/api/cwd/browse/route-b24b35e3a039f3af.js +1 -0
  277. package/.next/static/chunks/app/api/cwd/validate/route-b24b35e3a039f3af.js +1 -0
  278. package/.next/static/chunks/app/api/default-cwd/route-b24b35e3a039f3af.js +1 -0
  279. package/.next/static/chunks/app/api/diagnostics/route-b24b35e3a039f3af.js +1 -0
  280. package/.next/static/chunks/app/api/file-index/route-b24b35e3a039f3af.js +1 -0
  281. package/.next/static/chunks/app/api/files/[...path]/route-b24b35e3a039f3af.js +1 -0
  282. package/.next/static/chunks/app/api/git/diff/route-b24b35e3a039f3af.js +1 -0
  283. package/.next/static/chunks/app/api/git/status/route-b24b35e3a039f3af.js +1 -0
  284. package/.next/static/chunks/app/api/github/status/route-b24b35e3a039f3af.js +1 -0
  285. package/.next/static/chunks/app/api/home/route-b24b35e3a039f3af.js +1 -0
  286. package/.next/static/chunks/app/api/mcp/route-b24b35e3a039f3af.js +1 -0
  287. package/.next/static/chunks/app/api/model-roles/route-b24b35e3a039f3af.js +1 -0
  288. package/.next/static/chunks/app/api/models/fetch/route-b24b35e3a039f3af.js +1 -0
  289. package/.next/static/chunks/app/api/models/route-b24b35e3a039f3af.js +1 -0
  290. package/.next/static/chunks/app/api/models-config/catalog/route-b24b35e3a039f3af.js +1 -0
  291. package/.next/static/chunks/app/api/models-config/route-b24b35e3a039f3af.js +1 -0
  292. package/.next/static/chunks/app/api/models-config/test/route-b24b35e3a039f3af.js +1 -0
  293. package/.next/static/chunks/app/api/omp-settings/route-b24b35e3a039f3af.js +1 -0
  294. package/.next/static/chunks/app/api/omp-update/route-b24b35e3a039f3af.js +1 -0
  295. package/.next/static/chunks/app/api/omp-version/route-b24b35e3a039f3af.js +1 -0
  296. package/.next/static/chunks/app/api/plugins/route-b24b35e3a039f3af.js +1 -0
  297. package/.next/static/chunks/app/api/projects/route-b24b35e3a039f3af.js +1 -0
  298. package/.next/static/chunks/app/api/providers/enable/route-b24b35e3a039f3af.js +1 -0
  299. package/.next/static/chunks/app/api/proxy/route-b24b35e3a039f3af.js +1 -0
  300. package/.next/static/chunks/app/api/reveal/route-b24b35e3a039f3af.js +1 -0
  301. package/.next/static/chunks/app/api/scripts/route-b24b35e3a039f3af.js +1 -0
  302. package/.next/static/chunks/app/api/scripts/run/route-b24b35e3a039f3af.js +1 -0
  303. package/.next/static/chunks/app/api/sessions/[id]/archive/route-b24b35e3a039f3af.js +1 -0
  304. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-b24b35e3a039f3af.js +1 -0
  305. package/.next/static/chunks/app/api/sessions/[id]/context/route-b24b35e3a039f3af.js +1 -0
  306. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-b24b35e3a039f3af.js +1 -0
  307. package/.next/static/chunks/app/api/sessions/[id]/export/route-b24b35e3a039f3af.js +1 -0
  308. package/.next/static/chunks/app/api/sessions/[id]/plan/route-b24b35e3a039f3af.js +1 -0
  309. package/.next/static/chunks/app/api/sessions/[id]/route-b24b35e3a039f3af.js +1 -0
  310. package/.next/static/chunks/app/api/sessions/[id]/state/route-b24b35e3a039f3af.js +1 -0
  311. package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-b24b35e3a039f3af.js +1 -0
  312. package/.next/static/chunks/app/api/sessions/[id]/subagents/route-b24b35e3a039f3af.js +1 -0
  313. package/.next/static/chunks/app/api/sessions/archive/route-b24b35e3a039f3af.js +1 -0
  314. package/.next/static/chunks/app/api/sessions/import/route-b24b35e3a039f3af.js +1 -0
  315. package/.next/static/chunks/app/api/sessions/route-b24b35e3a039f3af.js +1 -0
  316. package/.next/static/chunks/app/api/skills/check/route-b24b35e3a039f3af.js +1 -0
  317. package/.next/static/chunks/app/api/skills/install/route-b24b35e3a039f3af.js +1 -0
  318. package/.next/static/chunks/app/api/skills/route-b24b35e3a039f3af.js +1 -0
  319. package/.next/static/chunks/app/api/skills/search/route-b24b35e3a039f3af.js +1 -0
  320. package/.next/static/chunks/app/api/skills/update/route-b24b35e3a039f3af.js +1 -0
  321. package/.next/static/chunks/app/api/terminal/input/route-b24b35e3a039f3af.js +1 -0
  322. package/.next/static/chunks/app/api/terminal/open/route-b24b35e3a039f3af.js +1 -0
  323. package/.next/static/chunks/app/api/terminal/resize/route-b24b35e3a039f3af.js +1 -0
  324. package/.next/static/chunks/app/api/terminal/session/route-b24b35e3a039f3af.js +1 -0
  325. package/.next/static/chunks/app/api/terminal/stream/route-b24b35e3a039f3af.js +1 -0
  326. package/.next/static/chunks/app/api/web-auth/session/route-b24b35e3a039f3af.js +1 -0
  327. package/.next/static/chunks/app/api/worktrees/route-b24b35e3a039f3af.js +1 -0
  328. package/.next/static/chunks/app/manifest.webmanifest/route-b24b35e3a039f3af.js +1 -0
  329. package/.next/static/chunks/app/{page-122708b0165e41be.js → page-e7e7426ef3ec9ec1.js} +1 -1
  330. package/.next/static/chunks/next/dist/client/components/builtin/app-error-b24b35e3a039f3af.js +1 -0
  331. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-b24b35e3a039f3af.js +1 -0
  332. package/.next/static/chunks/next/dist/client/components/builtin/not-found-b24b35e3a039f3af.js +1 -0
  333. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b24b35e3a039f3af.js +1 -0
  334. package/.next/static/chunks/webpack-b10306427dc17cac.js +1 -0
  335. package/.next/static/db1mVu1uee4ag1NduRcLL/_buildManifest.js +1 -0
  336. package/README.md +7 -20
  337. package/README.zh-CN.md +7 -20
  338. package/desktop/main.js +47 -2
  339. package/next.config.ts +49 -23
  340. package/package.json +22 -4
  341. package/public/trayTemplate.png +0 -0
  342. package/.next/server/chunks/7834.js +0 -5
  343. package/.next/standalone/.next/server/chunks/7834.js +0 -5
  344. package/.next/static/chunks/2584-f6cc0dc1511c8e00.js +0 -1
  345. package/.next/static/chunks/303.7d4586c12f686528.js +0 -126
  346. package/.next/static/chunks/app/_global-error/page-b0b6e7e566c944c1.js +0 -1
  347. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-b0b6e7e566c944c1.js +0 -1
  348. package/.next/static/chunks/app/api/agent/[id]/events/route-b0b6e7e566c944c1.js +0 -1
  349. package/.next/static/chunks/app/api/agent/[id]/route-b0b6e7e566c944c1.js +0 -1
  350. package/.next/static/chunks/app/api/agent/new/route-b0b6e7e566c944c1.js +0 -1
  351. package/.next/static/chunks/app/api/agent/running/events/route-b0b6e7e566c944c1.js +0 -1
  352. package/.next/static/chunks/app/api/agents/route-b0b6e7e566c944c1.js +0 -1
  353. package/.next/static/chunks/app/api/app-update/route-b0b6e7e566c944c1.js +0 -1
  354. package/.next/static/chunks/app/api/auth/all-providers/route-b0b6e7e566c944c1.js +0 -1
  355. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-b0b6e7e566c944c1.js +0 -1
  356. package/.next/static/chunks/app/api/auth/login/[provider]/route-b0b6e7e566c944c1.js +0 -1
  357. package/.next/static/chunks/app/api/auth/logout/[provider]/route-b0b6e7e566c944c1.js +0 -1
  358. package/.next/static/chunks/app/api/auth/providers/route-b0b6e7e566c944c1.js +0 -1
  359. package/.next/static/chunks/app/api/cwd/browse/route-b0b6e7e566c944c1.js +0 -1
  360. package/.next/static/chunks/app/api/cwd/validate/route-b0b6e7e566c944c1.js +0 -1
  361. package/.next/static/chunks/app/api/default-cwd/route-b0b6e7e566c944c1.js +0 -1
  362. package/.next/static/chunks/app/api/file-index/route-b0b6e7e566c944c1.js +0 -1
  363. package/.next/static/chunks/app/api/files/[...path]/route-b0b6e7e566c944c1.js +0 -1
  364. package/.next/static/chunks/app/api/git/diff/route-b0b6e7e566c944c1.js +0 -1
  365. package/.next/static/chunks/app/api/git/status/route-b0b6e7e566c944c1.js +0 -1
  366. package/.next/static/chunks/app/api/github/status/route-b0b6e7e566c944c1.js +0 -1
  367. package/.next/static/chunks/app/api/home/route-b0b6e7e566c944c1.js +0 -1
  368. package/.next/static/chunks/app/api/mcp/route-b0b6e7e566c944c1.js +0 -1
  369. package/.next/static/chunks/app/api/model-roles/route-b0b6e7e566c944c1.js +0 -1
  370. package/.next/static/chunks/app/api/models/fetch/route-b0b6e7e566c944c1.js +0 -1
  371. package/.next/static/chunks/app/api/models/route-b0b6e7e566c944c1.js +0 -1
  372. package/.next/static/chunks/app/api/models-config/catalog/route-b0b6e7e566c944c1.js +0 -1
  373. package/.next/static/chunks/app/api/models-config/route-b0b6e7e566c944c1.js +0 -1
  374. package/.next/static/chunks/app/api/models-config/test/route-b0b6e7e566c944c1.js +0 -1
  375. package/.next/static/chunks/app/api/omp-settings/route-b0b6e7e566c944c1.js +0 -1
  376. package/.next/static/chunks/app/api/omp-update/route-b0b6e7e566c944c1.js +0 -1
  377. package/.next/static/chunks/app/api/omp-version/route-b0b6e7e566c944c1.js +0 -1
  378. package/.next/static/chunks/app/api/plugins/route-b0b6e7e566c944c1.js +0 -1
  379. package/.next/static/chunks/app/api/projects/route-b0b6e7e566c944c1.js +0 -1
  380. package/.next/static/chunks/app/api/providers/enable/route-b0b6e7e566c944c1.js +0 -1
  381. package/.next/static/chunks/app/api/reveal/route-b0b6e7e566c944c1.js +0 -1
  382. package/.next/static/chunks/app/api/scripts/route-b0b6e7e566c944c1.js +0 -1
  383. package/.next/static/chunks/app/api/scripts/run/route-b0b6e7e566c944c1.js +0 -1
  384. package/.next/static/chunks/app/api/sessions/[id]/archive/route-b0b6e7e566c944c1.js +0 -1
  385. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-b0b6e7e566c944c1.js +0 -1
  386. package/.next/static/chunks/app/api/sessions/[id]/context/route-b0b6e7e566c944c1.js +0 -1
  387. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-b0b6e7e566c944c1.js +0 -1
  388. package/.next/static/chunks/app/api/sessions/[id]/export/route-b0b6e7e566c944c1.js +0 -1
  389. package/.next/static/chunks/app/api/sessions/[id]/plan/route-b0b6e7e566c944c1.js +0 -1
  390. package/.next/static/chunks/app/api/sessions/[id]/route-b0b6e7e566c944c1.js +0 -1
  391. package/.next/static/chunks/app/api/sessions/[id]/state/route-b0b6e7e566c944c1.js +0 -1
  392. package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-b0b6e7e566c944c1.js +0 -1
  393. package/.next/static/chunks/app/api/sessions/[id]/subagents/route-b0b6e7e566c944c1.js +0 -1
  394. package/.next/static/chunks/app/api/sessions/archive/route-b0b6e7e566c944c1.js +0 -1
  395. package/.next/static/chunks/app/api/sessions/import/route-b0b6e7e566c944c1.js +0 -1
  396. package/.next/static/chunks/app/api/sessions/route-b0b6e7e566c944c1.js +0 -1
  397. package/.next/static/chunks/app/api/skills/check/route-b0b6e7e566c944c1.js +0 -1
  398. package/.next/static/chunks/app/api/skills/install/route-b0b6e7e566c944c1.js +0 -1
  399. package/.next/static/chunks/app/api/skills/route-b0b6e7e566c944c1.js +0 -1
  400. package/.next/static/chunks/app/api/skills/search/route-b0b6e7e566c944c1.js +0 -1
  401. package/.next/static/chunks/app/api/skills/update/route-b0b6e7e566c944c1.js +0 -1
  402. package/.next/static/chunks/app/api/terminal/input/route-b0b6e7e566c944c1.js +0 -1
  403. package/.next/static/chunks/app/api/terminal/open/route-b0b6e7e566c944c1.js +0 -1
  404. package/.next/static/chunks/app/api/terminal/resize/route-b0b6e7e566c944c1.js +0 -1
  405. package/.next/static/chunks/app/api/terminal/session/route-b0b6e7e566c944c1.js +0 -1
  406. package/.next/static/chunks/app/api/terminal/stream/route-b0b6e7e566c944c1.js +0 -1
  407. package/.next/static/chunks/app/api/web-auth/session/route-b0b6e7e566c944c1.js +0 -1
  408. package/.next/static/chunks/app/api/worktrees/route-b0b6e7e566c944c1.js +0 -1
  409. package/.next/static/chunks/app/manifest.webmanifest/route-b0b6e7e566c944c1.js +0 -1
  410. package/.next/static/chunks/next/dist/client/components/builtin/app-error-b0b6e7e566c944c1.js +0 -1
  411. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-b0b6e7e566c944c1.js +0 -1
  412. package/.next/static/chunks/next/dist/client/components/builtin/not-found-b0b6e7e566c944c1.js +0 -1
  413. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b0b6e7e566c944c1.js +0 -1
  414. package/.next/static/chunks/webpack-6821c41c73aad973.js +0 -1
  415. package/.next/static/pSABcr8MzgqcXzoz0WmZG/_buildManifest.js +0 -1
  416. /package/.next/static/{pSABcr8MzgqcXzoz0WmZG → db1mVu1uee4ag1NduRcLL}/_ssgManifest.js +0 -0
package/next.config.ts CHANGED
@@ -15,6 +15,15 @@ try {
15
15
  // chunk rule in development, make the browser cache dev chunks forever, and
16
16
  // produce stale "module factory is not available" / hydration errors after
17
17
  // every restart.
18
+ // Warm the effective network proxy into the process env before the first
19
+ // omp spawn / GitHub request: Bun's fetch (omp) and undici (GitHub client)
20
+ // ignore the system proxy without TUN mode, so we resolve the configured
21
+ // proxy (auto-detected or manual) once at startup.
22
+ import { resolveEffectiveProxy } from "./lib/proxy-config";
23
+ void resolveEffectiveProxy().then((url) => {
24
+ if (url) process.env.OMP_WEB_PROXY_URL = url;
25
+ });
26
+
18
27
  const nextConfig = (phase: string): NextConfig => {
19
28
  // String compare avoids importing next/constants: the transpiled
20
29
  // config runs outside the app bundle (Resources/), where module
@@ -66,34 +75,51 @@ const nextConfig = (phase: string): NextConfig => {
66
75
  { key: "Permissions-Policy", value: "camera=(), microphone=(), geolocation=()" },
67
76
  { key: "Content-Security-Policy", value: "default-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; object-src 'none'; img-src 'self' data: blob: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src 'self' ws: wss:; font-src 'self' data:" },
68
77
  ];
69
- const headers = [
70
- {
71
- source: "/:path*",
72
- headers: securityHeaders,
73
- },
74
- {
75
- // Hashed build output never changes, so browsers/proxies may cache it
76
- // immutably for a year and skip revalidation entirely.
77
- // NOTE: scoped to /_next/static/ only — broader /_next/ patterns would
78
- // shadow the HMR WebSocket in development.
79
- source: "/_next/static/:path*",
80
- headers: [
81
- { key: "Cache-Control", value: "public, max-age=31536000, immutable" },
82
- ],
83
- },
84
- {
85
- source: "/",
86
- headers: [
87
- { key: "Cache-Control", value: "private, no-cache, max-age=0, must-revalidate" },
88
- ],
89
- },
78
+ // /api/files streams workspace files whose document policy depends on the
79
+ // content type (strict CSP for SVG, the DOCX preview policy, none for
80
+ // media the browser renders natively). Config-level headers overwrite
81
+ // same-key headers set by route handlers, so the global CSP must not
82
+ // match these paths — it would both reopen script execution for SVG
83
+ // documents and block the same-origin <iframe> previews (DOCX/PDF) with
84
+ // frame-ancestors 'none'. The handler-agnostic protections stay here.
85
+ const fileResponseHeaders = [
86
+ { key: "X-Content-Type-Options", value: "nosniff" },
87
+ { key: "X-Frame-Options", value: "SAMEORIGIN" },
88
+ { key: "Referrer-Policy", value: "no-referrer" },
89
+ { key: "Permissions-Policy", value: "camera=(), microphone=(), geolocation=()" },
90
90
  ];
91
+ const globalRule = {
92
+ // Everything except /api/files (negative lookahead, same pattern style
93
+ // as the proxy matcher).
94
+ source: "/((?!api/files/).*)",
95
+ headers: securityHeaders,
96
+ };
97
+ const fileRule = {
98
+ source: "/api/files/:path*",
99
+ headers: fileResponseHeaders,
100
+ };
101
+ const rootNoCacheRule = {
102
+ source: "/",
103
+ headers: [
104
+ { key: "Cache-Control", value: "private, no-cache, max-age=0, must-revalidate" },
105
+ ],
106
+ };
107
+ const staticImmutableRule = {
108
+ // Hashed build output never changes, so browsers/proxies may cache it
109
+ // immutably for a year and skip revalidation entirely.
110
+ // NOTE: scoped to /_next/static/ only — broader /_next/ patterns would
111
+ // shadow the HMR WebSocket in development.
112
+ source: "/_next/static/:path*",
113
+ headers: [
114
+ { key: "Cache-Control", value: "public, max-age=31536000, immutable" },
115
+ ],
116
+ };
91
117
 
92
118
  // Dev chunks have stable URLs whose content changes in place; caching
93
119
  // them immutably would serve stale module factories after a restart.
94
- if (isDev) return [headers[0], headers[2]];
120
+ if (isDev) return [globalRule, fileRule, rootNoCacheRule];
95
121
 
96
- return headers;
122
+ return [globalRule, fileRule, staticImmutableRule, rootNoCacheRule];
97
123
  },
98
124
  env: {
99
125
  NEXT_PUBLIC_APP_VERSION: version,
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@37chengshan/ompweb",
3
- "version": "4.0.3",
3
+ "version": "4.0.5",
4
4
  "description": "Web UI for the oh-my-pi (omp) coding agent",
5
5
  "homepage": "https://github.com/kahme247/ompweb#readme",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/kahme247/ompweb.git"
8
+ "url": "git+https://github.com/37chengshan/ompweb.git"
9
9
  },
10
10
  "bugs": {
11
11
  "url": "https://github.com/kahme247/ompweb/issues"
@@ -115,6 +115,15 @@
115
115
  ],
116
116
  "icon": "public/icon.png"
117
117
  },
118
+ "nsis": {
119
+ "oneClick": false,
120
+ "allowToChangeInstallationDirectory": true,
121
+ "perMachine": false,
122
+ "createDesktopShortcut": true,
123
+ "createStartMenuShortcut": true,
124
+ "shortcutName": "OmpWeb",
125
+ "artifactName": "OmpWeb-Setup-${version}.${ext}"
126
+ },
118
127
  "linux": {
119
128
  "target": [
120
129
  "AppImage"
@@ -147,6 +156,15 @@
147
156
  "from": "templates/desktop/splash.mp4",
148
157
  "to": "splash.mp4"
149
158
  }
159
+ ],
160
+ "publish": [
161
+ {
162
+ "provider": "github",
163
+ "owner": "37chengshan",
164
+ "repo": "ompweb",
165
+ "releaseType": "release"
166
+ }
150
167
  ]
151
- }
152
- }
168
+ },
169
+ "author": "37chengshan"
170
+ }
Binary file
@@ -1,5 +0,0 @@
1
- "use strict";exports.id=7834,exports.ids=[1671,7834],exports.modules={51671:(a,b,c)=>{c.d(b,{getOmpVersion:()=>n,resolveOmpBin:()=>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.cmd","omp"]:["omp"];function m(){if(h&&(0,e.existsSync)(h))return h;if(h=null,Date.now()-i<3e4)return null;let a=function(){let a=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)for(let b of l){let c=(0,g.join)(a,b);if((0,e.existsSync)(c))return c}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")])for(let b of l){let c=(0,g.join)(a,b);if((0,e.existsSync)(c))return c}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}},67834:(a,b,c)=>{c.d(b,{runUtilityCommand:()=>p});var d=c(21820),e=c(79646),f=c(4984),g=c(51671);function h(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function i(a){return"number"==typeof a&&Number.isSafeInteger(a)}function j(a){return Buffer.byteLength(a,"utf8")+1}class k{push(a){if(!h(a)||"rpc_chunk"!==a.type){if(this.pending)throw Error("RPC chunk sequence interrupted");if(!h(a)||"string"!=typeof a.type)throw Error("RPC frame must be an object");return a}let{chunkId:b,index:c,count:d,byteLength:e}=a;if("string"!=typeof b||0===b.length||b.length>128||!i(c)||!i(d)||!i(e)||c<0||d<2||d>Math.ceil(256)||c>=d||e<1048576||e>0x4000000)throw Error("invalid RPC chunk metadata");let f=function(a){if("string"!=typeof a||0===a.length||!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a))throw Error("invalid RPC chunk data");let b=Buffer.from(a,"base64");if(b.toString("base64")!==a)throw Error("invalid RPC chunk data");return b}(a.data);if(f.byteLength>262144)throw Error("RPC chunk payload exceeds the transport limit");if(!this.pending){if(0!==c)throw Error("RPC chunk sequence must start at index 0");this.pending={chunkId:b,count:d,byteLength:e,nextIndex:0,chunks:[],receivedBytes:0}}let g=this.pending;if(g.chunkId!==b||g.count!==d||g.byteLength!==e||g.nextIndex!==c)throw Error("RPC chunk sequence mismatch");if(g.chunks.push(f),g.receivedBytes+=f.byteLength,g.nextIndex++,g.receivedBytes>g.byteLength)throw Error("RPC chunk sequence exceeds declared length");if(g.nextIndex<g.count)return;if(g.receivedBytes!==g.byteLength)throw Error("RPC chunk sequence length mismatch");this.pending=void 0;let j=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(Buffer.concat(g.chunks)));if(!h(j)||"string"!=typeof j.type)throw Error("RPC frame must be an object");return j}}class l extends Error{constructor(a,b,c){super(b),this.name="RpcCommandError",this.command=a,this.code=c}}class m{constructor(a){let b,c;this.pending=new Map,this.frameListeners=new Set,this.nextId=1,this.stderrTail="",this.exited=!1,this.exitInfo=null,this.protocolVersion=1,this.nextChunkId=1,this.writeQueue=Promise.resolve();const d=a.dependencies?.resolveOmpBin??g.resolveOmpBin;this.spawnProcess=a.dependencies?.spawn??e.spawn;const h=d();if(!h)throw Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN.");this.cwd=a.cwd,a.onFrame&&this.frameListeners.add(a.onFrame);const i=["--mode","rpc-ui","--cwd",a.cwd,...a.extraArgs??[]],j="win32"===process.platform&&/\.cmd$/i.test(h);this.child=this.spawnProcess(j?"cmd.exe":h,j?["/d","/s","/c",function(a,b){return[a,...b].map(a=>/\s/.test(a)?`"${a.replace(/"/g,'\\"')}"`:a).join(" ")}(h,i)]:i,{cwd:a.cwd,env:function(a,b=process.platform){let c={...a};for(let a of Object.keys(c))(function(a,b){let c="win32"===b?a.toUpperCase():a;return"PORT"===c||"NODE_ENV"===c||c.startsWith("NEXT_")})(a,b)&&delete c[a];return c}({...process.env,...a.env}),stdio:["pipe","pipe","pipe"],windowsHide:!0,detached:"win32"!==process.platform}),this.child.stdin.on("error",()=>{}),this.child.stdout.on("error",()=>{}),this.readyPromise=new Promise((a,d)=>{b=a,c=d}),this.readyPromise.catch(()=>{});const l=new k;(0,f.createInterface)({input:this.child.stdout,crlfDelay:1/0}).on("line",a=>{let c,d,e=a.trim();if(e){try{c=JSON.parse(e)}catch{return}try{if(c&&"object"==typeof c&&"rpc_chunk"===c.type&&2!==this.protocolVersion)throw Error("RPC chunk received before protocol negotiation");let a=l.push(c);if(!a)return;d=a}catch(a){this.stderrTail=(this.stderrTail+`
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 m=(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",m),this.child.on("error",a=>{this.stderrTail=(this.stderrTail+`
3
- spawn error: ${a.message}`).slice(-8192),m(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>=j(d))return[`${d}
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(j(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 l(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?.();let f=new Promise(b=>{let c=setTimeout(b,3*a);c.unref?.()});await Promise.race([b,f]),clearTimeout(d),clearTimeout(e)}}let n=["--no-session","--no-skills","--no-lsp"];async function o(a){let b=new m({cwd:(0,d.homedir)(),extraArgs:n,onExit:()=>{a.proc===b&&(a.proc=null)}});try{let a=await b.waitReady(6e4);await b.negotiateProtocol(a)}catch(a){throw b.dispose(),a}return b}function p(a,b=6e4){let c=function(){if(!globalThis.__ompUtilityRpcState){globalThis.__ompUtilityRpcState={proc:null,idleTimer:null,queue:Promise.resolve()};let a=()=>(function(){let a=globalThis.__ompUtilityRpcState;if(!a)return;a.idleTimer&&(clearTimeout(a.idleTimer),a.idleTimer=null);let b=a.proc;a.proc=null,b&&b.dispose()})();process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__ompUtilityRpcState}(),d=c.queue.then(async()=>{c.idleTimer&&(clearTimeout(c.idleTimer),c.idleTimer=null);try{return c.proc&&c.proc.isAlive||(c.proc=await o(c)),await c.proc.sendCommand(a,b)}finally{c.idleTimer&&clearTimeout(c.idleTimer),c.idleTimer=setTimeout(()=>{c.idleTimer=null;let a=c.proc;c.proc=null,a&&a.dispose()},3e5),c.idleTimer.unref?.()}});return c.queue=d.then(()=>void 0,()=>void 0),d}}};
@@ -1,5 +0,0 @@
1
- "use strict";exports.id=7834,exports.ids=[1671,7834],exports.modules={51671:(a,b,c)=>{c.d(b,{getOmpVersion:()=>n,resolveOmpBin:()=>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.cmd","omp"]:["omp"];function m(){if(h&&(0,e.existsSync)(h))return h;if(h=null,Date.now()-i<3e4)return null;let a=function(){let a=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)for(let b of l){let c=(0,g.join)(a,b);if((0,e.existsSync)(c))return c}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")])for(let b of l){let c=(0,g.join)(a,b);if((0,e.existsSync)(c))return c}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}},67834:(a,b,c)=>{c.d(b,{runUtilityCommand:()=>p});var d=c(21820),e=c(79646),f=c(4984),g=c(51671);function h(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function i(a){return"number"==typeof a&&Number.isSafeInteger(a)}function j(a){return Buffer.byteLength(a,"utf8")+1}class k{push(a){if(!h(a)||"rpc_chunk"!==a.type){if(this.pending)throw Error("RPC chunk sequence interrupted");if(!h(a)||"string"!=typeof a.type)throw Error("RPC frame must be an object");return a}let{chunkId:b,index:c,count:d,byteLength:e}=a;if("string"!=typeof b||0===b.length||b.length>128||!i(c)||!i(d)||!i(e)||c<0||d<2||d>Math.ceil(256)||c>=d||e<1048576||e>0x4000000)throw Error("invalid RPC chunk metadata");let f=function(a){if("string"!=typeof a||0===a.length||!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a))throw Error("invalid RPC chunk data");let b=Buffer.from(a,"base64");if(b.toString("base64")!==a)throw Error("invalid RPC chunk data");return b}(a.data);if(f.byteLength>262144)throw Error("RPC chunk payload exceeds the transport limit");if(!this.pending){if(0!==c)throw Error("RPC chunk sequence must start at index 0");this.pending={chunkId:b,count:d,byteLength:e,nextIndex:0,chunks:[],receivedBytes:0}}let g=this.pending;if(g.chunkId!==b||g.count!==d||g.byteLength!==e||g.nextIndex!==c)throw Error("RPC chunk sequence mismatch");if(g.chunks.push(f),g.receivedBytes+=f.byteLength,g.nextIndex++,g.receivedBytes>g.byteLength)throw Error("RPC chunk sequence exceeds declared length");if(g.nextIndex<g.count)return;if(g.receivedBytes!==g.byteLength)throw Error("RPC chunk sequence length mismatch");this.pending=void 0;let j=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(Buffer.concat(g.chunks)));if(!h(j)||"string"!=typeof j.type)throw Error("RPC frame must be an object");return j}}class l extends Error{constructor(a,b,c){super(b),this.name="RpcCommandError",this.command=a,this.code=c}}class m{constructor(a){let b,c;this.pending=new Map,this.frameListeners=new Set,this.nextId=1,this.stderrTail="",this.exited=!1,this.exitInfo=null,this.protocolVersion=1,this.nextChunkId=1,this.writeQueue=Promise.resolve();const d=a.dependencies?.resolveOmpBin??g.resolveOmpBin;this.spawnProcess=a.dependencies?.spawn??e.spawn;const h=d();if(!h)throw Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN.");this.cwd=a.cwd,a.onFrame&&this.frameListeners.add(a.onFrame);const i=["--mode","rpc-ui","--cwd",a.cwd,...a.extraArgs??[]],j="win32"===process.platform&&/\.cmd$/i.test(h);this.child=this.spawnProcess(j?"cmd.exe":h,j?["/d","/s","/c",function(a,b){return[a,...b].map(a=>/\s/.test(a)?`"${a.replace(/"/g,'\\"')}"`:a).join(" ")}(h,i)]:i,{cwd:a.cwd,env:function(a,b=process.platform){let c={...a};for(let a of Object.keys(c))(function(a,b){let c="win32"===b?a.toUpperCase():a;return"PORT"===c||"NODE_ENV"===c||c.startsWith("NEXT_")})(a,b)&&delete c[a];return c}({...process.env,...a.env}),stdio:["pipe","pipe","pipe"],windowsHide:!0,detached:"win32"!==process.platform}),this.child.stdin.on("error",()=>{}),this.child.stdout.on("error",()=>{}),this.readyPromise=new Promise((a,d)=>{b=a,c=d}),this.readyPromise.catch(()=>{});const l=new k;(0,f.createInterface)({input:this.child.stdout,crlfDelay:1/0}).on("line",a=>{let c,d,e=a.trim();if(e){try{c=JSON.parse(e)}catch{return}try{if(c&&"object"==typeof c&&"rpc_chunk"===c.type&&2!==this.protocolVersion)throw Error("RPC chunk received before protocol negotiation");let a=l.push(c);if(!a)return;d=a}catch(a){this.stderrTail=(this.stderrTail+`
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 m=(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",m),this.child.on("error",a=>{this.stderrTail=(this.stderrTail+`
3
- spawn error: ${a.message}`).slice(-8192),m(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>=j(d))return[`${d}
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(j(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 l(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?.();let f=new Promise(b=>{let c=setTimeout(b,3*a);c.unref?.()});await Promise.race([b,f]),clearTimeout(d),clearTimeout(e)}}let n=["--no-session","--no-skills","--no-lsp"];async function o(a){let b=new m({cwd:(0,d.homedir)(),extraArgs:n,onExit:()=>{a.proc===b&&(a.proc=null)}});try{let a=await b.waitReady(6e4);await b.negotiateProtocol(a)}catch(a){throw b.dispose(),a}return b}function p(a,b=6e4){let c=function(){if(!globalThis.__ompUtilityRpcState){globalThis.__ompUtilityRpcState={proc:null,idleTimer:null,queue:Promise.resolve()};let a=()=>(function(){let a=globalThis.__ompUtilityRpcState;if(!a)return;a.idleTimer&&(clearTimeout(a.idleTimer),a.idleTimer=null);let b=a.proc;a.proc=null,b&&b.dispose()})();process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__ompUtilityRpcState}(),d=c.queue.then(async()=>{c.idleTimer&&(clearTimeout(c.idleTimer),c.idleTimer=null);try{return c.proc&&c.proc.isAlive||(c.proc=await o(c)),await c.proc.sendCommand(a,b)}finally{c.idleTimer&&clearTimeout(c.idleTimer),c.idleTimer=setTimeout(()=>{c.idleTimer=null;let a=c.proc;c.proc=null,a&&a.dispose()},3e5),c.idleTimer.unref?.()}});return c.queue=d.then(()=>void 0,()=>void 0),d}}};