@chatcode/chatcode-cli 3.0.4-rc.7 → 3.0.5-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/README.i18n.yaml +6 -6
  2. package/README.md +10 -4
  3. package/README.zh.md +10 -4
  4. package/lib/bin.js +23 -9
  5. package/lib/{command-errors-Ca64Lgba.js → command-errors-CsRCh0gk.js} +12 -12
  6. package/lib/{command-trees-CVc4Xu_z.js → command-trees-CD_43rxX.js} +2 -2
  7. package/lib/{component-identity-6aEut5Yt.js → component-identity-DGA2-TeB.js} +3 -3
  8. package/lib/{dump-config-ZzrfvtnX.js → dump-config-D8kXfdTs.js} +1 -1
  9. package/lib/dump-config-DuCc-QB7.js +2 -0
  10. package/lib/{dump-config-schema-BlO-eZ-J.js → dump-config-schema-CtZbroi6.js} +2 -2
  11. package/lib/{extension-events-C7MUpqVE.js → extension-events-D0BjYRqT.js} +21 -21
  12. package/lib/{host-access-CLbyAGT5.js → host-access-DLJjuR07.js} +1 -1
  13. package/lib/{keymap-82JwLLHe.js → keymap-C4cs2IBN.js} +2 -2
  14. package/lib/{plugin-BlQlWIR5.js → plugin-CGtTByud.js} +801 -456
  15. package/lib/{plugin-BZdazFXS.js → plugin-CYw-MBRn.js} +1 -1
  16. package/lib/{profile-boot-B0aEEQIR.js → profile-boot-CffsubnV.js} +7 -7
  17. package/lib/profile-boot.js +1 -1
  18. package/lib/{scenes-BNS0ZFyQ.js → scenes-CbAGK5Uy.js} +3 -3
  19. package/lib/{settings-sections-CXH24cu5.js → settings-sections-DYKDa04e.js} +3 -3
  20. package/lib/{statusBarSettings-BAMzn8fX.js → statusBarSettings-T1m8xad4.js} +3 -3
  21. package/lib/{themes-DXUIvP7m.js → themes-BY2ui1Dv.js} +12 -12
  22. package/lib/tui-compat-command-trees.js +1 -1
  23. package/lib/tui-compat-extensions.js +3 -3
  24. package/lib/tui-compat-plugin-host.js +5 -5
  25. package/lib/tui-compat-scenes.js +1 -1
  26. package/lib/tui-compat-settings-sections.js +1 -1
  27. package/lib/tui-compat-working-activity.js +1 -1
  28. package/lib/tui-compat-workspaces.js +1 -1
  29. package/lib/tui-compat.js +7 -7
  30. package/lib/types/bin.d.ts +9 -0
  31. package/lib/types/tui-compat.d.ts +1 -1
  32. package/lib/types/web-instance-process.d.ts +20 -0
  33. package/lib/{web-instance-DbP7IHPv.js → web-instance-D_Ppi2Zo.js} +176 -14
  34. package/lib/{web-instance-B0jec7cq.js → web-instance-amvCJWnq.js} +1 -1
  35. package/lib/{workspaces-CUJXNU5W.js → workspaces-D5VKbESy.js} +2 -2
  36. package/package.json +28 -29
  37. package/runtime/manifest.json +2 -2
  38. package/runtime/node_modules/@deepseek-ai/dsh-agent-default-model/lib/index.js +7 -3
  39. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/client.js +11 -3
  40. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/contract/snapshot.d.ts +1 -0
  41. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/sessions/assistant-stream.d.ts +2 -0
  42. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/sessions/assistant-stream.js +4 -0
  43. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/sessions/session.js +10 -3
  44. package/runtime/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js +32 -11
  45. package/runtime/node_modules/@deepseek-ai/dsh-atomic-write/lib/index.js +62 -11
  46. package/runtime/node_modules/@deepseek-ai/dsh-atomic-write/lib/types/darwin-lock.d.ts +7 -0
  47. package/runtime/node_modules/@deepseek-ai/dsh-atomic-write/lib/types/index.d.ts +7 -2
  48. package/runtime/node_modules/@deepseek-ai/dsh-atomic-write/lib/types/linux-lock.d.ts +1 -1
  49. package/runtime/node_modules/@deepseek-ai/dsh-client-locale/lib/client.js +7 -7
  50. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/lib/client.js +62 -62
  51. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-approval/lib/client.js +10 -10
  52. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-attachment/lib/client.js +49 -49
  53. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-chat/lib/client.js +204 -204
  54. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-commands/lib/client.js +16 -16
  55. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-conversation/lib/client.js +159 -157
  56. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-conversation/lib/types/client/service.d.ts +4 -2
  57. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-cordis/lib/client.js +74 -74
  58. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/client.js +129 -123
  59. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/index.js +19 -14
  60. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/types/changes.d.ts +2 -2
  61. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/types/client/Deliverables.d.ts +1 -2
  62. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/types/client/locales.d.ts +2 -1
  63. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/types/client/present-open.d.ts +1 -1
  64. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-deliverables/package.json +2 -4
  65. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/lib/client.js +39 -39
  66. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-goal/lib/client.js +16 -16
  67. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/lib/client.js +23 -23
  68. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-jobs/lib/client.js +37 -37
  69. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-layout/lib/client.js +9 -9
  70. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/lib/client.js +12 -12
  71. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/client.js +119 -32
  72. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/types/client/catalog.d.ts +13 -0
  73. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/types/client/directory.d.ts +2 -0
  74. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/types/client/effort-preferences.d.ts +20 -0
  75. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/types/client/slots.d.ts +2 -1
  76. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-open-in-app/lib/client.js +8 -8
  77. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/lib/client.js +18 -18
  78. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-plan/lib/client.js +22 -22
  79. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-plugin-manager/lib/client.js +128 -128
  80. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-schedule/lib/client.js +182 -182
  81. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-account/lib/client.js +130 -130
  82. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +50 -50
  83. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-models/lib/client.js +88 -88
  84. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/lib/client.js +36 -36
  85. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/lib/client.js +13 -13
  86. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-subagent/lib/client.js +27 -27
  87. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-shortcuts/lib/client.js +42 -42
  88. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +44 -46
  89. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar-browser/lib/client.js +25 -25
  90. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar-documentpreview/lib/client.excel.js +9 -9
  91. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar-documentpreview/lib/client.js +70 -70
  92. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar-documentpreview/lib/client.pdf.js +9 -9
  93. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar-files/lib/client.js +18 -18
  94. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar-right/lib/client.js +26 -26
  95. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar-terminal/lib/client.js +16 -16
  96. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar-terminal/lib/client.terminal.js +11 -11
  97. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-skill/lib/client.js +20 -20
  98. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-subagent/lib/client.js +37 -37
  99. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-theme/lib/client.js +27 -27
  100. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-tool/lib/client.js +95 -95
  101. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-trajectory/lib/client.js +197 -197
  102. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-user-questions/lib/client.js +49 -49
  103. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/lib/client.js +24 -24
  104. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/client.js +656 -152
  105. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/ArchivedSessions.d.ts +9 -2
  106. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/locales.d.ts +46 -0
  107. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/session-actions/DeleteSession.d.ts +9 -10
  108. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/session-actions/deletion.d.ts +57 -0
  109. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/package.json +2 -0
  110. package/runtime/node_modules/@deepseek-ai/dsh-experimental-client-ui-agent-team/lib/client.js +32 -32
  111. package/runtime/node_modules/@deepseek-ai/dsh-experimental-client-ui-voice-input/lib/client.js +24 -24
  112. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/index.js +899 -453
  113. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/types/adapter.d.ts +4 -20
  114. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/types/chat-completions/adapter.d.ts +8 -0
  115. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/types/chat-completions/serialize.d.ts +10 -0
  116. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/types/chat-completions/sse.d.ts +24 -0
  117. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/types/chat-completions/translate.d.ts +37 -0
  118. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/types/chat-completions/types.d.ts +159 -0
  119. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/types/file-store.d.ts +3 -0
  120. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/types/files-api.d.ts +4 -0
  121. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/types/index.d.ts +1 -0
  122. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/types/protocol-adapter.d.ts +41 -0
  123. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/types/protocol.d.ts +35 -0
  124. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/types/transport.d.ts +2 -1
  125. package/runtime/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/types/types.d.ts +2 -2
  126. package/runtime/node_modules/@deepseek-ai/dsh-mcp-client/lib/index.js +5 -4
  127. package/runtime/node_modules/@deepseek-ai/dsh-session-log-export/lib/client.js +4 -4
  128. package/runtime/node_modules/@deepseek-ai/dsh-session-log-export/lib/index.js +1 -1
  129. package/runtime/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/lib/index.js +2 -2
  130. package/runtime/node_modules/@deepseek-ai/dsh-tool-cordis/lib/types/api-catalog.js +12 -10
  131. package/runtime/node_modules/@deepseek-ai/dsh-workspace-changes/lib/index.js +208 -39
  132. package/runtime/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/archive.d.ts +47 -0
  133. package/runtime/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/archive.js +129 -0
  134. package/runtime/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/index.d.ts +2 -0
  135. package/runtime/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/index.js +31 -8
  136. package/runtime/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/recorder.d.ts +7 -2
  137. package/runtime/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/recorder.js +35 -19
  138. package/runtime/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/types.d.ts +11 -10
  139. package/runtime/node_modules/@deepseek-ai/dsh-workspace-changes/package.json +1 -0
  140. package/scripts/link-embedded-runtime.mjs +1 -1
  141. package/lib/dump-config-CDixiJNt.js +0 -2
  142. package/lib/{home-migration-BjDmRwBB.js → home-migration-lRjtl2fP.js} +1 -1
  143. package/lib/{startup-diagnostics-C_hRCp-q.js → startup-diagnostics-4mLHYTFc.js} +1 -1
