@eddyskywalker/dsh-chatgpt-subscription 0.48.4 → 0.50.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 (50) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +2 -1
  3. package/lib/client.js +2383 -179
  4. package/lib/client.js.map +1 -1
  5. package/lib/index.js +2246 -233
  6. package/lib/types/client/index.d.ts +2 -0
  7. package/lib/types/client/index.d.ts.map +1 -1
  8. package/lib/types/client/kimi-code/KimiCodeSection.d.ts.map +1 -1
  9. package/lib/types/client/kimi-code/locales.d.ts +14 -2
  10. package/lib/types/client/kimi-code/locales.d.ts.map +1 -1
  11. package/lib/types/client/locales-ru/kimi-code.d.ts.map +1 -1
  12. package/lib/types/client/subagent/SubagentCard.d.ts +35 -0
  13. package/lib/types/client/subagent/SubagentCard.d.ts.map +1 -0
  14. package/lib/types/client/subagent/index.d.ts +28 -0
  15. package/lib/types/client/subagent/index.d.ts.map +1 -0
  16. package/lib/types/client/subagent/locales.d.ts +172 -0
  17. package/lib/types/client/subagent/locales.d.ts.map +1 -0
  18. package/lib/types/client/subagent/styles.d.ts +20 -0
  19. package/lib/types/client/subagent/styles.d.ts.map +1 -0
  20. package/lib/types/client/subagent/subagent-card-controller.d.ts +329 -0
  21. package/lib/types/client/subagent/subagent-card-controller.d.ts.map +1 -0
  22. package/lib/types/compat.d.ts +1 -1
  23. package/lib/types/host/cache-warmup/install.d.ts.map +1 -1
  24. package/lib/types/host/cache-warmup/projection.d.ts.map +1 -1
  25. package/lib/types/host/common/request-images.d.ts +66 -0
  26. package/lib/types/host/common/request-images.d.ts.map +1 -1
  27. package/lib/types/host/kimi-code/adapter.d.ts +15 -0
  28. package/lib/types/host/kimi-code/adapter.d.ts.map +1 -1
  29. package/lib/types/host/kimi-code/cache-wait.d.ts +125 -0
  30. package/lib/types/host/kimi-code/cache-wait.d.ts.map +1 -0
  31. package/lib/types/host/kimi-code/mapper.d.ts +123 -6
  32. package/lib/types/host/kimi-code/mapper.d.ts.map +1 -1
  33. package/lib/types/host/kimi-code/routes.d.ts.map +1 -1
  34. package/lib/types/host/kimi-code/session-cache-state.d.ts +14 -0
  35. package/lib/types/host/kimi-code/session-cache-state.d.ts.map +1 -1
  36. package/lib/types/host/kimi-code/types.d.ts +29 -4
  37. package/lib/types/host/kimi-code/types.d.ts.map +1 -1
  38. package/lib/types/host/preferences.d.ts.map +1 -1
  39. package/lib/types/host/routes.d.ts.map +1 -1
  40. package/lib/types/host/subagent-model-authorization.d.ts +130 -2
  41. package/lib/types/host/subagent-model-authorization.d.ts.map +1 -1
  42. package/lib/types/index.d.ts.map +1 -1
  43. package/lib/types/shared/contracts.d.ts +28 -0
  44. package/lib/types/shared/contracts.d.ts.map +1 -1
  45. package/lib/types/shared/kimi-code-contracts.d.ts +10 -1
  46. package/lib/types/shared/kimi-code-contracts.d.ts.map +1 -1
  47. package/lib/types/shared/preferences.d.ts +52 -1
  48. package/lib/types/shared/preferences.d.ts.map +1 -1
  49. package/package.json +1 -1
  50. package/presets/dispatch/agent.cordis.yml +2 -2
@@ -13,6 +13,7 @@ import { type QoderLocaleKey } from './qoder/locales.ts';
13
13
  import { type OpenDesignLocaleKey } from './opendesign/locales.ts';
14
14
  import { type ProgressUpdatesLocaleKey } from './progress-updates/locales.ts';
15
15
  import { type WorkBuddyLocaleKey } from './workbuddy/locales.ts';
