@codexhost/cli-darwin-arm64 0.18.0-beta.1 → 0.18.0-beta.3

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 (58) hide show
  1. package/README.md +1 -1
  2. package/app/codexhost-distribution.json +1 -1
  3. package/app/console-server.mjs +103 -93
  4. package/app/console-web.js +104 -94
  5. package/app/desktop-controller.mjs +103 -109
  6. package/app/host-runtime.mjs +10067 -8374
  7. package/app/plugins/antigravity/plugin.mjs +103 -93
  8. package/app/plugins/claude-code/plugin.mjs +103 -93
  9. package/app/plugins/codebuddy/plugin.mjs +103 -93
  10. package/app/plugins/codex-usage/plugin.mjs +103 -93
  11. package/app/plugins/copilot/plugin.mjs +103 -93
  12. package/app/plugins/cursor-cli/plugin.mjs +103 -93
  13. package/app/plugins/deepseek-harness/plugin.mjs +103 -93
  14. package/app/plugins/devin/plugin.mjs +103 -93
  15. package/app/plugins/enabled.json +0 -1
  16. package/app/plugins/grok/plugin.mjs +103 -93
  17. package/app/plugins/hermes/plugin.mjs +103 -93
  18. package/app/plugins/kimi-code/plugin.mjs +103 -93
  19. package/app/plugins/kiro-cli/plugin.mjs +103 -93
  20. package/app/plugins/omp/plugin.mjs +103 -93
  21. package/app/plugins/opencode/plugin.mjs +103 -93
  22. package/app/plugins/pi/plugin.mjs +103 -93
  23. package/app/plugins/qoder/plugin.mjs +103 -93
  24. package/app/plugins/qoder-cn/plugin.mjs +103 -93
  25. package/app/plugins/qwen-code/plugin.mjs +103 -93
  26. package/app/plugins/workbuddy/plugin.mjs +103 -93
  27. package/app/plugins/zcode/plugin.mjs +103 -93
  28. package/app/renderer-extension.js +122 -149
  29. package/app/web/assets/index-C3lniEH1.css +1 -0
  30. package/app/web/assets/index-aKvkfNJN.js +199 -0
  31. package/app/web/codexhost-settings.js +104 -94
  32. package/app/web/index.html +2 -2
  33. package/app/web/plugins/deepseek-ai__dsh-api-gateway/client.js +1 -1
  34. package/app/web/plugins/deepseek-ai__dsh-api-remotes/client.js +64 -64
  35. package/app/web/plugins/deepseek-ai__dsh-api-session-controller/client.js +69 -69
  36. package/app/web/plugins/deepseek-ai__dsh-client-ui-chat/client.js +2 -2
  37. package/app/web/plugins/deepseek-ai__dsh-client-ui-codexhost/client.js +63 -62
  38. package/app/web/plugins/deepseek-ai__dsh-client-ui-conversation/client.js +85 -85
  39. package/app/web/plugins/deepseek-ai__dsh-client-ui-directory-picker-browse/client.js +10 -10
  40. package/app/web/plugins/deepseek-ai__dsh-client-ui-input-trigger/client.js +1 -1
  41. package/app/web/plugins/deepseek-ai__dsh-client-ui-layout/client.js +3 -3
  42. package/app/web/plugins/deepseek-ai__dsh-client-ui-model-selection/client.js +2 -2
  43. package/app/web/plugins/deepseek-ai__dsh-client-ui-permission-presets/client.js +1 -1
  44. package/app/web/plugins/deepseek-ai__dsh-client-ui-sidebar/client.js +1 -1
  45. package/app/web/plugins/deepseek-ai__dsh-client-ui-sidebar-right/client.js +55 -55
  46. package/app/web/plugins/deepseek-ai__dsh-client-ui-tool/client.js +18 -18
  47. package/app/web/plugins/deepseek-ai__dsh-client-ui-workspace/client.js +8 -8
  48. package/app/web/sw.js +55 -24
  49. package/app/web-modules/server.mjs +1091 -680
  50. package/bin/codexhost +0 -0
  51. package/libexec/codexhost-shim +0 -0
  52. package/libexec/codexhost-updater +0 -0
  53. package/package.json +1 -1
  54. package/app/plugins/codex-cli/manifest.json +0 -16
  55. package/app/plugins/codex-cli/plugin.mjs +0 -20374
  56. package/app/web/assets/index-CIeTchMu.css +0 -1
  57. package/app/web/assets/index-DeAPBQbV.js +0 -199
  58. /package/app/{plugins/codex-cli/assets/icon.png → web/codex.png} +0 -0
