ompgui 0.7.2 → 0.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +8 -6
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-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 +12 -0
- 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]/bash-output/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/running/events/route.js +2 -2
- package/.next/server/app/api/agent/running/events/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/[name]/route.js +1 -1
- package/.next/server/app/api/agents/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/route.js +1 -1
- package/.next/server/app/api/agents/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/unpack/route.js +1 -1
- package/.next/server/app/api/agents/unpack/route.js.nft.json +1 -1
- 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/api-key/[provider]/route.js.nft.json +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/browse/route.js.nft.json +1 -1
- package/.next/server/app/api/cwd/validate/route.js +2 -2
- package/.next/server/app/api/cwd/validate/route.js.nft.json +1 -1
- package/.next/server/app/api/daemon/route.js +1 -1
- package/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/server/app/api/default-cwd/route.js.nft.json +1 -1
- package/.next/server/app/api/file-index/route.js +1 -1
- package/.next/server/app/api/file-index/route.js.nft.json +1 -1
- package/.next/server/app/api/files/[...path]/route.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/git/diff/route.js +2 -2
- package/.next/server/app/api/git/diff/route.js.nft.json +1 -1
- package/.next/server/app/api/git/status/route.js +2 -2
- package/.next/server/app/api/git/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 +3 -3
- 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/route.js +1 -1
- package/.next/server/app/api/models-config/catalog/route.js +1 -1
- package/.next/server/app/api/models-config/connectivity/route.js +1 -0
- package/.next/server/app/api/models-config/connectivity/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/connectivity/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/route.js +1 -1
- package/.next/server/app/api/models-config/route.js.nft.json +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-update/route.js.nft.json +1 -1
- 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/plugins/route.js.nft.json +1 -1
- package/.next/server/app/api/projects/route.js +2 -2
- package/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/enable/route.js +1 -1
- package/.next/server/app/api/relay/devices/[id]/route.js +1 -1
- package/.next/server/app/api/relay/devices/route.js +1 -1
- package/.next/server/app/api/relay/pair/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/media/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/media/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/subagents/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/subagents/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/archive/route.js +1 -1
- package/.next/server/app/api/sessions/archive/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/import/route.js +1 -1
- package/.next/server/app/api/sessions/import/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/search/route.js +1 -0
- package/.next/server/app/api/sessions/search/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/search/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/check/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/install/route.js +1 -1
- package/.next/server/app/api/skills/install/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/route.js.nft.json +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/skills/update/route.js.nft.json +1 -1
- package/.next/server/app/api/usage/route.js +1 -1
- 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/api/worktrees/route.js.nft.json +1 -1
- package/.next/server/app/apple-icon.png/route.js +1 -1
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/icon.svg/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 +3 -3
- package/.next/server/app/login.segments/_full.segment.rsc +3 -3
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/pair/page.js +1 -1
- package/.next/server/app/pair/page_client-reference-manifest.js +1 -1
- package/.next/server/app/pair.html +1 -1
- package/.next/server/app/pair.rsc +3 -3
- package/.next/server/app/pair.segments/_full.segment.rsc +3 -3
- package/.next/server/app/pair.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/pair.segments/pair/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/relay/route.js +1 -1
- package/.next/server/app-paths-manifest.json +8 -6
- package/.next/server/chunks/1410.js +2 -0
- package/.next/server/chunks/1671.js +1 -1
- package/.next/server/chunks/2043.js +3 -3
- package/.next/server/chunks/2676.js +1 -1
- package/.next/server/chunks/3100.js +1 -1
- package/.next/server/chunks/3798.js +1 -1
- package/.next/server/chunks/4980.js +1 -1
- package/.next/server/chunks/5318.js +1 -1
- package/.next/server/chunks/6332.js +1 -1
- package/.next/server/chunks/6337.js +1 -1
- package/.next/server/chunks/6480.js +18 -0
- package/.next/server/chunks/7077.js +1 -1
- package/.next/server/chunks/714.js +3 -1
- package/.next/server/chunks/7226.js +107 -0
- package/.next/server/chunks/7779.js +1 -1
- package/.next/server/chunks/8573.js +11 -0
- package/.next/server/chunks/9145.js +1 -1
- package/.next/server/chunks/933.js +1 -1
- package/.next/server/functions-config-manifest.json +3 -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/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/3274.487a15bb28a8bf64.js +2 -0
- package/.next/static/chunks/4315-dfe6a33b10f1a366.js +1 -0
- package/.next/static/chunks/4318.65827559038c9692.js +17 -0
- package/.next/static/chunks/{4906-7dff29185f63f908.js → 4906-1472d0151646b3d8.js} +1 -1
- package/.next/static/chunks/app/_global-error/page-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/agent/running/events/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/agents/[name]/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/agents/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/agents/unpack/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/app-update/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/auth/all-providers/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/daemon/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/home/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/mcp/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/model-roles/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/models/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/models-config/catalog/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/models-config/connectivity/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/omp-settings/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/omp-update/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/omp-version/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/projects/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/providers/enable/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/relay/devices/[id]/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/relay/devices/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/relay/pair/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/archive/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/media/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/subagents/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/archive/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/import/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/sessions/search/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/skills/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/usage/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/web-auth/session/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/app/page-bca40f639be6becb.js +59 -0
- package/.next/static/chunks/app/relay/route-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-08a33f204a956c10.js +1 -0
- package/.next/static/chunks/webpack-b14269412e91a71d.js +1 -0
- package/.next/static/d7tCWD5FStyLazqHgLBLG/_buildManifest.js +1 -0
- package/README.ja.md +4 -1
- package/README.ko.md +6 -2
- package/README.md +7 -3
- package/README.zh-CN.md +4 -1
- package/bin/ompgui-update.js +11 -6
- package/bin/ompgui.js +6 -2
- package/package.json +2 -2
- package/.next/server/chunks/6209.js +0 -12
- package/.next/server/chunks/795.js +0 -105
- package/.next/server/chunks/8834.js +0 -18
- package/.next/static/Na7qed083WBP3X-plluRO/_buildManifest.js +0 -1
- package/.next/static/chunks/1012.477e42e5184b6aaa.js +0 -17
- package/.next/static/chunks/3274.2a04ea2716225057.js +0 -1
- package/.next/static/chunks/4315-142781649334beb2.js +0 -1
- package/.next/static/chunks/app/_global-error/page-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/events/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/agent/running/events/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/agents/[name]/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/agents/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/agents/unpack/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/app-update/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/auth/all-providers/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/auth/login/[provider]/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/auth/providers/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/cwd/browse/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/cwd/validate/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/daemon/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/default-cwd/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/file-index/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/files/[...path]/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/git/diff/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/git/status/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/home/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/mcp/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/model-roles/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/models/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/models-config/catalog/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/models-config/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/models-config/test/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/omp-settings/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/omp-update/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/omp-version/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/projects/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/providers/enable/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/relay/devices/[id]/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/relay/devices/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/relay/pair/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/archive/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/context/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/media/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/state/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/subagents/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/sessions/archive/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/sessions/import/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/skills/check/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/skills/install/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/skills/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/skills/search/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/skills/update/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/usage/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/web-auth/session/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/app/page-f53564bcb292e1e5.js +0 -59
- package/.next/static/chunks/app/relay/route-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-710453b8adcf7d31.js +0 -1
- package/.next/static/chunks/webpack-4e02c722bd171663.js +0 -1
- /package/.next/static/{Na7qed083WBP3X-plluRO → d7tCWD5FStyLazqHgLBLG}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=8704,a.ids=[8704],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},
|
|
1
|
+
(()=>{var a={};a.id=8704,a.ids=[8704],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},13093:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/relay/route",pathname:"/relay",filename:"route",bundlePath:"app/relay/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/ompgui/ompgui/app/relay/route.ts",nextConfigOutput:"",userland:()=>c(68251),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/relay/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},68251:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>f,dynamic:()=>e});var d=c(23211);let e="force-dynamic";async function f(){return d.NextResponse.json({error:"WebSocket endpoint",code:"websocket_required"},{status:426,headers:{Upgrade:"websocket",Connection:"Upgrade"}})}},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=13093));module.exports=c})();
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
"/icon.svg/route": "app/icon.svg/route.js",
|
|
30
30
|
"/manifest.webmanifest/route": "app/manifest.webmanifest/route.js",
|
|
31
31
|
"/api/agent/[id]/events/route": "app/api/agent/[id]/events/route.js",
|
|
32
|
-
"/api/agents/[name]/route": "app/api/agents/[name]/route.js",
|
|
33
32
|
"/api/agent/new/route": "app/api/agent/new/route.js",
|
|
33
|
+
"/api/agent/running/events/route": "app/api/agent/running/events/route.js",
|
|
34
|
+
"/api/agents/[name]/route": "app/api/agents/[name]/route.js",
|
|
34
35
|
"/api/agents/route": "app/api/agents/route.js",
|
|
35
36
|
"/api/agents/unpack/route": "app/api/agents/unpack/route.js",
|
|
36
37
|
"/api/app-update/route": "app/api/app-update/route.js",
|
|
37
|
-
"/api/agent/running/events/route": "app/api/agent/running/events/route.js",
|
|
38
38
|
"/api/auth/all-providers/route": "app/api/auth/all-providers/route.js",
|
|
39
39
|
"/api/auth/api-key/[provider]/route": "app/api/auth/api-key/[provider]/route.js",
|
|
40
40
|
"/api/auth/logout/[provider]/route": "app/api/auth/logout/[provider]/route.js",
|
|
@@ -43,12 +43,13 @@
|
|
|
43
43
|
"/api/daemon/route": "app/api/daemon/route.js",
|
|
44
44
|
"/api/model-roles/route": "app/api/model-roles/route.js",
|
|
45
45
|
"/api/models-config/catalog/route": "app/api/models-config/catalog/route.js",
|
|
46
|
-
"/api/models-config/route": "app/api/models-config/route.js",
|
|
47
|
-
"/api/models-config/test/route": "app/api/models-config/test/route.js",
|
|
46
|
+
"/api/models-config/connectivity/route": "app/api/models-config/connectivity/route.js",
|
|
48
47
|
"/api/mcp/route": "app/api/mcp/route.js",
|
|
48
|
+
"/api/models-config/test/route": "app/api/models-config/test/route.js",
|
|
49
|
+
"/api/models-config/route": "app/api/models-config/route.js",
|
|
50
|
+
"/api/omp-settings/route": "app/api/omp-settings/route.js",
|
|
49
51
|
"/api/omp-update/route": "app/api/omp-update/route.js",
|
|
50
52
|
"/api/omp-version/route": "app/api/omp-version/route.js",
|
|
51
|
-
"/api/omp-settings/route": "app/api/omp-settings/route.js",
|
|
52
53
|
"/api/models/route": "app/api/models/route.js",
|
|
53
54
|
"/api/relay/devices/[id]/route": "app/api/relay/devices/[id]/route.js",
|
|
54
55
|
"/api/relay/devices/route": "app/api/relay/devices/route.js",
|
|
@@ -58,11 +59,12 @@
|
|
|
58
59
|
"/api/sessions/[id]/subagents/[subagentId]/route": "app/api/sessions/[id]/subagents/[subagentId]/route.js",
|
|
59
60
|
"/api/sessions/[id]/subagents/route": "app/api/sessions/[id]/subagents/route.js",
|
|
60
61
|
"/api/sessions/archive/route": "app/api/sessions/archive/route.js",
|
|
62
|
+
"/api/sessions/search/route": "app/api/sessions/search/route.js",
|
|
61
63
|
"/api/skills/check/route": "app/api/skills/check/route.js",
|
|
62
64
|
"/api/skills/install/route": "app/api/skills/install/route.js",
|
|
63
65
|
"/api/skills/route": "app/api/skills/route.js",
|
|
64
|
-
"/api/skills/update/route": "app/api/skills/update/route.js",
|
|
65
66
|
"/api/usage/route": "app/api/usage/route.js",
|
|
67
|
+
"/api/skills/update/route": "app/api/skills/update/route.js",
|
|
66
68
|
"/api/skills/search/route": "app/api/skills/search/route.js",
|
|
67
69
|
"/relay/route": "app/relay/route.js",
|
|
68
70
|
"/login/page": "app/login/page.js",
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
exports.id=1410,exports.ids=[1410],exports.modules={20565:(a,b,c)=>{"use strict";function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function e(a){return"string"==typeof a?a:void 0}function f(a){return"number"==typeof a&&Number.isFinite(a)?a:void 0}c.d(b,{i:()=>f,oJ:()=>e,u4:()=>d})},24923:(a,b,c)=>{"use strict";c.d(b,{IL:()=>w,KI:()=>q,P9:()=>s,ew:()=>p,l:()=>v,xw:()=>u});var d=c(79646),e=c(29021),f=c(33873),g=c(28354),h=c(25252),i=c(58864),j=c(82536);let k=(0,g.promisify)(d.execFile);function l(a){try{return(0,e.realpathSync)(a)}catch{return a}}function m(){globalThis.__piProjectCache?.clear()}async function n(a,b){let{stdout:c}=await k("git",["-C",a,...b],{timeout:1e4,maxBuffer:1048576,env:{...process.env,LC_ALL:"C"}});return c.trim()}function o(a){let b=(0,f.dirname)(a);if(!b.endsWith("-worktrees"))return null;let c=b.slice(0,-10);return c&&(0,e.existsSync)((0,f.join)(c,".git"))?{projectRoot:l(c),branch:(0,f.basename)(a),isWorktree:!0,isTopLevel:!0}:null}async function p(a,b){let c;if((0,e.existsSync)(a))return(0,j.o4)(a,b)&&(0,j.xk)(a,b)?{project:await q(a),listingCwd:a}:null;try{c=(0,j.SW)(a)}catch{return null}let d=o(c);return d&&(0,j.xk)(d.projectRoot,b)?{project:d,listingCwd:d.projectRoot}:null}async function q(a){let b,c=(globalThis.__piProjectCache||(globalThis.__piProjectCache=new Map),globalThis.__piProjectCache),d=c.get(a);if(d&&d.expiresAt>Date.now())return d.info;try{if(!(0,e.existsSync)(a))return b=o(a)??{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1},c.set(a,{info:b,expiresAt:Date.now()+6e4}),b;let[d,g,h,j]=(await n(a,["rev-parse","--path-format=absolute","--git-common-dir","--git-dir","--show-toplevel","--abbrev-ref","HEAD"])).split("\n").map(a=>a.trim()),[k,m,p]=[d,g,h].map(i.gB),q=l(a),r=(0,i.Eb)(p,q),s=!(0,i.Eb)(m,k)&&r,t=s?(0,f.dirname)(k):p;b={projectRoot:r?l(t):l(a),branch:j&&"HEAD"!==j?j:null,isWorktree:s,isTopLevel:r}}catch{b={projectRoot:l(a),branch:null,isWorktree:!1,isTopLevel:!1}}return c.set(a,{info:b,expiresAt:Date.now()+6e4}),b}async function r(a){let b=await n(a,["rev-parse","--path-format=absolute","--git-common-dir"]);return l((0,f.dirname)((0,i.gB)(b)))}async function s(a){let b=await n(a,["worktree","list","--porcelain"]),c=[],d=null,g=()=>{if(d?.path){let a=(0,f.resolve)(d.path);!d.prunable&&(0,e.existsSync)(a)&&c.push({path:a,branch:d.branch??null,isMain:0===c.length})}d=null};for(let a of b.split("\n"))a.startsWith("worktree ")?(g(),d={path:(0,i.gB)(a.slice(9).trim())}):a.startsWith("branch ")&&d?d.branch=a.slice(7).trim().replace(/^refs\/heads\//,""):a.startsWith("prunable")&&d?d.prunable=!0:""===a.trim()&&g();return g(),c}function t(a,b){return a.find(a=>(0,i.Eb)(a.path,b))}function u(a,b){return t(a,l(b))?.path??null}async function v(a,b){let c=b.trim();if(!c)throw Error("Branch name is required");let d=c.replace(/[\/\\:*?"<>|\s]+/g,"-").replace(/^-+|-+$/g,"");if(!d)throw Error(`Invalid branch name: ${b}`);let g=await r(a),i=`${(0,f.resolve)(g)}-worktrees`,j=(0,f.join)(i,d);if((0,e.existsSync)(j))throw Error(`Directory already exists: ${j}`);(0,e.mkdirSync)(i,{recursive:!0});let k=!1;try{await n(g,["rev-parse","--verify","--quiet",`refs/heads/${c}`]),k=!0}catch{k=!1}try{k?await n(g,["worktree","add","--",j,c]):await n(g,["worktree","add","-b",c,"--",j])}catch(a){throw Error(x(a))}return(0,h.wz)(j),m(),{path:j,branch:c}}async function w(a,b,c=!1){let d=t(await s(a),b);if(!d)throw Error(`Not a worktree of this repository: ${b}`);if(d.isMain)throw Error("Cannot remove the main worktree");try{await n(a,["worktree","remove",...c?["--force"]:[],d.path])}catch(a){throw Error(x(a))}m()}function x(a){let b=a.stderr;return"string"==typeof b&&b.trim()?b.trim():a instanceof Error?a.message:String(a)}},25252:(a,b,c)=>{"use strict";function d(a){return a.replace(/\\/g,"/")}function e(){return globalThis.__piAdditionalAllowedRoots||(globalThis.__piAdditionalAllowedRoots=new Set),globalThis.__piAdditionalAllowedRoots}function f(a){if(!a)return;let b=d(a);e().add(b),globalThis.__piAllowedRootsCache?.roots.add(b)}c.d(b,{HM:()=>e,Nw:()=>d,wz:()=>f})},45902:(a,b,c)=>{"use strict";c.d(b,{$:()=>f});var d=c(76760),e=c.n(d);function f(a,b=process.platform){let c="win32"===b?e().win32.normalize(a):e().posix.normalize(a);return"win32"===b?c.toLowerCase():c}},58864:(a,b,c)=>{"use strict";c.d(b,{Eb:()=>j,gB:()=>h,uK:()=>g,w:()=>i});var d=c(33873),e=c.n(d);let f=/^[a-zA-Z]:[\\/]/;function g(a){return f.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function h(a){return a&&"win32"===process.platform?(0,d.normalize)(a):a}function i(a,b=process.platform){if(!a)return a;let c="win32"===b?e().win32:e().posix,d="win32"===b?c.normalize(h(a)):a,f=c.normalize(d),g=c.parse(f).root.length,j=f.length;for(;j>g&&f[j-1]===c.sep;)j--;let k=f.slice(0,j);return"win32"===b?k.toLowerCase():k}function j(a,b){return a===b||!!a&&!!b&&i(a)===i(b)}},63945:(a,b,c)=>{"use strict";c.d(b,{Bm:()=>P,De:()=>S,Ee:()=>C,Fy:()=>D,G:()=>t,Hb:()=>F,I3:()=>N,I8:()=>v,L1:()=>M,O0:()=>X,U1:()=>n,Uk:()=>W,XS:()=>Y,a8:()=>R,kT:()=>H,lc:()=>G,mk:()=>L,ni:()=>A,nr:()=>p,qd:()=>z,sv:()=>Q,zW:()=>s});var d=c(55511),e=c(29021),f=c(33873),g=c(41204),h=c(77725),i=c(74075),j=c(20565),k=c(85887);let l=Reflect.get(e,"readdirSync");function m(a,b,c,d){return`${JSON.stringify(b?{type:"title",v:1,title:a,source:b,updatedAt:c,pad:d}:{type:"title",v:1,title:a,updatedAt:c,pad:d})}
|
|
2
|
+
`}function n(a){var b;let c;try{c=JSON.parse(a)}catch{return}if("object"!=typeof c||null===c)return;let d=c;if("title"!==d.type||1!==d.v||"string"!=typeof d.title||"string"!=typeof d.updatedAt||"string"!=typeof d.pad||void 0!==d.source&&"auto"!==(b=d.source)&&"user"!==b)return;let e={type:"title",v:1,title:d.title,updatedAt:d.updatedAt,pad:d.pad};return d.source&&(e.source=d.source),e}function o(a){let b=function(a,b,c){let d=[...a],e=0,f=d.length,g="";for(;e<=f;){let a=e+f>>>1,h=d.slice(0,a).join("");256>=Buffer.byteLength(m(h,b,c,""),"utf8")?(g=h,e=a+1):f=a-1}return g}(a.title??"",a.source,a.updatedAt),c=m(b,a.source,a.updatedAt,""),d=256-Buffer.byteLength(c,"utf8");if(d<0)throw Error("Session title slot metadata exceeds fixed slot size");let e=m(b,a.source,a.updatedAt," ".repeat(d));if(256!==Buffer.byteLength(e,"utf8"))throw Error("Session title slot serialization failed to produce fixed-width output");return e}function p(a){let b=[];for(let c of a.split("\n")){let a=c.trim();if(a)try{let c=JSON.parse(a);(0,j.u4)(c)&&b.push(c)}catch{}}return b}let q="blob:sha256:",r=/^[a-f0-9]{64}$/;function s(a){return a.startsWith(q)}function t(a){if(!a.startsWith(q))return null;let b=a.slice(q.length);return r.test(b)?b:null}function u(a){try{return(0,e.readFileSync)(f.join((0,k.yG)(),a))}catch{return null}}function v(a){try{return(0,e.statSync)(f.join((0,k.yG)(),a)).size}catch{return null}}function w(a){return(0,j.u4)(a)&&"image"===a.type&&"string"==typeof a.data}function x(a,b){if(Array.isArray(a)){for(let c of a)x(c,b);return}if((0,j.u4)(a)){if((0,j.u4)(a)&&"string"==typeof a.data&&(w(a)||"string"==typeof a.mimeType&&a.mimeType.toLowerCase().startsWith("image/"))&&s(a.data)&&("content"===b&&w(a)||"images"===b)){let b=t(a.data);if(!b)return;let c=u(b);c?a.data=c.toString("base64"):(a.type="text",a.text=`[image unavailable: blob ${b.slice(0,12)}… not found]`,delete a.data,delete a.mimeType,delete a.source);return}if("image_generation_call"===a.type&&"string"==typeof a.result&&s(a.result)){let b=t(a.result),c=b?u(b):null;c&&(a.result=c.toString("base64"))}if("string"==typeof a.image_url&&s(a.image_url)){let b=t(a.image_url),c=b?u(b):null;c&&(a.image_url=c.toString("utf8"))}for(let[b,c]of Object.entries(a))x(c,b)}}function y(a){if("string"==typeof a)return s(a);if(Array.isArray(a)){for(let b of a)if(y(b))return!0;return!1}if(!(0,j.u4)(a))return!1;for(let b in a)if(y(a[b]))return!0;return!1}function z(a,b={}){return a.map(a=>{if(b.skipToolResultImages&&"message"===a.type&&"toolResult"===a.message.role||!y(a))return a;let c=structuredClone(a);return x(c,void 0),c})}let A=0x40000000;function B(a,b){let c=(0,e.openSync)(a,"r");try{let a=Buffer.allocUnsafe(1048576),d=new g.StringDecoder("utf8"),f=[],h=!1;for(;;){let g=(0,e.readSync)(c,a,0,a.length,null);if(0===g)break;let i=d.write(a.subarray(0,g));if(h=h||i.includes("\n"),f.push(i),!h)continue;let j=f.join("");f.length=0,h=!1;let k=0,l=j.indexOf("\n",k);for(;-1!==l;){if(!1===b(j.slice(k,l)))return;k=l+1,l=j.indexOf("\n",k)}k<j.length&&f.push(j.slice(k))}let i=d.end();i&&f.push(i),f.length>0&&b(f.join(""))}finally{(0,e.closeSync)(c)}}function C(a,b){let c=!0,d=!1,e=!1,f=!1,g=null;try{B(a,a=>{let h;if(c&&(c=!1,n(a)))return;let i=a.trim();if(i){try{h=JSON.parse(i)}catch{return}if((0,j.u4)(h)){if(!d)return"session"!==h.type||"string"!=typeof h.id?(f=!0,!1):(d=!0,!(e="number"!=typeof h.version||h.version<3)&&void 0);if("session"!==h.type&&h.id===b)return g=h,!1}}})}catch{return null}return f||!d?null:e?D(a).entries.find(a=>a.id===b)??null:g}function D(a,b={}){let c,f,g;try{c=(0,e.statSync)(a).size}catch{return{header:null,entries:[],titleSlot:void 0}}if(c>A)return{header:null,entries:[],titleSlot:void 0,error:"too_large"};let h=[],i=!0;try{B(a,a=>{if(i&&(i=!1,f=n(a)))return;let b=a.trim();if(b)try{let a=JSON.parse(b);(0,j.u4)(a)&&h.push(a)}catch{}})}catch(b){let a=b instanceof RangeError;return{header:null,entries:[],titleSlot:f,...a?{error:"too_large"}:{}}}let k=h[0];if(!k||"session"!==k.type||"string"!=typeof k.id)return{header:null,entries:[],titleSlot:f};let l=h.slice(1).filter(a=>"session"!==a.type);return!((g=k.version??1)>=3)&&(g<2&&function(a,b){a.version=2;let c=new Set,e=null;for(let a of b)if(a.id=function(a){for(let b=0;b<100;b++){let b=(0,d.randomUUID)().slice(-8);if(!a.has(b))return b}return(0,d.randomUUID)()}(c),c.add(a.id),a.parentId=e,e=a.id,"compaction"===a.type&&"number"==typeof a.firstKeptEntryIndex){let c=a.firstKeptEntryIndex>=1?b[a.firstKeptEntryIndex-1]:void 0;c&&(a.firstKeptEntryId=c.id),delete a.firstKeptEntryIndex}}(k,l),g<3&&function(a,b){for(let c of(a.version=3,b))if("message"===c.type){let a=c.message;"hookMessage"===a.role&&(a.role="custom")}}(k,l)),f&&(f.title?(k.title=f.title,f.source?k.titleSource=f.source:delete k.titleSource):(delete k.title,delete k.titleSource)),b.resolveBlobs&&function(a,b={}){for(let c of a)(!b.skipToolResultImages||"message"!==c.type||"toolResult"!==c.message.role)&&y(c)&&x(c,void 0)}(l,{skipToolResultImages:b.skipToolResultImages}),{header:k,entries:l,titleSlot:f}}function E(a,b){let c,d,e=a.indexOf("\n");if(-1===e){if(Buffer.byteLength(a,"utf8")>=b)return null;e=a.length}let f=a.slice(0,e).trim();if(!f)return null;let g=n(f);if(g){let d=a.slice(e+1),f=d.indexOf("\n");if(-1===f&&Buffer.byteLength(d,"utf8")+e>=b)return null;c=(-1===f?d:d.slice(0,f)).trim()}else c=f;if(!c)return null;try{d=JSON.parse(c)}catch{return null}return(0,j.u4)(d)&&"session"===d.type?(g?.title?(d.title=g.title,g.source&&(d.titleSource=g.source)):g&&(delete d.title,delete d.titleSource),d):null}function F(a){let b,c;try{b=(0,e.openSync)(a,"r")}catch{return null}try{let a=Buffer.allocUnsafe(65792),d=(0,e.readSync)(b,a,0,a.length,0);c=a.subarray(0,d).toString("utf8")}finally{(0,e.closeSync)(b)}return E(c,65792)}function G(a){let b=new Map;for(let c of a)"label"===c.type&&(c.label?b.set(c.targetId,c.label):b.delete(c.targetId));let c=new Map,d=[];for(let d of a)c.set(d.id,{entry:d,children:[],label:b.get(d.id)});for(let b of a){let a=c.get(b.id);if(null===b.parentId||b.parentId===b.id){d.push(a);continue}let e=c.get(b.parentId);e?e.children.push(a):d.push(a)}let e=(a,b)=>new Date(a.entry.timestamp).getTime()-new Date(b.entry.timestamp).getTime(),f=[...d];for(;f.length>0;){let a=f.pop();a.children.sort(e),f.push(...a.children)}return d}function H(a){return a.length>0?a[a.length-1].id:null}function I(a){let b=a.endsWith("\\")?a.slice(0,-1):a;try{return JSON.parse(`"${b}"`)}catch{return b.replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\")}}function J(a,b,c=0){let d=a.indexOf(`"${b}"`,c);if(-1===d)return;let e=a.indexOf(":",d+b.length+2);if(-1===e)return;let f=e+1;for(;f<a.length;){let b=a.charCodeAt(f);if(32!==b&&9!==b&&10!==b&&13!==b)break;f++}if(34!==a.charCodeAt(f))return;let g=f+1,h=!1;for(let b=g;b<a.length;b++){let c=a.charCodeAt(b);if(h){h=!1;continue}if(92===c){h=!0;continue}if(34===c)return I(a.slice(g,b))}return I(a.slice(g))}function K(a){if(void 0!==a)return a.trim()?a:null}function L(a,b=!0){try{let c,[d,f,g,h]=function(a,b){let c=(0,e.statSync)(a),d=(0,e.openSync)(a,"r");try{let a=Math.min(4096,c.size),f=Buffer.allocUnsafe(a),g=a>0?(0,e.readSync)(d,f,0,a,0):0,h=f.subarray(0,g).toString("utf8"),i="";if(b>0&&c.size>0){let a=Math.min(b,c.size),f=Buffer.allocUnsafe(a),g=(0,e.readSync)(d,f,0,a,c.size-a);i=f.subarray(0,g).toString("utf8")}return[h,i,c.size,c.mtime]}finally{(0,e.closeSync)(d)}}(a,32768*!!b),i=p(d),k=function(a,b){let c,d=b[0],e=K(d?.type==="title"&&"string"==typeof d.title?d.title:void 0),f=function(a,b){if(a?.type==="session"&&"string"==typeof a.id)return{id:a.id,cwd:"string"==typeof a.cwd?a.cwd:void 0,title:null===b?void 0:b??("string"==typeof a.title?a.title:void 0),parentSession:"string"==typeof a.parentSession?a.parentSession:void 0,timestamp:"string"==typeof a.timestamp?a.timestamp:void 0}}(b[+(d?.type==="title")],e);if(f)return f;let g=!0;for(let b of a.split(/\r?\n/)){let a=b.trim();if(a){if(g&&"title"===J(a,"type")){c=K(J(a,"title")),g=!1;continue}return function(a,b){if("session"!==J(a,"type"))return;let c=J(a,"id");if(c)return{id:c,cwd:J(a,"cwd"),title:null===b?void 0:b??J(a,"title"),parentSession:J(a,"parentSession"),timestamp:J(a,"timestamp")}}(a,c)}}}(d,i);if(!k)return;let l=0,m="";for(let a=1;a<i.length;a++){let b=i[a];"compaction"===b.type&&"string"==typeof b.shortSummary&&(c=b.shortSummary),"message"===b.type&&b.message&&(l++,"user"!==b.message.role||m||(m=function(a){if("string"==typeof a)return a;if(!Array.isArray(a))return"";let b=[];for(let c of a)(0,j.u4)(c)&&"text"===c.type&&"string"==typeof c.text&&b.push(c.text);return b.join(" ")}(b.message.content)))}m||=function(a){let b,c=a.indexOf('"role"');for(;-1!==c;){let d=J(a,"role",c),e=J(a,"content",c)??J(a,"text",c);if(e){if("user"===d)return e;b||"developer"!==d&&"assistant"!==d||(b=e)}c=a.indexOf('"role"',c+6)}return b}(d)??"";let n=Math.max(l,function(a){let b=0,c=0;for(;c<a.length;){let d=a.indexOf('"type"',c);if(-1===d)break;let e=a.indexOf(":",d+6);if(-1===e)break;"message"===J(a,"type",d)&&b++,c=e+1}return b}(d));return{path:a,id:k.id,cwd:k.cwd??"",title:k.title??c,parentSessionPath:k.parentSession,created:new Date(k.timestamp??""),modified:h,messageCount:n,size:g,firstMessage:m||"(no messages)",status:b?function(a){if(!a)return"unknown";let b=a.split("\n");for(let a=b.length-1;a>=0;a--){let c,d=b[a];if(123===d.charCodeAt(0)){try{c=JSON.parse(d)}catch{continue}if("message"===c.type&&c.message)return function(a){switch(a.role){case"assistant":{switch(a.stopReason){case"error":return"error";case"aborted":return"aborted";case"length":return"interrupted"}let b=a.content;if(Array.isArray(b)&&b.some(a=>(0,j.u4)(a)&&"toolCall"===a.type))return"interrupted";return"complete"}case"toolResult":return"interrupted";case"user":return"pending";default:return"unknown"}}(c.message)}}return"unknown"}(f):void 0}}catch{return}}async function M(){let a=(0,k.tE)(),b=await O(a),c=[];for(let a of b){let b=function(a){let b;try{b=(0,e.statSync)(a)}catch{return}let c=(globalThis.__ompSessionScanCache||(globalThis.__ompSessionScanCache=new Map),globalThis.__ompSessionScanCache),d=c.get(a);if(d&&d.size===b.size&&d.mtimeMs===b.mtimeMs)return c.delete(a),c.set(a,d),d.info;d&&c.delete(a);let f=L(a,!1);if(f)for(c.set(a,{size:b.size,mtimeMs:b.mtimeMs,info:f});c.size>2048;){let a=c.keys().next().value;if(void 0===a)break;c.delete(a)}return f}(a);b&&c.push(b)}return c.sort((a,b)=>b.modified.getTime()-a.modified.getTime()),c}function N(){globalThis.__ompSessionFileListCache?.clear()}async function O(a){let b;try{b=(0,e.statSync)(a)}catch{return[]}globalThis.__ompSessionFileListCache||(globalThis.__ompSessionFileListCache=new Map);let c=globalThis.__ompSessionFileListCache,d=c.get(a);if(d&&d.rootMtimeMs===b.mtimeMs){let b=!1;try{for(let c of l(a,{withFileTypes:!0})){if(!c.isDirectory())continue;let g=f.join(a,c.name);if((0,e.statSync)(g).mtimeMs>d.subMaxMtimeMs){b=!0;break}}}catch{b=!0}if(!b)return d.files}let g=function(a){let b=[];try{for(let c of l(a,{withFileTypes:!0})){let d;if(!c.isDirectory())continue;let e=f.join(a,c.name);try{d=l(e,{withFileTypes:!0})}catch{continue}for(let a of d)a.isFile()&&a.name.endsWith(".jsonl")&&b.push(f.join(e,a.name))}}catch{return[]}return b}(a),h=0;try{for(let b of l(a,{withFileTypes:!0}))b.isDirectory()&&(h=Math.max(h,(0,e.statSync)(f.join(a,b.name)).mtimeMs))}catch{}return c.set(a,{rootMtimeMs:b.mtimeMs,subMaxMtimeMs:h,files:g}),g}function P(a,b,c){let d,f,g=b.replace(/[\u0000-\u001f\u007f-\u009f]/g," ").replace(/ +/g," ").trim();if(!g)return!1;let h={title:g,source:c,updatedAt:new Date().toISOString()};if(function(a){let b;try{b=(0,e.openSync)(a,"r")}catch{return}try{let a=Buffer.allocUnsafe(256),c=(0,e.readSync)(b,a,0,a.length,0),d=a.subarray(0,c).toString("utf8"),f=d.indexOf("\n");if(f<0)return;return n(d.slice(0,f))}finally{(0,e.closeSync)(b)}}(a)){let b=Buffer.from(o(h),"utf8"),c=(0,e.openSync)(a,"r+");try{let a=0;for(;a<b.length;){let d=(0,e.writeSync)(c,b,a,b.length-a,a);if(0===d)throw Error("Short write while updating session title slot");a+=d}}finally{(0,e.closeSync)(c)}return!0}try{d=(0,e.statSync)(a).size}catch{return!1}if(d>A)return!1;let i=(0,e.readFileSync)(a,"utf8").split("\n"),j=i.findIndex(a=>a.trim().length>0);if(-1===j)throw Error("Cannot rename an empty session file");try{f=JSON.parse(i[j])}catch{throw Error("Cannot rename a session file with a malformed header")}if("session"!==f.type)throw Error("Not a session file");return f.title=g,f.titleSource=c,i[j]=JSON.stringify(f),Q(a,o(h)+i.join("\n"),"title"),!0}function Q(a,b,c="rewrite"){let d=f.dirname(a),g=(0,e.mkdtempSync)(f.join(d,`.ompgui-${c}-`)),h=f.join(g,f.basename(a));try{(0,e.writeFileSync)(h,b,"utf8"),(0,e.renameSync)(h,a)}finally{try{(0,e.rmdirSync)(g)}catch{(0,e.rmSync)(g,{recursive:!0,force:!0})}}}function R(a,b={}){let c=f.resolve(b.sessionsRoot??(0,k.tE)()),d=f.resolve(a),g=f.relative(c,d);if(!g||g.startsWith(".."+f.sep)||f.isAbsolute(g)||!g.endsWith(".jsonl"))throw Error("Session path is outside the active OMP sessions directory");if(!(0,e.lstatSync)(d).isFile())throw Error("Session path is not a regular file");let h=f.resolve(b.archiveRoot??(0,k.ny)()),j=f.join(h,`${g}.gz`),l=j.slice(0,-3);if((0,e.existsSync)(j)||(0,e.existsSync)(l))throw Error("Archived session destination already exists");let m=d.slice(0,-6),n=j.slice(0,-3);(0,e.mkdirSync)(f.dirname(j),{recursive:!0});let o=(0,e.mkdtempSync)(f.join(f.dirname(j),".ompgui-archive-")),p=f.join(o,f.basename(j)),q=f.join(o,f.basename(d)),r=!1,s=!1,t=!1;try{if((0,e.writeFileSync)(p,(0,i.gzipSync)((0,e.readFileSync)(d),{level:9})),(0,e.renameSync)(p,j),r=!0,(0,e.unlinkSync)(d),s=!0,(0,e.existsSync)(m)){if((0,e.existsSync)(n))throw Error("Archived session artifacts destination already exists");(0,e.mkdirSync)(f.dirname(n),{recursive:!0}),(0,e.renameSync)(m,n),t=!0}return j}catch(b){if(t)try{(0,e.renameSync)(n,m)}catch{}let a=!0;if(s&&r){a=!1;try{(0,e.writeFileSync)(q,(0,i.gunzipSync)((0,e.readFileSync)(j))),(0,e.mkdirSync)(f.dirname(d),{recursive:!0}),(0,e.renameSync)(q,d),a=!0}catch{}}if(r&&a)try{(0,e.unlinkSync)(j)}catch{}throw b}finally{try{(0,e.rmSync)(o,{recursive:!0,force:!0})}catch{}}}class S extends Error{constructor(a,b){super(b),this.name="SessionArchiveError",this.code=a}}function T(a){try{return(0,e.lstatSync)(a),!0}catch{return!1}}function U(a,b){let c=f.relative(a,b),d=a;for(let a of c.split(f.sep))if(a){d=f.join(d,a);try{if((0,e.lstatSync)(d).isSymbolicLink())throw new S("invalid_key","Archive path contains a symbolic-link escape")}catch(a){if(a instanceof S)throw a;break}}}async function V(a,b){return new Promise((c,d)=>{let f=(0,e.createReadStream)(a),g=(0,i.createGunzip)(),h=[],j=0,k=!1,l=a=>{k||(k=!0,f.destroy(),g.destroy(),d(a))},m=()=>{k||(k=!0,f.destroy(),g.destroy(),c(Buffer.concat(h,j)))};f.on("error",l),g.on("error",l),g.on("data",a=>{if(k)return;let c=b-j;if(c<=0)return void m();let d=a.subarray(0,c);h.push(d),(j+=d.length)>=b&&m()}),g.on("end",m),f.pipe(g)})}async function W(a={}){let b=f.resolve(a.archiveRoot??(0,k.ny)()),c=function(a){let b,c=[];try{b=l(a,{withFileTypes:!0})}catch{return c}for(let d of b){let b;if(c.length>=500)break;let e=f.join(a,d.name);if(d.isFile()&&d.name.endsWith(".jsonl.gz")){c.push(e);continue}if(d.isDirectory()){try{b=l(e,{withFileTypes:!0})}catch{continue}for(let a of b){if(c.length>=500)break;a.isFile()&&a.name.endsWith(".jsonl.gz")&&c.push(f.join(e,a.name))}}}return c}(b);return(await Promise.all(c.map(async a=>{let c;try{if(!(0,e.lstatSync)(a).isFile())return;c=(0,e.statSync)(a);let d=await V(a,65792),g=E(d.toString("utf8"),65792);if(!g||"string"!=typeof g.id||0===g.id.length)return;let h=f.relative(b,a),i=a.slice(0,-3);return{key:h.split(f.sep).join("/"),id:g.id,..."string"==typeof g.title&&g.title?{name:g.title}:{},..."string"==typeof g.cwd&&g.cwd?{cwd:g.cwd}:{},created:function(a,b){if("string"==typeof a){let b=new Date(a);if(!Number.isNaN(b.getTime()))return b.toISOString()}return b.toISOString()}(g.timestamp,c.mtime),modified:c.mtime.toISOString(),size:c.size,hasArtifacts:T(i)&&(0,e.lstatSync)(i).isDirectory()}}catch{return}}))).filter(a=>!!a).sort((a,b)=>b.modified.localeCompare(a.modified))}async function X(a,b={}){let c,d=f.resolve(b.archiveRoot??(0,k.ny)()),g=f.resolve(b.sessionsRoot??(0,k.tE)()),j=function(a,b){if("string"!=typeof a||0===a.length||a.length>1024||a.includes("\\")||a.includes("\0")||a.startsWith("/")||f.isAbsolute(a)||f.win32.isAbsolute(a)||/^[A-Za-z]:/.test(a)||!a.endsWith(".jsonl.gz"))throw new S("invalid_key","Invalid archived session key");let c=a.split("/");if(c.some(a=>0===a.length||"."===a||".."===a))throw new S("invalid_key","Invalid archived session key");let d=f.resolve(b,...c),e=f.relative(b,d);if(!e||e.startsWith(".."+f.sep)||f.isAbsolute(e))throw new S("invalid_key","Invalid archived session key");return U(b,d),d}(a,d);try{c=(0,e.lstatSync)(j)}catch{throw new S("not_found","Archived session was not found")}if(!c.isFile())throw new S("not_found","Archived session was not found");let l=f.relative(d,j).slice(0,-3),m=f.resolve(g,l);U(g,m);let n=j.slice(0,-3),o=m.slice(0,-6);if(T(m)||T(o))throw new S("destination_conflict","Active session destination already exists");if(T(n)&&!(0,e.lstatSync)(n).isDirectory())throw new S("invalid_archive","Archived session artifacts are not a directory");(0,e.mkdirSync)(f.dirname(m),{recursive:!0});let p=(0,e.mkdtempSync)(f.join(f.dirname(m),".ompgui-restore-")),q=f.join(p,f.basename(m)),r=!1,s=!1,t=null;try{if(await (0,h.pipeline)((0,e.createReadStream)(j),(0,i.createGunzip)(),(0,e.createWriteStream)(q,{flags:"wx"})),!(t=F(q))||"string"!=typeof t.id||0===t.id.length)throw new S("invalid_session_header","Restored archive has an invalid session header");if((0,e.renameSync)(q,m),r=!0,T(n)){if(T(o))throw new S("destination_conflict","Active session artifacts destination already exists");(0,e.renameSync)(n,o),s=!0}return(0,e.unlinkSync)(j),{path:m,id:t.id,header:t}}catch(a){if(s)try{(0,e.renameSync)(o,n)}catch{}if(r)try{(0,e.unlinkSync)(m)}catch{}if(a instanceof S)throw a;throw new S("restore_failed",a instanceof Error?a.message:String(a))}finally{try{(0,e.rmSync)(p,{recursive:!0,force:!0})}catch{}}}function Y(a){if((0,e.unlinkSync)(a),!a.endsWith(".jsonl"))return;let b=a.slice(0,-6);try{(0,e.rmSync)(b,{recursive:!0,force:!0})}catch{}}},78335:()=>{},82536:(a,b,c)=>{"use strict";c.d(b,{SW:()=>i,o4:()=>h,xk:()=>j});var d=c(29021),e=c(33873),f=c.n(e),g=c(58864);function h(a,b){for(let c of b){let b=(0,g.uK)(a)||(0,g.uK)(c),d=b?f().win32:f(),e=b?"\\":f().sep,h=d.resolve(a),i=d.resolve(c),j=b?h.toLowerCase():h,k=b?i.toLowerCase():i,l=k.endsWith(e)?k:k+e;if(j===k||j.startsWith(l))return!0}return!1}function i(a){let b=f().resolve(a),c=[];for(;;)try{(0,d.lstatSync)(b);break}catch(d){if(!(d instanceof Error&&"code"in d&&"ENOENT"===d.code))throw d;let a=f().dirname(b);if(a===b)throw d;c.unshift(f().basename(b)),b=a}return f().join((0,d.realpathSync)(b),...c)}function j(a,b){let c;try{c=(0,d.realpathSync)(a)}catch{return!1}let e=new Set;for(let a of b)try{e.add((0,d.realpathSync)(a))}catch{}return h(c,e)}},85887:(a,b,c)=>{"use strict";c.d(b,{$M:()=>l,OK:()=>r,_8:()=>u,ny:()=>o,oy:()=>j,pA:()=>q,tE:()=>n,yG:()=>p});var d=c(29021),e=c(21820),f=c(33873);let g=/^[a-z0-9][a-z0-9._-]{0,63}$/,h=/^(?:CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9])(?:\..*)?$/i;function i(a){let b=a?.trim();if(b&&"default"!==b){if("."===b||".."===b||b.endsWith(".")||!g.test(b)||h.test(b))throw Error(`Invalid OMP profile "${a}". Profile names must match ${g.source}, cannot be "." or "..", cannot end with ".", and cannot be a Windows reserved device name (CON, PRN, AUX, NUL, COM0-9, LPT0-9, or any of those with an extension).`);return b}}function j(){return void 0!==process.env.OMP_PROFILE?i(process.env.OMP_PROFILE):i(process.env.PI_PROFILE)}function k(){let a=f.join((0,e.homedir)(),process.env.PI_CONFIG_DIR||".omp"),b=j();return b?f.join(a,"profiles",b):a}function l(){let a=j(),b=process.env.PI_CODING_AGENT_DIR;return b&&!a?f.resolve(b):f.join(k(),"agent")}function m(a){let b=function(){let a,b;if("linux"!==process.platform&&"darwin"!==process.platform||(a=j(),(b=process.env.PI_CODING_AGENT_DIR)&&!a&&f.resolve(b)!==f.join(k(),"agent")))return;let c=process.env.XDG_DATA_HOME;if(c)try{let a=f.join(c,"omp"),b=j();if(b){let c=f.join(a,"profiles",b);return(0,d.existsSync)(c)?c:void 0}return(0,d.existsSync)(a)?a:void 0}catch{return}}();return f.join(b??l(),a)}function n(){return m("sessions")}function o(){return f.join(f.dirname(n()),"archive","sessions")}function p(){return m("blobs")}function q(){let a=l(),b=f.join(a,"config.yml");if((0,d.existsSync)(b))return b;let c=f.join(a,"config.yaml");return(0,d.existsSync)(c)?c:b}function r(){let a=l(),b=f.join(a,"models.yml");if((0,d.existsSync)(b))return b;let c=f.join(a,"models.yaml");return(0,d.existsSync)(c)?c:b}function s(a){try{return d.realpathSync.native(a)}catch{return a}}function t(a,b){let c=b.replace(/[/\\:]/g,"-");return c?a.endsWith("-")?`${a}${c}`:`${a}-${c}`:a}function u(a){let b,c=s(f.resolve(a)),d=s((0,e.homedir)()),g=s((0,e.tmpdir)()),h=f.relative(d,c),i=f.relative(g,c);return""!==h&&(h.startsWith("..")||f.isAbsolute(h))?""!==i&&(i.startsWith("..")||f.isAbsolute(i))?(b=f.resolve(c),`--${b.replace(/^[/\\]/,"").replace(/[/\\:]/g,"-")}--`):t("-tmp",i):t("-",h)}},96487:()=>{}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=1671,exports.ids=[1671],exports.modules={51671:(a,b,c)=>{c.d(b,{YT:()=>r,eG:()=>t,getOmpVersion:()=>s,nH:()=>u,resolveOmpBin:()=>q});var d=c(79646),e=c(29021),f=c(21820),g=c(33873);let h=null,i=0,j=null,k=null,l=0,m=null,n="win32"===process.platform?"omp.exe":"omp",o=/\x1B\[[0-9;]*m/g;function p(a){try{let b=(0,e.statSync)(a),c=`${b.ino}:${b.size}:${b.mtimeMs}:${b.ctimeMs}`,d=(0,e.lstatSync)(a);return d.isSymbolicLink()&&(c+=`:${d.ino}:${d.mtimeMs}:${d.ctimeMs}`),c}catch{return null}}function q(){if(h&&(0,e.existsSync)(h))return h;if(h&&!(0,e.existsSync)(h)&&(h=null,j=null,k=null),Date.now()-i<3e4)return null;let a=function(){let a=process.env.OMPGUI_OMP_BIN??process.env.OMP_WEB_OMP_BIN;if(a)return(0,e.existsSync)(a)?a:null;for(let a of(process.env.PATH??"").split(g.delimiter)){if(!a)continue;let b=(0,g.join)(a,n);if((0,e.existsSync)(b))return b}for(let a of["/opt/homebrew/bin","/usr/local/bin",(0,g.join)((0,f.homedir)(),".bun","bin"),(0,g.join)((0,f.homedir)(),".local","bin")]){let b=(0,g.join)(a,n);if((0,e.existsSync)(b))return b}return null}();return a?(h=a,i=0,a):(i=Date.now(),null)}function r(){h=null,i=0,j=null,k=null,l=0,m=null}async function s(){let a=q();if(!a)return Date.now()-l<3e4||(l=Date.now()),null;let b=p(a);return j&&b&&k===b?j:!j&&Date.now()-l<3e4?null:m||(m=(async()=>{try{let c=(await new Promise((b,c)=>{(0,d.execFile)(a,["--version"],{timeout:1e4,windowsHide:!0},(a,d)=>{a?c(a):b(d)})})).trim();if(c){let d=p(a);return j=c,k=d??b,l=0,c}}catch{}finally{m=null}return l=Date.now(),null})())}function t(a,b={}){let c=q();if(!c)return Promise.reject(Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN."));let{promise:e,resolve:f,reject:g}=Promise.withResolvers();return(0,d.execFile)(c,a,{cwd:b.cwd,timeout:b.timeout??6e4,maxBuffer:b.maxBuffer??0x1000000,env:{...process.env,FORCE_COLOR:"0",NO_COLOR:"1"},windowsHide:!0},(b,c,d)=>{b?g(Error((d||c||b.message).replace(o,"").trim().slice(-600)||`omp ${a.join(" ")} failed`)):f({stdout:c,stderr:d})}),e}function u(a){let b=a.replace(o,""),c=b.search(/[{[]/);if(c<0)return null;try{return JSON.parse(b.slice(c))}catch{return null}}}};
|
|
1
|
+
"use strict";exports.id=1671,exports.ids=[1671],exports.modules={51671:(a,b,c)=>{c.d(b,{YT:()=>r,eG:()=>t,getOmpVersion:()=>s,nH:()=>u,resolveOmpBin:()=>q});var d=c(79646),e=c(29021),f=c(21820),g=c(33873);let h=null,i=0,j=null,k=null,l=0,m=null,n="win32"===process.platform?"omp.exe":"omp",o=/\x1B\[[0-9;]*m/g;function p(a){try{let b=(0,e.statSync)(a),c=`${b.ino}:${b.size}:${b.mtimeMs}:${b.ctimeMs}`,d=(0,e.lstatSync)(a);return d.isSymbolicLink()&&(c+=`:${d.ino}:${d.mtimeMs}:${d.ctimeMs}`),c}catch{return null}}function q(){if(h&&(0,e.existsSync)(h))return h;if(h&&!(0,e.existsSync)(h)&&(h=null,j=null,k=null),Date.now()-i<3e4)return null;let a=function(){let a=process.env.OMPGUI_OMP_BIN??process.env.OMP_WEB_OMP_BIN;if(a)return(0,e.existsSync)(a)?a:null;for(let a of(process.env.PATH??"").split(g.delimiter)){if(!a)continue;let b=(0,g.join)(a,n);if((0,e.existsSync)(b))return b}for(let a of["/opt/homebrew/bin","/usr/local/bin",(0,g.join)((0,f.homedir)(),".bun","bin"),(0,g.join)((0,f.homedir)(),".local","bin")]){let b=(0,g.join)(a,n);if((0,e.existsSync)(b))return b}return null}();return a?(h=a,i=0,a):(i=Date.now(),null)}function r(){h=null,i=0,j=null,k=null,l=0,m=null}async function s(){let a=q();if(!a)return Date.now()-l<3e4||(l=Date.now()),null;let b=p(a);return j&&b&&k===b?j:!j&&Date.now()-l<3e4?null:m||(m=(async()=>{try{let c=(await new Promise((b,c)=>{(0,d.execFile)(a,["--version"],{timeout:1e4,windowsHide:!0},(a,d)=>{a?c(a):b(d)})})).trim();if(c){let d=p(a);return j=c,k=d??b,l=0,c}}catch{}finally{m=null}return l=Date.now(),null})())}function t(a,b={}){let c=q();if(!c)return Promise.reject(Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN."));let{promise:e,resolve:f,reject:g}=Promise.withResolvers();return(0,d.execFile)(c,a,{cwd:b.cwd,timeout:b.timeout??6e4,maxBuffer:b.maxBuffer??0x1000000,env:{...b.env??process.env,FORCE_COLOR:"0",NO_COLOR:"1"},windowsHide:!0},(b,c,d)=>{b?g(Error((d||c||b.message).replace(o,"").trim().slice(-600)||`omp ${a.join(" ")} failed`)):f({stdout:c,stderr:d})}),e}function u(a){let b=a.replace(o,""),c=b.search(/[{[]/);if(c<0)return null;try{return JSON.parse(b.slice(c))}catch{return null}}}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=2043,exports.ids=[2043,8672],exports.modules={7561:(a,b,c)=>{c.d(b,{$:()=>f});var d=c(76760),e=c.n(d);function f(a,b=process.platform){let c="win32"===b?e().win32.normalize(a):e().posix.normalize(a);return"win32"===b?c.toLowerCase():c}},15011:(a,b,c)=>{c.d(b,{Eb:()=>j,gB:()=>h,uK:()=>g,w:()=>i});var d=c(33873),e=c.n(d);let f=/^[a-zA-Z]:[\\/]/;function g(a){return f.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function h(a){return a&&"win32"===process.platform?(0,d.normalize)(a):a}function i(a,b=process.platform){if(!a)return a;let c="win32"===b?e().win32:e().posix,d="win32"===b?c.normalize(h(a)):a,f=c.normalize(d),g=c.parse(f).root.length,j=f.length;for(;j>g&&f[j-1]===c.sep;)j--;let k=f.slice(0,j);return"win32"===b?k.toLowerCase():k}function j(a,b){return a===b||!!a&&!!b&&i(a)===i(b)}},18437:(a,b,c)=>{c.d(b,{K8:()=>l,Mt:()=>d,Si:()=>f,ZQ:()=>e,gy:()=>k,kc:()=>g,x:()=>j,zJ:()=>i});let d=0xa00000,e=10;function f(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b;for(let b=0;b<c;b+=1){var d;if(!((d=a.charCodeAt(b))>=65&&d<=90||d>=97&&d<=122||d>=48&&d<=57||43===d||47===d))return null}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return a.length/4*3-b}function g(a){if(void 0===a)return null;if(!Array.isArray(a))return"images must be an array";if(a.length>e)return`A message can include at most ${e} images`;for(let b of a){if(!b||"object"!=typeof b||"image"!==b.type)return"Each attachment must be an image";if(!function(a){if(!a||"object"!=typeof a||"string"!=typeof a.data||"string"!=typeof a.mimeType||!a.mimeType.startsWith("image/"))return!1;let b=f(a.data);return null!==b&&b<=d}(b))return`Each image must be valid base64 image data of ${d/1048576}MB or smaller`}return null}function h(a){if("object"!=typeof a||null===a||Array.isArray(a))return null;let b=a.source;if("object"==typeof b&&null!==b&&!Array.isArray(b)&&"base64"===b.type&&"string"==typeof b.data){let a="string"==typeof b.media_type?b.media_type:"";return a.toLowerCase().startsWith("image/")?{type:"image",data:b.data,mimeType:a}:null}return"string"==typeof a.data&&"string"==typeof a.mimeType?a.mimeType.toLowerCase().startsWith("image/")?{type:"image",data:a.data,mimeType:a.mimeType}:null:null}class i extends Error{constructor(a){super("count"===a?`Tool result images exceed the limit of ${e} images`:"per_image"===a?`Tool result image exceeds the per-image limit of ${d/1048576}MB`:"Tool result images exceed the total limit of 25MB"),this.code="tool_result_images_too_large",this.name="ToolResultImagesTooLargeError",this.reason=a}}function j(a){return f(a)??Math.floor(3*a.length/4)}function k(a){if(a.length>e)throw new i("count");for(let b of a)if(b>d)throw new i("per_image");let b=0;for(let c of a)b+=c;if(b>0x1900000)throw new i("total")}function l(a){let b=new Set,c=[],d=a=>{if(!a||"string"!=typeof a.data||"string"!=typeof a.mimeType)return;let d=`${a.mimeType}\0${a.data}`;b.has(d)||(b.add(d),c.push(a))};try{if(a&&"object"==typeof a&&Array.isArray(a.content))for(let b of a.content)"object"!=typeof b||null===b||Array.isArray(b)||"image"===b.type&&d(h(b));let b=a&&"object"==typeof a?a.details:void 0;if("object"==typeof b&&null!==b&&!Array.isArray(b)){let a=b.images;if(Array.isArray(a))for(let b of a)d(h(b))}}catch{}return c}},28672:(a,b,c)=>{function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function e(a){return"string"==typeof a?a:void 0}function f(a){return"number"==typeof a&&Number.isFinite(a)?a:void 0}c.d(b,{i:()=>f,oJ:()=>e,u4:()=>d})},36862:(a,b,c)=>{c.d(b,{IL:()=>
|
|
1
|
+
"use strict";exports.id=2043,exports.ids=[2043,8672],exports.modules={7561:(a,b,c)=>{c.d(b,{$:()=>f});var d=c(76760),e=c.n(d);function f(a,b=process.platform){let c="win32"===b?e().win32.normalize(a):e().posix.normalize(a);return"win32"===b?c.toLowerCase():c}},15011:(a,b,c)=>{c.d(b,{Eb:()=>j,gB:()=>h,uK:()=>g,w:()=>i});var d=c(33873),e=c.n(d);let f=/^[a-zA-Z]:[\\/]/;function g(a){return f.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function h(a){return a&&"win32"===process.platform?(0,d.normalize)(a):a}function i(a,b=process.platform){if(!a)return a;let c="win32"===b?e().win32:e().posix,d="win32"===b?c.normalize(h(a)):a,f=c.normalize(d),g=c.parse(f).root.length,j=f.length;for(;j>g&&f[j-1]===c.sep;)j--;let k=f.slice(0,j);return"win32"===b?k.toLowerCase():k}function j(a,b){return a===b||!!a&&!!b&&i(a)===i(b)}},18437:(a,b,c)=>{c.d(b,{K8:()=>l,Mt:()=>d,Si:()=>f,ZQ:()=>e,gy:()=>k,kc:()=>g,x:()=>j,zJ:()=>i});let d=0xa00000,e=10;function f(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b;for(let b=0;b<c;b+=1){var d;if(!((d=a.charCodeAt(b))>=65&&d<=90||d>=97&&d<=122||d>=48&&d<=57||43===d||47===d))return null}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return a.length/4*3-b}function g(a){if(void 0===a)return null;if(!Array.isArray(a))return"images must be an array";if(a.length>e)return`A message can include at most ${e} images`;for(let b of a){if(!b||"object"!=typeof b||"image"!==b.type)return"Each attachment must be an image";if(!function(a){if(!a||"object"!=typeof a||"string"!=typeof a.data||"string"!=typeof a.mimeType||!a.mimeType.startsWith("image/"))return!1;let b=f(a.data);return null!==b&&b<=d}(b))return`Each image must be valid base64 image data of ${d/1048576}MB or smaller`}return null}function h(a){if("object"!=typeof a||null===a||Array.isArray(a))return null;let b=a.source;if("object"==typeof b&&null!==b&&!Array.isArray(b)&&"base64"===b.type&&"string"==typeof b.data){let a="string"==typeof b.media_type?b.media_type:"";return a.toLowerCase().startsWith("image/")?{type:"image",data:b.data,mimeType:a}:null}return"string"==typeof a.data&&"string"==typeof a.mimeType?a.mimeType.toLowerCase().startsWith("image/")?{type:"image",data:a.data,mimeType:a.mimeType}:null:null}class i extends Error{constructor(a){super("count"===a?`Tool result images exceed the limit of ${e} images`:"per_image"===a?`Tool result image exceeds the per-image limit of ${d/1048576}MB`:"Tool result images exceed the total limit of 25MB"),this.code="tool_result_images_too_large",this.name="ToolResultImagesTooLargeError",this.reason=a}}function j(a){return f(a)??Math.floor(3*a.length/4)}function k(a){if(a.length>e)throw new i("count");for(let b of a)if(b>d)throw new i("per_image");let b=0;for(let c of a)b+=c;if(b>0x1900000)throw new i("total")}function l(a){let b=new Set,c=[],d=a=>{if(!a||"string"!=typeof a.data||"string"!=typeof a.mimeType)return;let d=`${a.mimeType}\0${a.data}`;b.has(d)||(b.add(d),c.push(a))};try{if(a&&"object"==typeof a&&Array.isArray(a.content))for(let b of a.content)"object"!=typeof b||null===b||Array.isArray(b)||"image"===b.type&&d(h(b));let b=a&&"object"==typeof a?a.details:void 0;if("object"==typeof b&&null!==b&&!Array.isArray(b)){let a=b.images;if(Array.isArray(a))for(let b of a)d(h(b))}}catch{}return c}},28672:(a,b,c)=>{function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function e(a){return"string"==typeof a?a:void 0}function f(a){return"number"==typeof a&&Number.isFinite(a)?a:void 0}c.d(b,{i:()=>f,oJ:()=>e,u4:()=>d})},36862:(a,b,c)=>{c.d(b,{IL:()=>w,KI:()=>q,P9:()=>s,ew:()=>p,l:()=>v,xw:()=>u});var d=c(79646),e=c(29021),f=c(33873),g=c(28354),h=c(54639),i=c(15011),j=c(83739);let k=(0,g.promisify)(d.execFile);function l(a){try{return(0,e.realpathSync)(a)}catch{return a}}function m(){globalThis.__piProjectCache?.clear()}async function n(a,b){let{stdout:c}=await k("git",["-C",a,...b],{timeout:1e4,maxBuffer:1048576,env:{...process.env,LC_ALL:"C"}});return c.trim()}function o(a){let b=(0,f.dirname)(a);if(!b.endsWith("-worktrees"))return null;let c=b.slice(0,-10);return c&&(0,e.existsSync)((0,f.join)(c,".git"))?{projectRoot:l(c),branch:(0,f.basename)(a),isWorktree:!0,isTopLevel:!0}:null}async function p(a,b){let c;if((0,e.existsSync)(a))return(0,j.o4)(a,b)&&(0,j.xk)(a,b)?{project:await q(a),listingCwd:a}:null;try{c=(0,j.SW)(a)}catch{return null}let d=o(c);return d&&(0,j.xk)(d.projectRoot,b)?{project:d,listingCwd:d.projectRoot}:null}async function q(a){let b,c=(globalThis.__piProjectCache||(globalThis.__piProjectCache=new Map),globalThis.__piProjectCache),d=c.get(a);if(d&&d.expiresAt>Date.now())return d.info;try{if(!(0,e.existsSync)(a))return b=o(a)??{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1},c.set(a,{info:b,expiresAt:Date.now()+6e4}),b;let[d,g,h,j]=(await n(a,["rev-parse","--path-format=absolute","--git-common-dir","--git-dir","--show-toplevel","--abbrev-ref","HEAD"])).split("\n").map(a=>a.trim()),[k,m,p]=[d,g,h].map(i.gB),q=l(a),r=(0,i.Eb)(p,q),s=!(0,i.Eb)(m,k)&&r,t=s?(0,f.dirname)(k):p;b={projectRoot:r?l(t):l(a),branch:j&&"HEAD"!==j?j:null,isWorktree:s,isTopLevel:r}}catch{b={projectRoot:l(a),branch:null,isWorktree:!1,isTopLevel:!1}}return c.set(a,{info:b,expiresAt:Date.now()+6e4}),b}async function r(a){let b=await n(a,["rev-parse","--path-format=absolute","--git-common-dir"]);return l((0,f.dirname)((0,i.gB)(b)))}async function s(a){let b=await n(a,["worktree","list","--porcelain"]),c=[],d=null,g=()=>{if(d?.path){let a=(0,f.resolve)(d.path);!d.prunable&&(0,e.existsSync)(a)&&c.push({path:a,branch:d.branch??null,isMain:0===c.length})}d=null};for(let a of b.split("\n"))a.startsWith("worktree ")?(g(),d={path:(0,i.gB)(a.slice(9).trim())}):a.startsWith("branch ")&&d?d.branch=a.slice(7).trim().replace(/^refs\/heads\//,""):a.startsWith("prunable")&&d?d.prunable=!0:""===a.trim()&&g();return g(),c}function t(a,b){return a.find(a=>(0,i.Eb)(a.path,b))}function u(a,b){return t(a,l(b))?.path??null}async function v(a,b){let c=b.trim();if(!c)throw Error("Branch name is required");let d=c.replace(/[\/\\:*?"<>|\s]+/g,"-").replace(/^-+|-+$/g,"");if(!d)throw Error(`Invalid branch name: ${b}`);let g=await r(a),i=`${(0,f.resolve)(g)}-worktrees`,j=(0,f.join)(i,d);if((0,e.existsSync)(j))throw Error(`Directory already exists: ${j}`);(0,e.mkdirSync)(i,{recursive:!0});let k=!1;try{await n(g,["rev-parse","--verify","--quiet",`refs/heads/${c}`]),k=!0}catch{k=!1}try{k?await n(g,["worktree","add","--",j,c]):await n(g,["worktree","add","-b",c,"--",j])}catch(a){throw Error(x(a))}return(0,h.wz)(j),m(),{path:j,branch:c}}async function w(a,b,c=!1){let d=t(await s(a),b);if(!d)throw Error(`Not a worktree of this repository: ${b}`);if(d.isMain)throw Error("Cannot remove the main worktree");try{await n(a,["worktree","remove",...c?["--force"]:[],d.path])}catch(a){throw Error(x(a))}m()}function x(a){let b=a.stderr;return"string"==typeof b&&b.trim()?b.trim():a instanceof Error?a.message:String(a)}},44500:(a,b,c)=>{c.d(b,{Bm:()=>P,De:()=>S,Ee:()=>C,Fy:()=>D,G:()=>t,Hb:()=>F,I3:()=>N,I8:()=>v,L1:()=>M,O0:()=>X,U1:()=>n,Uk:()=>W,XS:()=>Y,a8:()=>R,kT:()=>H,lc:()=>G,mk:()=>L,ni:()=>A,nr:()=>p,qd:()=>z,sv:()=>Q,zW:()=>s});var d=c(55511),e=c(29021),f=c(33873),g=c(41204),h=c(77725),i=c(74075),j=c(28672),k=c(92226);let l=Reflect.get(e,"readdirSync");function m(a,b,c,d){return`${JSON.stringify(b?{type:"title",v:1,title:a,source:b,updatedAt:c,pad:d}:{type:"title",v:1,title:a,updatedAt:c,pad:d})}
|
|
2
2
|
`}function n(a){var b;let c;try{c=JSON.parse(a)}catch{return}if("object"!=typeof c||null===c)return;let d=c;if("title"!==d.type||1!==d.v||"string"!=typeof d.title||"string"!=typeof d.updatedAt||"string"!=typeof d.pad||void 0!==d.source&&"auto"!==(b=d.source)&&"user"!==b)return;let e={type:"title",v:1,title:d.title,updatedAt:d.updatedAt,pad:d.pad};return d.source&&(e.source=d.source),e}function o(a){let b=function(a,b,c){let d=[...a],e=0,f=d.length,g="";for(;e<=f;){let a=e+f>>>1,h=d.slice(0,a).join("");256>=Buffer.byteLength(m(h,b,c,""),"utf8")?(g=h,e=a+1):f=a-1}return g}(a.title??"",a.source,a.updatedAt),c=m(b,a.source,a.updatedAt,""),d=256-Buffer.byteLength(c,"utf8");if(d<0)throw Error("Session title slot metadata exceeds fixed slot size");let e=m(b,a.source,a.updatedAt," ".repeat(d));if(256!==Buffer.byteLength(e,"utf8"))throw Error("Session title slot serialization failed to produce fixed-width output");return e}function p(a){let b=[];for(let c of a.split("\n")){let a=c.trim();if(a)try{let c=JSON.parse(a);(0,j.u4)(c)&&b.push(c)}catch{}}return b}let q="blob:sha256:",r=/^[a-f0-9]{64}$/;function s(a){return a.startsWith(q)}function t(a){if(!a.startsWith(q))return null;let b=a.slice(q.length);return r.test(b)?b:null}function u(a){try{return(0,e.readFileSync)(f.join((0,k.yG)(),a))}catch{return null}}function v(a){try{return(0,e.statSync)(f.join((0,k.yG)(),a)).size}catch{return null}}function w(a){return(0,j.u4)(a)&&"image"===a.type&&"string"==typeof a.data}function x(a,b){if(Array.isArray(a)){for(let c of a)x(c,b);return}if((0,j.u4)(a)){if((0,j.u4)(a)&&"string"==typeof a.data&&(w(a)||"string"==typeof a.mimeType&&a.mimeType.toLowerCase().startsWith("image/"))&&s(a.data)&&("content"===b&&w(a)||"images"===b)){let b=t(a.data);if(!b)return;let c=u(b);c?a.data=c.toString("base64"):(a.type="text",a.text=`[image unavailable: blob ${b.slice(0,12)}… not found]`,delete a.data,delete a.mimeType,delete a.source);return}if("image_generation_call"===a.type&&"string"==typeof a.result&&s(a.result)){let b=t(a.result),c=b?u(b):null;c&&(a.result=c.toString("base64"))}if("string"==typeof a.image_url&&s(a.image_url)){let b=t(a.image_url),c=b?u(b):null;c&&(a.image_url=c.toString("utf8"))}for(let[b,c]of Object.entries(a))x(c,b)}}function y(a){if("string"==typeof a)return s(a);if(Array.isArray(a)){for(let b of a)if(y(b))return!0;return!1}if(!(0,j.u4)(a))return!1;for(let b in a)if(y(a[b]))return!0;return!1}function z(a,b={}){return a.map(a=>{if(b.skipToolResultImages&&"message"===a.type&&"toolResult"===a.message.role||!y(a))return a;let c=structuredClone(a);return x(c,void 0),c})}let A=0x40000000;function B(a,b){let c=(0,e.openSync)(a,"r");try{let a=Buffer.allocUnsafe(1048576),d=new g.StringDecoder("utf8"),f=[],h=!1;for(;;){let g=(0,e.readSync)(c,a,0,a.length,null);if(0===g)break;let i=d.write(a.subarray(0,g));if(h=h||i.includes("\n"),f.push(i),!h)continue;let j=f.join("");f.length=0,h=!1;let k=0,l=j.indexOf("\n",k);for(;-1!==l;){if(!1===b(j.slice(k,l)))return;k=l+1,l=j.indexOf("\n",k)}k<j.length&&f.push(j.slice(k))}let i=d.end();i&&f.push(i),f.length>0&&b(f.join(""))}finally{(0,e.closeSync)(c)}}function C(a,b){let c=!0,d=!1,e=!1,f=!1,g=null;try{B(a,a=>{let h;if(c&&(c=!1,n(a)))return;let i=a.trim();if(i){try{h=JSON.parse(i)}catch{return}if((0,j.u4)(h)){if(!d)return"session"!==h.type||"string"!=typeof h.id?(f=!0,!1):(d=!0,!(e="number"!=typeof h.version||h.version<3)&&void 0);if("session"!==h.type&&h.id===b)return g=h,!1}}})}catch{return null}return f||!d?null:e?D(a).entries.find(a=>a.id===b)??null:g}function D(a,b={}){let c,f,g;try{c=(0,e.statSync)(a).size}catch{return{header:null,entries:[],titleSlot:void 0}}if(c>A)return{header:null,entries:[],titleSlot:void 0,error:"too_large"};let h=[],i=!0;try{B(a,a=>{if(i&&(i=!1,f=n(a)))return;let b=a.trim();if(b)try{let a=JSON.parse(b);(0,j.u4)(a)&&h.push(a)}catch{}})}catch(b){let a=b instanceof RangeError;return{header:null,entries:[],titleSlot:f,...a?{error:"too_large"}:{}}}let k=h[0];if(!k||"session"!==k.type||"string"!=typeof k.id)return{header:null,entries:[],titleSlot:f};let l=h.slice(1).filter(a=>"session"!==a.type);return!((g=k.version??1)>=3)&&(g<2&&function(a,b){a.version=2;let c=new Set,e=null;for(let a of b)if(a.id=function(a){for(let b=0;b<100;b++){let b=(0,d.randomUUID)().slice(-8);if(!a.has(b))return b}return(0,d.randomUUID)()}(c),c.add(a.id),a.parentId=e,e=a.id,"compaction"===a.type&&"number"==typeof a.firstKeptEntryIndex){let c=a.firstKeptEntryIndex>=1?b[a.firstKeptEntryIndex-1]:void 0;c&&(a.firstKeptEntryId=c.id),delete a.firstKeptEntryIndex}}(k,l),g<3&&function(a,b){for(let c of(a.version=3,b))if("message"===c.type){let a=c.message;"hookMessage"===a.role&&(a.role="custom")}}(k,l)),f&&(f.title?(k.title=f.title,f.source?k.titleSource=f.source:delete k.titleSource):(delete k.title,delete k.titleSource)),b.resolveBlobs&&function(a,b={}){for(let c of a)(!b.skipToolResultImages||"message"!==c.type||"toolResult"!==c.message.role)&&y(c)&&x(c,void 0)}(l,{skipToolResultImages:b.skipToolResultImages}),{header:k,entries:l,titleSlot:f}}function E(a,b){let c,d,e=a.indexOf("\n");if(-1===e){if(Buffer.byteLength(a,"utf8")>=b)return null;e=a.length}let f=a.slice(0,e).trim();if(!f)return null;let g=n(f);if(g){let d=a.slice(e+1),f=d.indexOf("\n");if(-1===f&&Buffer.byteLength(d,"utf8")+e>=b)return null;c=(-1===f?d:d.slice(0,f)).trim()}else c=f;if(!c)return null;try{d=JSON.parse(c)}catch{return null}return(0,j.u4)(d)&&"session"===d.type?(g?.title?(d.title=g.title,g.source&&(d.titleSource=g.source)):g&&(delete d.title,delete d.titleSource),d):null}function F(a){let b,c;try{b=(0,e.openSync)(a,"r")}catch{return null}try{let a=Buffer.allocUnsafe(65792),d=(0,e.readSync)(b,a,0,a.length,0);c=a.subarray(0,d).toString("utf8")}finally{(0,e.closeSync)(b)}return E(c,65792)}function G(a){let b=new Map;for(let c of a)"label"===c.type&&(c.label?b.set(c.targetId,c.label):b.delete(c.targetId));let c=new Map,d=[];for(let d of a)c.set(d.id,{entry:d,children:[],label:b.get(d.id)});for(let b of a){let a=c.get(b.id);if(null===b.parentId||b.parentId===b.id){d.push(a);continue}let e=c.get(b.parentId);e?e.children.push(a):d.push(a)}let e=(a,b)=>new Date(a.entry.timestamp).getTime()-new Date(b.entry.timestamp).getTime(),f=[...d];for(;f.length>0;){let a=f.pop();a.children.sort(e),f.push(...a.children)}return d}function H(a){return a.length>0?a[a.length-1].id:null}function I(a){let b=a.endsWith("\\")?a.slice(0,-1):a;try{return JSON.parse(`"${b}"`)}catch{return b.replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\")}}function J(a,b,c=0){let d=a.indexOf(`"${b}"`,c);if(-1===d)return;let e=a.indexOf(":",d+b.length+2);if(-1===e)return;let f=e+1;for(;f<a.length;){let b=a.charCodeAt(f);if(32!==b&&9!==b&&10!==b&&13!==b)break;f++}if(34!==a.charCodeAt(f))return;let g=f+1,h=!1;for(let b=g;b<a.length;b++){let c=a.charCodeAt(b);if(h){h=!1;continue}if(92===c){h=!0;continue}if(34===c)return I(a.slice(g,b))}return I(a.slice(g))}function K(a){if(void 0!==a)return a.trim()?a:null}function L(a,b=!0){try{let c,[d,f,g,h]=function(a,b){let c=(0,e.statSync)(a),d=(0,e.openSync)(a,"r");try{let a=Math.min(4096,c.size),f=Buffer.allocUnsafe(a),g=a>0?(0,e.readSync)(d,f,0,a,0):0,h=f.subarray(0,g).toString("utf8"),i="";if(b>0&&c.size>0){let a=Math.min(b,c.size),f=Buffer.allocUnsafe(a),g=(0,e.readSync)(d,f,0,a,c.size-a);i=f.subarray(0,g).toString("utf8")}return[h,i,c.size,c.mtime]}finally{(0,e.closeSync)(d)}}(a,32768*!!b),i=p(d),k=function(a,b){let c,d=b[0],e=K(d?.type==="title"&&"string"==typeof d.title?d.title:void 0),f=function(a,b){if(a?.type==="session"&&"string"==typeof a.id)return{id:a.id,cwd:"string"==typeof a.cwd?a.cwd:void 0,title:null===b?void 0:b??("string"==typeof a.title?a.title:void 0),parentSession:"string"==typeof a.parentSession?a.parentSession:void 0,timestamp:"string"==typeof a.timestamp?a.timestamp:void 0}}(b[+(d?.type==="title")],e);if(f)return f;let g=!0;for(let b of a.split(/\r?\n/)){let a=b.trim();if(a){if(g&&"title"===J(a,"type")){c=K(J(a,"title")),g=!1;continue}return function(a,b){if("session"!==J(a,"type"))return;let c=J(a,"id");if(c)return{id:c,cwd:J(a,"cwd"),title:null===b?void 0:b??J(a,"title"),parentSession:J(a,"parentSession"),timestamp:J(a,"timestamp")}}(a,c)}}}(d,i);if(!k)return;let l=0,m="";for(let a=1;a<i.length;a++){let b=i[a];"compaction"===b.type&&"string"==typeof b.shortSummary&&(c=b.shortSummary),"message"===b.type&&b.message&&(l++,"user"!==b.message.role||m||(m=function(a){if("string"==typeof a)return a;if(!Array.isArray(a))return"";let b=[];for(let c of a)(0,j.u4)(c)&&"text"===c.type&&"string"==typeof c.text&&b.push(c.text);return b.join(" ")}(b.message.content)))}m||=function(a){let b,c=a.indexOf('"role"');for(;-1!==c;){let d=J(a,"role",c),e=J(a,"content",c)??J(a,"text",c);if(e){if("user"===d)return e;b||"developer"!==d&&"assistant"!==d||(b=e)}c=a.indexOf('"role"',c+6)}return b}(d)??"";let n=Math.max(l,function(a){let b=0,c=0;for(;c<a.length;){let d=a.indexOf('"type"',c);if(-1===d)break;let e=a.indexOf(":",d+6);if(-1===e)break;"message"===J(a,"type",d)&&b++,c=e+1}return b}(d));return{path:a,id:k.id,cwd:k.cwd??"",title:k.title??c,parentSessionPath:k.parentSession,created:new Date(k.timestamp??""),modified:h,messageCount:n,size:g,firstMessage:m||"(no messages)",status:b?function(a){if(!a)return"unknown";let b=a.split("\n");for(let a=b.length-1;a>=0;a--){let c,d=b[a];if(123===d.charCodeAt(0)){try{c=JSON.parse(d)}catch{continue}if("message"===c.type&&c.message)return function(a){switch(a.role){case"assistant":{switch(a.stopReason){case"error":return"error";case"aborted":return"aborted";case"length":return"interrupted"}let b=a.content;if(Array.isArray(b)&&b.some(a=>(0,j.u4)(a)&&"toolCall"===a.type))return"interrupted";return"complete"}case"toolResult":return"interrupted";case"user":return"pending";default:return"unknown"}}(c.message)}}return"unknown"}(f):void 0}}catch{return}}async function M(){let a=(0,k.tE)(),b=await O(a),c=[];for(let a of b){let b=function(a){let b;try{b=(0,e.statSync)(a)}catch{return}let c=(globalThis.__ompSessionScanCache||(globalThis.__ompSessionScanCache=new Map),globalThis.__ompSessionScanCache),d=c.get(a);if(d&&d.size===b.size&&d.mtimeMs===b.mtimeMs)return c.delete(a),c.set(a,d),d.info;d&&c.delete(a);let f=L(a,!1);if(f)for(c.set(a,{size:b.size,mtimeMs:b.mtimeMs,info:f});c.size>2048;){let a=c.keys().next().value;if(void 0===a)break;c.delete(a)}return f}(a);b&&c.push(b)}return c.sort((a,b)=>b.modified.getTime()-a.modified.getTime()),c}function N(){globalThis.__ompSessionFileListCache?.clear()}async function O(a){let b;try{b=(0,e.statSync)(a)}catch{return[]}globalThis.__ompSessionFileListCache||(globalThis.__ompSessionFileListCache=new Map);let c=globalThis.__ompSessionFileListCache,d=c.get(a);if(d&&d.rootMtimeMs===b.mtimeMs){let b=!1;try{for(let c of l(a,{withFileTypes:!0})){if(!c.isDirectory())continue;let g=f.join(a,c.name);if((0,e.statSync)(g).mtimeMs>d.subMaxMtimeMs){b=!0;break}}}catch{b=!0}if(!b)return d.files}let g=function(a){let b=[];try{for(let c of l(a,{withFileTypes:!0})){let d;if(!c.isDirectory())continue;let e=f.join(a,c.name);try{d=l(e,{withFileTypes:!0})}catch{continue}for(let a of d)a.isFile()&&a.name.endsWith(".jsonl")&&b.push(f.join(e,a.name))}}catch{return[]}return b}(a),h=0;try{for(let b of l(a,{withFileTypes:!0}))b.isDirectory()&&(h=Math.max(h,(0,e.statSync)(f.join(a,b.name)).mtimeMs))}catch{}return c.set(a,{rootMtimeMs:b.mtimeMs,subMaxMtimeMs:h,files:g}),g}function P(a,b,c){let d,f,g=b.replace(/[\u0000-\u001f\u007f-\u009f]/g," ").replace(/ +/g," ").trim();if(!g)return!1;let h={title:g,source:c,updatedAt:new Date().toISOString()};if(function(a){let b;try{b=(0,e.openSync)(a,"r")}catch{return}try{let a=Buffer.allocUnsafe(256),c=(0,e.readSync)(b,a,0,a.length,0),d=a.subarray(0,c).toString("utf8"),f=d.indexOf("\n");if(f<0)return;return n(d.slice(0,f))}finally{(0,e.closeSync)(b)}}(a)){let b=Buffer.from(o(h),"utf8"),c=(0,e.openSync)(a,"r+");try{let a=0;for(;a<b.length;){let d=(0,e.writeSync)(c,b,a,b.length-a,a);if(0===d)throw Error("Short write while updating session title slot");a+=d}}finally{(0,e.closeSync)(c)}return!0}try{d=(0,e.statSync)(a).size}catch{return!1}if(d>A)return!1;let i=(0,e.readFileSync)(a,"utf8").split("\n"),j=i.findIndex(a=>a.trim().length>0);if(-1===j)throw Error("Cannot rename an empty session file");try{f=JSON.parse(i[j])}catch{throw Error("Cannot rename a session file with a malformed header")}if("session"!==f.type)throw Error("Not a session file");return f.title=g,f.titleSource=c,i[j]=JSON.stringify(f),Q(a,o(h)+i.join("\n"),"title"),!0}function Q(a,b,c="rewrite"){let d=f.dirname(a),g=(0,e.mkdtempSync)(f.join(d,`.ompgui-${c}-`)),h=f.join(g,f.basename(a));try{(0,e.writeFileSync)(h,b,"utf8"),(0,e.renameSync)(h,a)}finally{try{(0,e.rmdirSync)(g)}catch{(0,e.rmSync)(g,{recursive:!0,force:!0})}}}function R(a,b={}){let c=f.resolve(b.sessionsRoot??(0,k.tE)()),d=f.resolve(a),g=f.relative(c,d);if(!g||g.startsWith(".."+f.sep)||f.isAbsolute(g)||!g.endsWith(".jsonl"))throw Error("Session path is outside the active OMP sessions directory");if(!(0,e.lstatSync)(d).isFile())throw Error("Session path is not a regular file");let h=f.resolve(b.archiveRoot??(0,k.ny)()),j=f.join(h,`${g}.gz`),l=j.slice(0,-3);if((0,e.existsSync)(j)||(0,e.existsSync)(l))throw Error("Archived session destination already exists");let m=d.slice(0,-6),n=j.slice(0,-3);(0,e.mkdirSync)(f.dirname(j),{recursive:!0});let o=(0,e.mkdtempSync)(f.join(f.dirname(j),".ompgui-archive-")),p=f.join(o,f.basename(j)),q=f.join(o,f.basename(d)),r=!1,s=!1,t=!1;try{if((0,e.writeFileSync)(p,(0,i.gzipSync)((0,e.readFileSync)(d),{level:9})),(0,e.renameSync)(p,j),r=!0,(0,e.unlinkSync)(d),s=!0,(0,e.existsSync)(m)){if((0,e.existsSync)(n))throw Error("Archived session artifacts destination already exists");(0,e.mkdirSync)(f.dirname(n),{recursive:!0}),(0,e.renameSync)(m,n),t=!0}return j}catch(b){if(t)try{(0,e.renameSync)(n,m)}catch{}let a=!0;if(s&&r){a=!1;try{(0,e.writeFileSync)(q,(0,i.gunzipSync)((0,e.readFileSync)(j))),(0,e.mkdirSync)(f.dirname(d),{recursive:!0}),(0,e.renameSync)(q,d),a=!0}catch{}}if(r&&a)try{(0,e.unlinkSync)(j)}catch{}throw b}finally{try{(0,e.rmSync)(o,{recursive:!0,force:!0})}catch{}}}class S extends Error{constructor(a,b){super(b),this.name="SessionArchiveError",this.code=a}}function T(a){try{return(0,e.lstatSync)(a),!0}catch{return!1}}function U(a,b){let c=f.relative(a,b),d=a;for(let a of c.split(f.sep))if(a){d=f.join(d,a);try{if((0,e.lstatSync)(d).isSymbolicLink())throw new S("invalid_key","Archive path contains a symbolic-link escape")}catch(a){if(a instanceof S)throw a;break}}}async function V(a,b){return new Promise((c,d)=>{let f=(0,e.createReadStream)(a),g=(0,i.createGunzip)(),h=[],j=0,k=!1,l=a=>{k||(k=!0,f.destroy(),g.destroy(),d(a))},m=()=>{k||(k=!0,f.destroy(),g.destroy(),c(Buffer.concat(h,j)))};f.on("error",l),g.on("error",l),g.on("data",a=>{if(k)return;let c=b-j;if(c<=0)return void m();let d=a.subarray(0,c);h.push(d),(j+=d.length)>=b&&m()}),g.on("end",m),f.pipe(g)})}async function W(a={}){let b=f.resolve(a.archiveRoot??(0,k.ny)()),c=function(a){let b,c=[];try{b=l(a,{withFileTypes:!0})}catch{return c}for(let d of b){let b;if(c.length>=500)break;let e=f.join(a,d.name);if(d.isFile()&&d.name.endsWith(".jsonl.gz")){c.push(e);continue}if(d.isDirectory()){try{b=l(e,{withFileTypes:!0})}catch{continue}for(let a of b){if(c.length>=500)break;a.isFile()&&a.name.endsWith(".jsonl.gz")&&c.push(f.join(e,a.name))}}}return c}(b);return(await Promise.all(c.map(async a=>{let c;try{if(!(0,e.lstatSync)(a).isFile())return;c=(0,e.statSync)(a);let d=await V(a,65792),g=E(d.toString("utf8"),65792);if(!g||"string"!=typeof g.id||0===g.id.length)return;let h=f.relative(b,a),i=a.slice(0,-3);return{key:h.split(f.sep).join("/"),id:g.id,..."string"==typeof g.title&&g.title?{name:g.title}:{},..."string"==typeof g.cwd&&g.cwd?{cwd:g.cwd}:{},created:function(a,b){if("string"==typeof a){let b=new Date(a);if(!Number.isNaN(b.getTime()))return b.toISOString()}return b.toISOString()}(g.timestamp,c.mtime),modified:c.mtime.toISOString(),size:c.size,hasArtifacts:T(i)&&(0,e.lstatSync)(i).isDirectory()}}catch{return}}))).filter(a=>!!a).sort((a,b)=>b.modified.localeCompare(a.modified))}async function X(a,b={}){let c,d=f.resolve(b.archiveRoot??(0,k.ny)()),g=f.resolve(b.sessionsRoot??(0,k.tE)()),j=function(a,b){if("string"!=typeof a||0===a.length||a.length>1024||a.includes("\\")||a.includes("\0")||a.startsWith("/")||f.isAbsolute(a)||f.win32.isAbsolute(a)||/^[A-Za-z]:/.test(a)||!a.endsWith(".jsonl.gz"))throw new S("invalid_key","Invalid archived session key");let c=a.split("/");if(c.some(a=>0===a.length||"."===a||".."===a))throw new S("invalid_key","Invalid archived session key");let d=f.resolve(b,...c),e=f.relative(b,d);if(!e||e.startsWith(".."+f.sep)||f.isAbsolute(e))throw new S("invalid_key","Invalid archived session key");return U(b,d),d}(a,d);try{c=(0,e.lstatSync)(j)}catch{throw new S("not_found","Archived session was not found")}if(!c.isFile())throw new S("not_found","Archived session was not found");let l=f.relative(d,j).slice(0,-3),m=f.resolve(g,l);U(g,m);let n=j.slice(0,-3),o=m.slice(0,-6);if(T(m)||T(o))throw new S("destination_conflict","Active session destination already exists");if(T(n)&&!(0,e.lstatSync)(n).isDirectory())throw new S("invalid_archive","Archived session artifacts are not a directory");(0,e.mkdirSync)(f.dirname(m),{recursive:!0});let p=(0,e.mkdtempSync)(f.join(f.dirname(m),".ompgui-restore-")),q=f.join(p,f.basename(m)),r=!1,s=!1,t=null;try{if(await (0,h.pipeline)((0,e.createReadStream)(j),(0,i.createGunzip)(),(0,e.createWriteStream)(q,{flags:"wx"})),!(t=F(q))||"string"!=typeof t.id||0===t.id.length)throw new S("invalid_session_header","Restored archive has an invalid session header");if((0,e.renameSync)(q,m),r=!0,T(n)){if(T(o))throw new S("destination_conflict","Active session artifacts destination already exists");(0,e.renameSync)(n,o),s=!0}return(0,e.unlinkSync)(j),{path:m,id:t.id,header:t}}catch(a){if(s)try{(0,e.renameSync)(o,n)}catch{}if(r)try{(0,e.unlinkSync)(m)}catch{}if(a instanceof S)throw a;throw new S("restore_failed",a instanceof Error?a.message:String(a))}finally{try{(0,e.rmSync)(p,{recursive:!0,force:!0})}catch{}}}function Y(a){if((0,e.unlinkSync)(a),!a.endsWith(".jsonl"))return;let b=a.slice(0,-6);try{(0,e.rmSync)(b,{recursive:!0,force:!0})}catch{}}},54639:(a,b,c)=>{function d(a){return a.replace(/\\/g,"/")}function e(){return globalThis.__piAdditionalAllowedRoots||(globalThis.__piAdditionalAllowedRoots=new Set),globalThis.__piAdditionalAllowedRoots}function f(a){if(!a)return;let b=d(a);e().add(b),globalThis.__piAllowedRootsCache?.roots.add(b)}c.d(b,{HM:()=>e,Nw:()=>d,wz:()=>f})},82043:(a,b,c)=>{c.d(b,{Uv:()=>H,O8:()=>w,HA:()=>N,getAgentDir:()=>g.$M,cr:()=>C,DK:()=>D,td:()=>E,mD:()=>r,BR:()=>x,dQ:()=>p,eP:()=>y,u1:()=>v,os:()=>u});var d=c(55511),e=c(29021),f=c(33873),g=c(92226),h=c(44500),i=c(18437),j=c(28672),k=c(84157),l=c(7561),m=c(36862),n=c(15011);async function o(){let a=await (0,h.L1)(),b=new Map,c=new Set;for(let d of a)b.set((0,l.$)(d.path),d.id),c.add(d.id);let d=[...new Set(a.map(a=>a.cwd).filter(Boolean))],e=new Map;for(let a=0;a<d.length;a+=6){let b=d.slice(a,a+6);await Promise.all(b.map(async a=>{e.set(a,await (0,m.KI)(a))}))}return a.map(a=>{var d;let f;w(a.id,a.path);let g=a.cwd?e.get(a.cwd):void 0;return{path:a.path,id:a.id,cwd:a.cwd,name:a.title,created:a.created instanceof Date&&!Number.isNaN(a.created.getTime())?a.created.toISOString():a.modified.toISOString(),modified:a.modified.toISOString(),messageCount:a.messageCount,firstMessage:a.firstMessage||"(no messages)",parentSessionId:a.parentSessionPath?(d=a.parentSessionPath,(f=b.get((0,l.$)(d)))||(c.has(d)?d:void 0)):void 0,projectRoot:g?.projectRoot??a.cwd,projectKey:function(a,b=process.platform){return(0,n.w)(a,b)}(g?.projectRoot??a.cwd),...g?.isWorktree&&g.branch?{worktreeBranch:g.branch}:{}}})}async function p(){let a=globalThis.__piSessionListGeneration??0;if(globalThis.__piSessionListCache&&Date.now()-globalThis.__piSessionListCache.ts<q)return globalThis.__piSessionListCache.data;if(globalThis.__piSessionListPromise&&globalThis.__piSessionListPromiseGeneration===a)return globalThis.__piSessionListPromise;let b=o().then(b=>((globalThis.__piSessionListGeneration??0)===a&&(globalThis.__piSessionListCache={data:b,ts:Date.now()}),b)).finally(()=>{globalThis.__piSessionListPromise===b&&(globalThis.__piSessionListPromise=void 0,globalThis.__piSessionListPromiseGeneration=void 0)});return globalThis.__piSessionListPromise=b,globalThis.__piSessionListPromiseGeneration=a,b}let q=3e4;function r(){globalThis.__piSessionListGeneration=(globalThis.__piSessionListGeneration??0)+1,globalThis.__piSessionListCache=void 0,(0,h.I3)(),globalThis.__ompSessionDocumentCache?.clear()}function s(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}function t(){return globalThis.__piPathToSessionIdCache||(globalThis.__piPathToSessionIdCache=new Map),globalThis.__piPathToSessionIdCache}async function u(a){let b=s().get(a);if(b){if((0,e.existsSync)(b))return b;x(a),r()}await p();let c=s().get(a);return c?(0,e.existsSync)(c)?c:(x(a),null):null}async function v(a){let b=(0,l.$)(a),c=t().get(b);return c||(await p(),t().get(b))}function w(a,b){let c=(0,f.normalize)(b),d=(0,l.$)(c),e=s(),g=t(),h=e.get(a),i=h?(0,l.$)(h):void 0,j=g.get(d),k=j?e.get(j):void 0;i&&i!==d&&g.get(i)===a&&g.delete(i),j&&j!==a&&k&&(0,l.$)(k)===d&&e.delete(j),e.set(a,c),g.set(d,a)}function x(a){let b=s(),c=t(),d=b.get(a);b.delete(a);let e=d?(0,l.$)(d):void 0;e&&c.get(e)===a&&c.delete(e)}function y(a){return(0,h.Hb)(a)}function z(a){try{let b=(0,e.statSync)(a);return{dev:b.dev,ino:b.ino,size:b.size,mtimeMs:b.mtimeMs,ctimeMs:b.ctimeMs}}catch{return null}}function A(a,b){return a.dev===b.dev&&a.ino===b.ino&&a.size===b.size&&a.mtimeMs===b.mtimeMs&&a.ctimeMs===b.ctimeMs}function B(a){let b=[a];for(;b.length>0;){let a=b.pop();if(!(!a||Object.isFrozen(a))){for(let c of Object.values(a))"object"!=typeof c||null===c||Object.isFrozen(c)||b.push(c);Object.freeze(a)}}return a}function C(a){let b;try{b=e.realpathSync.native(a)}catch{return B((0,h.Fy)(a))}let c=z(b);if(!c)return B((0,h.Fy)(b));let d=(globalThis.__ompSessionDocumentCache||(globalThis.__ompSessionDocumentCache=new Map),globalThis.__ompSessionDocumentCache),f=d.get(b);if(f&&A(f.identity,c))return d.delete(b),d.set(b,f),f.document;let g=B((0,h.Fy)(b)),i=z(b);if(i&&A(c,i)&&i.size<=0x4000000){d.set(b,{identity:i,sourceBytes:i.size,document:g});let a=0;for(let b of d.values())a+=b.sourceBytes;for(;d.size>32||a>0x4000000;){let b=d.keys().next().value;if(void 0===b)break;let c=d.get(b);d.delete(b),a-=c?.sourceBytes??0}}return g}function D(a){return C(a).entries}function E(a,b){let c=(0,h.Ee)(a,b);if(!c||"message"!==c.type||!(0,j.u4)(c.message))return null;let e=c.message;if("toolResult"!==e.role)return null;let f="content"in e?e.content:void 0,g="details"in e?e.details:void 0,k=function(a,b){let c=new Set,e=[],f=!1,g=(a,b)=>{f=!0;let g=(0,i.Si)(a),h=null===g?null:(0,d.createHash)("sha256").update(a,"base64").digest("hex"),j=null===h?`inline:${b}\0${a}`:`image:${b}\0${h}`;c.has(j)||(c.add(j),e.push(g??(0,i.x)(a)))},j=(a,b)=>{f=!0;let d=`image:${b}\0${a}`;c.has(d)||(c.add(d),e.push((0,h.I8)(a)??0))},k=(a,b)=>{if("object"!=typeof a||null===a||Array.isArray(a)||b&&"image"!==a.type)return;let c=a.source;if("object"==typeof c&&null!==c&&!Array.isArray(c)&&"base64"===c.type&&"string"==typeof c.data){let a="string"==typeof c.media_type?c.media_type:"";if(!a.toLowerCase().startsWith("image/"))return;let b=c.data;if("string"!=typeof b)return;if((0,h.zW)(b)){let c=(0,h.G)(b);c&&j(c,a);return}g(b,a);return}if("string"==typeof a.data&&"string"==typeof a.mimeType){if(!a.mimeType.toLowerCase().startsWith("image/"))return;if((0,h.zW)(a.data)){let b=(0,h.G)(a.data);b&&j(b,a.mimeType);return}g(a.data,a.mimeType)}};try{if(Array.isArray(a))for(let b of a)k(b,!0);if("object"==typeof b&&null!==b&&!Array.isArray(b)){let a=b.images;if(Array.isArray(a))for(let b of a)k(b,!1)}}catch{}return f?e:null}(f,g);if(!k)return null;(0,i.gy)(k);let l=Array.isArray(f)?f.filter(a=>(0,j.u4)(a)&&"image"===a.type):[],m={type:"message",id:c.id,parentId:c.parentId,timestamp:c.timestamp,message:{role:"toolResult",toolCallId:"media",content:l,details:(0,j.u4)(g)&&Array.isArray(g.images)?{images:g.images}:void 0}},n=(0,h.qd)([m])[0],o=n?.type==="message"&&(0,j.u4)(n.message)?n.message:null;if(!o||"toolResult"!==o.role)return null;let p=(0,i.K8)({content:"content"in o?o.content:void 0,details:"details"in o?o.details:void 0}),q=Math.max(0,k.length-p.length);return p.length>0||q>0?{images:p,missingCount:q}:null}function F(a){if("message"!==a.type||!(0,j.u4)(a.message)||"string"!=typeof a.message.role)return null;let b=a.message;return"assistant"!==b.role||(void 0===b.provider||"string"==typeof b.provider)&&(void 0===b.model||"string"==typeof b.model)&&("string"==typeof b.content||Array.isArray(b.content))?b:null}function G(a){if(!Array.isArray(a))return null;let b=new Set(["pending","in_progress","completed","blocked","abandoned"]),c=[];for(let d of a){if(!(0,j.u4)(d)||"string"!=typeof d.name||!Array.isArray(d.tasks))return null;let a=[];for(let c of d.tasks){if(!(0,j.u4)(c)||"string"!=typeof c.content||"string"!=typeof c.status||!b.has(c.status)||void 0!==c.blocker&&"string"!=typeof c.blocker)return null;a.push({content:c.content,status:c.status,..."string"==typeof c.blocker?{blocker:c.blocker}:{}})}c.push({name:d.name,tasks:a})}return c}function H(a,b,c={}){let d,e={messages:[],entryIds:[],thinkingLevel:"off",model:null,todoPhases:[]},f=new Map;for(let b of a)f.set(b.id,b);if(null===b||(b&&(d=f.get(b)),d||(d=a[a.length-1]),!d))return e;let g=[],h=new Set,i=d;for(;i&&!h.has(i.id);)h.add(i.id),g.push(i),i=i.parentId?f.get(i.parentId):void 0;g.reverse();let k="off",l={},m=!1,n=null;for(let a of g)if("thinking_level_change"===a.type)k=a.configured??a.thinkingLevel??"off";else if("model_change"===a.type)if(a.model){let b=a.role??"default";l[b]=a.model,"default"===b&&(m=!0)}else a.provider&&a.modelId&&(l.default=`${a.provider}/${a.modelId}`,m=!0);else if("message"===a.type){let b=F(a);b?.role==="assistant"&&!m&&"string"==typeof b.provider&&b.provider.length>0&&"string"==typeof b.model&&b.model.length>0&&(l.default=`${b.provider}/${b.model}`)}else"compaction"===a.type&&(n=a);let o=[],p=[],q=a=>{var b;let d="compaction"===a.type?(b=a,{role:"custom",customType:"compaction",content:a.id===n?.id?b.summary:"[Superseded compaction summary elided after a newer compaction]",display:!0,details:{tokensBefore:b.tokensBefore,firstKeptEntryId:b.firstKeptEntryId},timestamp:I(b.timestamp)}):N(a,c);d&&(o.push(d),p.push(a.id))};if(n){let a=n;q(a);let b=g.findIndex(b=>"compaction"===b.type&&b.id===a.id),c=!1;for(let d=0;d<b;d++){let b=g[d];b.id===a.firstKeptEntryId&&(c=!0),c&&q(b)}for(let a=b+1;a<g.length;a++)q(g[a])}else for(let a of g)q(a);let r=null,s=l.default;if(s){let a=s.indexOf("/");r=a>0?{provider:s.slice(0,a),modelId:s.slice(a+1)}:{provider:"",modelId:s}}return{messages:o,entryIds:p,thinkingLevel:k,model:r,todoPhases:function(a,b){if(null===b||0===a.length)return[];let c=new Map(a.map(a=>[a.id,a])),d=b?c.get(b):a[a.length-1],e=new Set;for(;d&&!e.has(d.id);){let a=d;if(e.add(a.id),d=a.parentId?c.get(a.parentId):void 0,"custom"===a.type&&"user_todo_edit"===a.customType){let b=(0,j.u4)(a.data)?G(a.data.phases):null;if(b)return b}let b=F(a);if(b?.role==="toolResult"){if("todo"!==b.toolName||b.isError)continue;let a=(0,j.u4)(b.details)?G(b.details.phases):null;if(a)return a}}return[]}(a,b)}}function I(a){let b=Date.parse(a);return Number.isNaN(b)?void 0:b}function J(a){return a.length<=240?a:`${[...a].slice(0,240).join("")}…`}let K=["index","id","agent","agentSource","status","task","assignment","lastIntent","toolCount","requests","tokens","contextTokens","contextWindow","cost","durationMs","modelRole","resolvedModel","resolvedModelIsFallback","retryFailure"],L=["index","id","agent","agentSource","status","task","assignment","exitCode","truncated","structuredOutput","durationMs","tokens","requests","contextTokens","contextWindow","modelRole","resolvedModel","resolvedModelIsFallback","error","aborted","abortReason","outputPath","patchPath","branchName","retryFailure"];function M(a,b=!1){if("toolResult"!==a.role||void 0===a.details)return a;let{details:c,...d}=a;if((0,j.u4)(c)){let d=b?(0,i.K8)({content:[],details:c}):[],e={};if("string"==typeof c.patch&&(e.patch=c.patch),"string"==typeof c.diff&&(e.diff=c.diff),"task"===a.toolName){let a=function(a){let b={},c=Array.isArray(a.results)?a.results:[],d=Array.isArray(a.progress)?a.progress:[];if(0===c.length&&0===d.length&&!(0,j.u4)(a.async))return null;if("number"==typeof a.totalDurationMs&&(b.totalDurationMs=a.totalDurationMs),(0,j.u4)(a.async)){let c=function(a){if(!(0,j.u4)(a))return;let b={};for(let c of["state","jobId","type"])"string"==typeof a[c]&&(b[c]=J(a[c]));return Object.keys(b).length>0?b:void 0}(a.async);c&&(b.async=c)}let e=(a,b)=>{if(!(0,j.u4)(a))return null;let c={};for(let d of b)void 0!==a[d]&&(c[d]=a[d]);for(let a of["task","assignment","error","abortReason","lastIntent","agent","modelRole","resolvedModel","outputPath","patchPath","branchName"])"string"==typeof c[a]&&(c[a]=J(c[a]));if("number"!=typeof c.cost){let b=(0,k.tw)(a.usage);void 0!==b&&(c.cost=b)}if(void 0!==a.retryFailure){let b=(0,k.D$)(a.retryFailure,J);b?c.retryFailure=b:delete c.retryFailure}if(void 0!==a.structuredOutput){let b=(0,k.bA)(a.structuredOutput,J);b?c.structuredOutput=b:delete c.structuredOutput}return c};return d.length>0&&(b.progress=d.slice(0,50).map(a=>e(a,K)).filter(a=>null!==a)),c.length>0&&(b.results=c.slice(0,50).map(a=>e(a,L)).filter(a=>null!==a)),Object.keys(b).length>0?b:null}(c);a&&Object.assign(e,a)}let f=a;if(d.length>0&&Array.isArray(a.content)&&(f=function(a,b){if(!Array.isArray(a.content))return a;let c=new Set;for(let b of a.content){if(!(0,j.u4)(b)||"image"!==b.type)continue;let a=(0,i.K8)({content:[b],details:{}})[0];a&&"string"==typeof a.data&&"string"==typeof a.mimeType&&c.add(`${a.mimeType}\0${a.data}`)}let d=b.filter(a=>{if("string"!=typeof a.data||"string"!=typeof a.mimeType)return!1;let b=`${a.mimeType}\0${a.data}`;return!c.has(b)&&(c.add(b),!0)});return 0===d.length?a:{...a,content:[...a.content,...d]}}(a,d)),Object.keys(e).length>0)return{...f,details:e};let{details:g,...h}=f;return h}return d}function N(a,b){switch(a.type){case"message":{let c=F(a);if(!c)return null;if("developer"===c.role)return{role:"custom",customType:"developer",content:c.content,display:!0,timestamp:c.timestamp};if("pythonExecution"===c.role){let a=c.output?`
|
|
3
3
|
\`\`\`
|
|
4
4
|
${c.output}
|
|
@@ -7,6 +7,6 @@ Execution failed with code ${c.exitCode}`:"";return{role:"custom",customType:"py
|
|
|
7
7
|
\`\`\`python
|
|
8
8
|
${c.code}
|
|
9
9
|
\`\`\`${a}${b}`,display:!0,timestamp:c.timestamp}}if("fileMention"===c.role){let a=Array.isArray(c.files)?c.files.filter(a=>!!a&&"object"==typeof a&&"string"==typeof a.path):[];return{role:"custom",customType:"file-mention",content:`Attached file${1===a.length?"":"s"}:
|
|
10
|
-
${a.map(a=>`- ${a.path}`).join("\n")}`,display:!0,timestamp:c.timestamp}}if("toolResult"===c.role){let d=!0===b.deferToolResultImages,e=(0,j.u4)(c.details)?c.details:void 0,f=(0,i.K8)({content:c.content,details:e}).length;if(d){let b=M(function(a){if("toolResult"!==a.role||!Array.isArray(a.content))return a;let b=0,c=0,d=new Set,e=a.content.filter(a=>{let e=function(a){let b,c;if(!(0,j.u4)(a)||"image"!==a.type||("string"==typeof a.data?(b=a.data,c="string"==typeof a.mimeType?a.mimeType:void 0):(0,j.u4)(a.source)&&"base64"===a.source.type&&"string"==typeof a.source.data&&(b=a.source.data,c="string"==typeof a.source.media_type?a.source.media_type:void 0),!b))return null;let d=b.endsWith("==")?2:+!!b.endsWith("=");return{bytes:Math.max(0,Math.floor(3*b.length/4)-d),mime:c}}(a);return!e||(b+=1,c+=e.bytes,e.mime&&d.add(e.mime),!1)});if(0===b)return a;let f=d.size>0?`: ${[...d].join(", ")}`:"";return e.push({type:"text",text:`[${b} tool result image${1===b?"":"s"} omitted from initial history payload${f}, ~${c} bytes]`}),{...a,content:e}}(c));return f>0&&"toolResult"===b.role?{...b,deferredImages:{entryId:a.id,count:f}}:b}return M(c,!0)}let d=M(function(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>((0,j.u4)(a)&&"toolCall"===a.type?{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input}:null)??a);return{...a,content:c}}(c));if(!b.deferThinking||"assistant"!==d.role||!Array.isArray(d.content))return d;return{...d,content:d.content.map(a=>"thinking"===a.type&&"string"==typeof a.thinking&&""!==a.thinking.trim()?{...a,thinking:"",deferred:!0}:a)}}case"branch_summary":if(!a.summary)return null;return{role:"user",content:`*The conversation briefly explored another branch and returned with this summary:*
|
|
10
|
+
${a.map(a=>`- ${a.path}`).join("\n")}`,display:!0,timestamp:c.timestamp}}if("toolResult"===c.role){let d=!0===b.deferToolResultImages,e=(0,j.u4)(c.details)?c.details:void 0,f=(0,i.K8)({content:c.content,details:e}).length;if(d){let b=M(function(a){if("toolResult"!==a.role||!Array.isArray(a.content))return a;let b=0,c=0,d=new Set,e=a.content.filter(a=>{let e=function(a){let b,c;if(!(0,j.u4)(a)||"image"!==a.type||("string"==typeof a.data?(b=a.data,c="string"==typeof a.mimeType?a.mimeType:void 0):(0,j.u4)(a.source)&&"base64"===a.source.type&&"string"==typeof a.source.data&&(b=a.source.data,c="string"==typeof a.source.media_type?a.source.media_type:void 0),!b))return null;let d=b.endsWith("==")?2:+!!b.endsWith("=");return{bytes:Math.max(0,Math.floor(3*b.length/4)-d),mime:c}}(a);return!e||(b+=1,c+=e.bytes,e.mime&&d.add(e.mime),!1)});if(0===b)return a;let f=d.size>0?`: ${[...d].join(", ")}`:"";return e.push({type:"text",text:`[${b} tool result image${1===b?"":"s"} omitted from initial history payload${f}, ~${c} bytes]`}),{...a,content:e}}(c));return f>0&&"toolResult"===b.role?{...b,deferredImages:{entryId:a.id,count:f}}:b}return M(c,!0)}let d=M(function(a){if("assistant"!==a.role)return a;let b=a.content;if("string"==typeof b)return{...a,content:[{type:"text",text:b}]};if(!Array.isArray(b))return a;let c=b.map(a=>((0,j.u4)(a)&&"toolCall"===a.type?{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input}:null)??a);return{...a,content:c}}(c));if(!b.deferThinking||"assistant"!==d.role||!Array.isArray(d.content))return d;return{...d,content:d.content.map(a=>"thinking"===a.type&&"string"==typeof a.thinking&&""!==a.thinking.trim()?{...a,thinking:"",deferred:!0}:a)}}case"branch_summary":if(!a.summary)return null;return{role:"user",content:`*The conversation briefly explored another branch and returned with this summary:*
|
|
11
11
|
|
|
12
|
-
${a.summary}`,timestamp:I(a.timestamp)};case"custom_message":return{role:"custom",customType:a.customType,content:a.content,display:a.display,details:a.details,timestamp:I(a.timestamp)};default:return null}}},84157:(a,b,c)=>{c.d(b,{D$:()=>f,bA:()=>g,tw:()=>e});var d=c(28672);function e(a){if(!(0,d.u4)(a))return;let b=(0,d.u4)(a.cost)?a.cost:void 0;if(!b)return;let c=(0,d.i)(b.total);if(void 0!==c)return c;let e=(0,d.i)(b.input),f=(0,d.i)(b.output);if(void 0!==e&&void 0!==f)return e+f}function f(a,b){if(!(0,d.u4)(a))return;let c=(0,d.i)(a.attempt),e=(0,d.oJ)(a.errorMessage);if(void 0!==c&&void 0!==e)return{attempt:c,errorMessage:b?b(e):e}}function g(a,b){if(!(0,d.u4)(a))return;let c={};for(let e of["source","mode","status","error"]){let f=(0,d.oJ)(a[e]);void 0!==f&&(c[e]=b?b(f):f)}return Object.keys(c).length>0?c:void 0}},92226:(a,b,c)=>{c.d(b,{$M:()=>l,OK:()=>r,_8:()=>u,ny:()=>o,pA:()=>q,tE:()=>n,yG:()=>p});var d=c(29021),e=c(21820),f=c(33873);let g=/^[a-z0-9][a-z0-9._-]{0,63}$/,h=/^(?:CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9])(?:\..*)?$/i;function i(a){let b=a?.trim();if(b&&"default"!==b){if("."===b||".."===b||b.endsWith(".")||!g.test(b)||h.test(b))throw Error(`Invalid OMP profile "${a}". Profile names must match ${g.source}, cannot be "." or "..", cannot end with ".", and cannot be a Windows reserved device name (CON, PRN, AUX, NUL, COM0-9, LPT0-9, or any of those with an extension).`);return b}}function j(){return void 0!==process.env.OMP_PROFILE?i(process.env.OMP_PROFILE):i(process.env.PI_PROFILE)}function k(){let a=f.join((0,e.homedir)(),process.env.PI_CONFIG_DIR||".omp"),b=j();return b?f.join(a,"profiles",b):a}function l(){let a=j(),b=process.env.PI_CODING_AGENT_DIR;return b&&!a?f.resolve(b):f.join(k(),"agent")}function m(a){let b=function(){let a,b;if("linux"!==process.platform&&"darwin"!==process.platform||(a=j(),(b=process.env.PI_CODING_AGENT_DIR)&&!a&&f.resolve(b)!==f.join(k(),"agent")))return;let c=process.env.XDG_DATA_HOME;if(c)try{let a=f.join(c,"omp"),b=j();if(b){let c=f.join(a,"profiles",b);return(0,d.existsSync)(c)?c:void 0}return(0,d.existsSync)(a)?a:void 0}catch{return}}();return f.join(b??l(),a)}function n(){return m("sessions")}function o(){return f.join(f.dirname(n()),"archive","sessions")}function p(){return m("blobs")}function q(){let a=l(),b=f.join(a,"config.yml");if((0,d.existsSync)(b))return b;let c=f.join(a,"config.yaml");return(0,d.existsSync)(c)?c:b}function r(){let a=l(),b=f.join(a,"models.yml");if((0,d.existsSync)(b))return b;let c=f.join(a,"models.yaml");return(0,d.existsSync)(c)?c:b}function s(a){try{return d.realpathSync.native(a)}catch{return a}}function t(a,b){let c=b.replace(/[/\\:]/g,"-");return c?a.endsWith("-")?`${a}${c}`:`${a}-${c}`:a}function u(a){let b,c=s(f.resolve(a)),d=s((0,e.homedir)()),g=s((0,e.tmpdir)()),h=f.relative(d,c),i=f.relative(g,c);return""!==h&&(h.startsWith("..")||f.isAbsolute(h))?""!==i&&(i.startsWith("..")||f.isAbsolute(i))?(b=f.resolve(c),`--${b.replace(/^[/\\]/,"").replace(/[/\\:]/g,"-")}--`):t("-tmp",i):t("-",h)}}};
|
|
12
|
+
${a.summary}`,timestamp:I(a.timestamp)};case"custom_message":return{role:"custom",customType:a.customType,content:a.content,display:a.display,details:a.details,timestamp:I(a.timestamp)};default:return null}}},83739:(a,b,c)=>{c.d(b,{SW:()=>i,o4:()=>h,xk:()=>j});var d=c(29021),e=c(33873),f=c.n(e),g=c(15011);function h(a,b){for(let c of b){let b=(0,g.uK)(a)||(0,g.uK)(c),d=b?f().win32:f(),e=b?"\\":f().sep,h=d.resolve(a),i=d.resolve(c),j=b?h.toLowerCase():h,k=b?i.toLowerCase():i,l=k.endsWith(e)?k:k+e;if(j===k||j.startsWith(l))return!0}return!1}function i(a){let b=f().resolve(a),c=[];for(;;)try{(0,d.lstatSync)(b);break}catch(d){if(!(d instanceof Error&&"code"in d&&"ENOENT"===d.code))throw d;let a=f().dirname(b);if(a===b)throw d;c.unshift(f().basename(b)),b=a}return f().join((0,d.realpathSync)(b),...c)}function j(a,b){let c;try{c=(0,d.realpathSync)(a)}catch{return!1}let e=new Set;for(let a of b)try{e.add((0,d.realpathSync)(a))}catch{}return h(c,e)}},84157:(a,b,c)=>{c.d(b,{D$:()=>f,bA:()=>g,tw:()=>e});var d=c(28672);function e(a){if(!(0,d.u4)(a))return;let b=(0,d.u4)(a.cost)?a.cost:void 0;if(!b)return;let c=(0,d.i)(b.total);if(void 0!==c)return c;let e=(0,d.i)(b.input),f=(0,d.i)(b.output);if(void 0!==e&&void 0!==f)return e+f}function f(a,b){if(!(0,d.u4)(a))return;let c=(0,d.i)(a.attempt),e=(0,d.oJ)(a.errorMessage);if(void 0!==c&&void 0!==e)return{attempt:c,errorMessage:b?b(e):e}}function g(a,b){if(!(0,d.u4)(a))return;let c={};for(let e of["source","mode","status","error"]){let f=(0,d.oJ)(a[e]);void 0!==f&&(c[e]=b?b(f):f)}return Object.keys(c).length>0?c:void 0}},92226:(a,b,c)=>{c.d(b,{$M:()=>l,OK:()=>r,_8:()=>u,ny:()=>o,oy:()=>j,pA:()=>q,tE:()=>n,yG:()=>p});var d=c(29021),e=c(21820),f=c(33873);let g=/^[a-z0-9][a-z0-9._-]{0,63}$/,h=/^(?:CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9])(?:\..*)?$/i;function i(a){let b=a?.trim();if(b&&"default"!==b){if("."===b||".."===b||b.endsWith(".")||!g.test(b)||h.test(b))throw Error(`Invalid OMP profile "${a}". Profile names must match ${g.source}, cannot be "." or "..", cannot end with ".", and cannot be a Windows reserved device name (CON, PRN, AUX, NUL, COM0-9, LPT0-9, or any of those with an extension).`);return b}}function j(){return void 0!==process.env.OMP_PROFILE?i(process.env.OMP_PROFILE):i(process.env.PI_PROFILE)}function k(){let a=f.join((0,e.homedir)(),process.env.PI_CONFIG_DIR||".omp"),b=j();return b?f.join(a,"profiles",b):a}function l(){let a=j(),b=process.env.PI_CODING_AGENT_DIR;return b&&!a?f.resolve(b):f.join(k(),"agent")}function m(a){let b=function(){let a,b;if("linux"!==process.platform&&"darwin"!==process.platform||(a=j(),(b=process.env.PI_CODING_AGENT_DIR)&&!a&&f.resolve(b)!==f.join(k(),"agent")))return;let c=process.env.XDG_DATA_HOME;if(c)try{let a=f.join(c,"omp"),b=j();if(b){let c=f.join(a,"profiles",b);return(0,d.existsSync)(c)?c:void 0}return(0,d.existsSync)(a)?a:void 0}catch{return}}();return f.join(b??l(),a)}function n(){return m("sessions")}function o(){return f.join(f.dirname(n()),"archive","sessions")}function p(){return m("blobs")}function q(){let a=l(),b=f.join(a,"config.yml");if((0,d.existsSync)(b))return b;let c=f.join(a,"config.yaml");return(0,d.existsSync)(c)?c:b}function r(){let a=l(),b=f.join(a,"models.yml");if((0,d.existsSync)(b))return b;let c=f.join(a,"models.yaml");return(0,d.existsSync)(c)?c:b}function s(a){try{return d.realpathSync.native(a)}catch{return a}}function t(a,b){let c=b.replace(/[/\\:]/g,"-");return c?a.endsWith("-")?`${a}${c}`:`${a}-${c}`:a}function u(a){let b,c=s(f.resolve(a)),d=s((0,e.homedir)()),g=s((0,e.tmpdir)()),h=f.relative(d,c),i=f.relative(g,c);return""!==h&&(h.startsWith("..")||f.isAbsolute(h))?""!==i&&(i.startsWith("..")||f.isAbsolute(i))?(b=f.resolve(c),`--${b.replace(/^[/\\]/,"").replace(/[/\\:]/g,"-")}--`):t("-tmp",i):t("-",h)}}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=2676,exports.ids=[1671,2676],exports.modules={51671:(a,b,c)=>{c.d(b,{YT:()=>r,eG:()=>t,getOmpVersion:()=>s,nH:()=>u,resolveOmpBin:()=>q});var d=c(79646),e=c(29021),f=c(21820),g=c(33873);let h=null,i=0,j=null,k=null,l=0,m=null,n="win32"===process.platform?"omp.exe":"omp",o=/\x1B\[[0-9;]*m/g;function p(a){try{let b=(0,e.statSync)(a),c=`${b.ino}:${b.size}:${b.mtimeMs}:${b.ctimeMs}`,d=(0,e.lstatSync)(a);return d.isSymbolicLink()&&(c+=`:${d.ino}:${d.mtimeMs}:${d.ctimeMs}`),c}catch{return null}}function q(){if(h&&(0,e.existsSync)(h))return h;if(h&&!(0,e.existsSync)(h)&&(h=null,j=null,k=null),Date.now()-i<3e4)return null;let a=function(){let a=process.env.OMPGUI_OMP_BIN??process.env.OMP_WEB_OMP_BIN;if(a)return(0,e.existsSync)(a)?a:null;for(let a of(process.env.PATH??"").split(g.delimiter)){if(!a)continue;let b=(0,g.join)(a,n);if((0,e.existsSync)(b))return b}for(let a of["/opt/homebrew/bin","/usr/local/bin",(0,g.join)((0,f.homedir)(),".bun","bin"),(0,g.join)((0,f.homedir)(),".local","bin")]){let b=(0,g.join)(a,n);if((0,e.existsSync)(b))return b}return null}();return a?(h=a,i=0,a):(i=Date.now(),null)}function r(){h=null,i=0,j=null,k=null,l=0,m=null}async function s(){let a=q();if(!a)return Date.now()-l<3e4||(l=Date.now()),null;let b=p(a);return j&&b&&k===b?j:!j&&Date.now()-l<3e4?null:m||(m=(async()=>{try{let c=(await new Promise((b,c)=>{(0,d.execFile)(a,["--version"],{timeout:1e4,windowsHide:!0},(a,d)=>{a?c(a):b(d)})})).trim();if(c){let d=p(a);return j=c,k=d??b,l=0,c}}catch{}finally{m=null}return l=Date.now(),null})())}function t(a,b={}){let c=q();if(!c)return Promise.reject(Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN."));let{promise:e,resolve:f,reject:g}=Promise.withResolvers();return(0,d.execFile)(c,a,{cwd:b.cwd,timeout:b.timeout??6e4,maxBuffer:b.maxBuffer??0x1000000,env:{...process.env,FORCE_COLOR:"0",NO_COLOR:"1"},windowsHide:!0},(b,c,d)=>{b?g(Error((d||c||b.message).replace(o,"").trim().slice(-600)||`omp ${a.join(" ")} failed`)):f({stdout:c,stderr:d})}),e}function u(a){let b=a.replace(o,""),c=b.search(/[{[]/);if(c<0)return null;try{return JSON.parse(b.slice(c))}catch{return null}}},52676:(a,b,c)=>{c.d(b,{_:()=>j,j:()=>g,runUtilityCommand:()=>i});var d=c(21820),e=c(80803);let f=["--no-session","--no-skills","--no-lsp"];function g(){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()}async function h(a){let b=new e.X({cwd:(0,d.homedir)(),extraArgs:f,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 i(a,b=6e4){let c=function(){if(!globalThis.__ompUtilityRpcState){globalThis.__ompUtilityRpcState={proc:null,idleTimer:null,queue:Promise.resolve()};let a=()=>g();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 h(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}async function j(a,b={}){let c=new e.X({cwd:b.cwd??(0,d.homedir)(),extraArgs:f,env:b.env});try{let d=await c.waitReady(6e4);return await c.negotiateProtocol(d),await c.sendCommand(a,b.timeoutMs??6e4)}finally{await c.dispose()}}},80803:(a,b,c)=>{c.d(b,{x:()=>j,X:()=>k});var d=c(79646),e=c(4984),f=c(51671),g=c(28672);function h(a){return"number"==typeof a&&Number.isSafeInteger(a)}class i{push(a){if(!(0,g.u4)(a)||"rpc_chunk"!==a.type){if(this.pending)throw Error("RPC chunk sequence interrupted");if(!(0,g.u4)(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||!h(c)||!h(d)||!h(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 i=this.pending;if(i.chunkId!==b||i.count!==d||i.byteLength!==e||i.nextIndex!==c)throw Error("RPC chunk sequence mismatch");if(i.chunks.push(f),i.receivedBytes+=f.byteLength,i.nextIndex++,i.receivedBytes>i.byteLength)throw Error("RPC chunk sequence exceeds declared length");if(i.nextIndex<i.count)return;if(i.receivedBytes!==i.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(i.chunks)));if(!(0,g.u4)(j)||"string"!=typeof j.type)throw Error("RPC frame must be an object");return j}}class j extends Error{constructor(a,b,c){super(b),this.name="RpcCommandError",this.command=a,this.code=c}}class k{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.exit=Promise.withResolvers(),this.disposePromise=null,this.writeQueue=Promise.resolve();const g=a.dependencies?.resolveOmpBin??f.resolveOmpBin;this.spawnProcess=a.dependencies?.spawn??d.spawn,this.killProcess=a.dependencies?.kill??process.kill;const h=g();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 j=["--mode","rpc-ui","--cwd",a.cwd,...a.extraArgs??[]];this.child=this.spawnProcess(h,j,{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.readyPromise=new Promise((a,d)=>{b=a,c=d}),this.readyPromise.catch(()=>{}),this.child.stdin.on("error",()=>{}),this.child.stdout.on("error",()=>{});const k=new i,l=(0,e.createInterface)({input:this.child.stdout});l.on("error",()=>{}),l.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=k.push(c);if(!a)return;d=a}catch(a){this.stderrTail=(this.stderrTail+`
|
|
1
|
+
"use strict";exports.id=2676,exports.ids=[1671,2676],exports.modules={51671:(a,b,c)=>{c.d(b,{YT:()=>r,eG:()=>t,getOmpVersion:()=>s,nH:()=>u,resolveOmpBin:()=>q});var d=c(79646),e=c(29021),f=c(21820),g=c(33873);let h=null,i=0,j=null,k=null,l=0,m=null,n="win32"===process.platform?"omp.exe":"omp",o=/\x1B\[[0-9;]*m/g;function p(a){try{let b=(0,e.statSync)(a),c=`${b.ino}:${b.size}:${b.mtimeMs}:${b.ctimeMs}`,d=(0,e.lstatSync)(a);return d.isSymbolicLink()&&(c+=`:${d.ino}:${d.mtimeMs}:${d.ctimeMs}`),c}catch{return null}}function q(){if(h&&(0,e.existsSync)(h))return h;if(h&&!(0,e.existsSync)(h)&&(h=null,j=null,k=null),Date.now()-i<3e4)return null;let a=function(){let a=process.env.OMPGUI_OMP_BIN??process.env.OMP_WEB_OMP_BIN;if(a)return(0,e.existsSync)(a)?a:null;for(let a of(process.env.PATH??"").split(g.delimiter)){if(!a)continue;let b=(0,g.join)(a,n);if((0,e.existsSync)(b))return b}for(let a of["/opt/homebrew/bin","/usr/local/bin",(0,g.join)((0,f.homedir)(),".bun","bin"),(0,g.join)((0,f.homedir)(),".local","bin")]){let b=(0,g.join)(a,n);if((0,e.existsSync)(b))return b}return null}();return a?(h=a,i=0,a):(i=Date.now(),null)}function r(){h=null,i=0,j=null,k=null,l=0,m=null}async function s(){let a=q();if(!a)return Date.now()-l<3e4||(l=Date.now()),null;let b=p(a);return j&&b&&k===b?j:!j&&Date.now()-l<3e4?null:m||(m=(async()=>{try{let c=(await new Promise((b,c)=>{(0,d.execFile)(a,["--version"],{timeout:1e4,windowsHide:!0},(a,d)=>{a?c(a):b(d)})})).trim();if(c){let d=p(a);return j=c,k=d??b,l=0,c}}catch{}finally{m=null}return l=Date.now(),null})())}function t(a,b={}){let c=q();if(!c)return Promise.reject(Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN."));let{promise:e,resolve:f,reject:g}=Promise.withResolvers();return(0,d.execFile)(c,a,{cwd:b.cwd,timeout:b.timeout??6e4,maxBuffer:b.maxBuffer??0x1000000,env:{...b.env??process.env,FORCE_COLOR:"0",NO_COLOR:"1"},windowsHide:!0},(b,c,d)=>{b?g(Error((d||c||b.message).replace(o,"").trim().slice(-600)||`omp ${a.join(" ")} failed`)):f({stdout:c,stderr:d})}),e}function u(a){let b=a.replace(o,""),c=b.search(/[{[]/);if(c<0)return null;try{return JSON.parse(b.slice(c))}catch{return null}}},52676:(a,b,c)=>{c.d(b,{_:()=>j,j:()=>g,runUtilityCommand:()=>i});var d=c(21820),e=c(80803);let f=["--no-session","--no-skills","--no-lsp"];function g(){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()}async function h(a){let b=new e.X({cwd:(0,d.homedir)(),extraArgs:f,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 i(a,b=6e4){let c=function(){if(!globalThis.__ompUtilityRpcState){globalThis.__ompUtilityRpcState={proc:null,idleTimer:null,queue:Promise.resolve()};let a=()=>g();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 h(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}async function j(a,b={}){let c=new e.X({cwd:b.cwd??(0,d.homedir)(),extraArgs:f,env:b.env});try{let d=await c.waitReady(6e4);return await c.negotiateProtocol(d),await c.sendCommand(a,b.timeoutMs??6e4)}finally{await c.dispose()}}},80803:(a,b,c)=>{c.d(b,{x:()=>j,X:()=>k});var d=c(79646),e=c(4984),f=c(51671),g=c(28672);function h(a){return"number"==typeof a&&Number.isSafeInteger(a)}class i{push(a){if(!(0,g.u4)(a)||"rpc_chunk"!==a.type){if(this.pending)throw Error("RPC chunk sequence interrupted");if(!(0,g.u4)(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||!h(c)||!h(d)||!h(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 i=this.pending;if(i.chunkId!==b||i.count!==d||i.byteLength!==e||i.nextIndex!==c)throw Error("RPC chunk sequence mismatch");if(i.chunks.push(f),i.receivedBytes+=f.byteLength,i.nextIndex++,i.receivedBytes>i.byteLength)throw Error("RPC chunk sequence exceeds declared length");if(i.nextIndex<i.count)return;if(i.receivedBytes!==i.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(i.chunks)));if(!(0,g.u4)(j)||"string"!=typeof j.type)throw Error("RPC frame must be an object");return j}}class j extends Error{constructor(a,b,c){super(b),this.name="RpcCommandError",this.command=a,this.code=c}}class k{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.exit=Promise.withResolvers(),this.disposePromise=null,this.writeQueue=Promise.resolve();const g=a.dependencies?.resolveOmpBin??f.resolveOmpBin;this.spawnProcess=a.dependencies?.spawn??d.spawn,this.killProcess=a.dependencies?.kill??process.kill;const h=g();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 j=["--mode","rpc-ui","--cwd",a.cwd,...a.extraArgs??[]];this.child=this.spawnProcess(h,j,{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.readyPromise=new Promise((a,d)=>{b=a,c=d}),this.readyPromise.catch(()=>{}),this.child.stdin.on("error",()=>{}),this.child.stdout.on("error",()=>{});const k=new i,l=(0,e.createInterface)({input:this.child.stdout});l.on("error",()=>{}),l.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=k.push(c);if(!a)return;d=a}catch(a){this.stderrTail=(this.stderrTail+`
|
|
2
2
|
RPC protocol error: ${a instanceof Error?a.message:String(a)}`).slice(-8192),this.dispose(0);return}if("ready"===d.type)return void b(d);if("response"===d.type)return void this.handleResponse(d);for(let a of this.frameListeners)try{a(d)}catch{}}}),this.child.stderr.on("data",a=>{this.stderrTail=(this.stderrTail+a.toString("utf8")).slice(-8192)});const 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(),this.exit.resolve(),a.onExit?.({code:b,signal:d,stderrTail:this.stderrTail})};this.child.on("exit",(a,b)=>{if(!this.exited&&"win32"!==process.platform&&this.child.pid)try{this.killProcess(-this.child.pid,"SIGKILL")}catch{}m(a,b)}),this.child.on("error",a=>{this.stderrTail=(this.stderrTail+`
|
|
3
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){this.writeQueue=this.writeQueue.then(()=>{let{promise:c,resolve:d}=Promise.withResolvers(),e=a=>{b(a),d()};if(this.exited||this.child.stdin.destroyed)return e(Error("RPC process is not running")),c;try{this.child.stdin.write(`${JSON.stringify(a)}
|
|
4
4
|
`,e)}catch(a){e(a instanceof Error?a:Error(String(a)))}return c})}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 j(a.command,a.error??"RPC command failed",a.code))}dispose(a=5e3){if(this.disposePromise)return this.disposePromise;if(this.exited)return this.exit.promise;this.disposePromise=this.exit.promise.then(()=>{clearTimeout(c),clearTimeout(d)});try{this.child.stdin.end()}catch{}let b=(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",()=>{if(!this.exited)try{this.child.kill(b)}catch{}});return}try{this.killProcess(-c,b)}catch{try{this.child.kill(b)}catch{}}}},c=setTimeout(()=>{this.exited||b(!1,"SIGTERM")},a),d=setTimeout(()=>{this.exited||b(!0,"SIGKILL")},2*a);return c.unref?.(),d.unref?.(),this.disposePromise}}}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=3100,exports.ids=[3100],exports.modules={65644:(a,b,c)=>{c.d(b,{Q7:()=>h,Rk:()=>k,rl:()=>g});var d=c(23211),e=c(78573);let f={error:"Session not found",code:"session_not_found"};async function g(a){let b=await (0,e.os)(a);return b?{filePath:b}:{response:d.NextResponse.json(f,{status:404})}}function h(a,b=500){return d.NextResponse.json({error:String(a)},{status:b})}let i=/^[a-z][a-z0-9_]{0,63}$/;function j(a,b){let c=a[b];return"string"==typeof c&&c.length>0?c:void 0}function k(a){let b=function(a){if(!(a instanceof Error)||!a.message)return null;if("WebRpcError"===a.name){let b=j(a,"code");return b&&i.test(b)?{error:a.message,code:b}:null}if("RpcCommandError"===a.name){if(!j(a,"command"))return null;let b=j(a,"code")??"rpc_command_failed";return i.test(b)?{error:a.message,code:b}:null}return null}(a);return b?d.NextResponse.json(b,{status:400}):null}},66829:(a,b,c)=>{c.d(b,{H8:()=>d,sj:()=>g,sp:()=>f});class d extends Error{constructor(){super("Request body exceeds the allowed size")}}function e(a){let b=a.headers.get("content-length");if(!b||!/^\d+$/.test(b))return null;let c=Number(b);return Number.isSafeInteger(c)?c:null}async function f(a,b){let c=e(a);if(null!==c&&c>b)throw new d;let f=a.body?.getReader();if(!f){let c=await a.text();if(Buffer.byteLength(c,"utf8")>b)throw new d;return JSON.parse(c)}let g=[],h=0;try{for(;;){let{done:a,value:c}=await f.read();if(a)break;if(h+c.byteLength>b)throw await f.cancel().catch(()=>{}),new d;h+=c.byteLength;let e=new Uint8Array(c.byteLength);e.set(c),g.push(e)}}finally{f.releaseLock()}let i=new Uint8Array(h),j=0;for(let a of g)i.set(a,j),j+=a.byteLength;return JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(i))}async function g(a,b){let c=e(a);if(null!==c&&c>b)throw new d;let f=a.body?.getReader();if(!f)return a.formData();let g=[],h=0;try{for(;;){let{done:a,value:c}=await f.read();if(a)break;if(h+c.byteLength>b)throw await f.cancel().catch(()=>{}),new d;h+=c.byteLength;let e=new Uint8Array(c.byteLength);e.set(c),g.push(e)}}finally{f.releaseLock()}let i=a.headers.get("content-type");return new Response(new Blob(g),{headers:i?{"content-type":i}:void 0}).formData()}},80547:(a,b,c)=>{c.d(b,{B7:()=>i,Nw:()=>d.Nw,mc:()=>h,uK:()=>g.uK,wz:()=>d.wz});var d=c(25252),e=c(82536),f=c(78573),g=c(58864);async function h(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,f.dQ)(),e=new Set;for(let a of c)a.cwd&&e.add((0,d.Nw)(a.cwd)),a.projectRoot&&e.add((0,d.Nw)(a.projectRoot));for(let a of(0,d.HM)())e.add(a);return globalThis.__piAllowedRootsCache={roots:e,expiresAt:a+5e3},e}function i(a,b){return(0,e.xk)(a,b)}},82536:(a,b,c)=>{c.d(b,{SW:()=>i,o4:()=>h,xk:()=>j});var d=c(29021),e=c(33873),f=c.n(e),g=c(58864);function h(a,b){for(let c of b){let b=(0,g.uK)(a)||(0,g.uK)(c),d=b?f().win32:f(),e=b?"\\":f().sep,h=d.resolve(a),i=d.resolve(c),j=b?h.toLowerCase():h,k=b?i.toLowerCase():i,l=k.endsWith(e)?k:k+e;if(j===k||j.startsWith(l))return!0}return!1}function i(a){let b=f().resolve(a),c=[];for(;;)try{(0,d.lstatSync)(b);break}catch(d){if(!(d instanceof Error&&"code"in d&&"ENOENT"===d.code))throw d;let a=f().dirname(b);if(a===b)throw d;c.unshift(f().basename(b)),b=a}return f().join((0,d.realpathSync)(b),...c)}function j(a,b){let c;try{c=(0,d.realpathSync)(a)}catch{return!1}let e=new Set;for(let a of b)try{e.add((0,d.realpathSync)(a))}catch{}return h(c,e)}},96607:(a,b,c)=>{c.d(b,{RB:()=>y,Sn:()=>w,eU:()=>s,hH:()=>z,x4:()=>x});var d=c(29021),e=c(33873),f=c.n(e),g=c(63294),h=c(85887),i=c(88501),j=c(80547),k=c(82536),l=c(58112);function m(a){return"string"==typeof a&&/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(a)}let n={task:{description:"General-purpose subagent with full capabilities for delegated multi-step tasks",model:"@task",thinkingLevel:"auto",spawns:["*"],tools:["read","write","edit","bash"],systemPrompt:"General-purpose coding agent with full capabilities. Implement requested changes carefully and verify them before finishing."},scout:{description:"MUST be used for exploratory codebase research, rapid code analysis, and broad pattern searches. Fast read-only scout returning compressed context for handoff.",model:"@smol",thinkingLevel:"medium",tools:["read","grep","glob","web_search"],systemPrompt:"Explore the codebase and return concise, evidence-backed findings. Do not modify files."},reviewer:{description:"Code review specialist for quality/security analysis",model:"@slow",spawns:["scout"],tools:["read","grep","glob","bash","lsp","web_search","ast_grep"],systemPrompt:"Review code for correctness, security, maintainability, and regressions with concrete findings."},"security-reviewer":{description:"Read-only security specialist for evidence-backed repository vulnerability discovery",model:"@slow",tools:["read","grep","glob","lsp","ast_grep"],systemPrompt:"Discover potential security vulnerabilities and return concrete evidence and remediation guidance."},librarian:{description:"Researches external libraries and APIs by reading source code. Returns definitive, source-verified answers.",model:"@smol",thinkingLevel:"minimal",tools:["read","grep","glob","bash","lsp","web_search","ast_grep"],systemPrompt:"Research library APIs and source documentation; provide definitive, source-verified answers."},designer:{description:"UI/UX specialist for design implementation, review, visual refinement",model:"@designer",tools:["read","write","edit"],systemPrompt:"Design and implement polished, accessible user interfaces following project conventions."},sonic:{description:"Low-reasoning agent for strictly mechanical updates or data collection only",model:"@smol",thinkingLevel:"medium",tools:["read","write","edit"],systemPrompt:"Perform strictly mechanical updates and data collection accurately with minimal overhead."}};function o(a,b,c){let d=a.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/),e=d?d[1]:"",h=d?a.slice(d[0].length):a,i=(0,g.Tp)(e);if(i.errors.length>0)throw Error(`YAML parse error in ${b}: ${i.errors[0].message}`);let j=i.toJS(),k=j&&"object"==typeof j&&!Array.isArray(j)?j:{},l=String(k.name||f().basename(b,".md"));if(!m(l))throw Error(`Invalid agent identifier "${l}" in ${b}`);return{...k,name:l,description:String(k.description||""),tools:Array.isArray(k.tools)?k.tools.map(String):void 0,model:"string"==typeof k.model||Array.isArray(k.model)?k.model:void 0,prewalk:"boolean"==typeof k.prewalk||"string"==typeof k.prewalk?k.prewalk:void 0,advisor:"boolean"==typeof k.advisor||"string"==typeof k.advisor?k.advisor:void 0,thinkingLevel:"string"==typeof k.thinkingLevel?k.thinkingLevel:void 0,blocking:"boolean"==typeof k.blocking?k.blocking:void 0,systemPrompt:String(k.systemPrompt??h.trim()),source:c,filePath:b,isShadowed:!1}}async function p(a,b,c){try{let e=await d.promises.readdir(a,{withFileTypes:!0}),g=[];for(let h of e)if(h.isFile()&&h.name.endsWith(".md")){let e=f().join(a,h.name);try{let a=await d.promises.readFile(e,"utf8");g.push(o(a,e,b))}catch(a){c.push({path:e,error:a instanceof Error?a.message:String(a)})}}return g}catch(b){return"ENOENT"!==(b&&"object"==typeof b&&"code"in b?b.code:void 0)&&c.push({path:a,error:b instanceof Error?b.message:String(b)}),[]}}function q(a){let b=f().resolve(a);for(;;){let a=f().join(b,".omp","agents"),c=f().join(b,".omp");if((0,d.existsSync)(a)||(0,d.existsSync)(c)){if(!(0,k.o4)((0,k.SW)(a),new Set([(0,k.SW)(b)])))throw Error(`Access denied to project agents directory: ${a}`);return a}let e=f().dirname(b);if(e===b)return null;b=e}}function r(){return f().join((0,h.$M)(),"agents")}async function s(a=process.cwd()){let b=[],c=q(a),d=r(),e=[];for(let a of(c&&e.push({dir:c,source:"project"}),e.push({dir:d,source:"user"}),(process.env.OMP_EXTENSION_DIRS||"").split(f().delimiter).filter(Boolean)))e.push({dir:f().join(a,"agents"),source:"extension"});let g=[];for(let{dir:a,source:c}of e){let d=await p(a,c,b);g.push(...d)}for(let[a,b]of Object.entries(n))g.push({name:a,model:b.model,thinkingLevel:b.thinkingLevel,spawns:b.spawns,description:b.description||"",tools:b.tools,systemPrompt:b.systemPrompt||"",source:"bundled",isShadowed:!1});let h=new Set,j=[],k={};try{k=(0,i.rk)().settings.task||{}}catch{}let l=k.agentModelOverrides||{},m=k.agentPrewalk||{},o=k.agentAdvisor||{},t=new Set(Array.isArray(k.disabledAgents)?k.disabledAgents:[]);for(let a of g){let b=!h.has(a.name);h.add(a.name),a.isShadowed=!b,b&&(a.name in l&&(a.overrideModel=l[a.name]),a.name in m&&(a.prewalkOverride=m[a.name]),a.name in o&&(a.advisorOverride=o[a.name]),t.has(a.name)&&(a.disabled=!0),j.push(a))}return{agents:j,projectRoot:c?f().dirname(f().dirname(c)):void 0,...b.length>0?{diagnostics:b}:{}}}async function t(a){let b,c;if("user"===a.scope)c=(0,k.SW)((0,h.$M)()),b=r();else{let e=a.cwd||process.cwd(),g=await (0,j.mc)();if(!(0,j.B7)(e,g))throw Error(`Access denied to project path: ${e}`);if(b=q(e)||f().join(f().resolve(e),".omp","agents"),c=await d.promises.realpath(f().dirname(f().dirname(b))),!(0,j.B7)(c,g))throw Error(`Access denied to project root: ${c}`)}let e=(0,k.SW)(b);if(!(0,k.o4)(e,new Set([c])))throw Error(`Access denied to agents directory: ${b}`);return e}async function u(a){if(!m(a.name))throw Error(`Invalid agent identifier: "${a.name}"`);let b=await t(a),c=(0,k.SW)(f().join(b,`${a.name}.md`));if(!(0,k.o4)(c,new Set([b])))throw Error(`Access denied to target agent file: ${c}`);return await d.promises.mkdir(b,{recursive:!0}),c}function v(a){let b={name:a.name,description:a.description};for(let[c,d]of(a.tools&&a.tools.length>0&&(b.tools=a.tools),void 0!==a.model&&(b.model=a.model),void 0!==a.thinkingLevel&&(b.thinkingLevel=a.thinkingLevel),void 0!==a.prewalk&&(b.prewalk=a.prewalk),void 0!==a.advisor&&(b.advisor=a.advisor),Object.entries(a)))"name"===c||"description"===c||"tools"===c||"model"===c||"thinkingLevel"===c||"prewalk"===c||"advisor"===c||"systemPrompt"===c||["scope","cwd","source","filePath","isShadowed","overrideModel","prewalkOverride","advisorOverride","disabled"].includes(c)||void 0===d||(b[c]=d);let c=(0,g.As)(b).trim(),d=(a.systemPrompt||"").trim();return`---
|
|
1
|
+
"use strict";exports.id=3100,exports.ids=[3100],exports.modules={65644:(a,b,c)=>{c.d(b,{Q7:()=>h,Rk:()=>k,rl:()=>g});var d=c(23211),e=c(78573);let f={error:"Session not found",code:"session_not_found"};async function g(a){let b=await (0,e.os)(a);return b?{filePath:b}:{response:d.NextResponse.json(f,{status:404})}}function h(a,b=500){return d.NextResponse.json({error:String(a)},{status:b})}let i=/^[a-z][a-z0-9_]{0,63}$/;function j(a,b){let c=a[b];return"string"==typeof c&&c.length>0?c:void 0}function k(a){let b=function(a){if(!(a instanceof Error)||!a.message)return null;if("WebRpcError"===a.name){let b=j(a,"code");return b&&i.test(b)?{error:a.message,code:b}:null}if("RpcCommandError"===a.name){if(!j(a,"command"))return null;let b=j(a,"code")??"rpc_command_failed";return i.test(b)?{error:a.message,code:b}:null}return null}(a);return b?d.NextResponse.json(b,{status:400}):null}},66829:(a,b,c)=>{c.d(b,{H8:()=>d,sj:()=>g,sp:()=>f});class d extends Error{constructor(){super("Request body exceeds the allowed size")}}function e(a){let b=a.headers.get("content-length");if(!b||!/^\d+$/.test(b))return null;let c=Number(b);return Number.isSafeInteger(c)?c:null}async function f(a,b){let c=e(a);if(null!==c&&c>b)throw new d;let f=a.body?.getReader();if(!f){let c=await a.text();if(Buffer.byteLength(c,"utf8")>b)throw new d;return JSON.parse(c)}let g=[],h=0;try{for(;;){let{done:a,value:c}=await f.read();if(a)break;if(h+c.byteLength>b)throw await f.cancel().catch(()=>{}),new d;h+=c.byteLength;let e=new Uint8Array(c.byteLength);e.set(c),g.push(e)}}finally{f.releaseLock()}let i=new Uint8Array(h),j=0;for(let a of g)i.set(a,j),j+=a.byteLength;return JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(i))}async function g(a,b){let c=e(a);if(null!==c&&c>b)throw new d;let f=a.body?.getReader();if(!f)return a.formData();let g=[],h=0;try{for(;;){let{done:a,value:c}=await f.read();if(a)break;if(h+c.byteLength>b)throw await f.cancel().catch(()=>{}),new d;h+=c.byteLength;let e=new Uint8Array(c.byteLength);e.set(c),g.push(e)}}finally{f.releaseLock()}let i=a.headers.get("content-type");return new Response(new Blob(g),{headers:i?{"content-type":i}:void 0}).formData()}},80547:(a,b,c)=>{c.d(b,{B7:()=>i,Nw:()=>d.Nw,mc:()=>h,uK:()=>g.uK,wz:()=>d.wz});var d=c(25252),e=c(82536),f=c(78573),g=c(58864);async function h(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,f.dQ)(),e=new Set;for(let a of c)a.cwd&&e.add((0,d.Nw)(a.cwd)),a.projectRoot&&e.add((0,d.Nw)(a.projectRoot));for(let a of(0,d.HM)())e.add(a);return globalThis.__piAllowedRootsCache={roots:e,expiresAt:a+5e3},e}function i(a,b){return(0,e.xk)(a,b)}},96607:(a,b,c)=>{c.d(b,{RB:()=>y,Sn:()=>w,eU:()=>s,hH:()=>z,x4:()=>x});var d=c(29021),e=c(33873),f=c.n(e),g=c(63294),h=c(85887),i=c(88501),j=c(80547),k=c(82536),l=c(58112);function m(a){return"string"==typeof a&&/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(a)}let n={task:{description:"General-purpose subagent with full capabilities for delegated multi-step tasks",model:"@task",thinkingLevel:"auto",spawns:["*"],tools:["read","write","edit","bash"],systemPrompt:"General-purpose coding agent with full capabilities. Implement requested changes carefully and verify them before finishing."},scout:{description:"MUST be used for exploratory codebase research, rapid code analysis, and broad pattern searches. Fast read-only scout returning compressed context for handoff.",model:"@smol",thinkingLevel:"medium",tools:["read","grep","glob","web_search"],systemPrompt:"Explore the codebase and return concise, evidence-backed findings. Do not modify files."},reviewer:{description:"Code review specialist for quality/security analysis",model:"@slow",spawns:["scout"],tools:["read","grep","glob","bash","lsp","web_search","ast_grep"],systemPrompt:"Review code for correctness, security, maintainability, and regressions with concrete findings."},"security-reviewer":{description:"Read-only security specialist for evidence-backed repository vulnerability discovery",model:"@slow",tools:["read","grep","glob","lsp","ast_grep"],systemPrompt:"Discover potential security vulnerabilities and return concrete evidence and remediation guidance."},librarian:{description:"Researches external libraries and APIs by reading source code. Returns definitive, source-verified answers.",model:"@smol",thinkingLevel:"minimal",tools:["read","grep","glob","bash","lsp","web_search","ast_grep"],systemPrompt:"Research library APIs and source documentation; provide definitive, source-verified answers."},designer:{description:"UI/UX specialist for design implementation, review, visual refinement",model:"@designer",tools:["read","write","edit"],systemPrompt:"Design and implement polished, accessible user interfaces following project conventions."},sonic:{description:"Low-reasoning agent for strictly mechanical updates or data collection only",model:"@smol",thinkingLevel:"medium",tools:["read","write","edit"],systemPrompt:"Perform strictly mechanical updates and data collection accurately with minimal overhead."}};function o(a,b,c){let d=a.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/),e=d?d[1]:"",h=d?a.slice(d[0].length):a,i=(0,g.Tp)(e);if(i.errors.length>0)throw Error(`YAML parse error in ${b}: ${i.errors[0].message}`);let j=i.toJS(),k=j&&"object"==typeof j&&!Array.isArray(j)?j:{},l=String(k.name||f().basename(b,".md"));if(!m(l))throw Error(`Invalid agent identifier "${l}" in ${b}`);return{...k,name:l,description:String(k.description||""),tools:Array.isArray(k.tools)?k.tools.map(String):void 0,model:"string"==typeof k.model||Array.isArray(k.model)?k.model:void 0,prewalk:"boolean"==typeof k.prewalk||"string"==typeof k.prewalk?k.prewalk:void 0,advisor:"boolean"==typeof k.advisor||"string"==typeof k.advisor?k.advisor:void 0,thinkingLevel:"string"==typeof k.thinkingLevel?k.thinkingLevel:void 0,blocking:"boolean"==typeof k.blocking?k.blocking:void 0,systemPrompt:String(k.systemPrompt??h.trim()),source:c,filePath:b,isShadowed:!1}}async function p(a,b,c){try{let e=await d.promises.readdir(a,{withFileTypes:!0}),g=[];for(let h of e)if(h.isFile()&&h.name.endsWith(".md")){let e=f().join(a,h.name);try{let a=await d.promises.readFile(e,"utf8");g.push(o(a,e,b))}catch(a){c.push({path:e,error:a instanceof Error?a.message:String(a)})}}return g}catch(b){return"ENOENT"!==(b&&"object"==typeof b&&"code"in b?b.code:void 0)&&c.push({path:a,error:b instanceof Error?b.message:String(b)}),[]}}function q(a){let b=f().resolve(a);for(;;){let a=f().join(b,".omp","agents"),c=f().join(b,".omp");if((0,d.existsSync)(a)||(0,d.existsSync)(c)){if(!(0,k.o4)((0,k.SW)(a),new Set([(0,k.SW)(b)])))throw Error(`Access denied to project agents directory: ${a}`);return a}let e=f().dirname(b);if(e===b)return null;b=e}}function r(){return f().join((0,h.$M)(),"agents")}async function s(a=process.cwd()){let b=[],c=q(a),d=r(),e=[];for(let a of(c&&e.push({dir:c,source:"project"}),e.push({dir:d,source:"user"}),(process.env.OMP_EXTENSION_DIRS||"").split(f().delimiter).filter(Boolean)))e.push({dir:f().join(a,"agents"),source:"extension"});let g=[];for(let{dir:a,source:c}of e){let d=await p(a,c,b);g.push(...d)}for(let[a,b]of Object.entries(n))g.push({name:a,model:b.model,thinkingLevel:b.thinkingLevel,spawns:b.spawns,description:b.description||"",tools:b.tools,systemPrompt:b.systemPrompt||"",source:"bundled",isShadowed:!1});let h=new Set,j=[],k={};try{k=(0,i.rk)().settings.task||{}}catch{}let l=k.agentModelOverrides||{},m=k.agentPrewalk||{},o=k.agentAdvisor||{},t=new Set(Array.isArray(k.disabledAgents)?k.disabledAgents:[]);for(let a of g){let b=!h.has(a.name);h.add(a.name),a.isShadowed=!b,b&&(a.name in l&&(a.overrideModel=l[a.name]),a.name in m&&(a.prewalkOverride=m[a.name]),a.name in o&&(a.advisorOverride=o[a.name]),t.has(a.name)&&(a.disabled=!0),j.push(a))}return{agents:j,projectRoot:c?f().dirname(f().dirname(c)):void 0,...b.length>0?{diagnostics:b}:{}}}async function t(a){let b,c;if("user"===a.scope)c=(0,k.SW)((0,h.$M)()),b=r();else{let e=a.cwd||process.cwd(),g=await (0,j.mc)();if(!(0,j.B7)(e,g))throw Error(`Access denied to project path: ${e}`);if(b=q(e)||f().join(f().resolve(e),".omp","agents"),c=await d.promises.realpath(f().dirname(f().dirname(b))),!(0,j.B7)(c,g))throw Error(`Access denied to project root: ${c}`)}let e=(0,k.SW)(b);if(!(0,k.o4)(e,new Set([c])))throw Error(`Access denied to agents directory: ${b}`);return e}async function u(a){if(!m(a.name))throw Error(`Invalid agent identifier: "${a.name}"`);let b=await t(a),c=(0,k.SW)(f().join(b,`${a.name}.md`));if(!(0,k.o4)(c,new Set([b])))throw Error(`Access denied to target agent file: ${c}`);return await d.promises.mkdir(b,{recursive:!0}),c}function v(a){let b={name:a.name,description:a.description};for(let[c,d]of(a.tools&&a.tools.length>0&&(b.tools=a.tools),void 0!==a.model&&(b.model=a.model),void 0!==a.thinkingLevel&&(b.thinkingLevel=a.thinkingLevel),void 0!==a.prewalk&&(b.prewalk=a.prewalk),void 0!==a.advisor&&(b.advisor=a.advisor),Object.entries(a)))"name"===c||"description"===c||"tools"===c||"model"===c||"thinkingLevel"===c||"prewalk"===c||"advisor"===c||"systemPrompt"===c||["scope","cwd","source","filePath","isShadowed","overrideModel","prewalkOverride","advisorOverride","disabled"].includes(c)||void 0===d||(b[c]=d);let c=(0,g.As)(b).trim(),d=(a.systemPrompt||"").trim();return`---
|
|
2
2
|
${c}
|
|
3
3
|
---
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";exports.id=3798,exports.ids=[3798],exports.modules={13798:(a,b,c)=>{c.d(b,{x:()=>j,X:()=>k});var d=c(79646),e=c(4984),f=c(79588),g=c(20565);function h(a){return"number"==typeof a&&Number.isSafeInteger(a)}class i{push(a){if(!(0,g.u4)(a)||"rpc_chunk"!==a.type){if(this.pending)throw Error("RPC chunk sequence interrupted");if(!(0,g.u4)(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||!h(c)||!h(d)||!h(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 i=this.pending;if(i.chunkId!==b||i.count!==d||i.byteLength!==e||i.nextIndex!==c)throw Error("RPC chunk sequence mismatch");if(i.chunks.push(f),i.receivedBytes+=f.byteLength,i.nextIndex++,i.receivedBytes>i.byteLength)throw Error("RPC chunk sequence exceeds declared length");if(i.nextIndex<i.count)return;if(i.receivedBytes!==i.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(i.chunks)));if(!(0,g.u4)(j)||"string"!=typeof j.type)throw Error("RPC frame must be an object");return j}}class j extends Error{constructor(a,b,c){super(b),this.name="RpcCommandError",this.command=a,this.code=c}}class k{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.exit=Promise.withResolvers(),this.disposePromise=null,this.writeQueue=Promise.resolve();const g=a.dependencies?.resolveOmpBin??f.wS;this.spawnProcess=a.dependencies?.spawn??d.spawn,this.killProcess=a.dependencies?.kill??process.kill;const h=g();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 j=["--mode","rpc-ui","--cwd",a.cwd,...a.extraArgs??[]];this.child=this.spawnProcess(h,j,{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.readyPromise=new Promise((a,d)=>{b=a,c=d}),this.readyPromise.catch(()=>{}),this.child.stdin.on("error",()=>{}),this.child.stdout.on("error",()=>{});const k=new i,l=(0,e.createInterface)({input:this.child.stdout});l.on("error",()=>{}),l.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=k.push(c);if(!a)return;d=a}catch(a){this.stderrTail=(this.stderrTail+`
|
|
2
2
|
RPC protocol error: ${a instanceof Error?a.message:String(a)}`).slice(-8192),this.dispose(0);return}if("ready"===d.type)return void b(d);if("response"===d.type)return void this.handleResponse(d);for(let a of this.frameListeners)try{a(d)}catch{}}}),this.child.stderr.on("data",a=>{this.stderrTail=(this.stderrTail+a.toString("utf8")).slice(-8192)});const 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(),this.exit.resolve(),a.onExit?.({code:b,signal:d,stderrTail:this.stderrTail})};this.child.on("exit",(a,b)=>{if(!this.exited&&"win32"!==process.platform&&this.child.pid)try{this.killProcess(-this.child.pid,"SIGKILL")}catch{}m(a,b)}),this.child.on("error",a=>{this.stderrTail=(this.stderrTail+`
|
|
3
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){this.writeQueue=this.writeQueue.then(()=>{let{promise:c,resolve:d}=Promise.withResolvers(),e=a=>{b(a),d()};if(this.exited||this.child.stdin.destroyed)return e(Error("RPC process is not running")),c;try{this.child.stdin.write(`${JSON.stringify(a)}
|
|
4
|
-
`,e)}catch(a){e(a instanceof Error?a:Error(String(a)))}return c})}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 j(a.command,a.error??"RPC command failed",a.code))}dispose(a=5e3){if(this.disposePromise)return this.disposePromise;if(this.exited)return this.exit.promise;this.disposePromise=this.exit.promise.then(()=>{clearTimeout(c),clearTimeout(d)});try{this.child.stdin.end()}catch{}let b=(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",()=>{if(!this.exited)try{this.child.kill(b)}catch{}});return}try{this.killProcess(-c,b)}catch{try{this.child.kill(b)}catch{}}}},c=setTimeout(()=>{this.exited||b(!1,"SIGTERM")},a),d=setTimeout(()=>{this.exited||b(!0,"SIGKILL")},2*a);return c.unref?.(),d.unref?.(),this.disposePromise}}},79588:(a,b,c)=>{c.d(b,{F1:()=>s,YT:()=>r,eG:()=>t,nH:()=>u,wS:()=>q});var d=c(79646),e=c(29021),f=c(21820),g=c(33873);let h=null,i=0,j=null,k=null,l=0,m=null,n="win32"===process.platform?"omp.exe":"omp",o=/\x1B\[[0-9;]*m/g;function p(a){try{let b=(0,e.statSync)(a),c=`${b.ino}:${b.size}:${b.mtimeMs}:${b.ctimeMs}`,d=(0,e.lstatSync)(a);return d.isSymbolicLink()&&(c+=`:${d.ino}:${d.mtimeMs}:${d.ctimeMs}`),c}catch{return null}}function q(){if(h&&(0,e.existsSync)(h))return h;if(h&&!(0,e.existsSync)(h)&&(h=null,j=null,k=null),Date.now()-i<3e4)return null;let a=function(){let a=process.env.OMPGUI_OMP_BIN??process.env.OMP_WEB_OMP_BIN;if(a)return(0,e.existsSync)(a)?a:null;for(let a of(process.env.PATH??"").split(g.delimiter)){if(!a)continue;let b=(0,g.join)(a,n);if((0,e.existsSync)(b))return b}for(let a of["/opt/homebrew/bin","/usr/local/bin",(0,g.join)((0,f.homedir)(),".bun","bin"),(0,g.join)((0,f.homedir)(),".local","bin")]){let b=(0,g.join)(a,n);if((0,e.existsSync)(b))return b}return null}();return a?(h=a,i=0,a):(i=Date.now(),null)}function r(){h=null,i=0,j=null,k=null,l=0,m=null}async function s(){let a=q();if(!a)return Date.now()-l<3e4||(l=Date.now()),null;let b=p(a);return j&&b&&k===b?j:!j&&Date.now()-l<3e4?null:m||(m=(async()=>{try{let c=(await new Promise((b,c)=>{(0,d.execFile)(a,["--version"],{timeout:1e4,windowsHide:!0},(a,d)=>{a?c(a):b(d)})})).trim();if(c){let d=p(a);return j=c,k=d??b,l=0,c}}catch{}finally{m=null}return l=Date.now(),null})())}function t(a,b={}){let c=q();if(!c)return Promise.reject(Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN."));let{promise:e,resolve:f,reject:g}=Promise.withResolvers();return(0,d.execFile)(c,a,{cwd:b.cwd,timeout:b.timeout??6e4,maxBuffer:b.maxBuffer??0x1000000,env:{...process.env,FORCE_COLOR:"0",NO_COLOR:"1"},windowsHide:!0},(b,c,d)=>{b?g(Error((d||c||b.message).replace(o,"").trim().slice(-600)||`omp ${a.join(" ")} failed`)):f({stdout:c,stderr:d})}),e}function u(a){let b=a.replace(o,""),c=b.search(/[{[]/);if(c<0)return null;try{return JSON.parse(b.slice(c))}catch{return null}}}};
|
|
4
|
+
`,e)}catch(a){e(a instanceof Error?a:Error(String(a)))}return c})}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 j(a.command,a.error??"RPC command failed",a.code))}dispose(a=5e3){if(this.disposePromise)return this.disposePromise;if(this.exited)return this.exit.promise;this.disposePromise=this.exit.promise.then(()=>{clearTimeout(c),clearTimeout(d)});try{this.child.stdin.end()}catch{}let b=(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",()=>{if(!this.exited)try{this.child.kill(b)}catch{}});return}try{this.killProcess(-c,b)}catch{try{this.child.kill(b)}catch{}}}},c=setTimeout(()=>{this.exited||b(!1,"SIGTERM")},a),d=setTimeout(()=>{this.exited||b(!0,"SIGKILL")},2*a);return c.unref?.(),d.unref?.(),this.disposePromise}}},79588:(a,b,c)=>{c.d(b,{F1:()=>s,YT:()=>r,eG:()=>t,nH:()=>u,wS:()=>q});var d=c(79646),e=c(29021),f=c(21820),g=c(33873);let h=null,i=0,j=null,k=null,l=0,m=null,n="win32"===process.platform?"omp.exe":"omp",o=/\x1B\[[0-9;]*m/g;function p(a){try{let b=(0,e.statSync)(a),c=`${b.ino}:${b.size}:${b.mtimeMs}:${b.ctimeMs}`,d=(0,e.lstatSync)(a);return d.isSymbolicLink()&&(c+=`:${d.ino}:${d.mtimeMs}:${d.ctimeMs}`),c}catch{return null}}function q(){if(h&&(0,e.existsSync)(h))return h;if(h&&!(0,e.existsSync)(h)&&(h=null,j=null,k=null),Date.now()-i<3e4)return null;let a=function(){let a=process.env.OMPGUI_OMP_BIN??process.env.OMP_WEB_OMP_BIN;if(a)return(0,e.existsSync)(a)?a:null;for(let a of(process.env.PATH??"").split(g.delimiter)){if(!a)continue;let b=(0,g.join)(a,n);if((0,e.existsSync)(b))return b}for(let a of["/opt/homebrew/bin","/usr/local/bin",(0,g.join)((0,f.homedir)(),".bun","bin"),(0,g.join)((0,f.homedir)(),".local","bin")]){let b=(0,g.join)(a,n);if((0,e.existsSync)(b))return b}return null}();return a?(h=a,i=0,a):(i=Date.now(),null)}function r(){h=null,i=0,j=null,k=null,l=0,m=null}async function s(){let a=q();if(!a)return Date.now()-l<3e4||(l=Date.now()),null;let b=p(a);return j&&b&&k===b?j:!j&&Date.now()-l<3e4?null:m||(m=(async()=>{try{let c=(await new Promise((b,c)=>{(0,d.execFile)(a,["--version"],{timeout:1e4,windowsHide:!0},(a,d)=>{a?c(a):b(d)})})).trim();if(c){let d=p(a);return j=c,k=d??b,l=0,c}}catch{}finally{m=null}return l=Date.now(),null})())}function t(a,b={}){let c=q();if(!c)return Promise.reject(Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN."));let{promise:e,resolve:f,reject:g}=Promise.withResolvers();return(0,d.execFile)(c,a,{cwd:b.cwd,timeout:b.timeout??6e4,maxBuffer:b.maxBuffer??0x1000000,env:{...b.env??process.env,FORCE_COLOR:"0",NO_COLOR:"1"},windowsHide:!0},(b,c,d)=>{b?g(Error((d||c||b.message).replace(o,"").trim().slice(-600)||`omp ${a.join(" ")} failed`)):f({stdout:c,stderr:d})}),e}function u(a){let b=a.replace(o,""),c=b.search(/[{[]/);if(c<0)return null;try{return JSON.parse(b.slice(c))}catch{return null}}}};
|