@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.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +12 -9
- package/.next/build-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +4 -4
- package/.next/required-server-files.js +2 -2
- package/.next/required-server-files.json +2 -2
- package/.next/routes-manifest.json +42 -2
- package/.next/server/app/_global-error/page.js +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +2 -2
- package/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js +2 -2
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/running/events/route.js +1 -1
- package/.next/server/app/api/agents/route.js +1 -1
- package/.next/server/app/api/app-update/releases/route.js +1 -0
- package/.next/server/app/api/app-update/releases/route.js.nft.json +1 -0
- package/.next/server/app/api/app-update/releases/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/app-update/route.js +1 -1
- package/.next/server/app/api/auth/all-providers/route.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/server/app/api/cwd/browse/route.js +1 -1
- package/.next/server/app/api/cwd/validate/route.js +1 -1
- package/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/server/app/api/diagnostics/route.js +1 -0
- package/.next/server/app/api/diagnostics/route.js.nft.json +1 -0
- package/.next/server/app/api/diagnostics/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/file-index/route.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js +2 -2
- package/.next/server/app/api/git/diff/route.js +2 -2
- package/.next/server/app/api/git/status/route.js +2 -2
- package/.next/server/app/api/github/status/route.js +1 -1
- package/.next/server/app/api/github/status/route.js.nft.json +1 -1
- package/.next/server/app/api/home/route.js +1 -1
- package/.next/server/app/api/mcp/route.js +2 -2
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/model-roles/route.js +1 -1
- package/.next/server/app/api/models/fetch/route.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models-config/catalog/route.js +1 -1
- package/.next/server/app/api/models-config/route.js +1 -1
- package/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/server/app/api/omp-settings/route.js +1 -1
- package/.next/server/app/api/omp-update/route.js +2 -2
- package/.next/server/app/api/omp-version/route.js +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/projects/route.js +2 -2
- package/.next/server/app/api/providers/enable/route.js +1 -1
- package/.next/server/app/api/proxy/route.js +1 -0
- package/.next/server/app/api/proxy/route.js.nft.json +1 -0
- package/.next/server/app/api/proxy/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/reveal/route.js +1 -1
- package/.next/server/app/api/scripts/route.js +1 -1
- package/.next/server/app/api/scripts/run/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/plan/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/subagents/route.js +1 -1
- package/.next/server/app/api/sessions/archive/route.js +1 -1
- package/.next/server/app/api/sessions/import/route.js +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/install/route.js +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/search/route.js +1 -1
- package/.next/server/app/api/skills/update/route.js +1 -1
- package/.next/server/app/api/terminal/input/route.js +3 -3
- package/.next/server/app/api/terminal/open/route.js +1 -1
- package/.next/server/app/api/terminal/resize/route.js +3 -3
- package/.next/server/app/api/terminal/session/route.js +3 -3
- package/.next/server/app/api/terminal/stream/route.js +4 -4
- package/.next/server/app/api/web-auth/session/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +2 -2
- package/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +12 -9
- package/.next/server/chunks/2760.js +5 -0
- package/.next/server/chunks/3798.js +5 -5
- package/.next/server/chunks/5309.js +1 -1
- package/.next/server/instrumentation.js +1 -1
- package/.next/server/instrumentation.js.nft.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/middleware.js +3 -3
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +12 -9
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/react-loadable-manifest.json +4 -4
- package/.next/standalone/.next/required-server-files.json +2 -2
- package/.next/standalone/.next/routes-manifest.json +42 -2
- package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agent/[id]/events/route.js +2 -2
- package/.next/standalone/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agent/running/events/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route.js +1 -1
- package/.next/standalone/.next/server/app/api/app-update/releases/route.js +1 -0
- package/.next/standalone/.next/server/app/api/app-update/releases/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/app-update/releases/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/app-update/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/all-providers/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/login/[provider]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/standalone/.next/server/app/api/cwd/browse/route.js +1 -1
- package/.next/standalone/.next/server/app/api/cwd/validate/route.js +1 -1
- package/.next/standalone/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/standalone/.next/server/app/api/diagnostics/route.js +1 -0
- package/.next/standalone/.next/server/app/api/diagnostics/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/diagnostics/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/file-index/route.js +1 -1
- package/.next/standalone/.next/server/app/api/files/[...path]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/git/diff/route.js +2 -2
- package/.next/standalone/.next/server/app/api/git/status/route.js +2 -2
- package/.next/standalone/.next/server/app/api/github/status/route.js +1 -1
- package/.next/standalone/.next/server/app/api/github/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/home/route.js +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route.js +2 -2
- package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/model-roles/route.js +1 -1
- package/.next/standalone/.next/server/app/api/models/fetch/route.js +1 -1
- package/.next/standalone/.next/server/app/api/models/route.js +1 -1
- package/.next/standalone/.next/server/app/api/models-config/catalog/route.js +1 -1
- package/.next/standalone/.next/server/app/api/models-config/route.js +1 -1
- package/.next/standalone/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/standalone/.next/server/app/api/omp-settings/route.js +1 -1
- package/.next/standalone/.next/server/app/api/omp-update/route.js +2 -2
- package/.next/standalone/.next/server/app/api/omp-version/route.js +1 -1
- package/.next/standalone/.next/server/app/api/plugins/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route.js +2 -2
- package/.next/standalone/.next/server/app/api/providers/enable/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proxy/route.js +1 -0
- package/.next/standalone/.next/server/app/api/proxy/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/proxy/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/reveal/route.js +1 -1
- package/.next/standalone/.next/server/app/api/scripts/route.js +1 -1
- package/.next/standalone/.next/server/app/api/scripts/run/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/export/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/plan/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/subagents/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/archive/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/import/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/standalone/.next/server/app/api/skills/install/route.js +1 -1
- package/.next/standalone/.next/server/app/api/skills/route.js +1 -1
- package/.next/standalone/.next/server/app/api/skills/search/route.js +1 -1
- package/.next/standalone/.next/server/app/api/skills/update/route.js +1 -1
- package/.next/standalone/.next/server/app/api/terminal/input/route.js +3 -3
- package/.next/standalone/.next/server/app/api/terminal/open/route.js +1 -1
- package/.next/standalone/.next/server/app/api/terminal/resize/route.js +3 -3
- package/.next/standalone/.next/server/app/api/terminal/session/route.js +3 -3
- package/.next/standalone/.next/server/app/api/terminal/stream/route.js +4 -4
- package/.next/standalone/.next/server/app/api/web-auth/session/route.js +1 -1
- package/.next/standalone/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/standalone/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login/page.js +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/standalone/.next/server/app/page.js +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +12 -9
- package/.next/standalone/.next/server/chunks/2760.js +5 -0
- package/.next/standalone/.next/server/chunks/3798.js +5 -5
- package/.next/standalone/.next/server/chunks/5309.js +1 -1
- package/.next/standalone/.next/server/instrumentation.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware.js +3 -3
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/linux-arm64-unpacked/resources/standalone/.omp/mcp.json +11 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/.next/standalone/dist-desktop/mac-arm64/OmpWeb.app/Contents/Resources/standalone/dist-desktop/win-arm64-unpacked/resources/standalone/.omp/mcp.json +11 -0
- package/.next/standalone/package.json +22 -4
- package/.next/standalone/server.js +1 -1
- package/.next/static/chunks/1147.cb989e1cb0ba5ad6.js +126 -0
- package/.next/static/chunks/2584-d4cd2d8de76d5e35.js +1 -0
- package/.next/static/chunks/{3550.d3f97c806e3623e2.js → 3596.9fdb605d40673ac8.js} +1 -1
- package/.next/static/chunks/app/_global-error/page-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/agent/running/events/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/agents/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/app-update/releases/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/app-update/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/auth/all-providers/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/diagnostics/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/github/status/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/home/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/mcp/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/model-roles/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/models/fetch/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/models/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/models-config/catalog/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/omp-settings/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/omp-update/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/omp-version/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/projects/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/providers/enable/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/proxy/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/reveal/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/scripts/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/scripts/run/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/archive/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/plan/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/subagents/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/sessions/archive/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/sessions/import/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/skills/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/terminal/input/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/terminal/open/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/terminal/resize/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/terminal/session/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/terminal/stream/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/web-auth/session/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/app/{page-122708b0165e41be.js → page-e7e7426ef3ec9ec1.js} +1 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b24b35e3a039f3af.js +1 -0
- package/.next/static/chunks/webpack-b10306427dc17cac.js +1 -0
- package/.next/static/db1mVu1uee4ag1NduRcLL/_buildManifest.js +1 -0
- package/README.md +7 -20
- package/README.zh-CN.md +7 -20
- package/desktop/main.js +47 -2
- package/next.config.ts +49 -23
- package/package.json +22 -4
- package/public/trayTemplate.png +0 -0
- package/.next/server/chunks/7834.js +0 -5
- package/.next/standalone/.next/server/chunks/7834.js +0 -5
- package/.next/static/chunks/2584-f6cc0dc1511c8e00.js +0 -1
- package/.next/static/chunks/303.7d4586c12f686528.js +0 -126
- package/.next/static/chunks/app/_global-error/page-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/events/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/agent/running/events/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/agents/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/app-update/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/auth/all-providers/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/auth/login/[provider]/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/auth/providers/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/cwd/browse/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/cwd/validate/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/default-cwd/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/file-index/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/files/[...path]/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/git/diff/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/git/status/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/github/status/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/home/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/mcp/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/model-roles/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/models/fetch/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/models/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/models-config/catalog/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/models-config/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/models-config/test/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/omp-settings/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/omp-update/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/omp-version/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/projects/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/providers/enable/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/reveal/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/scripts/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/scripts/run/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/archive/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/context/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/plan/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/state/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/subagents/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/sessions/archive/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/sessions/import/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/skills/check/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/skills/install/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/skills/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/skills/search/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/skills/update/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/terminal/input/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/terminal/open/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/terminal/resize/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/terminal/session/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/terminal/stream/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/web-auth/session/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b0b6e7e566c944c1.js +0 -1
- package/.next/static/chunks/webpack-6821c41c73aad973.js +0 -1
- package/.next/static/pSABcr8MzgqcXzoz0WmZG/_buildManifest.js +0 -1
- /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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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 [
|
|
120
|
+
if (isDev) return [globalRule, fileRule, rootNoCacheRule];
|
|
95
121
|
|
|
96
|
-
return
|
|
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
|
+
"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/
|
|
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
|
+
}
|
package/public/trayTemplate.png
CHANGED
|
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}}};
|