@@ -73,6 +73,72 @@ window.__ModuleLoader__.load({
73
73
  }
74
74
  };
75
75
  //#endregion
76
+ //#region lib/types/client/effort-preferences.js
77
+ const STORAGE_KEY = "dsh.model.reasoning-preferences.v1";
78
+ function key(selection) {
79
+ return JSON.stringify([selection.provider, selection.model]);
80
+ }
81
+ function read() {
82
+ if (typeof localStorage === "undefined") return [];
83
+ let raw;
84
+ try {
85
+ raw = localStorage.getItem(STORAGE_KEY);
86
+ } catch (_storageUnavailable) {
87
+ return [];
88
+ }
89
+ if (raw === null) return [];
90
+ let parsed;
91
+ try {
92
+ parsed = JSON.parse(raw);
93
+ } catch (_invalidJson) {
94
+ return [];
95
+ }
96
+ if (!Array.isArray(parsed)) return [];
97
+ return parsed.flatMap((entry) => {
98
+ if (typeof entry !== "object" || entry === null || Array.isArray(entry)) return [];
99
+ const { provider, model, reasoningEffort } = entry;
100
+ if (typeof provider !== "string" || provider === "" || typeof model !== "string" || model === "" || reasoningEffort !== void 0 && (typeof reasoningEffort !== "string" || reasoningEffort === "")) return [];
101
+ return [{
102
+ provider,
103
+ model,
104
+ ...reasoningEffort === void 0 ? {} : { reasoningEffort }
105
+ }];
106
+ });
107
+ }
108
+ /** One selector service's preferences, shared by all its Session directories. */
109
+ var EffortPreferences = class {
110
+ selections = new Map(read().map((selection) => [key(selection), selection]));
111
+ /**
112
+ * Resolve a model switch without carrying an unsupported remembered effort.
113
+ * @param selection - target route and any explicitly requested effort.
114
+ * @param reasoning - the target adapter's current reasoning capabilities.
115
+ * @returns explicit selection, supported saved choice, or the adapter default.
116
+ */
117
+ resolve(selection, reasoning) {
118
+ if (selection.reasoningEffort !== void 0) return selection;
119
+ const saved = this.selections.get(key(selection));
120
+ const effort = saved !== void 0 && (saved.reasoningEffort === void 0 || reasoning?.efforts.some((level) => level.id === saved.reasoningEffort)) ? saved.reasoningEffort : reasoning?.defaultEffort;
121
+ return {
122
+ provider: selection.provider,
123
+ model: selection.model,
124
+ ...effort === void 0 ? {} : { reasoningEffort: effort }
125
+ };
126
+ }
127
+ /**
128
+ * Remember a successful selection, seeding an older current choice when absent.
129
+ * @param selection - complete selection acknowledged by the Host.
130
+ * @param previous - selection displayed before this successful operation.
131
+ */
132
+ remember(selection, previous) {
133
+ if (previous !== null && !this.selections.has(key(previous))) this.selections.set(key(previous), { ...previous });
134
+ this.selections.set(key(selection), { ...selection });
135
+ if (typeof localStorage === "undefined") return;
136
+ try {
137
+ localStorage.setItem(STORAGE_KEY, JSON.stringify([...this.selections.values()]));
138
+ } catch (_storageUnavailable) {}
139
+ }
140
+ };
141
+ //#endregion
76
142
  //#region lib/types/client/catalog.js
