@eddyskywalker/dsh-chatgpt-subscription 0.54.0 → 0.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +148 -1268
  3. package/lib/client.js +398 -23
  4. package/lib/client.js.map +1 -1
  5. package/lib/{entry-progress-updates-BEkdyDZU.js → entry-progress-updates-CxQewio9.js} +4 -2
  6. package/lib/index.js +1089 -212
  7. package/lib/plan-mode.js +3 -7
  8. package/lib/progress-updates.js +1 -1
  9. package/lib/tool-result-pruner.js +1 -1
  10. package/lib/types/client/common/host-locale-mirror.d.ts +24 -0
  11. package/lib/types/client/common/host-locale-mirror.d.ts.map +1 -0
  12. package/lib/types/client/hub/HubOverview.d.ts.map +1 -1
  13. package/lib/types/client/hub/providers.d.ts +18 -1
  14. package/lib/types/client/hub/providers.d.ts.map +1 -1
  15. package/lib/types/client/index.d.ts.map +1 -1
  16. package/lib/types/client/locales-ru/hub.d.ts.map +1 -1
  17. package/lib/types/client/locales-ru/index.d.ts +2 -3
  18. package/lib/types/client/locales-ru/index.d.ts.map +1 -1
  19. package/lib/types/client/locales-ru/progress-updates.d.ts.map +1 -1
  20. package/lib/types/client/locales.d.ts +27 -1
  21. package/lib/types/client/locales.d.ts.map +1 -1
  22. package/lib/types/client/minimax-code/commands-contract.d.ts +1 -1
  23. package/lib/types/client/progress-updates/locales.d.ts +5 -2
  24. package/lib/types/client/progress-updates/locales.d.ts.map +1 -1
  25. package/lib/types/client/progress-updates/settings-binding.d.ts +1 -1
  26. package/lib/types/client/progress-updates/settings-binding.d.ts.map +1 -1
  27. package/lib/types/client/progress-updates/settings-section.d.ts.map +1 -1
  28. package/lib/types/client/subagent/SubagentCard.d.ts.map +1 -1
  29. package/lib/types/client/subagent/locales.d.ts +14 -2
  30. package/lib/types/client/subagent/locales.d.ts.map +1 -1
  31. package/lib/types/client/subagent/styles.d.ts +1 -1
  32. package/lib/types/client/subagent/styles.d.ts.map +1 -1
  33. package/lib/types/client/subagent/subagent-card-controller.d.ts +26 -3
  34. package/lib/types/client/subagent/subagent-card-controller.d.ts.map +1 -1
  35. package/lib/types/compat.d.ts +1 -1
  36. package/lib/types/entry-plan-mode.d.ts +3 -7
  37. package/lib/types/entry-plan-mode.d.ts.map +1 -1
  38. package/lib/types/entry-tool-result-pruner.d.ts +1 -1
  39. package/lib/types/host/adapter.d.ts.map +1 -1
  40. package/lib/types/host/agent-preset.d.ts +5 -0
  41. package/lib/types/host/agent-preset.d.ts.map +1 -1
  42. package/lib/types/host/antigravity/adapter.d.ts.map +1 -1
  43. package/lib/types/host/claude/adapter.d.ts.map +1 -1
  44. package/lib/types/host/cline-pass/adapter.d.ts.map +1 -1
  45. package/lib/types/host/codex-account-pool.d.ts.map +1 -1
  46. package/lib/types/host/command-code/adapter.d.ts.map +1 -1
  47. package/lib/types/host/common/account-pool.d.ts.map +1 -1
  48. package/lib/types/host/common/i18n/en.d.ts +9 -0
  49. package/lib/types/host/common/i18n/en.d.ts.map +1 -0
  50. package/lib/types/host/common/i18n/index.d.ts +13 -0
  51. package/lib/types/host/common/i18n/index.d.ts.map +1 -0
  52. package/lib/types/host/common/i18n/provider-name.d.ts +10 -0
  53. package/lib/types/host/common/i18n/provider-name.d.ts.map +1 -0
  54. package/lib/types/host/common/i18n/ru.d.ts +10 -0
  55. package/lib/types/host/common/i18n/ru.d.ts.map +1 -0
  56. package/lib/types/host/common/i18n/runtime.d.ts +54 -0
  57. package/lib/types/host/common/i18n/runtime.d.ts.map +1 -0
  58. package/lib/types/host/common/i18n/t.d.ts +38 -0
  59. package/lib/types/host/common/i18n/t.d.ts.map +1 -0
  60. package/lib/types/host/common/i18n/zh.d.ts +167 -0
  61. package/lib/types/host/common/i18n/zh.d.ts.map +1 -0
  62. package/lib/types/host/common/llm-compat.d.ts +3 -1
  63. package/lib/types/host/common/llm-compat.d.ts.map +1 -1
  64. package/lib/types/host/glm-coding-plan/adapter.d.ts.map +1 -1
  65. package/lib/types/host/glm-coding-plan/client.d.ts.map +1 -1
  66. package/lib/types/host/glm-coding-plan/oauth.d.ts.map +1 -1
  67. package/lib/types/host/glm-coding-plan/routes.d.ts.map +1 -1
  68. package/lib/types/host/kimi-code/adapter.d.ts.map +1 -1
  69. package/lib/types/host/kimi-code/repeat-breaker.d.ts +1 -1
  70. package/lib/types/host/minimax-code/adapter.d.ts.map +1 -1
  71. package/lib/types/host/ollama/adapter.d.ts.map +1 -1
  72. package/lib/types/host/opendesign/adapter.d.ts.map +1 -1
  73. package/lib/types/host/plan-mode-cache-guard.d.ts.map +1 -1
  74. package/lib/types/host/preferences.d.ts.map +1 -1
  75. package/lib/types/host/progress-updates/prompt.d.ts +1 -1
  76. package/lib/types/host/progress-updates/prompt.d.ts.map +1 -1
  77. package/lib/types/host/qoder/account-pool.d.ts.map +1 -1
  78. package/lib/types/host/qoder/adapter.d.ts.map +1 -1
  79. package/lib/types/host/qoder/client.d.ts.map +1 -1
  80. package/lib/types/host/qoder/oauth.d.ts.map +1 -1
  81. package/lib/types/host/qoder/routes.d.ts.map +1 -1
  82. package/lib/types/host/qoder/token-store.d.ts.map +1 -1
  83. package/lib/types/host/routes.d.ts.map +1 -1
  84. package/lib/types/host/step-code/account-pool.d.ts.map +1 -1
  85. package/lib/types/host/step-code/adapter.d.ts.map +1 -1
  86. package/lib/types/host/step-code/oauth.d.ts.map +1 -1
  87. package/lib/types/host/step-code/routes.d.ts.map +1 -1
  88. package/lib/types/host/step-code/token-store.d.ts.map +1 -1
  89. package/lib/types/host/subagent-model-authorization.d.ts +34 -16
  90. package/lib/types/host/subagent-model-authorization.d.ts.map +1 -1
  91. package/lib/types/host/subagent-route-audit.d.ts +6 -1
  92. package/lib/types/host/subagent-route-audit.d.ts.map +1 -1
  93. package/lib/types/host/workbuddy/account-pool.d.ts.map +1 -1
  94. package/lib/types/host/workbuddy/adapter.d.ts.map +1 -1
  95. package/lib/types/host/workbuddy/oauth.d.ts.map +1 -1
  96. package/lib/types/index.d.ts +2 -2
  97. package/lib/types/index.d.ts.map +1 -1
  98. package/lib/types/shared/contracts.d.ts +19 -0
  99. package/lib/types/shared/contracts.d.ts.map +1 -1
  100. package/lib/types/shared/i18n-contracts.d.ts +35 -0
  101. package/lib/types/shared/i18n-contracts.d.ts.map +1 -0
  102. package/lib/types/shared/preferences.d.ts +22 -1
  103. package/lib/types/shared/preferences.d.ts.map +1 -1
  104. package/locale/progress-updates/ru.json +6 -0
  105. package/package.json +46 -43
  106. package/presets/dispatch/README.md +6 -5
  107. package/presets/dispatch/agent.cordis.yml +18 -14
package/lib/plan-mode.js CHANGED
@@ -9,13 +9,9 @@ import { Service } from "@deepseek-ai/cordis";
9
9
  *
10
10
  * ## 为什么必须 fork
11
11
  *
12
- * 官方实现在**进入**与**离开**计划模式的那一步同时改两样东西,而这两样都是请求
13
- * 前缀的一部分,于是每进一次计划模式就烧掉一整次前缀缓存重建:
14
- *
15
- * 1. 动态 plan:policy 段:systemPrompt.section(...) 的文本在 section 与 '' 之间翻转
16
- * —— system 段在请求最前面,改一个字就是全前缀作废;
17
- * 2. exit_plan_mode 用 { when } 逐步准入 —— 工具表一变,native tools 与 PTC
18
- * tools:sdk 两边同时重建。
12
+ * 官方实现的动态 plan:policy 段在进入/离开计划模式时翻转;exit_plan_mode 也带
13
+ * { when } 逐步准入。0.2.2 起工具在首次进入后会持续保留,减少了后续切换的工具表
14
+ * 变化,但首次准入与 system 段变化仍会重建 native tools 与 PTC tools:sdk 的前缀缓存。
19
15
  *
20
16
  * Kimi 线路按内容前缀命中,这两次重建是**计划模式必经**的固定税。这个 fork 把税
21
17
  * 取消掉,靠的是同一个观察:**末尾追加不破坏前缀**。
@@ -1,2 +1,2 @@
1
- import { i as name, n as attachProgressSettings, r as inject, t as apply } from "./entry-progress-updates-BEkdyDZU.js";
1
+ import { i as name, n as attachProgressSettings, r as inject, t as apply } from "./entry-progress-updates-CxQewio9.js";
2
2
  export { apply, attachProgressSettings, inject, name };
@@ -21,7 +21,7 @@ import { Service } from "@deepseek-ai/cordis";
21
21
  * `peerDependencies` 里没有它们(也不该有:装不装它们不该由本包决定),
22
22
  * 所以全部按**结构契约**描述:`SessionLike` / `SessionEventLike` /
23
23
  * `ToolResultMessageLike` 都是本文件里的局部接口,`deepFreeze` 也是本地实现。
24
- * 这样从 0.1.2-alpha.5 到 0.2.1-rc.3 的每一代 harness 都能解析这个模块。
24
+ * 这样从 0.1.2-alpha.5 到 0.2.2-alpha.3 的每一代 harness 都能解析这个模块。
25
25
  *
26
26
  * 与官方实现的一致性以测试锁定:`test/tool-result-pruner.test.ts` 覆盖配置校验、
