@qqbrowser/qbot-dsh 0.1.7 → 0.1.8

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 (189) hide show
  1. package/lib/client.js +1 -1
  2. package/lib/sandbox-local.js +1 -1
  3. package/node_modules/@deepseek-ai/cordis/package.json +1 -1
  4. package/node_modules/@deepseek-ai/dsh-agent/package.json +1 -1
  5. package/node_modules/@deepseek-ai/dsh-agent-default-model/package.json +1 -1
  6. package/node_modules/@deepseek-ai/dsh-agent-instructions/package.json +1 -1
  7. package/node_modules/@deepseek-ai/dsh-agent-loop/package.json +1 -1
  8. package/node_modules/@deepseek-ai/dsh-agent-presets/package.json +1 -1
  9. package/node_modules/@deepseek-ai/dsh-agent-tool-presentation/package.json +1 -1
  10. package/node_modules/@deepseek-ai/dsh-anonymous-user-id/package.json +1 -1
  11. package/node_modules/@deepseek-ai/dsh-api-gateway/package.json +1 -1
  12. package/node_modules/@deepseek-ai/dsh-api-remotes/package.json +1 -1
  13. package/node_modules/@deepseek-ai/dsh-app-boot/package.json +1 -1
  14. package/node_modules/@deepseek-ai/dsh-atomic-write/package.json +1 -1
  15. package/node_modules/@deepseek-ai/dsh-attachment/package.json +1 -1
  16. package/node_modules/@deepseek-ai/dsh-base/package.json +1 -1
  17. package/node_modules/@deepseek-ai/dsh-bash-local/package.json +1 -1
  18. package/node_modules/@deepseek-ai/dsh-browser-jsapi/package.json +1 -1
  19. package/node_modules/@deepseek-ai/dsh-client-connection/package.json +1 -1
  20. package/node_modules/@deepseek-ai/dsh-client-hmr/package.json +1 -1
  21. package/node_modules/@deepseek-ai/dsh-client-locale/lib/client.js +1 -1
  22. package/node_modules/@deepseek-ai/dsh-client-locale/package.json +1 -1
  23. package/node_modules/@deepseek-ai/dsh-client-runtime/package.json +1 -1
  24. package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/lib/client.js +1 -1
  25. package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/package.json +1 -1
  26. package/node_modules/@deepseek-ai/dsh-client-ui-attachment/package.json +1 -1
  27. package/node_modules/@deepseek-ai/dsh-client-ui-commands/lib/client.js +1 -1
  28. package/node_modules/@deepseek-ai/dsh-client-ui-commands/package.json +1 -1
  29. package/node_modules/@deepseek-ai/dsh-client-ui-conversation/lib/client.js +5 -5
  30. package/node_modules/@deepseek-ai/dsh-client-ui-conversation/package.json +1 -1
  31. package/node_modules/@deepseek-ai/dsh-client-ui-cordis/lib/client.js +1 -1
  32. package/node_modules/@deepseek-ai/dsh-client-ui-cordis/package.json +1 -1
  33. package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/client.js +1 -1
  34. package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/package.json +1 -1
  35. package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/lib/client.js +1 -1
  36. package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/package.json +1 -1
  37. package/node_modules/@deepseek-ai/dsh-client-ui-goal/lib/client.js +1 -1
  38. package/node_modules/@deepseek-ai/dsh-client-ui-goal/package.json +1 -1
  39. package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/lib/client.js +1 -1
  40. package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/package.json +1 -1
  41. package/node_modules/@deepseek-ai/dsh-client-ui-jobs/lib/client.js +1 -1
  42. package/node_modules/@deepseek-ai/dsh-client-ui-jobs/package.json +1 -1
  43. package/node_modules/@deepseek-ai/dsh-client-ui-jsapi-bridge/package.json +1 -1
  44. package/node_modules/@deepseek-ai/dsh-client-ui-layout/lib/client.js +1 -1
  45. package/node_modules/@deepseek-ai/dsh-client-ui-layout/package.json +1 -1
  46. package/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/lib/client.js +1 -1
  47. package/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/package.json +1 -1
  48. package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/client.js +1 -1
  49. package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/package.json +1 -1
  50. package/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/lib/client.js +1 -1
  51. package/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/package.json +1 -1
  52. package/node_modules/@deepseek-ai/dsh-client-ui-plan/package.json +1 -1
  53. package/node_modules/@deepseek-ai/dsh-client-ui-settings/package.json +1 -1
  54. package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +1 -1
  55. package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/package.json +1 -1
  56. package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/lib/client.js +1 -1
  57. package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/package.json +1 -1
  58. package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/lib/client.js +1 -1
  59. package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/package.json +1 -1
  60. package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/lib/client.js +1 -1
  61. package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/package.json +1 -1
  62. package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +1 -1
  63. package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/package.json +1 -1
  64. package/node_modules/@deepseek-ai/dsh-client-ui-skill/lib/client.js +1 -1
  65. package/node_modules/@deepseek-ai/dsh-client-ui-skill/package.json +1 -1
  66. package/node_modules/@deepseek-ai/dsh-client-ui-subagent/lib/client.js +1 -1
  67. package/node_modules/@deepseek-ai/dsh-client-ui-subagent/package.json +1 -1
  68. package/node_modules/@deepseek-ai/dsh-client-ui-theme/lib/client.js +1 -1
  69. package/node_modules/@deepseek-ai/dsh-client-ui-theme/package.json +1 -1
  70. package/node_modules/@deepseek-ai/dsh-client-ui-tool/lib/client.js +1 -1
  71. package/node_modules/@deepseek-ai/dsh-client-ui-tool/package.json +1 -1
  72. package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/lib/client.js +3 -3
  73. package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/package.json +1 -1
  74. package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/lib/client.js +1 -1
  75. package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/package.json +1 -1
  76. package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/lib/client.js +1 -1
  77. package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/package.json +1 -1
  78. package/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/client.js +1 -1
  79. package/node_modules/@deepseek-ai/dsh-client-ui-workspace/package.json +1 -1
  80. package/node_modules/@deepseek-ai/dsh-client-web/package.json +1 -1
  81. package/node_modules/@deepseek-ai/dsh-client-web-react/package.json +1 -1
  82. package/node_modules/@deepseek-ai/dsh-cmdline/package.json +1 -1
  83. package/node_modules/@deepseek-ai/dsh-code-runtime-worker-thread/package.json +1 -1
  84. package/node_modules/@deepseek-ai/dsh-command-compact/package.json +1 -1
  85. package/node_modules/@deepseek-ai/dsh-command-feedback/package.json +1 -1
  86. package/node_modules/@deepseek-ai/dsh-command-goal/package.json +1 -1
  87. package/node_modules/@deepseek-ai/dsh-commands/package.json +1 -1
  88. package/node_modules/@deepseek-ai/dsh-compaction/package.json +1 -1
  89. package/node_modules/@deepseek-ai/dsh-compaction-basic/package.json +1 -1
  90. package/node_modules/@deepseek-ai/dsh-compaction-tool-result-pruner/package.json +1 -1
  91. package/node_modules/@deepseek-ai/dsh-cordis-client-runner/package.json +1 -1
  92. package/node_modules/@deepseek-ai/dsh-cordis-host-runner/package.json +1 -1
  93. package/node_modules/@deepseek-ai/dsh-credentials/package.json +1 -1
  94. package/node_modules/@deepseek-ai/dsh-credentials-local/package.json +1 -1
  95. package/node_modules/@deepseek-ai/dsh-fs-local/package.json +1 -1
  96. package/node_modules/@deepseek-ai/dsh-fs-sandbox/package.json +1 -1
  97. package/node_modules/@deepseek-ai/dsh-goal/package.json +1 -1
  98. package/node_modules/@deepseek-ai/dsh-goal-round-driver/package.json +1 -1
  99. package/node_modules/@deepseek-ai/dsh-headless/package.json +1 -1
  100. package/node_modules/@deepseek-ai/dsh-home-paths/package.json +1 -1
  101. package/node_modules/@deepseek-ai/dsh-host-apiproxy/package.json +1 -1
  102. package/node_modules/@deepseek-ai/dsh-host-directory-picker-auto/package.json +1 -1
  103. package/node_modules/@deepseek-ai/dsh-host-directory-picker-browse/package.json +1 -1
  104. package/node_modules/@deepseek-ai/dsh-host-frontend-static/package.json +1 -1
  105. package/node_modules/@deepseek-ai/dsh-jobs-local/package.json +1 -1
  106. package/node_modules/@deepseek-ai/dsh-llm/package.json +1 -1
  107. package/node_modules/@deepseek-ai/dsh-llm-deepseek/package.json +1 -1
  108. package/node_modules/@deepseek-ai/dsh-llm-pi-ai/package.json +1 -1
  109. package/node_modules/@deepseek-ai/dsh-llm-retry/package.json +1 -1
  110. package/node_modules/@deepseek-ai/dsh-mcp-client/package.json +1 -1
  111. package/node_modules/@deepseek-ai/dsh-message-feedback/package.json +1 -1
  112. package/node_modules/@deepseek-ai/dsh-permission-presets/package.json +1 -1
  113. package/node_modules/@deepseek-ai/dsh-persona/package.json +1 -1
  114. package/node_modules/@deepseek-ai/dsh-plan-mode/package.json +1 -1
  115. package/node_modules/@deepseek-ai/dsh-pwsh-local/package.json +1 -1
  116. package/node_modules/@deepseek-ai/dsh-pwsh-sandbox/package.json +1 -1
  117. package/node_modules/@deepseek-ai/dsh-repeat-tool-reminder/package.json +1 -1
  118. package/node_modules/@deepseek-ai/dsh-sandbox/package.json +1 -1
  119. package/node_modules/@deepseek-ai/dsh-sandbox-local/package.json +1 -1
  120. package/node_modules/@deepseek-ai/dsh-sandbox-policy/package.json +1 -1
  121. package/node_modules/@deepseek-ai/dsh-sandbox-windows-acl/package.json +1 -1
  122. package/node_modules/@deepseek-ai/dsh-schedule/package.json +1 -1
  123. package/node_modules/@deepseek-ai/dsh-session/package.json +1 -1
  124. package/node_modules/@deepseek-ai/dsh-session-checkpoint-policy/package.json +1 -1
  125. package/node_modules/@deepseek-ai/dsh-session-log-export/package.json +1 -1
  126. package/node_modules/@deepseek-ai/dsh-session-persistence/package.json +1 -1
  127. package/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/package.json +1 -1
  128. package/node_modules/@deepseek-ai/dsh-session-projection/package.json +1 -1
  129. package/node_modules/@deepseek-ai/dsh-session-projection-cache/package.json +1 -1
  130. package/node_modules/@deepseek-ai/dsh-session-query/package.json +1 -1
  131. package/node_modules/@deepseek-ai/dsh-session-query-sqlite/package.json +1 -1
  132. package/node_modules/@deepseek-ai/dsh-session-reference/package.json +1 -1
  133. package/node_modules/@deepseek-ai/dsh-session-stats/package.json +1 -1
  134. package/node_modules/@deepseek-ai/dsh-session-telemetry/package.json +1 -1
  135. package/node_modules/@deepseek-ai/dsh-session-telemetry-otel/package.json +1 -1
  136. package/node_modules/@deepseek-ai/dsh-session-title/package.json +1 -1
  137. package/node_modules/@deepseek-ai/dsh-session-title-first-prompt-llm/package.json +1 -1
  138. package/node_modules/@deepseek-ai/dsh-session-title-llm/package.json +1 -1
  139. package/node_modules/@deepseek-ai/dsh-settings/package.json +1 -1
  140. package/node_modules/@deepseek-ai/dsh-settings-file/package.json +1 -1
  141. package/node_modules/@deepseek-ai/dsh-shell/package.json +1 -1
  142. package/node_modules/@deepseek-ai/dsh-shell-env/package.json +1 -1
  143. package/node_modules/@deepseek-ai/dsh-skill/package.json +1 -1
  144. package/node_modules/@deepseek-ai/dsh-skill-badge/package.json +1 -1
  145. package/node_modules/@deepseek-ai/dsh-skill-filesystem/package.json +1 -1
  146. package/node_modules/@deepseek-ai/dsh-spill/package.json +1 -1
  147. package/node_modules/@deepseek-ai/dsh-spill-local/package.json +1 -1
  148. package/node_modules/@deepseek-ai/dsh-spill-policy/package.json +1 -1
  149. package/node_modules/@deepseek-ai/dsh-storage-json/package.json +1 -1
  150. package/node_modules/@deepseek-ai/dsh-subagent/package.json +1 -1
  151. package/node_modules/@deepseek-ai/dsh-subagent-fork-in-process/package.json +1 -1
  152. package/node_modules/@deepseek-ai/dsh-subagent-in-process-driver/package.json +1 -1
  153. package/node_modules/@deepseek-ai/dsh-subprocess-local/package.json +1 -1
  154. package/node_modules/@deepseek-ai/dsh-system-prompt/package.json +1 -1
  155. package/node_modules/@deepseek-ai/dsh-terminal/package.json +1 -1
  156. package/node_modules/@deepseek-ai/dsh-terminal-bash/package.json +1 -1
  157. package/node_modules/@deepseek-ai/dsh-time-context/package.json +1 -1
  158. package/node_modules/@deepseek-ai/dsh-tmux-context/package.json +1 -1
  159. package/node_modules/@deepseek-ai/dsh-token-meter/package.json +1 -1
  160. package/node_modules/@deepseek-ai/dsh-tool-ask-user/package.json +1 -1
  161. package/node_modules/@deepseek-ai/dsh-tool-bash/package.json +1 -1
  162. package/node_modules/@deepseek-ai/dsh-tool-bash-persistent/package.json +1 -1
  163. package/node_modules/@deepseek-ai/dsh-tool-browser/package.json +1 -1
  164. package/node_modules/@deepseek-ai/dsh-tool-call-timeout-policy/package.json +1 -1
  165. package/node_modules/@deepseek-ai/dsh-tool-cordis/package.json +1 -1
  166. package/node_modules/@deepseek-ai/dsh-tool-fs/package.json +1 -1
  167. package/node_modules/@deepseek-ai/dsh-tool-fs-search/package.json +1 -1
  168. package/node_modules/@deepseek-ai/dsh-tool-goal/package.json +1 -1
  169. package/node_modules/@deepseek-ai/dsh-tool-jobs/package.json +1 -1
  170. package/node_modules/@deepseek-ai/dsh-tool-pwsh/package.json +1 -1
  171. package/node_modules/@deepseek-ai/dsh-tool-ralph/package.json +1 -1
  172. package/node_modules/@deepseek-ai/dsh-tool-skill/package.json +1 -1
  173. package/node_modules/@deepseek-ai/dsh-tool-str-replace-editor/package.json +1 -1
  174. package/node_modules/@deepseek-ai/dsh-tool-subagent/package.json +1 -1
  175. package/node_modules/@deepseek-ai/dsh-tool-subagent-control/package.json +1 -1
  176. package/node_modules/@deepseek-ai/dsh-tool-subagent-report/package.json +1 -1
  177. package/node_modules/@deepseek-ai/dsh-tool-todo/package.json +1 -1
  178. package/node_modules/@deepseek-ai/dsh-tool-web/package.json +1 -1
  179. package/node_modules/@deepseek-ai/dsh-tool-workflow/package.json +1 -1
  180. package/node_modules/@deepseek-ai/dsh-tools/package.json +1 -1
  181. package/node_modules/@deepseek-ai/dsh-user-approval/package.json +1 -1
  182. package/node_modules/@deepseek-ai/dsh-user-questions/package.json +1 -1
  183. package/node_modules/@deepseek-ai/dsh-web-app/package.json +1 -1
  184. package/node_modules/@deepseek-ai/dsh-web-search-deepseek/package.json +1 -1
  185. package/node_modules/@deepseek-ai/dsh-workflow/package.json +1 -1
  186. package/node_modules/@deepseek-ai/dsh-workflow-worker-thread/package.json +1 -1
  187. package/node_modules/@deepseek-ai/dsh-workspace/package.json +1 -1
  188. package/node_modules/@deepseek-ai/node-addon-landlock-run/package.json +1 -1
  189. package/package.json +1 -1
