@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports.id=3157,exports.ids=[3157],exports.modules={16068:(a,b,c)=>{Promise.resolve().then(c.bind(c,19102))},19102:(a,b,c)=>{"use strict";function d(){return null}c.d(b,{PwaRegistration:()=>d}),c(67484)},34114:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23))},34628:(a,b,c)=>{Promise.resolve().then(c.bind(c,81276))},46055:(a,b,c)=>{"use strict";function d(){return[{type:"image/x-icon",sizes:"16x16",url:"/favicon.ico?4cdfa444a9565a57"}]}c.r(b),c.d(b,{default:()=>d})},52908:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23)),Promise.resolve().then(c.t.bind(c,15098,23)),Promise.resolve().then(c.t.bind(c,47644,23)),Promise.resolve().then(c.t.bind(c,33859,23)),Promise.resolve().then(c.t.bind(c,98099,23)),Promise.resolve().then(c.t.bind(c,16237,23)),Promise.resolve().then(c.t.bind(c,98562,23)),Promise.resolve().then(c.t.bind(c,36675,23))},58988:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23)),Promise.resolve().then(c.t.bind(c,60440,23)),Promise.resolve().then(c.t.bind(c,84342,23)),Promise.resolve().then(c.t.bind(c,82265,23)),Promise.resolve().then(c.t.bind(c,35421,23)),Promise.resolve().then(c.t.bind(c,61335,23)),Promise.resolve().then(c.t.bind(c,70664,23)),Promise.resolve().then(c.bind(c,74661))},65658:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23))},77261:()=>{},78335:()=>{},81276:(a,b,c)=>{"use strict";c.d(b,{PwaRegistration:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call PwaRegistration() from the server but PwaRegistration is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/share/dev/agent-studio-deploy/components/PwaRegistration.tsx","PwaRegistration")},81996:(a,b,c)=>{"use strict";function d(a,b,c,e={}){let f=c[a]?.[b]??c.en?.[b];return void 0===f?b:function(a,b={}){return a.replace(/\{([\w.-]+)\}/g,(a,c)=>{let d=b[c];return void 0===d?a:String(d)})}(f,e)}function e(a,b,c=new Date){let d=(a instanceof Date?a:new Date(a)).getTime()-c.getTime(),f=Math.abs(d),[g,h]=f<6e4?["second",1e3]:f<36e5?["minute",6e4]:f<864e5?["hour",36e5]:["day",864e5],i=Math.round(d/h);return new Intl.RelativeTimeFormat(b,{numeric:"always"}).format(i,g)}c.d(b,{fw:()=>e,u0:()=>d})},82704:()=>{},93080:(a,b,c)=>{"use strict";c.d(b,{I18nProvider:()=>k,s:()=>l});var d=c(48249),e=c(67484);let f=[{id:"en",label:"English",messages:{"common.ok":"OK","common.language":"Language","common.models":"Models","common.skills":"Skills","common.agents":"Sub-agents","common.plugins":"Plugins","common.settings":"Settings","settings.title":"Settings","settings.general":"General","settings.generalDescription":"Choose how AgentStudio looks and which language it uses.","settings.appearance":"Appearance","settings.appearanceDescription":"Select a theme or follow your system preference.","settings.chatContentWidth":"Chat content width","settings.chatContentFontSize":"Chat font size","settings.resetChatContentWidth":"Reset chat content width","settings.resetChatContentFontSize":"Reset chat font size","settings.chatContentWidthDescription":"Set the maximum width of messages and the composer.","settings.themeLight":"Light","settings.themeDark":"Dark","settings.themeMist":"Mist","settings.themeRose":"Rose","settings.themePine":"Pine","settings.themeSystem":"System","settings.thinkingDisplay":"Thinking display","settings.thinkingDisplayDescription":"Choose whether model reasoning blocks are expanded when messages load.","settings.thinkingExpandedDefault":"Expand thinking blocks by default","settings.chat":"Chat","settings.quoteSelection":"Show actions for selected text","settings.languageDescription":"Choose the language used throughout the interface.","settings.shellTool":"Shell tool","settings.shellToolDescription":"Choose which shell the model uses for commands. Direct ! and !! commands still use Bash.","settings.pushPermission":"Background push (iOS home-screen app)","settings.pushPermissionDescription":"After adding this site to your home screen (iOS 16.4+), a system notification is shown on the lock screen when a session finishes while no window is visible. If notifications stop arriving, re-register here. Registration needs a user gesture, so it is never triggered automatically.","settings.pushRegister":"Register push","settings.pushRegisterLoading":"Registering…","settings.pushRegistered":"✅ Push registered — background notifications are ready.","settings.pushRegisterFailed":"❌ Registration failed:","settings.usePowerShell":"Use PowerShell instead of Bash","settings.projectRequired":"Open a project to configure this section","auth.prompt":"Sign in to continue","auth.password":"Password","auth.logIn":"Log in","auth.loggingIn":"Logging in...","auth.invalidPassword":"Incorrect password","auth.loginFailed":"Could not log in. Try again.","auth.logOut":"Log out","auth.loggingOut":"Logging out...","auth.logoutFailed":"Could not log out. Try again.","skills.scope.global":"global","skills.scope.project":"project","skills.scope.path":"path","agents.close":"Close","agents.builtInTitle":"Enable AgentStudio built-in sub-agents","agents.builtInDescription":"Provides AgentStudio's integrated Agent tools and disables a conflicting pi-subagents extension.","agents.reloadRequired":"Reload the current session to apply this change.","agents.reloadSession":"Reload session","agents.maxConcurrent":"Concurrent sub-agents","agents.maxConcurrentDescription":"Maximum prompts running at once per parent session.","agents.reloading":"Reloading...","agents.loading":"Loading sub-agents...","agents.new":"New sub-agent","agents.empty":"Select or create a sub-agent profile","agents.saveScope":"Save to","agents.name":"Sub-agent ID","agents.displayName":"Display name","agents.description":"Description","agents.prompt":"System instructions","agents.tools":"Tools","agents.resources":"Resources","agents.loadSkills":"Load skills","agents.loadExtensions":"Load extensions","agents.model":"Model override","agents.modelsLoading":"Loading models...","agents.modelUnavailable":"{model} (unavailable)","agents.thinking":"Thinking","agents.maxTurns":"Max turns","agents.inherit":"Parent default","agents.enable":"Enable sub-agent","agents.disable":"Disable sub-agent","agents.builtinPath":"Built-in profile","agents.inheritContext":"Inherit parent context","agents.background":"Run in background by default","agents.duplicate":"Duplicate","agents.copyName":"{name} copy","agents.delete":"Delete","agents.deleteConfirm":"Delete {name}?","agents.save":"Save","agents.saving":"Saving...","agents.scope.builtin":"built-in","agents.scope.global":"global","agents.scope.workspace":"workspace","agents.scope.project":"project","agents.overridden":"Overridden","subagent.open":"Open sub-agent session","agentSwitcher.title":"Agents","agentSwitcher.main":"Main agent","agentSwitcher.subagent":"Sub-agent","agentSwitcher.current":"Current","agentSwitcher.count":"{count} sub-agents","agentSwitcher.runningCount":"{count} running","agentSwitcher.search":"Search agents","agentSwitcher.noMatches":"No matching agents","agentSwitcher.status.starting":"Starting","agentSwitcher.status.running":"Running","agentSwitcher.status.completed":"Completed","agentSwitcher.status.failed":"Failed","agentSwitcher.status.aborted":"Aborted","agentSwitcher.status.interrupted":"Interrupted","appUpdate.releaseNotes":"AgentStudio v{version} is available. View release notes","sidebar.hide":"Hide sidebar","sidebar.show":"Show sidebar","theme.light":"Theme: Light","theme.dark":"Theme: Dark","theme.mist":"Theme: Mist","theme.rose":"Theme: Rose","theme.pine":"Theme: Pine","theme.auto":"Theme: System","history.full":"Full history","history.unsaved":"Full history is available after the session is saved","history.label":"Full history","title.generating":"Generating...","title.updated":"Title updated","title.failed":"Generation failed","title.generate":"Generate title","title.unsaved":"Title generation is available after the session is saved","title.noMessages":"Send a message before naming this session","title.generateSession":"Generate a session title","system.prompt":"System prompt","system.empty":"System prompt is empty (tools are disabled)","system.load":"System prompt has not loaded yet","system.loading":"Loading system prompt…","system.label":"System","tools.label":"Tools","tools.title":"Tool definitions","tools.details":"Tool definition details","tools.load":"Tool definitions have not loaded yet","tools.loading":"Loading tool definitions…","tools.noTools":"No active tools","tools.description":"Description","tools.parameters":"Parameters","tools.parameterCount":"{count} parameters","tools.noParameters":"No parameters","tools.required":"Required","tools.optional":"Optional","tools.allowedValues":"Allowed","tools.defaultValue":"Default","tools.guidelines":"Prompt guidelines","session.info":"Session info","session.name":"Name","session.file":"Session File","session.inMemory":"In-memory","session.id":"ID","session.user":"User","session.assistant":"Assistant","session.toolCalls":"Tool Calls","session.toolResults":"Tool Results","session.total":"Total","session.input":"Input","session.output":"Output","session.cacheRead":"Cache Read","session.cacheWrite":"Cache Write","session.cost":"Cost","session.context":"Context","session.cacheHitRate":"Avg cache hit rate","session.copy":"Copy {value}","session.copied":"Copied","session.title":"Session info","session.load":"Send a message or run /session to load session info","session.infoSection":"Session Info","session.projectSection":"Project Info","session.messages":"Messages","session.tokens":"Tokens","session.totalActive":"Active Time","session.copyFile":"Copy file path","session.copyId":"Copy session ID","session.projectDir":"Project Dir","session.gitBranch":"Git Branch","session.gitWorktree":"Worktree","session.copyProjectDir":"Copy project directory","session.copyGitBranch":"Copy git branch","session.copyGitWorktree":"Copy worktree path","workspace.opening":"Opening workspace...","workspace.unable":"Unable to open workspace","workspace.selectSession":"Select a session from the sidebar","workspace.getStarted":"Get Started","workspace.selectProject":"Select a project directory from the sidebar","workspace.addModels":"Open Settings at the bottom, then choose Models","workspace.stepProject":"Select a project directory from the sidebar","workspace.stepModels":"Open Settings at the bottom, then choose Models","files.hidePanel":"Hide file panel","files.showPanel":"Show file panel","files.noneOpen":"No file open","layout.resizeSidebar":"Resize sidebar","layout.resizeFilePanel":"Resize file panel","layout.resizeHint":"Drag to resize. Double-click or press Enter to reset.","sidebar.new":"New","sidebar.newSessionTitle":"New session in {path}","sidebar.refresh":"Refresh","sidebar.selectProject":"Select project…","sidebar.filterProjects":"Filter projects…","sidebar.noMatchingProjects":"No matching projects","sidebar.newSessionAction":"New session in this project","sidebar.newProjectAction":"New project…","sidebar.moreNewActions":"More ways to start","sidebar.useDefaultDirectory":"Use default directory","sidebar.customPath":"Custom path…","directoryPicker.selectDirectory":"Select directory","directoryPicker.goToParent":"Go to parent directory","directoryPicker.directoryPath":"Directory path","directoryPicker.goToDirectory":"Go to directory","directoryPicker.go":"Go","directoryPicker.loadingDirectories":"Loading directories…","directoryPicker.noSubdirectories":"No subdirectories","directoryPicker.openBeforeSelecting":"Open this path before selecting it","directoryPicker.selectCurrentDirectory":"Select current directory","directoryPicker.selectThisFolder":"Select this folder","directoryPicker.noDrives":"No drives found","sidebar.checking":"Checking…","sidebar.open":"Open","sidebar.cancel":"Cancel","sidebar.openRepoRoot":"Open repo root","sidebar.openRepoRootTitle":"Open the repository root to manage worktrees.","sidebar.gitRepoRootOnly":"Git repo root only","sidebar.gitRepoRootOnlyTitle":"Worktrees are available in Git repository roots.","sidebar.worktrees":"Worktrees...","sidebar.checkingWorktrees":"Checking worktrees for this directory.","sidebar.filterWorktrees":"Filter worktrees…","sidebar.noMatchingWorktrees":"No matching worktrees","sidebar.switchWorktree":"Switch worktree","sidebar.switchWorktreeTitle":"Switch worktree: {path}","sidebar.main":"main","sidebar.forceRemoveCheckout":"Uncommitted changes. Force remove checkout?","sidebar.force":"Force","sidebar.createWorktreeTitle":"Create a worktree checkout for a branch","sidebar.newWorktree":"New worktree…","sidebar.branchName":"branch name","sidebar.creating":"Creating…","sidebar.create":"Create","sidebar.uploadFilesTitle":"Upload files to project root","sidebar.uploadFiles":"Upload files","sidebar.refreshExplorer":"Refresh explorer","sidebar.searchFiles":"Search files","sidebar.searchFilesPlaceholder":"Search files…","sidebar.searchingFiles":"Searching…","sidebar.noMatchingFiles":"No matching files","sidebar.clearSearch":"Clear search","sidebar.searchSessions":"Search all conversations...","sidebar.toggleSessionSearch":"Search conversations","sidebar.sessionSearching":"Searching...","sidebar.sessionSearchEmpty":"No matching conversations","sidebar.sessionSearchCount":"{count} matching conversations","sidebar.sessionSearchPartial":"Search limit reached. Results may be incomplete.","sidebar.sessionSearchFailed":"Could not search conversations","sidebar.changedFiles":"{count} changed files","sidebar.loading":"Loading...","sidebar.noSessions":"No sessions found","sidebar.agentRunning":"Agent running…","sidebar.newActivity":"New activity","sidebar.newSessionActivity":"New session activity","sidebar.deleteSession":"Delete {title}?","sidebar.rename":"Rename","sidebar.delete":"Delete","sidebar.deleteWithShiftClick":"Delete (Shift+click to delete without confirmation)","sidebar.expandSubagents":"Expand subagents","sidebar.collapseSubagents":"Collapse subagents","sidebar.messagesCount":"{count} msgs","sidebar.worktreePath":"Worktree: {path}","sidebar.removeWorktreeTitle":"Remove worktree checkout {path}; the branch is kept","files.modified":"Modified","files.added":"Added","files.deleted":"Deleted","files.renamed":"Renamed","files.untracked":"Untracked","files.conflict":"Conflict","files.newlyUploaded":"Newly uploaded","files.containsChangedFiles":"Contains changed files","files.insertPath":"Insert path into chat","files.mention":"mention","files.download":"Download file","files.dismissError":"Dismiss error","files.addUploadedFile":"Add uploaded file to chat","files.addAllUploadedFiles":"Add all uploaded files to chat","files.dismissUploadResults":"Dismiss upload results","files.loading":"Loading files...","files.noFiles":"No files found","files.explorer":"Explorer","files.changedCount":"{count} files","files.changeStats":"{count} changed files, {additions} lines added, {deletions} lines deleted","files.conflictSummary":"{count} file{countSuffix} already exist: {files}","files.cannotReplace":"Cannot replace: {files}","files.replace":"Replace","files.skipExisting":"Skip existing","files.cancel":"Cancel","files.checking":"Checking files","files.uploading":"Uploading, {progress}%","chat.loadingSession":"Loading session...","chat.runningTool":"Running tool...","chat.generatingToolInput":"Generating parameters...","chat.runningNamedTool":"Running {name}...","chat.runningTools":"Running {names}...","chat.runningToolsMore":"Running {names} (+{count})...","chat.waitingModel":"Waiting for model...","chat.runningCommand":"Running command...","chat.thinking":"Thinking...","chat.processDetails":"Process details","chat.message":"message","chat.messages":"messages","chat.toolCall":"tool call","chat.toolCalls":"tool calls","chat.collapseProcess":"Collapse process details","chat.expandProcess":"Expand process details","chat.filesWritten":"Files changed","chat.openWrittenFile":"Open {name}","chat.loadEarlier":"Scroll up to load earlier messages","chat.extensionRequest":"extension request","chat.extensionExpiresIn":"expires in {seconds}s","chat.extensionPending":"Awaiting response","chat.extensionCollapse":"Collapse","chat.extensionExpand":"Expand","chat.cancel":"Cancel","chat.confirm":"Confirm","chat.submit":"Submit","chat.extensionInput":"Extension terminal input","chat.extensionPanel":"Extension panel","chat.extensionWidgets":"Extension widgets","chat.extensionWidgetAbove":"Above editor widget","chat.extensionWidgetBelow":"Below editor widget","chat.extensionWidgetLine":"{count} line","chat.extensionWidgetLines":"{count} lines","chat.close":"Close","chat.queued":"Queued \xb7 {count}","chat.recall":"Recall to input","chat.recallTitle":"Remove all queued messages and put them back into the input box for editing","chat.retrying":"Retrying ({attempt}/{max})…","chat.loadingCommands":"Loading commands...","chat.slashCommands":"Slash commands \xb7 {label}","chat.tabEnter":"Tab / Enter","chat.noCommands":"No extension, prompt, or skill commands found","chat.match":"1 match","chat.matches":"{count} matches","chat.command":"1 command","chat.commands":"{count} commands","chat.loadingFiles":"Loading files...","chat.files":"Files \xb7 {label}{hint}","chat.searching":"Searching…","chat.noMatchingFiles":"No matching files","chat.searchingAll":" \xb7 searching all files…","chat.indexTruncated":" \xb7 index truncated","chat.steerPlaceholder":"Steer now / queue follow-up...","chat.agentPlaceholder":"Agent is running…","chat.messagePlaceholder":"Message… Type / for commands, @ for files","chat.steer":"Steer","chat.followUp":"Follow-up","chat.steerHint":"Interrupt the current run and inject this message now","chat.followUpHint":"Queue this message after the agent finishes","chat.inputHistory":"Input history","chat.modelError":"Model error","chat.modelScopeWarning":"Model scope warning","chat.modelScopeWarnings":"Model scope warnings","chat.send":"Send","chat.askSelection":"Ask about selected text","chat.askInCurrent":"Ask here","chat.askInNewChat":"Ask in new chat","chat.newQuoteChat":"New chat about selected text","chat.quoteIntro":"About this passage:","chat.quoteQuestion":"My question:","chat.quoteForkFailed":"Unable to create a branch from this message.","chat.attachImage":"Attach image","chat.previewImage":"Preview image","chat.filterModels":"Filter models…","chat.noMatchingModels":"No matching models","chat.moreControls":"More controls","chat.collapseControls":"Collapse controls","chat.shell":"Shell","terminal.title":"Terminal","terminal.tabLabel":"Terminal: {name}","terminal.open":"Open workspace terminal","terminal.close":"Terminate terminal","terminal.restart":"Restart terminal","terminal.reconnect":"Reconnect terminal","terminal.connecting":"Connecting","terminal.ready":"Connected","terminal.exited":"Terminal closed","terminal.error":"Connection error","terminal.exitCode":"Process exited with code {code}","chat.outputLocal":"output stays local","chat.outputModel":"output sent to model","chat.chatOnly":"Chat only","chat.readOnlyTools":"{count} read-only built-in tools","chat.builtInTools":"{count} built-in tools","chat.allBuiltInTools":"All built-in tools","chat.changeReasoning":"Change reasoning level: {level}","chat.changeReasoningLabel":"Change reasoning level","chat.changeToolPreset":"Change tool preset","chat.stopCompaction":"Stop compaction","chat.compactContext":"Compact context","chat.compacting":"Compacting…","chat.compact":"Compact","chat.stopAgent":"Stop agent","chat.stop":"Stop","chat.disableSound":"Disable completion sound","chat.enableSound":"Enable completion sound","chat.thinkingUseDefault":"Use pi default","chat.thinkingOff":"Reasoning off","chat.thinkingMinimal":"Minimal reasoning","chat.thinkingLow":"Low reasoning","chat.thinkingMedium":"Medium reasoning","chat.thinkingHigh":"High reasoning","chat.thinkingXhigh":"Extra-high reasoning","chat.thinkingMax":"Max reasoning","chat.builtIn":"Built-in","chat.extensions":"Extensions","chat.prompts":"Prompts","chat.skills":"Skills","chat.dormant":"dormant","chat.commandCompact":"Compress context, optionally with instructions","chat.commandReload":"Reload extensions, skills, prompts, and tools","chat.commandName":"Set the session display name","chat.commandSession":"Show session message, token, and cost stats","chat.commandCopy":"Copy the last assistant message","chat.commandClone":"Clone the current branch into a new session","chat.compacted":"Compacted","chat.imageNotSupportedTitle":"Images may not be sent","chat.imageNotSupportedBody":"The selected model ({model}) does not support image input. The attached images will likely be ignored.","chat.tokensSaved":"{saved} saved","chatMinimap.locateAssistant":"Locate assistant message","i18n.close":"Close","i18n.copy":"Copy","i18n.copied":"Copied","i18n.cancel":"Cancel","i18n.save":"Save","i18n.saving":"Saving…","i18n.saved":"Saved","i18n.remove":"Remove","i18n.removing":"Removing…","i18n.delete":"Delete","i18n.loading":"Loading...","i18n.loadMore":"Load more","i18n.search":"Search","i18n.refresh":"Refresh","providerUsage.usage":"Usage","providerUsage.notQueried":"Not queried","providerUsage.refresh":"Refresh usage","providerUsage.refreshing":"Refreshing usage","providerUsage.updated":"Updated {time}","providerUsage.queryFailed":"Usage query failed.","providerUsage.available":"Available","i18n.update":"Update","i18n.updating":"Updating...","i18n.check":"Check","i18n.checking":"Checking...","i18n.install":"Install","i18n.installing":"Installing...","i18n.noResults":"No results","i18n.searchProviders":"Search providers…","i18n.noProviders":"No providers match","i18n.newModel":"new model","i18n.addProvider":"Add provider","i18n.selectProviderModel":"Select a provider or model","i18n.visibleInPrompt":"Visible in model prompt — click to disable","i18n.hiddenFromPrompt":"Hidden from model prompt — click to enable","i18n.dormant":"Dormant","i18n.hiddenButInvocable":"Hidden from model, still manually invocable","i18n.skillSearchPlaceholder":"e.g. react, testing, deploy","i18n.searching":"Searching…","i18n.noSkills":"No skills found","i18n.checkUpdates":"Check updates","i18n.updates":"updates","i18n.noResolvedResources":"No resolved resources","i18n.enablePackage":"Enable package","i18n.disablePackage":"Disable package","i18n.filtered":"filtered","i18n.openSessionToReload":"Open a session to reload","i18n.notFound":"Not found","i18n.noPlugins":"No plugins configured","trust.resourcesNotLoaded":"Restricted mode","trust.trustProject":"Trust project","trust.trusting":"Trusting...","trust.cancel":"Cancel","trust.dialogTitle":"Trust this project?","trust.dialogBody":"Project resources can run local code. Trust only projects whose contents you know.","trust.skillsNotLoaded":"Project skills are not loaded because this project is not trusted.","trust.pluginsNotLoaded":"Project plugins are not loaded because this project is not trusted.","trust.projectScopeUnavailable":"Project installs are unavailable while project resources are not loaded.","i18n.creatingSession":"Creating new session…","i18n.creating":"Creating…","i18n.subscription":"Subscription","i18n.subscriptions":"Subscriptions","i18n.customEndpoint":"Custom endpoint format","i18n.noChanges":"No changes","i18n.branches":"Branches","i18n.noActiveSession":"No active session","i18n.noBranches":"This session has no branches","i18n.source":"Source","i18n.preview":"Preview","i18n.diff":"Diff","i18n.downloadFile":"Download file","i18n.liveSync":"Live sync active","i18n.notWatching":"Not watching","i18n.fileViewMode":"File view mode","i18n.compareHead":"Compare working tree with HEAD","i18n.mentionSelectedLines":"Mention selected lines","i18n.disableWrap":"Disable word wrap","i18n.enableWrap":"Enable word wrap","i18n.htmlPreview":"HTML preview","i18n.previewFile":"Preview {file}","i18n.invalidMermaid":"Invalid Mermaid diagram","i18n.renderingMermaid":"Rendering Mermaid diagram","i18n.previewAfterStreaming":"Preview available after streaming","i18n.showMermaidSource":"Show Mermaid source","i18n.previewMermaid":"Preview Mermaid diagram","i18n.openMermaidViewer":"Open diagram viewer","i18n.mermaidViewer":"Mermaid diagram viewer","i18n.mermaidDiagram":"Mermaid diagram","i18n.zoomOut":"Zoom out","i18n.zoomIn":"Zoom in","i18n.fitToWidth":"Fit to width","models.discoveryFetching":"Importing models…","models.discoveryFetch":"Import models…","models.discoveryFilterPlaceholder":"Filter {count} models…","models.discoveryFilter":"Filter upstream models","models.discoverySelectShown":"Select shown","models.discoveryNoMatches":"No matching models.","models.discoveryAdded":"added","models.discoveryShowing":"Showing first {shown} of {total}","models.discoveryFetched":"{count} models fetched","models.discoveryAddSelected":"Add selected","models.discoveryAddSelectedCount":"Add selected ({count})","models.catalogSource":"source: models.dev ↗","models.catalogFilling":"Filling details…","models.catalogFill":"Fill model details","models.catalogFilled":"{count} fields filled","models.catalogNoEmptyFields":"No empty fields to fill","models.catalogNoExactMatch":"No exact models.dev match","models.catalogPriceProvider":"Price matched Provider {provider}","models.catalogPriceBaseUrl":"Price matched Base URL to {provider}","models.catalogPriceConsensus":"Price agreed by {support}/{total} records","models.catalogPriceUnreliable":"No reliable price found","models.catalogUndo":"Undo","models.capabilities":"Capabilities","models.reasoning":"Reasoning / thinking","models.imageInput":"Image input","models.modelSpecs":"Model specifications","models.contextWindow":"Context window (tokens)","models.maxOutputTokens":"Max output tokens","models.costPerMillion":"Cost per million tokens","models.costInput":"Input","models.costOutput":"Output","models.costCacheRead":"Cache read","models.costCacheWrite":"Cache write","models.notProvided":"Not provided","models.editCosts":"Edit prices","models.finishEditingCosts":"Done","models.costAllRequired":"Enter a valid non-negative price; blank fields are saved as 0.","models.advancedSettings":"Advanced settings","models.providerDefaults":"Using provider defaults","models.headersSummary":"Headers: {count}","models.compatSummary":"Compatibility: {count}","models.thinkingSummary":"Thinking levels: {count}","models.apiOverride":"API override","models.headers":"Headers","models.headersHelp":"Added to this model's requests and overrides provider headers.","models.compatibility":"Compatibility","models.deepSeekThinkingCompat":"DeepSeek thinking compatibility","models.developerRole":"Use the developer role for the system prompt","models.thinkingLevelMap":"Thinking level map","models.clearAll":"Clear all","i18n.testingModel":"Testing model connection...","i18n.connected":"Connected","i18n.failed":"Failed","i18n.test":"Test","i18n.testConnection":"Test model connection","i18n.provider":"Provider","i18n.model":"Model","i18n.providerName":"Provider name","i18n.rename":"Rename","i18n.default":"Default","i18n.disabled":"Disabled","i18n.noResources":"No resources","i18n.unknown":"Unknown","i18n.installedVersion":"installed {version}","i18n.configuredVersion":"configured {version}","i18n.extensions":"Extensions","i18n.prompts":"Prompts","i18n.themes":"Themes","i18n.resourceCount":"{count} {label}","i18n.extensionShort":"ext","i18n.skillShort":"skills","i18n.promptShort":"prompts","i18n.themeShort":"themes","i18n.custom":"Custom","i18n.clearAll":"clear all","i18n.connectedSuccessfully":"Connected successfully.","i18n.notConnected":"not connected","i18n.configured":"configured","i18n.notConfigured":"not configured","i18n.openingBrowser":"Opening browser…","i18n.submit":"Submit","i18n.login":"Login","i18n.relogin":"Re-login","i18n.disconnect":"Disconnect","i18n.networkError":"Network error","i18n.continuing":"Continuing…","i18n.skills":"Skills","i18n.plugins":"Plugins","i18n.addSkill":"Add skill","i18n.addPlugin":"Add plugin","i18n.selectSkill":"Select a skill","i18n.selectPackage":"Select a package","i18n.updateAvailable":"Update available","i18n.upToDate":"Up to date","i18n.automaticChecksUnavailable":"Automatic checks unavailable","i18n.checkFailed":"Check failed","i18n.installed":"Installed","i18n.status":"Status","i18n.version":"Version","i18n.package":"Package","i18n.resources":"Resources","i18n.installedPath":"Installed path","i18n.cwd":"CWD","i18n.resolvedResources":"Resolved Resources","i18n.reloadSession":"Reload session","i18n.reloading":"Reloading...","i18n.packageRemoved":"Package removed.","i18n.packageInstalled":"Package installed.","i18n.packageUpdated":"Package updated.","i18n.packagesUpdated":"Packages updated.","i18n.updateAllPlugins":"Update all","i18n.updateAllPluginsHint":"Updates all configured plugins","i18n.packageDisabled":"Package disabled.","i18n.packageEnabled":"Package enabled.","i18n.sessionReloaded":"Session reloaded.","i18n.thinking":"Thinking","i18n.largeMessageReveal":"Message content is very large ({size}). Click to view as plain text — markdown rendering is disabled to keep the page responsive.","i18n.loadingThinking":"Loading thinking...","i18n.copyMessage":"Copy message","i18n.editFromHere":"Edit from here","i18n.editFromHereTitle":"Edit from here — branches within this session","i18n.newSession":"New session","i18n.newSessionTitle":"New session — creates an independent copy from here","i18n.estimatedTokens":"Estimated token count while streaming","i18n.noOutput":"(no output)","i18n.noSummary":"(no summary)","i18n.conversationCompacted":"Conversation compacted","i18n.compactionDescription":"The conversation history before this point was compacted into the following summary:","i18n.fileContext":"File context: {details}","i18n.readFiles":"Read files","i18n.modifiedFiles":"Modified files","i18n.hiddenExtensionMessage":"hidden extension message","i18n.noMessage":"(no message)","i18n.showExtensionMessage":"Show extension message","i18n.collapse":"Collapse","i18n.expand":"Expand","i18n.hideDetails":"Hide details","i18n.showDetails":"Show details","i18n.thinkingUnavailable":"Thinking content unavailable","i18n.before":"Before","i18n.after":"After","i18n.sessionComplete":"Session complete","i18n.taskFinished":"Task finished.","i18n.attentionNeeded":"AgentStudio needs your attention","i18n.extensionInputNeeded":"An extension is waiting for your input.","sidebar.sessions":"Sessions","projectDashboard.title":"Project Dashboard","projectDashboard.searchPlaceholder":"Search projects...","projectDashboard.gridView":"Grid view","projectDashboard.listView":"List view","projectDashboard.totalProjects":"Total Projects","projectDashboard.totalSessions":"Total Sessions","projectDashboard.runningSessions":"Running Sessions","projectDashboard.noProjects":"No projects yet","projectDashboard.noProjectsFound":"No projects found","projectDashboard.sessions":"sessions","projectDashboard.running":"running","projectDashboard.unread":"unread","projectDashboard.status.running":"Running","projectDashboard.status.unread":"Unread","projectDashboard.status.idle":"Idle","projectDashboard.noActivity":"No activity","projectDashboard.daysAgo":"{days} days ago","projectDashboard.hoursAgo":"{hours} hours ago","projectDashboard.justNow":"Just now","projectDashboard.newProjectTitle":"New project","projectDashboard.addProjectRow":"Add project","projectDashboard.searchOrPath":"Search a folder, or type a path…","projectDashboard.recentUsed":"Recently used","projectDashboard.siblingDirs":"Sibling folders","projectDashboard.scanning":"Scanning…","projectDashboard.useThisPath":"Use this path","projectDashboard.pathNotFound":"This folder does not exist yet","projectDashboard.pathInvalid":"Cannot use this path","projectDashboard.createThisFolder":"Create folder","projectDashboard.create":"Create","projectDashboard.newFolder":"New folder","projectDashboard.parentDir":"Parent folder","projectDashboard.folderName":"Folder name","projectDashboard.browse":"Browse…","projectDashboard.noMatches":"No matching folders","projectDashboard.keyboardHint":"↑↓ select \xb7 Enter create \xb7 Esc cancel","projectDashboard.folderNameEmpty":"Enter a folder name","projectDashboard.folderNameSeparator":"A folder name cannot contain a path separator","projectDashboard.folderNameInvalid":"That folder name is not allowed","projectDashboard.folderCreateFailed":"Could not create the folder","projectDashboard.sortBy":"Sort by","projectDashboard.chipProjects":"Projects","projectDashboard.chipProjectsHint":"All projects — click to clear filters","projectDashboard.chipActive":"Active","projectDashboard.chipActiveHint":"Show only projects with running sessions","projectDashboard.chipUnread":"Unread","projectDashboard.chipUnreadHint":"Show only projects with unread sessions","projectDashboard.chipSessions":"Sessions","projectDashboard.chipSessionsHint":"Sort by session count (click again to reverse)","projectDashboard.chipMessages":"Messages","projectDashboard.chipMessagesHint":"Sort by message count (click again to reverse)","projectDashboard.sortMessages":"Messages","projectDashboard.expandDetails":"Expand details","projectDashboard.collapseDetails":"Collapse details","projectDashboard.splitHint":"Drag to resize, double-click to reset","projectDashboard.copied":"Path copied to clipboard","projectDashboard.copyFailed":"Could not copy the path","projectDashboard.ctxOpen":"Open project","projectDashboard.ctxNewSession":"New session here","projectDashboard.ctxCopyPath":"Copy path","projectDashboard.ctxEdit":"Edit name & note","projectDashboard.editProject":"Edit name & note","projectDashboard.alias":"Display name","projectDashboard.aliasHint":"Overrides the folder name in this dashboard","projectDashboard.note":"Note","projectDashboard.notePlaceholder":"What is this project about?","projectDashboard.color":"Color","projectDashboard.colorDefault":"Default","projectDashboard.clearMeta":"Clear","projectDashboard.cancel":"Cancel","projectDashboard.save":"Save","projectDashboard.manageTitle":"Manage projects","projectDashboard.manageHint":"{total} projects \xb7 {annotated} annotated","projectDashboard.edit":"Edit","projectDashboard.lastSession":"Last","projectDashboard.statSessions":"Sessions","projectDashboard.statMessages":"Messages","projectDashboard.statWorktrees":"Worktrees","projectDashboard.statSubagents":"Subagents","projectDashboard.selectProject":"Select project","projectDashboard.selectAll":"Select all","projectDashboard.toggleWorktrees":"Toggle worktrees","projectDashboard.subtitle":"All projects grouped from your sessions","projectDashboard.newProject":"New project","projectDashboard.manage":"Manage projects","projectDashboard.activeProjects":"Active Projects","projectDashboard.avgSessions":"Avg Sessions/Project","projectDashboard.sortLastAccessed":"Last accessed","projectDashboard.sortName":"Name","projectDashboard.sortSessions":"Sessions","projectDashboard.sortRunning":"Running","projectDashboard.ascending":"Ascending","projectDashboard.descending":"Descending","projectDashboard.noProjectsHint":"Start a session in a folder and it will appear here.","projectDashboard.removeFavorite":"Remove from favorites","projectDashboard.addFavorite":"Add to favorites","projectDashboard.project":"Project","projectDashboard.statusLabel":"Status","projectDashboard.lastAccessed":"Last accessed","projectDashboard.loading":"Loading projects...","projectDashboard.backToApp":"Back to app"}},{id:"zh-CN",label:"简体中文",messages:{"common.ok":"确定","common.language":"语言","common.models":"模型","common.skills":"技能","common.agents":"子代理","common.plugins":"插件","common.settings":"设置","settings.title":"设置","settings.general":"常规","settings.generalDescription":"选择 AgentStudio 的显示方式和界面语言。","settings.appearance":"外观","settings.appearanceDescription":"选择浅色或深色主题,也可以跟随系统设置。","settings.chatContentWidth":"聊天内容宽度","settings.chatContentFontSize":"聊天字体大小","settings.resetChatContentWidth":"重置聊天内容宽度","settings.resetChatContentFontSize":"重置聊天字体大小","settings.chatContentWidthDescription":"设置消息内容和输入框的最大宽度。","settings.themeLight":"浅色","settings.themeDark":"深色","settings.themeMist":"雾青","settings.themeRose":"蔷薇","settings.themePine":"松夜","settings.themeSystem":"跟随系统","settings.thinkingDisplay":"思考过程显示","settings.thinkingDisplayDescription":"选择消息加载时模型思考块是否默认展开。","settings.thinkingExpandedDefault":"默认展开思考块","settings.chat":"对话","settings.quoteSelection":"选中文字时显示提问浮窗","settings.languageDescription":"选择整个界面使用的语言。","settings.shellTool":"Shell 工具","settings.shellToolDescription":"选择模型执行命令时使用的 Shell。直接输入的 ! 和 !! 命令仍使用 Bash。","settings.pushPermission":"后台推送(iOS 主屏应用)","settings.pushPermissionDescription":"将本站添加到主屏幕后(iPhone 需 iOS 16.4+),会话完成且页面不在前台时,可在锁屏收到系统通知。若通知不再送达,可回到这里重新注册。注册必须由点击触发,因此不会自动弹出授权。","settings.pushRegister":"注册推送","settings.pushRegisterLoading":"注册中…","settings.pushRegistered":"✅ 推送已注册,后台通知就绪。","settings.pushRegisterFailed":"❌ 注册失败:","settings.usePowerShell":"使用 PowerShell 替代 Bash","settings.projectRequired":"打开项目后才能配置此项","auth.prompt":"登录后继续使用","auth.password":"密码","auth.logIn":"登录","auth.loggingIn":"正在登录...","auth.invalidPassword":"密码不正确","auth.loginFailed":"登录失败,请重试。","auth.logOut":"退出登录","auth.loggingOut":"正在退出...","auth.logoutFailed":"退出失败,请重试。","skills.scope.global":"全局","skills.scope.project":"项目","skills.scope.path":"路径","agents.close":"关闭","agents.builtInTitle":"启用 AgentStudio 内置子代理","agents.builtInDescription":"提供 AgentStudio 集成的 Agent 工具,并停用发生冲突的 pi-subagents 扩展。","agents.reloadRequired":"重新加载当前会话后生效。","agents.reloadSession":"重新加载会话","agents.maxConcurrent":"并发子代理数","agents.maxConcurrentDescription":"每个父会话同时运行的最大任务数。","agents.reloading":"正在重新加载...","agents.loading":"正在加载子代理...","agents.new":"新建子代理","agents.empty":"选择或创建一个子代理配置","agents.saveScope":"保存到","agents.name":"子代理 ID","agents.displayName":"显示名称","agents.description":"描述","agents.prompt":"系统指令","agents.tools":"工具","agents.resources":"资源","agents.loadSkills":"加载技能","agents.loadExtensions":"加载扩展","agents.model":"指定模型","agents.modelsLoading":"正在加载模型...","agents.modelUnavailable":"{model}(不可用)","agents.thinking":"思考级别","agents.maxTurns":"最大轮次","agents.inherit":"跟随父会话","agents.enable":"启用子代理","agents.disable":"停用子代理","agents.builtinPath":"内置配置","agents.inheritContext":"继承父会话上下文","agents.background":"默认在后台运行","agents.duplicate":"创建副本","agents.copyName":"{name} 副本","agents.delete":"删除","agents.deleteConfirm":"删除 {name}?","agents.save":"保存","agents.saving":"正在保存...","agents.scope.builtin":"内置","agents.scope.global":"全局","agents.scope.workspace":"工作区","agents.scope.project":"项目","agents.overridden":"被覆盖","subagent.open":"打开子代理会话","agentSwitcher.title":"Agents","agentSwitcher.main":"主 Agent","agentSwitcher.subagent":"子 Agent","agentSwitcher.current":"当前","agentSwitcher.count":"{count} 个子 Agent","agentSwitcher.runningCount":"{count} 个运行中","agentSwitcher.search":"搜索 Agents","agentSwitcher.noMatches":"没有匹配的 Agent","agentSwitcher.status.starting":"正在启动","agentSwitcher.status.running":"运行中","agentSwitcher.status.completed":"已完成","agentSwitcher.status.failed":"失败","agentSwitcher.status.aborted":"已中止","agentSwitcher.status.interrupted":"已中断","appUpdate.releaseNotes":"AgentStudio v{version} 可用,查看更新说明","sidebar.hide":"隐藏侧边栏","sidebar.show":"显示侧边栏","theme.light":"主题:浅色","theme.dark":"主题:深色","theme.mist":"主题:雾青","theme.rose":"主题:蔷薇","theme.pine":"主题:松夜","theme.auto":"主题:跟随系统","history.full":"完整历史","history.unsaved":"会话保存后才能查看完整历史","history.label":"完整历史","title.generating":"正在生成...","title.updated":"标题已更新","title.failed":"生成失败","title.generate":"生成标题","title.unsaved":"会话保存后才能生成标题","title.noMessages":"请先发送消息,再为会话命名","title.generateSession":"生成会话标题","system.prompt":"系统提示词","system.empty":"系统提示词为空(工具已禁用)","system.load":"系统提示词尚未加载","system.loading":"正在加载系统提示词…","system.label":"系统","tools.label":"工具","tools.title":"工具定义","tools.details":"工具定义详情","tools.load":"工具定义尚未加载","tools.loading":"正在加载工具定义…","tools.noTools":"没有启用的工具","tools.description":"描述","tools.parameters":"参数","tools.parameterCount":"{count} 个参数","tools.noParameters":"无参数","tools.required":"必填","tools.optional":"可选","tools.allowedValues":"可选值","tools.defaultValue":"默认值","tools.guidelines":"提示词规则","session.info":"会话信息","session.name":"名称","session.file":"会话文件","session.inMemory":"内存中","session.id":"ID","session.user":"用户","session.assistant":"助手","session.toolCalls":"工具调用","session.toolResults":"工具结果","session.total":"总计","session.input":"输入","session.output":"输出","session.cacheRead":"缓存读取","session.cacheWrite":"缓存写入","session.cost":"费用","session.context":"上下文","session.cacheHitRate":"平均缓存命中率","session.copy":"复制{value}","session.copied":"已复制","session.title":"会话信息","session.load":"发送消息或运行 /session 以加载会话信息","session.infoSection":"会话信息","session.projectSection":"项目信息","session.messages":"消息","session.tokens":"Token","session.totalActive":"活跃时长","session.copyFile":"复制文件路径","session.copyId":"复制会话 ID","session.projectDir":"项目目录","session.gitBranch":"Git 分支","session.gitWorktree":"Worktree","session.copyProjectDir":"复制项目目录","session.copyGitBranch":"复制 Git 分支","session.copyGitWorktree":"复制 Worktree 路径","workspace.opening":"正在打开工作区...","workspace.unable":"无法打开工作区","workspace.selectSession":"从侧边栏选择一个会话","workspace.getStarted":"开始使用","workspace.selectProject":"从侧边栏选择项目目录","workspace.addModels":"打开底部的“设置”,然后选择“模型”","workspace.stepProject":"从侧边栏选择项目目录","workspace.stepModels":"打开底部的“设置”,然后选择“模型”","files.hidePanel":"隐藏文件面板","files.showPanel":"显示文件面板","files.noneOpen":"没有打开的文件","layout.resizeSidebar":"调整侧边栏宽度","layout.resizeFilePanel":"调整文件面板宽度","layout.resizeHint":"拖动调整宽度。双击或按 Enter 恢复默认值。","sidebar.new":"新建","sidebar.newSessionTitle":"在 {path} 中新建会话","sidebar.refresh":"刷新","sidebar.selectProject":"选择项目…","sidebar.filterProjects":"筛选项目…","sidebar.noMatchingProjects":"没有匹配的项目","sidebar.newSessionAction":"在当前项目新建会话","sidebar.newProjectAction":"新建项目…","sidebar.moreNewActions":"更多新建方式","sidebar.useDefaultDirectory":"使用默认目录","sidebar.customPath":"自定义路径…","directoryPicker.selectDirectory":"选择目录","directoryPicker.goToParent":"转到上级目录","directoryPicker.directoryPath":"目录路径","directoryPicker.goToDirectory":"转到目录","directoryPicker.go":"转到","directoryPicker.loadingDirectories":"正在加载目录…","directoryPicker.noSubdirectories":"没有子目录","directoryPicker.openBeforeSelecting":"选择前请先打开此路径","directoryPicker.selectCurrentDirectory":"选择当前目录","directoryPicker.selectThisFolder":"选择此文件夹","directoryPicker.noDrives":"未找到盘符","sidebar.checking":"检查中…","sidebar.open":"打开","sidebar.cancel":"取消","sidebar.openRepoRoot":"打开仓库根目录","sidebar.openRepoRootTitle":"打开仓库根目录以管理 worktree。","sidebar.gitRepoRootOnly":"仅 Git 仓库根目录","sidebar.gitRepoRootOnlyTitle":"只能在 Git 仓库根目录使用 worktree。","sidebar.worktrees":"Worktrees...","sidebar.checkingWorktrees":"正在检查此目录的 worktree。","sidebar.filterWorktrees":"筛选 worktree…","sidebar.noMatchingWorktrees":"没有匹配的 worktree","sidebar.switchWorktree":"切换 worktree","sidebar.switchWorktreeTitle":"切换 worktree:{path}","sidebar.main":"主分支","sidebar.forceRemoveCheckout":"存在未提交的更改。强制移除 checkout?","sidebar.force":"强制移除","sidebar.createWorktreeTitle":"为分支创建 worktree checkout","sidebar.newWorktree":"新建 worktree…","sidebar.branchName":"分支名称","sidebar.creating":"创建中…","sidebar.create":"创建","sidebar.uploadFilesTitle":"将文件上传到项目根目录","sidebar.uploadFiles":"上传文件","sidebar.refreshExplorer":"刷新文件浏览器","sidebar.searchFiles":"搜索文件","sidebar.searchFilesPlaceholder":"搜索文件…","sidebar.searchingFiles":"搜索中…","sidebar.noMatchingFiles":"没有匹配的文件","sidebar.clearSearch":"清除搜索","sidebar.searchSessions":"搜索所有对话...","sidebar.toggleSessionSearch":"搜索对话","sidebar.sessionSearching":"搜索中...","sidebar.sessionSearchEmpty":"没有匹配的对话","sidebar.sessionSearchCount":"{count} 个匹配的对话","sidebar.sessionSearchPartial":"已达到搜索上限,结果可能不完整。","sidebar.sessionSearchFailed":"无法搜索对话","sidebar.changedFiles":"{count} 个变更文件","sidebar.loading":"加载中...","sidebar.noSessions":"未找到会话","sidebar.agentRunning":"Agent 运行中…","sidebar.newActivity":"有新活动","sidebar.newSessionActivity":"会话有新活动","sidebar.deleteSession":"删除 {title}?","sidebar.rename":"重命名","sidebar.delete":"删除","sidebar.deleteWithShiftClick":"删除(按住 Shift 点击可跳过确认)","sidebar.expandSubagents":"展开子智能体","sidebar.collapseSubagents":"折叠子智能体","sidebar.messagesCount":"{count} 条消息","sidebar.worktreePath":"Worktree:{path}","sidebar.removeWorktreeTitle":"移除 worktree checkout {path};保留分支","files.modified":"已修改","files.added":"已添加","files.deleted":"已删除","files.renamed":"已重命名","files.untracked":"未跟踪","files.conflict":"冲突","files.newlyUploaded":"刚上传","files.containsChangedFiles":"包含已更改文件","files.insertPath":"将路径插入聊天","files.mention":"提及","files.download":"下载文件","files.dismissError":"关闭错误","files.addUploadedFile":"将上传的文件添加到聊天","files.addAllUploadedFiles":"将所有上传的文件添加到聊天","files.dismissUploadResults":"关闭上传结果","files.loading":"正在加载文件...","files.noFiles":"未找到文件","files.explorer":"文件浏览器","files.changedCount":"{count} 个文件","files.changeStats":"{count} 个变更文件,新增 {additions} 行,删除 {deletions} 行","files.conflictSummary":"已有 {count} 个文件:{files}","files.cannotReplace":"无法替换:{files}","files.replace":"替换","files.skipExisting":"跳过已有文件","files.cancel":"取消","files.checking":"正在检查文件","files.uploading":"正在上传,{progress}%","chat.loadingSession":"正在加载会话...","chat.runningTool":"正在运行工具...","chat.generatingToolInput":"正在生成参数...","chat.runningNamedTool":"正在运行 {name}...","chat.runningTools":"正在运行 {names}...","chat.runningToolsMore":"正在运行 {names}(另有 {count} 个)...","chat.waitingModel":"正在等待模型...","chat.runningCommand":"正在运行命令...","chat.thinking":"正在思考...","chat.processDetails":"处理详情","chat.message":"条消息","chat.messages":"条消息","chat.toolCall":"次工具调用","chat.toolCalls":"次工具调用","chat.collapseProcess":"收起处理详情","chat.expandProcess":"展开处理详情","chat.filesWritten":"改动的文件","chat.openWrittenFile":"打开 {name}","chat.loadEarlier":"向上滚动以加载更早的消息","chat.extensionRequest":"扩展请求","chat.extensionExpiresIn":"{seconds} 秒后过期","chat.extensionPending":"待回答","chat.extensionCollapse":"收起","chat.extensionExpand":"展开","chat.cancel":"取消","chat.confirm":"确认","chat.submit":"提交","chat.extensionInput":"扩展终端输入","chat.extensionPanel":"扩展面板","chat.extensionWidgets":"扩展组件","chat.extensionWidgetAbove":"输入框上方组件","chat.extensionWidgetBelow":"输入框下方组件","chat.extensionWidgetLine":"{count} 行","chat.extensionWidgetLines":"{count} 行","chat.close":"关闭","chat.queued":"已排队 \xb7 {count}","chat.recall":"移回输入框","chat.recallTitle":"移除所有排队消息并将其放回输入框编辑","chat.retrying":"正在重试({attempt}/{max})…","chat.loadingCommands":"正在加载命令...","chat.slashCommands":"斜杠命令 \xb7 {label}","chat.tabEnter":"Tab / Enter","chat.noCommands":"未找到扩展、提示词或技能命令","chat.match":"1 个匹配项","chat.matches":"{count} 个匹配项","chat.command":"1 个命令","chat.commands":"{count} 个命令","chat.loadingFiles":"正在加载文件...","chat.files":"文件 \xb7 {label}{hint}","chat.searching":"搜索中…","chat.noMatchingFiles":"未找到匹配的文件","chat.searchingAll":" \xb7 正在搜索所有文件…","chat.indexTruncated":" \xb7 索引不完整","chat.steerPlaceholder":"立即引导 / 排队后续消息...","chat.agentPlaceholder":"Agent 运行中…","chat.messagePlaceholder":"消息…输入 / 使用命令,输入 @ 查找文件","chat.steer":"引导","chat.followUp":"后续消息","chat.steerHint":"中断当前运行并立即注入此消息","chat.followUpHint":"在 Agent 完成后排队此消息","chat.inputHistory":"输入历史","chat.modelError":"模型错误","chat.modelScopeWarning":"模型范围警告","chat.modelScopeWarnings":"模型范围警告","chat.send":"发送","chat.askSelection":"询问选中的文字","chat.askInCurrent":"在当前对话询问","chat.askInNewChat":"在新对话询问","chat.newQuoteChat":"关于选中文字的新对话","chat.quoteIntro":"关于这段内容:","chat.quoteQuestion":"我的问题是:","chat.quoteForkFailed":"无法从这条消息创建分支。","chat.attachImage":"附加图片","chat.previewImage":"预览图片","chat.filterModels":"筛选模型…","chat.noMatchingModels":"没有匹配的模型","chat.moreControls":"更多控件","chat.collapseControls":"收起控件","chat.shell":"Shell","terminal.title":"终端","terminal.tabLabel":"终端:{name}","terminal.open":"打开工作区终端","terminal.close":"终止终端","terminal.restart":"重启终端","terminal.reconnect":"重新连接终端","terminal.connecting":"连接中","terminal.ready":"已连接","terminal.exited":"终端已关闭","terminal.error":"连接错误","terminal.exitCode":"进程已退出,退出码 {code}","chat.outputLocal":"输出保留在本地","chat.outputModel":"输出发送给模型","chat.chatOnly":"仅聊天","chat.readOnlyTools":"{count} 个只读内置工具","chat.builtInTools":"{count} 个内置工具","chat.allBuiltInTools":"全部内置工具","chat.changeReasoning":"更改推理级别:{level}","chat.changeReasoningLabel":"更改推理级别","chat.changeToolPreset":"更改工具预设","chat.stopCompaction":"停止压缩","chat.compactContext":"压缩上下文","chat.compacting":"正在压缩…","chat.compact":"压缩","chat.stopAgent":"停止 Agent","chat.stop":"停止","chat.disableSound":"关闭完成提示音","chat.enableSound":"开启完成提示音","chat.thinkingUseDefault":"使用 pi 默认设置","chat.thinkingOff":"关闭推理","chat.thinkingMinimal":"最低限度推理","chat.thinkingLow":"低强度推理","chat.thinkingMedium":"中等强度推理","chat.thinkingHigh":"高强度推理","chat.thinkingXhigh":"超高强度推理","chat.thinkingMax":"最高强度推理","chat.builtIn":"内置","chat.extensions":"扩展","chat.prompts":"提示词","chat.skills":"技能","chat.dormant":"休眠","chat.commandCompact":"压缩上下文,可选附加说明","chat.commandReload":"重新加载扩展、技能、提示词和工具","chat.commandName":"设置会话显示名称","chat.commandSession":"显示会话消息、Token 和费用统计","chat.commandCopy":"复制最后一条助手消息","chat.commandClone":"将当前分支复制为独立新会话","chat.compacted":"已压缩","chat.imageNotSupportedTitle":"图片可能无法发送","chat.imageNotSupportedBody":"当前选择的模型({model})不支持图片输入,附加的图片可能会被忽略。","chat.tokensSaved":"节省 {saved}","chatMinimap.locateAssistant":"定位助手消息","i18n.close":"关闭","i18n.copy":"复制","i18n.copied":"已复制","i18n.cancel":"取消","i18n.save":"保存","i18n.saving":"保存中…","i18n.saved":"已保存","i18n.remove":"移除","i18n.removing":"移除中…","i18n.delete":"删除","i18n.loading":"加载中...","i18n.loadMore":"加载更多","i18n.search":"搜索","i18n.refresh":"刷新","providerUsage.usage":"用量","providerUsage.notQueried":"尚未查询","providerUsage.refresh":"刷新用量","providerUsage.refreshing":"正在刷新用量","providerUsage.updated":"更新于 {time}","providerUsage.queryFailed":"用量查询失败。","providerUsage.available":"可用","i18n.update":"更新","i18n.updating":"更新中...","i18n.check":"检查","i18n.checking":"检查中...","i18n.install":"安装","i18n.installing":"安装中...","i18n.noResults":"没有结果","i18n.searchProviders":"搜索 Provider…","i18n.noProviders":"没有匹配的 Provider","i18n.newModel":"新模型","i18n.addProvider":"添加 Provider","i18n.selectProviderModel":"选择 Provider 或模型","i18n.visibleInPrompt":"在模型提示词中可见,点击以禁用","i18n.hiddenFromPrompt":"在模型提示词中隐藏,点击以启用","i18n.dormant":"休眠","i18n.hiddenButInvocable":"对模型隐藏,仍可手动调用","i18n.skillSearchPlaceholder":"例如 react、testing、deploy","i18n.searching":"搜索中…","i18n.noSkills":"未找到技能","i18n.checkUpdates":"检查更新","i18n.updates":"项更新","i18n.noResolvedResources":"没有已解析资源","i18n.enablePackage":"启用包","i18n.disablePackage":"禁用包","i18n.filtered":"已筛选","i18n.openSessionToReload":"打开会话后才能重新加载","i18n.notFound":"未找到","i18n.noPlugins":"未配置插件","trust.resourcesNotLoaded":"受限模式","trust.trustProject":"信任项目","trust.trusting":"正在信任...","trust.cancel":"取消","trust.dialogTitle":"信任此项目?","trust.dialogBody":"项目资源可以运行本地代码。请仅信任你了解其内容的项目。","trust.skillsNotLoaded":"此项目尚未受信任,项目技能未加载。","trust.pluginsNotLoaded":"此项目尚未受信任,项目插件未加载。","trust.projectScopeUnavailable":"项目资源未加载时,无法安装到项目范围。","i18n.creatingSession":"正在创建新会话…","i18n.creating":"创建中…","i18n.subscription":"订阅","i18n.subscriptions":"订阅服务","i18n.customEndpoint":"自定义端点格式","i18n.noChanges":"没有更改","i18n.branches":"分支","i18n.noActiveSession":"没有活动会话","i18n.noBranches":"此会话没有分支","i18n.source":"源代码","i18n.preview":"预览","i18n.diff":"Diff","i18n.downloadFile":"下载文件","i18n.liveSync":"实时同步已启用","i18n.notWatching":"未监视","i18n.fileViewMode":"文件视图模式","i18n.compareHead":"比较工作区与 HEAD","i18n.mentionSelectedLines":"提及所选行","i18n.disableWrap":"禁用自动换行","i18n.enableWrap":"启用自动换行","i18n.htmlPreview":"HTML 预览","i18n.previewFile":"预览 {file}","i18n.invalidMermaid":"Mermaid 图表无效","i18n.renderingMermaid":"正在渲染 Mermaid 图表","i18n.previewAfterStreaming":"流式输出完成后可预览","i18n.showMermaidSource":"显示 Mermaid 源码","i18n.previewMermaid":"预览 Mermaid 图表","i18n.openMermaidViewer":"打开图表查看器","i18n.mermaidViewer":"Mermaid 图表查看器","i18n.mermaidDiagram":"Mermaid 图表","i18n.zoomOut":"缩小","i18n.zoomIn":"放大","i18n.fitToWidth":"适应宽度","models.discoveryFetching":"正在导入模型…","models.discoveryFetch":"导入模型…","models.discoveryFilterPlaceholder":"筛选 {count} 个模型…","models.discoveryFilter":"筛选上游模型","models.discoverySelectShown":"选择当前结果","models.discoveryNoMatches":"没有匹配的模型。","models.discoveryAdded":"已添加","models.discoveryShowing":"显示前 {shown} 个,共 {total} 个","models.discoveryFetched":"已获取 {count} 个模型","models.discoveryAddSelected":"添加所选模型","models.discoveryAddSelectedCount":"添加所选模型({count})","models.catalogSource":"来源:models.dev ↗","models.catalogFilling":"正在填入模型信息…","models.catalogFill":"填入模型信息","models.catalogFilled":"已填入 {count} 个字段","models.catalogNoEmptyFields":"没有需要填入的空字段","models.catalogNoExactMatch":"models.dev 中没有精确匹配","models.catalogPriceProvider":"价格已匹配 Provider {provider}","models.catalogPriceBaseUrl":"价格已按 Base URL 匹配 {provider}","models.catalogPriceConsensus":"价格得到 {support}/{total} 条记录支持","models.catalogPriceUnreliable":"未找到可靠价格","models.catalogUndo":"撤销","models.capabilities":"能力","models.reasoning":"推理 / 思考","models.imageInput":"图片输入","models.modelSpecs":"模型规格","models.contextWindow":"上下文窗口(tokens)","models.maxOutputTokens":"最大输出 tokens","models.costPerMillion":"每百万 tokens 价格","models.costInput":"输入","models.costOutput":"输出","models.costCacheRead":"缓存读取","models.costCacheWrite":"缓存写入","models.notProvided":"未提供","models.editCosts":"编辑价格","models.finishEditingCosts":"完成","models.costAllRequired":"请输入有效的非负价格;留空项将按 0 保存。","models.advancedSettings":"高级设置","models.providerDefaults":"沿用 Provider 默认设置","models.headersSummary":"Headers:{count}","models.compatSummary":"兼容性:{count}","models.thinkingSummary":"思考等级:{count}","models.apiOverride":"API 覆盖","models.headers":"Headers","models.headersHelp":"仅添加到该模型的请求中,并覆盖 Provider 的同名 Header。","models.compatibility":"兼容性","models.deepSeekThinkingCompat":"DeepSeek 思考兼容","models.developerRole":"使用 developer role 传递系统提示词","models.thinkingLevelMap":"思考等级映射","models.clearAll":"全部清除","i18n.testingModel":"正在测试模型连接...","i18n.connected":"已连接","i18n.failed":"失败","i18n.test":"测试","i18n.testConnection":"测试模型连接","i18n.provider":"Provider","i18n.model":"模型","i18n.providerName":"Provider 名称","i18n.rename":"重命名","i18n.default":"默认","i18n.disabled":"已禁用","i18n.noResources":"没有资源","i18n.unknown":"未知","i18n.installedVersion":"已安装 {version}","i18n.configuredVersion":"已配置 {version}","i18n.extensions":"扩展","i18n.prompts":"提示词","i18n.themes":"主题","i18n.resourceCount":"{count}{label}","i18n.extensionShort":"扩展","i18n.skillShort":"技能","i18n.promptShort":"提示词","i18n.themeShort":"主题","i18n.custom":"自定义","i18n.clearAll":"清除全部","i18n.connectedSuccessfully":"连接成功。","i18n.notConnected":"未连接","i18n.configured":"已配置","i18n.notConfigured":"未配置","i18n.openingBrowser":"正在打开浏览器…","i18n.submit":"提交","i18n.login":"登录","i18n.relogin":"重新登录","i18n.disconnect":"断开连接","i18n.networkError":"网络错误","i18n.continuing":"继续中…","i18n.skills":"技能","i18n.plugins":"插件","i18n.addSkill":"添加技能","i18n.addPlugin":"添加插件","i18n.selectSkill":"选择技能","i18n.selectPackage":"选择包","i18n.updateAvailable":"有可用更新","i18n.upToDate":"已是最新","i18n.automaticChecksUnavailable":"自动检查不可用","i18n.checkFailed":"检查失败","i18n.installed":"已安装","i18n.status":"状态","i18n.version":"版本","i18n.package":"包","i18n.resources":"资源","i18n.installedPath":"安装路径","i18n.cwd":"CWD","i18n.resolvedResources":"已解析资源","i18n.reloadSession":"重新加载会话","i18n.reloading":"重新加载中...","i18n.packageRemoved":"包已移除。","i18n.packageInstalled":"包已安装。","i18n.packageUpdated":"包已更新。","i18n.packagesUpdated":"所有插件已更新。","i18n.updateAllPlugins":"更新全部","i18n.updateAllPluginsHint":"更新所有已配置的插件","i18n.packageDisabled":"包已禁用。","i18n.packageEnabled":"包已启用。","i18n.sessionReloaded":"会话已重新加载。","i18n.thinking":"思考","i18n.largeMessageReveal":"消息内容过大({size})。点击以纯文本查看 — 已禁用 markdown 渲染以避免页面卡顿。","i18n.loadingThinking":"正在加载思考内容...","i18n.copyMessage":"复制消息","i18n.editFromHere":"从此处编辑","i18n.editFromHereTitle":"从此处编辑,此会话内创建分支","i18n.newSession":"新会话","i18n.newSessionTitle":"新会话,从此处创建独立副本","i18n.estimatedTokens":"流式输出期间的估算 Token 数","i18n.noOutput":"(无输出)","i18n.noSummary":"(无摘要)","i18n.conversationCompacted":"会话已压缩","i18n.compactionDescription":"此处之前的会话历史已压缩为以下摘要:","i18n.fileContext":"文件上下文:{details}","i18n.readFiles":"读取的文件","i18n.modifiedFiles":"修改的文件","i18n.hiddenExtensionMessage":"隐藏的扩展消息","i18n.noMessage":"(无消息)","i18n.showExtensionMessage":"显示扩展消息","i18n.collapse":"收起","i18n.expand":"展开","i18n.hideDetails":"隐藏详情","i18n.showDetails":"显示详情","i18n.thinkingUnavailable":"思考内容不可用","i18n.before":"之前","i18n.after":"之后","i18n.sessionComplete":"任务完成","i18n.taskFinished":"任务已完成。","i18n.attentionNeeded":"AgentStudio 需要你的操作","i18n.extensionInputNeeded":"扩展正在等待你的输入。","sidebar.sessions":"会话列表","projectDashboard.title":"项目仪表盘","projectDashboard.searchPlaceholder":"搜索项目...","projectDashboard.gridView":"网格视图","projectDashboard.listView":"列表视图","projectDashboard.totalProjects":"总项目数","projectDashboard.totalSessions":"总会话数","projectDashboard.runningSessions":"运行中的会话","projectDashboard.noProjects":"暂无项目","projectDashboard.noProjectsFound":"未找到项目","projectDashboard.sessions":"个会话","projectDashboard.running":"运行中","projectDashboard.unread":"未读","projectDashboard.status.running":"运行中","projectDashboard.status.unread":"未读","projectDashboard.status.idle":"空闲","projectDashboard.noActivity":"无活动","projectDashboard.daysAgo":"{days} 天前","projectDashboard.hoursAgo":"{hours} 小时前","projectDashboard.justNow":"刚刚","projectDashboard.newProjectTitle":"新建项目","projectDashboard.addProjectRow":"添加项目","projectDashboard.searchOrPath":"搜索目录,或直接输入路径…","projectDashboard.recentUsed":"最近使用","projectDashboard.siblingDirs":"同级目录","projectDashboard.scanning":"扫描中…","projectDashboard.useThisPath":"使用此路径","projectDashboard.pathNotFound":"该目录还不存在","projectDashboard.pathInvalid":"无法使用该路径","projectDashboard.createThisFolder":"创建文件夹","projectDashboard.create":"创建","projectDashboard.newFolder":"新建文件夹","projectDashboard.parentDir":"父目录","projectDashboard.folderName":"文件夹名称","projectDashboard.browse":"浏览…","projectDashboard.noMatches":"没有匹配的目录","projectDashboard.keyboardHint":"↑↓ 选择 \xb7 Enter 创建 \xb7 Esc 取消","projectDashboard.folderNameEmpty":"请输入文件夹名称","projectDashboard.folderNameSeparator":"文件夹名称不能包含路径分隔符","projectDashboard.folderNameInvalid":"该文件夹名称不被允许","projectDashboard.folderCreateFailed":"创建文件夹失败","projectDashboard.sortBy":"排序方式","projectDashboard.chipProjects":"项目","projectDashboard.chipProjectsHint":"全部项目(清除筛选)","projectDashboard.chipActive":"活跃","projectDashboard.chipActiveHint":"只看有运行中会话的项目","projectDashboard.chipUnread":"未读","projectDashboard.chipUnreadHint":"只看有未读会话的项目","projectDashboard.chipSessions":"会话","projectDashboard.chipSessionsHint":"按会话数排序(再点反向)","projectDashboard.chipMessages":"消息","projectDashboard.chipMessagesHint":"按消息数排序(再点反向)","projectDashboard.sortMessages":"消息数","projectDashboard.expandDetails":"展开详情","projectDashboard.collapseDetails":"收起详情","projectDashboard.splitHint":"拖拽调整高度,双击恢复默认","projectDashboard.copied":"已复制路径","projectDashboard.copyFailed":"复制路径失败","projectDashboard.ctxOpen":"打开项目","projectDashboard.ctxNewSession":"在此新建会话","projectDashboard.ctxCopyPath":"复制路径","projectDashboard.ctxEdit":"编辑名称与备注","projectDashboard.editProject":"编辑名称与备注","projectDashboard.alias":"显示名称","projectDashboard.aliasHint":"会覆盖仪表盘里的文件夹名称","projectDashboard.note":"备注","projectDashboard.notePlaceholder":"这个项目是做什么的?","projectDashboard.color":"颜色","projectDashboard.colorDefault":"默认","projectDashboard.clearMeta":"清除","projectDashboard.cancel":"取消","projectDashboard.save":"保存","projectDashboard.manageTitle":"管理项目","projectDashboard.manageHint":"共 {total} 个项目,{annotated} 个已备注","projectDashboard.edit":"编辑","projectDashboard.lastSession":"最近","projectDashboard.statSessions":"会话","projectDashboard.statMessages":"消息","projectDashboard.statWorktrees":"工作树","projectDashboard.statSubagents":"子代理","projectDashboard.selectProject":"选择项目","projectDashboard.selectAll":"全选","projectDashboard.toggleWorktrees":"展开/收起工作树","projectDashboard.subtitle":"按工作区聚合的所有项目","projectDashboard.newProject":"新建项目","projectDashboard.manage":"管理项目","projectDashboard.activeProjects":"活跃项目","projectDashboard.avgSessions":"平均会话/项目","projectDashboard.sortLastAccessed":"最近访问","projectDashboard.sortName":"名称","projectDashboard.sortSessions":"会话数","projectDashboard.sortRunning":"运行中","projectDashboard.ascending":"升序","projectDashboard.descending":"降序","projectDashboard.noProjectsHint":"在某个目录里开始一个会话,它就会出现在这里。","projectDashboard.removeFavorite":"取消收藏","projectDashboard.addFavorite":"收藏","projectDashboard.project":"项目","projectDashboard.statusLabel":"状态","projectDashboard.lastAccessed":"最近访问","projectDashboard.loading":"正在加载项目...","projectDashboard.backToApp":"返回应用"}},{id:"zh-TW",label:"繁體中文",messages:{"common.ok":"確定","common.language":"語言","common.models":"模型","common.skills":"技能","common.agents":"子代理","common.plugins":"外掛","common.settings":"設定","settings.title":"設定","settings.general":"一般","settings.generalDescription":"選擇 AgentStudio 的外觀與介面語言。","settings.appearance":"外觀","settings.appearanceDescription":"選擇淺色或深色主題,也可以跟隨系統設定。","settings.chatContentWidth":"聊天內容寬度","settings.chatContentFontSize":"聊天字體大小","settings.resetChatContentWidth":"重設聊天內容寬度","settings.resetChatContentFontSize":"重設聊天字體大小","settings.chatContentWidthDescription":"設定訊息內容和輸入框的最大寬度。","settings.themeLight":"淺色","settings.themeDark":"深色","settings.themeMist":"霧青","settings.themeRose":"薔薇","settings.themePine":"松夜","settings.themeSystem":"跟隨系統","settings.thinkingDisplay":"思考過程顯示","settings.thinkingDisplayDescription":"選擇訊息載入時模型思考區塊是否預設展開。","settings.thinkingExpandedDefault":"預設展開思考區塊","settings.chat":"對話","settings.quoteSelection":"選取文字時顯示提問浮窗","settings.languageDescription":"選擇整個介面使用的語言。","settings.shellTool":"Shell 工具","settings.shellToolDescription":"選擇模型執行命令時使用的 Shell。直接輸入的 ! 和 !! 命令仍使用 Bash。","settings.pushPermission":"背景推送(iOS 主畫面應用)","settings.pushPermissionDescription":"將本站加入主畫面後(iPhone 需 iOS 16.4+),工作階段完成且頁面不在前景時,可在鎖定畫面收到系統通知。若通知不再送達,可回到這裡重新註冊。註冊必須由點擊觸發,因此不會自動彈出授權。","settings.pushRegister":"註冊推送","settings.pushRegisterLoading":"註冊中…","settings.pushRegistered":"✅ 推送已註冊,背景通知就緒。","settings.pushRegisterFailed":"❌ 註冊失敗:","settings.usePowerShell":"使用 PowerShell 取代 Bash","settings.projectRequired":"開啟專案後才能設定此項","auth.prompt":"登入後繼續使用","auth.password":"密碼","auth.logIn":"登入","auth.loggingIn":"正在登入...","auth.invalidPassword":"密碼不正確","auth.loginFailed":"登入失敗,請再試一次。","auth.logOut":"登出","auth.loggingOut":"正在登出...","auth.logoutFailed":"登出失敗,請再試一次。","skills.scope.global":"全域","skills.scope.project":"專案","skills.scope.path":"路徑","agents.close":"關閉","agents.builtInTitle":"啟用 AgentStudio 內建子代理","agents.builtInDescription":"提供 AgentStudio 整合的 Agent 工具,並停用發生衝突的 pi-subagents 擴充功能。","agents.reloadRequired":"重新載入目前工作階段後生效。","agents.reloadSession":"重新載入工作階段","agents.maxConcurrent":"並行子代理數","agents.maxConcurrentDescription":"每個父工作階段同時執行的最大任務數。","agents.reloading":"正在重新載入...","agents.loading":"正在載入子代理...","agents.new":"新增子代理","agents.empty":"選擇或建立子代理設定檔","agents.saveScope":"儲存至","agents.name":"子代理 ID","agents.displayName":"顯示名稱","agents.description":"描述","agents.prompt":"系統指令","agents.tools":"工具","agents.resources":"資源","agents.loadSkills":"載入技能","agents.loadExtensions":"載入擴充功能","agents.model":"指定模型","agents.modelsLoading":"正在載入模型...","agents.modelUnavailable":"{model}(無法使用)","agents.thinking":"思考層級","agents.maxTurns":"最大輪次","agents.inherit":"沿用父工作階段","agents.enable":"啟用子代理","agents.disable":"停用子代理","agents.builtinPath":"內建設定檔","agents.inheritContext":"繼承父工作階段上下文","agents.background":"預設在背景執行","agents.duplicate":"建立副本","agents.copyName":"{name} 副本","agents.delete":"刪除","agents.deleteConfirm":"刪除 {name}?","agents.save":"儲存","agents.saving":"正在儲存...","agents.scope.builtin":"內建","agents.scope.global":"全域","agents.scope.workspace":"工作區","agents.scope.project":"專案","agents.overridden":"已被覆寫","subagent.open":"開啟子代理工作階段","agentSwitcher.title":"Agents","agentSwitcher.main":"主 Agent","agentSwitcher.subagent":"子 Agent","agentSwitcher.current":"目前","agentSwitcher.count":"{count} 個子 Agent","agentSwitcher.runningCount":"{count} 個執行中","agentSwitcher.search":"搜尋 Agents","agentSwitcher.noMatches":"找不到相符的 Agent","agentSwitcher.status.starting":"正在啟動","agentSwitcher.status.running":"執行中","agentSwitcher.status.completed":"已完成","agentSwitcher.status.failed":"失敗","agentSwitcher.status.aborted":"已中止","agentSwitcher.status.interrupted":"已中斷","appUpdate.releaseNotes":"AgentStudio v{version} 已推出,查看版本資訊","sidebar.hide":"隱藏側邊欄","sidebar.show":"顯示側邊欄","theme.light":"主題:淺色","theme.dark":"主題:深色","theme.mist":"主題:霧青","theme.rose":"主題:薔薇","theme.pine":"主題:松夜","theme.auto":"主題:跟隨系統","history.full":"完整紀錄","history.unsaved":"工作階段儲存後才能查看完整紀錄","history.label":"完整紀錄","title.generating":"正在產生...","title.updated":"標題已更新","title.failed":"產生失敗","title.generate":"產生標題","title.unsaved":"工作階段儲存後才能產生標題","title.noMessages":"請先傳送訊息,再為工作階段命名","title.generateSession":"產生工作階段標題","system.prompt":"系統提示詞","system.empty":"系統提示詞為空(工具已停用)","system.load":"系統提示詞尚未載入","system.loading":"正在載入系統提示詞…","system.label":"系統","tools.label":"工具","tools.title":"工具定義","tools.details":"工具定義詳細資料","tools.load":"工具定義尚未載入","tools.loading":"正在載入工具定義…","tools.noTools":"沒有啟用的工具","tools.description":"描述","tools.parameters":"參數","tools.parameterCount":"{count} 個參數","tools.noParameters":"無參數","tools.required":"必填","tools.optional":"選填","tools.allowedValues":"允許值","tools.defaultValue":"預設值","tools.guidelines":"提示詞規則","session.info":"工作階段資訊","session.name":"名稱","session.file":"工作階段檔案","session.inMemory":"記憶體中","session.id":"ID","session.user":"使用者","session.assistant":"助理","session.toolCalls":"工具呼叫","session.toolResults":"工具結果","session.total":"總計","session.input":"輸入","session.output":"輸出","session.cacheRead":"快取讀取","session.cacheWrite":"快取寫入","session.cost":"費用","session.context":"上下文","session.cacheHitRate":"平均快取命中率","session.copy":"複製{value}","session.copied":"已複製","session.title":"工作階段資訊","session.load":"傳送訊息或執行 /session 以載入工作階段資訊","session.infoSection":"工作階段資訊","session.projectSection":"專案資訊","session.messages":"訊息","session.tokens":"Token","session.totalActive":"活躍時間","session.copyFile":"複製檔案路徑","session.copyId":"複製工作階段 ID","session.projectDir":"專案目錄","session.gitBranch":"Git 分支","session.gitWorktree":"Worktree","session.copyProjectDir":"複製專案目錄","session.copyGitBranch":"複製 Git 分支","session.copyGitWorktree":"複製 Worktree 路徑","workspace.opening":"正在開啟工作區...","workspace.unable":"無法開啟工作區","workspace.selectSession":"從側邊欄選擇工作階段","workspace.getStarted":"開始使用","workspace.selectProject":"從側邊欄選擇專案目錄","workspace.addModels":"開啟底部的「設定」,然後選擇「模型」","workspace.stepProject":"從側邊欄選擇專案目錄","workspace.stepModels":"開啟底部的「設定」,然後選擇「模型」","files.hidePanel":"隱藏檔案面板","files.showPanel":"顯示檔案面板","files.noneOpen":"沒有開啟的檔案","layout.resizeSidebar":"調整側邊欄寬度","layout.resizeFilePanel":"調整檔案面板寬度","layout.resizeHint":"拖曳以調整寬度。按兩下或按 Enter 鍵即可重設。","sidebar.new":"新增","sidebar.newSessionTitle":"在 {path} 中新增工作階段","sidebar.refresh":"重新整理","sidebar.selectProject":"選擇專案…","sidebar.filterProjects":"篩選專案…","sidebar.noMatchingProjects":"找不到相符的專案","sidebar.newSessionAction":"在目前專案新增工作階段","sidebar.newProjectAction":"新增專案…","sidebar.moreNewActions":"更多新增方式","sidebar.useDefaultDirectory":"使用預設目錄","sidebar.customPath":"自訂路徑…","directoryPicker.selectDirectory":"選擇目錄","directoryPicker.goToParent":"前往上一層目錄","directoryPicker.directoryPath":"目錄路徑","directoryPicker.goToDirectory":"前往目錄","directoryPicker.go":"前往","directoryPicker.loadingDirectories":"正在載入目錄…","directoryPicker.noSubdirectories":"沒有子目錄","directoryPicker.openBeforeSelecting":"選擇前請先開啟此路徑","directoryPicker.selectCurrentDirectory":"選擇目前目錄","directoryPicker.selectThisFolder":"選擇此資料夾","directoryPicker.noDrives":"找不到磁碟機代號","sidebar.checking":"檢查中…","sidebar.open":"開啟","sidebar.cancel":"取消","sidebar.openRepoRoot":"開啟儲存庫根目錄","sidebar.openRepoRootTitle":"開啟儲存庫根目錄以管理 worktree。","sidebar.gitRepoRootOnly":"僅限 Git 儲存庫根目錄","sidebar.gitRepoRootOnlyTitle":"worktree 只能在 Git 儲存庫根目錄使用。","sidebar.worktrees":"Worktrees...","sidebar.checkingWorktrees":"正在檢查此目錄的 worktree。","sidebar.filterWorktrees":"篩選 worktree…","sidebar.noMatchingWorktrees":"找不到相符的 worktree","sidebar.switchWorktree":"切換 worktree","sidebar.switchWorktreeTitle":"切換 worktree:{path}","sidebar.main":"主分支","sidebar.forceRemoveCheckout":"有未提交的變更。要強制移除 checkout 嗎?","sidebar.force":"強制移除","sidebar.createWorktreeTitle":"為分支建立 worktree checkout","sidebar.newWorktree":"新增 worktree…","sidebar.branchName":"分支名稱","sidebar.creating":"建立中…","sidebar.create":"建立","sidebar.uploadFilesTitle":"將檔案上傳到專案根目錄","sidebar.uploadFiles":"上傳檔案","sidebar.refreshExplorer":"重新整理檔案瀏覽器","sidebar.searchFiles":"搜尋檔案","sidebar.searchFilesPlaceholder":"搜尋檔案…","sidebar.searchingFiles":"搜尋中…","sidebar.noMatchingFiles":"找不到相符的檔案","sidebar.clearSearch":"清除搜尋","sidebar.searchSessions":"搜尋所有對話...","sidebar.toggleSessionSearch":"搜尋對話","sidebar.sessionSearching":"搜尋中...","sidebar.sessionSearchEmpty":"找不到相符的對話","sidebar.sessionSearchCount":"{count} 個相符的對話","sidebar.sessionSearchPartial":"已達搜尋上限,結果可能不完整。","sidebar.sessionSearchFailed":"無法搜尋對話","sidebar.changedFiles":"{count} 個已變更檔案","sidebar.loading":"載入中...","sidebar.noSessions":"找不到工作階段","sidebar.agentRunning":"Agent 執行中…","sidebar.newActivity":"有新活動","sidebar.newSessionActivity":"工作階段有新活動","sidebar.deleteSession":"刪除 {title}?","sidebar.rename":"重新命名","sidebar.delete":"刪除","sidebar.deleteWithShiftClick":"刪除(按住 Shift 點選可跳過確認)","sidebar.expandSubagents":"展開子代理","sidebar.collapseSubagents":"摺疊子代理","sidebar.messagesCount":"{count} 則訊息","sidebar.worktreePath":"Worktree:{path}","sidebar.removeWorktreeTitle":"移除 worktree checkout {path};保留分支","files.modified":"已修改","files.added":"已新增","files.deleted":"已刪除","files.renamed":"已重新命名","files.untracked":"未追蹤","files.conflict":"衝突","files.newlyUploaded":"剛上傳","files.containsChangedFiles":"包含已變更的檔案","files.insertPath":"將路徑插入聊天","files.mention":"提及","files.download":"下載檔案","files.dismissError":"關閉錯誤訊息","files.addUploadedFile":"將上傳的檔案加入聊天","files.addAllUploadedFiles":"將所有上傳的檔案加入聊天","files.dismissUploadResults":"關閉上傳結果","files.loading":"正在載入檔案...","files.noFiles":"找不到檔案","files.explorer":"檔案瀏覽器","files.changedCount":"{count} 個檔案","files.changeStats":"{count} 個變更檔案,新增 {additions} 行,刪除 {deletions} 行","files.conflictSummary":"{count} 個檔案已存在:{files}","files.cannotReplace":"無法取代:{files}","files.replace":"取代","files.skipExisting":"略過現有檔案","files.cancel":"取消","files.checking":"正在檢查檔案","files.uploading":"正在上傳,{progress}%","chat.loadingSession":"正在載入工作階段...","chat.runningTool":"正在執行工具...","chat.generatingToolInput":"正在產生參數...","chat.runningNamedTool":"正在執行 {name}...","chat.runningTools":"正在執行 {names}...","chat.runningToolsMore":"正在執行 {names}(另有 {count} 個)...","chat.waitingModel":"正在等待模型...","chat.runningCommand":"正在執行命令...","chat.thinking":"正在思考...","chat.processDetails":"處理詳細資料","chat.message":"則訊息","chat.messages":"則訊息","chat.toolCall":"次工具呼叫","chat.toolCalls":"次工具呼叫","chat.collapseProcess":"收起處理詳細資料","chat.expandProcess":"展開處理詳細資料","chat.filesWritten":"已變更的檔案","chat.openWrittenFile":"開啟 {name}","chat.loadEarlier":"向上捲動以載入較早的訊息","chat.extensionRequest":"擴充功能請求","chat.extensionExpiresIn":"{seconds} 秒後過期","chat.extensionPending":"待回答","chat.extensionCollapse":"收起","chat.extensionExpand":"展開","chat.cancel":"取消","chat.confirm":"確認","chat.submit":"送出","chat.extensionInput":"擴充功能終端輸入","chat.extensionPanel":"擴充功能面板","chat.extensionWidgets":"擴充功能小工具","chat.extensionWidgetAbove":"編輯器上方小工具","chat.extensionWidgetBelow":"編輯器下方小工具","chat.extensionWidgetLine":"{count} 行","chat.extensionWidgetLines":"{count} 行","chat.close":"關閉","chat.queued":"已排入佇列 \xb7 {count}","chat.recall":"移回輸入框","chat.recallTitle":"將所有佇列中的訊息移回輸入框以便編輯","chat.retrying":"正在重試({attempt}/{max})…","chat.loadingCommands":"正在載入命令...","chat.slashCommands":"斜線命令 \xb7 {label}","chat.tabEnter":"Tab / Enter","chat.noCommands":"找不到擴充功能、提示詞或技能命令","chat.match":"1 個相符項目","chat.matches":"{count} 個相符項目","chat.command":"1 個命令","chat.commands":"{count} 個命令","chat.loadingFiles":"正在載入檔案...","chat.files":"檔案 \xb7 {label}{hint}","chat.searching":"搜尋中…","chat.noMatchingFiles":"找不到相符的檔案","chat.searchingAll":" \xb7 正在搜尋所有檔案…","chat.indexTruncated":" \xb7 索引已截斷","chat.steerPlaceholder":"立即引導 / 將後續訊息排入佇列...","chat.agentPlaceholder":"Agent 執行中…","chat.messagePlaceholder":"訊息…輸入 / 使用命令,輸入 @ 搜尋檔案","chat.steer":"引導","chat.followUp":"後續訊息","chat.steerHint":"中斷目前的執行並立即注入此訊息","chat.followUpHint":"在 Agent 完成後排入此訊息","chat.inputHistory":"輸入紀錄","chat.modelError":"模型錯誤","chat.modelScopeWarning":"模型範圍警告","chat.modelScopeWarnings":"模型範圍警告","chat.send":"傳送","chat.askSelection":"詢問選取的文字","chat.askInCurrent":"在目前對話詢問","chat.askInNewChat":"在新對話詢問","chat.newQuoteChat":"關於選取文字的新對話","chat.quoteIntro":"關於這段內容:","chat.quoteQuestion":"我的問題是:","chat.quoteForkFailed":"無法從這則訊息建立分支。","chat.attachImage":"附加圖片","chat.previewImage":"預覽圖片","chat.filterModels":"篩選模型…","chat.noMatchingModels":"找不到相符的模型","chat.moreControls":"更多控制項","chat.collapseControls":"收起控制項","chat.shell":"Shell","terminal.title":"終端機","terminal.tabLabel":"終端機:{name}","terminal.open":"開啟工作區終端機","terminal.close":"終止終端機","terminal.restart":"重新啟動終端機","terminal.reconnect":"重新連線終端機","terminal.connecting":"連線中","terminal.ready":"已連線","terminal.exited":"終端機已關閉","terminal.error":"連線錯誤","terminal.exitCode":"程序已結束,結束代碼 {code}","chat.outputLocal":"輸出保留在本地","chat.outputModel":"輸出會傳送給模型","chat.chatOnly":"僅聊天","chat.readOnlyTools":"{count} 個只讀內建工具","chat.builtInTools":"{count} 個內建工具","chat.allBuiltInTools":"全部內建工具","chat.changeReasoning":"變更推理層級:{level}","chat.changeReasoningLabel":"變更推理層級","chat.changeToolPreset":"更改工具預設","chat.stopCompaction":"停止壓縮","chat.compactContext":"壓縮上下文","chat.compacting":"正在壓縮…","chat.compact":"壓縮","chat.stopAgent":"停止 Agent","chat.stop":"停止","chat.disableSound":"關閉完成提示音","chat.enableSound":"開啟完成提示音","chat.thinkingUseDefault":"使用 pi 預設設定","chat.thinkingOff":"關閉推理","chat.thinkingMinimal":"最低程度推理","chat.thinkingLow":"低程度推理","chat.thinkingMedium":"中等程度推理","chat.thinkingHigh":"高程度推理","chat.thinkingXhigh":"超高程度推理","chat.thinkingMax":"最高程度推理","chat.builtIn":"內建","chat.extensions":"擴充功能","chat.prompts":"提示詞","chat.skills":"技能","chat.dormant":"休眠","chat.commandCompact":"壓縮上下文,可附加說明","chat.commandReload":"重新載入擴充功能、技能、提示詞和工具","chat.commandName":"設定工作階段顯示名稱","chat.commandSession":"顯示工作階段的訊息、Token 和費用統計","chat.commandCopy":"複製最後一則助理訊息","chat.commandClone":"將目前分支複製為獨立新工作階段","chat.compacted":"已壓縮","chat.imageNotSupportedTitle":"圖片可能無法傳送","chat.imageNotSupportedBody":"目前選擇的模型({model})不支援圖片輸入,附加的圖片可能會被忽略。","chat.tokensSaved":"已節省 {saved}","chatMinimap.locateAssistant":"定位助理訊息","i18n.close":"關閉","i18n.copy":"複製","i18n.copied":"已複製","i18n.cancel":"取消","i18n.save":"儲存","i18n.saving":"儲存中…","i18n.saved":"已儲存","i18n.remove":"移除","i18n.removing":"移除中…","i18n.delete":"刪除","i18n.loading":"載入中...","i18n.loadMore":"載入更多","i18n.search":"搜尋","i18n.refresh":"重新整理","providerUsage.usage":"用量","providerUsage.notQueried":"尚未查詢","providerUsage.refresh":"重新整理用量","providerUsage.refreshing":"正在重新整理用量","providerUsage.updated":"更新於 {time}","providerUsage.queryFailed":"用量查詢失敗。","providerUsage.available":"可用","i18n.update":"更新","i18n.updating":"更新中...","i18n.check":"檢查","i18n.checking":"檢查中...","i18n.install":"安裝","i18n.installing":"安裝中...","i18n.noResults":"找不到結果","i18n.searchProviders":"搜尋 Provider…","i18n.noProviders":"找不到相符的 Provider","i18n.newModel":"新模型","i18n.addProvider":"新增 Provider","i18n.selectProviderModel":"選擇 Provider 或模型","i18n.visibleInPrompt":"會顯示在模型提示詞中,點選以停用","i18n.hiddenFromPrompt":"不會顯示在模型提示詞中,點選以啟用","i18n.dormant":"休眠","i18n.hiddenButInvocable":"對模型隱藏,仍可手動呼叫","i18n.skillSearchPlaceholder":"例如 react、testing、deploy","i18n.searching":"搜尋中…","i18n.noSkills":"找不到技能","i18n.checkUpdates":"檢查更新","i18n.updates":"項更新","i18n.noResolvedResources":"沒有已解析資源","i18n.enablePackage":"啟用套件","i18n.disablePackage":"停用套件","i18n.filtered":"已篩選","i18n.openSessionToReload":"開啟工作階段後才能重新載入","i18n.notFound":"找不到","i18n.noPlugins":"尚未設定外掛","trust.resourcesNotLoaded":"受限模式","trust.trustProject":"信任專案","trust.trusting":"正在信任...","trust.cancel":"取消","trust.dialogTitle":"信任此專案?","trust.dialogBody":"專案資源可以執行本機程式碼。請只信任內容來源可靠的專案。","trust.skillsNotLoaded":"此專案尚未受信任,專案技能未載入。","trust.pluginsNotLoaded":"此專案尚未受信任,專案外掛未載入。","trust.projectScopeUnavailable":"專案資源未載入時,無法安裝到專案範圍。","i18n.creatingSession":"正在建立新工作階段…","i18n.creating":"建立中…","i18n.subscription":"訂閱","i18n.subscriptions":"訂閱方案","i18n.customEndpoint":"自訂端點格式","i18n.noChanges":"沒有更改","i18n.branches":"分支","i18n.noActiveSession":"沒有作用中的工作階段","i18n.noBranches":"此工作階段沒有分支","i18n.source":"原始碼","i18n.preview":"預覽","i18n.diff":"Diff","i18n.downloadFile":"下載檔案","i18n.liveSync":"即時同步已啟用","i18n.notWatching":"未監看","i18n.fileViewMode":"檔案檢視模式","i18n.compareHead":"比較工作目錄與 HEAD","i18n.mentionSelectedLines":"引用選取的行","i18n.disableWrap":"停用自動換行","i18n.enableWrap":"啟用自動換行","i18n.htmlPreview":"HTML 預覽","i18n.previewFile":"預覽 {file}","i18n.invalidMermaid":"Mermaid 圖表無效","i18n.renderingMermaid":"正在繪製 Mermaid 圖表","i18n.previewAfterStreaming":"串流輸出完成後可預覽","i18n.showMermaidSource":"顯示 Mermaid 原始碼","i18n.previewMermaid":"預覽 Mermaid 圖表","i18n.openMermaidViewer":"開啟圖表檢視器","i18n.mermaidViewer":"Mermaid 圖表檢視器","i18n.mermaidDiagram":"Mermaid 圖表","i18n.zoomOut":"縮小","i18n.zoomIn":"放大","i18n.fitToWidth":"符合寬度","models.discoveryFetching":"正在匯入模型…","models.discoveryFetch":"匯入模型…","models.discoveryFilterPlaceholder":"篩選 {count} 個模型…","models.discoveryFilter":"篩選上游模型","models.discoverySelectShown":"選取目前顯示的項目","models.discoveryNoMatches":"找不到相符的模型。","models.discoveryAdded":"已新增","models.discoveryShowing":"顯示前 {shown} 個,共 {total} 個","models.discoveryFetched":"已取得 {count} 個模型","models.discoveryAddSelected":"新增所選模型","models.discoveryAddSelectedCount":"新增所選模型({count})","models.catalogSource":"來源:models.dev ↗","models.catalogFilling":"正在填入模型詳細資料…","models.catalogFill":"填入模型詳細資料","models.catalogFilled":"已填入 {count} 個欄位","models.catalogNoEmptyFields":"沒有需要填入的空欄位","models.catalogNoExactMatch":"models.dev 中沒有完全相符的項目","models.catalogPriceProvider":"價格與 Provider {provider} 相符","models.catalogPriceBaseUrl":"價格依 Base URL 與 {provider} 相符","models.catalogPriceConsensus":"共有 {support}/{total} 筆紀錄採用此價格","models.catalogPriceUnreliable":"找不到可靠的價格","models.catalogUndo":"復原","models.capabilities":"能力","models.reasoning":"推理 / 思考","models.imageInput":"圖片輸入","models.modelSpecs":"模型規格","models.contextWindow":"上下文視窗(Token)","models.maxOutputTokens":"最大輸出 Token 數","models.costPerMillion":"每百萬 Token 費用","models.costInput":"輸入","models.costOutput":"輸出","models.costCacheRead":"快取讀取","models.costCacheWrite":"快取寫入","models.notProvided":"未提供","models.editCosts":"編輯價格","models.finishEditingCosts":"完成","models.costAllRequired":"請輸入有效的非負價格;空白欄位將儲存為 0。","models.advancedSettings":"進階設定","models.providerDefaults":"沿用 Provider 預設設定","models.headersSummary":"Headers:{count}","models.compatSummary":"相容性:{count}","models.thinkingSummary":"思考等級:{count}","models.apiOverride":"API 覆寫","models.headers":"Headers","models.headersHelp":"加入此模型的請求,並覆寫 Provider 的同名 Header。","models.compatibility":"相容性","models.deepSeekThinkingCompat":"DeepSeek 思考相容性","models.developerRole":"使用 developer role 傳遞系統提示詞","models.thinkingLevelMap":"思考層級對應","models.clearAll":"全部清除","i18n.testingModel":"正在測試模型連線...","i18n.connected":"已連線","i18n.failed":"失敗","i18n.test":"測試","i18n.testConnection":"測試模型連線","i18n.provider":"Provider","i18n.model":"模型","i18n.providerName":"Provider 名稱","i18n.rename":"重新命名","i18n.default":"預設","i18n.disabled":"已停用","i18n.noResources":"沒有資源","i18n.unknown":"未知","i18n.installedVersion":"已安裝 {version}","i18n.configuredVersion":"已設定 {version}","i18n.extensions":"擴充功能","i18n.prompts":"提示詞","i18n.themes":"主題","i18n.resourceCount":"{count} 個{label}","i18n.extensionShort":"擴充功能","i18n.skillShort":"技能","i18n.promptShort":"提示詞","i18n.themeShort":"主題","i18n.custom":"自訂","i18n.clearAll":"清除全部","i18n.connectedSuccessfully":"連線成功。","i18n.notConnected":"未連線","i18n.configured":"已設定","i18n.notConfigured":"未設定","i18n.openingBrowser":"正在開啟瀏覽器…","i18n.submit":"送出","i18n.login":"登入","i18n.relogin":"重新登入","i18n.disconnect":"中斷連線","i18n.networkError":"網路錯誤","i18n.continuing":"正在繼續…","i18n.skills":"技能","i18n.plugins":"外掛","i18n.addSkill":"新增技能","i18n.addPlugin":"新增外掛","i18n.selectSkill":"選擇技能","i18n.selectPackage":"選擇套件","i18n.updateAvailable":"有可用更新","i18n.upToDate":"已是最新","i18n.automaticChecksUnavailable":"無法自動檢查","i18n.checkFailed":"檢查失敗","i18n.installed":"已安裝","i18n.status":"狀態","i18n.version":"版本","i18n.package":"套件","i18n.resources":"資源","i18n.installedPath":"安裝路徑","i18n.cwd":"CWD","i18n.resolvedResources":"已解析資源","i18n.reloadSession":"重新載入工作階段","i18n.reloading":"重新載入中...","i18n.packageRemoved":"套件已移除。","i18n.packageInstalled":"套件已安裝。","i18n.packageUpdated":"套件已更新。","i18n.packagesUpdated":"所有外掛已更新。","i18n.updateAllPlugins":"全部更新","i18n.updateAllPluginsHint":"更新所有已設定的外掛","i18n.packageDisabled":"套件已停用。","i18n.packageEnabled":"套件已啟用。","i18n.sessionReloaded":"工作階段已重新載入。","i18n.thinking":"思考","i18n.largeMessageReveal":"訊息內容過大({size})。點選即可用純文字查看;為保持頁面流暢,已停用 Markdown 轉譯。","i18n.loadingThinking":"正在載入思考內容...","i18n.copyMessage":"複製訊息","i18n.editFromHere":"從此處編輯","i18n.editFromHereTitle":"從此處編輯,並在這個工作階段中建立分支","i18n.newSession":"新增工作階段","i18n.newSessionTitle":"新增工作階段,從此處建立獨立副本","i18n.estimatedTokens":"串流輸出期間的估算 Token 數","i18n.noOutput":"(無輸出)","i18n.noSummary":"(無摘要)","i18n.conversationCompacted":"對話已壓縮","i18n.compactionDescription":"此處之前的對話紀錄已壓縮為以下摘要:","i18n.fileContext":"檔案上下文:{details}","i18n.readFiles":"讀取的檔案","i18n.modifiedFiles":"修改的檔案","i18n.hiddenExtensionMessage":"隱藏的擴充功能訊息","i18n.noMessage":"(無訊息)","i18n.showExtensionMessage":"顯示擴充功能訊息","i18n.collapse":"收起","i18n.expand":"展開","i18n.hideDetails":"隱藏詳細資料","i18n.showDetails":"顯示詳細資料","i18n.thinkingUnavailable":"思考內容不可用","i18n.before":"變更前","i18n.after":"變更後","i18n.sessionComplete":"工作階段已完成","i18n.taskFinished":"任務已完成。","i18n.attentionNeeded":"AgentStudio 需要你處理","i18n.extensionInputNeeded":"擴充功能正在等待你的輸入。","sidebar.sessions":"工作階段清單","projectDashboard.title":"專案儀表板","projectDashboard.searchPlaceholder":"搜尋專案...","projectDashboard.gridView":"格線檢視","projectDashboard.listView":"清單檢視","projectDashboard.totalProjects":"總專案數","projectDashboard.totalSessions":"總工作階段數","projectDashboard.runningSessions":"執行中的工作階段","projectDashboard.noProjects":"尚無專案","projectDashboard.noProjectsFound":"找不到專案","projectDashboard.sessions":"個工作階段","projectDashboard.running":"執行中","projectDashboard.unread":"未讀","projectDashboard.status.running":"執行中","projectDashboard.status.unread":"未讀","projectDashboard.status.idle":"閒置","projectDashboard.noActivity":"無活動","projectDashboard.daysAgo":"{days} 天前","projectDashboard.hoursAgo":"{hours} 小時前","projectDashboard.justNow":"剛剛","projectDashboard.newProjectTitle":"新增專案","projectDashboard.addProjectRow":"新增專案","projectDashboard.searchOrPath":"搜尋目錄,或直接輸入路徑…","projectDashboard.recentUsed":"最近使用","projectDashboard.siblingDirs":"同層目錄","projectDashboard.scanning":"掃描中…","projectDashboard.useThisPath":"使用此路徑","projectDashboard.pathNotFound":"該目錄還不存在","projectDashboard.pathInvalid":"無法使用該路徑","projectDashboard.createThisFolder":"建立資料夾","projectDashboard.create":"建立","projectDashboard.newFolder":"新增資料夾","projectDashboard.parentDir":"上層目錄","projectDashboard.folderName":"資料夾名稱","projectDashboard.browse":"瀏覽…","projectDashboard.noMatches":"沒有符合的目錄","projectDashboard.keyboardHint":"↑↓ 選擇 \xb7 Enter 建立 \xb7 Esc 取消","projectDashboard.folderNameEmpty":"請輸入資料夾名稱","projectDashboard.folderNameSeparator":"資料夾名稱不能包含路徑分隔符","projectDashboard.folderNameInvalid":"該資料夾名稱不被允許","projectDashboard.folderCreateFailed":"建立資料夾失敗","projectDashboard.sortBy":"排序方式","projectDashboard.chipProjects":"專案","projectDashboard.chipProjectsHint":"全部專案(清除篩選)","projectDashboard.chipActive":"活躍","projectDashboard.chipActiveHint":"只看有執行中工作階段的專案","projectDashboard.chipUnread":"未讀","projectDashboard.chipUnreadHint":"只看有未讀工作階段的專案","projectDashboard.chipSessions":"工作階段","projectDashboard.chipSessionsHint":"依工作階段數排序(再點反向)","projectDashboard.chipMessages":"訊息","projectDashboard.chipMessagesHint":"依訊息數排序(再點反向)","projectDashboard.sortMessages":"訊息數","projectDashboard.expandDetails":"展開詳情","projectDashboard.collapseDetails":"收合詳情","projectDashboard.splitHint":"拖曳調整高度,雙擊恢復預設","projectDashboard.copied":"已複製路徑","projectDashboard.copyFailed":"複製路徑失敗","projectDashboard.ctxOpen":"開啟專案","projectDashboard.ctxNewSession":"在此新增工作階段","projectDashboard.ctxCopyPath":"複製路徑","projectDashboard.ctxEdit":"編輯名稱與備註","projectDashboard.editProject":"編輯名稱與備註","projectDashboard.alias":"顯示名稱","projectDashboard.aliasHint":"會覆蓋此儀表板中的資料夾名稱","projectDashboard.note":"備註","projectDashboard.notePlaceholder":"這個專案在做什麼?","projectDashboard.color":"顏色","projectDashboard.colorDefault":"預設","projectDashboard.clearMeta":"清除","projectDashboard.cancel":"取消","projectDashboard.save":"儲存","projectDashboard.manageTitle":"管理專案","projectDashboard.manageHint":"{total} 個專案 \xb7 {annotated} 個已備註","projectDashboard.edit":"編輯","projectDashboard.lastSession":"最近","projectDashboard.statSessions":"工作階段","projectDashboard.statMessages":"訊息","projectDashboard.statWorktrees":"工作樹","projectDashboard.statSubagents":"子代理","projectDashboard.selectProject":"選取專案","projectDashboard.selectAll":"全選","projectDashboard.toggleWorktrees":"切換工作樹","projectDashboard.subtitle":"依工作區彙整的所有專案","projectDashboard.newProject":"新增專案","projectDashboard.manage":"管理專案","projectDashboard.activeProjects":"活躍專案","projectDashboard.avgSessions":"平均工作階段/專案","projectDashboard.sortLastAccessed":"最近存取","projectDashboard.sortName":"名稱","projectDashboard.sortSessions":"工作階段數","projectDashboard.sortRunning":"執行中","projectDashboard.ascending":"升冪","projectDashboard.descending":"降冪","projectDashboard.noProjectsHint":"在某個目錄開始一個工作階段,它就會出現在這裡。","projectDashboard.removeFavorite":"取消收藏","projectDashboard.addFavorite":"加入收藏","projectDashboard.project":"專案","projectDashboard.statusLabel":"狀態","projectDashboard.lastAccessed":"最近存取","projectDashboard.loading":"正在載入專案...","projectDashboard.backToApp":"返回應用"}}];function g(a){return f.find(b=>b.id===a)}function h(){return f.map(a=>a.id)}var i=c(81996);let j=(0,e.createContext)(null);function k({children:a}){let[b,c]=(0,e.useState)("en"),[f,l]=(0,e.useState)(!1),m=(0,e.useMemo)(()=>h().map(a=>g(a)).filter(a=>!!a),[]),n=(0,e.useMemo)(()=>Object.fromEntries(h().flatMap(a=>{let b=g(a);return b?[[a,b.messages]]:[]})),[]),o=(0,e.useCallback)(a=>{if(g(a)){c(a),document.documentElement.lang=a;try{window.localStorage.setItem("pi-locale",a)}catch{}}},[]),p=(0,e.useCallback)((a,c)=>(0,i.u0)(b,a,n,c),[b,n]),q=(0,e.useMemo)(()=>({locale:f?b:"en",setLocale:o,t:p,supportedLocales:m}),[f,b,o,p,m]);return(0,d.jsx)(j.Provider,{value:q,children:a})}function l(){let a=(0,e.useContext)(j);if(!a)throw Error("useI18n must be used inside I18nProvider");return a}},96487:()=>{},97998:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>k,metadata:()=>i,viewport:()=>j});var d=c(5735),e=c(1924),f=c.n(e),g=c(81276);let h=`(function(){var t="auto";try{var s=localStorage.getItem("pi-theme");if(${JSON.stringify([{id:"light",label:"settings.themeLight"},{id:"dark",label:"settings.themeDark"},{id:"mist",label:"settings.themeMist"},{id:"rose",label:"settings.themeRose"},{id:"pine",label:"settings.themePine"},{id:"auto",label:"settings.themeSystem"}].map(a=>a.id))}.includes(s))t=s}catch(e){}if(t==="auto")t=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";var r=document.documentElement;r.dataset.theme=t;r.classList.toggle("dark",t==="dark"||t==="pine")})();`;c(25319),c(82704),c(77261);let i={title:"AgentStudio",description:"AI Agent Development Environment",applicationName:"AgentStudio",manifest:"/manifest.webmanifest",icons:{icon:[{url:"/icons/icon-192.png",sizes:"192x192",type:"image/png"}],apple:[{url:"/icons/apple-touch-icon.png",sizes:"180x180",type:"image/png"}]},appleWebApp:{capable:!0,statusBarStyle:"black-translucent",title:"AgentStudio"},formatDetection:{telephone:!1}},j={width:"device-width",initialScale:1,viewportFit:"cover",interactiveWidget:"resizes-content",themeColor:[{media:"(prefers-color-scheme: light)",color:"#ffffff"},{media:"(prefers-color-scheme: dark)",color:"#1a1a1a"}]};function k({children:a}){return(0,d.jsxs)("html",{lang:"en",translate:"no",className:`${f().variable} notranslate`,suppressHydrationWarning:!0,children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("meta",{name:"google",content:"notranslate"}),(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:h}})]}),(0,d.jsxs)("body",{translate:"no",className:"notranslate",suppressHydrationWarning:!0,children:[a,(0,d.jsx)(g.PwaRegistration,{})]})]})}}};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";exports.id=3186,exports.ids=[3186],exports.modules={4328:(a,b,c)=>{function d(a,b){a.accDescr&&b.setAccDescription?.(a.accDescr),a.accTitle&&b.setAccTitle?.(a.accTitle),a.title&&b.setDiagramTitle?.(a.title)}c.d(b,{S:()=>d}),(0,c(95097).K)(d,"populateCommonDb")},77139:(a,b,c)=>{c.d(b,{$:()=>L,U:()=>P,db:()=>x});var d=c(71904),e=c(45313),f=c(58715),g=c(95097),h="",i="",j="",k=[],l=new Map,m=(0,g.K)(a=>(0,e.jZ)(a,(0,e.D7)()),"sanitizeText"),n=(0,g.K)(a=>{switch(a.type){case"terminal":return{...a,value:m(a.value)};case"nonterminal":return{...a,name:m(a.name)};case"sequence":return{...a,elements:a.elements.map(n)};case"choice":return{...a,alternatives:a.alternatives.map(n)};case"optional":return{...a,element:n(a.element)};case"repetition":return{...a,element:n(a.element),separator:a.separator?n(a.separator):void 0};case"special":return{...a,text:m(a.text)}}},"sanitizeAstNode"),o=(0,g.K)(()=>{h="",i="",j="",k.length=0,l.clear(),(0,e.IU)(),f.R.debug("[Railroad] Database cleared")},"clear"),p=(0,g.K)(a=>{h=m(a),f.R.debug("[Railroad] Title set:",a)},"setTitle"),q=(0,g.K)(()=>h,"getTitle"),r=(0,g.K)(a=>{let b={...a,name:m(a.name),definition:n(a.definition),comment:a.comment?m(a.comment):void 0};f.R.debug("[Railroad] Adding rule:",b.name),l.has(b.name)&&f.R.warn(`[Railroad] Rule '${b.name}' is already defined. Overwriting.`),k.push(b),l.set(b.name,b)},"addRule"),s=(0,g.K)(()=>k,"getRules"),t=(0,g.K)(a=>l.get(a),"getRule"),u=(0,g.K)(a=>{i=m(a).replace(/^\s+/g,""),f.R.debug("[Railroad] Accessibility title set:",a)},"setAccTitle"),v=(0,g.K)(()=>i,"getAccTitle"),w=(0,g.K)(a=>{j=m(a).replace(/\n\s+/g,"\n"),f.R.debug("[Railroad] Accessibility description set:",a)},"setAccDescription"),x={clear:o,setTitle:p,getTitle:q,addRule:r,getRules:s,getRule:t,setAccTitle:u,getAccTitle:v,setAccDescription:w,getAccDescription:(0,g.K)(()=>j,"getAccDescription"),setDiagramTitle:p,getDiagramTitle:q},y={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},z=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,A=/^[\w "',.-]+$/,B=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),C=(0,g.K)(a=>!!a&&Object.keys(a).every(a=>"railroad"===a||B.has(a)),"isRailroadStyleOptions"),D=(0,g.K)(a=>a?"railroad"in a&&a.railroad?a.railroad:C(a)?a:{}:{},"extractRailroadOverrides"),E=(0,g.K)(a=>{if(!a||C(a))return{};let{railroad:b,svgId:c,theme:d,look:e,...f}=a;return f},"extractThemeOverrides"),F=(0,g.K)((a,b)=>{if("string"!=typeof a)return b;let c=a.trim();return z.test(c)?c:b},"sanitizeColorValue"),G=(0,g.K)((a,b)=>{if("string"!=typeof a)return b;let c=a.trim();return A.test(c)?c:b},"sanitizeFontFamilyValue"),H=(0,g.K)((a,b)=>{let c="number"==typeof a?a:"string"==typeof a?Number.parseFloat(a):NaN;return Number.isFinite(c)&&c>=0?c:b},"sanitizeNumberValue"),I=(0,g.K)(a=>{let b="number"==typeof a?a:"string"==typeof a?Number.parseFloat(a):NaN;return Number.isFinite(b)&&b>0?b:void 0},"parseThemeFontSize"),J=(0,g.K)(a=>{let b=G(a.fontFamily,y.fontFamily),c=I(a.fontSize)??y.fontSize;return{...y,fontFamily:b,fontSize:c,terminalFill:F(a.secondBkg??a.secondaryColor,y.terminalFill),terminalStroke:F(a.secondaryBorderColor??a.lineColor,y.terminalStroke),terminalTextColor:F(a.secondaryTextColor??a.textColor,y.terminalTextColor),nonTerminalFill:F(a.mainBkg??a.background,y.nonTerminalFill),nonTerminalStroke:F(a.primaryBorderColor??a.lineColor,y.nonTerminalStroke),nonTerminalTextColor:F(a.primaryTextColor??a.textColor,y.nonTerminalTextColor),lineColor:F(a.lineColor,y.lineColor),markerFill:F(a.lineColor,y.markerFill),commentFill:F(a.labelBackground??a.tertiaryColor,y.commentFill),commentStroke:F(a.tertiaryBorderColor??a.lineColor,y.commentStroke),commentTextColor:F(a.tertiaryTextColor??a.textColor,y.commentTextColor),specialFill:F(a.tertiaryColor??a.secondaryColor,y.specialFill),specialStroke:F(a.tertiaryBorderColor??a.secondaryBorderColor,y.specialStroke),ruleNameColor:F(a.titleColor??a.textColor,y.ruleNameColor)}},"buildThemeDefaults"),K=(0,g.K)(a=>{let b=(0,e.zj)(),c=J({...(0,e.P$)(),...b.themeVariables??{},...E(a)}),d={...b.railroad??{},...D(a)};return{compactMode:d.compactMode??c.compactMode,padding:H(d.padding,c.padding),verticalSeparation:H(d.verticalSeparation,c.verticalSeparation),horizontalSeparation:H(d.horizontalSeparation,c.horizontalSeparation),arcRadius:H(d.arcRadius,c.arcRadius),fontSize:H(d.fontSize,c.fontSize),fontFamily:G(d.fontFamily,c.fontFamily),terminalFill:F(d.terminalFill,c.terminalFill),terminalStroke:F(d.terminalStroke,c.terminalStroke),terminalTextColor:F(d.terminalTextColor,c.terminalTextColor),nonTerminalFill:F(d.nonTerminalFill,c.nonTerminalFill),nonTerminalStroke:F(d.nonTerminalStroke,c.nonTerminalStroke),nonTerminalTextColor:F(d.nonTerminalTextColor,c.nonTerminalTextColor),lineColor:F(d.lineColor,c.lineColor),strokeWidth:H(d.strokeWidth,c.strokeWidth),markerFill:F(d.markerFill,c.markerFill),commentFill:F(d.commentFill,c.commentFill),commentStroke:F(d.commentStroke,c.commentStroke),commentTextColor:F(d.commentTextColor,c.commentTextColor),specialFill:F(d.specialFill,c.specialFill),specialStroke:F(d.specialStroke,c.specialStroke),ruleNameColor:F(d.ruleNameColor,c.ruleNameColor),showMarkers:d.showMarkers??c.showMarkers,markerRadius:H(d.markerRadius,c.markerRadius)}},"buildRailroadStyleOptions"),L=(0,g.K)(a=>{let{fontFamily:b,fontSize:c,terminalFill:d,terminalStroke:e,terminalTextColor:f,nonTerminalFill:g,nonTerminalStroke:h,nonTerminalTextColor:i,lineColor:j,strokeWidth:k,markerFill:l,commentFill:m,commentStroke:n,commentTextColor:o,specialFill:p,specialStroke:q,ruleNameColor:r}=K(a);return`
|
|
2
|
+
.railroad-diagram {
|
|
3
|
+
font-family: ${b};
|
|
4
|
+
font-size: ${c}px;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.railroad-terminal rect {
|
|
8
|
+
fill: ${d};
|
|
9
|
+
stroke: ${e};
|
|
10
|
+
stroke-width: ${k}px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.railroad-terminal text {
|
|
14
|
+
fill: ${f};
|
|
15
|
+
font-family: ${b};
|
|
16
|
+
font-size: ${c}px;
|
|
17
|
+
text-anchor: middle;
|
|
18
|
+
dominant-baseline: middle;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.railroad-nonterminal rect {
|
|
22
|
+
fill: ${g};
|
|
23
|
+
stroke: ${h};
|
|
24
|
+
stroke-width: ${k}px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.railroad-nonterminal text {
|
|
28
|
+
fill: ${i};
|
|
29
|
+
font-family: ${b};
|
|
30
|
+
font-size: ${c}px;
|
|
31
|
+
text-anchor: middle;
|
|
32
|
+
dominant-baseline: middle;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.railroad-line {
|
|
36
|
+
stroke: ${j};
|
|
37
|
+
stroke-width: ${k}px;
|
|
38
|
+
fill: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.railroad-start circle,
|
|
42
|
+
.railroad-end circle {
|
|
43
|
+
fill: ${l};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.railroad-comment ellipse {
|
|
47
|
+
fill: ${m};
|
|
48
|
+
stroke: ${n};
|
|
49
|
+
stroke-width: ${k}px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.railroad-comment text {
|
|
53
|
+
fill: ${o};
|
|
54
|
+
font-style: italic;
|
|
55
|
+
font-family: ${b};
|
|
56
|
+
font-size: ${c}px;
|
|
57
|
+
text-anchor: middle;
|
|
58
|
+
dominant-baseline: middle;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.railroad-special rect {
|
|
62
|
+
fill: ${p};
|
|
63
|
+
stroke: ${q};
|
|
64
|
+
stroke-width: ${k}px;
|
|
65
|
+
stroke-dasharray: 5,3;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.railroad-special text {
|
|
69
|
+
fill: ${i};
|
|
70
|
+
font-family: ${b};
|
|
71
|
+
font-size: ${c}px;
|
|
72
|
+
text-anchor: middle;
|
|
73
|
+
dominant-baseline: middle;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.railroad-rule-name {
|
|
77
|
+
font-weight: bold;
|
|
78
|
+
fill: ${r};
|
|
79
|
+
font-family: ${b};
|
|
80
|
+
font-size: ${c}px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.railroad-group {
|
|
84
|
+
/* Grouping container, no specific styles */
|
|
85
|
+
}
|
|
86
|
+
`},"getStyles"),M=class{constructor(){this.d=""}static{(0,g.K)(this,"PathBuilder")}moveTo(a,b){return this.d+=`M ${a} ${b} `,this}lineTo(a,b){return this.d+=`L ${a} ${b} `,this}horizontalTo(a){return this.d+=`H ${a} `,this}verticalTo(a){return this.d+=`V ${a} `,this}arcTo(a,b,c,d,e,f,g){return this.d+=`A ${a} ${b} ${c} ${+!!d} ${+!!e} ${f} ${g} `,this}build(){return this.d.trim()}},N=class{constructor(a,b=K()){this.textCache=new Map,this.svg=a,this.config=b}static{(0,g.K)(this,"RailroadRenderer")}measureText(a){if(this.textCache.has(a))return this.textCache.get(a);let b=this.svg.append("text").attr("font-family",this.config.fontFamily).attr("font-size",this.config.fontSize).text(a),c=b.node().getBBox(),d={width:c.width,height:c.height};return b.remove(),this.textCache.set(a,d),d}renderTerminal(a,b){let c=this.measureText(b),d=c.width+2*this.config.padding,e=c.height+2*this.config.padding,f=a.append("g").attr("class","railroad-terminal");return f.append("rect").attr("x",0).attr("y",0).attr("width",d).attr("height",e).attr("rx",10).attr("ry",10),f.append("text").attr("x",d/2).attr("y",e/2).text(b),{element:f.node(),dimensions:{width:d,height:e,up:e/2,down:e/2}}}renderNonTerminal(a,b){let c=this.measureText(b),d=c.width+2*this.config.padding,e=c.height+2*this.config.padding,f=a.append("g").attr("class","railroad-nonterminal");return f.append("rect").attr("x",0).attr("y",0).attr("width",d).attr("height",e),f.append("text").attr("x",d/2).attr("y",e/2).text(b),{element:f.node(),dimensions:{width:d,height:e,up:e/2,down:e/2}}}renderSequence(a,b){let c=b.map(b=>this.renderExpression(a,b)),d=0,e=0,f=0;for(let a of c)d+=a.dimensions.width,e=Math.max(e,a.dimensions.up),f=Math.max(f,a.dimensions.down);d+=(c.length-1)*this.config.horizontalSeparation;let g=a.append("g").attr("class","railroad-sequence"),h=0;for(let a=0;a<c.length;a++){let b=c[a],d=e-b.dimensions.up;if(g.node().appendChild(b.element).setAttribute("transform",`translate(${h}, ${d})`),a<c.length-1){let a=h+b.dimensions.width,c=a+this.config.horizontalSeparation,d=e;g.append("path").attr("class","railroad-line").attr("d",new M().moveTo(a,d).lineTo(c,d).build())}h+=b.dimensions.width+this.config.horizontalSeparation}return{element:g.node(),dimensions:{width:d,height:e+f,up:e,down:f}}}renderChoice(a,b){let c=b.map(b=>this.renderExpression(a,b)),d=0,e=0;for(let a of c)d=Math.max(d,a.dimensions.width),e+=a.dimensions.height;e+=(c.length-1)*this.config.verticalSeparation;let f=this.config.arcRadius,g=d+4*f,h=a.append("g").attr("class","railroad-choice"),i=0,j=e/2;for(let a of c){let b=i,c=b+a.dimensions.up,e=2*f+(d-a.dimensions.width)/2;h.node().appendChild(a.element).setAttribute("transform",`translate(${e}, ${b})`);let k=new M,l=c>j;c===j?k.moveTo(0,j).lineTo(e,c):k.moveTo(0,j).arcTo(f,f,0,!1,l,f,j+(l?f:-f)).lineTo(f,c-(l?f:-f)).arcTo(f,f,0,!1,!l,2*f,c).lineTo(e,c),h.append("path").attr("class","railroad-line").attr("d",k.build());let m=new M,n=e+a.dimensions.width,o=g-2*f;c===j?m.moveTo(n,c).lineTo(g,j):m.moveTo(n,c).lineTo(o,c).arcTo(f,f,0,!1,!l,g-f,c+(l?-f:f)).lineTo(g-f,j+(l?f:-f)).arcTo(f,f,0,!1,l,g,j),h.append("path").attr("class","railroad-line").attr("d",m.build()),i+=a.dimensions.height+this.config.verticalSeparation}return{element:h.node(),dimensions:{width:g,height:e,up:j,down:e-j}}}renderOptional(a,b){let c=this.renderExpression(a,b),d=this.config.arcRadius,e=2*d,f=c.dimensions.width+4*d,g=c.dimensions.height+e,h=a.append("g").attr("class","railroad-optional"),i=2*d;h.node().appendChild(c.element).setAttribute("transform",`translate(${i}, ${e})`);let j=e+c.dimensions.up,k=new M().moveTo(0,j).lineTo(2*d,j);h.append("path").attr("class","railroad-line").attr("d",k.build());let l=new M().moveTo(i+c.dimensions.width,j).lineTo(f,j);h.append("path").attr("class","railroad-line").attr("d",l.build());let m=new M().moveTo(0,j).arcTo(d,d,0,!1,!1,d,j-d).lineTo(d,d).arcTo(d,d,0,!1,!0,2*d,0).lineTo(f-2*d,0).arcTo(d,d,0,!1,!0,f-d,d).lineTo(f-d,j-d).arcTo(d,d,0,!1,!1,f,j);return h.append("path").attr("class","railroad-line").attr("d",m.build()),{element:h.node(),dimensions:{width:f,height:g,up:j,down:g-j}}}renderRepetition(a,b,c){let d=this.renderExpression(a,b),e=this.config.arcRadius,f=2*e,g=d.dimensions.width+4*e,h=0===c,i=d.dimensions.height+f+(h?f:0),j=a.append("g").attr("class","railroad-repetition"),k=2*e,l=h?f:0;j.node().appendChild(d.element).setAttribute("transform",`translate(${k}, ${l})`);let m=l+d.dimensions.up;j.append("path").attr("class","railroad-line").attr("d",new M().moveTo(0,m).lineTo(2*e,m).build()),j.append("path").attr("class","railroad-line").attr("d",new M().moveTo(k+d.dimensions.width,m).lineTo(g,m).build());let n=l+d.dimensions.height+e,o=new M().moveTo(k+d.dimensions.width,m).arcTo(e,e,0,!1,!0,k+d.dimensions.width+e,m+e).lineTo(k+d.dimensions.width+e,n).arcTo(e,e,0,!1,!0,k+d.dimensions.width,n+e).lineTo(2*e,n+e).arcTo(e,e,0,!1,!0,e,n).lineTo(e,m+e).arcTo(e,e,0,!1,!0,2*e,m);if(j.append("path").attr("class","railroad-line").attr("d",o.build()),h){let a=new M().moveTo(0,m).arcTo(e,e,0,!1,!1,e,m-e).lineTo(e,e).arcTo(e,e,0,!1,!0,2*e,0).lineTo(g-2*e,0).arcTo(e,e,0,!1,!0,g-e,e).lineTo(g-e,m-e).arcTo(e,e,0,!1,!1,g,m);j.append("path").attr("class","railroad-line").attr("d",a.build())}return{element:j.node(),dimensions:{width:g,height:i,up:m,down:i-m}}}renderSpecial(a,b){let c=this.measureText("? "+b+" ?"),d=c.width+2*this.config.padding,e=c.height+2*this.config.padding,f=a.append("g").attr("class","railroad-special");return f.append("rect").attr("x",0).attr("y",0).attr("width",d).attr("height",e),f.append("text").attr("x",d/2).attr("y",e/2).text("? "+b+" ?"),{element:f.node(),dimensions:{width:d,height:e,up:e/2,down:e/2}}}renderExpression(a,b){switch(b.type){case"terminal":return this.renderTerminal(a,b.value);case"nonterminal":return this.renderNonTerminal(a,b.name);case"sequence":return this.renderSequence(a,b.elements);case"choice":return this.renderChoice(a,b.alternatives);case"optional":return this.renderOptional(a,b.element);case"repetition":return this.renderRepetition(a,b.element,b.min);case"special":return this.renderSpecial(a,b.text);default:throw Error(`Unknown node type: ${b.type}`)}}renderRule(a,b){let c=this.svg.append("g").attr("class","railroad-rule").attr("transform",`translate(0, ${b})`),d=a.name+" =",e=this.measureText(d).width+20,f=e+20,g=c.append("g"),h=this.renderExpression(g,a.definition),i=Math.max(20,h.dimensions.up),j=i-h.dimensions.up;return g.attr("transform",`translate(${f}, ${j})`),c.append("g").attr("class","railroad-rule-name-group").append("text").attr("class","railroad-rule-name").attr("x",0).attr("y",i).text(d),c.append("g").attr("class","railroad-start").append("circle").attr("cx",e).attr("cy",i).attr("r",this.config.markerRadius),c.append("g").attr("class","railroad-end").append("circle").attr("cx",f+h.dimensions.width+10).attr("cy",i).attr("r",this.config.markerRadius),c.append("path").attr("class","railroad-line").attr("d",new M().moveTo(e+this.config.markerRadius,i).lineTo(f,i).build()),c.append("path").attr("class","railroad-line").attr("d",new M().moveTo(f+h.dimensions.width,i).lineTo(f+h.dimensions.width+10-this.config.markerRadius,i).build()),{height:Math.max(40,j+h.dimensions.height+2*this.config.padding),width:f+h.dimensions.width+10+this.config.markerRadius}}renderDiagram(a){let b=this.config.padding,c=0;for(let d of a){let a=this.renderRule(d,b);b+=a.height+this.config.verticalSeparation,c=Math.max(c,a.width)}return{width:c+2*this.config.padding,height:b+this.config.padding}}},O=(0,g.K)((a,b,c)=>{(0,e.a$)(a,b.height,b.width,c),a.attr("viewBox",`0 0 ${b.width} ${b.height}`)},"configureRailroadSvgSize"),P={draw:(0,g.K)((a,b,c)=>{f.R.debug("[Railroad] Rendering diagram\n"+a);try{let a=(0,d.D)(b);a.attr("class","railroad-diagram");let c=(0,e.zj)().railroad,g=c?.useMaxWidth??!0,h=x.getRules();if(f.R.debug(`[Railroad] Rendering ${h.length} rules`),0===h.length){f.R.warn("[Railroad] No rules to render"),O(a,{height:100,width:200},g);return}let i=new N(a,K()).renderDiagram(h);O(a,i,g),f.R.debug("[Railroad] Render complete")}catch(a){throw f.R.error("[Railroad] Render error:",a),a}},"draw")}}};
|