27
27
  * 代理对不劈开、非文本块不计价、以及 `compaction/prune` 与替换事件的先后顺序。
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Publish the browser's resolved language to the Host.
3
+ *
4
+ * The Host cannot see the browser: the active language is resolved on this side
5
+ * (an explicit preference, else the browser's own languages) and exists only in
6
+ * the locale runtime. Everything the Host says on its own — a provider name in
7
+ * the model picker, a quota failure, a progress update — is composed far from
8
+ * here, so the resolved value is mirrored once on install and again on every
9
+ * switch.
10
+ *
11
+ * A failed mirror is silent on purpose: an older harness without the route, or
12
+ * a Host that is restarting, must not break a settings page that otherwise
13
+ * renders fine in the default language.
14
+ * @module dsh-chatgpt-subscription/client/host-locale-mirror
15
+ */
16
+ import type { LocaleRuntime } from '@deepseek-ai/dsh-client-locale/client';
17
+ /**
18
+ * Mirror the active locale into the Host, now and on every later switch.
19
+ *
20
+ * @param locale - The plugin context's locale runtime, when the harness has one.
21
+ * @returns Teardown for the subscription; a no-op when there is no runtime.
22
+ */
23
+ export declare function installHostLocaleMirror(locale: LocaleRuntime | undefined): () => void;
24
+ //# sourceMappingURL=host-locale-mirror.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-locale-mirror.d.ts","sourceRoot":"","sources":["../../../../src/client/common/host-locale-mirror.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAO1E;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,IAAI,CA8CrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"HubOverview.d.ts","sourceRoot":"","sources":["../../../../src/client/hub/HubOverview.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAGnE,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAE1F,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAiB,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAE3E,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;AAEtD,UAAU,KAAK;IACb,CAAC,EAAE,YAAY,CAAA;IACf,MAAM,CAAC,EAAE,EAAE,qBAAqB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC9C;AAWD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAcrI;AAED,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6EnE"}
1
+ {"version":3,"file":"HubOverview.d.ts","sourceRoot":"","sources":["../../../../src/client/hub/HubOverview.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAGnE,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAE1F,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAA8B,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAExF,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;AAEtD,UAAU,KAAK;IACb,CAAC,EAAE,YAAY,CAAA;IACf,MAAM,CAAC,EAAE,EAAE,qBAAqB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC9C;AAWD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAcrI;AAED,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6EnE"}
@@ -19,7 +19,11 @@ export interface HubDetailRenderProps {
19
19
  }
20
20
  export interface HubProviderDescriptor {
21
21
  id: HubProviderId;
22
- /** Display name; brand names stay literal, matching the former tabs. */
22
+ /**
23
+ * Neutral literal name, used when the active language pack has no entry for
24
+ * this card. The rendering path asks the dictionary first (see
25
+ * {@link hubCardName}); this is the fallback, not the usual output.
26
+ */
23
27
  name: string;
24
28
  /**
25
29
  * Commit an enable/disable to the line's own settings endpoint.
@@ -33,6 +37,19 @@ export interface HubProviderDescriptor {
33
37
  renderDetail(props: HubDetailRenderProps): ReactElement;
34
38
  }
35
39
  /** Card order on the overview; also the former tab order. */
40
+ /**
41
+ * Card name for one provider in the language in force.
42
+ *
43
+ * The dictionary owns the name so a language pack can translate it; the
44
+ * descriptor's literal is what a build without that key renders, and comparing
45
+ * the lookup against the key itself is how a miss is recognised (the locale
46
+ * service answers with the key when nothing declares it).
47
+ *
48
+ * @param descriptor - Provider whose card is being rendered.
49
+ * @param t - Bound translator of the hub's namespace.
50
+ * @returns Localized card name.
51
+ */
52
+ export declare function hubCardName(descriptor: HubProviderDescriptor, t: (key: string) => string): string;
36
53
  export declare const HUB_PROVIDERS: readonly HubProviderDescriptor[];
37
54
  export declare function hubProviderDescriptor(id: string): HubProviderDescriptor | undefined;
38
55
  //# sourceMappingURL=providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../src/client/hub/providers.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AA2BpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,gFAAgF;IAChF,OAAO,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,aAAa,CAAA;IACjB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;OAOG;IACH,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;IACxD,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CAAA;CACxD;AA4BD,6DAA6D;AAC7D,eAAO,MAAM,aAAa,EAAE,SAAS,qBAAqB,EAuFzD,CAAA;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAEnF"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../src/client/hub/providers.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AA2BpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,gFAAgF;IAChF,OAAO,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,aAAa,CAAA;IACjB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;OAOG;IACH,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;IACxD,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CAAA;CACxD;AA4BD,6DAA6D;AAC7D;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAIjG;AAED,eAAO,MAAM,aAAa,EAAE,SAAS,qBAAqB,EAuFzD,CAAA;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAEnF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAenE,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAQ/D,OAAO,EAAoD,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAGtH,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGlG,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAExH,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAM5G,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAKxH,OAAO,EAA0D,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAElI,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAElG,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG5G,OAAO,EAAiD,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGhH,OAAO,EAAwC,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAG9F,OAAO,EAAkD,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAMlH,OAAO,EAA6D,KAAK,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAExI,OAAO,EAAgD,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAI9G,OAAO,EAA8C,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE1G,OAAO,QAAQ,kCAAkC,CAAC;IAChD;;;;;;;OAOG;IACH,UAAU,kBAAkB;QAC1B,0BAA0B,EAAE,SAAS,CAAA;QACrC,iBAAiB,EAAE,oBAAoB,CAAA;QACvC,YAAY,EAAE,eAAe,CAAA;QAC7B,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,eAAe,EAAE,iBAAiB,CAAA;QAClC,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,qBAAqB,EAAE,sBAAsB,CAAA;QAC7C,YAAY,EAAE,eAAe,CAAA;QAC7B,eAAe,EAAE,iBAAiB,CAAA;QAClC,gBAAgB,EAAE,kBAAkB,CAAA;QACpC,WAAW,EAAE,cAAc,CAAA;QAC3B,gBAAgB,EAAE,mBAAmB,CAAA;QACrC,sBAAsB,EAAE,wBAAwB,CAAA;QAChD,eAAe,EAAE,kBAAkB,CAAA;QACnC,uBAAuB,EAAE,iBAAiB,CAAA;KAC3C;CACF;AAED,eAAO,MAAM,MAAM,UAQlB,CAAA;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAiP9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAenE,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAS/D,OAAO,EAAoD,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAGtH,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGlG,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAExH,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAM5G,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAKxH,OAAO,EAA0D,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAElI,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAElG,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG5G,OAAO,EAAiD,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGhH,OAAO,EAAwC,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAG9F,OAAO,EAAkD,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAMlH,OAAO,EAA6D,KAAK,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAExI,OAAO,EAAgD,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAI9G,OAAO,EAA8C,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE1G,OAAO,QAAQ,kCAAkC,CAAC;IAChD;;;;;;;OAOG;IACH,UAAU,kBAAkB;QAC1B,0BAA0B,EAAE,SAAS,CAAA;QACrC,iBAAiB,EAAE,oBAAoB,CAAA;QACvC,YAAY,EAAE,eAAe,CAAA;QAC7B,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,eAAe,EAAE,iBAAiB,CAAA;QAClC,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,qBAAqB,EAAE,sBAAsB,CAAA;QAC7C,YAAY,EAAE,eAAe,CAAA;QAC7B,eAAe,EAAE,iBAAiB,CAAA;QAClC,gBAAgB,EAAE,kBAAkB,CAAA;QACpC,WAAW,EAAE,cAAc,CAAA;QAC3B,gBAAgB,EAAE,mBAAmB,CAAA;QACrC,sBAAsB,EAAE,wBAAwB,CAAA;QAChD,eAAe,EAAE,kBAAkB,CAAA;QACnC,uBAAuB,EAAE,iBAAiB,CAAA;KAC3C;CACF;AAED,eAAO,MAAM,MAAM,UAQlB,CAAA;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAoP9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/hub.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CA+MhD,CAAA"}
1
+ {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/hub.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CA6NhD,CAAA"}
@@ -8,9 +8,8 @@
8
8
  * first, then one dictionary per namespace.
9
9
  *
10
10
  * The declared fallback is `en`, so a key this pack misses reads as English
11
- * rather than as a raw key name, and the harness's own UI (which ships only
12
- * `zh`/`en`) keeps speaking English underneath — a native Russian DSH locale
13
- * would be a separate pack of its own.
11
+ * rather than as a raw key name. DSH 0.2.2 ships its own Russian UI locale;
12
+ * this pack remains responsible only for the plugin-owned namespaces below.
14
13
  */
15
14
  import type { Context as ClientContext } from '@deepseek-ai/cordis';
16
15
  /** Language id of this pack: the value stored as `locale.preference`. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AA+BnE,yEAAyE;AACzE,eAAO,MAAM,SAAS,OAAO,CAAA;AAE7B;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAsD7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AA+BnE,yEAAyE;AACzE,eAAO,MAAM,SAAS,OAAO,CAAA;AAE7B;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAsD7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"progress-updates.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/progress-updates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAE9E,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,wBAAwB,EAAE,MAAM,CA4C/D,CAAA"}
1
+ {"version":3,"file":"progress-updates.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/progress-updates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAE9E,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,wBAAwB,EAAE,MAAM,CA6C/D,CAAA"}
@@ -193,6 +193,19 @@ export declare const zh: {
193
193
  readonly stopImportingLabel: "停止导入全部本机登录(当前 {count} 个)";
194
194
  readonly stopImportingBusy: "停止导入中…";
195
195
  readonly stopImportingHint: "停止导入只会让本插件忘记本机 CLI 登录的副本;Codex CLI 自己的登录文件不会被删除或修改。账号池不允许逐条删除借来的凭据,所以这里一次会停止全部导入。";
196
+ readonly 'cardName.chatgpt': "ChatGPT";
197
+ readonly 'cardName.antigravity': "Antigravity";
198
+ readonly 'cardName.command-code': "Command Code";
199
+ readonly 'cardName.kimi-code': "Kimi Code";
200
+ readonly 'cardName.minimax-code': "MiniMax Code";
201
+ readonly 'cardName.glm-coding-plan': "GLM(ZCode 账号)";
202
+ readonly 'cardName.claude': "Claude";
203
+ readonly 'cardName.ollama': "Ollama";
204
+ readonly 'cardName.step-code': "Step Code(Step Plan 订阅)";
205
+ readonly 'cardName.cline-pass': "Cline Pass";
206
+ readonly 'cardName.qoder': "Qoder(订阅)";
207
+ readonly 'cardName.opendesign': "OpenDesign";
208
+ readonly 'cardName.workbuddy': "WorkBuddy";
196
209
  readonly modelChecklistCount: "已启用 {count}/{total}";
197
210
  readonly accountPool: string;
198
211
  readonly addAccount: string;
@@ -422,6 +435,19 @@ export declare const dictionaries: {
422
435
  readonly stopImportingLabel: "停止导入全部本机登录(当前 {count} 个)";
423
436
  readonly stopImportingBusy: "停止导入中…";
424
437
  readonly stopImportingHint: "停止导入只会让本插件忘记本机 CLI 登录的副本;Codex CLI 自己的登录文件不会被删除或修改。账号池不允许逐条删除借来的凭据,所以这里一次会停止全部导入。";
438
+ readonly 'cardName.chatgpt': "ChatGPT";
439
+ readonly 'cardName.antigravity': "Antigravity";
440
+ readonly 'cardName.command-code': "Command Code";
441
+ readonly 'cardName.kimi-code': "Kimi Code";
442
+ readonly 'cardName.minimax-code': "MiniMax Code";
443
+ readonly 'cardName.glm-coding-plan': "GLM(ZCode 账号)";
444
+ readonly 'cardName.claude': "Claude";
445
+ readonly 'cardName.ollama': "Ollama";
446
+ readonly 'cardName.step-code': "Step Code(Step Plan 订阅)";
447
+ readonly 'cardName.cline-pass': "Cline Pass";
448
+ readonly 'cardName.qoder': "Qoder(订阅)";
449
+ readonly 'cardName.opendesign': "OpenDesign";
450
+ readonly 'cardName.workbuddy': "WorkBuddy";
425
451
  readonly modelChecklistCount: "已启用 {count}/{total}";
426
452
  readonly accountPool: string;
427
453
  readonly addAccount: string;
@@ -454,6 +480,6 @@ export declare const dictionaries: {
454
480
  readonly quotaFactsScope: string;
455
481
  readonly composerLabel: string;
456
482
  };
457
- en: Record<"stale" | "image" | "quota" | "account" | "rotationStrategy" | "pending" | "accountId" | "relogin" | "used" | "tokens" | "title" | "hubTitle" | "intro" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "cancel" | "signOut" | "refreshToken" | "popupBlocked" | "continueLogin" | "loading" | "connection" | "testConnection" | "testing" | "latency" | "selectAll" | "unselectAll" | "models" | "modelsHint" | "proxySettings" | "proxyMode" | "proxyModeHint" | "proxyModeAuto" | "proxyModeCustom" | "proxyModeDirect" | "customProxyUrl" | "customProxyUrlHint" | "customProxyUrlPlaceholder" | "saveProxyUrl" | "proxyDetected" | "proxyDetectedEffective" | "proxyNoneDetected" | "proxyDirectHint" | "poolStorageTitle" | "poolStorageKeyring" | "poolStorageCredentials" | "poolStorageKeyringHint" | "poolStorageCredentialsHint" | "poolStorageEffective" | "poolStorageBackendKeyring" | "poolStorageBackendDpapi" | "poolStorageBackendKeychain" | "poolStorageBackendCredentials" | "poolStorageSwitchWarning" | "poolStorageUnavailableKeyring" | "poolStorageUnavailableCredentials" | "poolStorageUnavailableStore" | "enhancements" | "fastMode" | "fastModeHint" | "outputVerbosity" | "outputVerbosityHint" | "verbosityLow" | "verbosityMedium" | "verbosityHigh" | "reasoningSummary" | "reasoningSummaryHint" | "summaryAuto" | "summaryConcise" | "summaryDetailed" | "summaryNone" | "searchProvider" | "searchProviderHint" | "searchProviderDsh" | "searchProviderCodex" | "fetchStatus" | "fetchStatusHint" | "fetchConfiguredProvider" | "fetchProviderDshDefault" | "switcherState" | "switcherStateIdle" | "switcherStateApplying" | "switcherStateApplied" | "switcherStateMissing" | "switcherStateFailed" | "fetchMode" | "fetchModeAuto" | "fetchModePlugin" | "fetchModeDsh" | "fetchMaxBodyChars" | "fetchMaxResponseBytes" | "characters" | "bytes" | "fetchLimitsInactive" | "fetchConfigSource" | "providerDefault" | "contextWindows" | "contextWindowsHint" | "contextWindow" | "contextWindowInvalid" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "contextWindowsNoneEnabled" | "saveContextWindow" | "save" | "quickQuota" | "quickQuotaHint" | "quotaIntro" | "refreshQuota" | "refreshing" | "noQuota" | "quotaSignedOut" | "updated" | "primary" | "secondary" | "limitWindow" | "remaining" | "available" | "unavailable" | "unlimited" | "credits" | "monthlySpend" | "resetCredits" | "resetCreditExpires" | "useResetCredit" | "usingResetCredit" | "useResetCreditConfirm" | "resetCreditUsed" | "spendControlReached" | "limit" | "exhausted" | "resets" | "quickQuotaLabel" | "quickQuotaLoading" | "imageToolRunning" | "imageToolDone" | "imageToolFailed" | "openImage" | "openNamedImage" | "imageLoading" | "imageLoadFailed" | "imagePreviewClose" | "imagePreviewOpenOriginal" | "retry" | "unknown" | "hubBack" | "hubOverviewHint" | "hubAccountCount" | "hubNoAccounts" | "hubStateEnabled" | "hubStateDisabled" | "hubModelsEnabled" | "hubModelsEnabledOfTotal" | "hubStatusFailed" | "hubSwitchOn" | "hubSwitchOff" | "hubCardLabel" | "hubUpdateCheck" | "hubUpdateChecking" | "hubUpdateApply" | "hubUpdateApplying" | "hubUpdateUpToDate" | "hubUpdateLatestWithUnknownCurrent" | "hubUpdateAvailable" | "hubUpdateInstalled" | "hubUpdateInstalledReplaced" | "hubUpdateInstalledLive" | "hubUpdateInstalledReplacedLive" | "hubUpdateFailedRestored" | "hubUpdateFailedRollbackFailed" | "hubUpdateFailedRollbackSkipped" | "hubUpdateDevelopmentInstall" | "hubUpdatePluginManagerMissing" | "hubUpdateManualOnly" | "hubUpdateCheckFailed" | "hubUpdateCommandLabel" | "localCodexLoginImport" | "localCodexLoginImporting" | "deviceCodeLogin" | "deviceCodeLoginStarting" | "deviceCodeLoginDetail" | "deviceCodeHint" | "deviceCodeLabel" | "deviceCodeOpen" | "deviceCodeCopy" | "deviceCodeWaiting" | "stopImporting" | "stopImportingLabel" | "stopImportingBusy" | "stopImportingHint" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel", string>;
483
+ en: Record<"stale" | "image" | "quota" | "account" | "rotationStrategy" | "pending" | "accountId" | "relogin" | "used" | "tokens" | "title" | "hubTitle" | "intro" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "cancel" | "signOut" | "refreshToken" | "popupBlocked" | "continueLogin" | "loading" | "connection" | "testConnection" | "testing" | "latency" | "selectAll" | "unselectAll" | "models" | "modelsHint" | "proxySettings" | "proxyMode" | "proxyModeHint" | "proxyModeAuto" | "proxyModeCustom" | "proxyModeDirect" | "customProxyUrl" | "customProxyUrlHint" | "customProxyUrlPlaceholder" | "saveProxyUrl" | "proxyDetected" | "proxyDetectedEffective" | "proxyNoneDetected" | "proxyDirectHint" | "poolStorageTitle" | "poolStorageKeyring" | "poolStorageCredentials" | "poolStorageKeyringHint" | "poolStorageCredentialsHint" | "poolStorageEffective" | "poolStorageBackendKeyring" | "poolStorageBackendDpapi" | "poolStorageBackendKeychain" | "poolStorageBackendCredentials" | "poolStorageSwitchWarning" | "poolStorageUnavailableKeyring" | "poolStorageUnavailableCredentials" | "poolStorageUnavailableStore" | "enhancements" | "fastMode" | "fastModeHint" | "outputVerbosity" | "outputVerbosityHint" | "verbosityLow" | "verbosityMedium" | "verbosityHigh" | "reasoningSummary" | "reasoningSummaryHint" | "summaryAuto" | "summaryConcise" | "summaryDetailed" | "summaryNone" | "searchProvider" | "searchProviderHint" | "searchProviderDsh" | "searchProviderCodex" | "fetchStatus" | "fetchStatusHint" | "fetchConfiguredProvider" | "fetchProviderDshDefault" | "switcherState" | "switcherStateIdle" | "switcherStateApplying" | "switcherStateApplied" | "switcherStateMissing" | "switcherStateFailed" | "fetchMode" | "fetchModeAuto" | "fetchModePlugin" | "fetchModeDsh" | "fetchMaxBodyChars" | "fetchMaxResponseBytes" | "characters" | "bytes" | "fetchLimitsInactive" | "fetchConfigSource" | "providerDefault" | "contextWindows" | "contextWindowsHint" | "contextWindow" | "contextWindowInvalid" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "contextWindowsNoneEnabled" | "saveContextWindow" | "save" | "quickQuota" | "quickQuotaHint" | "quotaIntro" | "refreshQuota" | "refreshing" | "noQuota" | "quotaSignedOut" | "updated" | "primary" | "secondary" | "limitWindow" | "remaining" | "available" | "unavailable" | "unlimited" | "credits" | "monthlySpend" | "resetCredits" | "resetCreditExpires" | "useResetCredit" | "usingResetCredit" | "useResetCreditConfirm" | "resetCreditUsed" | "spendControlReached" | "limit" | "exhausted" | "resets" | "quickQuotaLabel" | "quickQuotaLoading" | "imageToolRunning" | "imageToolDone" | "imageToolFailed" | "openImage" | "openNamedImage" | "imageLoading" | "imageLoadFailed" | "imagePreviewClose" | "imagePreviewOpenOriginal" | "retry" | "unknown" | "hubBack" | "hubOverviewHint" | "hubAccountCount" | "hubNoAccounts" | "hubStateEnabled" | "hubStateDisabled" | "hubModelsEnabled" | "hubModelsEnabledOfTotal" | "hubStatusFailed" | "hubSwitchOn" | "hubSwitchOff" | "hubCardLabel" | "hubUpdateCheck" | "hubUpdateChecking" | "hubUpdateApply" | "hubUpdateApplying" | "hubUpdateUpToDate" | "hubUpdateLatestWithUnknownCurrent" | "hubUpdateAvailable" | "hubUpdateInstalled" | "hubUpdateInstalledReplaced" | "hubUpdateInstalledLive" | "hubUpdateInstalledReplacedLive" | "hubUpdateFailedRestored" | "hubUpdateFailedRollbackFailed" | "hubUpdateFailedRollbackSkipped" | "hubUpdateDevelopmentInstall" | "hubUpdatePluginManagerMissing" | "hubUpdateManualOnly" | "hubUpdateCheckFailed" | "hubUpdateCommandLabel" | "localCodexLoginImport" | "localCodexLoginImporting" | "deviceCodeLogin" | "deviceCodeLoginStarting" | "deviceCodeLoginDetail" | "deviceCodeHint" | "deviceCodeLabel" | "deviceCodeOpen" | "deviceCodeCopy" | "deviceCodeWaiting" | "stopImporting" | "stopImportingLabel" | "stopImportingBusy" | "stopImportingHint" | "cardName.chatgpt" | "cardName.antigravity" | "cardName.command-code" | "cardName.kimi-code" | "cardName.minimax-code" | "cardName.glm-coding-plan" | "cardName.claude" | "cardName.ollama" | "cardName.step-code" | "cardName.cline-pass" | "cardName.qoder" | "cardName.opendesign" | "cardName.workbuddy" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel", string>;
458
484
  };
459
485
  //# sourceMappingURL=locales.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../src/client/locales.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE,EAAG,0BAAmC,CAAA;AAIrD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwNL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CAqN9C,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,EAAE,CAAA;AACvC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAa,CAAA"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../src/client/locales.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE,EAAG,0BAAmC,CAAA;AAIrD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwOL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CAkO9C,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,EAAE,CAAA;AACvC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAa,CAAA"}
@@ -14,7 +14,7 @@
14
14
  * ## 依赖声明
15
15
  *
16
16
  * `package.json` 里它同时出现在 `peerDependencies`(宽范围,与其余六个
17
- * `dsh-client-*` 相同的写法)和 `devDependencies`(`^0.2.1-rc.3`,编译期需要)。
17
+ * `dsh-client-*` 相同的写法)和 `devDependencies`(`^0.2.2-alpha.3`,编译期需要)。
18
18
  * 运行时不从这里取任何东西。
19
19
  *
20
20
  * @module @eddyskywalker/dsh-chatgpt-subscription/client/minimax-code/commands-contract
@@ -55,6 +55,7 @@ export declare const zh: {
55
55
  readonly settingsLanguageAuto: "自动(跟随对话)";
56
56
  readonly settingsLanguageZh: "中文";
57
57
  readonly settingsLanguageEn: "English";
58
+ readonly settingsLanguageRu: "Русский";
58
59
  readonly settingsPanelName: "进展面板";
59
60
  readonly settingsPanelNote: "在右侧栏查看本次会话的全部进展";
60
61
  readonly settingsUnavailable: "这项设置当前不可修改(宿主没有开放配置表单)";
@@ -106,6 +107,7 @@ export declare const dictionaries: {
106
107
  readonly settingsLanguageAuto: "自动(跟随对话)";
107
108
  readonly settingsLanguageZh: "中文";
108
109
  readonly settingsLanguageEn: "English";
110
+ readonly settingsLanguageRu: "Русский";
109
111
  readonly settingsPanelName: "进展面板";
110
112
  readonly settingsPanelNote: "在右侧栏查看本次会话的全部进展";
111
113
  readonly settingsUnavailable: "这项设置当前不可修改(宿主没有开放配置表单)";
@@ -153,13 +155,14 @@ export declare const dictionaries: {
153
155
  readonly settingsLanguageAuto: "自动(跟随对话)";
154
156
  readonly settingsLanguageZh: "中文";
155
157
  readonly settingsLanguageEn: "English";
158
+ readonly settingsLanguageRu: "Русский";
156
159
  readonly settingsPanelName: "进展面板";
157
160
  readonly settingsPanelNote: "在右侧栏查看本次会话的全部进展";
158
161
  readonly settingsUnavailable: "这项设置当前不可修改(宿主没有开放配置表单)";
159
162
  readonly settingsSaveFailed: "保存失败,请稍后再试";
160
163
  };
161
- en: Record<"navTitle" | "progressTitle" | "progressGuideNote" | "markdownCopy" | "markdownCopied" | "markdownFootnotes" | "progressLatest" | "progressCount" | "progressExpand" | "progressCollapse" | "progressEmptyTitle" | "progressEmptyHint" | "rowPending" | "rowRunning" | "rowDone" | "rowError" | "rowExpand" | "rowCollapse" | "settingsHint" | "settingsOpen" | "settingsEnabledName" | "settingsEnabledNote" | "settingsCacheWarmupName" | "settingsCacheWarmupNote" | "settingsRetrievalName" | "settingsRetrievalNote" | "settingsCacheWaitWarmupName" | "settingsCacheWaitWarmupNote" | "settingsPlanModePipelineName" | "settingsPlanModePipelineNote" | "settingsDispatchExecutionGuardName" | "settingsDispatchExecutionGuardNote" | "settingsThresholdName" | "settingsThresholdNote" | "settingsLanguageName" | "settingsLanguageNote" | "settingsLanguageAuto" | "settingsLanguageZh" | "settingsLanguageEn" | "settingsPanelName" | "settingsPanelNote" | "settingsUnavailable" | "settingsSaveFailed", string>;
162
- 'en-US': Record<"navTitle" | "progressTitle" | "progressGuideNote" | "markdownCopy" | "markdownCopied" | "markdownFootnotes" | "progressLatest" | "progressCount" | "progressExpand" | "progressCollapse" | "progressEmptyTitle" | "progressEmptyHint" | "rowPending" | "rowRunning" | "rowDone" | "rowError" | "rowExpand" | "rowCollapse" | "settingsHint" | "settingsOpen" | "settingsEnabledName" | "settingsEnabledNote" | "settingsCacheWarmupName" | "settingsCacheWarmupNote" | "settingsRetrievalName" | "settingsRetrievalNote" | "settingsCacheWaitWarmupName" | "settingsCacheWaitWarmupNote" | "settingsPlanModePipelineName" | "settingsPlanModePipelineNote" | "settingsDispatchExecutionGuardName" | "settingsDispatchExecutionGuardNote" | "settingsThresholdName" | "settingsThresholdNote" | "settingsLanguageName" | "settingsLanguageNote" | "settingsLanguageAuto" | "settingsLanguageZh" | "settingsLanguageEn" | "settingsPanelName" | "settingsPanelNote" | "settingsUnavailable" | "settingsSaveFailed", string>;
164
+ en: Record<"navTitle" | "progressTitle" | "progressGuideNote" | "markdownCopy" | "markdownCopied" | "markdownFootnotes" | "progressLatest" | "progressCount" | "progressExpand" | "progressCollapse" | "progressEmptyTitle" | "progressEmptyHint" | "rowPending" | "rowRunning" | "rowDone" | "rowError" | "rowExpand" | "rowCollapse" | "settingsHint" | "settingsOpen" | "settingsEnabledName" | "settingsEnabledNote" | "settingsCacheWarmupName" | "settingsCacheWarmupNote" | "settingsRetrievalName" | "settingsRetrievalNote" | "settingsCacheWaitWarmupName" | "settingsCacheWaitWarmupNote" | "settingsPlanModePipelineName" | "settingsPlanModePipelineNote" | "settingsDispatchExecutionGuardName" | "settingsDispatchExecutionGuardNote" | "settingsThresholdName" | "settingsThresholdNote" | "settingsLanguageName" | "settingsLanguageNote" | "settingsLanguageAuto" | "settingsLanguageZh" | "settingsLanguageEn" | "settingsLanguageRu" | "settingsPanelName" | "settingsPanelNote" | "settingsUnavailable" | "settingsSaveFailed", string>;
165
+ 'en-US': Record<"navTitle" | "progressTitle" | "progressGuideNote" | "markdownCopy" | "markdownCopied" | "markdownFootnotes" | "progressLatest" | "progressCount" | "progressExpand" | "progressCollapse" | "progressEmptyTitle" | "progressEmptyHint" | "rowPending" | "rowRunning" | "rowDone" | "rowError" | "rowExpand" | "rowCollapse" | "settingsHint" | "settingsOpen" | "settingsEnabledName" | "settingsEnabledNote" | "settingsCacheWarmupName" | "settingsCacheWarmupNote" | "settingsRetrievalName" | "settingsRetrievalNote" | "settingsCacheWaitWarmupName" | "settingsCacheWaitWarmupNote" | "settingsPlanModePipelineName" | "settingsPlanModePipelineNote" | "settingsDispatchExecutionGuardName" | "settingsDispatchExecutionGuardNote" | "settingsThresholdName" | "settingsThresholdNote" | "settingsLanguageName" | "settingsLanguageNote" | "settingsLanguageAuto" | "settingsLanguageZh" | "settingsLanguageEn" | "settingsLanguageRu" | "settingsPanelName" | "settingsPanelNote" | "settingsUnavailable" | "settingsSaveFailed", string>;
163
166
  };
164
167
  /** 本命名空间的字典键联合,供类型化 `t` 座位使用。 */
165
168
  export type ProgressUpdatesLocaleKey = keyof typeof zh;
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/progress-updates/locales.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAG,sBAA+B,CAAA;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,EAAE;IACb,4BAA4B;;;IAG5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CpB,CAAA;AAEV,wBAAwB;AACxB,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,wBAAwB,EAAE,MAAM,CA4CvD,CAAA;AAED,qCAAqC;AACrC,eAAO,MAAM,YAAY;;QA/FvB,4BAA4B;;;QAG5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAH5B,4BAA4B;;;QAG5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiG7B,CAAA;AAED,iCAAiC;AACjC,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,EAAE,CAAA;AAEtD,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,kBAAkB;QAC1B,mBAAmB;QACnB,sBAAsB,EAAE,wBAAwB,CAAA;KACjD;CACF"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/progress-updates/locales.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAG,sBAA+B,CAAA;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,EAAE;IACb,4BAA4B;;;IAG5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CpB,CAAA;AAEV,wBAAwB;AACxB,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,wBAAwB,EAAE,MAAM,CA6CvD,CAAA;AAED,qCAAqC;AACrC,eAAO,MAAM,YAAY;;QAjGvB,4BAA4B;;;QAG5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAH5B,4BAA4B;;;QAG5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmG7B,CAAA;AAED,iCAAiC;AACjC,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,EAAE,CAAA;AAEtD,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,kBAAkB;QAC1B,mBAAmB;QACnB,sBAAsB,EAAE,wBAAwB,CAAA;KACjD;CACF"}
@@ -49,7 +49,7 @@ export interface ProgressUpdatesSettingsValues {
49
49
  * 的独立 bundle,把宿主模块拉进来只为拿一个联合类型不值得。两边的取值必须
50
50
  * 逐字一致(宿主 Config schema 里的枚举就是这三个)。
51
51
  */
52
- progressUpdatesLanguage?: 'auto' | 'zh' | 'en';
52
+ progressUpdatesLanguage?: 'auto' | 'zh' | 'en' | 'ru';
53
53
  /** 既有日志/命令结果投影开关(默认开启)。 */
54
54
  cacheWarmup?: boolean;
55
55
  /** 检索型结果投影独立开关(默认开启)。 */
@@ -1 +1 @@
1
- {"version":3,"file":"settings-binding.d.ts","sourceRoot":"","sources":["../../../../src/client/progress-updates/settings-binding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,aAAa,CAAA;IAC3C,KAAK,EAAE,CAAC,GAAG,SAAS,CAAA;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAQD;;;;;GAKG;AACH,MAAM,WAAW,6BAA6B;IAC5C,WAAW;IACX,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,0BAA0B;IAC1B,6BAA6B,CAAC,EAAE,MAAM,CAAA;IACtC;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;IAC9C,2BAA2B;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,yBAAyB;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,gCAAgC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED,4BAA4B;AAC5B,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,6BAA6B,CAAC,yBAAyB,CAAC,CAAC,CAAA;AAE3G,mCAAmC;AACnC,MAAM,MAAM,oBAAoB,GAC5B,iBAAiB,GACjB,+BAA+B,GAC/B,yBAAyB,GACzB,aAAa,GACb,sBAAsB,GACtB,iBAAiB,GACjB,kBAAkB,GAClB,wBAAwB,CAAA;AAE5B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAIxD,CAAA;AAED,6BAA6B;AAC7B,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,WAAW,IAAI,kBAAkB,CAAC,6BAA6B,CAAC,CAAA;IAChE,cAAc;IACd,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3C,uBAAuB;IACvB,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACpF,8BAA8B;IAC9B,OAAO,IAAI,IAAI,CAAA;CAChB;AAoED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE;IAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,oBAAoB,GAAG,SAAS,CA4FhH"}
1
+ {"version":3,"file":"settings-binding.d.ts","sourceRoot":"","sources":["../../../../src/client/progress-updates/settings-binding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,aAAa,CAAA;IAC3C,KAAK,EAAE,CAAC,GAAG,SAAS,CAAA;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAQD;;;;;GAKG;AACH,MAAM,WAAW,6BAA6B;IAC5C,WAAW;IACX,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,0BAA0B;IAC1B,6BAA6B,CAAC,EAAE,MAAM,CAAA;IACtC;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACrD,2BAA2B;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,yBAAyB;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,gCAAgC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED,4BAA4B;AAC5B,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,6BAA6B,CAAC,yBAAyB,CAAC,CAAC,CAAA;AAE3G,mCAAmC;AACnC,MAAM,MAAM,oBAAoB,GAC5B,iBAAiB,GACjB,+BAA+B,GAC/B,yBAAyB,GACzB,aAAa,GACb,sBAAsB,GACtB,iBAAiB,GACjB,kBAAkB,GAClB,wBAAwB,CAAA;AAE5B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAIxD,CAAA;AAED,6BAA6B;AAC7B,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,WAAW,IAAI,kBAAkB,CAAC,6BAA6B,CAAC,CAAA;IAChE,cAAc;IACd,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3C,uBAAuB;IACvB,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACpF,8BAA8B;IAC9B,OAAO,IAAI,IAAI,CAAA;CAChB;AAoED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE;IAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,oBAAoB,GAAG,SAAS,CA4FhH"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings-section.d.ts","sourceRoot":"","sources":["../../../../src/client/progress-updates/settings-section.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAA6C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACjF,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,KAAK,EAEV,oBAAoB,EAIrB,MAAM,uBAAuB,CAAA;AAE9B,iCAAiC;AACjC,MAAM,WAAW,+BAA+B;IAC9C,iCAAiC;IACjC,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,oBAAoB,CAAA;CAChC;AAED,6BAA6B;AAC7B,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,6CAA6C;AAC7C,MAAM,MAAM,4BAA4B,GAAG,+BAA+B,GAAG,kBAAkB,GAAG,QAAQ,CAAA;AAE1G,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,IAAI,CAAA;AACpC,YAAY;AACZ,eAAO,MAAM,mBAAmB,KAAK,CAAA;AACrC,kDAAkD;AAClD,eAAO,MAAM,uBAAuB,IAAI,CAAA;AA0KxC;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,4BAA4B,GAAG,SAAS,CA4S7F"}
1
+ {"version":3,"file":"settings-section.d.ts","sourceRoot":"","sources":["../../../../src/client/progress-updates/settings-section.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAA6C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACjF,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,KAAK,EAEV,oBAAoB,EAIrB,MAAM,uBAAuB,CAAA;AAE9B,iCAAiC;AACjC,MAAM,WAAW,+BAA+B;IAC9C,iCAAiC;IACjC,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,oBAAoB,CAAA;CAChC;AAED,6BAA6B;AAC7B,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,6CAA6C;AAC7C,MAAM,MAAM,4BAA4B,GAAG,+BAA+B,GAAG,kBAAkB,GAAG,QAAQ,CAAA;AAE1G,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,IAAI,CAAA;AACpC,YAAY;AACZ,eAAO,MAAM,mBAAmB,KAAK,CAAA;AACrC,kDAAkD;AAClD,eAAO,MAAM,uBAAuB,IAAI,CAAA;AA0KxC;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,4BAA4B,GAAG,SAAS,CAkT7F"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubagentCard.d.ts","sourceRoot":"","sources":["../../../../src/client/subagent/SubagentCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAA4D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAI7F,OAAO,EAAiB,KAAK,wBAAwB,EAA8B,MAAM,+BAA+B,CAAA;AACxH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,OAAO;QACf,cAAc,EAAE;YACd,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,KAAK,EAAE;gBAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;gBAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;aAAE,CAAA;SACtE,CAAA;KACF;CACF;AAED,4CAA4C;AAC5C,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,cAAc,CAAC,GACxD,WAAW,CAAC,OAAO,WAAW,CAAC,GAC/B,UAAU,CAAC,wBAAwB,CAAC,CAAA;AAuHxC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,CA+ThE"}
1
+ {"version":3,"file":"SubagentCard.d.ts","sourceRoot":"","sources":["../../../../src/client/subagent/SubagentCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAA4D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAI7F,OAAO,EAAiB,KAAK,wBAAwB,EAA8B,MAAM,+BAA+B,CAAA;AACxH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,OAAO;QACf,cAAc,EAAE;YACd,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,KAAK,EAAE;gBAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;gBAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;aAAE,CAAA;SACtE,CAAA;KACF;CACF;AAED,4CAA4C;AAC5C,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,cAAc,CAAC,GACxD,WAAW,CAAC,OAAO,WAAW,CAAC,GAC/B,UAAU,CAAC,wBAAwB,CAAC,CAAA;AAuHxC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,CA2WhE"}
@@ -58,11 +58,15 @@ export declare const zh: {
58
58
  readonly subagentChipGlobal: "全局默认 ({count})";
59
59
  readonly subagentTargetGlobalHint: "正在编辑全局默认子代理模型列表;未单独配置专属列表的主代理将使用此列表。";
60
60
  readonly subagentTargetOverrideStatus: "已为该主代理单独配置 {count} 个子代理模型";
61
+ readonly subagentTargetForkOnlyOverrideStatus: "子代理模型列表跟随全局默认;已为该主代理单独配置同源分叉策略";
61
62
  readonly subagentTargetFollowGlobalStatus: "当前跟随全局默认列表(勾选或取消下方模型即可为该主代理创建专属列表)";
62
63
  readonly subagentResetToGlobal: "恢复跟随全局默认";
63
64
  readonly subagentOverrideBadge: "(已覆盖)";
64
65
  readonly subagentPreferencesLoadFailed: "无法读取已保存的子代理模型偏好;保存时将以当前界面为准。";
65
66
  readonly subagentModelPerTargetRequired: "保存前请至少选择一个模型(或点击「恢复跟随全局默认」)。";
67
+ readonly subagentForkTitle: "同源分叉";
68
+ readonly subagentForkToggle: "允许同源分叉(subagent_fork 继承当前主代理模型)";
69
+ readonly subagentForkHint: "开启后,subagent_fork 可直接继承当前主代理模型以复用会话上下文与前缀缓存,无需将该主模型加入下方冷启动可选列表;不影响冷启动 subagent 与团队派生。";
66
70
  };
67
71
  /** 本命名空间的字典键联合。 */
68
72
  export type SubagentLocaleKey = keyof typeof zh;
@@ -112,11 +116,15 @@ export declare const dictionaries: {
112
116
  readonly subagentChipGlobal: "全局默认 ({count})";
113
117
  readonly subagentTargetGlobalHint: "正在编辑全局默认子代理模型列表;未单独配置专属列表的主代理将使用此列表。";
114
118
  readonly subagentTargetOverrideStatus: "已为该主代理单独配置 {count} 个子代理模型";
119
+ readonly subagentTargetForkOnlyOverrideStatus: "子代理模型列表跟随全局默认;已为该主代理单独配置同源分叉策略";
115
120
  readonly subagentTargetFollowGlobalStatus: "当前跟随全局默认列表(勾选或取消下方模型即可为该主代理创建专属列表)";
116
121
  readonly subagentResetToGlobal: "恢复跟随全局默认";
117
122
  readonly subagentOverrideBadge: "(已覆盖)";
118
123
  readonly subagentPreferencesLoadFailed: "无法读取已保存的子代理模型偏好;保存时将以当前界面为准。";
119
124
  readonly subagentModelPerTargetRequired: "保存前请至少选择一个模型(或点击「恢复跟随全局默认」)。";
125
+ readonly subagentForkTitle: "同源分叉";
126
+ readonly subagentForkToggle: "允许同源分叉(subagent_fork 继承当前主代理模型)";
127
+ readonly subagentForkHint: "开启后,subagent_fork 可直接继承当前主代理模型以复用会话上下文与前缀缓存,无需将该主模型加入下方冷启动可选列表;不影响冷启动 subagent 与团队派生。";
120
128
  };
121
129
  'zh-CN': {
122
130
  readonly overridden: "已覆盖";
@@ -160,13 +168,17 @@ export declare const dictionaries: {
160
168
  readonly subagentChipGlobal: "全局默认 ({count})";
161
169
  readonly subagentTargetGlobalHint: "正在编辑全局默认子代理模型列表;未单独配置专属列表的主代理将使用此列表。";
162
170
  readonly subagentTargetOverrideStatus: "已为该主代理单独配置 {count} 个子代理模型";
171
+ readonly subagentTargetForkOnlyOverrideStatus: "子代理模型列表跟随全局默认;已为该主代理单独配置同源分叉策略";
163
172
  readonly subagentTargetFollowGlobalStatus: "当前跟随全局默认列表(勾选或取消下方模型即可为该主代理创建专属列表)";
164
173
  readonly subagentResetToGlobal: "恢复跟随全局默认";
165
174
  readonly subagentOverrideBadge: "(已覆盖)";
166
175
  readonly subagentPreferencesLoadFailed: "无法读取已保存的子代理模型偏好;保存时将以当前界面为准。";
167
176
  readonly subagentModelPerTargetRequired: "保存前请至少选择一个模型(或点击「恢复跟随全局默认」)。";
177
+ readonly subagentForkTitle: "同源分叉";
178
+ readonly subagentForkToggle: "允许同源分叉(subagent_fork 继承当前主代理模型)";
179
+ readonly subagentForkHint: "开启后,subagent_fork 可直接继承当前主代理模型以复用会话上下文与前缀缓存,无需将该主模型加入下方冷启动可选列表;不影响冷启动 subagent 与团队派生。";
168
180
  };
169
- en: Record<"save" | "unavailable" | "reset" | "saving" | "overridden" | "readOnly" | "saveFailed" | "discard" | "subagentTitle" | "subagentDescription" | "subagentLimitsTitle" | "subagentMaxDepth" | "subagentDepthHelpLabel" | "subagentDepthHelp" | "subagentDepthZero" | "subagentDepthOne" | "subagentDepthOverride" | "subagentMaxActive" | "subagentCapacityHelpLabel" | "subagentCapacityHelp" | "subagentDepthInvalid" | "subagentCapacityInvalid" | "subagentModelSelectionTitle" | "subagentModelSelectionToggle" | "subagentModelSelectionChoose" | "subagentModelSelectionAllowed" | "subagentModelSelectionLoading" | "subagentModelSelectionLoadFailed" | "subagentModelSelectionRetry" | "subagentModelSelectionPartial" | "subagentModelSelectionUnavailable" | "subagentModelSelectionUnavailableGroup" | "subagentModelSelectionEmpty" | "subagentModelSelectionRequired" | "subagentModelSelectionOff" | "subagentMainModelLabel" | "subagentMainModelGlobalOption" | "subagentMainModelQuickSwitch" | "subagentChipGlobal" | "subagentTargetGlobalHint" | "subagentTargetOverrideStatus" | "subagentTargetFollowGlobalStatus" | "subagentResetToGlobal" | "subagentOverrideBadge" | "subagentPreferencesLoadFailed" | "subagentModelPerTargetRequired", string>;
170
- 'en-US': Record<"save" | "unavailable" | "reset" | "saving" | "overridden" | "readOnly" | "saveFailed" | "discard" | "subagentTitle" | "subagentDescription" | "subagentLimitsTitle" | "subagentMaxDepth" | "subagentDepthHelpLabel" | "subagentDepthHelp" | "subagentDepthZero" | "subagentDepthOne" | "subagentDepthOverride" | "subagentMaxActive" | "subagentCapacityHelpLabel" | "subagentCapacityHelp" | "subagentDepthInvalid" | "subagentCapacityInvalid" | "subagentModelSelectionTitle" | "subagentModelSelectionToggle" | "subagentModelSelectionChoose" | "subagentModelSelectionAllowed" | "subagentModelSelectionLoading" | "subagentModelSelectionLoadFailed" | "subagentModelSelectionRetry" | "subagentModelSelectionPartial" | "subagentModelSelectionUnavailable" | "subagentModelSelectionUnavailableGroup" | "subagentModelSelectionEmpty" | "subagentModelSelectionRequired" | "subagentModelSelectionOff" | "subagentMainModelLabel" | "subagentMainModelGlobalOption" | "subagentMainModelQuickSwitch" | "subagentChipGlobal" | "subagentTargetGlobalHint" | "subagentTargetOverrideStatus" | "subagentTargetFollowGlobalStatus" | "subagentResetToGlobal" | "subagentOverrideBadge" | "subagentPreferencesLoadFailed" | "subagentModelPerTargetRequired", string>;
181
+ en: Record<"save" | "unavailable" | "reset" | "saving" | "overridden" | "readOnly" | "saveFailed" | "discard" | "subagentTitle" | "subagentDescription" | "subagentLimitsTitle" | "subagentMaxDepth" | "subagentDepthHelpLabel" | "subagentDepthHelp" | "subagentDepthZero" | "subagentDepthOne" | "subagentDepthOverride" | "subagentMaxActive" | "subagentCapacityHelpLabel" | "subagentCapacityHelp" | "subagentDepthInvalid" | "subagentCapacityInvalid" | "subagentModelSelectionTitle" | "subagentModelSelectionToggle" | "subagentModelSelectionChoose" | "subagentModelSelectionAllowed" | "subagentModelSelectionLoading" | "subagentModelSelectionLoadFailed" | "subagentModelSelectionRetry" | "subagentModelSelectionPartial" | "subagentModelSelectionUnavailable" | "subagentModelSelectionUnavailableGroup" | "subagentModelSelectionEmpty" | "subagentModelSelectionRequired" | "subagentModelSelectionOff" | "subagentMainModelLabel" | "subagentMainModelGlobalOption" | "subagentMainModelQuickSwitch" | "subagentChipGlobal" | "subagentTargetGlobalHint" | "subagentTargetOverrideStatus" | "subagentTargetForkOnlyOverrideStatus" | "subagentTargetFollowGlobalStatus" | "subagentResetToGlobal" | "subagentOverrideBadge" | "subagentPreferencesLoadFailed" | "subagentModelPerTargetRequired" | "subagentForkTitle" | "subagentForkToggle" | "subagentForkHint", string>;
182
+ 'en-US': Record<"save" | "unavailable" | "reset" | "saving" | "overridden" | "readOnly" | "saveFailed" | "discard" | "subagentTitle" | "subagentDescription" | "subagentLimitsTitle" | "subagentMaxDepth" | "subagentDepthHelpLabel" | "subagentDepthHelp" | "subagentDepthZero" | "subagentDepthOne" | "subagentDepthOverride" | "subagentMaxActive" | "subagentCapacityHelpLabel" | "subagentCapacityHelp" | "subagentDepthInvalid" | "subagentCapacityInvalid" | "subagentModelSelectionTitle" | "subagentModelSelectionToggle" | "subagentModelSelectionChoose" | "subagentModelSelectionAllowed" | "subagentModelSelectionLoading" | "subagentModelSelectionLoadFailed" | "subagentModelSelectionRetry" | "subagentModelSelectionPartial" | "subagentModelSelectionUnavailable" | "subagentModelSelectionUnavailableGroup" | "subagentModelSelectionEmpty" | "subagentModelSelectionRequired" | "subagentModelSelectionOff" | "subagentMainModelLabel" | "subagentMainModelGlobalOption" | "subagentMainModelQuickSwitch" | "subagentChipGlobal" | "subagentTargetGlobalHint" | "subagentTargetOverrideStatus" | "subagentTargetForkOnlyOverrideStatus" | "subagentTargetFollowGlobalStatus" | "subagentResetToGlobal" | "subagentOverrideBadge" | "subagentPreferencesLoadFailed" | "subagentModelPerTargetRequired" | "subagentForkTitle" | "subagentForkToggle" | "subagentForkHint", string>;
171
183
  };
172
184
  //# sourceMappingURL=locales.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/subagent/locales.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,4BAA4B;AAC5B,eAAO,MAAM,WAAW,EAAG,uBAAgC,CAAA;AAE3D,sBAAsB;AACtB,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDL,CAAA;AAEV,mBAAmB;AACnB,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,EAAE,CAAA;AAE/C,sBAAsB;AACtB,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAkDhD,CAAA;AAED,qCAAqC;AACrC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/subagent/locales.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,4BAA4B;AAC5B,eAAO,MAAM,WAAW,EAAG,uBAAgC,CAAA;AAE3D,sBAAsB;AACtB,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDL,CAAA;AAEV,mBAAmB;AACnB,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,EAAE,CAAA;AAE/C,sBAAsB;AACtB,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAuDhD,CAAA;AAED,qCAAqC;AACrC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA"}
@@ -11,7 +11,7 @@
11
11
  /** 这张表的 `data-plugin-css` 子名。 */
12
12
  export declare const STYLE_NAME = "subagent";
13
13
  /** 卡片与表单的样式全文。 */
14
- export declare const SUBAGENT_CSS = "\n.dsh-subagent-form {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.dsh-subagent-readonly-notice,\n.dsh-subagent-unavailable-notice {\n margin: 0 0 12px;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.dsh-subagent-section {\n min-width: 0;\n padding: 16px 0;\n}\n\n.dsh-subagent-heading {\n margin: 0;\n font-size: 13px;\n font-weight: 600;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary);\n}\n\n.dsh-subagent-limits-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));\n gap: 16px;\n}\n\n.dsh-subagent-limit-cell {\n min-width: 0;\n}\n\n.dsh-subagent-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 12px 0;\n min-width: 0;\n}\n\n.dsh-subagent-field-head {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dsh-subagent-label-group {\n display: flex;\n align-items: center;\n gap: 4px;\n flex: 1;\n min-width: 0;\n}\n\n.dsh-subagent-label {\n flex: 0 1 auto;\n min-width: 0;\n font-size: 13px;\n font-weight: 500;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary);\n}\n\n.dsh-subagent-help-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n width: 24px;\n height: 24px;\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm, 6px);\n background: none;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n.dsh-subagent-help-btn[aria-expanded='true'] {\n background: var(--dsw-alias-bg-layer-4);\n color: var(--dsw-alias-label-secondary);\n}\n\n@media (hover: hover) {\n .dsh-subagent-help-btn:hover {\n background: var(--dsw-alias-bg-layer-4);\n color: var(--dsw-alias-label-secondary);\n }\n}\n\n.dsh-subagent-help-box {\n padding: 10px 0 0;\n font-size: 12px;\n line-height: 1.6;\n color: var(--dsw-alias-label-secondary);\n}\n\n.dsh-subagent-help-box > p {\n margin: 0;\n}\n\n.dsh-subagent-help-box > p + p {\n margin-top: 8px;\n}\n\n.dsh-subagent-depth-table {\n width: 100%;\n margin: 8px 0;\n border-collapse: collapse;\n border-block: 0.5px solid var(--dsw-alias-border-l2);\n font: inherit;\n text-align: left;\n}\n\n.dsh-subagent-depth-table th,\n.dsh-subagent-depth-table td {\n padding: 6px 0;\n vertical-align: top;\n}\n\n.dsh-subagent-depth-table th {\n width: 24px;\n padding-right: 8px;\n font-weight: 500;\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-primary);\n}\n\n.dsh-subagent-depth-table tr + tr {\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n.dsh-subagent-badges {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n\n.dsh-subagent-override-tag {\n display: inline-flex;\n align-items: center;\n padding: 1px 6px;\n border-radius: var(--dsw-radius-sm, 6px);\n background: var(--dsw-alias-bg-layer-4);\n font-size: 11px;\n line-height: 1.4;\n color: var(--dsw-alias-label-secondary);\n}\n\n.dsh-subagent-reset-link {\n border: none;\n background: none;\n padding: 0;\n font: inherit;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n@media (hover: hover) {\n .dsh-subagent-reset-link:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n }\n}\n\n.dsh-subagent-reset-link:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n.dsh-subagent-input {\n height: 34px;\n padding: 0 12px;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md, 8px);\n background: var(--dsw-alias-bg-layer-3);\n font: inherit;\n font-size: 13px;\n line-height: 1.5;\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-primary);\n min-width: 0;\n box-sizing: border-box;\n}\n\n.dsh-subagent-input:focus-visible {\n outline: none;\n border-color: var(--dsw-alias-state-business-primary);\n}\n\n.dsh-subagent-input:disabled {\n color: var(--dsw-alias-label-tertiary);\n cursor: default;\n}\n\n.dsh-subagent-input[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.dsh-subagent-permission {\n display: grid;\n gap: 6px;\n padding: 12px 0;\n}\n\n.dsh-subagent-toggle-row {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n font-size: 13px;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary);\n}\n\n.dsh-subagent-toggle-label {\n flex: 1;\n min-width: 0;\n}\n\n.dsh-subagent-switch {\n box-sizing: border-box;\n position: relative;\n flex: 0 0 auto;\n width: 36px;\n height: 20px;\n padding: 2px;\n border: 0;\n border-radius: 999px;\n background: var(--dsw-alias-border-l3);\n cursor: pointer;\n}\n\n.dsh-subagent-switch[aria-checked='true'] {\n background: var(--dsw-alias-brand-primary, #e06c3b);\n}\n\n.dsh-subagent-switch:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n.dsh-subagent-switch:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n.dsh-subagent-switch-thumb {\n display: block;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n background: var(--dsw-alias-label-primary-foreground, #fff);\n transition: transform 120ms ease;\n}\n\n.dsh-subagent-switch[aria-checked='false'] .dsh-subagent-switch-thumb {\n background: var(--dsw-alias-switch-thumb, #fff);\n}\n\n.dsh-subagent-switch[aria-checked='true'] .dsh-subagent-switch-thumb {\n transform: translateX(16px);\n}\n\n.dsh-subagent-selection {\n display: grid;\n gap: 12px;\n min-width: 0;\n}\n\n.dsh-subagent-target-bar {\n display: grid;\n align-content: start;\n gap: 8px;\n min-width: 0;\n margin: 0;\n padding: 10px;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-lg, 10px);\n background: transparent;\n}\n\n.dsh-subagent-target-bar > legend {\n padding: 0 4px;\n font-size: 12px;\n color: var(--dsw-alias-label-secondary);\n}\n\n.dsh-subagent-select {\n height: 34px;\n width: 100%;\n padding: 0 10px;\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md, 8px);\n background: var(--dsw-alias-bg-layer-1, transparent);\n color: var(--dsw-alias-label-primary);\n font: inherit;\n font-size: 13px;\n line-height: 1.5;\n box-sizing: border-box;\n cursor: pointer;\n}\n\n@media (hover: hover) {\n .dsh-subagent-select:hover:not(:disabled) {\n border-color: var(--dsw-alias-border-l4);\n background: var(--dsw-alias-bg-layer-2);\n }\n}\n\n.dsh-subagent-select option,\n.dsh-subagent-select optgroup {\n background: var(--dsw-alias-bg-layer-2, #1e1e1e);\n color: var(--dsw-alias-label-primary, #e5e5e5);\n}\n\n.dsh-subagent-select:focus-visible {\n outline: none;\n border-color: var(--dsw-alias-state-business-primary);\n}\n\n.dsh-subagent-select:disabled {\n color: var(--dsw-alias-label-tertiary);\n cursor: default;\n}\n\n.dsh-subagent-chips {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 6px;\n min-width: 0;\n}\n\n.dsh-subagent-chip {\n padding: 3px 10px;\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: 999px;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n font-size: 12px;\n line-height: 1.4;\n cursor: pointer;\n}\n\n@media (hover: hover) {\n .dsh-subagent-chip:hover:not(:disabled):not([aria-pressed='true']) {\n background: var(--dsw-alias-bg-layer-4);\n color: var(--dsw-alias-label-primary);\n }\n}\n\n.dsh-subagent-chip[aria-pressed='true'] {\n border-color: var(--dsw-alias-brand-primary, #e06c3b);\n background: color-mix(in srgb, var(--dsw-alias-brand-primary, #e06c3b) 15%, transparent);\n color: var(--dsw-alias-label-primary);\n font-weight: 500;\n}\n\n.dsh-subagent-chip:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n.dsh-subagent-status {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n min-width: 0;\n padding-top: 6px;\n border-top: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n.dsh-subagent-reset {\n padding: 2px 8px;\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm, 6px);\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n font-size: 12px;\n line-height: 1.4;\n cursor: pointer;\n}\n\n@media (hover: hover) {\n .dsh-subagent-reset:hover:not(:disabled) {\n background: var(--dsw-alias-bg-layer-4);\n color: var(--dsw-alias-label-primary);\n }\n}\n\n.dsh-subagent-reset:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n.dsh-subagent-hint,\n.dsh-subagent-notice,\n.dsh-subagent-invalid {\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n}\n\n.dsh-subagent-hint,\n.dsh-subagent-notice {\n color: var(--dsw-alias-label-tertiary);\n}\n\n.dsh-subagent-invalid {\n color: var(--dsw-alias-state-error-primary, #e5534b);\n}\n\n.dsh-subagent-catalog-error {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n font-size: 12px;\n color: var(--dsw-alias-state-error-primary, #e5534b);\n}\n\n.dsh-subagent-catalog-error button {\n border: 0;\n padding: 0;\n background: transparent;\n color: var(--dsw-alias-brand-primary, #e06c3b);\n font: inherit;\n cursor: pointer;\n}\n\n.dsh-subagent-models {\n display: grid;\n align-content: start;\n gap: 6px;\n min-width: 0;\n min-height: 180px;\n max-height: clamp(220px, calc(100dvh - 620px), 440px);\n resize: vertical;\n margin: 0;\n padding: 10px;\n overflow: auto;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-lg, 10px);\n}\n\n.dsh-subagent-models > legend {\n padding: 0 4px;\n font-size: 12px;\n color: var(--dsw-alias-label-secondary);\n}\n\n.dsh-subagent-group {\n display: grid;\n gap: 6px;\n min-width: 0;\n}\n\n.dsh-subagent-group + .dsh-subagent-group {\n margin-top: 4px;\n padding-top: 10px;\n border-top: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n.dsh-subagent-group-name {\n padding: 0 6px;\n font-size: 11px;\n font-weight: 500;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.dsh-subagent-model {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr) auto;\n align-items: center;\n gap: 8px;\n min-width: 0;\n padding: 6px;\n border-radius: var(--dsw-radius-md, 8px);\n cursor: pointer;\n}\n\n@media (hover: hover) {\n .dsh-subagent-model:hover {\n background: var(--dsw-alias-bg-layer-4);\n }\n}\n\n.dsh-subagent-model-name,\n.dsh-subagent-model-route {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.dsh-subagent-model-name {\n font-size: 13px;\n color: var(--dsw-alias-label-primary);\n}\n\n.dsh-subagent-model-route {\n margin-top: 2px;\n font-size: 11px;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.dsh-subagent-model-unavailable {\n font-size: 11px;\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n}\n\n.dsh-subagent-footer {\n display: flex;\n align-items: center;\n gap: 8px;\n padding-top: 16px;\n}\n\n.dsh-subagent-save {\n appearance: none;\n border: 1px solid transparent;\n border-radius: var(--dsw-radius-md, 8px);\n padding: 5px 14px;\n font: inherit;\n font-size: 13px;\n line-height: 1.5;\n cursor: pointer;\n background: var(--dsw-alias-label-primary);\n color: var(--dsw-alias-bg-layer-3);\n}\n\n.dsh-subagent-save:disabled {\n opacity: 0.4;\n cursor: default;\n}\n\n.dsh-subagent-save:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 1px;\n}\n\n.dsh-subagent-discard {\n appearance: none;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md, 8px);\n padding: 5px 12px;\n font: inherit;\n font-size: 13px;\n line-height: 1.5;\n cursor: pointer;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n}\n\n.dsh-subagent-discard:disabled {\n opacity: 0.4;\n cursor: default;\n}\n\n.dsh-subagent-failed {\n flex: 1;\n min-width: 0;\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-error, var(--dsw-alias-state-error-primary, #e5534b));\n}\n";
14
+ export declare const SUBAGENT_CSS = "\n.dsh-subagent-form {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.dsh-subagent-readonly-notice,\n.dsh-subagent-unavailable-notice {\n margin: 0 0 12px;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.dsh-subagent-section {\n min-width: 0;\n padding: 16px 0;\n}\n\n.dsh-subagent-heading {\n margin: 0;\n font-size: 13px;\n font-weight: 600;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary);\n}\n\n.dsh-subagent-limits-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));\n gap: 16px;\n}\n\n.dsh-subagent-limit-cell {\n min-width: 0;\n}\n\n.dsh-subagent-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 12px 0;\n min-width: 0;\n}\n\n.dsh-subagent-field-head {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dsh-subagent-label-group {\n display: flex;\n align-items: center;\n gap: 4px;\n flex: 1;\n min-width: 0;\n}\n\n.dsh-subagent-label {\n flex: 0 1 auto;\n min-width: 0;\n font-size: 13px;\n font-weight: 500;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary);\n}\n\n.dsh-subagent-help-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n width: 24px;\n height: 24px;\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm, 6px);\n background: none;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n.dsh-subagent-help-btn[aria-expanded='true'] {\n background: var(--dsw-alias-bg-layer-4);\n color: var(--dsw-alias-label-secondary);\n}\n\n@media (hover: hover) {\n .dsh-subagent-help-btn:hover {\n background: var(--dsw-alias-bg-layer-4);\n color: var(--dsw-alias-label-secondary);\n }\n}\n\n.dsh-subagent-help-box {\n padding: 10px 0 0;\n font-size: 12px;\n line-height: 1.6;\n color: var(--dsw-alias-label-secondary);\n}\n\n.dsh-subagent-help-box > p {\n margin: 0;\n}\n\n.dsh-subagent-help-box > p + p {\n margin-top: 8px;\n}\n\n.dsh-subagent-depth-table {\n width: 100%;\n margin: 8px 0;\n border-collapse: collapse;\n border-block: 0.5px solid var(--dsw-alias-border-l2);\n font: inherit;\n text-align: left;\n}\n\n.dsh-subagent-depth-table th,\n.dsh-subagent-depth-table td {\n padding: 6px 0;\n vertical-align: top;\n}\n\n.dsh-subagent-depth-table th {\n width: 24px;\n padding-right: 8px;\n font-weight: 500;\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-primary);\n}\n\n.dsh-subagent-depth-table tr + tr {\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n.dsh-subagent-badges {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n\n.dsh-subagent-override-tag {\n display: inline-flex;\n align-items: center;\n padding: 1px 6px;\n border-radius: var(--dsw-radius-sm, 6px);\n background: var(--dsw-alias-bg-layer-4);\n font-size: 11px;\n line-height: 1.4;\n color: var(--dsw-alias-label-secondary);\n}\n\n.dsh-subagent-reset-link {\n border: none;\n background: none;\n padding: 0;\n font: inherit;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n@media (hover: hover) {\n .dsh-subagent-reset-link:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n }\n}\n\n.dsh-subagent-reset-link:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n.dsh-subagent-input {\n height: 34px;\n padding: 0 12px;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md, 8px);\n background: var(--dsw-alias-bg-layer-3);\n font: inherit;\n font-size: 13px;\n line-height: 1.5;\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-primary);\n min-width: 0;\n box-sizing: border-box;\n}\n\n.dsh-subagent-input:focus-visible {\n outline: none;\n border-color: var(--dsw-alias-state-business-primary);\n}\n\n.dsh-subagent-input:disabled {\n color: var(--dsw-alias-label-tertiary);\n cursor: default;\n}\n\n.dsh-subagent-input[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.dsh-subagent-permission {\n display: grid;\n gap: 6px;\n padding: 12px 0;\n}\n\n.dsh-subagent-toggle-row {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n font-size: 13px;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary);\n}\n\n.dsh-subagent-toggle-label {\n flex: 1;\n min-width: 0;\n}\n\n.dsh-subagent-switch {\n box-sizing: border-box;\n position: relative;\n flex: 0 0 auto;\n width: 36px;\n height: 20px;\n padding: 2px;\n border: 0;\n border-radius: 999px;\n background: var(--dsw-alias-border-l3);\n cursor: pointer;\n}\n\n.dsh-subagent-switch[aria-checked='true'] {\n background: var(--dsw-alias-brand-primary, #e06c3b);\n}\n\n.dsh-subagent-switch:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n.dsh-subagent-switch:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n.dsh-subagent-switch-thumb {\n display: block;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n background: var(--dsw-alias-label-primary-foreground, #fff);\n transition: transform 120ms ease;\n}\n\n.dsh-subagent-switch[aria-checked='false'] .dsh-subagent-switch-thumb {\n background: var(--dsw-alias-switch-thumb, #fff);\n}\n\n.dsh-subagent-switch[aria-checked='true'] .dsh-subagent-switch-thumb {\n transform: translateX(16px);\n}\n\n.dsh-subagent-selection {\n display: grid;\n gap: 12px;\n min-width: 0;\n}\n\n.dsh-subagent-target-bar {\n display: grid;\n align-content: start;\n gap: 8px;\n min-width: 0;\n margin: 0;\n padding: 10px;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-lg, 10px);\n background: transparent;\n}\n\n.dsh-subagent-target-bar > legend {\n padding: 0 4px;\n font-size: 12px;\n color: var(--dsw-alias-label-secondary);\n}\n\n.dsh-subagent-select {\n height: 34px;\n width: 100%;\n padding: 0 10px;\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md, 8px);\n background: var(--dsw-alias-bg-layer-1, transparent);\n color: var(--dsw-alias-label-primary);\n font: inherit;\n font-size: 13px;\n line-height: 1.5;\n box-sizing: border-box;\n cursor: pointer;\n}\n\n@media (hover: hover) {\n .dsh-subagent-select:hover:not(:disabled) {\n border-color: var(--dsw-alias-border-l4);\n background: var(--dsw-alias-bg-layer-2);\n }\n}\n\n.dsh-subagent-select option,\n.dsh-subagent-select optgroup {\n background: var(--dsw-alias-bg-layer-2, #1e1e1e);\n color: var(--dsw-alias-label-primary, #e5e5e5);\n}\n\n.dsh-subagent-select:focus-visible {\n outline: none;\n border-color: var(--dsw-alias-state-business-primary);\n}\n\n.dsh-subagent-select:disabled {\n color: var(--dsw-alias-label-tertiary);\n cursor: default;\n}\n\n.dsh-subagent-chips {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 6px;\n min-width: 0;\n}\n\n.dsh-subagent-chip {\n padding: 3px 10px;\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: 999px;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n font-size: 12px;\n line-height: 1.4;\n cursor: pointer;\n}\n\n@media (hover: hover) {\n .dsh-subagent-chip:hover:not(:disabled):not([aria-pressed='true']) {\n background: var(--dsw-alias-bg-layer-4);\n color: var(--dsw-alias-label-primary);\n }\n}\n\n.dsh-subagent-chip[aria-pressed='true'] {\n border-color: var(--dsw-alias-brand-primary, #e06c3b);\n background: color-mix(in srgb, var(--dsw-alias-brand-primary, #e06c3b) 15%, transparent);\n color: var(--dsw-alias-label-primary);\n font-weight: 500;\n}\n\n.dsh-subagent-chip:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n.dsh-subagent-status {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n min-width: 0;\n padding-top: 6px;\n border-top: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n.dsh-subagent-reset {\n padding: 2px 8px;\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm, 6px);\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n font-size: 12px;\n line-height: 1.4;\n cursor: pointer;\n}\n\n@media (hover: hover) {\n .dsh-subagent-reset:hover:not(:disabled) {\n background: var(--dsw-alias-bg-layer-4);\n color: var(--dsw-alias-label-primary);\n }\n}\n\n.dsh-subagent-reset:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n.dsh-subagent-hint,\n.dsh-subagent-notice,\n.dsh-subagent-invalid {\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n}\n\n.dsh-subagent-hint,\n.dsh-subagent-notice {\n color: var(--dsw-alias-label-tertiary);\n}\n\n.dsh-subagent-invalid {\n color: var(--dsw-alias-state-error-primary, #e5534b);\n}\n\n.dsh-subagent-catalog-error {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n font-size: 12px;\n color: var(--dsw-alias-state-error-primary, #e5534b);\n}\n\n.dsh-subagent-catalog-error button {\n border: 0;\n padding: 0;\n background: transparent;\n color: var(--dsw-alias-brand-primary, #e06c3b);\n font: inherit;\n cursor: pointer;\n}\n\n.dsh-subagent-models {\n display: grid;\n align-content: start;\n gap: 6px;\n min-width: 0;\n min-height: 180px;\n max-height: clamp(220px, calc(100dvh - 620px), 440px);\n resize: vertical;\n margin: 0;\n padding: 10px;\n overflow: auto;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-lg, 10px);\n}\n\n.dsh-subagent-models > legend,\n.dsh-subagent-fork-card > legend {\n padding: 0 4px;\n font-size: 12px;\n color: var(--dsw-alias-label-secondary);\n}\n\n.dsh-subagent-fork-card {\n display: grid;\n align-content: start;\n gap: 4px;\n min-width: 0;\n margin: 0;\n padding: 10px;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-lg, 10px);\n background: transparent;\n}\n\n.dsh-subagent-fork-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n min-width: 0;\n}\n\n.dsh-subagent-fork-title-group {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n flex: 1;\n min-width: 0;\n}\n\n.dsh-subagent-fork-label {\n font-size: 13px;\n font-weight: 500;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary);\n}\n\n.dsh-subagent-group {\n display: grid;\n gap: 6px;\n min-width: 0;\n}\n\n.dsh-subagent-group + .dsh-subagent-group {\n margin-top: 4px;\n padding-top: 10px;\n border-top: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n.dsh-subagent-group-name {\n padding: 0 6px;\n font-size: 11px;\n font-weight: 500;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.dsh-subagent-model {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr) auto;\n align-items: center;\n gap: 8px;\n min-width: 0;\n padding: 6px;\n border-radius: var(--dsw-radius-md, 8px);\n cursor: pointer;\n}\n\n@media (hover: hover) {\n .dsh-subagent-model:hover {\n background: var(--dsw-alias-bg-layer-4);\n }\n}\n\n.dsh-subagent-model-name,\n.dsh-subagent-model-route {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.dsh-subagent-model-name {\n font-size: 13px;\n color: var(--dsw-alias-label-primary);\n}\n\n.dsh-subagent-model-route {\n margin-top: 2px;\n font-size: 11px;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.dsh-subagent-model-unavailable {\n font-size: 11px;\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n}\n\n.dsh-subagent-footer {\n display: flex;\n align-items: center;\n gap: 8px;\n padding-top: 16px;\n}\n\n.dsh-subagent-save {\n appearance: none;\n border: 1px solid transparent;\n border-radius: var(--dsw-radius-md, 8px);\n padding: 5px 14px;\n font: inherit;\n font-size: 13px;\n line-height: 1.5;\n cursor: pointer;\n background: var(--dsw-alias-label-primary);\n color: var(--dsw-alias-bg-layer-3);\n}\n\n.dsh-subagent-save:disabled {\n opacity: 0.4;\n cursor: default;\n}\n\n.dsh-subagent-save:focus-visible {\n outline: var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 1px;\n}\n\n.dsh-subagent-discard {\n appearance: none;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md, 8px);\n padding: 5px 12px;\n font: inherit;\n font-size: 13px;\n line-height: 1.5;\n cursor: pointer;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n}\n\n.dsh-subagent-discard:disabled {\n opacity: 0.4;\n cursor: default;\n}\n\n.dsh-subagent-failed {\n flex: 1;\n min-width: 0;\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-error, var(--dsw-alias-state-error-primary, #e5534b));\n}\n";
15
15
  /**
16
16
  * 安装本卡片的样式表。
17
17
  * @returns 卸载函数(样式表由文档持有,这里不做删除)。
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/client/subagent/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,iCAAiC;AACjC,eAAO,MAAM,UAAU,aAAa,CAAA;AAEpC,kBAAkB;AAClB,eAAO,MAAM,YAAY,shYAokBxB,CAAA;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,IAAI,CAElD"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/client/subagent/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,iCAAiC;AACjC,eAAO,MAAM,UAAU,aAAa,CAAA;AAEpC,kBAAkB;AAClB,eAAO,MAAM,YAAY,muZAymBxB,CAAA;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,IAAI,CAElD"}
@@ -105,6 +105,14 @@ export interface SubagentSettingsState {
105
105
  activeTargetOverridden: boolean;
106
106
  /** 当前目标生效的条数。 */
107
107
  activeTargetCount: number;
108
+ /** 全局默认是否允许同源分叉。 */
109
+ defaultAllowParentFork: boolean;
110
+ /** 按主代理模型单独覆盖的同源分叉策略。 */
111
+ forkOverridesByMainModel: Readonly<Record<string, boolean>>;
112
+ /** 当前目标生效的同源分叉开关态。 */
113
+ activeTargetAllowParentFork: boolean;
114
+ /** 当前目标是否已单独覆盖同源分叉策略。 */
115
+ activeTargetForkOverridden: boolean;
108
116
  /** 偏好文档读取状态。 */
109
117
  preferencesStatus: 'idle' | 'loading' | 'ready' | 'error';
110
118
  }
@@ -114,8 +122,10 @@ export interface SubagentSettingsActions {
114
122
  resetLimit: (field: 'maxDepth' | 'maxActiveSubagents') => void;
115
123
  toggleEnabled: () => void;
116
124
  toggleModel: (key: string) => void;
125
+ toggleAllowParentFork: () => void;
117
126
  setActiveTarget: (target: string) => void;
118
127
  resetActiveTarget: () => void;
128
+ resetActiveTargetFork: () => void;
119
129
  retryCatalog: () => void;
120
130
  save: () => void;
121
131
  discard: () => void;
@@ -133,10 +143,12 @@ export interface SubagentCatalogGroup {
133
143
  name: string;
134
144
  }>;
135
145
  }
136
- /** 偏好文档里与子代理模型有关的两项。 */
146
+ /** 偏好文档里与子代理模型有关的四项。 */
137
147
  export interface SubagentModelPreferences {
138
148
  subagentDefaultModels?: SubagentModelRoute[];
139
149
  subagentModelsByMainModel?: Record<string, SubagentModelRoute[] | null>;
150
+ subagentDefaultAllowParentFork?: boolean;
151
+ subagentAllowParentForkByMainModel?: Record<string, boolean | null>;
140
152
  }
141
153
  /** 一条 configForm 变更指令。 */
142
154
  export type SubagentFormOp = {
@@ -211,7 +223,7 @@ export declare function parseRouteKey(key: string): SubagentModelRoute | undefin
211
223
  */
212
224
  export declare function normalizeCatalogGroups(rawGroups: readonly unknown[]): SubagentCatalogGroup[];
213
225
  /**
214
- * 读本插件偏好里的子代理模型两项。
226
+ * 读本插件偏好里的子代理模型配置。
215
227
  * @returns 偏好切片;读取失败时 undefined(卡片照常可用,只是从空列表起步)。
216
228
  */
217
229
  export declare function readSubagentPreferences(): Promise<SubagentModelPreferences | undefined>;
@@ -258,6 +270,8 @@ export declare class SubagentSettingsController {
258
270
  private draftEnabled;
259
271
  private draftDefault;
260
272
  private draftOverrides;
273
+ private draftDefaultFork;
274
+ private draftForkOverrides;
261
275
  private draftRevision;
262
276
  private activeTarget;
263
277
  private saving;
@@ -294,9 +308,14 @@ export declare class SubagentSettingsController {
294
308
  private currentDefault;
295
309
  /** 每个主代理模型的专属列表(丢弃空数组与非法项)。 */
296
310
  private currentOverrides;
311
+ private currentDefaultFork;
312
+ private currentForkOverrides;
297
313
  private enabled;
298
314
  private defaultRoutes;
299
315
  private overrides;
316
+ private defaultAllowParentFork;
317
+ private forkOverrides;
318
+ private activeAllowParentFork;
300
319
  /** 当前目标生效的列表(专属列表优先,否则回落到全局默认)。 */
301
320
  private activeRoutes;
302
321
  private ensureDraft;
@@ -309,7 +328,11 @@ export declare class SubagentSettingsController {
309
328
  */
310
329
  private toggleModel;
311
330
  private setActiveTarget;
312
- /** 让当前目标恢复「跟随全局默认」:删掉它的专属列表。 */
331
+ /** 切换当前目标的同源分叉(`subagent_fork`)开关。 */
332
+ private toggleAllowParentFork;
333
+ /** 让当前主代理的同源分叉策略单独恢复「跟随全局默认」。 */
334
+ private resetActiveTargetFork;
335
+ /** 让当前目标恢复「跟随全局默认」:删掉它的专属列表与专属同源分叉覆盖。 */
313
336
  private resetActiveTarget;
314
337
  private discard;
315
338
  /** 当前目标的候选行:目录 ∪ 已保存 ∪ 草稿里出现的每一条。 */