77
143
  /** One Host-generation model catalog shared by every Session selector. */
78
144
  /** Loads at most one model catalog for the current Host generation. */
@@ -85,6 +151,23 @@ window.__ModuleLoader__.load({
85
151
  error: null
86
152
  });
87
153
  reasoning = /* @__PURE__ */ new Map();
154
+ efforts = new EffortPreferences();
155
+ /**
156
+ * Restore a supported browser preference when a model is selected.
157
+ * @param selection - requested route and optional explicit effort.
158
+ * @returns selection with the saved effort or adapter default.
159
+ */
160
+ selectionFor(selection) {
161
+ return this.efforts.resolve(selection, this.reasoningFor(selection));
162
+ }
163
+ /**
164
+ * Record only Host-acknowledged choices for later model switches.
165
+ * @param selection - the selection returned by the Host.
166
+ * @param previous - the selection displayed before submission.
167
+ */
168
+ rememberSelection(selection, previous) {
169
+ this.efforts.remember(selection, previous);
170
+ }
88
171
  /**
89
172
  * Read the last advertised reasoning metadata, including unavailable models.
90
173
  * @param selection - provider and model whose effort is displayed.
@@ -223,11 +306,15 @@ window.__ModuleLoader__.load({
223
306
  * Select the complete provider/model/reasoning selection. The durable
224
307
  * projection frame updates the shared current; failures surface on the store
225
308
  * and return with the operation so each entry can present its own failure.
309
+ * Model switches without an explicit effort restore a supported browser
310
+ * preference, otherwise the target adapter's default.
226
311
  * @param selection - provider, provider-owned model id, and optional adapter-owned effort.
227
312
  * @returns the selection outcome, including the original Remote failure.
228
313
  */
