@tasselx/pi-web 1.2.1 → 1.3.0
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 +6 -5
- package/.next/build-manifest.json +4 -4
- package/.next/prerender-manifest.json +1 -157
- package/.next/react-loadable-manifest.json +1 -1
- package/.next/required-server-files.js +6 -6
- package/.next/required-server-files.json +6 -6
- package/.next/routes-manifest.json +6 -0
- package/.next/server/app/_global-error/page.js +2 -2
- 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 +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- 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 +4 -4
- package/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
- package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js +2 -2
- package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/[id]/lease/route.js +1 -1
- package/.next/server/app/api/agent/[id]/lease/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/debug/route.js +3 -0
- package/.next/server/app/api/agent/debug/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/debug/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/running/route.js +1 -1
- package/.next/server/app/api/agent/running/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app-update/route.js +1 -1
- package/.next/server/app/api/app-update/route_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
- package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cache-miss-notices/route.js +1 -1
- package/.next/server/app/api/cache-miss-notices/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/browse/route.js +1 -1
- package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/pick/route.js +1 -1
- package/.next/server/app/api/cwd/pick/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/validate/route.js +1 -1
- package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/file-index/route.js +1 -1
- package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js +3 -3
- package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/diff/route.js +2 -2
- package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/status/route.js +2 -2
- package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/home/route.js +1 -1
- package/.next/server/app/api/home/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/route.js +2 -2
- package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/sign-in/[flowId]/route.js +1 -1
- package/.next/server/app/api/mcp/sign-in/[flowId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/sign-in/route.js +1 -1
- package/.next/server/app/api/mcp/sign-in/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/test/route.js +1 -1
- package/.next/server/app/api/mcp/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models/default/route.js +1 -1
- package/.next/server/app/api/models/default/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models/enabled/route.js +1 -1
- package/.next/server/app/api/models/enabled/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models/refresh/route.js +1 -1
- package/.next/server/app/api/models/refresh/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/catalog/route.js +1 -1
- package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/discover/route.js +1 -1
- package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/route.js +1 -1
- package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/open-in-explorer/route.js +1 -1
- package/.next/server/app/api/open-in-explorer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/plugins/check/route.js +1 -1
- package/.next/server/app/api/plugins/check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/project-trust/route.js +1 -1
- package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/provider-usage/query/route.js +1 -1
- package/.next/server/app/api/provider-usage/query/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/config/route.js +1 -1
- package/.next/server/app/api/push/config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscribe/route.js +1 -1
- package/.next/server/app/api/push/subscribe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/fork/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/fork/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/delete/route.js +1 -1
- package/.next/server/app/api/sessions/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/search/route.js +1 -1
- package/.next/server/app/api/sessions/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/stats/route.js +1 -1
- package/.next/server/app/api/sessions/stats/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/ui-state/route.js +1 -1
- package/.next/server/app/api/sessions/ui-state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/content/route.js +1 -1
- package/.next/server/app/api/skills/content/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/install/route.js +1 -1
- package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/search/route.js +1 -1
- package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/update/route.js +1 -1
- package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sleep-inhibit/route.js +1 -1
- package/.next/server/app/api/sleep-inhibit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/subagents/[id]/route.js +1 -1
- package/.next/server/app/api/subagents/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/subagents/profiles/route.js +1 -1
- package/.next/server/app/api/subagents/profiles/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/subagents/settings/route.js +1 -1
- package/.next/server/app/api/subagents/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/terminal/[id]/events/route.js +3 -3
- package/.next/server/app/api/terminal/[id]/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/terminal/[id]/route.js +1 -1
- package/.next/server/app/api/terminal/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/terminal/route.js +1 -1
- package/.next/server/app/api/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tools/settings/route.js +1 -1
- package/.next/server/app/api/tools/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/web-auth/route.js +1 -1
- package/.next/server/app/api/web-auth/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +9 -9
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -9
- package/.next/server/app/index.segments/_full.segment.rsc +9 -9
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page.js.nft.json +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 +6 -6
- package/.next/server/app/login.segments/_full.segment.rsc +6 -6
- package/.next/server/app/login.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +823 -30
- 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-paths-manifest.json +6 -5
- package/.next/server/chunks/1906.js +1 -1
- package/.next/server/chunks/2243.js +1 -1
- package/.next/server/chunks/2430.js +3 -3
- package/.next/server/chunks/2650.js +1 -1
- package/.next/server/chunks/27.js +1 -1
- package/.next/server/chunks/2970.js +1 -1
- package/.next/server/chunks/3371.js +1 -0
- package/.next/server/chunks/3757.js +1 -1
- package/.next/server/chunks/3824.js +1 -1
- package/.next/server/chunks/4315.js +1 -1
- package/.next/server/chunks/5582.js +3 -3
- package/.next/server/chunks/6216.js +1 -1
- package/.next/server/chunks/6429.js +9 -10
- package/.next/server/chunks/8947.js +1 -0
- package/.next/server/functions-config-manifest.json +1 -0
- package/.next/server/instrumentation.js +1 -1
- package/.next/server/instrumentation.js.nft.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/middleware.js +4 -4
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/preview-props.json +3 -3
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/SZGRKeK7Rp-GLXlZwXVpN/_buildManifest.js +1 -0
- package/.next/static/chunks/1278-7900e52add02a581.js +1 -0
- package/.next/static/chunks/{9932-ad7f7fe74cc1f50a.js → 4908-f430833122ebb4b2.js} +2 -2
- package/.next/static/chunks/{7379.f16ffe41e8afa0ef.js → 7379.078f0917cc6a0349.js} +1 -1
- package/.next/static/chunks/app/_global-error/{page-a509ce75fed6d8b0.js → page-ff5f37ea6085322e.js} +1 -1
- package/.next/static/chunks/app/_not-found/{page-35dee0d93253f38c.js → page-d4722b111eb204ad.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/bash-output/{route-a509ce75fed6d8b0.js → route-ff5f37ea6085322e.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/events/{route-a509ce75fed6d8b0.js → route-ff5f37ea6085322e.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/lease/{route-a509ce75fed6d8b0.js → route-ff5f37ea6085322e.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/agent/debug/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/agent/running/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/app-update/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/cache-miss-notices/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/cwd/pick/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/home/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/mcp/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/mcp/sign-in/[flowId]/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/mcp/sign-in/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/mcp/test/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/models/default/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/models/enabled/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/models/refresh/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/models/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/models-config/catalog/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/models-config/discover/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/open-in-explorer/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/plugins/check/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/project-trust/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/provider-usage/query/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/push/config/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/push/subscribe/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/fork/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sessions/delete/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sessions/search/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sessions/stats/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sessions/ui-state/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/skills/content/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/skills/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/sleep-inhibit/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/subagents/[id]/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/subagents/profiles/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/subagents/settings/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/terminal/[id]/events/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/terminal/[id]/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/terminal/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/tools/settings/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/web-auth/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/{layout-fba9ec844c19ded5.js → layout-fd5067066c05f1c1.js} +1 -1
- package/.next/static/chunks/app/login/{page-7d17aa0961f2fcbe.js → page-699dd04274c6737c.js} +1 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/app/page-e2c75ffccae708f8.js +1131 -0
- package/.next/static/chunks/{main-app-4b56fc85be3f7823.js → main-app-03bab309386a7cee.js} +1 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-7b03c800e367b0e2.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-ff5f37ea6085322e.js +1 -0
- package/.next/static/chunks/{webpack-10ae3428600991e0.js → webpack-95292085cd40fbc6.js} +1 -1
- package/.next/static/css/{bf49b4e87f26e436.css → 600a486e13adbe4a.css} +1 -1
- package/.next/static/css/f38e4e9c1d25d157.css +1 -0
- package/.next/trace +181 -59
- package/.next/trace-build +1 -1
- package/.next/types/app/api/agent/[id]/bash-output/route.ts +1 -1
- package/.next/types/app/api/agent/[id]/events/route.ts +1 -1
- package/.next/types/app/api/agent/[id]/lease/route.ts +1 -1
- package/.next/types/app/api/agent/[id]/route.ts +1 -1
- package/.next/types/app/api/agent/debug/route.ts +355 -0
- package/.next/types/app/api/agent/new/route.ts +1 -1
- package/.next/types/app/api/agent/running/route.ts +1 -1
- package/.next/types/app/api/app-update/route.ts +1 -1
- package/.next/types/app/api/auth/api-key/[provider]/route.ts +1 -1
- package/.next/types/app/api/auth/login/[provider]/route.ts +1 -1
- package/.next/types/app/api/auth/logout/[provider]/route.ts +1 -1
- package/.next/types/app/api/auth/providers/route.ts +1 -1
- package/.next/types/app/api/cache-miss-notices/route.ts +1 -1
- package/.next/types/app/api/cwd/browse/route.ts +1 -1
- package/.next/types/app/api/cwd/pick/route.ts +1 -1
- package/.next/types/app/api/cwd/validate/route.ts +1 -1
- package/.next/types/app/api/default-cwd/route.ts +1 -1
- package/.next/types/app/api/file-index/route.ts +1 -1
- package/.next/types/app/api/files/[...path]/route.ts +1 -1
- package/.next/types/app/api/git/diff/route.ts +1 -1
- package/.next/types/app/api/git/status/route.ts +1 -1
- package/.next/types/app/api/home/route.ts +1 -1
- package/.next/types/app/api/mcp/route.ts +1 -1
- package/.next/types/app/api/mcp/sign-in/[flowId]/route.ts +1 -1
- package/.next/types/app/api/mcp/sign-in/route.ts +1 -1
- package/.next/types/app/api/mcp/test/route.ts +1 -1
- package/.next/types/app/api/models/default/route.ts +1 -1
- package/.next/types/app/api/models/enabled/route.ts +1 -1
- package/.next/types/app/api/models/refresh/route.ts +1 -1
- package/.next/types/app/api/models/route.ts +1 -1
- package/.next/types/app/api/models-config/catalog/route.ts +1 -1
- package/.next/types/app/api/models-config/discover/route.ts +1 -1
- package/.next/types/app/api/models-config/route.ts +1 -1
- package/.next/types/app/api/models-config/test/route.ts +1 -1
- package/.next/types/app/api/open-in-explorer/route.ts +1 -1
- package/.next/types/app/api/plugins/check/route.ts +1 -1
- package/.next/types/app/api/plugins/route.ts +1 -1
- package/.next/types/app/api/project-trust/route.ts +1 -1
- package/.next/types/app/api/provider-usage/query/route.ts +1 -1
- package/.next/types/app/api/push/config/route.ts +1 -1
- package/.next/types/app/api/push/subscribe/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/auto-name/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/context/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/export/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/fork/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/state/route.ts +1 -1
- package/.next/types/app/api/sessions/delete/route.ts +1 -1
- package/.next/types/app/api/sessions/route.ts +1 -1
- package/.next/types/app/api/sessions/search/route.ts +1 -1
- package/.next/types/app/api/sessions/stats/route.ts +1 -1
- package/.next/types/app/api/sessions/ui-state/route.ts +1 -1
- package/.next/types/app/api/skills/check/route.ts +1 -1
- package/.next/types/app/api/skills/content/route.ts +1 -1
- package/.next/types/app/api/skills/install/route.ts +1 -1
- package/.next/types/app/api/skills/route.ts +1 -1
- package/.next/types/app/api/skills/search/route.ts +1 -1
- package/.next/types/app/api/skills/update/route.ts +1 -1
- package/.next/types/app/api/sleep-inhibit/route.ts +1 -1
- package/.next/types/app/api/subagents/[id]/route.ts +1 -1
- package/.next/types/app/api/subagents/profiles/route.ts +1 -1
- package/.next/types/app/api/subagents/settings/route.ts +1 -1
- package/.next/types/app/api/terminal/[id]/events/route.ts +1 -1
- package/.next/types/app/api/terminal/[id]/route.ts +1 -1
- package/.next/types/app/api/terminal/route.ts +1 -1
- package/.next/types/app/api/tools/settings/route.ts +1 -1
- package/.next/types/app/api/web-auth/route.ts +1 -1
- package/.next/types/app/api/worktrees/route.ts +1 -1
- package/.next/types/app/layout.ts +1 -1
- package/.next/types/app/login/page.ts +1 -1
- package/.next/types/app/page.ts +1 -1
- package/.next/types/routes.d.ts +2 -1
- package/.next/types/validator.ts +10 -0
- package/README.md +2 -1
- package/bin/browser-opener.js +44 -1
- package/bin/network-addresses.js +62 -0
- package/bin/pi-web.js +10 -2
- package/package.json +1 -1
- package/.next/server/chunks/5924.js +0 -1
- package/.next/server/chunks/7979.js +0 -1
- package/.next/static/chunks/1278-acbd0cb712f7f8f0.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/agent/running/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/app-update/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/auth/login/[provider]/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/auth/providers/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/cache-miss-notices/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/cwd/browse/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/cwd/pick/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/cwd/validate/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/default-cwd/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/file-index/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/files/[...path]/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/git/diff/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/git/status/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/home/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/mcp/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/mcp/sign-in/[flowId]/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/mcp/sign-in/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/mcp/test/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/models/default/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/models/enabled/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/models/refresh/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/models/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/models-config/catalog/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/models-config/discover/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/models-config/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/models-config/test/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/open-in-explorer/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/plugins/check/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/project-trust/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/provider-usage/query/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/push/config/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/push/subscribe/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/context/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/fork/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/state/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sessions/delete/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sessions/search/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sessions/stats/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sessions/ui-state/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/skills/check/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/skills/content/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/skills/install/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/skills/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/skills/search/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/skills/update/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/sleep-inhibit/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/subagents/[id]/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/subagents/profiles/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/subagents/settings/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/terminal/[id]/events/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/terminal/[id]/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/terminal/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/tools/settings/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/web-auth/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/app/page-020b7792f47e61a6.js +0 -338
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-064e367d6001dbac.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-a509ce75fed6d8b0.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-a509ce75fed6d8b0.js +0 -1
- package/.next/static/css/e423cf64c3a31a65.css +0 -1
- package/.next/static/d8QChh2wYaULqtNavrBMx/_buildManifest.js +0 -1
- /package/.next/static/{d8QChh2wYaULqtNavrBMx → SZGRKeK7Rp-GLXlZwXVpN}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
exports.id=3824,exports.ids=[3824],exports.modules={18904:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{IR:()=>
|
|
1
|
+
exports.id=3824,exports.ids=[3824],exports.modules={18904:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{IR:()=>j,py:()=>h,uw:()=>i});var e=c(75430),f=a([e]);e=(f.then?(await f)():f)[0];let k=new Set(["off","minimal","low","medium","high","xhigh","max"]);function g(a,b){return a.provider===b.provider&&a.id===b.modelId}async function h(a,b){let c=(b??[]).map(a=>a.trim()).filter(Boolean);if(0===c.length)return{visible:await a.getAvailable(),scopedModels:[],thinkingLevelPins:{},warnings:[]};let d=await a.getAvailable(),{scopedModels:f,diagnostics:g}=await (0,e.resolveModelScopeWithDiagnostics)(c,{getAvailable:async()=>d}),h=g.filter(a=>"no-match"!==a.code||0===f.length||!function(a){if(!(a.includes("*")||a.includes("?")||a.includes("[")))return!1;let b=a.lastIndexOf(":");return b<0||k.has(a.slice(b+1))}(a.pattern)).map(a=>a.message);if(0===f.length)return{visible:d,scopedModels:[],thinkingLevelPins:{},warnings:h};let i={};for(let a of f)a.thinkingLevel&&(i[`${a.model.provider}/${a.model.id}`]=a.thinkingLevel);return{visible:f.map(a=>a.model),scopedModels:f,thinkingLevelPins:i,warnings:h}}function i(a){return a.scopedModels.length>0?[...a.visible]:[...a.visible].sort((a,b)=>a.provider.localeCompare(b.provider))}function j(a,b={}){let c=b.requestedModel,d=b.defaultModel,e=c?a.visible.find(a=>g(a,c)):void 0;if(c&&!e)throw Error(`Model is not available in the enabled scope: ${c.provider}/${c.modelId}`);let f=e?a.scopedModels.find(a=>a.model===e||g(a.model,{provider:e.provider,modelId:e.id})):void 0,h=!e&&d?a.scopedModels.find(a=>g(a.model,d)):void 0,i=e?void 0:h??a.scopedModels[0],k=e||i||!d?void 0:a.visible.find(a=>g(a,d)),l=e??i?.model??k,m=f??i,n=b.thinkingLevel??m?.thinkingLevel;return{...l?{model:l}:{},...n?{thinkingLevel:n}:{},scopedModels:[...a.scopedModels]}}d()}catch(a){d(a)}})},28967:(a,b,c)=>{"use strict";function d(){return globalThis.__piModelsCacheState||(globalThis.__piModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__piModelsCacheState}function e(){let a=d();a.generation+=1,a.entries.clear(),a.inFlight.clear()}function f(a,b){return b?{...a,modelError:b}:a}function g(a){return{...a,modelError:"Model list is temporarily unavailable. Check your configuration and try again."}}function h(a,b){let c=d(),e=c.entries.get(a);if(e){if(e.expiresAt>Date.now())return Promise.resolve(e.data);c.entries.delete(a)}let f=c.inFlight.get(a);if(f)return f;let g=c.generation,h=Promise.resolve().then(b).then(b=>{if(c.generation===g&&c.inFlight.get(a)===h){let d=Date.now();for(let[a,b]of c.entries)b.expiresAt<=d&&c.entries.delete(a);for(;c.entries.size>=32;){let a=c.entries.keys().next().value;if(void 0===a)break;c.entries.delete(a)}c.entries.set(a,{data:b,expiresAt:d+6e4})}return b}).finally(()=>{c.inFlight.get(a)===h&&c.inFlight.delete(a)});return c.inFlight.set(a,h),h}c.d(b,{Fw:()=>g,Mx:()=>f,kn:()=>e,rC:()=>h})},28994:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{S9:()=>l,TH:()=>k,je:()=>m,vd:()=>i});var e=c(28967),f=c(18904),g=a([f]);function h(){return globalThis.__piWebProviderModelCatalog??=new Map,globalThis.__piWebProviderModelCatalog}async function i(a){let b=new Set(a.getRegisteredProviderIds()),c=new Map;for(let d of(await a.getAvailable()))!b.has(d.provider)&&(!a.getModel(d.provider,d.id)||a.getPhysicalModel(d.provider,d.id))||c.set(d.provider,[...c.get(d.provider)??[],d]);let d=[...c.keys()].some(a=>!h().has(a));for(let[a,b]of c)h().set(a,b);d&&(0,e.kn)()}function j(a){let b=new Set(a.getModels().map(a=>a.provider));return[...h()].flatMap(([a,c])=>b.has(a)?[]:c)}function k(a){return new Proxy(a,{get(a,b,c){if("getAvailable"===b)return async(...b)=>{let[c]=b,d=j(a).filter(a=>!c||a.provider===c);return[...await a.getAvailable(...b),...d]};let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}})}function l(a,b,c){return j(a).find(a=>a.provider===b&&a.id===c)}async function m(a,b,c){let d;if(0===j(a).length)return;try{d=(0,f.IR)(await (0,f.py)(k(a),b),c)}catch{return}let e=d.model&&l(a,d.model.provider,d.model.id);return e?{model:e,...d.thinkingLevel?{thinkingLevelPin:d.thinkingLevel}:{}}:void 0}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},60268:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{OH:()=>k,O_:()=>j,nx:()=>l});var e=c(75430),f=c(77598),g=c(28994),h=c(63108),i=a([e,g]);async function j(){let a=(0,e.getAgentDir)(),b=await (0,e.createAgentSessionServices)({cwd:a,agentDir:a});return await (0,g.vd)(b.modelRuntime),b.modelRuntime}[e,g]=i.then?(await i)():i;let m=Symbol.for("pi-web:shared-model-runtime-refresh");async function k(){var a;let b,c=(0,e.getAgentDir)(),d=globalThis.__piWebSharedModelRuntime;(!d||d.agentDir!==c||d.expiresAt<=Date.now())&&((b={agentDir:a=c,runtime:j(),queueKey:`${a}\0${(0,f.randomUUID)()}`,expiresAt:1/0}).runtime.then(()=>{b.expiresAt=Date.now()+6e5},()=>{globalThis.__piWebSharedModelRuntime===b&&(globalThis.__piWebSharedModelRuntime=void 0)}),d=b,globalThis.__piWebSharedModelRuntime=d);let i=await d.runtime;return(0,h.T)(m,d.queueKey,async()=>(await i.refresh({allowNetwork:!1}),await (0,g.vd)(i),i))}function l(){globalThis.__piWebSharedModelRuntime=void 0}d()}catch(a){d(a)}})},63108:(a,b,c)=>{"use strict";function d(a,b,c){let d=globalThis,e=d[a]??=new Map,f=(e.get(b)??Promise.resolve()).then(c),g=f.then(()=>void 0,()=>void 0);return e.set(b,g),g.then(()=>{e.get(b)===g&&e.delete(b)}),f}c.d(b,{T:()=>d})},69429:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{C:()=>n,Q:()=>m});var e=c(73024),f=c(76760),g=c(75430),h=c(80974),i=c.n(h),j=a([g]);g=(j.then?(await j)():j)[0];let o={encoding:"utf-8",mode:384};function k(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}async function l(a,b){let c,d;d=(0,f.dirname)(a),(0,e.existsSync)(d)||(0,e.mkdirSync)(d,{recursive:!0,mode:448}),(0,e.existsSync)(a)||((0,e.writeFileSync)(a,"{}",o),(0,e.chmodSync)(a,384));let g=await i().lock(a,{retries:{retries:10,factor:2,minTimeout:100,maxTimeout:1e4,randomize:!0},stale:3e4,onCompromised:a=>{c=a}}),h=()=>{if(c)throw c};try{h();let c=JSON.parse((0,e.readFileSync)(a,"utf-8"));if(!k(c))throw Error("Invalid auth.json: expected an object");let{result:d,changed:f}=b(c);return f&&(h(),(0,e.writeFileSync)(a,JSON.stringify(c,null,2),o),(0,e.chmodSync)(a,384),h()),d}finally{try{await g()}catch{}}}function m(a,b,c=(0,f.join)((0,g.getAgentDir)(),"auth.json")){return l(c,c=>(c[a]=b,{result:void 0,changed:!0}))}async function n(a,b,c=(0,f.join)((0,g.getAgentDir)(),"auth.json")){return l(c,c=>{if(!Object.hasOwn(c,a))return{result:{status:"not_found"},changed:!1};let d=c[a],e=k(d)&&"string"==typeof d.type?d.type:"unknown";return e!==b?{result:{status:"type_mismatch",storedType:e},changed:!1}:(delete c[a],{result:{status:"removed"},changed:!0})})}d()}catch(a){d(a)}})},78335:()=>{},96487:()=>{}};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
exports.id=4315,exports.ids=[4315],exports.modules={8870:a=>{a.exports={view:"TrajectoryView_view__GUrf7",header:"TrajectoryView_header__fec2G",spacer:"TrajectoryView_spacer__O1rIG",button:"TrajectoryView_button__hR_6b",live:"TrajectoryView_live__MwfxG",pulse:"TrajectoryView_pulse__N03Mu",stats:"TrajectoryView_stats__LaEhx",warn:"TrajectoryView_warn__C7mMJ",split:"TrajectoryView_split__dr18O",state:"TrajectoryView_state__jI1lk"}},40334:a=>{a.exports={ledger:"TrajectoryLedger_ledger__c6sFy",historyRow:"TrajectoryLedger_historyRow__QRjRS",empty:"TrajectoryLedger_empty__VHI1G",historyButton:"TrajectoryLedger_historyButton__5Xe1Y",turnHeader:"TrajectoryLedger_turnHeader__Gv5JQ",turnTitle:"TrajectoryLedger_turnTitle__yat2h",turnColumns:"TrajectoryLedger_turnColumns__0h3EA",groupHeader:"TrajectoryLedger_groupHeader__dSHhW",groupTitle:"TrajectoryLedger_groupTitle__QHUw8",groupDescription:"TrajectoryLedger_groupDescription__Nd2__",row:"TrajectoryLedger_row__nVjw3",index:"TrajectoryLedger_index__4kQmg",tagSlot:"TrajectoryLedger_tagSlot__HlXF6",tag:"TrajectoryLedger_tag____K6x",text:"TrajectoryLedger_text__OpIxh",callsToggle:"TrajectoryLedger_callsToggle__3Aa_r",placeholder:"TrajectoryLedger_placeholder__T4Wxk",metric:"TrajectoryLedger_metric__PsEz3",time:"TrajectoryLedger_time__wFMwY",pending:"TrajectoryLedger_pending__WWvN5","pending-pulse":"TrajectoryLedger_pending-pulse__KHEEX",summaryRow:"TrajectoryLedger_summaryRow__V_IUZ",summaryChevron:"TrajectoryLedger_summaryChevron__eMAsf",summaryText:"TrajectoryLedger_summaryText__qdsQs"}},46968:a=>{a.exports={root:"TrajectoryToolbar_root__GtOTS",inner:"TrajectoryToolbar_inner__lM7zw",actions:"TrajectoryToolbar_actions__Bf9cC",toggle:"TrajectoryToolbar_toggle__RmBq3",action:"TrajectoryToolbar_action__unX2V",toggleIcon:"TrajectoryToolbar_toggleIcon__sAf6W",actionIcon:"TrajectoryToolbar_actionIcon__j36ej",search:"TrajectoryToolbar_search__ZfMAe",searchIcon:"TrajectoryToolbar_searchIcon__76knz",searchInput:"TrajectoryToolbar_searchInput__kdush"}},52038:a=>{a.exports={root:"TrajectoryInspector_root__nnBir",header:"TrajectoryInspector_header__AmJeG",title:"TrajectoryInspector_title__5cFIe",titleText:"TrajectoryInspector_titleText__evidv",kind:"TrajectoryInspector_kind__3kvfu",close:"TrajectoryInspector_close__OWN7X",tab:"TrajectoryInspector_tab__p7kVy",tabs:"TrajectoryInspector_tabs__6JW_U",body:"TrajectoryInspector_body___0nOv",summary:"TrajectoryInspector_summary__Qj6Kn",preview:"TrajectoryInspector_preview__LxPJy",rawPane:"TrajectoryInspector_rawPane__AFehi",section:"TrajectoryInspector_section__kcUNP",heading:"TrajectoryInspector_heading__7_DUn",rows:"TrajectoryInspector_rows__qzhqN",row:"TrajectoryInspector_row__x_4xz",label:"TrajectoryInspector_label__hSMOY",value:"TrajectoryInspector_value__poTjm",status:"TrajectoryInspector_status__A6rZc",disclosure:"TrajectoryInspector_disclosure__k9M2Q",markdown:"TrajectoryInspector_markdown__JxsEC",note:"TrajectoryInspector_note___Z4eF",rawBar:"TrajectoryInspector_rawBar___0mqI",smallButton:"TrajectoryInspector_smallButton__aCkW_",raw:"TrajectoryInspector_raw__3uHNJ"}},64315:(a,b,c)=>{"use strict";c.r(b),c.d(b,{TrajectoryView:()=>af});var d=c(48249),e=c(67484),f=c(93080),g=c(71413);function h(a){if(null==a||!Number.isFinite(a))return"—";let b=Math.max(0,a);if(b<1e3)return`${Math.round(b)} ms`;if(b<1e4)return`${(b/1e3).toFixed(2)} s`;if(b<6e4)return`${(b/1e3).toFixed(1)} s`;let c=Math.round(b/1e3);return`${Math.floor(c/60)}m ${String(c%60).padStart(2,"0")}s`}function i(a){return h(null==a?null:1e3*a)}let j=["command","path","file_path","filePath","pattern","query","url","description","prompt","task","name"];function k(a){return"number"==typeof a&&Number.isFinite(a)?a:null}function l(a){if("string"==typeof a)return a;if(!Array.isArray(a))return"";let b=[];for(let c of a)c?.type==="text"&&"string"==typeof c.text?b.push(c.text):c?.type==="image"&&b.push("[image]");return b.join("\n")}function m(a,b){let c=[];for(let d of a.content??[])"text"===d.type&&"text"===b?c.push(d.text):"thinking"===d.type&&"thinking"===b&&c.push(d.thinking);return c.join("\n\n").trim()}function n(a){let b=a.slice(0,2e3).trim().replace(/\s+/g," ");return b.length>200||a.length>2e3?`${b.slice(0,200)}…`:b}function o(a){if(!a)return"";for(let b of j){let c=a[b];if("string"==typeof c&&c.trim())return c}for(let b of Object.values(a))if("string"==typeof b&&b.trim())return b;return Object.keys(a).length>0?JSON.stringify(a):""}function p(a){return`${a.cell.recordId}|${a.collapsedSummaryKind??""}`}let q={pin:null,extendUp:0};function r(a,b,c){return a(`summary.${b}.${1===c?"one":"other"}`,{count:c})}class s{update(a){if(this.turns===a)return!1;this.turns=a;let b=new Set;for(let d of a)for(let a of d.groups)for(let e of a.cells){var c;let f=(c=d.turn,[null===c?"between turns":`turn ${c}`,a.title,e.kind,"message"===e.kind?"assistant":"",e.text,e.inputDetail??"",e.outputDetail??"",e.thinkingDetail??"",e.toolName??"",e.callId??"",e.model??""]),g=this.entries.get(e.recordId),h=void 0!==g&&function(a,b){return a.length===b.length&&a.every((a,c)=>a===b[c])}(g.sources,f)?g:{sources:f,text:f.join("\n").toLocaleLowerCase()};this.entries.set(e.recordId,h),b.add(e.recordId)}for(let a of this.entries.keys())b.has(a)||this.entries.delete(a);return!0}search(a){let b=a.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);if(0===b.length)return null;let c=new Set;for(let[a,d]of this.entries)b.every(a=>d.text.includes(a))&&c.add(a);return c}constructor(){this.entries=new Map}}function t(a,b){var c;return{...b,index:a.index,isError:!0===a.isError,kind:a.kind,label:a.text,lane:"tool"===(c=a.kind)?2:+("message"===c||"compacted"===c)}}function u(a){return a.reduce((a,b)=>Math.min(a,b),1/0)}function v(a,b="sequence"){return"duration"===b?function(a){let b=a.flatMap(a=>{let b=a.groups.flatMap(a=>a.cells.flatMap(a=>{let b,c="number"==typeof(b=a.startedAt)&&Number.isFinite(b)?{start:b,end:b+("number"==typeof a.timeSeconds&&Number.isFinite(a.timeSeconds)?Math.max(0,1e3*a.timeSeconds):0)}:null;return null===c?[]:[t(a,c)]}));return 0===b.length?[]:[{turn:a.turn,rawSpans:b}]}),c=b.flatMap(a=>a.rawSpans);if(0===c.length)return null;let d=new Map,e=0,f=null;for(let a of[...c].sort((a,b)=>a.start-b.start||a.end-b.end))null!==f&&a.start>f&&(e+=a.start-f),d.set(a,e),f=null===f?a.end:Math.max(f,a.end);let g=[],h=[];for(let a of b){let b=a.rawSpans.map(a=>{let b=d.get(a)??0;return{...a,start:a.start-b,end:a.end-b}});g.push(...b),null!==a.turn&&h.push({turn:a.turn,time:u(b.map(a=>a.start))})}return{start:u(g.map(a=>a.start)),end:g.map(a=>a.end).reduce((a,b)=>Math.max(a,b),-1/0),spans:g,turnBoundaries:h}}(a):function(a){let b=[],c=[];for(let d of a){let a=d.groups.flatMap(a=>a.cells);if(0!==a.length)for(let e of(null!==d.turn&&c.push({turn:d.turn,time:b.length}),a)){let a=b.length;b.push(t(e,{start:a,end:a+1}))}}return 0===b.length?null:{start:0,end:b.length,spans:b,turnBoundaries:c}}(a)}var w=c(
|
|
1
|
+
exports.id=4315,exports.ids=[4315],exports.modules={8870:a=>{a.exports={view:"TrajectoryView_view__GUrf7",header:"TrajectoryView_header__fec2G",spacer:"TrajectoryView_spacer__O1rIG",button:"TrajectoryView_button__hR_6b",live:"TrajectoryView_live__MwfxG",pulse:"TrajectoryView_pulse__N03Mu",stats:"TrajectoryView_stats__LaEhx",warn:"TrajectoryView_warn__C7mMJ",split:"TrajectoryView_split__dr18O",state:"TrajectoryView_state__jI1lk"}},40334:a=>{a.exports={ledger:"TrajectoryLedger_ledger__c6sFy",historyRow:"TrajectoryLedger_historyRow__QRjRS",empty:"TrajectoryLedger_empty__VHI1G",historyButton:"TrajectoryLedger_historyButton__5Xe1Y",turnHeader:"TrajectoryLedger_turnHeader__Gv5JQ",turnTitle:"TrajectoryLedger_turnTitle__yat2h",turnColumns:"TrajectoryLedger_turnColumns__0h3EA",groupHeader:"TrajectoryLedger_groupHeader__dSHhW",groupTitle:"TrajectoryLedger_groupTitle__QHUw8",groupDescription:"TrajectoryLedger_groupDescription__Nd2__",row:"TrajectoryLedger_row__nVjw3",index:"TrajectoryLedger_index__4kQmg",tagSlot:"TrajectoryLedger_tagSlot__HlXF6",tag:"TrajectoryLedger_tag____K6x",text:"TrajectoryLedger_text__OpIxh",callsToggle:"TrajectoryLedger_callsToggle__3Aa_r",placeholder:"TrajectoryLedger_placeholder__T4Wxk",metric:"TrajectoryLedger_metric__PsEz3",time:"TrajectoryLedger_time__wFMwY",pending:"TrajectoryLedger_pending__WWvN5","pending-pulse":"TrajectoryLedger_pending-pulse__KHEEX",summaryRow:"TrajectoryLedger_summaryRow__V_IUZ",summaryChevron:"TrajectoryLedger_summaryChevron__eMAsf",summaryText:"TrajectoryLedger_summaryText__qdsQs"}},46968:a=>{a.exports={root:"TrajectoryToolbar_root__GtOTS",inner:"TrajectoryToolbar_inner__lM7zw",actions:"TrajectoryToolbar_actions__Bf9cC",toggle:"TrajectoryToolbar_toggle__RmBq3",action:"TrajectoryToolbar_action__unX2V",toggleIcon:"TrajectoryToolbar_toggleIcon__sAf6W",actionIcon:"TrajectoryToolbar_actionIcon__j36ej",search:"TrajectoryToolbar_search__ZfMAe",searchIcon:"TrajectoryToolbar_searchIcon__76knz",searchInput:"TrajectoryToolbar_searchInput__kdush"}},52038:a=>{a.exports={root:"TrajectoryInspector_root__nnBir",header:"TrajectoryInspector_header__AmJeG",title:"TrajectoryInspector_title__5cFIe",titleText:"TrajectoryInspector_titleText__evidv",kind:"TrajectoryInspector_kind__3kvfu",close:"TrajectoryInspector_close__OWN7X",tab:"TrajectoryInspector_tab__p7kVy",tabs:"TrajectoryInspector_tabs__6JW_U",body:"TrajectoryInspector_body___0nOv",summary:"TrajectoryInspector_summary__Qj6Kn",preview:"TrajectoryInspector_preview__LxPJy",rawPane:"TrajectoryInspector_rawPane__AFehi",section:"TrajectoryInspector_section__kcUNP",heading:"TrajectoryInspector_heading__7_DUn",rows:"TrajectoryInspector_rows__qzhqN",row:"TrajectoryInspector_row__x_4xz",label:"TrajectoryInspector_label__hSMOY",value:"TrajectoryInspector_value__poTjm",status:"TrajectoryInspector_status__A6rZc",disclosure:"TrajectoryInspector_disclosure__k9M2Q",markdown:"TrajectoryInspector_markdown__JxsEC",note:"TrajectoryInspector_note___Z4eF",rawBar:"TrajectoryInspector_rawBar___0mqI",smallButton:"TrajectoryInspector_smallButton__aCkW_",raw:"TrajectoryInspector_raw__3uHNJ"}},64315:(a,b,c)=>{"use strict";c.r(b),c.d(b,{TrajectoryView:()=>af});var d=c(48249),e=c(67484),f=c(93080),g=c(71413);function h(a){if(null==a||!Number.isFinite(a))return"—";let b=Math.max(0,a);if(b<1e3)return`${Math.round(b)} ms`;if(b<1e4)return`${(b/1e3).toFixed(2)} s`;if(b<6e4)return`${(b/1e3).toFixed(1)} s`;let c=Math.round(b/1e3);return`${Math.floor(c/60)}m ${String(c%60).padStart(2,"0")}s`}function i(a){return h(null==a?null:1e3*a)}let j=["command","path","file_path","filePath","pattern","query","url","description","prompt","task","name"];function k(a){return"number"==typeof a&&Number.isFinite(a)?a:null}function l(a){if("string"==typeof a)return a;if(!Array.isArray(a))return"";let b=[];for(let c of a)c?.type==="text"&&"string"==typeof c.text?b.push(c.text):c?.type==="image"&&b.push("[image]");return b.join("\n")}function m(a,b){let c=[];for(let d of a.content??[])"text"===d.type&&"text"===b?c.push(d.text):"thinking"===d.type&&"thinking"===b&&c.push(d.thinking);return c.join("\n\n").trim()}function n(a){let b=a.slice(0,2e3).trim().replace(/\s+/g," ");return b.length>200||a.length>2e3?`${b.slice(0,200)}…`:b}function o(a){if(!a)return"";for(let b of j){let c=a[b];if("string"==typeof c&&c.trim())return c}for(let b of Object.values(a))if("string"==typeof b&&b.trim())return b;return Object.keys(a).length>0?JSON.stringify(a):""}function p(a){return`${a.cell.recordId}|${a.collapsedSummaryKind??""}`}let q={pin:null,extendUp:0};function r(a,b,c){return a(`summary.${b}.${1===c?"one":"other"}`,{count:c})}class s{update(a){if(this.turns===a)return!1;this.turns=a;let b=new Set;for(let d of a)for(let a of d.groups)for(let e of a.cells){var c;let f=(c=d.turn,[null===c?"between turns":`turn ${c}`,a.title,e.kind,"message"===e.kind?"assistant":"",e.text,e.inputDetail??"",e.outputDetail??"",e.thinkingDetail??"",e.toolName??"",e.callId??"",e.model??""]),g=this.entries.get(e.recordId),h=void 0!==g&&function(a,b){return a.length===b.length&&a.every((a,c)=>a===b[c])}(g.sources,f)?g:{sources:f,text:f.join("\n").toLocaleLowerCase()};this.entries.set(e.recordId,h),b.add(e.recordId)}for(let a of this.entries.keys())b.has(a)||this.entries.delete(a);return!0}search(a){let b=a.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);if(0===b.length)return null;let c=new Set;for(let[a,d]of this.entries)b.every(a=>d.text.includes(a))&&c.add(a);return c}constructor(){this.entries=new Map}}function t(a,b){var c;return{...b,index:a.index,isError:!0===a.isError,kind:a.kind,label:a.text,lane:"tool"===(c=a.kind)?2:+("message"===c||"compacted"===c)}}function u(a){return a.reduce((a,b)=>Math.min(a,b),1/0)}function v(a,b="sequence"){return"duration"===b?function(a){let b=a.flatMap(a=>{let b=a.groups.flatMap(a=>a.cells.flatMap(a=>{let b,c="number"==typeof(b=a.startedAt)&&Number.isFinite(b)?{start:b,end:b+("number"==typeof a.timeSeconds&&Number.isFinite(a.timeSeconds)?Math.max(0,1e3*a.timeSeconds):0)}:null;return null===c?[]:[t(a,c)]}));return 0===b.length?[]:[{turn:a.turn,rawSpans:b}]}),c=b.flatMap(a=>a.rawSpans);if(0===c.length)return null;let d=new Map,e=0,f=null;for(let a of[...c].sort((a,b)=>a.start-b.start||a.end-b.end))null!==f&&a.start>f&&(e+=a.start-f),d.set(a,e),f=null===f?a.end:Math.max(f,a.end);let g=[],h=[];for(let a of b){let b=a.rawSpans.map(a=>{let b=d.get(a)??0;return{...a,start:a.start-b,end:a.end-b}});g.push(...b),null!==a.turn&&h.push({turn:a.turn,time:u(b.map(a=>a.start))})}return{start:u(g.map(a=>a.start)),end:g.map(a=>a.end).reduce((a,b)=>Math.max(a,b),-1/0),spans:g,turnBoundaries:h}}(a):function(a){let b=[],c=[];for(let d of a){let a=d.groups.flatMap(a=>a.cells);if(0!==a.length)for(let e of(null!==d.turn&&c.push({turn:d.turn,time:b.length}),a)){let a=b.length;b.push(t(e,{start:a,end:a+1}))}}return 0===b.length?null:{start:0,end:b.length,spans:b,turnBoundaries:c}}(a)}var w=c(30767),x=c(39868),y=c(52038),z=c.n(y);let A=["summary","preview","raw"],B={summary:"tab.summary",preview:"tab.preview",raw:"tab.raw"},C={user:"kind.user",context:"kind.context",compacted:"kind.compacted",message:"kind.assistant",tool:"kind.tool"};function D(a,b){return a.length>b?{text:a.slice(0,b),total:a.length,truncated:!0}:{text:a,total:a.length,truncated:!1}}function E(a,b=""){let c=(a.match(/`+/g)??[]).reduce((a,b)=>Math.max(a,b.length),0),d="`".repeat(Math.max(3,c+1));return`${d}${b}
|
|
2
2
|
${a}
|
|
3
3
|
${d}`}function F(a){try{return JSON.stringify(a,null,2)??""}catch{return String(a)}}function G({label:a,hint:b,children:c}){return(0,d.jsxs)("div",{className:z().row,children:[(0,d.jsx)("dt",{className:z().label,title:b,children:a}),(0,d.jsx)("dd",{className:z().value,children:c})]})}function H({clipped:a,t:b}){return a.truncated?(0,d.jsx)("p",{className:z().note,children:b("record.truncated",{shown:a.text.length.toLocaleString(),total:a.total.toLocaleString()})}):null}function I({cell:a,t:b}){let[c,f]=(0,e.useState)(!0),g="message"===a.kind,h=a.isError?"error":a.running?"pending":a.interrupted?"interrupted":"done",j=b(`status.${h}`),k=g&&(void 0!==a.input||void 0!==a.output),l=g&&void 0!==a.output&&null!==a.timeSeconds&&a.timeSeconds>0?a.output/a.timeSeconds:null,m="compacted"===a.kind?a.raw?.details?.tokensBefore:void 0,n=(0,e.useMemo)(()=>D(a.thinkingDetail??"",2e4),[a.thinkingDetail]);return(0,d.jsxs)("div",{className:z().summary,children:[(0,d.jsxs)("dl",{className:z().rows,children:[(0,d.jsx)(G,{label:b("details.source"),children:function(a,b){switch(a.kind){case"message":return a.provider?`${a.provider} / ${a.model??""}`:b("kind.assistant");case"tool":return a.toolName??b("kind.tool");case"context":{let c=a.raw?.customType;return"string"==typeof c?c:b("kind.context")}default:return b(C[a.kind])}}(a,b)}),(0,d.jsx)(G,{label:b("details.status"),children:(0,d.jsx)("span",{className:z().status,"data-state":h,children:j})}),a.stopReason&&(0,d.jsx)(G,{label:b("details.stopReason"),children:a.stopReason}),"number"==typeof m&&(0,d.jsx)(G,{label:b("details.tokensBefore"),children:m.toLocaleString()})]}),k&&(0,d.jsxs)("section",{className:z().section,children:[(0,d.jsx)("h4",{className:z().heading,children:b("usage.tokens")}),(0,d.jsxs)("dl",{className:z().rows,children:[void 0!==a.input&&(0,d.jsx)(G,{label:b("usage.input"),children:a.input.toLocaleString()}),void 0!==a.cacheRead&&(0,d.jsx)(G,{label:b("usage.cached"),children:a.cacheRead.toLocaleString()}),void 0!==a.cacheWrite&&(0,d.jsx)(G,{label:b("usage.cacheCreated"),children:a.cacheWrite.toLocaleString()}),void 0!==a.output&&(0,d.jsx)(G,{label:b("usage.output"),children:a.output.toLocaleString()}),void 0!==a.cost&&(0,d.jsx)(G,{label:b("usage.cost"),children:`$${a.cost.toFixed(4)}`})]})]}),("number"==typeof a.startedAt||null!==a.timeSeconds)&&(0,d.jsxs)("section",{className:z().section,children:[(0,d.jsx)("h4",{className:z().heading,children:b("timing.request")}),(0,d.jsxs)("dl",{className:z().rows,children:["number"==typeof a.startedAt&&(0,d.jsx)(G,{label:b("timing.started"),children:new Date(a.startedAt).toLocaleString(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3})}),null!==a.timeSeconds&&(0,d.jsx)(G,{label:b("timing.totalDuration"),children:i(a.timeSeconds)}),null!==l&&(0,d.jsx)(G,{label:b("timing.avgSpeed"),hint:b("timing.avgSpeedHint"),children:b("unit.tokensPerSecond",{value:l.toFixed(1)})})]})]}),n.total>0&&(0,d.jsxs)("section",{className:z().section,children:[(0,d.jsxs)("button",{type:"button",className:z().disclosure,"aria-expanded":c,onClick:()=>{f(a=>!a)},children:[(0,d.jsx)("span",{"aria-hidden":"true",children:c?"▾":"▸"}),b("record.thinking")]}),c&&(0,d.jsxs)("div",{className:z().markdown,children:[(0,d.jsx)(w.m,{children:n.text}),(0,d.jsx)(H,{clipped:n,t:b})]})]})]})}function J({cell:a,t:b}){let c=(0,e.useMemo)(()=>{let c=[];if("tool"===a.kind){let d=a.raw?.call,e=d?F(d.input):a.inputDetail??"";return e&&c.push({title:b("record.parameters"),clipped:D(E(e,d?"json":""),2e4)}),c.push({title:b("record.result"),clipped:D(a.outputDetail?E(a.outputDetail):"",2e4)}),c}let d="message"===a.kind?a.outputDetail??"":a.inputDetail??"";return c.push({clipped:D(d,2e4)}),c},[a,b]);return(0,d.jsx)("div",{className:z().preview,children:c.map((c,e)=>(0,d.jsxs)("section",{className:z().section,children:[c.title&&(0,d.jsx)("h4",{className:z().heading,children:c.title}),0===c.clipped.total?(0,d.jsx)("p",{className:z().note,children:b("tool"===a.kind?"record.noResult":"record.noContent")}):(0,d.jsxs)("div",{className:z().markdown,children:[(0,d.jsx)(w.m,{children:c.clipped.text}),(0,d.jsx)(H,{clipped:c.clipped,t:b})]})]},e))})}function K({cell:a,t:b}){let[c,f]=(0,e.useState)(!0),g=(0,e.useMemo)(()=>F(a.raw),[a.raw]),h=(0,e.useMemo)(()=>D(g,2e5),[g]);return(0,d.jsxs)("div",{className:z().rawPane,children:[(0,d.jsxs)("div",{className:z().rawBar,children:[(0,d.jsx)("button",{type:"button",className:z().smallButton,"aria-pressed":c,onClick:()=>{f(a=>!a)},children:b("record.wrapLines")}),(0,d.jsx)("button",{type:"button",className:z().smallButton,onClick:()=>{(0,x.D)(g)},children:b("record.copy")})]}),(0,d.jsx)("pre",{className:z().raw,"data-wrap":c||void 0,children:h.text}),(0,d.jsx)(H,{clipped:h,t:b})]})}function L({t:a,cell:b,title:c,onClose:f}){let[g,h]=(0,e.useState)("summary");return(0,d.jsxs)("aside",{className:z().root,"aria-label":a("details.event"),children:[(0,d.jsxs)("header",{className:z().header,children:[(0,d.jsxs)("span",{className:z().title,children:[(0,d.jsx)("span",{className:z().titleText,children:c}),(0,d.jsx)("span",{className:z().kind,"data-kind":b.kind,children:a(C[b.kind])})]}),(0,d.jsx)("button",{type:"button",className:z().close,"aria-label":a("details.close"),title:a("details.close"),onClick:f,children:"\xd7"})]}),(0,d.jsx)("div",{className:z().tabs,role:"tablist",children:A.map(b=>(0,d.jsx)("button",{type:"button",role:"tab","aria-selected":g===b,className:z().tab,"data-active":g===b||void 0,onClick:()=>{h(b)},children:a(B[b])},b))}),(0,d.jsxs)("div",{className:z().body,children:["summary"===g&&(0,d.jsx)(I,{cell:b,t:a}),"preview"===g&&(0,d.jsx)(J,{cell:b,t:a}),"raw"===g&&(0,d.jsx)(K,{cell:b,t:a})]},b.recordId)]})}var M=c(40334),N=c.n(M);let O={user:"kind.user",context:"kind.context",compacted:"kind.compacted",message:"kind.assistant",tool:"kind.tool"};function P(a){return void 0===a?"":a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(a>=1e4?0:1)}k`:String(a)}let Q=(0,e.memo)(function({t:a,record:b,selected:c,dimmed:e,hasCalls:f,callsCollapsed:g,onSelect:h,onToggleTurn:j,onToggleAssistant:k}){let{cell:l}=b;if(void 0!==b.collapsedSummary){let c="turn"===b.collapsedSummaryKind&&null!==b.turn;return(0,d.jsxs)("button",{type:"button",className:N().summaryRow,"data-summary-kind":b.collapsedSummaryKind,onClick:a=>{a.stopPropagation(),c&&null!==b.turn?j(b.turn):k(l.recordId)},title:a(c?"ledger.expandTurn":"ledger.expandCalls"),children:[(0,d.jsx)("span",{className:N().summaryChevron,"aria-hidden":"true",children:"▸"}),(0,d.jsx)("span",{className:N().summaryText,children:b.collapsedSummary})]})}let m="message"===l.kind,n="message"===l.kind&&""===l.text?a(f?"record.toolCallOnly":"record.noContent"):null;return(0,d.jsxs)("div",{role:"option","aria-selected":c,className:N().row,"data-kind":l.kind,"data-selected":c||void 0,"data-error":l.isError||void 0,"data-dimmed":e||void 0,"data-record-index":l.index,"data-record-id":l.recordId,onClick:a=>{window.getSelection()?.toString()||(a.stopPropagation(),h(l.recordId))},children:[(0,d.jsxs)("span",{className:N().index,children:["#",l.index]}),(0,d.jsx)("span",{className:N().tagSlot,children:(0,d.jsx)("span",{className:N().tag,"data-kind":l.kind,children:a(O[l.kind]??"kind.tool")})}),(0,d.jsxs)("span",{className:N().text,title:function(a){if(!a.text.endsWith("…"))return a.text;switch(a.kind){case"user":case"compacted":return a.inputDetail??a.text;case"context":{let b=a.raw?.customType;return"string"==typeof b&&void 0!==a.inputDetail?`${b} \xb7 ${a.inputDetail}`:a.text}case"message":{if(void 0!==a.outputDetail)return a.outputDetail;let b=a.raw?.errorMessage;return"string"==typeof b?b:a.text}case"tool":{let b=a.raw?.call;if(b){let a=o(b.input);return a?`${b.toolName} \xb7 ${a}`:b.toolName}return void 0!==a.inputDetail?`${a.toolName??"bash"} \xb7 ${a.inputDetail}`:a.text}}}(l)||void 0,children:[f&&(0,d.jsx)("button",{type:"button",className:N().callsToggle,"aria-expanded":!g,"aria-label":a(g?"ledger.expandCalls":"ledger.collapseCalls"),title:a(g?"ledger.expandCalls":"ledger.collapseCalls"),onClick:a=>{a.stopPropagation(),k(l.recordId)},children:g?"▸":"▾"}),null===n?l.text:(0,d.jsx)("span",{className:N().placeholder,children:n})]}),(0,d.jsx)("span",{className:N().metric,children:m?P(l.input):""}),(0,d.jsx)("span",{className:N().metric,children:m?P(l.output):""}),(0,d.jsx)("span",{className:N().metric,children:m?P(l.cacheRead):""}),(0,d.jsx)("span",{className:N().time,children:l.running?(0,d.jsx)("span",{className:N().pending,role:"img","aria-label":a("status.pending"),title:a("status.pending")}):null===l.timeSeconds?"":i(l.timeSeconds)})]})});function R({t:a,records:b,selectedId:c,focusIndexes:f,collapsedAssistants:g,collapsibleAssistants:h,hasEarlier:i,onLoadEarlier:j,scrollRequest:k,onSelect:l,onToggleTurn:m,onToggleAssistant:n,sectionLabel:o}){let r=(0,e.useRef)(null),s=(0,e.useRef)(!0),t=(0,e.useRef)(null),[u,v]=(0,e.useState)(!1),w=(0,e.useRef)(null);(0,e.useRef)(k);let[x,y]=(0,e.useState)(q),z=function(a,b){if(null!==b.pin){let c=a.findLastIndex(a=>p(a)===b.pin);if(c>=0)return{start:Math.max(0,c-b.extendUp),pinIndex:c,window:b}}let c=Math.max(0,a.length-120),d=a[c];return void 0===d?{start:c,pinIndex:c,window:b}:{start:c,pinIndex:c,window:{pin:p(d),extendUp:0}}}(b,x);z.window!==x&&y(z.window);let{start:A,pinIndex:B}=z,C=(0,e.useCallback)(a=>{y(b=>a>b.extendUp?{...b,extendUp:a}:b)},[]),D=(0,e.useCallback)(()=>{let a=r.current;null!==a&&(t.current=a.scrollHeight-a.scrollTop,C(x.extendUp+200))},[C,x.extendUp]),E=(0,e.useCallback)(()=>{let a=r.current;null!==a&&(s.current=a.scrollHeight-a.scrollTop-a.clientHeight<48,A>0&&a.scrollTop<400&&D())},[D,A]),F=(0,e.useCallback)((a,c)=>{let d=r.current;if(null===d)return;let e=d.querySelector(`[data-record-index="${a}"]`);if(null!==e)return void e.scrollIntoView({block:c});let f=b.findIndex(b=>void 0===b.collapsedSummary&&b.cell.index===a);f<0||f>=A||(w.current={index:a,block:c},C(B-f+100))},[C,B,b,A]),G=(0,e.useCallback)(()=>{let a=r.current;if(null!==a&&!u){if(A>0)return void D();t.current=a.scrollHeight-a.scrollTop,C(B+200),v(!0),j().then(a=>{a||(t.current=null)}).finally(()=>{v(!1)})}},[C,u,j,B,D,A]);return(0,d.jsxs)("div",{ref:r,className:N().ledger,role:"listbox","aria-label":a("ledger.aria"),tabIndex:0,onScroll:E,onKeyDown:a=>{if("Escape"===a.key){if(null===c)return;a.preventDefault(),l(null);return}if(!["ArrowDown","ArrowUp","Home","End"].includes(a.key))return;a.preventDefault();let d=b.filter(a=>void 0===a.collapsedSummary);if(0===d.length)return;let e=d.findIndex(a=>a.cell.recordId===c),f="Home"===a.key?0:"End"===a.key?d.length-1:"ArrowDown"===a.key?Math.min(d.length-1,e+1):Math.max(0,-1===e?d.length-1:e-1),g=d[f];void 0!==g&&(l(g.cell.recordId),F(g.cell.index,"nearest"))},onClick:()=>{l(null)},children:[(A>0||i)&&(0,d.jsx)("div",{className:N().historyRow,children:(0,d.jsx)("button",{type:"button",className:N().historyButton,disabled:u,onClick:G,children:u?a("history.loadingEarlier"):a("history.loadEarlier")})}),0===b.length&&(0,d.jsx)("p",{className:N().empty,children:a("ledger.noMatches")}),b.slice(A).map((b,i)=>{let{cell:j}=b,k=A>0&&0===i;return(0,d.jsxs)(e.Fragment,{children:[(b.turnStart||k)&&(0,d.jsxs)("div",{className:N().turnHeader,children:[(0,d.jsx)("button",{type:"button",className:N().turnTitle,disabled:null===b.turn,onClick:a=>{a.stopPropagation(),null!==b.turn&&m(b.turn)},children:o(b.turn)}),(0,d.jsxs)("span",{className:N().turnColumns,"aria-hidden":"true",children:[(0,d.jsx)("span",{children:a("column.input")}),(0,d.jsx)("span",{children:a("column.output")}),(0,d.jsx)("span",{children:a("column.cache")}),(0,d.jsx)("span",{children:a("column.time")})]})]}),b.groupStart&&("message"===j.kind||"compacted"===j.kind)&&void 0===b.collapsedSummary&&(0,d.jsxs)("div",{className:N().groupHeader,children:[(0,d.jsx)("span",{className:N().groupTitle,children:b.group}),b.groupDescription&&(0,d.jsx)("span",{className:N().groupDescription,children:b.groupDescription})]}),(0,d.jsx)(Q,{t:a,record:b,selected:j.recordId===c&&void 0===b.collapsedSummary,dimmed:null!==f&&!f.has(j.index),hasCalls:"message"===j.kind&&h.has(j.recordId),callsCollapsed:g.has(j.recordId),onSelect:l,onToggleTurn:m,onToggleAssistant:n})]},p(b))})]})}var S=c(75808),T=c.n(S);function U(a){return new Date(a).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3})}function V(a,b){return a<=b?{start:a,end:b}:{start:b,end:a}}function W(a){return Math.min(1,Math.max(0,a))}function X(a,b,c,d,e){let f=V(Math.min(e,Math.max(d,a.start)),Math.min(e,Math.max(d,a.end)));return{start:(f.start-b)/c,end:(f.end-b)/c}}function Y({t:a}){return(0,d.jsxs)("div",{className:T().labels,"aria-hidden":"true",children:[(0,d.jsx)("span",{children:a("column.input")}),(0,d.jsx)("span",{children:a("column.model")}),(0,d.jsx)("span",{children:a("column.tools")})]})}function Z({loading:a,onHover:b,onLoad:c,t:e}){return(0,d.jsx)("button",{type:"button",className:T().earlierHistory,"data-earlier-history":!0,"data-loading":a||void 0,title:e(a?"history.loadingEarlier":"history.clickToLoadEarlier"),"aria-label":e(a?"history.loadingEarlierAria":"history.loadEarlier"),"aria-disabled":a||void 0===c,onClick:c,onPointerEnter:a=>{a.stopPropagation(),b()},onPointerMove:a=>{a.stopPropagation()},onPointerDown:a=>{a.stopPropagation()},children:"…"})}let $=(0,e.memo)(function({t:a,turns:b,mode:c,range:f,hasEarlierRecords:g=!1,onLoadEarlier:i,selectedIndex:j=null,searchMatchIndexes:k=null,onRangeChange:l,onRecordSelect:m,onRecordFocus:n}){let o=(0,e.useMemo)(()=>v(b,c),[c,b]),p=(0,e.useMemo)(()=>new Map(b.flatMap(a=>a.groups.flatMap(a=>a.cells.map(a=>{let b,c;return[a.index,(b=null!==a.timeSeconds&&Number.isFinite(a.timeSeconds)?Math.max(0,1e3*a.timeSeconds):void 0,c=null!==a.startedAt&&void 0!==a.startedAt&&Number.isFinite(a.startedAt)?a.startedAt:void 0,{...void 0===b?{}:{durationMs:b},...void 0===c?{}:{startedAt:c}})]})))),[b]),q=(0,e.useRef)(null),r=(0,e.useRef)(null),s=(0,e.useRef)(null),t=(0,e.useRef)(null),[u,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(!1),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)(!1);(0,e.useEffect)(()=>{null!==o&&null!==f&&(f.end<o.start||f.start>o.end)&&l(null)},[o,l,f]),(0,e.useEffect)(()=>{null!==o&&(G(!1),E(a=>null!==a&&(a.end<o.start||a.start>o.end)?null:a))},[o]),(0,e.useEffect)(()=>{if(null===o||null===j)return;let a=o.spans.find(a=>a.index===j);void 0!==a&&(G(!0),E(b=>{if(null===b||a.end>b.start&&a.start<b.end)return b;let c=Math.max(1,b.end-b.start),d=Math.min(Math.max(a.end<=b.start?a.start:a.end-c,o.start),Math.max(o.start,o.end-c));return d===b.start?b:{start:d,end:d+c}}))},[o,j]);let H=Math.max(1,(o?.end??0)-(o?.start??0)),I=Math.min(H,Math.max(1,(D?.end??0)-(D?.start??0))),J=null===o||null===D?o?.start??0:Math.min(Math.max(D.start,o.start),o.end-I),K=null===D?H:I,L=null===D?o?.start??0:J,M=g&&null!==o&&L===o.start,N=void 0===i||z?void 0:()=>{A(!0),i().finally(()=>{A(!1)})},O=null===o?void 0:{"--trajectory-domain-left":`${-(L-o.start)/K*100}%`,"--trajectory-domain-width":`${H/K*100}%`},P=null===o||null===f?null:X(f,L,K,o.start,o.end),Q=(null===o||null===u?null:X(u,L,K,o.start,o.end))??P,R=u??f;if((0,e.useEffect)(()=>{let a=s.current;if(null===a)return;let b=a=>{a.preventDefault();let b=t.current;if(null===b||null===o)return;G(!1);let d=b.getBoundingClientRect(),e=W((a.clientX-d.left)/Math.max(1,d.width)),f=Math.min(H,Math.max(Math.min("sequence"===c?4:20,H),K*Math.exp(.0015*a.deltaY)));if(f>=.999*H)return void E(null);let g=Math.min(Math.max(L+e*K-e*f,o.start),o.end-f);E({start:g,end:g+f})};return a.addEventListener("wheel",b,{passive:!1}),()=>{a.removeEventListener("wheel",b)}},[K,L,H,c,o]),null===o)return(0,d.jsx)("section",{ref:s,className:T().root,"aria-label":a("timeline.aria"),children:(0,d.jsxs)("div",{className:T().plot,children:[(0,d.jsx)(Y,{t:a}),(0,d.jsxs)("div",{className:T().track,children:[(0,d.jsx)("span",{className:T().empty,children:a("timeline.noTimingData")}),g&&(0,d.jsx)(Z,{loading:z,onHover:()=>{y(null)},onLoad:N,t:a})]})]})});let S=Math.min(K,H/o.spans.length),$=a=>{let b=a.currentTarget.getBoundingClientRect();return W((a.clientX-b.left)/Math.max(1,b.width))},_=a=>{let b=a.target instanceof HTMLElement?a.target:null,c=b?.closest("[data-timeline-record-index]")?.dataset.timelineRecordIndex;if(void 0===c)return null;let d=Number(c);return Number.isFinite(d)?d:null};return(0,d.jsx)("section",{ref:s,className:T().root,"aria-label":a("timeline.aria"),children:(0,d.jsxs)("div",{className:T().plot,children:[(0,d.jsx)(Y,{t:a}),(0,d.jsxs)("div",{ref:t,className:T().track,"data-panning":B||void 0,"aria-label":a("timeline.overviewAria"),tabIndex:0,onKeyDown:a=>{"Escape"===a.key&&null!==f&&(a.preventDefault(),l(null))},onPointerDown:a=>{if(2===a.button){r.current={anchorClientX:a.clientX,anchorStart:L,moved:!1,pannable:null!==D,pointerId:a.pointerId},null!==D&&G(!1),C(!0),"function"==typeof a.currentTarget.setPointerCapture&&a.currentTarget.setPointerCapture(a.pointerId);return}if(0!==a.button)return;let b=$(a),c=L+b*K,d=_(a);y({fraction:b,recordIndex:d}),q.current={pointerId:a.pointerId,anchorTime:c,anchorClientX:a.clientX,recordIndex:d},"function"==typeof a.currentTarget.setPointerCapture&&a.currentTarget.setPointerCapture(a.pointerId),w({start:c,end:c})},onPointerMove:a=>{let b=a.currentTarget.getBoundingClientRect(),c=$(a);y({fraction:c,recordIndex:_(a)});let d=r.current;if(null!==d&&d.pointerId===a.pointerId){if(Math.abs(a.clientX-d.anchorClientX)>=3&&(d.moved=!0),!d.pannable)return;let c=(a.clientX-d.anchorClientX)/Math.max(1,b.width),e=Math.min(Math.max(d.anchorStart-c*K,o.start),o.end-K);E({start:e,end:e+K});return}let e=q.current;if(null===e||e.pointerId!==a.pointerId)return;let f=L;if(null!==D){let c=a.clientX-b.left,d=Math.min(32,Math.max(1,.08*b.width)),e=c<d?-1:+(c>b.width-d);if(0!==e){let a=W((e<0?d-c:c-(b.width-d))/d);(f=Math.min(Math.max(L+e*K*.025*Math.max(.2,a),o.start),o.end-K))!==L&&(G(!1),E({start:f,end:f+K}))}}let g=f+c*K;w(V(e.anchorTime,g))},onPointerUp:a=>{var b,c,d;let e,f,g=r.current;if(null!==g&&g.pointerId===a.pointerId){let b=g.moved||Math.abs(a.clientX-g.anchorClientX)>=3;r.current=null,C(!1),b||l(null);return}let h=q.current;if(null===h||h.pointerId!==a.pointerId)return;let i=$(a),j=L+i*K,k=V(h.anchorTime,j);y({fraction:i,recordIndex:_(a)}),q.current=null,w(null);let p=3>Math.abs(a.clientX-h.anchorClientX),s=p&&null!==h.recordIndex?o.spans.find(a=>a.index===h.recordIndex):void 0;if(void 0!==s){l(null),m?.(s.index);return}if(l(k.end-k.start<S?(b=p?k.start:(k.start+k.end)/2,c=o.start,{start:f=Math.min(Math.max(b-(e=Math.min((d=o.end)-c,Math.max(0,S)))/2,c),d-e),end:f+e}):k),p){let a=k.start,b=o.spans.reduce((b,c)=>{let d=a<b.start?b.start-a:a>b.end?a-b.end:0;return(a<c.start?c.start-a:a>c.end?a-c.end:0)<d?c:b});n?.(b.index)}},onPointerCancel:()=>{q.current=null,r.current=null,w(null),y(null),C(!1)},onPointerLeave:()=>{null===q.current&&null===r.current&&y(null)},onDoubleClick:a=>{a.preventDefault(),l(null)},onContextMenu:a=>{a.preventDefault()},children:[M&&(0,d.jsx)(Z,{loading:z,onHover:()=>{y(null)},onLoad:N,t:a}),null!==x&&null===x.recordIndex&&null===u&&(0,d.jsx)("div",{className:T().hoverLine,"aria-hidden":"true",style:{"--trajectory-hover-left":`${100*x.fraction}%`}}),null!==Q&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:T().selection,"data-dragging":null===u?void 0:"true","aria-hidden":"true",style:{"--trajectory-selection-left":`${100*Q.start}%`,"--trajectory-selection-width":`${(Q.end-Q.start)*100}%`}}),(0,d.jsx)("div",{className:T().selectionEdges,"data-dragging":null===u?void 0:"true","aria-hidden":"true",style:{"--trajectory-selection-left":`${100*Q.start}%`,"--trajectory-selection-width":`${(Q.end-Q.start)*100}%`}})]}),(0,d.jsx)("div",{className:T().turnBoundaries,"data-animate-viewport":F||void 0,"aria-hidden":"true",style:O,children:o.turnBoundaries.filter(a=>a.time>o.start&&a.time>=L&&a.time<=L+K).map(a=>(0,d.jsx)("span",{className:T().turnBoundary,style:{"--trajectory-turn-left":`${(a.time-o.start)/H*100}%`}},a.turn))}),(0,d.jsx)("div",{className:T().lanes,"data-animate-viewport":F||void 0,style:O,children:o.spans.filter(a=>a.index===j||a.end>=L&&a.start<=L+K).map(b=>{let e=(b.start-o.start)/H,f=(b.end-b.start)/H*100,g=x?.recordIndex===b.index;return(0,d.jsx)("span",{"aria-hidden":"true",className:T().span,"data-timeline-span":b.kind,"data-timeline-record-index":b.index,"data-error":b.isError||void 0,"data-equal-duration":"sequence"===c||void 0,"data-current":b.index===j||void 0,"data-hovered":g||void 0,"data-search-match":null===k?void 0:k.has(b.index)?"true":"false","data-selected":null===R?void 0:b.start<=R.end&&b.end>=R.start?"true":"false",title:g?function(a,b,c){let d=function(a,b){switch(a){case"user":return b("kind.user");case"context":return b("kind.context");case"compacted":return b("kind.compacted");case"message":return b("kind.assistant");case"tool":return b("kind.tool")}}(a,c);if(void 0===b)return d;let e=void 0===b.durationMs?null:c("timeline.total",{duration:h(b.durationMs)});return[d,void 0===b.startedAt?null:void 0===b.durationMs?c("timeline.started",{time:U(b.startedAt)}):`${U(b.startedAt)} → ${U(b.startedAt+b.durationMs)}`,e].filter(a=>null!==a&&""!==a).join("\n")}(b.kind,p.get(b.index),a):void 0,style:{"--trajectory-span-left":`${100*e}%`,"--trajectory-span-width":`${f}%`,"--trajectory-span-gap":`min(${.08*f}%, 1px)`,"--trajectory-span-lane":b.lane}},b.index)})})]})]})})});var _=c(46968),aa=c.n(_);function ab({actualDuration:a,onActualDurationChange:b,allTurnsCollapsed:c,onToggleAllTurns:e,allAssistantsCollapsed:f,onToggleAllAssistants:g,searchQuery:h,onSearchQueryChange:i,t:j}){return(0,d.jsx)("div",{className:aa().root,role:"toolbar","aria-label":j("toolbar.aria"),children:(0,d.jsxs)("div",{className:aa().inner,children:[(0,d.jsxs)("div",{className:aa().actions,children:[(0,d.jsxs)("button",{type:"button",className:aa().toggle,"aria-label":j("toolbar.useActualDuration"),"aria-pressed":a,title:j(a?"toolbar.useEqualWidth":"toolbar.useActualDuration"),onClick:()=>{b(!a)},children:[(0,d.jsxs)("svg",{className:aa().toggleIcon,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"8",cy:"8",r:"5.25"}),(0,d.jsx)("path",{d:"M8 4.75V8l2.25 1.5"})]}),j("toolbar.duration")]}),(0,d.jsxs)("button",{type:"button",className:aa().action,"aria-label":j(c?"toolbar.expandTurns":"toolbar.collapseTurns"),"aria-pressed":c,title:j(c?"toolbar.expandTurns":"toolbar.collapseTurns"),onClick:e,children:[(0,d.jsx)("span",{className:aa().actionIcon,"aria-hidden":"true",children:c?"⊞":"⊟"}),j("toolbar.turns")]}),(0,d.jsxs)("button",{type:"button",className:aa().action,"aria-label":j(f?"toolbar.expandCalls":"toolbar.collapseCalls"),"aria-pressed":f,title:j(f?"toolbar.expandCalls":"toolbar.collapseCalls"),onClick:g,children:[(0,d.jsx)("span",{className:aa().actionIcon,"aria-hidden":"true",children:f?"⊞":"⊟"}),j("toolbar.calls")]})]}),(0,d.jsxs)("div",{className:aa().search,children:[(0,d.jsxs)("svg",{className:aa().searchIcon,width:"11",height:"11",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"7",cy:"7",r:"4.75",stroke:"currentColor",strokeWidth:"1.5"}),(0,d.jsx)("path",{d:"M10.6 10.6 14 14",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),(0,d.jsx)("input",{type:"search",className:aa().searchInput,"aria-label":j("toolbar.search"),placeholder:j("toolbar.searchPlaceholder"),value:h,onChange:a=>{i(a.currentTarget.value)}})]})]})})}var ac=c(8870),ad=c.n(ac);function ae(a,b){let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c}let af=(0,e.memo)(function({sessionId:a,running:b}){let c,{t:i}=(0,f.s)(),j=(0,e.useMemo)(()=>(a,b)=>i(`trajectory.${a}`,b),[i]),p=(0,g.p)(a,b),{transcript:q,status:t,loadEarlier:u}=p,[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)(""),[C,D]=(0,e.useState)(()=>new Set),[E,F]=(0,e.useState)(()=>new Set),[G,H]=(0,e.useState)(null),[I,J]=(0,e.useState)(null),K=(0,e.useMemo)(()=>{var a,c;let d,e,f,g,i,p,r,s,t,u,v,w;return a=q.messages,c=q.entryIds,d=new Set,e=new Map,a.forEach((a,b)=>{if("assistant"===a.role)for(let b of a.content??[])"toolCall"===b.type&&d.add(b.toolCallId);else"toolResult"===a.role&&e.set(a.toolCallId,{message:a,entryId:c[b]??`#${b}`})}),f=j("group.message"),g=[],i={current:null},p=0,r=0,s=0,t=0,u=a=>({...a,index:++t}),v=()=>{p+=1,r=0;let a={turn:p,groups:[]};return g.push(a),i.current=a,a},w=a=>{let b=i.current;if(null===b){let a=g.at(-1);a&&null===a.turn&&(b=a)}if(null===b)return void g.push({turn:null,groups:[{title:f,cells:[a]}]});let c=b.groups.at(-1);c&&c.title===f?c.cells.push(a):b.groups.push({title:f,cells:[a]})},a.forEach((h,p)=>{let q=c[p]??`#${p}`;switch(h.role){case"user":let t;v().groups.push({title:f,cells:[u({recordId:q,kind:"user",text:n(t=l(h.content)),inputDetail:t,raw:h,timeSeconds:null,startedAt:k(h.timestamp)})]});break;case"custom":{let b;if("compaction"!==h.customType){let a;w(u((a=l(h.content),{recordId:q,kind:"context",text:`${h.customType} \xb7 ${n(a)}`,inputDetail:a,raw:h,timeSeconds:null,startedAt:k(h.timestamp)})));break}let c={title:j("group.compaction",{seq:s+=1}),cells:[u({recordId:q,kind:"compacted",text:n(b=l(h.content)),inputDetail:b,raw:h,timeSeconds:null,startedAt:k(h.timestamp)})]},d=a[p+1];i.current&&(d?.role==="assistant"||d?.role==="toolResult")?i.current.groups.push(c):(g.push({turn:null,groups:[c]}),i.current=null);break}case"bashExecution":let x;w(u((x=!0===h.cancelled||void 0!==h.exitCode&&0!==h.exitCode,{recordId:q,kind:"tool",text:`bash \xb7 ${n(h.command)}`,toolName:"bash",inputDetail:h.command,outputDetail:h.output,raw:h,...x?{isError:!0}:{},timeSeconds:null,startedAt:k(h.timestamp)})));break;case"assistant":{let a,c,d,f,g,p=i.current??v();r+=1;let s=[u((a=m(h,"text"),c=m(h,"thinking"),d="error"===h.stopReason||"aborted"===h.stopReason,f=k(h.durationMs),g=h.usage,{recordId:q,kind:"message",text:n(a||(d?h.errorMessage??"":"")),...a?{outputDetail:a}:{},...c?{thinkingDetail:c}:{},raw:h,...d?{isError:!0}:{},timeSeconds:null===f?null:f/1e3,startedAt:k(h.timestamp),...g?{input:g.input,output:g.output,cacheRead:g.cacheRead,cacheWrite:g.cacheWrite,...null===k(g.cost?.total)?{}:{cost:g.cost.total}}:{},...h.model?{model:h.model}:{},...h.provider?{provider:h.provider}:{},...h.stopReason?{stopReason:h.stopReason}:{}}))];for(let a of h.content??[])"toolCall"===a.type&&s.push(u(function(a,b,c,d){let e=b?.message,f=k(e?.durationMs),g=k(e?.timestamp),h=n(o(a.input));return{recordId:`${c}:${a.toolCallId}`,kind:"tool",text:h?`${a.toolName} \xb7 ${h}`:a.toolName,toolName:a.toolName,callId:a.toolCallId,...e?{outputDetail:l(e.content)}:d?{running:!0}:{interrupted:!0},raw:{call:a,result:e},...e?.isError?{isError:!0}:{},timeSeconds:null===f?null:f/1e3,startedAt:null!==f&&null!==g?g-f:null}}(a,e.get(a.toolCallId),q,b)));p.groups.push({title:j("group.step",{step:r}),cells:s});break}case"toolResult":let y,z;if(d.has(h.toolCallId))break;w(u((y=k(h.durationMs),z=k(h.timestamp),{recordId:q,kind:"tool",text:h.toolName??"tool",...h.toolName?{toolName:h.toolName}:{},callId:h.toolCallId,outputDetail:l(h.content),raw:{result:h},...h.isError?{isError:!0}:{},timeSeconds:null===y?null:y/1e3,startedAt:null!==y&&null!==z?z-y:null})))}}),g.map(a=>({turn:a.turn,groups:a.groups.map(a=>{let b=function(a){let b=1/0,c=-1/0,d=0,e=new Map;for(let f of a)"tool"===f.kind&&f.toolName&&e.set(f.toolName,(e.get(f.toolName)??0)+1),"number"==typeof f.startedAt&&(d+=1,b=Math.min(b,f.startedAt),c=Math.max(c,f.startedAt+(f.timeSeconds??0)*1e3));let f=[];for(let[a,g]of(d>0&&c>b&&f.push(h(c-b)),e))f.push(g>1?`${a}\xd7${g}`:a);return f.length>0?f.join(" "):void 0}(a.cells);return{title:a.title,...b?{description:b}:{},cells:a.cells}})}))},[q.messages,q.entryIds,j,b]),M=(0,e.useMemo)(()=>K.flatMap((a,b)=>{let c=!0,d=a.groups.flatMap(d=>d.cells.map((e,f)=>{let g=c&&("compacted"!==e.kind||null===a.turn);return g&&(c=!1),{turn:a.turn,section:b,group:d.title,...d.description?{groupDescription:d.description}:{},groupStart:0===f,turnStart:g,turnEnd:!1,cell:e}})),e=d.at(-1);return e&&(e.turnEnd=!0),d}),[K]),N=w?"duration":"sequence",O=(0,e.useMemo)(()=>new s,[]),P=(0,e.useMemo)(()=>{if(""===A.trim())return null;O.update(K);let a=O.search(A);if(null===a)return null;let b=new Set;for(let c of M)a.has(c.cell.recordId)&&b.add(c.cell.index);return b},[M,O,A,K]),Q=(0,e.useMemo)(()=>null===y?null:function(a,b,c="sequence"){let d=v(a,c);return new Set(d?.spans.filter(a=>a.start<=b.end&&a.end>=b.start).map(a=>a.index))}(K,y,N),[N,y,K]),S=(0,e.useMemo)(()=>{if(null!==P){let a,b;return a=M.filter(a=>P.has(a.cell.index)).map(a=>({...a,groupStart:!1,turnStart:!1,turnEnd:!1})),b=new Set,a.forEach((c,d)=>{let e=a[d-1],f=a[d+1];c.groupStart=void 0===e||e.section!==c.section||e.group!==c.group,c.turnStart=!b.has(c.section)&&("compacted"!==c.cell.kind||null===c.turn),c.turnStart&&b.add(c.section),c.turnEnd=void 0===f||f.section!==c.section}),a}let a=0===C.size?M:function(a,b,c){let d=new Map;for(let b of a){if(null===b.turn)continue;let a=d.get(b.turn)??[];a.push(b),d.set(b.turn,a)}return a.flatMap(a=>{var e;let f,g;if(null===a.turn||!b.has(a.turn))return[a];let h=d.get(a.turn)??[a];return h.length<=1?[a]:a.cell.index!==h[0]?.cell.index?[]:[{...a,turnEnd:!1},{...a,groupStart:!1,turnStart:!1,turnEnd:!0,collapsedSummary:(e=h.slice(1),f=new Set(e.filter(a=>"message"===a.cell.kind).map(a=>a.group)).size,g=e.filter(a=>"tool"===a.cell.kind).length,[r(c,"steps",f),r(c,"toolCalls",g)].join(" \xb7 ")),collapsedSummaryKind:"turn"}]})}(M,C,j);return 0===E.size?a:function(a,b,c){let d=[];for(let e=0;e<a.length;e++){let f=a[e];if(void 0===f||(d.push(f),"message"!==f.cell.kind||!b.has(f.cell.recordId)))continue;let g=[];for(let b=e+1;b<a.length;b++){let c=a[b];if(void 0===c||void 0!==c.collapsedSummary||"tool"!==c.cell.kind)break;g.push(c)}0!==g.length&&(d[d.length-1]={...f,turnEnd:!1},d.push({...f,groupStart:!1,turnStart:!1,turnEnd:g.at(-1)?.turnEnd??!1,collapsedSummary:function(a,b){let c=[...new Set(a.map(a=>a.cell.toolName??"").filter(Boolean))],d=r(b,"toolCalls",a.length);return c.length>0?`${d} \xb7 ${c.join(", ")}`:d}(g,c),collapsedSummaryKind:"assistant"}),e+=g.length)}return d}(a,E,j)},[M,E,C,P,j]),T=(0,e.useMemo)(()=>K.flatMap(a=>null===a.turn?[]:a.groups.reduce((a,b)=>a+b.cells.length,0)>1?[a.turn]:[]),[K]),U=(0,e.useMemo)(()=>(function(a){let b=[];for(let c of a)for(let a of c.groups)a.cells.forEach((c,d)=>{"message"===c.kind&&a.cells[d+1]?.kind==="tool"&&b.push(c.recordId)});return b})(K),[K]),V=(0,e.useMemo)(()=>new Set(U),[U]),W=T.length>0&&T.every(a=>C.has(a)),X=U.length>0&&U.every(a=>E.has(a)),Y=(0,e.useMemo)(()=>null===G?null:M.find(a=>a.cell.recordId===G)??null,[M,G]),Z=(0,e.useCallback)(a=>null===a?j("section.betweenTurns"):j("turn.label",{turn:a}),[j]),_=(0,e.useRef)(S);_.current=S,(0,e.useEffect)(()=>{if(null===Q||0===Q.size)return;let a=_.current.find(a=>void 0===a.collapsedSummary&&Q.has(a.cell.index));a&&J({index:a.cell.index})},[Q]);let aa=(0,e.useCallback)(a=>{if(H(a),null===a||null===Q)return;let b=M.find(b=>b.cell.recordId===a);b&&!Q.has(b.cell.index)&&z(null)},[M,Q]),ac=(0,e.useCallback)(a=>{z(null);let b=M.find(b=>b.cell.index===a);if(b){H(b.cell.recordId);let{turn:a}=b;null!==a&&D(b=>{if(!b.has(a))return b;let c=new Set(b);return c.delete(a),c}),F(a=>{let c=[...a].find(a=>b.cell.recordId.startsWith(`${a}:`));if(void 0===c)return a;let d=new Set(a);return d.delete(c),d})}J({index:a})},[M]),af=(0,e.useCallback)(a=>{J({index:a})},[]),ag=(0,e.useCallback)(a=>{D(b=>ae(b,a))},[]),ah=(0,e.useCallback)(a=>{F(b=>ae(b,a))},[]),ai=(0,e.useCallback)(()=>{D(W?new Set:new Set(T))},[W,T]),aj=(0,e.useCallback)(()=>{F(X?new Set:new Set(U))},[X,U]),ak=(0,e.useCallback)(a=>{x(a),z(null)},[]),al=(0,e.useMemo)(()=>{let a=0,b=1/0,c=-1/0;for(let d of M){let{cell:e}=d;"tool"===e.kind&&(a+=1),"number"==typeof e.startedAt&&(b=Math.min(b,e.startedAt),c=Math.max(c,e.startedAt+(e.timeSeconds??0)*1e3))}return{calls:a,turns:K.filter(a=>null!==a.turn).length,duration:c>b?h(c-b):null}},[M,K]);return c="loading"===t?(0,d.jsx)("p",{className:ad().state,children:j("state.loading")}):"notFound"===t?(0,d.jsx)("p",{className:ad().state,children:j("state.notFound")}):"error"===t?(0,d.jsxs)("div",{className:ad().state,children:[(0,d.jsx)("p",{children:j("state.error",{message:p.error??""})}),(0,d.jsx)("button",{type:"button",className:ad().button,onClick:p.retry,children:j("state.retry")})]}):0===M.length?(0,d.jsx)("p",{className:ad().state,children:j("state.empty")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(ab,{t:j,actualDuration:w,onActualDurationChange:ak,allTurnsCollapsed:W,onToggleAllTurns:ai,allAssistantsCollapsed:X,onToggleAllAssistants:aj,searchQuery:A,onSearchQueryChange:B}),(0,d.jsx)($,{t:j,turns:K,mode:N,range:y,hasEarlierRecords:q.hasMore,onLoadEarlier:u,selectedIndex:Y?.cell.index??null,searchMatchIndexes:P,onRangeChange:z,onRecordSelect:ac,onRecordFocus:af}),(0,d.jsxs)("div",{className:ad().split,children:[(0,d.jsx)(R,{t:j,records:S,selectedId:Y?.cell.recordId??null,focusIndexes:Q,collapsedAssistants:E,collapsibleAssistants:V,hasEarlier:q.hasMore,onLoadEarlier:u,scrollRequest:I,onSelect:aa,onToggleTurn:ag,onToggleAssistant:ah,sectionLabel:Z},null===P?"all":"matches"),Y&&(0,d.jsx)(L,{t:j,cell:Y.cell,title:`${Z(Y.turn)} \xb7 ${Y.group}`,onClose:()=>{H(null)}})]})]}),(0,d.jsxs)("div",{className:ad().view,children:[(0,d.jsxs)("header",{className:ad().header,children:[b&&(0,d.jsx)("span",{className:ad().live,children:j("header.running")}),"ready"===t&&M.length>0&&(0,d.jsxs)("span",{className:ad().stats,title:q.hasMore?j("stats.loadedOnly"):void 0,children:[al.duration&&(0,d.jsxs)("span",{children:[j("stats.duration")," ",al.duration]}),(0,d.jsxs)("span",{children:[j("stats.turns")," ",al.turns]}),(0,d.jsxs)("span",{children:[j("stats.calls")," ",al.calls]})]}),(0,d.jsx)("span",{className:ad().spacer}),p.error&&"ready"===t&&(0,d.jsx)("span",{className:ad().warn,title:p.error,children:j("state.refreshFailed")})]}),c]})})},75808:a=>{a.exports={root:"TrajectoryTimeline_root__EbHj_",plot:"TrajectoryTimeline_plot__nE8gm",labels:"TrajectoryTimeline_labels__4F8HP",track:"TrajectoryTimeline_track__yr1K9",earlierHistory:"TrajectoryTimeline_earlierHistory__2vEX5",empty:"TrajectoryTimeline_empty__JKbeY",lanes:"TrajectoryTimeline_lanes__oKhPm",turnBoundaries:"TrajectoryTimeline_turnBoundaries__GyoNV",turnBoundary:"TrajectoryTimeline_turnBoundary__sc2YG",span:"TrajectoryTimeline_span__8p1pf",selection:"TrajectoryTimeline_selection__PXIAN",selectionEdges:"TrajectoryTimeline_selectionEdges__QTyLF",hoverLine:"TrajectoryTimeline_hoverLine__rogkc"}}};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
exports.id=5582,exports.ids=[5582],exports.modules={766:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{_p:()=>t,jr:()=>A,q8:()=>z});var e=c(77598),f=c(73024),g=c(51455),h=c(76760),i=c(75430),j=c(8102),k=a([i]);function l(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}i=(k.then?(await k)():k)[0];let B=Buffer.from("\n");function m(a){if(!a.trim())return null;try{let b=JSON.parse(a);return b&&"object"==typeof b?b:null}catch{return null}}async function n(a){let b;try{b=await (0,g.open)(a,"r");let c=Buffer.allocUnsafe(65536),{bytesRead:d}=await b.read(c,0,c.length,0);if(d<=0)return null;for(let a of c.subarray(0,d).toString("utf8").split("\n")){let b=m(a.replace(/\r$/,""));if(b)return"session"===b.type?b:null}return null}catch{return null}finally{await b?.close().catch(()=>void 0)}}async function o(a,b){let c=await n(a);if(!c||"string"!=typeof c.id||"string"!=typeof c.cwd||"string"!=typeof c.timestamp)return null;let d=new Date(c.timestamp);return Number.isFinite(d.getTime())?{path:a,id:c.id,cwd:c.cwd,created:d,modified:new Date(b.mtimeMs),messageCount:0,firstMessage:"",..."string"==typeof c.parentSession?{parentSessionPath:c.parentSession}:{},detailsPending:!0}:null}function p(a,b){return(0,e.createHash)("sha1").update(a).update(b).digest("base64")}async function q(a,b,c,d){let e=b,g=[],h=[c];for await(let c of(0,f.createReadStream)(a,{start:b})){let a=c.indexOf(10);if(-1===a){g.push(c);continue}let b=g,f=0;for(;-1!==a;){let b=c.subarray(f,a),h=g.length>0?Buffer.concat([...g,b]):b;if(g=[],e+=h.length+1,!d(h,e))return null;f=a+1,a=c.indexOf(10,f)}h=function(a){let b=0;for(let c of a)b+=c.length;let c=0;for(;c<a.length-1&&b-a[c].length>=512;)b-=a[c].length,c++;return c>0?a.slice(c):a}([...h,...b,c.subarray(0,f)]),f<c.length&&g.push(c.subarray(f))}let i=Buffer.concat(h);return{offset:e,sample:i.subarray(Math.max(0,i.length-512)),rest:Buffer.concat(g)}}async function r(a,b){let c=await (0,g.open)(a,"r");try{let a=Math.max(0,b.offset-512),d=Buffer.alloc(b.headerEnd),e=Buffer.alloc(b.offset-a),f=await c.read(d,0,d.length,0),g=await c.read(e,0,e.length,a);if(f.bytesRead!==d.length||g.bytesRead!==e.length)return null;return p(d,e)===b.check?{head:d,tail:e}:null}finally{await c.close()}}async function s(a,b){try{let c=await (0,g.stat)(a),d=b?.resume&&b.resume.ino===c.ino?await r(a,b.resume):null,e=null,f=0,h=0,i=Buffer.alloc(0),j={messageCount:0,firstMessage:""};if(b?.resume&&d){let{info:a,resume:c}=b;h=c.offset,i=d.tail,e={id:a.id,cwd:a.cwd,created:new Date(a.created.getTime()),parentSessionPath:a.parentSessionPath,time:a.created.getTime(),head:d.head},f=c.headerEnd,j.name=a.name,j.messageCount=a.messageCount,j.firstMessage=c.hasFirstMessage?a.firstMessage:"",j.lastActivityTime=c.lastActivityTime}let k=!1,l=(a,b)=>{let c;for(let g of(c=a.toString("utf8")).includes("\r")?c.split("\r"):[c]){let c=m(g);if(c){if(null===b&&(k=!0),!e){var d;if("session"!==c.type)return!1;let g=null!==b&&b===a.length+1;d=g?Buffer.concat([a,B]):void 0,e={id:c.id,cwd:"string"==typeof c.cwd?c.cwd:"",created:new Date(c.timestamp),parentSessionPath:"string"==typeof c.parentSession?c.parentSession:void 0,time:"string"==typeof c.timestamp?new Date(c.timestamp).getTime():0/0,head:"string"==typeof c.id&&"string"==typeof c.timestamp?d:void 0},f=g?b:0;continue}!function(a,b){if("session_info"===b.type&&(a.name="string"==typeof b.name&&b.name.trim()?b.name.trim():void 0),"message"!==b.type)return;a.messageCount++;let c=function(a){let b=a.message;if(!b||"string"!=typeof b.role||!("content"in b)||"user"!==b.role&&"assistant"!==b.role)return;if("number"==typeof b.timestamp)return b.timestamp;let c=new Date(a.timestamp).getTime();return Number.isNaN(c)?void 0:c}(b);if("number"==typeof c&&(a.lastActivityTime=Math.max(a.lastActivityTime??0,c)),a.firstMessage)return;let d=b.message;if(d&&"string"==typeof d.role&&"content"in d&&"user"===d.role){let b;a.firstMessage="string"==typeof(b=d.content)?b:Array.isArray(b)?b.filter(a=>!!a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join(" "):""}}(j,c)}}return!0},n=await q(a,h,i,l);if(!n||n.rest.length>0&&!l(n.rest,null)||!e)return null;let{id:o,cwd:s,created:t,parentSessionPath:u,time:v,head:w}=e,x="number"==typeof j.lastActivityTime&&j.lastActivityTime>0?new Date(j.lastActivityTime):Number.isNaN(v)?c.mtime:new Date(v);return{info:{path:a,id:o,cwd:s,name:j.name,parentSessionPath:u,created:t,modified:x,messageCount:j.messageCount,firstMessage:j.firstMessage||"(no messages)"},resume:w&&f>0&&!k&&c.ino>0?{ino:c.ino,offset:n.offset,headerEnd:f,check:p(w,n.sample),hasFirstMessage:""!==j.firstMessage,...void 0!==j.lastActivityTime?{lastActivityTime:j.lastActivityTime}:{}}:void 0}}catch{return null}}async function t(a){return(await s(a))?.info??null}async function u(a){let b;try{b=(await (0,g.readdir)(a,{withFileTypes:!0})).filter(a=>a.isDirectory()||a.isSymbolicLink())}catch{return[]}let c=[];for(let d of b){let b=(0,h.join)(a,d.name);try{for(let a of(await (0,g.readdir)(b)))a.endsWith(".jsonl")&&c.push((0,h.join)(b,a))}catch{}}return c}async function v(a,b){let c=0,d=new Set;for(;c<a.length||d.size>0;){for(;c<a.length&&d.size<10;){let e=b(a[c++]).finally(()=>d.delete(e));d.add(e)}d.size>0&&await Promise.race(d)}}function w(){return globalThis.__piWebScanIndex||(globalThis.__piWebScanIndex=new Map),globalThis.__piWebScanIndex}function x(a=(0,i.getAgentDir)()){return(0,h.join)(a,"pi-web-session-index.json")}function y(){let a=globalThis.__piWebScanIndexSave;if(a){clearTimeout(a.timer),globalThis.__piWebScanIndexSave=void 0;try{(0,j.$)(a.path,JSON.stringify({version:1,entries:Object.fromEntries(a.entries)}))}catch{}}}async function z(a={}){!function(){if(globalThis.__piWebScanIndexLoaded)return;globalThis.__piWebScanIndexLoaded=!0;let a=x();if((0,f.existsSync)(a))try{let b=JSON.parse((0,f.readFileSync)(a,"utf8"));if(!l(b)||1!==b.version||!l(b.entries))return;let c=w();for(let[a,d]of Object.entries(b.entries)){if(!l(d)||!l(d.fp)||!l(d.info))continue;let{fp:b,info:e}=d;if("number"!=typeof b.size||!Number.isSafeInteger(b.size)||b.size<0||"number"!=typeof b.mtimeMs||!Number.isFinite(b.mtimeMs)||e.path!==a||"string"!=typeof e.id||"string"!=typeof e.cwd||"string"!=typeof e.firstMessage||void 0!==e.name&&"string"!=typeof e.name||void 0!==e.parentSessionPath&&"string"!=typeof e.parentSessionPath||"number"!=typeof e.messageCount||!Number.isSafeInteger(e.messageCount)||e.messageCount<0||"string"!=typeof e.created||"string"!=typeof e.modified)continue;let f=new Date(e.created),g=new Date(e.modified);Number.isFinite(f.getTime())&&Number.isFinite(g.getTime())&&c.set(a,{fp:{size:b.size,mtimeMs:b.mtimeMs},info:{path:a,id:e.id,cwd:e.cwd,name:e.name,parentSessionPath:e.parentSessionPath,firstMessage:e.firstMessage,messageCount:e.messageCount,created:f,modified:g},resume:function(a){if(!l(a))return;let{ino:b,offset:c,headerEnd:d,check:e,hasFirstMessage:f,lastActivityTime:g}=a;if("number"==typeof b&&Number.isFinite(b)&&!(b<=0)&&"number"==typeof d&&Number.isSafeInteger(d)&&!(d<=0)&&"number"==typeof c&&Number.isSafeInteger(c)&&!(c<d)&&"string"==typeof e&&"boolean"==typeof f&&(void 0===g||"number"==typeof g&&Number.isFinite(g)))return{ino:b,offset:c,headerEnd:d,check:e,hasFirstMessage:f,...void 0!==g?{lastActivityTime:g}:{}}}(d.resume)})}}catch{}}();let b=a.deferDetails??!1,c=(0,i.getAgentDir)(),d=(0,h.join)(c,"sessions"),e=await u(d);globalThis.__piSessionMembership={files:new Set(e)};let j=w(),k=new Set(e),m=[];for(let a of j.keys())k.has(a)||m.push(a);for(let a of m)j.delete(a);let n=await Promise.all(e.map(async a=>{try{let b=await (0,g.stat)(a);return{filePath:a,fp:{size:b.size,mtimeMs:b.mtimeMs}}}catch{return{filePath:a,fp:null}}})),p=[],q=[],r=Array(e.length).fill(null),t=Array(e.length).fill(-1/0);for(let[a,{filePath:c,fp:d}]of n.entries()){if(!d){j.delete(c);continue}t[a]=d.mtimeMs;let e=j.get(c);if(e&&e.fp.size===d.size&&e.fp.mtimeMs===d.mtimeMs){r[a]=e.info;continue}if(b){p.push({filePath:c,fp:d,resultIndex:a});continue}q.push({filePath:c,fp:d,resultIndex:a,previous:e?.resume&&d.size>e.fp.size&&d.size>=e.resume.offset?e:void 0})}return await v(p,async({filePath:a,fp:b,resultIndex:c})=>{let d=await o(a,b);d?r[c]=d:j.delete(a)}),await v(q,async({filePath:a,fp:b,resultIndex:c,previous:d})=>{let e=await s(a,d);e?(j.set(a,{fp:b,...e}),r[c]=e.info):j.delete(a)}),(q.length>0||m.length>0)&&function(a){let b=[...w()],c=globalThis.__piWebScanIndexSave;if(c?.path===a){c.entries=b;return}y();let d=setTimeout(y,5e3);d.unref?.(),globalThis.__piWebScanIndexSave={path:a,entries:b,timer:d}}(x(c)),r.flatMap((a,b)=>a?[{info:a,mtimeMs:t[b]}]:[]).sort((a,b)=>b.info.modified.getTime()-a.info.modified.getTime()||b.mtimeMs-a.mtimeMs||(0,h.basename)(b.info.path).localeCompare((0,h.basename)(a.info.path))).map(({info:a})=>a)}function A(a,b,c=Date.now()){let d=globalThis.__piSessionMembership,e=globalThis.__piSessionMembershipCheck??={at:-1/0,busy:!1};if(d&&!e.busy&&!(c-e.at<1e3))return e.busy=!0,e.at=c,u(a).then(a=>{globalThis.__piSessionMembership!==d||d.files.size===a.length&&a.every(a=>d.files.has(a))||(globalThis.__piSessionMembership={files:new Set(a)},b())}).catch(()=>void 0).finally(()=>{e.busy=!1})}d()}catch(a){d(a)}})},7048:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$u:()=>W,AO:()=>Q,I6:()=>P,IR:()=>F,Xt:()=>s,_R:()=>V,e0:()=>N,fw:()=>E,gY:()=>U,kj:()=>J,o2:()=>Y,ph:()=>O,pv:()=>Z,q9:()=>K,rh:()=>G,st:()=>$,tP:()=>X,xL:()=>ai});var e=c(75430),f=c(90426),g=c(29021),h=c(33873),i=c(21898),j=c(38363),k=c(8102),l=c(82536),m=c(27367),n=c(41761),o=a([e,m]);[e,m]=o.then?(await o)():o;let X="pi-web:subagent",Y="pi-web:subagent-status",Z="pi-web:subagent-result",$=["Agent","get_subagent_result","steer_subagent"],_=["read","bash","edit","write","grep","find","ls"],aa=new Set(_),ab=new Set([...aa,"powershell"]),ac=new Set($),ad=new Set(["off","minimal","low","medium","high","xhigh","max"]),ae=new Set(["description","display_name","tools","load_skills","load_extensions","codemode","mcp","enabled","inherit_context","run_in_background","model","thinking","max_turns","prompt_mode","color","isolation","persist_session"]),af=/^(?:\uFEFF)?---[ \t]*(?:\r\n|\n|\r)/,ag=new Set(["none","all","true","false"]);function p(a){return"on"===a||!0===a?"on":"off"}let ah=[{name:"general-purpose",displayName:"General purpose",description:"Handle a focused implementation or investigation task",systemPrompt:"Work autonomously on the delegated task. Keep the final answer concise and include important files, decisions, and remaining risks.",tools:_,loadSkills:!1,loadExtensions:!1,codemode:"off",mcp:"off",promptMode:"append",inheritContext:!1,runInBackground:!1,enabled:!0,scope:"builtin"},{name:"explore",displayName:"Explore",description:"Quickly inspect a codebase without modifying it",systemPrompt:"Explore the codebase to answer the delegated question. Do not modify files. Report concrete findings with file paths and relevant symbols.",tools:[...n.kU],loadSkills:!1,loadExtensions:!1,codemode:"off",mcp:"off",promptMode:"append",inheritContext:!1,runInBackground:!1,enabled:!0,scope:"builtin"},{name:"plan",displayName:"Plan",description:"Design an implementation plan without modifying files",systemPrompt:"Produce an implementation-ready plan for the delegated task. Inspect the repository as needed, do not modify files, and call out dependencies, risks, and verification steps.",tools:[...n.kU],loadSkills:!1,loadExtensions:!1,codemode:"off",mcp:"off",promptMode:"append",inheritContext:!1,runInBackground:!1,enabled:!0,scope:"builtin"}];function q(a){return"string"==typeof a&&a.trim()?a.trim():void 0}function r(a,b){return"boolean"==typeof a?a:b}function s(a){return[...new Set((Array.isArray(a)?a:"string"==typeof a?a.split(","):[]).filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean))]}function t(a){if(Array.isArray(a))return s(a);if("string"!=typeof a||ag.has(a.trim().toLowerCase()))return;let b=s(a);return b.length>0?b:void 0}function u(a){let b=t(a);return b?.includes("*")?void 0:b}function v(a,b){return!("string"==typeof a&&["none","false"].includes(a.trim().toLowerCase()))&&("boolean"==typeof a?a:!!Array.isArray(a)||"string"==typeof a||b)}function w(a){return(Array.isArray(a)?a:"string"==typeof a?a.split(","):[]).map(a=>String(a).trim()).filter(Boolean)}function x(a,b){let c=w(a);return c.includes("none")?[]:c.includes("all")||c.includes("*")?[..._]:0===c.length?[...b]:[...new Set(c.filter(a=>aa.has(a)))]}function y(a){return[...new Set(w(a).filter(a=>a.toLowerCase().startsWith("ext:")))]}function z(a,b,c,d){(void 0===c||"boolean"==typeof c||"string"==typeof c&&ag.has(c.trim().toLowerCase()))&&(a[b]=d)}function A(a,b){return(0,l.xk)(b,new Set([a]))}function B(a,b,c){return(0,g.existsSync)(a)&&("global"===b||A(c,a))?(0,g.readdirSync)(a,{withFileTypes:!0}).filter(a=>a.isFile()&&a.name.endsWith(".md")).map(c=>(function(a,b){try{var c;let d=(0,g.readFileSync)(a,"utf8"),{data:e,rest:f}=(0,i.yv)(d),j=q(e?.name)??(0,h.basename)(a,".md");if(!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(j))return null;let k=q(e?.thinking),l="number"==typeof e?.max_turns?Math.floor(e.max_turns):void 0,m=x(e?.tools,_),n=(c=e?.codemode,"on"===c||!0===c?"on":"inherit"===c?"inherit":"off"),o=t(e?.skills),s=u(e?.extensions),w=new Set(x(e?.disallowed_tools,[])),z=y(e?.disallowed_tools),A=new Set(z.map(a=>R(a).toLowerCase())),B=y(e?.tools),C=B.filter(a=>{let b=R(a).toLowerCase();return![...A].some(a=>"*"===a||b===a||b.startsWith(`${a}/`))});return{name:j,displayName:q(e?.display_name)??j,description:q(e?.description)??j,systemPrompt:f.trim(),tools:m.filter(a=>!w.has(a)),...B.length>0?{extensionTools:C}:{},...z.length>0?{disallowedExtensionTools:z}:{},...void 0!==o?{skills:o}:{},...void 0!==s?{extensions:s}:{},loadSkills:v(e?.load_skills??e?.skills,!1),loadExtensions:v(e?.load_extensions??e?.extensions,B.length>0),codemode:n,mcp:p(e?.mcp),...q(e?.model)?{model:q(e?.model)}:{},...k&&ad.has(k)?{thinking:k}:{},...l&&l>0?{maxTurns:l}:{},inheritContext:r(e?.inherit_context,!1),runInBackground:r(e?.run_in_background,!1),promptMode:e?.prompt_mode==="replace"?"replace":"append",...q(e?.color)?{color:q(e?.color)}:{},...e?.isolation==="worktree"||e?.isolation==="off"?{isolation:e.isolation}:{},..."boolean"==typeof e?.persist_session?{persistSession:e.persist_session}:{},enabled:r(e?.enabled,!0),scope:b,filePath:a}}catch{return null}})((0,h.join)(a,c.name),b)).filter(a=>null!==a):[]}function C(a){return[[(0,h.join)((0,e.getAgentDir)(),"agents"),"global"],[(0,h.join)((0,h.resolve)(a),".agents","agents"),"workspace"],[(0,h.join)((0,h.resolve)(a),".pi","agents"),"project"]]}function D(){let a=(0,m.Q$)();return ah.map(b=>({...b,tools:[...b.tools],enabled:!a.has(b.name.toLowerCase())}))}function E(a){let b=D();for(let[c,d]of C(a))b.push(...B(c,d,a));return b.sort((a,b)=>a.displayName.localeCompare(b.displayName))}function F(a){let b=new Map(D().map(a=>[a.name.toLowerCase(),a]));for(let[c,d]of C(a))for(let e of B(c,d,a))b.set(e.name.toLowerCase(),e);return[...b.values()].sort((a,b)=>a.displayName.localeCompare(b.displayName))}function G(a,b){return F(a).find(a=>a.name.toLowerCase()===b.trim().toLowerCase()&&a.enabled)}function H(a){let b=a.trim();if(!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(b))throw Error("Agent name may contain only letters, numbers, dots, underscores, and hyphens");return b}function I(a,b){let c=function(a,b){if("global"===b)return(0,h.join)((0,e.getAgentDir)(),"agents");if("project"===b)return(0,h.join)((0,h.resolve)(a),".pi","agents");throw Error("Agent scope must be global or project")}(a,b);if("global"===b)return c;let d=c;for(;!(0,g.existsSync)(d);){let a=(0,h.dirname)(d);if(a===d)throw Error("Agent profile directory is outside the project root");d=a}if(!A(a,d))throw Error("Agent profile directory is outside the project root");return c}function J(a,b,c){var d;let e,j=H(c.name),l=[...new Set(c.tools.filter(a=>aa.has(a)))],m=[...new Set(c.extensionTools??[])];if(c.thinking&&!ad.has(c.thinking))throw Error(`Invalid thinking level: ${c.thinking}`);if(void 0!==c.maxTurns&&(!Number.isFinite(c.maxTurns)||c.maxTurns<0))throw Error("Max turns must be a non-negative number");let n=c.maxTurns&&c.maxTurns>0?Math.floor(c.maxTurns):void 0,o=c.displayName.trim()||j,q=c.description.trim()||j,r=c.systemPrompt.trim(),v=c.model?.trim()||void 0,x=!0===c.loadSkills,y=!0===c.loadExtensions,B=function(a){if(void 0===a||"inherit"===a||"on"===a||"off"===a)return void 0===a?"off":a;throw Error("codemode must be one of: inherit, on, off")}(c.codemode),C=function(a){if(void 0===a||"on"===a||"off"===a)return a;throw Error("mcp must be one of: on, off")}(c.mcp),D="replace"===c.promptMode?"replace":"append",E=I(a,b);if((0,g.mkdirSync)(E,{recursive:!0}),"project"===b&&!A(a,E))throw Error("Agent profile directory is outside the project root");let F=(0,h.join)(E,`${j}.md`),G=function(a){if(!(0,g.existsSync)(a))return{};let b=(0,g.readFileSync)(a,"utf8"),{data:c}=(0,i.yv)(b);if(c)return c;if(af.test(b))throw Error("Cannot save agent profile: existing frontmatter is invalid");return{}}(F),J=C??p(G.mcp),K={description:q,display_name:o,tools:(e=[...d=[...l,...m],...w(G.tools).filter(a=>a.toLowerCase().startsWith("ext:")).filter(a=>!d.some(b=>b.toLowerCase()===a.toLowerCase()))]).length>0?e.join(", "):"none",load_skills:x,load_extensions:y,codemode:B,..."on"===J||void 0!==G.mcp?{mcp:J}:{},enabled:c.enabled,inherit_context:c.inheritContext,run_in_background:c.runInBackground,prompt_mode:D},L=void 0===c.skills?t(G.skills):s(c.skills);if(void 0!==L){let a=t(G.skills);K.skills=void 0!==a&&JSON.stringify(a)===JSON.stringify(L)?G.skills:L}else z(K,"skills",G.skills,x);z(K,"extensions",G.extensions,y);let M=u(G.extensions);v&&(K.model=v),c.thinking&&(K.thinking=c.thinking),n&&(K.max_turns=n),c.color?.trim()&&(K.color=c.color.trim()),c.isolation&&(K.isolation=c.isolation),void 0!==c.persistSession&&(K.persist_session=c.persistSession);let N={...K};for(let[a,b]of Object.entries(function(a){let b={};for(let[c,d]of Object.entries(a))ae.has(c)||(b[c]=d);return b}(G)))a in N||(N[a]=b);let O=(0,f.Bh)(N,{noRefs:!0,lineWidth:1e3}).trimEnd();return(0,k.$)(F,`---
|
|
1
|
+
exports.id=5582,exports.ids=[5582],exports.modules={766:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{_p:()=>t,jr:()=>A,q8:()=>z});var e=c(77598),f=c(73024),g=c(51455),h=c(76760),i=c(75430),j=c(8102),k=a([i]);function l(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}i=(k.then?(await k)():k)[0];let B=Buffer.from("\n");function m(a){if(!a.trim())return null;try{let b=JSON.parse(a);return b&&"object"==typeof b?b:null}catch{return null}}async function n(a){let b;try{b=await (0,g.open)(a,"r");let c=Buffer.allocUnsafe(65536),{bytesRead:d}=await b.read(c,0,c.length,0);if(d<=0)return null;for(let a of c.subarray(0,d).toString("utf8").split("\n")){let b=m(a.replace(/\r$/,""));if(b)return"session"===b.type?b:null}return null}catch{return null}finally{await b?.close().catch(()=>void 0)}}async function o(a,b){let c=await n(a);if(!c||"string"!=typeof c.id||"string"!=typeof c.cwd||"string"!=typeof c.timestamp)return null;let d=new Date(c.timestamp);return Number.isFinite(d.getTime())?{path:a,id:c.id,cwd:c.cwd,created:d,modified:new Date(b.mtimeMs),messageCount:0,firstMessage:"",..."string"==typeof c.parentSession?{parentSessionPath:c.parentSession}:{},detailsPending:!0}:null}function p(a,b){return(0,e.createHash)("sha1").update(a).update(b).digest("base64")}async function q(a,b,c,d){let e=b,g=[],h=[c];for await(let c of(0,f.createReadStream)(a,{start:b})){let a=c.indexOf(10);if(-1===a){g.push(c);continue}let b=g,f=0;for(;-1!==a;){let b=c.subarray(f,a),h=g.length>0?Buffer.concat([...g,b]):b;if(g=[],e+=h.length+1,!d(h,e))return null;f=a+1,a=c.indexOf(10,f)}h=function(a){let b=0;for(let c of a)b+=c.length;let c=0;for(;c<a.length-1&&b-a[c].length>=512;)b-=a[c].length,c++;return c>0?a.slice(c):a}([...h,...b,c.subarray(0,f)]),f<c.length&&g.push(c.subarray(f))}let i=Buffer.concat(h);return{offset:e,sample:i.subarray(Math.max(0,i.length-512)),rest:Buffer.concat(g)}}async function r(a,b){let c=await (0,g.open)(a,"r");try{let a=Math.max(0,b.offset-512),d=Buffer.alloc(b.headerEnd),e=Buffer.alloc(b.offset-a),f=await c.read(d,0,d.length,0),g=await c.read(e,0,e.length,a);if(f.bytesRead!==d.length||g.bytesRead!==e.length)return null;return p(d,e)===b.check?{head:d,tail:e}:null}finally{await c.close()}}async function s(a,b){try{let c=await (0,g.stat)(a),d=b?.resume&&b.resume.ino===c.ino?await r(a,b.resume):null,e=null,f=0,h=0,i=Buffer.alloc(0),j={messageCount:0,firstMessage:""};if(b?.resume&&d){let{info:a,resume:c}=b;h=c.offset,i=d.tail,e={id:a.id,cwd:a.cwd,created:new Date(a.created.getTime()),parentSessionPath:a.parentSessionPath,time:a.created.getTime(),head:d.head},f=c.headerEnd,j.name=a.name,j.messageCount=a.messageCount,j.firstMessage=c.hasFirstMessage?a.firstMessage:"",j.lastActivityTime=c.lastActivityTime}let k=!1,l=(a,b)=>{let c;for(let g of(c=a.toString("utf8")).includes("\r")?c.split("\r"):[c]){let c=m(g);if(c){if(null===b&&(k=!0),!e){var d;if("session"!==c.type)return!1;let g=null!==b&&b===a.length+1;d=g?Buffer.concat([a,B]):void 0,e={id:c.id,cwd:"string"==typeof c.cwd?c.cwd:"",created:new Date(c.timestamp),parentSessionPath:"string"==typeof c.parentSession?c.parentSession:void 0,time:"string"==typeof c.timestamp?new Date(c.timestamp).getTime():0/0,head:"string"==typeof c.id&&"string"==typeof c.timestamp?d:void 0},f=g?b:0;continue}!function(a,b){if("session_info"===b.type&&(a.name="string"==typeof b.name&&b.name.trim()?b.name.trim():void 0),"message"!==b.type)return;a.messageCount++;let c=function(a){let b=a.message;if(!b||"string"!=typeof b.role||!("content"in b)||"user"!==b.role&&"assistant"!==b.role)return;if("number"==typeof b.timestamp)return b.timestamp;let c=new Date(a.timestamp).getTime();return Number.isNaN(c)?void 0:c}(b);if("number"==typeof c&&(a.lastActivityTime=Math.max(a.lastActivityTime??0,c)),a.firstMessage)return;let d=b.message;if(d&&"string"==typeof d.role&&"content"in d&&"user"===d.role){let b;a.firstMessage="string"==typeof(b=d.content)?b:Array.isArray(b)?b.filter(a=>!!a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join(" "):""}}(j,c)}}return!0},n=await q(a,h,i,l);if(!n||n.rest.length>0&&!l(n.rest,null)||!e)return null;let{id:o,cwd:s,created:t,parentSessionPath:u,time:v,head:w}=e,x="number"==typeof j.lastActivityTime&&j.lastActivityTime>0?new Date(j.lastActivityTime):Number.isNaN(v)?c.mtime:new Date(v);return{info:{path:a,id:o,cwd:s,name:j.name,parentSessionPath:u,created:t,modified:x,messageCount:j.messageCount,firstMessage:j.firstMessage||"(no messages)"},resume:w&&f>0&&!k&&c.ino>0?{ino:c.ino,offset:n.offset,headerEnd:f,check:p(w,n.sample),hasFirstMessage:""!==j.firstMessage,...void 0!==j.lastActivityTime?{lastActivityTime:j.lastActivityTime}:{}}:void 0}}catch{return null}}async function t(a){return(await s(a))?.info??null}async function u(a){let b;try{b=(await (0,g.readdir)(a,{withFileTypes:!0})).filter(a=>a.isDirectory()||a.isSymbolicLink())}catch{return[]}let c=[];for(let d of b){let b=(0,h.join)(a,d.name);try{for(let a of(await (0,g.readdir)(b)))a.endsWith(".jsonl")&&c.push((0,h.join)(b,a))}catch{}}return c}async function v(a,b){let c=0,d=new Set;for(;c<a.length||d.size>0;){for(;c<a.length&&d.size<10;){let e=b(a[c++]).finally(()=>d.delete(e));d.add(e)}d.size>0&&await Promise.race(d)}}function w(){return globalThis.__piWebScanIndex||(globalThis.__piWebScanIndex=new Map),globalThis.__piWebScanIndex}function x(a=(0,i.getAgentDir)()){return(0,h.join)(a,"pi-web-session-index.json")}function y(){let a=globalThis.__piWebScanIndexSave;if(a){clearTimeout(a.timer),globalThis.__piWebScanIndexSave=void 0;try{(0,j.$)(a.path,JSON.stringify({version:1,entries:Object.fromEntries(a.entries)}))}catch{}}}async function z(a={}){!function(){if(globalThis.__piWebScanIndexLoaded)return;globalThis.__piWebScanIndexLoaded=!0;let a=x();if((0,f.existsSync)(a))try{let b=JSON.parse((0,f.readFileSync)(a,"utf8"));if(!l(b)||1!==b.version||!l(b.entries))return;let c=w();for(let[a,d]of Object.entries(b.entries)){if(!l(d)||!l(d.fp)||!l(d.info))continue;let{fp:b,info:e}=d;if("number"!=typeof b.size||!Number.isSafeInteger(b.size)||b.size<0||"number"!=typeof b.mtimeMs||!Number.isFinite(b.mtimeMs)||e.path!==a||"string"!=typeof e.id||"string"!=typeof e.cwd||"string"!=typeof e.firstMessage||void 0!==e.name&&"string"!=typeof e.name||void 0!==e.parentSessionPath&&"string"!=typeof e.parentSessionPath||"number"!=typeof e.messageCount||!Number.isSafeInteger(e.messageCount)||e.messageCount<0||"string"!=typeof e.created||"string"!=typeof e.modified)continue;let f=new Date(e.created),g=new Date(e.modified);Number.isFinite(f.getTime())&&Number.isFinite(g.getTime())&&c.set(a,{fp:{size:b.size,mtimeMs:b.mtimeMs},info:{path:a,id:e.id,cwd:e.cwd,name:e.name,parentSessionPath:e.parentSessionPath,firstMessage:e.firstMessage,messageCount:e.messageCount,created:f,modified:g},resume:function(a){if(!l(a))return;let{ino:b,offset:c,headerEnd:d,check:e,hasFirstMessage:f,lastActivityTime:g}=a;if("number"==typeof b&&Number.isFinite(b)&&!(b<=0)&&"number"==typeof d&&Number.isSafeInteger(d)&&!(d<=0)&&"number"==typeof c&&Number.isSafeInteger(c)&&!(c<d)&&"string"==typeof e&&"boolean"==typeof f&&(void 0===g||"number"==typeof g&&Number.isFinite(g)))return{ino:b,offset:c,headerEnd:d,check:e,hasFirstMessage:f,...void 0!==g?{lastActivityTime:g}:{}}}(d.resume)})}}catch{}}();let b=a.deferDetails??!1,c=(0,i.getAgentDir)(),d=(0,h.join)(c,"sessions"),e=await u(d);globalThis.__piSessionMembership={files:new Set(e)};let j=w(),k=new Set(e),m=[];for(let a of j.keys())k.has(a)||m.push(a);for(let a of m)j.delete(a);let n=await Promise.all(e.map(async a=>{try{let b=await (0,g.stat)(a);return{filePath:a,fp:{size:b.size,mtimeMs:b.mtimeMs}}}catch{return{filePath:a,fp:null}}})),p=[],q=[],r=Array(e.length).fill(null),t=Array(e.length).fill(-1/0);for(let[a,{filePath:c,fp:d}]of n.entries()){if(!d){j.delete(c);continue}t[a]=d.mtimeMs;let e=j.get(c);if(e&&e.fp.size===d.size&&e.fp.mtimeMs===d.mtimeMs){r[a]=e.info;continue}if(b){p.push({filePath:c,fp:d,resultIndex:a});continue}q.push({filePath:c,fp:d,resultIndex:a,previous:e?.resume&&d.size>e.fp.size&&d.size>=e.resume.offset?e:void 0})}return await v(p,async({filePath:a,fp:b,resultIndex:c})=>{let d=await o(a,b);d?r[c]=d:j.delete(a)}),await v(q,async({filePath:a,fp:b,resultIndex:c,previous:d})=>{let e=await s(a,d);e?(j.set(a,{fp:b,...e}),r[c]=e.info):j.delete(a)}),(q.length>0||m.length>0)&&function(a){let b=[...w()],c=globalThis.__piWebScanIndexSave;if(c?.path===a){c.entries=b;return}y();let d=setTimeout(y,5e3);d.unref?.(),globalThis.__piWebScanIndexSave={path:a,entries:b,timer:d}}(x(c)),r.flatMap((a,b)=>a?[{info:a,mtimeMs:t[b]}]:[]).sort((a,b)=>b.info.modified.getTime()-a.info.modified.getTime()||b.mtimeMs-a.mtimeMs||(0,h.basename)(b.info.path).localeCompare((0,h.basename)(a.info.path))).map(({info:a})=>a)}function A(a,b,c=Date.now()){let d=globalThis.__piSessionMembership,e=globalThis.__piSessionMembershipCheck??={at:-1/0,busy:!1};if(d&&!e.busy&&!(c-e.at<1e3))return e.busy=!0,e.at=c,u(a).then(a=>{globalThis.__piSessionMembership!==d||d.files.size===a.length&&a.every(a=>d.files.has(a))||(globalThis.__piSessionMembership={files:new Set(a)},b())}).catch(()=>void 0).finally(()=>{e.busy=!1})}d()}catch(a){d(a)}})},7048:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$u:()=>X,AO:()=>Q,I6:()=>P,IR:()=>F,Xt:()=>s,_R:()=>V,e0:()=>N,eU:()=>W,fw:()=>E,gY:()=>U,kj:()=>J,o2:()=>Z,ph:()=>O,pv:()=>$,q9:()=>K,rh:()=>G,st:()=>_,tP:()=>Y,xL:()=>aj});var e=c(75430),f=c(90426),g=c(29021),h=c(33873),i=c(21898),j=c(38363),k=c(8102),l=c(82536),m=c(27367),n=c(41761),o=a([e,m]);[e,m]=o.then?(await o)():o;let Y="pi-web:subagent",Z="pi-web:subagent-status",$="pi-web:subagent-result",_=["Agent","get_subagent_result","steer_subagent"],aa=["read","bash","edit","write","grep","find","ls"],ab=new Set(aa),ac=new Set([...ab,"powershell"]),ad=new Set(_),ae=new Set(["off","minimal","low","medium","high","xhigh","max"]),af=new Set(["description","display_name","tools","load_skills","load_extensions","codemode","mcp","enabled","inherit_context","run_in_background","model","thinking","max_turns","prompt_mode","color","isolation","persist_session"]),ag=/^(?:\uFEFF)?---[ \t]*(?:\r\n|\n|\r)/,ah=new Set(["none","all","true","false"]);function p(a){return"on"===a||!0===a?"on":"off"}let ai=[{name:"general-purpose",displayName:"General purpose",description:"Handle a focused implementation or investigation task",systemPrompt:"Work autonomously on the delegated task. Keep the final answer concise and include important files, decisions, and remaining risks.",tools:aa,loadSkills:!1,loadExtensions:!1,codemode:"off",mcp:"off",promptMode:"append",inheritContext:!1,runInBackground:!1,enabled:!0,scope:"builtin"},{name:"explore",displayName:"Explore",description:"Quickly inspect a codebase without modifying it",systemPrompt:"Explore the codebase to answer the delegated question. Do not modify files. Report concrete findings with file paths and relevant symbols.",tools:[...n.kU],loadSkills:!1,loadExtensions:!1,codemode:"off",mcp:"off",promptMode:"append",inheritContext:!1,runInBackground:!1,enabled:!0,scope:"builtin"},{name:"plan",displayName:"Plan",description:"Design an implementation plan without modifying files",systemPrompt:"Produce an implementation-ready plan for the delegated task. Inspect the repository as needed, do not modify files, and call out dependencies, risks, and verification steps.",tools:[...n.kU],loadSkills:!1,loadExtensions:!1,codemode:"off",mcp:"off",promptMode:"append",inheritContext:!1,runInBackground:!1,enabled:!0,scope:"builtin"}];function q(a){return"string"==typeof a&&a.trim()?a.trim():void 0}function r(a,b){return"boolean"==typeof a?a:b}function s(a){return[...new Set((Array.isArray(a)?a:"string"==typeof a?a.split(","):[]).filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean))]}function t(a){if(Array.isArray(a))return s(a);if("string"!=typeof a||ah.has(a.trim().toLowerCase()))return;let b=s(a);return b.length>0?b:void 0}function u(a){let b=t(a);return b?.includes("*")?void 0:b}function v(a,b){return!("string"==typeof a&&["none","false"].includes(a.trim().toLowerCase()))&&("boolean"==typeof a?a:!!Array.isArray(a)||"string"==typeof a||b)}function w(a){return(Array.isArray(a)?a:"string"==typeof a?a.split(","):[]).map(a=>String(a).trim()).filter(Boolean)}function x(a,b){let c=w(a);return c.includes("none")?[]:c.includes("all")||c.includes("*")?[...aa]:0===c.length?[...b]:[...new Set(c.filter(a=>ab.has(a)))]}function y(a){return[...new Set(w(a).filter(a=>a.toLowerCase().startsWith("ext:")))]}function z(a,b,c,d){(void 0===c||"boolean"==typeof c||"string"==typeof c&&ah.has(c.trim().toLowerCase()))&&(a[b]=d)}function A(a,b){return(0,l.xk)(b,new Set([a]))}function B(a,b,c){return(0,g.existsSync)(a)&&("global"===b||A(c,a))?(0,g.readdirSync)(a,{withFileTypes:!0}).filter(a=>a.isFile()&&a.name.endsWith(".md")).map(c=>(function(a,b){try{var c;let d=(0,g.readFileSync)(a,"utf8"),{data:e,rest:f}=(0,i.yv)(d),j=q(e?.name)??(0,h.basename)(a,".md");if(!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(j))return null;let k=q(e?.thinking),l="number"==typeof e?.max_turns?Math.floor(e.max_turns):void 0,m=x(e?.tools,aa),n=(c=e?.codemode,"on"===c||!0===c?"on":"inherit"===c?"inherit":"off"),o=t(e?.skills),s=u(e?.extensions),w=new Set(x(e?.disallowed_tools,[])),z=y(e?.disallowed_tools),A=new Set(z.map(a=>R(a).toLowerCase())),B=y(e?.tools),C=B.filter(a=>{let b=R(a).toLowerCase();return![...A].some(a=>"*"===a||b===a||b.startsWith(`${a}/`))});return{name:j,displayName:q(e?.display_name)??j,description:q(e?.description)??j,systemPrompt:f.trim(),tools:m.filter(a=>!w.has(a)),...B.length>0?{extensionTools:C}:{},...z.length>0?{disallowedExtensionTools:z}:{},...void 0!==o?{skills:o}:{},...void 0!==s?{extensions:s}:{},loadSkills:v(e?.load_skills??e?.skills,!1),loadExtensions:v(e?.load_extensions??e?.extensions,B.length>0),codemode:n,mcp:p(e?.mcp),...q(e?.model)?{model:q(e?.model)}:{},...k&&ae.has(k)?{thinking:k}:{},...l&&l>0?{maxTurns:l}:{},inheritContext:r(e?.inherit_context,!1),runInBackground:r(e?.run_in_background,!1),promptMode:e?.prompt_mode==="replace"?"replace":"append",...q(e?.color)?{color:q(e?.color)}:{},...e?.isolation==="worktree"||e?.isolation==="off"?{isolation:e.isolation}:{},..."boolean"==typeof e?.persist_session?{persistSession:e.persist_session}:{},enabled:r(e?.enabled,!0),scope:b,filePath:a}}catch{return null}})((0,h.join)(a,c.name),b)).filter(a=>null!==a):[]}function C(a){return[[(0,h.join)((0,e.getAgentDir)(),"agents"),"global"],[(0,h.join)((0,h.resolve)(a),".agents","agents"),"workspace"],[(0,h.join)((0,h.resolve)(a),".pi","agents"),"project"]]}function D(){let a=(0,m.Q$)();return ai.map(b=>({...b,tools:[...b.tools],enabled:!a.has(b.name.toLowerCase())}))}function E(a){let b=D();for(let[c,d]of C(a))b.push(...B(c,d,a));return b.sort((a,b)=>a.displayName.localeCompare(b.displayName))}function F(a){let b=new Map(D().map(a=>[a.name.toLowerCase(),a]));for(let[c,d]of C(a))for(let e of B(c,d,a))b.set(e.name.toLowerCase(),e);return[...b.values()].sort((a,b)=>a.displayName.localeCompare(b.displayName))}function G(a,b){return F(a).find(a=>a.name.toLowerCase()===b.trim().toLowerCase()&&a.enabled)}function H(a){let b=a.trim();if(!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(b))throw Error("Agent name may contain only letters, numbers, dots, underscores, and hyphens");return b}function I(a,b){let c=function(a,b){if("global"===b)return(0,h.join)((0,e.getAgentDir)(),"agents");if("project"===b)return(0,h.join)((0,h.resolve)(a),".pi","agents");throw Error("Agent scope must be global or project")}(a,b);if("global"===b)return c;let d=c;for(;!(0,g.existsSync)(d);){let a=(0,h.dirname)(d);if(a===d)throw Error("Agent profile directory is outside the project root");d=a}if(!A(a,d))throw Error("Agent profile directory is outside the project root");return c}function J(a,b,c){var d;let e,j=H(c.name),l=[...new Set(c.tools.filter(a=>ab.has(a)))],m=[...new Set(c.extensionTools??[])];if(c.thinking&&!ae.has(c.thinking))throw Error(`Invalid thinking level: ${c.thinking}`);if(void 0!==c.maxTurns&&(!Number.isFinite(c.maxTurns)||c.maxTurns<0))throw Error("Max turns must be a non-negative number");let n=c.maxTurns&&c.maxTurns>0?Math.floor(c.maxTurns):void 0,o=c.displayName.trim()||j,q=c.description.trim()||j,r=c.systemPrompt.trim(),v=c.model?.trim()||void 0,x=!0===c.loadSkills,y=!0===c.loadExtensions,B=function(a){if(void 0===a||"inherit"===a||"on"===a||"off"===a)return void 0===a?"off":a;throw Error("codemode must be one of: inherit, on, off")}(c.codemode),C=function(a){if(void 0===a||"on"===a||"off"===a)return a;throw Error("mcp must be one of: on, off")}(c.mcp),D="replace"===c.promptMode?"replace":"append",E=I(a,b);if((0,g.mkdirSync)(E,{recursive:!0}),"project"===b&&!A(a,E))throw Error("Agent profile directory is outside the project root");let F=(0,h.join)(E,`${j}.md`),G=function(a){if(!(0,g.existsSync)(a))return{};let b=(0,g.readFileSync)(a,"utf8"),{data:c}=(0,i.yv)(b);if(c)return c;if(ag.test(b))throw Error("Cannot save agent profile: existing frontmatter is invalid");return{}}(F),J=C??p(G.mcp),K={description:q,display_name:o,tools:(e=[...d=[...l,...m],...w(G.tools).filter(a=>a.toLowerCase().startsWith("ext:")).filter(a=>!d.some(b=>b.toLowerCase()===a.toLowerCase()))]).length>0?e.join(", "):"none",load_skills:x,load_extensions:y,codemode:B,..."on"===J||void 0!==G.mcp?{mcp:J}:{},enabled:c.enabled,inherit_context:c.inheritContext,run_in_background:c.runInBackground,prompt_mode:D},L=void 0===c.skills?t(G.skills):s(c.skills);if(void 0!==L){let a=t(G.skills);K.skills=void 0!==a&&JSON.stringify(a)===JSON.stringify(L)?G.skills:L}else z(K,"skills",G.skills,x);z(K,"extensions",G.extensions,y);let M=u(G.extensions);v&&(K.model=v),c.thinking&&(K.thinking=c.thinking),n&&(K.max_turns=n),c.color?.trim()&&(K.color=c.color.trim()),c.isolation&&(K.isolation=c.isolation),void 0!==c.persistSession&&(K.persist_session=c.persistSession);let N={...K};for(let[a,b]of Object.entries(function(a){let b={};for(let[c,d]of Object.entries(a))af.has(c)||(b[c]=d);return b}(G)))a in N||(N[a]=b);let O=(0,f.Bh)(N,{noRefs:!0,lineWidth:1e3}).trimEnd();return(0,k.$)(F,`---
|
|
2
2
|
${O}
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
${r}
|
|
6
|
-
`),{...c,name:j,displayName:o,description:q,systemPrompt:r,tools:l,...void 0!==L?{skills:L}:{},extensions:M,...m.length>0?{extensionTools:m}:{},loadSkills:x,loadExtensions:y,codemode:B,mcp:J,...v?{model:v}:{model:void 0},...n?{maxTurns:n}:{maxTurns:void 0},promptMode:D,...c.color?{color:c.color}:{},...c.isolation?{isolation:c.isolation}:{},...void 0!==c.persistSession?{persistSession:c.persistSession}:{},scope:b,filePath:F}}function K(a,b,c){let d=H(c),e=(0,h.join)(I(a,b),`${d}.md`);(0,g.existsSync)(e)&&(0,g.unlinkSync)(e)}function L(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function M(a){let b=a.find(a=>"custom"===a.type&&a.customType===X);if(!b||"custom"!==b.type||!L(b.data))return null;let c=b.data;return 1!==c.version||"string"!=typeof c.parentSessionId||"string"!=typeof c.parentSessionPath?null:c}function N(a){return a.some(a=>"custom"===a.type&&a.customType===X&&L(a.data)&&"resourceSnapshot"in a.data)}function O(a){let b=M(a);if(!b)return null;let c=b.resourceSnapshot,d=L(c)&&"skills"in c?s(c.skills):void 0,e=L(c)&&"extensions"in c?s(c.extensions):void 0,f=L(c)&&!0===c.loadSkills,g=L(c)&&!0===c.loadExtensions,h=L(c)&&!0===c.codemode,i=L(c)&&!0===c.mcp;return L(c)&&1===c.version&&Array.isArray(c.appendSystemPrompt)&&c.appendSystemPrompt.every(a=>"string"==typeof a)&&(!("codemode"in c)||"boolean"==typeof c.codemode)&&(!("mcp"in c)||"boolean"==typeof c.mcp)&&Array.isArray(c.tools)&&c.tools.every(a=>"string"==typeof a&&a.length>0&&!ac.has(a)&&("codemode"===a&&h||ab.has(a)||g))?{...void 0!==d?{skills:d}:{},...void 0!==e?{extensions:e}:{},appendSystemPrompt:[...c.appendSystemPrompt],tools:[...new Set(c.tools)],loadSkills:f,loadExtensions:g,...h?{codemode:!0}:{},...i?{mcp:!0}:{},...g&&!0===c.allExtensionTools?{allExtensionTools:!0}:{},..."string"==typeof c.exactSystemPrompt?{exactSystemPrompt:c.exactSystemPrompt}:{}}:null}function P(a,b){return[...new Set([...a,...[...b].filter(a=>!ac.has(a))])]}let ai=["read","bash","powershell","edit","write","grep","find","ls"],aj=["mcp__*","list_mcp_resources","list_mcp_resource_templates","read_mcp_resource"];function Q(a){let b=[...$];if(!a.allExtensionTools&&a.mcp){let c=a.tools.includes("codemode")?[]:["tool_search"];return{tools:[...new Set([...a.tools,...c,...aj])],excludeTools:b}}if(!a.allExtensionTools){let c=a.tools.some(a=>a.startsWith("mcp__"));return{tools:[...a.tools],excludeTools:c?b:[...b,...aj.filter(b=>!a.tools.includes(b))]}}let c=a.tools.filter(a=>ai.includes(a)),d=a.tools.includes("codemode")?[...c,"codemode"]:c;return{noTools:"builtin",...d.length>0?{tools:d.map(a=>`+${a}`)}:{},excludeTools:[...b,...ai.filter(a=>!c.includes(a))]}}function R(a){let b=a.slice(4).trim().replace(/\/+$/,"");return b.endsWith("/*")?b.slice(0,-2):b}function S(a){let b,{parentDir:c,baseName:d}={parentDir:(b=a.path.replaceAll("\\","/").split("/")).at(-2)??a.path,baseName:(b.at(-1)??"").replace(/\.[^.]+$/,"")},e=[c,d],f=a.sourceInfo;if(f?.origin==="package"){let a=(f.source??"").trim(),b=(0,j.e)(a)?.name??a;e.push(b,b.replace(/^@[^/]+\//,""))}return[...new Set(e.map(a=>a.toLowerCase()).filter(Boolean))]}function T(a){let b=new Map;for(let c of a){let a=function(a){let b=a.sourceInfo,c=b?.source?.trim();return c&&b?.origin==="package"?c:a.path}(c);for(let d of S(c)){let c=b.get(d)??new Set;c.add(a),b.set(d,c)}}return b}function U(a,b,c=[]){let d=a=>a.filter(a=>a.toLowerCase().startsWith("ext:")).map(a=>R(a)).filter(Boolean),e=d(b),f=d(c);if(0===e.length)return[];let g=[...a],h=new Set([...T(g)].filter(([,a])=>1===a.size).map(([a])=>a)),i=e.includes("*"),j=f.includes("*"),k=a=>a.flatMap(a=>{if("*"===a)return[];let b=function(a,b){let c,d=a.toLowerCase();for(let a of b)(d===a||d.startsWith(`${a}/`))&&(void 0===c||a.length>c.length)&&(c=a);if(void 0===c)return null;let e=d===c?void 0:a.slice(c.length+1)||void 0;return{name:c,...void 0===e?{}:{toolName:e}}}(a,h);return null===b?[]:[b]}),l=k(e),m=k(f),n=[];for(let a of g){let b=[...a.tools.keys()],c=new Set(S(a).filter(a=>h.has(a))),d=l.filter(a=>c.has(a.name));if(!i&&0===d.length)continue;let e=m.filter(a=>c.has(a.name)),f=(a,b)=>void 0===a.toolName||a.toolName===b;n.push(...b.filter(a=>!!(i||d.some(b=>f(b,a)))&&!j&&!e.some(b=>f(b,a))))}return[...new Set(n)]}let ak=["builtin:tool-search","builtin:mcp"];function V(a){let b;return{noExtensions:!a.loadExtensions,...a.mcp?{additionalExtensionPaths:[...ak]}:{},...a.loadExtensions&&void 0!==a.extensions?{extensionsOverride:(b=new Set(a.extensions.map(a=>a.toLowerCase())),a=>{let c=T(a.extensions),d=a.extensions.filter(a=>a.path.startsWith("<inline:")||ak.includes(a.path)||S(a).some(a=>b.has(a)&&c.get(a)?.size===1)),e=new Set(d.map(a=>a.path)),{runtime:f}=a;return f.pendingProviderRegistrations=f.pendingProviderRegistrations.filter(a=>e.has(a.extensionPath)),f.pendingNativeProviderRegistrations=f.pendingNativeProviderRegistrations.filter(a=>e.has(a.extensionPath)),f.pendingVirtualModelRegistrations=f.pendingVirtualModelRegistrations.filter(a=>e.has(a.extensionPath)),{...a,extensions:d}})}:{}}}function W(a,b,c){let d=M(a);if(!d)return null;let e=[...a].reverse().find(a=>"custom"===a.type&&(a.customType===Z||a.customType===Y)),f=e?.type==="custom"&&e.customType===Z?e:void 0,g=f?.type==="custom"&&L(f.data)?f.data:void 0,h=e?.type==="custom"&&e.customType===Y?e:void 0,i=h?.type==="custom"&&L(h.data)?h.data:void 0,j=g&&("completed"===g.status||"failed"===g.status||"aborted"===g.status)?g.status:i?.version===1&&("queued"===i.status||"running"===i.status)?i.status:"interrupted";return{sessionId:b,sessionPath:c,parentSessionId:d.parentSessionId,parentToolCallId:"string"==typeof d.parentToolCallId?d.parentToolCallId:"",profile:"string"==typeof d.profile?d.profile:"general-purpose",description:"string"==typeof d.description?d.description:"Subagent",task:"string"==typeof d.task?d.task:"",runInBackground:!0===d.runInBackground,status:j,createdAt:"string"==typeof d.createdAt?d.createdAt:"",...g&&"string"==typeof g.completedAt?{completedAt:g.completedAt}:{},...g&&"string"==typeof g.result?{result:g.result}:{},...g&&"string"==typeof g.error?{error:g.error}:{},..."string"==typeof d.worktreePath?{worktreePath:d.worktreePath}:{},..."string"==typeof d.worktreeBranch?{worktreeBranch:d.worktreeBranch}:{},...g&&"string"==typeof g.worktreeCleanupError?{worktreeCleanupError:g.worktreeCleanupError}:{},...g&&"boolean"==typeof g.worktreeExists?{worktreeExists:g.worktreeExists}:{}}}d()}catch(a){d(a)}})},8102:(a,b,c)=>{"use strict";c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},12039:(a,b,c)=>{"use strict";function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function e(a){return function(a,b={}){if("assistant"!==a.role)return a;let c=a.content;if(!Array.isArray(c))return a;let e=c.map(a=>(function(a,b={}){if(!d(a)||"toolCall"!==a.type)return null;let c={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},e=b.includeStreamingRawInput?function(a){if("string"==typeof a.rawInput)return a.rawInput;if("string"==typeof a.partialJson)return a.partialJson;if("string"==typeof a.partialArgs)return a.partialArgs;let b=d(a.customInput)?a.customInput:null,c=b&&"string"==typeof b.property?b.property:null,e=d(a.arguments)?a.arguments:null;return c&&e&&"string"==typeof e[c]?e[c]:void 0}(a):void 0;return void 0===e?c:{...c,rawInput:e}})(a,b)??a);return{...a,content:e}}(a)}c.d(b,{B:()=>e})},21898:(a,b,c)=>{"use strict";c.d(b,{yv:()=>f});var d=c(90426);let e=/^(?:\uFEFF)?---[ \t]*(?:\r\n|\n|\r)/;function f(a){let b=function(a){let b=e.exec(a);if(!b)return null;let c=/^---[ \t]*(?:(?:\r\n|\n|\r)|$)/gm;c.lastIndex=b[0].length;let d=c.exec(a);return d?{yaml:a.slice(b[0].length,d.index).replace(/(?:\r\n|\n|\r)$/,""),rest:a.slice(d.index+d[0].length)}:null}(a);if(!b)return{data:null,rest:a};try{let a=(0,d.Hh)(b.yaml);if(a&&"object"==typeof a&&!Array.isArray(a))return{data:a,rest:b.rest}}catch{}return{data:null,rest:b.rest}}},24923:(a,b,c)=>{"use strict";c.d(b,{HI:()=>z,IL:()=>y,KI:()=>r,OG:()=>q,P9:()=>u,l:()=>x,sg:()=>A,xw:()=>w});var d=c(79646),e=c(29021),f=c(33873),g=c(28354),h=c(25252),i=c(58864);let j=(0,g.promisify)(d.execFile);function k(){return globalThis.__piProjectCache||(globalThis.__piProjectCache=new Map),globalThis.__piProjectCache}function l(){globalThis.__piProjectCache?.clear(),globalThis.__piProjectCacheGeneration=(globalThis.__piProjectCacheGeneration??0)+1,globalThis.__piProjectRefresh?.clear()}async function m(a,b,c=1e4){let{stdout:d}=await j("git",["-C",a,...b],{timeout:c,maxBuffer:1048576,env:{...process.env,LC_ALL:"C"}});return d.trim()}let n=new Set(["EMFILE","ENFILE","EAGAIN","ENOMEM"]);function o(a){try{return(0,e.realpathSync)(a)}catch{return a}}function p(a){let b=(0,f.dirname)(a);if(".git"===(0,f.basename)(a))return b;try{let c=/^gitdir:\s*(.+?)\s*$/m.exec((0,e.readFileSync)((0,f.join)(b,".git"),"utf8"));if(c&&(0,i.Eb)(o((0,f.resolve)(b,c[1])),o(a)))return b}catch{}return a}function q(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"))||["HEAD","objects","refs"].every(a=>(0,e.existsSync)((0,f.join)(c,a))))?{projectRoot:o(c),branch:(0,f.basename)(a),isWorktree:!0,isTopLevel:!0}:null}async function r(a){let b,c=k(),d=c.get(a),e=Date.now();if(d&&d.expiresAt>e)return d.info;if(d)return function(a){let b=globalThis.__piProjectRefresh??=new Map;if(b.has(a))return;let c=globalThis.__piProjectCacheGeneration??0,d=s(a).then(b=>{(globalThis.__piProjectCacheGeneration??0)===c&&k().set(a,{info:b,expiresAt:Date.now()+6e4})}).catch(()=>{}).finally(()=>{b.get(a)===d&&b.delete(a)});b.set(a,d)}(a),d.info;try{b=await s(a)}catch(b){return console.error(`[pi-web] resolveProject: git failed for ${a}, not cached: ${b instanceof Error?b.message:String(b)}`),{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1}}return c.set(a,{info:b,expiresAt:Date.now()+6e4}),b}async function s(a){let b;try{if(!(0,e.existsSync)(a))return q(a)??{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1};let[c,d,f,g]=(await m(a,["rev-parse","--path-format=absolute","--git-common-dir","--git-dir","--show-toplevel","--abbrev-ref","HEAD"])).split("\n").map(a=>a.trim()),[h,j,k]=[c,d,f].map(i.gB),l=o(a),n=(0,i.Eb)(k,l),r=!(0,i.Eb)(j,h)&&n,s=r?p(h):k;b={projectRoot:n?o(s):a,branch:g&&"HEAD"!==g?g:null,isWorktree:r,isTopLevel:n}}catch(c){if(function(a){if(!(a instanceof Error))return!1;let{code:b,killed:c,signal:d}=a;return!0===c||"string"==typeof d&&""!==d||"string"==typeof b&&n.has(b)}(c))throw c;b={projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1}}return b}async function t(a){let b=await m(a,["rev-parse","--path-format=absolute","--git-common-dir"]);return o(p((0,i.gB)(b)))}async function u(a){let b=await m(a,["worktree","list","--porcelain"]),c=[],d=null,f=()=>{d?.path&&!d.prunable&&(0,e.existsSync)(d.path)&&c.push({path:d.path,branch:d.branch??null,isMain:0===c.length}),d=null};for(let a of b.split("\n"))a.startsWith("worktree ")?(f(),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()&&f();return f(),c}function v(a,b){return a.find(a=>(0,i.Eb)(a.path,b))}function w(a,b){return v(a,o(b))?.path??null}async function x(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 t(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 m(g,["rev-parse","--verify","--quiet",`refs/heads/${c}`]),k=!0}catch{k=!1}try{if(k)await m(g,["worktree","add","--",j,c],3e5);else{let a;try{await m(g,["rev-parse","--verify","--quiet",`refs/remotes/origin/${c}`]),a=`refs/remotes/origin/${c}`}catch{a=void 0}let b=["worktree","add","-b",c,"--",j];a&&b.push(a),await m(g,b,3e5)}}catch(a){throw Error(B(a))}return(0,h.wz)(j),l(),{path:j,branch:c}}async function y(a,b,c=!1){let d=v(await u(a),o(b));if(!d)throw Error(`Not a worktree of this repository: ${b}`);if(d.isMain)throw Error("Cannot remove the main worktree");try{await m(a,["worktree","remove",...c?["--force"]:[],d.path])}catch(a){throw Error(B(a))}l()}function z(a){return A(a)||/containing submodules/i.test(a)}function A(a){return/contains modified or untracked files|is dirty/i.test(a)}function B(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";c.d(b,{HM:()=>f,Nw:()=>e,wz:()=>g});var d=c(58864);function e(a){return(0,d.W3)(a)}function f(){return globalThis.__piAdditionalAllowedRoots||(globalThis.__piAdditionalAllowedRoots=new Set),globalThis.__piAdditionalAllowedRoots}function g(a){if(!a)return;let b=e(a);f().add(b),globalThis.__piAllowedRootsCache?.roots.add(b)}},27367:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{N:()=>o,Q$:()=>n,UF:()=>s,UM:()=>r,ef:()=>p,hd:()=>m,o9:()=>q});var e=c(73024),f=c(76760),g=c(75430),h=c(8102),i=a([g]);g=(i.then?(await i)():i)[0];let s=32;function j(a){if(!Array.isArray(a))return[];let b=[],c=new Set;for(let d of a){if("string"!=typeof d)continue;let a=d.trim(),e=a.toLowerCase();!a||c.has(e)||(c.add(e),b.push(a))}return b}function k(a=(0,g.getAgentDir)()){return(0,f.join)(a,"agents","settings.json")}function l(a){if(!(0,e.existsSync)(a))return{};let b=JSON.parse((0,e.readFileSync)(a,"utf8"));if(null===b||"object"!=typeof b||Array.isArray(b))throw Error("Invalid subagent settings: expected an object");return b}function m(a=k()){var b,c,d;let e=l(a);return c=!0===e.builtInEnabled,d="number"==typeof(b=e.maxConcurrent)&&Number.isInteger(b)&&b>=1&&b<=s?b:10,Object.defineProperty({builtInEnabled:c,disabledBuiltIns:j(e.disabledBuiltIns)},"maxConcurrent",{value:d,enumerable:!1,configurable:!0})}function n(a=k()){try{return new Set(m(a).disabledBuiltIns.map(a=>a.toLowerCase()))}catch{return new Set}}function o(a=k()){try{return m(a).builtInEnabled}catch{return!1}}function p(a,b=k()){let c=l(b);return(0,e.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,h.$)(b,JSON.stringify({...c,version:1,builtInEnabled:a},null,2)),m(b)}function q(a,b,c=k()){let d=a.trim();if(!d)throw Error("Sub-agent name is required");let g=l(c),i=j(g.disabledBuiltIns),n=d.toLowerCase(),o=i.some(a=>a.toLowerCase()===n);if(b===o)return m(c);let p=b?o?i:[...i,d]:i.filter(a=>a.toLowerCase()!==n);return(0,e.mkdirSync)((0,f.dirname)(c),{recursive:!0}),(0,h.$)(c,JSON.stringify({...g,version:1,disabledBuiltIns:p},null,2)),m(c)}function r(a,b=k()){if(!Number.isInteger(a)||a<1||a>s)throw Error(`maxConcurrent must be an integer between 1 and ${s}`);let c=l(b);return(0,e.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,h.$)(b,JSON.stringify({...c,version:1,maxConcurrent:a},null,2)),m(b)}d()}catch(a){d(a)}})},38363:(a,b,c)=>{"use strict";function d(a){if(!a.startsWith("npm:"))return;let b=a.slice(4).trim(),c=b.match(/^(@?[^@]+(?:\/[^@]+)?)(?:@(.+))?$/);return{name:c?.[1]??b,spec:b,version:c?.[2]}}c.d(b,{e:()=>d})},40402:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>e.getAgentDir,BR:()=>S,DK:()=>U,G1:()=>O,H6:()=>w,O5:()=>y,O8:()=>R,Uv:()=>W,Vg:()=>V,bA:()=>J,dQ:()=>E,eP:()=>T,j6:()=>N,mD:()=>I,nZ:()=>z,os:()=>P,rJ:()=>D,u1:()=>Q,z:()=>B,zH:()=>x});var e=c(75430),f=c(29021),g=c(79748),h=c(33873),i=c(12039),j=c(85963),k=c(50880),l=c(74244),m=c(45902),n=c(69114),o=c(79535),p=c(24923),q=c(7048),r=c(766),s=a([e,q,r]);function t(a,b,c){let d=(0,f.openSync)(a,"r");try{let a=[],e=0,g=0,h=!1;for(;e<b&&g<c;){let i=Buffer.allocUnsafe(Math.min(4096,b-e)),j=(0,f.readSync)(d,i,0,i.length,e);if(0===j){h=!0;break}e+=j;let k=i.subarray(0,j),l=k.length;for(let a=0;a<k.length;a+=1)if(10===k[a]&&(g+=1)===c){l=a+1;break}a.push(k.subarray(0,l))}let i=Buffer.concat(a).toString("utf8"),j=i.split("\n");return h||i.endsWith("\n")||j.pop(),""===j.at(-1)&&j.pop(),j.map(a=>a.endsWith("\r")?a.slice(0,-1):a)}finally{(0,f.closeSync)(d)}}function u(a,b){let c=(0,f.openSync)(a,"r");try{let a=(0,f.fstatSync)(c).size,d=Math.max(0,a-b),e=Buffer.allocUnsafe(a-d),g=(0,f.readSync)(c,e,0,e.length,d);if(0===g)return[];let h=e.subarray(0,g).toString("utf8").split("\n");if(d>0){let a=Buffer.allocUnsafe(1);(0,f.readSync)(c,a,0,1,d-1),10!==a[0]&&h.shift()}return""===h.at(-1)&&h.pop(),h.map(a=>a.endsWith("\r")?a.slice(0,-1):a)}finally{(0,f.closeSync)(c)}}function v(a){return a.flatMap(a=>{try{return[JSON.parse(a)]}catch{return[]}})}function w(a){let b;if(a){try{b=u(a,65536)}catch{return}for(let a=b.length-1;a>=0;a-=1){let c=function(a){try{let b=JSON.parse(a);if("session"===b.type)return;return"string"==typeof b.id&&b.id?b.id:void 0}catch{return}}(b[a]);if(c)return c}}}async function x(a){let b=[...new Set(a.map(a=>a.cwd).filter(Boolean))],c=new Map;return await Promise.all(b.map(async a=>{c.set(a,await (0,p.KI)(a))})),a.map(a=>{let b=a.cwd?c.get(a.cwd):void 0,d=b?.projectRoot??a.cwd;return{...a,projectRoot:d,projectKey:(0,l.z)(d),...b?.branch?{branch:b.branch}:{},...b?.isWorktree?{isWorktree:!0}:{}}})}function y(a,b){let c=new Map(b.map(a=>[a.id,a]));for(let b of a)c.set(b.id,b);return[...c.values()].sort((a,b)=>b.modified.localeCompare(a.modified))}[e,q,r]=s.then?(await s)():s;let $=new WeakMap;function z(a){let b=(0,n.d)(a)??a;if(b.length<=500)return b;let c=b.charCodeAt(499);return b.slice(0,c>=55296&&c<=56319?499:500)}async function A(a){let b=new Map;for(let c of a)b.set((0,m.$)(c.path),c.id);return x(a.map(a=>(function(a,b){R(a.id,a.path);let{originSessionId:c,subagent:d}=function(a,b){let c=a.parentSessionPath?b.get((0,m.$)(a.parentSessionPath)):void 0;if(!a.parentSessionPath)return{originSessionId:c,subagent:null};let d=$.get(a);if(void 0!==d)return{originSessionId:c,subagent:d};try{var e;let b,d=(0,q.$u)((e=a.path,(b=v(t(e,262144,2).slice(1))).some(a=>"custom"===a.type&&a.customType===q.tP)?[...b,...v(u(e,262144))]:b),a.id,a.path);return $.set(a,d),{originSessionId:c,subagent:d}}catch{return{originSessionId:c,subagent:null}}}(a,b),e=!0===a.detailsPending;return{path:a.path,id:a.id,cwd:a.cwd,name:a.name,created:a.created.toISOString(),modified:a.modified.toISOString(),messageCount:a.messageCount,firstMessage:e&&!a.firstMessage?"":z(a.firstMessage||"(no messages)"),parentSessionId:c,...d?{relation:{kind:"subagent",parentSessionId:d.parentSessionId,profile:d.profile,description:d.description,status:d.status}}:a.parentSessionPath?{relation:{kind:"fork",...c?{originSessionId:c}:{}}}:{},transient:!1,...e?{detailsPending:!0}:{}}})(a,b)))}async function B(a){let b=await (0,r._p)(a);return b?(await A([b]))[0]??null:null}async function C(){return A(await (0,r.q8)())}async function D(){return A(await (0,r.q8)({deferDetails:!0}))}async function E(a={}){a.force&&I();let b=globalThis.__piSessionListGeneration??0,c=globalThis.__piSessionListCache;if(c&&c.generation===b&&Date.now()-c.ts<_)return c.data;if(a.allowStale&&c)return E().catch(()=>void 0),c.data;if(globalThis.__piSessionListPromise&&globalThis.__piSessionListPromiseGeneration===b)return globalThis.__piSessionListPromise;let d=C().then(a=>(globalThis.__piSessionListGeneration??0)!==b?E():(globalThis.__piSessionListCache={data:a,ts:Date.now(),generation:b},a)).finally(()=>{globalThis.__piSessionListPromise===d&&(globalThis.__piSessionListPromise=void 0,globalThis.__piSessionListPromiseGeneration=void 0)});return globalThis.__piSessionListPromise=d,globalThis.__piSessionListPromiseGeneration=b,d}let _=3e4,aa=/^[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?$/;function F(){return(0,h.join)((0,e.getAgentDir)(),"sessions")}function G(a,b=(0,h.resolve)(F())){let c=(0,h.resolve)(a),d=(0,h.relative)(b,c);return""===d||".."===d||d.startsWith(`..${h.sep}`)||(0,h.isAbsolute)(d)?null:c}async function H(a){let b,c;if(!aa.test(a))return null;let d=(0,h.resolve)(F());try{b=await (0,g.readdir)(d,{withFileTypes:!0})}catch{return null}let e=`_${a}.jsonl`;for(let f of b){let b;if(!f.isDirectory()&&!f.isSymbolicLink())continue;let i=G((0,h.join)(d,f.name),d);if(i){try{b=await (0,g.readdir)(i)}catch{continue}for(let f of b){if(!f.endsWith(e))continue;let b=G((0,h.join)(i,f),d);if(b){try{if(T(b)?.id!==a)continue}catch{continue}if(c&&c!==b)return null;c=b}}}}return c??null}function I(){globalThis.__piSessionListGeneration=(globalThis.__piSessionListGeneration??0)+1}function J(){return(0,r.jr)(F(),I),globalThis.__piSessionListGeneration??0}function K(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}function L(){return globalThis.__piPathToSessionIdCache||(globalThis.__piPathToSessionIdCache=new Map),globalThis.__piPathToSessionIdCache}function M(){return globalThis.__piSmCache||(globalThis.__piSmCache=new Map),globalThis.__piSmCache}function N(a){let b=M();void 0===a?b.clear():b.delete((0,m.$)(a))}function O(a,b={}){if(b.mutable)return e.SessionManager.open(a,void 0);let c=M(),d=(0,m.$)(a),g=function(a){try{let b=(0,f.statSync)(a);return{fingerprint:`${b.size}:${b.mtimeMs}`,bytes:b.size}}catch{return null}}(a);if(null===g)return c.delete(d),e.SessionManager.open(a,void 0);let h=c.get(d);if(h&&h.fingerprint===g.fingerprint)return c.delete(d),c.set(d,h),h.sm;let i=e.SessionManager.open(a,void 0);if(g.bytes>0x4000000)return c.delete(d),i;c.set(d,{sm:i,fingerprint:g.fingerprint,bytes:g.bytes});let j=0;for(let a of c.values())j+=a.bytes;for(;c.size>12||j>0x10000000;){let a=c.keys().next().value;if(void 0===a)break;j-=c.get(a)?.bytes??0,c.delete(a)}return i}async function P(a){let b=K().get(a);if(b)return b;let c=await H(a);return c?R(a,c):await E(),K().get(a)??null}async function Q(a){let b=(0,m.$)(a),c=L().get(b);if(c)return c;let d=function(a){if(!a.endsWith(".jsonl"))return;let b=G(a);if(b)try{let a=T(b)?.id;if(!a)return;return R(a,b),a}catch{return}}(a);return d||(await E(),L().get(b))}function R(a,b){let c=(0,h.normalize)(b),d=(0,m.$)(c),e=K(),f=L(),g=e.get(a),i=g?(0,m.$)(g):void 0,j=f.get(d),k=j?e.get(j):void 0;i&&i!==d&&f.get(i)===a&&f.delete(i),j&&j!==a&&k&&(0,m.$)(k)===d&&e.delete(j),e.set(a,c),f.set(d,a)}function S(a){let b=K(),c=L(),d=b.get(a);b.delete(a);let e=d?(0,m.$)(d):void 0;e&&c.get(e)===a&&c.delete(e)}function T(a){let b=t(a,65536,1)[0]?.trimEnd();if(!b)return null;try{let a=JSON.parse(b);return"session"===a.type?a:null}catch{return null}}function U(a){return O(a).getEntries()}function V(a){for(let b=a.length-1;b>=0;b--){let c=a[b];if("model_change"===c.type)return{provider:c.provider,modelId:c.modelId}}return null}function W(a,b,c={}){let{tail:d,excludeLeaf:e}=c,f=null===b?[]:X(a,b??null,d&&d>0?d:a.length,e),g=!!(d&&d>0&&f[0]?.parentId),h=g?function(a,b){let c=new Map;for(let b of a)c.set(b.id,b);let d=0,e=b.parentId?c.get(b.parentId):void 0;for(;e;){let a=function(a){switch(a.type){case"message":return"system"===a.message.role?null:a.message;case"compaction":return{role:"custom",customType:"compaction",display:!0};case"branch_summary":return a.summary?{role:"user"}:null;case"custom_message":return{role:"custom",customType:a.customType,display:a.display};default:return null}}(e);a&&(0,k.Y0)(a)&&d++,e=e.parentId?c.get(e.parentId):void 0}return d}(a,f[0]):0,l=[],m=[];for(let a of f){let b=function(a,b){switch(a.type){case"message":{if("system"===a.message.role)return null;let c=(0,j.r)(a.message),d=b.deferToolResultImages?function(a,b,c){if("toolResult"!==a.role)return a;let d=0,e=0,f=new Set,g=a.content.flatMap((a,g)=>{let h=function(a){let b,c;if(!Z(a)||"image"!==a.type||("string"==typeof a.data?(b=a.data,c="string"==typeof a.mimeType?a.mimeType:void 0):Z(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 h?b&&h.mime&&o.N.has(h.mime)&&h.bytes>0&&h.bytes<=o.c?[{type:"image",source:{type:"url",media_type:h.mime,url:`/api/sessions/${encodeURIComponent(b)}/entries/${encodeURIComponent(c)}/tool-result-image?blockIndex=${g}`}}]:(d+=1,e+=h.bytes,h.mime&&f.add(h.mime),[]):[a]});if(0===d)return{...a,content:g};let h=f.size>0?`: ${[...f].join(", ")}`:"";return g.push({type:"text",text:`[${d} tool result image${1===d?"":"s"} omitted from initial history payload${h}, ~${e} bytes]`}),{...a,content:g}}((0,i.B)(c),b.sessionId,a.id):(0,i.B)(c),e="assistant"===d.role?d.content:void 0;if("string"==typeof e&&(d={...d,content:[{type:"text",text:e}]}),!b.deferThinking||"assistant"!==d.role)return d;let f=d.content;return{...d,content:f.map(a=>"thinking"===a.type&&""!==a.thinking.trim()?{...a,thinking:(0,k.de)(a.thinking),deferred:!0}:a)}}case"compaction":return{role:"custom",customType:"compaction",content:a.summary,display:!0,details:{tokensBefore:a.tokensBefore,firstKeptEntryId:a.firstKeptEntryId},timestamp:Y(a.timestamp)};case"branch_summary":if(!a.summary)return null;return{role:"user",content:`*The conversation briefly explored another branch and returned with this summary:*
|
|
6
|
+
`),{...c,name:j,displayName:o,description:q,systemPrompt:r,tools:l,...void 0!==L?{skills:L}:{},extensions:M,...m.length>0?{extensionTools:m}:{},loadSkills:x,loadExtensions:y,codemode:B,mcp:J,...v?{model:v}:{model:void 0},...n?{maxTurns:n}:{maxTurns:void 0},promptMode:D,...c.color?{color:c.color}:{},...c.isolation?{isolation:c.isolation}:{},...void 0!==c.persistSession?{persistSession:c.persistSession}:{},scope:b,filePath:F}}function K(a,b,c){let d=H(c),e=(0,h.join)(I(a,b),`${d}.md`);(0,g.existsSync)(e)&&(0,g.unlinkSync)(e)}function L(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function M(a){let b=a.find(a=>"custom"===a.type&&a.customType===Y);if(!b||"custom"!==b.type||!L(b.data))return null;let c=b.data;return 1!==c.version||"string"!=typeof c.parentSessionId||"string"!=typeof c.parentSessionPath?null:c}function N(a){return a.some(a=>"custom"===a.type&&a.customType===Y&&L(a.data)&&"resourceSnapshot"in a.data)}function O(a){let b=M(a);if(!b)return null;let c=b.resourceSnapshot,d=L(c)&&"skills"in c?s(c.skills):void 0,e=L(c)&&"extensions"in c?s(c.extensions):void 0,f=L(c)&&!0===c.loadSkills,g=L(c)&&!0===c.loadExtensions,h=L(c)&&!0===c.codemode,i=L(c)&&!0===c.mcp;return L(c)&&1===c.version&&Array.isArray(c.appendSystemPrompt)&&c.appendSystemPrompt.every(a=>"string"==typeof a)&&(!("codemode"in c)||"boolean"==typeof c.codemode)&&(!("mcp"in c)||"boolean"==typeof c.mcp)&&Array.isArray(c.tools)&&c.tools.every(a=>"string"==typeof a&&a.length>0&&!ad.has(a)&&("codemode"===a&&h||ac.has(a)||g))?{...void 0!==d?{skills:d}:{},...void 0!==e?{extensions:e}:{},appendSystemPrompt:[...c.appendSystemPrompt],tools:[...new Set(c.tools)],loadSkills:f,loadExtensions:g,...h?{codemode:!0}:{},...i?{mcp:!0}:{},...g&&!0===c.allExtensionTools?{allExtensionTools:!0}:{},..."string"==typeof c.exactSystemPrompt?{exactSystemPrompt:c.exactSystemPrompt}:{}}:null}function P(a,b){return[...new Set([...a,...[...b].filter(a=>!ad.has(a))])]}let aj=["read","bash","powershell","edit","write","grep","find","ls"],ak=["mcp__*","list_mcp_resources","list_mcp_resource_templates","read_mcp_resource"];function Q(a){let b=[..._];if(!a.allExtensionTools&&a.mcp){let c=a.tools.includes("codemode")?[]:["tool_search"];return{tools:[...new Set([...a.tools,...c,...ak])],excludeTools:b}}if(!a.allExtensionTools){let c=a.tools.some(a=>a.startsWith("mcp__"));return{tools:[...a.tools],excludeTools:c?b:[...b,...ak.filter(b=>!a.tools.includes(b))]}}let c=a.tools.filter(a=>aj.includes(a)),d=a.tools.includes("codemode")?[...c,"codemode"]:c;return{noTools:"builtin",...d.length>0?{tools:d.map(a=>`+${a}`)}:{},excludeTools:[...b,...aj.filter(a=>!c.includes(a))]}}function R(a){let b=a.slice(4).trim().replace(/\/+$/,"");return b.endsWith("/*")?b.slice(0,-2):b}function S(a){let b,{parentDir:c,baseName:d}={parentDir:(b=a.path.replaceAll("\\","/").split("/")).at(-2)??a.path,baseName:(b.at(-1)??"").replace(/\.[^.]+$/,"")},e=[c,d],f=a.sourceInfo;if(f?.origin==="package"){let a=(f.source??"").trim(),b=(0,j.e)(a)?.name??a;e.push(b,b.replace(/^@[^/]+\//,""))}return[...new Set(e.map(a=>a.toLowerCase()).filter(Boolean))]}function T(a){let b=new Map;for(let c of a){let a=function(a){let b=a.sourceInfo,c=b?.source?.trim();return c&&b?.origin==="package"?c:a.path}(c);for(let d of S(c)){let c=b.get(d)??new Set;c.add(a),b.set(d,c)}}return b}function U(a,b,c=[]){let d=a=>a.filter(a=>a.toLowerCase().startsWith("ext:")).map(a=>R(a)).filter(Boolean),e=d(b),f=d(c);if(0===e.length)return[];let g=[...a],h=new Set([...T(g)].filter(([,a])=>1===a.size).map(([a])=>a)),i=e.includes("*"),j=f.includes("*"),k=a=>a.flatMap(a=>{if("*"===a)return[];let b=function(a,b){let c,d=a.toLowerCase();for(let a of b)(d===a||d.startsWith(`${a}/`))&&(void 0===c||a.length>c.length)&&(c=a);if(void 0===c)return null;let e=d===c?void 0:a.slice(c.length+1)||void 0;return{name:c,...void 0===e?{}:{toolName:e}}}(a,h);return null===b?[]:[b]}),l=k(e),m=k(f),n=[];for(let a of g){let b=[...a.tools.keys()],c=new Set(S(a).filter(a=>h.has(a))),d=l.filter(a=>c.has(a.name));if(!i&&0===d.length)continue;let e=m.filter(a=>c.has(a.name)),f=(a,b)=>void 0===a.toolName||a.toolName===b;n.push(...b.filter(a=>!!(i||d.some(b=>f(b,a)))&&!j&&!e.some(b=>f(b,a))))}return[...new Set(n)]}let al=["builtin:tool-search","builtin:mcp"];function V(a){let b;return{noExtensions:!a.loadExtensions,...a.mcp?{additionalExtensionPaths:[...al]}:{},...a.loadExtensions&&void 0!==a.extensions?{extensionsOverride:(b=new Set(a.extensions.map(a=>a.toLowerCase())),a=>{let c=T(a.extensions),d=a.extensions.filter(a=>a.path.startsWith("<inline:")||al.includes(a.path)||S(a).some(a=>b.has(a)&&c.get(a)?.size===1)),e=new Set(d.map(a=>a.path)),{runtime:f}=a;return f.pendingProviderRegistrations=f.pendingProviderRegistrations.filter(a=>e.has(a.extensionPath)),f.pendingNativeProviderRegistrations=f.pendingNativeProviderRegistrations.filter(a=>e.has(a.extensionPath)),f.pendingVirtualModelRegistrations=f.pendingVirtualModelRegistrations.filter(a=>e.has(a.extensionPath)),{...a,extensions:d}})}:{}}}function W(a){return"running"===a||"queued"===a?"interrupted":a}function X(a,b,c){let d=M(a);if(!d)return null;let e=[...a].reverse().find(a=>"custom"===a.type&&(a.customType===$||a.customType===Z)),f=e?.type==="custom"&&e.customType===$?e:void 0,g=f?.type==="custom"&&L(f.data)?f.data:void 0,h=e?.type==="custom"&&e.customType===Z?e:void 0,i=h?.type==="custom"&&L(h.data)?h.data:void 0,j=g&&("completed"===g.status||"failed"===g.status||"aborted"===g.status)?g.status:i?.version===1&&("queued"===i.status||"running"===i.status)?i.status:"interrupted";return{sessionId:b,sessionPath:c,parentSessionId:d.parentSessionId,parentToolCallId:"string"==typeof d.parentToolCallId?d.parentToolCallId:"",profile:"string"==typeof d.profile?d.profile:"general-purpose",description:"string"==typeof d.description?d.description:"Subagent",task:"string"==typeof d.task?d.task:"",runInBackground:!0===d.runInBackground,status:j,createdAt:"string"==typeof d.createdAt?d.createdAt:"",...g&&"string"==typeof g.completedAt?{completedAt:g.completedAt}:{},...g&&"string"==typeof g.result?{result:g.result}:{},...g&&"string"==typeof g.error?{error:g.error}:{},..."string"==typeof d.worktreePath?{worktreePath:d.worktreePath}:{},..."string"==typeof d.worktreeBranch?{worktreeBranch:d.worktreeBranch}:{},...g&&"string"==typeof g.worktreeCleanupError?{worktreeCleanupError:g.worktreeCleanupError}:{},...g&&"boolean"==typeof g.worktreeExists?{worktreeExists:g.worktreeExists}:{}}}d()}catch(a){d(a)}})},8102:(a,b,c)=>{"use strict";c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},12039:(a,b,c)=>{"use strict";function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function e(a){return function(a,b={}){if("assistant"!==a.role)return a;let c=a.content;if(!Array.isArray(c))return a;let e=c.map(a=>(function(a,b={}){if(!d(a)||"toolCall"!==a.type)return null;let c={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},e=b.includeStreamingRawInput?function(a){if("string"==typeof a.rawInput)return a.rawInput;if("string"==typeof a.partialJson)return a.partialJson;if("string"==typeof a.partialArgs)return a.partialArgs;let b=d(a.customInput)?a.customInput:null,c=b&&"string"==typeof b.property?b.property:null,e=d(a.arguments)?a.arguments:null;return c&&e&&"string"==typeof e[c]?e[c]:void 0}(a):void 0;return void 0===e?c:{...c,rawInput:e}})(a,b)??a);return{...a,content:e}}(a)}c.d(b,{B:()=>e})},21898:(a,b,c)=>{"use strict";c.d(b,{yv:()=>f});var d=c(90426);let e=/^(?:\uFEFF)?---[ \t]*(?:\r\n|\n|\r)/;function f(a){let b=function(a){let b=e.exec(a);if(!b)return null;let c=/^---[ \t]*(?:(?:\r\n|\n|\r)|$)/gm;c.lastIndex=b[0].length;let d=c.exec(a);return d?{yaml:a.slice(b[0].length,d.index).replace(/(?:\r\n|\n|\r)$/,""),rest:a.slice(d.index+d[0].length)}:null}(a);if(!b)return{data:null,rest:a};try{let a=(0,d.Hh)(b.yaml);if(a&&"object"==typeof a&&!Array.isArray(a))return{data:a,rest:b.rest}}catch{}return{data:null,rest:b.rest}}},24923:(a,b,c)=>{"use strict";c.d(b,{GC:()=>y,HI:()=>B,IL:()=>A,KI:()=>r,OG:()=>q,P9:()=>v,l:()=>z,sg:()=>C,xw:()=>x});var d=c(79646),e=c(29021),f=c(33873),g=c(28354),h=c(25252),i=c(58864);let j=(0,g.promisify)(d.execFile);function k(){return globalThis.__piProjectCache||(globalThis.__piProjectCache=new Map),globalThis.__piProjectCache}function l(){globalThis.__piProjectCache?.clear(),globalThis.__piProjectCacheGeneration=(globalThis.__piProjectCacheGeneration??0)+1,globalThis.__piProjectRefresh?.clear()}async function m(a,b,c=1e4){let{stdout:d}=await j("git",["-C",a,...b],{timeout:c,maxBuffer:1048576,env:{...process.env,LC_ALL:"C"}});return d.trim()}let n=new Set(["EMFILE","ENFILE","EAGAIN","ENOMEM"]);function o(a){try{return(0,e.realpathSync)(a)}catch{return a}}function p(a){let b=(0,f.dirname)(a);if(".git"===(0,f.basename)(a))return b;try{let c=/^gitdir:\s*(.+?)\s*$/m.exec((0,e.readFileSync)((0,f.join)(b,".git"),"utf8"));if(c&&(0,i.Eb)(o((0,f.resolve)(b,c[1])),o(a)))return b}catch{}return a}function q(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"))||["HEAD","objects","refs"].every(a=>(0,e.existsSync)((0,f.join)(c,a))))?{projectRoot:o(c),branch:(0,f.basename)(a),isWorktree:!0,isTopLevel:!0}:null}async function r(a){let b,c=k(),d=c.get(a),e=Date.now();if(d&&d.expiresAt>e)return d.info;if(d)return function(a){let b=globalThis.__piProjectRefresh??=new Map;if(b.has(a))return;let c=globalThis.__piProjectCacheGeneration??0,d=s(a).then(b=>{(globalThis.__piProjectCacheGeneration??0)===c&&k().set(a,{info:b,expiresAt:Date.now()+6e4})}).catch(()=>{}).finally(()=>{b.get(a)===d&&b.delete(a)});b.set(a,d)}(a),d.info;try{b=await s(a)}catch(b){return console.error(`[pi-web] resolveProject: git failed for ${a}, not cached: ${b instanceof Error?b.message:String(b)}`),{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1}}return c.set(a,{info:b,expiresAt:Date.now()+6e4}),b}async function s(a){let b;try{if(!(0,e.existsSync)(a))return q(a)??{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1};let[c,d,f,g]=(await m(a,["rev-parse","--path-format=absolute","--git-common-dir","--git-dir","--show-toplevel","--abbrev-ref","HEAD"])).split("\n").map(a=>a.trim()),[h,j,k]=[c,d,f].map(i.gB),l=o(a),n=(0,i.Eb)(k,l),r=!(0,i.Eb)(j,h)&&n,s=r?p(h):k;b={projectRoot:n?o(s):a,branch:g&&"HEAD"!==g?g:null,isWorktree:r,isTopLevel:n}}catch(c){if(function(a){if(!(a instanceof Error))return!1;let{code:b,killed:c,signal:d}=a;return!0===c||"string"==typeof d&&""!==d||"string"==typeof b&&n.has(b)}(c))throw c;b={projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1}}return b}async function t(a){let b=await m(a,["rev-parse","--path-format=absolute","--git-common-dir"]);return o(p((0,i.gB)(b)))}async function u(a){let b=await m(a,["worktree","list","--porcelain"]),c=[],d=null,f=()=>{d?.path&&c.push({path:d.path,branch:d.branch??null,missing:!0===d.prunable||!(0,e.existsSync)(d.path)}),d=null};for(let a of b.split("\n"))a.startsWith("worktree ")?(f(),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()&&f();return f(),c}async function v(a){return(await u(a)).filter(a=>!a.missing).map(({path:a,branch:b},c)=>({path:a,branch:b,isMain:0===c}))}function w(a,b){return a.find(a=>(0,i.Eb)(a.path,b))}function x(a,b){return w(a,o(b))?.path??null}class y extends Error{constructor(a,b,c){super(c?`Branch '${a}' belongs to a worktree whose folder is gone: ${b}; git worktree prune clears it`:`Branch '${a}' is already checked out at ${b}`),this.branch=a,this.worktreePath=b,this.missing=c}}async function z(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 t(a),i=(await u(g)).find(a=>a.branch===c);if(i)throw new y(c,i.path,i.missing);let j=`${(0,f.resolve)(g)}-worktrees`,k=(0,f.join)(j,d);if((0,e.existsSync)(k))throw Error(`Directory already exists: ${k}`);(0,e.mkdirSync)(j,{recursive:!0});let n=!1;try{await m(g,["rev-parse","--verify","--quiet",`refs/heads/${c}`]),n=!0}catch{n=!1}try{if(n)await m(g,["worktree","add","--",k,c],3e5);else{let a;try{await m(g,["rev-parse","--verify","--quiet",`refs/remotes/origin/${c}`]),a=`refs/remotes/origin/${c}`}catch{a=void 0}let b=["worktree","add","-b",c,"--",k];a&&b.push(a),await m(g,b,3e5)}}catch(a){throw Error(D(a))}return(0,h.wz)(k),l(),{path:k,branch:c}}async function A(a,b,c=!1){let d=w(await v(a),o(b));if(!d)throw Error(`Not a worktree of this repository: ${b}`);if(d.isMain)throw Error("Cannot remove the main worktree");try{await m(a,["worktree","remove",...c?["--force"]:[],d.path])}catch(a){throw Error(D(a))}l()}function B(a){return C(a)||/containing submodules/i.test(a)}function C(a){return/contains modified or untracked files|is dirty/i.test(a)}function D(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";c.d(b,{HM:()=>f,Nw:()=>e,wz:()=>g});var d=c(58864);function e(a){return(0,d.W3)(a)}function f(){return globalThis.__piAdditionalAllowedRoots||(globalThis.__piAdditionalAllowedRoots=new Set),globalThis.__piAdditionalAllowedRoots}function g(a){if(!a)return;let b=e(a);f().add(b),globalThis.__piAllowedRootsCache?.roots.add(b)}},27367:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{N:()=>o,Q$:()=>n,UF:()=>s,UM:()=>r,ef:()=>p,hd:()=>m,o9:()=>q});var e=c(73024),f=c(76760),g=c(75430),h=c(8102),i=a([g]);g=(i.then?(await i)():i)[0];let s=32;function j(a){if(!Array.isArray(a))return[];let b=[],c=new Set;for(let d of a){if("string"!=typeof d)continue;let a=d.trim(),e=a.toLowerCase();!a||c.has(e)||(c.add(e),b.push(a))}return b}function k(a=(0,g.getAgentDir)()){return(0,f.join)(a,"agents","settings.json")}function l(a){if(!(0,e.existsSync)(a))return{};let b=JSON.parse((0,e.readFileSync)(a,"utf8"));if(null===b||"object"!=typeof b||Array.isArray(b))throw Error("Invalid subagent settings: expected an object");return b}function m(a=k()){var b,c,d;let e=l(a);return c=!0===e.builtInEnabled,d="number"==typeof(b=e.maxConcurrent)&&Number.isInteger(b)&&b>=1&&b<=s?b:10,Object.defineProperty({builtInEnabled:c,disabledBuiltIns:j(e.disabledBuiltIns)},"maxConcurrent",{value:d,enumerable:!1,configurable:!0})}function n(a=k()){try{return new Set(m(a).disabledBuiltIns.map(a=>a.toLowerCase()))}catch{return new Set}}function o(a=k()){try{return m(a).builtInEnabled}catch{return!1}}function p(a,b=k()){let c=l(b);return(0,e.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,h.$)(b,JSON.stringify({...c,version:1,builtInEnabled:a},null,2)),m(b)}function q(a,b,c=k()){let d=a.trim();if(!d)throw Error("Sub-agent name is required");let g=l(c),i=j(g.disabledBuiltIns),n=d.toLowerCase(),o=i.some(a=>a.toLowerCase()===n);if(b===o)return m(c);let p=b?o?i:[...i,d]:i.filter(a=>a.toLowerCase()!==n);return(0,e.mkdirSync)((0,f.dirname)(c),{recursive:!0}),(0,h.$)(c,JSON.stringify({...g,version:1,disabledBuiltIns:p},null,2)),m(c)}function r(a,b=k()){if(!Number.isInteger(a)||a<1||a>s)throw Error(`maxConcurrent must be an integer between 1 and ${s}`);let c=l(b);return(0,e.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,h.$)(b,JSON.stringify({...c,version:1,maxConcurrent:a},null,2)),m(b)}d()}catch(a){d(a)}})},38363:(a,b,c)=>{"use strict";function d(a){if(!a.startsWith("npm:"))return;let b=a.slice(4).trim(),c=b.match(/^(@?[^@]+(?:\/[^@]+)?)(?:@(.+))?$/);return{name:c?.[1]??b,spec:b,version:c?.[2]}}c.d(b,{e:()=>d})},40402:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>e.getAgentDir,BR:()=>S,DK:()=>U,G1:()=>O,H6:()=>w,O5:()=>y,O8:()=>R,Uv:()=>X,Vg:()=>V,bA:()=>J,dQ:()=>E,eP:()=>T,is:()=>W,j6:()=>N,mD:()=>I,nZ:()=>z,os:()=>P,rJ:()=>D,u1:()=>Q,z:()=>B,zH:()=>x});var e=c(75430),f=c(29021),g=c(79748),h=c(33873),i=c(12039),j=c(85963),k=c(50880),l=c(74244),m=c(45902),n=c(69114),o=c(79535),p=c(24923),q=c(7048),r=c(766),s=a([e,q,r]);function t(a,b,c){let d=(0,f.openSync)(a,"r");try{let a=[],e=0,g=0,h=!1;for(;e<b&&g<c;){let i=Buffer.allocUnsafe(Math.min(4096,b-e)),j=(0,f.readSync)(d,i,0,i.length,e);if(0===j){h=!0;break}e+=j;let k=i.subarray(0,j),l=k.length;for(let a=0;a<k.length;a+=1)if(10===k[a]&&(g+=1)===c){l=a+1;break}a.push(k.subarray(0,l))}let i=Buffer.concat(a).toString("utf8"),j=i.split("\n");return h||i.endsWith("\n")||j.pop(),""===j.at(-1)&&j.pop(),j.map(a=>a.endsWith("\r")?a.slice(0,-1):a)}finally{(0,f.closeSync)(d)}}function u(a,b){let c=(0,f.openSync)(a,"r");try{let a=(0,f.fstatSync)(c).size,d=Math.max(0,a-b),e=Buffer.allocUnsafe(a-d),g=(0,f.readSync)(c,e,0,e.length,d);if(0===g)return[];let h=e.subarray(0,g).toString("utf8").split("\n");if(d>0){let a=Buffer.allocUnsafe(1);(0,f.readSync)(c,a,0,1,d-1),10!==a[0]&&h.shift()}return""===h.at(-1)&&h.pop(),h.map(a=>a.endsWith("\r")?a.slice(0,-1):a)}finally{(0,f.closeSync)(c)}}function v(a){return a.flatMap(a=>{try{return[JSON.parse(a)]}catch{return[]}})}function w(a){let b;if(a){try{b=u(a,65536)}catch{return}for(let a=b.length-1;a>=0;a-=1){let c=function(a){try{let b=JSON.parse(a);if("session"===b.type)return;return"string"==typeof b.id&&b.id?b.id:void 0}catch{return}}(b[a]);if(c)return c}}}async function x(a){let b=[...new Set(a.map(a=>a.cwd).filter(Boolean))],c=new Map;return await Promise.all(b.map(async a=>{c.set(a,await (0,p.KI)(a))})),a.map(a=>{let b=a.cwd?c.get(a.cwd):void 0,d=b?.projectRoot??a.cwd;return{...a,projectRoot:d,projectKey:(0,l.z)(d),...b?.branch?{branch:b.branch}:{},...b?.isWorktree?{isWorktree:!0}:{}}})}function y(a,b){let c=new Map(b.map(a=>[a.id,a]));for(let b of a)c.set(b.id,b);return[...c.values()].sort((a,b)=>b.modified.localeCompare(a.modified))}[e,q,r]=s.then?(await s)():s;let _=new WeakMap;function z(a){let b=(0,n.d)(a)??a;if(b.length<=500)return b;let c=b.charCodeAt(499);return b.slice(0,c>=55296&&c<=56319?499:500)}async function A(a){let b=new Map;for(let c of a)b.set((0,m.$)(c.path),c.id);return x(a.map(a=>(function(a,b){R(a.id,a.path);let{originSessionId:c,subagent:d}=function(a,b){let c=a.parentSessionPath?b.get((0,m.$)(a.parentSessionPath)):void 0;if(!a.parentSessionPath)return{originSessionId:c,subagent:null};let d=_.get(a);if(void 0!==d)return{originSessionId:c,subagent:d};try{var e;let b,d=(0,q.$u)((e=a.path,(b=v(t(e,262144,2).slice(1))).some(a=>"custom"===a.type&&a.customType===q.tP)?[...b,...v(u(e,262144))]:b),a.id,a.path);return _.set(a,d),{originSessionId:c,subagent:d}}catch{return{originSessionId:c,subagent:null}}}(a,b),e=!0===a.detailsPending;return{path:a.path,id:a.id,cwd:a.cwd,name:a.name,created:a.created.toISOString(),modified:a.modified.toISOString(),messageCount:a.messageCount,firstMessage:e&&!a.firstMessage?"":z(a.firstMessage||"(no messages)"),parentSessionId:c,...d?{relation:{kind:"subagent",parentSessionId:d.parentSessionId,profile:d.profile,description:d.description,status:d.status}}:a.parentSessionPath?{relation:{kind:"fork",...c?{originSessionId:c}:{}}}:{},transient:!1,...e?{detailsPending:!0}:{}}})(a,b)))}async function B(a){let b=await (0,r._p)(a);return b?(await A([b]))[0]??null:null}async function C(){return A(await (0,r.q8)())}async function D(){return A(await (0,r.q8)({deferDetails:!0}))}async function E(a={}){a.force&&I();let b=globalThis.__piSessionListGeneration??0,c=globalThis.__piSessionListCache;if(c&&c.generation===b&&Date.now()-c.ts<aa)return c.data;if(a.allowStale&&c)return E().catch(()=>void 0),c.data;if(globalThis.__piSessionListPromise&&globalThis.__piSessionListPromiseGeneration===b)return globalThis.__piSessionListPromise;let d=C().then(a=>(globalThis.__piSessionListGeneration??0)!==b?E():(globalThis.__piSessionListCache={data:a,ts:Date.now(),generation:b},a)).finally(()=>{globalThis.__piSessionListPromise===d&&(globalThis.__piSessionListPromise=void 0,globalThis.__piSessionListPromiseGeneration=void 0)});return globalThis.__piSessionListPromise=d,globalThis.__piSessionListPromiseGeneration=b,d}let aa=3e4,ab=/^[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?$/;function F(){return(0,h.join)((0,e.getAgentDir)(),"sessions")}function G(a,b=(0,h.resolve)(F())){let c=(0,h.resolve)(a),d=(0,h.relative)(b,c);return""===d||".."===d||d.startsWith(`..${h.sep}`)||(0,h.isAbsolute)(d)?null:c}async function H(a){let b,c;if(!ab.test(a))return null;let d=(0,h.resolve)(F());try{b=await (0,g.readdir)(d,{withFileTypes:!0})}catch{return null}let e=`_${a}.jsonl`;for(let f of b){let b;if(!f.isDirectory()&&!f.isSymbolicLink())continue;let i=G((0,h.join)(d,f.name),d);if(i){try{b=await (0,g.readdir)(i)}catch{continue}for(let f of b){if(!f.endsWith(e))continue;let b=G((0,h.join)(i,f),d);if(b){try{if(T(b)?.id!==a)continue}catch{continue}if(c&&c!==b)return null;c=b}}}}return c??null}function I(){globalThis.__piSessionListGeneration=(globalThis.__piSessionListGeneration??0)+1}function J(){return(0,r.jr)(F(),I),globalThis.__piSessionListGeneration??0}function K(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}function L(){return globalThis.__piPathToSessionIdCache||(globalThis.__piPathToSessionIdCache=new Map),globalThis.__piPathToSessionIdCache}function M(){return globalThis.__piSmCache||(globalThis.__piSmCache=new Map),globalThis.__piSmCache}function N(a){let b=M();void 0===a?b.clear():b.delete((0,m.$)(a))}function O(a,b={}){if(b.mutable)return e.SessionManager.open(a,void 0);let c=M(),d=(0,m.$)(a),g=function(a){try{let b=(0,f.statSync)(a);return{fingerprint:`${b.size}:${b.mtimeMs}`,bytes:b.size}}catch{return null}}(a);if(null===g)return c.delete(d),e.SessionManager.open(a,void 0);let h=c.get(d);if(h&&h.fingerprint===g.fingerprint)return c.delete(d),c.set(d,h),h.sm;let i=e.SessionManager.open(a,void 0);if(g.bytes>0x4000000)return c.delete(d),i;c.set(d,{sm:i,fingerprint:g.fingerprint,bytes:g.bytes});let j=0;for(let a of c.values())j+=a.bytes;for(;c.size>12||j>0x10000000;){let a=c.keys().next().value;if(void 0===a)break;j-=c.get(a)?.bytes??0,c.delete(a)}return i}async function P(a){let b=K().get(a);if(b)return b;let c=await H(a);return c?R(a,c):await E(),K().get(a)??null}async function Q(a){let b=(0,m.$)(a),c=L().get(b);if(c)return c;let d=function(a){if(!a.endsWith(".jsonl"))return;let b=G(a);if(b)try{let a=T(b)?.id;if(!a)return;return R(a,b),a}catch{return}}(a);return d||(await E(),L().get(b))}function R(a,b){let c=(0,h.normalize)(b),d=(0,m.$)(c),e=K(),f=L(),g=e.get(a),i=g?(0,m.$)(g):void 0,j=f.get(d),k=j?e.get(j):void 0;i&&i!==d&&f.get(i)===a&&f.delete(i),j&&j!==a&&k&&(0,m.$)(k)===d&&e.delete(j),e.set(a,c),f.set(d,a)}function S(a){let b=K(),c=L(),d=b.get(a);b.delete(a);let e=d?(0,m.$)(d):void 0;e&&c.get(e)===a&&c.delete(e)}function T(a){let b=t(a,65536,1)[0]?.trimEnd();if(!b)return null;try{let a=JSON.parse(b);return"session"===a.type?a:null}catch{return null}}function U(a){return O(a).getEntries()}function V(a){for(let b=a.length-1;b>=0;b--){let c=a[b];if("model_change"===c.type)return{provider:c.provider,modelId:c.modelId}}return null}function W(a,b){let c,d;if(null===b)return{thinkingLevel:"off",model:null};let e=Y(a,b??null,a.length);for(let a=e.length-1;a>=0&&(void 0===c||void 0===d);a--){let b=e[a];if(void 0===c&&"thinking_level_change"===b.type&&(c=b.thinkingLevel),void 0===d&&"message"===b.type&&"assistant"===b.message.role){let a=b.message;"string"==typeof a.provider&&"string"==typeof a.model&&(d={provider:a.provider,modelId:a.model})}}return{thinkingLevel:c??"off",model:V(e)??d??null}}function X(a,b,c={}){let{tail:d,excludeLeaf:e}=c,f=null===b?[]:Y(a,b??null,d&&d>0?d:a.length,e),g=!!(d&&d>0&&f[0]?.parentId),h=g?function(a,b){let c=new Map;for(let b of a)c.set(b.id,b);let d=0,e=b.parentId?c.get(b.parentId):void 0;for(;e;){let a=function(a){switch(a.type){case"message":return"system"===a.message.role?null:a.message;case"compaction":return{role:"custom",customType:"compaction",display:!0};case"branch_summary":return a.summary?{role:"user"}:null;case"custom_message":return{role:"custom",customType:a.customType,display:a.display};default:return null}}(e);a&&(0,k.Y0)(a)&&d++,e=e.parentId?c.get(e.parentId):void 0}return d}(a,f[0]):0,l=[],m=[];for(let a of f){let b=function(a,b){switch(a.type){case"message":{if("system"===a.message.role)return null;let c=(0,j.r)(a.message),d=b.deferToolResultImages?function(a,b,c){if("toolResult"!==a.role)return a;let d=0,e=0,f=new Set,g=a.content.flatMap((a,g)=>{let h=function(a){let b,c;if(!$(a)||"image"!==a.type||("string"==typeof a.data?(b=a.data,c="string"==typeof a.mimeType?a.mimeType:void 0):$(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 h?b&&h.mime&&o.N.has(h.mime)&&h.bytes>0&&h.bytes<=o.c?[{type:"image",source:{type:"url",media_type:h.mime,url:`/api/sessions/${encodeURIComponent(b)}/entries/${encodeURIComponent(c)}/tool-result-image?blockIndex=${g}`}}]:(d+=1,e+=h.bytes,h.mime&&f.add(h.mime),[]):[a]});if(0===d)return{...a,content:g};let h=f.size>0?`: ${[...f].join(", ")}`:"";return g.push({type:"text",text:`[${d} tool result image${1===d?"":"s"} omitted from initial history payload${h}, ~${e} bytes]`}),{...a,content:g}}((0,i.B)(c),b.sessionId,a.id):(0,i.B)(c),e="assistant"===d.role?d.content:void 0;if("string"==typeof e&&(d={...d,content:[{type:"text",text:e}]}),!b.deferThinking||"assistant"!==d.role)return d;let f=d.content;return{...d,content:f.map(a=>"thinking"===a.type&&""!==a.thinking.trim()?{...a,thinking:(0,k.de)(a.thinking),deferred:!0}:a)}}case"compaction":return{role:"custom",customType:"compaction",content:a.summary,display:!0,details:{tokensBefore:a.tokensBefore,firstKeptEntryId:a.firstKeptEntryId},timestamp:Z(a.timestamp)};case"branch_summary":if(!a.summary)return null;return{role:"user",content:`*The conversation briefly explored another branch and returned with this summary:*
|
|
7
7
|
|
|
8
|
-
${a.summary}`,timestamp:
|
|
8
|
+
${a.summary}`,timestamp:Z(a.timestamp)};case"custom_message":return{role:"custom",customType:a.customType,content:a.content,display:a.display,details:a.details,timestamp:Z(a.timestamp)};default:return null}}(a,c);b&&(l.push(b),m.push(a.id))}return{messages:l,entryIds:m,oldestEntryId:f[0]?.id??null,hasMore:g,turnsBefore:h,...W(a,b)}}function Y(a,b,c,d=!1){if(c<=0)return a;let e=new Map;for(let b of a)e.set(b.id,b);let f=b?e.get(b):a[a.length-1];if(d&&(f=f?.parentId?e.get(f.parentId):void 0),!f)return[];let g=[],h=f,i=0,j=Math.max(200,6*c);for(;h&&(g.push(h),function(a){if("compaction"===a.type)return!0;if("message"!==a.type)return!1;let b=a.message?.role;return"user"===b||"assistant"===b}(h)&&i++,!(i>=c)&&!(g.length>=j));)h=h.parentId?e.get(h.parentId):void 0;return g.reverse(),g}function Z(a){let b=Date.parse(a);return Number.isNaN(b)?void 0:b}function $(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}d()}catch(a){d(a)}})},41761:(a,b,c)=>{"use strict";c.d(b,{C1:()=>e,kU:()=>d});let d=["read","grep","find","ls"],e=["bash","read","edit","write","grep","find","ls"];[...e]},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}},50880:(a,b,c)=>{"use strict";function d(a){return a.trimStart().match(/^[^\r\n]{0,240}/u)?.[0].trimEnd()??""}function e(a){return"user"===a.role||"custom"===a.role&&!("custom"===a.role&&!a.display)&&("compaction"===a.customType||"pi-web:subagent-notification"===a.customType||"subagent-notification"===a.customType)}c.d(b,{Y0:()=>e,de:()=>d})},58864:(a,b,c)=>{"use strict";c.d(b,{A_:()=>h,Eb:()=>l,V:()=>m,W3:()=>j,gB:()=>i,uK:()=>g});var d=c(29021),e=c(33873);let f=/^[a-zA-Z]:[\\/]/;function g(a){return f.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function h(a){let b=a.join("/"),c=j(b);return/^[a-zA-Z]:$/.test(c)?`${c}/`:g(c)?c:"/"+b.replace(/^\/+/,"")}function i(a){return a&&"win32"===process.platform?(0,e.normalize)(a):a}function j(a){return a.replace(/\\/g,"/")}function k(a){let b=(0,e.normalize)(i(a)),c=(0,e.parse)(b).root.length,d=b.length;for(;d>c&&b[d-1]===e.sep;)d--;return b.slice(0,d)}function l(a,b){if(a===b)return!0;if(!a||!b)return!1;let c=k(a),d=k(b);return"win32"===process.platform?c.toLowerCase()===d.toLowerCase():c===d}function m(a){let b=(0,e.resolve)(a),c=b;for(;;)try{return(0,e.join)((0,d.realpathSync)(c),(0,e.relative)(c,b))}catch{let a=(0,e.dirname)(c);if(a===c)return b;c=a}}},69114:(a,b,c)=>{"use strict";c.d(b,{d:()=>e});let d=/^<skill name="([^"\n]+)" location="([^"\n]+)">\nReferences are relative to [^\n]+\.\n\n([\s\S]*)\n<\/skill>(?:\n\n([\s\S]+))?$/;function e(a){let b=a.match(d);if(!b)return null;let[,c,,,e]=b;return e?`/skill:${c} ${e}`:`/skill:${c}`}},74244:(a,b,c)=>{"use strict";c.d(b,{z:()=>f});var d=c(76760),e=c.n(d);function f(a,b=process.platform){if(!a)return a;let c="win32"===b?e().win32:e().posix,d=c.normalize(a),g=c.parse(d).root.length,h=d.length;for(;h>g&&d[h-1]===c.sep;)h--;let i=d.slice(0,h);return"win32"===b?i.toLowerCase():i}},78335:()=>{},79535:(a,b,c)=>{"use strict";c.d(b,{N:()=>e,c:()=>d});let d=0xa00000,e=new Set(["image/png","image/jpeg","image/webp","image/gif","image/bmp","image/avif"])},82536:(a,b,c)=>{"use strict";c.d(b,{TU:()=>j,o4:()=>h,qy:()=>i,xk:()=>k});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=new Set;for(let c of a)try{b.add((0,d.realpathSync)(c))}catch{}return b}function j(a){let b="win32"===process.platform||(0,g.uK)(a)?/[\\/]/:"/";return a.split(b).includes("..")}function k(a,b){let c;if(j(a))return!1;try{c=(0,d.realpathSync)(a)}catch{return!1}return h(c,i(b))}},85963:(a,b,c)=>{"use strict";c.d(b,{L:()=>f,r:()=>g});let d=["thinkingSignature","textSignature","thoughtSignature"];function e(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function f(a){if(!e(a)||!d.some(b=>Object.hasOwn(a,b)))return a;let b={...a};for(let a of d)delete b[a];return b}function g(a){if(!e(a)||"assistant"!==a.role||!Array.isArray(a.content))return a;let b=!1,c=a.content.map(a=>{let c=f(a);return b||=c!==a,c});return b?{...a,content:c}:a}},96487:()=>{}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=6216,exports.ids=[6216],exports.modules={10674:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AC:()=>o,WD:()=>k,cj:()=>m,lz:()=>n});var e=c(73024),f=c(76760),g=c(75430),h=c(80974),i=c.n(h),j=a([g]);function k(a=(0,g.getAgentDir)()){return(0,f.join)(a,"settings.json")}function l(a){if(!(0,e.existsSync)(a))return{};let
|
|
1
|
+
"use strict";exports.id=6216,exports.ids=[6216],exports.modules={10674:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AC:()=>o,WD:()=>k,cj:()=>m,lz:()=>n});var e=c(73024),f=c(76760),g=c(75430),h=c(80974),i=c.n(h),j=a([g]);function k(a=(0,g.getAgentDir)()){return(0,f.join)(a,"settings.json")}function l(a){var b;let c;if(!(0,e.existsSync)(a))return{};let d=(0,e.readFileSync)(a,"utf8");try{c=JSON.parse(d)}catch(c){let b=c instanceof Error?c.message:String(c);throw SyntaxError(`${a}: ${b}`)}if(!("object"==typeof(b=c)&&null!==b&&!Array.isArray(b)))throw Error("Invalid settings.json: expected an object");return c}function m(a){if(void 0!==a.defaultTools){if(!Array.isArray(a.defaultTools)||a.defaultTools.some(a=>"string"!=typeof a))throw Error("Invalid settings.json: defaultTools must be an array of strings");return[...a.defaultTools]}}async function n(a,b){if(!(0,e.existsSync)(a))return b({});let c=await i().lock(a,{realpath:!1,retries:10});try{return b(l(a))}finally{await c()}}async function o(a,b){(0,e.mkdirSync)((0,f.dirname)(a),{recursive:!0});try{(0,e.writeFileSync)(a,"{}",{flag:"wx",mode:384})}catch(a){if("EEXIST"!==a.code)throw a}let c=await i().lock(a,{realpath:!1,retries:10});try{let c=l(a),d=b(c);return(0,e.writeFileSync)(a,JSON.stringify(c,null,2),"utf8"),(0,e.chmodSync)(a,384),d}finally{await c()}}g=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},16216:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{O_:()=>k,f:()=>l});var e=c(31421),f=c(80214),g=c(48571),h=a([g]);function i(a){return a instanceof Error?a.message:String(a)}g=(h.then?(await h)():h)[0];class m{constructor(a){this.deps=a,this.enabled=!1,this.loaded=!1,this.loading=null,this.disposed=!1,this.state="idle",this.child=null,this.epoch=0,this.failedThisRun=!1,this.watchdog=null,this.pending=new Set}status(){let{plan:a}=this.deps;return{enabled:this.enabled,supported:a.supported,...a.supported?{}:{unsupportedReason:a.reason},active:"held"===this.state,...this.failure?{failure:this.failure}:{}}}async ready(){this.loaded||this.startLoading(),await this.loading}refresh(){this.disposed||(this.loaded?(this.enabled||"idle"!==this.state)&&this.sync():this.startLoading())}async setEnabled(a){return this.loaded=!0,this.enabled=a,this.failedThisRun=!1,this.failure=void 0,this.sync(),await this.settled(),this.status()}dispose(){this.disposed=!0,this.epoch+=1,this.state="idle",this.failedThisRun=!1,this.armWatchdog();let a=this.child;if(this.child=null,a)try{a.stdin?.destroy(),a.kill()}catch{}}startLoading(){this.loading||(this.loading=Promise.resolve().then(()=>this.deps.loadEnabled()).then(a=>{this.loaded||(this.enabled=a)},a=>this.deps.log(`could not read the setting, leaving it off: ${i(a)}`)).then(()=>{this.loaded=!0,this.loading=null,this.sync()}))}sync(){if(!this.disposed)try{let a=this.enabled||"idle"!==this.state?this.deps.countRunning():0;0===a&&(this.failedThisRun=!1),this.enabled&&this.deps.plan.supported&&a>0&&!this.failedThisRun?"idle"===this.state&&this.acquire():"idle"!==this.state&&this.release(),this.armWatchdog()}catch(a){this.deps.log(`could not update the sleep hold: ${i(a)}`)}}acquire(){let{plan:a}=this.deps;if(!a.supported)return;let b=++this.epoch;this.state="acquiring";let c=a=>{let b=this.child;this.child=null,b&&this.terminate(b),this.state="idle",this.failedThisRun=!0,this.failure=a,this.deps.log(`could not prevent system sleep (${a})`),this.armWatchdog()};this.track((async()=>{let d=[];for(let c of a.holders){let a=await this.start(c,b);if(b!==this.epoch)return;if(a.ok){this.state="held",this.failure=void 0;return}d.push(`${c.label}: ${a.error}`)}c(d.join("; "))})().catch(a=>{b===this.epoch&&c(i(a))}))}start(a,b){return new Promise(c=>{let d;try{d=this.deps.spawn(a.command,a.args,{stdio:["pipe","pipe","pipe"],windowsHide:!0,env:(0,f.G0)(this.deps.env)})}catch(a){c({ok:!1,error:i(a)});return}this.child=d;let e=!1,g=!1,h="",j="",k=a=>{g||(g=!0,clearTimeout(l),c(a))},l=setTimeout(()=>{this.terminate(d),k({ok:!1,error:`it did not report ready within ${Math.round(this.deps.readyTimeoutMs/1e3)} s`})},this.deps.readyTimeoutMs);l.unref?.(),d.stdin?.on("error",()=>{}),d.stdout?.setEncoding("utf8"),d.stdout?.on("data",a=>{!e&&(h+=a).split(/\r?\n/).includes(f.KJ)&&(e=!0,k({ok:!0}))}),d.stderr?.setEncoding("utf8"),d.stderr?.on("data",a=>{j=(j+a).slice(-2e3)}),d.once("error",a=>{this.child===d&&(this.child=null),k({ok:!1,error:i(a)})}),d.once("exit",(c,f)=>{let g=f??`code ${c}`;e||k({ok:!1,error:j.trim()||`it exited (${g}) before it held the lock`}),this.child!==d||(this.child=null,"held"===this.state&&b===this.epoch&&(this.state="idle",this.failedThisRun=!0,this.failure=`${a.label} stopped unexpectedly (${g})${j.trim()?`: ${j.trim()}`:""}`,this.deps.log(`the sleep hold ended early (${this.failure})`),this.armWatchdog()))})})}release(){this.epoch+=1;let a=this.child;this.child=null,this.state="idle",a&&this.terminate(a)}terminate(a){this.track(new Promise(b=>{if(null!==a.exitCode||null!==a.signalCode)return void b();let c=setTimeout(()=>{try{a.kill("SIGKILL")}catch{}},this.deps.graceMs);c.unref?.();let d=()=>{clearTimeout(c),b()};a.once("exit",d),a.once("error",d)}));try{a.stdin?.destroy(),a.kill()}catch{}}track(a){this.pending.add(a);let b=()=>this.pending.delete(a);return a.then(b,b),a}async settled(){let a,b=new Promise(b=>{a=setTimeout(b,this.deps.readyTimeoutMs+this.deps.graceMs+1e3),a.unref?.()}),c=(async()=>{for(;this.pending.size>0;)await Promise.allSettled([...this.pending])})();await Promise.race([c,b]),clearTimeout(a)}armWatchdog(){if("idle"===this.state&&!this.failedThisRun){this.watchdog&&clearInterval(this.watchdog),this.watchdog=null;return}this.watchdog||(this.watchdog=setInterval(()=>this.sync(),this.deps.watchdogMs),this.watchdog.unref?.())}}function j(){let a=0;for(let b of globalThis.__piSessions?.values()??[])b.isRunning()&&(a+=1);return a}function k(){if(!globalThis.__piSleepInhibitor){let a=function(a={}){return new m({plan:(0,f.t)(),countRunning:j,loadEnabled:()=>(0,g.e2)(),spawn:e.spawn,env:process.env,readyTimeoutMs:1e4,graceMs:2e3,watchdogMs:3e4,log:a=>console.warn(`[pi-web] sleep inhibitor: ${a}`),...a})}();globalThis.__piSleepInhibitor=a,process.once("exit",()=>a.dispose())}return globalThis.__piSleepInhibitor}function l(){try{k().refresh()}catch(a){console.warn(`[pi-web] sleep inhibitor: ${i(a)}`)}}d()}catch(a){d(a)}})},48571:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{PN:()=>i,e2:()=>h});var e=c(73024),f=c(10674),g=a([f]);f=(g.then?(await g)():g)[0];let j="piWebPreventSleep";function h(a=(0,f.WD)()){return(0,f.lz)(a,a=>!0===a[j])}async function i(a,b=(0,f.WD)()){(a||(0,e.existsSync)(b))&&await (0,f.AC)(b,b=>{a?b[j]=!0:delete b[j]})}d()}catch(a){d(a)}})},80214:(a,b,c)=>{c.d(b,{G0:()=>k,KJ:()=>f,t:()=>j});var d=c(73024),e=c(76760);let f="ready",g="Pi Web is running a task",h=`echo ${f}; exec cat >/dev/null`,i=`$ErrorActionPreference = 'Stop'
|
|
2
2
|
Add-Type -Namespace PiWeb -Name Power -MemberDefinition '[System.Runtime.InteropServices.DllImport("kernel32.dll")] public static extern uint SetThreadExecutionState(uint esFlags);'
|
|
3
3
|
[void][PiWeb.Power]::SetThreadExecutionState(2147483649)
|
|
4
4
|
[Console]::Out.WriteLine('${f}')
|