@@ -4,6 +4,6 @@ window.__ModuleLoader__.load({id:`@deepseek-ai/dsh-client-ui-model-selection`,fa
4
4
  /* v8 ignore next 2 -- scan() stops stepping once the view is invalid. */
5
5
  case`invalid`:return;
6
6
  /* v8 ignore next 2 -- Every scanner mode has a handler above. */
7
- default:p(this.#r)}}fail(){this.#d=this.#n,this.#r=`invalid`,this.#c=null}beginKey(e){this.#r=`key`,this.#a=e+1,this.#o=!1,this.#i=!1}stepKey(e,t){if(e<` `){this.fail();return}if(this.#i){this.#i=!1;return}if(e===`\\`){this.#i=!0,this.#o=!0;return}if(e!==`"`)return;let n=this.slice(this.#a,t);if(this.#o)try{this.#s=JSON.parse(`"${n}"`)}catch{this.fail();return}else this.#s=n;this.#r=`colon`}open(e){this.#p.has(this.#s)||this.#m.push(this.#s),this.#p.set(this.#s,e),this.#c=e}beginValue(e,t){d(e)||(e===`"`?(this.open({kind:`string`,start:t+1,end:-1,needsDecoding:!1,invalidAt:void 0,length:void 0,text:void 0,prefixes:void 0}),this.#i=!1,this.#r=`string`):e===`}`||e===`,`||e===`:`||e===`]`?this.fail():(this.open({kind:`value`,start:t,end:-1,parsed:void 0,invalid:!1}),e===`{`||e===`[`?(this.#r=`nested`,this.#l=[e===`{`?`}`:`]`],this.#u=!1,this.#i=!1):this.#r=`scalar`))}stepScalar(e,t){(e===`,`||e===`}`||d(e))&&(this.closeValue(t),this.#r=e===`,`?`key-only`:e===`}`?`closed`:`comma-or-end`)}stepNested(e,t){if(this.#u)this.#u=!1;else if(e===`"`)this.#u=!0;else if(e===`{`||e===`[`)this.#l.push(e===`{`?`}`:`]`);else if(e===`}`||e===`]`){if(this.#l.pop()!==e){this.fail();return}this.#l.length===0&&(this.closeValue(t+1),this.#r=`comma-or-end`)}}closeValue(e){let t=this.#c;t.end=e,this.#c=null}});function p(e,t){let n=JSON.stringify(e)??String(e);throw Error(`unreachable variant${t?` in ${t}`:``}: ${n}`)}var m=class{keys=/* @__PURE__ */ new WeakMap;valueSet=/* @__PURE__ */ new Set;values=this.valueSet;get(e){return this.keys.get(e)}has(e){return this.keys.has(e)}set(e,t){if(this.keys.has(e)){let n=this.keys.get(e);if(n===t)return this;this.valueSet.delete(n)}return this.keys.set(e,t),this.valueSet.add(t),this}delete(e){if(!this.keys.has(e))return!1;let t=this.keys.get(e),n=this.keys.delete(e);return this.valueSet.delete(t),n}clear(){this.keys=/* @__PURE__ */ new WeakMap,this.valueSet.clear()}},h=class{ctx;store=(0,a.createSnapshotStore)({value:null,status:`idle`,error:null});reasoning=/* @__PURE__ */ new Map;reasoningFor(e){return this.reasoning.get(JSON.stringify([e.provider,e.model]))}disposed=!1;refreshRequested=!1;generation=0;inflight;constructor(e){this.ctx=e}load(){if(this.disposed)return Promise.reject(/* @__PURE__ */ Error(`Model catalog disposed`));let e=this.store.getSnapshot();if(e.status===`ready`&&e.value!==null)return Promise.resolve(e.value);if(this.inflight!==void 0)return this.inflight;let t=this.generation;this.store.update(e=>{e.status=`loading`,e.error=null});let n=(async()=>{let e,n=!1,r;do{this.refreshRequested=!1;try{e=await this.ctx.remote.session.modelCatalog(),n=!1}catch(e){r=e,n=!0}}while(t===this.generation&&this.refreshRequested);if(n)throw r;if(!e)throw Error(`Model catalog response missing`);if(!e.ok)throw Error(`${e.error.code}: ${e.error.message}`);if(t===this.generation){for(let t of e.value.groups)for(let e of t.models)this.reasoning.set(JSON.stringify([t.id,e.id]),e.reasoning),e.fastModel!==void 0&&this.reasoning.set(JSON.stringify([t.id,e.fastModel]),e.reasoning);this.store.set({value:e.value,status:`ready`,error:null})}return e.value})().catch(e=>{throw t===this.generation&&this.store.update(t=>{t.status=`error`,t.error=e instanceof Error?e.message:String(e)}),e}).finally(()=>{t===this.generation&&this.inflight===n&&(this.inflight=void 0)});return this.inflight=n,n}invalidate(e=!1){this.generation+=1,this.refreshRequested=!1,this.inflight=void 0;let t=e?null:this.store.getSnapshot().value;this.store.set({value:t,status:`idle`,error:null})}refresh(){this.disposed||(this.inflight?this.refreshRequested=!0:(this.invalidate(),this.load().catch(()=>{})))}dispose(){this.disposed=!0,this.generation++,this.refreshRequested=!1,this.inflight=void 0}resetGeneration(){this.disposed||(this.reasoning.clear(),this.invalidate(!0),this.load().catch(()=>{}))}};function g(){let e=globalThis.crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16)),t=Array.from(e,(e,t)=>(t===6?e&15|64:t===8?e&63|128:e).toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}async function _(e,t){let n=await fetch(`api/codexhost/preferences/${e}`,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({type:`client-request`,rpcId:g(),method:`codexhost/preferences/${e}`,payload:{args:t}})});if(!n.ok)throw Error(`Shared Harness preferences are unavailable.`);let r=await n.json();if(!r.result.ok)throw Error(r.result.error?.message??`Shared Harness preferences could not be saved.`);return r.result.value}function v(e,t){return e.id===t||e.fastModel===t}function y(e,t){return e.find(e=>e.id===t.provider)?.models.find(e=>v(e,t.model))}var b=class{sessions;sessionId;available;catalog;projected;isBlank;track;store=(0,a.createSnapshotStore)({current:null,routable:null,groups:[],harnesses:[],boundHarnessId:null,failures:[],status:`idle`,pending:null,error:null});generation=0;disposed=!1;unsubscribeCatalog;unsubscribeSelection;constructor(e,t,n,r,i,a,o){this.sessions=e,this.sessionId=t,this.available=n,this.catalog=r,this.projected=i,this.isBlank=a,this.track=o,this.unsubscribeCatalog=r.store.subscribe(()=>{this.syncInputs()}),this.unsubscribeSelection=i.subscribe(()=>{this.syncInputs()}),this.syncInputs()}async load(){return this.assertAvailable(),await this.catalog.load(),this.syncInputs(),this.store.getSnapshot()}async select(e){this.assertAvailable();let t=this.store.getSnapshot().current,n=t?.reasoningEffort??(t===null?void 0:this.catalog.reasoningFor(t)?.defaultEffort),r=e.reasoningEffort??this.catalog.reasoningFor(e)?.defaultEffort,i=++this.generation;this.store.update(t=>{t.status=`selecting`,t.pending=e,t.error=null});let a=await this.sessions.selectModel({sessionId:this.sessionId,provider:e.provider,model:e.model,...e.reasoningEffort===void 0?{}:{reasoningEffort:e.reasoningEffort}});if(this.disposed||i!==this.generation)return a.ok?{ok:!0,value:void 0}:a;if(!a.ok)return this.store.update(e=>{e.status=`error`,e.pending=null,e.error=`${a.error.code}: ${a.error.message}`}),a;if(t!==null){let i=`${t.provider}/${t.model}`,a=`${e.provider}/${e.model}`;i!==a&&this.track?.(`model_switch`,{...this.isBlank()?{}:{session_id:this.sessionId},switch_from:i,switch_to:a}),i===a&&n!==r&&this.track?.(`thinking_level_switch`,{...this.isBlank()?{}:{session_id:this.sessionId},model_name:a,switch_from:n??`default`,switch_to:r??`default`})}return this.store.update(e=>{e.status=`ready`,e.pending=null,e.error=null}),this.syncInputs(),{ok:!0,value:void 0}}resetConnected(){this.disposed||(++this.generation,this.store.update(e=>{e.status===`selecting`&&(e.status=`idle`),e.pending=null,e.error=null}),this.syncInputs())}dispose(){this.disposed=!0,this.unsubscribeSelection(),this.unsubscribeCatalog()}assertAvailable(){if(!this.available())throw Error(`model selection is unavailable for addressed subagent sessions`)}syncInputs(){if(this.disposed)return;let e=this.catalog.store.getSnapshot(),t=ee(this.projected.getSnapshot()),n=t?.next??e.value?.default,r=t?.lastUsed?.provider??null,i=e.value?.groups??[],a=i.filter(e=>e.id===(r??n?.provider)),o=n===void 0?void 0:this.catalog.reasoningFor(n),s=n?.reasoningEffort??o?.defaultEffort,c=s===void 0?void 0:o?.efforts.find(e=>e.id===s)?.name??s;if(e.status!==`ready`||e.value===null||t===void 0){this.store.set({current:e.value===null?null:this.store.getSnapshot().current,...c===void 0?{}:{retainedEffort:c},routable:null,groups:a,harnesses:i,boundHarnessId:r,failures:e.value?.failures??[],harnessOrder:e.value?.harnessOrder??[],rememberedSelections:e.value?.rememberedSelections??{},modelFavorites:e.value?.modelFavorites??{},preferencesAvailable:e.value?.preferencesAvailable??!1,status:e.status===`error`?`error`:`loading`,pending:this.store.getSnapshot().pending,error:e.error});return}let l=t.next??e.value.default,u=a.some(e=>e.id===l.provider&&e.models.some(e=>v(e,l.model)));this.store.set({current:l,...c===void 0?{}:{retainedEffort:c},routable:u,groups:a,harnesses:i,boundHarnessId:r,failures:e.value.failures,harnessOrder:e.value.harnessOrder??[],rememberedSelections:e.value.rememberedSelections??{},modelFavorites:e.value.modelFavorites??{},preferencesAvailable:e.value.preferencesAvailable??!1,status:this.store.getSnapshot().status===`selecting`?`selecting`:`ready`,pending:this.store.getSnapshot().pending,error:null})}};function ee(e){return e===void 0?void 0:e}var x=class extends i.Service{static inject=[`sessions`,`remote`,`remote.session`];live={directories:new m};catalog;get harnessCatalog(){return this.catalog.store}constructor(e){super(e,`modelDirectories`),this.catalog=new h(e),this.migrateLegacyFavorites().catch(()=>{}),e.remote.$on(`codexhost/preferences-changed`,()=>this.catalog.refresh()),e.remote.$on(`codexhost/display-settings-changed`,()=>this.catalog.refresh()),e.effect(()=>{let e=()=>this.catalog.refresh(),t=()=>{document.visibilityState===`visible`&&this.catalog.refresh()};return window.addEventListener(`focus`,e),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(`focus`,e),document.removeEventListener(`visibilitychange`,t),this.catalog.dispose()}},`ui-model-selection: catalog lifecycle`),this.catalog.load().catch(()=>{}),e.on(`connection/reset`,()=>{this.catalog.resetGeneration();for(let e of this.live.directories.values)e.resetConnected()}),e.remote.$on(`llm/adapters-updated`,()=>{this.catalog.refresh()}),e.remote.$on(`settings/document-updated`,()=>{this.catalog.refresh()}),e.remote.$on(`credentials/record-updated`,()=>{this.catalog.refresh()}),e.remote.$on(`credentials/reference-updated`,()=>{this.catalog.refresh()})}async migrateLegacyFavorites(){let e=/* @__PURE__ */ new Map;try{let t=JSON.parse(localStorage.getItem(`codexhost:model-favorites:v1`)??`[]`);if(Array.isArray(t))for(let n of t)try{let t=JSON.parse(String(n));Array.isArray(t)&&t.length===2&&t.every(e=>typeof e==`string`)&&e.set(t[0],[...e.get(t[0])??[],t[1]])}catch{}}catch{}await _(`migrate`,{favorites:[...e].map(([e,t])=>({provider:e,modelIds:t}))}),this.catalog.refresh()}async setFavorite(e,t,n){await _(`patch`,{operation:{kind:`favorite`,harnessId:e,modelId:t,enabled:n}}),this.catalog.refresh(),await this.catalog.load()}directoryFor(e){let{live:t}=this,n=this.ctx.sessions,r=n.scope(e);if(r===void 0)throw Error(`ui-model-selection: session "${String(e)}" resolved no scope`);let i=n.binding(e);if(i===void 0)throw Error(`ui-model-selection: session "${String(e)}" resolved no binding`);let a=t.directories.get(i);if(a!==void 0)return a;let o=new b(this.ctx.remote.session,e,()=>n.subagentAddress(e)===void 0,this.catalog,i.session.projections.faceOf(`modelSelection`),()=>i.session.getSnapshot().blank,(e,t)=>this.ctx.get(`productAnalytics`)?.track(e,t));return t.directories.set(i,o),r.effect(()=>()=>{o.dispose(),t.directories.delete(i)},`ui-model-selection: session directory`),o}};let S=`@deepseek-ai/dsh-client-ui-model-selection/FastToggle.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(S)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@deepseek-ai/dsh-client-ui-model-selection`,e.dataset.pluginCss=S,e.textContent=`.fdd0aG_toggle{border-radius:var(--dsw-radius-sm);width:24px;height:28px;color:var(--dsw-alias-label-caption);cursor:pointer;touch-action:manipulation;background:0 0;border:none;outline:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.fdd0aG_toggle[data-enabled]{color:var(--dsw-alias-label-secondary)}.fdd0aG_toggle:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.fdd0aG_toggle:focus-visible{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}.fdd0aG_toggle:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}@media (width<=600px),(pointer:coarse){.fdd0aG_toggle{width:36px;height:44px}}`,document.head.appendChild(e)}var te={toggle:`fdd0aG_toggle`};function ne({locked:e,available:t,directory:n,select:i,t:a}){let c=(0,o.useSyncExternalStore)(e=>n.subscribe(e),()=>n.getSnapshot()),[l,u]=(0,o.useState)(null),[d,f]=(0,o.useState)(null),{current:p}=c,m=p===null?void 0:y(c.groups,p),h=m?.fastModel;if(!t||p===null||m===void 0||h===void 0)return null;let g=p.model===h,_=c.pending!==null;return/* @__PURE__ */ (0,s.jsxs)(s.Fragment,{children:[/* @__PURE__ */ (0,s.jsx)(r.Tooltip,{portal:!0,side:`top`,maxWidth:300,label:`${a(g?`fast.on`:`fast.off`)}\n${a(`fast.description`)}`,children:/* @__PURE__ */ (0,s.jsx)(`button`,{ref:f,type:`button`,className:te.toggle,"data-enabled":g?``:void 0,"aria-label":`Fast`,"aria-pressed":g,disabled:e||_,onClick:()=>{i({provider:p.provider,model:g?m.id:h,...p.reasoningEffort===void 0?{}:{reasoningEffort:p.reasoningEffort}}).then(e=>{if(e===void 0||e.ok)return;let{error:t}=e;u(e=>({seq:(e?.seq??0)+1,text:t.code===`session/writer-held`?a(`error.sessionInUse`):a(`error.action`,{message:`${t.code}: ${t.message}`})}))})},children:/* @__PURE__ */ (0,s.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`14`,height:`14`,"aria-hidden":`true`,children:/* @__PURE__ */ (0,s.jsx)(`path`,{d:`M11.9125 21.4125C11.5292 21.8625 11.0292 22.0958 10.4125 22.1125C9.79586 22.1291 9.29586 21.9208 8.91252 21.4875C8.53752 21.0541 8.45836 20.4541 8.67503 19.6875L9.68752 16H4.57502C4.00836 16 3.56669 15.8375 3.25002 15.5125C2.93336 15.1791 2.77502 14.7791 2.77502 14.3125C2.77502 13.8375 2.92919 13.4125 3.23752 13.0375L12.1375 2.47497C12.5209 2.02497 13.0209 1.79164 13.6375 1.77497C14.2542 1.75831 14.75 1.96664 15.125 2.39997C15.5084 2.83331 15.5917 3.43331 15.375 4.19997L14.3125 7.99998H19.425C19.9917 7.99998 20.4334 8.16664 20.75 8.49997C21.075 8.83331 21.2375 9.23748 21.2375 9.71247C21.2375 10.1791 21.0792 10.5958 20.7625 10.9625L11.9125 21.4125Z`,fill:g?`currentColor`:`none`,stroke:g?`none`:`currentColor`,strokeWidth:`1.6`,strokeLinejoin:`round`})})})}),l!==null&&/* @__PURE__ */ (0,s.jsx)(r.Toast,{text:l.text,icon:/* @__PURE__ */ (0,s.jsx)(r.IconWarningOutlineRegular,{}),anchor:d?.closest(`[data-composer-card]`)??null,onDone:()=>{u(null)}},l.seq)]})}let C=`@deepseek-ai/dsh-client-ui-model-selection/HarnessSelect.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(C)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@deepseek-ai/dsh-client-ui-model-selection`,e.dataset.pluginCss=C,e.textContent=`.bF7P6q_controls{align-items:center;gap:6px;min-width:0;display:inline-flex}.bF7P6q_trigger{width:30px;height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.bF7P6q_trigger:hover:not(:disabled),.bF7P6q_trigger[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover)}.bF7P6q_trigger:focus-visible{outline:2px solid var(--dsw-focus-ring-color);outline-offset:2px}.bF7P6q_trigger:disabled{opacity:.5;cursor:default}.bF7P6q_icon{object-fit:contain;border-radius:3px;flex-shrink:0;display:block}.bF7P6q_menu[role=menu]{border-radius:6px;width:224px;min-width:min(224px,100vw - 24px);max-width:calc(100vw - 24px);max-height:min(420px,100dvh - 48px)}.bF7P6q_menu [role=menuitem]{box-sizing:border-box;letter-spacing:0;touch-action:manipulation;border-radius:4px;gap:8px;min-height:36px;padding:6px 8px;font:500 13px/20px system-ui,sans-serif}.bF7P6q_menu [role=menuitem]>span:first-child,.bF7P6q_menu [role=menuitem]>span:first-child svg{width:20px;height:20px}.bF7P6q_menu [role=menuitem]:has([data-current]),.bF7P6q_menu [role=menuitem]:has([data-current]):hover:not(:disabled),.bF7P6q_menu [role=menuitem]:has([data-current]):focus-visible{background:var(--dsw-alias-interactive-bg-active)}.bF7P6q_menu [role=menuitem]:focus-visible:not(:disabled){outline:2px solid var(--dsw-focus-ring-color);outline-offset:-2px}.bF7P6q_menu [role=presentation]{white-space:normal;overflow-wrap:anywhere}@media (width<=600px),(pointer:coarse){.bF7P6q_trigger{width:40px;height:44px}.bF7P6q_menu [role=menuitem]{min-height:44px;padding-block:10px}}`,document.head.appendChild(e)}var w={controls:`bF7P6q_controls`,icon:`bF7P6q_icon`,menu:`bF7P6q_menu`,trigger:`bF7P6q_trigger`};function T({id:e,size:t=20}){return/* @__PURE__ */ (0,s.jsx)(r.RemotePluginIcon,{id:e,src:`/harness-icons/${encodeURIComponent(e)}`,presentationUrl:`/harness-icons/presentation.json`,size:t,className:w.icon,fallback:/* @__PURE__ */ (0,s.jsx)(r.IconDataOutlineRegular,{size:t})})}function E({available:e,directory:t,load:n,select:i,locked:a,t:c}){let l=(0,o.useSyncExternalStore)(e=>t.subscribe(e),()=>t.getSnapshot()),[u,d]=(0,o.useState)(!1),[f,p]=(0,o.useState)(null),m=(0,o.useRef)(null),h=l.current?.provider,g=l.harnesses.find(e=>e.id===h)?.name??l.failures.find(e=>e.id===h)?.name??h,_=l.pending!==null,v=[];l.boundHarnessId!==null&&v.push({type:`label`,id:`bound`,text:c(`harness.bound`)}),l.status===`loading`&&v.push({type:`label`,id:`loading`,text:c(`trigger.loading`)}),l.error!==null&&v.push({type:`label`,id:`error`,text:l.error}),l.harnesses.length===0&&l.status!==`loading`&&v.push({type:`label`,id:`empty`,text:c(`harness.empty`)});let y=()=>d(!1),b=e=>p(t=>({text:e,seq:(t?.seq??0)+1}));if(!e)return null;let ee=async e=>{if(a||_||l.boundHarnessId!==null&&e!==l.boundHarnessId)return;if(e===h){y();return}let t=l.harnesses.find(t=>t.id===e),n=l.rememberedSelections?.[e],r=t?.models.find(e=>e.id===n?.model)??t?.models[0];if(r===void 0)return;let o=(r.reasoning?.efforts.some(e=>e.id===n?.reasoningEffort)?n?.reasoningEffort:void 0)??r.reasoning?.defaultEffort;y();try{let t=await i({provider:e,model:r.id,...o===void 0?{}:{reasoningEffort:o}});t!==void 0&&!t.ok&&b(c(`error.action`,{message:t.error.message}))}catch(e){b(c(`error.action`,{message:e instanceof Error?e.message:String(e)}))}};return/* @__PURE__ */ (0,s.jsxs)(s.Fragment,{children:[/* @__PURE__ */ (0,s.jsx)(r.Menu,{open:u,portal:!0,side:`top`,align:`end`,autoFocus:!0,listClassName:w.menu,selectedId:h,items:[...l.harnesses.map(e=>({id:e.id,label:/* @__PURE__ */ (0,s.jsx)(`span`,{"data-current":e.id===h?``:void 0,children:e.name}),icon:/* @__PURE__ */ (0,s.jsx)(T,{id:e.id},e.id),disabled:a||_||e.models.length===0||l.boundHarnessId!==null&&e.id!==l.boundHarnessId})),...l.failures.map(e=>({id:e.id,label:/* @__PURE__ */ (0,s.jsxs)(`span`,{title:e.message,children:[e.name,` · `,c(`harness.unavailable`)]}),icon:/* @__PURE__ */ (0,s.jsx)(T,{id:e.id},e.id),disabled:!0}))].toSorted((e,t)=>{let n=l.harnessOrder??[],r=n.indexOf(e.id),i=n.indexOf(t.id);return(r<0?1/0:r)-(i<0?1/0:i)}),onSelect:e=>{ee(e)},onClose:y,footer:v,anchor:/* @__PURE__ */ (0,s.jsx)(`button`,{ref:m,type:`button`,className:w.trigger,title:g??c(`harness.select`),"aria-label":g===void 0?c(`harness.select`):c(`harness.aria`,{name:g}),"aria-haspopup":`menu`,"aria-expanded":u,"aria-busy":_,disabled:a||_,onClick:()=>{d(!u),u||n()},children:_?/* @__PURE__ */ (0,s.jsx)(r.StateDot,{state:`ongoing`}):h===void 0?/* @__PURE__ */ (0,s.jsx)(r.IconDataOutlineRegular,{size:16}):/* @__PURE__ */ (0,s.jsx)(T,{id:h,size:16},h)})}),f!==null&&/* @__PURE__ */ (0,s.jsx)(r.Toast,{text:f.text,icon:/* @__PURE__ */ (0,s.jsx)(r.IconWarningOutlineRegular,{}),anchor:m.current?.closest(`[data-composer-card]`)??null,onDone:()=>p(null)},f.seq)]})}function D(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=D(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function O(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=D(e))&&(r&&(r+=` `),r+=t);return r}let re=`@deepseek-ai/dsh-client-ui-model-selection/ModelSelect.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(re)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@deepseek-ai/dsh-client-ui-model-selection`,e.dataset.pluginCss=re,e.textContent=`._68lQha_root{min-width:0;position:relative}._68lQha_trigger{border-radius:var(--dsw-radius-sm);min-width:0;max-width:min(360px,45cqw);height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:4px;padding:0 4px 0 8px;font-size:13px;font-weight:400;line-height:20px;display:flex}._68lQha_trigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}._68lQha_trigger:focus-visible:not([data-selection-focus]){box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}._68lQha_trigger:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}._68lQha_triggerLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._68lQha_triggerEffort{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-caption);flex-shrink:1000;overflow:hidden}._68lQha_triggerIcon{display:var(--dsh-composer-model-icon-display,none);flex:none}._68lQha_triggerLabel,._68lQha_triggerEffort{display:var(--dsh-composer-model-text-display,block)}._68lQha_chevron{color:var(--dsw-alias-label-caption);flex:none;transition:transform .12s}._68lQha_chevronOpen{transform:rotate(180deg)}._68lQha_menu{z-index:1100;width:256px;max-width:calc(100vw - 24px);color:var(--dsw-alias-label-primary);position:fixed}._68lQha_panel{box-sizing:border-box;min-width:0;max-height:min(520px, var(--ch-model-menu-max-height,calc(100dvh - 96px)));--dsw-elevation-stroke-color:var(--dsw-alias-border-l1);box-shadow:var(--dsw-elevation-prominent);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border:0;flex-direction:column;padding:8px;display:flex;overflow:hidden}._68lQha_modelPanel{width:min(264px,100vw - 292px);position:absolute;top:0;right:calc(100% + 8px)}._68lQha_modelRight ._68lQha_modelPanel{left:calc(100% + 8px);right:auto}._68lQha_modelReplace ._68lQha_modelPanel{width:100%;position:relative;top:auto;right:auto}._68lQha_modelReplace ._68lQha_thinkingPanel{display:none}._68lQha_modelReplace ._68lQha_backButton{display:inline-flex}._68lQha_thinkingPanel{width:100%}._68lQha_thinkingOptions{min-height:0;overflow-y:auto}._68lQha_panelHeader{min-height:32px;color:var(--dsw-alias-label-tertiary);flex:none;align-items:center;padding:2px 8px 6px;font-size:13px;font-weight:500;line-height:20px;display:flex}._68lQha_backButton{border-radius:var(--dsw-radius-md);width:28px;height:28px;color:var(--dsw-alias-label-secondary);background:0 0;border:0;justify-content:center;align-items:center;margin-left:-6px;padding:0;display:none}._68lQha_backButton:hover,._68lQha_backButton:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:none}._68lQha_status,._68lQha_empty{color:var(--dsw-alias-label-tertiary);padding:8px;font-size:12px;line-height:18px}._68lQha_error,._68lQha_warning{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary);justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:3px;padding:6px 7px;font-size:11px;line-height:16px;display:flex}._68lQha_warning{background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-state-warn-label)}._68lQha_retry{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-weight:600}._68lQha_searchRow{flex-shrink:0;margin:2px 0 3px;position:relative}._68lQha_searchRow ._68lQha_search{border-radius:var(--dsw-radius-md);background:0 0;border:0 solid #0000;height:auto;padding:5px 7px;display:flex}._68lQha_searchRow ._68lQha_searchWithQuery{padding-right:34px}._68lQha_searchClear{corner-shape:round;width:24px;height:24px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}._68lQha_searchClear:hover,._68lQha_searchClear:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:none}._68lQha_searchRow ._68lQha_search:focus-within{border-color:#0000}._68lQha_searchRow ._68lQha_search input{padding:0;font-size:12px;line-height:normal}._68lQha_searchRow ._68lQha_search input::placeholder{color:var(--dsw-alias-label-caption)}._68lQha_groups{flex:auto;min-height:0;overflow-y:auto}._68lQha_modelRow{border-radius:var(--dsw-radius-md);align-items:center;min-width:0;display:flex}._68lQha_modelRow:hover,._68lQha_modelRow:has(._68lQha_modelOption:focus-visible),._68lQha_modelRow:has(._68lQha_favorite:focus-visible),._68lQha_modelRow:has(._68lQha_optionActive){background:var(--dsw-alias-interactive-bg-hover)}._68lQha_modelRow ._68lQha_modelOption{background:0 0;flex:auto;min-width:0}._68lQha_favorite{border-radius:var(--dsw-radius-md);width:30px;height:30px;color:var(--dsw-alias-label-dimmed);cursor:pointer;background:0 0;border:0;outline:none;flex:0 0 30px;place-items:center;padding:5px;display:grid}._68lQha_favorite svg{width:18px;height:18px}._68lQha_favorite:hover:not(:disabled),._68lQha_favorite:focus-visible{color:var(--dsw-alias-label-secondary)}._68lQha_favoriteActive{color:var(--dsw-alias-state-warn-primary,#f5a524)}._68lQha_favorite:disabled{cursor:default}._68lQha_option{box-sizing:border-box;border-radius:var(--dsw-radius-md);width:auto;min-width:100%;min-height:34px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:6px;padding:5px 7px;display:flex}._68lQha_option:not(._68lQha_modelOption):hover:not(:disabled),._68lQha_option:not(._68lQha_modelOption):focus-visible,._68lQha_optionActive:not(._68lQha_modelOption):not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}._68lQha_selected{background:0 0}._68lQha_option:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}._68lQha_optionCopy{flex-direction:column;flex:1;min-width:0;display:flex}._68lQha_modelName{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400;line-height:18px;overflow:hidden}._68lQha_check{color:var(--dsw-alias-label-primary);flex:0 0 14px;place-items:center;display:grid}._68lQha_check svg{width:14px;height:14px}._68lQha_modelCellWrap{border-top:.5px solid var(--dsw-alias-border-l2);flex:none;margin-top:6px;padding-top:6px}._68lQha_cell{box-sizing:border-box;border-radius:var(--dsw-radius-md);width:auto;min-width:100%;height:34px;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;outline:none;align-items:center;gap:6px;padding:0 8px;font-size:13px;line-height:20px;display:flex}._68lQha_cell:hover,._68lQha_cell:focus-visible{background:var(--dsw-alias-interactive-bg-hover)}._68lQha_cellLabel{white-space:nowrap;flex:none}._68lQha_cellValue{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;color:var(--dsw-alias-label-primary);flex:auto;overflow:hidden}._68lQha_cellChevron{width:12px;height:12px;color:var(--dsw-alias-menu-icon);flex:none}@media (width<=640px){._68lQha_menu,._68lQha_modelPanel,._68lQha_thinkingPanel{width:min(320px,100vw - 24px);max-width:calc(100vw - 24px)}._68lQha_modelPanel{position:relative;top:auto;right:auto}._68lQha_modelOpen ._68lQha_thinkingPanel{display:none}._68lQha_backButton{display:inline-flex}}`,document.head.appendChild(e)}var k={backButton:`_68lQha_backButton`,cell:`_68lQha_cell`,cellChevron:`_68lQha_cellChevron`,cellLabel:`_68lQha_cellLabel`,cellValue:`_68lQha_cellValue`,check:`_68lQha_check`,chevron:`_68lQha_chevron`,chevronOpen:`_68lQha_chevronOpen`,empty:`_68lQha_empty`,error:`_68lQha_error`,favorite:`_68lQha_favorite`,favoriteActive:`_68lQha_favoriteActive`,groups:`_68lQha_groups`,menu:`_68lQha_menu`,modelCellWrap:`_68lQha_modelCellWrap`,modelName:`_68lQha_modelName`,modelOpen:`_68lQha_modelOpen`,modelOption:`_68lQha_modelOption`,modelPanel:`_68lQha_modelPanel`,modelReplace:`_68lQha_modelReplace`,modelRight:`_68lQha_modelRight`,modelRow:`_68lQha_modelRow`,option:`_68lQha_option`,optionActive:`_68lQha_optionActive`,optionCopy:`_68lQha_optionCopy`,panel:`_68lQha_panel`,panelHeader:`_68lQha_panelHeader`,retry:`_68lQha_retry`,root:`_68lQha_root`,search:`_68lQha_search`,searchClear:`_68lQha_searchClear`,searchRow:`_68lQha_searchRow`,searchWithQuery:`_68lQha_searchWithQuery`,selected:`_68lQha_selected`,status:`_68lQha_status`,thinkingOptions:`_68lQha_thinkingOptions`,thinkingPanel:`_68lQha_thinkingPanel`,trigger:`_68lQha_trigger`,triggerEffort:`_68lQha_triggerEffort`,triggerIcon:`_68lQha_triggerIcon`,triggerLabel:`_68lQha_triggerLabel`,warning:`_68lQha_warning`};function ie(e){return e.toSorted((e,t)=>(e.id===`deepseek-account`?0:e.id===`deepseek-official`?1:2)-(t.id===`deepseek-account`?0:t.id===`deepseek-official`?1:2))}function A(e,t){return JSON.stringify([e,t])}function ae({filled:e}){return/* @__PURE__ */ (0,s.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 20 20`,children:/* @__PURE__ */ (0,s.jsx)(`path`,{d:`m10 2.3 2.28 4.62 5.1.74-3.69 3.59.87 5.08L10 13.94l-4.56 2.39.87-5.08-3.69-3.59 5.1-.74L10 2.3Z`,fill:e?`currentColor`:`none`,stroke:`currentColor`,strokeLinejoin:`round`,strokeWidth:`1.5`})})}let oe={visibility:`hidden`,left:0,top:0};function j({locked:e,available:t,directory:n,load:i,select:a,setFavorite:l,t:u}){let d=(0,o.useSyncExternalStore)(e=>n.subscribe(e),()=>n.getSnapshot()),[f,p]=(0,o.useState)(!1),[m,h]=(0,o.useState)(`root`),[g,_]=(0,o.useState)(``),[y,b]=(0,o.useState)(null),[ee,x]=(0,o.useState)(!1),S=(0,o.useMemo)(()=>new Set(Object.entries(d.modelFavorites??{}).flatMap(([e,t])=>t.map(t=>A(e,t)))),[d.modelFavorites]),[te,ne]=(0,o.useState)(!1),[C,w]=(0,o.useState)(`left`),T=(0,o.useRef)(`load`),[E,D]=(0,o.useState)(null),re=(0,o.useRef)(0),j=(0,o.useRef)(null),M=(0,o.useRef)(null),N=(0,o.useRef)(null),P=(0,o.useRef)(null),F=(0,o.useRef)(null),[se,ce]=(0,o.useState)(null),I=(0,o.useRef)([]),L=(0,o.useRef)([]),R=(0,o.useId)(),z=(0,o.useMemo)(()=>ie(d.groups),[d.groups]),B=(0,o.useMemo)(()=>z.flatMap(e=>e.models.map(t=>({group:e,model:t,selection:{provider:e.id,model:t.id,...t.reasoning?.defaultEffort===void 0?{}:{reasoningEffort:t.reasoning.defaultEffort}}}))),[z]),V=B.length>4,H=(0,o.useMemo)(()=>z.map(e=>({...e,models:(0,r.rankByName)(e.models,V?g.trim():``).toSorted((t,n)=>Number(S.has(A(e.id,n.id)))-Number(S.has(A(e.id,t.id))))})).filter(e=>e.models.length>0),[S,z,g,V]),U=(0,o.useMemo)(()=>H.flatMap(e=>e.models.map(t=>({provider:e.id,model:t}))),[H]),le=U.findIndex(e=>e.provider===d.current?.provider&&v(e.model,d.current.model)),W=Math.min(y??Math.max(0,le),U.length-1),ue=B[d.current===null?-1:B.findIndex(e=>e.selection.provider===d.current?.provider&&v(e.model,d.current.model))],G=ue?.model.reasoning,K=d.current?.reasoningEffort??G?.defaultEffort,q=G===void 0?d.retainedEffort:K===void 0?u(`effort.providerDefault`):G.efforts.find(e=>e.id===K)?.name??K,de=(0,o.useMemo)(()=>G===void 0?[]:[...G.defaultEffort===void 0?[{key:`provider-default`,effort:void 0,label:u(`effort.providerDefault`)}]:[],...G.efforts.map(e=>({key:`effort:${e.id}`,effort:e.id,label:e.name}))],[G,u]),{pending:J}=d,Y=J!==null,X=()=>{T.current=`load`,i()};(0,o.useEffect)(()=>{if(!f)return;let e=e=>{j.current?.contains(e.target)!==!0&&P.current?.contains(e.target)!==!0&&p(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[f]),(0,o.useLayoutEffect)(()=>{V||(_(``),b(null))},[V]);let Z=(0,o.useRef)(null),fe=(0,o.useRef)(V);if((0,o.useEffect)(()=>{let e=fe.current!==V;fe.current=V;let t=Z.current??(e&&m===`model`?`model`:null);if(Z.current=null,!f||t===null)return;if(t===`model`){if(V&&(0,r.shouldAutoFocusTextInput)()){N.current?.focus();return}(F.current?.querySelector(`[role="menuitemradio"][aria-checked="true"]:not([disabled])`)??L.current.find(e=>e!==null&&!e.disabled)??M.current)?.focus();return}let n=I.current.at(-1);(n!=null&&!n.disabled?n:M.current)?.focus()},[f,m,V]),(0,o.useLayoutEffect)(()=>{f&&m===`model`&&W>=0&&L.current[W]?.scrollIntoView({block:`nearest`})},[f,m,W,U]),(0,o.useLayoutEffect)(()=>{if(!f){ce(null);return}let e=()=>{
7
+ default:p(this.#r)}}fail(){this.#d=this.#n,this.#r=`invalid`,this.#c=null}beginKey(e){this.#r=`key`,this.#a=e+1,this.#o=!1,this.#i=!1}stepKey(e,t){if(e<` `){this.fail();return}if(this.#i){this.#i=!1;return}if(e===`\\`){this.#i=!0,this.#o=!0;return}if(e!==`"`)return;let n=this.slice(this.#a,t);if(this.#o)try{this.#s=JSON.parse(`"${n}"`)}catch{this.fail();return}else this.#s=n;this.#r=`colon`}open(e){this.#p.has(this.#s)||this.#m.push(this.#s),this.#p.set(this.#s,e),this.#c=e}beginValue(e,t){d(e)||(e===`"`?(this.open({kind:`string`,start:t+1,end:-1,needsDecoding:!1,invalidAt:void 0,length:void 0,text:void 0,prefixes:void 0}),this.#i=!1,this.#r=`string`):e===`}`||e===`,`||e===`:`||e===`]`?this.fail():(this.open({kind:`value`,start:t,end:-1,parsed:void 0,invalid:!1}),e===`{`||e===`[`?(this.#r=`nested`,this.#l=[e===`{`?`}`:`]`],this.#u=!1,this.#i=!1):this.#r=`scalar`))}stepScalar(e,t){(e===`,`||e===`}`||d(e))&&(this.closeValue(t),this.#r=e===`,`?`key-only`:e===`}`?`closed`:`comma-or-end`)}stepNested(e,t){if(this.#u)this.#u=!1;else if(e===`"`)this.#u=!0;else if(e===`{`||e===`[`)this.#l.push(e===`{`?`}`:`]`);else if(e===`}`||e===`]`){if(this.#l.pop()!==e){this.fail();return}this.#l.length===0&&(this.closeValue(t+1),this.#r=`comma-or-end`)}}closeValue(e){let t=this.#c;t.end=e,this.#c=null}});function p(e,t){let n=JSON.stringify(e)??String(e);throw Error(`unreachable variant${t?` in ${t}`:``}: ${n}`)}var m=class{keys=/* @__PURE__ */ new WeakMap;valueSet=/* @__PURE__ */ new Set;values=this.valueSet;get(e){return this.keys.get(e)}has(e){return this.keys.has(e)}set(e,t){if(this.keys.has(e)){let n=this.keys.get(e);if(n===t)return this;this.valueSet.delete(n)}return this.keys.set(e,t),this.valueSet.add(t),this}delete(e){if(!this.keys.has(e))return!1;let t=this.keys.get(e),n=this.keys.delete(e);return this.valueSet.delete(t),n}clear(){this.keys=/* @__PURE__ */ new WeakMap,this.valueSet.clear()}},h=class{ctx;store=(0,a.createSnapshotStore)({value:null,status:`idle`,error:null});reasoning=/* @__PURE__ */ new Map;reasoningFor(e){return this.reasoning.get(JSON.stringify([e.provider,e.model]))}disposed=!1;refreshRequested=!1;generation=0;inflight;constructor(e){this.ctx=e}load(){if(this.disposed)return Promise.reject(/* @__PURE__ */ Error(`Model catalog disposed`));let e=this.store.getSnapshot();if(e.status===`ready`&&e.value!==null)return Promise.resolve(e.value);if(this.inflight!==void 0)return this.inflight;let t=this.generation;this.store.update(e=>{e.status=`loading`,e.error=null});let n=(async()=>{let e,n=!1,r;do{this.refreshRequested=!1;try{e=await this.ctx.remote.session.modelCatalog(),n=!1}catch(e){r=e,n=!0}}while(t===this.generation&&this.refreshRequested);if(n)throw r;if(!e)throw Error(`Model catalog response missing`);if(!e.ok)throw Error(`${e.error.code}: ${e.error.message}`);if(t===this.generation){for(let t of e.value.groups)for(let e of t.models)this.reasoning.set(JSON.stringify([t.id,e.id]),e.reasoning),e.fastModel!==void 0&&this.reasoning.set(JSON.stringify([t.id,e.fastModel]),e.reasoning);this.store.set({value:e.value,status:`ready`,error:null})}return e.value})().catch(e=>{throw t===this.generation&&this.store.update(t=>{t.status=`error`,t.error=e instanceof Error?e.message:String(e)}),e}).finally(()=>{t===this.generation&&this.inflight===n&&(this.inflight=void 0)});return this.inflight=n,n}invalidate(e=!1){this.generation+=1,this.refreshRequested=!1,this.inflight=void 0;let t=e?null:this.store.getSnapshot().value;this.store.set({value:t,status:`idle`,error:null})}refresh(){this.disposed||(this.inflight?this.refreshRequested=!0:(this.invalidate(),this.load().catch(()=>{})))}dispose(){this.disposed=!0,this.generation++,this.refreshRequested=!1,this.inflight=void 0}resetGeneration(){this.disposed||(this.reasoning.clear(),this.invalidate(!0),this.load().catch(()=>{}))}};function g(){let e=globalThis.crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16)),t=Array.from(e,(e,t)=>(t===6?e&15|64:t===8?e&63|128:e).toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}async function _(e,t){let n=await fetch(`api/codexhost/preferences/${e}`,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({type:`client-request`,rpcId:g(),method:`codexhost/preferences/${e}`,payload:{args:t}})});if(!n.ok)throw Error(`Shared Harness preferences are unavailable.`);let r=await n.json();if(!r.result.ok)throw Error(r.result.error?.message??`Shared Harness preferences could not be saved.`);return r.result.value}function v(e,t){return e.id===t||e.fastModel===t}function y(e,t){return e.find(e=>e.id===t.provider)?.models.find(e=>v(e,t.model))}var b=class{sessions;sessionId;available;catalog;projected;isBlank;track;store=(0,a.createSnapshotStore)({current:null,routable:null,groups:[],harnesses:[],boundHarnessId:null,failures:[],status:`idle`,pending:null,error:null});generation=0;disposed=!1;unsubscribeCatalog;unsubscribeSelection;constructor(e,t,n,r,i,a,o){this.sessions=e,this.sessionId=t,this.available=n,this.catalog=r,this.projected=i,this.isBlank=a,this.track=o,this.unsubscribeCatalog=r.store.subscribe(()=>{this.syncInputs()}),this.unsubscribeSelection=i.subscribe(()=>{this.syncInputs()}),this.syncInputs()}async load(){return this.assertAvailable(),await this.catalog.load(),this.syncInputs(),this.store.getSnapshot()}async select(e){this.assertAvailable();let t=this.store.getSnapshot().current,n=t?.reasoningEffort??(t===null?void 0:this.catalog.reasoningFor(t)?.defaultEffort),r=e.reasoningEffort??this.catalog.reasoningFor(e)?.defaultEffort,i=++this.generation;this.store.update(t=>{t.status=`selecting`,t.pending=e,t.error=null});let a=await this.sessions.selectModel({sessionId:this.sessionId,provider:e.provider,model:e.model,...e.reasoningEffort===void 0?{}:{reasoningEffort:e.reasoningEffort}});if(this.disposed||i!==this.generation)return a.ok?{ok:!0,value:void 0}:a;if(!a.ok)return this.store.update(e=>{e.status=`error`,e.pending=null,e.error=`${a.error.code}: ${a.error.message}`}),a;if(t!==null){let i=`${t.provider}/${t.model}`,a=`${e.provider}/${e.model}`;i!==a&&this.track?.(`model_switch`,{...this.isBlank()?{}:{session_id:this.sessionId},switch_from:i,switch_to:a}),i===a&&n!==r&&this.track?.(`thinking_level_switch`,{...this.isBlank()?{}:{session_id:this.sessionId},model_name:a,switch_from:n??`default`,switch_to:r??`default`})}return this.store.update(e=>{e.status=`ready`,e.pending=null,e.error=null}),this.syncInputs(),{ok:!0,value:void 0}}resetConnected(){this.disposed||(++this.generation,this.store.update(e=>{e.status===`selecting`&&(e.status=`idle`),e.pending=null,e.error=null}),this.syncInputs())}dispose(){this.disposed=!0,this.unsubscribeSelection(),this.unsubscribeCatalog()}assertAvailable(){if(!this.available())throw Error(`model selection is unavailable for addressed subagent sessions`)}syncInputs(){if(this.disposed)return;let e=this.catalog.store.getSnapshot(),t=ee(this.projected.getSnapshot()),n=t?.next??e.value?.default,r=t?.lastUsed?.provider??null,i=e.value?.groups??[],a=i.filter(e=>e.id===(r??n?.provider)),o=n===void 0?void 0:this.catalog.reasoningFor(n),s=n?.reasoningEffort??o?.defaultEffort,c=s===void 0?void 0:o?.efforts.find(e=>e.id===s)?.name??s;if(e.status!==`ready`||e.value===null||t===void 0){this.store.set({current:e.value===null?null:this.store.getSnapshot().current,...c===void 0?{}:{retainedEffort:c},routable:null,groups:a,harnesses:i,boundHarnessId:r,failures:e.value?.failures??[],harnessOrder:e.value?.harnessOrder??[],rememberedSelections:e.value?.rememberedSelections??{},modelFavorites:e.value?.modelFavorites??{},preferencesAvailable:e.value?.preferencesAvailable??!1,status:e.status===`error`?`error`:`loading`,pending:this.store.getSnapshot().pending,error:e.error});return}let l=t.next??e.value.default,u=a.some(e=>e.id===l.provider&&e.models.some(e=>v(e,l.model)));this.store.set({current:l,...c===void 0?{}:{retainedEffort:c},routable:u,groups:a,harnesses:i,boundHarnessId:r,failures:e.value.failures,harnessOrder:e.value.harnessOrder??[],rememberedSelections:e.value.rememberedSelections??{},modelFavorites:e.value.modelFavorites??{},preferencesAvailable:e.value.preferencesAvailable??!1,status:this.store.getSnapshot().status===`selecting`?`selecting`:`ready`,pending:this.store.getSnapshot().pending,error:null})}};function ee(e){return e===void 0?void 0:e}var x=class extends i.Service{static inject=[`sessions`,`remote`,`remote.session`];live={directories:new m};catalog;get harnessCatalog(){return this.catalog.store}constructor(e){super(e,`modelDirectories`),this.catalog=new h(e),this.migrateLegacyFavorites().catch(()=>{}),e.remote.$on(`codexhost/preferences-changed`,()=>this.catalog.refresh()),e.remote.$on(`codexhost/display-settings-changed`,()=>this.catalog.refresh()),e.effect(()=>{let e=()=>this.catalog.refresh(),t=()=>{document.visibilityState===`visible`&&this.catalog.refresh()};return window.addEventListener(`focus`,e),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(`focus`,e),document.removeEventListener(`visibilitychange`,t),this.catalog.dispose()}},`ui-model-selection: catalog lifecycle`),this.catalog.load().catch(()=>{}),e.on(`connection/reset`,()=>{this.catalog.resetGeneration();for(let e of this.live.directories.values)e.resetConnected()}),e.remote.$on(`llm/adapters-updated`,()=>{this.catalog.refresh()}),e.remote.$on(`settings/document-updated`,()=>{this.catalog.refresh()}),e.remote.$on(`credentials/record-updated`,()=>{this.catalog.refresh()}),e.remote.$on(`credentials/reference-updated`,()=>{this.catalog.refresh()})}async migrateLegacyFavorites(){let e=/* @__PURE__ */ new Map;try{let t=JSON.parse(localStorage.getItem(`codexhost:model-favorites:v1`)??`[]`);if(Array.isArray(t))for(let n of t)try{let t=JSON.parse(String(n));Array.isArray(t)&&t.length===2&&t.every(e=>typeof e==`string`)&&e.set(t[0],[...e.get(t[0])??[],t[1]])}catch{}}catch{}await _(`migrate`,{favorites:[...e].map(([e,t])=>({provider:e,modelIds:t}))}),this.catalog.refresh()}async setFavorite(e,t,n){await _(`patch`,{operation:{kind:`favorite`,harnessId:e,modelId:t,enabled:n}}),this.catalog.refresh(),await this.catalog.load()}directoryFor(e){let{live:t}=this,n=this.ctx.sessions,r=n.scope(e);if(r===void 0)throw Error(`ui-model-selection: session "${String(e)}" resolved no scope`);let i=n.binding(e);if(i===void 0)throw Error(`ui-model-selection: session "${String(e)}" resolved no binding`);let a=t.directories.get(i);if(a!==void 0)return a;let o=new b(this.ctx.remote.session,e,()=>n.subagentAddress(e)===void 0,this.catalog,i.session.projections.faceOf(`modelSelection`),()=>i.session.getSnapshot().blank,(e,t)=>this.ctx.get(`productAnalytics`)?.track(e,t));return t.directories.set(i,o),r.effect(()=>()=>{o.dispose(),t.directories.delete(i)},`ui-model-selection: session directory`),o}};let S=`@deepseek-ai/dsh-client-ui-model-selection/FastToggle.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(S)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@deepseek-ai/dsh-client-ui-model-selection`,e.dataset.pluginCss=S,e.textContent=`.fdd0aG_toggle{border-radius:var(--dsw-radius-sm);width:24px;height:28px;color:var(--dsw-alias-label-caption);cursor:pointer;touch-action:manipulation;background:0 0;border:none;outline:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.fdd0aG_toggle[data-enabled]{color:var(--dsw-alias-label-secondary)}.fdd0aG_toggle:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.fdd0aG_toggle:focus-visible{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}.fdd0aG_toggle:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}@media (width<=600px),(pointer:coarse){.fdd0aG_toggle{width:36px;height:44px}}`,document.head.appendChild(e)}var te={toggle:`fdd0aG_toggle`};function ne({locked:e,available:t,directory:n,select:i,t:a}){let c=(0,o.useSyncExternalStore)(e=>n.subscribe(e),()=>n.getSnapshot()),[l,u]=(0,o.useState)(null),[d,f]=(0,o.useState)(null),{current:p}=c,m=p===null?void 0:y(c.groups,p),h=m?.fastModel;if(!t||p===null||m===void 0||h===void 0)return null;let g=p.model===h,_=c.pending!==null;return/* @__PURE__ */ (0,s.jsxs)(s.Fragment,{children:[/* @__PURE__ */ (0,s.jsx)(r.Tooltip,{portal:!0,side:`top`,maxWidth:300,label:`${a(g?`fast.on`:`fast.off`)}\n${a(`fast.description`)}`,children:/* @__PURE__ */ (0,s.jsx)(`button`,{ref:f,type:`button`,className:te.toggle,"data-enabled":g?``:void 0,"aria-label":`Fast`,"aria-pressed":g,disabled:e||_,onClick:()=>{i({provider:p.provider,model:g?m.id:h,...p.reasoningEffort===void 0?{}:{reasoningEffort:p.reasoningEffort}}).then(e=>{if(e===void 0||e.ok)return;let{error:t}=e;u(e=>({seq:(e?.seq??0)+1,text:t.code===`session/writer-held`?a(`error.sessionInUse`):a(`error.action`,{message:`${t.code}: ${t.message}`})}))})},children:/* @__PURE__ */ (0,s.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`14`,height:`14`,"aria-hidden":`true`,children:/* @__PURE__ */ (0,s.jsx)(`path`,{d:`M11.9125 21.4125C11.5292 21.8625 11.0292 22.0958 10.4125 22.1125C9.79586 22.1291 9.29586 21.9208 8.91252 21.4875C8.53752 21.0541 8.45836 20.4541 8.67503 19.6875L9.68752 16H4.57502C4.00836 16 3.56669 15.8375 3.25002 15.5125C2.93336 15.1791 2.77502 14.7791 2.77502 14.3125C2.77502 13.8375 2.92919 13.4125 3.23752 13.0375L12.1375 2.47497C12.5209 2.02497 13.0209 1.79164 13.6375 1.77497C14.2542 1.75831 14.75 1.96664 15.125 2.39997C15.5084 2.83331 15.5917 3.43331 15.375 4.19997L14.3125 7.99998H19.425C19.9917 7.99998 20.4334 8.16664 20.75 8.49997C21.075 8.83331 21.2375 9.23748 21.2375 9.71247C21.2375 10.1791 21.0792 10.5958 20.7625 10.9625L11.9125 21.4125Z`,fill:g?`currentColor`:`none`,stroke:g?`none`:`currentColor`,strokeWidth:`1.6`,strokeLinejoin:`round`})})})}),l!==null&&/* @__PURE__ */ (0,s.jsx)(r.Toast,{text:l.text,icon:/* @__PURE__ */ (0,s.jsx)(r.IconWarningOutlineRegular,{}),anchor:d?.closest(`[data-composer-card]`)??null,onDone:()=>{u(null)}},l.seq)]})}let C=`@deepseek-ai/dsh-client-ui-model-selection/HarnessSelect.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(C)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@deepseek-ai/dsh-client-ui-model-selection`,e.dataset.pluginCss=C,e.textContent=`.bF7P6q_controls{align-items:center;gap:6px;min-width:0;display:inline-flex}.bF7P6q_trigger{width:30px;height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.bF7P6q_trigger:hover:not(:disabled),.bF7P6q_trigger[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover)}.bF7P6q_trigger:focus-visible{outline:2px solid var(--dsw-focus-ring-color);outline-offset:2px}.bF7P6q_trigger:disabled{opacity:.5;cursor:default}.bF7P6q_icon{object-fit:contain;border-radius:3px;flex-shrink:0;display:block}.bF7P6q_menu[role=menu]{border-radius:6px;width:224px;min-width:min(224px,100vw - 24px);max-width:calc(100vw - 24px);max-height:min(420px,100dvh - 48px)}.bF7P6q_menu [role=menuitem]{box-sizing:border-box;letter-spacing:0;touch-action:manipulation;border-radius:4px;gap:8px;min-height:36px;padding:6px 8px;font:500 13px/20px system-ui,sans-serif}.bF7P6q_menu [role=menuitem]>span:first-child,.bF7P6q_menu [role=menuitem]>span:first-child svg{width:20px;height:20px}.bF7P6q_menu [role=menuitem]:has([data-current]),.bF7P6q_menu [role=menuitem]:has([data-current]):hover:not(:disabled),.bF7P6q_menu [role=menuitem]:has([data-current]):focus-visible{background:var(--dsw-alias-interactive-bg-active)}.bF7P6q_menu [role=menuitem]:focus-visible:not(:disabled){outline:2px solid var(--dsw-focus-ring-color);outline-offset:-2px}.bF7P6q_menu [role=presentation]{white-space:normal;overflow-wrap:anywhere}@media (width<=600px),(pointer:coarse){.bF7P6q_trigger{width:40px;height:44px}.bF7P6q_menu [role=menuitem]{min-height:44px;padding-block:10px}}`,document.head.appendChild(e)}var w={controls:`bF7P6q_controls`,icon:`bF7P6q_icon`,menu:`bF7P6q_menu`,trigger:`bF7P6q_trigger`};function T({id:e,size:t=20}){return/* @__PURE__ */ (0,s.jsx)(r.RemotePluginIcon,{id:e,src:`/harness-icons/${encodeURIComponent(e)}`,presentationUrl:`/harness-icons/presentation.json`,size:t,className:w.icon,fallback:/* @__PURE__ */ (0,s.jsx)(r.IconDataOutlineRegular,{size:t})})}function E({available:e,directory:t,load:n,select:i,locked:a,t:c}){let l=(0,o.useSyncExternalStore)(e=>t.subscribe(e),()=>t.getSnapshot()),[u,d]=(0,o.useState)(!1),[f,p]=(0,o.useState)(null),m=(0,o.useRef)(null),h=l.current?.provider,g=l.harnesses.find(e=>e.id===h)?.name??l.failures.find(e=>e.id===h)?.name??h,_=l.pending!==null,v=[];l.boundHarnessId!==null&&v.push({type:`label`,id:`bound`,text:c(`harness.bound`)}),l.status===`loading`&&v.push({type:`label`,id:`loading`,text:c(`trigger.loading`)}),l.error!==null&&v.push({type:`label`,id:`error`,text:l.error}),l.harnesses.length===0&&l.status!==`loading`&&v.push({type:`label`,id:`empty`,text:c(`harness.empty`)});let y=()=>d(!1),b=e=>p(t=>({text:e,seq:(t?.seq??0)+1}));if(!e)return null;let ee=async e=>{if(a||_||l.boundHarnessId!==null&&e!==l.boundHarnessId)return;if(e===h){y();return}let t=l.harnesses.find(t=>t.id===e),n=l.rememberedSelections?.[e],r=t?.models.find(e=>e.id===n?.model)??t?.models[0];if(r===void 0)return;let o=(r.reasoning?.efforts.some(e=>e.id===n?.reasoningEffort)?n?.reasoningEffort:void 0)??r.reasoning?.defaultEffort;y();try{let t=await i({provider:e,model:r.id,...o===void 0?{}:{reasoningEffort:o}});t!==void 0&&!t.ok&&b(c(`error.action`,{message:t.error.message}))}catch(e){b(c(`error.action`,{message:e instanceof Error?e.message:String(e)}))}};return/* @__PURE__ */ (0,s.jsxs)(s.Fragment,{children:[/* @__PURE__ */ (0,s.jsx)(r.Menu,{open:u,portal:!0,side:`top`,align:`end`,autoFocus:!0,listClassName:w.menu,selectedId:h,items:[...l.harnesses.map(e=>({id:e.id,label:/* @__PURE__ */ (0,s.jsx)(`span`,{"data-current":e.id===h?``:void 0,children:e.name}),icon:/* @__PURE__ */ (0,s.jsx)(T,{id:e.id},e.id),disabled:a||_||e.models.length===0||l.boundHarnessId!==null&&e.id!==l.boundHarnessId})),...l.failures.map(e=>({id:e.id,label:/* @__PURE__ */ (0,s.jsxs)(`span`,{title:e.message,children:[e.name,` · `,c(`harness.unavailable`)]}),icon:/* @__PURE__ */ (0,s.jsx)(T,{id:e.id},e.id),disabled:!0}))].toSorted((e,t)=>{let n=l.harnessOrder??[],r=n.indexOf(e.id),i=n.indexOf(t.id);return(r<0?1/0:r)-(i<0?1/0:i)}),onSelect:e=>{ee(e)},onClose:y,footer:v,anchor:/* @__PURE__ */ (0,s.jsx)(`button`,{ref:m,type:`button`,className:w.trigger,title:g??c(`harness.select`),"aria-label":g===void 0?c(`harness.select`):c(`harness.aria`,{name:g}),"aria-haspopup":`menu`,"aria-expanded":u,"aria-busy":_,disabled:a||_,onClick:()=>{d(!u),u||n()},children:_?/* @__PURE__ */ (0,s.jsx)(r.StateDot,{state:`ongoing`}):h===void 0?/* @__PURE__ */ (0,s.jsx)(r.IconDataOutlineRegular,{size:16}):/* @__PURE__ */ (0,s.jsx)(T,{id:h,size:16},h)})}),f!==null&&/* @__PURE__ */ (0,s.jsx)(r.Toast,{text:f.text,icon:/* @__PURE__ */ (0,s.jsx)(r.IconWarningOutlineRegular,{}),anchor:m.current?.closest(`[data-composer-card]`)??null,onDone:()=>p(null)},f.seq)]})}function re(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=re(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function D(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=re(e))&&(r&&(r+=` `),r+=t);return r}let ie=`@deepseek-ai/dsh-client-ui-model-selection/ModelSelect.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(ie)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@deepseek-ai/dsh-client-ui-model-selection`,e.dataset.pluginCss=ie,e.textContent=`._68lQha_root{min-width:0;position:relative}._68lQha_trigger{border-radius:var(--dsw-radius-sm);min-width:0;max-width:min(360px,45cqw);height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:4px;padding:0 4px 0 8px;font-size:13px;font-weight:400;line-height:20px;display:flex}._68lQha_trigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}._68lQha_trigger:focus-visible:not([data-selection-focus]){box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}._68lQha_trigger:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}._68lQha_triggerLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._68lQha_triggerEffort{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-caption);flex-shrink:1000;overflow:hidden}._68lQha_triggerIcon{display:var(--dsh-composer-model-icon-display,none);flex:none}._68lQha_triggerLabel,._68lQha_triggerEffort{display:var(--dsh-composer-model-text-display,block)}._68lQha_chevron{color:var(--dsw-alias-label-caption);flex:none;transition:transform .12s}._68lQha_chevronOpen{transform:rotate(180deg)}[data-phone] ._68lQha_trigger{max-width:none}[data-phone] ._68lQha_triggerLabel{flex-shrink:0;max-width:100px;display:block}[data-phone] ._68lQha_triggerIcon,[data-phone] ._68lQha_triggerEffort{display:none}._68lQha_menu{z-index:1100;width:256px;max-width:calc(100vw - 24px);color:var(--dsw-alias-label-primary);position:fixed}._68lQha_panel{box-sizing:border-box;min-width:0;max-height:min(520px, var(--ch-model-menu-max-height,calc(100dvh - 96px)));--dsw-elevation-stroke-color:var(--dsw-alias-border-l1);box-shadow:var(--dsw-elevation-prominent);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border:0;flex-direction:column;padding:8px;display:flex;overflow:hidden}._68lQha_modelPanel{width:min(264px,100vw - 292px);position:absolute;top:0;right:calc(100% + 8px)}._68lQha_modelRight ._68lQha_modelPanel{left:calc(100% + 8px);right:auto}._68lQha_modelReplace ._68lQha_modelPanel{width:100%;position:relative;top:auto;right:auto}._68lQha_modelReplace ._68lQha_thinkingPanel{display:none}._68lQha_modelReplace ._68lQha_backButton{display:inline-flex}._68lQha_thinkingPanel{width:100%}._68lQha_thinkingOptions{min-height:0;overflow-y:auto}._68lQha_panelHeader{min-height:32px;color:var(--dsw-alias-label-tertiary);flex:none;align-items:center;padding:2px 8px 6px;font-size:13px;font-weight:500;line-height:20px;display:flex}._68lQha_backButton{border-radius:var(--dsw-radius-md);width:28px;height:28px;color:var(--dsw-alias-label-secondary);background:0 0;border:0;justify-content:center;align-items:center;margin-left:-6px;padding:0;display:none}._68lQha_backButton:hover,._68lQha_backButton:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:none}._68lQha_status,._68lQha_empty{color:var(--dsw-alias-label-tertiary);padding:8px;font-size:12px;line-height:18px}._68lQha_error,._68lQha_warning{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary);justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:3px;padding:6px 7px;font-size:11px;line-height:16px;display:flex}._68lQha_warning{background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-state-warn-label)}._68lQha_retry{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-weight:600}._68lQha_searchRow{flex-shrink:0;margin:2px 0 3px;position:relative}._68lQha_searchRow ._68lQha_search{border-radius:var(--dsw-radius-md);background:0 0;border:0 solid #0000;height:auto;padding:5px 7px;display:flex}._68lQha_searchRow ._68lQha_searchWithQuery{padding-right:34px}._68lQha_searchClear{corner-shape:round;width:24px;height:24px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}._68lQha_searchClear:hover,._68lQha_searchClear:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:none}._68lQha_searchRow ._68lQha_search:focus-within{border-color:#0000}._68lQha_searchRow ._68lQha_search input{padding:0;font-size:12px;line-height:normal}._68lQha_searchRow ._68lQha_search input::placeholder{color:var(--dsw-alias-label-caption)}._68lQha_groups{flex:auto;min-height:0;overflow-y:auto}._68lQha_modelRow{border-radius:var(--dsw-radius-md);align-items:center;min-width:0;display:flex}._68lQha_modelRow:hover,._68lQha_modelRow:has(._68lQha_modelOption:focus-visible),._68lQha_modelRow:has(._68lQha_favorite:focus-visible),._68lQha_modelRow:has(._68lQha_optionActive){background:var(--dsw-alias-interactive-bg-hover)}._68lQha_modelRow ._68lQha_modelOption{background:0 0;flex:auto;min-width:0}._68lQha_favorite{border-radius:var(--dsw-radius-md);width:30px;height:30px;color:var(--dsw-alias-label-dimmed);cursor:pointer;background:0 0;border:0;outline:none;flex:0 0 30px;place-items:center;padding:5px;display:grid}._68lQha_favorite svg{width:18px;height:18px}._68lQha_favorite:hover:not(:disabled),._68lQha_favorite:focus-visible{color:var(--dsw-alias-label-secondary)}._68lQha_favoriteActive{color:var(--dsw-alias-state-warn-primary,#f5a524)}._68lQha_favorite:disabled{cursor:default}._68lQha_option{box-sizing:border-box;border-radius:var(--dsw-radius-md);width:auto;min-width:100%;min-height:34px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:6px;padding:5px 7px;display:flex}._68lQha_option:not(._68lQha_modelOption):hover:not(:disabled),._68lQha_option:not(._68lQha_modelOption):focus-visible,._68lQha_optionActive:not(._68lQha_modelOption):not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}._68lQha_selected{background:0 0}._68lQha_option:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}._68lQha_optionCopy{flex-direction:column;flex:1;min-width:0;display:flex}._68lQha_modelName{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400;line-height:18px;overflow:hidden}._68lQha_check{color:var(--dsw-alias-label-primary);flex:0 0 14px;place-items:center;display:grid}._68lQha_check svg{width:14px;height:14px}._68lQha_modelCellWrap{border-top:.5px solid var(--dsw-alias-border-l2);flex:none;margin-top:6px;padding-top:6px}._68lQha_cell{box-sizing:border-box;border-radius:var(--dsw-radius-md);width:auto;min-width:100%;height:34px;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;outline:none;align-items:center;gap:6px;padding:0 8px;font-size:13px;line-height:20px;display:flex}._68lQha_cell:hover,._68lQha_cell:focus-visible{background:var(--dsw-alias-interactive-bg-hover)}._68lQha_cellLabel{white-space:nowrap;flex:none}._68lQha_cellValue{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;color:var(--dsw-alias-label-primary);flex:auto;overflow:hidden}._68lQha_cellChevron{width:12px;height:12px;color:var(--dsw-alias-menu-icon);flex:none}@media (width<=640px){._68lQha_menu,._68lQha_modelPanel,._68lQha_thinkingPanel{width:min(320px,100vw - 24px);max-width:calc(100vw - 24px)}._68lQha_modelPanel{position:relative;top:auto;right:auto}._68lQha_modelOpen ._68lQha_thinkingPanel{display:none}._68lQha_backButton{display:inline-flex}}`,document.head.appendChild(e)}var O={backButton:`_68lQha_backButton`,cell:`_68lQha_cell`,cellChevron:`_68lQha_cellChevron`,cellLabel:`_68lQha_cellLabel`,cellValue:`_68lQha_cellValue`,check:`_68lQha_check`,chevron:`_68lQha_chevron`,chevronOpen:`_68lQha_chevronOpen`,empty:`_68lQha_empty`,error:`_68lQha_error`,favorite:`_68lQha_favorite`,favoriteActive:`_68lQha_favoriteActive`,groups:`_68lQha_groups`,menu:`_68lQha_menu`,modelCellWrap:`_68lQha_modelCellWrap`,modelName:`_68lQha_modelName`,modelOpen:`_68lQha_modelOpen`,modelOption:`_68lQha_modelOption`,modelPanel:`_68lQha_modelPanel`,modelReplace:`_68lQha_modelReplace`,modelRight:`_68lQha_modelRight`,modelRow:`_68lQha_modelRow`,option:`_68lQha_option`,optionActive:`_68lQha_optionActive`,optionCopy:`_68lQha_optionCopy`,panel:`_68lQha_panel`,panelHeader:`_68lQha_panelHeader`,retry:`_68lQha_retry`,root:`_68lQha_root`,search:`_68lQha_search`,searchClear:`_68lQha_searchClear`,searchRow:`_68lQha_searchRow`,searchWithQuery:`_68lQha_searchWithQuery`,selected:`_68lQha_selected`,status:`_68lQha_status`,thinkingOptions:`_68lQha_thinkingOptions`,thinkingPanel:`_68lQha_thinkingPanel`,trigger:`_68lQha_trigger`,triggerEffort:`_68lQha_triggerEffort`,triggerIcon:`_68lQha_triggerIcon`,triggerLabel:`_68lQha_triggerLabel`,warning:`_68lQha_warning`};function ae(e){return e.toSorted((e,t)=>(e.id===`deepseek-account`?0:e.id===`deepseek-official`?1:2)-(t.id===`deepseek-account`?0:t.id===`deepseek-official`?1:2))}let k={"provider.account":`DeepSeek 账号`,"harness.select":`选择 Harness`,"harness.aria":`选择 Harness,当前 {name}`,"harness.bound":`当前会话已绑定此 Harness;使用其他 Harness 请新建会话。`,"harness.unavailable":`不可用`,"harness.empty":`没有就绪的 Harness。`,"command.label":`模型`,"command.description":`选择本会话使用的模型`,"option.loadError":`目录加载失败:{message}`,"trigger.fallback":`请选择模型`,"trigger.loading":`正在加载模型…`,"trigger.selectAria":`请选择模型`,"trigger.aria":`选择模型,当前 {model}`,"trigger.ariaEffort":`选择模型,当前 {model},推理等级 {effort}`,"menu.aria":`模型与推理等级`,"menu.model":`模型`,"menu.effort":`思考强度`,"menu.back":`返回思考强度`,"effort.providerDefault":`Default`,"codex.effort.none":`无`,"codex.effort.minimal":`最低`,"codex.effort.low":`低`,"codex.effort.medium":`中`,"codex.effort.high":`高`,"codex.effort.xhigh":`超高`,"codex.effort.max":`最大`,"codex.effort.ultra":`极致`,"status.loading":`正在刷新模型列表…`,"error.action":`模型操作失败:{message}`,"error.sessionInUse":`当前会话已被占用,可能是其他正在运行的 DSH 导致的(如其他 dsh web、桌面端),请退出其他正在运行的 DSH 后重试。`,"action.reload":`重新加载`,"warning.groupLoad":`{name} 加载失败:{message}`,"search.placeholder":`搜索模型…`,"search.clear":`清除搜索`,"favorite.add":`收藏模型 {model}`,"favorite.remove":`取消收藏模型 {model}`,"search.empty":`没有匹配的模型。`,"empty.models":`没有可用的模型。`,"empty.efforts":`当前模型未提供推理等级。`,"fast.off":`Fast 已关闭 · 点击开启`,"fast.on":`Fast 已开启 · 点击关闭`,"fast.description":`Codex Fast 模式:优先处理请求,可能增加额度消耗。`},oe={"provider.account":`DeepSeek Account`,"harness.select":`Select Harness`,"harness.aria":`Select Harness, current {name}`,"harness.bound":`This conversation is bound to its Harness. Start a new conversation to use another.`,"harness.unavailable":`Unavailable`,"harness.empty":`No ready Harnesses.`,"command.label":`Model`,"command.description":`Select the model for this conversation`,"option.loadError":`Catalog failed to load: {message}`,"trigger.fallback":`Select model`,"trigger.loading":`Loading models…`,"trigger.selectAria":`Select model`,"trigger.aria":`Select model, current {model}`,"trigger.ariaEffort":`Select model, current {model}, reasoning effort {effort}`,"menu.aria":`Model and reasoning effort`,"menu.model":`Model`,"menu.effort":`Thinking`,"menu.back":`Back to Thinking`,"effort.providerDefault":`Default`,"codex.effort.none":`None`,"codex.effort.minimal":`Minimal`,"codex.effort.low":`Low`,"codex.effort.medium":`Medium`,"codex.effort.high":`High`,"codex.effort.xhigh":`Extra High`,"codex.effort.max":`Max`,"codex.effort.ultra":`Ultra`,"status.loading":`Refreshing model list…`,"error.action":`Model operation failed: {message}`,"error.sessionInUse":`This session is already in use, possibly by another running DSH instance (such as dsh web or the desktop app). Quit other running DSH instances and try again.`,"action.reload":`Reload`,"warning.groupLoad":`{name} failed to load: {message}`,"search.placeholder":`Search models…`,"search.clear":`Clear search`,"favorite.add":`Favorite model {model}`,"favorite.remove":`Remove model {model} from favorites`,"search.empty":`No matching models.`,"empty.models":`No models available.`,"empty.efforts":`This model provides no reasoning effort levels.`,"fast.off":`Fast is off · Click to enable`,"fast.on":`Fast is on · Click to disable`,"fast.description":`Codex Fast mode prioritizes requests and may increase usage.`};function A(e,t){return JSON.stringify([e,t])}function se({filled:e}){return/* @__PURE__ */ (0,s.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 20 20`,children:/* @__PURE__ */ (0,s.jsx)(`path`,{d:`m10 2.3 2.28 4.62 5.1.74-3.69 3.59.87 5.08L10 13.94l-4.56 2.39.87-5.08-3.69-3.59 5.1-.74L10 2.3Z`,fill:e?`currentColor`:`none`,stroke:`currentColor`,strokeLinejoin:`round`,strokeWidth:`1.5`})})}let ce={visibility:`hidden`,left:0,top:0};function j({locked:e,available:t,directory:n,load:i,select:a,setFavorite:l,t:u}){let d=(0,o.useSyncExternalStore)(e=>n.subscribe(e),()=>n.getSnapshot()),[f,p]=(0,o.useState)(!1),[m,h]=(0,o.useState)(`root`),[g,_]=(0,o.useState)(``),[y,b]=(0,o.useState)(null),[ee,x]=(0,o.useState)(!1),S=(0,o.useMemo)(()=>new Set(Object.entries(d.modelFavorites??{}).flatMap(([e,t])=>t.map(t=>A(e,t)))),[d.modelFavorites]),[te,ne]=(0,o.useState)(!1),[C,w]=(0,o.useState)(`left`),T=(0,o.useRef)(`load`),[E,re]=(0,o.useState)(null),ie=(0,o.useRef)(0),k=(0,o.useRef)(null),j=(0,o.useRef)(null),M=(0,o.useRef)(null),N=(0,o.useRef)(null),P=(0,o.useRef)(null),[le,F]=(0,o.useState)(null),I=(0,o.useRef)([]),L=(0,o.useRef)([]),R=(0,o.useId)(),z=(0,o.useMemo)(()=>ae(d.groups),[d.groups]),B=(0,o.useMemo)(()=>z.flatMap(e=>e.models.map(t=>({group:e,model:t,selection:{provider:e.id,model:t.id,...t.reasoning?.defaultEffort===void 0?{}:{reasoningEffort:t.reasoning.defaultEffort}}}))),[z]),V=B.length>4,H=(0,o.useMemo)(()=>z.map(e=>({...e,models:(0,r.rankByName)(e.models,V?g.trim():``).toSorted((t,n)=>Number(S.has(A(e.id,n.id)))-Number(S.has(A(e.id,t.id))))})).filter(e=>e.models.length>0),[S,z,g,V]),U=(0,o.useMemo)(()=>H.flatMap(e=>e.models.map(t=>({provider:e.id,model:t}))),[H]),ue=U.findIndex(e=>e.provider===d.current?.provider&&v(e.model,d.current.model)),W=Math.min(y??Math.max(0,ue),U.length-1),G=B[d.current===null?-1:B.findIndex(e=>e.selection.provider===d.current?.provider&&v(e.model,d.current.model))],K=G?.model.reasoning,q=d.current?.reasoningEffort??K?.defaultEffort,de=(0,o.useMemo)(()=>K===void 0?[]:[...K.defaultEffort===void 0&&G?.group.id!==`codex`?[{key:`provider-default`,effort:void 0,label:u(`effort.providerDefault`)}]:[],...K.efforts.map(e=>{let t=`codex.effort.${e.id}`;return{key:`effort:${e.id}`,effort:e.id,label:G?.group.id===`codex`&&Object.hasOwn(oe,t)?u(t):e.name}})],[K,G?.group.id,u]),J=K===void 0?d.retainedEffort:de.find(e=>e.effort===q)?.label??q,{pending:Y}=d,X=Y!==null,fe=()=>{T.current=`load`,i()};(0,o.useEffect)(()=>{if(!f)return;let e=e=>{k.current?.contains(e.target)!==!0&&N.current?.contains(e.target)!==!0&&p(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[f]),(0,o.useLayoutEffect)(()=>{V||(_(``),b(null))},[V]);let Z=(0,o.useRef)(null),pe=(0,o.useRef)(V);if((0,o.useEffect)(()=>{let e=pe.current!==V;pe.current=V;let t=Z.current??(e&&m===`model`?`model`:null);if(Z.current=null,!f||t===null)return;if(t===`model`){if(V&&(0,r.shouldAutoFocusTextInput)()){M.current?.focus();return}(P.current?.querySelector(`[role="menuitemradio"][aria-checked="true"]:not([disabled])`)??L.current.find(e=>e!==null&&!e.disabled)??j.current)?.focus();return}let n=I.current.at(-1);(n!=null&&!n.disabled?n:j.current)?.focus()},[f,m,V]),(0,o.useLayoutEffect)(()=>{f&&m===`model`&&W>=0&&L.current[W]?.scrollIntoView({block:`nearest`})},[f,m,W,U]),(0,o.useLayoutEffect)(()=>{if(!f){F(null);return}let e=()=>{
8
8
  /* v8 ignore next 2 -- the trigger ref is attached whenever the menu is open. */
9
- let e=M.current?.getBoundingClientRect();if(e===void 0)return;let t=P.current?.offsetWidth??0,n=P.current?.offsetHeight??0,r=Math.max(0,e.top-8-12),i=Math.min(n,r),a=e.right-t,o=Math.max(12,e.top-8-i);t>0&&(a=Math.min(Math.max(a,12),window.innerWidth-t-12));let s=F.current?.offsetWidth??264,c=a-8-s>=12,l=a+t+8+s<=window.innerWidth-12;w(c?`left`:l?`right`:`replace`);let u=Math.max(0,Math.min(r,window.innerHeight-o-12));ce({left:a,top:o,"--ch-model-menu-max-height":`${String(u)}px`})};return e(),window.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e)}},[f,m,d,g]),!t)return null;let pe=()=>{x(!1),M.current?.focus(),_(``),b(null),d.current===null&&(Z.current=`model`),h(d.current===null?`model`:`root`),p(!0),X()},me=e=>{_(e),b(0)},Q=(e=!1)=>{p(!1),h(`root`),e&&queueMicrotask(()=>{M.current?.focus()})},he=()=>{x(!0),Q(!0)},ge=()=>{_(``),b(null),m===`model`?V&&(0,r.shouldAutoFocusTextInput)()?N.current?.focus():(F.current?.querySelector(`[role="menuitemradio"][aria-checked="true"]:not([disabled])`)??L.current[0])?.focus():(Z.current=`model`,h(`model`))},_e=()=>{Z.current=`model-cell`,h(`root`)},ve=e=>{let t=(m===`model`&&(F.current?.contains(document.activeElement)===!0||document.activeElement===N.current)?L.current:I.current).filter(e=>e!==null);if(t.length===0)return;let n=t.findIndex(e=>e===document.activeElement);t[n===-1?e>0?0:t.length-1:(n+e+t.length)%t.length]?.focus()},ye=e=>{if(!e.nativeEvent.isComposing){if(e.key===`Escape`&&f)e.preventDefault(),m===`model`&&d.current!==null?_e():Q(!0);else if(f){if(m===`model`&&V&&F.current?.contains(e.target)===!0&&(e.key===`ArrowDown`||e.key===`ArrowUp`)){if(e.preventDefault(),!Y&&U.length>0){let t=e.key===`ArrowDown`?1:-1;b((W+t+U.length)%U.length),N.current?.focus()}}else if(m===`model`&&V&&e.target instanceof HTMLInputElement&&(e.key===`Enter`||e.key===`Tab`&&!e.shiftKey)){if(e.key===`Tab`&&U.length===0)return;e.preventDefault();let t=U[W];!Y&&t!==void 0&&Ce({provider:t.provider,model:t.model.id})}else if(e.key===`Tab`){if(e.shiftKey){e.preventDefault(),m===`model`&&d.current!==null?_e():Q(!0);return}let t=document.activeElement,n=[...I.current,...L.current].filter(e=>e!==null);if(t instanceof HTMLButtonElement&&n.includes(t)){e.preventDefault(),t.click();return}if(t!==M.current)return;if(e.preventDefault(),m===`model`&&V){b(null),N.current?.focus();return}((m===`model`?F.current:P.current)?.querySelector(`[role="menuitemradio"][aria-checked="true"]:not([disabled])`)??n.find(e=>!e.disabled))?.focus()}else(e.key===`ArrowDown`||e.key===`ArrowUp`)&&(e.preventDefault(),ve(e.key===`ArrowDown`?1:-1))}}},be=e=>{e.relatedTarget instanceof Node&&(j.current?.contains(e.relatedTarget)===!0||P.current?.contains(e.relatedTarget)===!0)||Q()},xe=(e,t)=>{if(e===void 0)return;if(e.ok){t!==null&&P.current===t&&(j.current?.contains(document.activeElement)===!0||t.contains(document.activeElement))&&he();return}let{error:n}=e;re.current+=1,D({seq:re.current,text:n.code===`session/writer-held`?u(`error.sessionInUse`):u(`error.action`,{message:`${n.code}: ${n.message}`})})},Se=e=>{T.current=`select`,x(!0),M.current?.focus();let t=P.current;a(e).then(e=>{xe(e,t)})},Ce=e=>{d.current?.provider===e.provider&&ue?.selection.model===e.model?he():Se(e)},we=e=>{if(d.current===null)return;if(K===e){he();return}let t={provider:d.current.provider,model:d.current.model,...e===void 0?{}:{reasoningEffort:e}};Se(t)},Te=(e,t)=>{let n=A(e,t);l&&!te&&d.preferencesAvailable!==!1&&(ne(!0),l(e,t,!S.has(n)).catch(e=>report(u(`error.action`,{message:e instanceof Error?e.message:String(e)}))).finally(()=>ne(!1)))},Ee=d.current===null&&d.status===`loading`,$=Ee?u(`trigger.loading`):ue?.model.name??(d.current===null?u(`trigger.fallback`):`${d.current.provider}/${d.current.model}`),De=q===void 0?$:`${$} · ${q}`,Oe=Ee?u(`trigger.loading`):d.current===null?u(`trigger.selectAria`):q===void 0?u(`trigger.aria`,{model:$}):u(`trigger.ariaEffort`,{model:$,effort:q});I.current=[],L.current=[];let ke=0,Ae=0,je=()=>{let e=ke++;return t=>{I.current[e]=t}},Me=e=>t=>{L.current[e]=t};return/* @__PURE__ */ (0,s.jsxs)(`div`,{ref:j,className:k.root,onKeyDown:ye,onBlur:be,onMouseDown:e=>{e.target instanceof Element&&e.target.closest(`input`)===null&&e.preventDefault()},children:[/* @__PURE__ */ (0,s.jsxs)(`button`,{ref:M,type:`button`,className:k.trigger,"aria-label":Oe,"aria-haspopup":`menu`,"aria-expanded":f,"aria-controls":f?`${R}-menu`:void 0,title:De,"aria-busy":Y,"data-selection-focus":ee?``:void 0,onBlur:()=>{x(!1)},disabled:e,onClick:()=>{f?Q(!0):pe()},children:[/* @__PURE__ */ (0,s.jsx)(r.IconDataOutlineRegular,{className:k.triggerIcon,size:16}),/* @__PURE__ */ (0,s.jsx)(`span`,{className:k.triggerLabel,children:$}),q!==void 0&&/* @__PURE__ */ (0,s.jsx)(`span`,{className:k.triggerEffort,children:q}),Y?/* @__PURE__ */ (0,s.jsx)(r.StateDot,{state:`ongoing`}):/* @__PURE__ */ (0,s.jsx)(r.IconChevronDownOutlineRegular,{className:O(k.chevron,f&&k.chevronOpen)})]}),f&&(0,c.createPortal)(/* @__PURE__ */ (0,s.jsxs)(`div`,{ref:P,id:`${R}-menu`,className:O(k.menu,m===`model`&&k.modelOpen,m===`model`&&C===`right`&&k.modelRight,m===`model`&&C===`replace`&&k.modelReplace),style:se??oe,"aria-label":u(`menu.aria`),"aria-busy":d.status===`loading`||Y,children:[m===`model`&&/* @__PURE__ */ (0,s.jsxs)(r.MenuSurface,{ref:F,className:O(k.panel,k.modelPanel),role:`group`,"aria-label":u(`menu.model`),children:[/* @__PURE__ */ (0,s.jsxs)(`div`,{className:k.panelHeader,children:[/* @__PURE__ */ (0,s.jsx)(`button`,{type:`button`,className:k.backButton,"aria-label":u(`menu.back`),onClick:_e,children:/* @__PURE__ */ (0,s.jsx)(r.IconChevronLeftOutlineRegular,{})}),/* @__PURE__ */ (0,s.jsx)(`span`,{children:u(`menu.model`)})]}),V&&/* @__PURE__ */ (0,s.jsxs)(`div`,{className:k.searchRow,onMouseDown:e=>{e.target instanceof Element&&e.target.closest(`input, button`)===null&&(e.preventDefault(),N.current?.focus())},children:[/* @__PURE__ */ (0,s.jsx)(r.Input,{ref:N,className:O(k.search,g!==``&&k.searchWithQuery),type:`text`,role:`searchbox`,"aria-label":u(`search.placeholder`),"aria-controls":`${R}-models`,"aria-activedescendant":W<0?void 0:`${R}-model-${W}`,placeholder:u(`search.placeholder`),value:g,readOnly:Y,onChange:e=>{me(e.target.value)}}),g!==``&&/* @__PURE__ */ (0,s.jsx)(`button`,{type:`button`,className:k.searchClear,"aria-label":u(`search.clear`),disabled:Y,onClick:()=>{me(``),N.current?.focus()},children:/* @__PURE__ */ (0,s.jsx)(r.IconCloseFillRegular,{})})]}),d.status===`loading`&&/* @__PURE__ */ (0,s.jsx)(`div`,{className:k.status,children:u(`status.loading`)}),d.error!==null&&T.current===`load`&&/* @__PURE__ */ (0,s.jsxs)(`div`,{className:k.error,children:[/* @__PURE__ */ (0,s.jsx)(`span`,{children:u(`error.action`,{message:d.error})}),/* @__PURE__ */ (0,s.jsx)(`button`,{type:`button`,className:k.retry,onClick:X,children:u(`action.reload`)})]}),d.failures.filter(e=>e.id===d.current?.provider).map(e=>/* @__PURE__ */ (0,s.jsxs)(`div`,{className:k.warning,children:[/* @__PURE__ */ (0,s.jsx)(`span`,{children:u(`warning.groupLoad`,{name:e.id===`deepseek-account`?u(`provider.account`):e.name,message:e.message})}),/* @__PURE__ */ (0,s.jsx)(`button`,{type:`button`,className:k.retry,onClick:X,children:u(`action.reload`)})]},e.id)),/* @__PURE__ */ (0,s.jsx)(`div`,{id:`${R}-models`,className:O(k.groups,`scrollable`),role:`menu`,"aria-label":u(`menu.model`),hidden:H.length===0,children:H.map(e=>e.models.map(t=>{let n=Ae++,i=d.current?.provider===e.id&&v(t,d.current.model),a=S.has(A(e.id,t.id));return/* @__PURE__ */ (0,s.jsxs)(`div`,{className:k.modelRow,role:`none`,children:[/* @__PURE__ */ (0,s.jsxs)(`button`,{ref:Me(n),type:`button`,role:`menuitemradio`,"aria-checked":i,id:`${R}-model-${n}`,tabIndex:V?-1:0,onFocus:()=>{b(n)},"data-highlighted":n===W?``:void 0,className:O(k.option,k.modelOption,i&&k.selected,n===W&&k.optionActive),onMouseMove:Y||n===W?void 0:()=>{V?b(n):L.current[n]?.focus()},title:t.name,disabled:Y,onClick:()=>{Ce({provider:e.id,model:t.id})},children:[/* @__PURE__ */ (0,s.jsx)(`span`,{className:k.optionCopy,children:/* @__PURE__ */ (0,s.jsx)(`span`,{className:k.modelName,children:t.name})}),/* @__PURE__ */ (0,s.jsx)(`span`,{className:k.check,children:J?.provider===e.id&&v(t,J.model)?/* @__PURE__ */ (0,s.jsx)(r.StateDot,{state:`ongoing`}):i?/* @__PURE__ */ (0,s.jsx)(r.IconCheckOutlineRegular,{}):null})]}),/* @__PURE__ */ (0,s.jsx)(`button`,{type:`button`,role:`menuitem`,className:O(k.favorite,a&&k.favoriteActive),"aria-label":u(a?`favorite.remove`:`favorite.add`,{model:t.name}),"aria-pressed":a,disabled:Y||te||d.preferencesAvailable===!1,onClick:()=>{Te(e.id,t.id)},children:/* @__PURE__ */ (0,s.jsx)(ae,{filled:a})})]},A(e.id,t.id))}))}),d.status===`ready`&&H.length===0&&/* @__PURE__ */ (0,s.jsx)(`div`,{className:k.empty,role:`status`,children:u(B.length===0?`empty.models`:`search.empty`)})]}),/* @__PURE__ */ (0,s.jsxs)(r.MenuSurface,{className:O(k.panel,k.thinkingPanel),role:`menu`,"aria-label":u(`menu.effort`),children:[/* @__PURE__ */ (0,s.jsx)(`div`,{className:k.panelHeader,children:u(`menu.effort`)}),/* @__PURE__ */ (0,s.jsxs)(`div`,{className:k.thinkingOptions,children:[d.error!==null&&T.current===`load`&&/* @__PURE__ */ (0,s.jsxs)(`div`,{className:k.error,children:[/* @__PURE__ */ (0,s.jsx)(`span`,{children:u(`error.action`,{message:d.error})}),/* @__PURE__ */ (0,s.jsx)(`button`,{type:`button`,className:k.retry,onClick:X,children:u(`action.reload`)})]}),de.length===0?/* @__PURE__ */ (0,s.jsx)(`div`,{className:k.empty,children:u(`empty.efforts`)}):de.map(e=>/* @__PURE__ */ (0,s.jsxs)(`button`,{ref:je(),type:`button`,role:`menuitemradio`,"aria-checked":K===e.effort,className:O(k.option,K===e.effort&&k.selected),disabled:Y,onClick:()=>{we(e.effort)},children:[/* @__PURE__ */ (0,s.jsx)(`span`,{className:k.optionCopy,children:/* @__PURE__ */ (0,s.jsx)(`span`,{className:k.modelName,children:e.label})}),/* @__PURE__ */ (0,s.jsx)(`span`,{className:k.check,children:J!==null&&J.provider===d.current?.provider&&J.model===d.current.model&&J.reasoningEffort===e.effort?/* @__PURE__ */ (0,s.jsx)(r.StateDot,{state:`ongoing`}):K===e.effort?/* @__PURE__ */ (0,s.jsx)(r.IconCheckOutlineRegular,{}):null})]},e.key))]}),/* @__PURE__ */ (0,s.jsx)(`div`,{className:k.modelCellWrap,children:/* @__PURE__ */ (0,s.jsxs)(`button`,{ref:je(),type:`button`,role:`menuitem`,className:k.cell,"aria-expanded":m===`model`,"aria-controls":m===`model`?`${R}-models`:void 0,onMouseEnter:()=>{m===`root`&&h(`model`)},onKeyDown:e=>{e.key===`ArrowRight`&&(e.preventDefault(),ge())},onClick:ge,children:[/* @__PURE__ */ (0,s.jsx)(`span`,{className:k.cellValue,children:$}),/* @__PURE__ */ (0,s.jsx)(r.IconChevronRightOutlineRegular,{className:k.cellChevron})]})})]})]}),document.body),E!==null&&/* @__PURE__ */ (0,s.jsx)(r.Toast,{text:E.text,icon:/* @__PURE__ */ (0,s.jsx)(r.IconWarningOutlineRegular,{}),anchor:j.current?.closest(`[data-composer-card]`)??null,onDone:()=>{D(null)}},E.seq)]})}function M(e){return/* @__PURE__ */ (0,s.jsxs)(`div`,{className:w.controls,children:[/* @__PURE__ */ (0,s.jsx)(ne,{...e}),/* @__PURE__ */ (0,s.jsx)(j,{...e}),/* @__PURE__ */ (0,s.jsx)(E,{...e})]})}let N={"provider.account":`DeepSeek 账号`,"harness.select":`选择 Harness`,"harness.aria":`选择 Harness,当前 {name}`,"harness.bound":`当前会话已绑定此 Harness;使用其他 Harness 请新建会话。`,"harness.unavailable":`不可用`,"harness.empty":`没有就绪的 Harness。`,"command.label":`模型`,"command.description":`选择本会话使用的模型`,"option.loadError":`目录加载失败:{message}`,"trigger.fallback":`请选择模型`,"trigger.loading":`正在加载模型…`,"trigger.selectAria":`请选择模型`,"trigger.aria":`选择模型,当前 {model}`,"trigger.ariaEffort":`选择模型,当前 {model},推理等级 {effort}`,"menu.aria":`模型与推理等级`,"menu.model":`模型`,"menu.effort":`思考强度`,"menu.back":`返回思考强度`,"effort.providerDefault":`Default`,"status.loading":`正在刷新模型列表…`,"error.action":`模型操作失败:{message}`,"error.sessionInUse":`当前会话已被占用,可能是其他正在运行的 DSH 导致的(如其他 dsh web、桌面端),请退出其他正在运行的 DSH 后重试。`,"action.reload":`重新加载`,"warning.groupLoad":`{name} 加载失败:{message}`,"search.placeholder":`搜索模型…`,"search.clear":`清除搜索`,"favorite.add":`收藏模型 {model}`,"favorite.remove":`取消收藏模型 {model}`,"search.empty":`没有匹配的模型。`,"empty.models":`没有可用的模型。`,"empty.efforts":`当前模型未提供推理等级。`,"fast.off":`Fast 已关闭 · 点击开启`,"fast.on":`Fast 已开启 · 点击关闭`,"fast.description":`Codex Fast 模式:优先处理请求,可能增加额度消耗。`},P={"provider.account":`DeepSeek Account`,"harness.select":`Select Harness`,"harness.aria":`Select Harness, current {name}`,"harness.bound":`This conversation is bound to its Harness. Start a new conversation to use another.`,"harness.unavailable":`Unavailable`,"harness.empty":`No ready Harnesses.`,"command.label":`Model`,"command.description":`Select the model for this conversation`,"option.loadError":`Catalog failed to load: {message}`,"trigger.fallback":`Select model`,"trigger.loading":`Loading models…`,"trigger.selectAria":`Select model`,"trigger.aria":`Select model, current {model}`,"trigger.ariaEffort":`Select model, current {model}, reasoning effort {effort}`,"menu.aria":`Model and reasoning effort`,"menu.model":`Model`,"menu.effort":`Thinking`,"menu.back":`Back to Thinking`,"effort.providerDefault":`Default`,"status.loading":`Refreshing model list…`,"error.action":`Model operation failed: {message}`,"error.sessionInUse":`This session is already in use, possibly by another running DSH instance (such as dsh web or the desktop app). Quit other running DSH instances and try again.`,"action.reload":`Reload`,"warning.groupLoad":`{name} failed to load: {message}`,"search.placeholder":`Search models…`,"search.clear":`Clear search`,"favorite.add":`Favorite model {model}`,"favorite.remove":`Remove model {model} from favorites`,"search.empty":`No matching models.`,"empty.models":`No models available.`,"empty.efforts":`This model provides no reasoning effort levels.`,"fast.off":`Fast is off · Click to enable`,"fast.on":`Fast is on · Click to disable`,"fast.description":`Codex Fast mode prioritizes requests and may increase usage.`};function F(e,t){return`${e}/${t}`}function se(e,t){let n=[];for(let r of ie(e.groups)){let i=r.id===`deepseek-account`?t(`provider.account`):r.name;for(let t of r.models)n.push({id:F(r.id,t.id),label:t.name,group:{name:r.id,label:i},...e.current!==null&&e.current.provider===r.id&&v(t,e.current.model)?{active:!0}:{}})}for(let r of e.failures.filter(t=>t.id===e.current?.provider))n.push({id:`failure/${r.id}`,label:r.id===`deepseek-account`?t(`provider.account`):r.name,detail:t(`option.loadError`,{message:r.message})});return n}function ce(e,t){for(let n of e.groups)for(let r of n.models){if(F(n.id,r.id)!==t)continue;let{current:i}=e,a=i?.provider===n.id&&v(r,i.model),o=a?i.reasoningEffort??r.reasoning?.defaultEffort:r.reasoning?.defaultEffort;return{provider:n.id,model:a?i.model:r.id,...o===void 0?{}:{reasoningEffort:o}}}}let I=`model`,L=[`commandUi`,`locale`,`sessions`,`slots`,`remote`,`remote.session`];function R(e){e.effect(()=>e.locale.register(I,{zh:N,en:P}),`ui-model-selection: dictionaries`);let t=e.locale.bind(I);e.plugin(x),e.inject([`commandUi`,`modelDirectories`],e=>{let n=e.get(`commandUi`),i=e.modelDirectories,a=e.sessions;e.effect(()=>n.register({name:`model`,label:()=>t(`command.label`),description:()=>t(`command.description`),icon:r.IconDataOutlineRegular,available:e=>a.subagentAddress(e.sessionId)===void 0,ui:{kind:`popupSelect`,searchMode:`fuzzy-label`,searchLabels:()=>({placeholder:t(`search.placeholder`),empty:t(`empty.models`),noResults:t(`search.empty`)}),options:async e=>{if(a.subagentAddress(e.sessionId)!==void 0)throw Error(`model selection is unavailable for addressed subagent sessions`);return se(await i.directoryFor(e.sessionId).load(),t)},onSelect:async(e,n)=>{if(a.subagentAddress(n.sessionId)!==void 0)throw Error(`model selection is unavailable for addressed subagent sessions`);let r=i.directoryFor(n.sessionId),o=ce(r.store.getSnapshot(),e.id);if(o===void 0)throw Error(`this provider's catalog failed to load — pick a model from a loaded group`);let s=await r.select(o);if(!s.ok)throw s.error.code===`session/writer-held`?Error(t(`error.sessionInUse`)):s.error}}}),`ui-model-selection: /model contribution`)}),e.inject([`slots`,`modelDirectories`],e=>{let t=e.modelDirectories,n=e.sessions;e.slots.inject(`conversation.input.model`,()=>e.slots.register({name:`conversation.input.model`,locale:I,inject:e=>{let r=t.directoryFor(e),i=n.subagentAddress(e)===void 0;return{available:i,directory:r.store,load:()=>{i&&r.load().catch(()=>{})},select:e=>i?r.select(e):Promise.resolve(void 0),setFavorite:(e,n,r)=>t.setFavorite(e,n,r)}}},M))})}return n.ModelDirectory=b,n.ModelDirectoryResolver=x,n.apply=R,n.inject=L,t.exports}});
9
+ let e=j.current?.getBoundingClientRect();if(e===void 0)return;let t=N.current?.offsetWidth??0,n=N.current?.offsetHeight??0,r=Math.max(0,e.top-8-12),i=Math.min(n,r),a=e.right-t,o=Math.max(12,e.top-8-i);t>0&&(a=Math.min(Math.max(a,12),window.innerWidth-t-12));let s=P.current?.offsetWidth??264,c=a-8-s>=12,l=a+t+8+s<=window.innerWidth-12;w(c?`left`:l?`right`:`replace`);let u=Math.max(0,Math.min(r,window.innerHeight-o-12));F({left:a,top:o,"--ch-model-menu-max-height":`${String(u)}px`})};return e(),window.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e)}},[f,m,d,g]),!t)return null;let me=()=>{x(!1),j.current?.focus(),_(``),b(null),d.current===null&&(Z.current=`model`),h(d.current===null?`model`:`root`),p(!0),fe()},he=e=>{_(e),b(0)},Q=(e=!1)=>{p(!1),h(`root`),e&&queueMicrotask(()=>{j.current?.focus()})},ge=()=>{x(!0),Q(!0)},_e=()=>{_(``),b(null),m===`model`?V&&(0,r.shouldAutoFocusTextInput)()?M.current?.focus():(P.current?.querySelector(`[role="menuitemradio"][aria-checked="true"]:not([disabled])`)??L.current[0])?.focus():(Z.current=`model`,h(`model`))},ve=()=>{Z.current=`model-cell`,h(`root`)},ye=e=>{let t=(m===`model`&&(P.current?.contains(document.activeElement)===!0||document.activeElement===M.current)?L.current:I.current).filter(e=>e!==null);if(t.length===0)return;let n=t.findIndex(e=>e===document.activeElement);t[n===-1?e>0?0:t.length-1:(n+e+t.length)%t.length]?.focus()},be=e=>{if(!e.nativeEvent.isComposing){if(e.key===`Escape`&&f)e.preventDefault(),m===`model`&&d.current!==null?ve():Q(!0);else if(f){if(m===`model`&&V&&P.current?.contains(e.target)===!0&&(e.key===`ArrowDown`||e.key===`ArrowUp`)){if(e.preventDefault(),!X&&U.length>0){let t=e.key===`ArrowDown`?1:-1;b((W+t+U.length)%U.length),M.current?.focus()}}else if(m===`model`&&V&&e.target instanceof HTMLInputElement&&(e.key===`Enter`||e.key===`Tab`&&!e.shiftKey)){if(e.key===`Tab`&&U.length===0)return;e.preventDefault();let t=U[W];!X&&t!==void 0&&we({provider:t.provider,model:t.model.id})}else if(e.key===`Tab`){if(e.shiftKey){e.preventDefault(),m===`model`&&d.current!==null?ve():Q(!0);return}let t=document.activeElement,n=[...I.current,...L.current].filter(e=>e!==null);if(t instanceof HTMLButtonElement&&n.includes(t)){e.preventDefault(),t.click();return}if(t!==j.current)return;if(e.preventDefault(),m===`model`&&V){b(null),M.current?.focus();return}((m===`model`?P.current:N.current)?.querySelector(`[role="menuitemradio"][aria-checked="true"]:not([disabled])`)??n.find(e=>!e.disabled))?.focus()}else(e.key===`ArrowDown`||e.key===`ArrowUp`)&&(e.preventDefault(),ye(e.key===`ArrowDown`?1:-1))}}},xe=e=>{e.relatedTarget instanceof Node&&(k.current?.contains(e.relatedTarget)===!0||N.current?.contains(e.relatedTarget)===!0)||Q()},Se=(e,t)=>{if(e===void 0)return;if(e.ok){t!==null&&N.current===t&&(k.current?.contains(document.activeElement)===!0||t.contains(document.activeElement))&&ge();return}let{error:n}=e;ie.current+=1,re({seq:ie.current,text:n.code===`session/writer-held`?u(`error.sessionInUse`):u(`error.action`,{message:`${n.code}: ${n.message}`})})},Ce=e=>{T.current=`select`,x(!0),j.current?.focus();let t=N.current;a(e).then(e=>{Se(e,t)})},we=e=>{d.current?.provider===e.provider&&G?.selection.model===e.model?ge():Ce(e)},Te=e=>{if(d.current===null)return;if(q===e){ge();return}let t={provider:d.current.provider,model:d.current.model,...e===void 0?{}:{reasoningEffort:e}};Ce(t)},Ee=(e,t)=>{let n=A(e,t);l&&!te&&d.preferencesAvailable!==!1&&(ne(!0),l(e,t,!S.has(n)).catch(e=>report(u(`error.action`,{message:e instanceof Error?e.message:String(e)}))).finally(()=>ne(!1)))},De=d.current===null&&d.status===`loading`,$=De?u(`trigger.loading`):G?.model.name??(d.current===null?u(`trigger.fallback`):`${d.current.provider}/${d.current.model}`),Oe=J===void 0?$:`${$} · ${J}`,ke=De?u(`trigger.loading`):d.current===null?u(`trigger.selectAria`):J===void 0?u(`trigger.aria`,{model:$}):u(`trigger.ariaEffort`,{model:$,effort:J});I.current=[],L.current=[];let Ae=0,je=0,Me=()=>{let e=Ae++;return t=>{I.current[e]=t}},Ne=e=>t=>{L.current[e]=t};return/* @__PURE__ */ (0,s.jsxs)(`div`,{ref:k,className:O.root,onKeyDown:be,onBlur:xe,onMouseDown:e=>{e.target instanceof Element&&e.target.closest(`input`)===null&&e.preventDefault()},children:[/* @__PURE__ */ (0,s.jsxs)(`button`,{ref:j,type:`button`,className:O.trigger,"aria-label":ke,"aria-haspopup":`menu`,"aria-expanded":f,"aria-controls":f?`${R}-menu`:void 0,title:Oe,"aria-busy":X,"data-selection-focus":ee?``:void 0,onBlur:()=>{x(!1)},disabled:e,onClick:()=>{f?Q(!0):me()},children:[/* @__PURE__ */ (0,s.jsx)(r.IconDataOutlineRegular,{className:O.triggerIcon,size:16}),/* @__PURE__ */ (0,s.jsx)(`span`,{className:O.triggerLabel,children:$}),J!==void 0&&/* @__PURE__ */ (0,s.jsx)(`span`,{className:O.triggerEffort,children:J}),X?/* @__PURE__ */ (0,s.jsx)(r.StateDot,{state:`ongoing`}):/* @__PURE__ */ (0,s.jsx)(r.IconChevronDownOutlineRegular,{className:D(O.chevron,f&&O.chevronOpen)})]}),f&&(0,c.createPortal)(/* @__PURE__ */ (0,s.jsxs)(`div`,{ref:N,id:`${R}-menu`,className:D(O.menu,m===`model`&&O.modelOpen,m===`model`&&C===`right`&&O.modelRight,m===`model`&&C===`replace`&&O.modelReplace),style:le??ce,"aria-label":u(`menu.aria`),"aria-busy":d.status===`loading`||X,children:[m===`model`&&/* @__PURE__ */ (0,s.jsxs)(r.MenuSurface,{ref:P,className:D(O.panel,O.modelPanel),role:`group`,"aria-label":u(`menu.model`),children:[/* @__PURE__ */ (0,s.jsxs)(`div`,{className:O.panelHeader,children:[/* @__PURE__ */ (0,s.jsx)(`button`,{type:`button`,className:O.backButton,"aria-label":u(`menu.back`),onClick:ve,children:/* @__PURE__ */ (0,s.jsx)(r.IconChevronLeftOutlineRegular,{})}),/* @__PURE__ */ (0,s.jsx)(`span`,{children:u(`menu.model`)})]}),V&&/* @__PURE__ */ (0,s.jsxs)(`div`,{className:O.searchRow,onMouseDown:e=>{e.target instanceof Element&&e.target.closest(`input, button`)===null&&(e.preventDefault(),M.current?.focus())},children:[/* @__PURE__ */ (0,s.jsx)(r.Input,{ref:M,className:D(O.search,g!==``&&O.searchWithQuery),type:`text`,role:`searchbox`,"aria-label":u(`search.placeholder`),"aria-controls":`${R}-models`,"aria-activedescendant":W<0?void 0:`${R}-model-${W}`,placeholder:u(`search.placeholder`),value:g,readOnly:X,onChange:e=>{he(e.target.value)}}),g!==``&&/* @__PURE__ */ (0,s.jsx)(`button`,{type:`button`,className:O.searchClear,"aria-label":u(`search.clear`),disabled:X,onClick:()=>{he(``),M.current?.focus()},children:/* @__PURE__ */ (0,s.jsx)(r.IconCloseFillRegular,{})})]}),d.status===`loading`&&/* @__PURE__ */ (0,s.jsx)(`div`,{className:O.status,children:u(`status.loading`)}),d.error!==null&&T.current===`load`&&/* @__PURE__ */ (0,s.jsxs)(`div`,{className:O.error,children:[/* @__PURE__ */ (0,s.jsx)(`span`,{children:u(`error.action`,{message:d.error})}),/* @__PURE__ */ (0,s.jsx)(`button`,{type:`button`,className:O.retry,onClick:fe,children:u(`action.reload`)})]}),d.failures.filter(e=>e.id===d.current?.provider).map(e=>/* @__PURE__ */ (0,s.jsxs)(`div`,{className:O.warning,children:[/* @__PURE__ */ (0,s.jsx)(`span`,{children:u(`warning.groupLoad`,{name:e.id===`deepseek-account`?u(`provider.account`):e.name,message:e.message})}),/* @__PURE__ */ (0,s.jsx)(`button`,{type:`button`,className:O.retry,onClick:fe,children:u(`action.reload`)})]},e.id)),/* @__PURE__ */ (0,s.jsx)(`div`,{id:`${R}-models`,className:D(O.groups,`scrollable`),role:`menu`,"aria-label":u(`menu.model`),hidden:H.length===0,children:H.map(e=>e.models.map(t=>{let n=je++,i=d.current?.provider===e.id&&v(t,d.current.model),a=S.has(A(e.id,t.id));return/* @__PURE__ */ (0,s.jsxs)(`div`,{className:O.modelRow,role:`none`,children:[/* @__PURE__ */ (0,s.jsxs)(`button`,{ref:Ne(n),type:`button`,role:`menuitemradio`,"aria-checked":i,id:`${R}-model-${n}`,tabIndex:V?-1:0,onFocus:()=>{b(n)},"data-highlighted":n===W?``:void 0,className:D(O.option,O.modelOption,i&&O.selected,n===W&&O.optionActive),onMouseMove:X||n===W?void 0:()=>{V?b(n):L.current[n]?.focus()},title:t.name,disabled:X,onClick:()=>{we({provider:e.id,model:t.id})},children:[/* @__PURE__ */ (0,s.jsx)(`span`,{className:O.optionCopy,children:/* @__PURE__ */ (0,s.jsx)(`span`,{className:O.modelName,children:t.name})}),/* @__PURE__ */ (0,s.jsx)(`span`,{className:O.check,children:Y?.provider===e.id&&v(t,Y.model)?/* @__PURE__ */ (0,s.jsx)(r.StateDot,{state:`ongoing`}):i?/* @__PURE__ */ (0,s.jsx)(r.IconCheckOutlineRegular,{}):null})]}),/* @__PURE__ */ (0,s.jsx)(`button`,{type:`button`,role:`menuitem`,className:D(O.favorite,a&&O.favoriteActive),"aria-label":u(a?`favorite.remove`:`favorite.add`,{model:t.name}),"aria-pressed":a,disabled:X||te||d.preferencesAvailable===!1,onClick:()=>{Ee(e.id,t.id)},children:/* @__PURE__ */ (0,s.jsx)(se,{filled:a})})]},A(e.id,t.id))}))}),d.status===`ready`&&H.length===0&&/* @__PURE__ */ (0,s.jsx)(`div`,{className:O.empty,role:`status`,children:u(B.length===0?`empty.models`:`search.empty`)})]}),/* @__PURE__ */ (0,s.jsxs)(r.MenuSurface,{className:D(O.panel,O.thinkingPanel),role:`menu`,"aria-label":u(`menu.effort`),children:[/* @__PURE__ */ (0,s.jsx)(`div`,{className:O.panelHeader,children:u(`menu.effort`)}),/* @__PURE__ */ (0,s.jsxs)(`div`,{className:O.thinkingOptions,children:[d.error!==null&&T.current===`load`&&/* @__PURE__ */ (0,s.jsxs)(`div`,{className:O.error,children:[/* @__PURE__ */ (0,s.jsx)(`span`,{children:u(`error.action`,{message:d.error})}),/* @__PURE__ */ (0,s.jsx)(`button`,{type:`button`,className:O.retry,onClick:fe,children:u(`action.reload`)})]}),de.length===0?/* @__PURE__ */ (0,s.jsx)(`div`,{className:O.empty,children:u(`empty.efforts`)}):de.map(e=>/* @__PURE__ */ (0,s.jsxs)(`button`,{ref:Me(),type:`button`,role:`menuitemradio`,"aria-checked":q===e.effort,className:D(O.option,q===e.effort&&O.selected),disabled:X,onClick:()=>{Te(e.effort)},children:[/* @__PURE__ */ (0,s.jsx)(`span`,{className:O.optionCopy,children:/* @__PURE__ */ (0,s.jsx)(`span`,{className:O.modelName,children:e.label})}),/* @__PURE__ */ (0,s.jsx)(`span`,{className:O.check,children:Y!==null&&Y.provider===d.current?.provider&&Y.model===d.current.model&&Y.reasoningEffort===e.effort?/* @__PURE__ */ (0,s.jsx)(r.StateDot,{state:`ongoing`}):q===e.effort?/* @__PURE__ */ (0,s.jsx)(r.IconCheckOutlineRegular,{}):null})]},e.key))]}),/* @__PURE__ */ (0,s.jsx)(`div`,{className:O.modelCellWrap,children:/* @__PURE__ */ (0,s.jsxs)(`button`,{ref:Me(),type:`button`,role:`menuitem`,className:O.cell,"aria-expanded":m===`model`,"aria-controls":m===`model`?`${R}-models`:void 0,onMouseEnter:()=>{m===`root`&&h(`model`)},onKeyDown:e=>{e.key===`ArrowRight`&&(e.preventDefault(),_e())},onClick:_e,children:[/* @__PURE__ */ (0,s.jsx)(`span`,{className:O.cellValue,children:$}),/* @__PURE__ */ (0,s.jsx)(r.IconChevronRightOutlineRegular,{className:O.cellChevron})]})})]})]}),document.body),E!==null&&/* @__PURE__ */ (0,s.jsx)(r.Toast,{text:E.text,icon:/* @__PURE__ */ (0,s.jsx)(r.IconWarningOutlineRegular,{}),anchor:k.current?.closest(`[data-composer-card]`)??null,onDone:()=>{re(null)}},E.seq)]})}function M(e){return/* @__PURE__ */ (0,s.jsxs)(`div`,{className:w.controls,children:[/* @__PURE__ */ (0,s.jsx)(ne,{...e}),/* @__PURE__ */ (0,s.jsx)(j,{...e}),/* @__PURE__ */ (0,s.jsx)(E,{...e})]})}function N(e,t){return`${e}/${t}`}function P(e,t){let n=[];for(let r of ae(e.groups)){let i=r.id===`deepseek-account`?t(`provider.account`):r.name;for(let t of r.models)n.push({id:N(r.id,t.id),label:t.name,group:{name:r.id,label:i},...e.current!==null&&e.current.provider===r.id&&v(t,e.current.model)?{active:!0}:{}})}for(let r of e.failures.filter(t=>t.id===e.current?.provider))n.push({id:`failure/${r.id}`,label:r.id===`deepseek-account`?t(`provider.account`):r.name,detail:t(`option.loadError`,{message:r.message})});return n}function le(e,t){for(let n of e.groups)for(let r of n.models){if(N(n.id,r.id)!==t)continue;let{current:i}=e,a=i?.provider===n.id&&v(r,i.model),o=a?i.reasoningEffort??r.reasoning?.defaultEffort:r.reasoning?.defaultEffort;return{provider:n.id,model:a?i.model:r.id,...o===void 0?{}:{reasoningEffort:o}}}}let F=`model`,I=[`commandUi`,`locale`,`sessions`,`slots`,`remote`,`remote.session`];function L(e){e.effect(()=>e.locale.register(F,{zh:k,en:oe}),`ui-model-selection: dictionaries`);let t=e.locale.bind(F);e.plugin(x),e.inject([`commandUi`,`modelDirectories`],e=>{let n=e.get(`commandUi`),i=e.modelDirectories,a=e.sessions;e.effect(()=>n.register({name:`model`,label:()=>t(`command.label`),description:()=>t(`command.description`),icon:r.IconDataOutlineRegular,available:e=>a.subagentAddress(e.sessionId)===void 0,ui:{kind:`popupSelect`,searchMode:`fuzzy-label`,searchLabels:()=>({placeholder:t(`search.placeholder`),empty:t(`empty.models`),noResults:t(`search.empty`)}),options:async e=>{if(a.subagentAddress(e.sessionId)!==void 0)throw Error(`model selection is unavailable for addressed subagent sessions`);return P(await i.directoryFor(e.sessionId).load(),t)},onSelect:async(e,n)=>{if(a.subagentAddress(n.sessionId)!==void 0)throw Error(`model selection is unavailable for addressed subagent sessions`);let r=i.directoryFor(n.sessionId),o=le(r.store.getSnapshot(),e.id);if(o===void 0)throw Error(`this provider's catalog failed to load — pick a model from a loaded group`);let s=await r.select(o);if(!s.ok)throw s.error.code===`session/writer-held`?Error(t(`error.sessionInUse`)):s.error}}}),`ui-model-selection: /model contribution`)}),e.inject([`slots`,`modelDirectories`],e=>{let t=e.modelDirectories,n=e.sessions;e.slots.inject(`conversation.input.model`,()=>e.slots.register({name:`conversation.input.model`,locale:F,inject:e=>{let r=t.directoryFor(e),i=n.subagentAddress(e)===void 0;return{available:i,directory:r.store,load:()=>{i&&r.load().catch(()=>{})},select:e=>i?r.select(e):Promise.resolve(void 0),setFavorite:(e,n,r)=>t.setFavorite(e,n,r)}}},M))})}return n.ModelDirectory=b,n.ModelDirectoryResolver=x,n.apply=L,n.inject=I,t.exports}});
@@ -1 +1 @@
1
- window.__ModuleLoader__.load({id:`@deepseek-ai/dsh-client-ui-permission-presets`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});let r=e("react"),i=e("@deepseek-ai/dsh-client-ui-primitives"),a=e("react/jsx-runtime");function o(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=o(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function s(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=o(e))&&(r&&(r+=` `),r+=t);return r}let c=`@deepseek-ai/dsh-client-ui-permission-presets/PermissionSelect.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(c)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@deepseek-ai/dsh-client-ui-permission-presets`,e.dataset.pluginCss=c,e.textContent=`.L_AFWa_trigger{border-radius:var(--dsw-radius-sm);min-width:0;max-width:220px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:4px;padding:0 4px 0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}.L_AFWa_trigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.L_AFWa_trigger.L_AFWa_triggerDangerous:not(:disabled){color:#f28048}.L_AFWa_trigger.L_AFWa_triggerDangerous .L_AFWa_chevron{color:inherit;opacity:.7}.L_AFWa_trigger:focus-visible{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}.L_AFWa_trigger:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}.L_AFWa_triggerIcon{flex:none;display:inline-flex}.L_AFWa_triggerIcon svg{width:14px;height:14px}.L_AFWa_triggerLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.L_AFWa_optionLabel{align-items:baseline;gap:4px;min-width:0;max-width:100%;display:inline-flex}.L_AFWa_optionLabelText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.L_AFWa_badge{color:var(--dsw-alias-label-tertiary);letter-spacing:.2px;flex:none;align-self:flex-start;margin-top:-1px;font-size:8px;font-weight:600;line-height:10px}.L_AFWa_chevron{color:var(--dsw-alias-label-caption);flex:none;transition:transform .12s;display:inline-flex}@container (width<=460px){.L_AFWa_trigger:has(.L_AFWa_triggerIcon) .L_AFWa_triggerLabel{display:none}}.L_AFWa_chevronOpen{transform:rotate(180deg)}.L_AFWa_optionCopy{white-space:normal;text-align:left;flex-direction:column;gap:3px;min-width:0;max-width:270px;display:flex}.L_AFWa_description{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.L_AFWa_dangerous{color:var(--dsw-alias-state-danger-primary,#c2413b)}`,document.head.appendChild(e)}var l={badge:`L_AFWa_badge`,chevron:`L_AFWa_chevron`,chevronOpen:`L_AFWa_chevronOpen`,dangerous:`L_AFWa_dangerous`,description:`L_AFWa_description`,optionCopy:`L_AFWa_optionCopy`,optionLabel:`L_AFWa_optionLabel`,optionLabelText:`L_AFWa_optionLabelText`,trigger:`L_AFWa_trigger`,triggerDangerous:`L_AFWa_triggerDangerous`,triggerIcon:`L_AFWa_triggerIcon`,triggerLabel:`L_AFWa_triggerLabel`};let u=()=>/* @__PURE__ */ (0,a.jsxs)(`svg`,{width:16,height:16,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`,children:[/* @__PURE__ */ (0,a.jsx)(`path`,{d:`M8 1.75 2.75 3.6v3.9c0 3.1 2.1 5.4 5.25 6.75 3.15-1.35 5.25-3.65 5.25-6.75V3.6L8 1.75Z`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinejoin:`round`}),/* @__PURE__ */ (0,a.jsx)(`path`,{d:`M8 5.6v3`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`}),/* @__PURE__ */ (0,a.jsx)(`circle`,{cx:`8`,cy:`10.6`,r:`0.75`,fill:`currentColor`})]});function d({locked:e,select:t,useProjection:n,t:o}){let c=n(`permissions`),d=n(`nativePermissions`),[f,p]=(0,r.useState)(null),[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(null),[v,y]=(0,r.useState)(!1),[b,x]=(0,r.useState)(null),S=e||d?.locked===!0;if((0,r.useEffect)(()=>{(S||!d?.selectable||!d.catalog||g!==null&&!d.catalog.modes.some(e=>e.id===g.id))&&(h(!1),_(null),y(!1))},[d,S,g]),c===void 0||!d?.selectable||d.catalog===null)return null;let C=d.catalog.modes.find(e=>e.id===c.currentValue),w=C?.label??o(`native.configuration`),T=f!==null||g!==null,E=()=>{y(!1),_(null)},D=e=>{p(e),t(e).catch(e=>{let t=e instanceof Error?e.message:String(e);x(e=>({text:t,seq:(e?.seq??0)+1}))}).finally(()=>p(null))};return/* @__PURE__ */ (0,a.jsxs)(a.Fragment,{children:[/* @__PURE__ */ (0,a.jsx)(i.Menu,{open:m,portal:!0,side:`top`,selectedId:c.currentValue,items:d.catalog.modes.map(e=>({id:e.id,label:/* @__PURE__ */ (0,a.jsxs)(`span`,{className:s(l.optionCopy,e.dangerous&&l.dangerous),children:[/* @__PURE__ */ (0,a.jsx)(`span`,{children:e.label}),e.description?/* @__PURE__ */ (0,a.jsx)(`span`,{className:l.description,children:e.description}):null]}),...e.dangerous?{icon:/* @__PURE__ */ (0,a.jsx)(i.IconWarningOutlineRegular,{size:16})}:{}})),onSelect:e=>{if(h(!1),S||T||e===c.currentValue)return;let t=d.catalog?.modes.find(t=>t.id===e);t&&(t.dangerous?(y(!1),_(t)):D(e))},onClose:()=>h(!1),footer:d.scope===`atCreate`?[{type:`label`,id:`scope`,text:o(`native.atCreate`)}]:[],anchor:/* @__PURE__ */ (0,a.jsxs)(`button`,{type:`button`,className:s(l.trigger,C?.dangerous&&l.triggerDangerous),"aria-label":o(`mode`,{name:w}),title:d.locked?o(`native.atCreate`):C?C.description:o(`native.configuration.description`),disabled:S||T,onClick:()=>h(!m),children:[/* @__PURE__ */ (0,a.jsx)(`span`,{className:l.triggerIcon,children:C?.dangerous?/* @__PURE__ */ (0,a.jsx)(u,{}):/* @__PURE__ */ (0,a.jsx)(i.IconShieldOutlineRegular,{})}),/* @__PURE__ */ (0,a.jsx)(`span`,{className:l.triggerLabel,children:w}),/* @__PURE__ */ (0,a.jsx)(`span`,{className:s(l.chevron,m&&l.chevronOpen),children:/* @__PURE__ */ (0,a.jsx)(i.IconChevronDownOutlineRegular,{})})]})}),g?/* @__PURE__ */ (0,a.jsx)(i.RiskConfirmation,{open:!0,title:o(`native.confirm.title`,{name:g.label}),description:g.description??o(`native.confirm.description`),acknowledgeLabel:o(`confirm.acknowledge`),cancelLabel:o(`confirm.cancel`),closeLabel:o(`close`),confirmLabel:o(`native.confirm.enable`),acknowledged:v,disabled:S,onAcknowledgedChange:y,onCancel:E,onConfirm:()=>{let e=g.id;E(),D(e)}}):null,b?/* @__PURE__ */ (0,a.jsx)(i.Toast,{text:o(`native.error`,{message:b.text}),icon:/* @__PURE__ */ (0,a.jsx)(i.IconWarningOutlineRegular,{}),onDone:()=>x(null)},b.seq):null]})}let f=`permission.access`,p={mode:`访问模式,当前:{name}`,"native.configuration":`原生配置`,"native.configuration.description":`使用 Harness 原生权限配置,尚未匹配到已确认的权限模式。`,"native.atCreate":`此 Harness 仅允许在创建原生会话前选择权限模式。`,"native.confirm.title":`启用 {name}?`,"native.confirm.description":`此原生模式可能跳过权限确认,请确认你信任当前任务。`,"native.confirm.enable":`启用此模式`,"native.error":`权限切换失败:{message}`,close:`关闭`,"preset.readOnly":`仅可查看`,"preset.workspaceWrite":`工作区内修改`,"preset.fullAccess":`完全权限`,"confirm.title":`确认启用完全权限?`,"confirm.description":`启用完全权限后,智能体将减少确认步骤,并且可以直接执行更多操作,包括敏感操作、文件修改或外部命令。仅建议在你信任当前任务时使用。`,"confirm.acknowledge":`我已了解风险,并愿意继续`,"confirm.cancel":`取消`,"confirm.enable":`启用完全权限`,"auto.label":`Auto review`,"auto.badge":`EXP`,"auto.description":`无沙箱运行;每次原生工具调用和 PTC 内层调用前由同一模型进行实验性审查。`,"auto.confirm.title":`确认启用 Auto review(实验)?`,"auto.confirm.description":`Auto review 不使用沙箱。每次原生工具调用和 PTC 内层调用前,都会由与当前 agent 相同的模型进行审查;审查拒绝的调用由你批准或拒绝。此功能仍属实验性,可能误放行或误拒绝,并会消耗额外 token。`,"auto.confirm.acknowledge":`我已了解这些风险,并愿意继续`,"auto.confirm.enable":`启用 Auto review`},m={mode:`Access mode, current: {name}`,"native.configuration":`Native configuration`,"native.configuration.description":`Using the Harness's native permissions; no confirmed permission mode matches the catalog.`,"native.atCreate":`This Harness only allows permission selection before creating its native session.`,"native.confirm.title":`Enable {name}?`,"native.confirm.description":`This native mode may skip permission checks. Only enable it for a trusted task.`,"native.confirm.enable":`Enable mode`,"native.error":`Permission switch failed: {message}`,close:`Close`,"preset.readOnly":`Read Only`,"preset.workspaceWrite":`Workspace Write`,"preset.fullAccess":`Full access`,"confirm.title":`Enable Full access?`,"confirm.description":`Full access reduces confirmation steps and lets the agent perform more actions directly, including sensitive operations, file changes, or external commands. Only use it when you trust the current task.`,"confirm.acknowledge":`I understand the risks and want to continue`,"confirm.cancel":`Cancel`,"confirm.enable":`Enable Full access`,"auto.label":`Auto review`,"auto.badge":`EXP`,"auto.description":`Run without a sandbox after an experimental same-model review of every native tool call and PTC inner call.`,"auto.confirm.title":`Enable Auto review (experimental)?`,"auto.confirm.description":`Auto review runs without a sandbox. Before every native tool call and PTC inner call, the same model as the current agent reviews whether to allow it; you approve or reject each call it denies. This feature is experimental, can falsely allow or deny actions, and uses additional tokens.`,"auto.confirm.acknowledge":`I understand these risks and want to continue`,"auto.confirm.enable":`Enable Auto review`},h=[`commandUi`,`sessions`,`slots`,`locale`,`remote`,`remote.commands`];function g(e){return e?.projections.faceOf(`nativePermissions`).getSnapshot()}function _(e){let t=e.get(`commandUi`),n=e.sessions;e.effect(()=>e.locale.register(f,{zh:p,en:m}),`ui-permission: native dictionaries`);let r=e.locale.bind(f),i=async(t,r)=>{if(n.binding(t)===void 0)throw Error(`This session is not materialized yet.`);let i=g(n.binding(t)?.session);if(!i?.selectable||i.locked||!i.catalog?.modes.some(e=>e.id===r))throw Error(`Native permission mode selection is unavailable for this session.`);let a=await e.remote.commands.execute(t,`/permission ${r}`,[]);if(!a.ok)throw Error(a.error.message);if(a.value===void 0)throw Error(`The Host offers no /permission command.`);if(a.value.result?.kind===`error`)throw Error(a.value.result.text??`Native permission switch failed.`);return!0};e.slots.inject(`conversation.input.permission`,()=>e.slots.register({name:`conversation.input.permission`,locale:f,inject:e=>({select:t=>i(e,t)})},d)),e.effect(()=>t.decorate({name:`permission`,available:e=>{let t=g(n.binding(e.sessionId)?.session);return t?.selectable===!0&&!t.locked},ui:{kind:`popupSelect`,options:async e=>{let t=n.binding(e.sessionId)?.session,i=g(t);if(!i?.selectable||i.locked||!i.catalog)throw Error(`Native permissions unavailable.`);let a=t?.projections.faceOf(`permissions`).getSnapshot();return i.catalog.modes.map(e=>({id:e.id,label:e.label,...e.description?{detail:e.description}:{},...e.id===a?.currentValue?{active:!0}:{},...e.dangerous?{confirmation:{title:r(`native.confirm.title`,{name:e.label}),description:e.description??r(`native.confirm.description`),acknowledgeLabel:r(`confirm.acknowledge`),cancelLabel:r(`confirm.cancel`),confirmLabel:r(`native.confirm.enable`)}}:{}}))},onSelect:(e,t)=>i(t.sessionId,e.id).then(()=>void 0)}}),`ui-permission: native /permission picker`)}return n.apply=_,n.inject=h,t.exports}});
1
+ window.__ModuleLoader__.load({id:`@deepseek-ai/dsh-client-ui-permission-presets`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});let r=e("react"),i=e("@deepseek-ai/dsh-client-ui-primitives"),a=e("react/jsx-runtime");function o(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=o(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function s(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=o(e))&&(r&&(r+=` `),r+=t);return r}let c=`permission.access`,l={mode:`访问模式,当前:{name}`,"codex.:read-only":`只读`,"codex.:workspace":`工作区写入`,"codex.:danger-full-access":`完全访问`,"native.configuration":`原生配置`,"native.configuration.description":`使用 Harness 原生权限配置,尚未匹配到已确认的权限模式。`,"native.atCreate":`此 Harness 仅允许在创建原生会话前选择权限模式。`,"native.confirm.title":`启用 {name}?`,"native.confirm.description":`此原生模式可能跳过权限确认,请确认你信任当前任务。`,"native.confirm.enable":`启用此模式`,"native.error":`权限切换失败:{message}`,close:`关闭`,"preset.readOnly":`仅可查看`,"preset.workspaceWrite":`工作区内修改`,"preset.fullAccess":`完全权限`,"confirm.title":`确认启用完全权限?`,"confirm.description":`启用完全权限后,智能体将减少确认步骤,并且可以直接执行更多操作,包括敏感操作、文件修改或外部命令。仅建议在你信任当前任务时使用。`,"confirm.acknowledge":`我已了解风险,并愿意继续`,"confirm.cancel":`取消`,"confirm.enable":`启用完全权限`,"auto.label":`Auto review`,"auto.badge":`EXP`,"auto.description":`无沙箱运行;每次原生工具调用和 PTC 内层调用前由同一模型进行实验性审查。`,"auto.confirm.title":`确认启用 Auto review(实验)?`,"auto.confirm.description":`Auto review 不使用沙箱。每次原生工具调用和 PTC 内层调用前,都会由与当前 agent 相同的模型进行审查;审查拒绝的调用由你批准或拒绝。此功能仍属实验性,可能误放行或误拒绝,并会消耗额外 token。`,"auto.confirm.acknowledge":`我已了解这些风险,并愿意继续`,"auto.confirm.enable":`启用 Auto review`},u={mode:`Access mode, current: {name}`,"codex.:read-only":`Read only`,"codex.:workspace":`Workspace write`,"codex.:danger-full-access":`Full access`,"native.configuration":`Native configuration`,"native.configuration.description":`Using the Harness's native permissions; no confirmed permission mode matches the catalog.`,"native.atCreate":`This Harness only allows permission selection before creating its native session.`,"native.confirm.title":`Enable {name}?`,"native.confirm.description":`This native mode may skip permission checks. Only enable it for a trusted task.`,"native.confirm.enable":`Enable mode`,"native.error":`Permission switch failed: {message}`,close:`Close`,"preset.readOnly":`Read Only`,"preset.workspaceWrite":`Workspace Write`,"preset.fullAccess":`Full access`,"confirm.title":`Enable Full access?`,"confirm.description":`Full access reduces confirmation steps and lets the agent perform more actions directly, including sensitive operations, file changes, or external commands. Only use it when you trust the current task.`,"confirm.acknowledge":`I understand the risks and want to continue`,"confirm.cancel":`Cancel`,"confirm.enable":`Enable Full access`,"auto.label":`Auto review`,"auto.badge":`EXP`,"auto.description":`Run without a sandbox after an experimental same-model review of every native tool call and PTC inner call.`,"auto.confirm.title":`Enable Auto review (experimental)?`,"auto.confirm.description":`Auto review runs without a sandbox. Before every native tool call and PTC inner call, the same model as the current agent reviews whether to allow it; you approve or reject each call it denies. This feature is experimental, can falsely allow or deny actions, and uses additional tokens.`,"auto.confirm.acknowledge":`I understand these risks and want to continue`,"auto.confirm.enable":`Enable Auto review`},d=`@deepseek-ai/dsh-client-ui-permission-presets/PermissionSelect.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(d)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@deepseek-ai/dsh-client-ui-permission-presets`,e.dataset.pluginCss=d,e.textContent=`.L_AFWa_trigger{border-radius:var(--dsw-radius-sm);min-width:0;max-width:220px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:4px;padding:0 4px 0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}.L_AFWa_trigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.L_AFWa_trigger.L_AFWa_triggerDangerous:not(:disabled){color:#f28048}.L_AFWa_trigger.L_AFWa_triggerDangerous .L_AFWa_chevron{color:inherit;opacity:.7}.L_AFWa_trigger:focus-visible{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}.L_AFWa_trigger:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}.L_AFWa_triggerIcon{flex:none;display:inline-flex}.L_AFWa_triggerIcon svg{width:14px;height:14px}.L_AFWa_triggerLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.L_AFWa_optionLabel{align-items:baseline;gap:4px;min-width:0;max-width:100%;display:inline-flex}.L_AFWa_optionLabelText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.L_AFWa_badge{color:var(--dsw-alias-label-tertiary);letter-spacing:.2px;flex:none;align-self:flex-start;margin-top:-1px;font-size:8px;font-weight:600;line-height:10px}.L_AFWa_chevron{color:var(--dsw-alias-label-caption);flex:none;transition:transform .12s;display:inline-flex}@container (width<=460px){.L_AFWa_trigger:has(.L_AFWa_triggerIcon) .L_AFWa_triggerLabel{display:none}}.L_AFWa_chevronOpen{transform:rotate(180deg)}.L_AFWa_optionCopy{white-space:normal;text-align:left;flex-direction:column;gap:3px;min-width:0;max-width:270px;display:flex}.L_AFWa_description{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.L_AFWa_dangerous{color:var(--dsw-alias-state-danger-primary,#c2413b)}`,document.head.appendChild(e)}var f={badge:`L_AFWa_badge`,chevron:`L_AFWa_chevron`,chevronOpen:`L_AFWa_chevronOpen`,dangerous:`L_AFWa_dangerous`,description:`L_AFWa_description`,optionCopy:`L_AFWa_optionCopy`,optionLabel:`L_AFWa_optionLabel`,optionLabelText:`L_AFWa_optionLabelText`,trigger:`L_AFWa_trigger`,triggerDangerous:`L_AFWa_triggerDangerous`,triggerIcon:`L_AFWa_triggerIcon`,triggerLabel:`L_AFWa_triggerLabel`};let p=()=>/* @__PURE__ */ (0,a.jsxs)(`svg`,{width:16,height:16,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`,children:[/* @__PURE__ */ (0,a.jsx)(`path`,{d:`M8 1.75 2.75 3.6v3.9c0 3.1 2.1 5.4 5.25 6.75 3.15-1.35 5.25-3.65 5.25-6.75V3.6L8 1.75Z`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinejoin:`round`}),/* @__PURE__ */ (0,a.jsx)(`path`,{d:`M8 5.6v3`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`}),/* @__PURE__ */ (0,a.jsx)(`circle`,{cx:`8`,cy:`10.6`,r:`0.75`,fill:`currentColor`})]});function m({locked:e,select:t,useProjection:n,t:o}){let c=n(`permissions`),l=n(`nativePermissions`),[d,m]=(0,r.useState)(null),[h,g]=(0,r.useState)(!1),[_,v]=(0,r.useState)(null),[y,b]=(0,r.useState)(!1),[x,S]=(0,r.useState)(null),C=e||l?.locked===!0;if((0,r.useEffect)(()=>{(C||!l?.selectable||!l.catalog||_!==null&&!l.catalog.modes.some(e=>e.id===_.id))&&(g(!1),v(null),b(!1))},[l,C,_]),c===void 0||!l?.selectable||l.catalog===null)return null;let w=l.catalog.modes.map(e=>{let t=`codex.${e.id}`;return l.harnessId===`codex`&&Object.hasOwn(u,t)?{...e,label:o(t)}:e}),T=w.find(e=>e.id===c.currentValue),E=T?.label??o(`native.configuration`),D=d!==null||_!==null,O=()=>{b(!1),v(null)},k=e=>{m(e),t(e).catch(e=>{let t=e instanceof Error?e.message:String(e);S(e=>({text:t,seq:(e?.seq??0)+1}))}).finally(()=>m(null))};return/* @__PURE__ */ (0,a.jsxs)(a.Fragment,{children:[/* @__PURE__ */ (0,a.jsx)(i.Menu,{open:h,portal:!0,side:`top`,selectedId:c.currentValue,items:w.map(e=>({id:e.id,label:/* @__PURE__ */ (0,a.jsxs)(`span`,{className:s(f.optionCopy,e.dangerous&&f.dangerous),children:[/* @__PURE__ */ (0,a.jsx)(`span`,{children:e.label}),e.description?/* @__PURE__ */ (0,a.jsx)(`span`,{className:f.description,children:e.description}):null]}),...e.dangerous?{icon:/* @__PURE__ */ (0,a.jsx)(i.IconWarningOutlineRegular,{size:16})}:{}})),onSelect:e=>{if(g(!1),C||D||e===c.currentValue)return;let t=w.find(t=>t.id===e);t&&(t.dangerous?(b(!1),v(t)):k(e))},onClose:()=>g(!1),footer:l.scope===`atCreate`?[{type:`label`,id:`scope`,text:o(`native.atCreate`)}]:[],anchor:/* @__PURE__ */ (0,a.jsxs)(`button`,{type:`button`,className:s(f.trigger,T?.dangerous&&f.triggerDangerous),"aria-label":o(`mode`,{name:E}),title:l.locked?o(`native.atCreate`):T?T.description:o(`native.configuration.description`),disabled:C||D,onClick:()=>g(!h),children:[/* @__PURE__ */ (0,a.jsx)(`span`,{className:f.triggerIcon,children:T?.dangerous?/* @__PURE__ */ (0,a.jsx)(p,{}):/* @__PURE__ */ (0,a.jsx)(i.IconShieldOutlineRegular,{})}),/* @__PURE__ */ (0,a.jsx)(`span`,{className:f.triggerLabel,children:E}),/* @__PURE__ */ (0,a.jsx)(`span`,{className:s(f.chevron,h&&f.chevronOpen),children:/* @__PURE__ */ (0,a.jsx)(i.IconChevronDownOutlineRegular,{})})]})}),_?/* @__PURE__ */ (0,a.jsx)(i.RiskConfirmation,{open:!0,title:o(`native.confirm.title`,{name:_.label}),description:_.description??o(`native.confirm.description`),acknowledgeLabel:o(`confirm.acknowledge`),cancelLabel:o(`confirm.cancel`),closeLabel:o(`close`),confirmLabel:o(`native.confirm.enable`),acknowledged:y,disabled:C,onAcknowledgedChange:b,onCancel:O,onConfirm:()=>{let e=_.id;O(),k(e)}}):null,x?/* @__PURE__ */ (0,a.jsx)(i.Toast,{text:o(`native.error`,{message:x.text}),icon:/* @__PURE__ */ (0,a.jsx)(i.IconWarningOutlineRegular,{}),onDone:()=>S(null)},x.seq):null]})}let h=[`commandUi`,`sessions`,`slots`,`locale`,`remote`,`remote.commands`];function g(e){return e?.projections.faceOf(`nativePermissions`).getSnapshot()}function _(e){let t=e.get(`commandUi`),n=e.sessions;e.effect(()=>e.locale.register(c,{zh:l,en:u}),`ui-permission: native dictionaries`);let r=e.locale.bind(c),i=async(t,r)=>{if(n.binding(t)===void 0)throw Error(`This session is not materialized yet.`);let i=g(n.binding(t)?.session);if(!i?.selectable||i.locked||!i.catalog?.modes.some(e=>e.id===r))throw Error(`Native permission mode selection is unavailable for this session.`);let a=await e.remote.commands.execute(t,`/permission ${r}`,[]);if(!a.ok)throw Error(a.error.message);if(a.value===void 0)throw Error(`The Host offers no /permission command.`);if(a.value.result?.kind===`error`)throw Error(a.value.result.text??`Native permission switch failed.`);return!0};e.slots.inject(`conversation.input.permission`,()=>e.slots.register({name:`conversation.input.permission`,locale:c,inject:e=>({select:t=>i(e,t)})},m)),e.effect(()=>t.decorate({name:`permission`,available:e=>{let t=g(n.binding(e.sessionId)?.session);return t?.selectable===!0&&!t.locked},ui:{kind:`popupSelect`,options:async e=>{let t=n.binding(e.sessionId)?.session,i=g(t);if(!i?.selectable||i.locked||!i.catalog)throw Error(`Native permissions unavailable.`);let a=t?.projections.faceOf(`permissions`).getSnapshot();return i.catalog.modes.map(e=>({id:e.id,label:e.label,...e.description?{detail:e.description}:{},...e.id===a?.currentValue?{active:!0}:{},...e.dangerous?{confirmation:{title:r(`native.confirm.title`,{name:e.label}),description:e.description??r(`native.confirm.description`),acknowledgeLabel:r(`confirm.acknowledge`),cancelLabel:r(`confirm.cancel`),confirmLabel:r(`native.confirm.enable`)}}:{}}))},onSelect:(e,t)=>i(t.sessionId,e.id).then(()=>void 0)}}),`ui-permission: native /permission picker`)}return n.apply=_,n.inject=h,t.exports}});
@@ -1,3 +1,3 @@
1
- window.__ModuleLoader__.load({id:`@deepseek-ai/dsh-client-ui-sidebar`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});let r=e("@deepseek-ai/dsh-client-store"),i=e("@deepseek-ai/dsh-client-ui-slots"),a=e("@deepseek-ai/dsh-client-ui-primitives"),o=e("react/jsx-runtime"),s=e("react"),c=`@deepseek-ai/dsh-client-ui-sidebar/HeaderLeadingControls.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(c)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@deepseek-ai/dsh-client-ui-sidebar`,e.dataset.pluginCss=c,e.textContent=`.fqofDG_controls{align-items:center;gap:8px;display:flex}.fqofDG_iconButton{border-radius:var(--dsw-radius-sm);width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.fqofDG_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover)}`,document.head.appendChild(e)}var l={controls:`fqofDG_controls`,iconButton:`fqofDG_iconButton`};function u({toggleSidebar:e,startSession:t,useShortcuts:n,t:r}){let i=n(e=>e.find(e=>e.id===`sidebar.left.toggle`)),s=n(e=>e.find(e=>e.id===`session.new`));return/* @__PURE__ */ (0,o.jsxs)(`div`,{className:l.controls,children:[/* @__PURE__ */ (0,o.jsx)(a.Tooltip,{label:r(`toggle.open`),shortcutKeys:i?.keys,delayMs:500,children:/* @__PURE__ */ (0,o.jsx)(`button`,{type:`button`,className:l.iconButton,"aria-label":r(`toggle.open`),"aria-keyshortcuts":i?.aria,onClick:()=>{e()},children:/* @__PURE__ */ (0,o.jsx)(a.IconPanelLeftOutlineRegular,{size:16})})}),/* @__PURE__ */ (0,o.jsx)(a.Tooltip,{label:r(`session.new.label`),shortcutKeys:s?.keys,delayMs:500,children:/* @__PURE__ */ (0,o.jsx)(`button`,{type:`button`,className:l.iconButton,"aria-label":r(`session.new.label`),"aria-keyshortcuts":s?.aria,onClick:()=>{t()},children:/* @__PURE__ */ (0,o.jsx)(a.IconNewChatOutlineRegular,{size:16})})})]})}function d(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=d(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function f(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=d(e))&&(r&&(r+=` `),r+=t);return r}let p=`@deepseek-ai/dsh-client-ui-sidebar/SidebarRoot.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(p)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@deepseek-ai/dsh-client-ui-sidebar`,e.dataset.pluginCss=p,e.textContent=`.W2Gj0G_root{--ch-sidebar-text-primary:#1a1c1f;--ch-sidebar-text-muted:#1a1c1f7e;--dsw-font-family:-apple-system, "system-ui", "Segoe UI", sans-serif;--dsw-alias-label-primary:color-mix(in oklab, var(--ch-sidebar-text-primary) 85%, transparent);--dsw-alias-label-secondary:color-mix(in srgb, var(--ch-sidebar-text-primary) 65%, transparent);--dsw-alias-label-tertiary:var(--ch-sidebar-text-muted);--dsw-alias-label-caption:var(--ch-sidebar-text-muted);--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);font-family:var(--dsw-font-family);font-synthesis-weight:none;--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;font-weight:430;line-height:20px;display:flex}body[data-ds-dark-theme] .W2Gj0G_root{--ch-sidebar-text-primary:#fff;--ch-sidebar-text-muted:#ffffff7f}[data-platform=darwin] .W2Gj0G_root{background:0 0}.W2Gj0G_root.W2Gj0G_collapsed{padding:18px 10px 6px}[data-windows-titlebar] .W2Gj0G_root .W2Gj0G_logoRow{height:40px;margin:0;padding:0}[data-windows-titlebar] .W2Gj0G_toggle{top:calc((var(--dsh-windows-titlebar-height) - 28px) / 2);z-index:30;-webkit-app-region:no-drag;position:fixed;left:12px}[data-windows-titlebar] .W2Gj0G_root.W2Gj0G_collapsed .W2Gj0G_logoRow{height:0}[data-windows-titlebar] .W2Gj0G_root:not(.W2Gj0G_collapsed) .W2Gj0G_brand{padding-left:4px}[data-windows-titlebar] .W2Gj0G_brandIdentity{transform:translateY(1px)}[data-windows-titlebar] .W2Gj0G_brandMark{transform:translate(1px)}[data-windows-titlebar] .W2Gj0G_brandName{font-weight:400}[data-windows-titlebar] .W2Gj0G_root.W2Gj0G_collapsed{padding:0}[data-windows-titlebar] .W2Gj0G_root:not(.W2Gj0G_collapsed) .W2Gj0G_newSession{margin-top:8px;margin-left:0}[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_panelList,[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_regionArea,[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_footArea{display:none}html[data-windows-titlebar]:has([data-sidebar-collapsed=true]){--dsh-windows-menu-start:84px}[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_newSession{top:calc((var(--dsh-windows-titlebar-height) - 28px) / 2);z-index:30;-webkit-app-region:no-drag;border:none;margin:0;padding:0;position:fixed;left:48px}[data-windows-titlebar] .W2Gj0G_railIn .W2Gj0G_iconButton,[data-windows-titlebar] .W2Gj0G_railIn .W2Gj0G_newSession{animation:none}[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_toggle,[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_newSession{corner-shape:round;width:28px;height:28px;color:var(--dsw-alias-label-secondary);border-radius:50%}[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_toggle .W2Gj0G_panelIcon{display:inline}.W2Gj0G_root.W2Gj0G_quietBars{--dsh-scrollbar-thumb:transparent;--dsh-scrollbar-thumb-hover:transparent}.W2Gj0G_fading>*{opacity:0;transition:opacity .15s var(--ds-ease-in-out)}.W2Gj0G_wide{animation:W2Gj0G_wide-in .2s var(--ds-ease-in-out)}@keyframes W2Gj0G_wide-in{0%{opacity:0}}.W2Gj0G_railIn .W2Gj0G_iconButton,.W2Gj0G_railIn .W2Gj0G_newSession,.W2Gj0G_railIn .W2Gj0G_panelList,.W2Gj0G_railIn .W2Gj0G_regionArea{animation:W2Gj0G_rail-in .15s var(--ds-ease-in-out) backwards}.W2Gj0G_railIn .W2Gj0G_footArea{animation:W2Gj0G_rail-fade-in .15s var(--ds-ease-in-out) backwards}@keyframes W2Gj0G_rail-in{0%{opacity:0;transform:translate(49px)}}@keyframes W2Gj0G_rail-fade-in{0%{opacity:0}}.W2Gj0G_topStrip{box-sizing:border-box;height:52px;margin:-6px calc(-1 * var(--dsh-sidebar-inline-padding)) 0;flex:none;justify-content:flex-end;align-items:center;padding:0 12px 2px;display:flex}[data-fullscreen] .W2Gj0G_topStrip{justify-content:flex-start}.W2Gj0G_topStrip+.W2Gj0G_logoRow{margin-top:-12px}.W2Gj0G_logoRow{box-sizing:border-box;flex:none;justify-content:flex-end;align-items:center;gap:8px;height:60px;margin-bottom:4px;padding:8px 0 8px 4px;display:flex;overflow:hidden}.W2Gj0G_collapsed .W2Gj0G_logoRow{justify-content:flex-start;height:36px;margin-bottom:12px;padding:0;overflow:visible}.W2Gj0G_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}[data-platform=darwin] .W2Gj0G_brand{cursor:default}.W2Gj0G_brandIdentity{align-items:center;gap:8px;min-width:0;height:24px;display:inline-flex}.W2Gj0G_brandMark{flex:none;justify-content:center;align-items:center;display:inline-flex}.W2Gj0G_brandName{letter-spacing:.04em;align-items:center;gap:6px;min-width:0;height:24px;font-size:18px;font-weight:600;line-height:24px;display:inline-flex}.W2Gj0G_fallbackBrandName{letter-spacing:0;white-space:nowrap;font-size:17px}.W2Gj0G_localBuildBrand{white-space:nowrap;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;gap:1px;height:24px;display:inline-flex}.W2Gj0G_localBuildTitle{letter-spacing:0;font-size:12px;line-height:13px}.W2Gj0G_iconButton{border-radius:var(--dsw-radius-sm);cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-secondary);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.W2Gj0G_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.W2Gj0G_iconButton.W2Gj0G_toggle:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.W2Gj0G_collapsed .W2Gj0G_iconButton{border-radius:var(--dsw-radius-md);width:36px;height:36px}.W2Gj0G_collapsed .W2Gj0G_toggle .W2Gj0G_panelIcon{display:none}.W2Gj0G_collapsed .W2Gj0G_toggle:hover .W2Gj0G_panelIcon{display:inline}.W2Gj0G_collapsed .W2Gj0G_toggle:hover .W2Gj0G_railMark{display:none}.W2Gj0G_railMark{justify-content:center;align-items:center;display:inline-flex}.W2Gj0G_collapsed .W2Gj0G_iconButton{color:var(--dsw-alias-label-primary)}.W2Gj0G_buildVersion{height:10px;color:var(--dsw-alias-label-primary-inverted);background:var(--dsw-alias-label-primary);font-family:var(--ds-font-family-code);white-space:nowrap;border-radius:2px;flex:none;align-items:center;padding:0 3px;font-size:6px;font-weight:500;line-height:10px;display:inline-flex}.W2Gj0G_newSession{box-sizing:border-box;border-radius:var(--dsw-radius-md);height:36px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;gap:0;margin:0 0 2px;padding:6px 8px;font-family:inherit;font-size:14px;font-weight:430;line-height:21px;display:flex;position:relative;overflow:hidden;container-type:inline-size}.W2Gj0G_newSession:hover{background:var(--dsw-alias-interactive-bg-hover)}[data-platform=darwin] .W2Gj0G_newSession{background:#ffffff8c}[data-platform=darwin] .W2Gj0G_newSession:hover{background:#ffffff4d}[data-platform=darwin] [data-ds-dark-theme] .W2Gj0G_newSession{background:#ffffff26}[data-platform=darwin] [data-ds-dark-theme] .W2Gj0G_newSession:hover{background:#fff3}.W2Gj0G_collapsed .W2Gj0G_newSession{background:0 0;border-color:#0000;align-self:flex-start;gap:0;width:36px;height:36px;margin:0 0 12px;padding:0}.W2Gj0G_collapsed .W2Gj0G_newSession:hover{background:var(--dsw-alias-interactive-bg-hover)}.W2Gj0G_newSessionLabel{white-space:nowrap;max-width:200px;overflow:hidden}.W2Gj0G_collapsed .W2Gj0G_newSessionLabel{max-width:0}.W2Gj0G_newSessionLabelMask{flex:1;min-width:0}.W2Gj0G_newSession:is(:hover,:focus-visible) .W2Gj0G_newSessionLabelMask:has(+.W2Gj0G_newSessionShortcut){overflow:hidden;mask-image:linear-gradient(90deg,#000 calc(100% - 16px),#0000)}.W2Gj0G_newSessionContent{justify-content:flex-start;align-items:center;gap:8px;width:100cqw;display:flex}.W2Gj0G_newSessionContent>svg{flex:none}.W2Gj0G_collapsed .W2Gj0G_newSessionContent{justify-content:center}@media (hover:none),(pointer:coarse){.W2Gj0G_root:not(.W2Gj0G_collapsed) .W2Gj0G_newSession,.W2Gj0G_root:not(.W2Gj0G_collapsed) .W2Gj0G_panelRow{min-height:44px}}.W2Gj0G_newSessionShortcut{opacity:0;pointer-events:none;flex:none;font-weight:400;display:inline-flex}.W2Gj0G_newSession:is(:hover,:focus-visible) .W2Gj0G_newSessionShortcut{opacity:1}.W2Gj0G_panelList{flex-direction:column;flex:none;gap:4px;margin-bottom:16px;display:flex}.W2Gj0G_panelRow{box-sizing:border-box;border-radius:var(--dsw-radius-md);min-height:36px;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin:0;padding:7px 8px;line-height:22px;display:flex}.W2Gj0G_panelRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.W2Gj0G_panelRow.W2Gj0G_panelActive{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.W2Gj0G_panelRow:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.W2Gj0G_panelGlyph{flex:none;justify-content:center;align-items:center;display:inline-flex}.W2Gj0G_panelTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.W2Gj0G_collapsed .W2Gj0G_panelList{gap:12px;margin-bottom:12px}.W2Gj0G_collapsed .W2Gj0G_panelRow{width:36px;height:36px;color:var(--dsw-alias-label-primary);justify-content:center;margin:0;padding:0}.W2Gj0G_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}.W2Gj0G_collapsed .W2Gj0G_regionArea{margin-left:0;margin-right:0;padding-left:0}.W2Gj0G_footArea{flex-direction:column;flex:none;display:flex}.W2Gj0G_settingsArea,.W2Gj0G_footerActions{flex:none;width:100%;min-width:0}.W2Gj0G_footerActions{display:flex}.W2Gj0G_collapsed .W2Gj0G_footArea{align-items:center}.W2Gj0G_collapsed .W2Gj0G_settingsArea,.W2Gj0G_collapsed .W2Gj0G_footerActions{justify-content:center;width:auto;display:flex}@media (prefers-reduced-motion:reduce){.W2Gj0G_wide,.W2Gj0G_fading>*,.W2Gj0G_railIn .W2Gj0G_iconButton,.W2Gj0G_railIn .W2Gj0G_newSession,.W2Gj0G_railIn .W2Gj0G_panelList,.W2Gj0G_railIn .W2Gj0G_footArea,.W2Gj0G_railIn .W2Gj0G_regionArea{transition:none;animation:none}}`,document.head.appendChild(e)}var m={brand:`W2Gj0G_brand`,brandIdentity:`W2Gj0G_brandIdentity`,brandMark:`W2Gj0G_brandMark`,brandName:`W2Gj0G_brandName`,buildVersion:`W2Gj0G_buildVersion`,collapsed:`W2Gj0G_collapsed`,fading:`W2Gj0G_fading`,fallbackBrandName:`W2Gj0G_fallbackBrandName`,footArea:`W2Gj0G_footArea`,footerActions:`W2Gj0G_footerActions`,iconButton:`W2Gj0G_iconButton`,localBuildBrand:`W2Gj0G_localBuildBrand`,localBuildTitle:`W2Gj0G_localBuildTitle`,logoRow:`W2Gj0G_logoRow`,newSession:`W2Gj0G_newSession`,newSessionContent:`W2Gj0G_newSessionContent`,newSessionLabel:`W2Gj0G_newSessionLabel`,newSessionLabelMask:`W2Gj0G_newSessionLabelMask`,newSessionShortcut:`W2Gj0G_newSessionShortcut`,panelActive:`W2Gj0G_panelActive`,panelGlyph:`W2Gj0G_panelGlyph`,panelIcon:`W2Gj0G_panelIcon`,panelList:`W2Gj0G_panelList`,panelRow:`W2Gj0G_panelRow`,panelTitle:`W2Gj0G_panelTitle`,quietBars:`W2Gj0G_quietBars`,"rail-fade-in":`W2Gj0G_rail-fade-in`,"rail-in":`W2Gj0G_rail-in`,railIn:`W2Gj0G_railIn`,railMark:`W2Gj0G_railMark`,regionArea:`W2Gj0G_regionArea`,root:`W2Gj0G_root`,settingsArea:`W2Gj0G_settingsArea`,toggle:`W2Gj0G_toggle`,topStrip:`W2Gj0G_topStrip`,wide:`W2Gj0G_wide`,"wide-in":`W2Gj0G_wide-in`};function h(){let e={}.DSH_CLIENT_VERSION;if(e===void 0)return;let t={}.DSH_CLIENT_COMMIT_HASH;return e+(t===void 0?``:`-${t}`)+({}.DSH_CLIENT_GIT_DIRTY===`true`?`-dirty`:``)}function g({id:e,label:t,wide:n,usePanelInfo:r,selectPanel:i,renderSlot:s}){let c=r(t=>t.activePanelId===e);return/* @__PURE__ */ (0,o.jsx)(a.Tooltip,{label:t,delayMs:500,disabled:n,children:/* @__PURE__ */ (0,o.jsxs)(`button`,{type:`button`,className:f(m.panelRow,c&&m.panelActive),"aria-label":t,"aria-current":c?`page`:void 0,onClick:()=>{i(e)},children:[/* @__PURE__ */ (0,o.jsx)(`span`,{className:m.panelGlyph,"aria-hidden":`true`,children:s(`sidebar.panellist`,{size:n?16:18,active:c},{only:e})}),n&&/* @__PURE__ */ (0,o.jsx)(`span`,{className:f(m.panelTitle,m.wide),children:t})]})})}function _({collapsed:e,width:t,startSession:n,toggleSidebar:r,selectPanel:i,usePanels:c,useShortcuts:l,usePanelInfo:u,t:d,renderSlot:p}){let _=c(e=>e),v=l(e=>e.find(e=>e.id===`sidebar.left.toggle`)),y=l(e=>e.find(e=>e.id===`session.new`)),b=d(e?`toggle.open`:`toggle.collapse`),[x,S]=(0,s.useState)(e);(0,s.useEffect)(()=>{if(!e){S(!1);return}let t=window.setTimeout(()=>{S(!0)},150);return()=>{window.clearTimeout(t)}},[e]);let C=document.documentElement.hasAttribute(`data-windows-titlebar`),w=C?!e:!e||!x,T=C?`bottom`:`right`,E=(0,s.useRef)(t);e||(E.current=t);let D=(0,s.useRef)(!e);e||(D.current=!0);let O=(0,s.useRef)(null),[k,A]=(0,s.useState)(!1),j=(0,s.useRef)(void 0),M=()=>{j.current===void 0&&(j.current=window.setTimeout(()=>{j.current=void 0,A(!1)},2e3))},N=()=>{window.clearTimeout(j.current),j.current=void 0};(0,s.useEffect)(()=>{if(!k)return;let e=e=>{let t=O.current?.getBoundingClientRect();
1
+ window.__ModuleLoader__.load({id:`@deepseek-ai/dsh-client-ui-sidebar`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});let r=e("@deepseek-ai/dsh-client-store"),i=e("@deepseek-ai/dsh-client-ui-slots"),a=e("@deepseek-ai/dsh-client-ui-primitives"),o=e("react/jsx-runtime"),s=e("react"),c=`@deepseek-ai/dsh-client-ui-sidebar/HeaderLeadingControls.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(c)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@deepseek-ai/dsh-client-ui-sidebar`,e.dataset.pluginCss=c,e.textContent=`.fqofDG_controls{align-items:center;gap:8px;display:flex}.fqofDG_iconButton{border-radius:var(--dsw-radius-sm);width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.fqofDG_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover)}`,document.head.appendChild(e)}var l={controls:`fqofDG_controls`,iconButton:`fqofDG_iconButton`};function u({toggleSidebar:e,startSession:t,useShortcuts:n,t:r}){let i=n(e=>e.find(e=>e.id===`sidebar.left.toggle`)),s=n(e=>e.find(e=>e.id===`session.new`));return/* @__PURE__ */ (0,o.jsxs)(`div`,{className:l.controls,children:[/* @__PURE__ */ (0,o.jsx)(a.Tooltip,{label:r(`toggle.open`),shortcutKeys:i?.keys,delayMs:500,children:/* @__PURE__ */ (0,o.jsx)(`button`,{type:`button`,className:l.iconButton,"aria-label":r(`toggle.open`),"aria-keyshortcuts":i?.aria,onClick:()=>{e()},children:/* @__PURE__ */ (0,o.jsx)(a.IconPanelLeftOutlineRegular,{size:16})})}),/* @__PURE__ */ (0,o.jsx)(a.Tooltip,{label:r(`session.new.label`),shortcutKeys:s?.keys,delayMs:500,children:/* @__PURE__ */ (0,o.jsx)(`button`,{type:`button`,className:l.iconButton,"aria-label":r(`session.new.label`),"aria-keyshortcuts":s?.aria,onClick:()=>{t()},children:/* @__PURE__ */ (0,o.jsx)(a.IconNewChatOutlineRegular,{size:16})})})]})}function d(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=d(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function f(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=d(e))&&(r&&(r+=` `),r+=t);return r}let p=`@deepseek-ai/dsh-client-ui-sidebar/SidebarRoot.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(p)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@deepseek-ai/dsh-client-ui-sidebar`,e.dataset.pluginCss=p,e.textContent=`.W2Gj0G_root{--ch-sidebar-text-primary:#1a1c1f;--ch-sidebar-text-muted:#1a1c1f7e;--dsw-font-family:-apple-system, "system-ui", "Segoe UI", sans-serif;--dsw-alias-label-primary:color-mix(in oklab, var(--ch-sidebar-text-primary) 85%, transparent);--dsw-alias-label-secondary:color-mix(in srgb, var(--ch-sidebar-text-primary) 65%, transparent);--dsw-alias-label-tertiary:var(--ch-sidebar-text-muted);--dsw-alias-label-caption:var(--ch-sidebar-text-muted);--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);font-family:var(--dsw-font-family);font-synthesis-weight:none;--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;font-weight:430;line-height:20px;display:flex}body[data-ds-dark-theme] .W2Gj0G_root{--ch-sidebar-text-primary:#fff;--ch-sidebar-text-muted:#ffffff7f}[data-platform=darwin] .W2Gj0G_root{background:0 0}[data-phone-drawer] .W2Gj0G_root{background:0 0;max-width:100%}.W2Gj0G_root.W2Gj0G_collapsed{padding:18px 10px 6px}[data-windows-titlebar] .W2Gj0G_root .W2Gj0G_logoRow{height:40px;margin:0;padding:0}[data-windows-titlebar] .W2Gj0G_toggle{top:calc((var(--dsh-windows-titlebar-height) - 28px) / 2);z-index:30;-webkit-app-region:no-drag;position:fixed;left:12px}[data-windows-titlebar] .W2Gj0G_root.W2Gj0G_collapsed .W2Gj0G_logoRow{height:0}[data-windows-titlebar] .W2Gj0G_root:not(.W2Gj0G_collapsed) .W2Gj0G_brand{padding-left:4px}[data-windows-titlebar] .W2Gj0G_brandIdentity{transform:translateY(1px)}[data-windows-titlebar] .W2Gj0G_brandMark{transform:translate(1px)}[data-windows-titlebar] .W2Gj0G_brandName{font-weight:400}[data-windows-titlebar] .W2Gj0G_root.W2Gj0G_collapsed{padding:0}[data-windows-titlebar] .W2Gj0G_root:not(.W2Gj0G_collapsed) .W2Gj0G_newSession{margin-top:8px;margin-left:0}[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_panelList,[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_regionArea,[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_footArea{display:none}html[data-windows-titlebar]:has([data-sidebar-collapsed=true]){--dsh-windows-menu-start:84px}[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_newSession{top:calc((var(--dsh-windows-titlebar-height) - 28px) / 2);z-index:30;-webkit-app-region:no-drag;border:none;margin:0;padding:0;position:fixed;left:48px}[data-windows-titlebar] .W2Gj0G_railIn .W2Gj0G_iconButton,[data-windows-titlebar] .W2Gj0G_railIn .W2Gj0G_newSession{animation:none}[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_toggle,[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_newSession{corner-shape:round;width:28px;height:28px;color:var(--dsw-alias-label-secondary);border-radius:50%}[data-windows-titlebar] .W2Gj0G_collapsed .W2Gj0G_toggle .W2Gj0G_panelIcon{display:inline}.W2Gj0G_root.W2Gj0G_quietBars{--dsh-scrollbar-thumb:transparent;--dsh-scrollbar-thumb-hover:transparent}.W2Gj0G_fading>*{opacity:0;transition:opacity .15s var(--ds-ease-in-out)}.W2Gj0G_wide{animation:W2Gj0G_wide-in .2s var(--ds-ease-in-out)}@keyframes W2Gj0G_wide-in{0%{opacity:0}}.W2Gj0G_railIn .W2Gj0G_iconButton,.W2Gj0G_railIn .W2Gj0G_newSession,.W2Gj0G_railIn .W2Gj0G_panelList,.W2Gj0G_railIn .W2Gj0G_regionArea{animation:W2Gj0G_rail-in .15s var(--ds-ease-in-out) backwards}.W2Gj0G_railIn .W2Gj0G_footArea{animation:W2Gj0G_rail-fade-in .15s var(--ds-ease-in-out) backwards}@keyframes W2Gj0G_rail-in{0%{opacity:0;transform:translate(49px)}}@keyframes W2Gj0G_rail-fade-in{0%{opacity:0}}.W2Gj0G_topStrip{box-sizing:border-box;height:52px;margin:-6px calc(-1 * var(--dsh-sidebar-inline-padding)) 0;flex:none;justify-content:flex-end;align-items:center;padding:0 12px 2px;display:flex}[data-fullscreen] .W2Gj0G_topStrip{justify-content:flex-start}.W2Gj0G_topStrip+.W2Gj0G_logoRow{margin-top:-12px}.W2Gj0G_logoRow{box-sizing:border-box;flex:none;justify-content:flex-end;align-items:center;gap:8px;height:60px;margin-bottom:4px;padding:8px 0 8px 4px;display:flex;overflow:hidden}.W2Gj0G_collapsed .W2Gj0G_logoRow{justify-content:flex-start;height:36px;margin-bottom:12px;padding:0;overflow:visible}.W2Gj0G_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}[data-platform=darwin] .W2Gj0G_brand{cursor:default}.W2Gj0G_brandIdentity{align-items:center;gap:8px;min-width:0;height:24px;display:inline-flex}.W2Gj0G_brandMark{flex:none;justify-content:center;align-items:center;display:inline-flex}.W2Gj0G_brandName{letter-spacing:.04em;align-items:center;gap:6px;min-width:0;height:24px;font-size:18px;font-weight:600;line-height:24px;display:inline-flex}.W2Gj0G_fallbackBrandName{letter-spacing:0;white-space:nowrap;font-size:17px}.W2Gj0G_localBuildBrand{white-space:nowrap;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;gap:1px;height:24px;display:inline-flex}.W2Gj0G_localBuildTitle{letter-spacing:0;font-size:12px;line-height:13px}.W2Gj0G_iconButton{border-radius:var(--dsw-radius-sm);cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-secondary);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.W2Gj0G_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.W2Gj0G_iconButton.W2Gj0G_toggle:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.W2Gj0G_collapsed .W2Gj0G_iconButton{border-radius:var(--dsw-radius-md);width:36px;height:36px}.W2Gj0G_collapsed .W2Gj0G_toggle .W2Gj0G_panelIcon{display:none}.W2Gj0G_collapsed .W2Gj0G_toggle:hover .W2Gj0G_panelIcon{display:inline}.W2Gj0G_collapsed .W2Gj0G_toggle:hover .W2Gj0G_railMark{display:none}.W2Gj0G_railMark{justify-content:center;align-items:center;display:inline-flex}.W2Gj0G_collapsed .W2Gj0G_iconButton{color:var(--dsw-alias-label-primary)}.W2Gj0G_buildVersion{height:10px;color:var(--dsw-alias-label-primary-inverted);background:var(--dsw-alias-label-primary);font-family:var(--ds-font-family-code);white-space:nowrap;border-radius:2px;flex:none;align-items:center;padding:0 3px;font-size:6px;font-weight:500;line-height:10px;display:inline-flex}.W2Gj0G_newSession{box-sizing:border-box;border-radius:var(--dsw-radius-md);height:36px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;gap:0;margin:0 0 2px;padding:6px 8px;font-family:inherit;font-size:14px;font-weight:430;line-height:21px;display:flex;position:relative;overflow:hidden;container-type:inline-size}.W2Gj0G_newSession:hover{background:var(--dsw-alias-interactive-bg-hover)}[data-platform=darwin] .W2Gj0G_newSession{background:#ffffff8c}[data-platform=darwin] .W2Gj0G_newSession:hover{background:#ffffff4d}[data-platform=darwin] [data-ds-dark-theme] .W2Gj0G_newSession{background:#ffffff26}[data-platform=darwin] [data-ds-dark-theme] .W2Gj0G_newSession:hover{background:#fff3}.W2Gj0G_collapsed .W2Gj0G_newSession{background:0 0;border-color:#0000;align-self:flex-start;gap:0;width:36px;height:36px;margin:0 0 12px;padding:0}.W2Gj0G_collapsed .W2Gj0G_newSession:hover{background:var(--dsw-alias-interactive-bg-hover)}.W2Gj0G_newSessionLabel{white-space:nowrap;max-width:200px;overflow:hidden}.W2Gj0G_collapsed .W2Gj0G_newSessionLabel{max-width:0}.W2Gj0G_newSessionLabelMask{flex:1;min-width:0}.W2Gj0G_newSession:is(:hover,:focus-visible) .W2Gj0G_newSessionLabelMask:has(+.W2Gj0G_newSessionShortcut){overflow:hidden;mask-image:linear-gradient(90deg,#000 calc(100% - 16px),#0000)}.W2Gj0G_newSessionContent{justify-content:flex-start;align-items:center;gap:8px;width:100cqw;display:flex}.W2Gj0G_newSessionContent>svg{flex:none}.W2Gj0G_collapsed .W2Gj0G_newSessionContent{justify-content:center}@media (hover:none),(pointer:coarse){.W2Gj0G_root:not(.W2Gj0G_collapsed) .W2Gj0G_newSession,.W2Gj0G_root:not(.W2Gj0G_collapsed) .W2Gj0G_panelRow{min-height:44px}}.W2Gj0G_newSessionShortcut{opacity:0;pointer-events:none;flex:none;font-weight:400;display:inline-flex}.W2Gj0G_newSession:is(:hover,:focus-visible) .W2Gj0G_newSessionShortcut{opacity:1}.W2Gj0G_panelList{flex-direction:column;flex:none;gap:4px;margin-bottom:16px;display:flex}.W2Gj0G_panelRow{box-sizing:border-box;border-radius:var(--dsw-radius-md);min-height:36px;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin:0;padding:7px 8px;line-height:22px;display:flex}.W2Gj0G_panelRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.W2Gj0G_panelRow.W2Gj0G_panelActive{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.W2Gj0G_panelRow:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.W2Gj0G_panelGlyph{flex:none;justify-content:center;align-items:center;display:inline-flex}.W2Gj0G_panelTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.W2Gj0G_collapsed .W2Gj0G_panelList{gap:12px;margin-bottom:12px}.W2Gj0G_collapsed .W2Gj0G_panelRow{width:36px;height:36px;color:var(--dsw-alias-label-primary);justify-content:center;margin:0;padding:0}.W2Gj0G_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}.W2Gj0G_collapsed .W2Gj0G_regionArea{margin-left:0;margin-right:0;padding-left:0}.W2Gj0G_footArea{flex-direction:column;flex:none;display:flex}.W2Gj0G_settingsArea,.W2Gj0G_footerActions{flex:none;width:100%;min-width:0}.W2Gj0G_footerActions{display:flex}.W2Gj0G_collapsed .W2Gj0G_footArea{align-items:center}.W2Gj0G_collapsed .W2Gj0G_settingsArea,.W2Gj0G_collapsed .W2Gj0G_footerActions{justify-content:center;width:auto;display:flex}@media (prefers-reduced-motion:reduce){.W2Gj0G_wide,.W2Gj0G_fading>*,.W2Gj0G_railIn .W2Gj0G_iconButton,.W2Gj0G_railIn .W2Gj0G_newSession,.W2Gj0G_railIn .W2Gj0G_panelList,.W2Gj0G_railIn .W2Gj0G_footArea,.W2Gj0G_railIn .W2Gj0G_regionArea{transition:none;animation:none}}`,document.head.appendChild(e)}var m={brand:`W2Gj0G_brand`,brandIdentity:`W2Gj0G_brandIdentity`,brandMark:`W2Gj0G_brandMark`,brandName:`W2Gj0G_brandName`,buildVersion:`W2Gj0G_buildVersion`,collapsed:`W2Gj0G_collapsed`,fading:`W2Gj0G_fading`,fallbackBrandName:`W2Gj0G_fallbackBrandName`,footArea:`W2Gj0G_footArea`,footerActions:`W2Gj0G_footerActions`,iconButton:`W2Gj0G_iconButton`,localBuildBrand:`W2Gj0G_localBuildBrand`,localBuildTitle:`W2Gj0G_localBuildTitle`,logoRow:`W2Gj0G_logoRow`,newSession:`W2Gj0G_newSession`,newSessionContent:`W2Gj0G_newSessionContent`,newSessionLabel:`W2Gj0G_newSessionLabel`,newSessionLabelMask:`W2Gj0G_newSessionLabelMask`,newSessionShortcut:`W2Gj0G_newSessionShortcut`,panelActive:`W2Gj0G_panelActive`,panelGlyph:`W2Gj0G_panelGlyph`,panelIcon:`W2Gj0G_panelIcon`,panelList:`W2Gj0G_panelList`,panelRow:`W2Gj0G_panelRow`,panelTitle:`W2Gj0G_panelTitle`,quietBars:`W2Gj0G_quietBars`,"rail-fade-in":`W2Gj0G_rail-fade-in`,"rail-in":`W2Gj0G_rail-in`,railIn:`W2Gj0G_railIn`,railMark:`W2Gj0G_railMark`,regionArea:`W2Gj0G_regionArea`,root:`W2Gj0G_root`,settingsArea:`W2Gj0G_settingsArea`,toggle:`W2Gj0G_toggle`,topStrip:`W2Gj0G_topStrip`,wide:`W2Gj0G_wide`,"wide-in":`W2Gj0G_wide-in`};function h(){let e={}.DSH_CLIENT_VERSION;if(e===void 0)return;let t={}.DSH_CLIENT_COMMIT_HASH;return e+(t===void 0?``:`-${t}`)+({}.DSH_CLIENT_GIT_DIRTY===`true`?`-dirty`:``)}function g({id:e,label:t,wide:n,usePanelInfo:r,selectPanel:i,renderSlot:s}){let c=r(t=>t.activePanelId===e);return/* @__PURE__ */ (0,o.jsx)(a.Tooltip,{label:t,delayMs:500,disabled:n,children:/* @__PURE__ */ (0,o.jsxs)(`button`,{type:`button`,className:f(m.panelRow,c&&m.panelActive),"aria-label":t,"aria-current":c?`page`:void 0,onClick:()=>{i(e)},children:[/* @__PURE__ */ (0,o.jsx)(`span`,{className:m.panelGlyph,"aria-hidden":`true`,children:s(`sidebar.panellist`,{size:n?16:18,active:c},{only:e})}),n&&/* @__PURE__ */ (0,o.jsx)(`span`,{className:f(m.panelTitle,m.wide),children:t})]})})}function _({collapsed:e,width:t,startSession:n,toggleSidebar:r,selectPanel:i,usePanels:c,useShortcuts:l,usePanelInfo:u,t:d,renderSlot:p}){let _=c(e=>e),v=l(e=>e.find(e=>e.id===`sidebar.left.toggle`)),y=l(e=>e.find(e=>e.id===`session.new`)),b=d(e?`toggle.open`:`toggle.collapse`),[x,S]=(0,s.useState)(e);(0,s.useEffect)(()=>{if(!e){S(!1);return}let t=window.setTimeout(()=>{S(!0)},150);return()=>{window.clearTimeout(t)}},[e]);let C=document.documentElement.hasAttribute(`data-windows-titlebar`),w=C?!e:!e||!x,T=C?`bottom`:`right`,E=(0,s.useRef)(t);e||(E.current=t);let D=(0,s.useRef)(!e);e||(D.current=!0);let O=(0,s.useRef)(null),[k,A]=(0,s.useState)(!1),j=(0,s.useRef)(void 0),M=()=>{j.current===void 0&&(j.current=window.setTimeout(()=>{j.current=void 0,A(!1)},2e3))},N=()=>{window.clearTimeout(j.current),j.current=void 0};(0,s.useEffect)(()=>{if(!k)return;let e=e=>{let t=O.current?.getBoundingClientRect();
2
2
  /* v8 ignore next -- the listener only exists while the column is mounted and revealed. */
3
3
  t!==void 0&&(e.clientX>=t.left&&e.clientX<t.right&&e.clientY>=t.top&&e.clientY<t.bottom?N():M())};return document.addEventListener(`pointermove`,e),()=>{document.removeEventListener(`pointermove`,e),N()}},[k]);let P=h(),F=(0,a.isDarwinDesktop)(),I=/* @__PURE__ */ (0,o.jsx)(a.Tooltip,{label:b,shortcutKeys:v?.keys,delayMs:500,side:T,children:/* @__PURE__ */ (0,o.jsxs)(`button`,{type:`button`,className:f(m.iconButton,m.toggle),"aria-label":b,"aria-keyshortcuts":v?.aria,onClick:()=>{r()},children:[!w&&!C&&/* @__PURE__ */ (0,o.jsx)(`span`,{className:m.railMark,"aria-hidden":`true`,children:p(`sidebar.brand.mark`,{size:24},{fallback:/* @__PURE__ */ (0,o.jsx)(a.FishLogo,{size:24})})}),/* @__PURE__ */ (0,o.jsx)(a.IconPanelLeftOutlineRegular,{className:m.panelIcon,size:w||C?16:18}),!w&&p(`sidebar.toggle.badge`,{})]})});return/* @__PURE__ */ (0,o.jsxs)(`div`,{ref:O,className:f(m.root,!w&&m.collapsed,!w&&D.current&&m.railIn,e&&w&&m.fading,!k&&m.quietBars),style:w?{width:e?E.current:t}:void 0,onPointerEnter:()=>{N(),A(!0)},onPointerLeave:()=>{M()},children:[F&&/* @__PURE__ */ (0,o.jsx)(`div`,{className:m.topStrip,"data-window-drag":!0,children:I}),/* @__PURE__ */ (0,o.jsxs)(`div`,{className:m.logoRow,"data-window-drag":!0,children:[w&&(()=>{let e=/* @__PURE__ */ (0,o.jsxs)(`span`,{className:m.brandIdentity,"aria-hidden":`true`,children:[/* @__PURE__ */ (0,o.jsx)(`span`,{className:m.brandMark,children:p(`sidebar.brand.mark`,{size:24},{fallback:/* @__PURE__ */ (0,o.jsx)(a.FishLogo,{size:24})})}),/* @__PURE__ */ (0,o.jsx)(`span`,{className:m.brandName,children:p(`sidebar.brand.name`,{},{fallback:P===void 0?/* @__PURE__ */ (0,o.jsx)(`span`,{className:m.fallbackBrandName,children:d(`brand.localBuild`)}):/* @__PURE__ */ (0,o.jsxs)(`span`,{className:m.localBuildBrand,children:[/* @__PURE__ */ (0,o.jsx)(`span`,{className:m.localBuildTitle,children:d(`brand.localBuild`)}),/* @__PURE__ */ (0,o.jsx)(`span`,{className:m.buildVersion,children:P})]})})})]});return F?/* @__PURE__ */ (0,o.jsx)(`span`,{className:f(m.brand,m.wide),children:e}):/* @__PURE__ */ (0,o.jsx)(`button`,{type:`button`,className:f(m.brand,m.wide),"aria-label":d(`session.new.label`),"aria-keyshortcuts":y?.aria,onClick:()=>{n()},children:e})})(),!F&&I]}),/* @__PURE__ */ (0,o.jsx)(a.Tooltip,{label:d(`session.new.label`),shortcutKeys:y?.keys,delayMs:500,side:T,disabled:w,children:/* @__PURE__ */ (0,o.jsxs)(`button`,{type:`button`,className:m.newSession,"aria-label":d(`session.new.label`),"aria-keyshortcuts":y?.aria,onClick:()=>{n()},children:[/* @__PURE__ */ (0,o.jsx)(`span`,{className:m.newSessionLabelMask,children:/* @__PURE__ */ (0,o.jsxs)(`span`,{className:m.newSessionContent,children:[w?/* @__PURE__ */ (0,o.jsx)(a.IconNewChatOutlineMedium,{size:18}):/* @__PURE__ */ (0,o.jsx)(a.IconNewChatOutlineRegular,{size:C?16:18}),w&&/* @__PURE__ */ (0,o.jsx)(`span`,{className:f(m.newSessionLabel,m.wide),children:d(`session.new`)})]})}),w&&y!==void 0&&y.keys.length>0&&/* @__PURE__ */ (0,o.jsx)(`span`,{className:m.newSessionShortcut,"aria-hidden":`true`,children:/* @__PURE__ */ (0,o.jsx)(a.ShortcutKeys,{keys:y.keys})})]})}),_.length>0&&/* @__PURE__ */ (0,o.jsx)(`nav`,{className:m.panelList,"aria-label":d(`panels.label`),children:_.map(({id:e,label:t})=>/* @__PURE__ */ (0,o.jsx)(g,{id:e,label:t,wide:w,usePanelInfo:u,selectPanel:i,renderSlot:p},e))}),/* @__PURE__ */ (0,o.jsx)(`div`,{className:m.regionArea,children:p(`sidebar.workspaces`,{wide:w,expandSidebar:()=>{e&&r()}})}),/* @__PURE__ */ (0,o.jsxs)(`div`,{className:m.footArea,children:[/* @__PURE__ */ (0,o.jsx)(`div`,{className:m.footerActions,children:p(`sidebar.footer.action`,{wide:w})}),/* @__PURE__ */ (0,o.jsx)(`div`,{className:m.settingsArea,children:p(`sidebar.settings`,{wide:w})})]})]})}let v={"session.new":`新会话`,"session.new.label":`新建会话`,"toggle.open":`打开侧边栏`,"toggle.collapse":`收起侧边栏`,"panels.label":`全局面板`},y={"session.new":`New Session`,"session.new.label":`New session`,"toggle.open":`Open sidebar`,"toggle.collapse":`Collapse sidebar`,"panels.label":`Global panels`},b=`sidebar`,x=[`slots`,`layout`,`uiWorkspace`,`locale`,`shortcuts`];function S(e){let t=e.get(`uiWorkspace`);e.effect(()=>e.locale.register(b,{zh:v,en:y}),`ui-sidebar: dictionaries`);let n=(0,r.createSnapshotStore)([]),a=()=>{let t=e.slots.entriesOfSlot(`sidebar.panellist`).map(({options:e})=>{let t=e.id;return{id:t,order:e.order??0,label:(0,i.resolveSlotLabel)(e.label)??t}}).sort((e,t)=>e.order-t.order),r=n.getSnapshot();r.length===t.length&&r.every((e,n)=>{let r=t[n];return e.id===r.id&&e.order===r.order&&e.label===r.label})||n.set(t)};e.effect(()=>e.slots.subscribe(`sidebar.panellist`,a),`ui-sidebar: panel entries`),e.effect(()=>e.locale.subscribe(a),`ui-sidebar: panel labels`);let o=()=>({startSession:e=>{t.startSession(e)},toggleSidebar:()=>{e.layout.toggleSidebar()},selectPanel:t=>{(t===`plugins`||t===`schedules`)&&e.get(`productAnalytics`)?.track(`sidebar_menu_click`,{menu_name:t===`plugins`?`plugin`:`cron`}),e.layout.selectPanel(t)},hooks:{panels:n,shortcuts:e.shortcuts.catalog}});e.slots.inject(`sidebar`,()=>e.slots.register({name:`sidebar`,locale:b,children:{"sidebar.brand.mark":{kind:`single`,scope:`root`},"sidebar.brand.name":{kind:`single`,scope:`root`},"sidebar.toggle.badge":{kind:`single`,scope:`root`},"sidebar.panellist":{kind:`list`,scope:`root`},"sidebar.workspaces":{kind:`single`,scope:`root`},"sidebar.settings":{kind:`single`,scope:`root`},"sidebar.footer.action":{kind:`list`,scope:`root`}},inject:o},_)),e.slots.inject(`shell.leading`,()=>e.slots.register({name:`shell.leading`,locale:b,inject:o},u)),a()}return n.apply=S,n.inject=x,t.exports}});