229
314
  async select(selection) {
230
315
  this.assertAvailable();
316
+ const previous = this.store.getSnapshot().current;
317
+ if (previous?.provider !== selection.provider || previous.model !== selection.model) selection = this.catalog.selectionFor(selection);
231
318
  const generation = ++this.generation;
232
319
  this.store.update((s) => {
233
320
  s.status = "selecting";
@@ -252,6 +339,7 @@ window.__ModuleLoader__.load({
252
339
  });
253
340
  return result;
254
341
  }
342
+ this.catalog.rememberSelection(result.value.selected, previous);
255
343
  if (this.catalog.store.getSnapshot().value?.selectionScope === "process") this.catalog.refresh();
256
344
  this.store.update((s) => {
257
345
  s.status = "ready";
@@ -418,8 +506,8 @@ window.__ModuleLoader__.load({
418
506
  return n;
419
507
  }
420
508
  //#endregion
421
- //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/deepseek-harness/packages/client/ui-model-selection/src/client/ModelSelect.module.css.mjs
422
- const css = ".mVaOWa_root{min-width:0;position:relative}.mVaOWa_trigger{border-radius:var(--dsw-radius-sm);min-width:0;max-width:min(360px,45cqw);height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:4px;padding:0 4px 0 8px;font-size:13px;font-weight:400;line-height:20px;display:flex}.mVaOWa_trigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.mVaOWa_trigger:focus-visible{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}.mVaOWa_trigger:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}.mVaOWa_triggerLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mVaOWa_triggerEffort{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-caption);flex-shrink:1000;overflow:hidden}.mVaOWa_triggerIcon{display:var(--dsh-composer-model-icon-display,none);flex:none}.mVaOWa_triggerLabel,.mVaOWa_triggerEffort{display:var(--dsh-composer-model-text-display,block)}.mVaOWa_chevron{color:var(--dsw-alias-label-caption);flex:none;transition:transform .12s}.mVaOWa_chevronOpen{transform:rotate(180deg)}.mVaOWa_menu{z-index:1100;--dsw-elevation-stroke-color:var(--dsw-alias-border-l1);width:max-content;min-width:min(240px,100vw - 32px);max-width:min(420px,100vw - 32px);max-height:min(360px,100vh - 96px);box-shadow:var(--dsw-elevation-prominent);color:var(--dsw-alias-label-primary);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border:0;flex-direction:column;padding:4px;display:flex;position:fixed;overflow:hidden}.mVaOWa_status,.mVaOWa_empty{color:var(--dsw-alias-label-tertiary);padding:8px;font-size:12px;line-height:18px}.mVaOWa_error,.mVaOWa_warning{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary);justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:3px;padding:6px 7px;font-size:11px;line-height:16px;display:flex}.mVaOWa_warning{background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-state-warn-label)}.mVaOWa_retry{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-weight:600}.mVaOWa_groups{min-height:0;overflow-y:auto}.mVaOWa_group+.mVaOWa_group{margin-top:3px}.mVaOWa_groupTitle{z-index:1;background:linear-gradient(var(--dsw-specific-menu), var(--dsw-specific-menu)), var(--dsw-alias-bg-base);color:var(--dsw-alias-label-tertiary);padding:4px 7px 2px;font-size:11px;font-weight:500;line-height:16px;position:sticky;top:0}.mVaOWa_option{box-sizing:border-box;border-radius:var(--dsw-radius-md);width:auto;min-width:100%;min-height:34px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:6px;padding:5px 7px;display:flex}.mVaOWa_option:hover:not(:disabled),.mVaOWa_option:focus-visible{background:var(--dsw-alias-interactive-bg-hover)}.mVaOWa_selected{background:0 0}.mVaOWa_option:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}.mVaOWa_optionCopy{flex-direction:column;flex:1;min-width:0;display:flex}.mVaOWa_modelHeading{align-items:center;gap:6px;min-width:0;display:flex}.mVaOWa_modelHeading>.mVaOWa_capabilityTag{border-radius:0;flex:none}.mVaOWa_modelName{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:18px;overflow:hidden}.mVaOWa_check{color:var(--dsw-alias-label-primary);flex:0 0 14px;place-items:center;display:grid}.mVaOWa_check svg{width:14px;height:14px}.mVaOWa_cell{box-sizing:border-box;border-radius:var(--dsw-radius-md);width:auto;min-width:100%;height:34px;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:0 8px;font-size:13px;line-height:20px;display:flex}.mVaOWa_cell:hover{background:var(--dsw-alias-interactive-bg-hover)}.mVaOWa_cellLabel{white-space:nowrap;flex:none}.mVaOWa_cellValue{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;color:var(--dsw-alias-label-tertiary);flex:auto;overflow:hidden}.mVaOWa_cellChevron{width:12px;height:12px;color:var(--dsw-alias-menu-icon);flex:none}";
509
+ //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/chatcode-cli-harness/packages/client/ui-model-selection/src/client/ModelSelect.module.css.mjs
510
+ const css = ".nQJ-oa_root{min-width:0;position:relative}.nQJ-oa_trigger{border-radius:var(--dsw-radius-sm);min-width:0;max-width:min(360px,45cqw);height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:4px;padding:0 4px 0 8px;font-size:13px;font-weight:400;line-height:20px;display:flex}.nQJ-oa_trigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.nQJ-oa_trigger:focus-visible{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}.nQJ-oa_trigger:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}.nQJ-oa_triggerLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nQJ-oa_triggerEffort{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-caption);flex-shrink:1000;overflow:hidden}.nQJ-oa_triggerIcon{display:var(--dsh-composer-model-icon-display,none);flex:none}.nQJ-oa_triggerLabel,.nQJ-oa_triggerEffort{display:var(--dsh-composer-model-text-display,block)}.nQJ-oa_chevron{color:var(--dsw-alias-label-caption);flex:none;transition:transform .12s}.nQJ-oa_chevronOpen{transform:rotate(180deg)}.nQJ-oa_menu{z-index:1100;--dsw-elevation-stroke-color:var(--dsw-alias-border-l1);width:max-content;min-width:min(240px,100vw - 32px);max-width:min(420px,100vw - 32px);max-height:min(360px,100vh - 96px);box-shadow:var(--dsw-elevation-prominent);color:var(--dsw-alias-label-primary);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border:0;flex-direction:column;padding:4px;display:flex;position:fixed;overflow:hidden}.nQJ-oa_status,.nQJ-oa_empty{color:var(--dsw-alias-label-tertiary);padding:8px;font-size:12px;line-height:18px}.nQJ-oa_error,.nQJ-oa_warning{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary);justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:3px;padding:6px 7px;font-size:11px;line-height:16px;display:flex}.nQJ-oa_warning{background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-state-warn-label)}.nQJ-oa_retry{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-weight:600}.nQJ-oa_groups{min-height:0;overflow-y:auto}.nQJ-oa_group+.nQJ-oa_group{margin-top:3px}.nQJ-oa_groupTitle{z-index:1;background:linear-gradient(var(--dsw-specific-menu), var(--dsw-specific-menu)), var(--dsw-alias-bg-base);color:var(--dsw-alias-label-tertiary);padding:4px 7px 2px;font-size:11px;font-weight:500;line-height:16px;position:sticky;top:0}.nQJ-oa_option{box-sizing:border-box;border-radius:var(--dsw-radius-md);width:auto;min-width:100%;min-height:34px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:6px;padding:5px 7px;display:flex}.nQJ-oa_option:hover:not(:disabled),.nQJ-oa_option:focus-visible{background:var(--dsw-alias-interactive-bg-hover)}.nQJ-oa_selected{background:0 0}.nQJ-oa_option:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}.nQJ-oa_optionCopy{flex-direction:column;flex:1;min-width:0;display:flex}.nQJ-oa_modelHeading{align-items:center;gap:6px;min-width:0;display:flex}.nQJ-oa_modelHeading>.nQJ-oa_capabilityTag{border-radius:0;flex:none}.nQJ-oa_modelName{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:18px;overflow:hidden}.nQJ-oa_check{color:var(--dsw-alias-label-primary);flex:0 0 14px;place-items:center;display:grid}.nQJ-oa_check svg{width:14px;height:14px}.nQJ-oa_cell{box-sizing:border-box;border-radius:var(--dsw-radius-md);width:auto;min-width:100%;height:34px;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:0 8px;font-size:13px;line-height:20px;display:flex}.nQJ-oa_cell:hover{background:var(--dsw-alias-interactive-bg-hover)}.nQJ-oa_cellLabel{white-space:nowrap;flex:none}.nQJ-oa_cellValue{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;color:var(--dsw-alias-label-tertiary);flex:auto;overflow:hidden}.nQJ-oa_cellChevron{width:12px;height:12px;color:var(--dsw-alias-menu-icon);flex:none}";
423
511
  const tagId = "@deepseek-ai/dsh-client-ui-model-selection/ModelSelect.module.css";
424
512
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
425
513
  const tag = document.createElement("style");
@@ -429,33 +517,33 @@ window.__ModuleLoader__.load({
429
517
  document.head.appendChild(tag);
430
518
  }
431
519
  var ModelSelect_module_css_default = {
432
- "capabilityTag": "mVaOWa_capabilityTag",
433
- "cell": "mVaOWa_cell",
434
- "cellChevron": "mVaOWa_cellChevron",
435
- "cellLabel": "mVaOWa_cellLabel",
436
- "cellValue": "mVaOWa_cellValue",
437
- "check": "mVaOWa_check",
438
- "chevron": "mVaOWa_chevron",
439
- "chevronOpen": "mVaOWa_chevronOpen",
440
- "empty": "mVaOWa_empty",
441
- "error": "mVaOWa_error",
442
- "group": "mVaOWa_group",
443
- "groupTitle": "mVaOWa_groupTitle",
444
- "groups": "mVaOWa_groups",
445
- "menu": "mVaOWa_menu",
446
- "modelHeading": "mVaOWa_modelHeading",
447
- "modelName": "mVaOWa_modelName",
448
- "option": "mVaOWa_option",
449
- "optionCopy": "mVaOWa_optionCopy",
450
- "retry": "mVaOWa_retry",
451
- "root": "mVaOWa_root",
452
- "selected": "mVaOWa_selected",
453
- "status": "mVaOWa_status",
454
- "trigger": "mVaOWa_trigger",
455
- "triggerEffort": "mVaOWa_triggerEffort",
456
- "triggerIcon": "mVaOWa_triggerIcon",
457
- "triggerLabel": "mVaOWa_triggerLabel",
458
- "warning": "mVaOWa_warning"
520
+ "capabilityTag": "nQJ-oa_capabilityTag",
521
+ "cell": "nQJ-oa_cell",
522
+ "cellChevron": "nQJ-oa_cellChevron",
523
+ "cellLabel": "nQJ-oa_cellLabel",
524
+ "cellValue": "nQJ-oa_cellValue",
525
+ "check": "nQJ-oa_check",
526
+ "chevron": "nQJ-oa_chevron",
527
+ "chevronOpen": "nQJ-oa_chevronOpen",
528
+ "empty": "nQJ-oa_empty",
529
+ "error": "nQJ-oa_error",
530
+ "group": "nQJ-oa_group",
531
+ "groupTitle": "nQJ-oa_groupTitle",
532
+ "groups": "nQJ-oa_groups",
533
+ "menu": "nQJ-oa_menu",
534
+ "modelHeading": "nQJ-oa_modelHeading",
535
+ "modelName": "nQJ-oa_modelName",
536
+ "option": "nQJ-oa_option",
537
+ "optionCopy": "nQJ-oa_optionCopy",
538
+ "retry": "nQJ-oa_retry",
539
+ "root": "nQJ-oa_root",
540
+ "selected": "nQJ-oa_selected",
541
+ "status": "nQJ-oa_status",
542
+ "trigger": "nQJ-oa_trigger",
543
+ "triggerEffort": "nQJ-oa_triggerEffort",
544
+ "triggerIcon": "nQJ-oa_triggerIcon",
545
+ "triggerLabel": "nQJ-oa_triggerLabel",
546
+ "warning": "nQJ-oa_warning"
459
547
  };
460
548
  //#endregion
461
549
  //#region lib/types/client/ModelSelect.js
@@ -523,8 +611,7 @@ window.__ModuleLoader__.load({
523
611
  model,
524
612
  selection: {
525
613
  provider: group.id,
526
- model: model.id,
527
- ...model.reasoning?.defaultEffort === void 0 ? {} : { reasoningEffort: model.reasoning.defaultEffort }
614
+ model: model.id
528
615
  }
529
616
  }))), [groups]);
530
617
  const sections = (0, react.useMemo)(() => {
@@ -1081,7 +1168,7 @@ window.__ModuleLoader__.load({
1081
1168
  function selectionOf(state, id) {
1082
1169
  for (const group of state.groups) for (const model of group.models) {
1083
1170
  if (rowId(group.id, model.id) !== id) continue;
1084
- const reasoningEffort = state.current?.provider === group.id && state.current.model === model.id ? state.current?.reasoningEffort ?? model.reasoning?.defaultEffort : model.reasoning?.defaultEffort;
1171
+ const reasoningEffort = state.current?.provider === group.id && state.current.model === model.id ? state.current?.reasoningEffort : void 0;
1085
1172
  return {
1086
1173
  provider: group.id,
1087
1174
  model: model.id,
@@ -14,6 +14,19 @@ export declare class ModelCatalogDirectory {
14
14
  /** Current shared catalog value and load lifecycle. */
15
15
  readonly store: SnapshotStore<ModelCatalogState>;
16
16
  private readonly reasoning;
17
+ private readonly efforts;
18
+ /**
19
+ * Restore a supported browser preference when a model is selected.
20
+ * @param selection - requested route and optional explicit effort.
21
+ * @returns selection with the saved effort or adapter default.
22
+ */
23
+ selectionFor(selection: ModelSelection): ModelSelection;
24
+ /**
25
+ * Record only Host-acknowledged choices for later model switches.
26
+ * @param selection - the selection returned by the Host.
27
+ * @param previous - the selection displayed before submission.
28
+ */
29
+ rememberSelection(selection: ModelSelection, previous: ModelSelection | null): void;
17
30
  /**
18
31
  * Read the last advertised reasoning metadata, including unavailable models.
19
32
  * @param selection - provider and model whose effort is displayed.
@@ -61,6 +61,8 @@ export declare class ModelDirectory {
61
61
  * Select the complete provider/model/reasoning selection. The durable
62
62
  * projection frame updates the shared current; failures surface on the store
63
63
  * and return with the operation so each entry can present its own failure.
64
+ * Model switches without an explicit effort restore a supported browser
65
+ * preference, otherwise the target adapter's default.
64
66
  * @param selection - provider, provider-owned model id, and optional adapter-owned effort.
65
67
  * @returns the selection outcome, including the original Remote failure.
66
68
  */
@@ -0,0 +1,20 @@
1
+ /** Browser-local reasoning choices used when returning to an exact model route. */
2
+ import type { ModelReasoning, ModelSelection } from '@deepseek-ai/dsh-api-remotes/client';
3
+ /** One selector service's preferences, shared by all its Session directories. */
4
+ export declare class EffortPreferences {
5
+ private readonly selections;
6
+ /**
7
+ * Resolve a model switch without carrying an unsupported remembered effort.
8
+ * @param selection - target route and any explicitly requested effort.
9
+ * @param reasoning - the target adapter's current reasoning capabilities.
10
+ * @returns explicit selection, supported saved choice, or the adapter default.
11
+ */
12
+ resolve(selection: ModelSelection, reasoning: ModelReasoning | undefined): ModelSelection;
13
+ /**
14
+ * Remember a successful selection, seeding an older current choice when absent.
15
+ * @param selection - complete selection acknowledged by the Host.
16
+ * @param previous - selection displayed before this successful operation.
17
+ */
18
+ remember(selection: ModelSelection, previous: ModelSelection | null): void;
19
+ }
20
+ //# sourceMappingURL=effort-preferences.d.ts.map
@@ -17,7 +17,8 @@ export interface ModelSelectInjected {
17
17
  /** Ensure the shared advisory catalog is loaded (errors land on the store). */
18
18
  load: () => void;
19
19
  /**
20
- * Select a complete provider/model/reasoning selection.
20
+ * Select a model or change its effort. A model switch without an explicit
21
+ * effort restores its saved browser preference or adapter default.
21
22
  * @param selection - model selection and optional adapter-owned effort.
22
23
  * @returns the Host outcome, or undefined when this Session cannot select a model.
23
24
  */
@@ -183,8 +183,8 @@ window.__ModuleLoader__.load({
183
183
  };
184
184
  }
185
185
  //#endregion
186
- //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/deepseek-harness/packages/client/ui-open-in-app/src/client/OpenTargetButton.module.css.mjs
187
- const css = ".SUtLLa_menuAnchor{flex:none;align-self:center;display:inline-flex}.SUtLLa_split{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-sm);height:24px;font-family:var(--dsw-font-family);align-items:stretch;display:inline-flex;overflow:hidden}.SUtLLa_main,.SUtLLa_chevron{color:var(--dsw-alias-label-primary);white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;font-size:11px;line-height:16px;display:inline-flex}.SUtLLa_main{gap:4px;padding:3px 5px}.SUtLLa_chevron{border-left:.5px solid var(--dsw-alias-border-l4);color:var(--dsw-alias-label-secondary);padding:3px 4px 3px 3px}.SUtLLa_main:hover:not(:disabled),.SUtLLa_main:focus-visible,.SUtLLa_chevron:hover:not(:disabled),.SUtLLa_chevron:focus-visible{background:var(--dsw-alias-interactive-bg-hover)}.SUtLLa_main:disabled,.SUtLLa_chevron:disabled{cursor:default}.SUtLLa_appIcon{object-fit:contain}.SUtLLa_split[data-size=large]{border-radius:var(--dsw-radius-md);border-color:var(--dsw-alias-border-l2);height:36px}.SUtLLa_split[data-size=large] .SUtLLa_main{gap:6px;padding:6px 14px;font-size:14px}.SUtLLa_split[data-size=large] .SUtLLa_chevron{padding:6px 10px}.SUtLLa_skeleton{border-radius:var(--dsw-radius-xs);background:var(--dsw-alias-interactive-bg-hover);flex:none;display:inline-block}";
186
+ //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/chatcode-cli-harness/packages/client/ui-open-in-app/src/client/OpenTargetButton.module.css.mjs
187
+ const css = "._0h41wa_menuAnchor{flex:none;align-self:center;display:inline-flex}._0h41wa_split{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-sm);height:24px;font-family:var(--dsw-font-family);align-items:stretch;display:inline-flex;overflow:hidden}._0h41wa_main,._0h41wa_chevron{color:var(--dsw-alias-label-primary);white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;font-size:11px;line-height:16px;display:inline-flex}._0h41wa_main{gap:4px;padding:3px 5px}._0h41wa_chevron{border-left:.5px solid var(--dsw-alias-border-l4);color:var(--dsw-alias-label-secondary);padding:3px 4px 3px 3px}._0h41wa_main:hover:not(:disabled),._0h41wa_main:focus-visible,._0h41wa_chevron:hover:not(:disabled),._0h41wa_chevron:focus-visible{background:var(--dsw-alias-interactive-bg-hover)}._0h41wa_main:disabled,._0h41wa_chevron:disabled{cursor:default}._0h41wa_appIcon{object-fit:contain}._0h41wa_split[data-size=large]{border-radius:var(--dsw-radius-md);border-color:var(--dsw-alias-border-l2);height:36px}._0h41wa_split[data-size=large] ._0h41wa_main{gap:6px;padding:6px 14px;font-size:14px}._0h41wa_split[data-size=large] ._0h41wa_chevron{padding:6px 10px}._0h41wa_skeleton{border-radius:var(--dsw-radius-xs);background:var(--dsw-alias-interactive-bg-hover);flex:none;display:inline-block}";
188
188
  const tagId = "@deepseek-ai/dsh-client-ui-open-in-app/OpenTargetButton.module.css";
189
189
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
190
190
  const tag = document.createElement("style");
@@ -194,12 +194,12 @@ window.__ModuleLoader__.load({
194
194
  document.head.appendChild(tag);
195
195
  }
196
196
  var OpenTargetButton_module_css_default = {
197
- "appIcon": "SUtLLa_appIcon",
198
- "chevron": "SUtLLa_chevron",
199
- "main": "SUtLLa_main",
200
- "menuAnchor": "SUtLLa_menuAnchor",
201
- "skeleton": "SUtLLa_skeleton",
202
- "split": "SUtLLa_split"
197
+ "appIcon": "_0h41wa_appIcon",
198
+ "chevron": "_0h41wa_chevron",
199
+ "main": "_0h41wa_main",
200
+ "menuAnchor": "_0h41wa_menuAnchor",
201
+ "skeleton": "_0h41wa_skeleton",
202
+ "split": "_0h41wa_split"
203
203
  };
204
204
  //#endregion
205
205
  //#region lib/types/client/OpenTargetButton.js
@@ -261,8 +261,8 @@ window.__ModuleLoader__.load({
261
261
  return displayPresetName(name);
262
262
  }
263
263
  //#endregion
264
- //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/deepseek-harness/packages/client/ui-permission-presets/src/client/PermissionSelect.module.css.mjs
265
- const css$1 = ".xKUZ-q_trigger{border-radius:var(--dsw-radius-sm);min-width:0;max-width:220px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:4px;padding:0 4px 0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}.xKUZ-q_trigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.xKUZ-q_trigger:focus-visible{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}.xKUZ-q_trigger:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}.xKUZ-q_triggerIcon{flex:none;display:inline-flex}.xKUZ-q_triggerIcon svg{width:14px;height:14px}.xKUZ-q_triggerLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.xKUZ-q_optionLabel{align-items:baseline;gap:4px;min-width:0;max-width:100%;display:inline-flex}.xKUZ-q_optionLabelText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.xKUZ-q_badge{color:var(--dsw-alias-label-tertiary);letter-spacing:.2px;flex:none;align-self:flex-start;margin-top:-1px;font-size:8px;font-weight:600;line-height:10px}.xKUZ-q_chevron{color:var(--dsw-alias-label-caption);flex:none;transition:transform .12s;display:inline-flex}@container (width<=460px){.xKUZ-q_trigger:has(.xKUZ-q_triggerIcon) .xKUZ-q_triggerLabel{display:none}}.xKUZ-q_chevronOpen{transform:rotate(180deg)}";
264
+ //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/chatcode-cli-harness/packages/client/ui-permission-presets/src/client/PermissionSelect.module.css.mjs
265
+ const css$1 = ".Q6JFIq_trigger{border-radius:var(--dsw-radius-sm);min-width:0;max-width:220px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:4px;padding:0 4px 0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}.Q6JFIq_trigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.Q6JFIq_trigger:focus-visible{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}.Q6JFIq_trigger:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}.Q6JFIq_triggerIcon{flex:none;display:inline-flex}.Q6JFIq_triggerIcon svg{width:14px;height:14px}.Q6JFIq_triggerLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Q6JFIq_optionLabel{align-items:baseline;gap:4px;min-width:0;max-width:100%;display:inline-flex}.Q6JFIq_optionLabelText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Q6JFIq_badge{color:var(--dsw-alias-label-tertiary);letter-spacing:.2px;flex:none;align-self:flex-start;margin-top:-1px;font-size:8px;font-weight:600;line-height:10px}.Q6JFIq_chevron{color:var(--dsw-alias-label-caption);flex:none;transition:transform .12s;display:inline-flex}@container (width<=460px){.Q6JFIq_trigger:has(.Q6JFIq_triggerIcon) .Q6JFIq_triggerLabel{display:none}}.Q6JFIq_chevronOpen{transform:rotate(180deg)}";
266
266
  const tagId$1 = "@deepseek-ai/dsh-client-ui-permission-presets/PermissionSelect.module.css";
267
267
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
268
268
  const tag = document.createElement("style");
@@ -272,14 +272,14 @@ window.__ModuleLoader__.load({
272
272
  document.head.appendChild(tag);
273
273
  }
274
274
  var PermissionSelect_module_css_default = {
275
- "badge": "xKUZ-q_badge",
276
- "chevron": "xKUZ-q_chevron",
277
- "chevronOpen": "xKUZ-q_chevronOpen",
278
- "optionLabel": "xKUZ-q_optionLabel",
279
- "optionLabelText": "xKUZ-q_optionLabelText",
280
- "trigger": "xKUZ-q_trigger",
281
- "triggerIcon": "xKUZ-q_triggerIcon",
282
- "triggerLabel": "xKUZ-q_triggerLabel"
275
+ "badge": "Q6JFIq_badge",
276
+ "chevron": "Q6JFIq_chevron",
277
+ "chevronOpen": "Q6JFIq_chevronOpen",
278
+ "optionLabel": "Q6JFIq_optionLabel",
279
+ "optionLabelText": "Q6JFIq_optionLabelText",
280
+ "trigger": "Q6JFIq_trigger",
281
+ "triggerIcon": "Q6JFIq_triggerIcon",
282
+ "triggerLabel": "Q6JFIq_triggerLabel"
283
283
  };
284
284
  //#endregion
285
285
  //#region lib/types/client/PermissionSelect.js
@@ -434,8 +434,8 @@ window.__ModuleLoader__.load({
434
434
  })] });
435
435
  }
436
436
  //#endregion
437
- //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/deepseek-harness/packages/client/ui-permission-presets/src/client/PermissionRow.module.css.mjs
438
- const css = ".shqSdW_row{border-bottom:.5px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:16px 0;display:flex}.shqSdW_rowText{flex-direction:column;flex:1;gap:4px;min-width:0;padding-right:48px;display:flex}.shqSdW_title{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}.shqSdW_desc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}.shqSdW_selector{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-module-platform);height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;align-items:center;gap:12px;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}.shqSdW_selector:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.shqSdW_selector:disabled{cursor:default}.shqSdW_chevron{flex:none}";
437
+ //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/chatcode-cli-harness/packages/client/ui-permission-presets/src/client/PermissionRow.module.css.mjs
438
+ const css = ".Z7oSda_row{border-bottom:.5px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:16px 0;display:flex}.Z7oSda_rowText{flex-direction:column;flex:1;gap:4px;min-width:0;padding-right:48px;display:flex}.Z7oSda_title{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}.Z7oSda_desc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}.Z7oSda_selector{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-module-platform);height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;align-items:center;gap:12px;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}.Z7oSda_selector:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.Z7oSda_selector:disabled{cursor:default}.Z7oSda_chevron{flex:none}";
439
439
  const tagId = "@deepseek-ai/dsh-client-ui-permission-presets/PermissionRow.module.css";
440
440
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
441
441
  const tag = document.createElement("style");
@@ -445,12 +445,12 @@ window.__ModuleLoader__.load({
445
445
  document.head.appendChild(tag);
446
446
  }
447
447
  var PermissionRow_module_css_default = {
448
- "chevron": "shqSdW_chevron",
449
- "desc": "shqSdW_desc",
450
- "row": "shqSdW_row",
451
- "rowText": "shqSdW_rowText",
452
- "selector": "shqSdW_selector",
453
- "title": "shqSdW_title"
448
+ "chevron": "Z7oSda_chevron",
449
+ "desc": "Z7oSda_desc",
450
+ "row": "Z7oSda_row",
451
+ "rowText": "Z7oSda_rowText",
452
+ "selector": "Z7oSda_selector",
453
+ "title": "Z7oSda_title"
454
454
  };
455
455
  //#endregion
456
456
  //#region lib/types/client/PermissionRow.js
@@ -22,8 +22,8 @@ window.__ModuleLoader__.load({
22
22
  return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
23
23
  }
24
24
  //#endregion
25
- //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/deepseek-harness/packages/client/ui-plan/src/client/PlanPreview.module.css.mjs
26
- const css$1 = ".BoWmya_cards{flex-direction:column;gap:10px;display:flex}.BoWmya_card{--plan-card-fill:var(--dsw-static-neutral-50);--plan-card-hover:var(--dsw-static-neutral-100);box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l1);border-radius:var(--dsw-radius-xl);background:var(--plan-card-fill);width:100%;min-width:0;height:60px;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:10px;margin:0;padding:8px 10px;transition:background-color .12s;display:flex}body[data-ds-dark-theme] .BoWmya_card{--plan-card-fill:var(--dsw-static-neutral-850);--plan-card-hover:var(--dsw-static-neutral-800)}.BoWmya_card:hover{background:var(--plan-card-hover)}.BoWmya_card:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:3px}.BoWmya_cardIcon{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l1);border-radius:var(--dsw-radius-md);background:var(--plan-card-fill);flex:none;place-items:center;width:40px;height:40px;display:grid}.BoWmya_cardDetails{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.BoWmya_cardTitle{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:20px;overflow:hidden}.BoWmya_cardDescription{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:16px;overflow:hidden}.BoWmya_cardOpen{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-button-floating-fill);flex:none;align-items:center;height:28px;padding:4px 8px;font-size:12px;line-height:18px;display:inline-flex}.BoWmya_reviewLink{color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.BoWmya_reviewLink:hover{color:var(--dsw-alias-label-primary)}.BoWmya_reviewLink:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:3px}.BoWmya_preview{box-sizing:border-box;height:100%;padding:20px 24px 40px;position:relative;overflow:auto}.BoWmya_document{color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;font-size:14px;line-height:1.75}.BoWmya_message{color:var(--dsw-alias-label-secondary);padding:24px;font-size:14px}.BoWmya_titleIcon{flex:none}@media (width<=767px){.BoWmya_preview{padding:16px 18px 32px}}";
25
+ //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/chatcode-cli-harness/packages/client/ui-plan/src/client/PlanPreview.module.css.mjs
26
+ const css$1 = ".zTNmZa_cards{flex-direction:column;gap:10px;display:flex}.zTNmZa_card{--plan-card-fill:var(--dsw-static-neutral-50);--plan-card-hover:var(--dsw-static-neutral-100);box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l1);border-radius:var(--dsw-radius-xl);background:var(--plan-card-fill);width:100%;min-width:0;height:60px;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:10px;margin:0;padding:8px 10px;transition:background-color .12s;display:flex}body[data-ds-dark-theme] .zTNmZa_card{--plan-card-fill:var(--dsw-static-neutral-850);--plan-card-hover:var(--dsw-static-neutral-800)}.zTNmZa_card:hover{background:var(--plan-card-hover)}.zTNmZa_card:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:3px}.zTNmZa_cardIcon{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l1);border-radius:var(--dsw-radius-md);background:var(--plan-card-fill);flex:none;place-items:center;width:40px;height:40px;display:grid}.zTNmZa_cardDetails{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.zTNmZa_cardTitle{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:20px;overflow:hidden}.zTNmZa_cardDescription{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:16px;overflow:hidden}.zTNmZa_cardOpen{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-button-floating-fill);flex:none;align-items:center;height:28px;padding:4px 8px;font-size:12px;line-height:18px;display:inline-flex}.zTNmZa_reviewLink{color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.zTNmZa_reviewLink:hover{color:var(--dsw-alias-label-primary)}.zTNmZa_reviewLink:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:3px}.zTNmZa_preview{box-sizing:border-box;height:100%;padding:20px 24px 40px;position:relative;overflow:auto}.zTNmZa_document{color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;font-size:14px;line-height:1.75}.zTNmZa_message{color:var(--dsw-alias-label-secondary);padding:24px;font-size:14px}.zTNmZa_titleIcon{flex:none}@media (width<=767px){.zTNmZa_preview{padding:16px 18px 32px}}";
27
27
  const tagId$1 = "@deepseek-ai/dsh-client-ui-plan/PlanPreview.module.css";
28
28
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
29
29
  const tag = document.createElement("style");
@@ -33,18 +33,18 @@ window.__ModuleLoader__.load({
33
33
  document.head.appendChild(tag);
34
34
  }
35
35
  var PlanPreview_module_css_default = {
36
- "card": "BoWmya_card",
37
- "cardDescription": "BoWmya_cardDescription",
38
- "cardDetails": "BoWmya_cardDetails",
39
- "cardIcon": "BoWmya_cardIcon",
40
- "cardOpen": "BoWmya_cardOpen",
41
- "cardTitle": "BoWmya_cardTitle",
42
- "cards": "BoWmya_cards",
43
- "document": "BoWmya_document",
44
- "message": "BoWmya_message",
45
- "preview": "BoWmya_preview",
46
- "reviewLink": "BoWmya_reviewLink",
47
- "titleIcon": "BoWmya_titleIcon"
36
+ "card": "zTNmZa_card",
37
+ "cardDescription": "zTNmZa_cardDescription",
38
+ "cardDetails": "zTNmZa_cardDetails",
39
+ "cardIcon": "zTNmZa_cardIcon",
40
+ "cardOpen": "zTNmZa_cardOpen",
41
+ "cardTitle": "zTNmZa_cardTitle",
42
+ "cards": "zTNmZa_cards",
43
+ "document": "zTNmZa_document",
44
+ "message": "zTNmZa_message",
45
+ "preview": "zTNmZa_preview",
46
+ "reviewLink": "zTNmZa_reviewLink",
47
+ "titleIcon": "zTNmZa_titleIcon"
48
48
  };
49
49
  //#endregion
50
50
  //#region lib/types/client/PlanCard.js
@@ -475,8 +475,8 @@ window.__ModuleLoader__.load({
475
475
  });
476
476
  }
477
477
  //#endregion
478
- //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/deepseek-harness/packages/client/ui-plan/src/client/PlanModeControl.module.css.mjs
479
- const css = ".QrDeZq_wrap{align-items:center;gap:6px;display:inline-flex}.QrDeZq_chip{border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-state-business-tertiary);min-width:34px;height:28px;color:var(--dsw-alias-state-business-primary);cursor:pointer;border:none;align-items:center;gap:4px;padding:0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}.QrDeZq_chip:hover:not(:disabled){background:color-mix(in srgb, var(--dsw-alias-state-business-tertiary), var(--dsw-alias-state-business-primary) 6%)}.QrDeZq_chip:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:2px}.QrDeZq_chip:disabled{opacity:.6;cursor:default}.QrDeZq_glyph{color:currentColor;flex:none;width:14px;height:14px;display:inline-flex}.QrDeZq_hoverGlyph,.QrDeZq_chip:hover:not(:disabled) .QrDeZq_restGlyph,.QrDeZq_chip:focus-visible .QrDeZq_restGlyph{display:none}.QrDeZq_chip:hover:not(:disabled) .QrDeZq_hoverGlyph,.QrDeZq_chip:focus-visible .QrDeZq_hoverGlyph{display:block}.QrDeZq_error{color:var(--dsw-alias-state-error-primary);font-size:12px;line-height:18px}";
478
+ //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/chatcode-cli-harness/packages/client/ui-plan/src/client/PlanModeControl.module.css.mjs
479
+ const css = ".uGYgga_wrap{align-items:center;gap:6px;display:inline-flex}.uGYgga_chip{border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-state-business-tertiary);min-width:34px;height:28px;color:var(--dsw-alias-state-business-primary);cursor:pointer;border:none;align-items:center;gap:4px;padding:0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}.uGYgga_chip:hover:not(:disabled){background:color-mix(in srgb, var(--dsw-alias-state-business-tertiary), var(--dsw-alias-state-business-primary) 6%)}.uGYgga_chip:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:2px}.uGYgga_chip:disabled{opacity:.6;cursor:default}.uGYgga_glyph{color:currentColor;flex:none;width:14px;height:14px;display:inline-flex}.uGYgga_hoverGlyph,.uGYgga_chip:hover:not(:disabled) .uGYgga_restGlyph,.uGYgga_chip:focus-visible .uGYgga_restGlyph{display:none}.uGYgga_chip:hover:not(:disabled) .uGYgga_hoverGlyph,.uGYgga_chip:focus-visible .uGYgga_hoverGlyph{display:block}.uGYgga_error{color:var(--dsw-alias-state-error-primary);font-size:12px;line-height:18px}";
480
480
  const tagId = "@deepseek-ai/dsh-client-ui-plan/PlanModeControl.module.css";
481
481
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
482
482
  const tag = document.createElement("style");
@@ -486,12 +486,12 @@ window.__ModuleLoader__.load({
486
486
  document.head.appendChild(tag);
487
487
  }
488
488
  var PlanModeControl_module_css_default = {
489
- "chip": "QrDeZq_chip",
490
- "error": "QrDeZq_error",
491
- "glyph": "QrDeZq_glyph",
492
- "hoverGlyph": "QrDeZq_hoverGlyph",
493
- "restGlyph": "QrDeZq_restGlyph",
494
- "wrap": "QrDeZq_wrap"
489
+ "chip": "uGYgga_chip",
490
+ "error": "uGYgga_error",
491
+ "glyph": "uGYgga_glyph",
492
+ "hoverGlyph": "uGYgga_hoverGlyph",
493
+ "restGlyph": "uGYgga_restGlyph",
494
+ "wrap": "uGYgga_wrap"
495
495
  };
496
496
  //#endregion
497
497
  //#region lib/types/client/PlanModeControl.js