@@ -1 +1 @@
1
- var ce=Object.defineProperty;var s=(f,S)=>ce(f,"name",{value:S,configurable:!0});window.__ModuleLoader__.load({id:"@deepseek-ai/dsh-client-ui-settings-plugins",factory:s(f=>{var S={exports:{}},U=S.exports;Object.defineProperty(U,Symbol.toStringTag,{value:"Module"});let I=f("@deepseek-ai/dsh-client-ui-slots"),n=f("react/jsx-runtime"),m=f("react"),B=f("@deepseek-ai/dsh-client-ui-primitives"),N=f("@deepseek-ai/dsh-client-runtime/client");const R=".dKGkoa_field{flex-direction:column;gap:6px;padding:12px 0;display:flex}.dKGkoa_field+.dKGkoa_field{border-top:1px solid var(--dsw-alias-border-l2)}.dKGkoa_head{align-items:center;gap:8px;display:flex}.dKGkoa_label{min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:13px;font-weight:500;line-height:1.5}.dKGkoa_badges{align-items:center;gap:8px;display:inline-flex}.dKGkoa_badge{white-space:nowrap;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px}.dKGkoa_badgeMuted{white-space:nowrap;color:var(--dsw-alias-label-tertiary);border-radius:999px;padding:1px 8px;font-size:11px;line-height:17px}.dKGkoa_reset{font:inherit;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1.5}.dKGkoa_reset:hover:not(:disabled){color:var(--dsw-alias-label-primary)}.dKGkoa_reset:disabled{cursor:default}.dKGkoa_input{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);height:34px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:8px;padding:0 12px;font-size:13px;line-height:1.5}.dKGkoa_input:focus-visible{border-color:var(--dsw-alias-brand-primary);outline:none}.dKGkoa_input:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.dKGkoa_inputInvalid{border-color:var(--dsw-alias-label-error);}.dKGkoa_invalid{color:var(--dsw-alias-label-error);margin:0;font-size:12px;line-height:1.5}.dKGkoa_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}",O="@deepseek-ai/dsh-client-ui-settings-plugins/fields.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(O)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-settings-plugins",e.dataset.pluginCss=O,e.textContent=R,document.head.appendChild(e)}var d={badgeMuted:"dKGkoa_badgeMuted",label:"dKGkoa_label",input:"dKGkoa_input",badge:"dKGkoa_badge",field:"dKGkoa_field",reset:"dKGkoa_reset",hint:"dKGkoa_hint",badges:"dKGkoa_badges",inputInvalid:"dKGkoa_inputInvalid",invalid:"dKGkoa_invalid",head:"dKGkoa_head"};function _(e){return(0,n.jsxs)("div",{className:d.field,children:[(0,n.jsxs)("div",{className:d.head,children:[(0,n.jsx)("label",{className:d.label,htmlFor:e.id,children:e.label}),e.overridden?(0,n.jsxs)("span",{className:d.badges,children:[(0,n.jsx)("span",{className:d.badge,children:e.overriddenLabel}),(0,n.jsx)("button",{type:"button",className:d.reset,disabled:e.disabled,onClick:e.onReset,children:e.resetLabel})]}):null]}),(0,n.jsx)("input",{id:e.id,className:e.invalid?d.inputInvalid:d.input,type:"text",...e.numeric===!0?{inputMode:"numeric"}:{},...e.invalid?{"aria-invalid":!0}:{},value:e.text,placeholder:e.placeholder??"",disabled:e.disabled,onChange:s(t=>{e.onEdit(t.target.value)},"onChange")}),(0,n.jsx)("p",{className:e.invalid?d.invalid:d.hint,children:e.invalid?e.invalidLabel:e.hint})]})}s(_,"ValueField");function z(e){return(0,n.jsxs)("div",{className:d.field,children:[(0,n.jsxs)("div",{className:d.head,children:[(0,n.jsx)("label",{className:d.label,htmlFor:e.id,children:e.label}),(0,n.jsx)("span",{className:d.badges,children:(0,n.jsx)("span",{className:e.configured?d.badge:d.badgeMuted,children:e.stateLabel})})]}),(0,n.jsx)("input",{id:e.id,className:d.input,type:"password",autoComplete:"off",value:e.text,disabled:e.disabled,onChange:s(t=>{e.onEdit(t.target.value)},"onChange")}),(0,n.jsx)("p",{className:d.hint,children:e.hint})]})}s(z,"SecretField");function M(e){var t,i,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(i=M(e[t]))&&(a&&(a+=" "),a+=i)}else for(i in e)e[i]&&(a&&(a+=" "),a+=i);return a}s(M,"r");function P(){for(var e,t,i=0,a="",r=arguments.length;i<r;i++)(e=arguments[i])&&(t=M(e))&&(a&&(a+=" "),a+=t);return a}s(P,"clsx");const $=".nUS4La_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:12px;list-style:none;transition:border-color .16s,background .16s}.nUS4La_card:hover{border-color:var(--dsw-alias-label-dimmed)}.nUS4La_cardOpen{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-dimmed)}.nUS4La_header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.nUS4La_header:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.nUS4La_headText{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.nUS4La_name{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600;line-height:1.4}.nUS4La_description{color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:1.5}.nUS4La_chevron{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .16s}.nUS4La_chevronOpen{transform:rotate(180deg)}.nUS4La_body{border-top:1px solid var(--dsw-alias-border-l2);margin:0 16px;padding-bottom:8px}.nUS4La_readOnly{color:var(--dsw-alias-label-tertiary);margin:12px 0 0;font-size:12px;line-height:1.5}.nUS4La_pending{white-space:nowrap;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);border-radius:999px;flex:none;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px}.nUS4La_footer{border-top:1px solid var(--dsw-alias-border-l2);justify-content:flex-end;align-items:center;gap:8px;padding:12px 0 4px;display:flex}.nUS4La_failed{min-width:0;color:var(--dsw-alias-label-error);flex:1;margin:0;font-size:12px;line-height:1.5}.nUS4La_discard,.nUS4La_save{appearance:none;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:5px 14px;font-size:13px;line-height:1.5}.nUS4La_discard{border-color:var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);background:0 0}.nUS4La_discard:hover:not(:disabled){color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-dimmed)}.nUS4La_save{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3)}.nUS4La_discard:disabled,.nUS4La_save:disabled{opacity:.4;cursor:default}.nUS4La_discard:focus-visible,.nUS4La_save:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}",A="@deepseek-ai/dsh-client-ui-settings-plugins/PluginCard.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(A)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-settings-plugins",e.dataset.pluginCss=A,e.textContent=$,document.head.appendChild(e)}var c={discard:"nUS4La_discard",card:"nUS4La_card",body:"nUS4La_body",cardOpen:"nUS4La_cardOpen",readOnly:"nUS4La_readOnly",chevron:"nUS4La_chevron",name:"nUS4La_name",pending:"nUS4La_pending",headText:"nUS4La_headText",chevronOpen:"nUS4La_chevronOpen",footer:"nUS4La_footer",failed:"nUS4La_failed",save:"nUS4La_save",description:"nUS4La_description",header:"nUS4La_header"};function K(e){const[t,i]=(0,m.useState)(!1),{state:a}=e;if(!a.available)return null;const r=e.t(e.titleKey),o=!a.dirty||a.invalid||a.saving;return(0,n.jsxs)("li",{className:P(c.card,t&&c.cardOpen),children:[(0,n.jsxs)("button",{type:"button",className:c.header,"aria-expanded":t,"aria-label":`${e.t(t?"collapse":"expand")}: ${r}`,onClick:s(()=>{i(!t)},"onClick"),children:[(0,n.jsxs)("span",{className:c.headText,children:[(0,n.jsx)("span",{className:c.name,children:r}),(0,n.jsx)("span",{className:c.description,children:e.t(e.descriptionKey)})]}),a.dirty?(0,n.jsx)("span",{className:c.pending,children:e.t("unsaved")}):null,(0,n.jsx)(B.IconChevronDownOutline14,{className:P(c.chevron,t&&c.chevronOpen)})]}),t?(0,n.jsxs)("div",{className:c.body,children:[a.writable?null:(0,n.jsx)("p",{className:c.readOnly,role:"status",children:e.t("readOnly")}),e.children,(0,n.jsxs)("div",{className:c.footer,children:[a.failed?(0,n.jsx)("p",{className:c.failed,role:"status",children:e.t("saveFailed")}):null,(0,n.jsx)("button",{type:"button",className:c.discard,disabled:!a.dirty||a.saving,onClick:e.onDiscard,children:e.t("discard")}),(0,n.jsx)("button",{type:"button",className:c.save,disabled:o,onClick:e.onSave,children:e.t(a.saving?"saving":"save")})]})]}):null]})}s(K,"PluginCard");function V(e){const{t}=e,i=e.useAgentLoopCard(a=>a);return(0,n.jsx)(K,{t,titleKey:"agentLoopTitle",descriptionKey:"agentLoopDescription",state:i,onSave:e.save,onDiscard:e.discard,children:(0,n.jsx)(_,{id:"plugin-config-agent-loop-parallel",label:t("agentLoopMaxParallel"),hint:t("agentLoopMaxParallelHint"),overriddenLabel:t("overridden"),resetLabel:t("reset"),invalidLabel:t("invalidNumber"),numeric:!0,disabled:!i.writable,...i.maxParallelToolCalls,onEdit:s(a=>{e.edit("maxParallelToolCalls",a)},"onEdit"),onReset:s(()=>{e.resetField("maxParallelToolCalls")},"onReset")})})}s(V,"AgentLoopCard");function W(e){const{t}=e,i=e.useBashCard(r=>r),a=!i.writable;return(0,n.jsxs)(K,{t,titleKey:"bashTitle",descriptionKey:"bashDescription",state:i,onSave:e.save,onDiscard:e.discard,children:[(0,n.jsx)(_,{id:"plugin-config-bash-timeout",label:t("bashTimeoutMs"),hint:t("bashTimeoutMsHint"),overriddenLabel:t("overridden"),resetLabel:t("reset"),invalidLabel:t("invalidNumber"),numeric:!0,disabled:a,...i.timeoutMs,onEdit:s(r=>{e.edit("timeoutMs",r)},"onEdit"),onReset:s(()=>{e.resetField("timeoutMs")},"onReset")}),(0,n.jsx)(_,{id:"plugin-config-bash-output",label:t("bashMaxOutputBytes"),hint:t("bashMaxOutputBytesHint"),overriddenLabel:t("overridden"),resetLabel:t("reset"),invalidLabel:t("invalidNumber"),numeric:!0,disabled:a,...i.maxOutputBytes,onEdit:s(r=>{e.edit("maxOutputBytes",r)},"onEdit"),onReset:s(()=>{e.resetField("maxOutputBytes")},"onReset")})]})}s(W,"BashCard");const J='.T2y_ia_section{max-width:760px;color:var(--dsw-alias-label-primary);flex-direction:column;gap:12px;display:flex}.T2y_ia_heading{margin:0;font-size:18px;font-weight:600}.T2y_ia_intro{color:var(--dsw-alias-label-tertiary);margin:0;font-size:13px}.T2y_ia_tabs{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:flex-end;gap:22px;margin-top:2px;display:flex}.T2y_ia_tab{color:var(--dsw-alias-label-tertiary);font:inherit;cursor:pointer;background:0 0;border:0;padding:7px 1px 9px;font-size:13px;line-height:20px;position:relative}.T2y_ia_tab:hover,.T2y_ia_tab[data-active=true]{color:var(--dsw-alias-label-primary)}.T2y_ia_tab[data-active=true]:after,.T2y_ia_tab:focus-visible:after{background:var(--dsw-alias-label-primary);content:"";border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.T2y_ia_tab:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px;color:var(--dsw-alias-label-primary);border-radius:2px}.T2y_ia_panel{min-width:0;padding-top:2px}.T2y_ia_cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.T2y_ia_empty{color:var(--dsw-alias-label-tertiary);margin:0;font-size:13px}',E="@deepseek-ai/dsh-client-ui-settings-plugins/PluginsSettingsSection.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(E)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-settings-plugins",e.dataset.pluginCss=E,e.textContent=J,document.head.appendChild(e)}var b={intro:"T2y_ia_intro",tab:"T2y_ia_tab",tabs:"T2y_ia_tabs",panel:"T2y_ia_panel",section:"T2y_ia_section",cards:"T2y_ia_cards",empty:"T2y_ia_empty",heading:"T2y_ia_heading"};function Y(e){const{t,renderSlot:i}=e,{loaded:a,namespaces:r}=e.useConfigurablePlugins(o=>o);return r.length>0?(0,n.jsx)("ul",{className:b.cards,children:r.map(o=>(0,n.jsx)(m.Fragment,{children:i("settings.plugin.item",{},{entryKey:o})},o))}):a?(0,n.jsx)("p",{className:b.empty,children:t("empty")}):null}s(Y,"ConfigurablePluginsTab");function q({t:e,renderSlot:t,useTabs:i}){const a=(0,m.useId)(),r=(0,m.useRef)([]),o=i(l=>l),[u,w]=(0,m.useState)(),[L,j]=(0,m.useState)(()=>new Set),g=o.find(l=>l.id===u)?.id??o[0]?.id;return(0,m.useEffect)(()=>{g!==void 0&&j(l=>l.has(g)?l:new Set([...l,g]))},[g]),(0,n.jsxs)("div",{className:b.section,children:[(0,n.jsx)("h2",{className:b.heading,children:e("title")}),(0,n.jsx)("p",{className:b.intro,children:e("intro")}),o.length===0?(0,n.jsx)("p",{className:b.empty,children:e("empty")}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:b.tabs,role:"tablist","aria-label":e("tabs"),children:o.map((l,p)=>{const h=l.id===g;return(0,n.jsx)("button",{ref:s(y=>{r.current[p]=y},"ref"),id:`${a}-tab-${l.id}`,type:"button",role:"tab",className:b.tab,"aria-selected":h,"aria-controls":`${a}-panel-${l.id}`,"data-active":h?"true":void 0,tabIndex:h?0:-1,onClick:s(()=>{w(l.id)},"onClick"),onKeyDown:s(y=>{let x;switch(y.key){case"ArrowRight":x=(p+1)%o.length;break;case"ArrowLeft":x=(p-1+o.length)%o.length;break;case"Home":x=0;break;case"End":x=o.length-1;break;default:return}y.preventDefault();const oe=o[x],de=r.current[x];w(oe.id),de.focus()},"onKeyDown"),children:l.label},l.id)})}),o.filter(l=>l.id===g||L.has(l.id)).map(l=>{const p=l.id===g;return(0,n.jsx)("div",{id:`${a}-panel-${l.id}`,className:b.panel,role:"tabpanel","aria-labelledby":`${a}-tab-${l.id}`,hidden:!p,children:t("settings.plugins.tab",{},{only:l.id})},l.id)})]})]})}s(q,"PluginsSettingsSection");function Q(e){const{t}=e,i=e.useWebSearchCard(r=>r),a=!i.writable;return(0,n.jsxs)(K,{t,titleKey:"webSearchTitle",descriptionKey:"webSearchDescription",state:i,onSave:e.save,onDiscard:e.discard,children:[(0,n.jsx)(z,{id:"plugin-config-web-search-key",label:t("webSearchApiKey"),hint:t("webSearchApiKeyHint"),disabled:!i.apiKeyWritable,text:i.apiKey.text,configured:i.apiKeyConfigured,stateLabel:i.apiKeyConfigured?t("webSearchApiKeySet"):t("webSearchApiKeyUnset"),onEdit:s(r=>{e.edit("apiKey",r)},"onEdit")}),(0,n.jsx)(_,{id:"plugin-config-web-search-endpoint",label:t("webSearchBaseUrl"),hint:t("webSearchBaseUrlHint"),overriddenLabel:t("overridden"),resetLabel:t("reset"),invalidLabel:t("invalidNumber"),disabled:a,...i.baseURL,onEdit:s(r=>{e.edit("baseURL",r)},"onEdit"),onReset:s(()=>{e.resetField("baseURL")},"onReset")}),(0,n.jsx)(_,{id:"plugin-config-web-search-max-uses",label:t("webSearchMaxUses"),hint:t("webSearchMaxUsesHint"),overriddenLabel:t("overridden"),resetLabel:t("reset"),invalidLabel:t("invalidNumber"),numeric:!0,disabled:a,...i.maxUses,onEdit:s(r=>{e.edit("maxUses",r)},"onEdit"),onReset:s(()=>{e.resetField("maxUses")},"onReset")})]})}s(Q,"WebSearchCard");function k(e){return{field:e,format:s(t=>typeof t=="number"?String(t):"","format"),parse:s(t=>{const i=t.trim();if(i==="")return{kind:"clear"};const a=Number(i);return Number.isFinite(a)?{kind:"set",value:a}:void 0},"parse")}}s(k,"numberField");function X(e){return{field:e,format:s(t=>typeof t=="string"?t:"","format"),parse:s(t=>{const i=t.trim();return i===""?{kind:"clear"}:{kind:"set",value:i}},"parse")}}s(X,"textField");var C=class{static{s(this,"CardForm")}scope;specs;secretSpecs;staged=new Map;listeners=new Set;saving=!1;failed=!1;constructor(e,t,i=[]){this.scope=e,this.specs=new Map(t.map(a=>[a.field,a])),this.secretSpecs=new Map(i.map(a=>[a.field,a])),e.subscribe(()=>{this.publish()})}bind(e){const t=(0,N.createSnapshotStore)(e());return this.listeners.add(()=>{t.set(e())}),t}shell(){const e=this.scope.getSnapshot(),t=this.plan();return{available:e.status==="ready",writable:e.writable,dirty:t.length>0,invalid:t.some(i=>i.run===void 0),saving:this.saving,failed:this.failed}}field(e){const t=this.staged.get(e);if(this.secretSpecs.has(e))return{text:t?.text??"",overridden:!1,invalid:!1};const i=this.spec(e);if(t===void 0)return{text:i.format(this.sectionValue(e)),overridden:this.stored(e),invalid:!1};const a=t.clear?{kind:"clear"}:i.parse(t.text);return{text:t.text,overridden:a?.kind==="set",invalid:a===void 0}}actions(){return{edit:s((e,t)=>{this.stage(e,{text:t,clear:!1})},"edit"),resetField:s(e=>{this.stage(e,{text:this.spec(e).format(this.baseValue(e)),clear:!0})},"resetField"),save:s(()=>{this.save()},"save"),discard:s(()=>{this.staged.size===0&&!this.failed||(this.staged.clear(),this.failed=!1,this.publish())},"discard")}}async save(){const e=this.plan(),t=e.flatMap(a=>a.run===void 0?[]:[a.run]);if(e.length===0||this.saving||t.length!==e.length)return;this.saving=!0,this.failed=!1,this.publish();let i=!0;for(const a of t)i=await a()&&i;i&&this.staged.clear(),this.saving=!1,this.failed=!i,this.publish()}plan(){const e=[];for(const[t,i]of this.staged){const a=this.secretSpecs.get(t);if(a!==void 0){const u=i.text.trim();u!==""&&e.push({field:t,run:s(()=>a.write(u),"run")});continue}const r=this.spec(t);if(i.clear){this.stored(t)&&e.push({field:t,run:s(()=>this.clear(t),"run")});continue}if(i.text===r.format(this.sectionValue(t)))continue;const o=r.parse(i.text);o===void 0?e.push({field:t,run:void 0}):o.kind==="clear"?e.push({field:t,run:s(()=>this.clear(t),"run")}):e.push({field:t,run:s(()=>this.store(t,o.value),"run")})}return e}async clear(e){return await this.scope.unset(e),!this.stored(e)}async store(e,t){return await this.scope.set(e,t),this.userLayer()?.[e]===t}stage(e,t){this.staged.set(e,t),this.failed=!1,this.publish()}spec(e){const t=this.specs.get(e);if(t===void 0)throw new Error(`plugin card has no field ${e}`);return t}snapshotOf(){return this.scope.getSnapshot()}sectionValue(e){return this.snapshotOf().value?.[e]}baseValue(e){return this.snapshotOf().base?.[e]}userLayer(){return this.snapshotOf().user}stored(e){const t=this.userLayer();return t!==void 0&&Object.hasOwn(t,e)}publish(){for(const e of this.listeners)e()}};const G="agent-loop";var Z=class{static{s(this,"AgentLoopCardController")}form;store;constructor(e){this.form=new C(e,[k("maxParallelToolCalls")]),this.store=this.form.bind(()=>this.projection())}projection(){return{...this.form.shell(),maxParallelToolCalls:this.form.field("maxParallelToolCalls")}}inject(){return{hooks:{agentLoopCard:this.store},...this.form.actions()}}};const D="shell";var ee=class{static{s(this,"BashCardController")}form;store;constructor(e){this.form=new C(e,[k("timeoutMs"),k("maxOutputBytes")]),this.store=this.form.bind(()=>this.projection())}projection(){return{...this.form.shell(),timeoutMs:this.form.field("timeoutMs"),maxOutputBytes:this.form.field("maxOutputBytes")}}inject(){return{hooks:{bashCard:this.store},...this.form.actions()}}},te=class{static{s(this,"ConfigurablePluginsTabController")}api;entries;store=(0,N.createSnapshotStore)({loaded:!1,namespaces:[]});served=[];loaded=!1;generation=0;disposed=!1;constructor(e,t){this.api=e,this.entries=t}isDisposed(){return this.disposed}async load(){if(this.isDisposed())return;const e=++this.generation;let t;try{t=await this.api.settings.describe({})}catch{return}this.isDisposed()||e!==this.generation||!t.result.ok||(this.served=t.result.value.namespaces.map(i=>i.ns),this.loaded=!0,this.publish())}refresh(){this.disposed||this.publish()}dispose(){this.disposed=!0,this.generation+=1}inject(){return{hooks:{configurablePlugins:this.store}}}publish(){const e=new Set(this.served),t=this.entries().flatMap(a=>a.options.key!==void 0&&e.has(a.options.key)?[a.options.key]:[]),i=this.store.getSnapshot();i.loaded===this.loaded&&i.namespaces.length===t.length&&i.namespaces.every((a,r)=>a===t[r])||this.store.set({loaded:this.loaded,namespaces:t})}};const F="web-search-deepseek",ae="DEEPSEEK_API_KEY",H="apiKey";var ie=class{static{s(this,"WebSearchCardController")}scope;api;form;store;credential={ref:"",configured:!1,writable:!0};constructor(e,t){this.scope=e,this.api=t,this.form=new C(e,[X("baseURL"),k("maxUses")],[{field:H,write:s(i=>this.writeKey(i),"write")}]),this.store=this.form.bind(()=>this.projection()),e.subscribe(()=>{this.readCredential()}),this.readCredential()}projection(){return{...this.form.shell(),baseURL:this.form.field("baseURL"),maxUses:this.form.field("maxUses"),apiKey:this.form.field(H),apiKeyConfigured:this.credential.configured,apiKeyWritable:this.credential.writable}}async readCredential(){const e=T(this.scope.getSnapshot());e!==this.credential.ref&&(this.credential={ref:e,configured:!1,writable:!0},this.store.set(this.projection()));let t;try{t=await this.api.credentials.describe({refs:[e]})}catch{return}if(!t.result.ok||e!==T(this.scope.getSnapshot()))return;const i=t.result.value.credentials[e],a={ref:e,configured:i?.configured??!1,writable:i?.writable??!0};a.configured===this.credential.configured&&a.writable===this.credential.writable||(this.credential=a,this.store.set(this.projection()))}refreshCredential(e){e===this.credential.ref&&this.readCredential()}inject(){return{hooks:{webSearchCard:this.store},...this.form.actions()}}async writeKey(e){try{await this.api.credentials.set({ref:T(this.scope.getSnapshot()),value:e})}catch{}return await this.readCredential(),this.credential.configured}};function T(e){const t=e.value?.apiKeyEnv;return t!==void 0&&t.length>0?t:ae}s(T,"refOf");const se={nav:"Plugins",title:"Plugins",intro:"Configure and inspect the plugins installed in this deployment.",tabs:"Plugin views",configurableTab:"Plugin configuration",empty:"This deployment exposes no plugin settings.",overridden:"Overridden",reset:"Reset to default",readOnly:"This deployment stores settings read-only.",expand:"Show settings",collapse:"Hide settings",save:"Save",saving:"Saving…",discard:"Discard",unsaved:"Unsaved",saveFailed:"The deployment did not accept these values; they were left for you to correct.",invalidNumber:"Enter a number, or leave blank to use the default.",bashTitle:"Shell",bashDescription:"Limits every command the agent runs.",bashTimeoutMs:"Command timeout (ms)",bashTimeoutMsHint:"How long one command may run before it is terminated.",bashMaxOutputBytes:"Output cap per stream (bytes)",bashMaxOutputBytesHint:"Output beyond this spills to a temporary file rather than being lost.",agentLoopTitle:"Agent loop",agentLoopDescription:"How the agent dispatches tool calls.",agentLoopMaxParallel:"Parallel tool calls",agentLoopMaxParallelHint:"Upper bound on parallel-safe calls running at once within one step.",webSearchTitle:"Web search",webSearchDescription:"The DeepSeek search provider.",webSearchApiKey:"API key",webSearchApiKeyHint:"Stored outside the settings file. Leave blank to keep the current key.",webSearchApiKeySet:"A key is configured.",webSearchApiKeyUnset:"No key is configured; search is unavailable until one is.",webSearchBaseUrl:"Endpoint",webSearchBaseUrlHint:"Leave blank to use the provider default.",webSearchMaxUses:"Max searches per request",webSearchMaxUsesHint:"How many times one request may search before it must answer."},ne={nav:"插件",title:"插件",intro:"配置和查看本部署已安装的插件。",tabs:"插件视图",configurableTab:"插件配置",empty:"本部署没有开放任何插件设置。",overridden:"已覆盖",reset:"恢复默认",readOnly:"本部署的设置为只读。",expand:"展开设置",collapse:"收起设置",save:"保存",saving:"保存中…",discard:"放弃修改",unsaved:"未保存",saveFailed:"本部署没有接受这些值,已保留供你修改。",invalidNumber:"请填数字;留空表示使用默认值。",bashTitle:"终端",bashDescription:"限制 agent 运行的每一条命令。",bashTimeoutMs:"命令超时(毫秒)",bashTimeoutMsHint:"单条命令允许运行多久,超时即终止。",bashMaxOutputBytes:"单流输出上限(字节)",bashMaxOutputBytesHint:"超出部分会转存到临时文件,而不是被丢弃。",agentLoopTitle:"Agent 循环",agentLoopDescription:"Agent 如何派发工具调用。",agentLoopMaxParallel:"并行工具调用数",agentLoopMaxParallelHint:"同一步内最多同时运行多少个可并行的调用。",webSearchTitle:"网页搜索",webSearchDescription:"DeepSeek 搜索提供方。",webSearchApiKey:"API Key",webSearchApiKeyHint:"不写入设置文件。留空表示保持当前密钥。",webSearchApiKeySet:"已配置密钥。",webSearchApiKeyUnset:"未配置密钥;配置之前搜索不可用。",webSearchBaseUrl:"接口地址",webSearchBaseUrlHint:"留空则使用提供方默认地址。",webSearchMaxUses:"单次请求最多搜索次数",webSearchMaxUsesHint:"一次请求在必须作答前最多可以搜索多少次。"},v="settings.plugins",re=["slots","locale","connection","remote","settingsScope"];function le(e){const{api:t}=e.get("connection"),i=e.locale.bind(v);e.effect(()=>e.locale.register(v,{zh:ne,en:se}),"ui-settings-plugins: section dictionaries");const a=new ee(e.settingsScope.bind({namespace:D})),r=new Z(e.settingsScope.bind({namespace:G})),o=new ie(e.settingsScope.bind({namespace:F}),t);e.effect(()=>e.remote.$on("credentials/updated",l=>{o.refreshCredential(l)}),"ui-settings-plugins: credential invalidations");const u=new te(t,()=>e.slots.entries("settings.plugin.item"));e.effect(()=>()=>{u.dispose()},"ui-settings-plugins: tab directory"),e.effect(()=>e.remote.$on("settings/document-updated",()=>{u.load()}),"ui-settings-plugins: served-namespace invalidations"),e.effect(()=>e.on("connection/reset",()=>{u.load()}),"ui-settings-plugins: served-namespace reconnect"),e.effect(()=>e.slots.subscribe("settings.plugin.item",()=>{u.refresh()}),"ui-settings-plugins: card ledger"),u.load();let w=-1,L=-1,j=[];const g=s(()=>({hooks:{tabs:{getSnapshot:s(()=>{const l=e.slots.getVersion("settings.plugins.tab"),p=e.locale.getSnapshot().revision;return(l!==w||p!==L)&&(w=l,L=p,j=e.slots.entries("settings.plugins.tab").map(h=>({id:h.options.id??"",order:h.options.order??0,label:(0,I.resolveSlotLabel)(h.options.label)??""})).sort((h,y)=>h.order-y.order)),j},"getSnapshot"),subscribe:s(l=>{const p=e.slots.subscribe("settings.plugins.tab",l),h=e.locale.subscribe(l);return()=>{p(),h()}},"subscribe")}}}),"sectionInjected");e.slots.inject("settings.section",()=>e.slots.register({name:"settings.section",id:"plugins",order:15,label:s(()=>i("nav"),"label"),locale:v,inject:g,children:{"settings.plugins.tab":{kind:"list",scope:"root"}}},q)),e.slots.inject("settings.plugins.tab",()=>e.slots.register({name:"settings.plugins.tab",id:"configurable",order:0,label:s(()=>i("configurableTab"),"label"),locale:v,inject:s(()=>u.inject(),"inject"),children:{"settings.plugin.item":{kind:"keyed",scope:"root"}}},Y)),e.slots.inject("settings.plugin.item",function*(){yield e.slots.register({name:"settings.plugin.item",key:D,locale:v,inject:s(()=>a.inject(),"inject")},W),yield e.slots.register({name:"settings.plugin.item",key:G,locale:v,inject:s(()=>r.inject(),"inject")},V),yield e.slots.register({name:"settings.plugin.item",key:F,locale:v,inject:s(()=>o.inject(),"inject")},Q)})}return s(le,"apply"),U.apply=le,U.inject=re,S.exports},"factory")});
1
+ var ce=Object.defineProperty;var s=(f,S)=>ce(f,"name",{value:S,configurable:!0});window.__ModuleLoader__.load({id:"@deepseek-ai/dsh-client-ui-settings-plugins",factory:s(f=>{var S={exports:{}},U=S.exports;Object.defineProperty(U,Symbol.toStringTag,{value:"Module"});let I=f("@deepseek-ai/dsh-client-ui-slots"),n=f("react/jsx-runtime"),m=f("react"),B=f("@deepseek-ai/dsh-client-ui-primitives"),N=f("@deepseek-ai/dsh-client-runtime/client");const R=".dKGkoa_field{flex-direction:column;gap:6px;padding:12px 0;display:flex}.dKGkoa_field+.dKGkoa_field{border-top:1px solid var(--dsw-alias-border-l2)}.dKGkoa_head{align-items:center;gap:8px;display:flex}.dKGkoa_label{min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:13px;font-weight:500;line-height:1.5}.dKGkoa_badges{align-items:center;gap:8px;display:inline-flex}.dKGkoa_badge{white-space:nowrap;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px}.dKGkoa_badgeMuted{white-space:nowrap;color:var(--dsw-alias-label-tertiary);border-radius:999px;padding:1px 8px;font-size:11px;line-height:17px}.dKGkoa_reset{font:inherit;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1.5}.dKGkoa_reset:hover:not(:disabled){color:var(--dsw-alias-label-primary)}.dKGkoa_reset:disabled{cursor:default}.dKGkoa_input{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);height:34px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:8px;padding:0 12px;font-size:13px;line-height:1.5}.dKGkoa_input:focus-visible{border-color:var(--dsw-alias-brand-primary);outline:none}.dKGkoa_input:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.dKGkoa_inputInvalid{border-color:var(--dsw-alias-label-error);}.dKGkoa_invalid{color:var(--dsw-alias-label-error);margin:0;font-size:12px;line-height:1.5}.dKGkoa_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}",O="@deepseek-ai/dsh-client-ui-settings-plugins/fields.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(O)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-settings-plugins",e.dataset.pluginCss=O,e.textContent=R,document.head.appendChild(e)}var d={reset:"dKGkoa_reset",inputInvalid:"dKGkoa_inputInvalid",badgeMuted:"dKGkoa_badgeMuted",label:"dKGkoa_label",field:"dKGkoa_field",invalid:"dKGkoa_invalid",hint:"dKGkoa_hint",head:"dKGkoa_head",badge:"dKGkoa_badge",badges:"dKGkoa_badges",input:"dKGkoa_input"};function _(e){return(0,n.jsxs)("div",{className:d.field,children:[(0,n.jsxs)("div",{className:d.head,children:[(0,n.jsx)("label",{className:d.label,htmlFor:e.id,children:e.label}),e.overridden?(0,n.jsxs)("span",{className:d.badges,children:[(0,n.jsx)("span",{className:d.badge,children:e.overriddenLabel}),(0,n.jsx)("button",{type:"button",className:d.reset,disabled:e.disabled,onClick:e.onReset,children:e.resetLabel})]}):null]}),(0,n.jsx)("input",{id:e.id,className:e.invalid?d.inputInvalid:d.input,type:"text",...e.numeric===!0?{inputMode:"numeric"}:{},...e.invalid?{"aria-invalid":!0}:{},value:e.text,placeholder:e.placeholder??"",disabled:e.disabled,onChange:s(t=>{e.onEdit(t.target.value)},"onChange")}),(0,n.jsx)("p",{className:e.invalid?d.invalid:d.hint,children:e.invalid?e.invalidLabel:e.hint})]})}s(_,"ValueField");function z(e){return(0,n.jsxs)("div",{className:d.field,children:[(0,n.jsxs)("div",{className:d.head,children:[(0,n.jsx)("label",{className:d.label,htmlFor:e.id,children:e.label}),(0,n.jsx)("span",{className:d.badges,children:(0,n.jsx)("span",{className:e.configured?d.badge:d.badgeMuted,children:e.stateLabel})})]}),(0,n.jsx)("input",{id:e.id,className:d.input,type:"password",autoComplete:"off",value:e.text,disabled:e.disabled,onChange:s(t=>{e.onEdit(t.target.value)},"onChange")}),(0,n.jsx)("p",{className:d.hint,children:e.hint})]})}s(z,"SecretField");function M(e){var t,i,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(i=M(e[t]))&&(a&&(a+=" "),a+=i)}else for(i in e)e[i]&&(a&&(a+=" "),a+=i);return a}s(M,"r");function P(){for(var e,t,i=0,a="",r=arguments.length;i<r;i++)(e=arguments[i])&&(t=M(e))&&(a&&(a+=" "),a+=t);return a}s(P,"clsx");const $=".nUS4La_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:12px;list-style:none;transition:border-color .16s,background .16s}.nUS4La_card:hover{border-color:var(--dsw-alias-label-dimmed)}.nUS4La_cardOpen{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-dimmed)}.nUS4La_header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.nUS4La_header:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.nUS4La_headText{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.nUS4La_name{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600;line-height:1.4}.nUS4La_description{color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:1.5}.nUS4La_chevron{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .16s}.nUS4La_chevronOpen{transform:rotate(180deg)}.nUS4La_body{border-top:1px solid var(--dsw-alias-border-l2);margin:0 16px;padding-bottom:8px}.nUS4La_readOnly{color:var(--dsw-alias-label-tertiary);margin:12px 0 0;font-size:12px;line-height:1.5}.nUS4La_pending{white-space:nowrap;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);border-radius:999px;flex:none;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px}.nUS4La_footer{border-top:1px solid var(--dsw-alias-border-l2);justify-content:flex-end;align-items:center;gap:8px;padding:12px 0 4px;display:flex}.nUS4La_failed{min-width:0;color:var(--dsw-alias-label-error);flex:1;margin:0;font-size:12px;line-height:1.5}.nUS4La_discard,.nUS4La_save{appearance:none;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:5px 14px;font-size:13px;line-height:1.5}.nUS4La_discard{border-color:var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);background:0 0}.nUS4La_discard:hover:not(:disabled){color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-dimmed)}.nUS4La_save{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3)}.nUS4La_discard:disabled,.nUS4La_save:disabled{opacity:.4;cursor:default}.nUS4La_discard:focus-visible,.nUS4La_save:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}",A="@deepseek-ai/dsh-client-ui-settings-plugins/PluginCard.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(A)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-settings-plugins",e.dataset.pluginCss=A,e.textContent=$,document.head.appendChild(e)}var c={cardOpen:"nUS4La_cardOpen",description:"nUS4La_description",headText:"nUS4La_headText",footer:"nUS4La_footer",pending:"nUS4La_pending",readOnly:"nUS4La_readOnly",save:"nUS4La_save",name:"nUS4La_name",card:"nUS4La_card",header:"nUS4La_header",chevron:"nUS4La_chevron",chevronOpen:"nUS4La_chevronOpen",failed:"nUS4La_failed",discard:"nUS4La_discard",body:"nUS4La_body"};function K(e){const[t,i]=(0,m.useState)(!1),{state:a}=e;if(!a.available)return null;const r=e.t(e.titleKey),o=!a.dirty||a.invalid||a.saving;return(0,n.jsxs)("li",{className:P(c.card,t&&c.cardOpen),children:[(0,n.jsxs)("button",{type:"button",className:c.header,"aria-expanded":t,"aria-label":`${e.t(t?"collapse":"expand")}: ${r}`,onClick:s(()=>{i(!t)},"onClick"),children:[(0,n.jsxs)("span",{className:c.headText,children:[(0,n.jsx)("span",{className:c.name,children:r}),(0,n.jsx)("span",{className:c.description,children:e.t(e.descriptionKey)})]}),a.dirty?(0,n.jsx)("span",{className:c.pending,children:e.t("unsaved")}):null,(0,n.jsx)(B.IconChevronDownOutline14,{className:P(c.chevron,t&&c.chevronOpen)})]}),t?(0,n.jsxs)("div",{className:c.body,children:[a.writable?null:(0,n.jsx)("p",{className:c.readOnly,role:"status",children:e.t("readOnly")}),e.children,(0,n.jsxs)("div",{className:c.footer,children:[a.failed?(0,n.jsx)("p",{className:c.failed,role:"status",children:e.t("saveFailed")}):null,(0,n.jsx)("button",{type:"button",className:c.discard,disabled:!a.dirty||a.saving,onClick:e.onDiscard,children:e.t("discard")}),(0,n.jsx)("button",{type:"button",className:c.save,disabled:o,onClick:e.onSave,children:e.t(a.saving?"saving":"save")})]})]}):null]})}s(K,"PluginCard");function V(e){const{t}=e,i=e.useAgentLoopCard(a=>a);return(0,n.jsx)(K,{t,titleKey:"agentLoopTitle",descriptionKey:"agentLoopDescription",state:i,onSave:e.save,onDiscard:e.discard,children:(0,n.jsx)(_,{id:"plugin-config-agent-loop-parallel",label:t("agentLoopMaxParallel"),hint:t("agentLoopMaxParallelHint"),overriddenLabel:t("overridden"),resetLabel:t("reset"),invalidLabel:t("invalidNumber"),numeric:!0,disabled:!i.writable,...i.maxParallelToolCalls,onEdit:s(a=>{e.edit("maxParallelToolCalls",a)},"onEdit"),onReset:s(()=>{e.resetField("maxParallelToolCalls")},"onReset")})})}s(V,"AgentLoopCard");function W(e){const{t}=e,i=e.useBashCard(r=>r),a=!i.writable;return(0,n.jsxs)(K,{t,titleKey:"bashTitle",descriptionKey:"bashDescription",state:i,onSave:e.save,onDiscard:e.discard,children:[(0,n.jsx)(_,{id:"plugin-config-bash-timeout",label:t("bashTimeoutMs"),hint:t("bashTimeoutMsHint"),overriddenLabel:t("overridden"),resetLabel:t("reset"),invalidLabel:t("invalidNumber"),numeric:!0,disabled:a,...i.timeoutMs,onEdit:s(r=>{e.edit("timeoutMs",r)},"onEdit"),onReset:s(()=>{e.resetField("timeoutMs")},"onReset")}),(0,n.jsx)(_,{id:"plugin-config-bash-output",label:t("bashMaxOutputBytes"),hint:t("bashMaxOutputBytesHint"),overriddenLabel:t("overridden"),resetLabel:t("reset"),invalidLabel:t("invalidNumber"),numeric:!0,disabled:a,...i.maxOutputBytes,onEdit:s(r=>{e.edit("maxOutputBytes",r)},"onEdit"),onReset:s(()=>{e.resetField("maxOutputBytes")},"onReset")})]})}s(W,"BashCard");const J='.T2y_ia_section{max-width:760px;color:var(--dsw-alias-label-primary);flex-direction:column;gap:12px;display:flex}.T2y_ia_heading{margin:0;font-size:18px;font-weight:600}.T2y_ia_intro{color:var(--dsw-alias-label-tertiary);margin:0;font-size:13px}.T2y_ia_tabs{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:flex-end;gap:22px;margin-top:2px;display:flex}.T2y_ia_tab{color:var(--dsw-alias-label-tertiary);font:inherit;cursor:pointer;background:0 0;border:0;padding:7px 1px 9px;font-size:13px;line-height:20px;position:relative}.T2y_ia_tab:hover,.T2y_ia_tab[data-active=true]{color:var(--dsw-alias-label-primary)}.T2y_ia_tab[data-active=true]:after,.T2y_ia_tab:focus-visible:after{background:var(--dsw-alias-label-primary);content:"";border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.T2y_ia_tab:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px;color:var(--dsw-alias-label-primary);border-radius:2px}.T2y_ia_panel{min-width:0;padding-top:2px}.T2y_ia_cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.T2y_ia_empty{color:var(--dsw-alias-label-tertiary);margin:0;font-size:13px}',E="@deepseek-ai/dsh-client-ui-settings-plugins/PluginsSettingsSection.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(E)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-settings-plugins",e.dataset.pluginCss=E,e.textContent=J,document.head.appendChild(e)}var b={cards:"T2y_ia_cards",section:"T2y_ia_section",empty:"T2y_ia_empty",panel:"T2y_ia_panel",intro:"T2y_ia_intro",tabs:"T2y_ia_tabs",tab:"T2y_ia_tab",heading:"T2y_ia_heading"};function Y(e){const{t,renderSlot:i}=e,{loaded:a,namespaces:r}=e.useConfigurablePlugins(o=>o);return r.length>0?(0,n.jsx)("ul",{className:b.cards,children:r.map(o=>(0,n.jsx)(m.Fragment,{children:i("settings.plugin.item",{},{entryKey:o})},o))}):a?(0,n.jsx)("p",{className:b.empty,children:t("empty")}):null}s(Y,"ConfigurablePluginsTab");function q({t:e,renderSlot:t,useTabs:i}){const a=(0,m.useId)(),r=(0,m.useRef)([]),o=i(l=>l),[u,w]=(0,m.useState)(),[L,j]=(0,m.useState)(()=>new Set),g=o.find(l=>l.id===u)?.id??o[0]?.id;return(0,m.useEffect)(()=>{g!==void 0&&j(l=>l.has(g)?l:new Set([...l,g]))},[g]),(0,n.jsxs)("div",{className:b.section,children:[(0,n.jsx)("h2",{className:b.heading,children:e("title")}),(0,n.jsx)("p",{className:b.intro,children:e("intro")}),o.length===0?(0,n.jsx)("p",{className:b.empty,children:e("empty")}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:b.tabs,role:"tablist","aria-label":e("tabs"),children:o.map((l,p)=>{const h=l.id===g;return(0,n.jsx)("button",{ref:s(y=>{r.current[p]=y},"ref"),id:`${a}-tab-${l.id}`,type:"button",role:"tab",className:b.tab,"aria-selected":h,"aria-controls":`${a}-panel-${l.id}`,"data-active":h?"true":void 0,tabIndex:h?0:-1,onClick:s(()=>{w(l.id)},"onClick"),onKeyDown:s(y=>{let x;switch(y.key){case"ArrowRight":x=(p+1)%o.length;break;case"ArrowLeft":x=(p-1+o.length)%o.length;break;case"Home":x=0;break;case"End":x=o.length-1;break;default:return}y.preventDefault();const oe=o[x],de=r.current[x];w(oe.id),de.focus()},"onKeyDown"),children:l.label},l.id)})}),o.filter(l=>l.id===g||L.has(l.id)).map(l=>{const p=l.id===g;return(0,n.jsx)("div",{id:`${a}-panel-${l.id}`,className:b.panel,role:"tabpanel","aria-labelledby":`${a}-tab-${l.id}`,hidden:!p,children:t("settings.plugins.tab",{},{only:l.id})},l.id)})]})]})}s(q,"PluginsSettingsSection");function Q(e){const{t}=e,i=e.useWebSearchCard(r=>r),a=!i.writable;return(0,n.jsxs)(K,{t,titleKey:"webSearchTitle",descriptionKey:"webSearchDescription",state:i,onSave:e.save,onDiscard:e.discard,children:[(0,n.jsx)(z,{id:"plugin-config-web-search-key",label:t("webSearchApiKey"),hint:t("webSearchApiKeyHint"),disabled:!i.apiKeyWritable,text:i.apiKey.text,configured:i.apiKeyConfigured,stateLabel:i.apiKeyConfigured?t("webSearchApiKeySet"):t("webSearchApiKeyUnset"),onEdit:s(r=>{e.edit("apiKey",r)},"onEdit")}),(0,n.jsx)(_,{id:"plugin-config-web-search-endpoint",label:t("webSearchBaseUrl"),hint:t("webSearchBaseUrlHint"),overriddenLabel:t("overridden"),resetLabel:t("reset"),invalidLabel:t("invalidNumber"),disabled:a,...i.baseURL,onEdit:s(r=>{e.edit("baseURL",r)},"onEdit"),onReset:s(()=>{e.resetField("baseURL")},"onReset")}),(0,n.jsx)(_,{id:"plugin-config-web-search-max-uses",label:t("webSearchMaxUses"),hint:t("webSearchMaxUsesHint"),overriddenLabel:t("overridden"),resetLabel:t("reset"),invalidLabel:t("invalidNumber"),numeric:!0,disabled:a,...i.maxUses,onEdit:s(r=>{e.edit("maxUses",r)},"onEdit"),onReset:s(()=>{e.resetField("maxUses")},"onReset")})]})}s(Q,"WebSearchCard");function k(e){return{field:e,format:s(t=>typeof t=="number"?String(t):"","format"),parse:s(t=>{const i=t.trim();if(i==="")return{kind:"clear"};const a=Number(i);return Number.isFinite(a)?{kind:"set",value:a}:void 0},"parse")}}s(k,"numberField");function X(e){return{field:e,format:s(t=>typeof t=="string"?t:"","format"),parse:s(t=>{const i=t.trim();return i===""?{kind:"clear"}:{kind:"set",value:i}},"parse")}}s(X,"textField");var C=class{static{s(this,"CardForm")}scope;specs;secretSpecs;staged=new Map;listeners=new Set;saving=!1;failed=!1;constructor(e,t,i=[]){this.scope=e,this.specs=new Map(t.map(a=>[a.field,a])),this.secretSpecs=new Map(i.map(a=>[a.field,a])),e.subscribe(()=>{this.publish()})}bind(e){const t=(0,N.createSnapshotStore)(e());return this.listeners.add(()=>{t.set(e())}),t}shell(){const e=this.scope.getSnapshot(),t=this.plan();return{available:e.status==="ready",writable:e.writable,dirty:t.length>0,invalid:t.some(i=>i.run===void 0),saving:this.saving,failed:this.failed}}field(e){const t=this.staged.get(e);if(this.secretSpecs.has(e))return{text:t?.text??"",overridden:!1,invalid:!1};const i=this.spec(e);if(t===void 0)return{text:i.format(this.sectionValue(e)),overridden:this.stored(e),invalid:!1};const a=t.clear?{kind:"clear"}:i.parse(t.text);return{text:t.text,overridden:a?.kind==="set",invalid:a===void 0}}actions(){return{edit:s((e,t)=>{this.stage(e,{text:t,clear:!1})},"edit"),resetField:s(e=>{this.stage(e,{text:this.spec(e).format(this.baseValue(e)),clear:!0})},"resetField"),save:s(()=>{this.save()},"save"),discard:s(()=>{this.staged.size===0&&!this.failed||(this.staged.clear(),this.failed=!1,this.publish())},"discard")}}async save(){const e=this.plan(),t=e.flatMap(a=>a.run===void 0?[]:[a.run]);if(e.length===0||this.saving||t.length!==e.length)return;this.saving=!0,this.failed=!1,this.publish();let i=!0;for(const a of t)i=await a()&&i;i&&this.staged.clear(),this.saving=!1,this.failed=!i,this.publish()}plan(){const e=[];for(const[t,i]of this.staged){const a=this.secretSpecs.get(t);if(a!==void 0){const u=i.text.trim();u!==""&&e.push({field:t,run:s(()=>a.write(u),"run")});continue}const r=this.spec(t);if(i.clear){this.stored(t)&&e.push({field:t,run:s(()=>this.clear(t),"run")});continue}if(i.text===r.format(this.sectionValue(t)))continue;const o=r.parse(i.text);o===void 0?e.push({field:t,run:void 0}):o.kind==="clear"?e.push({field:t,run:s(()=>this.clear(t),"run")}):e.push({field:t,run:s(()=>this.store(t,o.value),"run")})}return e}async clear(e){return await this.scope.unset(e),!this.stored(e)}async store(e,t){return await this.scope.set(e,t),this.userLayer()?.[e]===t}stage(e,t){this.staged.set(e,t),this.failed=!1,this.publish()}spec(e){const t=this.specs.get(e);if(t===void 0)throw new Error(`plugin card has no field ${e}`);return t}snapshotOf(){return this.scope.getSnapshot()}sectionValue(e){return this.snapshotOf().value?.[e]}baseValue(e){return this.snapshotOf().base?.[e]}userLayer(){return this.snapshotOf().user}stored(e){const t=this.userLayer();return t!==void 0&&Object.hasOwn(t,e)}publish(){for(const e of this.listeners)e()}};const G="agent-loop";var Z=class{static{s(this,"AgentLoopCardController")}form;store;constructor(e){this.form=new C(e,[k("maxParallelToolCalls")]),this.store=this.form.bind(()=>this.projection())}projection(){return{...this.form.shell(),maxParallelToolCalls:this.form.field("maxParallelToolCalls")}}inject(){return{hooks:{agentLoopCard:this.store},...this.form.actions()}}};const D="shell";var ee=class{static{s(this,"BashCardController")}form;store;constructor(e){this.form=new C(e,[k("timeoutMs"),k("maxOutputBytes")]),this.store=this.form.bind(()=>this.projection())}projection(){return{...this.form.shell(),timeoutMs:this.form.field("timeoutMs"),maxOutputBytes:this.form.field("maxOutputBytes")}}inject(){return{hooks:{bashCard:this.store},...this.form.actions()}}},te=class{static{s(this,"ConfigurablePluginsTabController")}api;entries;store=(0,N.createSnapshotStore)({loaded:!1,namespaces:[]});served=[];loaded=!1;generation=0;disposed=!1;constructor(e,t){this.api=e,this.entries=t}isDisposed(){return this.disposed}async load(){if(this.isDisposed())return;const e=++this.generation;let t;try{t=await this.api.settings.describe({})}catch{return}this.isDisposed()||e!==this.generation||!t.result.ok||(this.served=t.result.value.namespaces.map(i=>i.ns),this.loaded=!0,this.publish())}refresh(){this.disposed||this.publish()}dispose(){this.disposed=!0,this.generation+=1}inject(){return{hooks:{configurablePlugins:this.store}}}publish(){const e=new Set(this.served),t=this.entries().flatMap(a=>a.options.key!==void 0&&e.has(a.options.key)?[a.options.key]:[]),i=this.store.getSnapshot();i.loaded===this.loaded&&i.namespaces.length===t.length&&i.namespaces.every((a,r)=>a===t[r])||this.store.set({loaded:this.loaded,namespaces:t})}};const F="web-search-deepseek",ae="DEEPSEEK_API_KEY",H="apiKey";var ie=class{static{s(this,"WebSearchCardController")}scope;api;form;store;credential={ref:"",configured:!1,writable:!0};constructor(e,t){this.scope=e,this.api=t,this.form=new C(e,[X("baseURL"),k("maxUses")],[{field:H,write:s(i=>this.writeKey(i),"write")}]),this.store=this.form.bind(()=>this.projection()),e.subscribe(()=>{this.readCredential()}),this.readCredential()}projection(){return{...this.form.shell(),baseURL:this.form.field("baseURL"),maxUses:this.form.field("maxUses"),apiKey:this.form.field(H),apiKeyConfigured:this.credential.configured,apiKeyWritable:this.credential.writable}}async readCredential(){const e=T(this.scope.getSnapshot());e!==this.credential.ref&&(this.credential={ref:e,configured:!1,writable:!0},this.store.set(this.projection()));let t;try{t=await this.api.credentials.describe({refs:[e]})}catch{return}if(!t.result.ok||e!==T(this.scope.getSnapshot()))return;const i=t.result.value.credentials[e],a={ref:e,configured:i?.configured??!1,writable:i?.writable??!0};a.configured===this.credential.configured&&a.writable===this.credential.writable||(this.credential=a,this.store.set(this.projection()))}refreshCredential(e){e===this.credential.ref&&this.readCredential()}inject(){return{hooks:{webSearchCard:this.store},...this.form.actions()}}async writeKey(e){try{await this.api.credentials.set({ref:T(this.scope.getSnapshot()),value:e})}catch{}return await this.readCredential(),this.credential.configured}};function T(e){const t=e.value?.apiKeyEnv;return t!==void 0&&t.length>0?t:ae}s(T,"refOf");const se={nav:"Plugins",title:"Plugins",intro:"Configure and inspect the plugins installed in this deployment.",tabs:"Plugin views",configurableTab:"Plugin configuration",empty:"This deployment exposes no plugin settings.",overridden:"Overridden",reset:"Reset to default",readOnly:"This deployment stores settings read-only.",expand:"Show settings",collapse:"Hide settings",save:"Save",saving:"Saving…",discard:"Discard",unsaved:"Unsaved",saveFailed:"The deployment did not accept these values; they were left for you to correct.",invalidNumber:"Enter a number, or leave blank to use the default.",bashTitle:"Shell",bashDescription:"Limits every command the agent runs.",bashTimeoutMs:"Command timeout (ms)",bashTimeoutMsHint:"How long one command may run before it is terminated.",bashMaxOutputBytes:"Output cap per stream (bytes)",bashMaxOutputBytesHint:"Output beyond this spills to a temporary file rather than being lost.",agentLoopTitle:"Agent loop",agentLoopDescription:"How the agent dispatches tool calls.",agentLoopMaxParallel:"Parallel tool calls",agentLoopMaxParallelHint:"Upper bound on parallel-safe calls running at once within one step.",webSearchTitle:"Web search",webSearchDescription:"The DeepSeek search provider.",webSearchApiKey:"API key",webSearchApiKeyHint:"Stored outside the settings file. Leave blank to keep the current key.",webSearchApiKeySet:"A key is configured.",webSearchApiKeyUnset:"No key is configured; search is unavailable until one is.",webSearchBaseUrl:"Endpoint",webSearchBaseUrlHint:"Leave blank to use the provider default.",webSearchMaxUses:"Max searches per request",webSearchMaxUsesHint:"How many times one request may search before it must answer."},ne={nav:"插件",title:"插件",intro:"配置和查看本部署已安装的插件。",tabs:"插件视图",configurableTab:"插件配置",empty:"本部署没有开放任何插件设置。",overridden:"已覆盖",reset:"恢复默认",readOnly:"本部署的设置为只读。",expand:"展开设置",collapse:"收起设置",save:"保存",saving:"保存中…",discard:"放弃修改",unsaved:"未保存",saveFailed:"本部署没有接受这些值,已保留供你修改。",invalidNumber:"请填数字;留空表示使用默认值。",bashTitle:"终端",bashDescription:"限制 agent 运行的每一条命令。",bashTimeoutMs:"命令超时(毫秒)",bashTimeoutMsHint:"单条命令允许运行多久,超时即终止。",bashMaxOutputBytes:"单流输出上限(字节)",bashMaxOutputBytesHint:"超出部分会转存到临时文件,而不是被丢弃。",agentLoopTitle:"Agent 循环",agentLoopDescription:"Agent 如何派发工具调用。",agentLoopMaxParallel:"并行工具调用数",agentLoopMaxParallelHint:"同一步内最多同时运行多少个可并行的调用。",webSearchTitle:"网页搜索",webSearchDescription:"DeepSeek 搜索提供方。",webSearchApiKey:"API Key",webSearchApiKeyHint:"不写入设置文件。留空表示保持当前密钥。",webSearchApiKeySet:"已配置密钥。",webSearchApiKeyUnset:"未配置密钥;配置之前搜索不可用。",webSearchBaseUrl:"接口地址",webSearchBaseUrlHint:"留空则使用提供方默认地址。",webSearchMaxUses:"单次请求最多搜索次数",webSearchMaxUsesHint:"一次请求在必须作答前最多可以搜索多少次。"},v="settings.plugins",re=["slots","locale","connection","remote","settingsScope"];function le(e){const{api:t}=e.get("connection"),i=e.locale.bind(v);e.effect(()=>e.locale.register(v,{zh:ne,en:se}),"ui-settings-plugins: section dictionaries");const a=new ee(e.settingsScope.bind({namespace:D})),r=new Z(e.settingsScope.bind({namespace:G})),o=new ie(e.settingsScope.bind({namespace:F}),t);e.effect(()=>e.remote.$on("credentials/updated",l=>{o.refreshCredential(l)}),"ui-settings-plugins: credential invalidations");const u=new te(t,()=>e.slots.entries("settings.plugin.item"));e.effect(()=>()=>{u.dispose()},"ui-settings-plugins: tab directory"),e.effect(()=>e.remote.$on("settings/document-updated",()=>{u.load()}),"ui-settings-plugins: served-namespace invalidations"),e.effect(()=>e.on("connection/reset",()=>{u.load()}),"ui-settings-plugins: served-namespace reconnect"),e.effect(()=>e.slots.subscribe("settings.plugin.item",()=>{u.refresh()}),"ui-settings-plugins: card ledger"),u.load();let w=-1,L=-1,j=[];const g=s(()=>({hooks:{tabs:{getSnapshot:s(()=>{const l=e.slots.getVersion("settings.plugins.tab"),p=e.locale.getSnapshot().revision;return(l!==w||p!==L)&&(w=l,L=p,j=e.slots.entries("settings.plugins.tab").map(h=>({id:h.options.id??"",order:h.options.order??0,label:(0,I.resolveSlotLabel)(h.options.label)??""})).sort((h,y)=>h.order-y.order)),j},"getSnapshot"),subscribe:s(l=>{const p=e.slots.subscribe("settings.plugins.tab",l),h=e.locale.subscribe(l);return()=>{p(),h()}},"subscribe")}}}),"sectionInjected");e.slots.inject("settings.section",()=>e.slots.register({name:"settings.section",id:"plugins",order:15,label:s(()=>i("nav"),"label"),locale:v,inject:g,children:{"settings.plugins.tab":{kind:"list",scope:"root"}}},q)),e.slots.inject("settings.plugins.tab",()=>e.slots.register({name:"settings.plugins.tab",id:"configurable",order:0,label:s(()=>i("configurableTab"),"label"),locale:v,inject:s(()=>u.inject(),"inject"),children:{"settings.plugin.item":{kind:"keyed",scope:"root"}}},Y)),e.slots.inject("settings.plugin.item",function*(){yield e.slots.register({name:"settings.plugin.item",key:D,locale:v,inject:s(()=>a.inject(),"inject")},W),yield e.slots.register({name:"settings.plugin.item",key:G,locale:v,inject:s(()=>r.inject(),"inject")},V),yield e.slots.register({name:"settings.plugin.item",key:F,locale:v,inject:s(()=>o.inject(),"inject")},Q)})}return s(le,"apply"),U.apply=le,U.inject=re,S.exports},"factory")});
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-client-ui-settings-plugins","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-api-remotes"],"platform":"web"}},"license":"MIT","peerDependencies":{"react":"^18.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.7","@deepseek-ai/dsh-api-remotes":"^0.1.0-rc.7","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.7","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.7","@deepseek-ai/dsh-client-web-react":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7"},"dependencies":{"clsx":"^2.0.0"}}
1
+ {"name":"@deepseek-ai/dsh-client-ui-settings-plugins","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-api-remotes"],"platform":"web"}},"license":"MIT","peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-api-remotes":"^0.1.0-rc.7","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.7","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7","@deepseek-ai/dsh-client-web-react":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.7"},"dependencies":{"clsx":"^2.0.0"}}
@@ -1 +1 @@
1
- var F=Object.defineProperty;var i=(x,u)=>F(x,"name",{value:u,configurable:!0});window.__ModuleLoader__.load({id:"@deepseek-ai/dsh-client-ui-sidebar",factory:i(x=>{var u={exports:{}},b=u.exports;Object.defineProperty(b,Symbol.toStringTag,{value:"Module"});let n=x("react/jsx-runtime"),d=x("react"),c=x("@deepseek-ai/dsh-client-ui-primitives");function m(e){var s,t,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(s=0;s<l;s++)e[s]&&(t=m(e[s]))&&(o&&(o+=" "),o+=t)}else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}i(m,"r");function f(){for(var e,s,t=0,o="",l=arguments.length;t<l;t++)(e=arguments[t])&&(s=m(e))&&(o&&(o+=" "),o+=s);return o}i(f,"clsx");const N=".x6HE1a_root{--dsh-sidebar-inline-padding:12px;height:100%;padding:6px var(--dsh-sidebar-inline-padding);box-sizing:border-box;background:var(--dsw-specific-sidebar-fill);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);flex-direction:column;font-size:14px;display:flex}.x6HE1a_root.x6HE1a_collapsed{padding:18px 10px 6px}.x6HE1a_root.x6HE1a_quietBars{--dsh-scrollbar-thumb:transparent;--dsh-scrollbar-thumb-hover:transparent}.x6HE1a_fading>*{opacity:0;transition:opacity .15s var(--ds-ease-in-out)}.x6HE1a_wide{animation:x6HE1a_wide-in .2s var(--ds-ease-in-out)}@keyframes x6HE1a_wide-in{0%{opacity:0}}.x6HE1a_railIn .x6HE1a_iconButton,.x6HE1a_railIn .x6HE1a_newSession,.x6HE1a_railIn .x6HE1a_regionArea{animation:x6HE1a_rail-in .15s var(--ds-ease-in-out) backwards}.x6HE1a_railIn .x6HE1a_footArea{animation:x6HE1a_rail-fade-in .15s var(--ds-ease-in-out) backwards}@keyframes x6HE1a_rail-in{0%{opacity:0;transform:translate(49px)}}@keyframes x6HE1a_rail-fade-in{0%{opacity:0}}.x6HE1a_logoRow{box-sizing:border-box;flex:none;justify-content:flex-end;align-items:center;gap:8px;height:60px;margin-bottom:8px;padding:8px 0 8px 4px;display:flex;overflow:hidden}.x6HE1a_collapsed .x6HE1a_logoRow{justify-content:flex-start;height:36px;margin-bottom:12px;padding:0}.x6HE1a_brand{min-width:0;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;padding:0;display:inline-flex;overflow:hidden}.x6HE1a_iconButton{cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-secondary);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.x6HE1a_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.x6HE1a_collapsed .x6HE1a_iconButton{width:36px;height:36px}.x6HE1a_collapsed .x6HE1a_toggle .x6HE1a_panelIcon{display:none}.x6HE1a_collapsed .x6HE1a_toggle:hover .x6HE1a_panelIcon{display:inline}.x6HE1a_collapsed .x6HE1a_toggle:hover .x6HE1a_railFish{display:none}.x6HE1a_collapsed .x6HE1a_iconButton{color:var(--dsw-alias-label-primary)}.x6HE1a_newSession{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-button-elevated-fill);height:38px;color:var(--dsw-alias-label-primary);cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:6px;margin:0 2px 8px;padding:8px 16px;font-size:14px;font-weight:500;line-height:22px;display:flex;overflow:hidden}.x6HE1a_newSession:hover{background:var(--dsw-alias-button-floating-hover)}.x6HE1a_collapsed .x6HE1a_newSession{background:0 0;border-color:#0000;align-self:flex-start;gap:0;width:36px;height:36px;margin:0 0 12px;padding:0}.x6HE1a_collapsed .x6HE1a_newSession:hover{background:var(--dsw-alias-interactive-bg-hover)}.x6HE1a_newSessionLabel{white-space:nowrap;max-width:200px;overflow:hidden}.x6HE1a_collapsed .x6HE1a_newSessionLabel{max-width:0}.x6HE1a_regionArea{min-height:0;margin-left:-4px;margin-right:calc(-1 * var(--dsh-sidebar-inline-padding));flex-direction:column;flex:1;padding-left:4px;display:flex;overflow:hidden}.x6HE1a_collapsed .x6HE1a_regionArea{margin-left:0;margin-right:0;padding-left:0}.x6HE1a_footArea{flex-direction:column;flex:none;display:flex}.x6HE1a_settingsArea,.x6HE1a_footerActions{flex:none;width:100%;min-width:0}.x6HE1a_footerActions{display:flex}.x6HE1a_collapsed .x6HE1a_footArea{align-items:center}.x6HE1a_collapsed .x6HE1a_settingsArea,.x6HE1a_collapsed .x6HE1a_footerActions{justify-content:center;width:auto;display:flex}@media (prefers-reduced-motion:reduce){.x6HE1a_wide,.x6HE1a_fading>*,.x6HE1a_railIn .x6HE1a_iconButton,.x6HE1a_railIn .x6HE1a_newSession,.x6HE1a_railIn .x6HE1a_footArea,.x6HE1a_railIn .x6HE1a_regionArea{transition:none;animation:none}}",v="@deepseek-ai/dsh-client-ui-sidebar/SidebarRoot.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(v)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-sidebar",e.dataset.pluginCss=v,e.textContent=N,document.head.appendChild(e)}var a={railIn:"x6HE1a_railIn",toggle:"x6HE1a_toggle","wide-in":"x6HE1a_wide-in",iconButton:"x6HE1a_iconButton","rail-fade-in":"x6HE1a_rail-fade-in",settingsArea:"x6HE1a_settingsArea",footArea:"x6HE1a_footArea","rail-in":"x6HE1a_rail-in",panelIcon:"x6HE1a_panelIcon",wide:"x6HE1a_wide",newSession:"x6HE1a_newSession",logoRow:"x6HE1a_logoRow",fading:"x6HE1a_fading",brand:"x6HE1a_brand",quietBars:"x6HE1a_quietBars",newSessionLabel:"x6HE1a_newSessionLabel",root:"x6HE1a_root",collapsed:"x6HE1a_collapsed",regionArea:"x6HE1a_regionArea",railFish:"x6HE1a_railFish",footerActions:"x6HE1a_footerActions"};const B=150,R=2e3;function C({collapsed:e,width:s,startSession:t,toggleSidebar:o,t:l,renderSlot:H}){const[P,S]=(0,d.useState)(e);(0,d.useEffect)(()=>{if(!e){S(!1);return}const _=window.setTimeout(()=>{S(!0)},B);return()=>{window.clearTimeout(_)}},[e]);const r=!e||!P,j=(0,d.useRef)(s);e||(j.current=s);const k=(0,d.useRef)(!e);e||(k.current=!0);const A=(0,d.useRef)(null),[h,I]=(0,d.useState)(!1),p=(0,d.useRef)(void 0),L=i(()=>{p.current===void 0&&(p.current=window.setTimeout(()=>{p.current=void 0,I(!1)},R))},"armLinger"),w=i(()=>{window.clearTimeout(p.current),p.current=void 0},"cancelLinger");return(0,d.useEffect)(()=>{if(!h)return;const _=i(E=>{const g=A.current?.getBoundingClientRect();g!==void 0&&(E.clientX>=g.left&&E.clientX<g.right&&E.clientY>=g.top&&E.clientY<g.bottom?w():L())},"onMove");return document.addEventListener("pointermove",_),()=>{document.removeEventListener("pointermove",_),w()}},[h]),(0,n.jsxs)("div",{ref:A,className:f(a.root,!r&&a.collapsed,!r&&k.current&&a.railIn,e&&r&&a.fading,!h&&a.quietBars),style:r?{width:e?j.current:s}:void 0,onPointerEnter:i(()=>{w(),I(!0)},"onPointerEnter"),onPointerLeave:i(()=>{L()},"onPointerLeave"),children:[(0,n.jsxs)("div",{className:a.logoRow,children:[r&&(0,n.jsx)("button",{type:"button",className:f(a.brand,a.wide),"aria-label":l("session.new.label"),onClick:i(()=>{t()},"onClick"),children:(0,n.jsx)(c.BrandWordmark,{})}),(0,n.jsx)(c.Tooltip,{label:l(e?"toggle.open":"toggle.collapse"),delayMs:500,children:(0,n.jsxs)("button",{type:"button",className:f(a.iconButton,a.toggle),"aria-label":l(e?"toggle.open":"toggle.collapse"),onClick:i(()=>{o()},"onClick"),children:[!r&&(0,n.jsx)(c.FishLogo,{className:a.railFish,size:24}),(0,n.jsx)(c.IconPanelLeftOutline16,{className:a.panelIcon,size:r?16:18})]})})]}),(0,n.jsx)(c.Tooltip,{label:l("session.new.label"),delayMs:500,disabled:r,children:(0,n.jsxs)("button",{type:"button",className:a.newSession,"aria-label":l("session.new.label"),onClick:i(()=>{t()},"onClick"),children:[(0,n.jsx)(c.IconNewChatOutline16,{size:r?14:18}),r&&(0,n.jsx)("span",{className:f(a.newSessionLabel,a.wide),children:l("session.new")})]})}),(0,n.jsx)("div",{className:a.regionArea,children:H("sidebar.workspaces",{wide:r,expandSidebar:i(()=>{e&&o()},"expandSidebar")})}),(0,n.jsxs)("div",{className:a.footArea,children:[(0,n.jsx)("div",{className:a.footerActions,children:H("sidebar.footer.action",{wide:r})}),(0,n.jsx)("div",{className:a.settingsArea,children:H("sidebar.settings",{wide:r})})]})]})}i(C,"SidebarRoot");const T={"session.new":"新会话","session.new.label":"新建会话","toggle.open":"打开侧边栏","toggle.collapse":"收起侧边栏"},z={"session.new":"New Session","session.new.label":"New session","toggle.open":"Open sidebar","toggle.collapse":"Collapse sidebar"},y="sidebar",M=["slots","layout","sessions","workspaces","locale"];function O(e){e.effect(()=>e.locale.register(y,{zh:T,en:z}),"ui-sidebar: dictionaries");const s=i(()=>({startSession:i(t=>{e.workspaces.startSession(t)},"startSession"),toggleSidebar:i(()=>{e.layout.toggleSidebar()},"toggleSidebar")}),"injectProps");e.effect(()=>e.slots.register({name:"sidebar",locale:y,children:{"sidebar.workspaces":{kind:"single",scope:"root"},"sidebar.settings":{kind:"single",scope:"root"},"sidebar.footer.action":{kind:"list",scope:"root"}},inject:s},C),"ui-sidebar: slot registration")}return i(O,"apply"),b.apply=O,b.inject=M,u.exports},"factory")});
1
+ var F=Object.defineProperty;var i=(x,u)=>F(x,"name",{value:u,configurable:!0});window.__ModuleLoader__.load({id:"@deepseek-ai/dsh-client-ui-sidebar",factory:i(x=>{var u={exports:{}},b=u.exports;Object.defineProperty(b,Symbol.toStringTag,{value:"Module"});let n=x("react/jsx-runtime"),d=x("react"),c=x("@deepseek-ai/dsh-client-ui-primitives");function m(e){var s,t,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(s=0;s<l;s++)e[s]&&(t=m(e[s]))&&(o&&(o+=" "),o+=t)}else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}i(m,"r");function f(){for(var e,s,t=0,o="",l=arguments.length;t<l;t++)(e=arguments[t])&&(s=m(e))&&(o&&(o+=" "),o+=s);return o}i(f,"clsx");const N=".x6HE1a_root{--dsh-sidebar-inline-padding:12px;height:100%;padding:6px var(--dsh-sidebar-inline-padding);box-sizing:border-box;background:var(--dsw-specific-sidebar-fill);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);flex-direction:column;font-size:14px;display:flex}.x6HE1a_root.x6HE1a_collapsed{padding:18px 10px 6px}.x6HE1a_root.x6HE1a_quietBars{--dsh-scrollbar-thumb:transparent;--dsh-scrollbar-thumb-hover:transparent}.x6HE1a_fading>*{opacity:0;transition:opacity .15s var(--ds-ease-in-out)}.x6HE1a_wide{animation:x6HE1a_wide-in .2s var(--ds-ease-in-out)}@keyframes x6HE1a_wide-in{0%{opacity:0}}.x6HE1a_railIn .x6HE1a_iconButton,.x6HE1a_railIn .x6HE1a_newSession,.x6HE1a_railIn .x6HE1a_regionArea{animation:x6HE1a_rail-in .15s var(--ds-ease-in-out) backwards}.x6HE1a_railIn .x6HE1a_footArea{animation:x6HE1a_rail-fade-in .15s var(--ds-ease-in-out) backwards}@keyframes x6HE1a_rail-in{0%{opacity:0;transform:translate(49px)}}@keyframes x6HE1a_rail-fade-in{0%{opacity:0}}.x6HE1a_logoRow{box-sizing:border-box;flex:none;justify-content:flex-end;align-items:center;gap:8px;height:60px;margin-bottom:8px;padding:8px 0 8px 4px;display:flex;overflow:hidden}.x6HE1a_collapsed .x6HE1a_logoRow{justify-content:flex-start;height:36px;margin-bottom:12px;padding:0}.x6HE1a_brand{min-width:0;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;padding:0;display:inline-flex;overflow:hidden}.x6HE1a_iconButton{cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-secondary);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.x6HE1a_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.x6HE1a_collapsed .x6HE1a_iconButton{width:36px;height:36px}.x6HE1a_collapsed .x6HE1a_toggle .x6HE1a_panelIcon{display:none}.x6HE1a_collapsed .x6HE1a_toggle:hover .x6HE1a_panelIcon{display:inline}.x6HE1a_collapsed .x6HE1a_toggle:hover .x6HE1a_railFish{display:none}.x6HE1a_collapsed .x6HE1a_iconButton{color:var(--dsw-alias-label-primary)}.x6HE1a_newSession{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-button-elevated-fill);height:38px;color:var(--dsw-alias-label-primary);cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:6px;margin:0 2px 8px;padding:8px 16px;font-size:14px;font-weight:500;line-height:22px;display:flex;overflow:hidden}.x6HE1a_newSession:hover{background:var(--dsw-alias-button-floating-hover)}.x6HE1a_collapsed .x6HE1a_newSession{background:0 0;border-color:#0000;align-self:flex-start;gap:0;width:36px;height:36px;margin:0 0 12px;padding:0}.x6HE1a_collapsed .x6HE1a_newSession:hover{background:var(--dsw-alias-interactive-bg-hover)}.x6HE1a_newSessionLabel{white-space:nowrap;max-width:200px;overflow:hidden}.x6HE1a_collapsed .x6HE1a_newSessionLabel{max-width:0}.x6HE1a_regionArea{min-height:0;margin-left:-4px;margin-right:calc(-1 * var(--dsh-sidebar-inline-padding));flex-direction:column;flex:1;padding-left:4px;display:flex;overflow:hidden}.x6HE1a_collapsed .x6HE1a_regionArea{margin-left:0;margin-right:0;padding-left:0}.x6HE1a_footArea{flex-direction:column;flex:none;display:flex}.x6HE1a_settingsArea,.x6HE1a_footerActions{flex:none;width:100%;min-width:0}.x6HE1a_footerActions{display:flex}.x6HE1a_collapsed .x6HE1a_footArea{align-items:center}.x6HE1a_collapsed .x6HE1a_settingsArea,.x6HE1a_collapsed .x6HE1a_footerActions{justify-content:center;width:auto;display:flex}@media (prefers-reduced-motion:reduce){.x6HE1a_wide,.x6HE1a_fading>*,.x6HE1a_railIn .x6HE1a_iconButton,.x6HE1a_railIn .x6HE1a_newSession,.x6HE1a_railIn .x6HE1a_footArea,.x6HE1a_railIn .x6HE1a_regionArea{transition:none;animation:none}}",v="@deepseek-ai/dsh-client-ui-sidebar/SidebarRoot.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(v)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-sidebar",e.dataset.pluginCss=v,e.textContent=N,document.head.appendChild(e)}var a={regionArea:"x6HE1a_regionArea",panelIcon:"x6HE1a_panelIcon",quietBars:"x6HE1a_quietBars",root:"x6HE1a_root",wide:"x6HE1a_wide",railFish:"x6HE1a_railFish","wide-in":"x6HE1a_wide-in",footArea:"x6HE1a_footArea",railIn:"x6HE1a_railIn",footerActions:"x6HE1a_footerActions",toggle:"x6HE1a_toggle",collapsed:"x6HE1a_collapsed","rail-in":"x6HE1a_rail-in",iconButton:"x6HE1a_iconButton","rail-fade-in":"x6HE1a_rail-fade-in",fading:"x6HE1a_fading",logoRow:"x6HE1a_logoRow",newSessionLabel:"x6HE1a_newSessionLabel",newSession:"x6HE1a_newSession",brand:"x6HE1a_brand",settingsArea:"x6HE1a_settingsArea"};const B=150,R=2e3;function C({collapsed:e,width:s,startSession:t,toggleSidebar:o,t:l,renderSlot:H}){const[P,S]=(0,d.useState)(e);(0,d.useEffect)(()=>{if(!e){S(!1);return}const _=window.setTimeout(()=>{S(!0)},B);return()=>{window.clearTimeout(_)}},[e]);const r=!e||!P,j=(0,d.useRef)(s);e||(j.current=s);const k=(0,d.useRef)(!e);e||(k.current=!0);const A=(0,d.useRef)(null),[h,I]=(0,d.useState)(!1),p=(0,d.useRef)(void 0),L=i(()=>{p.current===void 0&&(p.current=window.setTimeout(()=>{p.current=void 0,I(!1)},R))},"armLinger"),w=i(()=>{window.clearTimeout(p.current),p.current=void 0},"cancelLinger");return(0,d.useEffect)(()=>{if(!h)return;const _=i(E=>{const g=A.current?.getBoundingClientRect();g!==void 0&&(E.clientX>=g.left&&E.clientX<g.right&&E.clientY>=g.top&&E.clientY<g.bottom?w():L())},"onMove");return document.addEventListener("pointermove",_),()=>{document.removeEventListener("pointermove",_),w()}},[h]),(0,n.jsxs)("div",{ref:A,className:f(a.root,!r&&a.collapsed,!r&&k.current&&a.railIn,e&&r&&a.fading,!h&&a.quietBars),style:r?{width:e?j.current:s}:void 0,onPointerEnter:i(()=>{w(),I(!0)},"onPointerEnter"),onPointerLeave:i(()=>{L()},"onPointerLeave"),children:[(0,n.jsxs)("div",{className:a.logoRow,children:[r&&(0,n.jsx)("button",{type:"button",className:f(a.brand,a.wide),"aria-label":l("session.new.label"),onClick:i(()=>{t()},"onClick"),children:(0,n.jsx)(c.BrandWordmark,{})}),(0,n.jsx)(c.Tooltip,{label:l(e?"toggle.open":"toggle.collapse"),delayMs:500,children:(0,n.jsxs)("button",{type:"button",className:f(a.iconButton,a.toggle),"aria-label":l(e?"toggle.open":"toggle.collapse"),onClick:i(()=>{o()},"onClick"),children:[!r&&(0,n.jsx)(c.FishLogo,{className:a.railFish,size:24}),(0,n.jsx)(c.IconPanelLeftOutline16,{className:a.panelIcon,size:r?16:18})]})})]}),(0,n.jsx)(c.Tooltip,{label:l("session.new.label"),delayMs:500,disabled:r,children:(0,n.jsxs)("button",{type:"button",className:a.newSession,"aria-label":l("session.new.label"),onClick:i(()=>{t()},"onClick"),children:[(0,n.jsx)(c.IconNewChatOutline16,{size:r?14:18}),r&&(0,n.jsx)("span",{className:f(a.newSessionLabel,a.wide),children:l("session.new")})]})}),(0,n.jsx)("div",{className:a.regionArea,children:H("sidebar.workspaces",{wide:r,expandSidebar:i(()=>{e&&o()},"expandSidebar")})}),(0,n.jsxs)("div",{className:a.footArea,children:[(0,n.jsx)("div",{className:a.footerActions,children:H("sidebar.footer.action",{wide:r})}),(0,n.jsx)("div",{className:a.settingsArea,children:H("sidebar.settings",{wide:r})})]})]})}i(C,"SidebarRoot");const T={"session.new":"新会话","session.new.label":"新建会话","toggle.open":"打开侧边栏","toggle.collapse":"收起侧边栏"},z={"session.new":"New Session","session.new.label":"New session","toggle.open":"Open sidebar","toggle.collapse":"Collapse sidebar"},y="sidebar",M=["slots","layout","sessions","workspaces","locale"];function O(e){e.effect(()=>e.locale.register(y,{zh:T,en:z}),"ui-sidebar: dictionaries");const s=i(()=>({startSession:i(t=>{e.workspaces.startSession(t)},"startSession"),toggleSidebar:i(()=>{e.layout.toggleSidebar()},"toggleSidebar")}),"injectProps");e.effect(()=>e.slots.register({name:"sidebar",locale:y,children:{"sidebar.workspaces":{kind:"single",scope:"root"},"sidebar.settings":{kind:"single",scope:"root"},"sidebar.footer.action":{kind:"list",scope:"root"}},inject:s},C),"ui-sidebar: slot registration")}return i(O,"apply"),b.apply=O,b.inject=M,u.exports},"factory")});
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-client-ui-sidebar","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-locale"],"platform":"web"}},"license":"MIT","dependencies":{"clsx":"^2.0.0"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.7"}}
1
+ {"name":"@deepseek-ai/dsh-client-ui-sidebar","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-locale"],"platform":"web"}},"license":"MIT","dependencies":{"clsx":"^2.0.0"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7"}}
@@ -1,3 +1,3 @@
1
- var W=Object.defineProperty;var a=(f,h)=>W(f,"name",{value:h,configurable:!0});window.__ModuleLoader__.load({id:"@deepseek-ai/dsh-client-ui-skill",factory:a(f=>{var h={exports:{}},b=h.exports;Object.defineProperty(b,Symbol.toStringTag,{value:"Module"});let s=f("react/jsx-runtime"),N=f("react"),m=f("@deepseek-ai/dsh-client-ui-primitives");const I='.-_eeBq_card{flex-direction:column;display:flex}.-_eeBq_row{align-items:center;min-width:0;height:24px;display:flex;position:relative;overflow:hidden}.-_eeBq_row[data-expandable]{cursor:pointer}.-_eeBq_card[data-state=running] .-_eeBq_row:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--dsw-alias-bg-base) 60%, transparent) 55%, transparent 100%);pointer-events:none;width:300px;animation:2.6s ease-out infinite -_eeBq_dsh-skill-row-sweep;position:absolute;inset:0 auto 0 0}@keyframes -_eeBq_dsh-skill-row-sweep{0%{left:-300px}90%,to{left:100%}}.-_eeBq_leading{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);flex:none;justify-content:center;align-items:center;margin-right:6px;display:inline-flex;position:relative}.-_eeBq_chevron{color:var(--dsw-alias-label-secondary)}.-_eeBq_iconIdle{opacity:1;transition:opacity .1s;display:inline-flex}.-_eeBq_chevronHover{opacity:0;margin:auto;transition:opacity .1s;position:absolute;inset:0}.-_eeBq_row:hover .-_eeBq_iconIdle{opacity:0}.-_eeBq_row:hover .-_eeBq_chevronHover{opacity:1}.-_eeBq_title{color:var(--dsw-alias-label-secondary);flex:none;font-size:14px;line-height:24px}.-_eeBq_separator{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.-_eeBq_summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-tertiary);flex:auto;font-size:14px;line-height:24px;overflow:hidden}.-_eeBq_errorSummary{color:var(--dsw-alias-state-error-primary)}.-_eeBq_bodyWrap{flex-direction:column;display:flex}.-_eeBq_instructionsCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-markdown-code-block);border-radius:12px;flex-direction:column;max-height:260px;margin:4px 0 4px 4px;display:flex;overflow:hidden}.-_eeBq_instructionsHeader{border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block-banner);color:var(--dsw-alias-label-caption);text-transform:uppercase;letter-spacing:.04em;flex:none;padding:8px 12px;font-size:11px;font-weight:500;line-height:16px}.-_eeBq_instructions{white-space:pre-wrap;overflow-wrap:anywhere;min-height:0;font:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-secondary);margin:0;padding:10px 12px 12px;overflow:auto}.-_eeBq_instructions[data-error]{color:var(--dsw-alias-state-error-primary)}.-_eeBq_instructions::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:6px}.-_eeBq_instructions::-webkit-scrollbar-track{margin:6px 0}.-_eeBq_inspectButton{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-secondary);cursor:pointer;opacity:0;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;margin:4px 0 2px 4px;padding:2px 8px;font-size:11px;line-height:16px;transition:opacity .1s;display:inline-flex}.-_eeBq_card:hover .-_eeBq_inspectButton,.-_eeBq_inspectButton:focus-visible{opacity:1}.-_eeBq_inspectButton:hover{background:var(--dsw-alias-interactive-bg-hover-solid);color:var(--dsw-alias-label-primary)}.-_eeBq_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.-_eeBq_card[data-state=running] .-_eeBq_row:after{animation:none;display:none}.-_eeBq_iconIdle,.-_eeBq_chevronHover,.-_eeBq_inspectButton{transition:none}}',j="@deepseek-ai/dsh-client-ui-skill/SkillRow.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(j)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-skill",e.dataset.pluginCss=j,e.textContent=I,document.head.appendChild(e)}var o={iconIdle:"-_eeBq_iconIdle",instructionsHeader:"-_eeBq_instructionsHeader",chevron:"-_eeBq_chevron",leading:"-_eeBq_leading",separator:"-_eeBq_separator",chevronHover:"-_eeBq_chevronHover",bodyWrap:"-_eeBq_bodyWrap",instructionsCard:"-_eeBq_instructionsCard",title:"-_eeBq_title",instructions:"-_eeBq_instructions",card:"-_eeBq_card",row:"-_eeBq_row",visuallyHidden:"-_eeBq_visuallyHidden",inspectButton:"-_eeBq_inspectButton",errorSummary:"-_eeBq_errorSummary","dsh-skill-row-sweep":"-_eeBq_dsh-skill-row-sweep",summary:"-_eeBq_summary"};function B(e){const t=e.indexOf(`
1
+ var W=Object.defineProperty;var a=(f,h)=>W(f,"name",{value:h,configurable:!0});window.__ModuleLoader__.load({id:"@deepseek-ai/dsh-client-ui-skill",factory:a(f=>{var h={exports:{}},b=h.exports;Object.defineProperty(b,Symbol.toStringTag,{value:"Module"});let s=f("react/jsx-runtime"),N=f("react"),m=f("@deepseek-ai/dsh-client-ui-primitives");const I='.-_eeBq_card{flex-direction:column;display:flex}.-_eeBq_row{align-items:center;min-width:0;height:24px;display:flex;position:relative;overflow:hidden}.-_eeBq_row[data-expandable]{cursor:pointer}.-_eeBq_card[data-state=running] .-_eeBq_row:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--dsw-alias-bg-base) 60%, transparent) 55%, transparent 100%);pointer-events:none;width:300px;animation:2.6s ease-out infinite -_eeBq_dsh-skill-row-sweep;position:absolute;inset:0 auto 0 0}@keyframes -_eeBq_dsh-skill-row-sweep{0%{left:-300px}90%,to{left:100%}}.-_eeBq_leading{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);flex:none;justify-content:center;align-items:center;margin-right:6px;display:inline-flex;position:relative}.-_eeBq_chevron{color:var(--dsw-alias-label-secondary)}.-_eeBq_iconIdle{opacity:1;transition:opacity .1s;display:inline-flex}.-_eeBq_chevronHover{opacity:0;margin:auto;transition:opacity .1s;position:absolute;inset:0}.-_eeBq_row:hover .-_eeBq_iconIdle{opacity:0}.-_eeBq_row:hover .-_eeBq_chevronHover{opacity:1}.-_eeBq_title{color:var(--dsw-alias-label-secondary);flex:none;font-size:14px;line-height:24px}.-_eeBq_separator{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.-_eeBq_summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-tertiary);flex:auto;font-size:14px;line-height:24px;overflow:hidden}.-_eeBq_errorSummary{color:var(--dsw-alias-state-error-primary)}.-_eeBq_bodyWrap{flex-direction:column;display:flex}.-_eeBq_instructionsCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-markdown-code-block);border-radius:12px;flex-direction:column;max-height:260px;margin:4px 0 4px 4px;display:flex;overflow:hidden}.-_eeBq_instructionsHeader{border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block-banner);color:var(--dsw-alias-label-caption);text-transform:uppercase;letter-spacing:.04em;flex:none;padding:8px 12px;font-size:11px;font-weight:500;line-height:16px}.-_eeBq_instructions{white-space:pre-wrap;overflow-wrap:anywhere;min-height:0;font:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-secondary);margin:0;padding:10px 12px 12px;overflow:auto}.-_eeBq_instructions[data-error]{color:var(--dsw-alias-state-error-primary)}.-_eeBq_instructions::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:6px}.-_eeBq_instructions::-webkit-scrollbar-track{margin:6px 0}.-_eeBq_inspectButton{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-secondary);cursor:pointer;opacity:0;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;margin:4px 0 2px 4px;padding:2px 8px;font-size:11px;line-height:16px;transition:opacity .1s;display:inline-flex}.-_eeBq_card:hover .-_eeBq_inspectButton,.-_eeBq_inspectButton:focus-visible{opacity:1}.-_eeBq_inspectButton:hover{background:var(--dsw-alias-interactive-bg-hover-solid);color:var(--dsw-alias-label-primary)}.-_eeBq_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.-_eeBq_card[data-state=running] .-_eeBq_row:after{animation:none;display:none}.-_eeBq_iconIdle,.-_eeBq_chevronHover,.-_eeBq_inspectButton{transition:none}}',j="@deepseek-ai/dsh-client-ui-skill/SkillRow.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(j)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-skill",e.dataset.pluginCss=j,e.textContent=I,document.head.appendChild(e)}var o={chevronHover:"-_eeBq_chevronHover",instructionsCard:"-_eeBq_instructionsCard",card:"-_eeBq_card",errorSummary:"-_eeBq_errorSummary",summary:"-_eeBq_summary",bodyWrap:"-_eeBq_bodyWrap",inspectButton:"-_eeBq_inspectButton",chevron:"-_eeBq_chevron",separator:"-_eeBq_separator",leading:"-_eeBq_leading",title:"-_eeBq_title",instructions:"-_eeBq_instructions",row:"-_eeBq_row","dsh-skill-row-sweep":"-_eeBq_dsh-skill-row-sweep",iconIdle:"-_eeBq_iconIdle",visuallyHidden:"-_eeBq_visuallyHidden",instructionsHeader:"-_eeBq_instructionsHeader"};function B(e){const t=e.indexOf(`
2
2
  `);return t===-1?e:e.slice(0,t)}a(B,"firstLine");function H(e,t){try{const i=JSON.parse(e);if(typeof i=="object"&&i!==null){const n=i.name;if(typeof n=="string"&&n!=="")return B(n)}}catch{}return e===""?t:B(e)}a(H,"skillName");function C(e){if(!("kind"in e))return null;const t=[];for(const i of e.content)t.push(i.type==="text"?i.text:JSON.stringify(i,null,2));return t.length===0&&e.error!==void 0&&t.push(`${e.error.name}: ${e.error.code}`),t.join(`
3
3
  `)||null}a(C,"resultText");function O(e){const t="kind"in e,i=(t?e.call?.argsRaw:e.argsRaw)??"",n=t?e.error?.code==="interrupted"?"stopped":e.isError?"error":"ok":"running",d=C(e);return{name:H(i,e.callId),output:d,errorSummary:n==="error"&&d!==null?B(d):null,state:n}}a(O,"skillRowModel");function $(e){switch(e){case"error":return(0,s.jsx)(m.StateDot,{state:"error"});case"stopped":return(0,s.jsx)(m.StateDot,{state:"warning"});default:return(0,s.jsx)(m.IconSkillOutline16,{size:14})}}a($,"leadingFor");function z(e,t,i){if(t)return(0,s.jsx)(m.IconChevronDownOutline14,{className:o.chevron});const n=$(e);return i?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:o.iconIdle,children:n}),(0,s.jsx)(m.IconChevronDownOutline14,{className:`${o.chevron} ${o.chevronHover}`})]}):n}a(z,"disclosureLeading");function L(e,t){switch(e){case"running":return t("row.running");case"error":return t("row.failed");case"stopped":return t("row.stopped");default:return null}}a(L,"stateStatus");function D({block:e,inspect:t,t:i}){const n=O(e),[d,y]=(0,N.useState)(!1),_=n.output!==null,g=d&&_,x=L(n.state,i),k=n.errorSummary??n.name,v=a(()=>{y(c=>!c)},"toggleExpand"),r=_?{role:"button",tabIndex:0,"aria-expanded":g,onClick:v,onKeyDown:a(c=>{!_||c.key!=="Enter"&&c.key!==" "||(c.preventDefault(),v())},"toggleFromKeyboard")}:{},l=z(n.state,g,_);return(0,s.jsxs)("div",{className:o.card,"data-tool":"skill","data-state":n.state,children:[(0,s.jsxs)("div",{className:o.row,"data-expandable":_||void 0,...r,children:[(0,s.jsx)("span",{className:o.leading,children:l}),x!==null?(0,s.jsx)("span",{className:o.visuallyHidden,children:x}):null,(0,s.jsx)("span",{className:o.title,children:"Skill"}),(0,s.jsx)("span",{className:o.separator,"aria-hidden":!0}),(0,s.jsx)("span",{className:n.errorSummary===null?o.summary:`${o.summary} ${o.errorSummary}`,children:k})]}),g?(0,s.jsxs)("div",{className:o.bodyWrap,children:[(0,s.jsxs)("section",{className:o.instructionsCard,"aria-label":i("row.instructions"),children:[(0,s.jsx)("div",{className:o.instructionsHeader,children:i("row.instructions")}),(0,s.jsx)("pre",{className:o.instructions,"data-error":n.state==="error"||void 0,children:n.output})]}),t!==void 0?(0,s.jsxs)("button",{type:"button",className:o.inspectButton,onClick:t,children:[(0,s.jsx)(m.IconInspectOutline12,{}),"Inspect"]}):null]}):null]})}a(D,"SkillRow");const q="skill",E={"row.running":"正在加载 skill","row.failed":"skill 加载失败","row.stopped":"skill 加载已中止","row.instructions":"说明","menu.userOnly":"仅用户"},M={"row.running":"Loading skill","row.failed":"Skill load failed","row.stopped":"Skill load stopped","row.instructions":"Instructions","menu.userOnly":"user-only"},R=["inputTriggers","connection","sessions","slots","locale","remote"];function T(e){e.effect(()=>e.locale.register(q,{zh:E,en:M}),"ui-skill: dictionaries"),e.slots.inject("tool.call.toolview",()=>e.slots.register({name:"tool.call.toolview",key:"skill",locale:q},D));const t=e.get("connection").api.skills,i=e.get("sessions"),n=new Map,d=new Map,y=a(r=>{for(const l of[...d.get(r)??[]])try{l()}catch(c){console.error("[ui-skill] lexicon listener failed:",c)}},"notifyLexicon"),_=a(r=>{if(i.subagentAddress(r)!==void 0)return Promise.resolve([]);const l=n.get(r);if(l!==void 0)return l.promise;const c=new AbortController,u=(async()=>{const{result:w}=await t.list({sessionId:r},c.signal);if(!w.ok)throw new Error(`skill.list failed: ${w.error.code}: ${w.error.message}`);return w.value.skills})(),p={promise:u,abort:c};return n.set(r,p),u.then(w=>{p.settled=w,y(r)},()=>{n.get(r)===p&&n.delete(r)}),u},"fetchCatalog"),g=a(r=>{const l=n.get(r);l!==void 0&&(n.delete(r),l.abort.abort(),y(r))},"invalidate"),x=a(()=>{for(const r of[...n.keys()])g(r)},"clearAll"),k=e.locale.bind(q),v={trigger:"/",name:"skill",order:2,async candidates(r,{query:l,signal:c}){const u=await _(r.sessionId);return c.aborted?[]:u.filter(p=>p.name.startsWith(l)).map(p=>({name:p.name,description:p.modelInvocable?p.description:`${k("menu.userOnly")} · ${p.description}`}))},warm(r){_(r.sessionId).catch(()=>{})},lexicon(r){return n.get(r.sessionId)?.settled?.map(l=>l.name)},subscribeLexicon(r,l){const c=r.sessionId,u=d.get(c)??new Set;return u.add(l),d.set(c,u),()=>{u.delete(l),u.size===0&&d.delete(c)}},onPick({candidate:r}){return{text:`/${r.name} `}}},S=e.get("inputTriggers");e.remote.$on("agent-preset/selected",g),e.on("connection/reset",x),e.effect(()=>{const r=S.registerSource(v);return()=>{r(),x()}},"ui-skill: source")}return a(T,"apply"),b.apply=T,b.inject=R,h.exports},"factory")});
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-client-ui-skill","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-tool","@deepseek-ai/dsh-client-ui-input-trigger","@deepseek-ai/dsh-api-remotes"],"platform":"web"}},"license":"MIT","peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-api-remotes":"^0.1.0-rc.7","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.7","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.7","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-tool":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-client-ui-skill","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-tool","@deepseek-ai/dsh-client-ui-input-trigger","@deepseek-ai/dsh-api-remotes"],"platform":"web"}},"license":"MIT","peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-api-remotes":"^0.1.0-rc.7","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.7","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.7","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-client-ui-tool":"^0.1.0-rc.7"}}
@@ -1 +1 @@
1
- var xe=Object.defineProperty;var r=(D,$)=>xe(D,"name",{value:$,configurable:!0});window.__ModuleLoader__.load({id:"@deepseek-ai/dsh-client-ui-subagent",factory:r(D=>{var $={exports:{}},q=$.exports;Object.defineProperty(q,Symbol.toStringTag,{value:"Module"});let t=D("react/jsx-runtime"),S=D("react"),ne=D("@deepseek-ai/dsh-client-runtime/client"),W=D("@deepseek-ai/dsh-client-ui-primitives");const te='.NSdbYW_root{position:relative}.NSdbYW_trigger{min-height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:3px;padding:3px 2px;font-size:12px;line-height:18px;display:inline-flex}.NSdbYW_count{margin:0 5px}.NSdbYW_activitySlot{flex:none;width:10px;height:10px;display:inline-flex}.NSdbYW_trigger:hover,.NSdbYW_trigger:focus-visible{color:var(--dsw-alias-label-secondary)}.NSdbYW_trigger svg{transition:transform .12s}.NSdbYW_triggerOpen{transform:rotate(180deg)}.NSdbYW_menu{z-index:100;box-sizing:border-box;background:var(--dsw-specific-menu);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);width:336px;max-width:min(400px,100vw - 32px);max-height:min(560px,100vh - 140px);box-shadow:var(--dsw-shadow-lv3);border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 5px);left:0;overflow:auto}.NSdbYW_node{min-width:0;position:relative}.NSdbYW_menu>.NSdbYW_node{margin-left:-3px}.NSdbYW_row{box-sizing:border-box;width:100%;min-height:50px;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;outline:none;align-items:flex-start;gap:8px;padding:7px 8px 7px 11px;font-size:13px;line-height:18px;display:flex;position:relative}.NSdbYW_row:hover>.NSdbYW_clickarea,.NSdbYW_row:focus-visible>.NSdbYW_clickarea{background:var(--dsw-alias-interactive-bg-hover)}.NSdbYW_clickarea{box-sizing:border-box;border-radius:8px;flex:1;align-self:stretch;align-items:flex-start;gap:8px;min-width:0;margin:-7px -8px;padding:7px 8px;display:flex}.NSdbYW_row>[data-state],.NSdbYW_clickarea>[data-state]{margin-top:4px}.NSdbYW_disabled{color:var(--dsw-alias-label-dimmed);cursor:not-allowed}.NSdbYW_disabled:hover{background:0 0}.NSdbYW_loadingRow{cursor:default}.NSdbYW_disclosure,.NSdbYW_disclosureSpace{flex:none;width:14px;height:18px}.NSdbYW_disclosure{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:transform .12s;display:inline-flex}.NSdbYW_disclosure:hover{color:var(--dsw-alias-label-primary)}.NSdbYW_disclosureOpen{transform:rotate(90deg)}.NSdbYW_content{flex-direction:column;flex:1;min-width:0;display:flex}.NSdbYW_label,.NSdbYW_summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.NSdbYW_label{color:inherit;font-weight:400}.NSdbYW_summary,.NSdbYW_metrics{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.NSdbYW_metrics{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex:none;grid-template-rows:18px 16px;display:grid}.NSdbYW_metricToken{grid-row:1;line-height:18px}.NSdbYW_metricDuration{grid-row:2}.NSdbYW_children{margin-left:18px;padding-left:4px;position:relative}.NSdbYW_children:before,.NSdbYW_children>.NSdbYW_node:before{content:"";border-left:1px solid var(--dsw-alias-border-l2);position:absolute;left:0}.NSdbYW_children:before{height:26px;top:-26px}.NSdbYW_children[aria-busy=true]:before{content:none}.NSdbYW_children>.NSdbYW_node:before{top:0;bottom:0;left:-4px}.NSdbYW_children>.NSdbYW_node:last-child:before{height:17px;bottom:auto}.NSdbYW_children>.NSdbYW_node>.NSdbYW_row:before{content:"";border-top:1px solid var(--dsw-alias-border-l2);width:14px;position:absolute;top:16px;left:-4px}.NSdbYW_notice,.NSdbYW_error{color:var(--dsw-alias-label-tertiary);padding:10px 12px;font-size:12px;line-height:18px}.NSdbYW_error{color:var(--dsw-alias-state-error-primary);justify-content:space-between;align-items:center;gap:12px;display:flex}.NSdbYW_refresh{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.NSdbYW_refresh:hover{background:var(--dsw-alias-interactive-bg-hover)}',V="@deepseek-ai/dsh-client-ui-subagent/SubagentCatalogAction.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(V)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-subagent",e.dataset.pluginCss=V,e.textContent=te,document.head.appendChild(e)}var s={triggerOpen:"NSdbYW_triggerOpen",notice:"NSdbYW_notice",error:"NSdbYW_error",refresh:"NSdbYW_refresh",metricToken:"NSdbYW_metricToken",node:"NSdbYW_node",row:"NSdbYW_row",disclosureOpen:"NSdbYW_disclosureOpen",menu:"NSdbYW_menu",count:"NSdbYW_count",clickarea:"NSdbYW_clickarea",content:"NSdbYW_content",disclosure:"NSdbYW_disclosure",label:"NSdbYW_label",summary:"NSdbYW_summary",metricDuration:"NSdbYW_metricDuration",children:"NSdbYW_children",root:"NSdbYW_root",loadingRow:"NSdbYW_loadingRow",disclosureSpace:"NSdbYW_disclosureSpace",disabled:"NSdbYW_disabled",trigger:"NSdbYW_trigger",activitySlot:"NSdbYW_activitySlot",metrics:"NSdbYW_metrics"};function oe(e,n){switch(e.reason){case"corrupt":return n("diagnostic.corrupt");case"unsupported":return n("diagnostic.unsupported");case"unavailable":return n("diagnostic.unavailable")}}r(oe,"diagnosticReason");function B(e){return e===null?[]:Array.from(e.querySelectorAll('[role="treeitem"]:not([aria-disabled="true"])'))}r(B,"treeItems");function re(e){const n=r(d=>d>=100?String(Math.round(d)):String(Math.round(d*10)/10),"scaled");return e<1e3?String(e):e<1e6?`${n(e/1e3)}K`:`${n(e/1e6)}M`}r(re,"formatTokens");function se(e){return e===void 0?void 0:e.uncachedInputTokens+e.outputTokens+e.cacheReadTokens+e.cacheWriteTokens}r(se,"tokenTotal");function ae(e,n,d){if(e===void 0)return;const l=e.projectionValues?.subagentTiming;if(l===void 0)return;if(l.active===void 0)return l.settledMs;const m=n==="running"?d:l.active.through;return l.settledMs+Math.max(0,m-l.active.since)}r(ae,"activityDuration");function F(e){const n=Math.floor(Math.max(0,e)/1e3),d=Math.floor(n/60),l=Math.floor(d/60);return{seconds:n%60,minutes:d%60,hours:l%24,days:Math.floor(l/24),totalMinutes:d,totalHours:l}}r(F,"splitDuration");function G(e,n){const{seconds:d,minutes:l,hours:m,days:a,totalMinutes:u,totalHours:b}=F(e);if(a>=365){const h=Math.floor(a/365),c=Math.floor(a%365/30);return c===0?n("duration.years",{years:h}):n("duration.yearsMonths",{years:h,months:c})}if(a>=30){const h=Math.floor(a/30),c=a%30;return c===0?n("duration.months",{months:h}):n("duration.monthsDays",{months:h,days:c})}return a>0?m===0?n("duration.days",{days:a}):n("duration.daysHours",{days:a,hours:m}):b>0?n("duration.hours",{hours:b,minutes:String(l).padStart(2,"0"),seconds:String(d).padStart(2,"0")}):u>0?n("duration.minutes",{minutes:u,seconds:String(d).padStart(2,"0")}):n("duration.seconds",{seconds:d})}r(G,"formatDuration");function ie(e,n){const{seconds:d,minutes:l,hours:m,days:a}=F(e);return a===0?G(e,n):n("duration.exactDays",{days:a,hours:String(m).padStart(2,"0"),minutes:String(l).padStart(2,"0"),seconds:String(d).padStart(2,"0")})}r(ie,"formatExactDuration");const de={count:0,runningCount:0};function Q({parentSessionId:e,summaries:n,level:d,t:l}){const m=Object.values(n).filter(a=>a.origin==="subagent"&&a.parentId===e);return m.length===0?(0,t.jsx)("div",{className:s.notice,children:l("loading.label")}):m.map(a=>(0,t.jsx)("div",{className:s.node,children:(0,t.jsxs)("div",{role:"treeitem","aria-disabled":"true","aria-level":d,"aria-label":l("loading.aria"),className:`${s.row} ${s.disabled} ${s.loadingRow}`,children:[(0,t.jsx)("span",{className:s.disclosureSpace}),(0,t.jsx)(W.StateDot,{state:a.running?"ongoing":"done"}),(0,t.jsx)("span",{className:s.content,children:(0,t.jsx)("span",{className:s.label,children:l("loading.label")})})]})},a.id))}r(Q,"CatalogLoadingRows");function X({parentSessionId:e,catalog:n,catalogs:d,summaries:l,expanded:m,level:a,now:u,openChild:b,refresh:h,toggleBranch:c,closeCatalog:R,t:f}){const L=n.state==="loading"&&n.entries.length===0,C=n.entries.some(i=>i.kind==="child"&&i.hasChildren);return(0,t.jsxs)(t.Fragment,{children:[L&&(0,t.jsx)(Q,{parentSessionId:e,summaries:l,level:a,t:f}),n.state==="error"&&(0,t.jsxs)("div",{className:s.error,children:[(0,t.jsx)("span",{children:n.error?.message??f("load.error")}),(0,t.jsxs)("button",{type:"button",className:s.refresh,onClick:r(()=>{h(e)},"onClick"),children:[(0,t.jsx)(W.IconRefreshOutline14,{}),f("retry")]})]}),n.entries.map(i=>{if(i.kind==="diagnostic"){const p=oe(i,f);return(0,t.jsx)("div",{className:s.node,children:(0,t.jsxs)("div",{role:"treeitem","aria-disabled":"true","aria-level":a,"aria-label":`${i.id} ${p}`,className:`${s.row} ${s.disabled}`,title:p,children:[C&&(0,t.jsx)("span",{className:s.disclosureSpace}),(0,t.jsx)(W.StateDot,{state:"error"}),(0,t.jsxs)("span",{className:s.content,children:[(0,t.jsx)("span",{className:s.label,children:i.id}),(0,t.jsx)("span",{className:s.summary,children:p})]})]})},i.id)}const v=d[i.id],_=m.has(i.id),y=!i.hasChildren,z=v===void 0||v.state==="loading"&&v.entries.length===0,E=l[i.id],x=i.label??i.id,M=i.mode==="one-shot"?f("mode.oneShot"):f("mode.continuable"),I=i.activity==="running"?f("activity.running"):f("activity.inactive"),P=[E?.title,M,I].filter(p=>p!==void 0).join(" · "),Y=se(E?.projectionValues?.tokenUsage),j=ae(E,i.activity,u),O=Y===void 0?void 0:`${re(Y)} tok`,N=j===void 0?void 0:{compact:G(j,f),exact:ie(j,f)},K=[O,N?.exact].filter(p=>p!==void 0).join(" · "),H=r(()=>{b({parentSessionId:e,childSessionId:i.id,mode:i.mode}),R()},"open"),A=r(p=>{p.key==="Enter"||p.key===" "?(p.preventDefault(),p.stopPropagation(),H()):(p.key==="ArrowRight"&&!y&&!_||p.key==="ArrowLeft"&&_)&&(p.preventDefault(),p.stopPropagation(),c(i.id))},"handleKey"),k=r(p=>{p.preventDefault(),p.stopPropagation(),c(i.id)},"toggle");return(0,t.jsxs)("div",{className:s.node,children:[(0,t.jsxs)("div",{role:"treeitem",tabIndex:0,"aria-level":a,"aria-label":[x,P,K].filter(p=>p!=="").join(" "),...y?{}:{"aria-expanded":_},className:s.row,onClick:H,onKeyDown:A,children:[y?C&&(0,t.jsx)("span",{className:s.disclosureSpace}):(0,t.jsx)("button",{type:"button",tabIndex:-1,className:`${s.disclosure} ${_?s.disclosureOpen:""}`,"aria-label":f(_?"branch.collapse":"branch.expand",{label:x}),onClick:k,children:(0,t.jsx)(W.IconChevronRightOutline14,{})}),(0,t.jsxs)("div",{className:s.clickarea,children:[(0,t.jsx)(W.StateDot,{state:i.activity==="running"?"ongoing":"done"}),(0,t.jsxs)("span",{className:s.content,children:[(0,t.jsx)("span",{className:s.label,children:x}),(0,t.jsx)("span",{className:s.summary,children:P})]}),K!==""&&(0,t.jsxs)("span",{className:s.metrics,children:[O!==void 0&&(0,t.jsx)("span",{className:s.metricToken,children:O}),N!==void 0&&(0,t.jsx)("span",{className:s.metricDuration,title:f("duration.exactTitle",{duration:N.exact}),children:N.compact})]})]})]}),_&&!y&&(0,t.jsx)("div",{role:"group",className:s.children,"aria-busy":z||void 0,children:v===void 0?(0,t.jsx)(Q,{parentSessionId:i.id,summaries:l,level:a+1,t:f}):(0,t.jsx)(X,{parentSessionId:i.id,catalog:v,catalogs:d,summaries:l,expanded:m,level:a+1,now:u,openChild:b,refresh:h,toggleBranch:c,closeCatalog:R,t:f})})]},i.id)})]})}r(X,"CatalogRows");function le({sessionId:e,useSessions:n,openChild:d,refresh:l,setCatalogOpen:m,t:a}){const u=n(o=>o.subagentsByParent),b=n(o=>o.byId),h=u[e],[c,R]=(0,S.useState)(!1),[f,L]=(0,S.useState)(()=>Date.now()),[C,i]=(0,S.useState)(()=>new Set),v=(0,S.useRef)(null),_=(0,S.useRef)(null),y=(0,S.useRef)(new Set),z=(0,S.useRef)(m);z.current=m;const E=h?.entries.filter(o=>o.kind==="child")??[],x=(0,S.useMemo)(()=>(0,ne.indexSubagentDescendants)(b).get(e)??de,[e,b]),M=Math.max(E.length,x.count),I=M===1?"count.total.one":"count.total.other",P=x.runningCount===1?"count.running.one":"count.running.other",Y=x.count>0&&(h===void 0||h.state==="ready"&&h.entries.length===0)?{entries:[],parentAvailable:h?.parentAvailable??!1,state:"loading",error:null}:h,j=r((o,g)=>{g?y.current.add(o):y.current.delete(o),m(o,g)},"observeCatalog"),O=r(()=>{for(const o of y.current)m(o,!1);y.current.clear(),i(new Set)},"closeAllCatalogs"),N=r((o,g=!1)=>{R(o),o?(L(Date.now()),j(e,!0)):O(),g&&queueMicrotask(()=>{_.current?.focus()})},"changeOpen"),K=r(o=>{const g=new Set,T=r(w=>{if(g.has(w)||!C.has(w))return;g.add(w);const J=u[w];for(const ee of J?.entries??[])ee.kind==="child"&&T(ee.id)},"visit");T(o);for(const w of g)j(w,!1);i(w=>new Set([...w].filter(J=>!g.has(J))))},"closeBranch"),H=r(o=>{if(C.has(o)){K(o);return}i(g=>new Set(g).add(o)),j(o,!0)},"toggleBranch");(0,S.useEffect)(()=>{if(!c)return;const o=r(g=>{g.target instanceof Node&&!v.current?.contains(g.target)&&N(!1)},"closeOutside");return document.addEventListener("pointerdown",o),()=>{document.removeEventListener("pointerdown",o)}},[c]),(0,S.useEffect)(()=>{if(!c||x.runningCount===0)return;const o=setInterval(()=>{L(Date.now())},1e3);return()=>{clearInterval(o)}},[c,x.runningCount]),(0,S.useEffect)(()=>()=>{for(const o of y.current)z.current(o,!1);y.current.clear()},[]);const A=Y!==void 0&&(Y.state==="error"||Y.entries.length>0||M>0);if((0,S.useEffect)(()=>{A||!c||(R(!1),O())},[A,c]),!A)return null;const k=r(o=>{const g=B(v.current);g.length!==0&&g[(o+g.length)%g.length]?.focus()},"focusAt"),p=r(o=>{const g=B(v.current),T=g.indexOf(document.activeElement);o.key==="Escape"?(o.preventDefault(),N(!1,!0)):o.key==="Home"?(o.preventDefault(),k(0)):o.key==="End"?(o.preventDefault(),k(g.length-1)):o.key==="ArrowDown"?(o.preventDefault(),k(T+1)):o.key==="ArrowUp"&&(o.preventDefault(),k(T<0?g.length-1:T-1))},"navigate");return(0,t.jsxs)("div",{className:s.root,ref:v,onKeyDown:p,children:[(0,t.jsxs)("button",{ref:_,type:"button",className:s.trigger,"aria-haspopup":"tree","aria-expanded":c,"aria-label":a(x.runningCount>0?P:I,{count:x.runningCount>0?x.runningCount:M}),onClick:r(()=>{N(!c)},"onClick"),onKeyDown:r(o=>{o.key==="ArrowDown"&&(o.preventDefault(),c||N(!0),queueMicrotask(()=>{k(0)}))},"onKeyDown"),children:[(0,t.jsx)("span",{className:s.activitySlot,children:x.runningCount>0&&(0,t.jsx)(W.StateDot,{state:"ongoing"})}),(0,t.jsx)("span",{className:s.count,children:a(I,{count:M})}),(0,t.jsx)(W.IconChevronDownOutline14,{className:c?s.triggerOpen:void 0})]}),c&&(0,t.jsx)("div",{className:s.menu,role:"tree","aria-label":a("tree.aria"),children:(0,t.jsx)(X,{parentSessionId:e,catalog:Y,catalogs:u,summaries:b,expanded:C,level:1,now:f,openChild:d,refresh:l,toggleBranch:H,closeCatalog:r(()=>{N(!1)},"closeCatalog"),t:a})})]})}r(le,"SubagentCatalogAction");const ce=".v5-w0q_frame{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);min-height:54px;color:var(--dsw-alias-label-tertiary);border-radius:14px;justify-content:center;align-items:center;gap:8px;margin:0 24px 20px;padding:10px 16px;font-size:13px;line-height:20px;display:flex}.v5-w0q_frame strong{color:var(--dsw-alias-label-primary);font-weight:510}",Z="@deepseek-ai/dsh-client-ui-subagent/SubagentReadOnlyComposer.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Z)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-subagent",e.dataset.pluginCss=Z,e.textContent=ce,document.head.appendChild(e)}var ue={frame:"v5-w0q_frame"};function pe({matched:e,t:n}){const d=e.reason==="one-shot";return(0,t.jsxs)("div",{className:ue.frame,role:"status",children:[(0,t.jsx)("strong",{children:n(d?"readonly.oneShot.title":"readonly.title")}),(0,t.jsx)("span",{children:n(d?"readonly.oneShot.body":"readonly.body")})]})}r(pe,"SubagentReadOnlyComposer");const U="subagent",ge={"diagnostic.corrupt":"会话记录损坏","diagnostic.unsupported":"子代理记录版本不受支持","diagnostic.unavailable":"会话记录暂不可用","duration.seconds":"{seconds}秒","duration.minutes":"{minutes}分{seconds}秒","duration.hours":"{hours}小时{minutes}分{seconds}秒","duration.days":"{days}天","duration.daysHours":"{days}天{hours}小时","duration.months":"约{months}个月","duration.monthsDays":"约{months}个月{days}天","duration.years":"约{years}年","duration.yearsMonths":"约{years}年{months}个月","duration.exactDays":"{days}天{hours}小时{minutes}分{seconds}秒","duration.exactTitle":"总活跃耗时:{duration}","loading.label":"正在加载子代理…","loading.aria":"正在加载子代理","load.error":"无法加载子代理",retry:"重试","mode.oneShot":"一次性","mode.continuable":"可继续","activity.running":"正在运行","activity.inactive":"当前未运行","branch.collapse":"收起 {label} 的下级子代理","branch.expand":"展开 {label} 的下级子代理","count.total.one":"{count} 个子代理","count.total.other":"{count} 个子代理","count.running.one":"{count} 个子代理,正在运行","count.running.other":"{count} 个子代理,正在运行","tree.aria":"子代理会话","readonly.oneShot.title":"一次性子代理记录","readonly.title":"此子代理暂时只读","readonly.oneShot.body":"一次性任务不支持后续消息,可在这里查看完整执行记录。","readonly.body":"父会话当前不在线,重新打开父会话后即可继续发送消息。"},be={"diagnostic.corrupt":"corrupted session record","diagnostic.unsupported":"unsupported subagent record version","diagnostic.unavailable":"session record temporarily unavailable","duration.seconds":"{seconds}s","duration.minutes":"{minutes}m {seconds}s","duration.hours":"{hours}h {minutes}m {seconds}s","duration.days":"{days}d","duration.daysHours":"{days}d {hours}h","duration.months":"~{months}mo","duration.monthsDays":"~{months}mo {days}d","duration.years":"~{years}y","duration.yearsMonths":"~{years}y {months}mo","duration.exactDays":"{days}d {hours}h {minutes}m {seconds}s","duration.exactTitle":"Total active duration: {duration}","loading.label":"Loading subagents…","loading.aria":"Loading subagents","load.error":"Unable to load subagents",retry:"Retry","mode.oneShot":"one-shot","mode.continuable":"continuable","activity.running":"running","activity.inactive":"not running","branch.collapse":"Collapse {label} descendants","branch.expand":"Expand {label} descendants","count.total.one":"{count} subagent","count.total.other":"{count} subagents","count.running.one":"{count} subagent running","count.running.other":"{count} subagents running","tree.aria":"Subagent sessions","readonly.oneShot.title":"One-shot subagent record","readonly.title":"This subagent is read-only for now","readonly.oneShot.body":"One-shot tasks do not accept follow-ups; review the full execution record here.","readonly.body":"The parent session is offline; reopen it to continue sending messages."},he=["inputTriggers","sessions","slots","locale"];function me(e){const n=e.session?.subagent;return n==null?null:n.address.mode==="one-shot"?{reason:"one-shot"}:n.parentAvailable||e.session?.running===!0?null:{reason:"parent-unavailable"}}r(me,"selectReadOnlySubagent");function fe(e){e.effect(()=>e.locale.register(U,{zh:ge,en:be}),"ui-subagent: dictionaries");const n=e.sessions,d=r((u,b)=>{const{byId:h}=n.list.getSnapshot();return Object.values(h).filter(c=>c.parentId===u.sessionId&&c.running&&c.displayTitle.includes(b)).map(c=>c.displayTitle)},"childLabels"),l={trigger:"@",name:"subagent",candidates(u,{query:b}){return Promise.resolve(d(u,b).map(h=>({name:h})))},lexicon(u){return d(u,"")},subscribeLexicon(u,b){return n.list.subscribe(b)},onPick({candidate:u}){return{text:`@${u.name} `}},codec:{clipboardText:r(u=>`@${u}`,"clipboardText"),serialize:r(u=>Promise.resolve(`@${u}`),"serialize")}},m=e.get("inputTriggers");e.effect(()=>m.registerSource(l),"ui-subagent: @ source");const a=r(u=>({openChild(b){n.openSubagent(b)},refresh(b){n.refreshSubagents(b)},setCatalogOpen(b,h){n.setSubagentCatalogOpen(b,h)}}),"catalogActions");e.slots.inject("conversation.session.header.actions",()=>e.slots.register({name:"conversation.session.header.actions",id:"subagent-catalog",order:10,locale:U,inject:a},le)),e.slots.inject("conversation.composer",()=>e.slots.register({name:"conversation.composer",priority:-10,locale:U,select:me},pe))}return r(fe,"apply"),q.apply=fe,q.inject=he,$.exports},"factory")});
1
+ var xe=Object.defineProperty;var r=(D,$)=>xe(D,"name",{value:$,configurable:!0});window.__ModuleLoader__.load({id:"@deepseek-ai/dsh-client-ui-subagent",factory:r(D=>{var $={exports:{}},q=$.exports;Object.defineProperty(q,Symbol.toStringTag,{value:"Module"});let t=D("react/jsx-runtime"),S=D("react"),ne=D("@deepseek-ai/dsh-client-runtime/client"),W=D("@deepseek-ai/dsh-client-ui-primitives");const te='.NSdbYW_root{position:relative}.NSdbYW_trigger{min-height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:3px;padding:3px 2px;font-size:12px;line-height:18px;display:inline-flex}.NSdbYW_count{margin:0 5px}.NSdbYW_activitySlot{flex:none;width:10px;height:10px;display:inline-flex}.NSdbYW_trigger:hover,.NSdbYW_trigger:focus-visible{color:var(--dsw-alias-label-secondary)}.NSdbYW_trigger svg{transition:transform .12s}.NSdbYW_triggerOpen{transform:rotate(180deg)}.NSdbYW_menu{z-index:100;box-sizing:border-box;background:var(--dsw-specific-menu);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);width:336px;max-width:min(400px,100vw - 32px);max-height:min(560px,100vh - 140px);box-shadow:var(--dsw-shadow-lv3);border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 5px);left:0;overflow:auto}.NSdbYW_node{min-width:0;position:relative}.NSdbYW_menu>.NSdbYW_node{margin-left:-3px}.NSdbYW_row{box-sizing:border-box;width:100%;min-height:50px;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;outline:none;align-items:flex-start;gap:8px;padding:7px 8px 7px 11px;font-size:13px;line-height:18px;display:flex;position:relative}.NSdbYW_row:hover>.NSdbYW_clickarea,.NSdbYW_row:focus-visible>.NSdbYW_clickarea{background:var(--dsw-alias-interactive-bg-hover)}.NSdbYW_clickarea{box-sizing:border-box;border-radius:8px;flex:1;align-self:stretch;align-items:flex-start;gap:8px;min-width:0;margin:-7px -8px;padding:7px 8px;display:flex}.NSdbYW_row>[data-state],.NSdbYW_clickarea>[data-state]{margin-top:4px}.NSdbYW_disabled{color:var(--dsw-alias-label-dimmed);cursor:not-allowed}.NSdbYW_disabled:hover{background:0 0}.NSdbYW_loadingRow{cursor:default}.NSdbYW_disclosure,.NSdbYW_disclosureSpace{flex:none;width:14px;height:18px}.NSdbYW_disclosure{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:transform .12s;display:inline-flex}.NSdbYW_disclosure:hover{color:var(--dsw-alias-label-primary)}.NSdbYW_disclosureOpen{transform:rotate(90deg)}.NSdbYW_content{flex-direction:column;flex:1;min-width:0;display:flex}.NSdbYW_label,.NSdbYW_summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.NSdbYW_label{color:inherit;font-weight:400}.NSdbYW_summary,.NSdbYW_metrics{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.NSdbYW_metrics{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex:none;grid-template-rows:18px 16px;display:grid}.NSdbYW_metricToken{grid-row:1;line-height:18px}.NSdbYW_metricDuration{grid-row:2}.NSdbYW_children{margin-left:18px;padding-left:4px;position:relative}.NSdbYW_children:before,.NSdbYW_children>.NSdbYW_node:before{content:"";border-left:1px solid var(--dsw-alias-border-l2);position:absolute;left:0}.NSdbYW_children:before{height:26px;top:-26px}.NSdbYW_children[aria-busy=true]:before{content:none}.NSdbYW_children>.NSdbYW_node:before{top:0;bottom:0;left:-4px}.NSdbYW_children>.NSdbYW_node:last-child:before{height:17px;bottom:auto}.NSdbYW_children>.NSdbYW_node>.NSdbYW_row:before{content:"";border-top:1px solid var(--dsw-alias-border-l2);width:14px;position:absolute;top:16px;left:-4px}.NSdbYW_notice,.NSdbYW_error{color:var(--dsw-alias-label-tertiary);padding:10px 12px;font-size:12px;line-height:18px}.NSdbYW_error{color:var(--dsw-alias-state-error-primary);justify-content:space-between;align-items:center;gap:12px;display:flex}.NSdbYW_refresh{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.NSdbYW_refresh:hover{background:var(--dsw-alias-interactive-bg-hover)}',V="@deepseek-ai/dsh-client-ui-subagent/SubagentCatalogAction.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(V)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-subagent",e.dataset.pluginCss=V,e.textContent=te,document.head.appendChild(e)}var s={disabled:"NSdbYW_disabled",triggerOpen:"NSdbYW_triggerOpen",clickarea:"NSdbYW_clickarea",node:"NSdbYW_node",activitySlot:"NSdbYW_activitySlot",children:"NSdbYW_children",label:"NSdbYW_label",metricToken:"NSdbYW_metricToken",metricDuration:"NSdbYW_metricDuration",trigger:"NSdbYW_trigger",loadingRow:"NSdbYW_loadingRow",disclosureSpace:"NSdbYW_disclosureSpace",root:"NSdbYW_root",disclosureOpen:"NSdbYW_disclosureOpen",metrics:"NSdbYW_metrics",error:"NSdbYW_error",refresh:"NSdbYW_refresh",notice:"NSdbYW_notice",row:"NSdbYW_row",disclosure:"NSdbYW_disclosure",count:"NSdbYW_count",content:"NSdbYW_content",summary:"NSdbYW_summary",menu:"NSdbYW_menu"};function oe(e,n){switch(e.reason){case"corrupt":return n("diagnostic.corrupt");case"unsupported":return n("diagnostic.unsupported");case"unavailable":return n("diagnostic.unavailable")}}r(oe,"diagnosticReason");function B(e){return e===null?[]:Array.from(e.querySelectorAll('[role="treeitem"]:not([aria-disabled="true"])'))}r(B,"treeItems");function re(e){const n=r(d=>d>=100?String(Math.round(d)):String(Math.round(d*10)/10),"scaled");return e<1e3?String(e):e<1e6?`${n(e/1e3)}K`:`${n(e/1e6)}M`}r(re,"formatTokens");function se(e){return e===void 0?void 0:e.uncachedInputTokens+e.outputTokens+e.cacheReadTokens+e.cacheWriteTokens}r(se,"tokenTotal");function ae(e,n,d){if(e===void 0)return;const l=e.projectionValues?.subagentTiming;if(l===void 0)return;if(l.active===void 0)return l.settledMs;const m=n==="running"?d:l.active.through;return l.settledMs+Math.max(0,m-l.active.since)}r(ae,"activityDuration");function F(e){const n=Math.floor(Math.max(0,e)/1e3),d=Math.floor(n/60),l=Math.floor(d/60);return{seconds:n%60,minutes:d%60,hours:l%24,days:Math.floor(l/24),totalMinutes:d,totalHours:l}}r(F,"splitDuration");function G(e,n){const{seconds:d,minutes:l,hours:m,days:a,totalMinutes:u,totalHours:b}=F(e);if(a>=365){const h=Math.floor(a/365),c=Math.floor(a%365/30);return c===0?n("duration.years",{years:h}):n("duration.yearsMonths",{years:h,months:c})}if(a>=30){const h=Math.floor(a/30),c=a%30;return c===0?n("duration.months",{months:h}):n("duration.monthsDays",{months:h,days:c})}return a>0?m===0?n("duration.days",{days:a}):n("duration.daysHours",{days:a,hours:m}):b>0?n("duration.hours",{hours:b,minutes:String(l).padStart(2,"0"),seconds:String(d).padStart(2,"0")}):u>0?n("duration.minutes",{minutes:u,seconds:String(d).padStart(2,"0")}):n("duration.seconds",{seconds:d})}r(G,"formatDuration");function ie(e,n){const{seconds:d,minutes:l,hours:m,days:a}=F(e);return a===0?G(e,n):n("duration.exactDays",{days:a,hours:String(m).padStart(2,"0"),minutes:String(l).padStart(2,"0"),seconds:String(d).padStart(2,"0")})}r(ie,"formatExactDuration");const de={count:0,runningCount:0};function Q({parentSessionId:e,summaries:n,level:d,t:l}){const m=Object.values(n).filter(a=>a.origin==="subagent"&&a.parentId===e);return m.length===0?(0,t.jsx)("div",{className:s.notice,children:l("loading.label")}):m.map(a=>(0,t.jsx)("div",{className:s.node,children:(0,t.jsxs)("div",{role:"treeitem","aria-disabled":"true","aria-level":d,"aria-label":l("loading.aria"),className:`${s.row} ${s.disabled} ${s.loadingRow}`,children:[(0,t.jsx)("span",{className:s.disclosureSpace}),(0,t.jsx)(W.StateDot,{state:a.running?"ongoing":"done"}),(0,t.jsx)("span",{className:s.content,children:(0,t.jsx)("span",{className:s.label,children:l("loading.label")})})]})},a.id))}r(Q,"CatalogLoadingRows");function X({parentSessionId:e,catalog:n,catalogs:d,summaries:l,expanded:m,level:a,now:u,openChild:b,refresh:h,toggleBranch:c,closeCatalog:R,t:f}){const L=n.state==="loading"&&n.entries.length===0,C=n.entries.some(i=>i.kind==="child"&&i.hasChildren);return(0,t.jsxs)(t.Fragment,{children:[L&&(0,t.jsx)(Q,{parentSessionId:e,summaries:l,level:a,t:f}),n.state==="error"&&(0,t.jsxs)("div",{className:s.error,children:[(0,t.jsx)("span",{children:n.error?.message??f("load.error")}),(0,t.jsxs)("button",{type:"button",className:s.refresh,onClick:r(()=>{h(e)},"onClick"),children:[(0,t.jsx)(W.IconRefreshOutline14,{}),f("retry")]})]}),n.entries.map(i=>{if(i.kind==="diagnostic"){const p=oe(i,f);return(0,t.jsx)("div",{className:s.node,children:(0,t.jsxs)("div",{role:"treeitem","aria-disabled":"true","aria-level":a,"aria-label":`${i.id} ${p}`,className:`${s.row} ${s.disabled}`,title:p,children:[C&&(0,t.jsx)("span",{className:s.disclosureSpace}),(0,t.jsx)(W.StateDot,{state:"error"}),(0,t.jsxs)("span",{className:s.content,children:[(0,t.jsx)("span",{className:s.label,children:i.id}),(0,t.jsx)("span",{className:s.summary,children:p})]})]})},i.id)}const v=d[i.id],_=m.has(i.id),y=!i.hasChildren,z=v===void 0||v.state==="loading"&&v.entries.length===0,E=l[i.id],x=i.label??i.id,M=i.mode==="one-shot"?f("mode.oneShot"):f("mode.continuable"),I=i.activity==="running"?f("activity.running"):f("activity.inactive"),P=[E?.title,M,I].filter(p=>p!==void 0).join(" · "),Y=se(E?.projectionValues?.tokenUsage),j=ae(E,i.activity,u),O=Y===void 0?void 0:`${re(Y)} tok`,N=j===void 0?void 0:{compact:G(j,f),exact:ie(j,f)},K=[O,N?.exact].filter(p=>p!==void 0).join(" · "),H=r(()=>{b({parentSessionId:e,childSessionId:i.id,mode:i.mode}),R()},"open"),A=r(p=>{p.key==="Enter"||p.key===" "?(p.preventDefault(),p.stopPropagation(),H()):(p.key==="ArrowRight"&&!y&&!_||p.key==="ArrowLeft"&&_)&&(p.preventDefault(),p.stopPropagation(),c(i.id))},"handleKey"),k=r(p=>{p.preventDefault(),p.stopPropagation(),c(i.id)},"toggle");return(0,t.jsxs)("div",{className:s.node,children:[(0,t.jsxs)("div",{role:"treeitem",tabIndex:0,"aria-level":a,"aria-label":[x,P,K].filter(p=>p!=="").join(" "),...y?{}:{"aria-expanded":_},className:s.row,onClick:H,onKeyDown:A,children:[y?C&&(0,t.jsx)("span",{className:s.disclosureSpace}):(0,t.jsx)("button",{type:"button",tabIndex:-1,className:`${s.disclosure} ${_?s.disclosureOpen:""}`,"aria-label":f(_?"branch.collapse":"branch.expand",{label:x}),onClick:k,children:(0,t.jsx)(W.IconChevronRightOutline14,{})}),(0,t.jsxs)("div",{className:s.clickarea,children:[(0,t.jsx)(W.StateDot,{state:i.activity==="running"?"ongoing":"done"}),(0,t.jsxs)("span",{className:s.content,children:[(0,t.jsx)("span",{className:s.label,children:x}),(0,t.jsx)("span",{className:s.summary,children:P})]}),K!==""&&(0,t.jsxs)("span",{className:s.metrics,children:[O!==void 0&&(0,t.jsx)("span",{className:s.metricToken,children:O}),N!==void 0&&(0,t.jsx)("span",{className:s.metricDuration,title:f("duration.exactTitle",{duration:N.exact}),children:N.compact})]})]})]}),_&&!y&&(0,t.jsx)("div",{role:"group",className:s.children,"aria-busy":z||void 0,children:v===void 0?(0,t.jsx)(Q,{parentSessionId:i.id,summaries:l,level:a+1,t:f}):(0,t.jsx)(X,{parentSessionId:i.id,catalog:v,catalogs:d,summaries:l,expanded:m,level:a+1,now:u,openChild:b,refresh:h,toggleBranch:c,closeCatalog:R,t:f})})]},i.id)})]})}r(X,"CatalogRows");function le({sessionId:e,useSessions:n,openChild:d,refresh:l,setCatalogOpen:m,t:a}){const u=n(o=>o.subagentsByParent),b=n(o=>o.byId),h=u[e],[c,R]=(0,S.useState)(!1),[f,L]=(0,S.useState)(()=>Date.now()),[C,i]=(0,S.useState)(()=>new Set),v=(0,S.useRef)(null),_=(0,S.useRef)(null),y=(0,S.useRef)(new Set),z=(0,S.useRef)(m);z.current=m;const E=h?.entries.filter(o=>o.kind==="child")??[],x=(0,S.useMemo)(()=>(0,ne.indexSubagentDescendants)(b).get(e)??de,[e,b]),M=Math.max(E.length,x.count),I=M===1?"count.total.one":"count.total.other",P=x.runningCount===1?"count.running.one":"count.running.other",Y=x.count>0&&(h===void 0||h.state==="ready"&&h.entries.length===0)?{entries:[],parentAvailable:h?.parentAvailable??!1,state:"loading",error:null}:h,j=r((o,g)=>{g?y.current.add(o):y.current.delete(o),m(o,g)},"observeCatalog"),O=r(()=>{for(const o of y.current)m(o,!1);y.current.clear(),i(new Set)},"closeAllCatalogs"),N=r((o,g=!1)=>{R(o),o?(L(Date.now()),j(e,!0)):O(),g&&queueMicrotask(()=>{_.current?.focus()})},"changeOpen"),K=r(o=>{const g=new Set,T=r(w=>{if(g.has(w)||!C.has(w))return;g.add(w);const J=u[w];for(const ee of J?.entries??[])ee.kind==="child"&&T(ee.id)},"visit");T(o);for(const w of g)j(w,!1);i(w=>new Set([...w].filter(J=>!g.has(J))))},"closeBranch"),H=r(o=>{if(C.has(o)){K(o);return}i(g=>new Set(g).add(o)),j(o,!0)},"toggleBranch");(0,S.useEffect)(()=>{if(!c)return;const o=r(g=>{g.target instanceof Node&&!v.current?.contains(g.target)&&N(!1)},"closeOutside");return document.addEventListener("pointerdown",o),()=>{document.removeEventListener("pointerdown",o)}},[c]),(0,S.useEffect)(()=>{if(!c||x.runningCount===0)return;const o=setInterval(()=>{L(Date.now())},1e3);return()=>{clearInterval(o)}},[c,x.runningCount]),(0,S.useEffect)(()=>()=>{for(const o of y.current)z.current(o,!1);y.current.clear()},[]);const A=Y!==void 0&&(Y.state==="error"||Y.entries.length>0||M>0);if((0,S.useEffect)(()=>{A||!c||(R(!1),O())},[A,c]),!A)return null;const k=r(o=>{const g=B(v.current);g.length!==0&&g[(o+g.length)%g.length]?.focus()},"focusAt"),p=r(o=>{const g=B(v.current),T=g.indexOf(document.activeElement);o.key==="Escape"?(o.preventDefault(),N(!1,!0)):o.key==="Home"?(o.preventDefault(),k(0)):o.key==="End"?(o.preventDefault(),k(g.length-1)):o.key==="ArrowDown"?(o.preventDefault(),k(T+1)):o.key==="ArrowUp"&&(o.preventDefault(),k(T<0?g.length-1:T-1))},"navigate");return(0,t.jsxs)("div",{className:s.root,ref:v,onKeyDown:p,children:[(0,t.jsxs)("button",{ref:_,type:"button",className:s.trigger,"aria-haspopup":"tree","aria-expanded":c,"aria-label":a(x.runningCount>0?P:I,{count:x.runningCount>0?x.runningCount:M}),onClick:r(()=>{N(!c)},"onClick"),onKeyDown:r(o=>{o.key==="ArrowDown"&&(o.preventDefault(),c||N(!0),queueMicrotask(()=>{k(0)}))},"onKeyDown"),children:[(0,t.jsx)("span",{className:s.activitySlot,children:x.runningCount>0&&(0,t.jsx)(W.StateDot,{state:"ongoing"})}),(0,t.jsx)("span",{className:s.count,children:a(I,{count:M})}),(0,t.jsx)(W.IconChevronDownOutline14,{className:c?s.triggerOpen:void 0})]}),c&&(0,t.jsx)("div",{className:s.menu,role:"tree","aria-label":a("tree.aria"),children:(0,t.jsx)(X,{parentSessionId:e,catalog:Y,catalogs:u,summaries:b,expanded:C,level:1,now:f,openChild:d,refresh:l,toggleBranch:H,closeCatalog:r(()=>{N(!1)},"closeCatalog"),t:a})})]})}r(le,"SubagentCatalogAction");const ce=".v5-w0q_frame{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);min-height:54px;color:var(--dsw-alias-label-tertiary);border-radius:14px;justify-content:center;align-items:center;gap:8px;margin:0 24px 20px;padding:10px 16px;font-size:13px;line-height:20px;display:flex}.v5-w0q_frame strong{color:var(--dsw-alias-label-primary);font-weight:510}",Z="@deepseek-ai/dsh-client-ui-subagent/SubagentReadOnlyComposer.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Z)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-subagent",e.dataset.pluginCss=Z,e.textContent=ce,document.head.appendChild(e)}var ue={frame:"v5-w0q_frame"};function pe({matched:e,t:n}){const d=e.reason==="one-shot";return(0,t.jsxs)("div",{className:ue.frame,role:"status",children:[(0,t.jsx)("strong",{children:n(d?"readonly.oneShot.title":"readonly.title")}),(0,t.jsx)("span",{children:n(d?"readonly.oneShot.body":"readonly.body")})]})}r(pe,"SubagentReadOnlyComposer");const U="subagent",ge={"diagnostic.corrupt":"会话记录损坏","diagnostic.unsupported":"子代理记录版本不受支持","diagnostic.unavailable":"会话记录暂不可用","duration.seconds":"{seconds}秒","duration.minutes":"{minutes}分{seconds}秒","duration.hours":"{hours}小时{minutes}分{seconds}秒","duration.days":"{days}天","duration.daysHours":"{days}天{hours}小时","duration.months":"约{months}个月","duration.monthsDays":"约{months}个月{days}天","duration.years":"约{years}年","duration.yearsMonths":"约{years}年{months}个月","duration.exactDays":"{days}天{hours}小时{minutes}分{seconds}秒","duration.exactTitle":"总活跃耗时:{duration}","loading.label":"正在加载子代理…","loading.aria":"正在加载子代理","load.error":"无法加载子代理",retry:"重试","mode.oneShot":"一次性","mode.continuable":"可继续","activity.running":"正在运行","activity.inactive":"当前未运行","branch.collapse":"收起 {label} 的下级子代理","branch.expand":"展开 {label} 的下级子代理","count.total.one":"{count} 个子代理","count.total.other":"{count} 个子代理","count.running.one":"{count} 个子代理,正在运行","count.running.other":"{count} 个子代理,正在运行","tree.aria":"子代理会话","readonly.oneShot.title":"一次性子代理记录","readonly.title":"此子代理暂时只读","readonly.oneShot.body":"一次性任务不支持后续消息,可在这里查看完整执行记录。","readonly.body":"父会话当前不在线,重新打开父会话后即可继续发送消息。"},be={"diagnostic.corrupt":"corrupted session record","diagnostic.unsupported":"unsupported subagent record version","diagnostic.unavailable":"session record temporarily unavailable","duration.seconds":"{seconds}s","duration.minutes":"{minutes}m {seconds}s","duration.hours":"{hours}h {minutes}m {seconds}s","duration.days":"{days}d","duration.daysHours":"{days}d {hours}h","duration.months":"~{months}mo","duration.monthsDays":"~{months}mo {days}d","duration.years":"~{years}y","duration.yearsMonths":"~{years}y {months}mo","duration.exactDays":"{days}d {hours}h {minutes}m {seconds}s","duration.exactTitle":"Total active duration: {duration}","loading.label":"Loading subagents…","loading.aria":"Loading subagents","load.error":"Unable to load subagents",retry:"Retry","mode.oneShot":"one-shot","mode.continuable":"continuable","activity.running":"running","activity.inactive":"not running","branch.collapse":"Collapse {label} descendants","branch.expand":"Expand {label} descendants","count.total.one":"{count} subagent","count.total.other":"{count} subagents","count.running.one":"{count} subagent running","count.running.other":"{count} subagents running","tree.aria":"Subagent sessions","readonly.oneShot.title":"One-shot subagent record","readonly.title":"This subagent is read-only for now","readonly.oneShot.body":"One-shot tasks do not accept follow-ups; review the full execution record here.","readonly.body":"The parent session is offline; reopen it to continue sending messages."},he=["inputTriggers","sessions","slots","locale"];function me(e){const n=e.session?.subagent;return n==null?null:n.address.mode==="one-shot"?{reason:"one-shot"}:n.parentAvailable||e.session?.running===!0?null:{reason:"parent-unavailable"}}r(me,"selectReadOnlySubagent");function fe(e){e.effect(()=>e.locale.register(U,{zh:ge,en:be}),"ui-subagent: dictionaries");const n=e.sessions,d=r((u,b)=>{const{byId:h}=n.list.getSnapshot();return Object.values(h).filter(c=>c.parentId===u.sessionId&&c.running&&c.displayTitle.includes(b)).map(c=>c.displayTitle)},"childLabels"),l={trigger:"@",name:"subagent",candidates(u,{query:b}){return Promise.resolve(d(u,b).map(h=>({name:h})))},lexicon(u){return d(u,"")},subscribeLexicon(u,b){return n.list.subscribe(b)},onPick({candidate:u}){return{text:`@${u.name} `}},codec:{clipboardText:r(u=>`@${u}`,"clipboardText"),serialize:r(u=>Promise.resolve(`@${u}`),"serialize")}},m=e.get("inputTriggers");e.effect(()=>m.registerSource(l),"ui-subagent: @ source");const a=r(u=>({openChild(b){n.openSubagent(b)},refresh(b){n.refreshSubagents(b)},setCatalogOpen(b,h){n.setSubagentCatalogOpen(b,h)}}),"catalogActions");e.slots.inject("conversation.session.header.actions",()=>e.slots.register({name:"conversation.session.header.actions",id:"subagent-catalog",order:10,locale:U,inject:a},le)),e.slots.inject("conversation.composer",()=>e.slots.register({name:"conversation.composer",priority:-10,locale:U,select:me},pe))}return r(fe,"apply"),q.apply=fe,q.inject=he,$.exports},"factory")});
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-client-ui-subagent","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-primitives","@deepseek-ai/dsh-client-ui-input-trigger"],"platform":"web"}},"license":"MIT","dependencies":{"react":"^18.2.0"},"peerDependencies":{"@deepseek-ai/dsh-client-locale":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7","@deepseek-ai/dsh-subagent":"^0.1.0-rc.7","@deepseek-ai/dsh-token-meter":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.7"}}
1
+ {"name":"@deepseek-ai/dsh-client-ui-subagent","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-primitives","@deepseek-ai/dsh-client-ui-input-trigger"],"platform":"web"}},"license":"MIT","dependencies":{"react":"^18.2.0"},"peerDependencies":{"@deepseek-ai/dsh-client-locale":"^0.1.0-rc.7","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-subagent":"^0.1.0-rc.7","@deepseek-ai/dsh-token-meter":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7"}}
@@ -1 +1 @@
1
- var ke=Object.defineProperty;var c=(v,j)=>ke(v,"name",{value:j,configurable:!0});window.__ModuleLoader__.load({id:"@deepseek-ai/dsh-client-ui-theme",factory:c(v=>{var j={exports:{}},x=j.exports;Object.defineProperty(x,Symbol.toStringTag,{value:"Module"});let O=v("react/jsx-runtime"),D=v("@deepseek-ai/dsh-client-ui-primitives"),Q=v("@deepseek-ai/dsh-client-runtime/client");function B(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(r=B(e[t]))&&(n&&(n+=" "),n+=r)}else for(r in e)e[r]&&(n&&(n+=" "),n+=r);return n}c(B,"r");function X(){for(var e,t,r=0,n="",i=arguments.length;r<i;r++)(e=arguments[r])&&(t=B(e))&&(n&&(n+=" "),n+=t);return n}c(X,"clsx");const Z=".gO7-zq_group{border-bottom:1px solid var(--dsw-alias-border-l2);flex-direction:column;gap:8px;padding:16px 0;display:flex}.gO7-zq_title{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}.gO7-zq_cubeRow{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.gO7-zq_themeCube{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:16px;flex-direction:column;flex:180px;justify-content:center;align-items:center;gap:4px;padding:20px 32px;font-size:14px;line-height:22px;display:flex}.gO7-zq_themeCube:hover:not(.gO7-zq_selected){background:var(--dsw-alias-interactive-bg-hover)}.gO7-zq_selected{background:var(--dsw-alias-bg-module-platform);border-color:var(--dsw-static-neutral-bluish-400)}",P="@deepseek-ai/dsh-client-ui-theme/AppearanceRow.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(P)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-theme",e.dataset.pluginCss=P,e.textContent=Z,document.head.appendChild(e)}var k={selected:"gO7-zq_selected",group:"gO7-zq_group",title:"gO7-zq_title",themeCube:"gO7-zq_themeCube",cubeRow:"gO7-zq_cubeRow"};const ee=[{id:"light",labelKey:"appearance.light",Icon:D.IconLightOutline16},{id:"dark",labelKey:"appearance.dark",Icon:D.IconDarkOutline16},{id:"system",labelKey:"appearance.system",Icon:D.IconFollowsystemOutline16}];function te({t:e,setTheme:t,useStore:r}){const n=r(i=>i.preference);return(0,O.jsxs)("div",{className:k.group,children:[(0,O.jsx)("div",{className:k.title,children:e("appearance.title")}),(0,O.jsx)("div",{className:k.cubeRow,children:ee.map(({id:i,labelKey:a,Icon:s})=>(0,O.jsxs)("button",{type:"button",className:X(k.themeCube,n===i&&k.selected),"aria-pressed":n===i,onClick:c(()=>{t(i)},"onClick"),children:[(0,O.jsx)(s,{}),e(a)]},i))})]})}c(te,"AppearanceRow");function re(){return(0,Q.defineStore)({init:c(()=>({preference:"system",revision:-1}),"init"),actions:{sync:c((e,t,r)=>{r<=e.revision||(e.preference=t,e.revision=r)},"sync")}})}c(re,"createAppearanceRowStore");const ne={"appearance.title":"外观","appearance.light":"浅色","appearance.dark":"深色","appearance.system":"跟随系统"},ie={"appearance.title":"Appearance","appearance.light":"Light","appearance.dark":"Dark","appearance.system":"System"};function y(e){return e==null}c(y,"isNullable");function N(e){return e&&typeof e=="object"&&!Array.isArray(e)}c(N,"isPlainObject");function se(e,t){return Object.fromEntries(Object.entries(e).filter(([r,n])=>t(r,n)))}c(se,"filterKeys");function b(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>[r,t(n,r)]))}c(b,"mapValues");function oe(e,t,r){if(!t)return{...e};const n={};for(const i of t)(r||e[i]!==void 0)&&(n[i]=e[i]);return n}c(oe,"pick");function w(e,t){return arguments.length===1?r=>w(e,r):e in globalThis&&t instanceof globalThis[e]||Object.prototype.toString.call(t).slice(8,-1)===e}c(w,"is");function E(e){return w("ArrayBuffer",e)||w("SharedArrayBuffer",e)}c(E,"isArrayBufferLike");function ae(e){return E(e)||ArrayBuffer.isView(e)}c(ae,"isArrayBufferSource");let m;(function(e){e.is=E,e.isSource=ae;function t(s){return ArrayBuffer.isView(s)?s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength):s}c(t,"fromSource"),e.fromSource=t;function r(s){if(s=t(s),typeof Buffer<"u")return Buffer.from(s).toString("base64");let f="";const d=new Uint8Array(s);for(let g=0;g<d.byteLength;g++)f+=String.fromCharCode(d[g]);return btoa(f)}c(r,"toBase64"),e.toBase64=r;function n(s){return typeof Buffer<"u"?t(Buffer.from(s,"base64")):Uint8Array.from(atob(s),f=>f.charCodeAt(0))}c(n,"fromBase64"),e.fromBase64=n;function i(s){return s=t(s),typeof Buffer<"u"?Buffer.from(s).toString("hex"):Array.from(new Uint8Array(s),f=>f.toString(16).padStart(2,"0")).join("")}c(i,"toHex"),e.toHex=i;function a(s){if(typeof Buffer<"u")return t(Buffer.from(s,"hex"));const f=s.length%2===0?s:s.slice(0,s.length-1),d=[];for(let g=0;g<f.length;g+=2)d.push(parseInt(`${f[g]}${f[g+1]}`,16));return Uint8Array.from(d).buffer}c(a,"fromHex"),e.fromHex=a})(m||(m={})),m.fromBase64,m.toBase64,m.fromHex,m.toHex;function q(e,t=new Map){if(!e||typeof e!="object")return e;if(w("Date",e))return new Date(e.valueOf());if(w("RegExp",e))return new RegExp(e.source,e.flags);if(E(e))return e.slice(0);if(ArrayBuffer.isView(e))return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);const r=t.get(e);if(r)return r;if(Array.isArray(e)){const i=[];return t.set(e,i),e.forEach((a,s)=>{i[s]=Reflect.apply(q,null,[a,t])}),i}const n=Object.create(Object.getPrototypeOf(e));t.set(e,n);for(const i of Reflect.ownKeys(e)){const a={...Reflect.getOwnPropertyDescriptor(e,i)};"value"in a&&(a.value=Reflect.apply(q,null,[a.value,t])),Reflect.defineProperty(n,i,a)}return n}c(q,"clone");function $(e,t,r){if(e===t||!r&&y(e)&&y(t))return!0;if(typeof e!=typeof t||typeof e!="object"||!e||!t)return!1;function n(i,a){return i(e)?i(t)?a(e,t):!1:i(t)?!1:void 0}return c(n,"check"),n(Array.isArray,(i,a)=>i.length===a.length&&i.every((s,f)=>$(s,a[f])))??n(w("Date"),(i,a)=>i.valueOf()===a.valueOf())??n(w("RegExp"),(i,a)=>i.source===a.source&&i.flags===a.flags)??n(E,(i,a)=>{if(i.byteLength!==a.byteLength)return!1;const s=new Uint8Array(i),f=new Uint8Array(a);for(let d=0;d<s.length;d++)if(s[d]!==f[d])return!1;return!0})??Object.keys({...e,...t}).every(i=>$(e[i],t[i],r))}c($,"deepEqual");let V;(function(e){e.millisecond=1;const t=e.second=1e3,r=e.minute=t*60,n=e.hour=r*60,i=e.day=n*24,a=e.week=i*7;let s=new Date().getTimezoneOffset();function f(l){s=l}c(f,"setTimezoneOffset"),e.setTimezoneOffset=f;function d(){return s}c(d,"getTimezoneOffset"),e.getTimezoneOffset=d;function g(l=new Date,u){return typeof l=="number"&&(l=new Date(l)),u===void 0&&(u=s),Math.floor((l.valueOf()/r-u)/1440)}c(g,"getDateNumber"),e.getDateNumber=g;function ge(l,u){const Oe=new Date(l*i);return u===void 0&&(u=s),new Date(+Oe+u*r)}c(ge,"fromDateNumber"),e.fromDateNumber=ge;const be=/\d+(?:\.\d+)?/.source,we=new RegExp(`^${["w(?:eek(?:s)?)?","d(?:ay(?:s)?)?","h(?:our(?:s)?)?","m(?:in(?:ute)?(?:s)?)?","s(?:ec(?:ond)?(?:s)?)?"].map(l=>`(${be}${l})?`).join("")}$`);function Y(l){const u=we.exec(l);return u?(parseFloat(u[1])*a||0)+(parseFloat(u[2])*i||0)+(parseFloat(u[3])*n||0)+(parseFloat(u[4])*r||0)+(parseFloat(u[5])*t||0):0}c(Y,"parseTime"),e.parseTime=Y;function Se(l){const u=Y(l);return u?l=Date.now()+u:/^\d{1,2}(:\d{1,2}){1,2}$/.test(l)?l=`${new Date().toLocaleDateString()}-${l}`:/^\d{1,2}-\d{1,2}-\d{1,2}(:\d{1,2}){1,2}$/.test(l)&&(l=`${new Date().getFullYear()}-${l}`),l?new Date(l):new Date}c(Se,"parseDate"),e.parseDate=Se;function ve(l){const u=Math.abs(l);return u>=i-n/2?Math.round(l/i)+"d":u>=n-r/2?Math.round(l/n)+"h":u>=r-t/2?Math.round(l/r)+"m":u>=t?Math.round(l/t)+"s":l+"ms"}c(ve,"format"),e.format=ve;function S(l,u=2){return l.toString().padStart(u,"0")}c(S,"toDigits"),e.toDigits=S;function xe(l,u=new Date){return l.replace("yyyy",u.getFullYear().toString()).replace("yy",u.getFullYear().toString().slice(2)).replace("MM",S(u.getMonth()+1)).replace("dd",S(u.getDate())).replace("hh",S(u.getHours())).replace("mm",S(u.getMinutes())).replace("ss",S(u.getSeconds())).replace("SSS",S(u.getMilliseconds(),3))}c(xe,"template"),e.template=xe})(V||(V={}));const A=Symbol.for("schemastery"),I=Symbol.for("ValidationError");globalThis.__schemastery_index__??=0,globalThis.__schemastery_refs__=void 0;var p=class extends TypeError{static{c(this,"ValidationError")}options;name="ValidationError";constructor(e,t){let r="$";for(const n of t.path||[])typeof n=="string"?r+="."+n:typeof n=="number"?r+="["+n+"]":typeof n=="symbol"&&(r+=`[Symbol(${n.toString()})]`);r.startsWith(".")&&(r=r.slice(1)),super((r==="$"?"":`${r} `)+e),this.options=t}static is(e){return!!e?.[I]}};Object.defineProperty(p.prototype,I,{value:!0});const o=c(function(e){const t=c(function(r,n={}){return o.resolve(r,t,n)[0]},"schema");if(e.refs){const r=b(e.refs,i=>new o(i)),n=c(i=>r[i],"getRef");for(const i in r){const a=r[i];a.sKey=n(a.sKey),a.inner=n(a.inner),a.list=a.list&&a.list.map(n),a.dict=a.dict&&b(a.dict,n)}return r[e.uid]}if(Object.assign(t,e),typeof t.callback=="string")try{t.callback=new Function("return "+t.callback)()}catch{}return Object.defineProperty(t,"uid",{value:globalThis.__schemastery_index__++}),Object.setPrototypeOf(t,o.prototype),t.meta||={},t.toString=t.toString.bind(t),t},"Schema");o.prototype=Object.create(Function.prototype),o.prototype[A]=!0,Object.defineProperty(o.prototype,"~standard",{get(){return{version:1,vendor:"schemastery",validate:c(e=>{try{return{value:o.resolve(e,this,{})[0]}}catch(t){if(p.is(t))return{issues:[{message:t.message,path:t.options.path}]};throw t}},"validate")}}}),o.ValidationError=p,o.prototype.toJSON=c(function(){if(globalThis.__schemastery_refs__)return globalThis.__schemastery_refs__[this.uid]??=JSON.parse(JSON.stringify({...this})),this.uid;globalThis.__schemastery_refs__={[this.uid]:{...this}},globalThis.__schemastery_refs__[this.uid]=JSON.parse(JSON.stringify({...this}));const t={uid:this.uid,refs:globalThis.__schemastery_refs__};return globalThis.__schemastery_refs__=void 0,t},"toJSON"),o.prototype.set=c(function(t,r){return this.dict[t]=r,this},"set"),o.prototype.push=c(function(t){return this.list.push(t),this},"push");function ce(e,t){const r=typeof e=="string"?{"":e}:{...e};for(const n in t){const i=t[n];i?.$description||i?.$desc?r[n]=i.$description||i.$desc:typeof i=="string"&&(r[n]=i)}return r}c(ce,"mergeDesc");function _(e){return e?.$value??e?.$inner}c(_,"getInner");function F(e){return se(e??{},t=>!t.startsWith("$"))}c(F,"extractKeys"),o.prototype.i18n=c(function(t){const r=o(this),n=ce(r.meta.description,t);return Object.keys(n).length&&(r.meta.description=n),r.dict&&(r.dict=b(r.dict,(i,a)=>i.i18n(b(t,s=>_(s)?.[a]??s?.[a])))),r.list&&(r.list=r.list.map((i,a)=>i.i18n(b(t,(s={})=>Array.isArray(_(s))?_(s)[a]:Array.isArray(s)?s[a]:F(s))))),r.inner&&(r.inner=r.inner.i18n(b(t,i=>_(i)?_(i):F(i)))),r.sKey&&(r.sKey=r.sKey.i18n(b(t,i=>i?.$key))),r},"i18n"),o.prototype.extra=c(function(t,r){const n=o(this);return n.meta={...n.meta,[t]:r},n},"extra");for(const e of["required","disabled","collapse","hidden","loose"])Object.assign(o.prototype,{[e](t=!0){const r=o(this);return r.meta={...r.meta,[e]:t},r}});o.prototype.deprecated=c(function(){const t=o(this);return t.meta.badges||=[],t.meta.badges.push({text:"deprecated",type:"danger"}),t},"deprecated"),o.prototype.experimental=c(function(){const t=o(this);return t.meta.badges||=[],t.meta.badges.push({text:"experimental",type:"warning"}),t},"experimental"),o.prototype.pattern=c(function(t){const r=o(this),n=oe(t,["source","flags"]);return r.meta={...r.meta,pattern:n},r},"pattern"),o.prototype.simplify=c(function(t){if($(t,this.meta.default,this.type==="dict"))return null;if(y(t))return t;if(this.type==="object"||this.type==="dict"){const r={};for(const n in t){const i=(this.type==="object"?this.dict[n]:this.inner)?.simplify(t[n]);(this.type==="dict"||!y(i))&&(r[n]=i)}return $(r,this.meta.default,this.type==="dict")?null:r}else if(this.type==="array"||this.type==="tuple"){const r=[];return t.forEach((n,i)=>{const a=this.type==="array"?this.inner:this.list[i],s=a?a.simplify(n):n;r.push(s)}),r}else if(this.type==="intersect"){const r={};for(const n of this.list)Object.assign(r,n.simplify(t));return r}else if(this.type==="union")for(const r of this.list)try{return o.resolve(t,r,{}),r.simplify(t)}catch{}return t},"simplify"),o.prototype.toString=c(function(t){return K[this.type]?.(this,t)??`Schema<${this.type}>`},"toString"),o.prototype.role=c(function(e,t){const r=o(this);return r.meta={...r.meta,role:e,extra:t},r},"role");for(const e of["default","link","comment","description","max","min","step"])Object.assign(o.prototype,{[e](t){const r=o(this);return r.meta={...r.meta,[e]:t},r}});const J={};o.extend=c(function(t,r){J[t]=r},"extend"),o.resolve=c(function(t,r,n={},i=!1){if(!r)return[t];if(n.ignore?.(t,r))return[t];if(y(t)&&r.type!=="lazy"){if(r.meta.required)throw new p("missing required value",n);let s=r,f=r.meta.default;for(;s?.type==="intersect"&&y(f);)s=s.list[0],f=s?.meta.default;if(y(f))return[t];t=q(f)}const a=J[r.type];if(!a)throw new p(`unsupported type "${r.type}"`,n);try{return a(t,r,n,i)}catch(s){if(!r.meta.loose)throw s;return[r.meta.default]}},"resolve"),o.from=c(function(t){if(y(t))return o.any();if(["string","number","boolean"].includes(typeof t))return o.const(t).required();if(t[A])return t;if(typeof t=="function")switch(t){case String:return o.string().required();case Number:return o.number().required();case Boolean:return o.boolean().required();case Function:return o.function().required();default:return o.is(t).required()}else throw new TypeError(`cannot infer schema from ${t}`)},"from"),o.lazy=c(function(t){const r=c(()=>(n.inner[A]||(n.inner=n.builder(),n.inner.meta={...n.meta,...n.inner.meta}),n.inner.toJSON()),"toJSON"),n=new o({type:"lazy",builder:t,inner:{toJSON:r}});return n},"lazy"),o.natural=c(function(){return o.number().step(1).min(0)},"natural"),o.percent=c(function(){return o.number().step(.01).min(0).max(1).role("slider")},"percent"),o.date=c(function(){return o.union([o.is(Date),o.transform(o.string().role("datetime"),(t,r)=>{const n=new Date(t);if(isNaN(+n))throw new p(`invalid date "${t}"`,r);return n},!0)])},"date"),o.regExp=c(function(t=""){return o.union([o.is(RegExp),o.transform(o.string().role("regexp",{flag:t}),(r,n)=>{try{return new RegExp(r,t)}catch(i){throw new p(i.message,n)}},!0)])},"regExp"),o.arrayBuffer=c(function(t){return o.union([o.is(ArrayBuffer),o.is(SharedArrayBuffer),o.transform(o.any(),(r,n)=>{if(m.isSource(r))return m.fromSource(r);throw new p(`expected ArrayBufferSource but got ${r}`,n)},!0),...t?[o.transform(o.string(),(r,n)=>{try{return t==="base64"?m.fromBase64(r):m.fromHex(r)}catch(i){throw new p(i.message,n)}},!0)]:[]])},"arrayBuffer"),o.extend("lazy",(e,t,r,n)=>(t.inner[A]||(t.inner=t.builder(),t.inner.meta={...t.meta,...t.inner.meta}),o.resolve(e,t.inner,r,n))),o.extend("any",e=>[e]),o.extend("never",(e,t,r)=>{throw new p(`expected nullable but got ${e}`,r)}),o.extend("const",(e,{value:t},r)=>{if($(e,t))return[t];throw new p(`expected ${t} but got ${e}`,r)});function z(e,t,r,n,i=!1){const{max:a=1/0,min:s=-1/0}=t;if(e>a)throw new p(`expected ${r} <= ${a} but got ${e}`,n);if(e<s&&!i)throw new p(`expected ${r} >= ${s} but got ${e}`,n)}c(z,"checkWithinRange"),o.extend("string",(e,{meta:t},r)=>{if(typeof e!="string")throw new p(`expected string but got ${e}`,r);if(t.pattern){const n=new RegExp(t.pattern.source,t.pattern.flags);if(!n.test(e))throw new p(`expect string to match regexp ${n}`,r)}return z(e.length,t,"string length",r),[e]});function C(e,t){const r=e.toString();if(r.includes("e"))return e*Math.pow(10,t);const n=r.indexOf(".");if(n===-1)return e*Math.pow(10,t);const i=r.slice(n+1),a=r.slice(0,n);return i.length<=t?+(a+i.padEnd(t,"0")):+(a+i.slice(0,t)+"."+i.slice(t))}c(C,"decimalShift");function fe(e,t,r){if(r=Math.abs(r),!/^\d+\.\d+$/.test(r.toString()))return(e-t)%r===0;const n=r.toString().indexOf("."),i=r.toString().slice(n+1).length;return Math.abs(C(e,i)-C(t,i))%C(r,i)===0}c(fe,"isMultipleOf"),o.extend("number",(e,{meta:t},r)=>{if(typeof e!="number")throw new p(`expected number but got ${e}`,r);z(e,t,"number",r);const{step:n}=t;if(n&&!fe(e,t.min??0,n))throw new p(`expected number multiple of ${n} but got ${e}`,r);return[e]}),o.extend("boolean",(e,t,r)=>{if(typeof e=="boolean")return[e];throw new p(`expected boolean but got ${e}`,r)}),o.extend("bitset",(e,{bits:t,meta:r},n)=>{let i=0,a=[];if(typeof e=="number"){i=e;for(const s in t)e&t[s]&&a.push(s)}else if(Array.isArray(e)){a=e;for(const s of a){if(typeof s!="string")throw new p(`expected string but got ${s}`,n);s in t&&(i|=t[s])}}else throw new p(`expected number or array but got ${e}`,n);return i===r.default?[i]:[i,a]}),o.extend("function",(e,t,r)=>{if(typeof e=="function")return[e];throw new p(`expected function but got ${e}`,r)}),o.extend("is",(e,{constructor:t},r)=>{if(typeof t=="function"){if(e instanceof t)return[e];throw new p(`expected ${t.name} but got ${e}`,r)}else{if(y(e))throw new p(`expected ${t} but got ${e}`,r);let n=Object.getPrototypeOf(e);for(;n;){if(n.constructor?.name===t)return[e];n=Object.getPrototypeOf(n)}throw new p(`expected ${t} but got ${e}`,r)}});function T(e,t,r,n){try{const[i,a]=o.resolve(e[t],r,{...n,path:[...n.path||[],t]});return a!==void 0&&(e[t]=a),i}catch(i){if(!n?.autofix)throw i;return delete e[t],r.meta.default}}c(T,"property"),o.extend("array",(e,{inner:t,meta:r},n)=>{if(!Array.isArray(e))throw new p(`expected array but got ${e}`,n);return z(e.length,r,"array length",n,!y(t.meta.default)),[e.map((i,a)=>T(e,a,t,n))]}),o.extend("dict",(e,{inner:t,sKey:r},n,i)=>{if(!N(e))throw new p(`expected object but got ${e}`,n);const a={};for(const s in e){let f;try{f=o.resolve(s,r,n)[0]}catch(d){if(i)continue;throw d}a[f]=T(e,s,t,n),e[f]=e[s],s!==f&&delete e[s]}return[a]}),o.extend("tuple",(e,{list:t},r,n)=>{if(!Array.isArray(e))throw new p(`expected array but got ${e}`,r);const i=t.map((a,s)=>T(e,s,a,r));return n?[i]:(i.push(...e.slice(t.length)),[i])});function R(e,t){for(const r in t)r in e||(e[r]=t[r])}c(R,"merge"),o.extend("object",(e,{dict:t},r,n)=>{if(!N(e))throw new p(`expected object but got ${e}`,r);const i={};for(const a in t){const s=T(e,a,t[a],r);(!y(s)||a in e)&&(i[a]=s)}return n||R(i,e),[i]}),o.extend("union",(e,{list:t,toString:r},n,i)=>{const a=[];for(const s of t)try{return o.resolve(e,s,n,i)}catch(f){a.push(f)}throw new p(`expected ${r()} but got ${JSON.stringify(e)}`,n)}),o.extend("intersect",(e,{list:t,toString:r},n,i)=>{if(!t.length)return[e];let a;for(const s of t){const f=o.resolve(e,s,n,!0)[0];if(!y(f))if(y(a))a=f;else{if(typeof a!=typeof f)throw new p(`expected ${r()} but got ${JSON.stringify(e)}`,n);if(typeof f=="object")R(a??={},f);else if(a!==f)throw new p(`expected ${r()} but got ${JSON.stringify(e)}`,n)}}return!i&&N(e)&&R(a,e),[a]}),o.extend("transform",(e,{inner:t,callback:r,preserve:n},i)=>{const[a,s=e]=o.resolve(e,t,i,!0);return n?[r(a)]:[r(a),r(s)]});const K={};function h(e,t,r){K[e]=r,Object.assign(o,{[e](...n){const i=new o({type:e});return t.forEach((a,s)=>{switch(a){case"sKey":i.sKey=n[s]??o.string();break;case"inner":i.inner=o.from(n[s]);break;case"list":i.list=n[s].map(o.from);break;case"dict":i.dict=b(n[s],o.from);break;case"bits":i.bits={};for(const f in n[s])typeof n[s][f]=="number"&&(i.bits[f]=n[s][f]);break;case"callback":{const f=i.callback=n[s];f.toJSON||=()=>f.toString();break}case"constructor":{const f=i.constructor=n[s];typeof f=="function"&&(f.toJSON||=()=>f.name);break}default:i[a]=n[s]}}),e==="object"||e==="dict"?i.meta.default={}:e==="array"||e==="tuple"?i.meta.default=[]:e==="bitset"&&(i.meta.default=0),i}})}c(h,"defineMethod"),h("is",["constructor"],({constructor:e})=>typeof e=="function"?e.name:e),h("any",[],()=>"any"),h("never",[],()=>"never"),h("const",["value"],({value:e})=>typeof e=="string"?JSON.stringify(e):e),h("string",[],()=>"string"),h("number",[],()=>"number"),h("boolean",[],()=>"boolean"),h("bitset",["bits"],()=>"bitset"),h("function",[],()=>"function"),h("array",["inner"],({inner:e})=>`${e.toString(!0)}[]`),h("dict",["inner","sKey"],({inner:e,sKey:t})=>`{ [key: ${t.toString()}]: ${e.toString()} }`),h("tuple",["list"],({list:e})=>`[${e.map(t=>t.toString()).join(", ")}]`),h("object",["dict"],({dict:e})=>Object.keys(e).length===0?"{}":`{ ${Object.entries(e).map(([t,r])=>`${t}${r.meta.required?"":"?"}: ${r.toString()}`).join(", ")} }`),h("union",["list"],({list:e},t)=>{const r=e.map(({toString:n})=>n()).join(" | ");return t?`(${r})`:r}),h("intersect",["list"],({list:e})=>`${e.map(t=>t.toString(!0)).join(" & ")}`),h("transform",["inner","callback","preserve"],({inner:e},t)=>e.toString(t));const H=["light","dark","system"],le="ui-theme",U="preference",L="system";o.object({[U]:o.union([...H]).default(L)});function ue(e){return H.some(t=>t===e)}c(ue,"isThemePreference");const M="settings.theme",pe=Object.freeze([Object.freeze({id:"light",colorScheme:"light",tokens:Object.freeze({})}),Object.freeze({id:"dark",colorScheme:"dark",tokens:Object.freeze({})})]),he=Object.freeze([{name:"--dsw-alias-bg-base",description:"Application base background.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-bg-base"},{name:"--dsw-alias-bg-layer-1",description:"Primary raised surface background.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-bg-layer-1"},{name:"--dsw-alias-bg-layer-2",description:"Secondary nested surface background.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-bg-layer-2"},{name:"--dsw-alias-bg-overlay",description:"Overlay and popover background.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-bg-overlay"},{name:"--dsw-alias-border-l1",description:"Primary subtle border.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-border-l1"},{name:"--dsw-alias-border-l2",description:"Secondary stronger border.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-border-l2"},{name:"--dsw-alias-brand-primary",description:"Primary brand accent.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-brand-primary"},{name:"--dsw-alias-label-primary",description:"Primary text color.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-label-primary"},{name:"--dsw-alias-label-secondary",description:"Secondary text color.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-label-secondary"},{name:"--dsw-alias-state-error-primary",description:"Primary error state color.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-state-error-primary"},{name:"--dsw-alias-state-success-primary",description:"Primary success state color.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-state-success-primary"},{name:"--dsw-alias-state-warn-primary",description:"Primary warning state color.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-state-warn-primary"},{name:"--dsw-specific-sidebar-fill",description:"Sidebar column and title-row background.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-specific-sidebar-fill"}]);var W=class{static{c(this,"ThemeRuntime")}ctx;host;themes=[...pe];preference;revision=0;snapshot;media;overrides=new Map;overrideSeq=0;constructor(e,t){if(this.ctx=e,this.host=t,this.preference=L,this.media=typeof matchMedia>"u"?void 0:matchMedia("(prefers-color-scheme: dark)"),this.snapshot=this.buildSnapshot(),this.media!==void 0){const r=this.media,n=c(()=>{this.preference==="system"&&this.publish()},"onChange");e.effect(()=>(r.addEventListener("change",n),()=>{r.removeEventListener("change",n)}),"ui-theme: prefers-color-scheme listener")}e.effect(()=>t.subscribe(()=>{this.adopt()}),"ui-theme: settings scope adoption"),this.adopt()}getTheme(){return this.snapshot}exportInspectTokens(){const e=new Map(he.map(t=>[t.name,t]));for(const t of this.themes)for(const r of Object.keys(t.tokens))e.has(r)||e.set(r,G(r));for(const t of this.overrides.values())for(const r of Object.keys(t.tokens))e.has(r)||e.set(r,G(r));return[...e.values()].map(t=>({...t})).sort((t,r)=>t.name.localeCompare(r.name))}setTheme(e){if(e!=="system"&&!this.themes.some(t=>t.id===e))throw new Error(`theme "${e}" is not registered`);this.preference!==e&&(this.preference=e,ue(e)&&this.host.set(U,e),this.publish())}adopt(){const e=this.host.getSnapshot().value;e===void 0||this.preference===e.preference||(this.preference=e.preference,this.publish())}register(e){if(e.id==="system")throw new Error('"system" is a preference, not a registrable theme id');if(this.themes.some(t=>t.id===e.id))throw new Error(`theme "${e.id}" is already registered`);return this.themes=[...this.themes,e],this.publish(),()=>{this.themes.some(t=>t.id===e.id)&&(this.themes=this.themes.filter(t=>t.id!==e.id),this.preference===e.id&&(this.preference=L),this.publish())}}overrideTokens(e,t){const r={seq:this.overrideSeq++,tokens:de(e,t)};return this.overrides.set(e,r),this.publish(),()=>{this.overrides.get(e)===r&&(this.overrides.delete(e),this.publish())}}buildSnapshot(){const e=this.preference==="system"?this.media?.matches===!0?"dark":"light":this.preference,t=this.themes.find(r=>r.id===e);if(t===void 0)throw new Error(`theme registry lost "${e}"`);return Object.freeze({preference:this.preference,active:this.composeActive(t),themes:Object.freeze([...this.themes]),revision:this.revision})}composeActive(e){if(this.overrides.size===0)return e;const t={...e.tokens};for(const r of[...this.overrides.values()].sort((n,i)=>n.seq-i.seq))for(const[n,i]of Object.entries(r.tokens))t[n]=i[e.colorScheme];return Object.freeze({...e,tokens:Object.freeze(t)})}publish(){this.revision+=1,this.snapshot=this.buildSnapshot(),this.ctx.emit("theme/change",this.snapshot)}};function de(e,t){const r={};for(const[n,i]of Object.entries(t)){if(typeof i=="string")throw new TypeError(`theme override "${n}" from "${e}" is a bare string — pass { light: ${JSON.stringify(i)}, dark: ${JSON.stringify(i)} } (repeat the value when it is the same in both palettes); a single value goes illegible when the user switches color scheme`);if(typeof i!="object"||i===null||typeof i.light!="string"||typeof i.dark!="string")throw new TypeError(`theme override "${n}" from "${e}" must map to a { light, dark } pair of strings — one value per color scheme`);const a=i;r[n]={light:a.light,dark:a.dark}}return r}c(de,"validateOverrides");function G(e){return{name:e,description:"Theme token registered by the current Client composition.",valueType:"CSS value",requiresLightAndDark:!0,...e.startsWith("--")?{cssVariable:e}:{}}}c(G,"dynamicToken");const ye=["slots","locale","connection","remote","settingsScope"];function me(e){const t=new W(e,e.settingsScope.bind({namespace:le}));e.provide("theme",t),e.effect(()=>e.locale.register(M,{zh:ne,en:ie}),"ui-theme: settings row dictionaries");const r=re();let n;const i=c(s=>{n?.sync(s.preference,s.revision)},"sync");e.on("theme/change",i);const a=c(s=>(n=s,i(t.getTheme()),{setTheme:c(f=>{t.setTheme(f)},"setTheme")}),"injected");e.slots.inject("settings.general.item",()=>e.slots.register({name:"settings.general.item",id:"appearance",order:10,store:r,locale:M,inject:a},te))}return c(me,"apply"),x.SETTINGS_NS=M,x.ThemeRuntime=W,x.apply=me,x.inject=ye,j.exports},"factory")});
1
+ var ke=Object.defineProperty;var c=(v,j)=>ke(v,"name",{value:j,configurable:!0});window.__ModuleLoader__.load({id:"@deepseek-ai/dsh-client-ui-theme",factory:c(v=>{var j={exports:{}},x=j.exports;Object.defineProperty(x,Symbol.toStringTag,{value:"Module"});let O=v("react/jsx-runtime"),D=v("@deepseek-ai/dsh-client-ui-primitives"),Q=v("@deepseek-ai/dsh-client-runtime/client");function B(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(r=B(e[t]))&&(n&&(n+=" "),n+=r)}else for(r in e)e[r]&&(n&&(n+=" "),n+=r);return n}c(B,"r");function X(){for(var e,t,r=0,n="",i=arguments.length;r<i;r++)(e=arguments[r])&&(t=B(e))&&(n&&(n+=" "),n+=t);return n}c(X,"clsx");const Z=".gO7-zq_group{border-bottom:1px solid var(--dsw-alias-border-l2);flex-direction:column;gap:8px;padding:16px 0;display:flex}.gO7-zq_title{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}.gO7-zq_cubeRow{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.gO7-zq_themeCube{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:16px;flex-direction:column;flex:180px;justify-content:center;align-items:center;gap:4px;padding:20px 32px;font-size:14px;line-height:22px;display:flex}.gO7-zq_themeCube:hover:not(.gO7-zq_selected){background:var(--dsw-alias-interactive-bg-hover)}.gO7-zq_selected{background:var(--dsw-alias-bg-module-platform);border-color:var(--dsw-static-neutral-bluish-400)}",P="@deepseek-ai/dsh-client-ui-theme/AppearanceRow.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(P)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-theme",e.dataset.pluginCss=P,e.textContent=Z,document.head.appendChild(e)}var k={title:"gO7-zq_title",group:"gO7-zq_group",cubeRow:"gO7-zq_cubeRow",themeCube:"gO7-zq_themeCube",selected:"gO7-zq_selected"};const ee=[{id:"light",labelKey:"appearance.light",Icon:D.IconLightOutline16},{id:"dark",labelKey:"appearance.dark",Icon:D.IconDarkOutline16},{id:"system",labelKey:"appearance.system",Icon:D.IconFollowsystemOutline16}];function te({t:e,setTheme:t,useStore:r}){const n=r(i=>i.preference);return(0,O.jsxs)("div",{className:k.group,children:[(0,O.jsx)("div",{className:k.title,children:e("appearance.title")}),(0,O.jsx)("div",{className:k.cubeRow,children:ee.map(({id:i,labelKey:a,Icon:s})=>(0,O.jsxs)("button",{type:"button",className:X(k.themeCube,n===i&&k.selected),"aria-pressed":n===i,onClick:c(()=>{t(i)},"onClick"),children:[(0,O.jsx)(s,{}),e(a)]},i))})]})}c(te,"AppearanceRow");function re(){return(0,Q.defineStore)({init:c(()=>({preference:"system",revision:-1}),"init"),actions:{sync:c((e,t,r)=>{r<=e.revision||(e.preference=t,e.revision=r)},"sync")}})}c(re,"createAppearanceRowStore");const ne={"appearance.title":"外观","appearance.light":"浅色","appearance.dark":"深色","appearance.system":"跟随系统"},ie={"appearance.title":"Appearance","appearance.light":"Light","appearance.dark":"Dark","appearance.system":"System"};function y(e){return e==null}c(y,"isNullable");function N(e){return e&&typeof e=="object"&&!Array.isArray(e)}c(N,"isPlainObject");function se(e,t){return Object.fromEntries(Object.entries(e).filter(([r,n])=>t(r,n)))}c(se,"filterKeys");function b(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>[r,t(n,r)]))}c(b,"mapValues");function oe(e,t,r){if(!t)return{...e};const n={};for(const i of t)(r||e[i]!==void 0)&&(n[i]=e[i]);return n}c(oe,"pick");function w(e,t){return arguments.length===1?r=>w(e,r):e in globalThis&&t instanceof globalThis[e]||Object.prototype.toString.call(t).slice(8,-1)===e}c(w,"is");function E(e){return w("ArrayBuffer",e)||w("SharedArrayBuffer",e)}c(E,"isArrayBufferLike");function ae(e){return E(e)||ArrayBuffer.isView(e)}c(ae,"isArrayBufferSource");let m;(function(e){e.is=E,e.isSource=ae;function t(s){return ArrayBuffer.isView(s)?s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength):s}c(t,"fromSource"),e.fromSource=t;function r(s){if(s=t(s),typeof Buffer<"u")return Buffer.from(s).toString("base64");let f="";const d=new Uint8Array(s);for(let g=0;g<d.byteLength;g++)f+=String.fromCharCode(d[g]);return btoa(f)}c(r,"toBase64"),e.toBase64=r;function n(s){return typeof Buffer<"u"?t(Buffer.from(s,"base64")):Uint8Array.from(atob(s),f=>f.charCodeAt(0))}c(n,"fromBase64"),e.fromBase64=n;function i(s){return s=t(s),typeof Buffer<"u"?Buffer.from(s).toString("hex"):Array.from(new Uint8Array(s),f=>f.toString(16).padStart(2,"0")).join("")}c(i,"toHex"),e.toHex=i;function a(s){if(typeof Buffer<"u")return t(Buffer.from(s,"hex"));const f=s.length%2===0?s:s.slice(0,s.length-1),d=[];for(let g=0;g<f.length;g+=2)d.push(parseInt(`${f[g]}${f[g+1]}`,16));return Uint8Array.from(d).buffer}c(a,"fromHex"),e.fromHex=a})(m||(m={})),m.fromBase64,m.toBase64,m.fromHex,m.toHex;function q(e,t=new Map){if(!e||typeof e!="object")return e;if(w("Date",e))return new Date(e.valueOf());if(w("RegExp",e))return new RegExp(e.source,e.flags);if(E(e))return e.slice(0);if(ArrayBuffer.isView(e))return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);const r=t.get(e);if(r)return r;if(Array.isArray(e)){const i=[];return t.set(e,i),e.forEach((a,s)=>{i[s]=Reflect.apply(q,null,[a,t])}),i}const n=Object.create(Object.getPrototypeOf(e));t.set(e,n);for(const i of Reflect.ownKeys(e)){const a={...Reflect.getOwnPropertyDescriptor(e,i)};"value"in a&&(a.value=Reflect.apply(q,null,[a.value,t])),Reflect.defineProperty(n,i,a)}return n}c(q,"clone");function $(e,t,r){if(e===t||!r&&y(e)&&y(t))return!0;if(typeof e!=typeof t||typeof e!="object"||!e||!t)return!1;function n(i,a){return i(e)?i(t)?a(e,t):!1:i(t)?!1:void 0}return c(n,"check"),n(Array.isArray,(i,a)=>i.length===a.length&&i.every((s,f)=>$(s,a[f])))??n(w("Date"),(i,a)=>i.valueOf()===a.valueOf())??n(w("RegExp"),(i,a)=>i.source===a.source&&i.flags===a.flags)??n(E,(i,a)=>{if(i.byteLength!==a.byteLength)return!1;const s=new Uint8Array(i),f=new Uint8Array(a);for(let d=0;d<s.length;d++)if(s[d]!==f[d])return!1;return!0})??Object.keys({...e,...t}).every(i=>$(e[i],t[i],r))}c($,"deepEqual");let V;(function(e){e.millisecond=1;const t=e.second=1e3,r=e.minute=t*60,n=e.hour=r*60,i=e.day=n*24,a=e.week=i*7;let s=new Date().getTimezoneOffset();function f(l){s=l}c(f,"setTimezoneOffset"),e.setTimezoneOffset=f;function d(){return s}c(d,"getTimezoneOffset"),e.getTimezoneOffset=d;function g(l=new Date,u){return typeof l=="number"&&(l=new Date(l)),u===void 0&&(u=s),Math.floor((l.valueOf()/r-u)/1440)}c(g,"getDateNumber"),e.getDateNumber=g;function ge(l,u){const Oe=new Date(l*i);return u===void 0&&(u=s),new Date(+Oe+u*r)}c(ge,"fromDateNumber"),e.fromDateNumber=ge;const be=/\d+(?:\.\d+)?/.source,we=new RegExp(`^${["w(?:eek(?:s)?)?","d(?:ay(?:s)?)?","h(?:our(?:s)?)?","m(?:in(?:ute)?(?:s)?)?","s(?:ec(?:ond)?(?:s)?)?"].map(l=>`(${be}${l})?`).join("")}$`);function Y(l){const u=we.exec(l);return u?(parseFloat(u[1])*a||0)+(parseFloat(u[2])*i||0)+(parseFloat(u[3])*n||0)+(parseFloat(u[4])*r||0)+(parseFloat(u[5])*t||0):0}c(Y,"parseTime"),e.parseTime=Y;function Se(l){const u=Y(l);return u?l=Date.now()+u:/^\d{1,2}(:\d{1,2}){1,2}$/.test(l)?l=`${new Date().toLocaleDateString()}-${l}`:/^\d{1,2}-\d{1,2}-\d{1,2}(:\d{1,2}){1,2}$/.test(l)&&(l=`${new Date().getFullYear()}-${l}`),l?new Date(l):new Date}c(Se,"parseDate"),e.parseDate=Se;function ve(l){const u=Math.abs(l);return u>=i-n/2?Math.round(l/i)+"d":u>=n-r/2?Math.round(l/n)+"h":u>=r-t/2?Math.round(l/r)+"m":u>=t?Math.round(l/t)+"s":l+"ms"}c(ve,"format"),e.format=ve;function S(l,u=2){return l.toString().padStart(u,"0")}c(S,"toDigits"),e.toDigits=S;function xe(l,u=new Date){return l.replace("yyyy",u.getFullYear().toString()).replace("yy",u.getFullYear().toString().slice(2)).replace("MM",S(u.getMonth()+1)).replace("dd",S(u.getDate())).replace("hh",S(u.getHours())).replace("mm",S(u.getMinutes())).replace("ss",S(u.getSeconds())).replace("SSS",S(u.getMilliseconds(),3))}c(xe,"template"),e.template=xe})(V||(V={}));const A=Symbol.for("schemastery"),I=Symbol.for("ValidationError");globalThis.__schemastery_index__??=0,globalThis.__schemastery_refs__=void 0;var p=class extends TypeError{static{c(this,"ValidationError")}options;name="ValidationError";constructor(e,t){let r="$";for(const n of t.path||[])typeof n=="string"?r+="."+n:typeof n=="number"?r+="["+n+"]":typeof n=="symbol"&&(r+=`[Symbol(${n.toString()})]`);r.startsWith(".")&&(r=r.slice(1)),super((r==="$"?"":`${r} `)+e),this.options=t}static is(e){return!!e?.[I]}};Object.defineProperty(p.prototype,I,{value:!0});const o=c(function(e){const t=c(function(r,n={}){return o.resolve(r,t,n)[0]},"schema");if(e.refs){const r=b(e.refs,i=>new o(i)),n=c(i=>r[i],"getRef");for(const i in r){const a=r[i];a.sKey=n(a.sKey),a.inner=n(a.inner),a.list=a.list&&a.list.map(n),a.dict=a.dict&&b(a.dict,n)}return r[e.uid]}if(Object.assign(t,e),typeof t.callback=="string")try{t.callback=new Function("return "+t.callback)()}catch{}return Object.defineProperty(t,"uid",{value:globalThis.__schemastery_index__++}),Object.setPrototypeOf(t,o.prototype),t.meta||={},t.toString=t.toString.bind(t),t},"Schema");o.prototype=Object.create(Function.prototype),o.prototype[A]=!0,Object.defineProperty(o.prototype,"~standard",{get(){return{version:1,vendor:"schemastery",validate:c(e=>{try{return{value:o.resolve(e,this,{})[0]}}catch(t){if(p.is(t))return{issues:[{message:t.message,path:t.options.path}]};throw t}},"validate")}}}),o.ValidationError=p,o.prototype.toJSON=c(function(){if(globalThis.__schemastery_refs__)return globalThis.__schemastery_refs__[this.uid]??=JSON.parse(JSON.stringify({...this})),this.uid;globalThis.__schemastery_refs__={[this.uid]:{...this}},globalThis.__schemastery_refs__[this.uid]=JSON.parse(JSON.stringify({...this}));const t={uid:this.uid,refs:globalThis.__schemastery_refs__};return globalThis.__schemastery_refs__=void 0,t},"toJSON"),o.prototype.set=c(function(t,r){return this.dict[t]=r,this},"set"),o.prototype.push=c(function(t){return this.list.push(t),this},"push");function ce(e,t){const r=typeof e=="string"?{"":e}:{...e};for(const n in t){const i=t[n];i?.$description||i?.$desc?r[n]=i.$description||i.$desc:typeof i=="string"&&(r[n]=i)}return r}c(ce,"mergeDesc");function _(e){return e?.$value??e?.$inner}c(_,"getInner");function F(e){return se(e??{},t=>!t.startsWith("$"))}c(F,"extractKeys"),o.prototype.i18n=c(function(t){const r=o(this),n=ce(r.meta.description,t);return Object.keys(n).length&&(r.meta.description=n),r.dict&&(r.dict=b(r.dict,(i,a)=>i.i18n(b(t,s=>_(s)?.[a]??s?.[a])))),r.list&&(r.list=r.list.map((i,a)=>i.i18n(b(t,(s={})=>Array.isArray(_(s))?_(s)[a]:Array.isArray(s)?s[a]:F(s))))),r.inner&&(r.inner=r.inner.i18n(b(t,i=>_(i)?_(i):F(i)))),r.sKey&&(r.sKey=r.sKey.i18n(b(t,i=>i?.$key))),r},"i18n"),o.prototype.extra=c(function(t,r){const n=o(this);return n.meta={...n.meta,[t]:r},n},"extra");for(const e of["required","disabled","collapse","hidden","loose"])Object.assign(o.prototype,{[e](t=!0){const r=o(this);return r.meta={...r.meta,[e]:t},r}});o.prototype.deprecated=c(function(){const t=o(this);return t.meta.badges||=[],t.meta.badges.push({text:"deprecated",type:"danger"}),t},"deprecated"),o.prototype.experimental=c(function(){const t=o(this);return t.meta.badges||=[],t.meta.badges.push({text:"experimental",type:"warning"}),t},"experimental"),o.prototype.pattern=c(function(t){const r=o(this),n=oe(t,["source","flags"]);return r.meta={...r.meta,pattern:n},r},"pattern"),o.prototype.simplify=c(function(t){if($(t,this.meta.default,this.type==="dict"))return null;if(y(t))return t;if(this.type==="object"||this.type==="dict"){const r={};for(const n in t){const i=(this.type==="object"?this.dict[n]:this.inner)?.simplify(t[n]);(this.type==="dict"||!y(i))&&(r[n]=i)}return $(r,this.meta.default,this.type==="dict")?null:r}else if(this.type==="array"||this.type==="tuple"){const r=[];return t.forEach((n,i)=>{const a=this.type==="array"?this.inner:this.list[i],s=a?a.simplify(n):n;r.push(s)}),r}else if(this.type==="intersect"){const r={};for(const n of this.list)Object.assign(r,n.simplify(t));return r}else if(this.type==="union")for(const r of this.list)try{return o.resolve(t,r,{}),r.simplify(t)}catch{}return t},"simplify"),o.prototype.toString=c(function(t){return K[this.type]?.(this,t)??`Schema<${this.type}>`},"toString"),o.prototype.role=c(function(e,t){const r=o(this);return r.meta={...r.meta,role:e,extra:t},r},"role");for(const e of["default","link","comment","description","max","min","step"])Object.assign(o.prototype,{[e](t){const r=o(this);return r.meta={...r.meta,[e]:t},r}});const J={};o.extend=c(function(t,r){J[t]=r},"extend"),o.resolve=c(function(t,r,n={},i=!1){if(!r)return[t];if(n.ignore?.(t,r))return[t];if(y(t)&&r.type!=="lazy"){if(r.meta.required)throw new p("missing required value",n);let s=r,f=r.meta.default;for(;s?.type==="intersect"&&y(f);)s=s.list[0],f=s?.meta.default;if(y(f))return[t];t=q(f)}const a=J[r.type];if(!a)throw new p(`unsupported type "${r.type}"`,n);try{return a(t,r,n,i)}catch(s){if(!r.meta.loose)throw s;return[r.meta.default]}},"resolve"),o.from=c(function(t){if(y(t))return o.any();if(["string","number","boolean"].includes(typeof t))return o.const(t).required();if(t[A])return t;if(typeof t=="function")switch(t){case String:return o.string().required();case Number:return o.number().required();case Boolean:return o.boolean().required();case Function:return o.function().required();default:return o.is(t).required()}else throw new TypeError(`cannot infer schema from ${t}`)},"from"),o.lazy=c(function(t){const r=c(()=>(n.inner[A]||(n.inner=n.builder(),n.inner.meta={...n.meta,...n.inner.meta}),n.inner.toJSON()),"toJSON"),n=new o({type:"lazy",builder:t,inner:{toJSON:r}});return n},"lazy"),o.natural=c(function(){return o.number().step(1).min(0)},"natural"),o.percent=c(function(){return o.number().step(.01).min(0).max(1).role("slider")},"percent"),o.date=c(function(){return o.union([o.is(Date),o.transform(o.string().role("datetime"),(t,r)=>{const n=new Date(t);if(isNaN(+n))throw new p(`invalid date "${t}"`,r);return n},!0)])},"date"),o.regExp=c(function(t=""){return o.union([o.is(RegExp),o.transform(o.string().role("regexp",{flag:t}),(r,n)=>{try{return new RegExp(r,t)}catch(i){throw new p(i.message,n)}},!0)])},"regExp"),o.arrayBuffer=c(function(t){return o.union([o.is(ArrayBuffer),o.is(SharedArrayBuffer),o.transform(o.any(),(r,n)=>{if(m.isSource(r))return m.fromSource(r);throw new p(`expected ArrayBufferSource but got ${r}`,n)},!0),...t?[o.transform(o.string(),(r,n)=>{try{return t==="base64"?m.fromBase64(r):m.fromHex(r)}catch(i){throw new p(i.message,n)}},!0)]:[]])},"arrayBuffer"),o.extend("lazy",(e,t,r,n)=>(t.inner[A]||(t.inner=t.builder(),t.inner.meta={...t.meta,...t.inner.meta}),o.resolve(e,t.inner,r,n))),o.extend("any",e=>[e]),o.extend("never",(e,t,r)=>{throw new p(`expected nullable but got ${e}`,r)}),o.extend("const",(e,{value:t},r)=>{if($(e,t))return[t];throw new p(`expected ${t} but got ${e}`,r)});function z(e,t,r,n,i=!1){const{max:a=1/0,min:s=-1/0}=t;if(e>a)throw new p(`expected ${r} <= ${a} but got ${e}`,n);if(e<s&&!i)throw new p(`expected ${r} >= ${s} but got ${e}`,n)}c(z,"checkWithinRange"),o.extend("string",(e,{meta:t},r)=>{if(typeof e!="string")throw new p(`expected string but got ${e}`,r);if(t.pattern){const n=new RegExp(t.pattern.source,t.pattern.flags);if(!n.test(e))throw new p(`expect string to match regexp ${n}`,r)}return z(e.length,t,"string length",r),[e]});function C(e,t){const r=e.toString();if(r.includes("e"))return e*Math.pow(10,t);const n=r.indexOf(".");if(n===-1)return e*Math.pow(10,t);const i=r.slice(n+1),a=r.slice(0,n);return i.length<=t?+(a+i.padEnd(t,"0")):+(a+i.slice(0,t)+"."+i.slice(t))}c(C,"decimalShift");function fe(e,t,r){if(r=Math.abs(r),!/^\d+\.\d+$/.test(r.toString()))return(e-t)%r===0;const n=r.toString().indexOf("."),i=r.toString().slice(n+1).length;return Math.abs(C(e,i)-C(t,i))%C(r,i)===0}c(fe,"isMultipleOf"),o.extend("number",(e,{meta:t},r)=>{if(typeof e!="number")throw new p(`expected number but got ${e}`,r);z(e,t,"number",r);const{step:n}=t;if(n&&!fe(e,t.min??0,n))throw new p(`expected number multiple of ${n} but got ${e}`,r);return[e]}),o.extend("boolean",(e,t,r)=>{if(typeof e=="boolean")return[e];throw new p(`expected boolean but got ${e}`,r)}),o.extend("bitset",(e,{bits:t,meta:r},n)=>{let i=0,a=[];if(typeof e=="number"){i=e;for(const s in t)e&t[s]&&a.push(s)}else if(Array.isArray(e)){a=e;for(const s of a){if(typeof s!="string")throw new p(`expected string but got ${s}`,n);s in t&&(i|=t[s])}}else throw new p(`expected number or array but got ${e}`,n);return i===r.default?[i]:[i,a]}),o.extend("function",(e,t,r)=>{if(typeof e=="function")return[e];throw new p(`expected function but got ${e}`,r)}),o.extend("is",(e,{constructor:t},r)=>{if(typeof t=="function"){if(e instanceof t)return[e];throw new p(`expected ${t.name} but got ${e}`,r)}else{if(y(e))throw new p(`expected ${t} but got ${e}`,r);let n=Object.getPrototypeOf(e);for(;n;){if(n.constructor?.name===t)return[e];n=Object.getPrototypeOf(n)}throw new p(`expected ${t} but got ${e}`,r)}});function T(e,t,r,n){try{const[i,a]=o.resolve(e[t],r,{...n,path:[...n.path||[],t]});return a!==void 0&&(e[t]=a),i}catch(i){if(!n?.autofix)throw i;return delete e[t],r.meta.default}}c(T,"property"),o.extend("array",(e,{inner:t,meta:r},n)=>{if(!Array.isArray(e))throw new p(`expected array but got ${e}`,n);return z(e.length,r,"array length",n,!y(t.meta.default)),[e.map((i,a)=>T(e,a,t,n))]}),o.extend("dict",(e,{inner:t,sKey:r},n,i)=>{if(!N(e))throw new p(`expected object but got ${e}`,n);const a={};for(const s in e){let f;try{f=o.resolve(s,r,n)[0]}catch(d){if(i)continue;throw d}a[f]=T(e,s,t,n),e[f]=e[s],s!==f&&delete e[s]}return[a]}),o.extend("tuple",(e,{list:t},r,n)=>{if(!Array.isArray(e))throw new p(`expected array but got ${e}`,r);const i=t.map((a,s)=>T(e,s,a,r));return n?[i]:(i.push(...e.slice(t.length)),[i])});function R(e,t){for(const r in t)r in e||(e[r]=t[r])}c(R,"merge"),o.extend("object",(e,{dict:t},r,n)=>{if(!N(e))throw new p(`expected object but got ${e}`,r);const i={};for(const a in t){const s=T(e,a,t[a],r);(!y(s)||a in e)&&(i[a]=s)}return n||R(i,e),[i]}),o.extend("union",(e,{list:t,toString:r},n,i)=>{const a=[];for(const s of t)try{return o.resolve(e,s,n,i)}catch(f){a.push(f)}throw new p(`expected ${r()} but got ${JSON.stringify(e)}`,n)}),o.extend("intersect",(e,{list:t,toString:r},n,i)=>{if(!t.length)return[e];let a;for(const s of t){const f=o.resolve(e,s,n,!0)[0];if(!y(f))if(y(a))a=f;else{if(typeof a!=typeof f)throw new p(`expected ${r()} but got ${JSON.stringify(e)}`,n);if(typeof f=="object")R(a??={},f);else if(a!==f)throw new p(`expected ${r()} but got ${JSON.stringify(e)}`,n)}}return!i&&N(e)&&R(a,e),[a]}),o.extend("transform",(e,{inner:t,callback:r,preserve:n},i)=>{const[a,s=e]=o.resolve(e,t,i,!0);return n?[r(a)]:[r(a),r(s)]});const K={};function h(e,t,r){K[e]=r,Object.assign(o,{[e](...n){const i=new o({type:e});return t.forEach((a,s)=>{switch(a){case"sKey":i.sKey=n[s]??o.string();break;case"inner":i.inner=o.from(n[s]);break;case"list":i.list=n[s].map(o.from);break;case"dict":i.dict=b(n[s],o.from);break;case"bits":i.bits={};for(const f in n[s])typeof n[s][f]=="number"&&(i.bits[f]=n[s][f]);break;case"callback":{const f=i.callback=n[s];f.toJSON||=()=>f.toString();break}case"constructor":{const f=i.constructor=n[s];typeof f=="function"&&(f.toJSON||=()=>f.name);break}default:i[a]=n[s]}}),e==="object"||e==="dict"?i.meta.default={}:e==="array"||e==="tuple"?i.meta.default=[]:e==="bitset"&&(i.meta.default=0),i}})}c(h,"defineMethod"),h("is",["constructor"],({constructor:e})=>typeof e=="function"?e.name:e),h("any",[],()=>"any"),h("never",[],()=>"never"),h("const",["value"],({value:e})=>typeof e=="string"?JSON.stringify(e):e),h("string",[],()=>"string"),h("number",[],()=>"number"),h("boolean",[],()=>"boolean"),h("bitset",["bits"],()=>"bitset"),h("function",[],()=>"function"),h("array",["inner"],({inner:e})=>`${e.toString(!0)}[]`),h("dict",["inner","sKey"],({inner:e,sKey:t})=>`{ [key: ${t.toString()}]: ${e.toString()} }`),h("tuple",["list"],({list:e})=>`[${e.map(t=>t.toString()).join(", ")}]`),h("object",["dict"],({dict:e})=>Object.keys(e).length===0?"{}":`{ ${Object.entries(e).map(([t,r])=>`${t}${r.meta.required?"":"?"}: ${r.toString()}`).join(", ")} }`),h("union",["list"],({list:e},t)=>{const r=e.map(({toString:n})=>n()).join(" | ");return t?`(${r})`:r}),h("intersect",["list"],({list:e})=>`${e.map(t=>t.toString(!0)).join(" & ")}`),h("transform",["inner","callback","preserve"],({inner:e},t)=>e.toString(t));const H=["light","dark","system"],le="ui-theme",U="preference",L="system";o.object({[U]:o.union([...H]).default(L)});function ue(e){return H.some(t=>t===e)}c(ue,"isThemePreference");const M="settings.theme",pe=Object.freeze([Object.freeze({id:"light",colorScheme:"light",tokens:Object.freeze({})}),Object.freeze({id:"dark",colorScheme:"dark",tokens:Object.freeze({})})]),he=Object.freeze([{name:"--dsw-alias-bg-base",description:"Application base background.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-bg-base"},{name:"--dsw-alias-bg-layer-1",description:"Primary raised surface background.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-bg-layer-1"},{name:"--dsw-alias-bg-layer-2",description:"Secondary nested surface background.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-bg-layer-2"},{name:"--dsw-alias-bg-overlay",description:"Overlay and popover background.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-bg-overlay"},{name:"--dsw-alias-border-l1",description:"Primary subtle border.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-border-l1"},{name:"--dsw-alias-border-l2",description:"Secondary stronger border.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-border-l2"},{name:"--dsw-alias-brand-primary",description:"Primary brand accent.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-brand-primary"},{name:"--dsw-alias-label-primary",description:"Primary text color.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-label-primary"},{name:"--dsw-alias-label-secondary",description:"Secondary text color.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-label-secondary"},{name:"--dsw-alias-state-error-primary",description:"Primary error state color.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-state-error-primary"},{name:"--dsw-alias-state-success-primary",description:"Primary success state color.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-state-success-primary"},{name:"--dsw-alias-state-warn-primary",description:"Primary warning state color.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-alias-state-warn-primary"},{name:"--dsw-specific-sidebar-fill",description:"Sidebar column and title-row background.",valueType:"CSS color",requiresLightAndDark:!0,cssVariable:"--dsw-specific-sidebar-fill"}]);var W=class{static{c(this,"ThemeRuntime")}ctx;host;themes=[...pe];preference;revision=0;snapshot;media;overrides=new Map;overrideSeq=0;constructor(e,t){if(this.ctx=e,this.host=t,this.preference=L,this.media=typeof matchMedia>"u"?void 0:matchMedia("(prefers-color-scheme: dark)"),this.snapshot=this.buildSnapshot(),this.media!==void 0){const r=this.media,n=c(()=>{this.preference==="system"&&this.publish()},"onChange");e.effect(()=>(r.addEventListener("change",n),()=>{r.removeEventListener("change",n)}),"ui-theme: prefers-color-scheme listener")}e.effect(()=>t.subscribe(()=>{this.adopt()}),"ui-theme: settings scope adoption"),this.adopt()}getTheme(){return this.snapshot}exportInspectTokens(){const e=new Map(he.map(t=>[t.name,t]));for(const t of this.themes)for(const r of Object.keys(t.tokens))e.has(r)||e.set(r,G(r));for(const t of this.overrides.values())for(const r of Object.keys(t.tokens))e.has(r)||e.set(r,G(r));return[...e.values()].map(t=>({...t})).sort((t,r)=>t.name.localeCompare(r.name))}setTheme(e){if(e!=="system"&&!this.themes.some(t=>t.id===e))throw new Error(`theme "${e}" is not registered`);this.preference!==e&&(this.preference=e,ue(e)&&this.host.set(U,e),this.publish())}adopt(){const e=this.host.getSnapshot().value;e===void 0||this.preference===e.preference||(this.preference=e.preference,this.publish())}register(e){if(e.id==="system")throw new Error('"system" is a preference, not a registrable theme id');if(this.themes.some(t=>t.id===e.id))throw new Error(`theme "${e.id}" is already registered`);return this.themes=[...this.themes,e],this.publish(),()=>{this.themes.some(t=>t.id===e.id)&&(this.themes=this.themes.filter(t=>t.id!==e.id),this.preference===e.id&&(this.preference=L),this.publish())}}overrideTokens(e,t){const r={seq:this.overrideSeq++,tokens:de(e,t)};return this.overrides.set(e,r),this.publish(),()=>{this.overrides.get(e)===r&&(this.overrides.delete(e),this.publish())}}buildSnapshot(){const e=this.preference==="system"?this.media?.matches===!0?"dark":"light":this.preference,t=this.themes.find(r=>r.id===e);if(t===void 0)throw new Error(`theme registry lost "${e}"`);return Object.freeze({preference:this.preference,active:this.composeActive(t),themes:Object.freeze([...this.themes]),revision:this.revision})}composeActive(e){if(this.overrides.size===0)return e;const t={...e.tokens};for(const r of[...this.overrides.values()].sort((n,i)=>n.seq-i.seq))for(const[n,i]of Object.entries(r.tokens))t[n]=i[e.colorScheme];return Object.freeze({...e,tokens:Object.freeze(t)})}publish(){this.revision+=1,this.snapshot=this.buildSnapshot(),this.ctx.emit("theme/change",this.snapshot)}};function de(e,t){const r={};for(const[n,i]of Object.entries(t)){if(typeof i=="string")throw new TypeError(`theme override "${n}" from "${e}" is a bare string — pass { light: ${JSON.stringify(i)}, dark: ${JSON.stringify(i)} } (repeat the value when it is the same in both palettes); a single value goes illegible when the user switches color scheme`);if(typeof i!="object"||i===null||typeof i.light!="string"||typeof i.dark!="string")throw new TypeError(`theme override "${n}" from "${e}" must map to a { light, dark } pair of strings — one value per color scheme`);const a=i;r[n]={light:a.light,dark:a.dark}}return r}c(de,"validateOverrides");function G(e){return{name:e,description:"Theme token registered by the current Client composition.",valueType:"CSS value",requiresLightAndDark:!0,...e.startsWith("--")?{cssVariable:e}:{}}}c(G,"dynamicToken");const ye=["slots","locale","connection","remote","settingsScope"];function me(e){const t=new W(e,e.settingsScope.bind({namespace:le}));e.provide("theme",t),e.effect(()=>e.locale.register(M,{zh:ne,en:ie}),"ui-theme: settings row dictionaries");const r=re();let n;const i=c(s=>{n?.sync(s.preference,s.revision)},"sync");e.on("theme/change",i);const a=c(s=>(n=s,i(t.getTheme()),{setTheme:c(f=>{t.setTheme(f)},"setTheme")}),"injected");e.slots.inject("settings.general.item",()=>e.slots.register({name:"settings.general.item",id:"appearance",order:10,store:r,locale:M,inject:a},te))}return c(me,"apply"),x.SETTINGS_NS=M,x.ThemeRuntime=W,x.apply=me,x.inject=ye,j.exports},"factory")});
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-client-ui-theme","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./styles/*":"./lib/styles/*","./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-api-remotes"],"platform":"web","immediately":true}},"license":"MIT","peerDependencies":{"react":"^18.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-api-remotes":"^0.1.0-rc.7","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.7","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.7","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.7","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.7"},"dependencies":{"clsx":"^2.0.0","@deepseek-ai/dsh-settings":"^0.1.0-rc.7","@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-client-ui-theme","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./styles/*":"./lib/styles/*","./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-api-remotes"],"platform":"web","immediately":true}},"license":"MIT","peerDependencies":{"react":"^18.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-api-remotes":"^0.1.0-rc.7","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.7","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.7","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.7"},"dependencies":{"clsx":"^2.0.0","@deepseek-ai/schemastery":"^3.18.1","@deepseek-ai/dsh-settings":"^0.1.0-rc.7"}}