16
+ import { type SubagentLocaleKey } from './subagent/locales.ts';
16
17
  declare module '@deepseek-ai/dsh-client-ui-slots' {
17
18
  /**
18
19
  * Every namespace this plugin registers, typed by that line's own dictionary.
@@ -37,6 +38,7 @@ declare module '@deepseek-ai/dsh-client-ui-slots' {
37
38
  'dsh-opendesign': OpenDesignLocaleKey;
38
39
  'dsh-progress-updates': ProgressUpdatesLocaleKey;
39
40
  'dsh-workbuddy': WorkBuddyLocaleKey;
41
+ 'dsh-subagent-settings': SubagentLocaleKey;
40
42
  }
41
43
  }
42
44
  export declare const inject: string[];
@@ -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;AAG9G,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;KACpC;CACF;AAED,eAAO,MAAM,MAAM,UAQlB,CAAA;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAqO9C"}
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 +1 @@
1
- {"version":3,"file":"KimiCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/KimiCodeSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AA0BvE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AA6BD,wBAAgB,eAAe,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAosBhG"}
1
+ {"version":3,"file":"KimiCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/KimiCodeSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AA0BvE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AA+CD,wBAAgB,eAAe,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAqtBhG"}
@@ -108,6 +108,10 @@ export declare const zh: {
108
108
  readonly cacheDriftTools: "工具列表已变化(缓存失效)";
109
109
  readonly cacheDriftCacheKey: "缓存键已变化(会话切换)";
110
110
  readonly cacheDriftColdKey: "未发送缓存键(无法命中)";
111
+ readonly cacheDriftImageOffload: "旧图片超预算淘汰(缓存重建)";
112
+ readonly cacheImageBudgetLabel: "请求图片预算";
113
+ readonly cacheImageBudgetValue: "本轮 {used} / 上限 {budget}(低水位 {low})";
114
+ readonly cacheImageBudgetDropped: "本轮 {used} / 上限 {budget}(已粘性淘汰 {dropped} 张)";
111
115
  readonly preserveThinking: "保留思考 (Preserved Thinking)";
112
116
  readonly preserveOn: "已开启(官方默认):跨轮保留 reasoning_content,多轮工具调用更连贯,但思考 token 也计入输出。";
113
117
  readonly preserveOff: "已关闭:不要求服务回传推理内容。可设置 DSH_KIMI_CODE_PRESERVE_THINKING=0 关闭。";
@@ -307,6 +311,10 @@ export declare const dictionaries: {
307
311
  readonly cacheDriftTools: "工具列表已变化(缓存失效)";
308
312
  readonly cacheDriftCacheKey: "缓存键已变化(会话切换)";
309
313
  readonly cacheDriftColdKey: "未发送缓存键(无法命中)";
314
+ readonly cacheDriftImageOffload: "旧图片超预算淘汰(缓存重建)";
315
+ readonly cacheImageBudgetLabel: "请求图片预算";
316
+ readonly cacheImageBudgetValue: "本轮 {used} / 上限 {budget}(低水位 {low})";
317
+ readonly cacheImageBudgetDropped: "本轮 {used} / 上限 {budget}(已粘性淘汰 {dropped} 张)";
310
318
  readonly preserveThinking: "保留思考 (Preserved Thinking)";
311
319
  readonly preserveOn: "已开启(官方默认):跨轮保留 reasoning_content,多轮工具调用更连贯,但思考 token 也计入输出。";
312
320
  readonly preserveOff: "已关闭:不要求服务回传推理内容。可设置 DSH_KIMI_CODE_PRESERVE_THINKING=0 关闭。";
@@ -504,6 +512,10 @@ export declare const dictionaries: {
504
512
  readonly cacheDriftTools: "工具列表已变化(缓存失效)";
505
513
  readonly cacheDriftCacheKey: "缓存键已变化(会话切换)";
506
514
  readonly cacheDriftColdKey: "未发送缓存键(无法命中)";
515
+ readonly cacheDriftImageOffload: "旧图片超预算淘汰(缓存重建)";
516
+ readonly cacheImageBudgetLabel: "请求图片预算";
517
+ readonly cacheImageBudgetValue: "本轮 {used} / 上限 {budget}(低水位 {low})";
518
+ readonly cacheImageBudgetDropped: "本轮 {used} / 上限 {budget}(已粘性淘汰 {dropped} 张)";
507
519
  readonly preserveThinking: "保留思考 (Preserved Thinking)";
508
520
  readonly preserveOn: "已开启(官方默认):跨轮保留 reasoning_content,多轮工具调用更连贯,但思考 token 也计入输出。";
509
521
  readonly preserveOff: "已关闭:不要求服务回传推理内容。可设置 DSH_KIMI_CODE_PRESERVE_THINKING=0 关闭。";
@@ -592,8 +604,8 @@ export declare const dictionaries: {
592
604
  readonly quotaFactsScope: string;
593
605
  readonly composerLabel: string;
594
606
  };
595
- en: Record<"account" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "deviceCodeHint" | "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" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheRequests" | "cacheDriftTools" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortHigh" | "effortMax" | "quotaUnknown" | "resetAt" | "copied" | "region" | "quotaPlan" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "nickname" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capThinkingOnly" | "capEfforts" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capThinkingOnlyFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "capInputCap" | "capNoTools" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "effortThinkingOnlyNote" | "effortNotOffered" | "cacheNote" | "cacheNoteHint" | "effortNone" | "contextWindowPlan" | "cacheOutput" | "cacheWrite" | "cacheWarmupLabel" | "cacheWarmupWarming" | "cacheWarmupSettled" | "unknownMetric" | "cacheExpired" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "kqTotal" | "kqTip" | "kqPoolKimi" | "kqPoolCode" | "kqResetAfter" | "kqAccount" | "kqAgo" | "kqLastUsed" | "kqShortWindow" | "kqRestUsed" | "kqExpires" | "kqJustNow" | "kqMinutesAgo" | "kqHoursAgo" | "kqDaysAgo" | "kqWindow5h" | "kqWindow7d" | "kqDurationDay" | "kqDurationHour" | "kqDurationMinute" | "kqResetIn" | "kqResetSoon" | "kqRegionMainland" | "kqRegionGlobal" | "requests" | "compactionRoute" | "compactionRouteHint" | "compactionRouteProvider" | "compactionRouteModel" | "compactionRouteSave" | "compactionRouteClear" | "compactionRouteChange" | "compactionRouteFollow" | "compactionRouteSaved" | "compactionRouteFailed" | "compactionRouteNoVideo" | "compactionRouteNoImage" | "compactionRouteEmpty", string>;
596
- 'en-US': Record<"account" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "deviceCodeHint" | "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" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheRequests" | "cacheDriftTools" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortHigh" | "effortMax" | "quotaUnknown" | "resetAt" | "copied" | "region" | "quotaPlan" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "nickname" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capThinkingOnly" | "capEfforts" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capThinkingOnlyFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "capInputCap" | "capNoTools" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "effortThinkingOnlyNote" | "effortNotOffered" | "cacheNote" | "cacheNoteHint" | "effortNone" | "contextWindowPlan" | "cacheOutput" | "cacheWrite" | "cacheWarmupLabel" | "cacheWarmupWarming" | "cacheWarmupSettled" | "unknownMetric" | "cacheExpired" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "kqTotal" | "kqTip" | "kqPoolKimi" | "kqPoolCode" | "kqResetAfter" | "kqAccount" | "kqAgo" | "kqLastUsed" | "kqShortWindow" | "kqRestUsed" | "kqExpires" | "kqJustNow" | "kqMinutesAgo" | "kqHoursAgo" | "kqDaysAgo" | "kqWindow5h" | "kqWindow7d" | "kqDurationDay" | "kqDurationHour" | "kqDurationMinute" | "kqResetIn" | "kqResetSoon" | "kqRegionMainland" | "kqRegionGlobal" | "requests" | "compactionRoute" | "compactionRouteHint" | "compactionRouteProvider" | "compactionRouteModel" | "compactionRouteSave" | "compactionRouteClear" | "compactionRouteChange" | "compactionRouteFollow" | "compactionRouteSaved" | "compactionRouteFailed" | "compactionRouteNoVideo" | "compactionRouteNoImage" | "compactionRouteEmpty", string>;
607
+ en: Record<"account" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "deviceCodeHint" | "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" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheRequests" | "cacheDriftTools" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortHigh" | "effortMax" | "quotaUnknown" | "resetAt" | "copied" | "region" | "quotaPlan" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "nickname" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capThinkingOnly" | "capEfforts" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capThinkingOnlyFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "capInputCap" | "capNoTools" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "effortThinkingOnlyNote" | "effortNotOffered" | "cacheNote" | "cacheNoteHint" | "effortNone" | "contextWindowPlan" | "cacheOutput" | "cacheWrite" | "cacheWarmupLabel" | "cacheWarmupWarming" | "cacheWarmupSettled" | "unknownMetric" | "cacheExpired" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "cacheDriftImageOffload" | "cacheImageBudgetLabel" | "cacheImageBudgetValue" | "cacheImageBudgetDropped" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "kqTotal" | "kqTip" | "kqPoolKimi" | "kqPoolCode" | "kqResetAfter" | "kqAccount" | "kqAgo" | "kqLastUsed" | "kqShortWindow" | "kqRestUsed" | "kqExpires" | "kqJustNow" | "kqMinutesAgo" | "kqHoursAgo" | "kqDaysAgo" | "kqWindow5h" | "kqWindow7d" | "kqDurationDay" | "kqDurationHour" | "kqDurationMinute" | "kqResetIn" | "kqResetSoon" | "kqRegionMainland" | "kqRegionGlobal" | "requests" | "compactionRoute" | "compactionRouteHint" | "compactionRouteProvider" | "compactionRouteModel" | "compactionRouteSave" | "compactionRouteClear" | "compactionRouteChange" | "compactionRouteFollow" | "compactionRouteSaved" | "compactionRouteFailed" | "compactionRouteNoVideo" | "compactionRouteNoImage" | "compactionRouteEmpty", string>;
608
+ 'en-US': Record<"account" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "deviceCodeHint" | "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" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheRequests" | "cacheDriftTools" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortHigh" | "effortMax" | "quotaUnknown" | "resetAt" | "copied" | "region" | "quotaPlan" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "nickname" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capThinkingOnly" | "capEfforts" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capThinkingOnlyFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "capInputCap" | "capNoTools" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "effortThinkingOnlyNote" | "effortNotOffered" | "cacheNote" | "cacheNoteHint" | "effortNone" | "contextWindowPlan" | "cacheOutput" | "cacheWrite" | "cacheWarmupLabel" | "cacheWarmupWarming" | "cacheWarmupSettled" | "unknownMetric" | "cacheExpired" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "cacheDriftImageOffload" | "cacheImageBudgetLabel" | "cacheImageBudgetValue" | "cacheImageBudgetDropped" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "kqTotal" | "kqTip" | "kqPoolKimi" | "kqPoolCode" | "kqResetAfter" | "kqAccount" | "kqAgo" | "kqLastUsed" | "kqShortWindow" | "kqRestUsed" | "kqExpires" | "kqJustNow" | "kqMinutesAgo" | "kqHoursAgo" | "kqDaysAgo" | "kqWindow5h" | "kqWindow7d" | "kqDurationDay" | "kqDurationHour" | "kqDurationMinute" | "kqResetIn" | "kqResetSoon" | "kqRegionMainland" | "kqRegionGlobal" | "requests" | "compactionRoute" | "compactionRouteHint" | "compactionRouteProvider" | "compactionRouteModel" | "compactionRouteSave" | "compactionRouteClear" | "compactionRouteChange" | "compactionRouteFollow" | "compactionRouteSaved" | "compactionRouteFailed" | "compactionRouteNoVideo" | "compactionRouteNoImage" | "compactionRouteEmpty", string>;
597
609
  };
598
610
  export type KimiCodeLocaleKey = keyof typeof zh;
599
611
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/locales.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,kBAAkB,CAAA;AAE3C,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyKL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CAuKrC,CAAA;AAEV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,EAAE,CAAA;AAE/C;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/locales.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,kBAAkB,CAAA;AAE3C,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6KL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CA2KrC,CAAA;AAEV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,EAAE,CAAA;AAE/C;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"kimi-code.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/kimi-code.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAGhE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAwKxD,CAAA"}
1
+ {"version":3,"file":"kimi-code.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/kimi-code.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAGhE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CA4KxD,CAAA"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * 「子智能体」设置卡片:运行限制 + 模型选择(全局默认 + 按主代理模型覆盖)。
3
+ *
4
+ * 1:1 还原 DSH 官方 `@deepseek-ai/dsh-client-ui-settings-subagent` 的 DOM 层次与样式:
5
+ * - 运行限制:双列响应式网格,标题旁带 `?` 帮助按钮(展开显示深度说明表格),全宽数字输入框;
6
+ * - 模型选择:官方胶囊开关、主代理模型切换栏、以及带滚动条(max-height: 280px)和提供方分隔线的子智能体模型勾选框;
7
+ * - 保存栏:左对齐保存按钮,卸载页面时自动丢弃未保存草稿。
8
+ *
9
+ * @module @eddyskywalker/dsh-chatgpt-subscription/client/subagent/SubagentCard
10
+ */
11
+ import { type ReactNode } from 'react';
12
+ import type { InjectFace, PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
13
+ import { type SubagentSettingsInjected } from './subagent-card-controller.ts';
14
+ import { NS_SUBAGENT } from './locales.ts';
15
+ declare module '@deepseek-ai/dsh-client-ui-slots' {
16
+ interface SlotMap {
17
+ 'plugins.item': {
18
+ kind: 'list';
19
+ scope: 'root';
20
+ owner: {
21
+ readonly view: 'summary' | 'page';
22
+ readonly form?: unknown;
23
+ };
24
+ };
25
+ }
26
+ }
27
+ /** 卡片 props:框架座位 + 本卡命名空间的 t + 注入的状态与动作。 */
28
+ export type SubagentCardProps = PropsRuntime<'plugins.item'> & PropsLocale<typeof NS_SUBAGENT> & InjectFace<SubagentSettingsInjected>;
29
+ /**
30
+ * 渲染子智能体设置。
31
+ * @param props - 框架座位、t,以及注入的快照与动作。
32
+ * @returns summary 时是一句简介,page 时是整张表单。
33
+ */
34
+ export declare function SubagentCard(props: SubagentCardProps): ReactNode;
35
+ //# sourceMappingURL=SubagentCard.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * 「子智能体」设置卡的客户端入口:注册进插件页的 plugins.item 槽位。
3
+ *
4
+ * ## 为什么既设 priority: -10 又包一层 entries('plugins.item') 去重
5
+ *
6
+ * 1. `entriesOfSlot('plugins.item')`(渲染器实际绘制组件时用的投影)会按同一 `id`
7
+ * 选 `priority` 最小的那一条,因此 `priority: -10` 让本卡覆盖宿主自带的 `priority: 0`。
8
+ * 2. 但 `ui-plugin-manager` 的 `configLedgerSource` 在生成「内置插件配置」卡片列表时,
9
+ * 调用的是未做 cell 去重的原始账本 `ctx.slots.entries('plugins.item')`!如果账本里
10
+ * 同时存在两条 `id: 'subagent'`,列表页就会画出两张「子智能体」入口卡片。
11
+ * 3. 因此这里在槽位服务实例(或其原型)上对 `entries('plugins.item')` 做一层幂等去重包装:
12
+ * 当同一个 `id` 有多条注册时,只保留赢下该 cell 的第一条(由于 `rec.entries` 已按
13
+ * `priority` 升序排好,第一条就是 `priority` 最低的胜出者),并在本插件卸载时原样还原。
14
+ *
15
+ * @module @eddyskywalker/dsh-chatgpt-subscription/client/subagent
16
+ */
17
+ import type { Context as ClientContext } from '@deepseek-ai/cordis';
18
+ /** 本卡在插件页里的槽位 id;与宿主同名,这是遮蔽的前提。 */
19
+ export declare const SUBAGENT_SLOT_ID = "subagent";
20
+ /** 在 plugins.item 里的排序位。 */
21
+ export declare const SUBAGENT_SLOT_ORDER = 10;
22
+ /** 遮蔽宿主同 id 卡片的优先级(list 槽位:同一 cell 上最低的那条渲染)。 */
23
+ export declare const SUBAGENT_SLOT_PRIORITY = -10;
24
+ /**
25
+ * 把本卡注册进插件页。
26
+ */
27
+ export declare function installSubagentSettingsCard(ctx: ClientContext): () => void;
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/subagent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAenE,mCAAmC;AACnC,eAAO,MAAM,gBAAgB,aAAa,CAAA;AAE1C,4BAA4B;AAC5B,eAAO,MAAM,mBAAmB,KAAK,CAAA;AAErC,iDAAiD;AACjD,eAAO,MAAM,sBAAsB,MAAM,CAAA;AA8FzC;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,IAAI,CAwE1E"}
@@ -0,0 +1,172 @@
1
+ /**
2
+ * 「子智能体」设置卡片的文案与命名空间。
3
+ *
4
+ * ## 为什么这里另起一个命名空间
5
+ *
6
+ * 宿主自带的子智能体设置页有自己的 `settings.subagent` 命名空间,而本卡是
7
+ * **替换**它(同 id、更低 priority 遮蔽),不是与它并存。文案表因此归本插件所有:
8
+ * 键名沿用本插件其余线路的扁平驼峰(`hubTitle`、`settingsEnabledName` 那一套),
9
+ * 不引入宿主的点号风格。
10
+ *
11
+ * ## 键集是契约
12
+ *
13
+ * `SubagentLocaleKey` 由中文表反推,英文表用 `Record<SubagentLocaleKey, string>`
14
+ * 钉死——少一条键编译期就报,而不是等到界面上渲染出键名本身。
15
+ */
16
+ /** 本卡片在 locale 服务里的命名空间。 */
17
+ export declare const NS_SUBAGENT: "dsh-subagent-settings";
18
+ /** 中文文案(键集的唯一定义处)。 */
19
+ export declare const zh: {
20
+ readonly overridden: "已覆盖";
21
+ readonly reset: "恢复默认";
22
+ readonly readOnly: "本部署的设置为只读。";
23
+ readonly unavailable: "该插件当前未加载,暂时无法配置。";
24
+ readonly save: "保存";
25
+ readonly saving: "保存中…";
26
+ readonly saveFailed: "本部署没有接受这些值,已保留供你修改。";
27
+ readonly discard: "放弃修改";
28
+ readonly subagentTitle: "子智能体";
29
+ readonly subagentDescription: "设置子智能体的递归层级、数量和模型。";
30
+ readonly subagentLimitsTitle: "运行限制";
31
+ readonly subagentMaxDepth: "最大递归深度";
32
+ readonly subagentDepthHelpLabel: "最大递归深度说明";
33
+ readonly subagentDepthHelp: "限制 Agent 创建子智能体的递归层级。";
34
+ readonly subagentDepthZero: "禁用子智能体";
35
+ readonly subagentDepthOne: "仅允许主 Agent 创建子智能体";
36
+ readonly subagentDepthOverride: "如果某个工具单独设置了最大递归深度,以该工具的设置为准。";
37
+ readonly subagentMaxActive: "子智能体并行数量上限";
38
+ readonly subagentCapacityHelpLabel: "子智能体并行数量上限说明";
39
+ readonly subagentCapacityHelp: "同一主 Agent 下,所有递归层级同时存活的子智能体总数,主 Agent 不计入。达到上限时,新的启动请求会被拒绝。";
40
+ readonly subagentDepthInvalid: "请输入不小于 0 的整数。";
41
+ readonly subagentCapacityInvalid: "请输入不小于 1 的整数。";
42
+ readonly subagentModelSelectionTitle: "模型选择";
43
+ readonly subagentModelSelectionToggle: "允许 Agent 为子智能体选择模型";
44
+ readonly subagentModelSelectionChoose: "开启后,Agent 可以从下方授权模型中,为每个子智能体选择提供方、模型和推理强度。仅影响新会话。";
45
+ readonly subagentModelSelectionAllowed: "Agent 可选择的模型";
46
+ readonly subagentModelSelectionLoading: "正在加载模型…";
47
+ readonly subagentModelSelectionLoadFailed: "无法加载模型。";
48
+ readonly subagentModelSelectionRetry: "重试";
49
+ readonly subagentModelSelectionPartial: "部分模型提供方暂时无法加载;已保存的选择仍可移除。";
50
+ readonly subagentModelSelectionUnavailable: "当前不可用";
51
+ readonly subagentModelSelectionUnavailableGroup: "已保存但当前不可用";
52
+ readonly subagentModelSelectionEmpty: "当前没有模型提供方公布模型。";
53
+ readonly subagentModelSelectionRequired: "保存前请至少选择一个模型。";
54
+ readonly subagentModelSelectionOff: "关闭后,子智能体使用配置的默认模型或继承父 Agent 的模型;已选模型会保留。";
55
+ readonly subagentMainModelLabel: "主代理模型配置栏";
56
+ readonly subagentMainModelGlobalOption: "全局默认(未单独配置的主代理使用)";
57
+ readonly subagentMainModelQuickSwitch: "快捷切换";
58
+ readonly subagentChipGlobal: "全局默认 ({count})";
59
+ readonly subagentTargetGlobalHint: "正在编辑全局默认子代理模型列表;未单独配置专属列表的主代理将使用此列表。";
60
+ readonly subagentTargetOverrideStatus: "已为该主代理单独配置 {count} 个子代理模型";
61
+ readonly subagentTargetFollowGlobalStatus: "当前跟随全局默认列表(勾选或取消下方模型即可为该主代理创建专属列表)";
62
+ readonly subagentResetToGlobal: "恢复跟随全局默认";
63
+ readonly subagentOverrideBadge: "(已覆盖)";
64
+ readonly subagentPreferencesLoadFailed: "无法读取已保存的子代理模型偏好;保存时将以当前界面为准。";
65
+ readonly subagentModelPerTargetRequired: "保存前请至少选择一个模型(或点击「恢复跟随全局默认」)。";
66
+ };
67
+ /** 本命名空间的字典键联合。 */
68
+ export type SubagentLocaleKey = keyof typeof zh;
69
+ /** 英文对照,键集与中文完全一致。 */
70
+ export declare const en: Record<SubagentLocaleKey, string>;
71
+ /** 与其余线路同形的字典包(四个内置语言 id 都指向那两份)。 */
72
+ export declare const dictionaries: {
73
+ zh: {
74
+ readonly overridden: "已覆盖";
75
+ readonly reset: "恢复默认";
76
+ readonly readOnly: "本部署的设置为只读。";
77
+ readonly unavailable: "该插件当前未加载,暂时无法配置。";
78
+ readonly save: "保存";
79
+ readonly saving: "保存中…";
80
+ readonly saveFailed: "本部署没有接受这些值,已保留供你修改。";
81
+ readonly discard: "放弃修改";
82
+ readonly subagentTitle: "子智能体";
83
+ readonly subagentDescription: "设置子智能体的递归层级、数量和模型。";
84
+ readonly subagentLimitsTitle: "运行限制";
85
+ readonly subagentMaxDepth: "最大递归深度";
86
+ readonly subagentDepthHelpLabel: "最大递归深度说明";
87
+ readonly subagentDepthHelp: "限制 Agent 创建子智能体的递归层级。";
88
+ readonly subagentDepthZero: "禁用子智能体";
89
+ readonly subagentDepthOne: "仅允许主 Agent 创建子智能体";
90
+ readonly subagentDepthOverride: "如果某个工具单独设置了最大递归深度,以该工具的设置为准。";
91
+ readonly subagentMaxActive: "子智能体并行数量上限";
92
+ readonly subagentCapacityHelpLabel: "子智能体并行数量上限说明";
93
+ readonly subagentCapacityHelp: "同一主 Agent 下,所有递归层级同时存活的子智能体总数,主 Agent 不计入。达到上限时,新的启动请求会被拒绝。";
94
+ readonly subagentDepthInvalid: "请输入不小于 0 的整数。";
95
+ readonly subagentCapacityInvalid: "请输入不小于 1 的整数。";
96
+ readonly subagentModelSelectionTitle: "模型选择";
97
+ readonly subagentModelSelectionToggle: "允许 Agent 为子智能体选择模型";
98
+ readonly subagentModelSelectionChoose: "开启后,Agent 可以从下方授权模型中,为每个子智能体选择提供方、模型和推理强度。仅影响新会话。";
99
+ readonly subagentModelSelectionAllowed: "Agent 可选择的模型";
100
+ readonly subagentModelSelectionLoading: "正在加载模型…";
101
+ readonly subagentModelSelectionLoadFailed: "无法加载模型。";
102
+ readonly subagentModelSelectionRetry: "重试";
103
+ readonly subagentModelSelectionPartial: "部分模型提供方暂时无法加载;已保存的选择仍可移除。";
104
+ readonly subagentModelSelectionUnavailable: "当前不可用";
105
+ readonly subagentModelSelectionUnavailableGroup: "已保存但当前不可用";
106
+ readonly subagentModelSelectionEmpty: "当前没有模型提供方公布模型。";
107
+ readonly subagentModelSelectionRequired: "保存前请至少选择一个模型。";
108
+ readonly subagentModelSelectionOff: "关闭后,子智能体使用配置的默认模型或继承父 Agent 的模型;已选模型会保留。";
109
+ readonly subagentMainModelLabel: "主代理模型配置栏";
110
+ readonly subagentMainModelGlobalOption: "全局默认(未单独配置的主代理使用)";
111
+ readonly subagentMainModelQuickSwitch: "快捷切换";
112
+ readonly subagentChipGlobal: "全局默认 ({count})";
113
+ readonly subagentTargetGlobalHint: "正在编辑全局默认子代理模型列表;未单独配置专属列表的主代理将使用此列表。";
114
+ readonly subagentTargetOverrideStatus: "已为该主代理单独配置 {count} 个子代理模型";
115
+ readonly subagentTargetFollowGlobalStatus: "当前跟随全局默认列表(勾选或取消下方模型即可为该主代理创建专属列表)";
116
+ readonly subagentResetToGlobal: "恢复跟随全局默认";
117
+ readonly subagentOverrideBadge: "(已覆盖)";
118
+ readonly subagentPreferencesLoadFailed: "无法读取已保存的子代理模型偏好;保存时将以当前界面为准。";
119
+ readonly subagentModelPerTargetRequired: "保存前请至少选择一个模型(或点击「恢复跟随全局默认」)。";
120
+ };
121
+ 'zh-CN': {
122
+ readonly overridden: "已覆盖";
123
+ readonly reset: "恢复默认";
124
+ readonly readOnly: "本部署的设置为只读。";
125
+ readonly unavailable: "该插件当前未加载,暂时无法配置。";
126
+ readonly save: "保存";
127
+ readonly saving: "保存中…";
128
+ readonly saveFailed: "本部署没有接受这些值,已保留供你修改。";
129
+ readonly discard: "放弃修改";
130
+ readonly subagentTitle: "子智能体";
131
+ readonly subagentDescription: "设置子智能体的递归层级、数量和模型。";
132
+ readonly subagentLimitsTitle: "运行限制";
133
+ readonly subagentMaxDepth: "最大递归深度";
134
+ readonly subagentDepthHelpLabel: "最大递归深度说明";
135
+ readonly subagentDepthHelp: "限制 Agent 创建子智能体的递归层级。";
136
+ readonly subagentDepthZero: "禁用子智能体";
137
+ readonly subagentDepthOne: "仅允许主 Agent 创建子智能体";
138
+ readonly subagentDepthOverride: "如果某个工具单独设置了最大递归深度,以该工具的设置为准。";
139
+ readonly subagentMaxActive: "子智能体并行数量上限";
140
+ readonly subagentCapacityHelpLabel: "子智能体并行数量上限说明";
141
+ readonly subagentCapacityHelp: "同一主 Agent 下,所有递归层级同时存活的子智能体总数,主 Agent 不计入。达到上限时,新的启动请求会被拒绝。";
142
+ readonly subagentDepthInvalid: "请输入不小于 0 的整数。";
143
+ readonly subagentCapacityInvalid: "请输入不小于 1 的整数。";
144
+ readonly subagentModelSelectionTitle: "模型选择";
145
+ readonly subagentModelSelectionToggle: "允许 Agent 为子智能体选择模型";
146
+ readonly subagentModelSelectionChoose: "开启后,Agent 可以从下方授权模型中,为每个子智能体选择提供方、模型和推理强度。仅影响新会话。";
147
+ readonly subagentModelSelectionAllowed: "Agent 可选择的模型";
148
+ readonly subagentModelSelectionLoading: "正在加载模型…";
149
+ readonly subagentModelSelectionLoadFailed: "无法加载模型。";
150
+ readonly subagentModelSelectionRetry: "重试";
151
+ readonly subagentModelSelectionPartial: "部分模型提供方暂时无法加载;已保存的选择仍可移除。";
152
+ readonly subagentModelSelectionUnavailable: "当前不可用";
153
+ readonly subagentModelSelectionUnavailableGroup: "已保存但当前不可用";
154
+ readonly subagentModelSelectionEmpty: "当前没有模型提供方公布模型。";
155
+ readonly subagentModelSelectionRequired: "保存前请至少选择一个模型。";
156
+ readonly subagentModelSelectionOff: "关闭后,子智能体使用配置的默认模型或继承父 Agent 的模型;已选模型会保留。";
157
+ readonly subagentMainModelLabel: "主代理模型配置栏";
158
+ readonly subagentMainModelGlobalOption: "全局默认(未单独配置的主代理使用)";
159
+ readonly subagentMainModelQuickSwitch: "快捷切换";
160
+ readonly subagentChipGlobal: "全局默认 ({count})";
161
+ readonly subagentTargetGlobalHint: "正在编辑全局默认子代理模型列表;未单独配置专属列表的主代理将使用此列表。";
162
+ readonly subagentTargetOverrideStatus: "已为该主代理单独配置 {count} 个子代理模型";
163
+ readonly subagentTargetFollowGlobalStatus: "当前跟随全局默认列表(勾选或取消下方模型即可为该主代理创建专属列表)";
164
+ readonly subagentResetToGlobal: "恢复跟随全局默认";
165
+ readonly subagentOverrideBadge: "(已覆盖)";
166
+ readonly subagentPreferencesLoadFailed: "无法读取已保存的子代理模型偏好;保存时将以当前界面为准。";
167
+ readonly subagentModelPerTargetRequired: "保存前请至少选择一个模型(或点击「恢复跟随全局默认」)。";
168
+ };
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>;
171
+ };
172
+ //# sourceMappingURL=locales.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * 「子智能体」设置卡片的样式表。
3
+ *
4
+ * 1:1 对齐 DSH 官方 `ui-settings-subagent` 与 `ui-primitives` 的 CSS 规则与变量:
5
+ * - `.dsh-subagent-section` / `.dsh-subagent-heading` 对应 `SubagentCard.module.css`
6
+ * - `.dsh-subagent-limits-grid` / `.dsh-subagent-field` / `.dsh-subagent-input` 对应 `SubagentLimitsFields.module.css` + `fields.module.css`
7
+ * - `.dsh-subagent-switch` 对应 `Switch.module.css`
8
+ * - `.dsh-subagent-models` / `.dsh-subagent-group` / `.dsh-subagent-model` 对应 `SubagentModelSelectionFields.module.css`
9
+ * - `.dsh-subagent-footer` / `.dsh-subagent-save` 对应 `SettingsForm.module.css`
10
+ */
11
+ /** 这张表的 `data-plugin-css` 子名。 */
12
+ export declare const STYLE_NAME = "subagent";
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";
15
+ /**
16
+ * 安装本卡片的样式表。
17
+ * @returns 卸载函数(样式表由文档持有,这里不做删除)。
18
+ */
19
+ export declare function installSubagentStyles(): () => void;
20
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +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"}