@goldenlustre/agent-studio 1.0.1
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 -0
- package/.next/app-path-routes-manifest.json +63 -0
- package/.next/build-manifest.json +20 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/export-marker.json +6 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +217 -0
- package/.next/react-loadable-manifest.json +2367 -0
- package/.next/required-server-files.js +388 -0
- package/.next/required-server-files.json +388 -0
- package/.next/routes-manifest.json +485 -0
- package/.next/server/app/_global-error/page.js +31 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +27 -0
- package/.next/server/app/_global-error.rsc +14 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +20 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page.js +1 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +27 -0
- package/.next/server/app/_not-found.rsc +21 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +21 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +25 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -0
- package/.next/server/app/api/agent/[id]/bash-output/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/[id]/events/route.js +3 -0
- package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/[id]/lease/route.js +1 -0
- package/.next/server/app/api/agent/[id]/lease/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/[id]/lease/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/[id]/route.js +1 -0
- package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/new/route.js +1 -0
- package/.next/server/app/api/agent/new/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/running/route.js +1 -0
- package/.next/server/app/api/agent/running/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/running/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/app-update/route.js +1 -0
- package/.next/server/app/api/app-update/route.js.nft.json +1 -0
- package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -0
- package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/login/[provider]/route.js +3 -0
- package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -0
- package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/providers/route.js +1 -0
- package/.next/server/app/api/auth/providers/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cwd/browse/route.js +1 -0
- package/.next/server/app/api/cwd/browse/route.js.nft.json +1 -0
- package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cwd/mkdir/route.js +1 -0
- package/.next/server/app/api/cwd/mkdir/route.js.nft.json +1 -0
- package/.next/server/app/api/cwd/mkdir/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cwd/validate/route.js +1 -0
- package/.next/server/app/api/cwd/validate/route.js.nft.json +1 -0
- package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/default-cwd/route.js +1 -0
- package/.next/server/app/api/default-cwd/route.js.nft.json +1 -0
- package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/file-index/route.js +1 -0
- package/.next/server/app/api/file-index/route.js.nft.json +1 -0
- package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/files/[...path]/route.js +49 -0
- package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -0
- package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/git/diff/route.js +6 -0
- package/.next/server/app/api/git/diff/route.js.nft.json +1 -0
- package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/git/status/route.js +6 -0
- package/.next/server/app/api/git/status/route.js.nft.json +1 -0
- package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/home/route.js +1 -0
- package/.next/server/app/api/home/route.js.nft.json +1 -0
- package/.next/server/app/api/home/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/route.js +1 -0
- package/.next/server/app/api/models/route.js.nft.json +1 -0
- package/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/catalog/route.js +1 -0
- package/.next/server/app/api/models-config/catalog/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/discover/route.js +1 -0
- package/.next/server/app/api/models-config/discover/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/route.js +1 -0
- package/.next/server/app/api/models-config/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/test/route.js +1 -0
- package/.next/server/app/api/models-config/test/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/plugins/check/route.js +1 -0
- package/.next/server/app/api/plugins/check/route.js.nft.json +1 -0
- package/.next/server/app/api/plugins/check/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/plugins/route.js +1 -0
- package/.next/server/app/api/plugins/route.js.nft.json +1 -0
- package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/project-trust/route.js +1 -0
- package/.next/server/app/api/project-trust/route.js.nft.json +1 -0
- package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/provider-usage/query/route.js +1 -0
- package/.next/server/app/api/provider-usage/query/route.js.nft.json +1 -0
- package/.next/server/app/api/provider-usage/query/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/push/config/route.js +1 -0
- package/.next/server/app/api/push/config/route.js.nft.json +1 -0
- package/.next/server/app/api/push/config/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/push/subscribe/route.js +1 -0
- package/.next/server/app/api/push/subscribe/route.js.nft.json +1 -0
- package/.next/server/app/api/push/subscribe/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +10 -0
- package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/export/route.js +54 -0
- package/.next/server/app/api/sessions/[id]/export/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/route.js +1 -0
- package/.next/server/app/api/sessions/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/search/route.js +1 -0
- package/.next/server/app/api/sessions/search/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/search/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/check/route.js +1 -0
- package/.next/server/app/api/skills/check/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/install/route.js +1 -0
- package/.next/server/app/api/skills/install/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/route.js +4 -0
- package/.next/server/app/api/skills/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/search/route.js +1 -0
- package/.next/server/app/api/skills/search/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/update/route.js +1 -0
- package/.next/server/app/api/skills/update/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/subagents/[id]/route.js +1 -0
- package/.next/server/app/api/subagents/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/subagents/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/subagents/profiles/route.js +1 -0
- package/.next/server/app/api/subagents/profiles/route.js.nft.json +1 -0
- package/.next/server/app/api/subagents/profiles/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/subagents/settings/route.js +1 -0
- package/.next/server/app/api/subagents/settings/route.js.nft.json +1 -0
- package/.next/server/app/api/subagents/settings/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/terminal/[id]/events/route.js +4 -0
- package/.next/server/app/api/terminal/[id]/events/route.js.nft.json +1 -0
- package/.next/server/app/api/terminal/[id]/events/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/terminal/[id]/route.js +1 -0
- package/.next/server/app/api/terminal/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/terminal/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/terminal/route.js +1 -0
- package/.next/server/app/api/terminal/route.js.nft.json +1 -0
- package/.next/server/app/api/terminal/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/tools/settings/route.js +1 -0
- package/.next/server/app/api/tools/settings/route.js.nft.json +1 -0
- package/.next/server/app/api/tools/settings/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/web-auth/route.js +1 -0
- package/.next/server/app/api/web-auth/route.js.nft.json +1 -0
- package/.next/server/app/api/web-auth/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/worktrees/route.js +1 -0
- package/.next/server/app/api/worktrees/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -0
- package/.next/server/app/dashboard/page.js +1 -0
- package/.next/server/app/dashboard/page.js.nft.json +1 -0
- package/.next/server/app/dashboard/page_client-reference-manifest.js +1 -0
- package/.next/server/app/dashboard.html +1 -0
- package/.next/server/app/dashboard.meta +26 -0
- package/.next/server/app/dashboard.rsc +25 -0
- package/.next/server/app/dashboard.segments/_full.segment.rsc +25 -0
- package/.next/server/app/dashboard.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard.segments/dashboard/__PAGE__.segment.rsc +29 -0
- package/.next/server/app/favicon.ico/route.js +1 -0
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
- package/.next/server/app/favicon.ico.body +0 -0
- package/.next/server/app/favicon.ico.meta +1 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +21 -0
- package/.next/server/app/index.rsc +22 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +25 -0
- package/.next/server/app/index.segments/_full.segment.rsc +22 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +7 -0
- package/.next/server/app/login/page.js +1 -0
- package/.next/server/app/login/page.js.nft.json +1 -0
- package/.next/server/app/login/page_client-reference-manifest.js +1 -0
- package/.next/server/app/login.html +1 -0
- package/.next/server/app/login.meta +26 -0
- package/.next/server/app/login.rsc +25 -0
- package/.next/server/app/login.segments/_full.segment.rsc +25 -0
- package/.next/server/app/login.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +29 -0
- package/.next/server/app/manifest.webmanifest/route.js +17 -0
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -0
- package/.next/server/app/manifest.webmanifest.body +1 -0
- package/.next/server/app/manifest.webmanifest.meta +1 -0
- package/.next/server/app/page.js +305 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +1 -0
- package/.next/server/app-paths-manifest.json +63 -0
- package/.next/server/chunks/1094.js +160 -0
- package/.next/server/chunks/1515.js +1 -0
- package/.next/server/chunks/1555.js +1 -0
- package/.next/server/chunks/1601.js +24 -0
- package/.next/server/chunks/1625.js +1 -0
- package/.next/server/chunks/1800.js +1 -0
- package/.next/server/chunks/1813.js +1 -0
- package/.next/server/chunks/1860.js +1 -0
- package/.next/server/chunks/2075.js +23 -0
- package/.next/server/chunks/2106.js +1 -0
- package/.next/server/chunks/2169.js +36 -0
- package/.next/server/chunks/2190.js +1 -0
- package/.next/server/chunks/2243.js +1 -0
- package/.next/server/chunks/2325.js +82 -0
- package/.next/server/chunks/2349.js +1 -0
- package/.next/server/chunks/2408.js +1 -0
- package/.next/server/chunks/2430.js +193 -0
- package/.next/server/chunks/2452.js +93 -0
- package/.next/server/chunks/2744.js +1 -0
- package/.next/server/chunks/2903.js +1 -0
- package/.next/server/chunks/295.js +1 -0
- package/.next/server/chunks/3012.js +1 -0
- package/.next/server/chunks/3157.js +1 -0
- package/.next/server/chunks/3186.js +86 -0
- package/.next/server/chunks/3379.js +1 -0
- package/.next/server/chunks/3383.js +27 -0
- package/.next/server/chunks/3569.js +1 -0
- package/.next/server/chunks/3618.js +1 -0
- package/.next/server/chunks/3869.js +8 -0
- package/.next/server/chunks/3894.js +1 -0
- package/.next/server/chunks/426.js +14 -0
- package/.next/server/chunks/4267.js +1 -0
- package/.next/server/chunks/4315.js +1 -0
- package/.next/server/chunks/4367.js +1 -0
- package/.next/server/chunks/4372.js +1 -0
- package/.next/server/chunks/4538.js +24 -0
- package/.next/server/chunks/4548.js +1 -0
- package/.next/server/chunks/4563.js +38 -0
- package/.next/server/chunks/4674.js +1 -0
- package/.next/server/chunks/4741.js +165 -0
- package/.next/server/chunks/4815.js +3 -0
- package/.next/server/chunks/4980.js +1 -0
- package/.next/server/chunks/5029.js +1 -0
- package/.next/server/chunks/5318.js +1 -0
- package/.next/server/chunks/5582.js +8 -0
- package/.next/server/chunks/5974.js +77 -0
- package/.next/server/chunks/6052.js +141 -0
- package/.next/server/chunks/611.js +1 -0
- package/.next/server/chunks/6253.js +104 -0
- package/.next/server/chunks/6337.js +1 -0
- package/.next/server/chunks/6366.js +80 -0
- package/.next/server/chunks/6429.js +14 -0
- package/.next/server/chunks/673.js +287 -0
- package/.next/server/chunks/6763.js +1 -0
- package/.next/server/chunks/6916.js +226 -0
- package/.next/server/chunks/703.js +1 -0
- package/.next/server/chunks/7233.js +1 -0
- package/.next/server/chunks/7265.js +215 -0
- package/.next/server/chunks/7307.js +1 -0
- package/.next/server/chunks/7561.js +1 -0
- package/.next/server/chunks/7710.js +1 -0
- package/.next/server/chunks/7744.js +64 -0
- package/.next/server/chunks/7790.js +1 -0
- package/.next/server/chunks/7799.js +34 -0
- package/.next/server/chunks/7872.js +1 -0
- package/.next/server/chunks/8106.js +1 -0
- package/.next/server/chunks/8294.js +1 -0
- package/.next/server/chunks/8333.js +79 -0
- package/.next/server/chunks/835.js +1 -0
- package/.next/server/chunks/8397.js +41 -0
- package/.next/server/chunks/8604.js +115 -0
- package/.next/server/chunks/8713.js +148 -0
- package/.next/server/chunks/8782.js +153 -0
- package/.next/server/chunks/8920.js +62 -0
- package/.next/server/chunks/922.js +5 -0
- package/.next/server/chunks/9280.js +255 -0
- package/.next/server/chunks/9486.js +1 -0
- package/.next/server/chunks/9509.js +1 -0
- package/.next/server/chunks/9510.js +90 -0
- package/.next/server/chunks/974.js +1 -0
- package/.next/server/functions-config-manifest.json +26 -0
- package/.next/server/instrumentation.js +1 -0
- package/.next/server/instrumentation.js.nft.json +1 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/middleware.js +163 -0
- package/.next/server/middleware.js.nft.json +1 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +1 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/prefetch-hints.json +67 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +1 -0
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/4P8ZaTlYayjQDjQClWJy6/_buildManifest.js +1 -0
- package/.next/static/4P8ZaTlYayjQDjQClWJy6/_ssgManifest.js +1 -0
- package/.next/static/chunks/103.23142a67b02246a8.js +215 -0
- package/.next/static/chunks/1032.12b382a9096ab2a4.js +1 -0
- package/.next/static/chunks/1063.775c442bdbeef08b.js +1 -0
- package/.next/static/chunks/1278-bfacfce6a4683b1d.js +1 -0
- package/.next/static/chunks/1327.09252bb80616cc3a.js +1 -0
- package/.next/static/chunks/1708.d029f8776e4578de.js +1 -0
- package/.next/static/chunks/1781.866132cea8e77cd0.js +1 -0
- package/.next/static/chunks/1ba63609.b2ae90f43319a29e.js +153 -0
- package/.next/static/chunks/2081.47b6e9391094055f.js +1 -0
- package/.next/static/chunks/2181.ba21239d3ac39f81.js +1 -0
- package/.next/static/chunks/2258.4defa30121ef44a5.js +1 -0
- package/.next/static/chunks/2325.23caf22075e51aa5.js +1 -0
- package/.next/static/chunks/2356.523277bb8c6bf72a.js +23 -0
- package/.next/static/chunks/2418.b5d9e177e10a686e.js +1 -0
- package/.next/static/chunks/2480.cf27ca02e5b19761.js +24 -0
- package/.next/static/chunks/2539.c5a4f2fd8e421c70.js +41 -0
- package/.next/static/chunks/2619.9431a3f48da8eef4.js +1 -0
- package/.next/static/chunks/268.72794ee2773c2060.js +80 -0
- package/.next/static/chunks/2695.6f49435bae1e6f33.js +90 -0
- package/.next/static/chunks/2703.495a65ed14b2f094.js +36 -0
- package/.next/static/chunks/2821.934bcf60fbdc28c6.js +1 -0
- package/.next/static/chunks/3220-18bc83f919a12624.js +1 -0
- package/.next/static/chunks/3251.0dce7a0a0ff67235.js +1 -0
- package/.next/static/chunks/3308.be8762955e7155d1.js +73 -0
- package/.next/static/chunks/3336.a76f9485fe7cb762.js +1 -0
- package/.next/static/chunks/370.8e8f3cf8eb0e29dd.js +1 -0
- package/.next/static/chunks/3716.72bf4c9d7325debd.js +1 -0
- package/.next/static/chunks/3794-d29203733ca4633c.js +52 -0
- package/.next/static/chunks/398.ffa02af9062a3950.js +77 -0
- package/.next/static/chunks/3995.eca0f5bef1fc3ae5.js +38 -0
- package/.next/static/chunks/4004.74b9bcf5478b1663.js +160 -0
- package/.next/static/chunks/4202.8440832386f023c7.js +226 -0
- package/.next/static/chunks/4238.6f102dcbcf2ae339.js +141 -0
- package/.next/static/chunks/4405.7a19458960a1058e.js +287 -0
- package/.next/static/chunks/4424.fd0c93a807a333e1.js +1 -0
- package/.next/static/chunks/4866.d1060b4faf2ae1e2.js +1 -0
- package/.next/static/chunks/4970.8a63b4953b0e4946.js +1 -0
- package/.next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js +1 -0
- package/.next/static/chunks/5020.9ac8d0dc8390bb6e.js +1 -0
- package/.next/static/chunks/5137.f163e94c74a94d01.js +1 -0
- package/.next/static/chunks/5242.7b643c6b3394cac1.js +1 -0
- package/.next/static/chunks/5361.afc00ab2626bacbf.js +1 -0
- package/.next/static/chunks/5521.cfdf2cfc6db31407.js +1 -0
- package/.next/static/chunks/5526.ff46471041fdcb79.js +86 -0
- package/.next/static/chunks/5681.dd0e66b0de16e54b.js +27 -0
- package/.next/static/chunks/5772-ddd18c0d4b7715e5.js +3 -0
- package/.next/static/chunks/5957-b660df0f813517f8.js +7 -0
- package/.next/static/chunks/6121.eb9023b1cbc78ee2.js +1 -0
- package/.next/static/chunks/6161.4836cd7d031026bf.js +1 -0
- package/.next/static/chunks/6195.1153369f5f8b13a2.js +24 -0
- package/.next/static/chunks/6210-c32a36a8be764701.js +1 -0
- package/.next/static/chunks/6294.24f510c0c3e3714c.js +1 -0
- package/.next/static/chunks/6654.16f727522ec47f5a.js +1 -0
- package/.next/static/chunks/6794.f746d8fbbf248ecf.js +93 -0
- package/.next/static/chunks/7256.e07cf52d87d40252.js +1 -0
- package/.next/static/chunks/7268.236544be8e242c16.js +1 -0
- package/.next/static/chunks/7331.2add3c4e125a2dba.js +104 -0
- package/.next/static/chunks/7543.89f7b805ed0f2901.js +1 -0
- package/.next/static/chunks/8200.a36b9f8c983c6b9e.js +5 -0
- package/.next/static/chunks/869.7152372b662e31af.js +1 -0
- package/.next/static/chunks/8863.fa0320ea586efb3b.js +1 -0
- package/.next/static/chunks/8885.cf60cac98bf8b70c.js +79 -0
- package/.next/static/chunks/8901.e117d206a917bda0.js +1 -0
- package/.next/static/chunks/90542734.ae439f2382f58c51.js +1 -0
- package/.next/static/chunks/918.6a9bbe564e4a2d0f.js +115 -0
- package/.next/static/chunks/934.9006461bd0548660.js +1 -0
- package/.next/static/chunks/9522.c7c6e9c330f9ba6b.js +1 -0
- package/.next/static/chunks/9614.3221013d7f0af27f.js +64 -0
- package/.next/static/chunks/9698.4d09a99b9d99f3e5.js +148 -0
- package/.next/static/chunks/9705.40a82b97f214e28b.js +1 -0
- package/.next/static/chunks/973.88e865b52eff479a.js +8 -0
- package/.next/static/chunks/9764.2669775c6e107a01.js +62 -0
- package/.next/static/chunks/9793.4567af813117ad25.js +1 -0
- package/.next/static/chunks/993e5495.8797001fcfcf2889.js +62 -0
- package/.next/static/chunks/9974.9a0f79beca65e8c4.js +34 -0
- package/.next/static/chunks/app/_global-error/page-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/_not-found/page-d96c49ae6914bfa4.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/lease/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/agent/running/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/app-update/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/cwd/mkdir/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/home/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/models/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/models-config/catalog/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/models-config/discover/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/plugins/check/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/project-trust/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/provider-usage/query/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/push/config/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/push/subscribe/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/sessions/search/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/skills/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/subagents/[id]/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/subagents/profiles/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/subagents/settings/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/terminal/[id]/events/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/terminal/[id]/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/terminal/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/tools/settings/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/web-auth/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/dashboard/page-3fe3dc57705a63ce.js +1 -0
- package/.next/static/chunks/app/layout-1c894a9ed80f6c37.js +1 -0
- package/.next/static/chunks/app/login/page-3df3bb529e8f8209.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/app/page-87a6d3433302904d.js +283 -0
- package/.next/static/chunks/bf2ff291.3a109dffc1fe84af.js +122 -0
- package/.next/static/chunks/d3ac728e-7964f816a1ca64e5.js +1 -0
- package/.next/static/chunks/da12927c.476aa688a637649c.js +82 -0
- package/.next/static/chunks/db9d41be.e72ce090a86a3691.js +1 -0
- package/.next/static/chunks/e868780c-1584512c612787d7.js +18 -0
- package/.next/static/chunks/framework-b33a8f5d57cd8d87.js +1 -0
- package/.next/static/chunks/main-app-dc456095eb2e47ee.js +1 -0
- package/.next/static/chunks/main-dac5ab3797407fcb.js +5 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-29630f7a1a12c467.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6fb6d0fc9ffa5f9a.js +1 -0
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/.next/static/chunks/webpack-1b16208bb4ccd9c1.js +1 -0
- package/.next/static/css/4cbedad236d913cb.css +1 -0
- package/.next/static/css/88714c00e109ce28.css +1 -0
- package/.next/static/css/bb9361c7f832a89d.css +1 -0
- package/.next/static/css/d71318cebb94818f.css +1 -0
- package/.next/static/media/15605e25b523335c-s.woff2 +0 -0
- package/.next/static/media/1a3dce5cfb5f7760-s.woff2 +0 -0
- package/.next/static/media/1cdd02902f937a18-s.woff2 +0 -0
- package/.next/static/media/4c4b3b30b6bcb2be-s.woff2 +0 -0
- package/.next/static/media/641a7b8a5800ee0e-s.woff2 +0 -0
- package/.next/static/media/7deddc85b7ffd1dc-s.p.woff2 +0 -0
- package/.next/static/media/KaTeX_AMS-Regular.1608a09b.woff +0 -0
- package/.next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
- package/.next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
- package/.next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
- package/.next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
- package/.next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
- package/.next/static/media/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
- package/.next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
- package/.next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-Bold.d181c465.woff +0 -0
- package/.next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
- package/.next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
- package/.next/static/media/KaTeX_Main-Italic.47373d1e.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Italic.8916142b.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-Italic.9024d815.woff +0 -0
- package/.next/static/media/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-Regular.7f51fe03.woff +0 -0
- package/.next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
- package/.next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
- package/.next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
- package/.next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
- package/.next/static/media/KaTeX_Math-Italic.5295ba48.woff +0 -0
- package/.next/static/media/KaTeX_Math-Italic.939bc644.ttf +0 -0
- package/.next/static/media/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
- package/.next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
- package/.next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
- package/.next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
- package/.next/static/media/KaTeX_SansSerif-Regular.74048478.woff +0 -0
- package/.next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
- package/.next/static/media/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
- package/.next/static/media/KaTeX_Script-Regular.07505710.woff +0 -0
- package/.next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
- package/.next/static/media/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
- package/.next/static/media/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
- package/.next/static/media/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
- package/.next/static/media/KaTeX_Size2-Regular.57727022.woff +0 -0
- package/.next/static/media/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
- package/.next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
- package/.next/static/media/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
- package/.next/static/media/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
- package/.next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
- package/.next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
- package/.next/static/media/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
- package/.next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
- package/.next/static/media/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
- package/.next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
- package/.next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
- package/.next/static/media/ec14413c594b3356-s.p.woff2 +0 -0
- package/.next/trace +41 -0
- package/.next/trace-build +1 -0
- package/.next/types/app/api/agent/[id]/bash-output/route.ts +353 -0
- package/.next/types/app/api/agent/[id]/events/route.ts +353 -0
- package/.next/types/app/api/agent/[id]/lease/route.ts +353 -0
- package/.next/types/app/api/agent/[id]/route.ts +353 -0
- package/.next/types/app/api/agent/new/route.ts +353 -0
- package/.next/types/app/api/agent/running/route.ts +353 -0
- package/.next/types/app/api/app-update/route.ts +353 -0
- package/.next/types/app/api/auth/api-key/[provider]/route.ts +353 -0
- package/.next/types/app/api/auth/login/[provider]/route.ts +353 -0
- package/.next/types/app/api/auth/logout/[provider]/route.ts +353 -0
- package/.next/types/app/api/auth/providers/route.ts +353 -0
- package/.next/types/app/api/cwd/browse/route.ts +353 -0
- package/.next/types/app/api/cwd/mkdir/route.ts +353 -0
- package/.next/types/app/api/cwd/validate/route.ts +353 -0
- package/.next/types/app/api/default-cwd/route.ts +353 -0
- package/.next/types/app/api/file-index/route.ts +353 -0
- package/.next/types/app/api/files/[...path]/route.ts +353 -0
- package/.next/types/app/api/git/diff/route.ts +353 -0
- package/.next/types/app/api/git/status/route.ts +353 -0
- package/.next/types/app/api/home/route.ts +353 -0
- package/.next/types/app/api/models/route.ts +353 -0
- package/.next/types/app/api/models-config/catalog/route.ts +353 -0
- package/.next/types/app/api/models-config/discover/route.ts +353 -0
- package/.next/types/app/api/models-config/route.ts +353 -0
- package/.next/types/app/api/models-config/test/route.ts +353 -0
- package/.next/types/app/api/plugins/check/route.ts +353 -0
- package/.next/types/app/api/plugins/route.ts +353 -0
- package/.next/types/app/api/project-trust/route.ts +353 -0
- package/.next/types/app/api/provider-usage/query/route.ts +353 -0
- package/.next/types/app/api/push/config/route.ts +353 -0
- package/.next/types/app/api/push/subscribe/route.ts +353 -0
- package/.next/types/app/api/sessions/[id]/auto-name/route.ts +353 -0
- package/.next/types/app/api/sessions/[id]/context/route.ts +353 -0
- package/.next/types/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts +353 -0
- package/.next/types/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.ts +353 -0
- package/.next/types/app/api/sessions/[id]/export/route.ts +353 -0
- package/.next/types/app/api/sessions/[id]/route.ts +353 -0
- package/.next/types/app/api/sessions/[id]/state/route.ts +353 -0
- package/.next/types/app/api/sessions/route.ts +353 -0
- package/.next/types/app/api/sessions/search/route.ts +353 -0
- package/.next/types/app/api/skills/check/route.ts +353 -0
- package/.next/types/app/api/skills/install/route.ts +353 -0
- package/.next/types/app/api/skills/route.ts +353 -0
- package/.next/types/app/api/skills/search/route.ts +353 -0
- package/.next/types/app/api/skills/update/route.ts +353 -0
- package/.next/types/app/api/subagents/[id]/route.ts +353 -0
- package/.next/types/app/api/subagents/profiles/route.ts +353 -0
- package/.next/types/app/api/subagents/settings/route.ts +353 -0
- package/.next/types/app/api/terminal/[id]/events/route.ts +353 -0
- package/.next/types/app/api/terminal/[id]/route.ts +353 -0
- package/.next/types/app/api/terminal/route.ts +353 -0
- package/.next/types/app/api/tools/settings/route.ts +353 -0
- package/.next/types/app/api/web-auth/route.ts +353 -0
- package/.next/types/app/api/worktrees/route.ts +353 -0
- package/.next/types/app/dashboard/page.ts +89 -0
- package/.next/types/app/layout.ts +89 -0
- package/.next/types/app/login/page.ts +89 -0
- package/.next/types/app/page.ts +89 -0
- package/.next/types/cache-life.d.ts +146 -0
- package/.next/types/package.json +1 -0
- package/.next/types/root-params.d.ts +3 -0
- package/.next/types/routes.d.ts +128 -0
- package/.next/types/validator.ts +574 -0
- package/LICENSE +21 -0
- package/README.ja.md +134 -0
- package/README.md +184 -0
- package/README.ru.md +134 -0
- package/README.zh-CN.md +136 -0
- package/bin/agent-studio-options.js +89 -0
- package/bin/agent-studio.js +132 -0
- package/bin/node-version.js +35 -0
- package/bin/pi-web-options.js +89 -0
- package/bin/pi-web.js +132 -0
- package/bin/prepare-terminal.js +14 -0
- package/bin/process-lifecycle.js +81 -0
- package/next.config.ts +79 -0
- package/package.json +91 -0
- package/public/icons/agent-studio-icon.svg +46 -0
- package/public/icons/agent-studio-logo.png +0 -0
- package/public/icons/agent-studio-logo.svg +47 -0
- package/public/icons/apple-touch-icon.png +0 -0
- package/public/icons/catppuccin/LICENSE +22 -0
- package/public/icons/catppuccin/README.md +10 -0
- package/public/icons/catppuccin/latte/_file.svg +3 -0
- package/public/icons/catppuccin/latte/_folder.svg +3 -0
- package/public/icons/catppuccin/latte/_folder_open.svg +3 -0
- package/public/icons/catppuccin/latte/bash.svg +7 -0
- package/public/icons/catppuccin/latte/bun-lock.svg +8 -0
- package/public/icons/catppuccin/latte/config.svg +3 -0
- package/public/icons/catppuccin/latte/css.svg +6 -0
- package/public/icons/catppuccin/latte/database.svg +3 -0
- package/public/icons/catppuccin/latte/docker.svg +3 -0
- package/public/icons/catppuccin/latte/env.svg +3 -0
- package/public/icons/catppuccin/latte/eslint.svg +6 -0
- package/public/icons/catppuccin/latte/git.svg +6 -0
- package/public/icons/catppuccin/latte/go.svg +3 -0
- package/public/icons/catppuccin/latte/graphql.svg +3 -0
- package/public/icons/catppuccin/latte/html.svg +6 -0
- package/public/icons/catppuccin/latte/javascript-react.svg +8 -0
- package/public/icons/catppuccin/latte/javascript.svg +6 -0
- package/public/icons/catppuccin/latte/json.svg +3 -0
- package/public/icons/catppuccin/latte/lock.svg +3 -0
- package/public/icons/catppuccin/latte/markdown.svg +3 -0
- package/public/icons/catppuccin/latte/ms-word.svg +6 -0
- package/public/icons/catppuccin/latte/next.svg +6 -0
- package/public/icons/catppuccin/latte/npm-lock.svg +7 -0
- package/public/icons/catppuccin/latte/pdf.svg +3 -0
- package/public/icons/catppuccin/latte/python.svg +8 -0
- package/public/icons/catppuccin/latte/rust.svg +6 -0
- package/public/icons/catppuccin/latte/sass.svg +3 -0
- package/public/icons/catppuccin/latte/terraform.svg +3 -0
- package/public/icons/catppuccin/latte/toml.svg +3 -0
- package/public/icons/catppuccin/latte/typescript-react.svg +8 -0
- package/public/icons/catppuccin/latte/typescript.svg +6 -0
- package/public/icons/catppuccin/latte/yaml.svg +3 -0
- package/public/icons/catppuccin/mocha/_file.svg +3 -0
- package/public/icons/catppuccin/mocha/_folder.svg +3 -0
- package/public/icons/catppuccin/mocha/_folder_open.svg +3 -0
- package/public/icons/catppuccin/mocha/bash.svg +7 -0
- package/public/icons/catppuccin/mocha/bun-lock.svg +8 -0
- package/public/icons/catppuccin/mocha/config.svg +3 -0
- package/public/icons/catppuccin/mocha/css.svg +6 -0
- package/public/icons/catppuccin/mocha/database.svg +3 -0
- package/public/icons/catppuccin/mocha/docker.svg +3 -0
- package/public/icons/catppuccin/mocha/env.svg +3 -0
- package/public/icons/catppuccin/mocha/eslint.svg +6 -0
- package/public/icons/catppuccin/mocha/git.svg +6 -0
- package/public/icons/catppuccin/mocha/go.svg +3 -0
- package/public/icons/catppuccin/mocha/graphql.svg +3 -0
- package/public/icons/catppuccin/mocha/html.svg +6 -0
- package/public/icons/catppuccin/mocha/javascript-react.svg +8 -0
- package/public/icons/catppuccin/mocha/javascript.svg +6 -0
- package/public/icons/catppuccin/mocha/json.svg +3 -0
- package/public/icons/catppuccin/mocha/lock.svg +3 -0
- package/public/icons/catppuccin/mocha/markdown.svg +3 -0
- package/public/icons/catppuccin/mocha/ms-word.svg +6 -0
- package/public/icons/catppuccin/mocha/next.svg +6 -0
- package/public/icons/catppuccin/mocha/npm-lock.svg +7 -0
- package/public/icons/catppuccin/mocha/pdf.svg +3 -0
- package/public/icons/catppuccin/mocha/python.svg +8 -0
- package/public/icons/catppuccin/mocha/rust.svg +6 -0
- package/public/icons/catppuccin/mocha/sass.svg +3 -0
- package/public/icons/catppuccin/mocha/terraform.svg +3 -0
- package/public/icons/catppuccin/mocha/toml.svg +3 -0
- package/public/icons/catppuccin/mocha/typescript-react.svg +8 -0
- package/public/icons/catppuccin/mocha/typescript.svg +6 -0
- package/public/icons/catppuccin/mocha/yaml.svg +3 -0
- package/public/icons/favicon.svg +20 -0
- package/public/icons/icon-192.png +0 -0
- package/public/icons/icon-512.png +0 -0
- package/public/logo-preview.html +50 -0
- package/public/offline.html +83 -0
- package/public/provider-icons.svg +54 -0
- package/public/sw.js +166 -0
- package/public/sw.test.mjs +177 -0
package/README.ja.md
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# AgentStudio
|
|
2
|
+
|
|
3
|
+
[English](./README.md) | [简体中文](./README.zh-CN.md) | [Русский](./README.ru.md)
|
|
4
|
+
|
|
5
|
+
[pi コーディングエージェント](https://github.com/earendil-works/pi) のローカルブラウザー UI です。AgentStudio は pi と同じローカル設定とセッションファイルを使用し、ブラウザーから会話の検索と再開、エージェントの実行、モデルやリソースの設定、プロジェクトファイルの確認を行えます。
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
## 機能
|
|
10
|
+
|
|
11
|
+
- **セッションワークスペース**:プロジェクトごとに会話を閲覧、再開、名前変更、エクスポート、削除し、実行状態、コンテキスト使用量、コスト、コンパクション情報を確認できます。
|
|
12
|
+
- **2 種類の分岐**:**New session** は以前のメッセージから独立したセッションファイルを作成し、**Edit from here** は現在のセッション内にブランチを作成します。
|
|
13
|
+
- **プロジェクトファイルツール**:ファイルの閲覧とアップロード、Git Diff の確認、ソース、Markdown、画像、音声、PDF、DOCX のプレビューに対応し、変更時は自動更新されます。
|
|
14
|
+
- **Git worktree**:同じリポジトリのセッションをまとめたまま、サイドバーからチェックアウトを切り替えられます。
|
|
15
|
+
- **Web での設定**:AgentStudio を離れずに、Provider のログインと API Key、モデル、モデルテスト、プラグインパッケージ、スキルを管理できます。
|
|
16
|
+
- **英語、簡体字中国語、繁体字中国語の UI**:初回はブラウザーの言語に従い、トップバーから言語を切り替えられます。
|
|
17
|
+
|
|
18
|
+
## クイックスタート
|
|
19
|
+
|
|
20
|
+
AgentStudio には Node.js 22.19.0 以降が必要です。`node --version` でバージョンを確認してから、次を実行します:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npx @agegr/pi-web@latest
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
サーバーの準備が整うと、CLI はブラウザーを自動的に開こうとします。開かない場合は [http://127.0.0.1:30141](http://127.0.0.1:30141) にアクセスしてください。AgentStudio はデフォルトで `127.0.0.1` のみをリッスンします。
|
|
27
|
+
|
|
28
|
+
モデル Provider が未設定の場合は、**Models** パネルを開いてログインするか API Key を追加してください。
|
|
29
|
+
|
|
30
|
+
`pi-web` コマンドをグローバルにインストールする場合:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm install -g @agegr/pi-web@latest
|
|
34
|
+
pi-web
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
更新時は、実行中のプロセスを `Ctrl+C` で停止してから同じインストールコマンドを再実行します。アンインストールするには `npm uninstall -g @agegr/pi-web` を実行します。
|
|
38
|
+
|
|
39
|
+
## 設定
|
|
40
|
+
|
|
41
|
+
ポートとホスト名では、コマンドラインオプションが対応する環境変数より優先されます。`--no-open` と `PI_WEB_NO_OPEN=1` は、どちらを指定してもブラウザーの自動起動が無効になります。`pi-web --help`(または `-h`)で起動オプションを表示して終了します。未知のオプションはエラーで終了します。
|
|
42
|
+
|
|
43
|
+
| オプションまたは環境変数 | 用途 | デフォルト |
|
|
44
|
+
| --- | --- | --- |
|
|
45
|
+
| `--help`、`-h` | 起動オプションを表示して終了 | — |
|
|
46
|
+
| `--port <port>`、`-p <port>`、または `PORT` | サーバーポート | `30141` |
|
|
47
|
+
| `--hostname <host>`、`-H <host>`、または `PI_WEB_HOSTNAME` | バインドするホスト名 | `127.0.0.1` |
|
|
48
|
+
| `--no-open` または `PI_WEB_NO_OPEN=1` | ブラウザーを自動的に開かない | 自動的に開く |
|
|
49
|
+
| `PI_WEB_ALLOWED_HOSTS` | 追加で許可するプロキシまたはカスタムホスト名。複数指定はカンマ区切りで完全一致 | 未設定 |
|
|
50
|
+
| `PI_WEB_PASSWORD` | ブラウザーのパスワードログインを有効化。API はユーザー名 `pi` の Basic Auth も利用可能 | 認証なし |
|
|
51
|
+
|
|
52
|
+
例:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
pi-web --help
|
|
56
|
+
pi-web -p 8080 -H 0.0.0.0 --no-open
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### リモートアクセス
|
|
60
|
+
|
|
61
|
+
ループバック以外のアドレスにバインドすると、高い権限の操作を実行できるエージェントがネットワークに公開されます。信頼できる LAN で使用する場合も、十分に長いランダムなパスワードを設定してください:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
PI_WEB_PASSWORD='十分に長いランダムなパスワード' pi-web --hostname 0.0.0.0
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
パスワード認証は接続を暗号化しません。平文 HTTP で AgentStudio をインターネットに公開せず、信頼できるリバースプロキシによる HTTPS または信頼できる VPN を使用してください。リバースプロキシが外部ホスト名を転送する場合は、その名前を完全一致で `PI_WEB_ALLOWED_HOSTS` に追加します。この許可リストは AgentStudio のバインド先を変更しません。
|
|
68
|
+
|
|
69
|
+
### HTTP プロキシ
|
|
70
|
+
|
|
71
|
+
サーバー側のモデルリクエストと API リクエストは、標準の `HTTP_PROXY`、`HTTPS_PROXY`、`NO_PROXY` 環境変数を使用します。
|
|
72
|
+
|
|
73
|
+
macOS または Linux:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
HTTP_PROXY=http://127.0.0.1:7890 \
|
|
77
|
+
HTTPS_PROXY=http://127.0.0.1:7890 \
|
|
78
|
+
NO_PROXY=localhost,127.0.0.1 \
|
|
79
|
+
npx @agegr/pi-web@latest
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Windows PowerShell:
|
|
83
|
+
|
|
84
|
+
```powershell
|
|
85
|
+
$env:HTTP_PROXY = "http://127.0.0.1:7890"
|
|
86
|
+
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
|
|
87
|
+
$env:NO_PROXY = "localhost,127.0.0.1"
|
|
88
|
+
npx @agegr/pi-web@latest
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## 注意事項
|
|
92
|
+
|
|
93
|
+
- **エージェントデータ**:AgentStudio はデフォルトで `~/.pi/agent` の pi データを読み込みます。セッションファイルは `sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl` にあります。別の pi エージェントディレクトリを使用するには `PI_CODING_AGENT_DIR` を設定してください。
|
|
94
|
+
- **ファイルシステムへのアクセス**:AgentStudio はエージェントデータディレクトリと、セッションに記録された作業ディレクトリを読み取れる必要があります。既存の pi セッションを共有する場合は、pi と同じファイルシステム環境で AgentStudio を実行してください。
|
|
95
|
+
- **共有設定**:Models パネルは pi のモデル、設定、認証情報ストレージを使用するため、変更は両方のインターフェースに反映されます。
|
|
96
|
+
- **ファイルアクセスの範囲**:ファイルブラウザーは、AgentStudio で選択した作業ディレクトリと、既知のプロジェクトまたはセッションルートに限定されます。汎用のファイルシステムブラウザーではありません。
|
|
97
|
+
- **Git worktree**:スイッチャーの表示条件、worktree の作成、削除時の動作については [Worktrees in AgentStudio](./docs/worktrees.md) を参照してください。
|
|
98
|
+
|
|
99
|
+
## 開発
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
npm install
|
|
103
|
+
npm run dev
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
開発サーバーは [http://127.0.0.1:30141](http://127.0.0.1:30141) で動作します。一般的なチェックは次のコマンドで実行します:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npm test
|
|
110
|
+
node_modules/.bin/tsc --noEmit
|
|
111
|
+
npm run lint
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
通常の開発中は `next build` または `npm run build` を実行しないでください。`.next/` に書き込まれ、開発サーバーに影響する可能性があります。ビルドはリリース作業時にのみ実行してください。
|
|
115
|
+
|
|
116
|
+
コントリビューター向けガイド:[Internationalization](./docs/i18n.md) と [Release process](./docs/release.md)。
|
|
117
|
+
|
|
118
|
+
## リポジトリ構成
|
|
119
|
+
|
|
120
|
+
```text
|
|
121
|
+
app/ Next.js UI と API ルート
|
|
122
|
+
components/ React UI コンポーネント
|
|
123
|
+
hooks/ クライアントの状態と操作に関する hooks
|
|
124
|
+
lib/ セッション、エージェント、モデル、ファイル、Git、セキュリティのロジック
|
|
125
|
+
public/ 静的アセットと PWA ファイル
|
|
126
|
+
bin/ npm CLI エントリポイントと起動オプションの解析
|
|
127
|
+
docs/ ユーザーおよびコントリビューター向けの個別ガイド
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
アーキテクチャの説明と詳細なファイルマップについては [AGENTS.md](./AGENTS.md) を参照してください。
|
|
131
|
+
|
|
132
|
+
## ライセンス
|
|
133
|
+
|
|
134
|
+
[MIT](./LICENSE)
|
package/README.md
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# AgentStudio
|
|
2
|
+
|
|
3
|
+
[中文文档](./README.zh-CN.md) | [日本語](./README.ja.md) | [Русский](./README.ru.md)
|
|
4
|
+
|
|
5
|
+
Local browser UI for the [pi coding agent](https://github.com/earendil-works/pi). AgentStudio uses the same local configuration and session files as pi, so you can browse and resume conversations, run agent turns, configure models and resources, and inspect project files from a browser.
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- **Session workspace**: browse, resume, rename, export, and delete conversations grouped by project, with running state, context usage, cost, and compaction details.
|
|
12
|
+
- **Two ways to branch**: **New session** creates an independent session file from an earlier message; **Edit from here** creates a branch inside the current session.
|
|
13
|
+
- **Project file tools**: browse and upload files, inspect Git diffs, and preview source, Markdown, images, audio, PDFs, and DOCX files with automatic refresh.
|
|
14
|
+
- **Git worktrees**: switch checkouts from the sidebar while keeping sessions from the same repository grouped together.
|
|
15
|
+
- **Web-based configuration**: manage provider login and API keys, models, model tests, plugin packages, and skills without leaving AgentStudio.
|
|
16
|
+
- **English, Simplified Chinese, and Traditional Chinese UI**: AgentStudio follows the browser language initially and provides a language switcher in the top bar.
|
|
17
|
+
|
|
18
|
+
## Quick Start
|
|
19
|
+
|
|
20
|
+
AgentStudio requires Node.js 22.19.0 or newer. Check your version with `node --version`, then run:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npx @agegr/pi-web@latest
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The CLI opens a browser after the server is ready. If it does not, open [http://127.0.0.1:30141](http://127.0.0.1:30141). AgentStudio listens only on `127.0.0.1` by default.
|
|
27
|
+
|
|
28
|
+
If no model provider is configured yet, open the **Models** panel to sign in or add an API key.
|
|
29
|
+
|
|
30
|
+
To install the `pi-web` command globally:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm install -g @agegr/pi-web@latest
|
|
34
|
+
pi-web
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
To update, stop the running process with `Ctrl+C` and run the same install command again. To uninstall, run `npm uninstall -g @agegr/pi-web`.
|
|
38
|
+
|
|
39
|
+
## Configuration
|
|
40
|
+
|
|
41
|
+
For port and hostname, command-line options override the corresponding environment variables. Either `--no-open` or `PI_WEB_NO_OPEN=1` disables automatic browser opening. Run `pi-web --help` (or `-h`) to print startup options and exit without starting the server. Unknown options exit with an error.
|
|
42
|
+
|
|
43
|
+
| Option or environment variable | Purpose | Default |
|
|
44
|
+
| --- | --- | --- |
|
|
45
|
+
| `--help`, `-h` | Print startup options and exit | — |
|
|
46
|
+
| `--port <port>`, `-p <port>`, or `PORT` | Server port | `30141` |
|
|
47
|
+
| `--hostname <host>`, `-H <host>`, or `PI_WEB_HOSTNAME` | Bind hostname | `127.0.0.1` |
|
|
48
|
+
| `--no-open` or `PI_WEB_NO_OPEN=1` | Do not open a browser automatically | Browser opens |
|
|
49
|
+
| `PI_WEB_SKIP_VERSION_CHECK=1` | Disable AgentStudio update checks | Unset |
|
|
50
|
+
| `PI_WEB_ALLOWED_HOSTS` | Additional exact proxy or custom hostnames, comma-separated | Unset |
|
|
51
|
+
| `PI_WEB_PASSWORD` | Enable browser password login; API clients may use Basic Auth with username `pi` | Authentication disabled |
|
|
52
|
+
| `PI_WEB_IDLE_TIMEOUT_MS` | Session idle timeout in milliseconds, up to `2147483647`; `0` disables idle shutdown; invalid or out-of-range values use the default | `600000` (10 min) |
|
|
53
|
+
|
|
54
|
+
For example:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
pi-web --help
|
|
58
|
+
pi-web -p 8080 -H 0.0.0.0 --no-open
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Remote Access
|
|
62
|
+
|
|
63
|
+
Binding to a non-loopback address exposes an agent that can execute high-privilege actions. On a trusted LAN, require a long random password:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
PI_WEB_PASSWORD='a-long-random-password' pi-web --hostname 0.0.0.0
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Password authentication does not encrypt the connection. Do not expose AgentStudio over plain HTTP to the internet; use HTTPS through a trusted reverse proxy or a trusted VPN. If a reverse proxy sends an external hostname, add that exact name to `PI_WEB_ALLOWED_HOSTS`. This allow-list does not change the address AgentStudio binds to.
|
|
70
|
+
|
|
71
|
+
### HTTP Proxy
|
|
72
|
+
|
|
73
|
+
Server-side model and API requests honor the standard `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables.
|
|
74
|
+
|
|
75
|
+
On macOS or Linux:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
HTTP_PROXY=http://127.0.0.1:7890 \
|
|
79
|
+
HTTPS_PROXY=http://127.0.0.1:7890 \
|
|
80
|
+
NO_PROXY=localhost,127.0.0.1 \
|
|
81
|
+
npx @agegr/pi-web@latest
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
On Windows PowerShell:
|
|
85
|
+
|
|
86
|
+
```powershell
|
|
87
|
+
$env:HTTP_PROXY = "http://127.0.0.1:7890"
|
|
88
|
+
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
|
|
89
|
+
$env:NO_PROXY = "localhost,127.0.0.1"
|
|
90
|
+
npx @agegr/pi-web@latest
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Notes
|
|
94
|
+
|
|
95
|
+
- **Agent data**: AgentStudio reads pi data from `~/.pi/agent` by default, including session files under `sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl`. Set `PI_CODING_AGENT_DIR` to use another pi agent directory.
|
|
96
|
+
- **Filesystem access**: AgentStudio must be able to read the agent data directory and the working directories recorded by its sessions. Run AgentStudio in the same filesystem environment as pi when sharing existing sessions.
|
|
97
|
+
- **Shared configuration**: the Models panel uses pi's model, settings, and credential storage, so changes are visible to both interfaces.
|
|
98
|
+
- **File access boundary**: the file browser is limited to working directories selected in AgentStudio and project or session roots it already knows about; it is not a general filesystem browser.
|
|
99
|
+
- **Git worktrees**: see [Worktrees in AgentStudio](./docs/worktrees.md) for switcher visibility, worktree creation, and removal behavior.
|
|
100
|
+
|
|
101
|
+
### Downstream Session Context Menu
|
|
102
|
+
|
|
103
|
+
Electron wrappers and other downstream integrations can provide a session-row
|
|
104
|
+
context menu without patching `SessionSidebar`. Listen for the cancelable
|
|
105
|
+
`pi-web:session-row-contextmenu` browser event and call `preventDefault()`
|
|
106
|
+
synchronously when the integration will handle it:
|
|
107
|
+
|
|
108
|
+
```js
|
|
109
|
+
window.addEventListener("pi-web:session-row-contextmenu", (event) => {
|
|
110
|
+
event.preventDefault();
|
|
111
|
+
const { id, path, cwd, name, clientX, clientY, refresh } = event.detail;
|
|
112
|
+
|
|
113
|
+
void openSessionMenu({ id, path, cwd, name, clientX, clientY }).then((changed) => {
|
|
114
|
+
if (changed) refresh();
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
The detail object contains `id`, `path`, `cwd`, optional `name`, pointer
|
|
120
|
+
coordinates, and a `refresh()` callback for actions that change the session
|
|
121
|
+
list. If no listener cancels the extension event, AgentStudio preserves the
|
|
122
|
+
browser's native context menu. This hook is browser-side and independent of
|
|
123
|
+
Pi agent extensions.
|
|
124
|
+
|
|
125
|
+
### Extension Session Liveness
|
|
126
|
+
|
|
127
|
+
Server-side Pi extensions with detached work can prevent automatic idle
|
|
128
|
+
session eviction through the versioned global registry:
|
|
129
|
+
|
|
130
|
+
```js
|
|
131
|
+
const liveness = globalThis[Symbol.for("@agegr/pi-web/session-liveness/v1")];
|
|
132
|
+
const release = liveness?.version === 1
|
|
133
|
+
? liveness.register({
|
|
134
|
+
name: "my-extension",
|
|
135
|
+
sessionId,
|
|
136
|
+
sessionFile: sessionFile || undefined,
|
|
137
|
+
isActive: () => detachedJobs.size > 0,
|
|
138
|
+
})
|
|
139
|
+
: () => {};
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Register once per active extension session and call the returned idempotent
|
|
143
|
+
`release` function on session shutdown, replacement, or reload. `isActive`
|
|
144
|
+
must be synchronous, cheap, and scoped to the supplied exact session id or
|
|
145
|
+
file. Provider errors fail safe by preserving that session. This lease only
|
|
146
|
+
affects automatic idle eviction; explicit shutdown and Stop fallback cleanup
|
|
147
|
+
still take precedence.
|
|
148
|
+
|
|
149
|
+
## Development
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
npm install
|
|
153
|
+
npm run dev
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
The development server runs at [http://127.0.0.1:30141](http://127.0.0.1:30141). Run the common checks with:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
npm test
|
|
160
|
+
node_modules/.bin/tsc --noEmit
|
|
161
|
+
npm run lint
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Do not run `next build` or `npm run build` during normal development. It writes to `.next/` and can interfere with the development server; leave builds for release work.
|
|
165
|
+
|
|
166
|
+
Contributor guides: [Internationalization](./docs/i18n.md) and [Release process](./docs/release.md).
|
|
167
|
+
|
|
168
|
+
## Repository Layout
|
|
169
|
+
|
|
170
|
+
```text
|
|
171
|
+
app/ Next.js UI and API routes
|
|
172
|
+
components/ React UI components
|
|
173
|
+
hooks/ Client state and interaction hooks
|
|
174
|
+
lib/ Session, agent, model, file, Git, and security logic
|
|
175
|
+
public/ Static assets and PWA files
|
|
176
|
+
bin/ npm CLI entrypoint and launch option parsing
|
|
177
|
+
docs/ Focused user and contributor guides
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
See [AGENTS.md](./AGENTS.md) for the architecture notes and detailed file map.
|
|
181
|
+
|
|
182
|
+
## License
|
|
183
|
+
|
|
184
|
+
[MIT](./LICENSE)
|
package/README.ru.md
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# AgentStudio
|
|
2
|
+
|
|
3
|
+
[English](./README.md) | [中文文档](./README.zh-CN.md) | [日本語](./README.ja.md)
|
|
4
|
+
|
|
5
|
+
Локальный браузерный интерфейс для [pi coding agent](https://github.com/earendil-works/pi). AgentStudio использует те же локальные настройки и файлы сессий, что и pi, поэтому в браузере можно находить и продолжать диалоги, запускать агента, настраивать модели и ресурсы, а также просматривать файлы проекта.
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
## Возможности
|
|
10
|
+
|
|
11
|
+
- **Рабочее пространство сессий**: просмотр, продолжение, переименование, экспорт и удаление диалогов, сгруппированных по проектам, с отображением состояния выполнения, использования контекста, стоимости и сведений о сжатии.
|
|
12
|
+
- **Два способа создать ветку**: **New session** создаёт независимый файл сессии из более раннего сообщения, а **Edit from here** создаёт ветку внутри текущей сессии.
|
|
13
|
+
- **Инструменты для файлов проекта**: просмотр и загрузка файлов, проверка Git Diff, предпросмотр исходного кода, Markdown, изображений, аудио, PDF и DOCX с автоматическим обновлением.
|
|
14
|
+
- **Git worktree**: переключение рабочих деревьев в боковой панели с сохранением общей группы сессий одного репозитория.
|
|
15
|
+
- **Настройка через Web**: управление входом в Provider и API Key, моделями, тестами моделей, пакетами плагинов и навыками без выхода из AgentStudio.
|
|
16
|
+
- **Интерфейс на английском, упрощённом и традиционном китайском**: при первом запуске AgentStudio учитывает язык браузера, а затем язык можно переключить в верхней панели.
|
|
17
|
+
|
|
18
|
+
## Быстрый старт
|
|
19
|
+
|
|
20
|
+
Для работы AgentStudio требуется Node.js 22.19.0 или новее. Проверьте версию командой `node --version`, затем выполните:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npx @agegr/pi-web@latest
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Когда сервер будет готов, CLI попытается открыть браузер автоматически. Если этого не произошло, откройте [http://127.0.0.1:30141](http://127.0.0.1:30141). По умолчанию AgentStudio прослушивает только `127.0.0.1`.
|
|
27
|
+
|
|
28
|
+
Если Provider модели ещё не настроен, откройте панель **Models**, войдите в учётную запись или добавьте API Key.
|
|
29
|
+
|
|
30
|
+
Чтобы установить команду `pi-web` глобально:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm install -g @agegr/pi-web@latest
|
|
34
|
+
pi-web
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Для обновления остановите запущенный процесс с помощью `Ctrl+C` и повторите ту же команду установки. Для удаления выполните `npm uninstall -g @agegr/pi-web`.
|
|
38
|
+
|
|
39
|
+
## Настройка
|
|
40
|
+
|
|
41
|
+
Для порта и имени хоста параметры командной строки имеют приоритет над соответствующими переменными окружения. И `--no-open`, и `PI_WEB_NO_OPEN=1` отключают автоматическое открытие браузера независимо друг от друга. `pi-web --help` (или `-h`) выводит параметры запуска и завершает работу без старта сервера. Неизвестные параметры завершают процесс с ошибкой.
|
|
42
|
+
|
|
43
|
+
| Параметр или переменная окружения | Назначение | Значение по умолчанию |
|
|
44
|
+
| --- | --- | --- |
|
|
45
|
+
| `--help`, `-h` | Показать параметры запуска и выйти | — |
|
|
46
|
+
| `--port <port>`, `-p <port>` или `PORT` | Порт сервера | `30141` |
|
|
47
|
+
| `--hostname <host>`, `-H <host>` или `PI_WEB_HOSTNAME` | Имя хоста для привязки | `127.0.0.1` |
|
|
48
|
+
| `--no-open` или `PI_WEB_NO_OPEN=1` | Не открывать браузер автоматически | Браузер открывается |
|
|
49
|
+
| `PI_WEB_ALLOWED_HOSTS` | Дополнительные точные имена прокси или пользовательских хостов через запятую | Не задано |
|
|
50
|
+
| `PI_WEB_PASSWORD` | Включить вход по паролю в браузере; API также поддерживает Basic Auth с именем `pi` | Аутентификация отключена |
|
|
51
|
+
|
|
52
|
+
Пример:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
pi-web --help
|
|
56
|
+
pi-web -p 8080 -H 0.0.0.0 --no-open
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Удалённый доступ
|
|
60
|
+
|
|
61
|
+
Привязка к адресу, отличному от loopback, открывает сетевой доступ к агенту, способному выполнять операции с широкими полномочиями. Даже в доверенной локальной сети используйте длинный случайный пароль:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
PI_WEB_PASSWORD='длинный-случайный-пароль' pi-web --hostname 0.0.0.0
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Парольная аутентификация не шифрует соединение. Не публикуйте AgentStudio в интернете по обычному HTTP; используйте HTTPS через доверенный обратный прокси или надёжное VPN-подключение. Если обратный прокси передаёт внешнее имя хоста, добавьте это точное имя в `PI_WEB_ALLOWED_HOSTS`. Этот список разрешённых имён не меняет адрес, к которому привязывается AgentStudio.
|
|
68
|
+
|
|
69
|
+
### HTTP-прокси
|
|
70
|
+
|
|
71
|
+
Для серверных запросов к моделям и API используются стандартные переменные окружения `HTTP_PROXY`, `HTTPS_PROXY` и `NO_PROXY`.
|
|
72
|
+
|
|
73
|
+
В macOS и Linux:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
HTTP_PROXY=http://127.0.0.1:7890 \
|
|
77
|
+
HTTPS_PROXY=http://127.0.0.1:7890 \
|
|
78
|
+
NO_PROXY=localhost,127.0.0.1 \
|
|
79
|
+
npx @agegr/pi-web@latest
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
В Windows PowerShell:
|
|
83
|
+
|
|
84
|
+
```powershell
|
|
85
|
+
$env:HTTP_PROXY = "http://127.0.0.1:7890"
|
|
86
|
+
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
|
|
87
|
+
$env:NO_PROXY = "localhost,127.0.0.1"
|
|
88
|
+
npx @agegr/pi-web@latest
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Примечания
|
|
92
|
+
|
|
93
|
+
- **Данные агента**: по умолчанию AgentStudio читает данные pi из `~/.pi/agent`, включая файлы сессий в `sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl`. Чтобы использовать другой каталог агента pi, задайте `PI_CODING_AGENT_DIR`.
|
|
94
|
+
- **Доступ к файловой системе**: AgentStudio должен иметь доступ для чтения к каталогу данных агента и рабочим каталогам, записанным в сессиях. При совместном использовании существующих сессий запускайте AgentStudio в той же файловой среде, что и pi.
|
|
95
|
+
- **Общие настройки**: панель Models использует хранилища моделей, настроек и учётных данных pi, поэтому изменения видны в обоих интерфейсах.
|
|
96
|
+
- **Граница доступа к файлам**: файловый браузер ограничен рабочими каталогами, выбранными в AgentStudio, и уже известными корнями проектов или сессий; это не универсальный файловый менеджер.
|
|
97
|
+
- **Git worktree**: условия отображения переключателя, создание рабочих деревьев и их удаление описаны в документе [Worktrees in AgentStudio](./docs/worktrees.md).
|
|
98
|
+
|
|
99
|
+
## Разработка
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
npm install
|
|
103
|
+
npm run dev
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Сервер разработки доступен по адресу [http://127.0.0.1:30141](http://127.0.0.1:30141). Основные проверки запускаются командами:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npm test
|
|
110
|
+
node_modules/.bin/tsc --noEmit
|
|
111
|
+
npm run lint
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Не запускайте `next build` или `npm run build` во время обычной разработки. Эти команды записывают данные в `.next/` и могут помешать работе сервера разработки; выполняйте сборку только при подготовке релиза.
|
|
115
|
+
|
|
116
|
+
Руководства для участников: [Internationalization](./docs/i18n.md) и [Release process](./docs/release.md).
|
|
117
|
+
|
|
118
|
+
## Структура репозитория
|
|
119
|
+
|
|
120
|
+
```text
|
|
121
|
+
app/ UI Next.js и маршруты API
|
|
122
|
+
components/ Компоненты интерфейса React
|
|
123
|
+
hooks/ Состояние клиента и обработчики взаимодействий
|
|
124
|
+
lib/ Логика сессий, агента, моделей, файлов, Git и безопасности
|
|
125
|
+
public/ Статические ресурсы и файлы PWA
|
|
126
|
+
bin/ Точка входа npm CLI и разбор параметров запуска
|
|
127
|
+
docs/ Тематические руководства для пользователей и участников
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Описание архитектуры и подробная карта файлов приведены в [AGENTS.md](./AGENTS.md).
|
|
131
|
+
|
|
132
|
+
## Лицензия
|
|
133
|
+
|
|
134
|
+
[MIT](./LICENSE)
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# AgentStudio
|
|
2
|
+
|
|
3
|
+
[English](./README.md) | [日本語](./README.ja.md) | [Русский](./README.ru.md)
|
|
4
|
+
|
|
5
|
+
[pi 编程智能体](https://github.com/earendil-works/pi)的本地浏览器界面。AgentStudio 与 pi 共用本机配置和会话文件,可在浏览器中查找和继续对话、运行智能体、配置模型与资源,并查看项目文件。
|
|
6
|
+
|
|
7
|
+
中文微信群:请查看 [GitHub Discussions 帖子](https://github.com/agegr/pi-web/discussions/271)。
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
## 功能
|
|
12
|
+
|
|
13
|
+
- **会话工作区**:按项目查找、继续、重命名、导出和删除对话,并查看运行状态、上下文占用、花费和压缩信息。
|
|
14
|
+
- **两种分支方式**:**新会话**会从较早的消息创建独立会话文件;**从此处编辑**会在当前会话内创建分支。
|
|
15
|
+
- **项目文件工具**:浏览和上传文件、查看 Git Diff,并预览源码、Markdown、图片、音频、PDF 和 DOCX;文件变化后会自动刷新。
|
|
16
|
+
- **Git worktree**:从侧边栏切换 checkout,同时把同一仓库不同 worktree 的会话归在一起。
|
|
17
|
+
- **网页配置**:无需离开 AgentStudio,即可管理 Provider 登录和 API Key、模型、模型测试、插件包及技能。
|
|
18
|
+
- **英文、简体中文和繁体中文界面**:AgentStudio 首次打开时跟随浏览器语言,也可从顶部栏切换语言。
|
|
19
|
+
|
|
20
|
+
## 快速开始
|
|
21
|
+
|
|
22
|
+
AgentStudio 要求 Node.js 22.19.0 或更高版本。先用 `node --version` 检查版本,然后运行:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx @agegr/pi-web@latest
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
服务就绪后,命令行会尝试自动打开浏览器。如果没有打开,请访问 [http://127.0.0.1:30141](http://127.0.0.1:30141)。AgentStudio 默认仅监听 `127.0.0.1`。
|
|
29
|
+
|
|
30
|
+
如果尚未配置模型 Provider,请打开**模型(Models)**面板登录或添加 API Key。
|
|
31
|
+
|
|
32
|
+
如需全局安装 `pi-web` 命令:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npm install -g @agegr/pi-web@latest
|
|
36
|
+
pi-web
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
更新前先用 `Ctrl+C` 停止正在运行的进程,再次执行同一条安装命令。卸载时运行 `npm uninstall -g @agegr/pi-web`。
|
|
40
|
+
|
|
41
|
+
## 配置
|
|
42
|
+
|
|
43
|
+
端口和主机名以命令行参数为准,优先于对应的环境变量。`--no-open` 与 `PI_WEB_NO_OPEN=1` 中任意一个都会关闭自动打开浏览器。运行 `pi-web --help`(或 `-h`)可打印启动选项并以退出码 0 结束,不会启动服务;未知参数会报错并以退出码 1 结束。
|
|
44
|
+
|
|
45
|
+
| 参数或环境变量 | 用途 | 默认值 |
|
|
46
|
+
| --- | --- | --- |
|
|
47
|
+
| `--help`、`-h` | 打印启动选项并退出 | — |
|
|
48
|
+
| `--port <端口>`、`-p <端口>` 或 `PORT` | 服务端口 | `30141` |
|
|
49
|
+
| `--hostname <主机>`、`-H <主机>` 或 `PI_WEB_HOSTNAME` | 监听主机名 | `127.0.0.1` |
|
|
50
|
+
| `--no-open` 或 `PI_WEB_NO_OPEN=1` | 不自动打开浏览器 | 自动打开 |
|
|
51
|
+
| `PI_WEB_ALLOWED_HOSTS` | 额外允许的代理或自定义主机名,多个值用逗号分隔,必须精确匹配 | 未设置 |
|
|
52
|
+
| `PI_WEB_PASSWORD` | 启用浏览器密码登录;API 客户端可使用用户名为 `pi` 的 Basic Auth | 不启用认证 |
|
|
53
|
+
|
|
54
|
+
例如:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
pi-web --help
|
|
58
|
+
pi-web -p 8080 -H 0.0.0.0 --no-open
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 远程访问
|
|
62
|
+
|
|
63
|
+
监听非回环地址会暴露一个可执行高权限操作的智能体。在可信局域网中使用时,请设置足够长的随机密码:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
PI_WEB_PASSWORD='足够长的随机密码' pi-web --hostname 0.0.0.0
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
密码认证不会加密连接。不要通过明文 HTTP 将 AgentStudio 暴露到互联网;远程访问应使用可信反向代理提供 HTTPS,或通过可信 VPN。如果反向代理传递外部主机名,请把该名称精确加入 `PI_WEB_ALLOWED_HOSTS`。这个白名单不会改变 AgentStudio 的监听地址。
|
|
70
|
+
|
|
71
|
+
### HTTP 代理
|
|
72
|
+
|
|
73
|
+
服务端的模型和 API 请求会读取标准的 `HTTP_PROXY`、`HTTPS_PROXY` 和 `NO_PROXY` 环境变量。
|
|
74
|
+
|
|
75
|
+
macOS 或 Linux:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
HTTP_PROXY=http://127.0.0.1:7890 \
|
|
79
|
+
HTTPS_PROXY=http://127.0.0.1:7890 \
|
|
80
|
+
NO_PROXY=localhost,127.0.0.1 \
|
|
81
|
+
npx @agegr/pi-web@latest
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Windows PowerShell:
|
|
85
|
+
|
|
86
|
+
```powershell
|
|
87
|
+
$env:HTTP_PROXY = "http://127.0.0.1:7890"
|
|
88
|
+
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
|
|
89
|
+
$env:NO_PROXY = "localhost,127.0.0.1"
|
|
90
|
+
npx @agegr/pi-web@latest
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## 注意事项
|
|
94
|
+
|
|
95
|
+
- **智能体数据**:AgentStudio 默认读取 `~/.pi/agent` 下的 pi 数据,包括 `sessions/<编码后的工作目录>/<时间戳>_<uuid>.jsonl` 中的会话文件。可通过 `PI_CODING_AGENT_DIR` 指定其他 pi agent 目录。
|
|
96
|
+
- **文件系统访问**:AgentStudio 必须能读取智能体数据目录及会话记录中的工作目录。与现有 pi 会话共用数据时,请让 AgentStudio 运行在与 pi 相同的文件系统环境中。
|
|
97
|
+
- **共享配置**:模型面板使用 pi 的模型、设置和凭据存储,因此两种界面都能看到相关更改。
|
|
98
|
+
- **文件访问边界**:文件浏览器仅能访问在 AgentStudio 中选择过的工作目录,以及它已识别的项目或会话根目录;它不是通用的文件系统浏览器。
|
|
99
|
+
- **Git worktree**:切换器何时显示、如何创建 worktree,以及删除会产生什么影响,见 [AgentStudio 里的 Worktree](./docs/worktrees.zh-CN.md)。
|
|
100
|
+
|
|
101
|
+
## 开发
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
npm install
|
|
105
|
+
npm run dev
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
开发服务器运行在 [http://127.0.0.1:30141](http://127.0.0.1:30141)。常用检查命令:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
npm test
|
|
112
|
+
node_modules/.bin/tsc --noEmit
|
|
113
|
+
npm run lint
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
日常开发时不要运行 `next build` 或 `npm run build`。它们会写入 `.next/`,可能干扰开发服务器;仅在发布流程中执行构建。
|
|
117
|
+
|
|
118
|
+
贡献者文档:[国际化](./docs/i18n.md)和[发布流程](./docs/release.md)。
|
|
119
|
+
|
|
120
|
+
## 仓库结构
|
|
121
|
+
|
|
122
|
+
```text
|
|
123
|
+
app/ Next.js 界面和 API 路由
|
|
124
|
+
components/ React 界面组件
|
|
125
|
+
hooks/ 客户端状态和交互 hooks
|
|
126
|
+
lib/ 会话、智能体、模型、文件、Git 和安全逻辑
|
|
127
|
+
public/ 静态资源和 PWA 文件
|
|
128
|
+
bin/ npm CLI 入口及启动参数解析
|
|
129
|
+
docs/ 面向用户和贡献者的专题文档
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
架构说明和详细文件地图见 [AGENTS.md](./AGENTS.md)。
|
|
133
|
+
|
|
134
|
+
## 许可证
|
|
135
|
+
|
|
136
|
+
[MIT](./LICENSE)
|