@37chengshan/ompweb 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +66 -0
- package/.next/build-manifest.json +20 -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 +189 -0
- package/.next/react-loadable-manifest.json +499 -0
- package/.next/required-server-files.js +364 -0
- package/.next/required-server-files.json +364 -0
- package/.next/routes-manifest.json +513 -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 +15 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +21 -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 +26 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +26 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +27 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +8 -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 +5 -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]/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/events/route.js +3 -0
- package/.next/server/app/api/agent/running/events/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/running/events/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agents/route.js +1 -0
- package/.next/server/app/api/agents/route.js.nft.json +1 -0
- package/.next/server/app/api/agents/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/all-providers/route.js +1 -0
- package/.next/server/app/api/auth/all-providers/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/all-providers/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/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/mcp/route.js +4 -0
- package/.next/server/app/api/mcp/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/model-roles/route.js +1 -0
- package/.next/server/app/api/model-roles/route.js.nft.json +1 -0
- package/.next/server/app/api/model-roles/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/fetch/route.js +1 -0
- package/.next/server/app/api/models/fetch/route.js.nft.json +1 -0
- package/.next/server/app/api/models/fetch/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/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/omp-settings/route.js +1 -0
- package/.next/server/app/api/omp-settings/route.js.nft.json +1 -0
- package/.next/server/app/api/omp-settings/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/omp-update/route.js +2 -0
- package/.next/server/app/api/omp-update/route.js.nft.json +1 -0
- package/.next/server/app/api/omp-update/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/omp-version/route.js +1 -0
- package/.next/server/app/api/omp-version/route.js.nft.json +1 -0
- package/.next/server/app/api/omp-version/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/projects/route.js +2 -0
- package/.next/server/app/api/projects/route.js.nft.json +1 -0
- package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/providers/enable/route.js +1 -0
- package/.next/server/app/api/providers/enable/route.js.nft.json +1 -0
- package/.next/server/app/api/providers/enable/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/reveal/route.js +1 -0
- package/.next/server/app/api/reveal/route.js.nft.json +1 -0
- package/.next/server/app/api/reveal/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/archive/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/archive/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -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]/export/route.js +1 -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]/plan/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/plan/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/plan/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/[id]/subagents/[subagentId]/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/subagents/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/subagents/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/subagents/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/archive/route.js +1 -0
- package/.next/server/app/api/sessions/archive/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/archive/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/import/route.js +1 -0
- package/.next/server/app/api/sessions/import/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/import/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/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/terminal/input/route.js +8 -0
- package/.next/server/app/api/terminal/input/route.js.nft.json +1 -0
- package/.next/server/app/api/terminal/input/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/terminal/open/route.js +1 -0
- package/.next/server/app/api/terminal/open/route.js.nft.json +1 -0
- package/.next/server/app/api/terminal/open/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/terminal/session/route.js +8 -0
- package/.next/server/app/api/terminal/session/route.js.nft.json +1 -0
- package/.next/server/app/api/terminal/session/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/terminal/stream/route.js +13 -0
- package/.next/server/app/api/terminal/stream/route.js.nft.json +1 -0
- package/.next/server/app/api/terminal/stream/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/web-auth/session/route.js +1 -0
- package/.next/server/app/api/web-auth/session/route.js.nft.json +1 -0
- package/.next/server/app/api/web-auth/session/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/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 +29 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +28 -0
- package/.next/server/app/index.segments/_full.segment.rsc +29 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +8 -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 +29 -0
- package/.next/server/app/login.segments/_full.segment.rsc +29 -0
- package/.next/server/app/login.segments/_tree.segment.rsc +8 -0
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +28 -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 +1 -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 +66 -0
- package/.next/server/chunks/1636.js +1 -0
- package/.next/server/chunks/1671.js +1 -0
- package/.next/server/chunks/1813.js +1 -0
- package/.next/server/chunks/2349.js +1 -0
- package/.next/server/chunks/3290.js +4 -0
- package/.next/server/chunks/3294.js +25 -0
- package/.next/server/chunks/3379.js +1 -0
- package/.next/server/chunks/3425.js +163 -0
- package/.next/server/chunks/3798.js +5 -0
- package/.next/server/chunks/4509.js +12 -0
- package/.next/server/chunks/4741.js +165 -0
- package/.next/server/chunks/5309.js +1 -0
- package/.next/server/chunks/6465.js +1 -0
- package/.next/server/chunks/7834.js +5 -0
- package/.next/server/chunks/7839.js +1 -0
- package/.next/server/chunks/8333.js +1 -0
- package/.next/server/functions-config-manifest.json +16 -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 +53 -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/cA3mF_wj2VN78irY68Wcm/_buildManifest.js +1 -0
- package/.next/static/cA3mF_wj2VN78irY68Wcm/_ssgManifest.js +1 -0
- package/.next/static/chunks/103.23142a67b02246a8.js +215 -0
- package/.next/static/chunks/1032.d9a9179233599785.js +1 -0
- package/.next/static/chunks/1063.775c442bdbeef08b.js +1 -0
- package/.next/static/chunks/1133.0f37525b2b215f36.js +1 -0
- package/.next/static/chunks/1327.09252bb80616cc3a.js +1 -0
- package/.next/static/chunks/1708.c3a1896e4cc9f8d9.js +1 -0
- package/.next/static/chunks/1781.9072b4c9586df549.js +1 -0
- package/.next/static/chunks/1ba63609.b2ae90f43319a29e.js +153 -0
- package/.next/static/chunks/202.95416cc0d8e6df0e.js +131 -0
- package/.next/static/chunks/2081.47b6e9391094055f.js +1 -0
- package/.next/static/chunks/2181.ba21239d3ac39f81.js +1 -0
- package/.next/static/chunks/2201.08d1cac24fc438ee.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/2414.8b3662a85cd1b14e.js +1 -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/2584-20a03146e1e2db70.js +1 -0
- package/.next/static/chunks/2619.9431a3f48da8eef4.js +1 -0
- package/.next/static/chunks/268.ec500965c1761e26.js +80 -0
- package/.next/static/chunks/2695.b732ef1965253b3f.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/3251.408c817adb161919.js +1 -0
- package/.next/static/chunks/3308.8e27b5c43a478f0d.js +73 -0
- package/.next/static/chunks/3336.a76f9485fe7cb762.js +1 -0
- package/.next/static/chunks/3606.ddd8065b4a3108bd.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-d7cddff008311ab3.js +52 -0
- package/.next/static/chunks/394.475e54c848486e3a.js +1 -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/4559.2e7ed39ea2757280.js +1 -0
- package/.next/static/chunks/484.c74eeb0fca9a9ddf.js +1 -0
- package/.next/static/chunks/4854.b64a1daa15899219.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/5165.2681017cd0bd291f.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/5658.600b820420422057.js +1 -0
- package/.next/static/chunks/5681.dd0e66b0de16e54b.js +27 -0
- package/.next/static/chunks/6121.eb9023b1cbc78ee2.js +1 -0
- package/.next/static/chunks/6161.4836cd7d031026bf.js +1 -0
- package/.next/static/chunks/6195.8710aa41b2319dff.js +24 -0
- package/.next/static/chunks/6202.f4317cf0a48876f9.js +1 -0
- package/.next/static/chunks/6294.24f510c0c3e3714c.js +1 -0
- package/.next/static/chunks/6654.41440ef667144967.js +1 -0
- package/.next/static/chunks/6794.57bf1aff78682f3a.js +93 -0
- package/.next/static/chunks/7256.e07cf52d87d40252.js +1 -0
- package/.next/static/chunks/7268.2f59c671f26160f3.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/8114.8a8fdee4c3b7fd4b.js +1 -0
- package/.next/static/chunks/8200.a36b9f8c983c6b9e.js +5 -0
- package/.next/static/chunks/852.60444b32fcbeb00c.js +1 -0
- package/.next/static/chunks/8673.8f38e67890334c5a.js +1 -0
- package/.next/static/chunks/869.7152372b662e31af.js +1 -0
- package/.next/static/chunks/8863.fa0320ea586efb3b.js +1 -0
- package/.next/static/chunks/8885.d9308c756376780b.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/9365.a3e0e5ac101ccd02.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.9efc01efd9d768a5.js +8 -0
- package/.next/static/chunks/9754.d67dec946fc871d4.js +25 -0
- package/.next/static/chunks/9764.2669775c6e107a01.js +62 -0
- package/.next/static/chunks/9793.4567af813117ad25.js +1 -0
- package/.next/static/chunks/993e5495.598a97aa1337298f.js +62 -0
- package/.next/static/chunks/9974.9a0f79beca65e8c4.js +34 -0
- package/.next/static/chunks/9981.678c7bcc42f24571.js +1 -0
- package/.next/static/chunks/app/_global-error/page-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/_not-found/page-8753f2eb4b097627.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/agent/running/events/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/agents/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/app-update/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/auth/all-providers/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/home/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/mcp/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/model-roles/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/models/fetch/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/models/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/models-config/catalog/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/omp-settings/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/omp-update/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/omp-version/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/projects/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/providers/enable/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/reveal/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/archive/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/plan/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/subagents/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/sessions/archive/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/sessions/import/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/skills/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/terminal/input/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/terminal/open/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/terminal/session/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/terminal/stream/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/web-auth/session/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/error-9ba463bef8c2cf06.js +1 -0
- package/.next/static/chunks/app/global-error-871c4baa96801c4e.js +1 -0
- package/.next/static/chunks/app/layout-347584865a4cd886.js +1 -0
- package/.next/static/chunks/app/login/page-7a5cd8dbc1789d87.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/app/page-833698058d71b603.js +1 -0
- package/.next/static/chunks/bf2ff291.244c8a7c1c14966a.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.27ee8fcc7bf00d70.js +1 -0
- package/.next/static/chunks/e868780c.0440c4cbaec74878.js +18 -0
- package/.next/static/chunks/framework-b33a8f5d57cd8d87.js +1 -0
- package/.next/static/chunks/main-354b27ede3eb835a.js +5 -0
- package/.next/static/chunks/main-app-14cb310088a8e6b1.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-48788bcdc79e1c9e.js +1 -0
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/.next/static/chunks/webpack-2a4b77ae5d80a8ba.js +1 -0
- package/.next/static/css/2f46e0db0d4a3aed.css +1 -0
- package/.next/static/css/5fe2a8af79a7efdf.css +1 -0
- package/.next/static/css/921bec6c70de20d4.css +1 -0
- package/.next/static/css/dda9acc8fa0835d6.css +1 -0
- package/.next/static/media/01bdb1c2bb2f530a-s.woff2 +0 -0
- package/.next/static/media/060fd7a2ba6f57dc-s.woff2 +0 -0
- package/.next/static/media/06d755a5cd3e2b96-s.woff2 +0 -0
- package/.next/static/media/09341845bc7215c3-s.woff2 +0 -0
- package/.next/static/media/09d8b46d011a8a55-s.woff2 +0 -0
- package/.next/static/media/0ac3ab6b6a54cd96-s.woff2 +0 -0
- package/.next/static/media/0cb7a0edc360425e-s.woff2 +0 -0
- package/.next/static/media/0de82041d2acf4c3-s.woff2 +0 -0
- package/.next/static/media/1249fbbadbb69451-s.woff2 +0 -0
- package/.next/static/media/15605e25b523335c-s.woff2 +0 -0
- package/.next/static/media/182682366c265526-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/246116fa49278f72-s.woff2 +0 -0
- package/.next/static/media/2ad4a039dd2c0f35-s.woff2 +0 -0
- package/.next/static/media/2cd94acf7f6a8cd1-s.woff2 +0 -0
- package/.next/static/media/30af2a5bc088caeb-s.woff2 +0 -0
- package/.next/static/media/3117748ae3be552d-s.woff2 +0 -0
- package/.next/static/media/373befd5a68230ff-s.woff2 +0 -0
- package/.next/static/media/37ae20ae1d329cc2-s.woff2 +0 -0
- package/.next/static/media/3832bef2caf4f297-s.woff2 +0 -0
- package/.next/static/media/3b6ebd4dd223d8c1-s.woff2 +0 -0
- package/.next/static/media/3d165c286d94e27c-s.woff2 +0 -0
- package/.next/static/media/3da25081fc21e3b2-s.woff2 +0 -0
- package/.next/static/media/3eb545844a1630b6-s.woff2 +0 -0
- package/.next/static/media/41870aeb5505be99-s.woff2 +0 -0
- package/.next/static/media/45c8f5377f81d417-s.woff2 +0 -0
- package/.next/static/media/48d86e2f8821c61e-s.woff2 +0 -0
- package/.next/static/media/4957022da3161c6e-s.woff2 +0 -0
- package/.next/static/media/4be71ddc6c749643-s.woff2 +0 -0
- package/.next/static/media/4c4b3b30b6bcb2be-s.woff2 +0 -0
- package/.next/static/media/4dc4381bbf526d04-s.woff2 +0 -0
- package/.next/static/media/4eb0814ea9e22f45-s.woff2 +0 -0
- package/.next/static/media/4f86cf50532e0e9b-s.woff2 +0 -0
- package/.next/static/media/5022b11bb4a81e48-s.woff2 +0 -0
- package/.next/static/media/5080c55e2dccd63d-s.woff2 +0 -0
- package/.next/static/media/5348b1e69a651725-s.woff2 +0 -0
- package/.next/static/media/54c50561be23e605-s.woff2 +0 -0
- package/.next/static/media/567d6f765096ee76-s.woff2 +0 -0
- package/.next/static/media/58045d1f8695a418-s.woff2 +0 -0
- package/.next/static/media/591e43f23f51e5a5-s.woff2 +0 -0
- package/.next/static/media/5a274ddc03d9a5ab-s.woff2 +0 -0
- package/.next/static/media/5feee92221bb8605-s.woff2 +0 -0
- package/.next/static/media/6067d3f78ecc4535-s.woff2 +0 -0
- package/.next/static/media/61a11ca45429493a-s.woff2 +0 -0
- package/.next/static/media/63d030730737efae-s.woff2 +0 -0
- package/.next/static/media/641a7b8a5800ee0e-s.woff2 +0 -0
- package/.next/static/media/6bd056ddce336924-s.woff2 +0 -0
- package/.next/static/media/6dc0bae4a5666821-s.woff2 +0 -0
- package/.next/static/media/7513cc52807669ca-s.woff2 +0 -0
- package/.next/static/media/75ae81fea4aec8c5-s.woff2 +0 -0
- package/.next/static/media/77f6534b6a3eb37a-s.woff2 +0 -0
- package/.next/static/media/782d4006a26041e7-s.woff2 +0 -0
- package/.next/static/media/7c21074d9bafed1b-s.woff2 +0 -0
- package/.next/static/media/7d509f4f988023eb-s.woff2 +0 -0
- package/.next/static/media/7d58f39a50828c68-s.woff2 +0 -0
- package/.next/static/media/7db71cc013812f1c-s.woff2 +0 -0
- package/.next/static/media/7deddc85b7ffd1dc-s.p.woff2 +0 -0
- package/.next/static/media/7eb3f914ae6dd7a0-s.woff2 +0 -0
- package/.next/static/media/8051eb8307aa13c8-s.woff2 +0 -0
- package/.next/static/media/829dca987e1e010e-s.woff2 +0 -0
- package/.next/static/media/842f675c7a332a48-s.woff2 +0 -0
- package/.next/static/media/866e2e7b0cbc2cb4-s.woff2 +0 -0
- package/.next/static/media/86b38dc7f713ddda-s.woff2 +0 -0
- package/.next/static/media/8a3a66ae6bb27151-s.woff2 +0 -0
- package/.next/static/media/8b56b70f6d577d9f-s.woff2 +0 -0
- package/.next/static/media/8d93dbb77672da11-s.woff2 +0 -0
- package/.next/static/media/8f5c2d0a25b8f50c-s.woff2 +0 -0
- package/.next/static/media/916860560b9a2bc2-s.woff2 +0 -0
- package/.next/static/media/966e6d14b6c229fc-s.woff2 +0 -0
- package/.next/static/media/97ac91773d3121b2-s.p.woff2 +0 -0
- package/.next/static/media/9877fefe733dd250-s.woff2 +0 -0
- package/.next/static/media/9c57f4420502d43a-s.woff2 +0 -0
- package/.next/static/media/9cedd2ad7b0bcf3d-s.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/a00fb5ef1ca68e5d-s.woff2 +0 -0
- package/.next/static/media/a171b1d72388367c-s.woff2 +0 -0
- package/.next/static/media/a310fb84e6868735-s.woff2 +0 -0
- package/.next/static/media/a53504b22c396db6-s.woff2 +0 -0
- package/.next/static/media/aabb87babcdda375-s.woff2 +0 -0
- package/.next/static/media/afe75c8050c8fd4e-s.woff2 +0 -0
- package/.next/static/media/b201193f76404e13-s.woff2 +0 -0
- package/.next/static/media/b20daecae68a588f-s.p.woff2 +0 -0
- package/.next/static/media/b2574bc564dca98d-s.woff2 +0 -0
- package/.next/static/media/b6a1339c290590d0-s.woff2 +0 -0
- package/.next/static/media/b6fe4b2295863fe4-s.woff2 +0 -0
- package/.next/static/media/bb8ff9c700288292-s.woff2 +0 -0
- package/.next/static/media/bc1ccfae4ae17995-s.woff2 +0 -0
- package/.next/static/media/be15c189f996aeb2-s.woff2 +0 -0
- package/.next/static/media/c0d1f6928a1dbc31-s.woff2 +0 -0
- package/.next/static/media/c36d8bb68a53eb60-s.woff2 +0 -0
- package/.next/static/media/c5db947ee2561e06-s.woff2 +0 -0
- package/.next/static/media/c77ac7f613b44045-s.woff2 +0 -0
- package/.next/static/media/ca73d0c74010e612-s.woff2 +0 -0
- package/.next/static/media/cfbad6ceeeca5c58-s.woff2 +0 -0
- package/.next/static/media/d24aebb82f01e48d-s.woff2 +0 -0
- package/.next/static/media/d2c6107607eb7d44-s.woff2 +0 -0
- package/.next/static/media/d2c7d5e8db7ce20a-s.woff2 +0 -0
- package/.next/static/media/d51f7558abc55aa6-s.woff2 +0 -0
- package/.next/static/media/da718921282f76d0-s.woff2 +0 -0
- package/.next/static/media/dae37106d788c7c9-s.woff2 +0 -0
- package/.next/static/media/e0d4cd45847004a4-s.woff2 +0 -0
- package/.next/static/media/e100c7a7874aebd9-s.woff2 +0 -0
- package/.next/static/media/e26dff18031f4a7e-s.woff2 +0 -0
- package/.next/static/media/e54d16b9f2c4535b-s.woff2 +0 -0
- package/.next/static/media/e5b759c1d5c42d99-s.woff2 +0 -0
- package/.next/static/media/ea21a07081db26d0-s.woff2 +0 -0
- package/.next/static/media/eaee7682c49bd1c2-s.woff2 +0 -0
- package/.next/static/media/ec14413c594b3356-s.p.woff2 +0 -0
- package/.next/static/media/ec408158b9e08aea-s.woff2 +0 -0
- package/.next/static/media/ee5d9aad76ea4c0a-s.woff2 +0 -0
- package/.next/static/media/efdbc7cff3271ee9-s.woff2 +0 -0
- package/.next/static/media/f128be4e72405705-s.woff2 +0 -0
- package/.next/static/media/fb6cfff6119f26e8-s.woff2 +0 -0
- package/.next/static/media/fd516adbc3328c82-s.woff2 +0 -0
- package/LICENSE +21 -0
- package/README.ja.md +139 -0
- package/README.md +194 -0
- package/README.zh-CN.md +177 -0
- package/bin/network-addresses.js +197 -0
- package/bin/node-version.js +35 -0
- package/bin/omp-web-options.js +86 -0
- package/bin/omp-web-security.test.mjs +9 -0
- package/bin/omp-web.js +147 -0
- package/bin/port-availability.js +27 -0
- package/bin/process-lifecycle.js +71 -0
- package/bin/process-lifecycle.test.mjs +83 -0
- package/next.config.ts +94 -0
- package/package.json +83 -0
- package/public/icon.png +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2584],{52584:(e,o,t)=>{t.d(o,{YZ:()=>r,Tl:()=>f,s9:()=>v});var i=t(12115);let n=JSON.parse('{"agentSession.advisorDisabled":"Advisor is disabled — enable it with the sparkles toggle in the composer.","agentSession.commandCompleted":"Command completed","agentSession.commandRequiresArgs":"Usage: {command} {usage}","agentSession.commandFailed":"Command failed","agentSession.compactedContext":"Compacted context","agentSession.copiedLastMessage":"Copied last assistant message","agentSession.eventStreamFailed":"Failed to connect to the agent event stream. Please try again.","agentSession.eventStreamTimeout":"Timed out connecting to the agent event stream. Please try again.","agentSession.nameUsage":"Usage: /name <name>","agentSession.noActiveSession":"No active session","agentSession.noMessageToCopy":"No assistant message to copy","agentSession.noMessages":"(no messages)","agentSession.noSessionToCompact":"No active session to compact","agentSession.noSessionToName":"No active session to name","agentSession.noSessionToReload":"No active session to reload","agentSession.openInBrowser":"Open in your browser: {url}","agentSession.unsafeUrlBlocked":"Blocked an unsafe URL {url}","agentSession.reloadedResources":"Reloaded session resources","agentSession.sendFailed":"Failed to send message: {detail}","agentSession.sessionRenamed":"Session renamed to {name}","agentSession.shellSessionFailed":"Unable to create a session for the shell command","agentSession.startingAgent":"Starting omp… the first launch of a session can take a while.","agentSession.toolPresetNotice":"Tool presets apply when a session starts; this session keeps its current tools.","archiveBrowser.title":"Archived Sessions","archiveBrowser.description":"Browse and restore sessions that have been archived.","archiveBrowser.searchPlaceholder":"Search archives by name, directory, or message…","archiveBrowser.refresh":"Refresh archives","archiveBrowser.close":"Close","archiveBrowser.loading":"Loading archived sessions…","archiveBrowser.loadFailed":"Failed to load archived sessions: {detail}","archiveBrowser.retry":"Retry","archiveBrowser.noArchives":"No archived sessions","archiveBrowser.noArchivesDescription":"Sessions you archive from the sidebar will appear here.","archiveBrowser.noMatches":"No matching archives","archiveBrowser.noMatchesDescription":"Try adjusting your search query.","archiveBrowser.selectPrompt":"Select an archived session to view details and restore it.","archiveBrowser.restore":"Restore Session","archiveBrowser.restoring":"Restoring…","archiveBrowser.restoreSuccess":"Restored session “{name}”","archiveBrowser.restoreFailed":"Failed to restore session: {detail}","archiveBrowser.directory":"Directory","archiveBrowser.sessionId":"Session ID","archiveBrowser.created":"Created","archiveBrowser.archivedAt":"Archived","archiveBrowser.messages":"Messages","archiveBrowser.size":"Archive Size","archiveBrowser.firstMessage":"Initial Prompt / Message","archiveBrowser.noFirstMessage":"(No initial message)","archiveBrowser.restoreNotice":"Restoring will move this session back into your active workspace and select it in the chat window.","archiveBrowser.copyId":"Copy session ID","archiveBrowser.copied":"Copied session ID","archiveBrowser.count":"{count} archives","appShell.appUpdateAvailable":"ompweb update available","appShell.commandCopied":"Command copied to clipboard","appShell.commandCopyFailed":"Could not copy the command","appShell.copyCommand":"Copy","appShell.copied":"Copied","appShell.ompUpdateAvailable":"OMP update available","appShell.updateVersion":"v{current} → v{available}","settingsConfig.systemUpdates":"System & Updates","settingsConfig.systemUpdatesDescription":"App version status, OMP runtime updates, and active session management.","settingsConfig.appLabel":"ompweb application","settingsConfig.ompLabel":"OMP runtime","settingsConfig.checkingUpdates":"Checking for updates...","settingsConfig.upToDate":"v{version} is up to date","settingsConfig.versionUnavailable":"Version unavailable","settingsConfig.checkAppUpdates":"Check ompweb updates","settingsConfig.checkOmpUpdates":"Check OMP updates","settingsConfig.refresh":"Refresh","settingsConfig.runAppUpdateCommand":"Run this command in terminal to update ompweb:","settingsConfig.runOmpUpdateCommand":"Run this command in terminal to update OMP runtime:","settingsConfig.restarting":"Restarting...","settingsConfig.restartSessions":"Restart OMP sessions","settingsConfig.restartSuccess":"Restarted {count} active OMP session(s).","settingsConfig.changelog":"Changelog","appShell.copyFilePath":"Copy file path","appShell.copySessionId":"Copy session ID","appShell.fullHistory":"Full history","appShell.fullHistoryUnavailable":"Full history is available after the session is saved","appShell.generateSessionTitle":"Generate a session title","appShell.generateTitle":"Generate title","appShell.generating":"Generating...","appShell.generationFailed":"Generation failed","appShell.getStarted":"Get Started","appShell.getStartedStep1":"Select a project directory from the sidebar","appShell.getStartedStep2":"Add models via the {models} button at the bottom","appShell.hideFilePanel":"Hide file panel","appShell.hideSidebar":"Hide sidebar","appShell.inMemory":"In-memory","appShell.loading":"Loading…","appShell.models":"Models","appShell.noFileOpen":"No file open","appShell.openingWorkspace":"Opening workspace...","appShell.plugins":"Plugins","appShell.resizeSidebar":"Resize sidebar","appShell.resizeSidebarTitle":"Drag to resize the sidebar. Double-click or press Enter to reset to the default width.","appShell.sectionMessages":"Messages","appShell.sectionSessionInfo":"Session Info","appShell.sectionTokens":"Tokens","appShell.selectSessionHint":"Select a session from the sidebar","appShell.sessionInfo":"Session info","appShell.sessionInfoLoadHint":"Send a message or run /session to load session info","appShell.showFilePanel":"Show file panel","appShell.showSidebar":"Show sidebar","appShell.skills":"Skills","appShell.statAssistant":"Assistant","appShell.statCacheRead":"Cache Read","appShell.statCacheRate":"Cache Hit","appShell.statCacheWrite":"Cache Write","appShell.statContext":"Context","appShell.statCost":"Cost","appShell.statFile":"File","appShell.statId":"ID","appShell.statInput":"Input","appShell.statName":"Name","appShell.statOutput":"Output","appShell.statToolCalls":"Tool Calls","appShell.statToolResults":"Tool Results","appShell.statTotal":"Total","appShell.statUser":"User","appShell.switchToDarkMode":"Switch to dark mode","appShell.switchToLightMode":"Switch to light mode","appShell.switchToSystemTheme":"Switch to system theme","appShell.systemTheme":"Using system theme (click to switch to light)","appShell.sessionComplete":"Session complete","appShell.taskFinished":"Task finished.","appShell.system":"System","appShell.systemPrompt":"System prompt","appShell.systemPromptEmpty":"System prompt is empty (tools are disabled)","appShell.systemPromptLoadHint":"System prompt has not loaded yet","appShell.systemPromptLoading":"Loading system prompt…","appShell.titleGenNeedsMessage":"Send a message before naming this session","appShell.titleGenUnavailable":"Title generation is available after the session is saved","appShell.titleUpdated":"Title updated","appShell.tooltipCacheRead":"cache read: {value}","appShell.tooltipCacheWrite":"cache write: {value}","appShell.tooltipCacheRate":"cache hit: {percent}","appShell.tooltipContext":"context: {percent} of {tokens} tokens","appShell.tooltipMaxOutput":"maximum output: {tokens} tokens","appShell.tooltipCost":"cost: ${value}","appShell.tooltipInput":"in: {value}","appShell.tooltipOutput":"out: {value}","appShell.tooltipCurrentSpeed":"current: {value}","appShell.tooltipAverageSpeed":"average: {value}","appShell.unableToOpenWorkspace":"Unable to open workspace","appShell.unknown":"unknown","appShell.viewFullHistory":"View full history","branchNavigator.assistantLabel":"[assistant]","branchNavigator.branches":"Branches","branchNavigator.noActiveSession":"No active session","branchNavigator.noBranches":"This session has no branches","branchNavigator.roleAssistant":"A","branchNavigator.roleUser":"U","chatInput.attachFile":"Attach files","chatInput.attachImage":"Attach image","chatInput.fastLabel":"Fast","chatInput.queuedDelete":"Delete","chatInput.queuedDeleteTitle":"Remove this queued message","chatInput.queuedEdit":"Edit","chatInput.queuedEditTitle":"Edit this queued message","chatInput.queuedFollowUp":"Queued follow-up","chatInput.queuedSteer":"Queued steer","chatInput.queuedSteerAction":"Steer","chatInput.queuedSteerTitle":"Deliver this message as a steer","chatInput.queuedPrompts":"Queued prompts","chatInput.expandQueued":"Show all queued prompts","chatInput.collapseQueued":"Collapse queued prompts","chatInput.settings":"Settings","chatInput.changeModel":"Change model","chatInput.modelsLabel":"Models","chatInput.changeReasoning":"Change reasoning level","chatInput.changeReasoningTitle":"Change reasoning level: {level}","chatInput.reasoningLabel":"Reasoning","chatInput.changeToolPreset":"Change tool preset","chatInput.changeToolPresetTitle":"Change tool preset: {preset}","chatInput.cmdCompact":"Compress context, optionally with instructions","chatInput.commandUsageTitle":"Command usage","chatInput.cmdGoal":"Set the goal for this session","chatInput.cmdGoalArg":"[goal]","chatInput.goalActive":"Goal active","chatInput.expandGoal":"Expand active goal","chatInput.collapseGoal":"Collapse active goal","chatInput.cmdPlan":"Create a step-by-step plan","chatInput.cmdPlanArg":"[task]","chatInput.planningInProgress":"Planning in progress","chatInput.cmdReview":"Review project state and changes","chatInput.cmdReviewArg":"[scope]","chatInput.cmdFix":"Fix a reported issue","chatInput.cmdFixArg":"[issue]","chatInput.cmdTest":"Write and run tests","chatInput.cmdTestArg":"[target]","chatInput.cmdExplain":"Explain code or a concept","chatInput.cmdExplainArg":"[thing]","chatInput.cmdSimplify":"Simplify code while preserving behavior","chatInput.cmdSimplifyArg":"[target]","chatInput.cmdCommit":"Stage and commit changes","chatInput.cmdCommitArg":"[message]","chatInput.cmdCopy":"Copy the last assistant message","chatInput.cmdName":"Set the session display name","chatInput.cmdAdvisor":"Get an independent advisory review of the current work","chatInput.cmdAdvisorArg":"[topic]","chatInput.cmdReload":"Reload extensions, skills, prompts, and tools","chatInput.cmdSession":"Show session message, token, and cost stats","chatInput.collapseControls":"Collapse controls","chatInput.commandCount.one":"1 command","chatInput.commandCount.other":"{count} commands","chatInput.compact":"Compact","chatInput.compactContext":"Compact context","chatInput.compactResult":"{verb} {before} -> {after} tokens ({saved} saved)","chatInput.compacted":"Compacted","chatInput.compactedWithReason":"{reason} compacted","chatInput.compacting":"Compacting…","chatInput.advisorReviewingTitle":"Advisor reviewing \xb7 {model} ({reasoning})","chatInput.disableSound":"Disable completion sound","chatInput.advisorEnableTitle":"Enable advisor for this chat","chatInput.advisorDisableTitle":"Advisor: {model} ({reasoning}) — click to disable","chatInput.advisorReasoningDefault":"model default","chatInput.enableSound":"Enable completion sound","chatInput.filesHeader":"Files \xb7 {countLabel}","chatInput.followUp":"Follow-up","chatInput.followUpTitle":"Queue this message after the agent finishes","chatInput.groupBuiltin":"Built-in","chatInput.groupExtensions":"Extensions","chatInput.groupOmpBuiltin":"omp commands","chatInput.groupPrompts":"Prompts","chatInput.groupSkills":"Skills","chatInput.dormant":"dormant","chatInput.imagesCannotQueue":"Image attachments cannot be queued while the agent is running","chatInput.indexTruncated":"index truncated","chatInput.inputHistory":"Input history","chatInput.kindFollowUp":"follow-up","chatInput.kindSteer":"steer","chatInput.loadingCommands":"Loading commands...","chatInput.loadingFiles":"Loading files...","chatInput.loadingModels":"Loading models...","chatInput.matchCount.one":"1 match","chatInput.matchCount.other":"{count} matches","chatInput.queue":"Queue","chatInput.queueMessage":"Queue this message after the agent finishes","chatInput.modelError":"Model error","chatInput.more":"More","chatInput.moreControls":"More controls","chatInput.noAvailableModels":"No available models","chatInput.noCommandsFound":"No extension, prompt, or skill commands found","chatInput.noMatchingFiles":"No matching files","chatInput.noMatchingModels":"No matching models","chatInput.noModels":"No models","chatInput.placeholder":"Message… Type / for commands, @ for files","chatInput.placeholderRunning":"Agent is running…","chatInput.placeholderSteer":"Steer now / queue follow-up...","chatInput.queuedCount":"Queued \xb7 {count}","chatInput.recallQueueTitle":"Remove all queued messages and put them back into the input box for editing","chatInput.recallToInput":"Recall to input","chatInput.retrying":"Retrying ({attempt}/{maxAttempts})…","chatInput.searching":"Searching…","chatInput.searchingAllFiles":"searching all files…","chatInput.searchModels":"Search models…","chatInput.selectModel":"Select model","chatInput.appliesNextPrompt":"Applies to next prompt","chatInput.send":"Send","chatInput.shellLocal":"Shell \xb7 output stays local","chatInput.shellToModel":"Shell \xb7 output sent to model","chatInput.slashCommandsHeader":"Slash commands \xb7 {countLabel}","chatInput.steer":"Steer","chatInput.steerNowTitle":"Interrupt the current run and inject this message now","chatInput.stop":"Stop","chatInput.stopAgent":"Stop agent","chatInput.stopCompaction":"Stop compaction","chatInput.tabEnterHint":"Tab / Enter","chatInput.thinkingAuto":"Use omp default","chatInput.thinkingHigh":"High reasoning","chatInput.thinkingLow":"Low reasoning","chatInput.thinkingMax":"Max reasoning","chatInput.thinkingMedium":"Medium reasoning","chatInput.thinkingMinimal":"Minimal reasoning","chatInput.thinkingOff":"Reasoning off","chatInput.thinkingXhigh":"Extra-high reasoning","chatInput.toolsDefault":"4 built-in tools","chatInput.toolsFull":"All built-in tools","chatInput.toolsOff":"No tools, read-only","chatWindow.cancel":"Cancel","chatWindow.close":"Close","chatWindow.collapseProcessDetails":"Collapse process details","chatWindow.confirm":"Confirm","chatWindow.expandProcessDetails":"Expand process details","chatWindow.extensionPanel":"Extension panel","chatWindow.extensionRequest":"extension request","chatWindow.extensionTerminalInput":"Extension terminal input","chatWindow.loadingSession":"Loading session...","chatWindow.messageCount.one":"{count} message","chatWindow.messageCount.other":"{count} messages","chatWindow.processDetails":"Process details","chatWindow.runningCommand":"Running command...","chatWindow.runningNamed":"Running {names}...","chatWindow.runningNamedMore":"Running {names} (+{more})...","chatWindow.runningTool":"Running tool...","chatWindow.compactingContext":"Compacting context…","chatWindow.compactedHistoryNotice":"Earlier messages are hidden from the active compacted context.","chatWindow.fullHistoryVisible":"Showing the full session transcript; this does not alter agent context.","chatWindow.viewPreCompactionHistory":"View earlier history","chatWindow.returnToCompactHistory":"Return to compact view","chatWindow.scrollUpToLoad":"Scroll up to load earlier messages ({count} hidden)","chatWindow.submit":"Submit","chatWindow.next":"Next","chatWindow.thinking":"Thinking...","chatWindow.subagentCount.one":"{count} subagent","chatWindow.subagentCount.other":"{count} subagents","chatWindow.subagentState.aborted":"Aborted","chatWindow.subagentState.completed":"Done","chatWindow.subagentState.failed":"Failed","chatWindow.subagentState.started":"Running","chatWindow.subagentSummary":"{running} running \xb7 {total} total","chatWindow.subagentsPanel":"Subagents","chatWindow.subagentRetrying":"retrying {attempt}/{max}","chatWindow.subagentRetryAttempt":"attempt {attempt}","chatWindow.subagentNestedCount":"{count} nested","chatWindow.tokensUnit":"{count} tok","chatWindow.contextGauge":"{used}/{total} ctx","chatWindow.collapsePanel":"Collapse","chatWindow.expandPanel":"Expand","chatWindow.todoBlocker":"Blocked: {blocker}","chatWindow.todoList":"Tasks","chatWindow.todoPhaseStatus":"{name} {done}/{total}","chatWindow.todoProgress":"{done}/{total} complete","chatWindow.todoShowAll":"Show all tasks","chatWindow.todoShowLess":"Show fewer tasks","chatWindow.todoStatus.abandoned":"Abandoned","chatWindow.todoStatus.blocked":"Blocked","chatWindow.todoStatus.completed":"Completed","chatWindow.todoStatus.in_progress":"In progress","chatWindow.todoStatus.pending":"Pending","chatWindow.toolCallCount.one":"{count} tool call","chatWindow.toolCallCount.other":"{count} tool calls","chatWindow.versionNotFound":"not found","chatWindow.waitingModel":"Waiting for model...","subagentTranscript.title":"Subagent transcript","subagentTranscript.close":"Close transcript","subagentTranscript.noMessages":"No messages yet","subagentTranscript.loading":"Loading…","subagentTranscript.loadMore":"Load more","subagentTranscript.taskLabel":"Task","subagentTranscript.showTranscript":"Show transcript","subagentTranscript.hideTranscript":"Hide transcript","subagentTranscript.resultLabel":"Result","subagentTranscript.noCompletion":"No output yet","subagentTranscript.completionTruncated":"Output truncated","codeBlock.copied":"copied","codeBlock.copy":"copy","directoryPicker.cancel":"Cancel","directoryPicker.checking":"Checking…","directoryPicker.close":"Close","directoryPicker.directoryPath":"Directory path","directoryPicker.go":"Go","directoryPicker.goToDirectory":"Go to directory","directoryPicker.goToParent":"Go to parent directory","directoryPicker.loadingDirectories":"Loading directories…","directoryPicker.noSubdirectories":"No subdirectories","directoryPicker.noDrives":"No drives found","directoryPicker.openPathBeforeSelecting":"Open this path before selecting it","directoryPicker.pathPlaceholder":"/path/to/project or ~/project","directoryPicker.selectCurrentDirectory":"Select current directory","directoryPicker.selectDirectory":"Select directory","directoryPicker.selectThisFolder":"Select this folder","errors.access_denied":"Access denied","errors.action_required":"An action is required","errors.api_key_remove_unsupported":"omp-web cannot remove stored API keys. Run `omp` in a terminal and use /logout, or edit the provider config in ~/.omp/agent/models.yml.","errors.api_key_store_unsupported":"omp-web cannot store API keys. Run `omp` in a terminal and use /login, set the provider\'s environment variable (e.g. OPENAI_API_KEY), or configure an apiKey on a custom provider in ~/.omp/agent/models.yml.","errors.assistant_message_not_found":"Assistant message not found","errors.bash_exclude_unsupported":"omp cannot run a shell command with its output excluded from the model context (`!!`): the RPC bash command has no exclusion option, so the output would silently enter the context anyway. Run it with a single `!` to share the output with the model, or use a terminal outside omp web.","errors.bash_output_too_large":"The full output is too large to display","errors.bash_output_unavailable":"The full output is unavailable","errors.branch_required":"A branch name is required","errors.cannot_remove_main_worktree":"Cannot remove the main worktree","errors.cwd_must_be_absolute":"The working directory must be an absolute path","errors.cwd_package_scope_required":"cwd, package, and scope are required","errors.cwd_required":"A working directory is required","errors.cwd_required_for_project_install":"A working directory is required for a project install","errors.directory_not_found":"Directory does not exist","errors.docx_too_large":"DOCX too large for preview (over 10MB)","errors.file_not_found":"File not found","errors.file_path_required":"A file path is required","errors.file_too_large_preview":"File too large for preview (over 256KB)","errors.generic":"Request failed","errors.image_too_large":"Image too large (over 10MB)","errors.invalid_block_index":"A valid block index is required","errors.invalid_branch_name":"Invalid branch name","errors.invalid_conflict_strategy":"Invalid conflict strategy","errors.invalid_file_names":"Invalid file names","errors.invalid_path":"Invalid path","errors.invalid_request":"Invalid request","errors.invalid_request_type":"Invalid file request type","errors.invalid_upload_type":"Invalid upload request type","errors.login_no_pending":"No pending login for this token","errors.login_token_code_required":"A login token and authorization code are required","errors.login_token_mismatch":"The login token does not match the provider","errors.logout_unsupported":"omp-web cannot disconnect this provider: omp exposes no logout command outside its own UI. Run `omp` in a terminal and use /logout to remove the credential.","errors.model_id_required":"A model ID is required","errors.model_required":"A model config is required","errors.model_test_unresolved":"The model did not resolve — check the API key and provider config","errors.models_config_unparseable":"models.yml contains invalid YAML. Fix it by hand — omp-web will not overwrite it.","errors.not_a_directory":"The path is not a directory","errors.not_a_file":"The path is not a file","errors.not_a_skill_file":"The path is not a SKILL.md file","errors.not_a_worktree":"Not a worktree of this repository","errors.omp_not_found":"omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN.","errors.package_required":"A package is required","errors.package_scope_together":"package and scope must be provided together","errors.path_must_be_absolute":"The path must be an absolute path","errors.path_required":"A path is required","errors.plugin_unsupported_action":"Unsupported plugin action","errors.preview_unavailable":"Preview is not available for this file type","errors.provider_name_required":"A provider name is required","errors.provider_required":"A provider config is required","errors.query_required":"A search query is required","errors.session_file_malformed":"Session file is missing or malformed","errors.session_file_too_large":"This session is too large to open in omp-web. Open it with `omp --resume` in a terminal.","errors.session_name_required":"Session name is required","errors.session_no_messages_to_name":"The session has no user messages to name","errors.session_not_found":"Session not found","errors.session_restarting":"This session is restarting — retry in a moment.","errors.skill_install_failed":"Install failed","errors.skill_not_installed":"Installed skill not found","errors.skill_update_unsupported":"This skill cannot be updated automatically","errors.source_required":"A plugin source is required","errors.thinking_block_not_found":"Thinking block not found","errors.upload_conflict":"One or more files already exist","errors.upload_directory_not_found":"Upload directory not found","errors.upload_file_too_large":"Each upload must be 25MB or smaller","errors.upload_target_not_directory":"The upload target is not a directory","errors.upload_total_too_large":"Uploads must total 100MB or less","errors.worktree_directory_exists":"The worktree directory already exists","errors.worktree_dirty":"The worktree contains modified or untracked files","fileExplorer.addAllUploadedFiles":"Add all uploaded files to chat","fileExplorer.addUploadedFile":"Add uploaded file to chat","fileExplorer.cancel":"Cancel","fileExplorer.cannotReplace":"Cannot replace: {files}","fileExplorer.checkingFiles":"Checking files","fileExplorer.containsChangedFiles":"Contains changed files","fileExplorer.dismissError":"Dismiss error","fileExplorer.dismissUploadResults":"Dismiss upload results","fileExplorer.downloadFile":"Download file","fileExplorer.emptyDir":"empty","fileExplorer.failedCount":"{count} failed","fileExplorer.filesAlreadyExist.one":"{count} file already exists: {files}","fileExplorer.filesAlreadyExist.other":"{count} files already exist: {files}","fileExplorer.gitAdded":"Added","fileExplorer.gitConflict":"Conflict","fileExplorer.gitDeleted":"Deleted","fileExplorer.gitModified":"Modified","fileExplorer.gitRenamed":"Renamed","fileExplorer.gitStatusFailed":"Failed to load Git status (HTTP {status})","fileExplorer.gitUntracked":"Untracked","fileExplorer.insertPathIntoChat":"Insert path into chat","fileExplorer.loadFailed":"Failed to load files (HTTP {status})","fileExplorer.loadingFiles":"Loading files...","fileExplorer.mention":"mention","fileExplorer.newlyUploaded":"Newly uploaded","fileExplorer.noFilesFound":"No files found","fileExplorer.replace":"Replace","fileExplorer.skipExisting":"Skip existing","fileExplorer.skippedCount":"{count} skipped","fileExplorer.uploadCancelled":"Upload cancelled","fileExplorer.uploadCheckFailed":"Upload check failed (HTTP {status})","fileExplorer.uploadFailed":"Upload failed (HTTP {status})","fileExplorer.uploadNetworkError":"Network error while uploading files","fileExplorer.uploadedCount":"{count} uploaded","fileExplorer.uploadingPercent":"Uploading, {percent}%","fileViewer.audioLoadFailed":"Failed to load audio","fileViewer.audioType":"audio","fileViewer.compareWithHead":"Compare working tree with HEAD","fileViewer.disableWordWrap":"Disable word wrap","fileViewer.docxPreview":"docx preview","fileViewer.docxTooLarge":"DOCX too large for preview (>10MB)","fileViewer.downloadFile":"Download file","fileViewer.enableWordWrap":"Enable word wrap","fileViewer.htmlPreview":"HTML preview","fileViewer.imageLoadFailed":"Failed to load image","fileViewer.imageType":"image","fileViewer.live":"live","fileViewer.liveSyncActive":"Live sync active","fileViewer.loading":"Loading...","fileViewer.mentionSelectedLines":"Mention selected lines","fileViewer.metadata":"{language} \xb7 {lines} lines \xb7 {size}","fileViewer.modeDiff":"Diff","fileViewer.modePreview":"Preview","fileViewer.modeSource":"Source","fileViewer.noChanges":"No changes","fileViewer.notWatching":"Not watching","fileViewer.previewTitle":"Preview {name}","fileViewer.static":"static","fileViewer.unchangedLines.one":"... {count} unchanged line ...","fileViewer.unchangedLines.other":"... {count} unchanged lines ...","fileViewer.viewMode":"File view mode","languageSwitcher.switchTo":"Switch language to {language}","mermaidBlock.close":"Close","mermaidBlock.diagramTitle":"Mermaid diagram","mermaidBlock.fitToWidth":"Fit to width","mermaidBlock.invalidDiagram":"Invalid Mermaid diagram","mermaidBlock.retry":"Retry","mermaidBlock.openViewer":"Open diagram viewer","mermaidBlock.preview":"Preview","mermaidBlock.previewAfterStreaming":"Preview available after streaming","mermaidBlock.previewTitle":"Preview Mermaid diagram","mermaidBlock.rendering":"Rendering Mermaid diagram","mermaidBlock.showSourceTitle":"Show Mermaid source","mermaidBlock.source":"Source","mermaidBlock.viewerLabel":"Mermaid diagram viewer","mermaidBlock.zoomIn":"Zoom in","mermaidBlock.zoomOut":"Zoom out","imagePreview.close":"Close","imagePreview.imageTitle":"Image","imagePreview.open":"Open image preview","imagePreview.openWithAlt":"Open image preview: {alt}","imagePreview.resetZoom":"Reset zoom","imagePreview.viewerLabel":"Image preview","imagePreview.zoomIn":"Zoom in","imagePreview.zoomOut":"Zoom out","messageView.collapse":"Collapse","messageView.compactionDescription":"The conversation history before this point was compacted into the following summary:","messageView.compactionLabel":"compaction","messageView.compactionTokenDelta":"{before} → {after} tokens","messageView.conversationCompacted":"Conversation compacted","messageView.copied":"Copied","messageView.copy":"Copy","messageView.copyMessage":"Copy message","messageView.largeMessageReveal":"Large message ({size}). Show as plain text","messageView.creating":"Creating...","messageView.creatingSession":"Creating session...","messageView.diffAfter":"After","messageView.diffBefore":"Before","messageView.downloadFullOutput":"download full output","messageView.durationSeconds":"{seconds}s","messageView.editFromHere":"Edit","messageView.editFromHereTitle":"Jump back here and edit this message","messageView.estimatedTokens":"Estimated output tokens","messageView.advisorLabel":"Advisor","messageView.expand":"Expand","messageView.extensionType":"extension","messageView.fileContext":"File context: {parts}","messageView.filesModifiedCount":"{count} modified","messageView.filesReadCount":"{count} read","messageView.hiddenExtensionMessage":"hidden extension message","messageView.hideDetails":"Hide details","messageView.invalidThinkingResponse":"Invalid thinking response","messageView.loadingFullOutput":"loading…","messageView.loadingThinking":"Loading thinking...","messageView.modifiedFiles":"Modified files","messageView.newSession":"New session","messageView.newSessionTitle":"Fork a new session from this point","messageView.noMessage":"(no message)","messageView.noOutput":"(no output)","messageView.noSummary":"(no summary)","messageView.readFiles":"Read files","messageView.showDetails":"Show details","messageView.showExtensionMessage":"Show extension message","messageView.taskSubagents":"Subagents","messageView.thinking":"Thinking","messageView.thinkingUnavailable":"Thinking content unavailable","messageView.tokensPerSecond":"{tps} t/s","messageView.usageCacheRead":"{tokens} cache R","messageView.usageCacheWrite":"{tokens} cache W","messageView.usageInput":"{tokens} in","messageView.usageOutput":"{tokens} out","messageView.viewFullOutput":"view full output","messageView.fullOutputDownload":"Download","messageView.fullOutputLoading":"Loading full output…","modelsConfig.addFromCatalog":"from catalog","modelsConfig.addModel":"+ model","modelsConfig.addProvider":"+ Add provider","modelsConfig.alreadyConnected":"Already connected. You can re-login or disconnect.","modelsConfig.api":"API","modelsConfig.apiKey":"API Key","modelsConfig.apiKeyHint":"Prefix with `!` to run a shell command, or use an env var name","modelsConfig.apiKeyManageHint":"API keys are managed by omp itself and cannot be changed here. To add or remove a key, run `omp` in a terminal and use `/login` / `/logout`, set the provider\'s environment variable (e.g. `OPENAI_API_KEY`), or configure a custom provider with an `apiKey` in models.yml.","modelsConfig.apiKeyPlaceholder":"ENV_VAR_NAME, !shell-command, or literal key","modelsConfig.apiOverride":"API override","modelsConfig.baseUrl":"Base URL","modelsConfig.browserNotOpened":"If the browser window did not open, click here to open the login page.","modelsConfig.cancel":"Cancel","modelsConfig.catalogAdd":"Add","modelsConfig.catalogAdded":"Added","modelsConfig.catalogContext":"{n} context","modelsConfig.catalogError":"Catalog unavailable: {error}","modelsConfig.catalogLoading":"Searching…","modelsConfig.catalogNoResults":"No models match","modelsConfig.catalogPrice":"{input} / {output} $/MTok","modelsConfig.catalogSearchPlaceholder":"Search models.dev…","modelsConfig.catalogSetBaseUrl":"Also sets provider base URL","modelsConfig.catalogTitle":"Add model from catalog","modelsConfig.close":"Close","modelsConfig.completeSignIn":"Complete sign-in in the browser, then copy the redirect URL from the address bar and paste it below.","modelsConfig.configured":"configured","modelsConfig.connectAccount":"Connect your {name} account.","modelsConfig.connected":"connected","modelsConfig.connectedSuccessfully":"Connected successfully.","modelsConfig.connectionLost":"Connection lost","modelsConfig.contextWindowTokens":"Context window (tokens)","modelsConfig.continuing":"Continuing…","modelsConfig.costCacheRead":"Cache read","modelsConfig.costCacheWrite":"Cache write","modelsConfig.costInput":"Input","modelsConfig.costOutput":"Output","modelsConfig.costPerMillion":"Cost (per million tokens)","modelsConfig.custom":"Custom","modelsConfig.customEndpointFormat":"Custom endpoint format","modelsConfig.customSection":"Custom","modelsConfig.default":"Default","modelsConfig.delete":"Delete","modelsConfig.deviceCodeInstructions":"Open the verification page and enter this code:","modelsConfig.disabled":"Disabled","modelsConfig.disconnect":"Disconnect","modelsConfig.displayNamePlaceholder":"Display name","modelsConfig.enterValue":"Enter value…","modelsConfig.expiresInMinutes.one":"Expires in {count} minute.","modelsConfig.expiresInMinutes.other":"Expires in {count} minutes.","modelsConfig.failed":"Failed","modelsConfig.hideApiKey":"Hide API key","modelsConfig.idRequired":"ID *","modelsConfig.imageInput":"Image input","modelsConfig.inheritNone":"— inherit / none —","modelsConfig.loading":"Loading…","modelsConfig.login":"Login","modelsConfig.maxOutputTokens":"Max output tokens","modelsConfig.model":"Model","modelsConfig.modelCount.one":"{count} model","modelsConfig.modelCount.other":"{count} models","modelsConfig.name":"Name","modelsConfig.networkError":"Network error","modelsConfig.newModel":"new model","modelsConfig.noApiKeyRequired":"No API key required (auth: none)","modelsConfig.noProvidersMatch":"No providers match","modelsConfig.notConfigured":"not configured","modelsConfig.notConnected":"not connected","modelsConfig.ok":"OK","modelsConfig.openaiAnthropicCompatible":"OpenAI / Anthropic compatible","modelsConfig.openingBrowser":"Opening browser…","modelsConfig.parseErrorBody":"The file on disk contains invalid YAML, so it cannot be edited here. Fix it in a text editor and reload — saving is disabled so your existing providers are not overwritten.","modelsConfig.parseErrorTitle":"models.yml could not be parsed","modelsConfig.provider":"Provider","modelsConfig.providerConfigured.one":"{name} is configured — {count} model available. omp resolved its API key from an environment variable, omp\'s credential store, or models.yml.","modelsConfig.providerConfigured.other":"{name} is configured — {count} models available. omp resolved its API key from an environment variable, omp\'s credential store, or models.yml.","modelsConfig.providerName":"Provider name","modelsConfig.providerNotConfigured":"{name} is not configured.","modelsConfig.reasoningThinking":"Reasoning / thinking","modelsConfig.reload":"Reload","modelsConfig.relogin":"Re-login","modelsConfig.remove":"Remove","modelsConfig.rename":"Rename","modelsConfig.resetToAuto":"reset to auto","modelsConfig.save":"Save","modelsConfig.saveErrorTitle":"Could not save models.yml","modelsConfig.saveSuccessTitle":"Models saved","modelsConfig.saved":"Saved","modelsConfig.saving":"Saving…","modelsConfig.searchProviders":"Search providers…","modelsConfig.selectProviderOrModel":"Select a provider or model","modelsConfig.serverError":"Server error {status}","modelsConfig.showApiKey":"Show API key","modelsConfig.submit":"Submit","modelsConfig.subscription":"Subscription","modelsConfig.subscriptions":"Subscriptions","modelsConfig.test":"Test","modelsConfig.testTitle":"Validate the provider/model config (no test prompt is sent)","modelsConfig.testing":"Testing…","modelsConfig.thinkingLevels":"Thinking levels","modelsConfig.title":"Models","modelsConfig.validatingConfig":"Validating model config...","modelsConfig.verifying":"Verifying…","pluginsConfig.actionErrorTitle":"Could not {action}","pluginsConfig.action_install":"install","pluginsConfig.action_remove":"remove","pluginsConfig.action_update":"update","pluginsConfig.action_disable":"disable","pluginsConfig.action_enable":"enable","pluginsConfig.addPlugin":"Add plugin","pluginsConfig.addPluginTitle":"Add plugin","pluginsConfig.badgeDisabled":"disabled","pluginsConfig.badgeFiltered":"filtered","pluginsConfig.close":"Close","pluginsConfig.configuredVersion":"configured {version}","pluginsConfig.cwd":"Cwd","pluginsConfig.diagnosticCount.one":"{count} diagnostic","pluginsConfig.diagnosticCount.other":"{count} diagnostics","pluginsConfig.disablePackage":"Disable package","pluginsConfig.disabled":"Disabled","pluginsConfig.enablePackage":"Enable package","pluginsConfig.examples":"Examples","pluginsConfig.extCount.one":"{count} extension","pluginsConfig.extCount.other":"{count} extensions","pluginsConfig.extensions":"Extensions","pluginsConfig.install":"Install","pluginsConfig.installedPath":"Installed path","pluginsConfig.installedVersion":"installed {version}","pluginsConfig.installing":"Installing...","pluginsConfig.loading":"Loading...","pluginsConfig.noPlugins":"No plugins configured","pluginsConfig.noResolvedResources":"No resolved resources","pluginsConfig.noResources":"No resources","pluginsConfig.notFound":"Not found","pluginsConfig.openSessionToReload":"Open a session to reload","pluginsConfig.package":"Package","pluginsConfig.packageDisabled":"Package is disabled","pluginsConfig.packageDisabledMsg":"Package disabled.","pluginsConfig.packageEnabledMsg":"Package enabled.","pluginsConfig.packageInstalled":"Package installed.","pluginsConfig.packageRemoved":"Package removed.","pluginsConfig.packageUpdated":"Package updated.","pluginsConfig.promptCount.one":"{count} prompt","pluginsConfig.promptCount.other":"{count} prompts","pluginsConfig.prompts":"Prompts","pluginsConfig.refresh":"Refresh","pluginsConfig.reloadCurrentSession":"Reload current session","pluginsConfig.reloadSession":"Reload session","pluginsConfig.reloading":"Reloading...","pluginsConfig.remove":"Remove","pluginsConfig.removePluginTitle":"Remove this plugin?","pluginsConfig.removePluginBody":"This will uninstall {source} and drop its resources.","pluginsConfig.removing":"Removing...","pluginsConfig.resolvedResources":"Resolved Resources","pluginsConfig.resources":"Resources","pluginsConfig.scopeGlobal":"global","pluginsConfig.scopeProject":"project","pluginsConfig.selectPackage":"Select a package","pluginsConfig.sessionReloaded":"Session reloaded.","pluginsConfig.skillCount.one":"{count} skill","pluginsConfig.skillCount.other":"{count} skills","pluginsConfig.skills":"Skills","pluginsConfig.source":"Source","pluginsConfig.status":"Status","pluginsConfig.statusDisabled":"Disabled","pluginsConfig.statusInstalled":"Installed","pluginsConfig.statusLoaded":"Loaded","pluginsConfig.statusMissing":"Missing","pluginsConfig.themeCount.one":"{count} theme","pluginsConfig.themeCount.other":"{count} themes","pluginsConfig.themes":"Themes","pluginsConfig.title":"Plugins","pluginsConfig.totalsSummary":"{extensions} ext \xb7 {skills} skills \xb7 {prompts} prompts \xb7 {themes} themes","pluginsConfig.unknown":"Unknown","pluginsConfig.update":"Update","pluginsConfig.updating":"Updating...","pluginsConfig.version":"Version","projects.activity":"{running} running, {unread} unread","projects.add":"Add workspace","projects.addTitle":"Add a workspace directory to the sidebar","projects.collapseProject":"Collapse {name}","projects.collapseProjectTitle":"Collapse project {path}","projects.emptyProject":"No sessions in this project","projects.expandProject":"Expand {name}","projects.expandProjectTitle":"Expand project {path}","projects.heading":"Workspaces","projects.loadFailed":"Failed to load projects: {detail}","projects.aliasPrompt":"Workspace display name","projects.editAlias":"Edit workspace name","projects.moveDown":"Move down","projects.moveUp":"Move up","projects.nameAlias":"Name workspace","projects.reorderFailed":"Failed to update workspace order","projects.updateFailed":"Failed to update workspace","projects.noProjects":"No workspaces yet. Add a workspace directory to get started.","projects.actions":"Project actions","projects.remove":"Remove project {name}","projects.removeTitle":"Remove {name} from the sidebar. Its sessions are kept and can be restored by adding the directory again.","projects.running":"Running","projects.showLess":"Show less","projects.showMoreSessions":"Show {count} more","projects.unread":"Unread","sessionSidebar.agentRunning":"Agent running…","sessionSidebar.agentRunningAria":"Agent running","sessionSidebar.branchNamePlaceholder":"branch name","sessionSidebar.cancel":"Cancel","sessionSidebar.collapseForks":"Collapse forks","sessionSidebar.create":"Create","sessionSidebar.creating":"Creating…","sessionSidebar.customPath":"Custom path…","sessionSidebar.archive":"Archive","sessionSidebar.archiveConfirm":"Archive “{title}”?","sessionSidebar.archiveLeafOnly":"Archive child sessions first","sessionSidebar.archiveBrowser":"Archived Sessions","sessionSidebar.archiveBrowserTitle":"Open archived sessions browser","sessionSidebar.delete":"Delete","sessionSidebar.deleteConfirm":"Delete “{title}”?","sessionSidebar.deleteFailed":"Failed to delete the session","sessionSidebar.archiveFailed":"Failed to archive the session","sessionSidebar.expandForks":"Expand forks","sessionSidebar.explorer":"Explorer","sessionSidebar.force":"Force","sessionSidebar.gitRepoRootOnly":"Git repo root only","sessionSidebar.gitRepoRootOnlyTitle":"Worktrees are available in Git repository roots.","sessionSidebar.loadFailed":"Failed to load sessions: {detail}","sessionSidebar.loading":"Loading...","sessionSidebar.mainBadge":"main","sessionSidebar.new":"New Session","sessionSidebar.newActivity":"New activity","sessionSidebar.newSessionActivity":"New session activity","sessionSidebar.newSessionIn":"New session in {cwd}","sessionSidebar.newWorktree":"New worktree…","sessionSidebar.newWorktreeTitle":"Create a worktree checkout for a branch","sessionSidebar.openRepoRoot":"Open repo root","sessionSidebar.openRepoRootTitle":"Open the repository root to manage worktrees.","sessionSidebar.refresh":"Refresh","sessionSidebar.refreshExplorer":"Refresh explorer","sessionSidebar.removeWorktreeTitle":"Remove worktree checkout {path}; the branch is kept","sessionSidebar.rename":"Rename","sessionSidebar.selectProjectFirst":"Select a project first","sessionSidebar.switchWorktree":"Switch worktree","sessionSidebar.switchWorktreeTo":"Switch worktree: {path}","sessionSidebar.uncommittedForceRemove":"Uncommitted changes. Force remove checkout?","sessionSidebar.uploadFiles":"Upload files","sessionSidebar.uploadFilesTitle":"Upload files to project root","sessionSidebar.worktreeTitle":"Worktree: {path}","sessionSidebar.worktreesLoading":"Worktrees...","sessionSidebar.worktreesLoadingTitle":"Checking worktrees for this directory.","sessionSidebar.import":"Import session","sessionSidebar.importTitle":"Import a session file (.jsonl)","sessionSidebar.imported":"Session imported","sessionSidebar.search":"Search sessions","sessionSidebar.searchTitle":"Search sessions by name or message","sessionSidebar.searchPlaceholder":"Search sessions…","sessionSidebar.filterRunning":"Show running sessions only","sessionSidebar.filterRunningTitle":"Filter to sessions that are currently running","sessionSidebar.noMatches":"No matching sessions","skillsConfig.addSkill":"Add skill","skillsConfig.addSkillTitle":"Add Skill","skillsConfig.check":"Check","skillsConfig.checkFailed":"Check failed","skillsConfig.checkUpdates":"Check updates","skillsConfig.checking":"Checking...","skillsConfig.checksUnavailable":"Automatic checks unavailable","skillsConfig.close":"Close","skillsConfig.deleteSkillTitle":"Remove this skill?","skillsConfig.deleteSkillBody":"This skill will stop loading. The file on disk will not be deleted.","skillsConfig.description":"Description","skillsConfig.dormant":"Dormant ({count})","skillsConfig.toggleErrorTitle":"Could not update skill","skillsConfig.toggleSuccessTitle":"Skill updated","skillsConfig.groupGlobalSkillsSh":"global / skills.sh","skillsConfig.groupProjectSkillsSh":"project / skills.sh","skillsConfig.hiddenFromPrompt":"Hidden from model prompt — click to enable","skillsConfig.install":"Install","skillsConfig.installed":"✓ Installed","skillsConfig.installing":"Installing…","skillsConfig.loading":"Loading…","skillsConfig.name":"Name","skillsConfig.noSkillsFound":"No skills found","skillsConfig.scopeGlobal":"global","skillsConfig.scopePath":"path","skillsConfig.scopeProject":"project","skillsConfig.search":"Search","skillsConfig.searchHint":"Search {site} to discover and install skills for your agent.","skillsConfig.searchPlaceholder":"e.g. react, testing, deploy","skillsConfig.searching":"Searching…","skillsConfig.selectSkill":"Select a skill","skillsConfig.source":"Source","skillsConfig.title":"Skills","skillsConfig.unknownVersion":"unknown","skillsConfig.upToDate":"Up to date","skillsConfig.update":"Update","skillsConfig.updateAvailable":"Update available","skillsConfig.updateCount.one":"{count} update","skillsConfig.updateCount.other":"{count} updates","skillsConfig.updating":"Updating...","skillsConfig.version":"Version","skillsConfig.visibleInPrompt":"Visible in model prompt — click to disable","tabBar.close":"Close","tabBar.closeTab":"Close {label}","errors.appCrash.title":"Something went wrong","errors.appCrash.description":"An unexpected error occurred while rendering the interface. You can try again or reload the page.","errors.appCrash.retry":"Try again","commandPalette.label":"Command palette","commandPalette.placeholder":"Search commands…","commandPalette.empty":"No results","commandPalette.sessions":"Sessions","commandPalette.actions":"Actions","commandPalette.models":"Models","commandPalette.newSession":"New session","commandPalette.toggleTheme":"Toggle theme","commandPalette.currentModel":"Current model","commandPalette.notAvailable":"Managed by chat","commandPalette.hints":"↑↓ Navigate \xb7 ↵ Select \xb7 esc Close","chatInput.interruptReply":"Interrupt & reply","chatInput.interruptReplyTitle":"Abort the current run and answer immediately","settingsTabs.ariaLabel":"Settings sections","settingsTabs.general.label":"Interface & Behavior","settingsTabs.general.description":"UI preferences, completion sound, submission mode","settingsTabs.safety.label":"Safety & Approvals","settingsTabs.safety.description":"Tool safety rules, YOLO mode, terminal permissions","settingsTabs.models.label":"AI Model Defaults","settingsTabs.models.description":"Reasoning budget, verbosity, personality, scratchpad","settingsTabs.providers.label":"API Keys & Providers","settingsTabs.providers.description":"Connected OAuth accounts, API keys, and model registry","settingsTabs.intelligence.label":"Agent & Intelligence","settingsTabs.intelligence.description":"Advisor, memory, autolearn, compaction and retry","settingsTabs.agents.label":"Agents","settingsTabs.agents.description":"Task agents, model settings, and tool policy","settingsTabs.mcp.label":"Extensions & Tools","settingsTabs.mcp.description":"MCP servers, managed skills, and OMP plugins","settingsTabs.system.label":"System & Updates","settingsTabs.system.description":"App updates, runtime version, and active session restart","settingsConfig.loadingSettings":"Loading settings…","settingsConfig.title":"Settings","settingsConfig.saving":"Saving…","settingsConfig.autoSaved":"Auto-saved","settingsConfig.searchPlaceholder":"Search settings...","settingsConfig.closeSettings":"Close settings","settingsConfig.noSettingsMatch":"No settings match “{query}”.","settingsConfig.searchResults.one":"{count} result for “{query}”.","settingsConfig.searchResults.other":"{count} results for “{query}”.","settingsConfig.chipSection":"Section","settingsConfig.chipUI":"UI","settingsConfig.chipNativeOMP":"Native OMP","settingsConfig.chipWorkspace":"Workspace","settingsConfig.interfaceBehavior":"Interface & Behavior","settingsConfig.interfaceBehaviorDesc":"Controls interface presentation, notification sounds, and execution submission mode.","settingsConfig.keepToolCallsCollapsed":"Keep tool calls collapsed","settingsConfig.keepToolCallsCollapsedDesc":"Show only compact headers while tools execute.","settingsConfig.thinkingDisplayMode":"Thinking display behavior","settingsConfig.thinkingDisplayModeDesc":"Configure whether model thinking blocks default to collapsed, auto-collapse, or always expanded.","settingsConfig.thinkingModeAuto":"Auto (expand while streaming, collapse when finished)","settingsConfig.thinkingModeCollapsed":"Always collapsed (show compact header only)","settingsConfig.thinkingModeExpanded":"Always expanded (show full reasoning)","settingsConfig.completionSound":"Completion sound","settingsConfig.completionSoundDesc":"Play a tone when the agent completes a run.","settingsConfig.messageDuringActiveRun":"Message during active run","settingsConfig.messageDuringActiveRunDesc":"What composer does on submit while agent runs. Steer interrupts; Queue follow-up delivers after finish.","settingsConfig.steerCurrentRun":"Steer current run","settingsConfig.queueFollowUp":"Queue follow-up","settingsConfig.toolSafetyApprovals":"Tool Safety & Approvals","settingsConfig.toolSafetyApprovalsDesc":"Tool execution safety rules and permission prompts. Persisted in ~/.omp/agent/config.yml.","settingsConfig.approvalMode":"Approval Mode","settingsConfig.approvalModeDesc":"Choose when OMP asks before tool calls.","settingsConfig.alwaysAsk":"Always ask","settingsConfig.allowWrites":"Allow writes","settingsConfig.autoApproveYolo":"Auto approve (YOLO)","settingsConfig.bashOverride":"Bash Override","settingsConfig.bashOverrideDesc":"Override default approval policy specifically for terminal commands.","settingsConfig.allow":"Allow","settingsConfig.deny":"Deny","settingsConfig.extensionToolRequests":"Extension Tool Requests","settingsConfig.extensionToolRequestsDesc":"Automatically approve extension tool authorization requests.","settingsConfig.askEveryTime":"Ask every time","settingsConfig.autoApprove":"Auto approve","settingsConfig.modelDefaults":"AI Model Defaults","settingsConfig.modelDefaultsDesc":"Configure default reasoning effort, response verbosity, personality tone, and thinking display.","settingsConfig.reasoning":"Reasoning","settingsConfig.reasoningDesc":"Default effort level for thinking-capable models.","settingsConfig.verbosity":"Verbosity","settingsConfig.verbosityDesc":"Response detail level for supporting providers.","settingsConfig.verbosityLow":"low","settingsConfig.verbosityMedium":"medium","settingsConfig.verbosityHigh":"high","settingsConfig.personality":"Personality","settingsConfig.personalityDesc":"Style included in OMP\'s system prompt.","settingsConfig.personalityDefault":"default","settingsConfig.personalityFriendly":"friendly","settingsConfig.personalityPragmatic":"pragmatic","settingsConfig.personalityNone":"none","settingsConfig.thinkingBlocks":"Thinking Blocks","settingsConfig.thinkingBlocksDesc":"Hide model reasoning from output view.","settingsConfig.externalThinking":"External Thinking","settingsConfig.externalThinkingDesc":"Private scratchpad reasoning via think tool.","settingsConfig.contextCompaction":"Context Compaction","settingsConfig.contextCompactionDesc":"OMP automatically compacts oversized context to prevent hitting context limits.","settingsConfig.automaticCompaction":"Automatic Compaction","settingsConfig.automaticCompactionDesc":"Compact context before model context limit is hit.","settingsConfig.continueAfterCompaction":"Continue After Compaction","settingsConfig.continueAfterCompactionDesc":"Resume task execution after compaction completes.","settingsConfig.maintenanceStrategy":"Maintenance Strategy","settingsConfig.maintenanceStrategyDesc":"Select algorithm used to reduce context pressure.","settingsConfig.strategySnapcompact":"Snapcompact","settingsConfig.strategyHandoff":"Handoff","settingsConfig.strategyContextFull":"Context full","settingsConfig.strategyShake":"Shake","settingsConfig.strategyOff":"Off","settingsConfig.compactMidTurn":"Compact Mid-Turn","settingsConfig.compactMidTurnDesc":"Check context limits between tool execution steps.","settingsConfig.memoryAutoLearn":"Memory & Auto-Learn","settingsConfig.memoryAutoLearnDesc":"Durable project memory storage and automatic lesson capture.","settingsConfig.memoryBackend":"Memory Backend","settingsConfig.memoryBackendDesc":"Where durable knowledge is stored across sessions.","settingsConfig.memoryBackendOff":"Off","settingsConfig.memoryBackendLocal":"Local summaries","settingsConfig.memoryBackendMnemopi":"Mnemopi SQLite","settingsConfig.memoryBackendHindsight":"Hindsight","settingsConfig.enableAutoLearn":"Enable Auto-Learn","settingsConfig.enableAutoLearnDesc":"Capture reusable lessons after completed runs.","settingsConfig.privateCaptureTurn":"Private Capture Turn","settingsConfig.privateCaptureTurnDesc":"Run private lesson-capture turn at completion.","settingsConfig.memoryScope":"Memory Scope","settingsConfig.memoryScopeDesc":"Scoping for Mnemopi knowledge storage.","settingsConfig.memoryScopePerProject":"Per project","settingsConfig.memoryScopePerProjectTagged":"Per project, tagged recall","settingsConfig.memoryScopeGlobal":"Global","settingsConfig.recallOnSessionStart":"Recall on Session Start","settingsConfig.recallOnSessionStartDesc":"Load relevant memories into first turn.","settingsConfig.retainCompletedTurns":"Retain Completed Turns","settingsConfig.retainCompletedTurnsDesc":"Store completed conversation turns in memory.","settingsConfig.automaticRetry":"Automatic Retry","settingsConfig.automaticRetryDesc":"Rules for automatically retrying failed turns.","settingsConfig.retryToggle":"Automatic Retry","settingsConfig.retryToggleDesc":"Retry failed turns automatically.","settingsConfig.maxAttempts":"Max Attempts","settingsConfig.maxAttemptsDesc":"Retry limit before giving up.","settingsConfig.modelFallback":"Model Fallback","settingsConfig.modelFallbackDesc":"Fall back to alternative model when retries exhaust.","settingsConfig.extensionsTools":"Extensions & Tools","settingsConfig.extensionsToolsDesc":"Model Context Protocol servers, managed skills, and OMP plugins.","settingsConfig.loadProjectMcp":"Load Project MCP Servers","settingsConfig.loadProjectMcpDesc":"Allow project-root MCP configuration to be discovered.","settingsConfig.renderMcpMarkdown":"Render MCP Markdown","settingsConfig.renderMcpMarkdownDesc":"Render non-JSON MCP results as Markdown in transcript.","settingsConfig.mcpResourceUpdates":"MCP Resource Updates","settingsConfig.mcpResourceUpdatesDesc":"Inject server resource updates into conversation.","settingsConfig.selectWorkspaceForMcp":"Select a project workspace to view and edit its project MCP configuration.","settingsConfig.agentsTitle":"Agents","settingsConfig.agentsDesc":"Task agents, models and tool policy. Bundled agents are read-only until unpacked.","modelsConfig.authNone":"Auth: None","modelsConfig.keySet":"Key Set","modelsConfig.keyMissing":"Key Missing","modelsConfig.defaultEndpoint":"Default endpoint","modelsConfig.quickEndpointPresets":"Quick Endpoint Presets","modelsConfig.configurationDetails":"Configuration Details","modelsConfig.removeProvider":"Remove Provider","modelsConfig.removeProviderDesc":"Delete {name} and remove its models from models.yml configuration.","modelsConfig.deleteProviderTitle":"Delete provider {name}?","modelsConfig.deleteProviderBody":"This will remove {name} and all its configured models from models.yml.","modelsConfig.removeModelTitle":"Remove model {id}?","modelsConfig.removeModelBody":"This will remove {id} from this provider\'s models list.","modelsConfig.appliedPreset":"Applied {url} endpoint preset","modelsConfig.errorNameRequired":"Provider name is required","modelsConfig.errorUrlInvalid":"Must be a valid http:// or https:// URL","modelsConfig.errorApiKeyRequired":"API key is required (or check \'No API key required\')","modelsConfig.errorIdRequired":"Model ID is required","modelsConfig.tokenLimits":"Token limits","modelsConfig.retryLoading":"Loading native OMP retry settings...","modelsConfig.retryFallbackTitle":"Native OMP Retry & Fallback","modelsConfig.retryFallbackDesc":"OMP switches through these ordered model chains when a provider is rate-limited or unavailable.","modelsConfig.retryTransientErrors":"Retry transient provider errors","modelsConfig.allowModelFallback":"Allow model fallback","modelsConfig.retryAttempts":"Retry attempts","modelsConfig.returnToPrimary":"Return to primary","modelsConfig.afterCooldown":"After cooldown","modelsConfig.never":"Never","modelsConfig.fallbackChainFor":"Fallback chain for","modelsConfig.selectFallbackModel":"Select a fallback model","modelsConfig.add":"Add","modelsConfig.noExplicitChain":"No explicit chain. OMP uses the default chain when available.","modelsConfig.registryLoading":"Loading native OMP registry settings...","modelsConfig.nativeRegistryTitle":"Native OMP Model Registry","modelsConfig.nativeRegistryDesc":"These settings affect the models OMP itself can resolve. They are saved in ~/.omp/agent/config.yml, unlike the Composer picker.","modelsConfig.restrictSelectedModels":"Restrict OMP to selected models","modelsConfig.uncheckedUnavailable":"Unchecked models are unavailable to every OMP session.","modelsConfig.allModelsAllowed":"All currently available OMP models are allowed.","modelsConfig.disabledProviders":"Disabled Providers","modelsConfig.disabledProvidersDesc":"Disabling a provider removes it from OMP\'s model registry, even if it has credentials.","modelsConfig.providerPreference":"Provider Preference","modelsConfig.providerPreferenceDesc":"Sets OMP\'s provider order when a model id is ambiguous.","modelsConfig.pathScopedNotice":"OMP path-scoped registry entries are configured. Edit config.yml directly to preserve their path rules.","modelsConfig.loadingRoles":"Loading roles...","modelsConfig.modelRolesTitle":"OMP Model Roles","modelsConfig.modelRolesDesc":"Saved natively in ~/.omp/agent/config.yml. Choose an OMP model and its supported reasoning level for each role.","modelsConfig.noOverride":"No override","modelsConfig.modelDefault":"Model default","modelsConfig.saveRoles":"Save OMP roles","modelsConfig.rolesSaved":"OMP model roles saved","modelsConfig.composerPickerTitle":"Composer Model Picker","modelsConfig.composerPickerDesc":"Choose which native OMP models appear in the composer. This is omp-web-only — it does not alter OMP\'s registry.","modelsConfig.modelsVisible":"{visible} / {total} visible","modelsConfig.providerCount.one":"{count} provider","modelsConfig.providerCount.other":"{count} providers","modelsConfig.filterModelsPlaceholder":"Filter models (e.g. gpt, deepseek, opencodex)…","modelsConfig.loadingRuntimeModels":"Loading OMP runtime models…","modelsConfig.noModelsMatch":"No models match “{query}”.","modelsConfig.noReportedModels":"OMP did not report any configured models.","modelsConfig.connectedDisabledDesc":"Connected, but disabled in OMP. Enable it to discover its models.","modelsConfig.connectedNoModelsDesc":"Connected, but OMP has not reported models for this provider yet.","modelsConfig.enableInOmp":"Enable in OMP","modelsConfig.couldNotEnableProvider":"Could not enable provider","modelsConfig.ompSystemSection":"OMP System","modelsConfig.navNativeRegistry":"Native OMP registry","modelsConfig.navRetryFallback":"Retry & fallback","modelsConfig.navComposerPicker":"Composer model picker","modelsConfig.navModelRoles":"OMP model roles","modelsConfig.connectedAccounts":"Connected accounts","modelsConfig.noConnectedAccounts":"No OAuth or API-key accounts connected.","modelsConfig.addOneBelow":"Add one with the button below.","modelsConfig.customProviders":"Custom providers","modelsConfig.noCustomProviders":"No custom providers yet.","modelsConfig.addOpenAiEndpoint":"Add an OpenAI-compatible endpoint.","mcpConfig.loadError":"Could not load MCP configuration","mcpConfig.mustBeJsonObject":"Server configuration must be a JSON object","mcpConfig.invalidJson":"Invalid JSON","mcpConfig.validConfig":"MCP server configuration is valid","mcpConfig.invalidConfig":"MCP configuration is invalid","mcpConfig.savedMsg":"Saved. Restart OMP sessions or run /mcp reload to apply it.","mcpConfig.serverSaved":"MCP server \\"{name}\\" saved","mcpConfig.saveError":"Could not save MCP server","mcpConfig.removedMsg":"MCP server removed. Restart OMP sessions or run /mcp reload to apply it.","mcpConfig.serverRemoved":"MCP server \\"{name}\\" removed","mcpConfig.removeError":"Could not remove MCP server","mcpConfig.configuredServers":"Configured MCP Servers","mcpConfig.builtinServers":"Built-in MCP Extensions","mcpConfig.builtinDesc":"Native zero-config MCP servers bundled with ompweb for instant multi-agent orchestration","mcpConfig.builtinTag":"Built-in","mcpConfig.enablePreset":"Enable","mcpConfig.editPreset":"Load in Editor","mcpConfig.alreadyConfigured":"Ready","mcpConfig.refreshLiveStatus":"Refresh live MCP status","mcpConfig.noMcpServers":"No MCP servers configured","mcpConfig.userLevel":"User level ({path})","mcpConfig.liveStatusUnavailable":"Live status unavailable: {error}","mcpConfig.noOmpServers":"No OMP servers","mcpConfig.projectServers":"Project MCP Servers","mcpConfig.serverCounts":"{enabled}/{total} enabled","mcpConfig.invalidSuffix":" \xb7 {count} invalid","mcpConfig.noServers":"No servers","mcpConfig.addServer":"Add server","mcpConfig.serverName":"Server name","mcpConfig.serverConfigJson":"OMP server configuration (JSON)","mcpConfig.check":"Check","mcpConfig.saveServer":"Save server","mcpConfig.saving":"Saving...","mcpConfig.remove":"Remove","agentsConfig.allAgents":"All agents \xb7 {count}","agentsConfig.countsSummary":" \xb7 bundled {bundled} \xb7 user {user} \xb7 project {project}","agentsConfig.reload":"Reload","agentsConfig.unpackBundled":"Unpack bundled","agentsConfig.newAgent":"New agent","agentsConfig.workspaceUnavailableWarning":"The selected workspace is unavailable. Showing global agents; project-scope create, unpack, and save actions are disabled until you select an existing workspace.","agentsConfig.searchPlaceholder":"search: type to filter","agentsConfig.filterAgentsAria":"Filter agents","agentsConfig.clear":"clear","agentsConfig.agentsCount.one":"{count} agent","agentsConfig.agentsCount.other":"{count} agents","agentsConfig.loadingAgents":"Loading agents…","agentsConfig.noMatch":"No match for filter.","agentsConfig.noAgentsFound":"No agents found. Unpack bundled or create one.","agentsConfig.bundledReadOnlyWarning":"Bundled agents are read-only. Save will create an editable copy in {scope} scope.","agentsConfig.copyFilePath":"Copy file path","agentsConfig.copy":"Copy","agentsConfig.pathCopied":"Path copied","agentsConfig.createAgentDesc":"Create a persistent OMP agent for delegated tasks and sessions.","agentsConfig.scope":"scope","agentsConfig.scopeUser":"user","agentsConfig.scopeProject":"project","agentsConfig.name":"Name","agentsConfig.description":"Description","agentsConfig.modelRoles":"Model roles (csv)","agentsConfig.thinkingLevel":"Thinking level","agentsConfig.defaultThinking":"— default —","agentsConfig.spawns":"Spawns (csv or *)","agentsConfig.tools":"Tools (csv)","agentsConfig.systemPrompt":"System prompt","agentsConfig.create":"Create","agentsConfig.save":"Save","agentsConfig.cancel":"Cancel","agentsConfig.remove":"Remove","agentsConfig.atomicNotice":"Writes are atomic (tmp file + rename), symlink-safe and capped at 512 KB. Paths are validated to stay inside the agents directory.","agentsConfig.selectAgentToEdit":"Select an agent to edit","agentsConfig.noAgentsYet":"No agents yet","agentsConfig.templatesNotice":"Bundled agents are templates — unpack or create a copy to edit.","agentsConfig.unpackedToast":"Unpacked {count} bundled agents","agentsConfig.unpackedMsg":"Unpacked {count} agents to {scope}","agentsConfig.unpackFailed":"Unpack failed","agentsConfig.nameRequired":"Name is required","agentsConfig.namePatternError":"Name must match ^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$","agentsConfig.descriptionRequired":"Description is required","agentsConfig.selectWorkspaceRequired":"Select an existing workspace before saving project agents.","agentsConfig.agentCreatedToast":"Agent \\"{name}\\" created","agentsConfig.agentSavedToast":"Agent \\"{name}\\" saved","agentsConfig.agentCreatedMsg":"Agent created.","agentsConfig.agentSavedMsg":"Agent saved. Restart sessions to apply.","agentsConfig.saveError":"Could not save agent","agentsConfig.agentRemovedToast":"Agent \\"{name}\\" removed","agentsConfig.agentRemovedMsg":"Agent removed.","agentsConfig.removeError":"Could not remove agent","agentsConfig.loadError":"Could not load agents","modelsConfig.moveProviderUp":"Move provider up","modelsConfig.moveProviderDown":"Move provider down","modelsConfig.refreshRuntimeModels":"Refresh OMP runtime models","modelsConfig.clearFilter":"Clear filter","modelsConfig.oauthProviderTitle":"OMP OAuth provider: {id}","modelsConfig.apiKeyProviderTitle":"OMP API-key provider: {id}","agentsConfig.descPlaceholder":"UI/UX specialist for design implementation","agentsConfig.systemPromptPlaceholder":"Agent instructions…","appShell.openTerminal":"Open current workspace in system terminal","appShell.terminalOpened":"Opened workspace in terminal","appShell.switchTheme":"Switch theme","appShell.themePalette":"Theme Palette","theme.light":"Warm Paper","theme.dark":"Warm Ember","theme.oled":"OLED Obsidian","theme.nord":"Nord Arctic","theme.matcha":"Kyoto Matcha","theme.dracula":"Dracula Velvet","theme.sepia":"Antique Vellum","theme.cyberpunk":"Cyberpunk Neon","theme.system":"System Theme","emptyState.subtitle":"AI Coding Agent Workspace \xb7 Multi-model Collaboration & Intelligent Flow","emptyState.cardPlanTitle":"Smart Planning","emptyState.cardPlanDesc":"Analyze architecture and break down tasks into actionable milestones","emptyState.cardReviewTitle":"Code Review","emptyState.cardReviewDesc":"Review recent diffs for security, logic defects and typing","emptyState.cardTestTitle":"Run Tests & Verify","emptyState.cardTestDesc":"Execute test suites, catch failures and diagnose fixes","emptyState.cardExploreTitle":"Workspace Q&A","emptyState.cardExploreDesc":"Ask omp anything, type @ to reference files and symbols","terminal.title":"Embedded Terminal","terminal.clear":"Clear Terminal","terminal.restart":"Restart Terminal Session","terminal.maximize":"Maximize","terminal.restore":"Restore","terminal.close":"Close Terminal","appShell.toggleTerminal":"Toggle Embedded Terminal","appShell.hideTerminal":"Hide Embedded Terminal","plan.modeTitle":"OMP Plan Mode","plan.executeButton":"Execute Plan","plan.rejectButton":"Request Revision","plan.critiqueModalTitle":"Revise Plan \xb7 Provide Critique","theme.auroraFlow":"Aurora Borealis","theme.sunsetFlow":"Sunset Flow","theme.cosmicFlow":"Cosmic Horizon","theme.cyberFlow":"Cyber Flow","typography.sans":"Modern Sans-Serif","typography.serif":"Elegant Serif","typography.mono":"Geek Monospace","modelsConfig.autoFetchModels":"Auto-fetch Models (GET /models)","modelsConfig.fetchingModels":"Probing endpoint for model list…","modelsConfig.autoFetchedSuccess":"Discovered {total} models ({count} new added)!","modelsConfig.baseUrlRequired":"Please enter a Base URL first","theme.oatmeal":"Oatmeal Latte","theme.pine":"Pine Forest","theme.navy":"Horizon Navy","theme.dawnFlow":"Dawn Twilight","theme.oceanFlow":"Abyss Ocean","theme.sakuraFlow":"Sakura Twilight","theme.bambooFlow":"Bamboo Mist","plan.truncatedNote":"Plan file too large; showing first 256KB.","fileExplorer.revealInFileManager":"Show in File Manager","fileExplorer.revealFailed":"Could not open in file manager"}'),s=JSON.parse('{"agentSession.advisorDisabled":"アドバイザーが無効です — コンポーザーのスパークルアイコンで有効にしてください。","agentSession.commandCompleted":"コマンドが完了しました","agentSession.commandRequiresArgs":"使用法: {command} {usage}","agentSession.commandFailed":"コマンドが失敗しました","agentSession.compactedContext":"コンテキストを圧縮しました","agentSession.copiedLastMessage":"最後のアシスタントメッセージをコピーしました","agentSession.eventStreamFailed":"エージェントのイベントストリームに接続できませんでした。もう一度お試しください。","agentSession.eventStreamTimeout":"エージェントのイベントストリームへの接続がタイムアウトしました。もう一度お試しください。","agentSession.nameUsage":"使い方: /name <name>","agentSession.noActiveSession":"アクティブなセッションがありません","agentSession.noMessageToCopy":"コピーできるアシスタントメッセージがありません","agentSession.noMessages":"(メッセージなし)","agentSession.noSessionToCompact":"圧縮できるアクティブなセッションがありません","agentSession.noSessionToName":"名前を付けられるアクティブなセッションがありません","agentSession.noSessionToReload":"再読み込みできるアクティブなセッションがありません","agentSession.openInBrowser":"ブラウザで開いてください: {url}","agentSession.unsafeUrlBlocked":"安全でない URL {url} をブロックしました","agentSession.reloadedResources":"セッションリソースを再読み込みしました","agentSession.sendFailed":"メッセージの送信に失敗しました: {detail}","agentSession.sessionRenamed":"セッション名を {name} に変更しました","agentSession.shellSessionFailed":"シェルコマンド用のセッションを作成できませんでした","agentSession.startingAgent":"omp を起動しています… セッションの初回起動には時間がかかる場合があります。","agentSession.toolPresetNotice":"ツールプリセットはセッション開始時に適用されます。このセッションは現在のツールを維持します。","archiveBrowser.title":"アーカイブされたセッション","archiveBrowser.description":"アーカイブされたセッションを閲覧および復元します。","archiveBrowser.searchPlaceholder":"名前、ディレクトリ、またはメッセージでアーカイブを検索…","archiveBrowser.refresh":"アーカイブを再読み込み","archiveBrowser.close":"閉じる","archiveBrowser.loading":"アーカイブされたセッションを読み込み中…","archiveBrowser.loadFailed":"アーカイブされたセッションの読み込みに失敗しました: {detail}","archiveBrowser.retry":"再試行","archiveBrowser.noArchives":"アーカイブされたセッションはありません","archiveBrowser.noArchivesDescription":"サイドバーからアーカイブしたセッションがここに表示されます。","archiveBrowser.noMatches":"一致するアーカイブがありません","archiveBrowser.noMatchesDescription":"検索条件を変更してみてください。","archiveBrowser.selectPrompt":"詳細を表示して復元するには、アーカイブを選択してください。","archiveBrowser.restore":"セッションを復元","archiveBrowser.restoring":"復元中…","archiveBrowser.restoreSuccess":"セッション「{name}」を復元しました","archiveBrowser.restoreFailed":"セッションの復元に失敗しました: {detail}","archiveBrowser.directory":"ディレクトリ","archiveBrowser.sessionId":"セッション ID","archiveBrowser.created":"作成日時","archiveBrowser.archivedAt":"アーカイブ日時","archiveBrowser.messages":"メッセージ数","archiveBrowser.size":"アーカイブサイズ","archiveBrowser.firstMessage":"初期プロンプト / メッセージ","archiveBrowser.noFirstMessage":"(初期メッセージなし)","archiveBrowser.restoreNotice":"復元すると、このセッションがアクティブなワークスペースに戻り、チャットウィンドウで開かれます。","archiveBrowser.copyId":"セッション ID をコピー","archiveBrowser.copied":"セッション ID をコピーしました","archiveBrowser.count":"{count} 件のアーカイブ","appShell.appUpdateAvailable":"ompweb の更新があります","appShell.commandCopied":"コマンドをクリップボードにコピーしました","appShell.commandCopyFailed":"コマンドをコピーできませんでした","appShell.copyCommand":"コピー","appShell.copied":"コピーしました","appShell.ompUpdateAvailable":"OMP の更新があります","appShell.updateVersion":"v{current} → v{available}","settingsConfig.systemUpdates":"システムと更新","settingsConfig.systemUpdatesDescription":"アプリのバージョン、OMP ランタイムの更新、アクティブなセッションを管理します。","settingsConfig.appLabel":"ompweb アプリケーション","settingsConfig.ompLabel":"OMP ランタイム","settingsConfig.checkingUpdates":"更新を確認中…","settingsConfig.upToDate":"v{version} は最新です","settingsConfig.versionUnavailable":"バージョンを取得できません","settingsConfig.checkAppUpdates":"ompweb の更新を確認","settingsConfig.checkOmpUpdates":"OMP の更新を確認","settingsConfig.refresh":"更新","settingsConfig.runAppUpdateCommand":"ターミナルで次のコマンドを実行して ompweb を更新してください:","settingsConfig.runOmpUpdateCommand":"ターミナルで次のコマンドを実行して OMP ランタイムを更新してください:","settingsConfig.restarting":"再起動中…","settingsConfig.restartSessions":"OMP セッションを再起動","settingsConfig.restartSuccess":"アクティブな OMP セッションを {count} 件再起動しました。","settingsConfig.changelog":"変更履歴","appShell.copyFilePath":"ファイルパスをコピー","appShell.copySessionId":"セッションIDをコピー","appShell.fullHistory":"全履歴","appShell.fullHistoryUnavailable":"全履歴はセッションの保存後に利用できます","appShell.generateSessionTitle":"セッションタイトルを生成","appShell.generateTitle":"タイトルを生成","appShell.generating":"生成中...","appShell.generationFailed":"生成に失敗しました","appShell.getStarted":"はじめに","appShell.getStartedStep1":"サイドバーからプロジェクトディレクトリを選択します","appShell.getStartedStep2":"下部の {models} ボタンからモデルを追加します","appShell.hideFilePanel":"ファイルパネルを非表示","appShell.hideSidebar":"サイドバーを非表示","appShell.inMemory":"インメモリ","appShell.loading":"読み込み中…","appShell.models":"モデル","appShell.noFileOpen":"ファイルが開かれていません","appShell.openingWorkspace":"ワークスペースを開いています...","appShell.plugins":"プラグイン","appShell.resizeSidebar":"サイドバーのサイズを変更","appShell.resizeSidebarTitle":"ドラッグでサイドバーをリサイズ。ダブルクリックまたは Enter で既定の幅に戻します。","appShell.sectionMessages":"メッセージ","appShell.sectionSessionInfo":"セッション情報","appShell.sectionTokens":"トークン","appShell.selectSessionHint":"サイドバーからセッションを選択してください","appShell.sessionInfo":"セッション情報","appShell.sessionInfoLoadHint":"メッセージを送信するか /session を実行するとセッション情報が読み込まれます","appShell.showFilePanel":"ファイルパネルを表示","appShell.showSidebar":"サイドバーを表示","appShell.skills":"スキル","appShell.statAssistant":"アシスタント","appShell.statCacheRead":"キャッシュ読み取り","appShell.statCacheRate":"キャッシュヒット","appShell.statCacheWrite":"キャッシュ書き込み","appShell.statContext":"コンテキスト","appShell.statCost":"コスト","appShell.statFile":"ファイル","appShell.statId":"ID","appShell.statInput":"入力","appShell.statName":"名前","appShell.statOutput":"出力","appShell.statToolCalls":"ツール呼び出し","appShell.statToolResults":"ツール結果","appShell.statTotal":"合計","appShell.statUser":"ユーザー","appShell.switchToDarkMode":"ダークモードに切り替え","appShell.switchToLightMode":"ライトモードに切り替え","appShell.switchToSystemTheme":"システムテーマに切り替え","appShell.systemTheme":"システムテーマを使用中(クリックでライトに切り替え)","appShell.sessionComplete":"セッション完了","appShell.taskFinished":"タスクが完了しました。","appShell.system":"システム","appShell.systemPrompt":"システムプロンプト","appShell.systemPromptEmpty":"システムプロンプトは空です(ツールは無効)","appShell.systemPromptLoadHint":"システムプロンプトはまだ読み込まれていません","appShell.systemPromptLoading":"システムプロンプトを読み込んでいます…","appShell.titleGenNeedsMessage":"セッションに名前を付ける前にメッセージを送信してください","appShell.titleGenUnavailable":"タイトル生成はセッションの保存後に利用できます","appShell.titleUpdated":"タイトルを更新しました","appShell.tooltipCacheRead":"キャッシュ読み取り: {value}","appShell.tooltipCacheWrite":"キャッシュ書き込み: {value}","appShell.tooltipCacheRate":"キャッシュヒット: {percent}","appShell.tooltipContext":"コンテキスト: {tokens} トークン中 {percent}","appShell.tooltipMaxOutput":"最大出力: {tokens} トークン","appShell.tooltipCost":"コスト: ${value}","appShell.tooltipInput":"入力: {value}","appShell.tooltipOutput":"出力: {value}","appShell.tooltipCurrentSpeed":"現在: {value}","appShell.tooltipAverageSpeed":"平均: {value}","appShell.unableToOpenWorkspace":"ワークスペースを開けません","appShell.unknown":"不明","appShell.viewFullHistory":"全履歴を表示","branchNavigator.assistantLabel":"[アシスタント]","branchNavigator.branches":"ブランチ","branchNavigator.noActiveSession":"アクティブなセッションがありません","branchNavigator.noBranches":"このセッションにはブランチがありません","branchNavigator.roleAssistant":"A","branchNavigator.roleUser":"U","chatInput.attachFile":"ファイルを添付","chatInput.attachImage":"画像を添付","chatInput.fastLabel":"高速","chatInput.queuedDelete":"削除","chatInput.queuedDeleteTitle":"このキューされたメッセージを削除","chatInput.queuedEdit":"編集","chatInput.queuedEditTitle":"このキューされたメッセージを編集","chatInput.queuedFollowUp":"キューされたフォローアップ","chatInput.queuedSteer":"キューされたステア","chatInput.queuedSteerAction":"ステア","chatInput.queuedSteerTitle":"このメッセージをステアとして送信","chatInput.queuedPrompts":"キュー内のプロンプト","chatInput.expandQueued":"すべてのキューを表示","chatInput.collapseQueued":"キューを折りたたむ","chatInput.settings":"設定","chatInput.changeModel":"モデルを変更","chatInput.modelsLabel":"モデル","chatInput.changeReasoning":"思考レベルを変更","chatInput.changeReasoningTitle":"思考レベルを変更: {level}","chatInput.reasoningLabel":"思考","chatInput.changeToolPreset":"ツールプリセットを変更","chatInput.changeToolPresetTitle":"ツールプリセットを変更: {preset}","chatInput.cmdCompact":"コンテキストを圧縮します(任意で指示を追加できます)","chatInput.commandUsageTitle":"コマンドの使い方","chatInput.cmdGoal":"セッションの目標を設定する","chatInput.cmdGoalArg":"[目標]","chatInput.goalActive":"目標が有効","chatInput.expandGoal":"有効な目標を展開","chatInput.collapseGoal":"有効な目標を折りたたむ","chatInput.cmdPlan":"ステップごとの計画を作成する","chatInput.cmdPlanArg":"[タスク]","chatInput.planningInProgress":"計画を作成中","chatInput.cmdReview":"プロジェクトの状態と変更をレビューする","chatInput.cmdReviewArg":"[範囲]","chatInput.cmdFix":"報告された問題を修正する","chatInput.cmdFixArg":"[問題]","chatInput.cmdTest":"テストを書いて実行する","chatInput.cmdTestArg":"[対象]","chatInput.cmdExplain":"コードや概念を説明する","chatInput.cmdExplainArg":"[対象]","chatInput.cmdSimplify":"動作を保ったままコードを簡素化する","chatInput.cmdSimplifyArg":"[対象]","chatInput.cmdCommit":"変更をステージしてコミットする","chatInput.cmdCommitArg":"[メッセージ]","chatInput.cmdCopy":"最後のアシスタントメッセージをコピーします","chatInput.cmdName":"セッションの表示名を設定します","chatInput.cmdAdvisor":"現在の作業について独立したアドバイザリーレビューを受ける","chatInput.cmdAdvisorArg":"[トピック]","chatInput.cmdReload":"拡張機能、スキル、プロンプト、ツールを再読み込みします","chatInput.cmdSession":"セッションのメッセージ・トークン・コストの統計を表示します","chatInput.collapseControls":"コントロールを折りたたむ","chatInput.commandCount.one":"{count} 件のコマンド","chatInput.commandCount.other":"{count} 件のコマンド","chatInput.compact":"圧縮","chatInput.compactContext":"コンテキストを圧縮","chatInput.compactResult":"{verb}: {before} -> {after} トークン({saved} 削減)","chatInput.compacted":"圧縮完了","chatInput.compactedWithReason":"{reason}による圧縮","chatInput.compacting":"圧縮中…","chatInput.advisorReviewingTitle":"アドバイザーがレビュー中 \xb7 {model}({reasoning})","chatInput.disableSound":"完了音を無効にする","chatInput.advisorEnableTitle":"このチャットでアドバイザーを有効にする","chatInput.advisorDisableTitle":"アドバイザー:{model}({reasoning})— クリックで無効化","chatInput.advisorReasoningDefault":"モデルのデフォルト","chatInput.enableSound":"完了音を有効にする","chatInput.filesHeader":"ファイル \xb7 {countLabel}","chatInput.followUp":"フォローアップ","chatInput.followUpTitle":"エージェントの完了後にこのメッセージを送信します","chatInput.groupBuiltin":"組み込み","chatInput.groupExtensions":"拡張機能","chatInput.groupOmpBuiltin":"omp コマンド","chatInput.groupPrompts":"プロンプト","chatInput.groupSkills":"スキル","chatInput.dormant":"休止中","chatInput.imagesCannotQueue":"エージェントの実行中は画像添付をキューに入れられません","chatInput.indexTruncated":"インデックスは一部省略","chatInput.inputHistory":"入力履歴","chatInput.kindFollowUp":"フォローアップ","chatInput.kindSteer":"ステア","chatInput.loadingCommands":"コマンドを読み込み中...","chatInput.loadingFiles":"ファイルを読み込み中...","chatInput.loadingModels":"モデルを読み込み中...","chatInput.matchCount.one":"{count} 件一致","chatInput.matchCount.other":"{count} 件一致","chatInput.queue":"キュー","chatInput.queueMessage":"エージェントの完了後にこのメッセージをキューに入れる","chatInput.modelError":"モデルエラー","chatInput.more":"その他","chatInput.moreControls":"その他のコントロール","chatInput.noAvailableModels":"利用可能なモデルがありません","chatInput.noCommandsFound":"拡張機能・プロンプト・スキルのコマンドが見つかりません","chatInput.noMatchingFiles":"一致するファイルがありません","chatInput.noMatchingModels":"一致するモデルがありません","chatInput.noModels":"モデルなし","chatInput.placeholder":"メッセージ… / でコマンド、@ でファイル","chatInput.placeholderRunning":"エージェント実行中…","chatInput.placeholderSteer":"今すぐステア / フォローアップをキュー...","chatInput.queuedCount":"キュー \xb7 {count}","chatInput.recallQueueTitle":"キュー内のすべてのメッセージを取り消し、編集のため入力欄に戻します","chatInput.recallToInput":"入力欄に戻す","chatInput.retrying":"再試行中({attempt}/{maxAttempts})…","chatInput.searching":"検索中…","chatInput.searchingAllFiles":"全ファイルを検索中…","chatInput.searchModels":"モデルを検索…","chatInput.selectModel":"モデルを選択","chatInput.appliesNextPrompt":"次のプロンプトに適用","chatInput.send":"送信","chatInput.shellLocal":"シェル \xb7 出力はローカルのみ","chatInput.shellToModel":"シェル \xb7 出力をモデルに送信","chatInput.slashCommandsHeader":"スラッシュコマンド \xb7 {countLabel}","chatInput.steer":"ステア","chatInput.steerNowTitle":"現在の実行を中断し、このメッセージを今すぐ挿入します","chatInput.stop":"停止","chatInput.stopAgent":"エージェントを停止","chatInput.stopCompaction":"コンパクションを停止","chatInput.tabEnterHint":"Tab / Enter","chatInput.thinkingAuto":"omp のデフォルトを使用","chatInput.thinkingHigh":"思考: 高","chatInput.thinkingLow":"思考: 低","chatInput.thinkingMax":"思考: 最大","chatInput.thinkingMedium":"思考: 中","chatInput.thinkingMinimal":"思考: 最小","chatInput.thinkingOff":"思考オフ","chatInput.thinkingXhigh":"思考: 超高","chatInput.toolsDefault":"組み込みツール 4 個","chatInput.toolsFull":"すべての組み込みツール","chatInput.toolsOff":"ツールなし・読み取り専用","chatWindow.cancel":"キャンセル","chatWindow.close":"閉じる","chatWindow.collapseProcessDetails":"プロセス詳細を折りたたむ","chatWindow.confirm":"確認","chatWindow.expandProcessDetails":"プロセス詳細を展開","chatWindow.extensionPanel":"拡張機能パネル","chatWindow.extensionRequest":"拡張機能リクエスト","chatWindow.extensionTerminalInput":"拡張機能ターミナル入力","chatWindow.loadingSession":"セッションを読み込み中...","chatWindow.messageCount.one":"{count} 件のメッセージ","chatWindow.messageCount.other":"{count} 件のメッセージ","chatWindow.processDetails":"プロセス詳細","chatWindow.runningCommand":"コマンドを実行中...","chatWindow.runningNamed":"{names} を実行中...","chatWindow.runningNamedMore":"{names}(+{more})を実行中...","chatWindow.runningTool":"ツールを実行中...","chatWindow.compactingContext":"コンテキストを圧縮中…","chatWindow.compactedHistoryNotice":"以前のメッセージは圧縮後のアクティブコンテキストから非表示です。","chatWindow.fullHistoryVisible":"完全なセッション履歴を表示中です。エージェントのコンテキストは変更されません。","chatWindow.viewPreCompactionHistory":"以前の履歴を表示","chatWindow.returnToCompactHistory":"圧縮表示に戻る","chatWindow.scrollUpToLoad":"上にスクロールすると以前のメッセージを読み込みます({count} 件非表示)","chatWindow.submit":"送信","chatWindow.next":"次へ","chatWindow.thinking":"思考中...","chatWindow.subagentCount.one":"サブエージェント {count} 件","chatWindow.subagentCount.other":"サブエージェント {count} 件","chatWindow.subagentState.aborted":"中止","chatWindow.subagentState.completed":"完了","chatWindow.subagentState.failed":"失敗","chatWindow.subagentState.started":"実行中","chatWindow.subagentSummary":"{running} 実行中 \xb7 {total} 件","chatWindow.subagentsPanel":"サブエージェント","chatWindow.subagentRetrying":"再試行中 {attempt}/{max}","chatWindow.subagentRetryAttempt":"試行 {attempt}","chatWindow.subagentNestedCount":"ネスト {count}","chatWindow.tokensUnit":"{count} トークン","chatWindow.contextGauge":"{used}/{total} 文脈","chatWindow.collapsePanel":"折りたたむ","chatWindow.expandPanel":"展開","chatWindow.todoBlocker":"ブロック中: {blocker}","chatWindow.todoList":"タスク","chatWindow.todoPhaseStatus":"{name} {done}/{total}","chatWindow.todoProgress":"{done}/{total} 完了","chatWindow.todoShowAll":"すべてのタスクを表示","chatWindow.todoShowLess":"表示を減らす","chatWindow.todoStatus.abandoned":"中止","chatWindow.todoStatus.blocked":"ブロック中","chatWindow.todoStatus.completed":"完了","chatWindow.todoStatus.in_progress":"進行中","chatWindow.todoStatus.pending":"未着手","chatWindow.toolCallCount.one":"{count} 件のツール呼び出し","chatWindow.toolCallCount.other":"{count} 件のツール呼び出し","chatWindow.versionNotFound":"見つかりません","chatWindow.waitingModel":"モデルの応答を待機中...","subagentTranscript.title":"サブエージェントのトランスクリプト","subagentTranscript.close":"トランスクリプトを閉じる","subagentTranscript.noMessages":"まだメッセージがありません","subagentTranscript.loading":"読み込み中…","subagentTranscript.loadMore":"さらに読み込む","subagentTranscript.taskLabel":"タスク","subagentTranscript.showTranscript":"トランスクリプトを表示","subagentTranscript.hideTranscript":"トランスクリプトを隠す","subagentTranscript.resultLabel":"結果","subagentTranscript.noCompletion":"出力はまだありません","subagentTranscript.completionTruncated":"出力は切り捨てられました","codeBlock.copied":"コピーしました","codeBlock.copy":"コピー","directoryPicker.cancel":"キャンセル","directoryPicker.checking":"確認中…","directoryPicker.close":"閉じる","directoryPicker.directoryPath":"ディレクトリパス","directoryPicker.go":"移動","directoryPicker.goToDirectory":"ディレクトリへ移動","directoryPicker.goToParent":"親ディレクトリへ移動","directoryPicker.loadingDirectories":"ディレクトリを読み込み中…","directoryPicker.noSubdirectories":"サブディレクトリがありません","directoryPicker.noDrives":"ドライブが見つかりません","directoryPicker.openPathBeforeSelecting":"選択する前にこのパスを開いてください","directoryPicker.pathPlaceholder":"/path/to/project または ~/project","directoryPicker.selectCurrentDirectory":"現在のディレクトリを選択","directoryPicker.selectDirectory":"ディレクトリを選択","directoryPicker.selectThisFolder":"このフォルダを選択","errors.access_denied":"アクセスが拒否されました","errors.action_required":"操作が必要です","errors.api_key_remove_unsupported":"omp-web では保存済みのAPIキーを削除できません。ターミナルで `omp` を実行して /logout を使うか、~/.omp/agent/models.yml のプロバイダー設定を編集してください。","errors.api_key_store_unsupported":"omp-web ではAPIキーを保存できません。ターミナルで `omp` を実行して /login を使うか、プロバイダーの環境変数(例: OPENAI_API_KEY)を設定するか、~/.omp/agent/models.yml のカスタムプロバイダーに apiKey を設定してください。","errors.assistant_message_not_found":"アシスタントメッセージが見つかりません","errors.bash_exclude_unsupported":"omp はモデルのコンテキストから出力を除外して shell コマンドを実行できません(`!!`)。RPC の bash コマンドには除外オプションがないため、出力はそのままコンテキストに入ります。`!` 1 つで実行して出力をモデルと共有するか、omp web の外部のターミナルで実行してください。","errors.bash_output_too_large":"出力全体が大きすぎるため表示できません","errors.bash_output_unavailable":"出力全体を取得できません","errors.branch_required":"ブランチ名が必要です","errors.cannot_remove_main_worktree":"メインのワークツリーは削除できません","errors.cwd_must_be_absolute":"作業ディレクトリは絶対パスである必要があります","errors.cwd_package_scope_required":"cwd、package、scope が必要です","errors.cwd_required":"作業ディレクトリが必要です","errors.cwd_required_for_project_install":"プロジェクトへのインストールには作業ディレクトリが必要です","errors.directory_not_found":"ディレクトリが存在しません","errors.docx_too_large":"DOCX が大きすぎてプレビューできません(10MB 超)","errors.file_not_found":"ファイルが見つかりません","errors.file_path_required":"ファイルパスが必要です","errors.file_too_large_preview":"ファイルが大きすぎてプレビューできません(256KB 超)","errors.generic":"リクエストに失敗しました","errors.image_too_large":"画像が大きすぎます(10MB 超)","errors.invalid_block_index":"有効なブロックインデックスが必要です","errors.invalid_branch_name":"無効なブランチ名です","errors.invalid_conflict_strategy":"無効な競合解決方法です","errors.invalid_file_names":"無効なファイル名です","errors.invalid_path":"無効なパスです","errors.invalid_request":"無効なリクエストです","errors.invalid_request_type":"無効なファイルリクエストタイプです","errors.invalid_upload_type":"無効なアップロードリクエストタイプです","errors.login_no_pending":"このトークンに対応する保留中のログインがありません","errors.login_token_code_required":"ログイントークンと認可コードが必要です","errors.login_token_mismatch":"ログイントークンがプロバイダーと一致しません","errors.logout_unsupported":"omp-web ではこのプロバイダーを切断できません。omp は自身の UI 以外にログアウトコマンドを提供していません。ターミナルで `omp` を実行し、/logout で資格情報を削除してください。","errors.model_id_required":"モデルIDが必要です","errors.model_required":"モデル設定が必要です","errors.model_test_unresolved":"モデルを解決できませんでした。APIキーとプロバイダー設定を確認してください","errors.models_config_unparseable":"models.yml に無効な YAML が含まれています。手動で修正してください。omp-web はこのファイルを上書きしません。","errors.not_a_directory":"このパスはディレクトリではありません","errors.not_a_file":"このパスはファイルではありません","errors.not_a_skill_file":"このパスは SKILL.md ファイルではありません","errors.not_a_worktree":"このリポジトリのワークツリーではありません","errors.omp_not_found":"omp バイナリが見つかりません。oh-my-pi をインストールするか、OMP_WEB_OMP_BIN を設定してください。","errors.package_required":"package が必要です","errors.package_scope_together":"package と scope は同時に指定する必要があります","errors.path_must_be_absolute":"パスは絶対パスである必要があります","errors.path_required":"パスが必要です","errors.plugin_unsupported_action":"サポートされていないプラグイン操作です","errors.preview_unavailable":"このファイルタイプはプレビューできません","errors.provider_name_required":"プロバイダー名が必要です","errors.provider_required":"プロバイダー設定が必要です","errors.query_required":"検索クエリが必要です","errors.session_file_malformed":"セッションファイルが存在しないか壊れています","errors.session_file_too_large":"このセッションは大きすぎるため omp-web では開けません。ターミナルで `omp --resume` を使って開いてください。","errors.session_name_required":"セッション名が必要です","errors.session_no_messages_to_name":"セッションに名前を付けるためのユーザーメッセージがありません","errors.session_not_found":"セッションが見つかりません","errors.session_restarting":"このセッションは再起動中です。しばらくしてから再試行してください。","errors.skill_install_failed":"インストールに失敗しました","errors.skill_not_installed":"インストール済みのスキルが見つかりません","errors.skill_update_unsupported":"このスキルは自動更新できません","errors.source_required":"プラグインのソースが必要です","errors.thinking_block_not_found":"思考ブロックが見つかりません","errors.upload_conflict":"1 つ以上のファイルが既に存在します","errors.upload_directory_not_found":"アップロード先ディレクトリが見つかりません","errors.upload_file_too_large":"各ファイルは 25MB 以下である必要があります","errors.upload_target_not_directory":"アップロード先がディレクトリではありません","errors.upload_total_too_large":"アップロードの合計は 100MB 以下である必要があります","errors.worktree_directory_exists":"ワークツリーのディレクトリが既に存在します","errors.worktree_dirty":"ワークツリーに変更済みまたは未追跡のファイルがあります","fileExplorer.addAllUploadedFiles":"アップロードした全ファイルをチャットに追加","fileExplorer.addUploadedFile":"アップロードしたファイルをチャットに追加","fileExplorer.cancel":"キャンセル","fileExplorer.cannotReplace":"置き換えできません: {files}","fileExplorer.checkingFiles":"ファイルを確認中","fileExplorer.containsChangedFiles":"変更されたファイルを含みます","fileExplorer.dismissError":"エラーを閉じる","fileExplorer.dismissUploadResults":"アップロード結果を閉じる","fileExplorer.downloadFile":"ファイルをダウンロード","fileExplorer.emptyDir":"空","fileExplorer.failedCount":"{count} 件失敗","fileExplorer.filesAlreadyExist.one":"{count} 件のファイルが既に存在します: {files}","fileExplorer.filesAlreadyExist.other":"{count} 件のファイルが既に存在します: {files}","fileExplorer.gitAdded":"追加","fileExplorer.gitConflict":"競合","fileExplorer.gitDeleted":"削除","fileExplorer.gitModified":"変更","fileExplorer.gitRenamed":"名前変更","fileExplorer.gitStatusFailed":"Git ステータスの読み込みに失敗しました(HTTP {status})","fileExplorer.gitUntracked":"未追跡","fileExplorer.insertPathIntoChat":"パスをチャットに挿入","fileExplorer.loadFailed":"ファイルの読み込みに失敗しました(HTTP {status})","fileExplorer.loadingFiles":"ファイルを読み込み中...","fileExplorer.mention":"メンション","fileExplorer.newlyUploaded":"新規アップロード","fileExplorer.noFilesFound":"ファイルが見つかりません","fileExplorer.replace":"置き換え","fileExplorer.skipExisting":"既存をスキップ","fileExplorer.skippedCount":"{count} 件スキップ","fileExplorer.uploadCancelled":"アップロードをキャンセルしました","fileExplorer.uploadCheckFailed":"アップロードの事前チェックに失敗しました(HTTP {status})","fileExplorer.uploadFailed":"アップロードに失敗しました(HTTP {status})","fileExplorer.uploadNetworkError":"ファイルのアップロード中にネットワークエラーが発生しました","fileExplorer.uploadedCount":"{count} 件アップロード","fileExplorer.uploadingPercent":"アップロード中、{percent}%","fileViewer.audioLoadFailed":"音声の読み込みに失敗しました","fileViewer.audioType":"音声","fileViewer.compareWithHead":"作業ツリーを HEAD と比較","fileViewer.disableWordWrap":"折り返しを無効にする","fileViewer.docxPreview":"docx プレビュー","fileViewer.docxTooLarge":"DOCX が大きすぎてプレビューできません(10MB 超)","fileViewer.downloadFile":"ファイルをダウンロード","fileViewer.enableWordWrap":"折り返しを有効にする","fileViewer.htmlPreview":"HTML プレビュー","fileViewer.imageLoadFailed":"画像の読み込みに失敗しました","fileViewer.imageType":"画像","fileViewer.live":"ライブ","fileViewer.liveSyncActive":"ライブ同期が有効","fileViewer.loading":"読み込み中...","fileViewer.mentionSelectedLines":"選択した行をメンション","fileViewer.metadata":"{language} \xb7 {lines} 行 \xb7 {size}","fileViewer.modeDiff":"差分","fileViewer.modePreview":"プレビュー","fileViewer.modeSource":"ソース","fileViewer.noChanges":"変更なし","fileViewer.notWatching":"監視していません","fileViewer.previewTitle":"{name} をプレビュー","fileViewer.static":"静的","fileViewer.unchangedLines.one":"... 変更なし {count} 行 ...","fileViewer.unchangedLines.other":"... 変更なし {count} 行 ...","fileViewer.viewMode":"ファイル表示モード","languageSwitcher.switchTo":"言語を {language} に切り替え","mermaidBlock.close":"閉じる","mermaidBlock.diagramTitle":"Mermaid 図","mermaidBlock.fitToWidth":"幅に合わせる","mermaidBlock.invalidDiagram":"無効な Mermaid 図です","mermaidBlock.retry":"再試行","mermaidBlock.openViewer":"図ビューアを開く","mermaidBlock.preview":"プレビュー","mermaidBlock.previewAfterStreaming":"プレビューはストリーミング完了後に利用できます","mermaidBlock.previewTitle":"Mermaid 図をプレビュー","mermaidBlock.rendering":"Mermaid 図をレンダリング中","mermaidBlock.showSourceTitle":"Mermaid ソースを表示","mermaidBlock.source":"ソース","mermaidBlock.viewerLabel":"Mermaid 図ビューア","mermaidBlock.zoomIn":"拡大","mermaidBlock.zoomOut":"縮小","imagePreview.close":"閉じる","imagePreview.imageTitle":"画像","imagePreview.open":"画像プレビューを開く","imagePreview.openWithAlt":"画像プレビューを開く: {alt}","imagePreview.resetZoom":"ズームをリセット","imagePreview.viewerLabel":"画像プレビュー","imagePreview.zoomIn":"拡大","imagePreview.zoomOut":"縮小","messageView.collapse":"折りたたむ","messageView.compactionDescription":"この時点より前の会話履歴は、次の要約に圧縮されました:","messageView.compactionLabel":"コンパクション","messageView.conversationCompacted":"会話を圧縮しました","messageView.copied":"コピーしました","messageView.copy":"コピー","messageView.copyMessage":"メッセージをコピー","messageView.largeMessageReveal":"大きなメッセージ({size})。プレーンテキストで表示","messageView.creating":"作成中...","messageView.creatingSession":"セッションを作成中...","messageView.diffAfter":"変更後","messageView.diffBefore":"変更前","messageView.downloadFullOutput":"完全な出力をダウンロード","messageView.durationSeconds":"{seconds}秒","messageView.editFromHere":"編集","messageView.editFromHereTitle":"ここに戻ってこのメッセージを編集します","messageView.estimatedTokens":"推定出力トークン数","messageView.advisorLabel":"アドバイザー","messageView.expand":"展開","messageView.extensionType":"拡張機能","messageView.fileContext":"ファイルコンテキスト: {parts}","messageView.filesModifiedCount":"{count} 件変更","messageView.filesReadCount":"{count} 件読み取り","messageView.hiddenExtensionMessage":"非表示の拡張機能メッセージ","messageView.hideDetails":"詳細を隠す","messageView.invalidThinkingResponse":"無効な思考レスポンスです","messageView.loadingFullOutput":"読み込み中…","messageView.loadingThinking":"思考内容を読み込み中...","messageView.modifiedFiles":"変更されたファイル","messageView.newSession":"新しいセッション","messageView.newSessionTitle":"この時点から新しいセッションをフォークします","messageView.noMessage":"(メッセージなし)","messageView.noOutput":"(出力なし)","messageView.noSummary":"(要約なし)","messageView.readFiles":"読み取ったファイル","messageView.showDetails":"詳細を表示","messageView.showExtensionMessage":"拡張機能メッセージを表示","messageView.taskSubagents":"サブエージェント","messageView.thinking":"思考","messageView.thinkingUnavailable":"思考内容は利用できません","messageView.tokensPerSecond":"{tps} t/s","messageView.compactionTokenDelta":"{before} → {after} トークン","messageView.usageCacheRead":"{tokens} キャッシュR","messageView.usageCacheWrite":"{tokens} キャッシュW","messageView.usageInput":"{tokens} 入力","messageView.usageOutput":"{tokens} 出力","messageView.viewFullOutput":"完全な出力を表示","messageView.fullOutputDownload":"ダウンロード","messageView.fullOutputLoading":"完全な出力を読み込み中…","modelsConfig.addFromCatalog":"カタログから","modelsConfig.addModel":"+ モデル","modelsConfig.addProvider":"+ プロバイダーを追加","modelsConfig.alreadyConnected":"既に接続されています。再ログインまたは切断ができます。","modelsConfig.api":"API","modelsConfig.apiKey":"APIキー","modelsConfig.apiKeyHint":"先頭に `!` を付けるとシェルコマンドを実行します。環境変数名も指定できます","modelsConfig.apiKeyManageHint":"APIキーは omp 本体が管理しており、ここでは変更できません。キーを追加・削除するには、ターミナルで `omp` を実行して `/login` / `/logout` を使うか、プロバイダーの環境変数(例: `OPENAI_API_KEY`)を設定するか、models.yml のカスタムプロバイダーに `apiKey` を設定してください。","modelsConfig.apiKeyPlaceholder":"ENV_VAR_NAME、!shell-command、またはキー文字列","modelsConfig.apiOverride":"API オーバーライド","modelsConfig.baseUrl":"ベースURL","modelsConfig.browserNotOpened":"ブラウザウィンドウが開かない場合は、ここをクリックしてログインページを開いてください。","modelsConfig.cancel":"キャンセル","modelsConfig.catalogAdd":"追加","modelsConfig.catalogAdded":"追加済み","modelsConfig.catalogContext":"コンテキスト {n}","modelsConfig.catalogError":"カタログを取得できません: {error}","modelsConfig.catalogLoading":"検索中…","modelsConfig.catalogNoResults":"一致するモデルがありません","modelsConfig.catalogPrice":"{input} / {output} $/MTok","modelsConfig.catalogSearchPlaceholder":"models.dev を検索…","modelsConfig.catalogSetBaseUrl":"プロバイダーのベース URL も設定します","modelsConfig.catalogTitle":"カタログからモデルを追加","modelsConfig.close":"閉じる","modelsConfig.completeSignIn":"ブラウザでサインインを完了し、アドレスバーのリダイレクトURLをコピーして下に貼り付けてください。","modelsConfig.configured":"設定済み","modelsConfig.connectAccount":"{name} アカウントを接続します。","modelsConfig.connected":"接続済み","modelsConfig.connectedSuccessfully":"接続に成功しました。","modelsConfig.connectionLost":"接続が切断されました","modelsConfig.contextWindowTokens":"コンテキストウィンドウ(トークン)","modelsConfig.continuing":"続行中…","modelsConfig.costCacheRead":"キャッシュ読み取り","modelsConfig.costCacheWrite":"キャッシュ書き込み","modelsConfig.costInput":"入力","modelsConfig.costOutput":"出力","modelsConfig.costPerMillion":"コスト(100万トークンあたり)","modelsConfig.custom":"カスタム","modelsConfig.customEndpointFormat":"カスタムエンドポイント形式","modelsConfig.customSection":"カスタム","modelsConfig.default":"デフォルト","modelsConfig.delete":"削除","modelsConfig.deviceCodeInstructions":"確認ページを開き、次のコードを入力してください:","modelsConfig.disabled":"無効","modelsConfig.disconnect":"切断","modelsConfig.displayNamePlaceholder":"表示名","modelsConfig.enterValue":"値を入力…","modelsConfig.expiresInMinutes.one":"有効期限は {count} 分です。","modelsConfig.expiresInMinutes.other":"有効期限は {count} 分です。","modelsConfig.failed":"失敗しました","modelsConfig.hideApiKey":"APIキーを隠す","modelsConfig.idRequired":"ID *","modelsConfig.imageInput":"画像入力","modelsConfig.inheritNone":"— 継承 / なし —","modelsConfig.loading":"読み込み中…","modelsConfig.login":"ログイン","modelsConfig.maxOutputTokens":"最大出力トークン数","modelsConfig.model":"モデル","modelsConfig.modelCount.one":"{count} 個のモデル","modelsConfig.modelCount.other":"{count} 個のモデル","modelsConfig.name":"名前","modelsConfig.networkError":"ネットワークエラー","modelsConfig.newModel":"新しいモデル","modelsConfig.noApiKeyRequired":"APIキーは不要です(auth: none)","modelsConfig.noProvidersMatch":"一致するプロバイダーがありません","modelsConfig.notConfigured":"未設定","modelsConfig.notConnected":"未接続","modelsConfig.ok":"OK","modelsConfig.openaiAnthropicCompatible":"OpenAI / Anthropic 互換","modelsConfig.openingBrowser":"ブラウザを開いています…","modelsConfig.parseErrorBody":"ディスク上のファイルに無効な YAML が含まれているため、ここでは編集できません。テキストエディタで修正してから再読み込みしてください。既存のプロバイダー設定を上書きしないよう、保存は無効になっています。","modelsConfig.parseErrorTitle":"models.yml を解析できませんでした","modelsConfig.provider":"プロバイダー","modelsConfig.providerConfigured.one":"{name} は設定済みです — {count} 個のモデルが利用可能です。omp は環境変数、omp の資格情報ストア、または models.yml からAPIキーを解決しました。","modelsConfig.providerConfigured.other":"{name} は設定済みです — {count} 個のモデルが利用可能です。omp は環境変数、omp の資格情報ストア、または models.yml からAPIキーを解決しました。","modelsConfig.providerName":"プロバイダー名","modelsConfig.providerNotConfigured":"{name} は設定されていません。","modelsConfig.reasoningThinking":"推論 / 思考","modelsConfig.reload":"再読み込み","modelsConfig.relogin":"再ログイン","modelsConfig.remove":"削除","modelsConfig.rename":"名前を変更","modelsConfig.resetToAuto":"自動にリセット","modelsConfig.save":"保存","modelsConfig.saveErrorTitle":"models.yml を保存できませんでした","modelsConfig.saveSuccessTitle":"モデル設定を保存しました","modelsConfig.saved":"保存しました","modelsConfig.saving":"保存中…","modelsConfig.searchProviders":"プロバイダーを検索…","modelsConfig.selectProviderOrModel":"プロバイダーまたはモデルを選択してください","modelsConfig.serverError":"サーバーエラー {status}","modelsConfig.showApiKey":"APIキーを表示","modelsConfig.submit":"送信","modelsConfig.subscription":"サブスクリプション","modelsConfig.subscriptions":"サブスクリプション","modelsConfig.test":"テスト","modelsConfig.testTitle":"プロバイダー/モデル設定を検証します(テストプロンプトは送信されません)","modelsConfig.testing":"テスト中…","modelsConfig.thinkingLevels":"思考レベル","modelsConfig.title":"モデル","modelsConfig.validatingConfig":"モデル設定を検証中...","modelsConfig.verifying":"検証中…","pluginsConfig.actionErrorTitle":"{action} に失敗しました","pluginsConfig.action_install":"インストール","pluginsConfig.action_remove":"削除","pluginsConfig.action_update":"更新","pluginsConfig.action_disable":"無効化","pluginsConfig.action_enable":"有効化","pluginsConfig.addPlugin":"プラグインを追加","pluginsConfig.addPluginTitle":"プラグインを追加","pluginsConfig.badgeDisabled":"無効","pluginsConfig.badgeFiltered":"フィルタ済み","pluginsConfig.close":"閉じる","pluginsConfig.configuredVersion":"設定 {version}","pluginsConfig.cwd":"Cwd","pluginsConfig.diagnosticCount.one":"{count} 件の診断","pluginsConfig.diagnosticCount.other":"{count} 件の診断","pluginsConfig.disablePackage":"パッケージを無効化","pluginsConfig.disabled":"無効","pluginsConfig.enablePackage":"パッケージを有効化","pluginsConfig.examples":"例","pluginsConfig.extCount.one":"{count} 個の拡張機能","pluginsConfig.extCount.other":"{count} 個の拡張機能","pluginsConfig.extensions":"拡張機能","pluginsConfig.install":"インストール","pluginsConfig.installedPath":"インストールパス","pluginsConfig.installedVersion":"インストール済み {version}","pluginsConfig.installing":"インストール中...","pluginsConfig.loading":"読み込み中...","pluginsConfig.noPlugins":"プラグインが設定されていません","pluginsConfig.noResolvedResources":"解決済みリソースがありません","pluginsConfig.noResources":"リソースがありません","pluginsConfig.notFound":"見つかりません","pluginsConfig.openSessionToReload":"再読み込みするにはセッションを開いてください","pluginsConfig.package":"パッケージ","pluginsConfig.packageDisabled":"パッケージは無効です","pluginsConfig.packageDisabledMsg":"パッケージを無効化しました。","pluginsConfig.packageEnabledMsg":"パッケージを有効化しました。","pluginsConfig.packageInstalled":"パッケージをインストールしました。","pluginsConfig.packageRemoved":"パッケージを削除しました。","pluginsConfig.packageUpdated":"パッケージを更新しました。","pluginsConfig.promptCount.one":"{count} 個のプロンプト","pluginsConfig.promptCount.other":"{count} 個のプロンプト","pluginsConfig.prompts":"プロンプト","pluginsConfig.refresh":"再読み込み","pluginsConfig.reloadCurrentSession":"現在のセッションを再読み込み","pluginsConfig.reloadSession":"セッションを再読み込み","pluginsConfig.reloading":"再読み込み中...","pluginsConfig.remove":"削除","pluginsConfig.removePluginTitle":"このプラグインを削除しますか?","pluginsConfig.removePluginBody":"{source} をアンインストールし、そのリソースを破棄します。","pluginsConfig.removing":"削除中...","pluginsConfig.resolvedResources":"解決済みリソース","pluginsConfig.resources":"リソース","pluginsConfig.scopeGlobal":"グローバル","pluginsConfig.scopeProject":"プロジェクト","pluginsConfig.selectPackage":"パッケージを選択してください","pluginsConfig.sessionReloaded":"セッションを再読み込みしました。","pluginsConfig.skillCount.one":"{count} 個のスキル","pluginsConfig.skillCount.other":"{count} 個のスキル","pluginsConfig.skills":"スキル","pluginsConfig.source":"ソース","pluginsConfig.status":"ステータス","pluginsConfig.statusDisabled":"無効","pluginsConfig.statusInstalled":"インストール済み","pluginsConfig.statusLoaded":"読み込み済み","pluginsConfig.statusMissing":"見つかりません","pluginsConfig.themeCount.one":"{count} 個のテーマ","pluginsConfig.themeCount.other":"{count} 個のテーマ","pluginsConfig.themes":"テーマ","pluginsConfig.title":"プラグイン","pluginsConfig.totalsSummary":"{extensions} 拡張 \xb7 {skills} スキル \xb7 {prompts} プロンプト \xb7 {themes} テーマ","pluginsConfig.unknown":"不明","pluginsConfig.update":"更新","pluginsConfig.updating":"更新中...","pluginsConfig.version":"バージョン","projects.activity":"{running} 実行中、{unread} 未読","projects.add":"ワークスペースを追加","projects.addTitle":"サイドバーにワークスペースディレクトリを追加","projects.collapseProject":"{name} を折りたたむ","projects.collapseProjectTitle":"プロジェクト {path} を折りたたむ","projects.emptyProject":"このプロジェクトにはセッションがありません","projects.expandProject":"{name} を展開","projects.expandProjectTitle":"プロジェクト {path} を展開","projects.heading":"ワークスペース","projects.loadFailed":"プロジェクトの読み込みに失敗しました: {detail}","projects.aliasPrompt":"ワークスペースの表示名","projects.editAlias":"ワークスペース名を編集","projects.moveDown":"下へ移動","projects.moveUp":"上へ移動","projects.nameAlias":"ワークスペースに名前を付ける","projects.reorderFailed":"ワークスペースの並び順を更新できませんでした","projects.updateFailed":"ワークスペースを更新できませんでした","projects.noProjects":"ワークスペースがありません。開始するにはワークスペースディレクトリを追加してください。","projects.actions":"プロジェクト操作","projects.remove":"サイドバーから {name} を削除","projects.removeTitle":"{name} をサイドバーから削除します。セッションは保持され、ディレクトリを再度追加すると復元されます。","projects.running":"実行中","projects.showLess":"表示を減らす","projects.showMoreSessions":"さらに{count}件を表示","projects.unread":"未読","sessionSidebar.agentRunning":"エージェント実行中…","sessionSidebar.agentRunningAria":"エージェント実行中","sessionSidebar.branchNamePlaceholder":"ブランチ名","sessionSidebar.cancel":"キャンセル","sessionSidebar.collapseForks":"フォークを折りたたむ","sessionSidebar.create":"作成","sessionSidebar.creating":"作成中…","sessionSidebar.customPath":"カスタムパス…","sessionSidebar.archive":"アーカイブ","sessionSidebar.archiveConfirm":"「{title}」をアーカイブしますか?","sessionSidebar.archiveLeafOnly":"先に子セッションをアーカイブしてください","sessionSidebar.archiveBrowser":"アーカイブされたセッション","sessionSidebar.archiveBrowserTitle":"アーカイブされたセッションを開く","sessionSidebar.delete":"削除","sessionSidebar.deleteConfirm":"「{title}」を削除しますか?","sessionSidebar.deleteFailed":"セッションを削除できませんでした","sessionSidebar.archiveFailed":"セッションをアーカイブできませんでした","sessionSidebar.expandForks":"フォークを展開","sessionSidebar.explorer":"エクスプローラー","sessionSidebar.force":"強制","sessionSidebar.gitRepoRootOnly":"Git リポジトリのルートのみ","sessionSidebar.gitRepoRootOnlyTitle":"ワークツリーは Git リポジトリのルートで利用できます。","sessionSidebar.loadFailed":"セッションの読み込みに失敗しました: {detail}","sessionSidebar.loading":"読み込み中...","sessionSidebar.mainBadge":"main","sessionSidebar.new":"新しいセッション","sessionSidebar.newActivity":"新しいアクティビティ","sessionSidebar.newSessionActivity":"新しいセッションアクティビティ","sessionSidebar.newSessionIn":"{cwd} で新しいセッション","sessionSidebar.newWorktree":"新しいワークツリー…","sessionSidebar.newWorktreeTitle":"ブランチのワークツリーチェックアウトを作成します","sessionSidebar.openRepoRoot":"リポジトリルートを開く","sessionSidebar.openRepoRootTitle":"ワークツリーを管理するにはリポジトリのルートを開いてください。","sessionSidebar.refresh":"再読み込み","sessionSidebar.refreshExplorer":"エクスプローラーを再読み込み","sessionSidebar.removeWorktreeTitle":"ワークツリーのチェックアウト {path} を削除します。ブランチは保持されます","sessionSidebar.rename":"名前を変更","sessionSidebar.selectProjectFirst":"先にプロジェクトを選択してください","sessionSidebar.switchWorktree":"ワークツリーを切り替え","sessionSidebar.switchWorktreeTo":"ワークツリーを切り替え: {path}","sessionSidebar.uncommittedForceRemove":"未コミットの変更があります。チェックアウトを強制削除しますか?","sessionSidebar.uploadFiles":"ファイルをアップロード","sessionSidebar.uploadFilesTitle":"プロジェクトルートにファイルをアップロードします","sessionSidebar.worktreeTitle":"ワークツリー: {path}","sessionSidebar.worktreesLoading":"ワークツリー...","sessionSidebar.worktreesLoadingTitle":"このディレクトリのワークツリーを確認しています。","sessionSidebar.import":"セッションをインポート","sessionSidebar.importTitle":"セッションファイルをインポート (.jsonl)","sessionSidebar.imported":"セッションをインポートしました","sessionSidebar.search":"セッションを検索","sessionSidebar.searchTitle":"名前またはメッセージでセッションを検索","sessionSidebar.searchPlaceholder":"セッションを検索…","sessionSidebar.filterRunning":"実行中のセッションのみ表示","sessionSidebar.filterRunningTitle":"実行中のセッションのみに絞り込む","sessionSidebar.noMatches":"一致するセッションがありません","skillsConfig.addSkill":"スキルを追加","skillsConfig.addSkillTitle":"スキルを追加","skillsConfig.check":"チェック","skillsConfig.checkFailed":"チェックに失敗しました","skillsConfig.checkUpdates":"更新を確認","skillsConfig.checking":"チェック中...","skillsConfig.checksUnavailable":"自動チェックは利用できません","skillsConfig.close":"閉じる","skillsConfig.deleteSkillTitle":"このスキルを削除しますか?","skillsConfig.deleteSkillBody":"このスキルは読み込まれなくなります。ディスク上のファイルは削除されません。","skillsConfig.description":"説明","skillsConfig.dormant":"休止中({count})","skillsConfig.toggleErrorTitle":"スキルの更新に失敗しました","skillsConfig.toggleSuccessTitle":"スキルを更新しました","skillsConfig.groupGlobalSkillsSh":"グローバル / skills.sh","skillsConfig.groupProjectSkillsSh":"プロジェクト / skills.sh","skillsConfig.hiddenFromPrompt":"モデルのプロンプトに非表示 — クリックで有効化","skillsConfig.install":"インストール","skillsConfig.installed":"✓ インストール済み","skillsConfig.installing":"インストール中…","skillsConfig.loading":"読み込み中…","skillsConfig.name":"名前","skillsConfig.noSkillsFound":"スキルが見つかりません","skillsConfig.scopeGlobal":"グローバル","skillsConfig.scopePath":"パス","skillsConfig.scopeProject":"プロジェクト","skillsConfig.search":"検索","skillsConfig.searchHint":"{site} を検索して、エージェント用のスキルを見つけてインストールできます。","skillsConfig.searchPlaceholder":"例: react, testing, deploy","skillsConfig.searching":"検索中…","skillsConfig.selectSkill":"スキルを選択してください","skillsConfig.source":"ソース","skillsConfig.title":"スキル","skillsConfig.unknownVersion":"不明","skillsConfig.upToDate":"最新です","skillsConfig.update":"更新","skillsConfig.updateAvailable":"更新があります","skillsConfig.updateCount.one":"{count} 件の更新","skillsConfig.updateCount.other":"{count} 件の更新","skillsConfig.updating":"更新中...","skillsConfig.version":"バージョン","skillsConfig.visibleInPrompt":"モデルのプロンプトに表示 — クリックで無効化","tabBar.close":"閉じる","tabBar.closeTab":"{label} を閉じる","errors.appCrash.title":"問題が発生しました","errors.appCrash.description":"インターフェースのレンダリング中に予期しないエラーが発生しました。再試行またはページを再読み込みできます。","errors.appCrash.retry":"再試行","commandPalette.label":"コマンドパレット","commandPalette.placeholder":"コマンドを検索…","commandPalette.empty":"結果がありません","commandPalette.sessions":"セッション","commandPalette.actions":"操作","commandPalette.models":"モデル","commandPalette.newSession":"新しいセッション","commandPalette.toggleTheme":"テーマを切り替え","commandPalette.currentModel":"現在のモデル","commandPalette.notAvailable":"チャットで管理","commandPalette.hints":"↑↓ 移動 \xb7 ↵ 選択 \xb7 esc 閉じる","chatInput.interruptReply":"割り込んで返信","chatInput.interruptReplyTitle":"現在の実行を中断してすぐに回答する","settingsTabs.ariaLabel":"Settings sections","settingsTabs.general.label":"Interface & Behavior","settingsTabs.general.description":"UI preferences, completion sound, submission mode","settingsTabs.safety.label":"Safety & Approvals","settingsTabs.safety.description":"Tool safety rules, YOLO mode, terminal permissions","settingsTabs.models.label":"AI Model Defaults","settingsTabs.models.description":"Reasoning budget, verbosity, personality, scratchpad","settingsTabs.providers.label":"API Keys & Providers","settingsTabs.providers.description":"Connected OAuth accounts, API keys, and model registry","settingsTabs.intelligence.label":"Agent & Intelligence","settingsTabs.intelligence.description":"Advisor, memory, autolearn, compaction and retry","settingsTabs.agents.label":"Agents","settingsTabs.agents.description":"Task agents, model settings, and tool policy","settingsTabs.mcp.label":"Extensions & Tools","settingsTabs.mcp.description":"MCP servers, managed skills, and OMP plugins","settingsTabs.system.label":"System & Updates","settingsTabs.system.description":"App updates, runtime version, and active session restart","settingsConfig.loadingSettings":"Loading settings…","settingsConfig.title":"Settings","settingsConfig.saving":"Saving…","settingsConfig.autoSaved":"Auto-saved","settingsConfig.searchPlaceholder":"Search settings...","settingsConfig.closeSettings":"Close settings","settingsConfig.noSettingsMatch":"No settings match “{query}”.","settingsConfig.searchResults.one":"{count} result for “{query}”.","settingsConfig.searchResults.other":"{count} results for “{query}”.","settingsConfig.chipSection":"Section","settingsConfig.chipUI":"UI","settingsConfig.chipNativeOMP":"Native OMP","settingsConfig.chipWorkspace":"Workspace","settingsConfig.interfaceBehavior":"Interface & Behavior","settingsConfig.interfaceBehaviorDesc":"Controls interface presentation, notification sounds, and execution submission mode.","settingsConfig.keepToolCallsCollapsed":"Keep tool calls collapsed","settingsConfig.keepToolCallsCollapsedDesc":"Show only compact headers while tools execute.","settingsConfig.thinkingDisplayMode":"思考プロセスの表示方法","settingsConfig.thinkingDisplayModeDesc":"モデルの思考プロセスの展開/折りたたみ動作を設定します。","settingsConfig.thinkingModeAuto":"自動 (生成時に展開、完了後に折りたたみ)","settingsConfig.thinkingModeCollapsed":"常に折りたたむ (ヘッダーのみ表示)","settingsConfig.thinkingModeExpanded":"常に展開 (思考をすべて表示)","settingsConfig.completionSound":"Completion sound","settingsConfig.completionSoundDesc":"Play a tone when the agent completes a run.","settingsConfig.messageDuringActiveRun":"Message during active run","settingsConfig.messageDuringActiveRunDesc":"What composer does on submit while agent runs. Steer interrupts; Queue follow-up delivers after finish.","settingsConfig.steerCurrentRun":"Steer current run","settingsConfig.queueFollowUp":"Queue follow-up","settingsConfig.toolSafetyApprovals":"Tool Safety & Approvals","settingsConfig.toolSafetyApprovalsDesc":"Tool execution safety rules and permission prompts. Persisted in ~/.omp/agent/config.yml.","settingsConfig.approvalMode":"Approval Mode","settingsConfig.approvalModeDesc":"Choose when OMP asks before tool calls.","settingsConfig.alwaysAsk":"Always ask","settingsConfig.allowWrites":"Allow writes","settingsConfig.autoApproveYolo":"Auto approve (YOLO)","settingsConfig.bashOverride":"Bash Override","settingsConfig.bashOverrideDesc":"Override default approval policy specifically for terminal commands.","settingsConfig.allow":"Allow","settingsConfig.deny":"Deny","settingsConfig.extensionToolRequests":"Extension Tool Requests","settingsConfig.extensionToolRequestsDesc":"Automatically approve extension tool authorization requests.","settingsConfig.askEveryTime":"Ask every time","settingsConfig.autoApprove":"Auto approve","settingsConfig.modelDefaults":"AI Model Defaults","settingsConfig.modelDefaultsDesc":"Configure default reasoning effort, response verbosity, personality tone, and thinking display.","settingsConfig.reasoning":"Reasoning","settingsConfig.reasoningDesc":"Default effort level for thinking-capable models.","settingsConfig.verbosity":"Verbosity","settingsConfig.verbosityDesc":"Response detail level for supporting providers.","settingsConfig.verbosityLow":"low","settingsConfig.verbosityMedium":"medium","settingsConfig.verbosityHigh":"high","settingsConfig.personality":"Personality","settingsConfig.personalityDesc":"Style included in OMP\'s system prompt.","settingsConfig.personalityDefault":"default","settingsConfig.personalityFriendly":"friendly","settingsConfig.personalityPragmatic":"pragmatic","settingsConfig.personalityNone":"none","settingsConfig.thinkingBlocks":"Thinking Blocks","settingsConfig.thinkingBlocksDesc":"Hide model reasoning from output view.","settingsConfig.externalThinking":"External Thinking","settingsConfig.externalThinkingDesc":"Private scratchpad reasoning via think tool.","settingsConfig.contextCompaction":"Context Compaction","settingsConfig.contextCompactionDesc":"OMP automatically compacts oversized context to prevent hitting context limits.","settingsConfig.automaticCompaction":"Automatic Compaction","settingsConfig.automaticCompactionDesc":"Compact context before model context limit is hit.","settingsConfig.continueAfterCompaction":"Continue After Compaction","settingsConfig.continueAfterCompactionDesc":"Resume task execution after compaction completes.","settingsConfig.maintenanceStrategy":"Maintenance Strategy","settingsConfig.maintenanceStrategyDesc":"Select algorithm used to reduce context pressure.","settingsConfig.strategySnapcompact":"Snapcompact","settingsConfig.strategyHandoff":"Handoff","settingsConfig.strategyContextFull":"Context full","settingsConfig.strategyShake":"Shake","settingsConfig.strategyOff":"Off","settingsConfig.compactMidTurn":"Compact Mid-Turn","settingsConfig.compactMidTurnDesc":"Check context limits between tool execution steps.","settingsConfig.memoryAutoLearn":"Memory & Auto-Learn","settingsConfig.memoryAutoLearnDesc":"Durable project memory storage and automatic lesson capture.","settingsConfig.memoryBackend":"Memory Backend","settingsConfig.memoryBackendDesc":"Where durable knowledge is stored across sessions.","settingsConfig.memoryBackendOff":"Off","settingsConfig.memoryBackendLocal":"Local summaries","settingsConfig.memoryBackendMnemopi":"Mnemopi SQLite","settingsConfig.memoryBackendHindsight":"Hindsight","settingsConfig.enableAutoLearn":"Enable Auto-Learn","settingsConfig.enableAutoLearnDesc":"Capture reusable lessons after completed runs.","settingsConfig.privateCaptureTurn":"Private Capture Turn","settingsConfig.privateCaptureTurnDesc":"Run private lesson-capture turn at completion.","settingsConfig.memoryScope":"Memory Scope","settingsConfig.memoryScopeDesc":"Scoping for Mnemopi knowledge storage.","settingsConfig.memoryScopePerProject":"Per project","settingsConfig.memoryScopePerProjectTagged":"Per project, tagged recall","settingsConfig.memoryScopeGlobal":"Global","settingsConfig.recallOnSessionStart":"Recall on Session Start","settingsConfig.recallOnSessionStartDesc":"Load relevant memories into first turn.","settingsConfig.retainCompletedTurns":"Retain Completed Turns","settingsConfig.retainCompletedTurnsDesc":"Store completed conversation turns in memory.","settingsConfig.automaticRetry":"Automatic Retry","settingsConfig.automaticRetryDesc":"Rules for automatically retrying failed turns.","settingsConfig.retryToggle":"Automatic Retry","settingsConfig.retryToggleDesc":"Retry failed turns automatically.","settingsConfig.maxAttempts":"Max Attempts","settingsConfig.maxAttemptsDesc":"Retry limit before giving up.","settingsConfig.modelFallback":"Model Fallback","settingsConfig.modelFallbackDesc":"Fall back to alternative model when retries exhaust.","settingsConfig.extensionsTools":"Extensions & Tools","settingsConfig.extensionsToolsDesc":"Model Context Protocol servers, managed skills, and OMP plugins.","settingsConfig.loadProjectMcp":"Load Project MCP Servers","settingsConfig.loadProjectMcpDesc":"Allow project-root MCP configuration to be discovered.","settingsConfig.renderMcpMarkdown":"Render MCP Markdown","settingsConfig.renderMcpMarkdownDesc":"Render non-JSON MCP results as Markdown in transcript.","settingsConfig.mcpResourceUpdates":"MCP Resource Updates","settingsConfig.mcpResourceUpdatesDesc":"Inject server resource updates into conversation.","settingsConfig.selectWorkspaceForMcp":"Select a project workspace to view and edit its project MCP configuration.","settingsConfig.agentsTitle":"Agents","settingsConfig.agentsDesc":"Task agents, models and tool policy. Bundled agents are read-only until unpacked.","modelsConfig.authNone":"Auth: None","modelsConfig.keySet":"Key Set","modelsConfig.keyMissing":"Key Missing","modelsConfig.defaultEndpoint":"Default endpoint","modelsConfig.quickEndpointPresets":"Quick Endpoint Presets","modelsConfig.configurationDetails":"Configuration Details","modelsConfig.removeProvider":"Remove Provider","modelsConfig.removeProviderDesc":"Delete {name} and remove its models from models.yml configuration.","modelsConfig.deleteProviderTitle":"Delete provider {name}?","modelsConfig.deleteProviderBody":"This will remove {name} and all its configured models from models.yml.","modelsConfig.removeModelTitle":"Remove model {id}?","modelsConfig.removeModelBody":"This will remove {id} from this provider\'s models list.","modelsConfig.appliedPreset":"Applied {url} endpoint preset","modelsConfig.errorNameRequired":"Provider name is required","modelsConfig.errorUrlInvalid":"Must be a valid http:// or https:// URL","modelsConfig.errorApiKeyRequired":"API key is required (or check \'No API key required\')","modelsConfig.errorIdRequired":"Model ID is required","modelsConfig.tokenLimits":"Token limits","modelsConfig.retryLoading":"Loading native OMP retry settings...","modelsConfig.retryFallbackTitle":"Native OMP Retry & Fallback","modelsConfig.retryFallbackDesc":"OMP switches through these ordered model chains when a provider is rate-limited or unavailable.","modelsConfig.retryTransientErrors":"Retry transient provider errors","modelsConfig.allowModelFallback":"Allow model fallback","modelsConfig.retryAttempts":"Retry attempts","modelsConfig.returnToPrimary":"Return to primary","modelsConfig.afterCooldown":"After cooldown","modelsConfig.never":"Never","modelsConfig.fallbackChainFor":"Fallback chain for","modelsConfig.selectFallbackModel":"Select a fallback model","modelsConfig.add":"Add","modelsConfig.noExplicitChain":"No explicit chain. OMP uses the default chain when available.","modelsConfig.registryLoading":"Loading native OMP registry settings...","modelsConfig.nativeRegistryTitle":"Native OMP Model Registry","modelsConfig.nativeRegistryDesc":"These settings affect the models OMP itself can resolve. They are saved in ~/.omp/agent/config.yml, unlike the Composer picker.","modelsConfig.restrictSelectedModels":"Restrict OMP to selected models","modelsConfig.uncheckedUnavailable":"Unchecked models are unavailable to every OMP session.","modelsConfig.allModelsAllowed":"All currently available OMP models are allowed.","modelsConfig.disabledProviders":"Disabled Providers","modelsConfig.disabledProvidersDesc":"Disabling a provider removes it from OMP\'s model registry, even if it has credentials.","modelsConfig.providerPreference":"Provider Preference","modelsConfig.providerPreferenceDesc":"Sets OMP\'s provider order when a model id is ambiguous.","modelsConfig.pathScopedNotice":"OMP path-scoped registry entries are configured. Edit config.yml directly to preserve their path rules.","modelsConfig.loadingRoles":"Loading roles...","modelsConfig.modelRolesTitle":"OMP Model Roles","modelsConfig.modelRolesDesc":"Saved natively in ~/.omp/agent/config.yml. Choose an OMP model and its supported reasoning level for each role.","modelsConfig.noOverride":"No override","modelsConfig.modelDefault":"Model default","modelsConfig.saveRoles":"Save OMP roles","modelsConfig.rolesSaved":"OMP model roles saved","modelsConfig.composerPickerTitle":"Composer Model Picker","modelsConfig.composerPickerDesc":"Choose which native OMP models appear in the composer. This is omp-web-only — it does not alter OMP\'s registry.","modelsConfig.modelsVisible":"{visible} / {total} visible","modelsConfig.providerCount.one":"{count} provider","modelsConfig.providerCount.other":"{count} providers","modelsConfig.filterModelsPlaceholder":"Filter models (e.g. gpt, deepseek, opencodex)…","modelsConfig.loadingRuntimeModels":"Loading OMP runtime models…","modelsConfig.noModelsMatch":"No models match “{query}”.","modelsConfig.noReportedModels":"OMP did not report any configured models.","modelsConfig.connectedDisabledDesc":"Connected, but disabled in OMP. Enable it to discover its models.","modelsConfig.connectedNoModelsDesc":"Connected, but OMP has not reported models for this provider yet.","modelsConfig.enableInOmp":"Enable in OMP","modelsConfig.couldNotEnableProvider":"Could not enable provider","modelsConfig.ompSystemSection":"OMP System","modelsConfig.navNativeRegistry":"Native OMP registry","modelsConfig.navRetryFallback":"Retry & fallback","modelsConfig.navComposerPicker":"Composer model picker","modelsConfig.navModelRoles":"OMP model roles","modelsConfig.connectedAccounts":"Connected accounts","modelsConfig.noConnectedAccounts":"No OAuth or API-key accounts connected.","modelsConfig.addOneBelow":"Add one with the button below.","modelsConfig.customProviders":"Custom providers","modelsConfig.noCustomProviders":"No custom providers yet.","modelsConfig.addOpenAiEndpoint":"Add an OpenAI-compatible endpoint.","mcpConfig.loadError":"Could not load MCP configuration","mcpConfig.mustBeJsonObject":"Server configuration must be a JSON object","mcpConfig.invalidJson":"Invalid JSON","mcpConfig.validConfig":"MCP server configuration is valid","mcpConfig.invalidConfig":"MCP configuration is invalid","mcpConfig.savedMsg":"Saved. Restart OMP sessions or run /mcp reload to apply it.","mcpConfig.serverSaved":"MCP server \\"{name}\\" saved","mcpConfig.saveError":"Could not save MCP server","mcpConfig.removedMsg":"MCP server removed. Restart OMP sessions or run /mcp reload to apply it.","mcpConfig.serverRemoved":"MCP server \\"{name}\\" removed","mcpConfig.removeError":"Could not remove MCP server","mcpConfig.configuredServers":"設定済み MCP サーバー","mcpConfig.builtinServers":"標準組み込み MCP 拡張機能","mcpConfig.builtinDesc":"設定不要で即座にマルチエージェント協調オーケストレーションを利用できる内蔵 MCP サーバー","mcpConfig.builtinTag":"組み込み済み","mcpConfig.enablePreset":"有効化","mcpConfig.editPreset":"エディタで編集","mcpConfig.alreadyConfigured":"設定完了","mcpConfig.refreshLiveStatus":"ライブ状態を更新","mcpConfig.noMcpServers":"No MCP servers configured","mcpConfig.userLevel":"User level ({path})","mcpConfig.liveStatusUnavailable":"Live status unavailable: {error}","mcpConfig.noOmpServers":"No OMP servers","mcpConfig.projectServers":"Project MCP Servers","mcpConfig.serverCounts":"{enabled}/{total} enabled","mcpConfig.invalidSuffix":" \xb7 {count} invalid","mcpConfig.noServers":"No servers","mcpConfig.addServer":"Add server","mcpConfig.serverName":"Server name","mcpConfig.serverConfigJson":"OMP server configuration (JSON)","mcpConfig.check":"Check","mcpConfig.saveServer":"Save server","mcpConfig.saving":"Saving...","mcpConfig.remove":"Remove","agentsConfig.allAgents":"All agents \xb7 {count}","agentsConfig.countsSummary":" \xb7 bundled {bundled} \xb7 user {user} \xb7 project {project}","agentsConfig.reload":"Reload","agentsConfig.unpackBundled":"Unpack bundled","agentsConfig.newAgent":"New agent","agentsConfig.workspaceUnavailableWarning":"The selected workspace is unavailable. Showing global agents; project-scope create, unpack, and save actions are disabled until you select an existing workspace.","agentsConfig.searchPlaceholder":"search: type to filter","agentsConfig.filterAgentsAria":"Filter agents","agentsConfig.clear":"clear","agentsConfig.agentsCount.one":"{count} agent","agentsConfig.agentsCount.other":"{count} agents","agentsConfig.loadingAgents":"Loading agents…","agentsConfig.noMatch":"No match for filter.","agentsConfig.noAgentsFound":"No agents found. Unpack bundled or create one.","agentsConfig.bundledReadOnlyWarning":"Bundled agents are read-only. Save will create an editable copy in {scope} scope.","agentsConfig.copyFilePath":"Copy file path","agentsConfig.copy":"Copy","agentsConfig.pathCopied":"Path copied","agentsConfig.createAgentDesc":"Create a persistent OMP agent for delegated tasks and sessions.","agentsConfig.scope":"scope","agentsConfig.scopeUser":"user","agentsConfig.scopeProject":"project","agentsConfig.name":"Name","agentsConfig.description":"Description","agentsConfig.modelRoles":"Model roles (csv)","agentsConfig.thinkingLevel":"Thinking level","agentsConfig.defaultThinking":"— default —","agentsConfig.spawns":"Spawns (csv or *)","agentsConfig.tools":"Tools (csv)","agentsConfig.systemPrompt":"System prompt","agentsConfig.create":"Create","agentsConfig.save":"Save","agentsConfig.cancel":"Cancel","agentsConfig.remove":"Remove","agentsConfig.atomicNotice":"Writes are atomic (tmp file + rename), symlink-safe and capped at 512 KB. Paths are validated to stay inside the agents directory.","agentsConfig.selectAgentToEdit":"Select an agent to edit","agentsConfig.noAgentsYet":"No agents yet","agentsConfig.templatesNotice":"Bundled agents are templates — unpack or create a copy to edit.","agentsConfig.unpackedToast":"Unpacked {count} bundled agents","agentsConfig.unpackedMsg":"Unpacked {count} agents to {scope}","agentsConfig.unpackFailed":"Unpack failed","agentsConfig.nameRequired":"Name is required","agentsConfig.namePatternError":"Name must match ^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$","agentsConfig.descriptionRequired":"Description is required","agentsConfig.selectWorkspaceRequired":"Select an existing workspace before saving project agents.","agentsConfig.agentCreatedToast":"Agent \\"{name}\\" created","agentsConfig.agentSavedToast":"Agent \\"{name}\\" saved","agentsConfig.agentCreatedMsg":"Agent created.","agentsConfig.agentSavedMsg":"Agent saved. Restart sessions to apply.","agentsConfig.saveError":"Could not save agent","agentsConfig.agentRemovedToast":"Agent \\"{name}\\" removed","agentsConfig.agentRemovedMsg":"Agent removed.","agentsConfig.removeError":"Could not remove agent","agentsConfig.loadError":"Could not load agents","modelsConfig.moveProviderUp":"Move provider up","modelsConfig.moveProviderDown":"Move provider down","modelsConfig.refreshRuntimeModels":"Refresh OMP runtime models","modelsConfig.clearFilter":"Clear filter","modelsConfig.oauthProviderTitle":"OMP OAuth provider: {id}","modelsConfig.apiKeyProviderTitle":"OMP API-key provider: {id}","agentsConfig.descPlaceholder":"UI/UX specialist for design implementation","agentsConfig.systemPromptPlaceholder":"Agent instructions…","appShell.openTerminal":"現在のワークスペースをターミナルで開く","appShell.terminalOpened":"ターミナルでワークスペースを開きました","appShell.switchTheme":"テーマを切り替え","appShell.themePalette":"テーマパレット","theme.light":"ウォームペーパー","theme.dark":"ウォームアンバー","theme.oled":"OLED 黒曜石","theme.nord":"ノルド北極","theme.matcha":"京都抹茶","theme.dracula":"ドラキュラ","theme.sepia":"古書セピア","theme.cyberpunk":"サイバーパンクネオン","theme.system":"システム設定","emptyState.subtitle":"AI コーディングワークスペース \xb7 マルチモデル協調と対話","emptyState.cardPlanTitle":"スマートプランニング","emptyState.cardPlanDesc":"アーキテクチャを分析してタスクを段階的に計画","emptyState.cardReviewTitle":"コードレビュー","emptyState.cardReviewDesc":"最新の差分を多角的にレビュー","emptyState.cardTestTitle":"テスト実行と検証","emptyState.cardTestDesc":"テストを実行してエラーを検証","emptyState.cardExploreTitle":"ワークスペース探索","emptyState.cardExploreDesc":"omp に質問、@ でファイルを参照","terminal.title":"埋め込みターミナル","terminal.clear":"画面クリア","terminal.restart":"セッション再起動","terminal.maximize":"最大化","terminal.restore":"元に戻す","terminal.close":"ターミナルを閉じる","appShell.toggleTerminal":"埋め込みターミナルを切り替え","appShell.hideTerminal":"ターミナルを隠す","plan.modeTitle":"OMP プランモード","plan.executeButton":"計画を実行","plan.rejectButton":"修正を要求","plan.critiqueModalTitle":"計画を再検討 \xb7 フィードバック","theme.auroraFlow":"オーロラ幻境","theme.sunsetFlow":"サンセットフロー","theme.cosmicFlow":"コズミック星雲","theme.cyberFlow":"サイバーフロー","typography.sans":"モダンゴシック","typography.serif":"エレガント明朝","typography.mono":"モノスペース","modelsConfig.autoFetchModels":"モデル一覧を自動取得 (GET /models)","modelsConfig.fetchingModels":"モデル一覧を取得中…","modelsConfig.autoFetchedSuccess":"{total} 件のモデルを検出しました(新規 {count} 件)!","modelsConfig.baseUrlRequired":"Base URL を入力してください","theme.oatmeal":"オートミールラテ","theme.pine":"深緑パイン","theme.navy":"ホライゾンネイビー","theme.dawnFlow":"朝焼け微光","theme.oceanFlow":"深海幽光","theme.sakuraFlow":"桜落夕雪","theme.bambooFlow":"竹林雨霁","plan.truncatedNote":"プランファイルが大きすぎるため、先頭256KBのみ表示しています。","fileExplorer.revealInFileManager":"ファイルマネージャーで表示","fileExplorer.revealFailed":"ファイルマネージャーで開けませんでした"}'),a=JSON.parse('{"agentSession.advisorDisabled":"顾问已禁用 — 请通过输入框中的星形图标启用。","agentSession.commandCompleted":"命令已完成","agentSession.commandRequiresArgs":"用法:{command} {usage}","agentSession.commandFailed":"命令失败","agentSession.compactedContext":"已压缩上下文","agentSession.copiedLastMessage":"已复制最后一条助手消息","agentSession.eventStreamFailed":"无法连接到智能体事件流,请重试。","agentSession.eventStreamTimeout":"连接智能体事件流超时,请重试。","agentSession.nameUsage":"用法:/name <name>","agentSession.noActiveSession":"没有活动会话","agentSession.noMessageToCopy":"没有可复制的助手消息","agentSession.noMessages":"(暂无消息)","agentSession.noSessionToCompact":"没有可压缩上下文的活动会话","agentSession.noSessionToName":"没有可命名的活动会话","agentSession.noSessionToReload":"没有可重新加载的活动会话","agentSession.openInBrowser":"请在浏览器中打开:{url}","agentSession.unsafeUrlBlocked":"已阻止不安全的链接 {url}","agentSession.reloadedResources":"已重新加载会话资源","agentSession.sendFailed":"发送消息失败:{detail}","agentSession.sessionRenamed":"会话已重命名为 {name}","agentSession.shellSessionFailed":"无法为 shell 命令创建会话","agentSession.startingAgent":"正在启动 omp……会话首次启动可能需要一些时间。","agentSession.toolPresetNotice":"工具预设在会话启动时生效;当前会话将保留现有工具。","archiveBrowser.title":"已归档会话","archiveBrowser.description":"浏览并恢复已归档的会话。","archiveBrowser.searchPlaceholder":"按名称、目录或消息搜索归档…","archiveBrowser.refresh":"刷新归档列表","archiveBrowser.close":"关闭","archiveBrowser.loading":"正在加载已归档会话…","archiveBrowser.loadFailed":"加载已归档会话失败:{detail}","archiveBrowser.retry":"重试","archiveBrowser.noArchives":"暂无已归档会话","archiveBrowser.noArchivesDescription":"您从侧边栏归档的会话将显示在这里。","archiveBrowser.noMatches":"未找到匹配的归档","archiveBrowser.noMatchesDescription":"请尝试调整搜索关键词。","archiveBrowser.selectPrompt":"从列表中选择一个归档以查看详情并进行恢复。","archiveBrowser.restore":"恢复会话","archiveBrowser.restoring":"恢复中…","archiveBrowser.restoreSuccess":"已恢复会话“{name}”","archiveBrowser.restoreFailed":"恢复会话失败:{detail}","archiveBrowser.directory":"工作目录","archiveBrowser.sessionId":"会话 ID","archiveBrowser.created":"创建时间","archiveBrowser.archivedAt":"归档时间","archiveBrowser.messages":"消息数","archiveBrowser.size":"归档大小","archiveBrowser.firstMessage":"初始提示词 / 消息","archiveBrowser.noFirstMessage":"(无初始消息)","archiveBrowser.restoreNotice":"恢复此会话将把它移回活跃工作区并在聊天窗口中打开。","archiveBrowser.copyId":"复制会话 ID","archiveBrowser.copied":"已复制会话 ID","archiveBrowser.count":"{count} 个归档","appShell.appUpdateAvailable":"ompweb 有可用更新","appShell.commandCopied":"命令已复制到剪贴板","appShell.commandCopyFailed":"无法复制命令","appShell.copyCommand":"复制","appShell.copied":"已复制","appShell.ompUpdateAvailable":"OMP 有可用更新","appShell.updateVersion":"v{current} → v{available}","settingsConfig.systemUpdates":"系统与更新","settingsConfig.systemUpdatesDescription":"查看应用版本、OMP 运行时更新并管理活动会话。","settingsConfig.appLabel":"ompweb 应用","settingsConfig.ompLabel":"OMP 运行时","settingsConfig.checkingUpdates":"正在检查更新…","settingsConfig.upToDate":"v{version} 已是最新版本","settingsConfig.versionUnavailable":"版本不可用","settingsConfig.checkAppUpdates":"检查 ompweb 更新","settingsConfig.checkOmpUpdates":"检查 OMP 更新","settingsConfig.refresh":"刷新","settingsConfig.runAppUpdateCommand":"请在终端运行以下命令更新 ompweb:","settingsConfig.runOmpUpdateCommand":"请在终端运行以下命令更新 OMP 运行时:","settingsConfig.restarting":"正在重启…","settingsConfig.restartSessions":"重启 OMP 会话","settingsConfig.restartSuccess":"已重启 {count} 个活动 OMP 会话。","settingsConfig.changelog":"更新日志","appShell.copyFilePath":"复制文件路径","appShell.copySessionId":"复制会话 ID","appShell.fullHistory":"完整历史","appShell.fullHistoryUnavailable":"会话保存后才能查看完整历史","appShell.generateSessionTitle":"生成会话标题","appShell.generateTitle":"生成标题","appShell.generating":"生成中...","appShell.generationFailed":"生成失败","appShell.getStarted":"开始使用","appShell.getStartedStep1":"从侧边栏选择一个项目目录","appShell.getStartedStep2":"通过底部的 {models} 按钮添加模型","appShell.hideFilePanel":"隐藏文件面板","appShell.hideSidebar":"隐藏侧边栏","appShell.inMemory":"内存中","appShell.loading":"加载中…","appShell.models":"模型","appShell.noFileOpen":"未打开文件","appShell.openingWorkspace":"正在打开工作区...","appShell.plugins":"插件","appShell.resizeSidebar":"调整侧边栏大小","appShell.resizeSidebarTitle":"拖动以调整侧边栏大小。双击或按回车键可重置为默认宽度。","appShell.sectionMessages":"消息","appShell.sectionSessionInfo":"会话信息","appShell.sectionTokens":"Token","appShell.selectSessionHint":"从侧边栏选择一个会话","appShell.sessionInfo":"会话信息","appShell.sessionInfoLoadHint":"发送消息或运行 /session 以加载会话信息","appShell.showFilePanel":"显示文件面板","appShell.showSidebar":"显示侧边栏","appShell.skills":"技能","appShell.statAssistant":"助手","appShell.statCacheRead":"缓存读取","appShell.statCacheRate":"缓存命中","appShell.statCacheWrite":"缓存写入","appShell.statContext":"上下文","appShell.statCost":"费用","appShell.statFile":"文件","appShell.statId":"ID","appShell.statInput":"输入","appShell.statName":"名称","appShell.statOutput":"输出","appShell.statToolCalls":"工具调用","appShell.statToolResults":"工具结果","appShell.statTotal":"总计","appShell.statUser":"用户","appShell.switchToDarkMode":"切换到深色模式","appShell.switchToLightMode":"切换到浅色模式","appShell.switchToSystemTheme":"切换到系统主题","appShell.systemTheme":"正在使用系统主题(点击切换到浅色)","appShell.sessionComplete":"会话已完成","appShell.taskFinished":"任务已完成。","appShell.system":"系统","appShell.systemPrompt":"系统提示词","appShell.systemPromptEmpty":"系统提示词为空(工具已禁用)","appShell.systemPromptLoadHint":"系统提示词尚未加载","appShell.systemPromptLoading":"正在加载系统提示词…","appShell.titleGenNeedsMessage":"请先发送消息再为会话命名","appShell.titleGenUnavailable":"会话保存后才能生成标题","appShell.titleUpdated":"标题已更新","appShell.tooltipCacheRead":"缓存读取:{value}","appShell.tooltipCacheWrite":"缓存写入:{value}","appShell.tooltipCacheRate":"缓存命中:{percent}","appShell.tooltipContext":"上下文:{percent}(共 {tokens} token)","appShell.tooltipMaxOutput":"最大输出:{tokens} 个 token","appShell.tooltipCost":"费用:${value}","appShell.tooltipInput":"输入:{value}","appShell.tooltipOutput":"输出:{value}","appShell.tooltipCurrentSpeed":"当前:{value}","appShell.tooltipAverageSpeed":"平均:{value}","appShell.unableToOpenWorkspace":"无法打开工作区","appShell.unknown":"未知","appShell.viewFullHistory":"查看完整历史","branchNavigator.assistantLabel":"[助手]","branchNavigator.branches":"分支","branchNavigator.noActiveSession":"没有活动会话","branchNavigator.noBranches":"此会话没有分支","branchNavigator.roleAssistant":"A","branchNavigator.roleUser":"U","chatInput.attachFile":"附加文件","chatInput.attachImage":"附加图片","chatInput.fastLabel":"快速","chatInput.queuedDelete":"删除","chatInput.queuedDeleteTitle":"移除这条已排队消息","chatInput.queuedEdit":"编辑","chatInput.queuedEditTitle":"编辑这条已排队消息","chatInput.queuedFollowUp":"已排队的后续消息","chatInput.queuedSteer":"已排队的引导消息","chatInput.queuedSteerAction":"引导","chatInput.queuedSteerTitle":"将此消息作为引导发送","chatInput.queuedPrompts":"排队的提示词","chatInput.expandQueued":"展开所有排队提示词","chatInput.collapseQueued":"折叠排队提示词","chatInput.settings":"设置","chatInput.changeModel":"切换模型","chatInput.modelsLabel":"模型","chatInput.changeReasoning":"更改思考等级","chatInput.changeReasoningTitle":"更改思考等级:{level}","chatInput.reasoningLabel":"思考","chatInput.changeToolPreset":"更改工具预设","chatInput.changeToolPresetTitle":"更改工具预设:{preset}","chatInput.cmdCompact":"压缩上下文,可附加说明","chatInput.commandUsageTitle":"命令用法","chatInput.cmdGoal":"设定本次会话的目标","chatInput.cmdGoalArg":"[目标]","chatInput.goalActive":"目标进行中","chatInput.expandGoal":"展开当前目标","chatInput.collapseGoal":"收起当前目标","chatInput.cmdPlan":"制定分步计划","chatInput.cmdPlanArg":"[任务]","chatInput.planningInProgress":"正在制定计划","chatInput.cmdReview":"审查项目状态与改动","chatInput.cmdReviewArg":"[范围]","chatInput.cmdFix":"修复报告的问题","chatInput.cmdFixArg":"[问题]","chatInput.cmdTest":"编写并运行测试","chatInput.cmdTestArg":"[目标]","chatInput.cmdExplain":"解释代码或概念","chatInput.cmdExplainArg":"[对象]","chatInput.cmdSimplify":"在保持行为不变的前提下简化代码","chatInput.cmdSimplifyArg":"[目标]","chatInput.cmdCommit":"暂存并提交更改","chatInput.cmdCommitArg":"[消息]","chatInput.cmdCopy":"复制最后一条助手消息","chatInput.cmdName":"设置会话显示名称","chatInput.cmdAdvisor":"对当前工作进行独立的顾问评审","chatInput.cmdAdvisorArg":"[主题]","chatInput.cmdReload":"重新加载扩展、技能、提示词和工具","chatInput.cmdSession":"显示会话的消息、token 和费用统计","chatInput.collapseControls":"收起控件","chatInput.commandCount.one":"{count} 个命令","chatInput.commandCount.other":"{count} 个命令","chatInput.compact":"压缩","chatInput.compactContext":"压缩上下文","chatInput.compactResult":"{verb}:{before} -> {after} token(节省 {saved})","chatInput.compacted":"已压缩","chatInput.compactedWithReason":"已压缩({reason})","chatInput.compacting":"压缩中…","chatInput.advisorReviewingTitle":"顾问评审中 \xb7 {model}({reasoning})","chatInput.disableSound":"关闭完成提示音","chatInput.advisorEnableTitle":"在此对话中启用顾问","chatInput.advisorDisableTitle":"顾问:{model}({reasoning})— 点击禁用","chatInput.advisorReasoningDefault":"模型默认","chatInput.enableSound":"开启完成提示音","chatInput.filesHeader":"文件 \xb7 {countLabel}","chatInput.followUp":"追加消息","chatInput.followUpTitle":"将此消息排队,待智能体完成后发送","chatInput.groupBuiltin":"内置","chatInput.groupExtensions":"扩展","chatInput.groupOmpBuiltin":"omp 命令","chatInput.groupPrompts":"提示词","chatInput.groupSkills":"技能","chatInput.dormant":"休眠","chatInput.imagesCannotQueue":"智能体运行时无法排队图片附件","chatInput.indexTruncated":"索引已截断","chatInput.inputHistory":"输入历史","chatInput.kindFollowUp":"追加消息","chatInput.kindSteer":"引导","chatInput.loadingCommands":"正在加载命令...","chatInput.loadingFiles":"正在加载文件...","chatInput.loadingModels":"正在加载模型...","chatInput.matchCount.one":"{count} 个匹配","chatInput.matchCount.other":"{count} 个匹配","chatInput.queue":"排队","chatInput.queueMessage":"智能体完成后将此消息排队发送","chatInput.modelError":"模型错误","chatInput.more":"更多","chatInput.moreControls":"更多控件","chatInput.noAvailableModels":"没有可用模型","chatInput.noCommandsFound":"未找到扩展、提示词或技能命令","chatInput.noMatchingFiles":"没有匹配的文件","chatInput.noMatchingModels":"没有匹配的模型","chatInput.noModels":"无模型","chatInput.placeholder":"输入消息… 输入 / 使用命令,@ 引用文件","chatInput.placeholderRunning":"智能体运行中…","chatInput.placeholderSteer":"立即引导 / 排队追加消息...","chatInput.queuedCount":"已排队 \xb7 {count}","chatInput.recallQueueTitle":"移除所有排队消息并放回输入框以便编辑","chatInput.recallToInput":"撤回到输入框","chatInput.retrying":"重试中({attempt}/{maxAttempts})…","chatInput.searching":"搜索中…","chatInput.searchingAllFiles":"正在搜索所有文件…","chatInput.searchModels":"搜索模型…","chatInput.selectModel":"选择模型","chatInput.appliesNextPrompt":"应用于下一条提示词","chatInput.send":"发送","chatInput.shellLocal":"Shell \xb7 输出仅保留在本地","chatInput.shellToModel":"Shell \xb7 输出发送给模型","chatInput.slashCommandsHeader":"斜杠命令 \xb7 {countLabel}","chatInput.steer":"引导","chatInput.steerNowTitle":"中断当前运行并立即注入此消息","chatInput.stop":"停止","chatInput.stopAgent":"停止智能体","chatInput.stopCompaction":"停止压缩上下文","chatInput.tabEnterHint":"Tab / Enter","chatInput.thinkingAuto":"使用 omp 默认值","chatInput.thinkingHigh":"高思考等级","chatInput.thinkingLow":"低思考等级","chatInput.thinkingMax":"最高思考等级","chatInput.thinkingMedium":"中思考等级","chatInput.thinkingMinimal":"最低思考等级","chatInput.thinkingOff":"关闭思考","chatInput.thinkingXhigh":"超高思考等级","chatInput.toolsDefault":"4 个内置工具","chatInput.toolsFull":"全部内置工具","chatInput.toolsOff":"无工具,只读","chatWindow.cancel":"取消","chatWindow.close":"关闭","chatWindow.collapseProcessDetails":"收起过程详情","chatWindow.confirm":"确认","chatWindow.expandProcessDetails":"展开过程详情","chatWindow.extensionPanel":"扩展面板","chatWindow.extensionRequest":"扩展请求","chatWindow.extensionTerminalInput":"扩展终端输入","chatWindow.loadingSession":"正在加载会话...","chatWindow.messageCount.one":"{count} 条消息","chatWindow.messageCount.other":"{count} 条消息","chatWindow.processDetails":"过程详情","chatWindow.runningCommand":"正在运行命令...","chatWindow.runningNamed":"正在运行 {names}...","chatWindow.runningNamedMore":"正在运行 {names}(+{more})...","chatWindow.runningTool":"正在运行工具...","chatWindow.compactingContext":"正在压缩上下文…","chatWindow.compactedHistoryNotice":"较早的消息已从当前压缩上下文中隐藏。","chatWindow.fullHistoryVisible":"正在显示完整会话记录;这不会改变代理上下文。","chatWindow.viewPreCompactionHistory":"查看较早历史","chatWindow.returnToCompactHistory":"返回压缩视图","chatWindow.scrollUpToLoad":"向上滚动加载更早的消息(隐藏 {count} 条)","chatWindow.submit":"提交","chatWindow.next":"下一题","chatWindow.thinking":"思考中...","chatWindow.subagentCount.one":"{count} 个子代理","chatWindow.subagentCount.other":"{count} 个子代理","chatWindow.subagentState.aborted":"已中止","chatWindow.subagentState.completed":"已完成","chatWindow.subagentState.failed":"失败","chatWindow.subagentState.started":"运行中","chatWindow.subagentSummary":"{running} 运行中 \xb7 共 {total} 个","chatWindow.subagentsPanel":"子代理","chatWindow.subagentRetrying":"重试 {attempt}/{max}","chatWindow.subagentRetryAttempt":"第 {attempt} 次尝试","chatWindow.subagentNestedCount":"嵌套 {count}","chatWindow.tokensUnit":"{count} 词元","chatWindow.contextGauge":"{used}/{total} 上下文","chatWindow.collapsePanel":"收起","chatWindow.expandPanel":"展开","chatWindow.todoBlocker":"已阻塞:{blocker}","chatWindow.todoList":"任务","chatWindow.todoPhaseStatus":"{name} {done}/{total}","chatWindow.todoProgress":"已完成 {done}/{total}","chatWindow.todoShowAll":"显示全部任务","chatWindow.todoShowLess":"显示更少任务","chatWindow.todoStatus.abandoned":"已放弃","chatWindow.todoStatus.blocked":"已阻塞","chatWindow.todoStatus.completed":"已完成","chatWindow.todoStatus.in_progress":"进行中","chatWindow.todoStatus.pending":"待处理","chatWindow.toolCallCount.one":"{count} 次工具调用","chatWindow.toolCallCount.other":"{count} 次工具调用","chatWindow.versionNotFound":"未找到","chatWindow.waitingModel":"等待模型响应...","subagentTranscript.title":"子代理对话记录","subagentTranscript.close":"关闭记录","subagentTranscript.noMessages":"暂无消息","subagentTranscript.loading":"加载中…","subagentTranscript.loadMore":"加载更多","subagentTranscript.taskLabel":"任务","subagentTranscript.showTranscript":"显示完整记录","subagentTranscript.hideTranscript":"隐藏完整记录","subagentTranscript.resultLabel":"结果","subagentTranscript.noCompletion":"暂无输出","subagentTranscript.completionTruncated":"输出已被截断","codeBlock.copied":"已复制","codeBlock.copy":"复制","directoryPicker.cancel":"取消","directoryPicker.checking":"检查中…","directoryPicker.close":"关闭","directoryPicker.directoryPath":"目录路径","directoryPicker.go":"前往","directoryPicker.goToDirectory":"前往目录","directoryPicker.goToParent":"前往上级目录","directoryPicker.loadingDirectories":"正在加载目录…","directoryPicker.noSubdirectories":"没有子目录","directoryPicker.noDrives":"未找到盘符","directoryPicker.openPathBeforeSelecting":"请先打开此路径再选择","directoryPicker.pathPlaceholder":"/path/to/project 或 ~/project","directoryPicker.selectCurrentDirectory":"选择当前目录","directoryPicker.selectDirectory":"选择目录","directoryPicker.selectThisFolder":"选择此文件夹","errors.access_denied":"访问被拒绝","errors.action_required":"需要指定操作","errors.api_key_remove_unsupported":"omp-web 无法移除已存储的 API 密钥。请在终端运行 `omp` 并使用 /logout,或编辑 ~/.omp/agent/models.yml 中的提供商配置。","errors.api_key_store_unsupported":"omp-web 无法存储 API 密钥。请在终端运行 `omp` 并使用 /login,或设置提供商的环境变量(如 OPENAI_API_KEY),或在 ~/.omp/agent/models.yml 中为自定义提供商配置 apiKey。","errors.assistant_message_not_found":"未找到助手消息","errors.bash_exclude_unsupported":"omp 无法在排除模型上下文的情况下运行 shell 命令(`!!`):RPC 的 bash 命令没有排除选项,输出仍会进入上下文。请改用单个 `!` 运行(输出会共享给模型),或在 omp web 之外的终端中执行。","errors.bash_output_too_large":"完整输出过大,无法显示","errors.bash_output_unavailable":"完整输出不可用","errors.branch_required":"需要提供分支名称","errors.cannot_remove_main_worktree":"无法移除主工作树","errors.cwd_must_be_absolute":"工作目录必须是绝对路径","errors.cwd_package_scope_required":"需要提供 cwd、package 和 scope","errors.cwd_required":"需要提供工作目录","errors.cwd_required_for_project_install":"项目级安装需要提供工作目录","errors.directory_not_found":"目录不存在","errors.docx_too_large":"DOCX 过大,无法预览(超过 10MB)","errors.file_not_found":"未找到文件","errors.file_path_required":"需要提供文件路径","errors.file_too_large_preview":"文件过大,无法预览(超过 256KB)","errors.generic":"请求失败","errors.image_too_large":"图片过大(超过 10MB)","errors.invalid_block_index":"需要提供有效的块索引","errors.invalid_branch_name":"分支名称无效","errors.invalid_conflict_strategy":"冲突处理策略无效","errors.invalid_file_names":"文件名无效","errors.invalid_path":"路径无效","errors.invalid_request":"请求无效","errors.invalid_request_type":"文件请求类型无效","errors.invalid_upload_type":"上传请求类型无效","errors.login_no_pending":"此 token 没有待处理的登录","errors.login_token_code_required":"需要提供登录 token 和授权码","errors.login_token_mismatch":"登录 token 与提供商不匹配","errors.logout_unsupported":"omp-web 无法断开此提供商的连接:omp 未在其自身 UI 之外提供登出命令。请在终端运行 `omp` 并使用 /logout 移除凭据。","errors.model_id_required":"需要提供模型 ID","errors.model_required":"需要提供模型配置","errors.model_test_unresolved":"模型未能解析——请检查 API 密钥和提供商配置","errors.models_config_unparseable":"models.yml 包含无效的 YAML。请手动修复,omp-web 不会覆盖该文件。","errors.not_a_directory":"该路径不是目录","errors.not_a_file":"该路径不是文件","errors.not_a_skill_file":"该路径不是 SKILL.md 文件","errors.not_a_worktree":"不是此仓库的工作树","errors.omp_not_found":"未找到 omp 可执行文件。请安装 oh-my-pi 或设置 OMP_WEB_OMP_BIN。","errors.package_required":"需要提供 package","errors.package_scope_together":"package 和 scope 必须同时提供","errors.path_must_be_absolute":"路径必须是绝对路径","errors.path_required":"需要提供路径","errors.plugin_unsupported_action":"不支持的插件操作","errors.preview_unavailable":"此文件类型不支持预览","errors.provider_name_required":"需要提供提供商名称","errors.provider_required":"需要提供提供商配置","errors.query_required":"需要提供搜索关键词","errors.session_file_malformed":"会话文件缺失或格式错误","errors.session_file_too_large":"该会话过大,omp-web 无法打开。请在终端中使用 `omp --resume` 打开。","errors.session_name_required":"需要提供会话名称","errors.session_no_messages_to_name":"会话没有可用于命名的用户消息","errors.session_not_found":"未找到会话","errors.session_restarting":"该会话正在重启,请稍后重试。","errors.skill_install_failed":"安装失败","errors.skill_not_installed":"未找到已安装的技能","errors.skill_update_unsupported":"此技能无法自动更新","errors.source_required":"需要提供插件来源","errors.thinking_block_not_found":"未找到思考块","errors.upload_conflict":"一个或多个文件已存在","errors.upload_directory_not_found":"未找到上传目录","errors.upload_file_too_large":"单个上传文件不能超过 25MB","errors.upload_target_not_directory":"上传目标不是目录","errors.upload_total_too_large":"上传总大小不能超过 100MB","errors.worktree_directory_exists":"工作树目录已存在","errors.worktree_dirty":"工作树包含已修改或未跟踪的文件","fileExplorer.addAllUploadedFiles":"将所有已上传文件添加到聊天","fileExplorer.addUploadedFile":"将已上传文件添加到聊天","fileExplorer.cancel":"取消","fileExplorer.cannotReplace":"无法替换:{files}","fileExplorer.checkingFiles":"正在检查文件","fileExplorer.containsChangedFiles":"包含已更改的文件","fileExplorer.dismissError":"关闭错误提示","fileExplorer.dismissUploadResults":"关闭上传结果","fileExplorer.downloadFile":"下载文件","fileExplorer.emptyDir":"空","fileExplorer.failedCount":"{count} 个失败","fileExplorer.filesAlreadyExist.one":"{count} 个文件已存在:{files}","fileExplorer.filesAlreadyExist.other":"{count} 个文件已存在:{files}","fileExplorer.gitAdded":"已添加","fileExplorer.gitConflict":"冲突","fileExplorer.gitDeleted":"已删除","fileExplorer.gitModified":"已修改","fileExplorer.gitRenamed":"已重命名","fileExplorer.gitStatusFailed":"Git 状态加载失败(HTTP {status})","fileExplorer.gitUntracked":"未跟踪","fileExplorer.insertPathIntoChat":"将路径插入聊天","fileExplorer.loadFailed":"文件加载失败(HTTP {status})","fileExplorer.loadingFiles":"正在加载文件...","fileExplorer.mention":"提及","fileExplorer.newlyUploaded":"新上传","fileExplorer.noFilesFound":"未找到文件","fileExplorer.replace":"替换","fileExplorer.skipExisting":"跳过已存在","fileExplorer.skippedCount":"{count} 个已跳过","fileExplorer.uploadCancelled":"已取消上传","fileExplorer.uploadCheckFailed":"上传检查失败(HTTP {status})","fileExplorer.uploadFailed":"上传失败(HTTP {status})","fileExplorer.uploadNetworkError":"上传文件时发生网络错误","fileExplorer.uploadedCount":"{count} 个已上传","fileExplorer.uploadingPercent":"上传中,{percent}%","fileViewer.audioLoadFailed":"音频加载失败","fileViewer.audioType":"音频","fileViewer.compareWithHead":"将工作树与 HEAD 对比","fileViewer.disableWordWrap":"关闭自动换行","fileViewer.docxPreview":"docx 预览","fileViewer.docxTooLarge":"DOCX 过大,无法预览(>10MB)","fileViewer.downloadFile":"下载文件","fileViewer.enableWordWrap":"开启自动换行","fileViewer.htmlPreview":"HTML 预览","fileViewer.imageLoadFailed":"图片加载失败","fileViewer.imageType":"图片","fileViewer.live":"实时","fileViewer.liveSyncActive":"实时同步已启用","fileViewer.loading":"加载中...","fileViewer.mentionSelectedLines":"提及选中的行","fileViewer.metadata":"{language} \xb7 {lines} 行 \xb7 {size}","fileViewer.modeDiff":"差异","fileViewer.modePreview":"预览","fileViewer.modeSource":"源码","fileViewer.noChanges":"无更改","fileViewer.notWatching":"未监听","fileViewer.previewTitle":"预览 {name}","fileViewer.static":"静态","fileViewer.unchangedLines.one":"... {count} 行未更改 ...","fileViewer.unchangedLines.other":"... {count} 行未更改 ...","fileViewer.viewMode":"文件查看模式","languageSwitcher.switchTo":"切换语言为 {language}","mermaidBlock.close":"关闭","mermaidBlock.diagramTitle":"Mermaid 图表","mermaidBlock.fitToWidth":"适应宽度","mermaidBlock.invalidDiagram":"无效的 Mermaid 图表","mermaidBlock.retry":"重试","mermaidBlock.openViewer":"打开图表查看器","mermaidBlock.preview":"预览","mermaidBlock.previewAfterStreaming":"流式输出结束后可预览","mermaidBlock.previewTitle":"预览 Mermaid 图表","mermaidBlock.rendering":"正在渲染 Mermaid 图表","mermaidBlock.showSourceTitle":"显示 Mermaid 源码","mermaidBlock.source":"源码","mermaidBlock.viewerLabel":"Mermaid 图表查看器","mermaidBlock.zoomIn":"放大","mermaidBlock.zoomOut":"缩小","imagePreview.close":"关闭","imagePreview.imageTitle":"图片","imagePreview.open":"打开图片预览","imagePreview.openWithAlt":"打开图片预览:{alt}","imagePreview.resetZoom":"重置缩放","imagePreview.viewerLabel":"图片预览","imagePreview.zoomIn":"放大","imagePreview.zoomOut":"缩小","messageView.collapse":"收起","messageView.compactionDescription":"此前的对话历史已被压缩为以下摘要:","messageView.compactionLabel":"压缩上下文","messageView.conversationCompacted":"对话已压缩","messageView.copied":"已复制","messageView.copy":"复制","messageView.copyMessage":"复制消息","messageView.largeMessageReveal":"大消息({size})。以纯文本显示","messageView.creating":"创建中...","messageView.creatingSession":"正在创建会话...","messageView.diffAfter":"之后","messageView.diffBefore":"之前","messageView.downloadFullOutput":"下载完整输出","messageView.durationSeconds":"{seconds}s","messageView.editFromHere":"编辑","messageView.editFromHereTitle":"跳回此处并编辑这条消息","messageView.estimatedTokens":"估算输出 token 数","messageView.advisorLabel":"顾问","messageView.expand":"展开","messageView.extensionType":"扩展","messageView.fileContext":"文件上下文:{parts}","messageView.filesModifiedCount":"{count} 个已修改","messageView.filesReadCount":"{count} 个已读取","messageView.hiddenExtensionMessage":"隐藏的扩展消息","messageView.hideDetails":"隐藏详情","messageView.invalidThinkingResponse":"无效的思考响应","messageView.loadingFullOutput":"加载中…","messageView.loadingThinking":"正在加载思考内容...","messageView.modifiedFiles":"已修改的文件","messageView.newSession":"新会话","messageView.newSessionTitle":"从此处分叉出新会话","messageView.noMessage":"(无消息)","messageView.noOutput":"(无输出)","messageView.noSummary":"(无摘要)","messageView.readFiles":"已读取的文件","messageView.showDetails":"显示详情","messageView.showExtensionMessage":"显示扩展消息","messageView.taskSubagents":"子代理","messageView.thinking":"思考","messageView.thinkingUnavailable":"思考内容不可用","messageView.tokensPerSecond":"{tps} t/s","messageView.compactionTokenDelta":"{before} → {after} tokens","messageView.usageCacheRead":"{tokens} 缓存读","messageView.usageCacheWrite":"{tokens} 缓存写","messageView.usageInput":"{tokens} 输入","messageView.usageOutput":"{tokens} 输出","messageView.viewFullOutput":"查看完整输出","messageView.fullOutputDownload":"下载","messageView.fullOutputLoading":"正在加载完整输出…","modelsConfig.addFromCatalog":"从目录添加","modelsConfig.addModel":"+ 模型","modelsConfig.addProvider":"+ 添加提供商","modelsConfig.alreadyConnected":"已连接。你可以重新登录或断开连接。","modelsConfig.api":"API","modelsConfig.apiKey":"API 密钥","modelsConfig.apiKeyHint":"以 `!` 开头可运行 shell 命令,也可使用环境变量名","modelsConfig.apiKeyManageHint":"API 密钥由 omp 自身管理,无法在此更改。要添加或移除密钥,请在终端运行 `omp` 并使用 `/login` / `/logout`,或设置提供商的环境变量(如 `OPENAI_API_KEY`),或在 models.yml 中为自定义提供商配置 `apiKey`。","modelsConfig.apiKeyPlaceholder":"ENV_VAR_NAME、!shell-command 或直接填写密钥","modelsConfig.apiOverride":"API 覆盖","modelsConfig.baseUrl":"Base URL","modelsConfig.browserNotOpened":"如果浏览器窗口未打开,请点击这里打开登录页面。","modelsConfig.cancel":"取消","modelsConfig.catalogAdd":"添加","modelsConfig.catalogAdded":"已添加","modelsConfig.catalogContext":"上下文 {n}","modelsConfig.catalogError":"目录不可用:{error}","modelsConfig.catalogLoading":"搜索中…","modelsConfig.catalogNoResults":"没有匹配的模型","modelsConfig.catalogPrice":"{input} / {output} $/MTok","modelsConfig.catalogSearchPlaceholder":"搜索 models.dev…","modelsConfig.catalogSetBaseUrl":"同时设置提供商的 Base URL","modelsConfig.catalogTitle":"从目录添加模型","modelsConfig.close":"关闭","modelsConfig.completeSignIn":"请在浏览器中完成登录,然后从地址栏复制重定向 URL 并粘贴到下方。","modelsConfig.configured":"已配置","modelsConfig.connectAccount":"连接你的 {name} 账户。","modelsConfig.connected":"已连接","modelsConfig.connectedSuccessfully":"连接成功。","modelsConfig.connectionLost":"连接已断开","modelsConfig.contextWindowTokens":"上下文窗口(token)","modelsConfig.continuing":"继续中…","modelsConfig.costCacheRead":"缓存读取","modelsConfig.costCacheWrite":"缓存写入","modelsConfig.costInput":"输入","modelsConfig.costOutput":"输出","modelsConfig.costPerMillion":"费用(每百万 token)","modelsConfig.custom":"自定义","modelsConfig.customEndpointFormat":"自定义端点格式","modelsConfig.customSection":"自定义","modelsConfig.default":"默认","modelsConfig.delete":"删除","modelsConfig.deviceCodeInstructions":"打开验证页面并输入此代码:","modelsConfig.disabled":"已禁用","modelsConfig.disconnect":"断开连接","modelsConfig.displayNamePlaceholder":"显示名称","modelsConfig.enterValue":"输入值…","modelsConfig.expiresInMinutes.one":"{count} 分钟后过期。","modelsConfig.expiresInMinutes.other":"{count} 分钟后过期。","modelsConfig.failed":"失败","modelsConfig.hideApiKey":"隐藏 API 密钥","modelsConfig.idRequired":"ID *","modelsConfig.imageInput":"图片输入","modelsConfig.inheritNone":"— 继承 / 无 —","modelsConfig.loading":"加载中…","modelsConfig.login":"登录","modelsConfig.maxOutputTokens":"最大输出 token 数","modelsConfig.model":"模型","modelsConfig.modelCount.one":"{count} 个模型","modelsConfig.modelCount.other":"{count} 个模型","modelsConfig.name":"名称","modelsConfig.networkError":"网络错误","modelsConfig.newModel":"新模型","modelsConfig.noApiKeyRequired":"无需 API 密钥(auth: none)","modelsConfig.noProvidersMatch":"没有匹配的提供商","modelsConfig.notConfigured":"未配置","modelsConfig.notConnected":"未连接","modelsConfig.ok":"确定","modelsConfig.openaiAnthropicCompatible":"OpenAI / Anthropic 兼容","modelsConfig.openingBrowser":"正在打开浏览器…","modelsConfig.parseErrorBody":"磁盘上的文件包含无效的 YAML,因此无法在此编辑。请用文本编辑器修复后重新加载——为避免覆盖现有的提供商配置,保存已被禁用。","modelsConfig.parseErrorTitle":"无法解析 models.yml","modelsConfig.provider":"提供商","modelsConfig.providerConfigured.one":"{name} 已配置——{count} 个模型可用。omp 已从环境变量、omp 凭据存储或 models.yml 解析其 API 密钥。","modelsConfig.providerConfigured.other":"{name} 已配置——{count} 个模型可用。omp 已从环境变量、omp 凭据存储或 models.yml 解析其 API 密钥。","modelsConfig.providerName":"提供商名称","modelsConfig.providerNotConfigured":"{name} 未配置。","modelsConfig.reasoningThinking":"推理 / 思考","modelsConfig.reload":"重新加载","modelsConfig.relogin":"重新登录","modelsConfig.remove":"移除","modelsConfig.rename":"重命名","modelsConfig.resetToAuto":"重置为自动","modelsConfig.save":"保存","modelsConfig.saveErrorTitle":"保存 models.yml 失败","modelsConfig.saveSuccessTitle":"已保存模型配置","modelsConfig.saved":"已保存","modelsConfig.saving":"保存中…","modelsConfig.searchProviders":"搜索提供商…","modelsConfig.selectProviderOrModel":"选择提供商或模型","modelsConfig.serverError":"服务器错误 {status}","modelsConfig.showApiKey":"显示 API 密钥","modelsConfig.submit":"提交","modelsConfig.subscription":"订阅","modelsConfig.subscriptions":"订阅","modelsConfig.test":"测试","modelsConfig.testTitle":"验证提供商/模型配置(不会发送测试提示词)","modelsConfig.testing":"测试中…","modelsConfig.thinkingLevels":"思考等级","modelsConfig.title":"模型","modelsConfig.validatingConfig":"正在验证模型配置...","modelsConfig.verifying":"验证中…","pluginsConfig.actionErrorTitle":"无法{action}","pluginsConfig.action_install":"安装","pluginsConfig.action_remove":"移除","pluginsConfig.action_update":"更新","pluginsConfig.action_disable":"禁用","pluginsConfig.action_enable":"启用","pluginsConfig.addPlugin":"添加插件","pluginsConfig.addPluginTitle":"添加插件","pluginsConfig.badgeDisabled":"已禁用","pluginsConfig.badgeFiltered":"已过滤","pluginsConfig.close":"关闭","pluginsConfig.configuredVersion":"已配置 {version}","pluginsConfig.cwd":"Cwd","pluginsConfig.diagnosticCount.one":"{count} 条诊断","pluginsConfig.diagnosticCount.other":"{count} 条诊断","pluginsConfig.disablePackage":"禁用包","pluginsConfig.disabled":"已禁用","pluginsConfig.enablePackage":"启用包","pluginsConfig.examples":"示例","pluginsConfig.extCount.one":"{count} 个扩展","pluginsConfig.extCount.other":"{count} 个扩展","pluginsConfig.extensions":"扩展","pluginsConfig.install":"安装","pluginsConfig.installedPath":"安装路径","pluginsConfig.installedVersion":"已安装 {version}","pluginsConfig.installing":"安装中...","pluginsConfig.loading":"加载中...","pluginsConfig.noPlugins":"未配置任何插件","pluginsConfig.noResolvedResources":"没有已解析的资源","pluginsConfig.noResources":"没有资源","pluginsConfig.notFound":"未找到","pluginsConfig.openSessionToReload":"打开一个会话以重新加载","pluginsConfig.package":"包","pluginsConfig.packageDisabled":"包已禁用","pluginsConfig.packageDisabledMsg":"包已禁用。","pluginsConfig.packageEnabledMsg":"包已启用。","pluginsConfig.packageInstalled":"包已安装。","pluginsConfig.packageRemoved":"包已移除。","pluginsConfig.packageUpdated":"包已更新。","pluginsConfig.promptCount.one":"{count} 个提示词","pluginsConfig.promptCount.other":"{count} 个提示词","pluginsConfig.prompts":"提示词","pluginsConfig.refresh":"刷新","pluginsConfig.reloadCurrentSession":"重新加载当前会话","pluginsConfig.reloadSession":"重新加载会话","pluginsConfig.reloading":"重新加载中...","pluginsConfig.remove":"移除","pluginsConfig.removePluginTitle":"移除该插件?","pluginsConfig.removePluginBody":"将卸载 {source} 并丢弃其资源。","pluginsConfig.removing":"移除中...","pluginsConfig.resolvedResources":"已解析的资源","pluginsConfig.resources":"资源","pluginsConfig.scopeGlobal":"全局","pluginsConfig.scopeProject":"项目","pluginsConfig.selectPackage":"选择一个包","pluginsConfig.sessionReloaded":"会话已重新加载。","pluginsConfig.skillCount.one":"{count} 个技能","pluginsConfig.skillCount.other":"{count} 个技能","pluginsConfig.skills":"技能","pluginsConfig.source":"来源","pluginsConfig.status":"状态","pluginsConfig.statusDisabled":"已禁用","pluginsConfig.statusInstalled":"已安装","pluginsConfig.statusLoaded":"已加载","pluginsConfig.statusMissing":"缺失","pluginsConfig.themeCount.one":"{count} 个主题","pluginsConfig.themeCount.other":"{count} 个主题","pluginsConfig.themes":"主题","pluginsConfig.title":"插件","pluginsConfig.totalsSummary":"{extensions} 扩展 \xb7 {skills} 技能 \xb7 {prompts} 提示词 \xb7 {themes} 主题","pluginsConfig.unknown":"未知","pluginsConfig.update":"更新","pluginsConfig.updating":"更新中...","pluginsConfig.version":"版本","projects.activity":"{running} 个运行中,{unread} 个未读","projects.add":"添加工作区","projects.addTitle":"将工作区目录添加到侧边栏","projects.collapseProject":"折叠 {name}","projects.collapseProjectTitle":"折叠项目 {path}","projects.emptyProject":"此项目中暂无会话","projects.expandProject":"展开 {name}","projects.expandProjectTitle":"展开项目 {path}","projects.heading":"工作区","projects.loadFailed":"加载项目失败:{detail}","projects.aliasPrompt":"工作区显示名称","projects.editAlias":"编辑工作区名称","projects.moveDown":"下移","projects.moveUp":"上移","projects.nameAlias":"命名工作区","projects.reorderFailed":"更新工作区顺序失败","projects.updateFailed":"更新工作区失败","projects.noProjects":"还没有工作区。添加一个工作区目录以开始使用。","projects.actions":"项目操作","projects.remove":"从侧边栏移除 {name}","projects.removeTitle":"从侧边栏移除 {name}。会话将被保留,重新添加该目录即可恢复。","projects.running":"运行中","projects.showLess":"显示更少","projects.showMoreSessions":"再显示 {count} 个","projects.unread":"未读","sessionSidebar.agentRunning":"智能体运行中…","sessionSidebar.agentRunningAria":"智能体运行中","sessionSidebar.branchNamePlaceholder":"分支名称","sessionSidebar.cancel":"取消","sessionSidebar.collapseForks":"收起分叉","sessionSidebar.create":"创建","sessionSidebar.creating":"创建中…","sessionSidebar.customPath":"自定义路径…","sessionSidebar.archive":"归档","sessionSidebar.archiveConfirm":"归档“{title}”?","sessionSidebar.archiveLeafOnly":"请先归档子会话","sessionSidebar.archiveBrowser":"已归档会话","sessionSidebar.archiveBrowserTitle":"打开已归档会话浏览器","sessionSidebar.delete":"删除","sessionSidebar.deleteConfirm":"删除“{title}”?","sessionSidebar.deleteFailed":"删除会话失败","sessionSidebar.archiveFailed":"归档会话失败","sessionSidebar.expandForks":"展开分叉","sessionSidebar.explorer":"资源管理器","sessionSidebar.force":"强制","sessionSidebar.gitRepoRootOnly":"仅限 Git 仓库根目录","sessionSidebar.gitRepoRootOnlyTitle":"工作树仅在 Git 仓库根目录可用。","sessionSidebar.loadFailed":"会话加载失败:{detail}","sessionSidebar.loading":"加载中...","sessionSidebar.mainBadge":"main","sessionSidebar.new":"新建会话","sessionSidebar.newActivity":"新活动","sessionSidebar.newSessionActivity":"新的会话活动","sessionSidebar.newSessionIn":"在 {cwd} 新建会话","sessionSidebar.newWorktree":"新建工作树…","sessionSidebar.newWorktreeTitle":"为某个分支创建工作树检出","sessionSidebar.openRepoRoot":"打开仓库根目录","sessionSidebar.openRepoRootTitle":"打开仓库根目录以管理工作树。","sessionSidebar.refresh":"刷新","sessionSidebar.refreshExplorer":"刷新资源管理器","sessionSidebar.removeWorktreeTitle":"移除工作树检出 {path};分支会被保留","sessionSidebar.rename":"重命名","sessionSidebar.selectProjectFirst":"请先选择一个项目","sessionSidebar.switchWorktree":"切换工作树","sessionSidebar.switchWorktreeTo":"切换工作树:{path}","sessionSidebar.uncommittedForceRemove":"存在未提交的更改。强制移除检出?","sessionSidebar.uploadFiles":"上传文件","sessionSidebar.uploadFilesTitle":"上传文件到项目根目录","sessionSidebar.worktreeTitle":"工作树:{path}","sessionSidebar.worktreesLoading":"工作树...","sessionSidebar.worktreesLoadingTitle":"正在检查此目录的工作树。","sessionSidebar.import":"导入会话","sessionSidebar.importTitle":"导入会话文件 (.jsonl)","sessionSidebar.imported":"会话已导入","sessionSidebar.search":"搜索会话","sessionSidebar.searchTitle":"按名称或消息搜索会话","sessionSidebar.searchPlaceholder":"搜索会话…","sessionSidebar.filterRunning":"仅显示运行中的会话","sessionSidebar.filterRunningTitle":"仅筛选出当前正在运行的会话","sessionSidebar.noMatches":"没有匹配的会话","skillsConfig.addSkill":"添加技能","skillsConfig.addSkillTitle":"添加技能","skillsConfig.check":"检查","skillsConfig.checkFailed":"检查失败","skillsConfig.checkUpdates":"检查更新","skillsConfig.checking":"检查中...","skillsConfig.checksUnavailable":"无法自动检查","skillsConfig.close":"关闭","skillsConfig.deleteSkillTitle":"删除该技能?","skillsConfig.deleteSkillBody":"该技能将不再加载。但不会删除磁盘上的文件。","skillsConfig.description":"描述","skillsConfig.dormant":"休眠({count})","skillsConfig.toggleErrorTitle":"更新技能失败","skillsConfig.toggleSuccessTitle":"技能已更新","skillsConfig.groupGlobalSkillsSh":"全局 / skills.sh","skillsConfig.groupProjectSkillsSh":"项目 / skills.sh","skillsConfig.hiddenFromPrompt":"已从模型提示词中隐藏——点击启用","skillsConfig.install":"安装","skillsConfig.installed":"✓ 已安装","skillsConfig.installing":"安装中…","skillsConfig.loading":"加载中…","skillsConfig.name":"名称","skillsConfig.noSkillsFound":"未找到技能","skillsConfig.scopeGlobal":"全局","skillsConfig.scopePath":"路径","skillsConfig.scopeProject":"项目","skillsConfig.search":"搜索","skillsConfig.searchHint":"搜索 {site},发现并安装适合你的智能体的技能。","skillsConfig.searchPlaceholder":"例如 react、testing、deploy","skillsConfig.searching":"搜索中…","skillsConfig.selectSkill":"选择一个技能","skillsConfig.source":"来源","skillsConfig.title":"技能","skillsConfig.unknownVersion":"未知","skillsConfig.upToDate":"已是最新","skillsConfig.update":"更新","skillsConfig.updateAvailable":"有可用更新","skillsConfig.updateCount.one":"{count} 个更新","skillsConfig.updateCount.other":"{count} 个更新","skillsConfig.updating":"更新中...","skillsConfig.version":"版本","skillsConfig.visibleInPrompt":"已在模型提示词中显示——点击禁用","tabBar.close":"关闭","tabBar.closeTab":"关闭 {label}","errors.appCrash.title":"出了点问题","errors.appCrash.description":"渲染界面时发生了意外错误。你可以重试或刷新页面。","errors.appCrash.retry":"重试","commandPalette.label":"命令面板","commandPalette.placeholder":"搜索命令…","commandPalette.empty":"没有结果","commandPalette.sessions":"会话","commandPalette.actions":"操作","commandPalette.models":"模型","commandPalette.newSession":"新建会话","commandPalette.toggleTheme":"切换主题","commandPalette.currentModel":"当前模型","commandPalette.notAvailable":"由聊天管理","commandPalette.hints":"↑↓ 导航 \xb7 ↵ 选择 \xb7 esc 关闭","chatInput.interruptReply":"打断并回复","chatInput.interruptReplyTitle":"中止当前运行并立即回答","settingsTabs.ariaLabel":"设置分类","settingsTabs.general.label":"界面与行为","settingsTabs.general.description":"UI 首选项、完成提示音、发送模式","settingsTabs.safety.label":"安全与审批","settingsTabs.safety.description":"工具安全规则、YOLO 模式、终端权限","settingsTabs.models.label":"AI 模型默认值","settingsTabs.models.description":"思考预算、详细程度、性格基调、草稿区","settingsTabs.providers.label":"API 密钥与提供商","settingsTabs.providers.description":"已连接的 OAuth 账户、API 密钥与模型注册表","settingsTabs.intelligence.label":"智能体与智能","settingsTabs.intelligence.description":"顾问、记忆、自动学习、压缩与重试","settingsTabs.agents.label":"智能体","settingsTabs.agents.description":"任务智能体、模型设置与工具策略","settingsTabs.mcp.label":"扩展与工具","settingsTabs.mcp.description":"MCP 服务端、托管技能与 OMP 插件","settingsTabs.system.label":"系统与更新","settingsTabs.system.description":"应用更新、运行时版本与活动会话重启","settingsConfig.loadingSettings":"正在加载设置…","settingsConfig.title":"设置","settingsConfig.saving":"保存中…","settingsConfig.autoSaved":"已自动保存","settingsConfig.searchPlaceholder":"搜索设置…","settingsConfig.closeSettings":"关闭设置","settingsConfig.noSettingsMatch":"未找到与“{query}”匹配的设置。","settingsConfig.searchResults.one":"共找到 {count} 个与“{query}”匹配的设置项。","settingsConfig.searchResults.other":"共找到 {count} 个与“{query}”匹配的设置项。","settingsConfig.chipSection":"分类","settingsConfig.chipUI":"界面","settingsConfig.chipNativeOMP":"原生 OMP","settingsConfig.chipWorkspace":"工作区","settingsConfig.interfaceBehavior":"界面与行为","settingsConfig.interfaceBehaviorDesc":"控制界面展示、通知提示音及执行发送模式。","settingsConfig.keepToolCallsCollapsed":"保持工具调用折叠","settingsConfig.keepToolCallsCollapsedDesc":"工具执行时仅显示精简标头。","settingsConfig.thinkingDisplayMode":"思考过程展示方式","settingsConfig.thinkingDisplayModeDesc":"设置模型思考过程的展开/折叠行为。","settingsConfig.thinkingModeAuto":"自动 (流式生成时展开,完成后折叠)","settingsConfig.thinkingModeCollapsed":"始终折叠 (仅显示标头)","settingsConfig.thinkingModeExpanded":"始终展开 (显示完整思考)","settingsConfig.completionSound":"完成提示音","settingsConfig.completionSoundDesc":"智能体完成运行时播放提示音。","settingsConfig.messageDuringActiveRun":"运行中提交消息行为","settingsConfig.messageDuringActiveRunDesc":"智能体运行时在输入框提交消息的行为。立即引导会中断当前运行;排队追加会在结束后发送。","settingsConfig.steerCurrentRun":"引导当前运行","settingsConfig.queueFollowUp":"排队追加消息","settingsConfig.toolSafetyApprovals":"工具安全与审批","settingsConfig.toolSafetyApprovalsDesc":"工具执行安全规则和权限提示。保存于 ~/.omp/agent/config.yml。","settingsConfig.approvalMode":"审批模式","settingsConfig.approvalModeDesc":"选择 OMP 在调用工具前何时进行确认提示。","settingsConfig.alwaysAsk":"每次均询问","settingsConfig.allowWrites":"允许写入","settingsConfig.autoApproveYolo":"自动批准 (YOLO)","settingsConfig.bashOverride":"Bash 覆盖规则","settingsConfig.bashOverrideDesc":"专门针对终端命令覆盖默认审批策略。","settingsConfig.allow":"允许","settingsConfig.deny":"拒绝","settingsConfig.extensionToolRequests":"扩展工具请求","settingsConfig.extensionToolRequestsDesc":"自动批准扩展工具的授权请求。","settingsConfig.askEveryTime":"每次询问","settingsConfig.autoApprove":"自动批准","settingsConfig.modelDefaults":"AI 模型默认值","settingsConfig.modelDefaultsDesc":"配置默认思考力度、响应详细度、性格基调及思考块展示方式。","settingsConfig.reasoning":"思考等级","settingsConfig.reasoningDesc":"支持思考的模型默认思考力度。","settingsConfig.verbosity":"详细程度","settingsConfig.verbosityDesc":"支持该特性的提供商的回复详细级别。","settingsConfig.verbosityLow":"精简","settingsConfig.verbosityMedium":"适中","settingsConfig.verbosityHigh":"详细","settingsConfig.personality":"性格基调","settingsConfig.personalityDesc":"包含在 OMP 系统提示词中的风格基调。","settingsConfig.personalityDefault":"默认","settingsConfig.personalityFriendly":"友好","settingsConfig.personalityPragmatic":"实用","settingsConfig.personalityNone":"无","settingsConfig.thinkingBlocks":"思考块","settingsConfig.thinkingBlocksDesc":"在输出视图中隐藏模型的思考过程。","settingsConfig.externalThinking":"外部思考草稿","settingsConfig.externalThinkingDesc":"通过 think 工具进行私有草稿区思考。","settingsConfig.contextCompaction":"上下文压缩","settingsConfig.contextCompactionDesc":"OMP 会自动压缩超限的上下文以避免达到模型上下文上限。","settingsConfig.automaticCompaction":"自动压缩","settingsConfig.automaticCompactionDesc":"在达到模型上下文上限前自动压缩上下文。","settingsConfig.continueAfterCompaction":"压缩后继续执行","settingsConfig.continueAfterCompactionDesc":"上下文压缩完成后自动恢复任务执行。","settingsConfig.maintenanceStrategy":"压缩维护策略","settingsConfig.maintenanceStrategyDesc":"选择用于减轻上下文压力的算法策略。","settingsConfig.strategySnapcompact":"快照压缩 (Snapcompact)","settingsConfig.strategyHandoff":"交接摘要 (Handoff)","settingsConfig.strategyContextFull":"满载处理 (Context full)","settingsConfig.strategyShake":"渐进摇落 (Shake)","settingsConfig.strategyOff":"关闭","settingsConfig.compactMidTurn":"回合中途压缩","settingsConfig.compactMidTurnDesc":"在工具执行步骤之间检查上下文限制并按需压缩。","settingsConfig.memoryAutoLearn":"记忆与自动学习","settingsConfig.memoryAutoLearnDesc":"持久化项目记忆存储与自动经验捕获。","settingsConfig.memoryBackend":"记忆后端","settingsConfig.memoryBackendDesc":"跨会话持久化知识的存储位置。","settingsConfig.memoryBackendOff":"关闭","settingsConfig.memoryBackendLocal":"本地摘要","settingsConfig.memoryBackendMnemopi":"Mnemopi SQLite","settingsConfig.memoryBackendHindsight":"Hindsight 记忆","settingsConfig.enableAutoLearn":"启用自动学习","settingsConfig.enableAutoLearnDesc":"在运行完成后捕获可复用的经验教训。","settingsConfig.privateCaptureTurn":"私有捕获回合","settingsConfig.privateCaptureTurnDesc":"任务完成时运行私有经验捕获回合。","settingsConfig.memoryScope":"记忆作用域","settingsConfig.memoryScopeDesc":"Mnemopi 知识存储的作用域范围。","settingsConfig.memoryScopePerProject":"按项目","settingsConfig.memoryScopePerProjectTagged":"按项目(带标签召回)","settingsConfig.memoryScopeGlobal":"全局","settingsConfig.recallOnSessionStart":"会话启动时召回","settingsConfig.recallOnSessionStartDesc":"在第一个回合加载相关的记忆。","settingsConfig.retainCompletedTurns":"保留已完成回合","settingsConfig.retainCompletedTurnsDesc":"将已完成的对话回合存入记忆中。","settingsConfig.automaticRetry":"自动重试","settingsConfig.automaticRetryDesc":"失败回合的自动重试规则。","settingsConfig.retryToggle":"自动重试","settingsConfig.retryToggleDesc":"自动对失败的回合进行重试。","settingsConfig.maxAttempts":"最大重试次数","settingsConfig.maxAttemptsDesc":"放弃前最多尝试的重试次数。","settingsConfig.modelFallback":"模型回退降级","settingsConfig.modelFallbackDesc":"重试耗尽时自动回退到备用模型。","settingsConfig.extensionsTools":"扩展与工具","settingsConfig.extensionsToolsDesc":"模型上下文协议 (MCP) 服务端、托管技能和 OMP 插件。","settingsConfig.loadProjectMcp":"加载项目 MCP 服务端","settingsConfig.loadProjectMcpDesc":"允许发现并加载项目根目录中的 MCP 配置。","settingsConfig.renderMcpMarkdown":"渲染 MCP Markdown","settingsConfig.renderMcpMarkdownDesc":"在对话记录中将非 JSON 的 MCP 结果渲染为 Markdown。","settingsConfig.mcpResourceUpdates":"MCP 资源更新通知","settingsConfig.mcpResourceUpdatesDesc":"将服务端的资源更新动态注入到对话中。","settingsConfig.selectWorkspaceForMcp":"选择项目工作区以查看和编辑其项目 MCP 配置。","settingsConfig.agentsTitle":"智能体","settingsConfig.agentsDesc":"任务智能体、模型与工具策略。内置智能体为只读模板,解包后可编辑。","modelsConfig.authNone":"认证:无","modelsConfig.keySet":"已设置密钥","modelsConfig.keyMissing":"缺少密钥","modelsConfig.defaultEndpoint":"默认端点","modelsConfig.quickEndpointPresets":"快捷端点预设","modelsConfig.configurationDetails":"配置详情","modelsConfig.removeProvider":"移除提供商","modelsConfig.removeProviderDesc":"删除 {name} 并从 models.yml 配置中移除其模型。","modelsConfig.deleteProviderTitle":"删除提供商 {name}?","modelsConfig.deleteProviderBody":"这将从 models.yml 中移除 {name} 及其所有已配置的模型。","modelsConfig.removeModelTitle":"移除模型 {id}?","modelsConfig.removeModelBody":"这将从该提供商的模型列表中移除 {id}。","modelsConfig.appliedPreset":"已应用 {url} 端点预设","modelsConfig.errorNameRequired":"提供商名称不能为空","modelsConfig.errorUrlInvalid":"必须是有效的 http:// 或 https:// 链接","modelsConfig.errorApiKeyRequired":"API 密钥不能为空(或勾选“无需 API 密钥”)","modelsConfig.errorIdRequired":"模型 ID 不能为空","modelsConfig.tokenLimits":"Token 上限","modelsConfig.retryLoading":"正在加载 OMP 原生重试设置…","modelsConfig.retryFallbackTitle":"OMP 原生重试与回退","modelsConfig.retryFallbackDesc":"当提供商遇到速率限制或不可用时,OMP 将按顺序切换以下模型链。","modelsConfig.retryTransientErrors":"重试提供商临时错误","modelsConfig.allowModelFallback":"允许模型回退降级","modelsConfig.retryAttempts":"重试次数","modelsConfig.returnToPrimary":"恢复首选模型","modelsConfig.afterCooldown":"冷却时间后","modelsConfig.never":"从不","modelsConfig.fallbackChainFor":"回退模型链:","modelsConfig.selectFallbackModel":"选择回退模型","modelsConfig.add":"添加","modelsConfig.noExplicitChain":"未指定模型链。OMP 将在可用时使用 default 链。","modelsConfig.registryLoading":"正在加载 OMP 原生注册表设置…","modelsConfig.nativeRegistryTitle":"OMP 原生模型注册表","modelsConfig.nativeRegistryDesc":"这些设置会影响 OMP 自身可解析的模型。与输入框选择器不同,它们保存于 ~/.omp/agent/config.yml。","modelsConfig.restrictSelectedModels":"限制 OMP 仅使用选中模型","modelsConfig.uncheckedUnavailable":"未勾选的模型将在所有 OMP 会话中不可用。","modelsConfig.allModelsAllowed":"允许使用当前所有可用的 OMP 模型。","modelsConfig.disabledProviders":"已禁用的提供商","modelsConfig.disabledProvidersDesc":"禁用提供商会将其从 OMP 模型注册表中移除,即使已配置凭据。","modelsConfig.providerPreference":"提供商优先级偏好","modelsConfig.providerPreferenceDesc":"当模型 ID 存在歧义时,设置 OMP 解析提供商的优先顺序。","modelsConfig.pathScopedNotice":"已配置 OMP 路径作用域注册表项。请直接编辑 config.yml 以保留路径规则。","modelsConfig.loadingRoles":"正在加载角色…","modelsConfig.modelRolesTitle":"OMP 模型角色","modelsConfig.modelRolesDesc":"原生保存于 ~/.omp/agent/config.yml。为每个角色选择 OMP 模型及其支持的思考等级。","modelsConfig.noOverride":"无覆盖(默认)","modelsConfig.modelDefault":"模型默认","modelsConfig.saveRoles":"保存 OMP 角色","modelsConfig.rolesSaved":"已保存 OMP 模型角色","modelsConfig.composerPickerTitle":"输入框模型选择器","modelsConfig.composerPickerDesc":"选择在输入框中显示的 OMP 原生模型。此设置仅限 omp-web 界面——不会更改 OMP 的注册表。","modelsConfig.modelsVisible":"{visible} / {total} 个可见","modelsConfig.providerCount.one":"{count} 个提供商","modelsConfig.providerCount.other":"{count} 个提供商","modelsConfig.filterModelsPlaceholder":"筛选模型(如 gpt、deepseek、opencodex)…","modelsConfig.loadingRuntimeModels":"正在加载 OMP 运行时模型…","modelsConfig.noModelsMatch":"没有与“{query}”匹配的模型。","modelsConfig.noReportedModels":"OMP 未报告任何已配置的模型。","modelsConfig.connectedDisabledDesc":"已连接,但在 OMP 中已禁用。启用后即可发现其模型。","modelsConfig.connectedNoModelsDesc":"已连接,但 OMP 尚未报告该提供商的模型。","modelsConfig.enableInOmp":"在 OMP 中启用","modelsConfig.couldNotEnableProvider":"无法启用提供商","modelsConfig.ompSystemSection":"OMP 系统","modelsConfig.navNativeRegistry":"原生 OMP 注册表","modelsConfig.navRetryFallback":"重试与回退","modelsConfig.navComposerPicker":"输入框模型选择器","modelsConfig.navModelRoles":"OMP 模型角色","modelsConfig.connectedAccounts":"已连接账户","modelsConfig.noConnectedAccounts":"尚未连接 OAuth 或 API 密钥账户。","modelsConfig.addOneBelow":"通过下方按钮添加。","modelsConfig.customProviders":"自定义提供商","modelsConfig.noCustomProviders":"暂无自定义提供商。","modelsConfig.addOpenAiEndpoint":"添加 OpenAI 兼容端点。","mcpConfig.loadError":"无法加载 MCP 配置","mcpConfig.mustBeJsonObject":"服务端配置必须是一个 JSON 对象","mcpConfig.invalidJson":"无效的 JSON 格式","mcpConfig.validConfig":"MCP 服务端配置有效","mcpConfig.invalidConfig":"MCP 配置无效","mcpConfig.savedMsg":"已保存。重启 OMP 会话或运行 /mcp reload 以应用生效。","mcpConfig.serverSaved":"MCP 服务端“{name}”已保存","mcpConfig.saveError":"保存 MCP 服务端失败","mcpConfig.removedMsg":"已移除 MCP 服务端。重启 OMP 会话或运行 /mcp reload 以应用生效。","mcpConfig.serverRemoved":"已移除 MCP 服务端“{name}”","mcpConfig.removeError":"移除 MCP 服务端失败","mcpConfig.configuredServers":"已配置的 MCP 服务端","mcpConfig.builtinServers":"原生内置 MCP 扩展","mcpConfig.builtinDesc":"安装即用的原生 MCP 服务端,无需繁琐配置即可直接调度多 Agent 协作能力","mcpConfig.builtinTag":"原生自带","mcpConfig.enablePreset":"一键启用","mcpConfig.editPreset":"载入编辑","mcpConfig.alreadyConfigured":"已就绪","mcpConfig.refreshLiveStatus":"刷新 MCP 实时状态","mcpConfig.noMcpServers":"未配置 MCP 服务端","mcpConfig.userLevel":"用户级 ({path})","mcpConfig.liveStatusUnavailable":"实时状态不可用:{error}","mcpConfig.noOmpServers":"无 OMP 服务端","mcpConfig.projectServers":"项目 MCP 服务端","mcpConfig.serverCounts":"{enabled}/{total} 已启用","mcpConfig.invalidSuffix":" \xb7 {count} 个无效","mcpConfig.noServers":"暂无服务端","mcpConfig.addServer":"添加服务端","mcpConfig.serverName":"服务端名称","mcpConfig.serverConfigJson":"OMP 服务端配置 (JSON)","mcpConfig.check":"检查","mcpConfig.saveServer":"保存服务端","mcpConfig.saving":"保存中…","mcpConfig.remove":"移除","agentsConfig.allAgents":"全部智能体 \xb7 {count}","agentsConfig.countsSummary":" \xb7 内置 {bundled} \xb7 用户 {user} \xb7 项目 {project}","agentsConfig.reload":"重新加载","agentsConfig.unpackBundled":"解包内置智能体","agentsConfig.newAgent":"新建智能体","agentsConfig.workspaceUnavailableWarning":"当前选中的工作区不可用。正在显示全局智能体;在选择有效工作区之前,项目级创建、解包和保存操作已被禁用。","agentsConfig.searchPlaceholder":"搜索:输入以筛选","agentsConfig.filterAgentsAria":"筛选智能体","agentsConfig.clear":"清除","agentsConfig.agentsCount.one":"{count} 个智能体","agentsConfig.agentsCount.other":"{count} 个智能体","agentsConfig.loadingAgents":"正在加载智能体…","agentsConfig.noMatch":"无匹配的智能体。","agentsConfig.noAgentsFound":"未找到智能体。可解包内置模板或新建智能体。","agentsConfig.bundledReadOnlyWarning":"内置智能体为只读模板。保存将在 {scope} 作用域中创建可编辑副本。","agentsConfig.copyFilePath":"复制文件路径","agentsConfig.copy":"复制","agentsConfig.pathCopied":"路径已复制","agentsConfig.createAgentDesc":"创建用于委托任务和会话的持久 OMP 智能体。","agentsConfig.scope":"作用域","agentsConfig.scopeUser":"用户 (user)","agentsConfig.scopeProject":"项目 (project)","agentsConfig.name":"名称","agentsConfig.description":"描述","agentsConfig.modelRoles":"模型角色 (CSV)","agentsConfig.thinkingLevel":"思考等级","agentsConfig.defaultThinking":"— 默认 —","agentsConfig.spawns":"可派生子代理 (CSV 或 *)","agentsConfig.tools":"工具 (CSV)","agentsConfig.systemPrompt":"系统提示词","agentsConfig.create":"创建","agentsConfig.save":"保存","agentsConfig.cancel":"取消","agentsConfig.remove":"移除","agentsConfig.atomicNotice":"写入操作为原子级(临时文件 + 重命名),安全支持符号链接且上限 512 KB。路径均经过校验以确保位于 agents 目录内。","agentsConfig.selectAgentToEdit":"选择一个智能体进行编辑","agentsConfig.noAgentsYet":"暂无智能体","agentsConfig.templatesNotice":"内置智能体为模板——解包或创建副本即可编辑。","agentsConfig.unpackedToast":"已解包 {count} 个内置智能体","agentsConfig.unpackedMsg":"已解包 {count} 个智能体到 {scope}","agentsConfig.unpackFailed":"解包失败","agentsConfig.nameRequired":"名称不能为空","agentsConfig.namePatternError":"名称必须符合 ^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$ 格式","agentsConfig.descriptionRequired":"描述不能为空","agentsConfig.selectWorkspaceRequired":"保存项目级智能体前请先选择有效工作区。","agentsConfig.agentCreatedToast":"已创建智能体“{name}”","agentsConfig.agentSavedToast":"已保存智能体“{name}”","agentsConfig.agentCreatedMsg":"智能体已创建。","agentsConfig.agentSavedMsg":"智能体已保存。重启会话以应用生效。","agentsConfig.saveError":"保存智能体失败","agentsConfig.agentRemovedToast":"已移除智能体“{name}”","agentsConfig.agentRemovedMsg":"智能体已移除。","agentsConfig.removeError":"移除智能体失败","agentsConfig.loadError":"加载智能体失败","modelsConfig.moveProviderUp":"上移提供商","modelsConfig.moveProviderDown":"下移提供商","modelsConfig.refreshRuntimeModels":"刷新 OMP 运行时模型","modelsConfig.clearFilter":"清除筛选","modelsConfig.oauthProviderTitle":"OMP OAuth 提供商:{id}","modelsConfig.apiKeyProviderTitle":"OMP API 密钥提供商:{id}","agentsConfig.descPlaceholder":"例如:负责 UI/UX 设计与前端实现的专业智能体","agentsConfig.systemPromptPlaceholder":"智能体系统指令…","appShell.openTerminal":"在系统终端中打开当前工作区","appShell.terminalOpened":"已在终端中打开工作区","appShell.switchTheme":"切换主题","appShell.themePalette":"主题调色盘","theme.light":"暖阳手帐","theme.dark":"暗夜余烬","theme.oled":"极夜黑曜 (OLED)","theme.nord":"极地雪原 (Nord)","theme.matcha":"京都抹茶","theme.dracula":"德古拉之夜","theme.sepia":"大英古籍 (Sepia)","theme.cyberpunk":"赛博霓虹 (Cyberpunk)","theme.system":"跟随系统","emptyState.subtitle":"代码中枢 \xb7 沉浸式多模型协同与智能会话流转","emptyState.cardPlanTitle":"智能工程规划","emptyState.cardPlanDesc":"分析当前项目结构,自动分解任务并生成实施路线","emptyState.cardReviewTitle":"代码质量审查","emptyState.cardReviewDesc":"多维度审查最近的代码改动、类型安全与潜在隐患","emptyState.cardTestTitle":"运行测试与验证","emptyState.cardTestDesc":"执行项目测试套件,自动捕获错误并提供修复方案","emptyState.cardExploreTitle":"工作区检索与答疑","emptyState.cardExploreDesc":"向 omp 提问,输入 @ 快速引用文件或函数进行研讨","terminal.title":"页面内嵌终端","terminal.clear":"清屏 (Clear)","terminal.restart":"重启终端会话","terminal.maximize":"最大化","terminal.restore":"还原","terminal.close":"收起终端","appShell.toggleTerminal":"切换页面内嵌终端 (Terminal)","appShell.hideTerminal":"收起页面内嵌终端","plan.modeTitle":"OMP 计划制定模式","plan.executeButton":"执行此计划","plan.rejectButton":"打回修改","plan.critiqueModalTitle":"打回计划 \xb7 提供修改建议","theme.auroraFlow":"极光幻境 (Aurora)","theme.sunsetFlow":"暮色流霞 (Sunset)","theme.cosmicFlow":"深空星云 (Cosmic)","theme.cyberFlow":"赛博流光 (Cyber)","typography.sans":"现代黑体","typography.serif":"人文宋体","typography.mono":"极客等宽","modelsConfig.autoFetchModels":"自动获取模型列表 (GET /models)","modelsConfig.fetchingModels":"正在探测并获取模型列表…","modelsConfig.autoFetchedSuccess":"成功探测到 {total} 个模型(新增 {count} 个)!","modelsConfig.baseUrlRequired":"请先输入 Base URL 接口地址","theme.oatmeal":"燕麦拿铁","theme.pine":"松林深翠","theme.navy":"远山黛蓝","theme.dawnFlow":"晨曦微光 (Dawn)","theme.oceanFlow":"深海幽光 (Ocean)","theme.sakuraFlow":"樱落暮雪 (Sakura)","theme.bambooFlow":"竹林雨霁 (Bamboo)","plan.truncatedNote":"计划文件过大,仅显示前 256KB。","fileExplorer.revealInFileManager":"在文件管理器中显示","fileExplorer.revealFailed":"无法在文件管理器中打开"}'),r=[{value:"en",label:"EN"},{value:"zh-CN",label:"中文"},{value:"ja",label:"日本語"}],l="omp-lang",d={en:n,"zh-CN":a,ja:s},g=globalThis.__ompI18nState??={listeners:new Set,locale:null,hydrated:!1},c=g.listeners;function p(){try{if("u">typeof localStorage){let e=localStorage.getItem(l);if("en"===e||"zh-CN"===e||"ja"===e)return e}}catch{}if("u">typeof navigator&&navigator.language){let e=navigator.language.toLowerCase();if(e.startsWith("zh"))return"zh-CN";if(e.startsWith("ja"))return"ja"}return"en"}function m(){return null===g.locale&&(g.locale=p()),g.locale}function u(e){g.hydrated=!0,g.locale=e;try{"u">typeof localStorage&&localStorage.setItem(l,e)}catch{}"u">typeof document&&(document.documentElement.lang=e),c.forEach(e=>e())}function f(e,o){let t=g.locale??p(),i=d[t]?.[e]??d.en[e]??e;return o?i.replace(/\{(\w+)\}/g,(e,t)=>t in o?String(o[t]):e):i}function h(e){return c.add(e),()=>{c.delete(e)}}function C(){return"en"}function v(){let e=(0,i.useSyncExternalStore)(h,m,C);(0,i.useEffect)(()=>{g.hydrated||(g.hydrated=!0,g.locale=p(),"u">typeof document&&(document.documentElement.lang=g.locale),c.forEach(e=>e()))},[]);let o=(0,i.useCallback)((e,o)=>f(e,o),[e]),t=(0,i.useCallback)((e,o,t)=>f(`${e}.${1===o?"one":"other"}`,{count:o,...t}),[e]);return{locale:e,setLocale:u,t:o,tn:t}}}}]);
|