@jingyi0605/codingns4dsh 0.2.1-rc.2 → 0.2.1-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +6 -4
- package/README.md +6 -6
- package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts +1 -1
- package/data/build/dist/bootstrap/index.d.ts +1 -1
- package/data/build/dist/client/bundle.js +5224 -290
- package/data/build/dist/client/bundle.js.map +1 -1
- package/data/build/dist/client/client.magpie-model-tag.js +155 -5
- package/data/build/dist/client/client.magpie-model-tag.js.map +1 -1
- package/data/build/dist/client/client.native-workspace-store.js +30 -4
- package/data/build/dist/client/client.native-workspace-store.js.map +1 -1
- package/data/build/dist/client/client.transport.js +747 -48
- package/data/build/dist/client/client.transport.js.map +1 -1
- package/data/build/dist/client/desktop-assistant.js +953 -185
- package/data/build/dist/client/feature-requirement.d.ts +43 -0
- package/data/build/dist/client/feature-requirement.d.ts.map +1 -0
- package/data/build/dist/client/feature-requirement.js +105 -0
- package/data/build/dist/client/feature-requirement.js.map +1 -0
- package/data/build/dist/client/features/index.d.ts +1 -0
- package/data/build/dist/client/features/index.d.ts.map +1 -1
- package/data/build/dist/client/features/index.js +3 -0
- package/data/build/dist/client/features/index.js.map +1 -1
- package/data/build/dist/client/features/magpie-management-controls.d.ts +46 -0
- package/data/build/dist/client/features/magpie-management-controls.d.ts.map +1 -0
- package/data/build/dist/client/features/magpie-management-controls.js +794 -0
- package/data/build/dist/client/features/magpie-management-controls.js.map +1 -0
- package/data/build/dist/client/features/magpie-management-page.d.ts +129 -0
- package/data/build/dist/client/features/magpie-management-page.d.ts.map +1 -0
- package/data/build/dist/client/features/magpie-management-page.js +1279 -0
- package/data/build/dist/client/features/magpie-management-page.js.map +1 -0
- package/data/build/dist/client/features/magpie-management.d.ts +7 -0
- package/data/build/dist/client/features/magpie-management.d.ts.map +1 -0
- package/data/build/dist/client/features/magpie-management.js +154 -0
- package/data/build/dist/client/features/magpie-management.js.map +1 -0
- package/data/build/dist/client/features/magpie-mark.d.ts +10 -0
- package/data/build/dist/client/features/magpie-mark.d.ts.map +1 -0
- package/data/build/dist/client/features/magpie-mark.js +21 -0
- package/data/build/dist/client/features/magpie-mark.js.map +1 -0
- package/data/build/dist/client/features/magpie-provider-logo.d.ts +11 -0
- package/data/build/dist/client/features/magpie-provider-logo.d.ts.map +1 -0
- package/data/build/dist/client/features/magpie-provider-logo.js +35 -0
- package/data/build/dist/client/features/magpie-provider-logo.js.map +1 -0
- package/data/build/dist/client/features/subscription-quota-groups.d.ts +193 -0
- package/data/build/dist/client/features/subscription-quota-groups.d.ts.map +1 -0
- package/data/build/dist/client/features/subscription-quota-groups.js +548 -0
- package/data/build/dist/client/features/subscription-quota-groups.js.map +1 -0
- package/data/build/dist/client/git-management.d.ts.map +1 -1
- package/data/build/dist/client/git-management.js +11 -9
- package/data/build/dist/client/git-management.js.map +1 -1
- package/data/build/dist/client/git-panel-styles.js +1 -0
- package/data/build/dist/client/git-panel-styles.js.map +1 -1
- package/data/build/dist/client/index.d.ts +1 -1
- package/data/build/dist/client/index.d.ts.map +1 -1
- package/data/build/dist/client/index.js +1 -1
- package/data/build/dist/client/index.js.map +1 -1
- package/data/build/dist/client/locale.d.ts.map +1 -1
- package/data/build/dist/client/locale.js +7 -0
- package/data/build/dist/client/locale.js.map +1 -1
- package/data/build/dist/client/locales/magpie.d.ts +4 -0
- package/data/build/dist/client/locales/magpie.d.ts.map +1 -0
- package/data/build/dist/client/locales/magpie.js +644 -0
- package/data/build/dist/client/locales/magpie.js.map +1 -0
- package/data/build/dist/client/locales/usage.d.ts.map +1 -1
- package/data/build/dist/client/locales/usage.js +52 -0
- package/data/build/dist/client/locales/usage.js.map +1 -1
- package/data/build/dist/client/magpie-model-tag.d.ts +9 -1
- package/data/build/dist/client/magpie-model-tag.d.ts.map +1 -1
- package/data/build/dist/client/magpie-model-tag.js +15 -3
- package/data/build/dist/client/magpie-model-tag.js.map +1 -1
- package/data/build/dist/client/provider-icons.d.ts +8 -0
- package/data/build/dist/client/provider-icons.d.ts.map +1 -1
- package/data/build/dist/client/provider-icons.js +122 -2
- package/data/build/dist/client/provider-icons.js.map +1 -1
- package/data/build/dist/client/settings-bridge.d.ts +1 -0
- package/data/build/dist/client/settings-bridge.d.ts.map +1 -1
- package/data/build/dist/client/settings-bridge.js +29 -10
- package/data/build/dist/client/settings-bridge.js.map +1 -1
- package/data/build/dist/client/settings-section.d.ts.map +1 -1
- package/data/build/dist/client/settings-section.js +21 -3
- package/data/build/dist/client/settings-section.js.map +1 -1
- package/data/build/dist/client/style.css +224 -221
- package/data/build/dist/client/subscription-slot.d.ts +22 -1
- package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
- package/data/build/dist/client/subscription-slot.js +374 -25
- package/data/build/dist/client/subscription-slot.js.map +1 -1
- package/data/build/dist/dsh-capabilities/client/global-panel-adapter.d.ts +27 -0
- package/data/build/dist/dsh-capabilities/client/global-panel-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/global-panel-adapter.js +109 -0
- package/data/build/dist/dsh-capabilities/client/global-panel-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/session-title-adapter.d.ts +2 -1
- package/data/build/dist/dsh-capabilities/host/session-title-adapter.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/host/session-title-adapter.js +32 -2
- package/data/build/dist/dsh-capabilities/host/session-title-adapter.js.map +1 -1
- package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/matrix.js +12 -11
- package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
- package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/routes.js +12 -9
- package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
- package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
- package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/types.js.map +1 -1
- package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +27 -0
- package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/acp-cli-driver.js +88 -13
- package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts +10 -0
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.js +32 -1
- package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts +6 -5
- package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-acp-loader.js +72 -12
- package/data/build/dist/host/cli-adapters/command-code-acp-loader.js.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-driver.js +26 -1
- package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-message-projector.js +15 -2
- package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.d.ts +13 -0
- package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.js +438 -6
- package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-driver.js +5 -0
- package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/magpie-detection.d.ts +72 -0
- package/data/build/dist/host/cli-adapters/magpie-detection.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-detection.js +312 -0
- package/data/build/dist/host/cli-adapters/magpie-detection.js.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-management.d.ts +50 -0
- package/data/build/dist/host/cli-adapters/magpie-management.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-management.js +1343 -0
- package/data/build/dist/host/cli-adapters/magpie-management.js.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-update.d.ts +59 -0
- package/data/build/dist/host/cli-adapters/magpie-update.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-update.js +249 -0
- package/data/build/dist/host/cli-adapters/magpie-update.js.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-usage.d.ts +70 -8
- package/data/build/dist/host/cli-adapters/magpie-usage.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/magpie-usage.js +1075 -125
- package/data/build/dist/host/cli-adapters/magpie-usage.js.map +1 -1
- package/data/build/dist/host/cli-adapters/magpie-web.d.ts +69 -0
- package/data/build/dist/host/cli-adapters/magpie-web.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-web.js +485 -0
- package/data/build/dist/host/cli-adapters/magpie-web.js.map +1 -0
- package/data/build/dist/host/cli-adapters/process-utils.d.ts +2 -0
- package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/process-utils.js +8 -0
- package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
- package/data/build/dist/host/cli-adapters/session-performance-projection.d.ts +6 -0
- package/data/build/dist/host/cli-adapters/session-performance-projection.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/session-performance-projection.js +25 -0
- package/data/build/dist/host/cli-adapters/session-performance-projection.js.map +1 -1
- package/data/build/dist/host/dsh-gateway-feature.d.ts.map +1 -1
- package/data/build/dist/host/dsh-gateway-feature.js +26 -3
- package/data/build/dist/host/dsh-gateway-feature.js.map +1 -1
- package/data/build/dist/host/features/host-status.d.ts +25 -0
- package/data/build/dist/host/features/host-status.d.ts.map +1 -1
- package/data/build/dist/host/features/host-status.js +60 -6
- package/data/build/dist/host/features/host-status.js.map +1 -1
- package/data/build/dist/host/features/lan-access-dsh.d.ts.map +1 -1
- package/data/build/dist/host/features/lan-access-dsh.js +61 -10
- package/data/build/dist/host/features/lan-access-dsh.js.map +1 -1
- package/data/build/dist/host/features/session-translation-protection.d.ts.map +1 -1
- package/data/build/dist/host/features/session-translation-protection.js +2 -1
- package/data/build/dist/host/features/session-translation-protection.js.map +1 -1
- package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
- package/data/build/dist/host/lan-access-dsh.js +6 -2
- package/data/build/dist/host/lan-access-dsh.js.map +1 -1
- package/data/build/dist/host/modules/pwa/pwa-session-notifications.js +2 -1
- package/data/build/dist/host/modules/pwa/pwa-session-notifications.js.map +1 -1
- package/data/build/dist/host/rpc.d.ts +15 -2
- package/data/build/dist/host/rpc.d.ts.map +1 -1
- package/data/build/dist/host/rpc.js +47 -6
- package/data/build/dist/host/rpc.js.map +1 -1
- package/data/build/dist/host/settings.d.ts.map +1 -1
- package/data/build/dist/host/settings.js +5 -0
- package/data/build/dist/host/settings.js.map +1 -1
- package/data/build/dist/shared/contracts/config.d.ts +18 -0
- package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/config.js +8 -0
- package/data/build/dist/shared/contracts/config.js.map +1 -1
- package/data/build/dist/shared/contracts/errors.d.ts +2 -2
- package/data/build/dist/shared/contracts/feature.d.ts +7 -0
- package/data/build/dist/shared/contracts/feature.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/magpie-management.d.ts +414 -0
- package/data/build/dist/shared/contracts/magpie-management.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/magpie-management.js +2 -0
- package/data/build/dist/shared/contracts/magpie-management.js.map +1 -0
- package/data/build/dist/shared/contracts/subscription.d.ts +77 -1
- package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/subscription.js.map +1 -1
- package/data/build/dist/shared/contracts/version.d.ts +4 -4
- package/data/build/dist/shared/contracts/version.js +3 -3
- package/data/build/dist/shared/index.d.ts +3 -1
- package/data/build/dist/shared/index.d.ts.map +1 -1
- package/data/build/dist/shared/index.js +2 -1
- package/data/build/dist/shared/index.js.map +1 -1
- package/data/build/dist/shared/magpie-provider-id.d.ts +12 -0
- package/data/build/dist/shared/magpie-provider-id.d.ts.map +1 -0
- package/data/build/dist/shared/magpie-provider-id.js +16 -0
- package/data/build/dist/shared/magpie-provider-id.js.map +1 -0
- package/data/build/dist/shared/session-title.d.ts.map +1 -1
- package/data/build/dist/shared/session-title.js +10 -4
- package/data/build/dist/shared/session-title.js.map +1 -1
- package/package.json +29 -29
- package/profile/README.md +2 -2
- package/profile/package.json +3 -3
- package/profile/version.json +3 -3
- package/version.json +3 -3
|
@@ -7811,7 +7811,7 @@
|
|
|
7811
7811
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
7812
7812
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
7813
7813
|
*/
|
|
7814
|
-
const en$
|
|
7814
|
+
const en$17 = {
|
|
7815
7815
|
"debug.title": "Debug",
|
|
7816
7816
|
"debug.guideDescription": "Start workspace commands, check ports, and open services",
|
|
7817
7817
|
"debug.readingWorkspace": "Reading workspace…",
|
|
@@ -7889,7 +7889,7 @@
|
|
|
7889
7889
|
"feature.debug.label": "Workspace debugging",
|
|
7890
7890
|
"feature.debug.description": "Launch terminals and check services"
|
|
7891
7891
|
};
|
|
7892
|
-
const zh$
|
|
7892
|
+
const zh$17 = {
|
|
7893
7893
|
"debug.title": "调试",
|
|
7894
7894
|
"debug.guideDescription": "启动工作区命令、检查端口并访问服务",
|
|
7895
7895
|
"debug.readingWorkspace": "正在读取工作区…",
|
|
@@ -7970,7 +7970,7 @@
|
|
|
7970
7970
|
//#endregion
|
|
7971
7971
|
//#region src/client/locales/assistantDebug.ts
|
|
7972
7972
|
/** 全局助理调试页词典;状态名与 JSON 只在明确的调试区域展示。 */
|
|
7973
|
-
const zh$
|
|
7973
|
+
const zh$16 = {
|
|
7974
7974
|
"assistant.debug.open": "全局项目状态调试",
|
|
7975
7975
|
"assistant.debug.title": "全局助理管理状态调试",
|
|
7976
7976
|
"assistant.debug.description": "独立检查工作区范围、会话状态和文字指令,无需启动语音。",
|
|
@@ -8150,7 +8150,7 @@
|
|
|
8150
8150
|
"assistant.debug.analysisState.cancelled": "总结已停止,原始索引材料已保留",
|
|
8151
8151
|
"assistant.debug.rawEvidence": "以下是原始会话摘录,作为总结证据保留,不是 LLM 生成的进展判断。"
|
|
8152
8152
|
};
|
|
8153
|
-
const en$
|
|
8153
|
+
const en$16 = {
|
|
8154
8154
|
"assistant.debug.open": "Global project state debug",
|
|
8155
8155
|
"assistant.debug.title": "Global assistant management debug",
|
|
8156
8156
|
"assistant.debug.description": "Inspect workspace scope, session state and text commands without starting voice.",
|
|
@@ -8332,7 +8332,7 @@
|
|
|
8332
8332
|
};
|
|
8333
8333
|
//#endregion
|
|
8334
8334
|
//#region src/client/locales/assistantAvatar.ts
|
|
8335
|
-
const en$
|
|
8335
|
+
const en$15 = {
|
|
8336
8336
|
"avatar.portraitTitle": "Avatar",
|
|
8337
8337
|
"avatar.portraitEdit": "Adjust avatar",
|
|
8338
8338
|
"avatar.portraitLocalHint": "Saved in this browser for this character; conversation and sidebar avatars update together.",
|
|
@@ -8468,7 +8468,7 @@
|
|
|
8468
8468
|
"avatar.desktopFallback": "Desktop companion unavailable; showing inside this window.",
|
|
8469
8469
|
"avatar.dragHint": "Drag to move; click to open the assistant."
|
|
8470
8470
|
};
|
|
8471
|
-
const zh$
|
|
8471
|
+
const zh$15 = {
|
|
8472
8472
|
"avatar.portraitTitle": "头像",
|
|
8473
8473
|
"avatar.portraitEdit": "微调头像",
|
|
8474
8474
|
"avatar.portraitLocalHint": "按形象保存在当前浏览器,对话与侧栏头像同步更新。",
|
|
@@ -8612,7 +8612,7 @@
|
|
|
8612
8612
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
8613
8613
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
8614
8614
|
*/
|
|
8615
|
-
const en$
|
|
8615
|
+
const en$14 = {
|
|
8616
8616
|
"htmlFiles.confirmConnect": "Allow this HTML page to read, save, and delete files in these locations?\n\nPage: {path}\n\n{scopes}\n\nAccess lasts until this preview is closed or reloaded.",
|
|
8617
8617
|
"htmlFiles.cancelled": "Workspace file connection cancelled.",
|
|
8618
8618
|
"fileMenu.expandFolder": "Expand folder",
|
|
@@ -8685,7 +8685,7 @@
|
|
|
8685
8685
|
"pwaPrompt.dismiss": "Not now",
|
|
8686
8686
|
"pwaPrompt.iosHint": "Tap \"Share\" then \"Add to Home Screen\" to install."
|
|
8687
8687
|
};
|
|
8688
|
-
const zh$
|
|
8688
|
+
const zh$14 = {
|
|
8689
8689
|
"htmlFiles.confirmConnect": "允许此 HTML 页面读取、保存和删除以下位置中的文件吗?\n\n页面:{path}\n\n{scopes}\n\n授权在关闭或重新加载预览后失效。",
|
|
8690
8690
|
"htmlFiles.cancelled": "已取消工作区文件连接。",
|
|
8691
8691
|
"fileMenu.expandFolder": "展开文件夹",
|
|
@@ -8766,7 +8766,7 @@
|
|
|
8766
8766
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
8767
8767
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
8768
8768
|
*/
|
|
8769
|
-
const en$
|
|
8769
|
+
const en$13 = {
|
|
8770
8770
|
"feature.gitManagement.label": "Git repository management",
|
|
8771
8771
|
"feature.gitManagement.description": "View changes and manage commits",
|
|
8772
8772
|
"git.tabTitle": "Git",
|
|
@@ -8888,7 +8888,7 @@
|
|
|
8888
8888
|
"git.unknownTime": "Unknown time",
|
|
8889
8889
|
"git.dateLabel": "{month}/{day}"
|
|
8890
8890
|
};
|
|
8891
|
-
const zh$
|
|
8891
|
+
const zh$13 = {
|
|
8892
8892
|
"feature.gitManagement.label": "Git 仓库管理",
|
|
8893
8893
|
"feature.gitManagement.description": "查看改动并管理提交",
|
|
8894
8894
|
"git.tabTitle": "Git",
|
|
@@ -9018,7 +9018,7 @@
|
|
|
9018
9018
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
9019
9019
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
9020
9020
|
*/
|
|
9021
|
-
const en$
|
|
9021
|
+
const en$12 = {
|
|
9022
9022
|
"common.listSeparator": ", ",
|
|
9023
9023
|
"settings.unknownVersion": "Unknown version",
|
|
9024
9024
|
"settings.maintenanceDisabled": "This module is disabled by maintenance policy; the setting will not start it.",
|
|
@@ -9119,7 +9119,7 @@
|
|
|
9119
9119
|
"translation.adapter.cursor": "Cursor",
|
|
9120
9120
|
"translation.adapter.kiro": "Kiro"
|
|
9121
9121
|
};
|
|
9122
|
-
const zh$
|
|
9122
|
+
const zh$12 = {
|
|
9123
9123
|
"common.listSeparator": "、",
|
|
9124
9124
|
"settings.unknownVersion": "未知版本",
|
|
9125
9125
|
"settings.maintenanceDisabled": "该模块当前由维护策略停用,设置不会启动它。",
|
|
@@ -9228,7 +9228,7 @@
|
|
|
9228
9228
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
9229
9229
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
9230
9230
|
*/
|
|
9231
|
-
const en$
|
|
9231
|
+
const en$11 = {
|
|
9232
9232
|
"feature.peerHost.label": "Manage other DSH Hosts",
|
|
9233
9233
|
"feature.peerHost.description": "Aggregate sessions from multiple Hosts",
|
|
9234
9234
|
"peerHost.panelTitle": "Manage other DSH Hosts",
|
|
@@ -9309,7 +9309,7 @@
|
|
|
9309
9309
|
"peerHost.stateActive": "The preboot shim has taken over the page Transport; the native Connection of this page keeps reusing the same instance.",
|
|
9310
9310
|
"peerHost.statePending": "The preboot shim is installed with CodingNS; it takes effect as soon as PeerHost is enabled, and native workspaces read the aggregate Transport directly."
|
|
9311
9311
|
};
|
|
9312
|
-
const zh$
|
|
9312
|
+
const zh$11 = {
|
|
9313
9313
|
"feature.peerHost.label": "管理其他 DSH Host",
|
|
9314
9314
|
"feature.peerHost.description": "聚合多个 Host 会话",
|
|
9315
9315
|
"peerHost.panelTitle": "管理其他 DSH Host",
|
|
@@ -9398,7 +9398,7 @@
|
|
|
9398
9398
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
9399
9399
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
9400
9400
|
*/
|
|
9401
|
-
const en$
|
|
9401
|
+
const en$10 = {
|
|
9402
9402
|
"peerHostWorkspace.tabLocal": "Local folders",
|
|
9403
9403
|
"peerHostWorkspace.tabRemote": "Remote HOST",
|
|
9404
9404
|
"peerHostWorkspace.sourceLabel": "Workspace source",
|
|
@@ -9444,7 +9444,7 @@
|
|
|
9444
9444
|
"peerHostWorkspace.hintNotReady": "“{host}” is currently “{status}”; finish connecting it in the management panel first.",
|
|
9445
9445
|
"peerHostWorkspace.manageHosts": "Manage other DSH Hosts"
|
|
9446
9446
|
};
|
|
9447
|
-
const zh$
|
|
9447
|
+
const zh$10 = {
|
|
9448
9448
|
"peerHostWorkspace.tabLocal": "本机文件夹",
|
|
9449
9449
|
"peerHostWorkspace.tabRemote": "远程 HOST",
|
|
9450
9450
|
"peerHostWorkspace.sourceLabel": "工作区来源",
|
|
@@ -9498,7 +9498,7 @@
|
|
|
9498
9498
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
9499
9499
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
9500
9500
|
*/
|
|
9501
|
-
const en$
|
|
9501
|
+
const en$9 = {
|
|
9502
9502
|
"terminalShare.title": "Share terminal output to a conversation",
|
|
9503
9503
|
"terminalShare.menuTitle": "Share to a conversation",
|
|
9504
9504
|
"terminalShare.more": "More conversations",
|
|
@@ -9571,7 +9571,7 @@
|
|
|
9571
9571
|
"loginProtection.errorTimeoutRange": "The session timeout must be between 60 and 604800 seconds",
|
|
9572
9572
|
"loginProtection.errorScopesRequired": "Select at least one scope"
|
|
9573
9573
|
};
|
|
9574
|
-
const zh$
|
|
9574
|
+
const zh$9 = {
|
|
9575
9575
|
"terminalShare.title": "分享终端输出至会话",
|
|
9576
9576
|
"terminalShare.menuTitle": "分享至会话",
|
|
9577
9577
|
"terminalShare.more": "更多会话",
|
|
@@ -9652,7 +9652,7 @@
|
|
|
9652
9652
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
9653
9653
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
9654
9654
|
*/
|
|
9655
|
-
const en$
|
|
9655
|
+
const en$8 = {
|
|
9656
9656
|
"usage.r4StatsPeriod": "Account usage · UTC",
|
|
9657
9657
|
"usage.r4TodayIoTokens": "Input + output tokens today",
|
|
9658
9658
|
"usage.r4WeekRequests": "Requests · last 7 days",
|
|
@@ -9831,9 +9831,33 @@
|
|
|
9831
9831
|
"accountBar.loggingOut": "Signing out…",
|
|
9832
9832
|
"accountBar.logout": "Sign out",
|
|
9833
9833
|
"accountBar.relay": "Relay",
|
|
9834
|
-
"accountBar.direct": "Direct"
|
|
9834
|
+
"accountBar.direct": "Direct",
|
|
9835
|
+
"usage.checkinClaimed": "Checked in today{credit} · {streak}",
|
|
9836
|
+
"usage.checkinStreak": "{days}-day streak",
|
|
9837
|
+
"usage.checkinFailed": "Check-in failed",
|
|
9838
|
+
"usage.checkinIneligible": "This account does not take part in check-in",
|
|
9839
|
+
"usage.checkinInactive": "Check-in is not enabled",
|
|
9840
|
+
"usage.checkinCaptcha": "Check-in needs a captcha",
|
|
9841
|
+
"usage.checkinOwnApp": "Check in from the official app",
|
|
9842
|
+
"usage.checkinPending": "Not checked in yet today",
|
|
9843
|
+
"usage.checkinUnknown": "Check-in state unknown",
|
|
9844
|
+
"usage.quotaActiveAccount": "In use",
|
|
9845
|
+
"usage.quotaGroupAccounts": "{count} accounts",
|
|
9846
|
+
"usage.quotaCollapseAccounts": "Collapse account details",
|
|
9847
|
+
"usage.quotaExpandAccounts": "Expand account details",
|
|
9848
|
+
"usage.quotaDailyTotal": "Today {amount}",
|
|
9849
|
+
"usage.quotaPlanUntil": "Plan until",
|
|
9850
|
+
"usage.quotaReadFailed": "Read failed: {reason}",
|
|
9851
|
+
"usage.quotaRunsOut": "At the current rate {amount} runs out {time}",
|
|
9852
|
+
"usage.resetCardsLabel": "Reset cards",
|
|
9853
|
+
"usage.resetCardsByWindow": "Resets · 5h {fiveHour} · weekly {weekly}",
|
|
9854
|
+
"usage.resetCardsCount": "{count} reset cards",
|
|
9855
|
+
"usage.resetCardsExpiresAt": "Expires {time}",
|
|
9856
|
+
"usage.magpieViewRequests": "View requests",
|
|
9857
|
+
"usage.magpieRequestsTitle": "Magpie requests",
|
|
9858
|
+
"usage.magpieRequestsClose": "Close"
|
|
9835
9859
|
};
|
|
9836
|
-
const zh$
|
|
9860
|
+
const zh$8 = {
|
|
9837
9861
|
"usage.r4StatsPeriod": "账户用量 · UTC",
|
|
9838
9862
|
"usage.r4TodayIoTokens": "今日输入与输出 Token",
|
|
9839
9863
|
"usage.r4WeekRequests": "近 7 天请求数",
|
|
@@ -10012,11 +10036,35 @@
|
|
|
10012
10036
|
"accountBar.loggingOut": "注销中…",
|
|
10013
10037
|
"accountBar.logout": "注销登录",
|
|
10014
10038
|
"accountBar.relay": "中转",
|
|
10015
|
-
"accountBar.direct": "直连"
|
|
10039
|
+
"accountBar.direct": "直连",
|
|
10040
|
+
"usage.checkinClaimed": "今日已签到{credit} · {streak}",
|
|
10041
|
+
"usage.checkinStreak": "连续 {days} 天",
|
|
10042
|
+
"usage.checkinFailed": "签到失败",
|
|
10043
|
+
"usage.checkinIneligible": "该账号不参与签到",
|
|
10044
|
+
"usage.checkinInactive": "未启用签到",
|
|
10045
|
+
"usage.checkinCaptcha": "签到需要验证码",
|
|
10046
|
+
"usage.checkinOwnApp": "请在官方 App 内签到",
|
|
10047
|
+
"usage.checkinPending": "今日尚未签到",
|
|
10048
|
+
"usage.checkinUnknown": "签到状态未知",
|
|
10049
|
+
"usage.quotaActiveAccount": "使用中",
|
|
10050
|
+
"usage.quotaGroupAccounts": "{count} 个账号",
|
|
10051
|
+
"usage.quotaCollapseAccounts": "收起账号明细",
|
|
10052
|
+
"usage.quotaExpandAccounts": "展开账号明细",
|
|
10053
|
+
"usage.quotaDailyTotal": "今日 {amount}",
|
|
10054
|
+
"usage.quotaPlanUntil": "套餐到期",
|
|
10055
|
+
"usage.quotaReadFailed": "读取失败:{reason}",
|
|
10056
|
+
"usage.quotaRunsOut": "按当前速度,{amount} 将在 {time} 耗尽",
|
|
10057
|
+
"usage.resetCardsLabel": "重置卡",
|
|
10058
|
+
"usage.resetCardsByWindow": "重置卡 · 5 小时 {fiveHour} · 每周 {weekly}",
|
|
10059
|
+
"usage.resetCardsCount": "{count} 张重置卡",
|
|
10060
|
+
"usage.resetCardsExpiresAt": "最近到期 {time}",
|
|
10061
|
+
"usage.magpieViewRequests": "查看请求",
|
|
10062
|
+
"usage.magpieRequestsTitle": "Magpie 请求",
|
|
10063
|
+
"usage.magpieRequestsClose": "关闭"
|
|
10016
10064
|
};
|
|
10017
10065
|
//#endregion
|
|
10018
10066
|
//#region src/client/locales/voiceModels.ts
|
|
10019
|
-
const en$
|
|
10067
|
+
const en$7 = {
|
|
10020
10068
|
"voice.models.prepared": "Model resources are ready. Save the configuration to use this recognition model.",
|
|
10021
10069
|
"voice.settings.input": "Speech input",
|
|
10022
10070
|
"voice.settings.output": "Speech output",
|
|
@@ -10059,7 +10107,7 @@
|
|
|
10059
10107
|
"voice.models.localHint": "Models are stored on this Host. Verification tests model loading and recognition without using your microphone.",
|
|
10060
10108
|
"voice.models.close": "Close"
|
|
10061
10109
|
};
|
|
10062
|
-
const zh$
|
|
10110
|
+
const zh$7 = {
|
|
10063
10111
|
"voice.models.prepared": "模型资源已准备好,保存配置后使用此识别模型。",
|
|
10064
10112
|
"voice.settings.input": "语音输入",
|
|
10065
10113
|
"voice.settings.output": "语音输出",
|
|
@@ -10105,7 +10153,7 @@
|
|
|
10105
10153
|
//#endregion
|
|
10106
10154
|
//#region src/client/locales/assistantTts.ts
|
|
10107
10155
|
/** 独立音色面板词典;官方名称保留原文,元数据标签随界面语言翻译。 */
|
|
10108
|
-
const en$
|
|
10156
|
+
const en$6 = {
|
|
10109
10157
|
"tts.wizardPrepareResources": "Prepare voice resources",
|
|
10110
10158
|
"tts.wizardDraftReady": "Voice resources are ready. Configuration changes apply after saving.",
|
|
10111
10159
|
"tts.prepare": "Prepare MOSS resources",
|
|
@@ -10182,7 +10230,7 @@
|
|
|
10182
10230
|
"tts.saveParameters": "Save speech controls",
|
|
10183
10231
|
"tts.resetParameters": "Restore and save defaults"
|
|
10184
10232
|
};
|
|
10185
|
-
const zh$
|
|
10233
|
+
const zh$6 = {
|
|
10186
10234
|
"tts.wizardPrepareResources": "准备语音资源",
|
|
10187
10235
|
"tts.wizardDraftReady": "语音资源已就绪,配置保存后生效。",
|
|
10188
10236
|
"tts.prepare": "准备 MOSS 资源",
|
|
@@ -10262,7 +10310,7 @@
|
|
|
10262
10310
|
//#endregion
|
|
10263
10311
|
//#region src/client/locales/assistantWorkbench.ts
|
|
10264
10312
|
/** 生命周期工作台文案;高级资源管理复用原有词典。 */
|
|
10265
|
-
const zh$
|
|
10313
|
+
const zh$5 = {
|
|
10266
10314
|
"awb.notifications.title": "会话提醒",
|
|
10267
10315
|
"awb.notifications.hint": "在悬浮助理旁显示提醒,查看会话后标记已读。",
|
|
10268
10316
|
"awb.notifications.enabled": "启用会话提醒",
|
|
@@ -10430,7 +10478,7 @@
|
|
|
10430
10478
|
"awb.prompts": "提示词",
|
|
10431
10479
|
"awb.unavailableSelection": "原选择暂不可用:{id}"
|
|
10432
10480
|
};
|
|
10433
|
-
const en$
|
|
10481
|
+
const en$5 = {
|
|
10434
10482
|
"awb.notifications.title": "Session notices",
|
|
10435
10483
|
"awb.notifications.hint": "Show notices beside the floating assistant. Viewing a session marks its notice as read.",
|
|
10436
10484
|
"awb.notifications.enabled": "Enable session notices",
|
|
@@ -10608,7 +10656,7 @@
|
|
|
10608
10656
|
* 注册仍使用同一份 zh/en。
|
|
10609
10657
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
10610
10658
|
*/
|
|
10611
|
-
const zh$
|
|
10659
|
+
const zh$4 = {
|
|
10612
10660
|
"subagentCollapsed.inactive.one": "已停止 {count} 个子智能体",
|
|
10613
10661
|
"subagentCollapsed.inactive.other": "已停止 {count} 个子智能体",
|
|
10614
10662
|
"subagentCollapsed.inactive.expand": "展开已停止的子智能体",
|
|
@@ -10651,7 +10699,7 @@
|
|
|
10651
10699
|
"subagentCollapsed.open.sidebar": "在侧边栏打开",
|
|
10652
10700
|
"subagentCollapsed.open.sidebar.aria": "在侧边栏打开 {label}"
|
|
10653
10701
|
};
|
|
10654
|
-
const en$
|
|
10702
|
+
const en$4 = {
|
|
10655
10703
|
"subagentCollapsed.inactive.one": "{count} stopped subagent",
|
|
10656
10704
|
"subagentCollapsed.inactive.other": "{count} stopped subagents",
|
|
10657
10705
|
"subagentCollapsed.inactive.expand": "Show stopped subagents",
|
|
@@ -10707,7 +10755,7 @@
|
|
|
10707
10755
|
};
|
|
10708
10756
|
//#endregion
|
|
10709
10757
|
//#region src/client/locales/quickApps.ts
|
|
10710
|
-
const en$
|
|
10758
|
+
const en$3 = {
|
|
10711
10759
|
"quickApps.storagePreview": "App data is saved in this browser. IndexedDB and URLs starting with / are not supported in this view.",
|
|
10712
10760
|
"quickApps.storageFailed": "App data could not be saved in this browser: {message}",
|
|
10713
10761
|
"quickApps.sandboxPreview": "Workspace preview. Browser storage and URLs starting with / may not work in this view.",
|
|
@@ -10840,7 +10888,7 @@
|
|
|
10840
10888
|
"quickApps.status.missing-workspace": "The original workspace is unavailable.",
|
|
10841
10889
|
"quickApps.status.missing-file": "The entry file or application folder is missing or cannot be accessed."
|
|
10842
10890
|
};
|
|
10843
|
-
const zh$
|
|
10891
|
+
const zh$3 = {
|
|
10844
10892
|
"quickApps.storagePreview": "应用数据保存在当前浏览器中。此视图不支持 IndexedDB 和以 / 开头的网址。",
|
|
10845
10893
|
"quickApps.storageFailed": "无法在当前浏览器中保存应用数据:{message}",
|
|
10846
10894
|
"quickApps.sandboxPreview": "工作区预览:浏览器存储和以 / 开头的网址可能无法在此视图中使用。",
|
|
@@ -10975,7 +11023,7 @@
|
|
|
10975
11023
|
};
|
|
10976
11024
|
//#endregion
|
|
10977
11025
|
//#region src/client/locales/cliManagement.ts
|
|
10978
|
-
const en$
|
|
11026
|
+
const en$2 = {
|
|
10979
11027
|
"cli.team.label": "Team eligibility",
|
|
10980
11028
|
"cli.team.leadAndMember": "Collaborator and Lead",
|
|
10981
11029
|
"cli.team.member": "Collaborator",
|
|
@@ -11052,7 +11100,7 @@
|
|
|
11052
11100
|
"cli.manage.retryStatus": "Retry status",
|
|
11053
11101
|
"cli.manage.reviewAgain": "Review another operation"
|
|
11054
11102
|
};
|
|
11055
|
-
const zh$
|
|
11103
|
+
const zh$2 = {
|
|
11056
11104
|
"cli.team.label": "团队适配能力",
|
|
11057
11105
|
"cli.team.leadAndMember": "协作者和管理者",
|
|
11058
11106
|
"cli.team.member": "协作者",
|
|
@@ -11130,6 +11178,651 @@
|
|
|
11130
11178
|
"cli.manage.reviewAgain": "查看新的操作"
|
|
11131
11179
|
};
|
|
11132
11180
|
//#endregion
|
|
11181
|
+
//#region src/client/locales/magpie.ts
|
|
11182
|
+
/** Copy for the optional Magpie usage dashboard. */
|
|
11183
|
+
const en$1 = {
|
|
11184
|
+
"feature.magpieManagement.label": "Magpie management and usage",
|
|
11185
|
+
"feature.magpieManagement.description": "Enable to add a separate Magpie Management page below Plugins in the global sidebar.",
|
|
11186
|
+
"magpie.sidebarLabel": "Magpie",
|
|
11187
|
+
"magpie.usage": "Usage",
|
|
11188
|
+
"magpie.routing": "Routing",
|
|
11189
|
+
"magpie.statTokens": "Tokens",
|
|
11190
|
+
"magpie.statCalls": "Requests",
|
|
11191
|
+
"magpie.statTurns": "Turns",
|
|
11192
|
+
"magpie.statSteps": "Steps",
|
|
11193
|
+
"magpie.statWriteDown": "Output",
|
|
11194
|
+
"magpie.statSessions": "Sessions",
|
|
11195
|
+
"magpie.statReasoning": "Reasoning",
|
|
11196
|
+
"magpie.statReasoningNote": "Counted as output",
|
|
11197
|
+
"magpie.statSpeed": "Output speed",
|
|
11198
|
+
"magpie.statLatency": "First text",
|
|
11199
|
+
"magpie.statLatencyNote": "Average first-text latency",
|
|
11200
|
+
"magpie.topSessions": "Top sessions",
|
|
11201
|
+
"magpie.dailyTrend": "Daily trend",
|
|
11202
|
+
"magpie.ncolTime": "Time",
|
|
11203
|
+
"magpie.ncolRequested": "Requested model",
|
|
11204
|
+
"magpie.ncolProvider": "Provider / account",
|
|
11205
|
+
"magpie.ncolServed": "Served model",
|
|
11206
|
+
"magpie.ncolInput": "Input",
|
|
11207
|
+
"magpie.ncolOutput": "Output",
|
|
11208
|
+
"magpie.ncolCost": "Cost",
|
|
11209
|
+
"magpie.ncolFirstText": "First text",
|
|
11210
|
+
"magpie.ncolDuration": "Duration",
|
|
11211
|
+
"magpie.ncolSpeed": "Speed",
|
|
11212
|
+
"magpie.ncolStatus": "Status",
|
|
11213
|
+
"magpie.open": "Open Magpie dashboard",
|
|
11214
|
+
"magpie.pageTitle": "Magpie observatory",
|
|
11215
|
+
"magpie.pageSubtitle": "A live ledger of routing, usage, and subscription allowance.",
|
|
11216
|
+
"magpie.periodLabel": "PERIOD",
|
|
11217
|
+
"magpie.chart.calls": "Magpie requests over time",
|
|
11218
|
+
"magpie.chart.tokens": "Magpie tokens over time",
|
|
11219
|
+
"magpie.chart.cost": "Magpie reported cost over time",
|
|
11220
|
+
"magpie.close": "Return to the conversation",
|
|
11221
|
+
"magpie.overview": "Overview",
|
|
11222
|
+
"magpie.sessions": "Sessions",
|
|
11223
|
+
"magpie.requests": "Requests",
|
|
11224
|
+
"magpie.quotas": "Subscriptions",
|
|
11225
|
+
"magpie.today": "Today",
|
|
11226
|
+
"magpie.week": "7 days",
|
|
11227
|
+
"magpie.month": "30 days",
|
|
11228
|
+
"magpie.all": "All time",
|
|
11229
|
+
"magpie.refresh": "Refresh",
|
|
11230
|
+
"magpie.refreshing": "Refreshing…",
|
|
11231
|
+
"magpie.update.title": "Magpie update",
|
|
11232
|
+
"magpie.update.open": "Magpie {version}; open update details",
|
|
11233
|
+
"magpie.update.close": "Close Magpie update details",
|
|
11234
|
+
"magpie.update.description": "Automatic checks observe Magpie in the background. Download and restart only run after you confirm a manual update.",
|
|
11235
|
+
"magpie.update.unavailable": "Magpie update status is unavailable.",
|
|
11236
|
+
"magpie.update.unsupported": "This Magpie version does not expose a supported update API.",
|
|
11237
|
+
"magpie.update.invalid": "Magpie returned an update response CodingNS cannot safely read.",
|
|
11238
|
+
"magpie.update.current": "Current {version}",
|
|
11239
|
+
"magpie.update.latest": "Latest {version}",
|
|
11240
|
+
"magpie.update.releaseNotes": "Release notes for {version}",
|
|
11241
|
+
"magpie.update.check": "Check for updates",
|
|
11242
|
+
"magpie.update.checking": "Checking for updates…",
|
|
11243
|
+
"magpie.update.downloading": "Magpie is downloading the update…",
|
|
11244
|
+
"magpie.update.manual": "Manual update",
|
|
11245
|
+
"magpie.update.retry": "Retry update",
|
|
11246
|
+
"magpie.update.confirmTitle": "Confirm Magpie update",
|
|
11247
|
+
"magpie.update.confirmWarning": "Magpie may download a new binary, restart its Web process, and interrupt active requests.",
|
|
11248
|
+
"magpie.update.confirm": "Confirm and update",
|
|
11249
|
+
"magpie.update.requested": "Magpie accepted the update request.",
|
|
11250
|
+
"magpie.update.restartRequested": "Magpie accepted the update and may restart now. The admin page will reconnect afterward.",
|
|
11251
|
+
"magpie.update.state.checking": "Checking",
|
|
11252
|
+
"magpie.update.state.latest": "Up to date",
|
|
11253
|
+
"magpie.update.state.found": "Update available",
|
|
11254
|
+
"magpie.update.state.downloading": "Downloading",
|
|
11255
|
+
"magpie.update.state.ready": "Ready to restart",
|
|
11256
|
+
"magpie.update.state.available": "Update available manually",
|
|
11257
|
+
"magpie.update.state.source": "Source build",
|
|
11258
|
+
"magpie.update.state.error": "Update error",
|
|
11259
|
+
"magpie.update.state.blocked": "Update blocked",
|
|
11260
|
+
"magpie.loading": "Reading the local Magpie Web API…",
|
|
11261
|
+
"magpie.webApiUnavailable": "The Host could not start or authenticate Magpie Web. Startup is automatic; verify that the Magpie CLI is available, then retry.",
|
|
11262
|
+
"magpie.unavailable": "Magpie data is unavailable on this Host.",
|
|
11263
|
+
"magpie.cliUnavailable": "The Host could not find or run the Magpie CLI. Verify `magpie --version` in the DSH Host environment.",
|
|
11264
|
+
"magpie.cliVersionUnsupported": "This Magpie CLI version is not supported. The dashboard requires Magpie 0.1.1295 or later.",
|
|
11265
|
+
"magpie.catalogUnavailable": "The Host could not read `magpie models dsh` or find its Gateway address.",
|
|
11266
|
+
"magpie.hostRpcOutdated": "This Host is missing the Magpie usage or management RPC. Update/reload CodingNS on the Host to enable management panels.",
|
|
11267
|
+
"magpie.featureDisabled": "Magpie Management is disabled in the Host settings. Enable it in CodingNS settings and retry.",
|
|
11268
|
+
"magpie.hostRequestFailed": "The Host request failed. Check the Host connection and retry.",
|
|
11269
|
+
"magpie.usageUnavailable": "Usage data could not be read. Other sections may still be available.",
|
|
11270
|
+
"magpie.quotaUnavailable": "Subscription data could not be read.",
|
|
11271
|
+
"magpie.historyUnavailable": "Quota history could not be read.",
|
|
11272
|
+
"magpie.noUsage": "No usage was reported for this period.",
|
|
11273
|
+
"magpie.noSessions": "No sessions were reported for this period.",
|
|
11274
|
+
"magpie.noRequests": "No request rows are available for this selection.",
|
|
11275
|
+
"magpie.noQuotas": "No subscription quota cards are available.",
|
|
11276
|
+
"magpie.noHistory": "No quota history is available.",
|
|
11277
|
+
"magpie.costNote": "Cost is reported by Magpie; the API does not specify a currency.",
|
|
11278
|
+
"magpie.metricCalls": "Requests",
|
|
11279
|
+
"magpie.metricErrors": "Errors",
|
|
11280
|
+
"magpie.metricRetries": "Retries",
|
|
11281
|
+
"magpie.metricInput": "Input tokens",
|
|
11282
|
+
"magpie.metricOutput": "Output tokens",
|
|
11283
|
+
"magpie.metricCacheRead": "Cache read",
|
|
11284
|
+
"magpie.metricCacheWrite": "Cache written",
|
|
11285
|
+
"magpie.metricReasoning": "Reasoning tokens",
|
|
11286
|
+
"magpie.metricCost": "Reported cost",
|
|
11287
|
+
"magpie.metricUnpriced": "Unpriced requests",
|
|
11288
|
+
"magpie.metricLatency": "Measured requests",
|
|
11289
|
+
"magpie.metricTtft": "TTFT reported (ms)",
|
|
11290
|
+
"magpie.metricDecode": "Decode time reported",
|
|
11291
|
+
"magpie.metricDecodeTokens": "Decode tokens",
|
|
11292
|
+
"magpie.metricDecodeCount": "decode count",
|
|
11293
|
+
"magpie.timeline": "Usage over time",
|
|
11294
|
+
"magpie.tokens": "Input + output tokens",
|
|
11295
|
+
"magpie.byProvider": "By provider",
|
|
11296
|
+
"magpie.byModel": "By model",
|
|
11297
|
+
"magpie.byAccount": "By account",
|
|
11298
|
+
"magpie.modelBreakdown": "Model breakdown",
|
|
11299
|
+
"magpie.modelAggregate": "Aggregate",
|
|
11300
|
+
"magpie.modelPerAccount": "Per account",
|
|
11301
|
+
"magpie.byAgent": "By Agent",
|
|
11302
|
+
"magpie.management.providers": "Providers",
|
|
11303
|
+
"magpie.management.groupsTab": "Routing groups",
|
|
11304
|
+
"magpie.management.classifierEmpty": "Choose a model",
|
|
11305
|
+
"magpie.management.classifierHint": "Asked once as each turn begins; a small, fast model without reasoning is best.",
|
|
11306
|
+
"magpie.management.contextCustom": "Custom",
|
|
11307
|
+
"magpie.management.contextHint": "The window Agents are told this group takes, so they compact before a member turns the conversation away.",
|
|
11308
|
+
"magpie.management.contextInvalid": "Enter a number of tokens, like 200k or 1m.",
|
|
11309
|
+
"magpie.management.contextLargest": "Largest member",
|
|
11310
|
+
"magpie.management.contextSmallest": "Smallest member",
|
|
11311
|
+
"magpie.management.contextTokens": "{count} token",
|
|
11312
|
+
"magpie.management.effortAgent": "As the Agent asks",
|
|
11313
|
+
"magpie.management.effortAgentHint": "Each request reasons as much as the Agent asked for.",
|
|
11314
|
+
"magpie.management.effortAuto": "Picked per turn",
|
|
11315
|
+
"magpie.management.effortAutoHint": "A classifier rates each turn and asks its model for the nearest level; requests without reasoning stay without.",
|
|
11316
|
+
"magpie.management.effortNeedsClassifier": "Picking a level per turn needs a model that rates the turn. No model is available here.",
|
|
11317
|
+
"magpie.management.levelsNamed": "Chosen here",
|
|
11318
|
+
"magpie.management.levelsNamedHint": "Agents are offered these; a member without one is sent the level it has nearest.",
|
|
11319
|
+
"magpie.management.levelsShared": "Shared by its models",
|
|
11320
|
+
"magpie.management.levelsSharedHint": "Agents are offered the levels every member has.",
|
|
11321
|
+
"magpie.management.reviewContext": "Context window: {value}",
|
|
11322
|
+
"magpie.management.reviewEffort": "Effort: {value}",
|
|
11323
|
+
"magpie.management.reviewEffortAuto": "picked per turn by {model}",
|
|
11324
|
+
"magpie.management.reviewLevels": "Reasoning levels: {value}",
|
|
11325
|
+
"magpie.management.accounts": "Accounts",
|
|
11326
|
+
"magpie.management.groups": "Routing groups",
|
|
11327
|
+
"magpie.management.loading": "Reading Magpie provider, account, and routing-group settings…",
|
|
11328
|
+
"magpie.management.cliVersionUnsupported": "Magpie Web returned provider or routing-group data this Host cannot read. Update Magpie Web or CodingNS and retry.",
|
|
11329
|
+
"magpie.management.providersUnavailable": "Magpie provider settings could not be read in a supported format.",
|
|
11330
|
+
"magpie.management.accountsUnavailable": "Magpie account status could not be read.",
|
|
11331
|
+
"magpie.management.groupsUnavailable": "Magpie routing groups could not be read in a supported format.",
|
|
11332
|
+
"magpie.management.noProviders": "No Magpie providers were found.",
|
|
11333
|
+
"magpie.management.noAccounts": "No subscription accounts were reported by Magpie.",
|
|
11334
|
+
"magpie.management.noGroups": "No routing groups were found.",
|
|
11335
|
+
"magpie.management.accountApiRequired": "Host-managed Magpie Web is unavailable. Retry after the Host reconnects.",
|
|
11336
|
+
"magpie.management.accountRoleNote": "Primary is the Agent's signed-in account; secondary accounts can be placed in or removed from the failover rotation.",
|
|
11337
|
+
"magpie.management.unlinkedAccounts": "Accounts without a listed provider",
|
|
11338
|
+
"magpie.management.unlinkedAccountsNote": "These accounts are still shown, but Magpie did not provide a matching account Agent identity for any listed provider.",
|
|
11339
|
+
"magpie.management.noLinkedAccounts": "No subscription accounts are linked to this provider.",
|
|
11340
|
+
"magpie.management.primaryAccount": "Primary · signed in",
|
|
11341
|
+
"magpie.management.secondaryAccount": "Secondary",
|
|
11342
|
+
"magpie.management.inRotation": "In routing rotation",
|
|
11343
|
+
"magpie.management.primaryPaused": "Primary paused",
|
|
11344
|
+
"magpie.management.outOfRotation": "Out of rotation",
|
|
11345
|
+
"magpie.management.addToRotation": "Add to failover rotation",
|
|
11346
|
+
"magpie.management.removeFromRotation": "Remove from failover rotation",
|
|
11347
|
+
"magpie.management.pausePrimary": "Pause primary account",
|
|
11348
|
+
"magpie.management.lastAccountInRotation": "Magpie requires at least one account to remain in rotation.",
|
|
11349
|
+
"magpie.management.reviewAccount": "Review account routing change",
|
|
11350
|
+
"magpie.management.reviewAccountOn": "Add {account} to this provider's failover rotation.",
|
|
11351
|
+
"magpie.management.reviewAccountOff": "Remove {account} from this provider's rotation. Magpie may move Agents using it to another provider/model.",
|
|
11352
|
+
"magpie.management.accountSaveFailed": "Magpie did not confirm this account change. Refresh and inspect its current routing state.",
|
|
11353
|
+
"magpie.management.turnProviderOn": "Turn provider on",
|
|
11354
|
+
"magpie.management.turnProviderOff": "Turn provider off",
|
|
11355
|
+
"magpie.management.reviewProviderStatus": "Routing availability: {value}",
|
|
11356
|
+
"magpie.management.providerAccount": "Account: {account}",
|
|
11357
|
+
"magpie.management.modelCountUnknown": "Model count not reported",
|
|
11358
|
+
"magpie.management.modelCounts": "{exposed} exposed / {total} available models",
|
|
11359
|
+
"magpie.management.providerName": "Provider name",
|
|
11360
|
+
"magpie.management.providerId": "Provider ID",
|
|
11361
|
+
"magpie.management.providerIdHint": "Lower-case letters, digits and dashes, as model IDs spell it ({id}/model). Renaming carries the routing groups and Agent configs that name its models along.",
|
|
11362
|
+
"magpie.management.providerIdLocked": "Magpie stores this provider under an ID it will not write again, so it cannot be renamed here.",
|
|
11363
|
+
"magpie.management.providerIdInvalid": "An ID needs at least one letter or digit.",
|
|
11364
|
+
"magpie.management.providerIdPreview": "Saved as {id}; the current one stays a remembered alias.",
|
|
11365
|
+
"magpie.management.endpointType": "Endpoint type",
|
|
11366
|
+
"magpie.management.endpointUrl": "Endpoint URL",
|
|
11367
|
+
"magpie.management.exposedModels": "Exposed models",
|
|
11368
|
+
"magpie.management.providerModelsHint": "Magpie returned the complete model inventory. Check a model to expose it for routing; the original order is preserved.",
|
|
11369
|
+
"magpie.management.providerModelsUnavailable": "Magpie returned model entries this Host cannot safely edit. The list is read-only; other supported provider fields remain editable.",
|
|
11370
|
+
"magpie.management.noProviderModels": "Magpie did not return any model entries for this provider.",
|
|
11371
|
+
"magpie.management.enableAllModels": "Enable all",
|
|
11372
|
+
"magpie.management.disableAllModels": "Disable all",
|
|
11373
|
+
"magpie.management.groupName": "Group name",
|
|
11374
|
+
"magpie.management.groupModels": "Ordered models and patterns",
|
|
11375
|
+
"magpie.management.groupModelsHint": "Arrange the selected models and patterns in priority order. Use Add a model to insert another Magpie model without expanding the full inventory.",
|
|
11376
|
+
"magpie.management.addGroupModel": "Add a model",
|
|
11377
|
+
"magpie.management.searchGroupModels": "Filter models...",
|
|
11378
|
+
"magpie.management.noMatchingGroupModels": "No matching models.",
|
|
11379
|
+
"magpie.management.otherGroupModels": "Other models",
|
|
11380
|
+
"magpie.management.noSelectedGroupModels": "No models or patterns are selected for this group.",
|
|
11381
|
+
"magpie.management.moveModelUp": "Move {model} up",
|
|
11382
|
+
"magpie.management.moveModelDown": "Move {model} down",
|
|
11383
|
+
"magpie.management.routing": "Invocation policy",
|
|
11384
|
+
"magpie.management.routing.smart": "Smart",
|
|
11385
|
+
"magpie.management.routing.order": "In order",
|
|
11386
|
+
"magpie.management.routing.rotate": "In turn",
|
|
11387
|
+
"magpie.management.routing.usage": "Least used",
|
|
11388
|
+
"magpie.management.routing.pace": "Weekly pace",
|
|
11389
|
+
"magpie.management.routing.weight": "By weight",
|
|
11390
|
+
"magpie.management.routing.manual": "Manual",
|
|
11391
|
+
"magpie.management.routing.free": "Free first",
|
|
11392
|
+
"magpie.management.stays": "Account stickiness",
|
|
11393
|
+
"magpie.management.stays.auto": "Auto",
|
|
11394
|
+
"magpie.management.stays.session": "Session",
|
|
11395
|
+
"magpie.management.stays.turn": "Within a turn",
|
|
11396
|
+
"magpie.management.stays.off": "Off",
|
|
11397
|
+
"magpie.management.stays.strict": "Strict",
|
|
11398
|
+
"magpie.management.routingHint": "How this group sends a request to its members.",
|
|
11399
|
+
"magpie.management.staysHint": "How long a conversation stays with the member that answered it.",
|
|
11400
|
+
"magpie.management.manualPick": "Model sent every request",
|
|
11401
|
+
"magpie.management.manualPickHint": "Manual sends every request to this member; the others wait until another is picked.",
|
|
11402
|
+
"magpie.management.unlists": "Agents see the group only",
|
|
11403
|
+
"magpie.management.unlistsHint": "On, Agent model lists show the group and not the models it names; a request naming one is still answered.",
|
|
11404
|
+
"magpie.management.fastMode": "Fast mode",
|
|
11405
|
+
"magpie.management.fastModeHint": "{model} is asked for its vendor's fast mode (OpenAI service_tier \"priority\"): quicker, at a higher price.",
|
|
11406
|
+
"magpie.management.noFastModels": "Agents list the models below as they are; none takes this group's reasoning levels or fast mode.",
|
|
11407
|
+
"magpie.management.context": "Context limit",
|
|
11408
|
+
"magpie.management.levels": "Reasoning levels",
|
|
11409
|
+
"magpie.management.family": "Family tag",
|
|
11410
|
+
"magpie.management.effort": "Effort policy",
|
|
11411
|
+
"magpie.management.classifier": "Classifier model",
|
|
11412
|
+
"magpie.management.pick": "Manually picked model",
|
|
11413
|
+
"magpie.management.listed": "List group models separately to Agents",
|
|
11414
|
+
"magpie.management.active": "Active",
|
|
11415
|
+
"magpie.management.inactive": "Inactive",
|
|
11416
|
+
"magpie.management.enabled": "Routing on",
|
|
11417
|
+
"magpie.management.disabled": "Routing off",
|
|
11418
|
+
"magpie.management.on": "On",
|
|
11419
|
+
"magpie.management.off": "Off",
|
|
11420
|
+
"magpie.management.unknown": "Unknown",
|
|
11421
|
+
"magpie.management.noAccountWindows": "No allowance windows reported.",
|
|
11422
|
+
"magpie.management.readAt": "Read {time}",
|
|
11423
|
+
"magpie.management.membersCount": "{count} members",
|
|
11424
|
+
"magpie.management.usedBy": "Used by {agents}",
|
|
11425
|
+
"magpie.management.reviewProvider": "Review provider changes",
|
|
11426
|
+
"magpie.management.reviewGroup": "Review routing-group changes",
|
|
11427
|
+
"magpie.management.reviewName": "Name: {value}",
|
|
11428
|
+
"magpie.management.reviewProviderId": "ID: {from} → {to}",
|
|
11429
|
+
"magpie.management.providerIdRenameHint": "Magpie saves the other changes under the current ID first, then moves the provider: the routing groups and Agent configs naming its models follow, and the current ID stays an alias of the new one.",
|
|
11430
|
+
"magpie.management.reviewEndpoint": "{field} endpoint: {value}",
|
|
11431
|
+
"magpie.management.reviewModels": "Model list: {count} entries",
|
|
11432
|
+
"magpie.management.reviewRouting": "Routing: {value}",
|
|
11433
|
+
"magpie.management.reviewStays": "Stickiness: {value}",
|
|
11434
|
+
"magpie.management.manualPickEmpty": "Choose a model",
|
|
11435
|
+
"magpie.management.reviewPick": "Manual pick: {value}",
|
|
11436
|
+
"magpie.management.reviewUnlists": "Group only: {value}",
|
|
11437
|
+
"magpie.management.reviewFast": "Fast mode: {count} models",
|
|
11438
|
+
"magpie.management.reviewListed": "Listed: {value}",
|
|
11439
|
+
"magpie.management.reviewChanges": "Review changes",
|
|
11440
|
+
"magpie.management.cancel": "Cancel",
|
|
11441
|
+
"magpie.management.apply": "Apply changes",
|
|
11442
|
+
"magpie.management.saving": "Saving…",
|
|
11443
|
+
"magpie.management.saved": "Saved and verified against Magpie.",
|
|
11444
|
+
"magpie.management.saveFailed": "Magpie did not confirm this change. Refresh and inspect the current values.",
|
|
11445
|
+
"magpie.management.reset": "Reset",
|
|
11446
|
+
"magpie.sessionsCount": "{count} sessions",
|
|
11447
|
+
"magpie.sessionSearch": "Filter sessions by Agent or ID",
|
|
11448
|
+
"magpie.openRequests": "Inspect requests",
|
|
11449
|
+
"magpie.clearSession": "Clear session filter",
|
|
11450
|
+
"magpie.requestFor": "Requests for {agent} · {id}",
|
|
11451
|
+
"magpie.colTime": "Time",
|
|
11452
|
+
"magpie.colProvider": "Provider / account",
|
|
11453
|
+
"magpie.colRoute": "Requested → served",
|
|
11454
|
+
"magpie.colTokens": "Tokens",
|
|
11455
|
+
"magpie.colCost": "Cost",
|
|
11456
|
+
"magpie.colStatus": "Status / time",
|
|
11457
|
+
"magpie.routeId": "Route #{id}",
|
|
11458
|
+
"magpie.priced": "Priced",
|
|
11459
|
+
"magpie.unpricedStatus": "Unpriced",
|
|
11460
|
+
"magpie.previous": "Previous",
|
|
11461
|
+
"magpie.next": "Next",
|
|
11462
|
+
"magpie.pageOf": "Page {page}",
|
|
11463
|
+
"magpie.loadMore": "Load more",
|
|
11464
|
+
"magpie.loadedCount": "Loaded {count}",
|
|
11465
|
+
"magpie.quotaHistory": "Allowance history",
|
|
11466
|
+
"magpie.quotaHistoryNote": "Remaining allowance values recorded by Magpie; units follow each provider.",
|
|
11467
|
+
"magpie.dailyUsage": "Daily usage",
|
|
11468
|
+
"magpie.remaining": "{percent}% remaining",
|
|
11469
|
+
"magpie.used": "{percent}% used",
|
|
11470
|
+
"magpie.quotaViewLabel": "Subscription card values",
|
|
11471
|
+
"magpie.quotaViewUsed": "Used",
|
|
11472
|
+
"magpie.quotaViewRemaining": "Remaining",
|
|
11473
|
+
"magpie.quotaViewFailed": "Could not save the display mode",
|
|
11474
|
+
"magpie.resets": "Resets {time}",
|
|
11475
|
+
"magpie.account": "Account {account}",
|
|
11476
|
+
"magpie.noLimit": "No reported limit",
|
|
11477
|
+
"magpie.quotaAccounts": "{count} accounts",
|
|
11478
|
+
"magpie.quotaShowAllAccounts": "Show all accounts",
|
|
11479
|
+
"magpie.quotaShowMainAccount": "Show main account only",
|
|
11480
|
+
"magpie.quotaCollapseAccounts": "{count} accounts · collapse",
|
|
11481
|
+
"magpie.balance": "Balance",
|
|
11482
|
+
"magpie.quotaRemainingAccounts": "+{count} more",
|
|
11483
|
+
"magpie.sessionCountUnknown": "Session count not reported",
|
|
11484
|
+
"magpie.install.platform": "Host platform: {platform}",
|
|
11485
|
+
"magpie.install.title": "Magpie is not available on this Host",
|
|
11486
|
+
"magpie.install.detected": "Detected Magpie {version} at {command}",
|
|
11487
|
+
"magpie.install.recheck": "Detect again",
|
|
11488
|
+
"magpie.install.checking": "Detecting…",
|
|
11489
|
+
"magpie.install.checkedAt": "Last checked {time}",
|
|
11490
|
+
"magpie.install.reason.launch": "The entry {command} exists but Magpie could not run. Check the installation and try again.",
|
|
11491
|
+
"magpie.install.reason.timeout": "The entry {command} did not answer in time. Check the installation and try again.",
|
|
11492
|
+
"magpie.install.reason.version": "The entry {command} ran but did not report a recognizable Magpie version.",
|
|
11493
|
+
"magpie.install.command": "magpie --version",
|
|
11494
|
+
"magpie.install.installHelp.macos": "Install Magpie with the official GitHub release or installation script, then reopen DSH. The Host reads the login shell PATH and common standalone binary directories such as Homebrew and ~/.local/bin.",
|
|
11495
|
+
"magpie.install.installHelp.windows": "Install Magpie from the official GitHub release or installation script. The Host reads the Windows registry PATH and checks the installer's %USERPROFILE%\\.local\\bin location plus other common standalone binary directories. Reopen DSH after installing so it picks up the new PATH.",
|
|
11496
|
+
"magpie.install.installHelp.linux": "Install Magpie with the official GitHub release or installation script, then reopen DSH. The Host reads the login shell PATH plus /usr/local/bin and ~/.local/bin.",
|
|
11497
|
+
"magpie.install.customToggle": "Specify the Magpie path",
|
|
11498
|
+
"magpie.install.customLabel": "Absolute path to the Magpie executable",
|
|
11499
|
+
"magpie.install.customPlaceholder": "/opt/homebrew/bin/magpie or C:\\Users\\you\\.local\\bin\\magpie.exe",
|
|
11500
|
+
"magpie.install.customHelp": "Only an absolute path to a file is accepted; arguments are not allowed. The path is used for this session only.",
|
|
11501
|
+
"magpie.install.customApply": "Detect this path",
|
|
11502
|
+
"magpie.install.disabledNote": "Magpie management stays off until a working Magpie CLI is detected."
|
|
11503
|
+
};
|
|
11504
|
+
const zh$1 = {
|
|
11505
|
+
"feature.magpieManagement.label": "Magpie 管理与用量",
|
|
11506
|
+
"feature.magpieManagement.description": "启用后,会在全局侧栏的「插件」下方添加独立的 Magpie 管理页面。",
|
|
11507
|
+
"magpie.sidebarLabel": "Magpie",
|
|
11508
|
+
"magpie.usage": "用量",
|
|
11509
|
+
"magpie.routing": "路由",
|
|
11510
|
+
"magpie.statTokens": "Token",
|
|
11511
|
+
"magpie.statCalls": "请求",
|
|
11512
|
+
"magpie.statTurns": "回合",
|
|
11513
|
+
"magpie.statSteps": "步骤",
|
|
11514
|
+
"magpie.statWriteDown": "输出",
|
|
11515
|
+
"magpie.statSessions": "会话数",
|
|
11516
|
+
"magpie.statReasoning": "推理",
|
|
11517
|
+
"magpie.statReasoningNote": "计入输出",
|
|
11518
|
+
"magpie.statSpeed": "输出速度",
|
|
11519
|
+
"magpie.statLatency": "首字耗时",
|
|
11520
|
+
"magpie.statLatencyNote": "首字平均耗时",
|
|
11521
|
+
"magpie.topSessions": "最耗会话",
|
|
11522
|
+
"magpie.dailyTrend": "每日趋势",
|
|
11523
|
+
"magpie.ncolTime": "时间",
|
|
11524
|
+
"magpie.ncolRequested": "请求模型",
|
|
11525
|
+
"magpie.ncolProvider": "供应商 · 账号",
|
|
11526
|
+
"magpie.ncolServed": "实际模型",
|
|
11527
|
+
"magpie.ncolInput": "输入",
|
|
11528
|
+
"magpie.ncolOutput": "输出",
|
|
11529
|
+
"magpie.ncolCost": "费用",
|
|
11530
|
+
"magpie.ncolFirstText": "首字耗时",
|
|
11531
|
+
"magpie.ncolDuration": "耗时",
|
|
11532
|
+
"magpie.ncolSpeed": "速度",
|
|
11533
|
+
"magpie.ncolStatus": "状态",
|
|
11534
|
+
"magpie.open": "打开 Magpie 面板",
|
|
11535
|
+
"magpie.pageTitle": "Magpie 用量观测台",
|
|
11536
|
+
"magpie.pageSubtitle": "实时查看路由、用量和订阅额度记录。",
|
|
11537
|
+
"magpie.periodLabel": "周期",
|
|
11538
|
+
"magpie.chart.calls": "Magpie 请求趋势",
|
|
11539
|
+
"magpie.chart.tokens": "Magpie Token 趋势",
|
|
11540
|
+
"magpie.chart.cost": "Magpie 报告费用趋势",
|
|
11541
|
+
"magpie.close": "返回当前对话",
|
|
11542
|
+
"magpie.overview": "总览",
|
|
11543
|
+
"magpie.sessions": "会话",
|
|
11544
|
+
"magpie.requests": "请求",
|
|
11545
|
+
"magpie.quotas": "订阅",
|
|
11546
|
+
"magpie.today": "今天",
|
|
11547
|
+
"magpie.week": "近 7 天",
|
|
11548
|
+
"magpie.month": "近 30 天",
|
|
11549
|
+
"magpie.all": "全部",
|
|
11550
|
+
"magpie.refresh": "刷新",
|
|
11551
|
+
"magpie.refreshing": "正在刷新…",
|
|
11552
|
+
"magpie.update.title": "Magpie 更新",
|
|
11553
|
+
"magpie.update.open": "Magpie {version};打开更新详情",
|
|
11554
|
+
"magpie.update.close": "关闭 Magpie 更新详情",
|
|
11555
|
+
"magpie.update.description": "后台会自动观察 Magpie 的更新状态;只有你确认手动更新后,才会下载或重启。",
|
|
11556
|
+
"magpie.update.unavailable": "暂时无法读取 Magpie 更新状态。",
|
|
11557
|
+
"magpie.update.unsupported": "当前 Magpie 版本没有可支持的更新 API。",
|
|
11558
|
+
"magpie.update.invalid": "Magpie 返回了 CodingNS 无法安全读取的更新数据。",
|
|
11559
|
+
"magpie.update.current": "当前 {version}",
|
|
11560
|
+
"magpie.update.latest": "最新 {version}",
|
|
11561
|
+
"magpie.update.releaseNotes": "{version} 的更新说明",
|
|
11562
|
+
"magpie.update.check": "检查更新",
|
|
11563
|
+
"magpie.update.checking": "正在检查更新…",
|
|
11564
|
+
"magpie.update.downloading": "Magpie 正在下载更新…",
|
|
11565
|
+
"magpie.update.manual": "手动更新",
|
|
11566
|
+
"magpie.update.retry": "重试更新",
|
|
11567
|
+
"magpie.update.confirmTitle": "确认更新 Magpie",
|
|
11568
|
+
"magpie.update.confirmWarning": "Magpie 可能下载新的程序文件、重启 Web 进程,并中断正在进行的请求。",
|
|
11569
|
+
"magpie.update.confirm": "确认并更新",
|
|
11570
|
+
"magpie.update.requested": "Magpie 已接受更新请求。",
|
|
11571
|
+
"magpie.update.restartRequested": "Magpie 已接受更新,可能会立即重启;管理页稍后会自动重新连接。",
|
|
11572
|
+
"magpie.update.state.checking": "检查中",
|
|
11573
|
+
"magpie.update.state.latest": "已是最新",
|
|
11574
|
+
"magpie.update.state.found": "发现更新",
|
|
11575
|
+
"magpie.update.state.downloading": "下载中",
|
|
11576
|
+
"magpie.update.state.ready": "已准备重启",
|
|
11577
|
+
"magpie.update.state.available": "可手动更新",
|
|
11578
|
+
"magpie.update.state.source": "源码版本",
|
|
11579
|
+
"magpie.update.state.error": "更新出错",
|
|
11580
|
+
"magpie.update.state.blocked": "更新被阻止",
|
|
11581
|
+
"magpie.loading": "正在读取本机 Magpie Web API…",
|
|
11582
|
+
"magpie.webApiUnavailable": "Host 无法启动或认证 Magpie Web。服务会自动启动;请确认 Magpie CLI 可用后重试。",
|
|
11583
|
+
"magpie.unavailable": "此 Host 上的 Magpie 数据不可用。",
|
|
11584
|
+
"magpie.cliUnavailable": "Host 无法找到或运行 Magpie CLI。请在 DSH Host 环境中确认 `magpie --version` 可用。",
|
|
11585
|
+
"magpie.cliVersionUnsupported": "此 Magpie CLI 版本暂不支持;用量面板要求 Magpie 0.1.1295 或更高版本。",
|
|
11586
|
+
"magpie.catalogUnavailable": "Host 无法读取 `magpie models dsh`,或未能从中找到 Gateway 地址。",
|
|
11587
|
+
"magpie.hostRpcOutdated": "此 Host 缺少 Magpie 用量或管理 RPC。请在 Host 更新/重载 CodingNS 后使用管理面板。",
|
|
11588
|
+
"magpie.featureDisabled": "Host 设置中的 Magpie 管理功能未启用。请在 CodingNS 设置中启用后重试。",
|
|
11589
|
+
"magpie.hostRequestFailed": "Host 请求失败。请检查 Host 连接后重试。",
|
|
11590
|
+
"magpie.usageUnavailable": "无法读取用量数据;其他区块仍可能可用。",
|
|
11591
|
+
"magpie.quotaUnavailable": "无法读取订阅数据。",
|
|
11592
|
+
"magpie.historyUnavailable": "无法读取额度历史。",
|
|
11593
|
+
"magpie.noUsage": "此周期没有用量记录。",
|
|
11594
|
+
"magpie.noSessions": "此周期没有会话记录。",
|
|
11595
|
+
"magpie.noRequests": "当前选择没有可显示的请求记录。",
|
|
11596
|
+
"magpie.noQuotas": "没有可用的订阅额度卡片。",
|
|
11597
|
+
"magpie.noHistory": "没有可用的额度历史。",
|
|
11598
|
+
"magpie.costNote": "费用由 Magpie 提供;API 未声明币种。",
|
|
11599
|
+
"magpie.metricCalls": "请求数",
|
|
11600
|
+
"magpie.metricErrors": "错误数",
|
|
11601
|
+
"magpie.metricRetries": "重试数",
|
|
11602
|
+
"magpie.metricInput": "输入 Token",
|
|
11603
|
+
"magpie.metricOutput": "输出 Token",
|
|
11604
|
+
"magpie.metricCacheRead": "缓存读取",
|
|
11605
|
+
"magpie.metricCacheWrite": "缓存写入",
|
|
11606
|
+
"magpie.metricReasoning": "推理 Token",
|
|
11607
|
+
"magpie.metricCost": "报告费用",
|
|
11608
|
+
"magpie.metricUnpriced": "未计价请求",
|
|
11609
|
+
"magpie.metricLatency": "已测时请求",
|
|
11610
|
+
"magpie.metricTtft": "报告 TTFT(毫秒)",
|
|
11611
|
+
"magpie.metricDecode": "报告解码时间",
|
|
11612
|
+
"magpie.metricDecodeTokens": "解码 Token",
|
|
11613
|
+
"magpie.metricDecodeCount": "次解码",
|
|
11614
|
+
"magpie.timeline": "用量趋势",
|
|
11615
|
+
"magpie.tokens": "输入 + 输出 Token",
|
|
11616
|
+
"magpie.byProvider": "按提供商",
|
|
11617
|
+
"magpie.byModel": "按模型",
|
|
11618
|
+
"magpie.byAccount": "按账户",
|
|
11619
|
+
"magpie.modelBreakdown": "模型明细方式",
|
|
11620
|
+
"magpie.modelAggregate": "汇总",
|
|
11621
|
+
"magpie.modelPerAccount": "按账户",
|
|
11622
|
+
"magpie.byAgent": "按 Agent",
|
|
11623
|
+
"magpie.management.providers": "提供商",
|
|
11624
|
+
"magpie.management.groupsTab": "路由组",
|
|
11625
|
+
"magpie.management.classifierEmpty": "请选择模型",
|
|
11626
|
+
"magpie.management.classifierHint": "每轮开始时询问一次;不带推理的小型快速模型最合适。",
|
|
11627
|
+
"magpie.management.contextCustom": "自定义",
|
|
11628
|
+
"magpie.management.contextHint": "告知 Agent 此路由组的上下文窗口,让它在成员拒绝之前先行压缩。",
|
|
11629
|
+
"magpie.management.contextInvalid": "请填写 token 数量,例如 200k 或 1m。",
|
|
11630
|
+
"magpie.management.contextLargest": "最大成员",
|
|
11631
|
+
"magpie.management.contextSmallest": "最小成员",
|
|
11632
|
+
"magpie.management.contextTokens": "{count} tokens",
|
|
11633
|
+
"magpie.management.effortAgent": "按 Agent 请求",
|
|
11634
|
+
"magpie.management.effortAgentHint": "每个请求按 Agent 请求的推理强度处理。",
|
|
11635
|
+
"magpie.management.effortAuto": "按轮挑选",
|
|
11636
|
+
"magpie.management.effortAutoHint": "分类器判断每轮的难度,并让该轮按最近的档位请求;原本不带推理的请求仍然不带。",
|
|
11637
|
+
"magpie.management.effortNeedsClassifier": "按轮挑选需要一个评判该轮的模型,此处没有可用模型。",
|
|
11638
|
+
"magpie.management.levelsNamed": "在此指定",
|
|
11639
|
+
"magpie.management.levelsNamedHint": "向 Agent 提供这些档位;没有该档位的成员会按最近的档位下发。",
|
|
11640
|
+
"magpie.management.levelsShared": "沿用各模型共有",
|
|
11641
|
+
"magpie.management.levelsSharedHint": "向 Agent 提供所有成员都具备的推理档位。",
|
|
11642
|
+
"magpie.management.reviewContext": "上下文窗口:{value}",
|
|
11643
|
+
"magpie.management.reviewEffort": "推理强度:{value}",
|
|
11644
|
+
"magpie.management.reviewEffortAuto": "由 {model} 按轮挑选",
|
|
11645
|
+
"magpie.management.reviewLevels": "推理档位:{value}",
|
|
11646
|
+
"magpie.management.accounts": "账户",
|
|
11647
|
+
"magpie.management.groups": "路由组",
|
|
11648
|
+
"magpie.management.loading": "正在读取 Magpie 提供商、账户和路由组设置…",
|
|
11649
|
+
"magpie.management.cliVersionUnsupported": "Magpie Web 返回的提供商或路由组数据无法由此 Host 读取。请更新 Magpie Web 或 CodingNS 后重试。",
|
|
11650
|
+
"magpie.management.providersUnavailable": "无法按受支持的格式读取 Magpie 提供商设置。",
|
|
11651
|
+
"magpie.management.accountsUnavailable": "无法读取 Magpie 账户状态。",
|
|
11652
|
+
"magpie.management.groupsUnavailable": "无法按受支持的格式读取 Magpie 路由组。",
|
|
11653
|
+
"magpie.management.noProviders": "未找到 Magpie 提供商。",
|
|
11654
|
+
"magpie.management.noAccounts": "Magpie 未报告订阅账户。",
|
|
11655
|
+
"magpie.management.noGroups": "未找到路由组。",
|
|
11656
|
+
"magpie.management.accountApiRequired": "Host 管理的 Magpie Web 当前不可用;请在 Host 重新连接后重试。",
|
|
11657
|
+
"magpie.management.accountRoleNote": "主账户是 Agent 当前登录的账户;次级账户可加入或移出故障转移轮换。",
|
|
11658
|
+
"magpie.management.unlinkedAccounts": "未匹配到提供商的账户",
|
|
11659
|
+
"magpie.management.unlinkedAccountsNote": "这些账户仍会显示;但 Magpie 没有为任何已列出的提供商返回匹配的账户 Agent 标识。",
|
|
11660
|
+
"magpie.management.noLinkedAccounts": "此提供商没有关联的订阅账户。",
|
|
11661
|
+
"magpie.management.primaryAccount": "主账户 · 当前登录",
|
|
11662
|
+
"magpie.management.secondaryAccount": "次级账户",
|
|
11663
|
+
"magpie.management.inRotation": "参与路由轮换",
|
|
11664
|
+
"magpie.management.primaryPaused": "主账户已暂停",
|
|
11665
|
+
"magpie.management.outOfRotation": "未参与轮换",
|
|
11666
|
+
"magpie.management.addToRotation": "加入故障转移轮换",
|
|
11667
|
+
"magpie.management.removeFromRotation": "移出故障转移轮换",
|
|
11668
|
+
"magpie.management.pausePrimary": "暂停主账户",
|
|
11669
|
+
"magpie.management.lastAccountInRotation": "Magpie 要求至少保留一个参与轮换的账户。",
|
|
11670
|
+
"magpie.management.reviewAccount": "确认账户路由变更",
|
|
11671
|
+
"magpie.management.reviewAccountOn": "将 {account} 加入此提供商的故障转移轮换。",
|
|
11672
|
+
"magpie.management.reviewAccountOff": "将 {account} 移出此提供商的轮换。Magpie 可能会让正在使用它的 Agent 改用其他提供商/模型。",
|
|
11673
|
+
"magpie.management.accountSaveFailed": "Magpie 未确认此账户变更。请刷新并检查当前路由状态。",
|
|
11674
|
+
"magpie.management.turnProviderOn": "启用提供商",
|
|
11675
|
+
"magpie.management.turnProviderOff": "停用提供商",
|
|
11676
|
+
"magpie.management.reviewProviderStatus": "路由状态:{value}",
|
|
11677
|
+
"magpie.management.providerAccount": "账户:{account}",
|
|
11678
|
+
"magpie.management.modelCountUnknown": "未报告模型数量",
|
|
11679
|
+
"magpie.management.modelCounts": "已公开 {exposed} / 可用 {total} 个模型",
|
|
11680
|
+
"magpie.management.providerName": "提供商名称",
|
|
11681
|
+
"magpie.management.providerId": "提供商 ID",
|
|
11682
|
+
"magpie.management.providerIdHint": "只能使用小写字母、数字和短横线,模型 ID 以它开头({id}/模型)。改名时会一并迁移引用其模型的路由组与 Agent 配置。",
|
|
11683
|
+
"magpie.management.providerIdLocked": "Magpie 以这个不会再写入的 ID 保存该提供商,因此此处不能改名。",
|
|
11684
|
+
"magpie.management.providerIdInvalid": "ID 至少需要一个字母或数字。",
|
|
11685
|
+
"magpie.management.providerIdPreview": "将保存为 {id};原 ID 仍会作为别名保留。",
|
|
11686
|
+
"magpie.management.endpointType": "端点类型",
|
|
11687
|
+
"magpie.management.endpointUrl": "端点 URL",
|
|
11688
|
+
"magpie.management.exposedModels": "已公开模型",
|
|
11689
|
+
"magpie.management.providerModelsHint": "Magpie 已返回完整模型清单。勾选模型即可将其公开到路由中;原始顺序会保留。",
|
|
11690
|
+
"magpie.management.providerModelsUnavailable": "Magpie 返回了此 Host 无法安全编辑的模型条目;模型列表已设为只读,其他受支持的提供商字段仍可编辑。",
|
|
11691
|
+
"magpie.management.noProviderModels": "Magpie 没有为此提供商返回模型条目。",
|
|
11692
|
+
"magpie.management.enableAllModels": "全部启用",
|
|
11693
|
+
"magpie.management.disableAllModels": "全部停用",
|
|
11694
|
+
"magpie.management.groupName": "路由组名称",
|
|
11695
|
+
"magpie.management.groupModels": "有序模型与匹配模式",
|
|
11696
|
+
"magpie.management.groupModelsHint": "按优先级排列已选模型和匹配模式。使用“添加模型”即可加入其他 Magpie 模型,不再展开完整清单。",
|
|
11697
|
+
"magpie.management.addGroupModel": "添加模型",
|
|
11698
|
+
"magpie.management.searchGroupModels": "筛选模型…",
|
|
11699
|
+
"magpie.management.noMatchingGroupModels": "没有匹配的模型。",
|
|
11700
|
+
"magpie.management.otherGroupModels": "其他模型",
|
|
11701
|
+
"magpie.management.noSelectedGroupModels": "此路由组尚未选择模型或匹配模式。",
|
|
11702
|
+
"magpie.management.moveModelUp": "将 {model} 上移",
|
|
11703
|
+
"magpie.management.moveModelDown": "将 {model} 下移",
|
|
11704
|
+
"magpie.management.routing": "调用策略",
|
|
11705
|
+
"magpie.management.routing.smart": "智能",
|
|
11706
|
+
"magpie.management.routing.order": "按顺序",
|
|
11707
|
+
"magpie.management.routing.rotate": "轮流",
|
|
11708
|
+
"magpie.management.routing.usage": "最少使用",
|
|
11709
|
+
"magpie.management.routing.pace": "重置前用完",
|
|
11710
|
+
"magpie.management.routing.weight": "按权重",
|
|
11711
|
+
"magpie.management.routing.manual": "手动",
|
|
11712
|
+
"magpie.management.routing.free": "免费优先",
|
|
11713
|
+
"magpie.management.stays": "账户粘性",
|
|
11714
|
+
"magpie.management.stays.auto": "自动",
|
|
11715
|
+
"magpie.management.stays.session": "整个会话",
|
|
11716
|
+
"magpie.management.stays.turn": "一轮之内",
|
|
11717
|
+
"magpie.management.stays.off": "关闭",
|
|
11718
|
+
"magpie.management.stays.strict": "严格",
|
|
11719
|
+
"magpie.management.routingHint": "此路由组如何把请求发往组内模型。",
|
|
11720
|
+
"magpie.management.staysHint": "会话在多长时间内固定在应答它的成员上。",
|
|
11721
|
+
"magpie.management.manualPick": "固定发送的模型",
|
|
11722
|
+
"magpie.management.manualPickHint": "「手动」会把每个请求都发给此成员,其余成员在另行选择前不参与。",
|
|
11723
|
+
"magpie.management.unlists": "Agent 只看到路由组",
|
|
11724
|
+
"magpie.management.unlistsHint": "开启后,Agent 的模型列表只显示路由组,不显示它包含的模型;直接点名这些模型的请求仍会应答。",
|
|
11725
|
+
"magpie.management.fastMode": "快速模式",
|
|
11726
|
+
"magpie.management.fastModeHint": "会向 {model} 请求其厂商的快速模式(OpenAI service_tier \"priority\"):更快,但价格更高。",
|
|
11727
|
+
"magpie.management.noFastModels": "Agent 列表中的模型按原样列出;此路由组的推理档位与快速模式都不作用于它们。",
|
|
11728
|
+
"magpie.management.context": "上下文上限",
|
|
11729
|
+
"magpie.management.levels": "推理等级",
|
|
11730
|
+
"magpie.management.family": "模型族标签",
|
|
11731
|
+
"magpie.management.effort": "推理策略",
|
|
11732
|
+
"magpie.management.classifier": "分类器模型",
|
|
11733
|
+
"magpie.management.pick": "手动选择的模型",
|
|
11734
|
+
"magpie.management.listed": "向 Agent 单独公开组内模型",
|
|
11735
|
+
"magpie.management.active": "活跃",
|
|
11736
|
+
"magpie.management.inactive": "未活跃",
|
|
11737
|
+
"magpie.management.enabled": "路由开启",
|
|
11738
|
+
"magpie.management.disabled": "路由关闭",
|
|
11739
|
+
"magpie.management.on": "开启",
|
|
11740
|
+
"magpie.management.off": "关闭",
|
|
11741
|
+
"magpie.management.unknown": "未知",
|
|
11742
|
+
"magpie.management.noAccountWindows": "未报告额度窗口。",
|
|
11743
|
+
"magpie.management.readAt": "读取于 {time}",
|
|
11744
|
+
"magpie.management.membersCount": "{count} 个成员",
|
|
11745
|
+
"magpie.management.usedBy": "使用方:{agents}",
|
|
11746
|
+
"magpie.management.reviewProvider": "确认提供商变更",
|
|
11747
|
+
"magpie.management.reviewGroup": "确认路由组变更",
|
|
11748
|
+
"magpie.management.reviewName": "名称:{value}",
|
|
11749
|
+
"magpie.management.reviewProviderId": "ID:{from} → {to}",
|
|
11750
|
+
"magpie.management.providerIdRenameHint": "Magpie 会先在当前 ID 下保存其他变更,再迁移该提供商:引用其模型的路由组与 Agent 配置会随之迁移,当前 ID 会保留为新 ID 的别名。",
|
|
11751
|
+
"magpie.management.reviewEndpoint": "{field} 端点:{value}",
|
|
11752
|
+
"magpie.management.reviewModels": "模型列表:{count} 项",
|
|
11753
|
+
"magpie.management.reviewRouting": "路由:{value}",
|
|
11754
|
+
"magpie.management.reviewStays": "粘性:{value}",
|
|
11755
|
+
"magpie.management.manualPickEmpty": "请选择模型",
|
|
11756
|
+
"magpie.management.reviewPick": "手动固定:{value}",
|
|
11757
|
+
"magpie.management.reviewUnlists": "只显示路由组:{value}",
|
|
11758
|
+
"magpie.management.reviewFast": "快速模式:{count} 个模型",
|
|
11759
|
+
"magpie.management.reviewListed": "公开:{value}",
|
|
11760
|
+
"magpie.management.reviewChanges": "检查变更",
|
|
11761
|
+
"magpie.management.cancel": "取消",
|
|
11762
|
+
"magpie.management.apply": "应用变更",
|
|
11763
|
+
"magpie.management.saving": "保存中…",
|
|
11764
|
+
"magpie.management.saved": "已保存,并已通过 Magpie 回读验证。",
|
|
11765
|
+
"magpie.management.saveFailed": "Magpie 未确认此变更。请刷新并检查当前值。",
|
|
11766
|
+
"magpie.management.reset": "重置",
|
|
11767
|
+
"magpie.sessionsCount": "{count} 个会话",
|
|
11768
|
+
"magpie.sessionSearch": "按 Agent 或 ID 筛选会话",
|
|
11769
|
+
"magpie.openRequests": "查看请求",
|
|
11770
|
+
"magpie.clearSession": "清除会话筛选",
|
|
11771
|
+
"magpie.requestFor": "{agent} 的请求 · {id}",
|
|
11772
|
+
"magpie.colTime": "时间",
|
|
11773
|
+
"magpie.colProvider": "提供商 / 账户",
|
|
11774
|
+
"magpie.colRoute": "请求 → 实际服务",
|
|
11775
|
+
"magpie.colTokens": "Token",
|
|
11776
|
+
"magpie.colCost": "费用",
|
|
11777
|
+
"magpie.colStatus": "状态 / 耗时",
|
|
11778
|
+
"magpie.routeId": "路由 #{id}",
|
|
11779
|
+
"magpie.priced": "已计价",
|
|
11780
|
+
"magpie.unpricedStatus": "未计价",
|
|
11781
|
+
"magpie.previous": "上一页",
|
|
11782
|
+
"magpie.next": "下一页",
|
|
11783
|
+
"magpie.pageOf": "第 {page} 页",
|
|
11784
|
+
"magpie.loadMore": "加载更多",
|
|
11785
|
+
"magpie.loadedCount": "已加载 {count} 条",
|
|
11786
|
+
"magpie.quotaHistory": "额度历史",
|
|
11787
|
+
"magpie.quotaHistoryNote": "Magpie 记录的剩余额度;单位以各提供商报告为准。",
|
|
11788
|
+
"magpie.dailyUsage": "每日用量",
|
|
11789
|
+
"magpie.remaining": "剩余 {percent}%",
|
|
11790
|
+
"magpie.used": "已用 {percent}%",
|
|
11791
|
+
"magpie.quotaViewLabel": "订阅卡显示口径",
|
|
11792
|
+
"magpie.quotaViewUsed": "已用",
|
|
11793
|
+
"magpie.quotaViewRemaining": "剩余",
|
|
11794
|
+
"magpie.quotaViewFailed": "显示口径保存失败",
|
|
11795
|
+
"magpie.resets": "重置时间 {time}",
|
|
11796
|
+
"magpie.account": "账户 {account}",
|
|
11797
|
+
"magpie.noLimit": "未报告额度上限",
|
|
11798
|
+
"magpie.quotaAccounts": "{count} 个账号",
|
|
11799
|
+
"magpie.quotaShowAllAccounts": "展开全部账号",
|
|
11800
|
+
"magpie.quotaShowMainAccount": "只显示主账号",
|
|
11801
|
+
"magpie.quotaCollapseAccounts": "{count} 个账号 · 收起其余账号",
|
|
11802
|
+
"magpie.balance": "余额",
|
|
11803
|
+
"magpie.quotaRemainingAccounts": "另 {count} 个",
|
|
11804
|
+
"magpie.sessionCountUnknown": "未报告会话总数",
|
|
11805
|
+
"magpie.install.platform": "Host 平台:{platform}",
|
|
11806
|
+
"magpie.install.title": "本机未找到可用的 Magpie",
|
|
11807
|
+
"magpie.install.detected": "已检测到 Magpie {version}:{command}",
|
|
11808
|
+
"magpie.install.recheck": "重新检测",
|
|
11809
|
+
"magpie.install.checking": "检测中…",
|
|
11810
|
+
"magpie.install.checkedAt": "上次检测:{time}",
|
|
11811
|
+
"magpie.install.reason.launch": "入口 {command} 存在,但 Magpie 无法运行;请检查安装后重试。",
|
|
11812
|
+
"magpie.install.reason.timeout": "入口 {command} 未在限定时间内响应;请检查安装后重试。",
|
|
11813
|
+
"magpie.install.reason.version": "入口 {command} 已运行,但没有输出可识别的 Magpie 版本。",
|
|
11814
|
+
"magpie.install.command": "magpie --version",
|
|
11815
|
+
"magpie.install.installHelp.macos": "请使用官方 GitHub Release 或安装脚本安装 Magpie,然后重新打开 DSH。Host 会读取登录 Shell 的 PATH,以及 Homebrew、/usr/local/bin、~/.local/bin 等常见独立程序目录。",
|
|
11816
|
+
"magpie.install.installHelp.windows": "请使用官方 GitHub Release 或安装脚本安装 Magpie。Host 会读取 Windows 注册表中的 PATH,并检查安装脚本使用的 %USERPROFILE%\\.local\\bin 以及其他常见独立程序目录。安装后请重新打开 DSH,以读取新的 PATH。",
|
|
11817
|
+
"magpie.install.installHelp.linux": "请使用官方 GitHub Release 或安装脚本安装 Magpie,然后重新打开 DSH。Host 会读取登录 Shell 的 PATH、/usr/local/bin 和 ~/.local/bin。",
|
|
11818
|
+
"magpie.install.customToggle": "手动指定 Magpie 路径",
|
|
11819
|
+
"magpie.install.customLabel": "Magpie 可执行文件的绝对路径",
|
|
11820
|
+
"magpie.install.customPlaceholder": "/opt/homebrew/bin/magpie 或 C:\\Users\\你\\.local\\bin\\magpie.exe",
|
|
11821
|
+
"magpie.install.customHelp": "只接受文件绝对路径,不允许附加参数;该路径只在本次会话生效。",
|
|
11822
|
+
"magpie.install.customApply": "检测此路径",
|
|
11823
|
+
"magpie.install.disabledNote": "检测到可用的 Magpie CLI 前,Magpie 管理保持关闭。"
|
|
11824
|
+
};
|
|
11825
|
+
//#endregion
|
|
11133
11826
|
//#region src/client/locale.ts
|
|
11134
11827
|
/** Codingns4DSH 自有词典命名空间。词典缺少的语言由 DSH 自动回退到英文。 */
|
|
11135
11828
|
const CODINGNS_LOCALE_NS = "codingns";
|
|
@@ -11145,6 +11838,8 @@
|
|
|
11145
11838
|
"settings.moduleEnabled": "{label} enabled.",
|
|
11146
11839
|
"settings.moduleDisabled": "{label} disabled.",
|
|
11147
11840
|
"settings.moduleWriteRejected": "The setting change was rejected; please retry.",
|
|
11841
|
+
"settings.requirement.magpieInstall": "Magpie is not installed or not usable on this Host. Install Magpie and detect again before enabling this module.",
|
|
11842
|
+
"settings.requirement.checking": "Checking whether Magpie is available on this Host…",
|
|
11148
11843
|
"settings.promo.sectionLabel": "Codingns4DSH promotion",
|
|
11149
11844
|
"settings.promo.version": "Version {version}",
|
|
11150
11845
|
"settings.promo.starHint": "If Codingns4DSH helps you, please give us a Star on GitHub — it means a lot to us.",
|
|
@@ -11601,6 +12296,8 @@
|
|
|
11601
12296
|
"settings.moduleEnabled": "已启用{label}",
|
|
11602
12297
|
"settings.moduleDisabled": "已禁用{label}",
|
|
11603
12298
|
"settings.moduleWriteRejected": "设置未被接受,请重试。",
|
|
12299
|
+
"settings.requirement.magpieInstall": "本机未安装 Magpie 或 Magpie 不可用;请先安装并重新检测,再启用此模块。",
|
|
12300
|
+
"settings.requirement.checking": "正在检测本机是否可用的 Magpie…",
|
|
11604
12301
|
"settings.promo.sectionLabel": "Codingns4DSH 推广",
|
|
11605
12302
|
"settings.promo.version": "版本 v{version}",
|
|
11606
12303
|
"settings.promo.starHint": "如果 Codingns4DSH 帮到了你,请在 GitHub 点个 Star,这对我们意义重大。",
|
|
@@ -12047,38 +12744,40 @@
|
|
|
12047
12744
|
};
|
|
12048
12745
|
({
|
|
12049
12746
|
...CORE_EN,
|
|
12050
|
-
...en$14,
|
|
12051
12747
|
...en$15,
|
|
12052
|
-
...en$12,
|
|
12053
12748
|
...en$16,
|
|
12749
|
+
...en$13,
|
|
12750
|
+
...en$17,
|
|
12751
|
+
...en$11,
|
|
12054
12752
|
...en$10,
|
|
12055
|
-
...en$
|
|
12753
|
+
...en$8,
|
|
12056
12754
|
...en$7,
|
|
12057
12755
|
...en$6,
|
|
12058
12756
|
...en$5,
|
|
12757
|
+
...en$14,
|
|
12758
|
+
...en$9,
|
|
12759
|
+
...en$12,
|
|
12059
12760
|
...en$4,
|
|
12060
|
-
...en$13,
|
|
12061
|
-
...en$8,
|
|
12062
|
-
...en$11,
|
|
12063
12761
|
...en$3,
|
|
12064
12762
|
...en$2,
|
|
12065
12763
|
...en$1
|
|
12066
12764
|
});
|
|
12067
12765
|
const zh = {
|
|
12068
12766
|
...CORE_ZH,
|
|
12069
|
-
...zh$14,
|
|
12070
12767
|
...zh$15,
|
|
12071
|
-
...zh$12,
|
|
12072
12768
|
...zh$16,
|
|
12769
|
+
...zh$13,
|
|
12770
|
+
...zh$17,
|
|
12771
|
+
...zh$11,
|
|
12073
12772
|
...zh$10,
|
|
12074
|
-
...zh$
|
|
12773
|
+
...zh$8,
|
|
12075
12774
|
...zh$7,
|
|
12076
12775
|
...zh$6,
|
|
12077
12776
|
...zh$5,
|
|
12777
|
+
...zh$14,
|
|
12778
|
+
...zh$9,
|
|
12779
|
+
...zh$12,
|
|
12078
12780
|
...zh$4,
|
|
12079
|
-
...zh$13,
|
|
12080
|
-
...zh$8,
|
|
12081
|
-
...zh$11,
|
|
12082
12781
|
...zh$3,
|
|
12083
12782
|
...zh$2,
|
|
12084
12783
|
...zh$1
|
|
@@ -12237,77 +12936,77 @@
|
|
|
12237
12936
|
return n;
|
|
12238
12937
|
}
|
|
12239
12938
|
//#endregion
|
|
12240
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
12939
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/TextShimmer.module.css
|
|
12241
12940
|
var TextShimmer_module_default = {
|
|
12242
|
-
"content": "
|
|
12243
|
-
"decoration": "
|
|
12244
|
-
"dsh-row-shimmer-highlight": "
|
|
12245
|
-
"dsh-row-shimmer-sweep": "
|
|
12246
|
-
"highlight": "
|
|
12247
|
-
"root": "
|
|
12248
|
-
"sweep": "
|
|
12249
|
-
"text": "
|
|
12941
|
+
"content": "_6Crova_content",
|
|
12942
|
+
"decoration": "_6Crova_decoration",
|
|
12943
|
+
"dsh-row-shimmer-highlight": "_6Crova_dsh-row-shimmer-highlight",
|
|
12944
|
+
"dsh-row-shimmer-sweep": "_6Crova_dsh-row-shimmer-sweep",
|
|
12945
|
+
"highlight": "_6Crova_highlight",
|
|
12946
|
+
"root": "_6Crova_root",
|
|
12947
|
+
"sweep": "_6Crova_sweep",
|
|
12948
|
+
"text": "_6Crova_text"
|
|
12250
12949
|
};
|
|
12251
12950
|
//#endregion
|
|
12252
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
12951
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DisclosureRow.module.css
|
|
12253
12952
|
var DisclosureRow_module_default = {
|
|
12254
|
-
"chevronHover": "
|
|
12255
|
-
"header": "
|
|
12256
|
-
"iconIdle": "
|
|
12257
|
-
"leading": "
|
|
12258
|
-
"root": "
|
|
12259
|
-
"row": "
|
|
12260
|
-
"title": "
|
|
12953
|
+
"chevronHover": "hu2FtW_chevronHover",
|
|
12954
|
+
"header": "hu2FtW_header",
|
|
12955
|
+
"iconIdle": "hu2FtW_iconIdle",
|
|
12956
|
+
"leading": "hu2FtW_leading",
|
|
12957
|
+
"root": "hu2FtW_root",
|
|
12958
|
+
"row": "hu2FtW_row",
|
|
12959
|
+
"title": "hu2FtW_title"
|
|
12261
12960
|
};
|
|
12262
12961
|
//#endregion
|
|
12263
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
12962
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Button.module.css
|
|
12264
12963
|
var Button_module_default = {
|
|
12265
|
-
"button": "
|
|
12266
|
-
"ghost": "
|
|
12267
|
-
"icon": "
|
|
12268
|
-
"md": "
|
|
12269
|
-
"outline": "
|
|
12270
|
-
"primary": "
|
|
12271
|
-
"sm": "
|
|
12272
|
-
"toolbar": "
|
|
12964
|
+
"button": "DVTTua_button",
|
|
12965
|
+
"ghost": "DVTTua_ghost",
|
|
12966
|
+
"icon": "DVTTua_icon",
|
|
12967
|
+
"md": "DVTTua_md",
|
|
12968
|
+
"outline": "DVTTua_outline",
|
|
12969
|
+
"primary": "DVTTua_primary",
|
|
12970
|
+
"sm": "DVTTua_sm",
|
|
12971
|
+
"toolbar": "DVTTua_toolbar"
|
|
12273
12972
|
};
|
|
12274
12973
|
//#endregion
|
|
12275
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
12974
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Input.module.css
|
|
12276
12975
|
var Input_module_default = {
|
|
12277
|
-
"icon": "
|
|
12278
|
-
"input": "
|
|
12279
|
-
"wrap": "
|
|
12976
|
+
"icon": "h_rfNG_icon",
|
|
12977
|
+
"input": "h_rfNG_input",
|
|
12978
|
+
"wrap": "h_rfNG_wrap"
|
|
12280
12979
|
};
|
|
12281
12980
|
//#endregion
|
|
12282
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
12981
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ShortcutKeys.module.css
|
|
12283
12982
|
var import_react_dom = require_react_dom();
|
|
12284
12983
|
var ShortcutKeys_module_default = {
|
|
12285
|
-
"joined": "
|
|
12286
|
-
"key": "
|
|
12287
|
-
"keys": "
|
|
12288
|
-
"separator": "
|
|
12289
|
-
"tooltip": "
|
|
12984
|
+
"joined": "viNX6q_joined",
|
|
12985
|
+
"key": "viNX6q_key",
|
|
12986
|
+
"keys": "viNX6q_keys",
|
|
12987
|
+
"separator": "viNX6q_separator",
|
|
12988
|
+
"tooltip": "viNX6q_tooltip"
|
|
12290
12989
|
};
|
|
12291
12990
|
//#endregion
|
|
12292
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
12991
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/MenuSurface.module.css
|
|
12293
12992
|
var MenuSurface_module_default = {
|
|
12294
|
-
"backing": "
|
|
12295
|
-
"compact": "
|
|
12296
|
-
"material": "
|
|
12297
|
-
"surface": "
|
|
12993
|
+
"backing": "S6D4NW_backing",
|
|
12994
|
+
"compact": "S6D4NW_compact",
|
|
12995
|
+
"material": "S6D4NW_material",
|
|
12996
|
+
"surface": "S6D4NW_surface"
|
|
12298
12997
|
};
|
|
12299
12998
|
//#endregion
|
|
12300
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
12999
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/HoverCard.module.css
|
|
12301
13000
|
var HoverCard_module_default = {
|
|
12302
|
-
"card": "
|
|
12303
|
-
"copied": "
|
|
12304
|
-
"copyable": "
|
|
12305
|
-
"feedback": "
|
|
12306
|
-
"inline": "
|
|
12307
|
-
"media": "
|
|
12308
|
-
"preview": "
|
|
12309
|
-
"root": "
|
|
12310
|
-
"status": "
|
|
13001
|
+
"card": "NjTHtW_card",
|
|
13002
|
+
"copied": "NjTHtW_copied",
|
|
13003
|
+
"copyable": "NjTHtW_copyable",
|
|
13004
|
+
"feedback": "NjTHtW_feedback",
|
|
13005
|
+
"inline": "NjTHtW_inline",
|
|
13006
|
+
"media": "NjTHtW_media",
|
|
13007
|
+
"preview": "NjTHtW_preview",
|
|
13008
|
+
"root": "NjTHtW_root",
|
|
13009
|
+
"status": "NjTHtW_status"
|
|
12311
13010
|
};
|
|
12312
13011
|
//#endregion
|
|
12313
13012
|
//#region node_modules/.pnpm/simple-icons@16.31.0/node_modules/simple-icons/index.mjs
|
|
@@ -12671,26 +13370,26 @@
|
|
|
12671
13370
|
hex: "0084FF"
|
|
12672
13371
|
};
|
|
12673
13372
|
//#endregion
|
|
12674
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
13373
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/MarkdownText.module.css
|
|
12675
13374
|
var MarkdownText_module_default = {
|
|
12676
|
-
"compact": "
|
|
12677
|
-
"fileLink": "
|
|
12678
|
-
"fileMention": "
|
|
12679
|
-
"image": "
|
|
12680
|
-
"imageAlt": "
|
|
12681
|
-
"imageButton": "
|
|
12682
|
-
"linkIcon": "
|
|
12683
|
-
"markdown": "
|
|
12684
|
-
"previewName": "
|
|
12685
|
-
"tableFill": "
|
|
12686
|
-
"tableScroll": "
|
|
13375
|
+
"compact": "_9E0s7q_compact",
|
|
13376
|
+
"fileLink": "_9E0s7q_fileLink",
|
|
13377
|
+
"fileMention": "_9E0s7q_fileMention",
|
|
13378
|
+
"image": "_9E0s7q_image",
|
|
13379
|
+
"imageAlt": "_9E0s7q_imageAlt",
|
|
13380
|
+
"imageButton": "_9E0s7q_imageButton",
|
|
13381
|
+
"linkIcon": "_9E0s7q_linkIcon",
|
|
13382
|
+
"markdown": "_9E0s7q_markdown",
|
|
13383
|
+
"previewName": "_9E0s7q_previewName",
|
|
13384
|
+
"tableFill": "_9E0s7q_tableFill",
|
|
13385
|
+
"tableScroll": "_9E0s7q_tableScroll"
|
|
12687
13386
|
};
|
|
12688
13387
|
//#endregion
|
|
12689
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
13388
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tooltip.module.css
|
|
12690
13389
|
var Tooltip_module_default = {
|
|
12691
|
-
"bubble": "
|
|
12692
|
-
"label": "
|
|
12693
|
-
"tooltip-in": "
|
|
13390
|
+
"bubble": "oSITJq_bubble",
|
|
13391
|
+
"label": "oSITJq_label",
|
|
13392
|
+
"tooltip-in": "oSITJq_tooltip-in"
|
|
12694
13393
|
};
|
|
12695
13394
|
//#endregion
|
|
12696
13395
|
//#region node_modules/.pnpm/@shikijs+types@4.5.0/node_modules/@shikijs/types/dist/index.mjs
|
|
@@ -23249,7 +23948,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
23249
23948
|
json_default = [lang$72];
|
|
23250
23949
|
}));
|
|
23251
23950
|
//#endregion
|
|
23252
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-util-code-language@0.2.1-rc.
|
|
23951
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-util-code-language@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-util-code-language/lib/index.js
|
|
23253
23952
|
init_typescript();
|
|
23254
23953
|
init_shellscript();
|
|
23255
23954
|
init_json();
|
|
@@ -23890,15 +24589,15 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
23890
24589
|
};
|
|
23891
24590
|
})))();
|
|
23892
24591
|
var CodeCard_module_default = {
|
|
23893
|
-
"action": "
|
|
23894
|
-
"actions": "
|
|
23895
|
-
"body": "
|
|
23896
|
-
"card": "
|
|
23897
|
-
"header": "
|
|
23898
|
-
"heading": "
|
|
23899
|
-
"language": "
|
|
23900
|
-
"status": "
|
|
23901
|
-
"title": "
|
|
24592
|
+
"action": "aStEVa_action",
|
|
24593
|
+
"actions": "aStEVa_actions",
|
|
24594
|
+
"body": "aStEVa_body",
|
|
24595
|
+
"card": "aStEVa_card",
|
|
24596
|
+
"header": "aStEVa_header",
|
|
24597
|
+
"heading": "aStEVa_heading",
|
|
24598
|
+
"language": "aStEVa_language",
|
|
24599
|
+
"status": "aStEVa_status",
|
|
24600
|
+
"title": "aStEVa_title"
|
|
23902
24601
|
};
|
|
23903
24602
|
//#endregion
|
|
23904
24603
|
//#region node_modules/.pnpm/diff@9.0.0/node_modules/diff/libesm/diff/base.js
|
|
@@ -24415,17 +25114,17 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
24415
25114
|
};
|
|
24416
25115
|
new ArrayDiff();
|
|
24417
25116
|
//#endregion
|
|
24418
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
25117
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DiffBlock.module.css
|
|
24419
25118
|
var DiffBlock_module_default = {
|
|
24420
|
-
"add": "
|
|
24421
|
-
"block": "
|
|
24422
|
-
"body": "
|
|
24423
|
-
"context": "
|
|
24424
|
-
"del": "
|
|
24425
|
-
"expand": "
|
|
24426
|
-
"gap": "
|
|
24427
|
-
"line": "
|
|
24428
|
-
"path": "
|
|
25119
|
+
"add": "qd6yXq_add",
|
|
25120
|
+
"block": "qd6yXq_block",
|
|
25121
|
+
"body": "qd6yXq_body",
|
|
25122
|
+
"context": "qd6yXq_context",
|
|
25123
|
+
"del": "qd6yXq_del",
|
|
25124
|
+
"expand": "qd6yXq_expand",
|
|
25125
|
+
"gap": "qd6yXq_gap",
|
|
25126
|
+
"line": "qd6yXq_line",
|
|
25127
|
+
"path": "qd6yXq_path"
|
|
24429
25128
|
};
|
|
24430
25129
|
//#endregion
|
|
24431
25130
|
//#region node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js
|
|
@@ -64151,35 +64850,35 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
64151
64850
|
chunkString: "chunkString"
|
|
64152
64851
|
};
|
|
64153
64852
|
//#endregion
|
|
64154
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
64853
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/CodeBlock.module.css
|
|
64155
64854
|
var CodeBlock_module_default = {
|
|
64156
|
-
"action": "
|
|
64157
|
-
"banner": "
|
|
64158
|
-
"bannerWrap": "
|
|
64159
|
-
"block": "
|
|
64160
|
-
"card": "
|
|
64161
|
-
"content": "
|
|
64162
|
-
"copyButton": "
|
|
64163
|
-
"infostring": "
|
|
64164
|
-
"numbered": "
|
|
64165
|
-
"plain": "
|
|
64166
|
-
"shiki": "
|
|
64855
|
+
"action": "pwIRiG_action",
|
|
64856
|
+
"banner": "pwIRiG_banner",
|
|
64857
|
+
"bannerWrap": "pwIRiG_bannerWrap",
|
|
64858
|
+
"block": "pwIRiG_block",
|
|
64859
|
+
"card": "pwIRiG_card",
|
|
64860
|
+
"content": "pwIRiG_content",
|
|
64861
|
+
"copyButton": "pwIRiG_copyButton",
|
|
64862
|
+
"infostring": "pwIRiG_infostring",
|
|
64863
|
+
"numbered": "pwIRiG_numbered",
|
|
64864
|
+
"plain": "pwIRiG_plain",
|
|
64865
|
+
"shiki": "pwIRiG_shiki"
|
|
64167
64866
|
};
|
|
64168
64867
|
//#endregion
|
|
64169
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
64868
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImageLightbox.module.css
|
|
64170
64869
|
var ImageLightbox_module_default = {
|
|
64171
|
-
"backdrop": "
|
|
64172
|
-
"close": "
|
|
64173
|
-
"image": "
|
|
64174
|
-
"mask": "
|
|
64175
|
-
"stage": "
|
|
64870
|
+
"backdrop": "_0Fs4Wq_backdrop",
|
|
64871
|
+
"close": "_0Fs4Wq_close",
|
|
64872
|
+
"image": "_0Fs4Wq_image",
|
|
64873
|
+
"mask": "_0Fs4Wq_mask",
|
|
64874
|
+
"stage": "_0Fs4Wq_stage"
|
|
64176
64875
|
};
|
|
64177
64876
|
//#endregion
|
|
64178
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
64877
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImagePreview.module.css
|
|
64179
64878
|
var ImagePreview_module_default = {
|
|
64180
|
-
"frame": "
|
|
64181
|
-
"image": "
|
|
64182
|
-
"status": "
|
|
64879
|
+
"frame": "Xh6afG_frame",
|
|
64880
|
+
"image": "Xh6afG_image",
|
|
64881
|
+
"status": "Xh6afG_status"
|
|
64183
64882
|
};
|
|
64184
64883
|
//#endregion
|
|
64185
64884
|
//#region node_modules/.pnpm/@shikijs+langs@4.5.0/node_modules/@shikijs/langs/dist/python.mjs
|
|
@@ -64912,7 +65611,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
64912
65611
|
groovy_default = [lang];
|
|
64913
65612
|
}));
|
|
64914
65613
|
//#endregion
|
|
64915
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.
|
|
65614
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/index.js
|
|
64916
65615
|
init_typescript();
|
|
64917
65616
|
init_shellscript();
|
|
64918
65617
|
init_json();
|
|
@@ -66509,6 +67208,71 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
66509
67208
|
strokeWidth: ICON_MEDIUM_STROKE
|
|
66510
67209
|
});
|
|
66511
67210
|
}
|
|
67211
|
+
const opposite = {
|
|
67212
|
+
right: "left",
|
|
67213
|
+
left: "right",
|
|
67214
|
+
top: "bottom",
|
|
67215
|
+
bottom: "top"
|
|
67216
|
+
};
|
|
67217
|
+
/**
|
|
67218
|
+
* Prefer the requested side, its opposite, then perpendicular sides without covering the anchor.
|
|
67219
|
+
* @param input - Observed dimensions, anchor edges, viewport and requested placement; horizontal gaps remain 10px.
|
|
67220
|
+
* @returns Border-box coordinates and the selected side; if no side fits, a viewport-bounded fallback.
|
|
67221
|
+
*/
|
|
67222
|
+
function placeTooltip(input) {
|
|
67223
|
+
const { anchor, viewportWidth, viewportHeight, side, align, gap } = input;
|
|
67224
|
+
let { width, height } = input;
|
|
67225
|
+
const margin = 12;
|
|
67226
|
+
const maxWidth = Math.max(0, viewportWidth - 24);
|
|
67227
|
+
const maxHeight = Math.max(0, viewportHeight - 24);
|
|
67228
|
+
width = Math.min(width, maxWidth);
|
|
67229
|
+
height = Math.min(height, maxHeight);
|
|
67230
|
+
const clampX = (x) => Math.max(margin, Math.min(x, viewportWidth - margin - width));
|
|
67231
|
+
const clampY = (y) => Math.max(margin, Math.min(y, viewportHeight - margin - height));
|
|
67232
|
+
const horizontal = side === "right" || side === "left";
|
|
67233
|
+
const candidates = [
|
|
67234
|
+
side,
|
|
67235
|
+
opposite[side],
|
|
67236
|
+
...horizontal ? ["bottom", "top"] : ["right", "left"]
|
|
67237
|
+
];
|
|
67238
|
+
const positions = {
|
|
67239
|
+
right: {
|
|
67240
|
+
left: anchor.right + 10,
|
|
67241
|
+
top: clampY((anchor.top + anchor.bottom - height) / 2)
|
|
67242
|
+
},
|
|
67243
|
+
left: {
|
|
67244
|
+
left: anchor.left - 10 - width,
|
|
67245
|
+
top: clampY((anchor.top + anchor.bottom - height) / 2)
|
|
67246
|
+
},
|
|
67247
|
+
bottom: {
|
|
67248
|
+
left: clampX(align === "end" ? anchor.right - width : (anchor.left + anchor.right - width) / 2),
|
|
67249
|
+
top: anchor.bottom + gap
|
|
67250
|
+
},
|
|
67251
|
+
top: {
|
|
67252
|
+
left: clampX(align === "end" ? anchor.right - width : (anchor.left + anchor.right - width) / 2),
|
|
67253
|
+
top: anchor.top - gap - height
|
|
67254
|
+
}
|
|
67255
|
+
};
|
|
67256
|
+
for (const candidate of candidates) {
|
|
67257
|
+
const position = positions[candidate];
|
|
67258
|
+
if (position.left >= margin && position.top >= margin && position.left + width <= viewportWidth - margin && position.top + height <= viewportHeight - margin) return {
|
|
67259
|
+
...position,
|
|
67260
|
+
side: candidate,
|
|
67261
|
+
width,
|
|
67262
|
+
height,
|
|
67263
|
+
overflow: false
|
|
67264
|
+
};
|
|
67265
|
+
}
|
|
67266
|
+
const position = positions[side];
|
|
67267
|
+
return {
|
|
67268
|
+
left: clampX(position.left),
|
|
67269
|
+
top: clampY(position.top),
|
|
67270
|
+
side,
|
|
67271
|
+
width,
|
|
67272
|
+
height,
|
|
67273
|
+
overflow: true
|
|
67274
|
+
};
|
|
67275
|
+
}
|
|
66512
67276
|
/**
|
|
66513
67277
|
* Document-wide input tracking shared by tooltips and focus-ring styles.
|
|
66514
67278
|
* Tooltips follow the last input; rings follow navigation or a key followed by
|
|
@@ -66581,28 +67345,29 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
66581
67345
|
* Attach a hover/focus tooltip to an anchor element.
|
|
66582
67346
|
* @param props.label - bubble text, or a resolver evaluated only while visible; an empty string shows only shortcut keys.
|
|
66583
67347
|
* @param props.shortcutKeys - effective key labels rendered as platform-formatted keycaps after optional text.
|
|
66584
|
-
* @param props.side - placement
|
|
67348
|
+
* @param props.side - preferred placement (default 'right'); fitting tries the opposite then perpendicular sides.
|
|
66585
67349
|
* @param props.align - horizontal anchor-edge alignment for 'bottom'/'top' bubbles: 'end' pins
|
|
66586
67350
|
* the bubble's right edge to the anchor's (for anchors beside other hover surfaces the centered
|
|
66587
|
-
* bubble would overlap); default 'center'.
|
|
67351
|
+
* bubble would overlap); default 'center'. Horizontal placements ignore it.
|
|
66588
67352
|
* @param props.portal - render the bubble under document.body, so an ancestor's clipping or its
|
|
66589
67353
|
* stacking context (which confines the bubble's z-index to that context) cannot hide it.
|
|
66590
67354
|
* @param props.delayMs - hover delay in milliseconds (default 0).
|
|
66591
67355
|
* @param props.focusDelayMs - keyboard focus delay in milliseconds (default 0); blur, click,
|
|
66592
67356
|
* mouse leave, disabling, and unmount cancel a pending show.
|
|
66593
67357
|
* @param props.gap - anchor-to-bubble distance in pixels for 'bottom'/'top' bubbles (default 8);
|
|
66594
|
-
*
|
|
67358
|
+
* horizontal placements use 10px, including after a flip.
|
|
66595
67359
|
* @param props.disabled - suppress the bubble while true; the anchor renders identically so
|
|
66596
67360
|
* toggling never remounts it (which would cut its CSS transitions).
|
|
66597
67361
|
* @param props.maxWidth - bubble width cap in pixels, for labels long enough that the default
|
|
66598
|
-
* half-viewport cap would render a slab wider than the surface the anchor sits on.
|
|
67362
|
+
* half-viewport cap would render a slab wider than the surface the anchor sits on; always bounded by viewport margins.
|
|
66599
67363
|
* @param props.openOnClick - clicking also pins the bubble for reading; another click, Escape,
|
|
66600
67364
|
* Tab, or an outside pointerdown dismisses it. Defaults to false for ordinary action tooltips.
|
|
66601
67365
|
* @param props.children - a single anchor element; its own ref (callback or object) is forwarded alongside the tooltip's.
|
|
66602
67366
|
* @returns the cloned anchor plus a fixed-position bubble, optionally portaled to the body.
|
|
66603
67367
|
* The bubble stays hidden until ResizeObserver supplies its size for viewport fitting; clicking the
|
|
66604
67368
|
* anchor dismisses the bubble unless openOnClick is enabled, and focus arriving after a pointer
|
|
66605
|
-
* interaction (a closing menu refocusing its trigger) never raises it.
|
|
67369
|
+
* interaction (a closing menu refocusing its trigger) never raises it. When no side fits, the
|
|
67370
|
+
* viewport-bounded fallback may overlap the anchor; oversized content is scrollable when pinned.
|
|
66606
67371
|
*/
|
|
66607
67372
|
function Tooltip({ label, shortcutKeys, side = "right", align = "center", delayMs = 0, focusDelayMs = 0, gap = 8, disabled = false, portal = false, maxWidth, openOnClick = false, children }) {
|
|
66608
67373
|
const id = (0, import_react.useId)();
|
|
@@ -66617,7 +67382,6 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
66617
67382
|
const [pos, setPos] = (0, import_react.useState)(null);
|
|
66618
67383
|
const bubble = (0, import_react.useRef)(null);
|
|
66619
67384
|
const resolvedLabel = pos === null ? null : typeof label === "function" ? label() : label;
|
|
66620
|
-
const y = pos === null ? 0 : side === "right" ? pos.top + (pos.bottom - pos.top) / 2 : side === "top" ? pos.top - gap : pos.bottom + gap;
|
|
66621
67385
|
const showTimer = (0, import_react.useRef)(null);
|
|
66622
67386
|
const triggers = (0, import_react.useRef)({
|
|
66623
67387
|
hover: false,
|
|
@@ -66632,32 +67396,41 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
66632
67396
|
(0, import_react.useEffect)(() => {
|
|
66633
67397
|
const el = bubble.current;
|
|
66634
67398
|
if (pos === null || !visible || suppressed || el === null) return;
|
|
66635
|
-
const edgeMargin = 12;
|
|
66636
67399
|
let size;
|
|
66637
|
-
let
|
|
67400
|
+
let anchorRect = pos;
|
|
66638
67401
|
const fit = () => {
|
|
66639
67402
|
if (size === void 0) return;
|
|
66640
|
-
const
|
|
66641
|
-
|
|
66642
|
-
|
|
66643
|
-
|
|
66644
|
-
|
|
66645
|
-
|
|
66646
|
-
|
|
66647
|
-
|
|
66648
|
-
|
|
66649
|
-
|
|
67403
|
+
const placement = placeTooltip({
|
|
67404
|
+
anchor: anchorRect,
|
|
67405
|
+
width: size.inlineSize,
|
|
67406
|
+
height: size.blockSize,
|
|
67407
|
+
viewportWidth: window.innerWidth,
|
|
67408
|
+
viewportHeight: window.innerHeight,
|
|
67409
|
+
side,
|
|
67410
|
+
align,
|
|
67411
|
+
gap
|
|
67412
|
+
});
|
|
67413
|
+
const horizontal = placement.side === "right" || placement.side === "left";
|
|
67414
|
+
const offsetX = horizontal ? 0 : align === "end" ? placement.width : placement.width / 2;
|
|
67415
|
+
const offsetY = horizontal ? placement.height / 2 : placement.side === "top" ? placement.height : 0;
|
|
67416
|
+
el.style.left = `${placement.left + offsetX}px`;
|
|
67417
|
+
el.style.top = `${placement.top + offsetY}px`;
|
|
67418
|
+
el.dataset.side = placement.side;
|
|
66650
67419
|
el.style.visibility = "visible";
|
|
66651
67420
|
};
|
|
67421
|
+
const onResize = () => {
|
|
67422
|
+
if (anchor.current !== null) anchorRect = anchor.current.getBoundingClientRect();
|
|
67423
|
+
fit();
|
|
67424
|
+
};
|
|
66652
67425
|
const observer = new ResizeObserver((entries) => {
|
|
66653
67426
|
size = entries[0]?.borderBoxSize[0];
|
|
66654
67427
|
fit();
|
|
66655
67428
|
});
|
|
66656
67429
|
observer.observe(el, { box: "border-box" });
|
|
66657
|
-
window.addEventListener("resize",
|
|
67430
|
+
window.addEventListener("resize", onResize);
|
|
66658
67431
|
return () => {
|
|
66659
67432
|
observer.disconnect();
|
|
66660
|
-
window.removeEventListener("resize",
|
|
67433
|
+
window.removeEventListener("resize", onResize);
|
|
66661
67434
|
};
|
|
66662
67435
|
}, [
|
|
66663
67436
|
align,
|
|
@@ -66700,12 +67473,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
66700
67473
|
const el = anchor.current;
|
|
66701
67474
|
/* v8 ignore next -- the ref is attached by event time: events fire on the cloned anchor. */
|
|
66702
67475
|
if (el === null) return;
|
|
66703
|
-
|
|
66704
|
-
setPos({
|
|
66705
|
-
x: side === "right" ? r.right + 10 : align === "end" ? r.right : r.left + r.width / 2,
|
|
66706
|
-
top: r.top,
|
|
66707
|
-
bottom: r.bottom
|
|
66708
|
-
});
|
|
67476
|
+
setPos(el.getBoundingClientRect());
|
|
66709
67477
|
announce(true);
|
|
66710
67478
|
};
|
|
66711
67479
|
const showAfterDelay = (delay) => {
|
|
@@ -66766,10 +67534,10 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
66766
67534
|
"data-align": align,
|
|
66767
67535
|
"data-has-shortcut": shortcutKeys?.length ? true : void 0,
|
|
66768
67536
|
style: {
|
|
66769
|
-
left: pos.
|
|
66770
|
-
top:
|
|
67537
|
+
left: pos.left,
|
|
67538
|
+
top: pos.top,
|
|
66771
67539
|
visibility: "hidden",
|
|
66772
|
-
...maxWidth === void 0 ? {} : { maxWidth }
|
|
67540
|
+
...maxWidth === void 0 ? {} : { maxWidth: `min(${maxWidth}px, calc(100vw - 24px))` }
|
|
66773
67541
|
},
|
|
66774
67542
|
role: "tooltip",
|
|
66775
67543
|
"aria-label": shortcutKeys?.length ? [resolvedLabel, shortcutKeys.join(" ")].filter(Boolean).join(" ") : void 0,
|