@qqbrowser/qbot-dsh 0.1.2 → 0.1.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.
- package/lib/bin.js +1 -1
- package/lib/client.js +1 -1
- package/lib/{dump-config-CIL0Goqj.js → dump-config-B-8ZRxke.js} +1 -1
- package/lib/{plugin-viWCLnSr.js → plugin-zyZ50bsR.js} +1 -1
- package/lib/profile-boot-BBRd7YBK.js +1 -0
- package/lib/profile-boot-C5WShQrD.js +8 -0
- package/node_modules/@deepseek-ai/cordis/package.json +1 -1
- package/node_modules/@deepseek-ai/cordis-plugin-hmr/package.json +1 -1
- package/node_modules/@deepseek-ai/cordis-plugin-include/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-default-model/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-instructions/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-loop/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-presets/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-tool-presentation/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-anonymous-user-id/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-api-gateway/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-api-remotes/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-app-boot/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-attachment/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-attachment-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-base/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-bash-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-bash-sandbox/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-connection/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-hmr/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-locale/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-locale/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-runtime/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-attachment/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-commands/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-commands/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-conversation/lib/client.js +6 -6
- package/node_modules/@deepseek-ai/dsh-client-ui-conversation/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-cordis/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-cordis/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-native/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-goal/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-goal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-jobs/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-jobs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-layout/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-layout/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-plan/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-plan/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-skill/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-skill/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-subagent/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-subagent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-theme/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-theme/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-tool/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-tool/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/lib/client.js +3 -3
- package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-workspace/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-web/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-cmdline/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-code-runtime-worker-thread/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-command-compact/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-command-goal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-commands/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-compaction/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-compaction-basic/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-compaction-tool-result-pruner/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-cordis-client-runner/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-cordis-host-runner/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-credentials/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-credentials-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-fs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-fs-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-fs-observation-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-fs-sandbox/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-goal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-goal-round-driver/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-headless/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-apiproxy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-directory-picker-auto/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-directory-picker-browse/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-directory-picker-native/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-frontend-static/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-jobs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-jobs-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm-deepseek/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm-pi-ai/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm-retry/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-mcp-client/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-message-feedback/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-permission-presets/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-plan-mode/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-pwsh-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-pwsh-sandbox/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-repeat-tool-reminder/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-sandbox/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-sandbox-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-sandbox-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-schedule/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-checkpoint-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-log-export/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-persistence/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-projection/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-projection-cache/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-query/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-query-sqlite/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-reference/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-stats/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-telemetry/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-telemetry-otel/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-title/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-title-first-prompt-llm/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-title-llm/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-settings/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-settings-file/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-shell/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-shell-env/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-skill/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-skill-badge/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-skill-filesystem/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-spill-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-spill-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subagent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subagent-fork-in-process/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subagent-in-process-driver/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subagent-spawn-in-process/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subprocess/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subprocess-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-system-prompt/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-terminal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-terminal-bash/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-time-context/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tmux-context/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-token-meter/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-ask-user/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-bash/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-call-timeout-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-cordis/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-fs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-fs-search/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-goal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-jobs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-pwsh/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-ralph/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-skill/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-str-replace-editor/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-subagent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-subagent-control/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-subagent-report/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-todo/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-web/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-workflow/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tools/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-typert-loader/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-typert-protocol/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-user-approval/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-web/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-web-app/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-web-search-deepseek/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-workflow/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-workflow-worker-thread/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-workspace/package.json +1 -1
- package/package.json +1 -1
- package/lib/profile-boot-CxJUSdnu.js +0 -1
- package/lib/profile-boot-DCgBQ4qO.js +0 -8
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
var yl=Object.defineProperty;var r=(Ce,dt)=>yl(Ce,"name",{value:dt,configurable:!0});window.__ModuleLoader__.load({id:"@deepseek-ai/dsh-client-ui-conversation",factory:r(Ce=>{var dt={exports:{}},ut=dt.exports;Object.defineProperty(ut,Symbol.toStringTag,{value:"Module"});let Zs=Ce("@deepseek-ai/dsh-client-ui-slots"),B=Ce("@deepseek-ai/dsh-client-runtime/client"),er=Ce("@deepseek-ai/cordis"),i=Ce("react/jsx-runtime"),h=Ce("react"),_=Ce("@deepseek-ai/dsh-client-ui-primitives"),Ze=Ce("@deepseek-ai/dsh-client-ui-attachment");function tr(){return(0,B.defineStore)({init:r(()=>({selection:null,draft:"",view:null,inspect:null}),"init"),persist:"dsh.conversation.chat",actions:{select:r((e,t)=>{e.selection=t},"select"),setDraft:r((e,t)=>{e.draft=t},"setDraft"),setView:r((e,t)=>{e.view=t},"setView"),setInspect:r((e,t)=>{e.inspect=t},"setInspect")}})}r(tr,"createChatStore");function nr(e){return{kind:"image",id:crypto.randomUUID(),previewUrl:URL.createObjectURL(e),file:e}}r(nr,"browserDraftAttachment");var nn=class extends Error{static{r(this,"UnsupportedImageMediaTypeError")}mediaType;constructor(e){super(`unsupported image media type: ${e||"(empty)"}`),this.name="UnsupportedImageMediaTypeError",this.mediaType=e}},sn=class extends er.Service{static{r(this,"ConversationController")}input;blocks;draftAttachments=new Map;imageUrls=new Map;imageGenerations=new Map;createdImageUrls=new Set;disposed=!1;constructor(e,t){super(e,"conversation"),this.input=t.input,this.blocks=t.blocks,e.effect(()=>()=>{this.disposed=!0;for(const n of this.createdImageUrls)At(n);this.createdImageUrls.clear(),this.draftAttachments.clear(),this.imageUrls.clear(),this.imageGenerations.clear()},"conversation attachment URL cache")}async send(e){const t=await this.scopedSession("send").prompt([{type:"text",text:e}],"queue");if(!t.ok)throw new Error(`conversation.send failed: ${t.error.code}: ${t.error.message}`)}async sendSession(e,t,n,s){const o=this.draftImages(n);if(o.length!==n.length)throw new Error("conversation.sendSession: one or more draft images are no longer available");const a=[...await this.serializeImages(o.map(c=>c.file)),...t===""?[]:[{type:"text",text:t}]],l=await e.prompt(a,s);if(!l.ok)throw new Error(`conversation.send failed: ${l.error.code}: ${l.error.message}`);this.releaseDraftImages(o)}createDraftImages(e){for(const t of e)rn(t.type);return e.map(t=>{const n=nr(t);return this.draftAttachments.set(n.id,n),this.createdImageUrls.add(n.previewUrl),n})}draftImages(e){const t=[];for(const n of e){const s=this.draftAttachments.get(n);s!==void 0&&t.push(s)}return t}releaseDraftImage(e){const t=this.draftAttachments.get(e);t!==void 0&&(this.draftAttachments.delete(e),this.createdImageUrls.delete(t.previewUrl),At(t.previewUrl))}releaseDraftImages(e){for(const t of e)this.releaseDraftImage(t.id)}resolveImage(e,t){if(this.disposed)return Promise.reject(new Error("conversation.resolveImage: service is disposed"));const n=`${e}:${t.attachmentId}`,s=this.imageUrls.get(n);if(s!==void 0)return s.pending;const o=this.imageGenerations.get(e)??0,a=this.requireSessions().binding(e)?.session;if(a===void 0)return Promise.reject(new Error(`conversation.resolveImage: unknown session "${e}"`));const l=a.readAttachment(t.attachmentId).then(c=>{if(!c.ok)throw new Error(`${c.error.code}: ${c.error.message}`);if(this.disposed)throw new Error("conversation.resolveImage: service was disposed before loading completed");if((this.imageGenerations.get(e)??0)!==o)throw new Error("historical image scope was released before loading completed");if(typeof URL.createObjectURL!="function")return`data:${c.value.attachment.mediaType};base64,${on(c.value.data)}`;const d=Uint8Array.from(c.value.data),u=URL.createObjectURL(new Blob([d.buffer],{type:c.value.attachment.mediaType}));return this.createdImageUrls.add(u),u}).catch(c=>{throw this.imageUrls.get(n)?.generation===o&&this.imageUrls.delete(n),c});return this.imageUrls.set(n,{sessionId:e,generation:o,pending:l}),l}releaseSessionImages(e){this.imageGenerations.set(e,(this.imageGenerations.get(e)??0)+1);for(const[t,n]of this.imageUrls)n.sessionId===e&&(this.imageUrls.delete(t),n.pending.then(s=>{this.createdImageUrls.delete(s)&&At(s)},()=>{}))}async updateQueue(e,t){const n=await this.scopedSession("updateQueue").updateQueue(e,t);if(!n.ok){if(t.kind==="steer"&&(n.error.code==="steer-unavailable"||n.error.code==="queue-item-not-found"))return;throw new Error(`conversation.updateQueue failed: ${n.error.code}: ${n.error.message}`)}}async cancel(){const e=await this.scopedSession("cancel").cancel();if(!e.ok)throw new Error(`conversation.cancel failed: ${e.error.code}: ${e.error.message}`)}async loadOlder(){await this.scopedSession("loadOlder").loadOlder()}scopedSession(e){const t=this.scopeId(e),n=this.requireSessions().binding(t);if(n===void 0)throw new Error(`conversation.${e}: session "${t}" resolved no binding`);return n.session}scopeId(e){const t=this.requireSessions().scopeOf(this.ctx);if(t===void 0)throw new Error(`conversation.${e} requires a session scope — address one via ctx.sessions.scope(id).conversation`);return t}requireSessions(){const e=this.ctx.get("sessions");if(e===void 0)throw new Error("conversation: sessions service unavailable");return e}serializeImages(e){return Promise.all(e.map(async t=>({type:"image",mediaType:rn(t.type),data:on(new Uint8Array(await t.arrayBuffer())),...t.name===""?{}:{name:t.name}})))}};function rn(e){switch(e){case"image/png":case"image/jpeg":case"image/webp":case"image/gif":return e;default:throw new nn(e)}}r(rn,"imageMediaType");function on(e){let t="";for(let s=0;s<e.length;s+=32768)t+=String.fromCharCode(...e.subarray(s,s+32768));return btoa(t)}r(on,"bytesToBase64");function At(e){e.startsWith("blob:")&&URL.revokeObjectURL(e)}r(At,"revokePreview");var sr=class{static{r(this,"ComposerBlockRegistry")}stores=new Map;set(e,t){const n=this.storeFor(e);n.getSnapshot()?.reason!==t?.reason&&n.set(t)}storeFor(e){const t=this.stores.get(e);if(t!==void 0)return t;const n=(0,B.createSnapshotStore)(void 0);return this.stores.set(e,n),n}forget(e){this.stores.delete(e)}};function rr(e){return{getSnapshot:r(()=>e.getSnapshot().queue,"getSnapshot"),subscribe:r(t=>e.subscribe(t),"subscribe")}}r(rr,"queueReadFaceOf");const or=[],an=100;function ln(e){throw new Error(`unreachable input event: ${JSON.stringify(e)}`)}r(ln,"unreachable");function cn(e,t){const n=e.trimStart();if(n.startsWith(t))return n.slice(t.length);const s=t.trimEnd();if(n.startsWith(s)){const o=n.slice(s.length);return/^\s/.test(o)?o.slice(1):o}return""}r(cn,"argsAfter");function ir(e,t){let n=0;const s=Math.min(e.length,t.length);for(;n<s&&e[n]===t[n];)n+=1;let o=0;const a=s-n;for(;o<a&&e[e.length-1-o]===t[t.length-1-o];)o+=1;return{start:n,end:e.length-o,insertedLength:t.length-o-n}}r(ir,"diffEdit");var ar=class{static{r(this,"InputMachine")}draft="";draftRev=0;phase="plain";claim;occurrences=[];occurrenceSeq=0;seq=0;inflight;log=[];redoStack=[];typingRun;paste;pasteSeq=0;mergeWindowMs;now;constructor(e={}){this.mergeWindowMs=e.mergeWindowMs??1e3,this.now=e.now??(()=>0)}get state(){const e=this.claim;return{draft:this.draft,imageIds:[],draftRev:this.draftRev,phase:this.phase,...e?{claim:{token:e.token,...e.hint!==void 0?{hint:e.hint}:{}}}:{},occurrences:this.occurrences,...this.paste!==void 0?{paste:this.paste}:{},queue:or}}dispatch(e){switch(e.type){case"draft-changed":return this.onDraftChanged(e.draft,e.editRange);case"begin-command":return this.onBeginCommand(e.claim,e.span);case"insert-ref":return this.onInsertRef(e.reference,e.span);case"consume-token":return this.onConsumeToken(e.guard);case"set-invalid":return this.onSetInvalid(e.invalidIds);case"undo":return this.onUndo();case"redo":return this.onRedo();case"paste-begin":return this.onPasteBegin(e.text,e.selection,e.components,e.generation);case"paste-upgrade":return this.onPasteUpgrade(e.attemptId,e.span,e.reference);case"invalidate-paste":return this.paste=void 0,[];case"enter":return this.onEnter(e.mode);case"adjudicated":return this.onAdjudicated(e.attempt,e.outcome);case"adjudication-failed":return this.onAdjudicationFailed(e.attempt,e.message);case"submit-settled":return this.onSubmitSettled(e);case"send-committed":return this.onSendCommitted();case"release":return this.onRelease();default:return ln(e)}}adopt(e){this.draft=e,this.draftRev+=1}pushTxn(e){this.log.push({draftBefore:this.draft,occurrencesBefore:this.occurrences,...e!==void 0?{selectionBefore:e}:{}}),this.log.length>an&&this.log.shift(),this.redoStack=[]}reconcile(e){const t=e.insertedLength-(e.end-e.start),n=[];for(const s of this.occurrences)s.offset<e.start?n.push(s):s.offset>=e.end&&n.push(t===0?s:{...s,offset:s.offset+t});this.occurrences=n}watchClaim(){this.phase==="claimed"&&this.claim!==void 0&&!this.draft.startsWith(this.claim.token)&&(this.phase="plain",this.claim=void 0)}mint(e,t){return this.occurrenceSeq+=1,{occurrenceId:this.occurrenceSeq,source:e.source,ref:e.ref,offset:t,label:e.label,clipboardText:e.clipboardText}}withMinted(e){e.length!==0&&(this.occurrences=[...this.occurrences,...e].sort((t,n)=>t.offset-n.offset))}onDraftChanged(e,t){if(e===this.draft)return[];const n=t??ir(this.draft,e),s=n.start===n.end&&n.insertedLength===1,o=this.now(),a=this.typingRun;return s&&a!==void 0&&a.end===n.start&&o-a.at<=this.mergeWindowMs||this.pushTxn({start:n.start,end:n.end}),this.typingRun=s?{end:n.start+1,at:o}:void 0,this.reconcile(n),this.adopt(e),this.watchClaim(),this.paste=void 0,[]}casOk(e){return e.draftRev===this.draftRev&&e.start>=0&&e.start<=e.end&&e.end<=this.draft.length}onBeginCommand(e,t){return this.phase!=="plain"&&this.phase!=="claimed"?[]:!this.casOk(t)||this.draft.slice(0,t.start).trim()!==""?[]:(this.pushTxn(),this.typingRun=void 0,this.reconcile({start:0,end:t.end,insertedLength:e.token.length}),this.adopt(e.token+this.draft.slice(t.end)),this.claim=e,this.phase="claimed",this.paste=void 0,[])}onInsertRef(e,t){return this.phase!=="plain"&&this.phase!=="claimed"?[]:this.casOk(t)?(this.replaceSpanWithChip(e,t),this.paste=void 0,[]):[]}replaceSpanWithChip(e,t){this.pushTxn(),this.typingRun=void 0;const n=this.draft.slice(t.end),s=""+(n.length===0||n[0]!==" "?" ":"");return this.reconcile({start:t.start,end:t.end,insertedLength:s.length}),this.withMinted([this.mint(e,t.start)]),this.adopt(this.draft.slice(0,t.start)+s+n),this.watchClaim(),s.length}onConsumeToken(e){if(this.phase!=="plain"&&this.phase!=="claimed")return[];switch(e.kind){case"span":{const t=e.span;return!this.casOk(t)||t.start===t.end?[]:(this.pushTxn(),this.typingRun=void 0,this.reconcile({start:t.start,end:t.end,insertedLength:0}),this.adopt(this.draft.slice(0,t.start)+this.draft.slice(t.end)),this.watchClaim(),this.paste=void 0,[])}case"bare-token":return e.token===""||this.draft.trim()!==e.token?[]:(this.pushTxn(),this.typingRun=void 0,this.occurrences=[],this.adopt(""),this.watchClaim(),this.paste=void 0,[]);default:return ln(e)}}onSetInvalid(e){const t=new Set(e);return this.occurrences.some(n=>n.invalid===!0!==t.has(n.occurrenceId))?(this.occurrences=this.occurrences.map(n=>{const s=t.has(n.occurrenceId);if(n.invalid===!0===s)return n;const{invalid:o,...a}=n;return s?{...a,invalid:!0}:a}),[]):[]}onUndo(){const e=this.log.pop();return e===void 0?[]:(this.redoStack.push({draftBefore:this.draft,occurrencesBefore:this.occurrences}),this.occurrences=e.occurrencesBefore,this.adopt(e.draftBefore),this.watchClaim(),this.typingRun=void 0,this.paste=void 0,[])}onRedo(){const e=this.redoStack.pop();return e===void 0?[]:(this.log.push({draftBefore:this.draft,occurrencesBefore:this.occurrences}),this.log.length>an&&this.log.shift(),this.occurrences=e.occurrencesBefore,this.adopt(e.draftBefore),this.watchClaim(),this.typingRun=void 0,this.paste=void 0,[])}onPasteBegin(e,t,n=[],s=0){const{start:o,end:a}=t;if(o<0||o>a||a>this.draft.length)return[];const l=e.split("").join("");this.pushTxn(t),this.typingRun=void 0;const c=[...n].sort((f,k)=>f.start-k.start),d=[];let u="",m=0;for(const f of c)u+=l.slice(m,f.start),d.push(this.mint(f.reference,o+u.length)),u+="",m=f.end;return u+=l.slice(m),this.reconcile({start:o,end:a,insertedLength:u.length}),this.withMinted(d),this.adopt(this.draft.slice(0,o)+u+this.draft.slice(a)),this.watchClaim(),this.phase==="plain"||this.phase==="claimed"?(this.pasteSeq+=1,this.paste={attemptId:this.pasteSeq,insertedRange:{start:o,end:o+u.length},generation:s}):this.paste=void 0,[]}onPasteUpgrade(e,t,n){const s=this.paste;if(s===void 0||s.attemptId!==e)return[];if(this.phase!=="plain"&&this.phase!=="claimed")return[];if(!this.casOk(t)||t.start===t.end)return[];const o=this.replaceSpanWithChip(n,t);return this.paste={...s,insertedRange:{start:s.insertedRange.start,end:s.insertedRange.end+o-(t.end-t.start)}},[]}beginAttempt(e){const t=new AbortController;this.seq+=1;const n={seq:this.seq,signal:t.signal,draftSnapshot:this.draft,mode:e};return this.inflight={attempt:n,controller:t},n}onEnter(e){if(this.phase==="adjudicating"||this.phase==="submitting")return[];if(this.phase==="claimed"&&this.claim!==void 0){const n=this.beginAttempt(e);return this.phase="submitting",this.paste=void 0,[{type:"begin-submit",attempt:n,claim:this.claim,args:cn(this.draft,this.claim.token)}]}const t=this.draft.trim();if(t==="")return[];if(this.paste=void 0,t.startsWith("/")){const n=this.beginAttempt(e);return this.phase="adjudicating",[{type:"adjudicate",attempt:n,draft:this.draft}]}return[{type:"default-sink",draft:this.draft,mode:e}]}onAdjudicated(e,t){const n=this.inflight;return this.phase!=="adjudicating"||n===void 0||n.attempt.seq!==e.seq?[]:t!==void 0&&t!=="handled"&&"claim"in t?(this.claim=t.claim,this.phase="submitting",[{type:"begin-submit",attempt:e,claim:t.claim,args:cn(e.draftSnapshot,t.claim.token)}]):(this.inflight=void 0,this.phase="plain",t===void 0?[{type:"default-sink",draft:e.draftSnapshot,mode:e.mode}]:[])}onAdjudicationFailed(e,t){return this.phase!=="adjudicating"||this.inflight?.attempt.seq!==e.seq?[]:(this.inflight=void 0,this.phase="plain",[{type:"notice",level:"error",text:t}])}onSubmitSettled(e){const t=this.inflight;if(this.phase!=="submitting"||t===void 0||t.attempt.seq!==e.attempt.seq)return[];if(this.inflight=void 0,e.ok)return this.phase="plain",this.claim=void 0,this.occurrences=[],this.adopt(""),this.log=[],this.redoStack=[],this.typingRun=void 0,this.paste=void 0,e.outcome?.text!==void 0?[{type:"notice",level:e.outcome.kind==="error"?"error":"info",text:e.outcome.text}]:[];const n=e.message??e.outcome?.text??"command failed";return this.draft===t.attempt.draftSnapshot&&this.claim!==void 0&&this.draft.startsWith(this.claim.token)?(this.phase="claimed",[{type:"notice",level:"error",text:n}]):(this.phase="plain",this.claim=void 0,[{type:"notice",level:"error",text:n}])}onSendCommitted(){return this.claim=void 0,this.occurrences=[],this.adopt(""),this.log=[],this.redoStack=[],this.typingRun=void 0,this.paste=void 0,[]}onRelease(){return this.inflight!==void 0&&(this.inflight.controller.abort(),this.inflight=void 0),this.phase="plain",this.claim=void 0,this.typingRun=void 0,this.paste=void 0,[]}};function dn(e){switch(e){case"plain":return"plain";case"claimed":return"claimed";default:return"frozen"}}r(dn,"guardOf");const lr=[],cr=new Map;var dr=class{static{r(this,"SessionInputShell")}deps;state;notices=(0,B.createSnapshotStore)(null);actions={setDraft:r(e=>{this.setDraft(e)},"setDraft"),addImages:r(e=>this.addImages(e),"addImages"),removeImage:r(e=>{this.removeImage(e)},"removeImage"),pruneImages:r(e=>{this.pruneImages(e)},"pruneImages"),submit:r(()=>{this.submit("queue")},"submit")};core=new ar({now:r(()=>Date.now(),"now")});noticeSeq=0;lastDraft="";imageIds=[];disposed=!1;mirrorFn;constructor(e){this.deps=e,this.state=(0,B.createSnapshotStore)(this.compose()),e.queue?.subscribe(()=>{this.publish()})}setDraft(e,t){this.run(this.core.dispatch({type:"draft-changed",draft:e,...t!==void 0?{editRange:t}:{}}))}addImages(e){return this.snapshot.phase==="adjudicating"||this.snapshot.phase==="submitting"?!1:(e.length===0||(this.imageIds=[...this.imageIds,...e],this.publish()),!0)}removeImage(e){const t=this.imageIds.filter(n=>n!==e);t.length!==this.imageIds.length&&(this.imageIds=t,this.publish())}pruneImages(e){const t=new Set(e),n=this.imageIds.filter(s=>t.has(s));n.length!==this.imageIds.length&&(this.imageIds=n,this.publish())}restoreImages(e){const t=new Set(this.imageIds);this.imageIds=[...e.filter(n=>!t.has(n)),...this.imageIds],this.publish()}commitSend(e){const t=new Set(e);this.imageIds=this.imageIds.filter(n=>!t.has(n)),this.run(this.core.dispatch({type:"send-committed"}))}undo(){this.run(this.core.dispatch({type:"undo"}))}redo(){this.run(this.core.dispatch({type:"redo"}))}pasteBegin(e,t,n,s){this.run(this.core.dispatch({type:"paste-begin",text:e,selection:t,...n!==void 0?{components:n}:{},...s!==void 0?{generation:s}:{}}))}invalidatePaste(){this.run(this.core.dispatch({type:"invalidate-paste"}))}submit(e="queue"){if(this.snapshot.draft.trim()===""&&this.imageIds.length>0){this.snapshot.phase==="plain"&&this.deps.defaultSink("",[...this.imageIds],e);return}this.run(this.core.dispatch({type:"enter",mode:e}));const t=this.snapshot.phase;(t==="adjudicating"||t==="submitting")&&(this.deps.popup?.()?.dismiss(),this.deps.inputTriggers?.()?.track(this.snapshot.draft,0,{tier:"frozen"},this.snapshot.draftRev))}track(e,t){this.deps.inputTriggers?.()?.track(e,t,{tier:dn(this.snapshot.phase)},this.snapshot.draftRev)}arbitrate(e,t){return this.deps.inputTriggers?.()?.arbitrate(e,t)??"pass"}steerQueue(){this.deps.steerQueue?.()}space(){const e=this.deps.inputTriggers?.();if(e===void 0)return!1;const t=e.onSpace();if(t){const n=this.snapshot;e.track(n.draft,n.draft.length,{tier:dn(n.phase)},n.draftRev)}return t}dismissPopup(){this.deps.popup?.()?.dismiss()}lexicon={getSnapshot:r(()=>this.deps.inputTriggers?.()?.lexicon.getSnapshot()??cr,"getSnapshot"),subscribe:r(e=>this.deps.inputTriggers?.()?.lexicon.subscribe(e)??(()=>{}),"subscribe")};beginCommand(e,t){const n=this.core.state.draftRev;return this.run(this.core.dispatch({type:"begin-command",claim:e,span:t})),this.core.state.phase==="claimed"&&this.core.state.draftRev!==n}insertReference(e,t){const n=this.core.state.draftRev;return this.run(this.core.dispatch({type:"insert-ref",reference:e,span:t})),this.core.state.draftRev!==n}consumeToken(e){const t=this.core.state;if(e.kind==="span"){if(e.span.draftRev!==t.draftRev)return!1;const n=t.draft;return this.setDraft(n.slice(0,e.span.start)+n.slice(e.span.end)),!0}return t.draft.trim()!==e.token?!1:(this.setDraft(""),!0)}insertText(e,t){const n=this.core.state;if(t.draftRev!==n.draftRev)return!1;const s=n.draft;return this.setDraft(s.slice(0,t.start)+e+s.slice(t.end)),!0}notify(e,t){this.noticeSeq+=1,this.notices.set({level:e,text:t,seq:this.noticeSeq})}dispose(){this.disposed=!0,this.run(this.core.dispatch({type:"release"}))}get snapshot(){return this.state.getSnapshot()}bindMirror(e){return this.mirrorFn=e,()=>{this.mirrorFn===e&&(this.mirrorFn=void 0)}}run(e){for(const t of e)this.execute(t);this.publish()}execute(e){switch(e.type){case"notice":this.noticeSeq+=1,this.notices.set({level:e.level,text:e.text,seq:this.noticeSeq});return;case"adjudicate":this.adjudicate(e.attempt,e.draft);return;case"begin-submit":this.beginSubmit(e.attempt,e.claim,e.args);return;case"default-sink":this.sinkSerialized(e.draft,e.mode);return;default:return}}sinkSerialized(e,t){const n=[...this.imageIds],s=this.core.state.occurrences;if(s.length===0){this.deps.defaultSink(e.trim(),n,t);return}const o=this.deps.inputTriggers?.(),a=new AbortController;Promise.all(s.map(async l=>{if(o===void 0)throw new Error(`no serializer for reference source "${l.source}"`);return{offset:l.offset,text:await o.serializeReference(l.source,l.ref,a.signal)}})).then(l=>{if(this.disposed)return;let c="",d=0;for(const u of l)c+=e.slice(d,u.offset)+u.text,d=u.offset+1;c+=e.slice(d),this.deps.defaultSink(c.trim(),n,t)},l=>{if(a.abort(),this.disposed)return;const c=l instanceof Error?l.message:String(l);this.notify("error",c)})}adjudicate(e,t){const n=this.deps.inputTriggers?.();if(n===void 0){this.run(this.core.dispatch({type:"adjudicated",attempt:e,outcome:void 0}));return}n.adjudicate(t.trim(),e.signal).then(s=>{this.dead(e)||this.run(this.core.dispatch({type:"adjudicated",attempt:e,outcome:s}))},s=>{if(this.dead(e))return;const o=s instanceof Error?s.message:String(s);this.run(this.core.dispatch({type:"adjudication-failed",attempt:e,message:o}))})}beginSubmit(e,t,n){Promise.resolve().then(()=>t.submit(n,this.deps.actx)).then(s=>{this.dead(e)||this.run(this.core.dispatch({type:"submit-settled",attempt:e,ok:s.kind==="success",outcome:s}))},s=>{if(this.dead(e))return;const o=s instanceof Error?s.message:String(s);this.run(this.core.dispatch({type:"submit-settled",attempt:e,ok:!1,message:o}))})}dead(e){return this.disposed||e.signal.aborted}compose(){return{...this.core.state,imageIds:this.imageIds,queue:this.deps.queue?.getSnapshot()??lr}}publish(){const e=this.compose();this.state.set(e),e.draft!==this.lastDraft&&(this.lastDraft=e.draft,this.mirrorFn?.(e.draft))}},ur=class{static{r(this,"InputHub")}rootCtx;t;shells=new Map;constructor(e,t){this.rootCtx=e,this.t=t}for(e){const t=this.sessions().scopeOf(e);if(t===void 0)throw new Error("conversation.input.for requires a session scope");return this.shell(t)}shellFor(e){const t=this.shells.get(e.sessionId);if(t!==void 0)return t;const{sessionId:n,session:s,ctx:o}=e,a=new dr({actx:o,inputTriggers:r(()=>this.controller(o),"inputTriggers"),popup:r(()=>this.popup(o),"popup"),queue:rr(s),defaultSink:r((l,c,d)=>{this.sink(s,l,c,d)},"defaultSink"),steerQueue:r(()=>{this.steerQueue(s,a)},"steerQueue")});return this.shells.set(n,a),o.effect(()=>{const l=[o.on("slash/input-begin-command",c=>a.beginCommand(c.claim,c.span)?!0:void 0),o.on("slash/input-insert-reference",c=>a.insertReference(c.reference,c.span)?!0:void 0),o.on("slash/input-consume-token",c=>a.consumeToken(c.guard)?!0:void 0),o.on("slash/input-insert-text",c=>a.insertText(c.text,c.span)?!0:void 0)];return()=>{for(const u of l)u();const c=a.snapshot.imageIds;a.dispose(),this.shells.delete(n);const d=this.rootCtx.get("conversation");for(const u of c)d?.releaseDraftImage(u)}},"conversation.input: session shell"),a}shell(e){const t=this.shells.get(e);if(t!==void 0)return t;const n=this.sessions().binding(e);if(n===void 0)throw new Error(`conversation.input: session "${e}" resolved no binding`);return this.shellFor(n)}keyboard(e){return this.shell(e)}inputTriggers(e){const t=this.sessions().scope(e);return t===void 0?void 0:this.controller(t)}sink(e,t,n,s){if(t===""&&n.length===0)return;const o=this.shells.get(e.sessionId);o?.commitSend(n),this.conversation().sendSession(e,t,n,s).catch(()=>{if(this.shells.get(e.sessionId)===o){o?.restoreImages(n),o?.snapshot.draft===""&&o.setDraft(t);return}const a=this.rootCtx.get("conversation");for(const l of n)a?.releaseDraftImage(l)})}async steerQueue(e,t){const n=e.getSnapshot().queue.filter(s=>s.placement==="queued");if(n.length!==0)for(const s of n){const o=await e.updateQueue(s.id,{kind:"steer"});if(!o.ok){if(o.error.code==="steer-unavailable"||o.error.code==="queue-item-not-found")return;t.notify("error",this.t("queue.steerFailed"));return}}}controller(e){return this.rootCtx.get("inputTriggers")?.sessionOf(e)}popup(e){return this.rootCtx.get("commandUi")?.popupFor(e)}sessions(){const e=this.rootCtx.get("sessions");if(e===void 0)throw new Error("conversation.input: sessions service unavailable");return e}conversation(){const e=this.rootCtx.get("conversation");if(e===void 0)throw new Error("conversation.input: conversation service unavailable");return e}};function oe(e){return e==null}r(oe,"isNullable");function St(e){return e&&typeof e=="object"&&!Array.isArray(e)}r(St,"isPlainObject");function pr(e,t){return Object.fromEntries(Object.entries(e).filter(([n,s])=>t(n,s)))}r(pr,"filterKeys");function Re(e,t){return Object.fromEntries(Object.entries(e).map(([n,s])=>[n,t(s,n)]))}r(Re,"mapValues");function hr(e,t,n){if(!t)return{...e};const s={};for(const o of t)(n||e[o]!==void 0)&&(s[o]=e[o]);return s}r(hr,"pick");function $e(e,t){return arguments.length===1?n=>$e(e,n):e in globalThis&&t instanceof globalThis[e]||Object.prototype.toString.call(t).slice(8,-1)===e}r($e,"is");function pt(e){return $e("ArrayBuffer",e)||$e("SharedArrayBuffer",e)}r(pt,"isArrayBufferLike");function fr(e){return pt(e)||ArrayBuffer.isView(e)}r(fr,"isArrayBufferSource");let ye;(function(e){e.is=pt,e.isSource=fr;function t(l){return ArrayBuffer.isView(l)?l.buffer.slice(l.byteOffset,l.byteOffset+l.byteLength):l}r(t,"fromSource"),e.fromSource=t;function n(l){if(l=t(l),typeof Buffer<"u")return Buffer.from(l).toString("base64");let c="";const d=new Uint8Array(l);for(let u=0;u<d.byteLength;u++)c+=String.fromCharCode(d[u]);return btoa(c)}r(n,"toBase64"),e.toBase64=n;function s(l){return typeof Buffer<"u"?t(Buffer.from(l,"base64")):Uint8Array.from(atob(l),c=>c.charCodeAt(0))}r(s,"fromBase64"),e.fromBase64=s;function o(l){return l=t(l),typeof Buffer<"u"?Buffer.from(l).toString("hex"):Array.from(new Uint8Array(l),c=>c.toString(16).padStart(2,"0")).join("")}r(o,"toHex"),e.toHex=o;function a(l){if(typeof Buffer<"u")return t(Buffer.from(l,"hex"));const c=l.length%2===0?l:l.slice(0,l.length-1),d=[];for(let u=0;u<c.length;u+=2)d.push(parseInt(`${c[u]}${c[u+1]}`,16));return Uint8Array.from(d).buffer}r(a,"fromHex"),e.fromHex=a})(ye||(ye={})),ye.fromBase64,ye.toBase64,ye.fromHex,ye.toHex;function Ct(e,t=new Map){if(!e||typeof e!="object")return e;if($e("Date",e))return new Date(e.valueOf());if($e("RegExp",e))return new RegExp(e.source,e.flags);if(pt(e))return e.slice(0);if(ArrayBuffer.isView(e))return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);const n=t.get(e);if(n)return n;if(Array.isArray(e)){const o=[];return t.set(e,o),e.forEach((a,l)=>{o[l]=Reflect.apply(Ct,null,[a,t])}),o}const s=Object.create(Object.getPrototypeOf(e));t.set(e,s);for(const o of Reflect.ownKeys(e)){const a={...Reflect.getOwnPropertyDescriptor(e,o)};"value"in a&&(a.value=Reflect.apply(Ct,null,[a.value,t])),Reflect.defineProperty(s,o,a)}return s}r(Ct,"clone");function et(e,t,n){if(e===t||!n&&oe(e)&&oe(t))return!0;if(typeof e!=typeof t||typeof e!="object"||!e||!t)return!1;function s(o,a){return o(e)?o(t)?a(e,t):!1:o(t)?!1:void 0}return r(s,"check"),s(Array.isArray,(o,a)=>o.length===a.length&&o.every((l,c)=>et(l,a[c])))??s($e("Date"),(o,a)=>o.valueOf()===a.valueOf())??s($e("RegExp"),(o,a)=>o.source===a.source&&o.flags===a.flags)??s(pt,(o,a)=>{if(o.byteLength!==a.byteLength)return!1;const l=new Uint8Array(o),c=new Uint8Array(a);for(let d=0;d<l.length;d++)if(l[d]!==c[d])return!1;return!0})??Object.keys({...e,...t}).every(o=>et(e[o],t[o],n))}r(et,"deepEqual");let un;(function(e){e.millisecond=1;const t=e.second=1e3,n=e.minute=t*60,s=e.hour=n*60,o=e.day=s*24,a=e.week=o*7;let l=new Date().getTimezoneOffset();function c(x){l=x}r(c,"setTimezoneOffset"),e.setTimezoneOffset=c;function d(){return l}r(d,"getTimezoneOffset"),e.getTimezoneOffset=d;function u(x=new Date,A){return typeof x=="number"&&(x=new Date(x)),A===void 0&&(A=l),Math.floor((x.valueOf()/n-A)/1440)}r(u,"getDateNumber"),e.getDateNumber=u;function m(x,A){const S=new Date(x*o);return A===void 0&&(A=l),new Date(+S+A*n)}r(m,"fromDateNumber"),e.fromDateNumber=m;const f=/\d+(?:\.\d+)?/.source,k=new RegExp(`^${["w(?:eek(?:s)?)?","d(?:ay(?:s)?)?","h(?:our(?:s)?)?","m(?:in(?:ute)?(?:s)?)?","s(?:ec(?:ond)?(?:s)?)?"].map(x=>`(${f}${x})?`).join("")}$`);function g(x){const A=k.exec(x);return A?(parseFloat(A[1])*a||0)+(parseFloat(A[2])*o||0)+(parseFloat(A[3])*s||0)+(parseFloat(A[4])*n||0)+(parseFloat(A[5])*t||0):0}r(g,"parseTime"),e.parseTime=g;function y(x){const A=g(x);return A?x=Date.now()+A:/^\d{1,2}(:\d{1,2}){1,2}$/.test(x)?x=`${new Date().toLocaleDateString()}-${x}`:/^\d{1,2}-\d{1,2}-\d{1,2}(:\d{1,2}){1,2}$/.test(x)&&(x=`${new Date().getFullYear()}-${x}`),x?new Date(x):new Date}r(y,"parseDate"),e.parseDate=y;function b(x){const A=Math.abs(x);return A>=o-s/2?Math.round(x/o)+"d":A>=s-n/2?Math.round(x/s)+"h":A>=n-t/2?Math.round(x/n)+"m":A>=t?Math.round(x/t)+"s":x+"ms"}r(b,"format"),e.format=b;function w(x,A=2){return x.toString().padStart(A,"0")}r(w,"toDigits"),e.toDigits=w;function j(x,A=new Date){return x.replace("yyyy",A.getFullYear().toString()).replace("yy",A.getFullYear().toString().slice(2)).replace("MM",w(A.getMonth()+1)).replace("dd",w(A.getDate())).replace("hh",w(A.getHours())).replace("mm",w(A.getMinutes())).replace("ss",w(A.getSeconds())).replace("SSS",w(A.getMilliseconds(),3))}r(j,"template"),e.template=j})(un||(un={}));const ht=Symbol.for("schemastery"),pn=Symbol.for("ValidationError");globalThis.__schemastery_index__??=0,globalThis.__schemastery_refs__=void 0;var W=class extends TypeError{static{r(this,"ValidationError")}options;name="ValidationError";constructor(e,t){let n="$";for(const s of t.path||[])typeof s=="string"?n+="."+s:typeof s=="number"?n+="["+s+"]":typeof s=="symbol"&&(n+=`[Symbol(${s.toString()})]`);n.startsWith(".")&&(n=n.slice(1)),super((n==="$"?"":`${n} `)+e),this.options=t}static is(e){return!!e?.[pn]}};Object.defineProperty(W.prototype,pn,{value:!0});const v=r(function(e){const t=r(function(n,s={}){return v.resolve(n,t,s)[0]},"schema");if(e.refs){const n=Re(e.refs,o=>new v(o)),s=r(o=>n[o],"getRef");for(const o in n){const a=n[o];a.sKey=s(a.sKey),a.inner=s(a.inner),a.list=a.list&&a.list.map(s),a.dict=a.dict&&Re(a.dict,s)}return n[e.uid]}if(Object.assign(t,e),typeof t.callback=="string")try{t.callback=new Function("return "+t.callback)()}catch{}return Object.defineProperty(t,"uid",{value:globalThis.__schemastery_index__++}),Object.setPrototypeOf(t,v.prototype),t.meta||={},t.toString=t.toString.bind(t),t},"Schema");v.prototype=Object.create(Function.prototype),v.prototype[ht]=!0,Object.defineProperty(v.prototype,"~standard",{get(){return{version:1,vendor:"schemastery",validate:r(e=>{try{return{value:v.resolve(e,this,{})[0]}}catch(t){if(W.is(t))return{issues:[{message:t.message,path:t.options.path}]};throw t}},"validate")}}}),v.ValidationError=W,v.prototype.toJSON=r(function(){if(globalThis.__schemastery_refs__)return globalThis.__schemastery_refs__[this.uid]??=JSON.parse(JSON.stringify({...this})),this.uid;globalThis.__schemastery_refs__={[this.uid]:{...this}},globalThis.__schemastery_refs__[this.uid]=JSON.parse(JSON.stringify({...this}));const t={uid:this.uid,refs:globalThis.__schemastery_refs__};return globalThis.__schemastery_refs__=void 0,t},"toJSON"),v.prototype.set=r(function(t,n){return this.dict[t]=n,this},"set"),v.prototype.push=r(function(t){return this.list.push(t),this},"push");function mr(e,t){const n=typeof e=="string"?{"":e}:{...e};for(const s in t){const o=t[s];o?.$description||o?.$desc?n[s]=o.$description||o.$desc:typeof o=="string"&&(n[s]=o)}return n}r(mr,"mergeDesc");function tt(e){return e?.$value??e?.$inner}r(tt,"getInner");function hn(e){return pr(e??{},t=>!t.startsWith("$"))}r(hn,"extractKeys"),v.prototype.i18n=r(function(t){const n=v(this),s=mr(n.meta.description,t);return Object.keys(s).length&&(n.meta.description=s),n.dict&&(n.dict=Re(n.dict,(o,a)=>o.i18n(Re(t,l=>tt(l)?.[a]??l?.[a])))),n.list&&(n.list=n.list.map((o,a)=>o.i18n(Re(t,(l={})=>Array.isArray(tt(l))?tt(l)[a]:Array.isArray(l)?l[a]:hn(l))))),n.inner&&(n.inner=n.inner.i18n(Re(t,o=>tt(o)?tt(o):hn(o)))),n.sKey&&(n.sKey=n.sKey.i18n(Re(t,o=>o?.$key))),n},"i18n"),v.prototype.extra=r(function(t,n){const s=v(this);return s.meta={...s.meta,[t]:n},s},"extra");for(const e of["required","disabled","collapse","hidden","loose"])Object.assign(v.prototype,{[e](t=!0){const n=v(this);return n.meta={...n.meta,[e]:t},n}});v.prototype.deprecated=r(function(){const t=v(this);return t.meta.badges||=[],t.meta.badges.push({text:"deprecated",type:"danger"}),t},"deprecated"),v.prototype.experimental=r(function(){const t=v(this);return t.meta.badges||=[],t.meta.badges.push({text:"experimental",type:"warning"}),t},"experimental"),v.prototype.pattern=r(function(t){const n=v(this),s=hr(t,["source","flags"]);return n.meta={...n.meta,pattern:s},n},"pattern"),v.prototype.simplify=r(function(t){if(et(t,this.meta.default,this.type==="dict"))return null;if(oe(t))return t;if(this.type==="object"||this.type==="dict"){const n={};for(const s in t){const o=(this.type==="object"?this.dict[s]:this.inner)?.simplify(t[s]);(this.type==="dict"||!oe(o))&&(n[s]=o)}return et(n,this.meta.default,this.type==="dict")?null:n}else if(this.type==="array"||this.type==="tuple"){const n=[];return t.forEach((s,o)=>{const a=this.type==="array"?this.inner:this.list[o],l=a?a.simplify(s):s;n.push(l)}),n}else if(this.type==="intersect"){const n={};for(const s of this.list)Object.assign(n,s.simplify(t));return n}else if(this.type==="union")for(const n of this.list)try{return v.resolve(t,n,{}),n.simplify(t)}catch{}return t},"simplify"),v.prototype.toString=r(function(t){return mn[this.type]?.(this,t)??`Schema<${this.type}>`},"toString"),v.prototype.role=r(function(e,t){const n=v(this);return n.meta={...n.meta,role:e,extra:t},n},"role");for(const e of["default","link","comment","description","max","min","step"])Object.assign(v.prototype,{[e](t){const n=v(this);return n.meta={...n.meta,[e]:t},n}});const fn={};v.extend=r(function(t,n){fn[t]=n},"extend"),v.resolve=r(function(t,n,s={},o=!1){if(!n)return[t];if(s.ignore?.(t,n))return[t];if(oe(t)&&n.type!=="lazy"){if(n.meta.required)throw new W("missing required value",s);let l=n,c=n.meta.default;for(;l?.type==="intersect"&&oe(c);)l=l.list[0],c=l?.meta.default;if(oe(c))return[t];t=Ct(c)}const a=fn[n.type];if(!a)throw new W(`unsupported type "${n.type}"`,s);try{return a(t,n,s,o)}catch(l){if(!n.meta.loose)throw l;return[n.meta.default]}},"resolve"),v.from=r(function(t){if(oe(t))return v.any();if(["string","number","boolean"].includes(typeof t))return v.const(t).required();if(t[ht])return t;if(typeof t=="function")switch(t){case String:return v.string().required();case Number:return v.number().required();case Boolean:return v.boolean().required();case Function:return v.function().required();default:return v.is(t).required()}else throw new TypeError(`cannot infer schema from ${t}`)},"from"),v.lazy=r(function(t){const n=r(()=>(s.inner[ht]||(s.inner=s.builder(),s.inner.meta={...s.meta,...s.inner.meta}),s.inner.toJSON()),"toJSON"),s=new v({type:"lazy",builder:t,inner:{toJSON:n}});return s},"lazy"),v.natural=r(function(){return v.number().step(1).min(0)},"natural"),v.percent=r(function(){return v.number().step(.01).min(0).max(1).role("slider")},"percent"),v.date=r(function(){return v.union([v.is(Date),v.transform(v.string().role("datetime"),(t,n)=>{const s=new Date(t);if(isNaN(+s))throw new W(`invalid date "${t}"`,n);return s},!0)])},"date"),v.regExp=r(function(t=""){return v.union([v.is(RegExp),v.transform(v.string().role("regexp",{flag:t}),(n,s)=>{try{return new RegExp(n,t)}catch(o){throw new W(o.message,s)}},!0)])},"regExp"),v.arrayBuffer=r(function(t){return v.union([v.is(ArrayBuffer),v.is(SharedArrayBuffer),v.transform(v.any(),(n,s)=>{if(ye.isSource(n))return ye.fromSource(n);throw new W(`expected ArrayBufferSource but got ${n}`,s)},!0),...t?[v.transform(v.string(),(n,s)=>{try{return t==="base64"?ye.fromBase64(n):ye.fromHex(n)}catch(o){throw new W(o.message,s)}},!0)]:[]])},"arrayBuffer"),v.extend("lazy",(e,t,n,s)=>(t.inner[ht]||(t.inner=t.builder(),t.inner.meta={...t.meta,...t.inner.meta}),v.resolve(e,t.inner,n,s))),v.extend("any",e=>[e]),v.extend("never",(e,t,n)=>{throw new W(`expected nullable but got ${e}`,n)}),v.extend("const",(e,{value:t},n)=>{if(et(e,t))return[t];throw new W(`expected ${t} but got ${e}`,n)});function jt(e,t,n,s,o=!1){const{max:a=1/0,min:l=-1/0}=t;if(e>a)throw new W(`expected ${n} <= ${a} but got ${e}`,s);if(e<l&&!o)throw new W(`expected ${n} >= ${l} but got ${e}`,s)}r(jt,"checkWithinRange"),v.extend("string",(e,{meta:t},n)=>{if(typeof e!="string")throw new W(`expected string but got ${e}`,n);if(t.pattern){const s=new RegExp(t.pattern.source,t.pattern.flags);if(!s.test(e))throw new W(`expect string to match regexp ${s}`,n)}return jt(e.length,t,"string length",n),[e]});function It(e,t){const n=e.toString();if(n.includes("e"))return e*Math.pow(10,t);const s=n.indexOf(".");if(s===-1)return e*Math.pow(10,t);const o=n.slice(s+1),a=n.slice(0,s);return o.length<=t?+(a+o.padEnd(t,"0")):+(a+o.slice(0,t)+"."+o.slice(t))}r(It,"decimalShift");function gr(e,t,n){if(n=Math.abs(n),!/^\d+\.\d+$/.test(n.toString()))return(e-t)%n===0;const s=n.toString().indexOf("."),o=n.toString().slice(s+1).length;return Math.abs(It(e,o)-It(t,o))%It(n,o)===0}r(gr,"isMultipleOf"),v.extend("number",(e,{meta:t},n)=>{if(typeof e!="number")throw new W(`expected number but got ${e}`,n);jt(e,t,"number",n);const{step:s}=t;if(s&&!gr(e,t.min??0,s))throw new W(`expected number multiple of ${s} but got ${e}`,n);return[e]}),v.extend("boolean",(e,t,n)=>{if(typeof e=="boolean")return[e];throw new W(`expected boolean but got ${e}`,n)}),v.extend("bitset",(e,{bits:t,meta:n},s)=>{let o=0,a=[];if(typeof e=="number"){o=e;for(const l in t)e&t[l]&&a.push(l)}else if(Array.isArray(e)){a=e;for(const l of a){if(typeof l!="string")throw new W(`expected string but got ${l}`,s);l in t&&(o|=t[l])}}else throw new W(`expected number or array but got ${e}`,s);return o===n.default?[o]:[o,a]}),v.extend("function",(e,t,n)=>{if(typeof e=="function")return[e];throw new W(`expected function but got ${e}`,n)}),v.extend("is",(e,{constructor:t},n)=>{if(typeof t=="function"){if(e instanceof t)return[e];throw new W(`expected ${t.name} but got ${e}`,n)}else{if(oe(e))throw new W(`expected ${t} but got ${e}`,n);let s=Object.getPrototypeOf(e);for(;s;){if(s.constructor?.name===t)return[e];s=Object.getPrototypeOf(s)}throw new W(`expected ${t} but got ${e}`,n)}});function ft(e,t,n,s){try{const[o,a]=v.resolve(e[t],n,{...s,path:[...s.path||[],t]});return a!==void 0&&(e[t]=a),o}catch(o){if(!s?.autofix)throw o;return delete e[t],n.meta.default}}r(ft,"property"),v.extend("array",(e,{inner:t,meta:n},s)=>{if(!Array.isArray(e))throw new W(`expected array but got ${e}`,s);return jt(e.length,n,"array length",s,!oe(t.meta.default)),[e.map((o,a)=>ft(e,a,t,s))]}),v.extend("dict",(e,{inner:t,sKey:n},s,o)=>{if(!St(e))throw new W(`expected object but got ${e}`,s);const a={};for(const l in e){let c;try{c=v.resolve(l,n,s)[0]}catch(d){if(o)continue;throw d}a[c]=ft(e,l,t,s),e[c]=e[l],l!==c&&delete e[l]}return[a]}),v.extend("tuple",(e,{list:t},n,s)=>{if(!Array.isArray(e))throw new W(`expected array but got ${e}`,n);const o=t.map((a,l)=>ft(e,l,a,n));return s?[o]:(o.push(...e.slice(t.length)),[o])});function Nt(e,t){for(const n in t)n in e||(e[n]=t[n])}r(Nt,"merge"),v.extend("object",(e,{dict:t},n,s)=>{if(!St(e))throw new W(`expected object but got ${e}`,n);const o={};for(const a in t){const l=ft(e,a,t[a],n);(!oe(l)||a in e)&&(o[a]=l)}return s||Nt(o,e),[o]}),v.extend("union",(e,{list:t,toString:n},s,o)=>{const a=[];for(const l of t)try{return v.resolve(e,l,s,o)}catch(c){a.push(c)}throw new W(`expected ${n()} but got ${JSON.stringify(e)}`,s)}),v.extend("intersect",(e,{list:t,toString:n},s,o)=>{if(!t.length)return[e];let a;for(const l of t){const c=v.resolve(e,l,s,!0)[0];if(!oe(c))if(oe(a))a=c;else{if(typeof a!=typeof c)throw new W(`expected ${n()} but got ${JSON.stringify(e)}`,s);if(typeof c=="object")Nt(a??={},c);else if(a!==c)throw new W(`expected ${n()} but got ${JSON.stringify(e)}`,s)}}return!o&&St(e)&&Nt(a,e),[a]}),v.extend("transform",(e,{inner:t,callback:n,preserve:s},o)=>{const[a,l=e]=v.resolve(e,t,o,!0);return s?[n(a)]:[n(a),n(l)]});const mn={};function Y(e,t,n){mn[e]=n,Object.assign(v,{[e](...s){const o=new v({type:e});return t.forEach((a,l)=>{switch(a){case"sKey":o.sKey=s[l]??v.string();break;case"inner":o.inner=v.from(s[l]);break;case"list":o.list=s[l].map(v.from);break;case"dict":o.dict=Re(s[l],v.from);break;case"bits":o.bits={};for(const c in s[l])typeof s[l][c]=="number"&&(o.bits[c]=s[l][c]);break;case"callback":{const c=o.callback=s[l];c.toJSON||=()=>c.toString();break}case"constructor":{const c=o.constructor=s[l];typeof c=="function"&&(c.toJSON||=()=>c.name);break}default:o[a]=s[l]}}),e==="object"||e==="dict"?o.meta.default={}:e==="array"||e==="tuple"?o.meta.default=[]:e==="bitset"&&(o.meta.default=0),o}})}r(Y,"defineMethod"),Y("is",["constructor"],({constructor:e})=>typeof e=="function"?e.name:e),Y("any",[],()=>"any"),Y("never",[],()=>"never"),Y("const",["value"],({value:e})=>typeof e=="string"?JSON.stringify(e):e),Y("string",[],()=>"string"),Y("number",[],()=>"number"),Y("boolean",[],()=>"boolean"),Y("bitset",["bits"],()=>"bitset"),Y("function",[],()=>"function"),Y("array",["inner"],({inner:e})=>`${e.toString(!0)}[]`),Y("dict",["inner","sKey"],({inner:e,sKey:t})=>`{ [key: ${t.toString()}]: ${e.toString()} }`),Y("tuple",["list"],({list:e})=>`[${e.map(t=>t.toString()).join(", ")}]`),Y("object",["dict"],({dict:e})=>Object.keys(e).length===0?"{}":`{ ${Object.entries(e).map(([t,n])=>`${t}${n.meta.required?"":"?"}: ${n.toString()}`).join(", ")} }`),Y("union",["list"],({list:e},t)=>{const n=e.map(({toString:s})=>s()).join(" | ");return t?`(${n})`:n}),Y("intersect",["list"],({list:e})=>`${e.map(t=>t.toString(!0)).join(" & ")}`),Y("transform",["inner","callback","preserve"],({inner:e},t)=>e.toString(t));const vr="ui-conversation",gn="busyEnter",yr=["queue","steer"],vn="queue";v.object({[gn]:v.union([...yr]).default(vn)});var xr=class{static{r(this,"ComposerSubmissionPolicy")}busyEnter=(0,B.createSnapshotStore)(vn);host;constructor(e){this.host=e,e!==void 0&&(e.subscribe(()=>{this.adopt(e)}),this.adopt(e))}resolve(e,t,n){if(!e||!n)return"queue";const s=this.busyEnter.getSnapshot();return t==="enter"?s:s==="queue"?"steer":"queue"}setBusyEnter(e){this.busyEnter.getSnapshot()!==e&&(this.busyEnter.set(e),this.host?.set(gn,e))}adopt(e){const t=e.getSnapshot().value;t===void 0||this.busyEnter.getSnapshot()===t.busyEnter||this.busyEnter.set(t.busyEnter)}};function yn(e){var t,n,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=yn(e[t]))&&(s&&(s+=" "),s+=n)}else for(n in e)e[n]&&(s&&(s+=" "),s+=n);return s}r(yn,"r");function je(){for(var e,t,n=0,s="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=yn(e))&&(s&&(s+=" "),s+=t);return s}r(je,"clsx");const xn=/(^|\s)([/@])([\w-]+)/g;function br(e,t){if(t.size===0||e==="")return[];const n=[];xn.lastIndex=0;let s;for(;(s=xn.exec(e))!==null;){const o=s[2],a=s[3]??"";if(t.get(o)?.includes(a)){const l=s.index+(s[1]?.length??0);n.push({start:l,end:l+1+a.length,trigger:o})}}return n}r(br,"scanTextRefs");const wr=new Map;function kr(e,t=wr){const{draft:n,claim:s,phase:o,occurrences:a}=e,l=(o==="claimed"||o==="submitting")&&s!==void 0&&n.startsWith(s.token),c=l?{start:0,end:s.token.length}:null,d=a.map(m=>({occurrenceId:m.occurrenceId,offset:m.offset,label:m.label,invalid:m.invalid===!0})),u=l&&s.hint!==void 0&&n.slice(s.token.length).trim()===""?s.hint:null;return{token:c,chips:d,textRefs:br(n,t),hint:u}}r(kr,"deriveDecorations");function nt(e){const t=e/1048576;return`${Number.isInteger(t)?String(t):t.toFixed(1)}MB`}r(nt,"imageSizeText");function _r(e,t,n){switch(t){case"MODEL_DOES_NOT_SUPPORT_IMAGES":return e("image.modelUnsupported");case"SUBAGENT_IMAGE_UNSUPPORTED":return e("image.subagentUnsupported");case"IMAGE_TOO_MANY_PIXELS":return e("image.tooManyPixels");case"INVALID_IMAGE":case"IMAGE_TYPE_MISMATCH":return e("image.unsupportedType");case"TOO_MANY_IMAGES":if(n!==void 0)return e("image.tooMany",{count:n.maxImagesPerMessage});break;case"IMAGE_TOO_LARGE":if(n!==void 0)return e("image.fileTooLarge",{size:nt(n.maxImageBytes)});break;case"IMAGES_TOO_LARGE":if(n!==void 0)return e("image.totalTooLarge",{size:nt(n.maxMessageImageBytes)})}return e("image.sendFailed",{reason:t})}r(_r,"attachmentErrorText");function bn(e){return{dialog:e("image.preview"),close:e("image.closePreview")}}r(bn,"lightboxLabels");function wn(e){return{image:e("image.label"),open:e("image.openOriginal"),openNamed:r(t=>e("image.openOriginalLabel",{label:t}),"openNamed"),loading:e("image.loading"),loadFailed:e("image.loadFailed"),lightbox:bn(e)}}r(wn,"messageImageLabels");function Ar(e,t,n){return t?{title:e("image.dropTitle"),desc:n===void 0?void 0:e("image.dropDesc",{count:n.count,size:n.size})}:{title:e("image.dropBlocked")}}r(Ar,"dropOverlayLabels");function Sr(e){return{group:e("image.pending"),open:e("image.openOriginal"),scrollLeft:e("image.scrollLeft"),scrollRight:e("image.scrollRight")}}r(Sr,"attachmentRailLabels");function kn(e){return String(e).padStart(2,"0")}r(kn,"pad2");function _n(e){const t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}r(_n,"startOfLocalDay");function An(e){const t=new Date(e);return t.setHours(24,0,0,0),Math.max(t.getTime()-e,1)}r(An,"msUntilNextLocalMidnight");function Sn(e,t){const n=Math.max(0,Math.floor(e/1e3)),s=Math.floor(n/60),o=n%60;return s>0?t("duration.minutes",{minutes:s,seconds:String(o).padStart(2,"0")}):t("duration.seconds",{seconds:o})}r(Sn,"formatRunDuration");function Cr(e){const t=Math.max(0,e)/1e3;return t<10?String(Math.round(t*10)/10):String(Math.round(t))}r(Cr,"formatLatencySeconds");function Cn(e){const t=Math.max(0,e);return t>=10?String(Math.round(t)):String(Math.round(t*10)/10)}r(Cn,"formatTokensPerSecond");function jr(e,t,n=Date.now()){const s=new Date(e),o=new Date(n),a=`${kn(s.getHours())}:${kn(s.getMinutes())}`;if(s.getFullYear()===o.getFullYear()&&s.getMonth()===o.getMonth()&&s.getDate()===o.getDate())return a;const l={y:s.getFullYear(),m:s.getMonth()+1,d:s.getDate()};return`${s.getFullYear()===o.getFullYear()?t("clock.md",l):t("clock.ymd",l)} ${a}`}r(jr,"formatMessageClock");function Ir(e){if(typeof e!="object"||e===null)return null;const t=e.outputTokens;return typeof t=="number"&&Number.isFinite(t)&&t>=0?t:null}r(Ir,"usageOutputTokens");function jn(e){const t=e.timing;return{ttftMs:t!==void 0&&t.stepStartTime!==null&&t.firstTokenTime!==null?Math.max(0,t.firstTokenTime-t.stepStartTime):null,decodeMs:t!==void 0&&t.firstTokenTime!==null?Math.max(0,t.completedTime-t.firstTokenTime):null,outputTokens:Ir(e.usage)}}r(jn,"assistantStepReading");function Nr(e){const t=new Map;for(const s of e){if(s.kind!=="assistant")continue;const o=jn(s);let a=t.get(s.turn);a===void 0?(a={firstStep:s.step,firstStepTtftMs:o.ttftMs,decodeMs:0,outputTokens:0,sampled:!1},t.set(s.turn,a)):s.step<a.firstStep&&(a.firstStep=s.step,a.firstStepTtftMs=o.ttftMs),o.decodeMs!==null&&o.outputTokens!==null&&(a.decodeMs+=o.decodeMs,a.outputTokens+=o.outputTokens,a.sampled=!0)}const n=new Map;for(const[s,o]of t){const a={};o.firstStepTtftMs!==null&&(a.ttftMs=o.firstStepTtftMs),o.sampled&&o.decodeMs>0&&(a.tokensPerSecond=o.outputTokens/(o.decodeMs/1e3)),(a.ttftMs!==void 0||a.tokensPerSecond!==void 0)&&n.set(s,a)}return n}r(Nr,"deriveTurnMetrics");const Er="._86-6hq_root{text-align:center;max-width:var(--dsh-chat-content-width);box-sizing:border-box;width:100%;padding:4px calc(var(--dsh-composer-side-clearance) + 16px) 0px;color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;margin:0 auto;font-size:12px;line-height:20px;display:block;overflow:hidden}._86-6hq_sep{color:var(--dsw-alias-separator-primary);margin:0 10px}",In="@deepseek-ai/dsh-client-ui-conversation/StatsLine.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(In)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=In,e.textContent=Er,document.head.appendChild(e)}var Nn={sep:"_86-6hq_sep",root:"_86-6hq_root"};function Tr(e){const t=new Set;let n=0,s=0,o=0,a=0,l=0,c=0,d=0;for(const u of e){if(u.kind==="tool-result"){u.callTime!==null&&(o+=Math.max(0,u.time-u.callTime));continue}if(u.kind!=="assistant")continue;t.add(u.turn),n+=1,u.timing!==void 0&&u.timing.stepStartTime!==null&&(s+=Math.max(0,u.timing.completedTime-u.timing.stepStartTime));const m=jn(u);m.ttftMs!==null&&(a+=m.ttftMs,l+=1),m.decodeMs!==null&&m.outputTokens!==null&&(c+=m.decodeMs,d+=m.outputTokens)}return{turns:t.size,steps:n,llmMs:s,toolMs:o,ttftMs:a,ttftSteps:l,decodeMs:c,decodeTokens:d}}r(Tr,"deriveStats");function st(e){const t=r(n=>n>=100?String(Math.round(n)):String(Math.round(n*10)/10),"scaled");return e<1e3?String(e):e<1e6?`${t(e/1e3)}K`:`${t(e/1e6)}M`}r(st,"formatTokens");function Et(e){const t=e/1e3;if(t<60)return`${Math.round(t*10)/10}s`;const n=Math.round(t);return`${Math.floor(n/60)}m${n%60}s`}r(Et,"formatDuration");function qr(e){const t=Tt(e);return t===0?null:Math.round(e.cacheReadTokens/t*100)}r(qr,"cacheHitPercent");function Tt(e){return e.uncachedInputTokens+e.cacheReadTokens+e.cacheWriteTokens}r(Tt,"billedInputTokens");function Rr(e){const t=e?.projectedTokens??e?.pressureTokens;return t===void 0||e?.contextWindow===void 0?null:{percent:Math.min(100,Math.round(t/e.contextWindow*100)),usedTokens:t,contextWindow:e.contextWindow}}r(Rr,"contextOccupancy");const Mr=(0,h.memo)(r(function({useSession:t,useProjection:n,t:s}){const o=t(g=>g.chat.legacy.nodes),a=n("tokenUsage"),l=n("sessionStats"),c=(0,h.useMemo)(()=>l??Tr(o),[l,o]),d=[];if(c.steps>0){d.push(s("stats.counts",{turns:c.turns,steps:c.steps}));const g=[];c.llmMs>0&&g.push(s("stats.llm",{duration:Et(c.llmMs)})),c.toolMs>0&&g.push(s("stats.toolCall",{duration:Et(c.toolMs)})),g.length>0&&d.push(g.join(" · "));const y=[];c.ttftSteps>0&&y.push(s("stats.ttftAverage",{duration:Et(c.ttftMs/c.ttftSteps)})),c.decodeMs>0&&y.push(s("stats.tokensPerSecond",{throughput:Cn(c.decodeTokens/(c.decodeMs/1e3))})),y.length>0&&d.push(y.join(" · "))}if(a!==void 0&&(Tt(a)>0||a.outputTokens>0)){const g=qr(a);g!==null&&d.push(s("stats.cacheHit",{percent:g})),d.push(s("stats.tokens",{input:st(Tt(a)),output:st(a.outputTokens)}))}const u=d.join(" | "),m=(0,h.useRef)(null),[f,k]=(0,h.useState)(!1);return(0,h.useLayoutEffect)(()=>{const g=m.current;if(g===null)return;const y=r(()=>{k(g.scrollWidth>g.clientWidth)},"measure");if(y(),typeof ResizeObserver>"u")return;const b=new ResizeObserver(y);return b.observe(g),()=>{b.disconnect()}},[u]),d.length===0?null:(0,i.jsx)(_.Tooltip,{label:u,side:"top",delayMs:500,disabled:!f,children:(0,i.jsx)("div",{ref:m,className:Nn.root,children:d.map((g,y)=>(0,i.jsxs)(h.Fragment,{children:[y>0&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:Nn.sep,"aria-hidden":!0,children:"|"})," "]}),(0,i.jsx)("span",{children:g})]},g))})})},"StatsLine")),Or="._3Gutda_root{display:inline-flex;position:relative}._3Gutda_trigger{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;place-items:center;display:grid}._3Gutda_trigger:hover{background:var(--dsw-alias-interactive-bg-hover)}._3Gutda_track{fill:none;stroke:var(--dsw-alias-border-l3);stroke-width:2px}._3Gutda_fill{fill:none;stroke:var(--dsw-alias-label-tertiary);stroke-width:2px;stroke-linecap:round}._3Gutda_panel{z-index:100;box-sizing:border-box;border:1px solid var(--dsw-alias-border-inverted);background:var(--dsw-specific-menu);width:264px;box-shadow:var(--dsw-shadow-lv3);color:var(--dsw-alias-label-secondary);cursor:default;border-radius:12px;padding:12px;font-size:12px;line-height:20px;position:absolute;bottom:calc(100% + 8px);right:0}._3Gutda_header{align-items:center;gap:6px;display:flex}._3Gutda_figures{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);margin-left:auto;font-weight:500}._3Gutda_percent{color:var(--dsw-alias-label-primary);font-weight:500}._3Gutda_headline{color:var(--dsw-alias-label-tertiary)}._3Gutda_headline:empty{display:none}._3Gutda_bar{background:var(--dsw-alias-interactive-bg-hover);border-radius:999px;gap:1px;height:4px;margin:10px 0 12px;display:flex;overflow:hidden}._3Gutda_segment{background:var(--meter-tint,var(--dsw-alias-label-tertiary));border-radius:1px;flex:none;min-width:2px;height:100%}._3Gutda_swatch{background:var(--meter-tint);vertical-align:baseline;border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}._3Gutda_colorSystem{--meter-tint:var(--dsw-static-neutral-bluish-400)}._3Gutda_colorTools{--meter-tint:#a78bfa}._3Gutda_colorMessages{--meter-tint:var(--dsw-static-blue-450)}._3Gutda_rows{margin:6px 0 0}._3Gutda_row{justify-content:space-between;align-items:center;gap:12px;padding:2px 0;display:flex}._3Gutda_row dt{color:var(--dsw-alias-label-secondary)}._3Gutda_row dd{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);margin:0}",En="@deepseek-ai/dsh-client-ui-conversation/ContextMeter.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(En)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=En,e.textContent=Or,document.head.appendChild(e)}var X={rows:"_3Gutda_rows",segment:"_3Gutda_segment",figures:"_3Gutda_figures",colorMessages:"_3Gutda_colorMessages",root:"_3Gutda_root",panel:"_3Gutda_panel",trigger:"_3Gutda_trigger",colorTools:"_3Gutda_colorTools",colorSystem:"_3Gutda_colorSystem",swatch:"_3Gutda_swatch",header:"_3Gutda_header",fill:"_3Gutda_fill",percent:"_3Gutda_percent",track:"_3Gutda_track",row:"_3Gutda_row",headline:"_3Gutda_headline",bar:"_3Gutda_bar"};const qt=5.5,Tn=2*Math.PI*qt,qn="\0",Rn=[{key:"systemTokens",label:"context.system",color:X.colorSystem},{key:"toolsTokens",label:"context.tools",color:X.colorTools},{key:"messageTokens",label:"context.messages",color:X.colorMessages}];function Wr({useProjection:e,t}){const n=e("contextPressure"),s=e("contextBreakdown"),[o,a]=(0,h.useState)(!1),l=(0,h.useRef)(null),c=Rr(n),d=c!==null;if((0,h.useEffect)(()=>{!d&&o&&a(!1)},[d,o]),(0,h.useEffect)(()=>{if(!o||!d)return;const b=r(j=>{j.target instanceof Node&&l.current?.contains(j.target)===!0||a(!1)},"onPointerDown"),w=r(j=>{j.key==="Escape"&&a(!1)},"onKeyDown");return document.addEventListener("pointerdown",b),document.addEventListener("keydown",w),()=>{document.removeEventListener("pointerdown",b),document.removeEventListener("keydown",w)}},[d,o]),c===null)return null;const u=c.percent,m=`${u}%`,[f="",k=""]=t("context.aria",{percent:qn}).split(qn).map(b=>b.trim()),g=s===void 0?0:s.systemTokens+s.toolsTokens+s.messageTokens,y=(s===void 0||g===0?[{key:"total",color:void 0,width:u}]:Rn.map(b=>({key:b.key,color:b.color,width:u*s[b.key]/g}))).filter(b=>b.width>0);return(0,i.jsxs)("span",{ref:l,className:X.root,children:[(0,i.jsx)(_.Tooltip,{label:t("context.aria",{percent:m}),side:"top",delayMs:200,disabled:o,children:(0,i.jsx)("button",{type:"button",className:X.trigger,"aria-label":t("context.aria",{percent:m}),"aria-haspopup":"dialog","aria-expanded":o,onClick:r(()=>{a(!o)},"onClick"),children:(0,i.jsxs)("svg",{viewBox:"0 0 14 14",width:"14",height:"14","aria-hidden":!0,children:[(0,i.jsx)("circle",{className:X.track,cx:"7",cy:"7",r:qt}),(0,i.jsx)("circle",{className:X.fill,cx:"7",cy:"7",r:qt,strokeDasharray:`${Tn*u/100} ${Tn}`,transform:"rotate(-90 7 7)"})]})})}),o&&(0,i.jsxs)("div",{className:X.panel,role:"dialog","aria-label":t("context.used"),children:[(0,i.jsxs)("div",{className:X.header,children:[(0,i.jsx)("span",{className:X.headline,children:f}),(0,i.jsx)("span",{className:X.percent,children:m}),(0,i.jsx)("span",{className:X.headline,children:k}),(0,i.jsx)("span",{className:X.figures,children:`~${st(c.usedTokens)} / ${st(c.contextWindow)}`})]}),(0,i.jsx)("div",{className:X.bar,children:y.map(b=>(0,i.jsx)("div",{className:b.color===void 0?X.segment:`${X.segment} ${b.color}`,style:{width:`${b.width}%`}},b.key))}),s!==void 0&&(0,i.jsx)("dl",{className:X.rows,children:Rn.map(b=>(0,i.jsxs)("div",{className:X.row,children:[(0,i.jsxs)("dt",{children:[(0,i.jsx)("span",{className:`${X.swatch} ${b.color}`,"aria-hidden":!0}),t(b.label)]}),(0,i.jsx)("dd",{children:`~${st(s[b.key])}`})]},b.key))})]})]})}r(Wr,"ContextMeter");const Gr=".fGWvBG_trigger{min-width:0;max-width:220px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:24px;outline:none;align-items:center;gap:4px;padding:0 4px 0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}.fGWvBG_trigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.fGWvBG_trigger:focus-visible{box-shadow:0 0 0 2px var(--dsw-alias-border-l3)}.fGWvBG_trigger:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}.fGWvBG_triggerIcon{flex:none;display:inline-flex}.fGWvBG_triggerIcon svg{width:14px;height:14px}.fGWvBG_triggerLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fGWvBG_chevron{color:var(--dsw-alias-label-caption);flex:none;transition:transform .12s;display:inline-flex}@container (width<=460px){.fGWvBG_trigger:has(.fGWvBG_triggerIcon) .fGWvBG_triggerLabel{display:none}}.fGWvBG_chevronOpen{transform:rotate(180deg)}",Mn="@deepseek-ai/dsh-client-ui-conversation/PermissionSelect.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Mn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Mn,e.textContent=Gr,document.head.appendChild(e)}var rt={trigger:"fGWvBG_trigger",triggerIcon:"fGWvBG_triggerIcon",triggerLabel:"fGWvBG_triggerLabel",chevronOpen:"fGWvBG_chevronOpen",chevron:"fGWvBG_chevron"};const Rt="danger-full-access",On="M8.20554 0.899994L14.7901 3.36857V7.01026C14.7901 12 11.0466 14.2103 8.20554 15.3C5.36446 14.2103 1.62012 12 1.62012 7.01026V3.36857L8.20554 0.899994Z",Lr={"read-only":(0,i.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[(0,i.jsx)("path",{d:On,stroke:"currentColor",strokeWidth:"1.31831",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M12.1654 5.7552L8.9447 9.41475C8.73044 9.65816 8.53628 9.8804 8.35774 10.0423C8.1713 10.2114 7.94235 10.3717 7.64016 10.4254C7.48207 10.4535 7.32 10.4552 7.16151 10.4294C6.85843 10.3801 6.62728 10.2223 6.43836 10.0559C6.25752 9.89653 6.06037 9.67732 5.84264 9.43705L4.72925 8.20897L5.63557 7.38707L6.74897 8.61594C6.98603 8.87755 7.12974 9.03533 7.24673 9.13839C7.31033 9.19443 7.34485 9.21476 7.35823 9.22122C7.38068 9.22484 7.40352 9.22515 7.42593 9.22122C7.40522 9.22502 7.42893 9.23294 7.53583 9.136C7.65132 9.03126 7.79316 8.87139 8.02643 8.60638L11.2479 4.94763L12.1654 5.7552Z",fill:"currentColor"})]}),"workspace-write":(0,i.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[(0,i.jsx)("path",{d:"M8.08887 0.251709C8.20479 0.23085 8.32486 0.241168 8.43652 0.282959L15.0215 2.75171C15.2787 2.84819 15.4492 3.09414 15.4492 3.3689V7.0105C15.4492 7.10986 15.4441 7.2081 15.4414 7.30542C15.0285 7.07175 14.5905 6.87695 14.1309 6.73022V3.82495L8.20508 1.60327L2.2793 3.82495V7.0105C2.27936 9.7171 3.4745 11.5379 5.02734 12.7947C5.01025 12.9942 5 13.1962 5 13.4001C5.00001 13.7617 5.02722 14.1169 5.08008 14.4636C2.91555 13.0393 0.961014 10.752 0.960938 7.0105V3.3689C0.960938 3.09417 1.13146 2.84821 1.38867 2.75171L7.97461 0.282959L8.08887 0.251709Z",fill:"currentColor"}),(0,i.jsx)("path",{d:"M11.3525 5.64688V6.85688H5V5.64688H11.3525Z",fill:"currentColor"}),(0,i.jsx)("path",{d:"M9.5824 8.29376V9.50376H5V8.29376H9.5824Z",fill:"currentColor"}),(0,i.jsx)("path",{d:"M14.6647 15.6852H10.0338C10.3878 15.3751 10.7567 15.0517 11.0772 14.7706C11.2531 14.6164 11.4144 14.4746 11.5511 14.3547H14.6647V15.6852Z",fill:"currentColor"}),(0,i.jsx)("path",{d:"M8.14852 14.1308L7.33925 15.4976C7.22458 15.6912 7.42245 15.9194 7.63037 15.8333L9.09785 15.2254L15.0399 10.0719L14.0905 8.97733L8.14852 14.1308Z",fill:"currentColor"})]}),[Rt]:(0,i.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[(0,i.jsx)("path",{d:On,stroke:"currentColor",strokeWidth:"1.31831",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M9.10094 4.5V8.75939H7.59888V4.5H9.10094Z",fill:"currentColor"}),(0,i.jsx)("path",{d:"M9.10094 9.8114V11.5H7.59888V9.8114H9.10094Z",fill:"currentColor"})]})};function Mt(e){return Lr[e]}r(Mt,"permissionGlyph");function Ot(e){return/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e)?e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" "):e}r(Ot,"displayName");function Wt(e){return e.value===Rt?"Full access":Ot(e.name)}r(Wt,"optionLabel");function Br({value:e,locked:t,command:n,t:s}){const[o,a]=(0,h.useState)(null),[l,c]=(0,h.useState)(!1),[d,u]=(0,h.useState)(null),[m,f]=(0,h.useState)(!1);if((0,h.useEffect)(()=>{!t&&e!==void 0||(c(!1),f(!1),u(null))},[t,e]),e===void 0)return null;const k=o??e.currentValue,g=e.options.find(S=>S.value===k),y=o!==null||d!==null,b=e.options.filter(S=>S.value!=="custom").map(S=>{const z=Mt(S.value);return{id:S.value,label:Wt(S),...z===void 0?{}:{icon:z}}}),w=r(S=>{a(S),n(`/permission ${S}`).catch(()=>!1).then(()=>{a(null)})},"submit"),j=r(S=>{if(c(!1),S!==e.currentValue){if(S===Rt){f(!1),u(S);return}w(S)}},"choose"),x=r(()=>{f(!1),u(null)},"closeConfirmation"),A=r(()=>{if(t||!m||d===null)return;const S=d;x(),w(S)},"confirmFullAccess");return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(_.Menu,{open:l,items:b,selectedId:k,onSelect:j,onClose:r(()=>{c(!1)},"onClose"),side:"top",anchor:(0,i.jsxs)("button",{type:"button",className:rt.trigger,"aria-label":s("input.accessMode",{name:g===void 0?Ot(k):Wt(g)}),title:g?.description,disabled:t||y,onClick:r(()=>{c(!l)},"onClick"),children:[Mt(k)!==void 0&&(0,i.jsx)("span",{className:rt.triggerIcon,"aria-hidden":!0,children:Mt(k)}),(0,i.jsx)("span",{className:rt.triggerLabel,children:g===void 0?Ot(k):Wt(g)}),(0,i.jsx)("span",{className:je(rt.chevron,l&&rt.chevronOpen),"aria-hidden":!0,children:(0,i.jsx)(_.IconChevronDownOutline14,{})})]})}),(0,i.jsx)(_.RiskConfirmation,{open:d!==null,title:s("access.confirm.title"),description:s("access.confirm.description"),acknowledgeLabel:s("access.confirm.acknowledge"),cancelLabel:s("access.confirm.cancel"),confirmLabel:s("access.confirm.enable"),acknowledged:m,disabled:t,onAcknowledgedChange:f,onCancel:x,onConfirm:A})]})}r(Br,"PermissionSelect");const Dr=/\b(?:CriOS|FxiOS|EdgiOS|OPiOS|OPT|DuckDuckGo|Brave)(?:\/|\b)/;function $r(e){return e.vendor==="Apple Computer, Inc."&&/\bVersion\/[\d.]+.*\bSafari\/[\d.]+/.test(e.userAgent)&&!Dr.test(e.userAgent)}r($r,"isSafariBrowser");function Ur(e){if(e===null||e.scrollHeight<=e.clientHeight)return;const t=e.closest("[data-input-scroll]");if(t===null)return;const n=e.style.height;e.style.height=`${String(e.clientHeight+1)}px`,e.offsetHeight,e.style.height=n,e.offsetHeight;const s=t.style.height;t.style.height=`${String(t.clientHeight+1)}px`,t.offsetHeight,t.style.height=s,t.offsetHeight}r(Ur,"repairSafariTextareaLayout");const Pr=`@font-face{font-family:DshChipCell;src:url(data:font/ttf;base64,AAEAAAAKAIAAAwAgT1MvMkT8SmIAAAEoAAAAYGNtYXAADQBPAAABkAAAADRnbHlmAAAAAAAAAcwAAAABaGVhZCwtPGoAAACsAAAANmhoZWEDIg7bAAAA5AAAACRobXR4EZQAAAAAAYgAAAAIbG9jYQAAAAAAAAHEAAAABm1heHAAAwACAAABCAAAACBuYW1lvljk2gAAAdAAAABscG9zdNNweNQAAAI8AAAALQABAAAAAQAAdia1tV8PPPUAAwPoAAAAAOaLfcUAAAAA5ot9xQAAAAAAAAAAAAAAAwACAAAAAAAAAAEAAAMg/zgAAA+gAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAEAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwjKAZAABQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAPz8/PwAA//z//AMg/zgAAAMgAMgAAAAAAAAAAAAAAAAAAAAgAAAB9AAAD6AAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAIAAAAAQABAABAAD//P//AAD//P//AAUAAQAAAAAAAAAAAAAAAAAAAAAAAAAEADYAAQAAAAAAAQALAAAAAQAAAAAAAgAHAAsAAwABBAkAAQAWABIAAwABBAkAAgAOAChEc2hDaGlwQ2VsbFJlZ3VsYXIARABzAGgAQwBoAGkAcABDAGUAbABsAFIAZQBnAHUAbABhAHIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAABAgZvYmpyZXAAAAA=)format("truetype")}.ICfoyq_root{padding:0 var(--dsh-composer-side-clearance) 8px;flex-direction:column;align-items:center;display:flex}.ICfoyq_hero{padding:0 var(--dsh-composer-side-clearance)}.ICfoyq_notice{width:100%;max-width:var(--dsh-composer-card-max-width);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary);border-radius:8px;margin-bottom:6px;padding:4px 8px;font-size:12px;line-height:18px}.ICfoyq_noticeError{background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary)}.ICfoyq_card{box-sizing:border-box;width:100%;max-width:var(--dsh-composer-card-max-width);border:1px solid var(--dsw-alias-border-l2-darkmode-thin);background:var(--dsw-specific-input-major);box-shadow:var(--dsw-shadow-lv2);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:22px;flex-direction:column;gap:12px;padding-top:10px;font-size:16px;line-height:24px;display:flex;position:relative}.ICfoyq_cardWorkspaceTrigger{cursor:pointer;border-color:#0000}.ICfoyq_cardWorkspaceTrigger:after{content:"";background:var(--dsw-alias-border-l4);pointer-events:none;border-radius:22px;transition:background-color .1s;position:absolute;inset:-1px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='none' rx='22' ry='22' stroke='black' stroke-width='2' stroke-dasharray='4 4'/%3E%3C/svg%3E");mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='none' rx='22' ry='22' stroke='black' stroke-width='2' stroke-dasharray='4 4'/%3E%3C/svg%3E")}.ICfoyq_cardWorkspaceTrigger :disabled{pointer-events:none}.ICfoyq_cardWorkspaceTrigger:hover:after{background:var(--dsw-alias-state-business-primary)}.ICfoyq_accessory{align-items:center;gap:8px;padding:10px 12px 0;display:flex}.ICfoyq_attachments{min-width:0;padding:4px 12px 0}.ICfoyq_overlayAnchor{height:0;position:absolute;inset:0 0 auto}.ICfoyq_scroll{max-height:var(--dsh-composer-text-max-height);overflow-y:auto}.ICfoyq_grow{position:relative}.ICfoyq_backdrop{color:var(--dsw-alias-label-primary);pointer-events:none;position:absolute;inset:0;overflow:hidden}.ICfoyq_hlToken{color:var(--dsw-alias-state-warn-label);background-color:#0000}.ICfoyq_hlSegment{color:#0000;background-color:#0000;border-radius:4px}.ICfoyq_hint{color:var(--dsw-alias-label-caption)}.ICfoyq_pending{background:var(--dsw-alias-state-business-primary);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite alternate ICfoyq_input-pending}@keyframes ICfoyq_input-pending{0%{opacity:.35}to{opacity:1}}.ICfoyq_input{resize:none;color:#0000;width:100%;height:100%;caret-color:var(--dsw-alias-state-business-primary);background:0 0;border:none;outline:none;position:absolute;inset:0;overflow:hidden}.ICfoyq_input,.ICfoyq_mirror,.ICfoyq_backdrop{box-sizing:border-box;font-family:"DshChipCell", var(--dsw-font-family);font-size:inherit;line-height:inherit;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;padding:4px 12px 0 16px}.ICfoyq_input::placeholder{color:var(--dsw-alias-label-caption);user-select:none}.ICfoyq_input:disabled{color:var(--dsw-alias-label-tertiary);cursor:not-allowed}.ICfoyq_input[aria-haspopup=menu]{cursor:pointer}.ICfoyq_mirror{visibility:hidden;pointer-events:none}.ICfoyq_hero .ICfoyq_mirror{min-height:52px}.ICfoyq_row{justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:2px 8px 6px;display:flex;container-type:inline-size}.ICfoyq_tools,.ICfoyq_modes,.ICfoyq_trailing{align-items:center;min-width:0;display:flex}.ICfoyq_tools{gap:16px}.ICfoyq_modes{gap:12px}.ICfoyq_trailing{flex:none;gap:12px}.ICfoyq_add{background:var(--dsw-specific-selector);width:28px;height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:999px;flex:none;place-items:center;display:grid}.ICfoyq_add:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-solid)}.ICfoyq_add:disabled{opacity:.5;cursor:default}.ICfoyq_select{max-width:220px;height:28px;color:var(--dsw-alias-label-secondary);white-space:nowrap;cursor:pointer;appearance:none;background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2381858C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 4px center;background-repeat:no-repeat;background-size:12px 12px;border:none;border-radius:8px;outline:none;padding:0 20px 0 8px;font-size:13px;font-weight:500;line-height:20px}.ICfoyq_select:hover:not(:disabled){background-color:var(--dsw-alias-interactive-bg-hover)}.ICfoyq_select:disabled{opacity:.5;cursor:default}.ICfoyq_primary{background:var(--dsw-alias-button-info-fill);color:#fff;cursor:pointer;border:none;border-radius:999px;flex:none;place-items:center;width:34px;height:34px;transition:background-color .1s;display:grid;transform:translateY(-2px)}.ICfoyq_primary:hover:not(:disabled){background:var(--dsw-alias-button-info-hover)}.ICfoyq_primary:disabled{opacity:.4;cursor:default}.ICfoyq_retry{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;margin-left:8px;padding:1px 8px;font-size:12px}.ICfoyq_textRef{color:var(--dsw-alias-state-business-primary);-webkit-box-decoration-break:clone;box-decoration-break:clone;background-color:#0000}.ICfoyq_textRef:after{display:none}.ICfoyq_chip{background:#6187d838;border-radius:6px;position:relative}.ICfoyq_chip:before{content:"";color:#0000}.ICfoyq_chipLabel{width:calc(138.889% - 10px);color:var(--dsw-alias-label-primary);white-space:nowrap;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)scale(.72)}.ICfoyq_chipInvalid{opacity:.7;background:#d8616133;text-decoration:line-through}`,Wn="@deepseek-ai/dsh-client-ui-conversation/InputBar.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Wn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Wn,e.textContent=Pr,document.head.appendChild(e)}var D={attachments:"ICfoyq_attachments",trailing:"ICfoyq_trailing",accessory:"ICfoyq_accessory",modes:"ICfoyq_modes",chipLabel:"ICfoyq_chipLabel",backdrop:"ICfoyq_backdrop",grow:"ICfoyq_grow",overlayAnchor:"ICfoyq_overlayAnchor",hlSegment:"ICfoyq_hlSegment",mirror:"ICfoyq_mirror",scroll:"ICfoyq_scroll",tools:"ICfoyq_tools",noticeError:"ICfoyq_noticeError",notice:"ICfoyq_notice",textRef:"ICfoyq_textRef",retry:"ICfoyq_retry",input:"ICfoyq_input",chip:"ICfoyq_chip",row:"ICfoyq_row",chipInvalid:"ICfoyq_chipInvalid",primary:"ICfoyq_primary",cardWorkspaceTrigger:"ICfoyq_cardWorkspaceTrigger",hint:"ICfoyq_hint",pending:"ICfoyq_pending",root:"ICfoyq_root",select:"ICfoyq_select",add:"ICfoyq_add",hlToken:"ICfoyq_hlToken",hero:"ICfoyq_hero",card:"ICfoyq_card","input-pending":"ICfoyq_input-pending"};const zr={token:null,chips:[],textRefs:[],hint:null};function Fr({useSession:e,useInput:t,inputActions:n,keyboard:s,addImages:o,removeImage:a,draftImages:l,resolveSubmitMode:c,toggleCommandMenu:d,stop:u,command:m,t:f,renderSlot:k,useNotices:g,useLexicon:y,useMenuLauncher:b,useProjection:w,sessionId:j,variant:x,disabled:A=!1,blocked:S,workspacePickerOpen:z=!1,onRequestWorkspace:ne,placeholder:Ee,accessory:he,overlay:Xe,leftItems:Z,rightItems:We,footer:be}){const L=t(p=>p),Q=g(p=>p),fe=y(p=>p),se=b(p=>p==="command"),ee=e(p=>p.promptError)??null,Te=e(p=>p.running)??!1,pe=e(p=>p.subagent)??null,me=e(p=>p.removed)??!1,Ge=w("plan",p=>p!==void 0&&(p.pending?!p.active:p.active)),Ve=w("goal",p=>p!=null),E=L!==void 0&&s!==void 0&&n!==void 0,G=L?.draft??"",de=(0,h.useMemo)(()=>L===void 0||l===void 0?[]:l(L.imageIds),[l,L?.imageIds]),we=G.trim()===""&&de.length===0,[ge,Le]=(0,h.useState)(null),[bt,He]=(0,h.useState)(!1),[lt,C]=(0,h.useState)(null),q=(0,h.useRef)(0),J=(0,h.useCallback)(p=>{q.current+=1,C({seq:q.current,text:p})},[]),ke=(0,h.useCallback)(()=>{C(null)},[]),F=w("imageLimits");(0,h.useEffect)(()=>{ee!==null&&J(ee.error.code==="attachment-error"?_r(f,ee.error.details.reason,F):`${ee.error.message} (${ee.error.code})`)},[ee,J,f,F]);const K=(0,h.useRef)(null),Be=(0,h.useRef)(null),_e=(0,h.useRef)(0),Ye=(0,h.useRef)(null),Ps=(0,h.useRef)(null),Ht=(0,h.useMemo)(()=>$r(navigator),[]),Yt=(0,h.useRef)(!1),Qt=(0,h.useRef)(!1),rl=r(()=>{Qt.current=!0},"onCompositionStart"),ol=r(()=>{setTimeout(()=>{Qt.current=!1},10)},"onCompositionEnd"),il=w("permissions"),zs=pe?.address.mode==="continuable",Fs=zs&&!pe.parentAvailable,wt=me||A||!E||S!==void 0||Fs,re=wt,al=me||A||!E,Ae=L?.phase==="adjudicating"||L?.phase==="submitting",qe=A&&!me&&ne!==void 0,ll=me||re&&!qe,Js=!re&&!Ae&&!se&&we&&Te&&pe===null&&L.queue.some(p=>p.placement==="queued");(0,h.useEffect)(()=>{L===void 0||n===void 0||de.length!==L.imageIds.length&&n.pruneImages(de.map(p=>p.id))},[de,L?.imageIds,n]),(0,h.useLayoutEffect)(()=>{const p=Yt.current;Yt.current=!1,Ht&&p&&Ur(K.current)},[G,Ht]),(0,h.useEffect)(()=>{ge!==null&&!de.some(p=>p.id===ge.id)&&Le(null)},[de,ge]);const Ks=r(p=>{const N=Ye.current,O=Ps.current,I=O?.firstChild;if(N===null||O===null||!(I instanceof Text)||N.scrollHeight<=N.clientHeight)return;const M=Math.min(p,I.data.length),H=M>0&&I.data[M-1]===`
|
|
1
|
+
var yl=Object.defineProperty;var r=(Ce,dt)=>yl(Ce,"name",{value:dt,configurable:!0});window.__ModuleLoader__.load({id:"@deepseek-ai/dsh-client-ui-conversation",factory:r(Ce=>{var dt={exports:{}},ut=dt.exports;Object.defineProperty(ut,Symbol.toStringTag,{value:"Module"});let Zs=Ce("@deepseek-ai/dsh-client-ui-slots"),B=Ce("@deepseek-ai/dsh-client-runtime/client"),er=Ce("@deepseek-ai/cordis"),i=Ce("react/jsx-runtime"),h=Ce("react"),_=Ce("@deepseek-ai/dsh-client-ui-primitives"),Ze=Ce("@deepseek-ai/dsh-client-ui-attachment");function tr(){return(0,B.defineStore)({init:r(()=>({selection:null,draft:"",view:null,inspect:null}),"init"),persist:"dsh.conversation.chat",actions:{select:r((e,t)=>{e.selection=t},"select"),setDraft:r((e,t)=>{e.draft=t},"setDraft"),setView:r((e,t)=>{e.view=t},"setView"),setInspect:r((e,t)=>{e.inspect=t},"setInspect")}})}r(tr,"createChatStore");function nr(e){return{kind:"image",id:crypto.randomUUID(),previewUrl:URL.createObjectURL(e),file:e}}r(nr,"browserDraftAttachment");var nn=class extends Error{static{r(this,"UnsupportedImageMediaTypeError")}mediaType;constructor(e){super(`unsupported image media type: ${e||"(empty)"}`),this.name="UnsupportedImageMediaTypeError",this.mediaType=e}},sn=class extends er.Service{static{r(this,"ConversationController")}input;blocks;draftAttachments=new Map;imageUrls=new Map;imageGenerations=new Map;createdImageUrls=new Set;disposed=!1;constructor(e,t){super(e,"conversation"),this.input=t.input,this.blocks=t.blocks,e.effect(()=>()=>{this.disposed=!0;for(const n of this.createdImageUrls)At(n);this.createdImageUrls.clear(),this.draftAttachments.clear(),this.imageUrls.clear(),this.imageGenerations.clear()},"conversation attachment URL cache")}async send(e){const t=await this.scopedSession("send").prompt([{type:"text",text:e}],"queue");if(!t.ok)throw new Error(`conversation.send failed: ${t.error.code}: ${t.error.message}`)}async sendSession(e,t,n,s){const o=this.draftImages(n);if(o.length!==n.length)throw new Error("conversation.sendSession: one or more draft images are no longer available");const a=[...await this.serializeImages(o.map(c=>c.file)),...t===""?[]:[{type:"text",text:t}]],l=await e.prompt(a,s);if(!l.ok)throw new Error(`conversation.send failed: ${l.error.code}: ${l.error.message}`);this.releaseDraftImages(o)}createDraftImages(e){for(const t of e)rn(t.type);return e.map(t=>{const n=nr(t);return this.draftAttachments.set(n.id,n),this.createdImageUrls.add(n.previewUrl),n})}draftImages(e){const t=[];for(const n of e){const s=this.draftAttachments.get(n);s!==void 0&&t.push(s)}return t}releaseDraftImage(e){const t=this.draftAttachments.get(e);t!==void 0&&(this.draftAttachments.delete(e),this.createdImageUrls.delete(t.previewUrl),At(t.previewUrl))}releaseDraftImages(e){for(const t of e)this.releaseDraftImage(t.id)}resolveImage(e,t){if(this.disposed)return Promise.reject(new Error("conversation.resolveImage: service is disposed"));const n=`${e}:${t.attachmentId}`,s=this.imageUrls.get(n);if(s!==void 0)return s.pending;const o=this.imageGenerations.get(e)??0,a=this.requireSessions().binding(e)?.session;if(a===void 0)return Promise.reject(new Error(`conversation.resolveImage: unknown session "${e}"`));const l=a.readAttachment(t.attachmentId).then(c=>{if(!c.ok)throw new Error(`${c.error.code}: ${c.error.message}`);if(this.disposed)throw new Error("conversation.resolveImage: service was disposed before loading completed");if((this.imageGenerations.get(e)??0)!==o)throw new Error("historical image scope was released before loading completed");if(typeof URL.createObjectURL!="function")return`data:${c.value.attachment.mediaType};base64,${on(c.value.data)}`;const d=Uint8Array.from(c.value.data),u=URL.createObjectURL(new Blob([d.buffer],{type:c.value.attachment.mediaType}));return this.createdImageUrls.add(u),u}).catch(c=>{throw this.imageUrls.get(n)?.generation===o&&this.imageUrls.delete(n),c});return this.imageUrls.set(n,{sessionId:e,generation:o,pending:l}),l}releaseSessionImages(e){this.imageGenerations.set(e,(this.imageGenerations.get(e)??0)+1);for(const[t,n]of this.imageUrls)n.sessionId===e&&(this.imageUrls.delete(t),n.pending.then(s=>{this.createdImageUrls.delete(s)&&At(s)},()=>{}))}async updateQueue(e,t){const n=await this.scopedSession("updateQueue").updateQueue(e,t);if(!n.ok){if(t.kind==="steer"&&(n.error.code==="steer-unavailable"||n.error.code==="queue-item-not-found"))return;throw new Error(`conversation.updateQueue failed: ${n.error.code}: ${n.error.message}`)}}async cancel(){const e=await this.scopedSession("cancel").cancel();if(!e.ok)throw new Error(`conversation.cancel failed: ${e.error.code}: ${e.error.message}`)}async loadOlder(){await this.scopedSession("loadOlder").loadOlder()}scopedSession(e){const t=this.scopeId(e),n=this.requireSessions().binding(t);if(n===void 0)throw new Error(`conversation.${e}: session "${t}" resolved no binding`);return n.session}scopeId(e){const t=this.requireSessions().scopeOf(this.ctx);if(t===void 0)throw new Error(`conversation.${e} requires a session scope — address one via ctx.sessions.scope(id).conversation`);return t}requireSessions(){const e=this.ctx.get("sessions");if(e===void 0)throw new Error("conversation: sessions service unavailable");return e}serializeImages(e){return Promise.all(e.map(async t=>({type:"image",mediaType:rn(t.type),data:on(new Uint8Array(await t.arrayBuffer())),...t.name===""?{}:{name:t.name}})))}};function rn(e){switch(e){case"image/png":case"image/jpeg":case"image/webp":case"image/gif":return e;default:throw new nn(e)}}r(rn,"imageMediaType");function on(e){let t="";for(let s=0;s<e.length;s+=32768)t+=String.fromCharCode(...e.subarray(s,s+32768));return btoa(t)}r(on,"bytesToBase64");function At(e){e.startsWith("blob:")&&URL.revokeObjectURL(e)}r(At,"revokePreview");var sr=class{static{r(this,"ComposerBlockRegistry")}stores=new Map;set(e,t){const n=this.storeFor(e);n.getSnapshot()?.reason!==t?.reason&&n.set(t)}storeFor(e){const t=this.stores.get(e);if(t!==void 0)return t;const n=(0,B.createSnapshotStore)(void 0);return this.stores.set(e,n),n}forget(e){this.stores.delete(e)}};function rr(e){return{getSnapshot:r(()=>e.getSnapshot().queue,"getSnapshot"),subscribe:r(t=>e.subscribe(t),"subscribe")}}r(rr,"queueReadFaceOf");const or=[],an=100;function ln(e){throw new Error(`unreachable input event: ${JSON.stringify(e)}`)}r(ln,"unreachable");function cn(e,t){const n=e.trimStart();if(n.startsWith(t))return n.slice(t.length);const s=t.trimEnd();if(n.startsWith(s)){const o=n.slice(s.length);return/^\s/.test(o)?o.slice(1):o}return""}r(cn,"argsAfter");function ir(e,t){let n=0;const s=Math.min(e.length,t.length);for(;n<s&&e[n]===t[n];)n+=1;let o=0;const a=s-n;for(;o<a&&e[e.length-1-o]===t[t.length-1-o];)o+=1;return{start:n,end:e.length-o,insertedLength:t.length-o-n}}r(ir,"diffEdit");var ar=class{static{r(this,"InputMachine")}draft="";draftRev=0;phase="plain";claim;occurrences=[];occurrenceSeq=0;seq=0;inflight;log=[];redoStack=[];typingRun;paste;pasteSeq=0;mergeWindowMs;now;constructor(e={}){this.mergeWindowMs=e.mergeWindowMs??1e3,this.now=e.now??(()=>0)}get state(){const e=this.claim;return{draft:this.draft,imageIds:[],draftRev:this.draftRev,phase:this.phase,...e?{claim:{token:e.token,...e.hint!==void 0?{hint:e.hint}:{}}}:{},occurrences:this.occurrences,...this.paste!==void 0?{paste:this.paste}:{},queue:or}}dispatch(e){switch(e.type){case"draft-changed":return this.onDraftChanged(e.draft,e.editRange);case"begin-command":return this.onBeginCommand(e.claim,e.span);case"insert-ref":return this.onInsertRef(e.reference,e.span);case"consume-token":return this.onConsumeToken(e.guard);case"set-invalid":return this.onSetInvalid(e.invalidIds);case"undo":return this.onUndo();case"redo":return this.onRedo();case"paste-begin":return this.onPasteBegin(e.text,e.selection,e.components,e.generation);case"paste-upgrade":return this.onPasteUpgrade(e.attemptId,e.span,e.reference);case"invalidate-paste":return this.paste=void 0,[];case"enter":return this.onEnter(e.mode);case"adjudicated":return this.onAdjudicated(e.attempt,e.outcome);case"adjudication-failed":return this.onAdjudicationFailed(e.attempt,e.message);case"submit-settled":return this.onSubmitSettled(e);case"send-committed":return this.onSendCommitted();case"release":return this.onRelease();default:return ln(e)}}adopt(e){this.draft=e,this.draftRev+=1}pushTxn(e){this.log.push({draftBefore:this.draft,occurrencesBefore:this.occurrences,...e!==void 0?{selectionBefore:e}:{}}),this.log.length>an&&this.log.shift(),this.redoStack=[]}reconcile(e){const t=e.insertedLength-(e.end-e.start),n=[];for(const s of this.occurrences)s.offset<e.start?n.push(s):s.offset>=e.end&&n.push(t===0?s:{...s,offset:s.offset+t});this.occurrences=n}watchClaim(){this.phase==="claimed"&&this.claim!==void 0&&!this.draft.startsWith(this.claim.token)&&(this.phase="plain",this.claim=void 0)}mint(e,t){return this.occurrenceSeq+=1,{occurrenceId:this.occurrenceSeq,source:e.source,ref:e.ref,offset:t,label:e.label,clipboardText:e.clipboardText}}withMinted(e){e.length!==0&&(this.occurrences=[...this.occurrences,...e].sort((t,n)=>t.offset-n.offset))}onDraftChanged(e,t){if(e===this.draft)return[];const n=t??ir(this.draft,e),s=n.start===n.end&&n.insertedLength===1,o=this.now(),a=this.typingRun;return s&&a!==void 0&&a.end===n.start&&o-a.at<=this.mergeWindowMs||this.pushTxn({start:n.start,end:n.end}),this.typingRun=s?{end:n.start+1,at:o}:void 0,this.reconcile(n),this.adopt(e),this.watchClaim(),this.paste=void 0,[]}casOk(e){return e.draftRev===this.draftRev&&e.start>=0&&e.start<=e.end&&e.end<=this.draft.length}onBeginCommand(e,t){return this.phase!=="plain"&&this.phase!=="claimed"?[]:!this.casOk(t)||this.draft.slice(0,t.start).trim()!==""?[]:(this.pushTxn(),this.typingRun=void 0,this.reconcile({start:0,end:t.end,insertedLength:e.token.length}),this.adopt(e.token+this.draft.slice(t.end)),this.claim=e,this.phase="claimed",this.paste=void 0,[])}onInsertRef(e,t){return this.phase!=="plain"&&this.phase!=="claimed"?[]:this.casOk(t)?(this.replaceSpanWithChip(e,t),this.paste=void 0,[]):[]}replaceSpanWithChip(e,t){this.pushTxn(),this.typingRun=void 0;const n=this.draft.slice(t.end),s=""+(n.length===0||n[0]!==" "?" ":"");return this.reconcile({start:t.start,end:t.end,insertedLength:s.length}),this.withMinted([this.mint(e,t.start)]),this.adopt(this.draft.slice(0,t.start)+s+n),this.watchClaim(),s.length}onConsumeToken(e){if(this.phase!=="plain"&&this.phase!=="claimed")return[];switch(e.kind){case"span":{const t=e.span;return!this.casOk(t)||t.start===t.end?[]:(this.pushTxn(),this.typingRun=void 0,this.reconcile({start:t.start,end:t.end,insertedLength:0}),this.adopt(this.draft.slice(0,t.start)+this.draft.slice(t.end)),this.watchClaim(),this.paste=void 0,[])}case"bare-token":return e.token===""||this.draft.trim()!==e.token?[]:(this.pushTxn(),this.typingRun=void 0,this.occurrences=[],this.adopt(""),this.watchClaim(),this.paste=void 0,[]);default:return ln(e)}}onSetInvalid(e){const t=new Set(e);return this.occurrences.some(n=>n.invalid===!0!==t.has(n.occurrenceId))?(this.occurrences=this.occurrences.map(n=>{const s=t.has(n.occurrenceId);if(n.invalid===!0===s)return n;const{invalid:o,...a}=n;return s?{...a,invalid:!0}:a}),[]):[]}onUndo(){const e=this.log.pop();return e===void 0?[]:(this.redoStack.push({draftBefore:this.draft,occurrencesBefore:this.occurrences}),this.occurrences=e.occurrencesBefore,this.adopt(e.draftBefore),this.watchClaim(),this.typingRun=void 0,this.paste=void 0,[])}onRedo(){const e=this.redoStack.pop();return e===void 0?[]:(this.log.push({draftBefore:this.draft,occurrencesBefore:this.occurrences}),this.log.length>an&&this.log.shift(),this.occurrences=e.occurrencesBefore,this.adopt(e.draftBefore),this.watchClaim(),this.typingRun=void 0,this.paste=void 0,[])}onPasteBegin(e,t,n=[],s=0){const{start:o,end:a}=t;if(o<0||o>a||a>this.draft.length)return[];const l=e.split("").join("");this.pushTxn(t),this.typingRun=void 0;const c=[...n].sort((f,k)=>f.start-k.start),d=[];let u="",m=0;for(const f of c)u+=l.slice(m,f.start),d.push(this.mint(f.reference,o+u.length)),u+="",m=f.end;return u+=l.slice(m),this.reconcile({start:o,end:a,insertedLength:u.length}),this.withMinted(d),this.adopt(this.draft.slice(0,o)+u+this.draft.slice(a)),this.watchClaim(),this.phase==="plain"||this.phase==="claimed"?(this.pasteSeq+=1,this.paste={attemptId:this.pasteSeq,insertedRange:{start:o,end:o+u.length},generation:s}):this.paste=void 0,[]}onPasteUpgrade(e,t,n){const s=this.paste;if(s===void 0||s.attemptId!==e)return[];if(this.phase!=="plain"&&this.phase!=="claimed")return[];if(!this.casOk(t)||t.start===t.end)return[];const o=this.replaceSpanWithChip(n,t);return this.paste={...s,insertedRange:{start:s.insertedRange.start,end:s.insertedRange.end+o-(t.end-t.start)}},[]}beginAttempt(e){const t=new AbortController;this.seq+=1;const n={seq:this.seq,signal:t.signal,draftSnapshot:this.draft,mode:e};return this.inflight={attempt:n,controller:t},n}onEnter(e){if(this.phase==="adjudicating"||this.phase==="submitting")return[];if(this.phase==="claimed"&&this.claim!==void 0){const n=this.beginAttempt(e);return this.phase="submitting",this.paste=void 0,[{type:"begin-submit",attempt:n,claim:this.claim,args:cn(this.draft,this.claim.token)}]}const t=this.draft.trim();if(t==="")return[];if(this.paste=void 0,t.startsWith("/")){const n=this.beginAttempt(e);return this.phase="adjudicating",[{type:"adjudicate",attempt:n,draft:this.draft}]}return[{type:"default-sink",draft:this.draft,mode:e}]}onAdjudicated(e,t){const n=this.inflight;return this.phase!=="adjudicating"||n===void 0||n.attempt.seq!==e.seq?[]:t!==void 0&&t!=="handled"&&"claim"in t?(this.claim=t.claim,this.phase="submitting",[{type:"begin-submit",attempt:e,claim:t.claim,args:cn(e.draftSnapshot,t.claim.token)}]):(this.inflight=void 0,this.phase="plain",t===void 0?[{type:"default-sink",draft:e.draftSnapshot,mode:e.mode}]:[])}onAdjudicationFailed(e,t){return this.phase!=="adjudicating"||this.inflight?.attempt.seq!==e.seq?[]:(this.inflight=void 0,this.phase="plain",[{type:"notice",level:"error",text:t}])}onSubmitSettled(e){const t=this.inflight;if(this.phase!=="submitting"||t===void 0||t.attempt.seq!==e.attempt.seq)return[];if(this.inflight=void 0,e.ok)return this.phase="plain",this.claim=void 0,this.occurrences=[],this.adopt(""),this.log=[],this.redoStack=[],this.typingRun=void 0,this.paste=void 0,e.outcome?.text!==void 0?[{type:"notice",level:e.outcome.kind==="error"?"error":"info",text:e.outcome.text}]:[];const n=e.message??e.outcome?.text??"command failed";return this.draft===t.attempt.draftSnapshot&&this.claim!==void 0&&this.draft.startsWith(this.claim.token)?(this.phase="claimed",[{type:"notice",level:"error",text:n}]):(this.phase="plain",this.claim=void 0,[{type:"notice",level:"error",text:n}])}onSendCommitted(){return this.claim=void 0,this.occurrences=[],this.adopt(""),this.log=[],this.redoStack=[],this.typingRun=void 0,this.paste=void 0,[]}onRelease(){return this.inflight!==void 0&&(this.inflight.controller.abort(),this.inflight=void 0),this.phase="plain",this.claim=void 0,this.typingRun=void 0,this.paste=void 0,[]}};function dn(e){switch(e){case"plain":return"plain";case"claimed":return"claimed";default:return"frozen"}}r(dn,"guardOf");const lr=[],cr=new Map;var dr=class{static{r(this,"SessionInputShell")}deps;state;notices=(0,B.createSnapshotStore)(null);actions={setDraft:r(e=>{this.setDraft(e)},"setDraft"),addImages:r(e=>this.addImages(e),"addImages"),removeImage:r(e=>{this.removeImage(e)},"removeImage"),pruneImages:r(e=>{this.pruneImages(e)},"pruneImages"),submit:r(()=>{this.submit("queue")},"submit")};core=new ar({now:r(()=>Date.now(),"now")});noticeSeq=0;lastDraft="";imageIds=[];disposed=!1;mirrorFn;constructor(e){this.deps=e,this.state=(0,B.createSnapshotStore)(this.compose()),e.queue?.subscribe(()=>{this.publish()})}setDraft(e,t){this.run(this.core.dispatch({type:"draft-changed",draft:e,...t!==void 0?{editRange:t}:{}}))}addImages(e){return this.snapshot.phase==="adjudicating"||this.snapshot.phase==="submitting"?!1:(e.length===0||(this.imageIds=[...this.imageIds,...e],this.publish()),!0)}removeImage(e){const t=this.imageIds.filter(n=>n!==e);t.length!==this.imageIds.length&&(this.imageIds=t,this.publish())}pruneImages(e){const t=new Set(e),n=this.imageIds.filter(s=>t.has(s));n.length!==this.imageIds.length&&(this.imageIds=n,this.publish())}restoreImages(e){const t=new Set(this.imageIds);this.imageIds=[...e.filter(n=>!t.has(n)),...this.imageIds],this.publish()}commitSend(e){const t=new Set(e);this.imageIds=this.imageIds.filter(n=>!t.has(n)),this.run(this.core.dispatch({type:"send-committed"}))}undo(){this.run(this.core.dispatch({type:"undo"}))}redo(){this.run(this.core.dispatch({type:"redo"}))}pasteBegin(e,t,n,s){this.run(this.core.dispatch({type:"paste-begin",text:e,selection:t,...n!==void 0?{components:n}:{},...s!==void 0?{generation:s}:{}}))}invalidatePaste(){this.run(this.core.dispatch({type:"invalidate-paste"}))}submit(e="queue"){if(this.snapshot.draft.trim()===""&&this.imageIds.length>0){this.snapshot.phase==="plain"&&this.deps.defaultSink("",[...this.imageIds],e);return}this.run(this.core.dispatch({type:"enter",mode:e}));const t=this.snapshot.phase;(t==="adjudicating"||t==="submitting")&&(this.deps.popup?.()?.dismiss(),this.deps.inputTriggers?.()?.track(this.snapshot.draft,0,{tier:"frozen"},this.snapshot.draftRev))}track(e,t){this.deps.inputTriggers?.()?.track(e,t,{tier:dn(this.snapshot.phase)},this.snapshot.draftRev)}arbitrate(e,t){return this.deps.inputTriggers?.()?.arbitrate(e,t)??"pass"}steerQueue(){this.deps.steerQueue?.()}space(){const e=this.deps.inputTriggers?.();if(e===void 0)return!1;const t=e.onSpace();if(t){const n=this.snapshot;e.track(n.draft,n.draft.length,{tier:dn(n.phase)},n.draftRev)}return t}dismissPopup(){this.deps.popup?.()?.dismiss()}lexicon={getSnapshot:r(()=>this.deps.inputTriggers?.()?.lexicon.getSnapshot()??cr,"getSnapshot"),subscribe:r(e=>this.deps.inputTriggers?.()?.lexicon.subscribe(e)??(()=>{}),"subscribe")};beginCommand(e,t){const n=this.core.state.draftRev;return this.run(this.core.dispatch({type:"begin-command",claim:e,span:t})),this.core.state.phase==="claimed"&&this.core.state.draftRev!==n}insertReference(e,t){const n=this.core.state.draftRev;return this.run(this.core.dispatch({type:"insert-ref",reference:e,span:t})),this.core.state.draftRev!==n}consumeToken(e){const t=this.core.state;if(e.kind==="span"){if(e.span.draftRev!==t.draftRev)return!1;const n=t.draft;return this.setDraft(n.slice(0,e.span.start)+n.slice(e.span.end)),!0}return t.draft.trim()!==e.token?!1:(this.setDraft(""),!0)}insertText(e,t){const n=this.core.state;if(t.draftRev!==n.draftRev)return!1;const s=n.draft;return this.setDraft(s.slice(0,t.start)+e+s.slice(t.end)),!0}notify(e,t){this.noticeSeq+=1,this.notices.set({level:e,text:t,seq:this.noticeSeq})}dispose(){this.disposed=!0,this.run(this.core.dispatch({type:"release"}))}get snapshot(){return this.state.getSnapshot()}bindMirror(e){return this.mirrorFn=e,()=>{this.mirrorFn===e&&(this.mirrorFn=void 0)}}run(e){for(const t of e)this.execute(t);this.publish()}execute(e){switch(e.type){case"notice":this.noticeSeq+=1,this.notices.set({level:e.level,text:e.text,seq:this.noticeSeq});return;case"adjudicate":this.adjudicate(e.attempt,e.draft);return;case"begin-submit":this.beginSubmit(e.attempt,e.claim,e.args);return;case"default-sink":this.sinkSerialized(e.draft,e.mode);return;default:return}}sinkSerialized(e,t){const n=[...this.imageIds],s=this.core.state.occurrences;if(s.length===0){this.deps.defaultSink(e.trim(),n,t);return}const o=this.deps.inputTriggers?.(),a=new AbortController;Promise.all(s.map(async l=>{if(o===void 0)throw new Error(`no serializer for reference source "${l.source}"`);return{offset:l.offset,text:await o.serializeReference(l.source,l.ref,a.signal)}})).then(l=>{if(this.disposed)return;let c="",d=0;for(const u of l)c+=e.slice(d,u.offset)+u.text,d=u.offset+1;c+=e.slice(d),this.deps.defaultSink(c.trim(),n,t)},l=>{if(a.abort(),this.disposed)return;const c=l instanceof Error?l.message:String(l);this.notify("error",c)})}adjudicate(e,t){const n=this.deps.inputTriggers?.();if(n===void 0){this.run(this.core.dispatch({type:"adjudicated",attempt:e,outcome:void 0}));return}n.adjudicate(t.trim(),e.signal).then(s=>{this.dead(e)||this.run(this.core.dispatch({type:"adjudicated",attempt:e,outcome:s}))},s=>{if(this.dead(e))return;const o=s instanceof Error?s.message:String(s);this.run(this.core.dispatch({type:"adjudication-failed",attempt:e,message:o}))})}beginSubmit(e,t,n){Promise.resolve().then(()=>t.submit(n,this.deps.actx)).then(s=>{this.dead(e)||this.run(this.core.dispatch({type:"submit-settled",attempt:e,ok:s.kind==="success",outcome:s}))},s=>{if(this.dead(e))return;const o=s instanceof Error?s.message:String(s);this.run(this.core.dispatch({type:"submit-settled",attempt:e,ok:!1,message:o}))})}dead(e){return this.disposed||e.signal.aborted}compose(){return{...this.core.state,imageIds:this.imageIds,queue:this.deps.queue?.getSnapshot()??lr}}publish(){const e=this.compose();this.state.set(e),e.draft!==this.lastDraft&&(this.lastDraft=e.draft,this.mirrorFn?.(e.draft))}},ur=class{static{r(this,"InputHub")}rootCtx;t;shells=new Map;constructor(e,t){this.rootCtx=e,this.t=t}for(e){const t=this.sessions().scopeOf(e);if(t===void 0)throw new Error("conversation.input.for requires a session scope");return this.shell(t)}shellFor(e){const t=this.shells.get(e.sessionId);if(t!==void 0)return t;const{sessionId:n,session:s,ctx:o}=e,a=new dr({actx:o,inputTriggers:r(()=>this.controller(o),"inputTriggers"),popup:r(()=>this.popup(o),"popup"),queue:rr(s),defaultSink:r((l,c,d)=>{this.sink(s,l,c,d)},"defaultSink"),steerQueue:r(()=>{this.steerQueue(s,a)},"steerQueue")});return this.shells.set(n,a),o.effect(()=>{const l=[o.on("slash/input-begin-command",c=>a.beginCommand(c.claim,c.span)?!0:void 0),o.on("slash/input-insert-reference",c=>a.insertReference(c.reference,c.span)?!0:void 0),o.on("slash/input-consume-token",c=>a.consumeToken(c.guard)?!0:void 0),o.on("slash/input-insert-text",c=>a.insertText(c.text,c.span)?!0:void 0)];return()=>{for(const u of l)u();const c=a.snapshot.imageIds;a.dispose(),this.shells.delete(n);const d=this.rootCtx.get("conversation");for(const u of c)d?.releaseDraftImage(u)}},"conversation.input: session shell"),a}shell(e){const t=this.shells.get(e);if(t!==void 0)return t;const n=this.sessions().binding(e);if(n===void 0)throw new Error(`conversation.input: session "${e}" resolved no binding`);return this.shellFor(n)}keyboard(e){return this.shell(e)}inputTriggers(e){const t=this.sessions().scope(e);return t===void 0?void 0:this.controller(t)}sink(e,t,n,s){if(t===""&&n.length===0)return;const o=this.shells.get(e.sessionId);o?.commitSend(n),this.conversation().sendSession(e,t,n,s).catch(()=>{if(this.shells.get(e.sessionId)===o){o?.restoreImages(n),o?.snapshot.draft===""&&o.setDraft(t);return}const a=this.rootCtx.get("conversation");for(const l of n)a?.releaseDraftImage(l)})}async steerQueue(e,t){const n=e.getSnapshot().queue.filter(s=>s.placement==="queued");if(n.length!==0)for(const s of n){const o=await e.updateQueue(s.id,{kind:"steer"});if(!o.ok){if(o.error.code==="steer-unavailable"||o.error.code==="queue-item-not-found")return;t.notify("error",this.t("queue.steerFailed"));return}}}controller(e){return this.rootCtx.get("inputTriggers")?.sessionOf(e)}popup(e){return this.rootCtx.get("commandUi")?.popupFor(e)}sessions(){const e=this.rootCtx.get("sessions");if(e===void 0)throw new Error("conversation.input: sessions service unavailable");return e}conversation(){const e=this.rootCtx.get("conversation");if(e===void 0)throw new Error("conversation.input: conversation service unavailable");return e}};function oe(e){return e==null}r(oe,"isNullable");function St(e){return e&&typeof e=="object"&&!Array.isArray(e)}r(St,"isPlainObject");function pr(e,t){return Object.fromEntries(Object.entries(e).filter(([n,s])=>t(n,s)))}r(pr,"filterKeys");function Re(e,t){return Object.fromEntries(Object.entries(e).map(([n,s])=>[n,t(s,n)]))}r(Re,"mapValues");function hr(e,t,n){if(!t)return{...e};const s={};for(const o of t)(n||e[o]!==void 0)&&(s[o]=e[o]);return s}r(hr,"pick");function $e(e,t){return arguments.length===1?n=>$e(e,n):e in globalThis&&t instanceof globalThis[e]||Object.prototype.toString.call(t).slice(8,-1)===e}r($e,"is");function pt(e){return $e("ArrayBuffer",e)||$e("SharedArrayBuffer",e)}r(pt,"isArrayBufferLike");function fr(e){return pt(e)||ArrayBuffer.isView(e)}r(fr,"isArrayBufferSource");let ye;(function(e){e.is=pt,e.isSource=fr;function t(l){return ArrayBuffer.isView(l)?l.buffer.slice(l.byteOffset,l.byteOffset+l.byteLength):l}r(t,"fromSource"),e.fromSource=t;function n(l){if(l=t(l),typeof Buffer<"u")return Buffer.from(l).toString("base64");let c="";const d=new Uint8Array(l);for(let u=0;u<d.byteLength;u++)c+=String.fromCharCode(d[u]);return btoa(c)}r(n,"toBase64"),e.toBase64=n;function s(l){return typeof Buffer<"u"?t(Buffer.from(l,"base64")):Uint8Array.from(atob(l),c=>c.charCodeAt(0))}r(s,"fromBase64"),e.fromBase64=s;function o(l){return l=t(l),typeof Buffer<"u"?Buffer.from(l).toString("hex"):Array.from(new Uint8Array(l),c=>c.toString(16).padStart(2,"0")).join("")}r(o,"toHex"),e.toHex=o;function a(l){if(typeof Buffer<"u")return t(Buffer.from(l,"hex"));const c=l.length%2===0?l:l.slice(0,l.length-1),d=[];for(let u=0;u<c.length;u+=2)d.push(parseInt(`${c[u]}${c[u+1]}`,16));return Uint8Array.from(d).buffer}r(a,"fromHex"),e.fromHex=a})(ye||(ye={})),ye.fromBase64,ye.toBase64,ye.fromHex,ye.toHex;function Ct(e,t=new Map){if(!e||typeof e!="object")return e;if($e("Date",e))return new Date(e.valueOf());if($e("RegExp",e))return new RegExp(e.source,e.flags);if(pt(e))return e.slice(0);if(ArrayBuffer.isView(e))return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);const n=t.get(e);if(n)return n;if(Array.isArray(e)){const o=[];return t.set(e,o),e.forEach((a,l)=>{o[l]=Reflect.apply(Ct,null,[a,t])}),o}const s=Object.create(Object.getPrototypeOf(e));t.set(e,s);for(const o of Reflect.ownKeys(e)){const a={...Reflect.getOwnPropertyDescriptor(e,o)};"value"in a&&(a.value=Reflect.apply(Ct,null,[a.value,t])),Reflect.defineProperty(s,o,a)}return s}r(Ct,"clone");function et(e,t,n){if(e===t||!n&&oe(e)&&oe(t))return!0;if(typeof e!=typeof t||typeof e!="object"||!e||!t)return!1;function s(o,a){return o(e)?o(t)?a(e,t):!1:o(t)?!1:void 0}return r(s,"check"),s(Array.isArray,(o,a)=>o.length===a.length&&o.every((l,c)=>et(l,a[c])))??s($e("Date"),(o,a)=>o.valueOf()===a.valueOf())??s($e("RegExp"),(o,a)=>o.source===a.source&&o.flags===a.flags)??s(pt,(o,a)=>{if(o.byteLength!==a.byteLength)return!1;const l=new Uint8Array(o),c=new Uint8Array(a);for(let d=0;d<l.length;d++)if(l[d]!==c[d])return!1;return!0})??Object.keys({...e,...t}).every(o=>et(e[o],t[o],n))}r(et,"deepEqual");let un;(function(e){e.millisecond=1;const t=e.second=1e3,n=e.minute=t*60,s=e.hour=n*60,o=e.day=s*24,a=e.week=o*7;let l=new Date().getTimezoneOffset();function c(x){l=x}r(c,"setTimezoneOffset"),e.setTimezoneOffset=c;function d(){return l}r(d,"getTimezoneOffset"),e.getTimezoneOffset=d;function u(x=new Date,A){return typeof x=="number"&&(x=new Date(x)),A===void 0&&(A=l),Math.floor((x.valueOf()/n-A)/1440)}r(u,"getDateNumber"),e.getDateNumber=u;function m(x,A){const S=new Date(x*o);return A===void 0&&(A=l),new Date(+S+A*n)}r(m,"fromDateNumber"),e.fromDateNumber=m;const f=/\d+(?:\.\d+)?/.source,k=new RegExp(`^${["w(?:eek(?:s)?)?","d(?:ay(?:s)?)?","h(?:our(?:s)?)?","m(?:in(?:ute)?(?:s)?)?","s(?:ec(?:ond)?(?:s)?)?"].map(x=>`(${f}${x})?`).join("")}$`);function g(x){const A=k.exec(x);return A?(parseFloat(A[1])*a||0)+(parseFloat(A[2])*o||0)+(parseFloat(A[3])*s||0)+(parseFloat(A[4])*n||0)+(parseFloat(A[5])*t||0):0}r(g,"parseTime"),e.parseTime=g;function y(x){const A=g(x);return A?x=Date.now()+A:/^\d{1,2}(:\d{1,2}){1,2}$/.test(x)?x=`${new Date().toLocaleDateString()}-${x}`:/^\d{1,2}-\d{1,2}-\d{1,2}(:\d{1,2}){1,2}$/.test(x)&&(x=`${new Date().getFullYear()}-${x}`),x?new Date(x):new Date}r(y,"parseDate"),e.parseDate=y;function b(x){const A=Math.abs(x);return A>=o-s/2?Math.round(x/o)+"d":A>=s-n/2?Math.round(x/s)+"h":A>=n-t/2?Math.round(x/n)+"m":A>=t?Math.round(x/t)+"s":x+"ms"}r(b,"format"),e.format=b;function w(x,A=2){return x.toString().padStart(A,"0")}r(w,"toDigits"),e.toDigits=w;function j(x,A=new Date){return x.replace("yyyy",A.getFullYear().toString()).replace("yy",A.getFullYear().toString().slice(2)).replace("MM",w(A.getMonth()+1)).replace("dd",w(A.getDate())).replace("hh",w(A.getHours())).replace("mm",w(A.getMinutes())).replace("ss",w(A.getSeconds())).replace("SSS",w(A.getMilliseconds(),3))}r(j,"template"),e.template=j})(un||(un={}));const ht=Symbol.for("schemastery"),pn=Symbol.for("ValidationError");globalThis.__schemastery_index__??=0,globalThis.__schemastery_refs__=void 0;var W=class extends TypeError{static{r(this,"ValidationError")}options;name="ValidationError";constructor(e,t){let n="$";for(const s of t.path||[])typeof s=="string"?n+="."+s:typeof s=="number"?n+="["+s+"]":typeof s=="symbol"&&(n+=`[Symbol(${s.toString()})]`);n.startsWith(".")&&(n=n.slice(1)),super((n==="$"?"":`${n} `)+e),this.options=t}static is(e){return!!e?.[pn]}};Object.defineProperty(W.prototype,pn,{value:!0});const v=r(function(e){const t=r(function(n,s={}){return v.resolve(n,t,s)[0]},"schema");if(e.refs){const n=Re(e.refs,o=>new v(o)),s=r(o=>n[o],"getRef");for(const o in n){const a=n[o];a.sKey=s(a.sKey),a.inner=s(a.inner),a.list=a.list&&a.list.map(s),a.dict=a.dict&&Re(a.dict,s)}return n[e.uid]}if(Object.assign(t,e),typeof t.callback=="string")try{t.callback=new Function("return "+t.callback)()}catch{}return Object.defineProperty(t,"uid",{value:globalThis.__schemastery_index__++}),Object.setPrototypeOf(t,v.prototype),t.meta||={},t.toString=t.toString.bind(t),t},"Schema");v.prototype=Object.create(Function.prototype),v.prototype[ht]=!0,Object.defineProperty(v.prototype,"~standard",{get(){return{version:1,vendor:"schemastery",validate:r(e=>{try{return{value:v.resolve(e,this,{})[0]}}catch(t){if(W.is(t))return{issues:[{message:t.message,path:t.options.path}]};throw t}},"validate")}}}),v.ValidationError=W,v.prototype.toJSON=r(function(){if(globalThis.__schemastery_refs__)return globalThis.__schemastery_refs__[this.uid]??=JSON.parse(JSON.stringify({...this})),this.uid;globalThis.__schemastery_refs__={[this.uid]:{...this}},globalThis.__schemastery_refs__[this.uid]=JSON.parse(JSON.stringify({...this}));const t={uid:this.uid,refs:globalThis.__schemastery_refs__};return globalThis.__schemastery_refs__=void 0,t},"toJSON"),v.prototype.set=r(function(t,n){return this.dict[t]=n,this},"set"),v.prototype.push=r(function(t){return this.list.push(t),this},"push");function mr(e,t){const n=typeof e=="string"?{"":e}:{...e};for(const s in t){const o=t[s];o?.$description||o?.$desc?n[s]=o.$description||o.$desc:typeof o=="string"&&(n[s]=o)}return n}r(mr,"mergeDesc");function tt(e){return e?.$value??e?.$inner}r(tt,"getInner");function hn(e){return pr(e??{},t=>!t.startsWith("$"))}r(hn,"extractKeys"),v.prototype.i18n=r(function(t){const n=v(this),s=mr(n.meta.description,t);return Object.keys(s).length&&(n.meta.description=s),n.dict&&(n.dict=Re(n.dict,(o,a)=>o.i18n(Re(t,l=>tt(l)?.[a]??l?.[a])))),n.list&&(n.list=n.list.map((o,a)=>o.i18n(Re(t,(l={})=>Array.isArray(tt(l))?tt(l)[a]:Array.isArray(l)?l[a]:hn(l))))),n.inner&&(n.inner=n.inner.i18n(Re(t,o=>tt(o)?tt(o):hn(o)))),n.sKey&&(n.sKey=n.sKey.i18n(Re(t,o=>o?.$key))),n},"i18n"),v.prototype.extra=r(function(t,n){const s=v(this);return s.meta={...s.meta,[t]:n},s},"extra");for(const e of["required","disabled","collapse","hidden","loose"])Object.assign(v.prototype,{[e](t=!0){const n=v(this);return n.meta={...n.meta,[e]:t},n}});v.prototype.deprecated=r(function(){const t=v(this);return t.meta.badges||=[],t.meta.badges.push({text:"deprecated",type:"danger"}),t},"deprecated"),v.prototype.experimental=r(function(){const t=v(this);return t.meta.badges||=[],t.meta.badges.push({text:"experimental",type:"warning"}),t},"experimental"),v.prototype.pattern=r(function(t){const n=v(this),s=hr(t,["source","flags"]);return n.meta={...n.meta,pattern:s},n},"pattern"),v.prototype.simplify=r(function(t){if(et(t,this.meta.default,this.type==="dict"))return null;if(oe(t))return t;if(this.type==="object"||this.type==="dict"){const n={};for(const s in t){const o=(this.type==="object"?this.dict[s]:this.inner)?.simplify(t[s]);(this.type==="dict"||!oe(o))&&(n[s]=o)}return et(n,this.meta.default,this.type==="dict")?null:n}else if(this.type==="array"||this.type==="tuple"){const n=[];return t.forEach((s,o)=>{const a=this.type==="array"?this.inner:this.list[o],l=a?a.simplify(s):s;n.push(l)}),n}else if(this.type==="intersect"){const n={};for(const s of this.list)Object.assign(n,s.simplify(t));return n}else if(this.type==="union")for(const n of this.list)try{return v.resolve(t,n,{}),n.simplify(t)}catch{}return t},"simplify"),v.prototype.toString=r(function(t){return mn[this.type]?.(this,t)??`Schema<${this.type}>`},"toString"),v.prototype.role=r(function(e,t){const n=v(this);return n.meta={...n.meta,role:e,extra:t},n},"role");for(const e of["default","link","comment","description","max","min","step"])Object.assign(v.prototype,{[e](t){const n=v(this);return n.meta={...n.meta,[e]:t},n}});const fn={};v.extend=r(function(t,n){fn[t]=n},"extend"),v.resolve=r(function(t,n,s={},o=!1){if(!n)return[t];if(s.ignore?.(t,n))return[t];if(oe(t)&&n.type!=="lazy"){if(n.meta.required)throw new W("missing required value",s);let l=n,c=n.meta.default;for(;l?.type==="intersect"&&oe(c);)l=l.list[0],c=l?.meta.default;if(oe(c))return[t];t=Ct(c)}const a=fn[n.type];if(!a)throw new W(`unsupported type "${n.type}"`,s);try{return a(t,n,s,o)}catch(l){if(!n.meta.loose)throw l;return[n.meta.default]}},"resolve"),v.from=r(function(t){if(oe(t))return v.any();if(["string","number","boolean"].includes(typeof t))return v.const(t).required();if(t[ht])return t;if(typeof t=="function")switch(t){case String:return v.string().required();case Number:return v.number().required();case Boolean:return v.boolean().required();case Function:return v.function().required();default:return v.is(t).required()}else throw new TypeError(`cannot infer schema from ${t}`)},"from"),v.lazy=r(function(t){const n=r(()=>(s.inner[ht]||(s.inner=s.builder(),s.inner.meta={...s.meta,...s.inner.meta}),s.inner.toJSON()),"toJSON"),s=new v({type:"lazy",builder:t,inner:{toJSON:n}});return s},"lazy"),v.natural=r(function(){return v.number().step(1).min(0)},"natural"),v.percent=r(function(){return v.number().step(.01).min(0).max(1).role("slider")},"percent"),v.date=r(function(){return v.union([v.is(Date),v.transform(v.string().role("datetime"),(t,n)=>{const s=new Date(t);if(isNaN(+s))throw new W(`invalid date "${t}"`,n);return s},!0)])},"date"),v.regExp=r(function(t=""){return v.union([v.is(RegExp),v.transform(v.string().role("regexp",{flag:t}),(n,s)=>{try{return new RegExp(n,t)}catch(o){throw new W(o.message,s)}},!0)])},"regExp"),v.arrayBuffer=r(function(t){return v.union([v.is(ArrayBuffer),v.is(SharedArrayBuffer),v.transform(v.any(),(n,s)=>{if(ye.isSource(n))return ye.fromSource(n);throw new W(`expected ArrayBufferSource but got ${n}`,s)},!0),...t?[v.transform(v.string(),(n,s)=>{try{return t==="base64"?ye.fromBase64(n):ye.fromHex(n)}catch(o){throw new W(o.message,s)}},!0)]:[]])},"arrayBuffer"),v.extend("lazy",(e,t,n,s)=>(t.inner[ht]||(t.inner=t.builder(),t.inner.meta={...t.meta,...t.inner.meta}),v.resolve(e,t.inner,n,s))),v.extend("any",e=>[e]),v.extend("never",(e,t,n)=>{throw new W(`expected nullable but got ${e}`,n)}),v.extend("const",(e,{value:t},n)=>{if(et(e,t))return[t];throw new W(`expected ${t} but got ${e}`,n)});function jt(e,t,n,s,o=!1){const{max:a=1/0,min:l=-1/0}=t;if(e>a)throw new W(`expected ${n} <= ${a} but got ${e}`,s);if(e<l&&!o)throw new W(`expected ${n} >= ${l} but got ${e}`,s)}r(jt,"checkWithinRange"),v.extend("string",(e,{meta:t},n)=>{if(typeof e!="string")throw new W(`expected string but got ${e}`,n);if(t.pattern){const s=new RegExp(t.pattern.source,t.pattern.flags);if(!s.test(e))throw new W(`expect string to match regexp ${s}`,n)}return jt(e.length,t,"string length",n),[e]});function It(e,t){const n=e.toString();if(n.includes("e"))return e*Math.pow(10,t);const s=n.indexOf(".");if(s===-1)return e*Math.pow(10,t);const o=n.slice(s+1),a=n.slice(0,s);return o.length<=t?+(a+o.padEnd(t,"0")):+(a+o.slice(0,t)+"."+o.slice(t))}r(It,"decimalShift");function gr(e,t,n){if(n=Math.abs(n),!/^\d+\.\d+$/.test(n.toString()))return(e-t)%n===0;const s=n.toString().indexOf("."),o=n.toString().slice(s+1).length;return Math.abs(It(e,o)-It(t,o))%It(n,o)===0}r(gr,"isMultipleOf"),v.extend("number",(e,{meta:t},n)=>{if(typeof e!="number")throw new W(`expected number but got ${e}`,n);jt(e,t,"number",n);const{step:s}=t;if(s&&!gr(e,t.min??0,s))throw new W(`expected number multiple of ${s} but got ${e}`,n);return[e]}),v.extend("boolean",(e,t,n)=>{if(typeof e=="boolean")return[e];throw new W(`expected boolean but got ${e}`,n)}),v.extend("bitset",(e,{bits:t,meta:n},s)=>{let o=0,a=[];if(typeof e=="number"){o=e;for(const l in t)e&t[l]&&a.push(l)}else if(Array.isArray(e)){a=e;for(const l of a){if(typeof l!="string")throw new W(`expected string but got ${l}`,s);l in t&&(o|=t[l])}}else throw new W(`expected number or array but got ${e}`,s);return o===n.default?[o]:[o,a]}),v.extend("function",(e,t,n)=>{if(typeof e=="function")return[e];throw new W(`expected function but got ${e}`,n)}),v.extend("is",(e,{constructor:t},n)=>{if(typeof t=="function"){if(e instanceof t)return[e];throw new W(`expected ${t.name} but got ${e}`,n)}else{if(oe(e))throw new W(`expected ${t} but got ${e}`,n);let s=Object.getPrototypeOf(e);for(;s;){if(s.constructor?.name===t)return[e];s=Object.getPrototypeOf(s)}throw new W(`expected ${t} but got ${e}`,n)}});function ft(e,t,n,s){try{const[o,a]=v.resolve(e[t],n,{...s,path:[...s.path||[],t]});return a!==void 0&&(e[t]=a),o}catch(o){if(!s?.autofix)throw o;return delete e[t],n.meta.default}}r(ft,"property"),v.extend("array",(e,{inner:t,meta:n},s)=>{if(!Array.isArray(e))throw new W(`expected array but got ${e}`,s);return jt(e.length,n,"array length",s,!oe(t.meta.default)),[e.map((o,a)=>ft(e,a,t,s))]}),v.extend("dict",(e,{inner:t,sKey:n},s,o)=>{if(!St(e))throw new W(`expected object but got ${e}`,s);const a={};for(const l in e){let c;try{c=v.resolve(l,n,s)[0]}catch(d){if(o)continue;throw d}a[c]=ft(e,l,t,s),e[c]=e[l],l!==c&&delete e[l]}return[a]}),v.extend("tuple",(e,{list:t},n,s)=>{if(!Array.isArray(e))throw new W(`expected array but got ${e}`,n);const o=t.map((a,l)=>ft(e,l,a,n));return s?[o]:(o.push(...e.slice(t.length)),[o])});function Nt(e,t){for(const n in t)n in e||(e[n]=t[n])}r(Nt,"merge"),v.extend("object",(e,{dict:t},n,s)=>{if(!St(e))throw new W(`expected object but got ${e}`,n);const o={};for(const a in t){const l=ft(e,a,t[a],n);(!oe(l)||a in e)&&(o[a]=l)}return s||Nt(o,e),[o]}),v.extend("union",(e,{list:t,toString:n},s,o)=>{const a=[];for(const l of t)try{return v.resolve(e,l,s,o)}catch(c){a.push(c)}throw new W(`expected ${n()} but got ${JSON.stringify(e)}`,s)}),v.extend("intersect",(e,{list:t,toString:n},s,o)=>{if(!t.length)return[e];let a;for(const l of t){const c=v.resolve(e,l,s,!0)[0];if(!oe(c))if(oe(a))a=c;else{if(typeof a!=typeof c)throw new W(`expected ${n()} but got ${JSON.stringify(e)}`,s);if(typeof c=="object")Nt(a??={},c);else if(a!==c)throw new W(`expected ${n()} but got ${JSON.stringify(e)}`,s)}}return!o&&St(e)&&Nt(a,e),[a]}),v.extend("transform",(e,{inner:t,callback:n,preserve:s},o)=>{const[a,l=e]=v.resolve(e,t,o,!0);return s?[n(a)]:[n(a),n(l)]});const mn={};function Y(e,t,n){mn[e]=n,Object.assign(v,{[e](...s){const o=new v({type:e});return t.forEach((a,l)=>{switch(a){case"sKey":o.sKey=s[l]??v.string();break;case"inner":o.inner=v.from(s[l]);break;case"list":o.list=s[l].map(v.from);break;case"dict":o.dict=Re(s[l],v.from);break;case"bits":o.bits={};for(const c in s[l])typeof s[l][c]=="number"&&(o.bits[c]=s[l][c]);break;case"callback":{const c=o.callback=s[l];c.toJSON||=()=>c.toString();break}case"constructor":{const c=o.constructor=s[l];typeof c=="function"&&(c.toJSON||=()=>c.name);break}default:o[a]=s[l]}}),e==="object"||e==="dict"?o.meta.default={}:e==="array"||e==="tuple"?o.meta.default=[]:e==="bitset"&&(o.meta.default=0),o}})}r(Y,"defineMethod"),Y("is",["constructor"],({constructor:e})=>typeof e=="function"?e.name:e),Y("any",[],()=>"any"),Y("never",[],()=>"never"),Y("const",["value"],({value:e})=>typeof e=="string"?JSON.stringify(e):e),Y("string",[],()=>"string"),Y("number",[],()=>"number"),Y("boolean",[],()=>"boolean"),Y("bitset",["bits"],()=>"bitset"),Y("function",[],()=>"function"),Y("array",["inner"],({inner:e})=>`${e.toString(!0)}[]`),Y("dict",["inner","sKey"],({inner:e,sKey:t})=>`{ [key: ${t.toString()}]: ${e.toString()} }`),Y("tuple",["list"],({list:e})=>`[${e.map(t=>t.toString()).join(", ")}]`),Y("object",["dict"],({dict:e})=>Object.keys(e).length===0?"{}":`{ ${Object.entries(e).map(([t,n])=>`${t}${n.meta.required?"":"?"}: ${n.toString()}`).join(", ")} }`),Y("union",["list"],({list:e},t)=>{const n=e.map(({toString:s})=>s()).join(" | ");return t?`(${n})`:n}),Y("intersect",["list"],({list:e})=>`${e.map(t=>t.toString(!0)).join(" & ")}`),Y("transform",["inner","callback","preserve"],({inner:e},t)=>e.toString(t));const vr="ui-conversation",gn="busyEnter",yr=["queue","steer"],vn="queue";v.object({[gn]:v.union([...yr]).default(vn)});var xr=class{static{r(this,"ComposerSubmissionPolicy")}busyEnter=(0,B.createSnapshotStore)(vn);host;constructor(e){this.host=e,e!==void 0&&(e.subscribe(()=>{this.adopt(e)}),this.adopt(e))}resolve(e,t,n){if(!e||!n)return"queue";const s=this.busyEnter.getSnapshot();return t==="enter"?s:s==="queue"?"steer":"queue"}setBusyEnter(e){this.busyEnter.getSnapshot()!==e&&(this.busyEnter.set(e),this.host?.set(gn,e))}adopt(e){const t=e.getSnapshot().value;t===void 0||this.busyEnter.getSnapshot()===t.busyEnter||this.busyEnter.set(t.busyEnter)}};function yn(e){var t,n,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=yn(e[t]))&&(s&&(s+=" "),s+=n)}else for(n in e)e[n]&&(s&&(s+=" "),s+=n);return s}r(yn,"r");function je(){for(var e,t,n=0,s="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=yn(e))&&(s&&(s+=" "),s+=t);return s}r(je,"clsx");const xn=/(^|\s)([/@])([\w-]+)/g;function br(e,t){if(t.size===0||e==="")return[];const n=[];xn.lastIndex=0;let s;for(;(s=xn.exec(e))!==null;){const o=s[2],a=s[3]??"";if(t.get(o)?.includes(a)){const l=s.index+(s[1]?.length??0);n.push({start:l,end:l+1+a.length,trigger:o})}}return n}r(br,"scanTextRefs");const wr=new Map;function kr(e,t=wr){const{draft:n,claim:s,phase:o,occurrences:a}=e,l=(o==="claimed"||o==="submitting")&&s!==void 0&&n.startsWith(s.token),c=l?{start:0,end:s.token.length}:null,d=a.map(m=>({occurrenceId:m.occurrenceId,offset:m.offset,label:m.label,invalid:m.invalid===!0})),u=l&&s.hint!==void 0&&n.slice(s.token.length).trim()===""?s.hint:null;return{token:c,chips:d,textRefs:br(n,t),hint:u}}r(kr,"deriveDecorations");function nt(e){const t=e/1048576;return`${Number.isInteger(t)?String(t):t.toFixed(1)}MB`}r(nt,"imageSizeText");function _r(e,t,n){switch(t){case"MODEL_DOES_NOT_SUPPORT_IMAGES":return e("image.modelUnsupported");case"SUBAGENT_IMAGE_UNSUPPORTED":return e("image.subagentUnsupported");case"IMAGE_TOO_MANY_PIXELS":return e("image.tooManyPixels");case"INVALID_IMAGE":case"IMAGE_TYPE_MISMATCH":return e("image.unsupportedType");case"TOO_MANY_IMAGES":if(n!==void 0)return e("image.tooMany",{count:n.maxImagesPerMessage});break;case"IMAGE_TOO_LARGE":if(n!==void 0)return e("image.fileTooLarge",{size:nt(n.maxImageBytes)});break;case"IMAGES_TOO_LARGE":if(n!==void 0)return e("image.totalTooLarge",{size:nt(n.maxMessageImageBytes)})}return e("image.sendFailed",{reason:t})}r(_r,"attachmentErrorText");function bn(e){return{dialog:e("image.preview"),close:e("image.closePreview")}}r(bn,"lightboxLabels");function wn(e){return{image:e("image.label"),open:e("image.openOriginal"),openNamed:r(t=>e("image.openOriginalLabel",{label:t}),"openNamed"),loading:e("image.loading"),loadFailed:e("image.loadFailed"),lightbox:bn(e)}}r(wn,"messageImageLabels");function Ar(e,t,n){return t?{title:e("image.dropTitle"),desc:n===void 0?void 0:e("image.dropDesc",{count:n.count,size:n.size})}:{title:e("image.dropBlocked")}}r(Ar,"dropOverlayLabels");function Sr(e){return{group:e("image.pending"),open:e("image.openOriginal"),scrollLeft:e("image.scrollLeft"),scrollRight:e("image.scrollRight")}}r(Sr,"attachmentRailLabels");function kn(e){return String(e).padStart(2,"0")}r(kn,"pad2");function _n(e){const t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}r(_n,"startOfLocalDay");function An(e){const t=new Date(e);return t.setHours(24,0,0,0),Math.max(t.getTime()-e,1)}r(An,"msUntilNextLocalMidnight");function Sn(e,t){const n=Math.max(0,Math.floor(e/1e3)),s=Math.floor(n/60),o=n%60;return s>0?t("duration.minutes",{minutes:s,seconds:String(o).padStart(2,"0")}):t("duration.seconds",{seconds:o})}r(Sn,"formatRunDuration");function Cr(e){const t=Math.max(0,e)/1e3;return t<10?String(Math.round(t*10)/10):String(Math.round(t))}r(Cr,"formatLatencySeconds");function Cn(e){const t=Math.max(0,e);return t>=10?String(Math.round(t)):String(Math.round(t*10)/10)}r(Cn,"formatTokensPerSecond");function jr(e,t,n=Date.now()){const s=new Date(e),o=new Date(n),a=`${kn(s.getHours())}:${kn(s.getMinutes())}`;if(s.getFullYear()===o.getFullYear()&&s.getMonth()===o.getMonth()&&s.getDate()===o.getDate())return a;const l={y:s.getFullYear(),m:s.getMonth()+1,d:s.getDate()};return`${s.getFullYear()===o.getFullYear()?t("clock.md",l):t("clock.ymd",l)} ${a}`}r(jr,"formatMessageClock");function Ir(e){if(typeof e!="object"||e===null)return null;const t=e.outputTokens;return typeof t=="number"&&Number.isFinite(t)&&t>=0?t:null}r(Ir,"usageOutputTokens");function jn(e){const t=e.timing;return{ttftMs:t!==void 0&&t.stepStartTime!==null&&t.firstTokenTime!==null?Math.max(0,t.firstTokenTime-t.stepStartTime):null,decodeMs:t!==void 0&&t.firstTokenTime!==null?Math.max(0,t.completedTime-t.firstTokenTime):null,outputTokens:Ir(e.usage)}}r(jn,"assistantStepReading");function Nr(e){const t=new Map;for(const s of e){if(s.kind!=="assistant")continue;const o=jn(s);let a=t.get(s.turn);a===void 0?(a={firstStep:s.step,firstStepTtftMs:o.ttftMs,decodeMs:0,outputTokens:0,sampled:!1},t.set(s.turn,a)):s.step<a.firstStep&&(a.firstStep=s.step,a.firstStepTtftMs=o.ttftMs),o.decodeMs!==null&&o.outputTokens!==null&&(a.decodeMs+=o.decodeMs,a.outputTokens+=o.outputTokens,a.sampled=!0)}const n=new Map;for(const[s,o]of t){const a={};o.firstStepTtftMs!==null&&(a.ttftMs=o.firstStepTtftMs),o.sampled&&o.decodeMs>0&&(a.tokensPerSecond=o.outputTokens/(o.decodeMs/1e3)),(a.ttftMs!==void 0||a.tokensPerSecond!==void 0)&&n.set(s,a)}return n}r(Nr,"deriveTurnMetrics");const Er="._86-6hq_root{text-align:center;max-width:var(--dsh-chat-content-width);box-sizing:border-box;width:100%;padding:4px calc(var(--dsh-composer-side-clearance) + 16px) 0px;color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;margin:0 auto;font-size:12px;line-height:20px;display:block;overflow:hidden}._86-6hq_sep{color:var(--dsw-alias-separator-primary);margin:0 10px}",In="@deepseek-ai/dsh-client-ui-conversation/StatsLine.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(In)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=In,e.textContent=Er,document.head.appendChild(e)}var Nn={sep:"_86-6hq_sep",root:"_86-6hq_root"};function Tr(e){const t=new Set;let n=0,s=0,o=0,a=0,l=0,c=0,d=0;for(const u of e){if(u.kind==="tool-result"){u.callTime!==null&&(o+=Math.max(0,u.time-u.callTime));continue}if(u.kind!=="assistant")continue;t.add(u.turn),n+=1,u.timing!==void 0&&u.timing.stepStartTime!==null&&(s+=Math.max(0,u.timing.completedTime-u.timing.stepStartTime));const m=jn(u);m.ttftMs!==null&&(a+=m.ttftMs,l+=1),m.decodeMs!==null&&m.outputTokens!==null&&(c+=m.decodeMs,d+=m.outputTokens)}return{turns:t.size,steps:n,llmMs:s,toolMs:o,ttftMs:a,ttftSteps:l,decodeMs:c,decodeTokens:d}}r(Tr,"deriveStats");function st(e){const t=r(n=>n>=100?String(Math.round(n)):String(Math.round(n*10)/10),"scaled");return e<1e3?String(e):e<1e6?`${t(e/1e3)}K`:`${t(e/1e6)}M`}r(st,"formatTokens");function Et(e){const t=e/1e3;if(t<60)return`${Math.round(t*10)/10}s`;const n=Math.round(t);return`${Math.floor(n/60)}m${n%60}s`}r(Et,"formatDuration");function qr(e){const t=Tt(e);return t===0?null:Math.round(e.cacheReadTokens/t*100)}r(qr,"cacheHitPercent");function Tt(e){return e.uncachedInputTokens+e.cacheReadTokens+e.cacheWriteTokens}r(Tt,"billedInputTokens");function Rr(e){const t=e?.projectedTokens??e?.pressureTokens;return t===void 0||e?.contextWindow===void 0?null:{percent:Math.min(100,Math.round(t/e.contextWindow*100)),usedTokens:t,contextWindow:e.contextWindow}}r(Rr,"contextOccupancy");const Mr=(0,h.memo)(r(function({useSession:t,useProjection:n,t:s}){const o=t(g=>g.chat.legacy.nodes),a=n("tokenUsage"),l=n("sessionStats"),c=(0,h.useMemo)(()=>l??Tr(o),[l,o]),d=[];if(c.steps>0){d.push(s("stats.counts",{turns:c.turns,steps:c.steps}));const g=[];c.llmMs>0&&g.push(s("stats.llm",{duration:Et(c.llmMs)})),c.toolMs>0&&g.push(s("stats.toolCall",{duration:Et(c.toolMs)})),g.length>0&&d.push(g.join(" · "));const y=[];c.ttftSteps>0&&y.push(s("stats.ttftAverage",{duration:Et(c.ttftMs/c.ttftSteps)})),c.decodeMs>0&&y.push(s("stats.tokensPerSecond",{throughput:Cn(c.decodeTokens/(c.decodeMs/1e3))})),y.length>0&&d.push(y.join(" · "))}if(a!==void 0&&(Tt(a)>0||a.outputTokens>0)){const g=qr(a);g!==null&&d.push(s("stats.cacheHit",{percent:g})),d.push(s("stats.tokens",{input:st(Tt(a)),output:st(a.outputTokens)}))}const u=d.join(" | "),m=(0,h.useRef)(null),[f,k]=(0,h.useState)(!1);return(0,h.useLayoutEffect)(()=>{const g=m.current;if(g===null)return;const y=r(()=>{k(g.scrollWidth>g.clientWidth)},"measure");if(y(),typeof ResizeObserver>"u")return;const b=new ResizeObserver(y);return b.observe(g),()=>{b.disconnect()}},[u]),d.length===0?null:(0,i.jsx)(_.Tooltip,{label:u,side:"top",delayMs:500,disabled:!f,children:(0,i.jsx)("div",{ref:m,className:Nn.root,children:d.map((g,y)=>(0,i.jsxs)(h.Fragment,{children:[y>0&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:Nn.sep,"aria-hidden":!0,children:"|"})," "]}),(0,i.jsx)("span",{children:g})]},g))})})},"StatsLine")),Or="._3Gutda_root{display:inline-flex;position:relative}._3Gutda_trigger{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;place-items:center;display:grid}._3Gutda_trigger:hover{background:var(--dsw-alias-interactive-bg-hover)}._3Gutda_track{fill:none;stroke:var(--dsw-alias-border-l3);stroke-width:2px}._3Gutda_fill{fill:none;stroke:var(--dsw-alias-label-tertiary);stroke-width:2px;stroke-linecap:round}._3Gutda_panel{z-index:100;box-sizing:border-box;border:1px solid var(--dsw-alias-border-inverted);background:var(--dsw-specific-menu);width:264px;box-shadow:var(--dsw-shadow-lv3);color:var(--dsw-alias-label-secondary);cursor:default;border-radius:12px;padding:12px;font-size:12px;line-height:20px;position:absolute;bottom:calc(100% + 8px);right:0}._3Gutda_header{align-items:center;gap:6px;display:flex}._3Gutda_figures{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);margin-left:auto;font-weight:500}._3Gutda_percent{color:var(--dsw-alias-label-primary);font-weight:500}._3Gutda_headline{color:var(--dsw-alias-label-tertiary)}._3Gutda_headline:empty{display:none}._3Gutda_bar{background:var(--dsw-alias-interactive-bg-hover);border-radius:999px;gap:1px;height:4px;margin:10px 0 12px;display:flex;overflow:hidden}._3Gutda_segment{background:var(--meter-tint,var(--dsw-alias-label-tertiary));border-radius:1px;flex:none;min-width:2px;height:100%}._3Gutda_swatch{background:var(--meter-tint);vertical-align:baseline;border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}._3Gutda_colorSystem{--meter-tint:var(--dsw-static-neutral-bluish-400)}._3Gutda_colorTools{--meter-tint:#a78bfa}._3Gutda_colorMessages{--meter-tint:var(--dsw-static-blue-450)}._3Gutda_rows{margin:6px 0 0}._3Gutda_row{justify-content:space-between;align-items:center;gap:12px;padding:2px 0;display:flex}._3Gutda_row dt{color:var(--dsw-alias-label-secondary)}._3Gutda_row dd{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);margin:0}",En="@deepseek-ai/dsh-client-ui-conversation/ContextMeter.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(En)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=En,e.textContent=Or,document.head.appendChild(e)}var X={colorTools:"_3Gutda_colorTools",header:"_3Gutda_header",track:"_3Gutda_track",fill:"_3Gutda_fill",figures:"_3Gutda_figures",percent:"_3Gutda_percent",headline:"_3Gutda_headline",root:"_3Gutda_root",segment:"_3Gutda_segment",trigger:"_3Gutda_trigger",bar:"_3Gutda_bar",rows:"_3Gutda_rows",colorMessages:"_3Gutda_colorMessages",colorSystem:"_3Gutda_colorSystem",row:"_3Gutda_row",panel:"_3Gutda_panel",swatch:"_3Gutda_swatch"};const qt=5.5,Tn=2*Math.PI*qt,qn="\0",Rn=[{key:"systemTokens",label:"context.system",color:X.colorSystem},{key:"toolsTokens",label:"context.tools",color:X.colorTools},{key:"messageTokens",label:"context.messages",color:X.colorMessages}];function Wr({useProjection:e,t}){const n=e("contextPressure"),s=e("contextBreakdown"),[o,a]=(0,h.useState)(!1),l=(0,h.useRef)(null),c=Rr(n),d=c!==null;if((0,h.useEffect)(()=>{!d&&o&&a(!1)},[d,o]),(0,h.useEffect)(()=>{if(!o||!d)return;const b=r(j=>{j.target instanceof Node&&l.current?.contains(j.target)===!0||a(!1)},"onPointerDown"),w=r(j=>{j.key==="Escape"&&a(!1)},"onKeyDown");return document.addEventListener("pointerdown",b),document.addEventListener("keydown",w),()=>{document.removeEventListener("pointerdown",b),document.removeEventListener("keydown",w)}},[d,o]),c===null)return null;const u=c.percent,m=`${u}%`,[f="",k=""]=t("context.aria",{percent:qn}).split(qn).map(b=>b.trim()),g=s===void 0?0:s.systemTokens+s.toolsTokens+s.messageTokens,y=(s===void 0||g===0?[{key:"total",color:void 0,width:u}]:Rn.map(b=>({key:b.key,color:b.color,width:u*s[b.key]/g}))).filter(b=>b.width>0);return(0,i.jsxs)("span",{ref:l,className:X.root,children:[(0,i.jsx)(_.Tooltip,{label:t("context.aria",{percent:m}),side:"top",delayMs:200,disabled:o,children:(0,i.jsx)("button",{type:"button",className:X.trigger,"aria-label":t("context.aria",{percent:m}),"aria-haspopup":"dialog","aria-expanded":o,onClick:r(()=>{a(!o)},"onClick"),children:(0,i.jsxs)("svg",{viewBox:"0 0 14 14",width:"14",height:"14","aria-hidden":!0,children:[(0,i.jsx)("circle",{className:X.track,cx:"7",cy:"7",r:qt}),(0,i.jsx)("circle",{className:X.fill,cx:"7",cy:"7",r:qt,strokeDasharray:`${Tn*u/100} ${Tn}`,transform:"rotate(-90 7 7)"})]})})}),o&&(0,i.jsxs)("div",{className:X.panel,role:"dialog","aria-label":t("context.used"),children:[(0,i.jsxs)("div",{className:X.header,children:[(0,i.jsx)("span",{className:X.headline,children:f}),(0,i.jsx)("span",{className:X.percent,children:m}),(0,i.jsx)("span",{className:X.headline,children:k}),(0,i.jsx)("span",{className:X.figures,children:`~${st(c.usedTokens)} / ${st(c.contextWindow)}`})]}),(0,i.jsx)("div",{className:X.bar,children:y.map(b=>(0,i.jsx)("div",{className:b.color===void 0?X.segment:`${X.segment} ${b.color}`,style:{width:`${b.width}%`}},b.key))}),s!==void 0&&(0,i.jsx)("dl",{className:X.rows,children:Rn.map(b=>(0,i.jsxs)("div",{className:X.row,children:[(0,i.jsxs)("dt",{children:[(0,i.jsx)("span",{className:`${X.swatch} ${b.color}`,"aria-hidden":!0}),t(b.label)]}),(0,i.jsx)("dd",{children:`~${st(s[b.key])}`})]},b.key))})]})]})}r(Wr,"ContextMeter");const Gr=".fGWvBG_trigger{min-width:0;max-width:220px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:24px;outline:none;align-items:center;gap:4px;padding:0 4px 0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}.fGWvBG_trigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.fGWvBG_trigger:focus-visible{box-shadow:0 0 0 2px var(--dsw-alias-border-l3)}.fGWvBG_trigger:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}.fGWvBG_triggerIcon{flex:none;display:inline-flex}.fGWvBG_triggerIcon svg{width:14px;height:14px}.fGWvBG_triggerLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fGWvBG_chevron{color:var(--dsw-alias-label-caption);flex:none;transition:transform .12s;display:inline-flex}@container (width<=460px){.fGWvBG_trigger:has(.fGWvBG_triggerIcon) .fGWvBG_triggerLabel{display:none}}.fGWvBG_chevronOpen{transform:rotate(180deg)}",Mn="@deepseek-ai/dsh-client-ui-conversation/PermissionSelect.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Mn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Mn,e.textContent=Gr,document.head.appendChild(e)}var rt={triggerLabel:"fGWvBG_triggerLabel",trigger:"fGWvBG_trigger",chevron:"fGWvBG_chevron",triggerIcon:"fGWvBG_triggerIcon",chevronOpen:"fGWvBG_chevronOpen"};const Rt="danger-full-access",On="M8.20554 0.899994L14.7901 3.36857V7.01026C14.7901 12 11.0466 14.2103 8.20554 15.3C5.36446 14.2103 1.62012 12 1.62012 7.01026V3.36857L8.20554 0.899994Z",Lr={"read-only":(0,i.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[(0,i.jsx)("path",{d:On,stroke:"currentColor",strokeWidth:"1.31831",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M12.1654 5.7552L8.9447 9.41475C8.73044 9.65816 8.53628 9.8804 8.35774 10.0423C8.1713 10.2114 7.94235 10.3717 7.64016 10.4254C7.48207 10.4535 7.32 10.4552 7.16151 10.4294C6.85843 10.3801 6.62728 10.2223 6.43836 10.0559C6.25752 9.89653 6.06037 9.67732 5.84264 9.43705L4.72925 8.20897L5.63557 7.38707L6.74897 8.61594C6.98603 8.87755 7.12974 9.03533 7.24673 9.13839C7.31033 9.19443 7.34485 9.21476 7.35823 9.22122C7.38068 9.22484 7.40352 9.22515 7.42593 9.22122C7.40522 9.22502 7.42893 9.23294 7.53583 9.136C7.65132 9.03126 7.79316 8.87139 8.02643 8.60638L11.2479 4.94763L12.1654 5.7552Z",fill:"currentColor"})]}),"workspace-write":(0,i.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[(0,i.jsx)("path",{d:"M8.08887 0.251709C8.20479 0.23085 8.32486 0.241168 8.43652 0.282959L15.0215 2.75171C15.2787 2.84819 15.4492 3.09414 15.4492 3.3689V7.0105C15.4492 7.10986 15.4441 7.2081 15.4414 7.30542C15.0285 7.07175 14.5905 6.87695 14.1309 6.73022V3.82495L8.20508 1.60327L2.2793 3.82495V7.0105C2.27936 9.7171 3.4745 11.5379 5.02734 12.7947C5.01025 12.9942 5 13.1962 5 13.4001C5.00001 13.7617 5.02722 14.1169 5.08008 14.4636C2.91555 13.0393 0.961014 10.752 0.960938 7.0105V3.3689C0.960938 3.09417 1.13146 2.84821 1.38867 2.75171L7.97461 0.282959L8.08887 0.251709Z",fill:"currentColor"}),(0,i.jsx)("path",{d:"M11.3525 5.64688V6.85688H5V5.64688H11.3525Z",fill:"currentColor"}),(0,i.jsx)("path",{d:"M9.5824 8.29376V9.50376H5V8.29376H9.5824Z",fill:"currentColor"}),(0,i.jsx)("path",{d:"M14.6647 15.6852H10.0338C10.3878 15.3751 10.7567 15.0517 11.0772 14.7706C11.2531 14.6164 11.4144 14.4746 11.5511 14.3547H14.6647V15.6852Z",fill:"currentColor"}),(0,i.jsx)("path",{d:"M8.14852 14.1308L7.33925 15.4976C7.22458 15.6912 7.42245 15.9194 7.63037 15.8333L9.09785 15.2254L15.0399 10.0719L14.0905 8.97733L8.14852 14.1308Z",fill:"currentColor"})]}),[Rt]:(0,i.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[(0,i.jsx)("path",{d:On,stroke:"currentColor",strokeWidth:"1.31831",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M9.10094 4.5V8.75939H7.59888V4.5H9.10094Z",fill:"currentColor"}),(0,i.jsx)("path",{d:"M9.10094 9.8114V11.5H7.59888V9.8114H9.10094Z",fill:"currentColor"})]})};function Mt(e){return Lr[e]}r(Mt,"permissionGlyph");function Ot(e){return/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e)?e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" "):e}r(Ot,"displayName");function Wt(e){return e.value===Rt?"Full access":Ot(e.name)}r(Wt,"optionLabel");function Br({value:e,locked:t,command:n,t:s}){const[o,a]=(0,h.useState)(null),[l,c]=(0,h.useState)(!1),[d,u]=(0,h.useState)(null),[m,f]=(0,h.useState)(!1);if((0,h.useEffect)(()=>{!t&&e!==void 0||(c(!1),f(!1),u(null))},[t,e]),e===void 0)return null;const k=o??e.currentValue,g=e.options.find(S=>S.value===k),y=o!==null||d!==null,b=e.options.filter(S=>S.value!=="custom").map(S=>{const z=Mt(S.value);return{id:S.value,label:Wt(S),...z===void 0?{}:{icon:z}}}),w=r(S=>{a(S),n(`/permission ${S}`).catch(()=>!1).then(()=>{a(null)})},"submit"),j=r(S=>{if(c(!1),S!==e.currentValue){if(S===Rt){f(!1),u(S);return}w(S)}},"choose"),x=r(()=>{f(!1),u(null)},"closeConfirmation"),A=r(()=>{if(t||!m||d===null)return;const S=d;x(),w(S)},"confirmFullAccess");return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(_.Menu,{open:l,items:b,selectedId:k,onSelect:j,onClose:r(()=>{c(!1)},"onClose"),side:"top",anchor:(0,i.jsxs)("button",{type:"button",className:rt.trigger,"aria-label":s("input.accessMode",{name:g===void 0?Ot(k):Wt(g)}),title:g?.description,disabled:t||y,onClick:r(()=>{c(!l)},"onClick"),children:[Mt(k)!==void 0&&(0,i.jsx)("span",{className:rt.triggerIcon,"aria-hidden":!0,children:Mt(k)}),(0,i.jsx)("span",{className:rt.triggerLabel,children:g===void 0?Ot(k):Wt(g)}),(0,i.jsx)("span",{className:je(rt.chevron,l&&rt.chevronOpen),"aria-hidden":!0,children:(0,i.jsx)(_.IconChevronDownOutline14,{})})]})}),(0,i.jsx)(_.RiskConfirmation,{open:d!==null,title:s("access.confirm.title"),description:s("access.confirm.description"),acknowledgeLabel:s("access.confirm.acknowledge"),cancelLabel:s("access.confirm.cancel"),confirmLabel:s("access.confirm.enable"),acknowledged:m,disabled:t,onAcknowledgedChange:f,onCancel:x,onConfirm:A})]})}r(Br,"PermissionSelect");const Dr=/\b(?:CriOS|FxiOS|EdgiOS|OPiOS|OPT|DuckDuckGo|Brave)(?:\/|\b)/;function $r(e){return e.vendor==="Apple Computer, Inc."&&/\bVersion\/[\d.]+.*\bSafari\/[\d.]+/.test(e.userAgent)&&!Dr.test(e.userAgent)}r($r,"isSafariBrowser");function Ur(e){if(e===null||e.scrollHeight<=e.clientHeight)return;const t=e.closest("[data-input-scroll]");if(t===null)return;const n=e.style.height;e.style.height=`${String(e.clientHeight+1)}px`,e.offsetHeight,e.style.height=n,e.offsetHeight;const s=t.style.height;t.style.height=`${String(t.clientHeight+1)}px`,t.offsetHeight,t.style.height=s,t.offsetHeight}r(Ur,"repairSafariTextareaLayout");const Pr=`@font-face{font-family:DshChipCell;src:url(data:font/ttf;base64,AAEAAAAKAIAAAwAgT1MvMkT8SmIAAAEoAAAAYGNtYXAADQBPAAABkAAAADRnbHlmAAAAAAAAAcwAAAABaGVhZCwtPGoAAACsAAAANmhoZWEDIg7bAAAA5AAAACRobXR4EZQAAAAAAYgAAAAIbG9jYQAAAAAAAAHEAAAABm1heHAAAwACAAABCAAAACBuYW1lvljk2gAAAdAAAABscG9zdNNweNQAAAI8AAAALQABAAAAAQAAdia1tV8PPPUAAwPoAAAAAOaLfcUAAAAA5ot9xQAAAAAAAAAAAAAAAwACAAAAAAAAAAEAAAMg/zgAAA+gAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAEAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwjKAZAABQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAPz8/PwAA//z//AMg/zgAAAMgAMgAAAAAAAAAAAAAAAAAAAAgAAAB9AAAD6AAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAIAAAAAQABAABAAD//P//AAD//P//AAUAAQAAAAAAAAAAAAAAAAAAAAAAAAAEADYAAQAAAAAAAQALAAAAAQAAAAAAAgAHAAsAAwABBAkAAQAWABIAAwABBAkAAgAOAChEc2hDaGlwQ2VsbFJlZ3VsYXIARABzAGgAQwBoAGkAcABDAGUAbABsAFIAZQBnAHUAbABhAHIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAABAgZvYmpyZXAAAAA=)format("truetype")}.ICfoyq_root{padding:0 var(--dsh-composer-side-clearance) 8px;flex-direction:column;align-items:center;display:flex}.ICfoyq_hero{padding:0 var(--dsh-composer-side-clearance)}.ICfoyq_notice{width:100%;max-width:var(--dsh-composer-card-max-width);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary);border-radius:8px;margin-bottom:6px;padding:4px 8px;font-size:12px;line-height:18px}.ICfoyq_noticeError{background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary)}.ICfoyq_card{box-sizing:border-box;width:100%;max-width:var(--dsh-composer-card-max-width);border:1px solid var(--dsw-alias-border-l2-darkmode-thin);background:var(--dsw-specific-input-major);box-shadow:var(--dsw-shadow-lv2);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:22px;flex-direction:column;gap:12px;padding-top:10px;font-size:16px;line-height:24px;display:flex;position:relative}.ICfoyq_cardWorkspaceTrigger{cursor:pointer;border-color:#0000}.ICfoyq_cardWorkspaceTrigger:after{content:"";background:var(--dsw-alias-border-l4);pointer-events:none;border-radius:22px;transition:background-color .1s;position:absolute;inset:-1px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='none' rx='22' ry='22' stroke='black' stroke-width='2' stroke-dasharray='4 4'/%3E%3C/svg%3E");mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='none' rx='22' ry='22' stroke='black' stroke-width='2' stroke-dasharray='4 4'/%3E%3C/svg%3E")}.ICfoyq_cardWorkspaceTrigger :disabled{pointer-events:none}.ICfoyq_cardWorkspaceTrigger:hover:after{background:var(--dsw-alias-state-business-primary)}.ICfoyq_accessory{align-items:center;gap:8px;padding:10px 12px 0;display:flex}.ICfoyq_attachments{min-width:0;padding:4px 12px 0}.ICfoyq_overlayAnchor{height:0;position:absolute;inset:0 0 auto}.ICfoyq_scroll{max-height:var(--dsh-composer-text-max-height);overflow-y:auto}.ICfoyq_grow{position:relative}.ICfoyq_backdrop{color:var(--dsw-alias-label-primary);pointer-events:none;position:absolute;inset:0;overflow:hidden}.ICfoyq_hlToken{color:var(--dsw-alias-state-warn-label);background-color:#0000}.ICfoyq_hlSegment{color:#0000;background-color:#0000;border-radius:4px}.ICfoyq_hint{color:var(--dsw-alias-label-caption)}.ICfoyq_pending{background:var(--dsw-alias-state-business-primary);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite alternate ICfoyq_input-pending}@keyframes ICfoyq_input-pending{0%{opacity:.35}to{opacity:1}}.ICfoyq_input{resize:none;color:#0000;width:100%;height:100%;caret-color:var(--dsw-alias-state-business-primary);background:0 0;border:none;outline:none;position:absolute;inset:0;overflow:hidden}.ICfoyq_input,.ICfoyq_mirror,.ICfoyq_backdrop{box-sizing:border-box;font-family:"DshChipCell", var(--dsw-font-family);font-size:inherit;line-height:inherit;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;padding:4px 12px 0 16px}.ICfoyq_input::placeholder{color:var(--dsw-alias-label-caption);user-select:none}.ICfoyq_input:disabled{color:var(--dsw-alias-label-tertiary);cursor:not-allowed}.ICfoyq_input[aria-haspopup=menu]{cursor:pointer}.ICfoyq_mirror{visibility:hidden;pointer-events:none}.ICfoyq_hero .ICfoyq_mirror{min-height:52px}.ICfoyq_row{justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:2px 8px 6px;display:flex;container-type:inline-size}.ICfoyq_tools,.ICfoyq_modes,.ICfoyq_trailing{align-items:center;min-width:0;display:flex}.ICfoyq_tools{gap:16px}.ICfoyq_modes{gap:12px}.ICfoyq_trailing{flex:none;gap:12px}.ICfoyq_add{background:var(--dsw-specific-selector);width:28px;height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:999px;flex:none;place-items:center;display:grid}.ICfoyq_add:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-solid)}.ICfoyq_add:disabled{opacity:.5;cursor:default}.ICfoyq_select{max-width:220px;height:28px;color:var(--dsw-alias-label-secondary);white-space:nowrap;cursor:pointer;appearance:none;background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2381858C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 4px center;background-repeat:no-repeat;background-size:12px 12px;border:none;border-radius:8px;outline:none;padding:0 20px 0 8px;font-size:13px;font-weight:500;line-height:20px}.ICfoyq_select:hover:not(:disabled){background-color:var(--dsw-alias-interactive-bg-hover)}.ICfoyq_select:disabled{opacity:.5;cursor:default}.ICfoyq_primary{background:var(--dsw-alias-button-info-fill);color:#fff;cursor:pointer;border:none;border-radius:999px;flex:none;place-items:center;width:34px;height:34px;transition:background-color .1s;display:grid;transform:translateY(-2px)}.ICfoyq_primary:hover:not(:disabled){background:var(--dsw-alias-button-info-hover)}.ICfoyq_primary:disabled{opacity:.4;cursor:default}.ICfoyq_retry{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;margin-left:8px;padding:1px 8px;font-size:12px}.ICfoyq_textRef{color:var(--dsw-alias-state-business-primary);-webkit-box-decoration-break:clone;box-decoration-break:clone;background-color:#0000}.ICfoyq_textRef:after{display:none}.ICfoyq_chip{background:#6187d838;border-radius:6px;position:relative}.ICfoyq_chip:before{content:"";color:#0000}.ICfoyq_chipLabel{width:calc(138.889% - 10px);color:var(--dsw-alias-label-primary);white-space:nowrap;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)scale(.72)}.ICfoyq_chipInvalid{opacity:.7;background:#d8616133;text-decoration:line-through}`,Wn="@deepseek-ai/dsh-client-ui-conversation/InputBar.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Wn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Wn,e.textContent=Pr,document.head.appendChild(e)}var D={overlayAnchor:"ICfoyq_overlayAnchor",notice:"ICfoyq_notice",modes:"ICfoyq_modes",cardWorkspaceTrigger:"ICfoyq_cardWorkspaceTrigger",chip:"ICfoyq_chip",backdrop:"ICfoyq_backdrop",select:"ICfoyq_select",root:"ICfoyq_root",card:"ICfoyq_card",row:"ICfoyq_row",chipInvalid:"ICfoyq_chipInvalid",accessory:"ICfoyq_accessory",trailing:"ICfoyq_trailing",retry:"ICfoyq_retry",chipLabel:"ICfoyq_chipLabel",input:"ICfoyq_input","input-pending":"ICfoyq_input-pending",hlSegment:"ICfoyq_hlSegment",hlToken:"ICfoyq_hlToken",textRef:"ICfoyq_textRef",grow:"ICfoyq_grow",attachments:"ICfoyq_attachments",mirror:"ICfoyq_mirror",hero:"ICfoyq_hero",noticeError:"ICfoyq_noticeError",scroll:"ICfoyq_scroll",primary:"ICfoyq_primary",add:"ICfoyq_add",hint:"ICfoyq_hint",tools:"ICfoyq_tools",pending:"ICfoyq_pending"};const zr={token:null,chips:[],textRefs:[],hint:null};function Fr({useSession:e,useInput:t,inputActions:n,keyboard:s,addImages:o,removeImage:a,draftImages:l,resolveSubmitMode:c,toggleCommandMenu:d,stop:u,command:m,t:f,renderSlot:k,useNotices:g,useLexicon:y,useMenuLauncher:b,useProjection:w,sessionId:j,variant:x,disabled:A=!1,blocked:S,workspacePickerOpen:z=!1,onRequestWorkspace:ne,placeholder:Ee,accessory:he,overlay:Xe,leftItems:Z,rightItems:We,footer:be}){const L=t(p=>p),Q=g(p=>p),fe=y(p=>p),se=b(p=>p==="command"),ee=e(p=>p.promptError)??null,Te=e(p=>p.running)??!1,pe=e(p=>p.subagent)??null,me=e(p=>p.removed)??!1,Ge=w("plan",p=>p!==void 0&&(p.pending?!p.active:p.active)),Ve=w("goal",p=>p!=null),E=L!==void 0&&s!==void 0&&n!==void 0,G=L?.draft??"",de=(0,h.useMemo)(()=>L===void 0||l===void 0?[]:l(L.imageIds),[l,L?.imageIds]),we=G.trim()===""&&de.length===0,[ge,Le]=(0,h.useState)(null),[bt,He]=(0,h.useState)(!1),[lt,C]=(0,h.useState)(null),q=(0,h.useRef)(0),J=(0,h.useCallback)(p=>{q.current+=1,C({seq:q.current,text:p})},[]),ke=(0,h.useCallback)(()=>{C(null)},[]),F=w("imageLimits");(0,h.useEffect)(()=>{ee!==null&&J(ee.error.code==="attachment-error"?_r(f,ee.error.details.reason,F):`${ee.error.message} (${ee.error.code})`)},[ee,J,f,F]);const K=(0,h.useRef)(null),Be=(0,h.useRef)(null),_e=(0,h.useRef)(0),Ye=(0,h.useRef)(null),Ps=(0,h.useRef)(null),Ht=(0,h.useMemo)(()=>$r(navigator),[]),Yt=(0,h.useRef)(!1),Qt=(0,h.useRef)(!1),rl=r(()=>{Qt.current=!0},"onCompositionStart"),ol=r(()=>{setTimeout(()=>{Qt.current=!1},10)},"onCompositionEnd"),il=w("permissions"),zs=pe?.address.mode==="continuable",Fs=zs&&!pe.parentAvailable,wt=me||A||!E||S!==void 0||Fs,re=wt,al=me||A||!E,Ae=L?.phase==="adjudicating"||L?.phase==="submitting",qe=A&&!me&&ne!==void 0,ll=me||re&&!qe,Js=!re&&!Ae&&!se&&we&&Te&&pe===null&&L.queue.some(p=>p.placement==="queued");(0,h.useEffect)(()=>{L===void 0||n===void 0||de.length!==L.imageIds.length&&n.pruneImages(de.map(p=>p.id))},[de,L?.imageIds,n]),(0,h.useLayoutEffect)(()=>{const p=Yt.current;Yt.current=!1,Ht&&p&&Ur(K.current)},[G,Ht]),(0,h.useEffect)(()=>{ge!==null&&!de.some(p=>p.id===ge.id)&&Le(null)},[de,ge]);const Ks=r(p=>{const N=Ye.current,O=Ps.current,I=O?.firstChild;if(N===null||O===null||!(I instanceof Text)||N.scrollHeight<=N.clientHeight)return;const M=Math.min(p,I.data.length),H=M>0&&I.data[M-1]===`
|
|
2
2
|
`,T=document.createRange();T.setStart(I,H?M-1:M),H?T.setEnd(I,M):T.collapse(!0);const Se=H?Number.parseFloat(getComputedStyle(O).lineHeight):0,ve=T.getBoundingClientRect(),_t=N.getBoundingClientRect();ve.bottom+Se>_t.bottom?N.scrollTop+=ve.bottom+Se-_t.bottom:ve.top+Se<_t.top&&(N.scrollTop-=_t.top-ve.top-Se)},"revealCaret"),Xs=r(p=>{const N=p.selectionDirection==="backward"?p.selectionStart:p.selectionEnd;Ks(N??p.value.length)},"revealSelectionFocus");(0,h.useEffect)(()=>{const p=K.current;re||p===null||(p.focus({preventScroll:!0}),Xs(p))},[re,j]),(0,h.useEffect)(()=>{const p=K.current;re||G===""||p===null||Xs(p)},[G!==""]);const Vs=r((p,N)=>{requestAnimationFrame(()=>{p.setSelectionRange(N,N),Ks(N)})},"restoreCaret");(0,h.useEffect)(()=>{const p=Ye.current;if(p===null)return;const N=r(O=>{const I=p.closest("[data-conversation-scroll]");if(!(I instanceof HTMLElement)||O.deltaY===0)return;const M=p.scrollTop<=0,H=p.scrollTop+p.clientHeight>=p.scrollHeight-1;O.deltaY<0&&!M||O.deltaY>0&&!H||(O.preventDefault(),I.scrollTop+=O.deltaY)},"onWheel");return p.addEventListener("wheel",N,{passive:!1}),()=>{p.removeEventListener("wheel",N)}},[]);const cl=r(p=>{if(qe){(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),ne());return}if(s===void 0||n===void 0||p.key==="Enter"&&p.shiftKey)return;const N=Qt.current||p.nativeEvent.isComposing||p.nativeEvent.keyCode===229;if(p.key==="ArrowUp"||p.key==="ArrowDown"){s.arbitrate(p.key==="ArrowUp"?"up":"down",N)==="consumed"&&p.preventDefault();return}if(p.key==="Escape"){s.dismissPopup(),s.arbitrate("escape",N)==="consumed"&&p.preventDefault();return}if((p.metaKey||p.ctrlKey)&&(p.key==="z"||p.key==="Z"||p.key==="y")){if(p.preventDefault(),Ae||re)return;p.key==="y"||p.shiftKey?s.redo():s.undo();return}if(p.key===" "){if(N)return;s.space()&&p.preventDefault();return}if(p.key!=="Enter"||N)return;if(s.arbitrate("enter",N)!=="pass"){p.preventDefault();return}if(p.preventDefault(),p.repeat||re||Ae)return;const O=p.ctrlKey||p.metaKey;if(O&&Js){s.steerQueue();return}s.submit(c(Te,O?"accelerated":"enter",pe===null))},"onKeyDown"),dl=r(p=>{if(s===void 0||re||Ae)return;const N=p.target.value;Yt.current=Ht&&N.length<G.length,s.setDraft(N),s.track(N,p.target.selectionStart??N.length)},"onChange"),Zt=r(p=>({start:p.selectionStart??0,end:p.selectionEnd??p.selectionStart??0}),"selectionOf"),Hs=r((p,N)=>{if(L===void 0||s===void 0)return;const O=p.currentTarget,{start:I,end:M}=Zt(O);if(I===M)return;G.slice(I,M);const H=L.occurrences.filter(ve=>ve.offset>=I&&ve.offset<M);if(H.length===0&&!N)return;p.preventDefault();let T="",Se=I;for(const ve of H)T+=G.slice(Se,ve.offset)+ve.clipboardText,Se=ve.offset+1;T+=G.slice(Se,M),p.clipboardData.setData("text/plain",T),N&&!Ae&&!re&&(s.setDraft(G.slice(0,I)+G.slice(M),{start:I,end:M,insertedLength:0}),Vs(O,I))},"onCopyOrCut"),ul=r(p=>{if(s===void 0||Ae||re)return;const N=Array.from(p.clipboardData.items).filter(T=>T.kind==="file").map(T=>T.getAsFile()).filter(T=>T!==null);N.length>0&&en(N);const O=p.clipboardData.getData("text/plain");if(O===""){N.length>0&&p.preventDefault();return}p.preventDefault();const I=p.currentTarget,M=Zt(I);s.pasteBegin(O,M);const H=M.start+O.length;Vs(I,H),s.track(s.snapshot.draft,H)},"onPaste"),en=(0,h.useCallback)(p=>{if(o===void 0||p.length===0)return;const N=(()=>{if(F!==void 0){if(p.some(O=>!F.mediaTypes.includes(O.type)))return o(p);if(de.length+p.length>F.maxImagesPerMessage)return f("image.tooMany",{count:F.maxImagesPerMessage});if(p.some(O=>O.size>F.maxImageBytes))return f("image.fileTooLarge",{size:nt(F.maxImageBytes)});if(de.reduce((O,I)=>O+I.file.size,0)+p.reduce((O,I)=>O+I.size,0)>F.maxMessageImageBytes)return f("image.totalTooLarge",{size:nt(F.maxMessageImageBytes)})}return o(p)})();N!==null&&J(N)},[o,de,F,J,f]),ct=!re&&!Ae&&o!==void 0;(0,h.useEffect)(()=>{const p=r(T=>T.dataTransfer?.types.includes("Files")??!1,"hasFiles"),N=r(()=>{_e.current=0,He(!1)},"reset"),O=r(T=>{p(T)&&(T.preventDefault(),_e.current+=1,He(!0))},"onDragEnter"),I=r(T=>{!p(T)||T.dataTransfer===null||(T.preventDefault(),T.dataTransfer.dropEffect=ct?"copy":"none")},"onDragOver"),M=r(T=>{if(!p(T))return;_e.current=Math.max(0,_e.current-1),_e.current===0&&He(!1);const Se=T.clientX<=0||T.clientY<=0||T.clientX>=window.innerWidth||T.clientY>=window.innerHeight;(T.target===document.documentElement||T.target===document.body)&&Se&&N()},"onDragLeave"),H=r(T=>{p(T)&&(T.preventDefault(),N(),ct&&en([...T.dataTransfer?.files??[]]))},"onDrop");return document.addEventListener("dragenter",O),document.addEventListener("dragover",I),document.addEventListener("dragleave",M),document.addEventListener("drop",H),window.addEventListener("dragend",N),()=>{document.removeEventListener("dragenter",O),document.removeEventListener("dragover",I),document.removeEventListener("dragleave",M),document.removeEventListener("drop",H),window.removeEventListener("dragend",N)}},[ct,en]);const pl=(0,h.useCallback)(()=>{Le(null)},[]),Ys=(0,h.useMemo)(()=>de.map(p=>({id:p.id,previewUrl:p.previewUrl,alt:p.file.name||f("image.pending"),removeLabel:f("image.remove",{name:p.file.name}),attachment:p})),[de,f]),hl=r(p=>{s!==void 0&&s.snapshot.paste!==void 0&&s.invalidatePaste()},"onSelect"),tn=r(p=>{p.preventDefault(),K.current?.focus({preventScroll:!0})},"keepFocus"),fl=r(()=>{const p=K.current;p!==null&&d?.(Zt(p))},"onToggleCommandMenu"),kt=Te&&pe===null,ml=Te&&zs,Qs=f(kt?"input.stop":"input.send"),gl=r(()=>{if(kt){u?.();return}n!==void 0&&!we&&!wt&&!Ae&&n.submit()},"onPrimary"),vl=m===void 0?null:(0,i.jsx)(Br,{value:il,locked:re,command:m,t:f},j),De=L===void 0?zr:kr(L,fe),Qe=[];{let p=0;const N=r(I=>{I>p&&Qe.push(G.slice(p,I)),p=I},"pushPlain");De.token!==null&&(Qe.push((0,i.jsx)("mark",{className:D.hlToken,"data-decoration":"token",children:G.slice(De.token.start,De.token.end)},"token")),p=De.token.end);const O=[...De.chips.map(I=>({at:I.offset,kind:"chip",chip:I})),...De.textRefs.map(I=>({at:I.start,kind:"text-ref",ref:I}))].sort((I,M)=>I.at-M.at);for(const I of O)if(!(I.at<p))if(N(I.at),I.kind==="chip"){const M=I.chip;Qe.push((0,i.jsx)("span",{className:je(D.chip,M.invalid&&D.chipInvalid),"data-decoration":"chip","data-occurrence":M.occurrenceId,"data-invalid":M.invalid||void 0,title:M.label,children:(0,i.jsx)("span",{className:D.chipLabel,children:M.label})},`chip-${M.occurrenceId}`)),p=M.offset+1}else Qe.push((0,i.jsx)("mark",{className:D.textRef,"data-decoration":"text-ref",children:G.slice(I.ref.start,I.ref.end)},`ref-${I.ref.start}`)),p=I.ref.end;if(N(G.length),De.hint!==null){const I=L?.claim?.token.slice(1).trim()??"",M=`hint.${I==="goal"&&Ve?"goal.active":I}`,H=f(M),T=H!==M?H:De.hint;Qe.push((0,i.jsx)("span",{className:D.hint,"data-decoration":"hint",children:T},"hint"))}}return(0,i.jsxs)("div",{className:je(D.root,x==="hero"&&D.hero),children:[bt&&(0,i.jsx)(Ze.DropOverlay,{disabled:!ct,labels:Ar(f,ct,F===void 0?void 0:{count:F.maxImagesPerMessage,size:nt(F.maxImageBytes)})}),lt!==null&&(0,i.jsx)(_.Toast,{text:lt.text,icon:(0,i.jsx)(_.IconWarningOutline16,{}),anchor:Be.current,onDone:ke},lt.seq),Q!==null&&(0,i.jsx)("div",{className:je(D.notice,Q.level==="error"&&D.noticeError),role:"status",children:Q.text}),(0,i.jsxs)("div",{ref:Be,className:je(D.card,qe&&D.cardWorkspaceTrigger),"data-composer-card":!0,onClick:qe?ne:void 0,onPointerDown:qe?p=>{p.stopPropagation()}:void 0,children:[Xe!==void 0&&(0,i.jsx)("div",{className:D.overlayAnchor,children:Xe}),he!==void 0&&(0,i.jsx)("div",{className:D.accessory,children:he}),Ys.length>0&&(0,i.jsx)("div",{className:D.attachments,children:(0,i.jsx)(Ze.AttachmentRail,{items:Ys,labels:Sr(f),onOpen:r(p=>{Le(p.attachment)},"onOpen"),onRemove:r(p=>{a?.(p.attachment.id)},"onRemove")})}),(0,i.jsx)("div",{ref:Ye,className:D.scroll,"data-input-scroll":!0,children:(0,i.jsxs)("div",{className:D.grow,children:[(0,i.jsx)("div",{"aria-hidden":!0,className:D.backdrop,"data-input-backdrop":!0,children:Qe}),(0,i.jsx)("textarea",{ref:K,className:D.input,value:G,disabled:ll,readOnly:Ae||qe,"aria-label":qe?f("hero.chooseWorkspace"):void 0,"aria-haspopup":qe?"menu":void 0,"aria-expanded":qe?z:void 0,"data-phase":L?.phase??"inert",placeholder:Ee??f(Fs?"placeholder.parentOffline":wt?"placeholder.unavailable":Js?"placeholder.steerQueue":Ge?"placeholder.plan":"placeholder.default"),rows:2,onChange:dl,onKeyDown:cl,onSelect:hl,onCopy:r(p=>{Hs(p,!1)},"onCopy"),onCut:r(p=>{Hs(p,!0)},"onCut"),onPaste:ul,onCompositionStart:rl,onCompositionEnd:ol}),(0,i.jsx)("div",{ref:Ps,"aria-hidden":!0,className:D.mirror,"data-input-mirror":!0,children:`${G}
|
|
3
|
-
`})]})}),(0,i.jsxs)("div",{className:D.row,children:[(0,i.jsxs)("div",{className:D.tools,children:[(0,i.jsx)(_.Tooltip,{label:f("input.commands"),side:"top",delayMs:500,children:(0,i.jsx)("button",{type:"button",className:D.add,"aria-label":f("input.commands"),"aria-haspopup":"listbox","aria-expanded":se,disabled:re||d===void 0,onMouseDown:tn,onClick:fl,children:(0,i.jsx)(_.IconPlusOutline16,{size:14})})}),(0,i.jsxs)("div",{className:D.modes,children:[vl,k("conversation.input.plan",{locked:re})]}),Z]}),(0,i.jsxs)("div",{className:D.trailing,children:[We,k("conversation.input.model",{locked:al}),(0,i.jsx)(Wr,{useProjection:w,t:f}),ml&&(0,i.jsx)(_.Tooltip,{label:f("input.stop"),side:"top",delayMs:500,children:(0,i.jsx)("button",{type:"button",className:D.primary,"aria-label":f("input.stop"),disabled:u===void 0,onMouseDown:tn,onClick:u,children:(0,i.jsx)("svg",{viewBox:"0 0 16 16",width:"16",height:"16","aria-hidden":!0,children:(0,i.jsx)("rect",{x:"3",y:"3",width:"10",height:"10",rx:"3",fill:"currentColor"})})})}),(0,i.jsx)(_.Tooltip,{label:Qs,side:"top",delayMs:500,children:(0,i.jsx)("button",{type:"button",className:D.primary,"aria-label":Qs,disabled:kt?u===void 0:we||wt||Ae,onMouseDown:tn,onClick:gl,children:kt?(0,i.jsx)("svg",{viewBox:"0 0 16 16",width:"16",height:"16","aria-hidden":!0,children:(0,i.jsx)("rect",{x:"3",y:"3",width:"10",height:"10",rx:"3",fill:"currentColor"})}):(0,i.jsx)("svg",{viewBox:"0 0 16 16",width:"16",height:"16","aria-hidden":!0,children:(0,i.jsx)("path",{d:"M8.3125 0.980183C8.66767 1.0531 8.97902 1.20418 9.2627 1.43233C9.48724 1.61297 9.73029 1.85793 9.97949 2.10714L14.707 6.83468L13.293 8.24874L9 3.95577V15.0417H7V3.95577L2.70703 8.24874L1.29297 6.83468L6.02051 2.10714C6.26971 1.85793 6.51277 1.61297 6.7373 1.43233C6.97662 1.23986 7.28445 1.04402 7.6875 0.980183C7.8973 0.947006 8.1031 0.95516 8.3125 0.980183Z",fill:"currentColor"})})})})]})]})]}),ge!==null&&(0,i.jsx)(Ze.ImageLightbox,{src:ge.previewUrl,alt:ge.file.name||f("image.original"),labels:bn(f),onClose:pl}),be]})}r(Fr,"InputBar");const Jr="._802Euq_row{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:16px 0;display:flex}._802Euq_rowText{flex-direction:column;flex:1;gap:4px;min-width:0;padding-right:48px;display:flex}._802Euq_title{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}._802Euq_desc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}._802Euq_selector{background:var(--dsw-alias-bg-module-platform);height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;align-items:center;gap:12px;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}._802Euq_selector:hover{background:var(--dsw-alias-interactive-bg-hover)}._802Euq_chevron{flex:none}",Gn="@deepseek-ai/dsh-client-ui-conversation/EnterBehaviorRow.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Gn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Gn,e.textContent=Jr,document.head.appendChild(e)}var ze={rowText:"_802Euq_rowText",row:"_802Euq_row",desc:"_802Euq_desc",chevron:"_802Euq_chevron",selector:"_802Euq_selector",title:"_802Euq_title"};const Kr=[{id:"queue",label:"settings.enter.queue"},{id:"steer",label:"settings.enter.steer"}];function Xr({useBusyEnter:e,setBusyEnter:t,t:n}){const s=e(c=>c),[o,a]=(0,h.useState)(!1),l=s==="queue"?"settings.enter.queue":"settings.enter.steer";return(0,i.jsxs)("div",{className:ze.row,children:[(0,i.jsxs)("div",{className:ze.rowText,children:[(0,i.jsx)("div",{className:ze.title,children:n("settings.enter.title")}),(0,i.jsx)("div",{className:ze.desc,children:n("settings.enter.description")})]}),(0,i.jsx)(_.Menu,{open:o,onClose:r(()=>{a(!1)},"onClose"),items:Kr.map(c=>({id:c.id,label:n(c.label)})),selectedId:s,onSelect:r(c=>{a(!1),t(c)},"onSelect"),align:"end",portal:!0,anchor:(0,i.jsxs)("button",{type:"button",className:ze.selector,"aria-haspopup":"menu","aria-expanded":o,onClick:r(()=>{a(c=>!c)},"onClick"),children:[n(l),(0,i.jsx)(_.IconChevronDownOutline14,{className:ze.chevron})]})})]})}r(Xr,"EnterBehaviorRow");const Vr='.JsXUgW_userRow{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.JsXUgW_userStack{flex-direction:column;align-items:flex-end;gap:8px;min-width:0;max-width:min(525px,82%);display:flex}.JsXUgW_bubble{background:var(--dsw-specific-bubble);max-width:100%;color:var(--dsw-alias-label-primary);border-radius:22px;padding:10px 16px;font-size:16px;line-height:24px}.JsXUgW_contextRow,.JsXUgW_compactionRow{padding:2px 0}.JsXUgW_compactionButton{width:100%;min-width:0;height:24px;color:inherit;font:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;padding:0;display:flex}.JsXUgW_compactionButton:not(:disabled){cursor:pointer}.JsXUgW_compactionButton:not(:disabled):hover{background:var(--dsw-alias-interactive-bg-hover)}.JsXUgW_compactionLeading{width:16px;height:16px;color:var(--dsw-alias-label-secondary);flex:none;place-items:center;margin-right:6px;display:inline-grid}.JsXUgW_compactionContextIcon,.JsXUgW_compactionDisclosureIcon{grid-area:1/1;justify-content:center;align-items:center;display:inline-flex}.JsXUgW_compactionDisclosureIcon,.JsXUgW_compactionButton:not(:disabled):hover .JsXUgW_compactionContextIcon,.JsXUgW_compactionButton:not(:disabled):focus-visible .JsXUgW_compactionContextIcon{opacity:0}.JsXUgW_compactionButton:not(:disabled):hover .JsXUgW_compactionDisclosureIcon,.JsXUgW_compactionButton:not(:disabled):focus-visible .JsXUgW_compactionDisclosureIcon{opacity:1}.JsXUgW_compactionTitle{color:var(--dsw-alias-label-primary-dimmed);flex:none;font-size:14px;line-height:24px}.JsXUgW_compactionSep{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.JsXUgW_compactionSummary{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:14px;line-height:24px;overflow:hidden}.JsXUgW_compactionBody{color:var(--dsw-alias-label-tertiary);padding:4px 0 4px 22px;font-size:14px;line-height:24px}.JsXUgW_retryRow{color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:20px}.JsXUgW_retrySummary{width:fit-content;color:inherit;cursor:pointer;user-select:none;border-radius:3px;align-items:center;gap:7px;padding:2px 0;list-style:none;display:inline-flex}.JsXUgW_retrySummary::-webkit-details-marker{display:none}.JsXUgW_retrySummary:after{content:"";opacity:.8;border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transition:transform .12s;transform:rotate(-45deg)}.JsXUgW_retrySummary:hover{color:var(--dsw-alias-label-secondary)}.JsXUgW_retrySummary:focus-visible{outline:1.5px solid var(--dsw-alias-button-info-fill);outline-offset:2px}.JsXUgW_retryText{color:inherit}.JsXUgW_retryRow[data-active] .JsXUgW_retryText{background:linear-gradient(90deg, var(--dsw-alias-label-tertiary) 0%, var(--dsw-alias-label-tertiary) 40%, var(--dsw-alias-label-secondary) 50%, var(--dsw-alias-label-tertiary) 60%, var(--dsw-alias-label-tertiary) 100%);color:#0000;background-position:100%;background-size:200% 100%;background-clip:text;animation:1.6s ease-in-out infinite JsXUgW_retry-shimmer}.JsXUgW_retryRow[open] .JsXUgW_retrySummary:after{transform:rotate(45deg)}.JsXUgW_retryDetails{overflow-wrap:anywhere;gap:2px;margin-top:3px;padding-left:14px;font-size:12px;line-height:18px;display:grid}.JsXUgW_retryDetailLabel{color:var(--dsw-alias-label-secondary)}.JsXUgW_turnErrorRow{grid-template-columns:10px minmax(0,1fr) auto;align-items:start;gap:8px;padding:2px 0;font-size:13px;line-height:20px;display:grid}.JsXUgW_turnErrorDot{margin-top:5px}.JsXUgW_turnErrorCopy{overflow-wrap:anywhere;min-width:0}.JsXUgW_turnErrorTitle{color:var(--dsw-alias-state-error-primary);margin-right:6px;font-weight:600}.JsXUgW_turnErrorMessage{color:var(--dsw-alias-label-secondary)}.JsXUgW_turnErrorCode{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-markdown-code-block-small)}.JsXUgW_maxTokensTitle{color:var(--dsw-alias-state-warn-primary);margin-right:6px;font-weight:600}@keyframes JsXUgW_retry-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.JsXUgW_retryRow[data-active] .JsXUgW_retryText{color:inherit;background:0 0;animation:none}}.JsXUgW_refChip{color:var(--dsw-alias-label-primary);white-space:nowrap;vertical-align:baseline;background:#6187d838;border-radius:6px;margin:0 2px;padding:0 8px;font-size:.85em;line-height:1.6;display:inline-block}',Ln="@deepseek-ai/dsh-client-ui-conversation/MessageItem.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Ln)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Ln,e.textContent=Vr,document.head.appendChild(e)}var R={compactionBody:"JsXUgW_compactionBody",compactionDisclosureIcon:"JsXUgW_compactionDisclosureIcon",compactionTitle:"JsXUgW_compactionTitle",contextRow:"JsXUgW_contextRow",turnErrorCode:"JsXUgW_turnErrorCode",compactionLeading:"JsXUgW_compactionLeading",compactionButton:"JsXUgW_compactionButton",compactionContextIcon:"JsXUgW_compactionContextIcon",retryDetailLabel:"JsXUgW_retryDetailLabel",turnErrorMessage:"JsXUgW_turnErrorMessage",compactionSep:"JsXUgW_compactionSep",maxTokensTitle:"JsXUgW_maxTokensTitle",userRow:"JsXUgW_userRow",retryText:"JsXUgW_retryText",turnErrorDot:"JsXUgW_turnErrorDot",compactionRow:"JsXUgW_compactionRow",retryDetails:"JsXUgW_retryDetails",userStack:"JsXUgW_userStack","retry-shimmer":"JsXUgW_retry-shimmer",turnErrorCopy:"JsXUgW_turnErrorCopy",turnErrorRow:"JsXUgW_turnErrorRow",bubble:"JsXUgW_bubble",retrySummary:"JsXUgW_retrySummary",refChip:"JsXUgW_refChip",compactionSummary:"JsXUgW_compactionSummary",turnErrorTitle:"JsXUgW_turnErrorTitle",retryRow:"JsXUgW_retryRow"};const Bn=(0,h.memo)(r(function({node:t,title:n,fallbackSummary:s,t:o}){const[a,l]=(0,h.useState)(!1),c=t.summary!==null,d=c&&a,u=t.shadowedItemCount!==null&&t.shadowedTokenCount!==null?o("message.compaction.completed",{items:t.shadowedItemCount,tokens:t.shadowedTokenCount}):s??o(c?"message.compaction.expand":"message.compaction.unavailable");return(0,i.jsxs)("div",{className:R.compactionRow,children:[(0,i.jsxs)("button",{type:"button",className:R.compactionButton,disabled:!c,"aria-expanded":c?d:void 0,onClick:r(()=>{l(m=>!m)},"onClick"),children:[(0,i.jsxs)("span",{className:R.compactionLeading,"aria-hidden":!0,children:[(0,i.jsx)("span",{className:R.compactionContextIcon,"data-compaction-icon":"context",children:(0,i.jsx)(_.IconApiOutline14,{})}),(0,i.jsx)("span",{className:R.compactionDisclosureIcon,"data-compaction-disclosure":d?"expanded":"collapsed",children:d?(0,i.jsx)(_.IconChevronDownOutline14,{}):(0,i.jsx)(_.IconChevronRightOutline14,{})})]}),(0,i.jsx)("span",{className:R.compactionTitle,children:n??o("message.compaction")}),(0,i.jsx)("span",{className:R.compactionSep,"aria-hidden":!0}),(0,i.jsx)("span",{className:R.compactionSummary,children:u})]}),d&&t.summary!==null&&(0,i.jsx)("div",{className:R.compactionBody,children:(0,i.jsx)(_.MarkdownText,{text:t.summary})})]})},"CompactionItem")),Hr=".tWf1yG_text{color:var(--dsw-alias-label-secondary);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.tWf1yG_fields{border-top:1px solid var(--dsw-alias-line-secondary);flex-direction:column;gap:2px;margin:8px 0 0;padding-top:8px;display:flex}.tWf1yG_field{gap:8px;min-width:0;display:flex}.tWf1yG_fieldKey{min-width:96px;color:var(--dsw-alias-label-caption);flex:none}.tWf1yG_fieldValue{min-width:0;color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;flex:auto;margin:0}.tWf1yG_files{flex-wrap:wrap;gap:4px 12px;margin:0 0 8px;padding:0;list-style:none;display:flex}.tWf1yG_file{align-items:baseline;gap:6px;min-width:0;display:flex}.tWf1yG_filePath{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere}.tWf1yG_fileAction{color:var(--dsw-alias-label-caption)}.tWf1yG_catalogNotice{color:var(--dsw-alias-label-caption);margin:0 0 6px}.tWf1yG_entries{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.tWf1yG_entry{gap:8px;min-width:0;display:flex}.tWf1yG_entryName{color:var(--dsw-alias-label-secondary);flex:none}.tWf1yG_entryDescription{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.tWf1yG_sections{flex-direction:column;gap:8px;margin:0;display:flex}.tWf1yG_section{flex-direction:column;gap:2px;min-width:0;display:flex}.tWf1yG_sectionName{color:var(--dsw-alias-label-caption)}.tWf1yG_sectionText{color:var(--dsw-alias-label-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.tWf1yG_relaySender{color:var(--dsw-alias-label-caption);overflow-wrap:anywhere;margin:0 0 6px}.tWf1yG_recalls{flex-direction:column;gap:2px;margin:0 0 8px;padding:0;list-style:none;display:flex}.tWf1yG_recall{gap:8px;min-width:0;display:flex}.tWf1yG_recallLabel{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere}.tWf1yG_recallCounts{color:var(--dsw-alias-label-caption);flex:none}",Dn="@deepseek-ai/dsh-client-ui-conversation/ContextBody.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Dn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Dn,e.textContent=Hr,document.head.appendChild(e)}var $={sectionName:"tWf1yG_sectionName",entries:"tWf1yG_entries",section:"tWf1yG_section",field:"tWf1yG_field",entryDescription:"tWf1yG_entryDescription",files:"tWf1yG_files",fileAction:"tWf1yG_fileAction",catalogNotice:"tWf1yG_catalogNotice",fields:"tWf1yG_fields",text:"tWf1yG_text",sections:"tWf1yG_sections",sectionText:"tWf1yG_sectionText",recalls:"tWf1yG_recalls",recallCounts:"tWf1yG_recallCounts",file:"tWf1yG_file",filePath:"tWf1yG_filePath",recall:"tWf1yG_recall",relaySender:"tWf1yG_relaySender",recallLabel:"tWf1yG_recallLabel",entry:"tWf1yG_entry",entryName:"tWf1yG_entryName",fieldValue:"tWf1yG_fieldValue",fieldKey:"tWf1yG_fieldKey"};const $n=2e4,Yr=200;function ie(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}r(ie,"asRecord");function Un(e){const t=[];for(const n of e){if(n.type!=="text"){t.push({block:n});continue}const s=t[t.length-1];s!==void 0&&"text"in s?s.text+=n.text:t.push({text:n.text})}return t}r(Un,"contentRuns");function Qr(e){return Un(e).flatMap(t=>"block"in t?[t.block]:[])}r(Qr,"unknownBlocks");function Gt(e,t){return e.length>$n?`${e.slice(0,$n)}
|
|
4
|
-
${t("json.truncated",{total:e.length})}`:e}r(Gt,"boundedText");function Zr(e,t){return Gt(typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):JSON.stringify(e),t)}r(Zr,"fieldValue");function eo({source:e,formRendered:t,t:n}){const s=ie(e);if(s===null)return null;const o=t?["kind","form"]:["kind"],a=Object.entries(s).filter(([l])=>!o.includes(l));return a.length===0?null:(0,i.jsx)("dl",{className:$.fields,"data-context-fields":!0,children:a.map(([l,c])=>(0,i.jsxs)("div",{className:$.field,children:[(0,i.jsx)("dt",{className:$.fieldKey,children:l}),(0,i.jsx)("dd",{className:$.fieldValue,children:Zr(c,n)})]},l))})}r(eo,"SourceFields");function to({blocks:e,t}){return(0,i.jsx)(i.Fragment,{children:e.map((n,s)=>(0,i.jsx)(_.JsonBlock,{label:t("message.unknownBlock"),payload:n,truncatedLabel:r(o=>t("json.truncated",{total:o}),"truncatedLabel")},s))})}r(to,"UnknownBlocks");function ot({content:e,t}){return(0,i.jsx)(i.Fragment,{children:Un(e).map((n,s)=>"text"in n?n.text!==""&&(0,i.jsx)("pre",{className:$.text,"data-context-text":!0,children:Gt(n.text,t)},s):(0,i.jsx)(_.JsonBlock,{label:t("message.unknownBlock"),payload:n.block,truncatedLabel:r(o=>t("json.truncated",{total:o}),"truncatedLabel")},s))})}r(ot,"ModelFacingContent");function Fe({content:e,source:t,t:n}){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(ot,{content:e,t:n}),(0,i.jsx)(eo,{source:t,formRendered:!1,t:n})]})}r(Fe,"OpaqueBody");function Pn(e){const t=ie(e),n=t===null?void 0:t.changes;if(!Array.isArray(n))return null;const s=[],o=new Set;for(const a of n){const l=ie(a);if(l===null)return null;const c=l.path;if(typeof c!="string"||c==="")return null;const d=l.action;if(d!=="set"&&d!=="replace"&&d!=="remove")return null;const u=l.digest;o.has(c)||(o.add(c),s.push({action:d,path:c,...typeof u=="string"?{digest:u}:{}}))}return s.length===0?null:s}r(Pn,"instructionChanges");function no(e,t){return e==="remove"?"message.context.instructions.removed":t?"message.context.instructions.loaded":e==="set"?"message.context.instructions.added":"message.context.instructions.updated"}r(no,"instructionAction");function so({content:e,source:t,t:n}){const s=Pn(t);if(s===null)return(0,i.jsx)(Fe,{content:e,source:t,t:n});const o=ie(t)?.baseline===!0;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("ul",{className:$.files,"data-context-files":!0,children:s.map(a=>(0,i.jsxs)("li",{className:$.file,title:a.digest,children:[(0,i.jsx)("span",{className:$.filePath,children:a.path}),(0,i.jsx)("span",{className:$.fileAction,children:n(no(a.action,o))})]},a.path))}),(0,i.jsx)(ot,{content:e,t:n})]})}r(so,"InstructionsBody");function zn(e){const t=ie(e),n=t===null?void 0:t.entries;if(!Array.isArray(n))return null;const s=[];for(const o of n){const a=ie(o);if(a===null)return null;const l=a.name,c=a.description;if(typeof l!="string"||l===""||typeof c!="string")return null;s.push({name:l,description:c})}return s}r(zn,"catalogEntries");function ro({content:e,source:t,t:n}){const s=zn(t);if(s===null)return(0,i.jsx)(Fe,{content:e,source:t,t:n});const o=ie(t)?.update===!0,a=s.slice(0,Yr),l=Qr(e);return(0,i.jsxs)(i.Fragment,{children:[o&&(0,i.jsx)("p",{className:$.catalogNotice,"data-context-catalog-update":!0,children:n("message.context.catalog.replaced")}),(0,i.jsx)("ul",{className:$.entries,"data-context-entries":!0,children:a.map((c,d)=>(0,i.jsxs)("li",{className:$.entry,children:[(0,i.jsx)("code",{className:$.entryName,children:c.name}),(0,i.jsx)("span",{className:$.entryDescription,children:c.description})]},d))}),a.length<s.length&&(0,i.jsx)("p",{className:$.catalogNotice,"data-context-entries-truncated":!0,children:n("message.context.catalog.more",{count:s.length-a.length})}),(0,i.jsx)(to,{blocks:l,t:n})]})}r(ro,"CatalogBody");function Fn(e){const t=ie(e),n=t===null?void 0:t.sections;if(!Array.isArray(n))return null;const s=[];for(const o of n){const a=ie(o);if(a===null)return null;const l=a.name,c=a.text;if(typeof l!="string"||l===""||typeof c!="string")return null;s.push({name:l,text:c})}return s.length===0?null:s}r(Fn,"snapshotSections");function oo({content:e,source:t,t:n}){const s=Fn(t);return s===null?(0,i.jsx)(Fe,{content:e,source:t,t:n}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("p",{className:$.catalogNotice,"data-context-snapshot-supersedes":!0,children:n("message.context.snapshot.supersedes")}),(0,i.jsx)("dl",{className:$.sections,"data-context-sections":!0,children:s.map((o,a)=>(0,i.jsxs)("div",{className:$.section,children:[(0,i.jsx)("dt",{className:$.sectionName,children:o.name}),(0,i.jsx)("dd",{className:$.sectionText,children:Gt(o.text,n)})]},a))})]})}r(oo,"SnapshotBody");function io({content:e,t}){return(0,i.jsx)(ot,{content:e,t})}r(io,"NoticeBody");function ao({content:e,source:t,t:n}){const s=Jn(t);return s===null?(0,i.jsx)(Fe,{content:e,source:t,t:n}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("p",{className:$.relaySender,"data-context-relay-sender":!0,children:n("message.context.relay.from",{session:s})}),(0,i.jsx)(ot,{content:e,t:n})]})}r(ao,"RelayBody");function Jn(e){const t=ie(e)?.senderSessionId;return typeof t=="string"&&t!==""?t:null}r(Jn,"relaySender");function Kn(e){const t=ie(e),n=t===null?void 0:t.references;if(!Array.isArray(n))return null;const s=[];for(const o of n){const a=ie(o);if(a===null)return null;const l=a.label,c=a.retainedMessages,d=a.omittedMessages,u=a.truncated;if(typeof l!="string"||l===""||typeof c!="number"||typeof d!="number"||typeof u!="boolean")return null;s.push({label:l,retained:c,omitted:d,truncated:u})}return s.length===0?null:s}r(Kn,"recalledSessions");function lo({content:e,source:t,t:n}){const s=Kn(t);return s===null?(0,i.jsx)(Fe,{content:e,source:t,t:n}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("ul",{className:$.recalls,"data-context-recalls":!0,children:s.map((o,a)=>(0,i.jsxs)("li",{className:$.recall,children:[(0,i.jsx)("span",{className:$.recallLabel,children:o.label}),(0,i.jsx)("span",{className:$.recallCounts,children:n("message.context.recall.counts",{retained:o.retained,omitted:o.omitted})}),o.truncated&&(0,i.jsx)("span",{className:$.recallCounts,children:n("message.context.recall.truncated")})]},a))}),(0,i.jsx)(ot,{content:e,t:n})]})}r(lo,"RecallBody");function co(e){const t=ie(e)?.summary;return typeof t=="string"&&t!==""?t:null}r(co,"noticeSummary");function uo(e,t){const n={rendered:null,summary:null,body:(0,i.jsx)(Fe,{...t})};switch(e){case"instructions":return Pn(t.source)===null?n:{rendered:"instructions",summary:null,body:(0,i.jsx)(so,{...t})};case"catalog":return zn(t.source)===null?n:{rendered:"catalog",summary:null,body:(0,i.jsx)(ro,{...t})};case"snapshot":return Fn(t.source)===null?n:{rendered:"snapshot",summary:null,body:(0,i.jsx)(oo,{...t})};case"notice":{const s=co(t.source);return s===null?n:{rendered:"notice",summary:s,body:(0,i.jsx)(io,{...t})}}case"relay":return Jn(t.source)===null?n:{rendered:"relay",summary:null,body:(0,i.jsx)(ao,{...t})};case"recall":return Kn(t.source)===null?n:{rendered:"recall",summary:null,body:(0,i.jsx)(lo,{...t})};case null:return n;default:throw new Error(`unreachable context form: ${String(e)}`)}}r(uo,"contextBody");const po=".wmVwWa_root{min-width:0}.wmVwWa_root[data-open]{padding-bottom:4px}.wmVwWa_chevron{color:var(--dsw-alias-label-secondary)}.wmVwWa_sep{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.wmVwWa_source{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:14px;line-height:24px;overflow:hidden}.wmVwWa_summary{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:14px;line-height:24px;overflow:hidden}.wmVwWa_body{box-sizing:border-box;background:var(--dsw-alias-markdown-code-block);width:calc(100% - 22px);max-height:141px;color:var(--dsw-alias-label-tertiary);font:400 11px/16px var(--ds-font-family-code);border:none;border-radius:8px;margin:4px 0 0 22px;padding:10px 16px 12px 12px;overflow:auto}",Xn="@deepseek-ai/dsh-client-ui-conversation/ContextInjectionRow.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Xn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Xn,e.textContent=po,document.head.appendChild(e)}var Ue={body:"wmVwWa_body",source:"wmVwWa_source",sep:"wmVwWa_sep",summary:"wmVwWa_summary",chevron:"wmVwWa_chevron",root:"wmVwWa_root"};function ho({content:e,source:t,provenance:n,form:s,t:o}){const[a,l]=(0,h.useState)(!1),{rendered:c,summary:d,body:u}=uo(s,{content:e,source:t,t:o});return(0,i.jsx)(_.DisclosureRow,{className:Ue.root,icon:(0,i.jsx)(_.IconBrowseOutline16,{size:14}),chevronClassName:Ue.chevron,title:o(n.role==="recall"?"message.contextRecall":"message.contextInjection"),collapsedContent:n.label===null?void 0:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:Ue.sep,"aria-hidden":!0}),(0,i.jsx)("span",{className:Ue.source,"data-context-source":!0,children:n.label}),d!==null&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:Ue.sep,"aria-hidden":!0}),(0,i.jsx)("span",{className:Ue.summary,"data-context-summary":!0,children:d})]})]}),keepContentWhenOpen:!0,open:a,expandable:!0,expandOnRowClick:!0,onToggle:r(()=>{l(m=>!m)},"onToggle"),children:(0,i.jsx)("div",{className:Ue.body,"data-context-injection-body":!0,"data-context-form":c??void 0,children:u})})}r(ho,"ContextInjectionRow");function fo(){const[e,t]=(0,h.useState)(()=>_n(Date.now()));return(0,h.useEffect)(()=>{let n;const s=r(()=>{const o=Date.now();t(_n(o)),n=setTimeout(s,An(o))},"arm");return n=setTimeout(s,An(Date.now())),()=>{clearTimeout(n)}},[]),e}r(fo,"useCalendarDay");const mo=".KjuGrW_actions{align-items:center;gap:10px;height:28px;display:flex}.KjuGrW_timeStart{color:var(--dsw-alias-label-tertiary);white-space:nowrap;padding-right:12px;font-size:14px;line-height:24px}.KjuGrW_timeEnd{color:var(--dsw-alias-label-tertiary);white-space:nowrap;padding-left:12px;font-size:14px;line-height:24px}.KjuGrW_runTimeDot{margin:0 10px}@media (hover:hover){[data-time-hover-root] :is(.KjuGrW_timeStart,.KjuGrW_timeEnd){opacity:0;transition:opacity 80ms}[data-time-hover-root]:hover :is(.KjuGrW_timeStart,.KjuGrW_timeEnd),[data-time-hover-root]:focus-within :is(.KjuGrW_timeStart,.KjuGrW_timeEnd){opacity:1}}.KjuGrW_action{width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.KjuGrW_action:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}.KjuGrW_action[data-unavailable]{cursor:default;opacity:.4}.KjuGrW_action[data-unavailable]:hover{color:var(--dsw-alias-label-tertiary);background:0 0}.KjuGrW_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}",Vn="@deepseek-ai/dsh-client-ui-conversation/MessageIconActions.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Vn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Vn,e.textContent=mo,document.head.appendChild(e)}var xe={runTimeDot:"KjuGrW_runTimeDot",timeEnd:"KjuGrW_timeEnd",timeStart:"KjuGrW_timeStart",actions:"KjuGrW_actions",action:"KjuGrW_action",visuallyHidden:"KjuGrW_visuallyHidden"};function Lt({text:e,time:t,runMs:n,ttftMs:s,tokensPerSecond:o,clock:a,onBranch:l,branchUnavailable:c=!1,className:d,extraActions:u,t:m}){const f=fo(),k=(0,h.useId)(),[g,y]=(0,h.useState)(!1),b=(0,h.useRef)(!1),w=(0,h.useRef)(null),j=(0,h.useRef)(0);(0,h.useEffect)(()=>()=>{j.current+=1,b.current=!1,w.current!==null&&clearTimeout(w.current)},[]);const x=(0,h.useCallback)(()=>{if(g||b.current)return;const S=j.current;b.current=!0,(0,_.writeClipboard)(e).then(z=>{S===j.current&&(b.current=!1,z&&(y(!0),w.current=window.setTimeout(()=>{w.current=null,y(!1)},1e3)))})},[g,e]),A=t===void 0?null:(0,i.jsxs)("span",{className:a==="start"?xe.timeStart:xe.timeEnd,children:[jr(t,m,f),n!==void 0&&(0,i.jsxs)(i.Fragment,{children:[" ",(0,i.jsx)("span",{className:xe.runTimeDot,"aria-hidden":!0,children:"·"})," ",m("message.ranFor",{duration:Sn(n,m)})]}),s!==void 0&&(0,i.jsxs)(i.Fragment,{children:[" ",(0,i.jsx)("span",{className:xe.runTimeDot,"aria-hidden":!0,children:"·"})," ",m("message.ttft",{seconds:Cr(s)})]}),o!==void 0&&(0,i.jsxs)(i.Fragment,{children:[" ",(0,i.jsx)("span",{className:xe.runTimeDot,"aria-hidden":!0,children:"·"})," ",m("message.tokensPerSecond",{tps:Cn(o)})]})]});return(0,i.jsxs)("div",{className:d===void 0?xe.actions:`${xe.actions} ${d}`,children:[a==="start"?A:null,(0,i.jsx)(_.Tooltip,{label:m(g?"copied":"copy"),side:"bottom",children:(0,i.jsx)("button",{type:"button",className:xe.action,"aria-label":m(g?"copied":"copy"),onClick:x,children:g?(0,i.jsx)(_.IconCheckOutline16,{}):(0,i.jsx)(_.IconCopyOutline16,{})})}),u,l!==void 0&&(0,i.jsx)(_.Tooltip,{label:m(c?"message.branchUnavailable":"message.branch"),side:"bottom",children:(0,i.jsx)("button",{type:"button",className:xe.action,"aria-label":m("message.branch"),"aria-disabled":c||void 0,"aria-describedby":c?k:void 0,"data-unavailable":c||void 0,onClick:c?void 0:l,children:(0,i.jsx)(_.IconBranchOutline16,{})})}),l!==void 0&&c&&(0,i.jsx)("span",{id:k,className:xe.visuallyHidden,children:m("message.branchUnavailable")}),a==="end"?A:null]})}r(Lt,"MessageIconActions");function go(e){const t=[],n=[],s=[];for(const o of e){const a=o;a.type==="text"&&typeof a.text=="string"?t.push(a.text):a.type==="image"&&a.attachment!==void 0?n.push({attachment:a.attachment}):s.push(o)}return{text:t.join(""),images:n,rest:s}}r(go,"contentParts");function mt(e){return Math.max(1,Math.ceil(e/1e3))}r(mt,"retrySeconds");function vo({node:e,active:t,t:n}){const s=(0,h.useMemo)(()=>Date.now()+e.delayMs,[e.delayMs,e.seq]),o=mt(e.delayMs),a=e.mode==="normal"?e.maxRetries:"∞",[l,c]=(0,h.useState)(()=>({deadline:s,seconds:mt(s-Date.now())})),d=l.deadline===s?l.seconds:mt(s-Date.now());(0,h.useEffect)(()=>{if(!t)return;const f=r(()=>{const g=mt(s-Date.now());return c(y=>y.deadline===s&&y.seconds===g?y:{deadline:s,seconds:g}),g},"updateCountdown");if(f()===1)return;const k=window.setInterval(()=>{f()===1&&window.clearInterval(k)},250);return()=>{window.clearInterval(k)}},[t,s]);const u=t?n("message.retry.active"):e.retryState==="cancelled"?n("message.retry.cancelled"):e.retryState==="started"?n("message.retry.started"):n("message.retry.scheduled"),m=t?d:o;return(0,i.jsxs)("details",{className:R.retryRow,"data-active":t||void 0,children:[(0,i.jsx)("summary",{className:R.retrySummary,children:(0,i.jsx)("span",{className:R.retryText,role:"status",children:n("message.retry.status",{label:u,retry:e.retry,maximum:a,seconds:m})})}),(0,i.jsxs)("div",{className:R.retryDetails,children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{className:R.retryDetailLabel,children:n("message.retry.delay")}),Math.round(e.delayMs),"ms"]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{className:R.retryDetailLabel,children:n("message.retry.failure")}),e.failure.message]})]})]})}r(vo,"ModelRetryItem");function yo({node:e,t}){return(0,i.jsxs)("div",{className:R.turnErrorRow,role:"status",children:[(0,i.jsx)(_.StateDot,{state:"error",className:R.turnErrorDot}),(0,i.jsxs)("div",{className:R.turnErrorCopy,children:[(0,i.jsx)("span",{className:R.turnErrorTitle,children:t("message.turnError")}),(0,i.jsx)("span",{className:R.turnErrorMessage,children:e.message})]}),e.code!==void 0&&(0,i.jsx)("code",{className:R.turnErrorCode,children:e.code})]})}r(yo,"TurnErrorItem");function xo({t:e}){return(0,i.jsxs)("div",{className:R.turnErrorRow,role:"status",children:[(0,i.jsx)(_.StateDot,{state:"warning",className:R.turnErrorDot}),(0,i.jsxs)("div",{className:R.turnErrorCopy,children:[(0,i.jsx)("span",{className:R.maxTokensTitle,children:e("message.maxTokens")}),(0,i.jsx)("span",{className:R.turnErrorMessage,children:e("message.maxTokens.hint")})]})]})}r(xo,"TurnMaxTokensItem");function bo(e){const t=/(^|\s)([/@][\w-]+)(?=\s|$)/g,n=[];let s=0,o;for(;(o=t.exec(e))!==null;){const a=o.index+(o[1]?.length??0),l=o[2]??"";a>s&&n.push((0,i.jsx)(_.MessageText,{text:e.slice(s,a)},s)),n.push((0,i.jsx)("span",{className:R.refChip,"data-ref-chip":l.startsWith("@")?"subagent":"skill",children:l},a)),s=a+l.length}return n.length===0?(0,i.jsx)(_.MessageText,{text:e}):(s<e.length&&n.push((0,i.jsx)(_.MessageText,{text:e.slice(s)},s)),(0,i.jsx)(i.Fragment,{children:n}))}r(bo,"projectUserText");function Hn({content:e,imageLoader:t,actions:n,pending:s=!1,t:o}){const{text:a,images:l,rest:c}=go(e),d=r(m=>o("json.truncated",{total:m}),"truncated"),u=a!==""||c.length>0;return(0,i.jsxs)("div",{className:R.userRow,"data-pending-steering":s||void 0,"data-time-hover-root":!0,children:[(0,i.jsxs)("div",{className:R.userStack,children:[(0,i.jsx)(Ze.ImageGallery,{images:l,load:t,align:"end",labels:wn(o)}),u&&(0,i.jsxs)("div",{className:R.bubble,children:[bo(a),c.map((m,f)=>(0,i.jsx)(_.JsonBlock,{label:o("message.extraBlock"),payload:m,truncatedLabel:d},f))]})]}),n?.(a)]})}r(Hn,"UserStyleBubble");function wo({content:e,loadImage:t,t:n}){return(0,i.jsx)(Hn,{content:e,imageLoader:t??(()=>Promise.reject(new Error(n("image.serviceUnavailable")))),pending:!0,t:n,actions:r(s=>(0,i.jsx)(Lt,{text:s,clock:"start",className:R.actions,t:n}),"actions")})}r(wo,"PendingSteeringBubble");const Yn=(0,h.memo)(r(function({node:t,loadImage:n,t:s}){const o=t.data;return(0,i.jsx)(Hn,{content:o.content,imageLoader:n,t:s,actions:r(a=>(0,i.jsx)(Lt,{text:a,time:o.time,clock:"start",className:R.actions,t:s}),"actions")})},"UserMessageNodeView")),ko=(0,h.memo)(r(function({node:t,t:n}){const s=t.data;return(0,i.jsx)(ho,{content:s.content,source:s.source,provenance:s.provenance,form:s.form,t:n})},"ContextMessageNodeView")),_o=(0,h.memo)(r(function({node:t,t:n}){return(0,i.jsx)(Bn,{node:t.data,t:n})},"CompactionNodeView")),Ao=(0,h.memo)(r(function({node:t,t:n}){const s=t.data;return(0,i.jsx)(vo,{node:s.current,active:s.current.retryState==="scheduled",t:n})},"RetryNodeView")),So=(0,h.memo)(r(function({node:t,t:n}){return(0,i.jsx)(yo,{node:t.data,t:n})},"TurnErrorNodeView")),Co=(0,h.memo)(r(function({t}){return(0,i.jsx)(xo,{t})},"TurnMaxTokensNodeView")),jo=(0,h.memo)(r(function({node:t,t:n}){const s=t.data;return(0,i.jsx)("div",{className:R.contextRow,children:(0,i.jsx)(_.JsonBlock,{label:n("message.unknownSurface",{type:s.type}),payload:s.data,truncatedLabel:r(o=>n("json.truncated",{total:o}),"truncatedLabel")})})},"UnknownNodeView")),Io=".ylv09G_root{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.ylv09G_scroll{min-height:0;padding:16px calc(var(--dsh-composer-side-clearance) + 16px);flex:auto;overflow-y:auto}[data-conversation-scroll] .ylv09G_root{flex:none;height:auto;min-height:auto}[data-conversation-scroll] .ylv09G_scroll{flex:none;min-height:auto;overflow:visible}.ylv09G_column{max-width:var(--dsh-chat-content-width);flex-direction:column;gap:16px;width:100%;margin:0 auto;display:flex}.ylv09G_flowItem{min-width:0}.ylv09G_flowItem:empty{display:none}.ylv09G_callRow{border-radius:6px}.ylv09G_turnStatus{height:26px;font:var(--dsw-font-s-strong-14);white-space:nowrap;background:linear-gradient(90deg, var(--dsw-static-deepseek-500) 0%, var(--dsw-static-deepseek-500) 40%, var(--dsw-static-deepseek-200) 50%, var(--dsw-static-deepseek-500) 60%, var(--dsw-static-deepseek-500) 100%);color:#0000;-webkit-text-fill-color:transparent;background-position:100% 0;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;flex:none;align-self:flex-start;align-items:center;animation:1.8s linear infinite ylv09G_dsh-turn-status-shimmer;display:inline-flex}.ylv09G_turnStatusClock{font:var(--dsw-font-xs-13);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-caption);-webkit-text-fill-color:var(--dsw-alias-label-caption);margin-left:8px;font-weight:400}@keyframes ylv09G_dsh-turn-status-shimmer{to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.ylv09G_turnStatus{background-position:0 0;background-size:100% 100%;animation:none}}.ylv09G_hint{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.ylv09G_openError{color:var(--dsw-alias-state-error-primary);font-size:12px;line-height:18px}.ylv09G_older{justify-content:center;display:flex}.ylv09G_older button{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-interactive-bg-hover-solid);cursor:pointer;border:none;border-radius:14px;padding:4px 12px;font-size:12px}.ylv09G_older button:disabled{cursor:default;opacity:.6}.ylv09G_toBottomSlot{z-index:8;height:0;padding-right:max(0px, calc((100% - var(--dsh-chat-content-width)) / 2));pointer-events:none;justify-content:flex-end;display:flex;position:sticky;bottom:16px}[data-conversation-scroll] .ylv09G_toBottomSlot{bottom:calc(var(--dsh-composer-height,152px) + 16px)}.ylv09G_toBottom{border:1px solid var(--dsw-alias-border-l2);width:34px;height:34px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-button-floating-fill);box-shadow:var(--dsw-shadow-lv2);cursor:pointer;pointer-events:auto;border-radius:100px;justify-content:center;align-items:center;margin-top:-34px;padding:0;display:flex}.ylv09G_toBottom:hover{background:var(--dsw-alias-button-floating-hover)}",Qn="@deepseek-ai/dsh-client-ui-conversation/ChatView.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Qn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Qn,e.textContent=Io,document.head.appendChild(e)}var ae={"dsh-turn-status-shimmer":"ylv09G_dsh-turn-status-shimmer",openError:"ylv09G_openError",scroll:"ylv09G_scroll",toBottomSlot:"ylv09G_toBottomSlot",turnStatus:"ylv09G_turnStatus",flowItem:"ylv09G_flowItem",callRow:"ylv09G_callRow",root:"ylv09G_root",column:"ylv09G_column",turnStatusClock:"ylv09G_turnStatusClock",hint:"ylv09G_hint",older:"ylv09G_older",toBottom:"ylv09G_toBottom"};const No=(0,h.memo)(r(function({nodeKey:t,selectedCallId:n,cwd:s,openFile:o,inspectCall:a,forkAt:l,loadImage:c,fileMentions:d,useSession:u,renderSlot:m,t:f}){const k=u(w=>w.chat.nodes.get(t)),g=k,y=(0,h.useMemo)(()=>k===void 0?null:{selectedCallId:n,cwd:s,openFile:o,inspectCall:a,forkAt:l,loadImage:c,fileMentions:d},[k,n,s,o,a,l,c,d]);if(g===void 0||y===null)return null;const b={...y,node:g};return(0,i.jsx)("div",{className:ae.flowItem,"data-chat-anchor-key":g.key,"data-chat-flow-key":g.key,"data-chat-flow-kind":g.kind,children:m("conversation.chat.node",b,{entryKey:g.kind,hookContext:t,fallback:(0,i.jsx)(_.JsonBlock,{label:f("message.unknownSurface",{type:g.kind}),payload:g.data,truncatedLabel:r(w=>f("json.truncated",{total:w}),"truncatedLabel")})})})},"ChatNodeSeat"));function Pe(e){return e.closest("[data-conversation-scroll]")??e}r(Pe,"scrollerOf");function Zn(e,t){for(const n of e.querySelectorAll("[data-chat-anchor-key]"))if(n.dataset.chatAnchorKey===t)return n;return null}r(Zn,"anchorElement");function gt(e,t){return e.getBoundingClientRect().top-t.getBoundingClientRect().top}r(gt,"flowTop");function es(e,t){const n=t.getBoundingClientRect(),s=t.querySelector("[data-composer-seat]")?.getBoundingClientRect().top??n.bottom;if(typeof document.elementsFromPoint=="function"&&s>n.top){const a=e.getBoundingClientRect(),l=Math.max(n.left,a.left),c=Math.min(n.right,a.right),d=l+Math.max(0,c-l)/2,u=s-n.top,m=[1,Math.min(32,u/3),u/2,Math.max(1,u-1)];for(const f of m)for(const k of document.elementsFromPoint(d,n.top+f)){const g=k instanceof HTMLElement?k.closest("[data-chat-anchor-key]"):null;if(g!==null&&e.contains(g))return g}}const o=[...e.querySelectorAll("[data-chat-anchor-key]")];return o.filter(a=>{const l=a.getBoundingClientRect();return l.bottom>n.top&&l.top<s})[0]??o[0]??null}r(es,"pagingAnchor");function ts(e,t){const n=es(e,t),s=n?.dataset.chatAnchorKey;return n===null||s===void 0?null:{anchorKey:s,anchorTop:gt(n,t),scrollTop:t.scrollTop}}r(ts,"scrollPosition");function Eo(e){let t=null;for(const n of e.turns.values())n.status==="open"&&n.start!==void 0&&(t=n.start.time);return t}r(Eo,"runningTurnStartTime");function To({startTime:e,t}){const[n]=(0,h.useState)(()=>Date.now()),s=e??n,[o,a]=(0,h.useState)(()=>Math.max(0,Date.now()-s));(0,h.useEffect)(()=>{const c=r(()=>{a(Math.max(0,Date.now()-s))},"tick");c();const d=setInterval(c,1e3);return()=>{clearInterval(d)}},[s]);const l=o>=15e3;return(0,i.jsxs)("div",{className:ae.turnStatus,role:"status","aria-live":"polite",children:["Deep diving...",l&&(0,i.jsx)("span",{className:ae.turnStatusClock,"aria-hidden":!0,children:Sn(o,t)})]})}r(To,"TurnStatus");function qo({useSession:e,useSessions:t,useStore:n,renderSlot:s,sessionId:o,openFile:a,loadOlder:l,loadImage:c,inspectCall:d,chatScroll:u,forkAt:m,fileMentions:f,t:k}){const g=e(C=>C.chat.order),y=e(C=>C.chat.nodes),b=e(C=>C.chat.timeline),w=e(C=>C.queue),j=t(C=>C.byId[o]?.cwd),x=e(C=>C.running),A=e(C=>C.openState),S=e(C=>C.openError),z=e(C=>C.hasMore),ne=e(C=>C.loadingOlder),Ee=n(C=>C.selection?.callId),he=(0,h.useMemo)(()=>w.filter(C=>C.placement==="steering"),[w]),Xe=(0,h.useMemo)(()=>Eo(b),[b]),Z=(0,h.useRef)(null),We=(0,h.useRef)(null),be=(0,h.useRef)(!0),[L,Q]=(0,h.useState)(!0),fe=(0,h.useRef)(0),se=(0,h.useRef)(null),ee=(0,h.useRef)(null),Te=(0,h.useRef)(!1),pe=(0,h.useRef)(null),me=(0,h.useRef)(null),Ge=(0,h.useRef)(null),Ve=g[0],E=Ve===void 0?null:y.get(Ve)?.anchorSeq??null,G=g.at(-1)??null,de=G===null?void 0:y.get(G),we=he[he.length-1]?.id??null,ge=`${A}:${E}:${G}:${g.length}:${x?1:0}:${we??""}`,Le=r(C=>{se.current=null,C.scrollTop=C.scrollHeight,fe.current=C.scrollTop,be.current=!0,Q(!0),u.save(null)},"toBottom");(0,h.useLayoutEffect)(()=>{const C=Z.current;if(C===null)return;const q=Pe(C);if(A==="open"&&!Te.current){Te.current=!0;const K=u.read();if(K===null)Le(q);else{q.scrollTop=K.scrollTop;const Be=Zn(C,K.anchorKey);Be!==null&&(q.scrollTop+=gt(Be,q)-K.anchorTop),fe.current=q.scrollTop;const _e=q.scrollHeight-q.scrollTop-q.clientHeight<=25;be.current=_e,Q(_e);const Ye=_e?null:ts(C,q);_e?u.save(null):Ye!==null&&u.save(Ye)}ee.current=E,pe.current=G,me.current=we,Ge.current=ge;return}if(se.current!==null&&E!==null&&ee.current!==null&&E<ee.current){const K=se.current;se.current=null;const Be=Zn(C,K.key);Be!==null&&(q.scrollTop+=gt(Be,q)-K.top),fe.current=q.scrollTop,ee.current=E,pe.current=G,me.current=we,Ge.current=ge;return}ee.current=E;const J=G!==pe.current&&de?.kind==="user",ke=we!==null&&we!==me.current,F=Ge.current!==ge;pe.current=G,me.current=we,Ge.current=ge,(J||ke||F&&be.current)&&Le(q)});const bt=(0,h.useRef)(()=>{});bt.current=()=>{const C=Z.current;if(C===null)return;const q=Pe(C),J=Math.max(0,q.scrollHeight-q.clientHeight),ke=Math.abs(q.scrollTop-Math.min(fe.current,J))>.5,F=ke?J-q.scrollTop<=25:be.current;if(!ke&&F){Le(q);return}be.current=F,Q(F);const K=F?null:ts(C,q);F?se.current=null:se.current!==null&&K!==null&&(se.current={key:K.anchorKey,top:K.anchorTop}),F?u.save(null):K!==null&&u.save(K),fe.current=q.scrollTop},(0,h.useEffect)(()=>{const C=Z.current;if(C===null)return;const q=Pe(C),J=r(()=>{bt.current()},"onScroll");return q.addEventListener("scroll",J,{passive:!0}),()=>{q.removeEventListener("scroll",J)}},[]);const He=(0,h.useRef)(null);He.current=()=>{const C=Z.current;if(C!==null&&be.current){const q=Pe(C);q.scrollTop=q.scrollHeight,fe.current=q.scrollTop,u.save(null)}},(0,h.useEffect)(()=>{const C=We.current,q=Z.current;if(C===null||q===null||typeof ResizeObserver>"u")return;const J=Pe(q).querySelector("[data-composer-seat]"),ke=new ResizeObserver(()=>{He.current?.()});return ke.observe(C),J!==null&&ke.observe(J),()=>{ke.disconnect()}},[]),(0,h.useEffect)(()=>{ne||(se.current=null)},[ne]);const lt=r(()=>{const C=Z.current;if(C!==null){const q=Pe(C),J=es(C,q);J!==null&&J.dataset.chatAnchorKey!==void 0&&(se.current={key:J.dataset.chatAnchorKey,top:gt(J,q)})}l()},"loadOlderAnchored");return(0,i.jsx)("div",{className:ae.root,children:(0,i.jsxs)("div",{ref:Z,className:ae.scroll,children:[(0,i.jsxs)("div",{ref:We,className:ae.column,"data-chat-flow":"",children:[A==="loading"&&(0,i.jsx)("div",{className:ae.hint,children:k("chat.loadingHistory")}),A==="error"&&S!==null&&(0,i.jsx)("div",{className:ae.openError,children:k("chat.loadError",{message:S.message,code:S.code})}),z&&(0,i.jsx)("div",{className:ae.older,children:(0,i.jsx)("button",{type:"button",disabled:ne,onClick:lt,children:k(ne?"loading":"chat.loadOlder")})}),g.map(C=>(0,i.jsx)(No,{nodeKey:C,useSession:e,selectedCallId:Ee,cwd:j,openFile:a,inspectCall:d,forkAt:m,loadImage:c,fileMentions:f,renderSlot:s,t:k},C)),x&&(0,i.jsx)(To,{startTime:Xe,t:k}),he.map(C=>(0,i.jsx)(wo,{content:C.content,loadImage:c,t:k},C.id))]}),!L&&(0,i.jsx)("div",{className:ae.toBottomSlot,children:(0,i.jsx)("button",{type:"button",className:ae.toBottom,"aria-label":k("chat.toBottom"),onClick:r(()=>{const C=Z.current;C!==null&&Le(Pe(C))},"onClick"),children:(0,i.jsx)(_.IconChevronDownOutline14,{})})})]})})}r(qo,"ChatView");var Ro=class{static{r(this,"PendingApproval")}wait;constructor(e){this.wait=e}get key(){return this.wait.key}get toolName(){return this.wait.payload.toolName}get reason(){return this.wait.payload.reason}get callId(){return this.wait.payload.callId}async answer(e){const t=await this.wait.respond({ok:!0,value:{sessionId:this.wait.sessionId,approvalId:this.wait.payload.approvalId,outcome:e}});if(!t.accepted)throw new Error(`approval response rejected: ${t.reason}`)}};function ns(e){return e?.kind==="tool-call"?e:void 0}r(ns,"toolNode");function Mo(e,t){return ns(e.chat.nodes.get((0,B.conversationContextKey)("tool-call",t)))?.data.root}r(Mo,"rootToolCall");function Oo(e,t){const n=r(s=>{if(s.callId===t)return s;for(const o of s.subCalls){const a=n(o);if(a!==void 0)return a}},"visit");for(const s of e.chat.nodes.values()){const o=ns(s)?.data.root;if(o===void 0)continue;const a=n(o);if(a!==void 0)return a}}r(Oo,"findToolCall");const Wo=".XI9R9W_root{padding:8px calc(var(--dsh-composer-side-clearance) + 16px) 12px;flex-direction:column;align-items:center;display:flex}.XI9R9W_card{width:100%;max-width:var(--dsh-chat-content-width);border:1px solid var(--dsw-alias-state-warn-secondary);background:var(--dsw-specific-input-major);box-shadow:var(--dsw-shadow-lv2);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:20px;overflow:hidden}.XI9R9W_strip{background:var(--dsw-alias-state-warn-tertiary);color:var(--dsw-alias-state-warn-primary);align-items:center;gap:8px;padding:10px 16px;font-size:13px;line-height:18px;display:flex}.XI9R9W_dot{background:var(--dsw-alias-state-warn-primary);border-radius:50%;width:8px;height:8px}.XI9R9W_body{box-sizing:border-box;max-height:var(--dsh-composer-text-max-height);flex-direction:column;gap:6px;padding:12px 16px 0;display:flex;overflow-y:auto}.XI9R9W_headline{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:500;line-height:24px}.XI9R9W_command{color:var(--dsw-alias-label-tertiary);font-family:var(--ds-font-family-code);word-break:break-all;font-size:13px;line-height:20px}.XI9R9W_actionRow{justify-content:flex-end;gap:8px;padding:14px 16px;display:flex}.XI9R9W_reject:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary);border-color:#0000}",ss="@deepseek-ai/dsh-client-ui-conversation/ApprovalPanel.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(ss)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=ss,e.textContent=Wo,document.head.appendChild(e)}var Ie={body:"XI9R9W_body",strip:"XI9R9W_strip",headline:"XI9R9W_headline",command:"XI9R9W_command",dot:"XI9R9W_dot",card:"XI9R9W_card",root:"XI9R9W_root",actionRow:"XI9R9W_actionRow",reject:"XI9R9W_reject"};function Go(e){if(e!==void 0)try{const t=JSON.parse(e.argsRaw);return typeof t.command=="string"?t.command:void 0}catch{return}}r(Go,"commandOf");function Lo(e){const t=(0,h.useMemo)(()=>new Ro(e.matched),[e.matched]),n=e.useSession(s=>{if(t.callId===void 0)return;const o=Mo(s,t.callId);if(o!==void 0)return o.callId===t.callId&&!("kind"in o)?Go(o):void 0});return(0,i.jsx)(Bo,{pending:t,t:e.t,...n===void 0?{}:{command:n}},t.key)}r(Lo,"ApprovalPanel");function Bo({pending:e,command:t,t:n}){const[s,o]=(0,h.useState)(!1),a=r(l=>{o(!0),e.answer(l).catch(()=>{o(!1)})},"answer");return(0,i.jsx)("div",{className:Ie.root,"data-approval-key":e.key,children:(0,i.jsxs)("div",{className:Ie.card,children:[(0,i.jsxs)("div",{className:Ie.strip,children:[(0,i.jsx)("span",{className:Ie.dot}),n("approval.waiting")]}),(0,i.jsxs)("div",{className:Ie.body,"data-approval-scroll":"",tabIndex:0,role:"group","aria-label":n("approval.detail.aria"),children:[(0,i.jsx)("div",{className:Ie.headline,children:e.reason??n("approval.escalation",{toolName:e.toolName})}),t!==void 0&&(0,i.jsx)("div",{className:Ie.command,children:t})]}),(0,i.jsxs)("div",{className:Ie.actionRow,children:[(0,i.jsx)(_.Button,{variant:"outline",className:Ie.reject,disabled:s,onClick:r(()=>{a("rejected")},"onClick"),children:n("approval.reject")}),(0,i.jsx)(_.Button,{variant:"primary",disabled:s,onClick:r(()=>{a("allowed-once")},"onClick"),children:n("approval.allowOnce")})]})]})})}r(Bo,"ApprovalFlow");const U="conversation",rs="描述你的任务以生成计划",os="describe your task to generate plan",Do={"view.chat":"对话","hint.plan":rs,"hint.goal":"输入目标,智能体将持续执行","hint.goal.active":"当前目标进行中。可输入 edit 修改 / pause 暂停 / resume 继续 / clear 清除","placeholder.plan":rs,"placeholder.default":"给智能体发消息","placeholder.unavailable":"会话不可用","placeholder.parentOffline":"父会话已离线,无法继续发送;仍可停止当前运行","placeholder.hero":"描述你想要构建的内容","placeholder.workspace":"选择一个工作区开始","input.commands":"命令","input.stop":"停止生成","input.send":"发送消息","placeholder.steerQueue":"Cmd/Ctrl+Enter 插话发送全部排队消息","input.accessMode":"访问模式,当前:{name}","image.dropTitle":"图片拖动到此处即可添加","image.dropDesc":"最多 {count} 张,每张 {size}","image.dropBlocked":"当前无法添加图片","image.pending":"待发送图片","image.openOriginal":"查看原图","image.openOriginalLabel":"{label},点击查看原图","image.remove":"移除图片 {name}","image.scrollLeft":"向左滚动图片","image.scrollRight":"向右滚动图片","image.original":"原图","image.label":"图片","image.loadFailed":"图片加载失败,点击重试","image.loading":"图片加载中…","image.preview":"原图预览","image.closePreview":"关闭原图预览","image.serviceUnavailable":"图片读取服务不可用","image.unsupportedType":"仅支持 PNG、JPG、WebP、GIF 格式的图片","image.tooMany":"一条消息最多添加 {count} 张图片","image.fileTooLarge":"单张图片不能超过 {size}","image.totalTooLarge":"图片总大小超过 {size},请移除部分图片","image.tooManyPixels":"图片分辨率过大,请压缩后重试","image.modelUnsupported":"当前模型不支持图片,请切换支持图片的模型","image.subagentUnsupported":"子智能体会话暂不支持图片","image.sendFailed":"图片发送失败({reason}),请重新添加图片后再试","context.aria":"上下文已用 {percent}","context.used":"上下文已用","context.system":"系统提示词","context.tools":"工具","context.messages":"对话消息","stats.counts":"{turns} 轮 · {steps} 步","stats.llm":"LLM {duration}","stats.toolCall":"工具调用 {duration}","stats.ttftAverage":"首 token 平均 {duration}","stats.tokensPerSecond":"{throughput} tok/s","stats.cacheHit":"缓存命中 {percent}%","stats.tokens":"输入 {input} tok · 输出 {output} tok","settings.enter.title":"繁忙时 Enter 键行为","settings.enter.description":"仅在智能体运行时生效;Cmd/Ctrl+Enter 使用另一行为","settings.enter.queue":"排队发送","settings.enter.steer":"插话发送","access.confirm.title":"确认启用 Full access?","access.confirm.description":"启用 Full access 后,agent 将减少确认步骤,并且可以直接执行更多操作,包括敏感操作、文件修改或外部命令。仅建议在你信任当前任务时使用。","access.confirm.acknowledge":"我已了解风险,并愿意继续","access.confirm.cancel":"取消","access.confirm.enable":"启用 Full access","hero.headline":"探索未至之境","hero.preview":"预览版","hero.chooseWorkspace":"选择工作区","session.hierarchy":"会话层级","details.title":"详情","details.close":"关闭详情","details.empty":"点击消息流中的工具行查看详情","details.notInWindow":"该调用不在当前窗口内","details.input":"输入","details.output":"输出","details.running":"运行中…","todo.title":"任务","todo.progress.done":"{done} 已完成","todo.progress.active":"{active} 进行中","todo.progress.pending":"{pending} 待处理","todo.rowTitle":"更新任务清单","todo.completed":"{done}/{total} 已完成","chat.loadingHistory":"载入历史…","chat.loadError":"历史加载失败:{message}({code})","chat.loadOlder":"加载更早","chat.toBottom":"回到底部","message.extraBlock":"附加内容块","message.contextInjection":"上下文注入","message.contextRecall":"跨会话召回","message.context.instructions.loaded":"已载入","message.context.instructions.added":"已新增","message.context.instructions.updated":"已更新","message.context.instructions.removed":"已移除","message.context.catalog.replaced":"替换目录","message.context.catalog.more":"…还有 {count} 条","message.context.snapshot.supersedes":"取代先前的快照","message.context.relay.from":"来自会话 {session}","message.context.recall.counts":"保留 {retained} 条 · 省略 {omitted} 条","message.context.recall.truncated":"已截断","message.compaction":"上下文已压缩","message.compaction.running":"正在压缩…","message.compaction.completed":"已压缩 {items} 条历史记录(约 {tokens} tokens)","message.compaction.expand":"点击查看压缩摘要","message.compaction.unavailable":"压缩摘要不可用","message.unknownSurface":"未知 surface 事件:{type}","message.unknownBlock":"未知内容块","message.stopped":"已停止","message.branch":"在新对话中分支","message.branchUnavailable":"仅可从已完成轮次的最后一条消息分支","message.retry.active":"正在重试模型请求","message.retry.cancelled":"模型请求重试已取消","message.retry.started":"已重试模型请求","message.retry.scheduled":"等待重试模型请求","message.retry.status":"{label}({retry}/{maximum}) · {seconds}s","message.retry.delay":"重试延迟:","message.retry.failure":"失败原因:","message.turnError":"本轮运行失败","message.maxTokens":"已达到输出 token 上限","message.maxTokens.hint":"回答被截断,已有输出保留在对话中。发送“继续”可让模型接着输出。","message.ranFor":"用时 {duration}","message.ttft":"首 token {seconds}秒","message.tokensPerSecond":"{tps} tok/s","duration.seconds":"{seconds}秒","duration.minutes":"{minutes}分{seconds}秒","command.running":"执行中…","command.failed":"命令失败","command.done":"已完成","command.title":"命令","approval.waiting":"等待审批","approval.detail.aria":"审批详情","approval.escalation":"工具 {toolName} 请求越权执行","approval.reject":"拒绝","approval.allowOnce":"允许一次","ask.rowTitle":"提问","ask.waiting":"等待回答","ask.cancelled":"已取消","ask.interrupted":"已中断","ask.answered":"{answered}/{total} 已回答","bash.running":"运行中","bash.failed":"失败","bash.stopped":"已停止","row.running":"运行中","row.failed":"失败","row.stopped":"已停止","queue.count":"{n} 条排队消息","queue.edit":"编辑排队消息","queue.edit.unsupported":"包含非文本内容,暂不支持编辑","queue.save":"保存排队消息","queue.cancelEdit":"取消编辑","queue.remove":"删除排队消息","queue.steer":"插话发送","queue.steer.unavailable":"仅运行中可插话发送","queue.editFailed":"编辑失败:这条消息可能已经开始发送。","queue.removeFailed":"删除失败:这条消息可能已经开始发送。","queue.steerFailed":"插话发送失败,请重试。","terminal.signal":"信号 {signal}","terminal.exitCode":"退出码 {code}","terminal.running":"运行中","terminal.failed":"失败","terminal.done":"已完成","terminal.noOutput":"无输出","terminal.collapseAria":"收起输出","terminal.expandAria":"展开其余 {n} 行输出","terminal.expandRest":"… 其余 {n} 行","json.truncated":"… 已截断,共 {total} 字符","clock.md":"{m}月{d}日","clock.ymd":"{y}年{m}月{d}日"},$o={"view.chat":"Chat","hint.plan":os,"hint.goal":"describe the objective for a long-running task","hint.goal.active":"goal active — edit / pause / resume / clear","placeholder.plan":os,"placeholder.default":"Message the agent","placeholder.unavailable":"Session unavailable","placeholder.parentOffline":"Parent session offline; sending is unavailable but you can still stop the run","placeholder.hero":"Describe what you want to build","placeholder.workspace":"Choose a workspace to start","input.commands":"Commands","input.stop":"Stop generating","input.send":"Send message","placeholder.steerQueue":"Cmd/Ctrl+Enter steers all queued messages","input.accessMode":"Access mode, current: {name}","image.dropTitle":"Drag images here to add them","image.dropDesc":"Up to {count} images, {size} each","image.dropBlocked":"Images cannot be added right now","image.pending":"Pending images","image.openOriginal":"View original","image.openOriginalLabel":"{label}, click to view original","image.remove":"Remove image {name}","image.scrollLeft":"Scroll images left","image.scrollRight":"Scroll images right","image.original":"Original image","image.label":"Image","image.loadFailed":"Image failed to load; click to retry","image.loading":"Loading image…","image.preview":"Original image preview","image.closePreview":"Close original image preview","image.serviceUnavailable":"Image loading service unavailable","image.unsupportedType":"Only PNG, JPG, WebP, and GIF images are supported","image.tooMany":"A message can include up to {count} images","image.fileTooLarge":"Each image must be smaller than {size}","image.totalTooLarge":"Images exceed {size} in total; remove some and try again","image.tooManyPixels":"Image resolution is too high; compress it and try again","image.modelUnsupported":"The current model does not support images; switch to a model that does","image.subagentUnsupported":"Subagent sessions do not support images yet","image.sendFailed":"Sending images failed ({reason}); re-add them and try again","context.aria":"{percent} of context used","context.used":"of context used","context.system":"System prompt","context.tools":"Tools","context.messages":"Messages","stats.counts":"{turns} turns · {steps} steps","stats.llm":"LLM {duration}","stats.toolCall":"Tool call {duration}","stats.ttftAverage":"TTFT avg {duration}","stats.tokensPerSecond":"{throughput} tok/s","stats.cacheHit":"Cache hit {percent}%","stats.tokens":"Input {input} tok · Output {output} tok","settings.enter.title":"Enter behavior while busy","settings.enter.description":"Busy only; Cmd/Ctrl+Enter uses the other behavior","settings.enter.queue":"Queue","settings.enter.steer":"Steer","access.confirm.title":"Enable Full access?","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.","access.confirm.acknowledge":"I understand the risks and want to continue","access.confirm.cancel":"Cancel","access.confirm.enable":"Enable Full access","hero.headline":"Into the Unknown","hero.preview":"Preview","hero.chooseWorkspace":"Choose workspace","session.hierarchy":"Session hierarchy","details.title":"Details","details.close":"Close details","details.empty":"Click a tool row in the message flow to view its details","details.notInWindow":"This call is outside the current window","details.input":"Input","details.output":"Output","details.running":"Running…","todo.title":"To-dos","todo.progress.done":"{done} completed","todo.progress.active":"{active} in progress","todo.progress.pending":"{pending} pending","todo.rowTitle":"Update to-do list","todo.completed":"{done}/{total} completed","chat.loadingHistory":"Loading history…","chat.loadError":"Failed to load history: {message} ({code})","chat.loadOlder":"Load earlier","chat.toBottom":"Back to bottom","message.extraBlock":"Extra content block","message.contextInjection":"Context injection","message.contextRecall":"Session recall","message.context.instructions.loaded":"loaded","message.context.instructions.added":"added","message.context.instructions.updated":"updated","message.context.instructions.removed":"removed","message.context.catalog.replaced":"Replacement catalog","message.context.catalog.more":"… {count} more","message.context.snapshot.supersedes":"Supersedes earlier snapshots","message.context.relay.from":"From session {session}","message.context.recall.counts":"{retained} kept · {omitted} omitted","message.context.recall.truncated":"truncated","message.compaction":"Context compacted","message.compaction.running":"Compacting context…","message.compaction.completed":"Compacted {items} history items (~{tokens} tokens)","message.compaction.expand":"View compaction summary","message.compaction.unavailable":"Compaction summary unavailable","message.unknownSurface":"Unknown surface event: {type}","message.unknownBlock":"Unknown content block","message.stopped":"Stopped","message.branch":"Branch into a new conversation","message.branchUnavailable":"Available only on the last message of a completed turn","message.retry.active":"Retrying model request","message.retry.cancelled":"Model request retry cancelled","message.retry.started":"Retried model request","message.retry.scheduled":"Waiting to retry model request","message.retry.status":"{label} ({retry}/{maximum}) · {seconds}s","message.retry.delay":"Retry delay: ","message.retry.failure":"Failure reason: ","message.turnError":"This turn failed","message.maxTokens":"Output token limit reached","message.maxTokens.hint":'The reply was cut off; earlier output is preserved in the conversation. Send "continue" to let the model resume.',"message.ranFor":"Ran for {duration}","message.ttft":"TTFT {seconds}s","message.tokensPerSecond":"{tps} tok/s","duration.seconds":"{seconds}s","duration.minutes":"{minutes}m {seconds}s","command.running":"Running…","command.failed":"Command failed","command.done":"Completed","command.title":"Command","approval.waiting":"Waiting for approval","approval.detail.aria":"Approval details","approval.escalation":"Tool {toolName} requests privileged execution","approval.reject":"Reject","approval.allowOnce":"Allow once","ask.rowTitle":"Ask question","ask.waiting":"waiting","ask.cancelled":"cancelled","ask.interrupted":"interrupted","ask.answered":"{answered}/{total} answered","bash.running":"Running","bash.failed":"Failed","bash.stopped":"Stopped","row.running":"Running","row.failed":"Failed","row.stopped":"Stopped","queue.count":"{n} queued messages","queue.edit":"Edit queued message","queue.edit.unsupported":"Contains non-text content; editing is not supported yet","queue.save":"Save queued message","queue.cancelEdit":"Cancel editing","queue.remove":"Remove queued message","queue.steer":"Steer queued message","queue.steer.unavailable":"Steering is available only while the agent is running","queue.editFailed":"Edit failed: this message may have already started sending.","queue.removeFailed":"Removal failed: this message may have already started sending.","queue.steerFailed":"Steering failed. Try again.","terminal.signal":"signal {signal}","terminal.exitCode":"exit code {code}","terminal.running":"Running","terminal.failed":"Failed","terminal.done":"Done","terminal.noOutput":"No output","terminal.collapseAria":"Collapse output","terminal.expandAria":"Expand the remaining {n} output lines","terminal.expandRest":"… {n} more lines","json.truncated":"… truncated, {total} characters total","clock.md":"{m}/{d}","clock.ymd":"{y}-{m}-{d}"},Uo=".MOxlRG_root{box-sizing:border-box;width:calc(100% - var(--dsh-composer-side-clearance) - var(--dsh-composer-side-clearance) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset));max-width:calc(var(--dsh-composer-card-max-width) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset));border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-specific-tip);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:12px;flex:none;margin:0 auto;overflow:hidden}.MOxlRG_body{flex-direction:column;gap:8px;padding:6px 12px;display:flex}.MOxlRG_header{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:0;display:flex}.MOxlRG_lead{color:var(--dsw-alias-label-tertiary);flex:none;place-items:center;display:grid}.MOxlRG_title{color:var(--dsw-alias-label-primary);flex:none;font-size:13px;font-weight:500;line-height:24px}.MOxlRG_progress{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:13px;font-weight:400;line-height:20px;overflow:hidden}.MOxlRG_chevron{color:var(--dsw-alias-label-tertiary);flex:none;place-items:center;display:grid}.MOxlRG_list{flex-direction:column;gap:8px;max-height:180px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.MOxlRG_item{min-width:0;color:var(--dsw-alias-label-secondary);align-items:center;gap:10px;font-size:13px;line-height:20px;display:flex}.MOxlRG_glyph{flex:none;place-items:center;width:16px;height:16px;display:grid}.MOxlRG_glyphCompleted{color:var(--dsw-alias-state-success-primary)}.MOxlRG_glyphPending{color:var(--dsw-alias-label-caption)}.MOxlRG_glyphProgress{color:var(--dsw-alias-state-business-primary);animation:1s linear infinite MOxlRG_todo-progress-spin}@keyframes MOxlRG_todo-progress-spin{to{transform:rotate(360deg)}}.MOxlRG_content{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}",is="@deepseek-ai/dsh-client-ui-conversation/TodoPanel.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(is)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=is,e.textContent=Uo,document.head.appendChild(e)}var te={glyph:"MOxlRG_glyph",title:"MOxlRG_title",body:"MOxlRG_body",chevron:"MOxlRG_chevron",root:"MOxlRG_root",item:"MOxlRG_item",glyphPending:"MOxlRG_glyphPending","todo-progress-spin":"MOxlRG_todo-progress-spin",glyphProgress:"MOxlRG_glyphProgress",content:"MOxlRG_content",header:"MOxlRG_header",list:"MOxlRG_list",lead:"MOxlRG_lead",progress:"MOxlRG_progress",glyphCompleted:"MOxlRG_glyphCompleted"};function Po(e){throw new Error(`unreachable todo status: ${String(e)}`)}r(Po,"assertNever");function zo(){return(0,i.jsxs)("svg",{width:14,height:14,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",className:te.glyphCompleted,children:[(0,i.jsx)("circle",{cx:"7",cy:"7",r:"6.4",stroke:"currentColor",strokeWidth:"1.2"}),(0,i.jsx)("path",{d:"M10.9631 5.71411L7.70154 8.97571C7.48011 9.19714 7.27736 9.40099 7.09229 9.54993C6.89742 9.70669 6.66314 9.85279 6.3634 9.90027C6.2049 9.92534 6.04339 9.92534 5.88489 9.90027C5.58515 9.85279 5.35087 9.70669 5.15601 9.54993C4.97093 9.40099 4.76818 9.19714 4.54675 8.97571L3.03516 7.46411L3.96313 6.53613L5.47473 8.04773C5.7169 8.28989 5.86196 8.43389 5.97888 8.52795C6.08597 8.61409 6.10875 8.60701 6.08997 8.604C6.11259 8.60758 6.13571 8.60758 6.15833 8.604C6.13954 8.60701 6.16232 8.61409 6.26941 8.52795C6.38633 8.43389 6.53139 8.28989 6.77356 8.04773L10.0352 4.78613L10.9631 5.71411Z",fill:"currentColor"})]})}r(zo,"CompletedGlyph");function Fo(){const e=(0,h.useId)();return(0,i.jsxs)("svg",{width:14,height:14,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",className:te.glyphProgress,children:[(0,i.jsx)("defs",{children:(0,i.jsxs)("linearGradient",{id:e,x1:"2.5",y1:"12",x2:"10.5",y2:"3.5",gradientUnits:"userSpaceOnUse",children:[(0,i.jsx)("stop",{stopColor:"currentColor"}),(0,i.jsx)("stop",{offset:"1",stopColor:"currentColor",stopOpacity:"0"})]})}),(0,i.jsx)("circle",{cx:"7",cy:"7",r:"6.4",stroke:`url(#${e})`,strokeWidth:"1.2"})]})}r(Fo,"ProgressGlyph");function Jo(){return(0,i.jsx)("svg",{width:14,height:14,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",className:te.glyphPending,children:(0,i.jsx)("circle",{cx:"7",cy:"7",r:"6.4",stroke:"currentColor",strokeWidth:"1.2",strokeDasharray:"2.4 2.4"})})}r(Jo,"PendingGlyph");function Ko({status:e}){switch(e){case"completed":return(0,i.jsx)(zo,{});case"in_progress":return(0,i.jsx)(Fo,{});case"pending":return(0,i.jsx)(Jo,{});default:return Po(e)}}r(Ko,"StatusGlyph");function Xo(e,t){const n=e.filter(a=>a.status==="completed").length,s=e.filter(a=>a.status==="in_progress").length,o=e.length-n-s;return[...n>0?[t("todo.progress.done",{done:n})]:[],...s>0?[t("todo.progress.active",{active:s})]:[],...o>0?[t("todo.progress.pending",{pending:o})]:[]].join(" · ")}r(Xo,"progressLabel");function Vo({todos:e,t}){const[n,s]=(0,h.useState)(!0);return e.length===0?null:(0,i.jsx)("section",{className:te.root,"data-testid":"todo-panel","aria-label":t("todo.title"),children:(0,i.jsxs)("div",{className:te.body,children:[(0,i.jsxs)("button",{type:"button",className:te.header,"aria-expanded":!n,onClick:r(()=>{s(o=>!o)},"onClick"),children:[(0,i.jsx)("span",{className:te.lead,"aria-hidden":!0,children:(0,i.jsx)(_.IconChecklistOutline14,{})}),(0,i.jsx)("span",{className:te.title,children:t("todo.title")}),(0,i.jsx)("span",{className:te.progress,children:Xo(e,t)}),(0,i.jsx)("span",{className:te.chevron,"aria-hidden":!0,children:n?(0,i.jsx)(_.IconChevronUpOutline14,{}):(0,i.jsx)(_.IconChevronDownOutline14,{})})]}),!n&&(0,i.jsx)("ul",{className:te.list,children:e.map(o=>(0,i.jsxs)("li",{className:te.item,"data-status":o.status,children:[(0,i.jsx)("span",{className:te.glyph,"aria-hidden":!0,children:(0,i.jsx)(Ko,{status:o.status})}),(0,i.jsx)("span",{className:te.content,children:o.content})]},o.content))})]})})}r(Vo,"TodoPanel");function Ho({useProjection:e,t}){const n=e("todos");return(0,i.jsx)(Vo,{todos:n??[],t})}r(Ho,"TodoDock");const Yo={name:"conversation-todo-dock",inject:["slots"],apply(e){e.slots.inject("conversation.input.dock",()=>e.slots.register({name:"conversation.input.dock",id:"todo",order:0,locale:U},Ho))}},Qo='.SIggOG_dock{box-sizing:border-box;width:calc(100% - var(--dsh-composer-side-clearance) - var(--dsh-composer-side-clearance) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset));max-width:calc(var(--dsh-composer-card-max-width) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset));margin:0 auto calc(0px - var(--dsh-composer-stack-gap) - 3px);padding:0 var(--dsh-composer-dock-inset);flex:none}.SIggOG_panel{background:var(--dsw-specific-tip);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:12px 12px 0 0;width:100%;padding:2px 0;position:relative;overflow:hidden}.SIggOG_panel:after{border:1px solid var(--dsw-alias-border-l1);border-radius:inherit;content:"";pointer-events:none;border-bottom:none;position:absolute;inset:0}.SIggOG_header{box-sizing:border-box;width:100%;height:36px;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:4px 12px;display:flex}.SIggOG_header:focus-visible{outline:2px solid var(--dsw-alias-label-tertiary);outline-offset:-2px}.SIggOG_header:disabled{cursor:default}.SIggOG_lead{color:var(--dsw-alias-label-tertiary);flex:none;place-items:center;display:grid}.SIggOG_count{min-width:0;font-family:Inter, var(--dsw-font-family);flex:auto;font-size:13px;font-weight:500;line-height:24px}.SIggOG_chevron{width:14px;height:14px;color:var(--dsw-alias-label-tertiary);flex:none;place-items:center;display:grid}.SIggOG_list{max-height:180px;margin:0;padding:0;list-style:none;overflow-y:auto}.SIggOG_row{box-sizing:border-box;border-radius:8px;align-items:center;gap:10px;width:100%;height:36px;padding:4px 5px 4px 12px;display:flex}.SIggOG_row+.SIggOG_row{box-shadow:inset 0 1px 0 var(--dsw-alias-border-l1)}.SIggOG_preview,.SIggOG_editor{min-width:0;font:var(--dsw-font-xs-13);font-family:Inter, var(--dsw-font-family);flex:auto}.SIggOG_preview{color:var(--dsw-alias-label-primary-dimmed);text-overflow:ellipsis;white-space:nowrap;word-break:break-word;overflow:hidden}.SIggOG_editor{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);height:28px;color:var(--dsw-alias-label-primary);border-radius:6px;outline:none;padding:0 8px}.SIggOG_editor:focus{border-color:var(--dsw-alias-state-business-primary)}.SIggOG_actions{flex:none;align-items:center;gap:10px;display:flex}.SIggOG_action{width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;place-items:center;padding:0;display:grid}.SIggOG_action:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.SIggOG_action:focus-visible{outline:2px solid var(--dsw-alias-label-tertiary);outline-offset:-2px}.SIggOG_action:disabled{cursor:default;opacity:.45}',as="@deepseek-ai/dsh-client-ui-conversation/QueueDock.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(as)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=as,e.textContent=Qo,document.head.appendChild(e)}var V={panel:"SIggOG_panel",row:"SIggOG_row",preview:"SIggOG_preview",lead:"SIggOG_lead",action:"SIggOG_action",chevron:"SIggOG_chevron",list:"SIggOG_list",actions:"SIggOG_actions",count:"SIggOG_count",editor:"SIggOG_editor",dock:"SIggOG_dock",header:"SIggOG_header"};function Zo({useSession:e,updateQueue:t,notify:n,t:s}){const o=e(S=>S.queue),a=(0,h.useMemo)(()=>o.filter(S=>S.placement==="queued"),[o]),l=e(S=>S.running),c=e(S=>S.subagent===null),[d,u]=(0,h.useState)(null),[m,f]=(0,h.useState)(null),[k,g]=(0,h.useState)(!0),y=(0,h.useId)();if((0,h.useEffect)(()=>{a.length===0&&!k&&g(!0),d!==null&&(!c||!a.some(S=>S.id===d.id))&&u(null)},[k,d,a,c]),a.length===0)return null;const b=c&&(d!==null||m!==null),w=!k||b,j=a.length===1||w,x=r(async(S,z,ne)=>{f(S);try{return await t(S,z),!0}catch{return n("error",ne),!1}finally{f(Ee=>Ee===S?null:Ee)}},"applyAction"),A=r(async()=>{d===null||d.text.trim()===""||await x(d.id,{kind:"edit",content:[{type:"text",text:d.text}]},s("queue.editFailed"))&&u(null)},"saveEdit");return(0,i.jsx)("div",{className:V.dock,"data-queue-dock":"",children:(0,i.jsxs)("div",{className:V.panel,children:[a.length>1&&(0,i.jsxs)("button",{type:"button",className:V.header,"aria-controls":y,"aria-expanded":w,disabled:b,onClick:r(()=>{g(S=>!S)},"onClick"),children:[(0,i.jsx)("span",{className:V.lead,"aria-hidden":!0,children:(0,i.jsx)(_.IconQueueOutline14,{})}),(0,i.jsx)("span",{className:V.count,children:s("queue.count",{n:a.length})}),(0,i.jsx)("span",{className:V.chevron,"aria-hidden":!0,children:w?(0,i.jsx)(_.IconChevronDownOutline14,{}):(0,i.jsx)(_.IconChevronUpOutline14,{})})]}),(0,i.jsx)("ul",{id:y,className:V.list,hidden:!j,children:j&&a.map(S=>(0,i.jsxs)("li",{className:V.row,children:[a.length===1&&(0,i.jsx)("span",{className:V.lead,"aria-hidden":!0,children:(0,i.jsx)(_.IconQueueOutline14,{})}),d?.id===S.id?(0,i.jsx)("input",{autoFocus:!0,className:V.editor,"aria-label":s("queue.edit"),value:d.text,onChange:r(z=>{u({id:S.id,text:z.currentTarget.value})},"onChange"),onKeyDown:r(z=>{if(z.key==="Escape"){u(null);return}z.key==="Enter"&&!z.nativeEvent.isComposing&&(z.preventDefault(),A())},"onKeyDown")}):(0,i.jsx)("span",{className:V.preview,children:S.preview}),c&&(0,i.jsx)("div",{className:V.actions,children:d?.id===S.id?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(_.Tooltip,{label:s("queue.save"),side:"bottom",delayMs:500,children:(0,i.jsx)("button",{type:"button",className:V.action,"aria-label":s("queue.save"),disabled:m!==null||d.text.trim()==="",onClick:r(()=>{A()},"onClick"),children:(0,i.jsx)(_.IconCheckOutline16,{size:14})})}),(0,i.jsx)(_.Tooltip,{label:s("queue.cancelEdit"),side:"bottom",delayMs:500,children:(0,i.jsx)("button",{type:"button",className:V.action,"aria-label":s("queue.cancelEdit"),disabled:m!==null,onClick:r(()=>{u(null)},"onClick"),children:(0,i.jsx)(_.IconCloseOutline16,{size:14})})})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(_.Tooltip,{label:s("queue.edit"),side:"bottom",delayMs:500,disabled:S.text===null,children:(0,i.jsx)("button",{type:"button",className:V.action,"aria-label":s("queue.edit"),title:S.text===null?s("queue.edit.unsupported"):void 0,disabled:m!==null||S.text===null,onClick:r(()=>{S.text!==null&&u({id:S.id,text:S.text})},"onClick"),children:(0,i.jsx)(_.IconEditOutline16,{size:14})})}),(0,i.jsx)(_.Tooltip,{label:s("queue.remove"),side:"bottom",delayMs:500,children:(0,i.jsx)("button",{type:"button",className:V.action,"aria-label":s("queue.remove"),disabled:m!==null,onClick:r(()=>{x(S.id,{kind:"remove"},s("queue.removeFailed"))},"onClick"),children:(0,i.jsx)(_.IconTrashOutline16,{size:14})})}),(0,i.jsx)(_.Tooltip,{label:s("queue.steer"),side:"bottom",delayMs:500,disabled:!l,children:(0,i.jsx)("button",{type:"button",className:V.action,"aria-label":s("queue.steer"),title:l?void 0:s("queue.steer.unavailable"),disabled:m!==null||!l,onClick:r(()=>{x(S.id,{kind:"steer"},s("queue.steerFailed"))},"onClick"),children:(0,i.jsx)(_.IconSendOutline14,{})})})]})})]},S.id))})]})})}r(Zo,"QueueDock");const ei={name:"conversation-queue-dock",inject:["slots","conversation","sessions"],apply(e){e.slots.inject("conversation.input.dock",()=>e.slots.register({name:"conversation.input.dock",id:"queue",order:20,locale:U,inject:r(t=>{const n=e.sessions.scope(t);if(n===void 0)throw new Error(`queue dock: session "${t}" resolved no scope`);const s=n.get("conversation");if(s===void 0)throw new Error("queue dock: conversation service unavailable");return{updateQueue:r((o,a)=>s.updateQueue(o,a),"updateQueue"),notify:r((o,a)=>{s.input.for(n).notify(o,a)},"notify")}},"inject")},Zo))}},ti=".KYLh4G_root{justify-content:center;align-items:center;min-width:0;height:100%;padding:0 24px;display:flex}.KYLh4G_stack{width:100%;max-width:var(--dsh-composer-card-max-width);flex-direction:column;align-items:stretch;gap:12px;display:flex;overflow:visible}.KYLh4G_headline{color:var(--dsw-alias-label-primary);grid-template-columns:34px auto auto;justify-content:center;align-items:center;column-gap:10px;font-size:26px;font-weight:500;line-height:32px;display:grid}.KYLh4G_headlineText{grid-area:1/2}.KYLh4G_previewBadge{border:1px solid var(--dsw-alias-interactive-bg-hover);background:var(--dsw-alias-state-business-tertiary);color:var(--dsw-alias-label-primary-bluish);font-family:var(--ds-font-family-code);white-space:nowrap;border-radius:24px;grid-area:1/3;align-self:start;margin-top:2px;margin-left:-3px;padding:1px 7px 0;font-size:12px;font-weight:500;line-height:18px}.KYLh4G_fishHitbox{grid-area:1/1;justify-content:center;align-items:center;display:inline-flex}.KYLh4G_fish{color:var(--dsw-alias-label-primary);transform-origin:50% 60%}@keyframes KYLh4G_hero-fish-swim{0%,to{transform:translate(0)rotate(0)}35%{transform:translate(-1px,-1px)rotate(-5deg)}70%{transform:translate(1px)rotate(3deg)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.KYLh4G_fishHitbox:hover .KYLh4G_fish{animation:KYLh4G_hero-fish-swim var(--ds-transition-duration-slow) var(--ds-ease-in-out)}}.KYLh4G_body{flex-direction:column;gap:12px;min-width:0;display:flex;position:relative;overflow:visible}.KYLh4G_body>*{z-index:1;position:relative}.KYLh4G_body>.KYLh4G_workspaceRow{z-index:10;align-items:center;min-width:0;padding-left:8px;display:flex}.KYLh4G_workspace{max-width:min(100%,360px);min-height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;border-radius:16px;align-items:center;gap:4px;padding:0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}.KYLh4G_workspace:not(:disabled):hover,.KYLh4G_workspace[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover)}.KYLh4G_workspace:disabled{cursor:default}.KYLh4G_folder{color:var(--dsw-alias-label-primary);flex:none}.KYLh4G_workspaceLabel{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.KYLh4G_chevron{color:var(--dsw-alias-label-caption);flex:none}.KYLh4G_modalInput{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);width:100%;height:44px;color:var(--dsw-alias-label-primary);background:0 0;border-radius:22px;outline:none;padding:7px 14px;font-size:14px;font-weight:400;line-height:22px}.KYLh4G_modalInput::placeholder{color:var(--dsw-alias-label-caption)}.KYLh4G_modalInput:disabled{color:var(--dsw-alias-label-dimmed)}.KYLh4G_modalAction{min-width:72px}.KYLh4G_modalError{color:var(--dsw-alias-state-error-primary);margin-top:8px;font-size:12px;line-height:18px}",ls="@deepseek-ai/dsh-client-ui-conversation/HeroShell.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(ls)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=ls,e.textContent=ti,document.head.appendChild(e)}var le={workspace:"KYLh4G_workspace",headlineText:"KYLh4G_headlineText",stack:"KYLh4G_stack",folder:"KYLh4G_folder",modalAction:"KYLh4G_modalAction",modalError:"KYLh4G_modalError",modalInput:"KYLh4G_modalInput",workspaceRow:"KYLh4G_workspaceRow",headline:"KYLh4G_headline",root:"KYLh4G_root",body:"KYLh4G_body",chevron:"KYLh4G_chevron",previewBadge:"KYLh4G_previewBadge","hero-fish-swim":"KYLh4G_hero-fish-swim",fishHitbox:"KYLh4G_fishHitbox",fish:"KYLh4G_fish",workspaceLabel:"KYLh4G_workspaceLabel"};function ni(e){const t=(0,B.workspaceTitleOf)(e);return t!==""?t:e}r(ni,"workspaceLabel");function si({buttonRef:e,label:t,menuOpen:n=!1,onClick:s,t:o}){return(0,i.jsxs)("button",{ref:e,type:"button",className:le.workspace,"aria-label":o("hero.chooseWorkspace"),"aria-haspopup":"menu","aria-expanded":n,onClick:s,children:[t===void 0?(0,i.jsx)(_.IconFolderClose16,{className:le.folder,size:16}):(0,i.jsx)(_.IconFolderOpen16,{className:le.folder,size:16}),(0,i.jsx)("span",{className:le.workspaceLabel,children:t??o("hero.chooseWorkspace")}),(0,i.jsx)(_.IconChevronDownOutline14,{className:le.chevron,size:12})]})}r(si,"WorkspaceChip");function ri({className:e}){const t=`empty-glow-${(0,h.useId)().replace(/:/g,"")}`;return(0,i.jsxs)("svg",{className:e,viewBox:"0 0 1051 468",fill:"none","aria-hidden":"true",children:[(0,i.jsx)("defs",{children:(0,i.jsxs)("filter",{id:t,x:"0",y:"0",width:"1051",height:"468",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[(0,i.jsx)("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),(0,i.jsx)("feBlend",{mode:"normal",in:"SourceGraphic",in2:"BackgroundImageFix",result:"shape"}),(0,i.jsx)("feGaussianBlur",{stdDeviation:"50",result:"effect1_foregroundBlur"})]})}),(0,i.jsx)("g",{filter:`url(#${t})`,children:(0,i.jsx)("ellipse",{cx:"525.5",cy:"234",rx:"425.5",ry:"134",fill:"#6187D8",fillOpacity:"0.08"})})]})}r(ri,"HeroGlow");function oi({t:e,children:t}){return(0,i.jsxs)("div",{className:le.root,children:[(0,i.jsxs)("div",{className:le.stack,children:[(0,i.jsxs)("div",{className:le.headline,children:[(0,i.jsx)("span",{className:le.fishHitbox,children:(0,i.jsx)(_.FishLogo,{size:34,className:le.fish})}),(0,i.jsx)("span",{className:le.headlineText,children:e("hero.headline")}),(0,i.jsx)("span",{className:le.previewBadge,children:e("hero.preview")})]}),(0,i.jsx)("div",{className:le.body})]}),t]})}r(oi,"HeroShell");const ii='._9N7-fW_root{background:var(--dsw-alias-bg-base);--dsh-chat-content-width:748px;--dsh-composer-card-max-width:calc(var(--dsh-chat-content-width) + 32px);--dsh-composer-side-clearance:16px;--dsh-composer-dock-inset:8px;flex-direction:column;min-width:0;height:100%;display:flex}._9N7-fW_header{border-bottom:1px solid #0000;flex:none;padding:12px 28px 0 20px;position:relative}._9N7-fW_header:after{content:"";z-index:0;background:var(--dsw-alias-border-l2);pointer-events:none;height:1px;position:absolute;bottom:1px;left:0;right:0}._9N7-fW_headerHidden{display:none}._9N7-fW_titleRow{align-items:center;gap:0;min-height:32px;display:flex}._9N7-fW_titleCluster{flex:1;align-items:center;gap:10px;min-width:0;display:flex}._9N7-fW_crumbs{white-space:nowrap;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}._9N7-fW_crumbSeg{align-items:center;gap:4px;min-width:0;display:inline-flex}._9N7-fW_crumbSep{color:var(--dsw-alias-label-caption);font-size:14px;line-height:20px}._9N7-fW_crumb{max-width:220px;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:12px;padding:4px 8px;font-size:14px;line-height:20px;overflow:hidden}._9N7-fW_crumb:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}._9N7-fW_crumbCurrent{color:var(--dsw-alias-label-primary);cursor:default;font-weight:500}._9N7-fW_headerActions{flex:none;align-items:center;gap:8px;display:flex}._9N7-fW_headerUtilities{flex:none;align-items:center;gap:8px;margin-left:20px;display:flex}._9N7-fW_headerUtilities:empty{display:none}._9N7-fW_tabs{z-index:1;gap:36px;margin-top:4px;padding-left:8px;display:flex;position:relative}._9N7-fW_tab{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;padding:0 0 11px;font-size:13px;font-weight:500;line-height:16px;position:relative}._9N7-fW_tab:after{content:"";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}._9N7-fW_tabActive{color:var(--dsw-alias-state-business-primary)}._9N7-fW_tabActive:after{background:var(--dsw-alias-state-business-primary)}._9N7-fW_viewArea{flex-direction:column;flex:1;min-height:0;display:flex}._9N7-fW_composerStack{--dsh-composer-stack-gap:6px;gap:var(--dsh-composer-stack-gap);flex-direction:column;display:flex}._9N7-fW_composerSeat{--dsh-composer-text-max-height:336px;flex-direction:column;flex:none;display:flex}._9N7-fW_root[data-phase=active]{overflow:hidden}._9N7-fW_root[data-phase=active] ._9N7-fW_header{flex:none}._9N7-fW_scrollBody{scrollbar-gutter:stable;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}._9N7-fW_root[data-phase=active] ._9N7-fW_viewArea{flex:1 0 auto;min-height:auto}._9N7-fW_root[data-phase=active] ._9N7-fW_composerSeat{z-index:7;background:linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-bg-base) 0%, transparent) 0px, var(--dsw-alias-bg-base) 36px);position:sticky;bottom:0}._9N7-fW_scrollBody:has([data-conversation-composer-overlay]){scrollbar-gutter:auto;position:relative;overflow:hidden auto}._9N7-fW_scrollBody:has([data-conversation-composer-overlay])>[data-slot=conversation\\.session]>._9N7-fW_viewArea{flex:1 1 0;min-height:0;overflow:hidden}._9N7-fW_scrollBody:has([data-conversation-composer-overlay])>._9N7-fW_composerSeat{right:var(--dsh-scrollbar-width);position:absolute;bottom:0;left:0}._9N7-fW_composerHero{width:min(calc(var(--dsh-composer-card-max-width) + 2 * var(--dsh-composer-side-clearance)), 100%);z-index:1;align-self:center;gap:8px;padding-bottom:32px;position:relative}._9N7-fW_heroGlow{z-index:-1;aspect-ratio:1051/468;pointer-events:none;width:135.438%;position:absolute;bottom:92px;left:50%;transform:translate(-50%,50%)}._9N7-fW_heroWorkspaceRow{align-items:center;gap:2px;min-width:0;margin-top:4px;padding-left:20px;display:flex}._9N7-fW_root[data-phase=hero] ._9N7-fW_scrollBody{justify-content:center;overflow-y:auto}._9N7-fW_root[data-phase=settling] ._9N7-fW_composerSeat{visibility:hidden}',cs="@deepseek-ai/dsh-client-ui-conversation/ConversationRoot.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(cs)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=cs,e.textContent=ii,document.head.appendChild(e)}var P={scrollBody:"_9N7-fW_scrollBody",header:"_9N7-fW_header",headerHidden:"_9N7-fW_headerHidden",titleRow:"_9N7-fW_titleRow",titleCluster:"_9N7-fW_titleCluster",crumbs:"_9N7-fW_crumbs",heroGlow:"_9N7-fW_heroGlow",headerActions:"_9N7-fW_headerActions",heroWorkspaceRow:"_9N7-fW_heroWorkspaceRow",composerStack:"_9N7-fW_composerStack",tab:"_9N7-fW_tab",composerSeat:"_9N7-fW_composerSeat",viewArea:"_9N7-fW_viewArea",composerHero:"_9N7-fW_composerHero",root:"_9N7-fW_root",crumbSeg:"_9N7-fW_crumbSeg",headerUtilities:"_9N7-fW_headerUtilities",crumb:"_9N7-fW_crumb",crumbCurrent:"_9N7-fW_crumbCurrent",crumbSep:"_9N7-fW_crumbSep",tabActive:"_9N7-fW_tabActive",tabs:"_9N7-fW_tabs"};function ai({sessionId:e,useSession:t,useSessions:n,useWorkspaces:s,useInput:o,useComposerBlock:a,renderSlot:l,renderSlotChain:c,selectWorkspace:d,t:u}){const m=t(E=>E.openState),f=t(E=>E.composerPhase),k=t(E=>E.pending)??[],g=t(E=>E),y=o(E=>E),b=n(E=>e===void 0?void 0:E.byId[e]?.cwd),w=n(E=>e===void 0?void 0:E.byId[e]?.blank),j=s(E=>E),x=a(E=>E),[A,S]=(0,h.useState)(!1),[z,ne]=(0,h.useState)(),Ee=(0,h.useRef)(null),he=(0,h.useRef)(null),Xe=(0,h.useCallback)(E=>{he.current?.disconnect(),he.current=null;const G=E?.parentElement??null;E===null||G===null||(he.current=new ResizeObserver(()=>{G.style.setProperty("--dsh-composer-height",`${E.offsetHeight}px`)}),he.current.observe(E))},[]),Z=e===void 0?void 0:j.items.find(E=>E.sessionIds.includes(e)),We=j.items.find(E=>E.workspaceId===z);(0,h.useEffect)(()=>{z!==void 0&&(Z?.workspaceId===z||j.phase==="ready"&&We===void 0)&&ne(void 0)},[z,Z?.workspaceId,j.phase,We]);const be=e!==void 0&&f==="blank"&&m==="loading"&&w!==!0,L=e===void 0||f==="blank"&&(m==="open"||w===!0),Q=g===void 0||y===void 0?void 0:{session:g,input:y},fe=We?.title??(e===void 0?void 0:Z?.title??(j.phase==="ready"||b===void 0||b===""?void 0:ni(b))),se=(0,i.jsxs)("div",{className:P.heroWorkspaceRow,children:[(0,i.jsx)(si,{buttonRef:Ee,label:fe,menuOpen:A,onClick:r(()=>{S(E=>!E)},"onClick"),t:u}),l("conversation.hero.workspace",{open:A,anchorRef:Ee,selectedId:z??Z?.workspaceId,onPick:r(E=>{S(!1),ne(E),d(E).catch(()=>{ne(G=>G===E?void 0:G)})},"onPick"),onClose:r(()=>{S(!1)},"onClose")}),l("conversation.hero.agentPreset",{})]}),ee=e===void 0||L&&fe===void 0,Te=l("conversation.composer.bar",{variant:L?"hero":"composer",...ee?{disabled:!0,placeholder:u("placeholder.workspace"),workspacePickerOpen:A,onRequestWorkspace:r(()=>{S(!0)},"onRequestWorkspace")}:!ee&&x!==void 0?{blocked:x,placeholder:x.reason}:L?{placeholder:u("placeholder.hero")}:{},overlay:l("conversation.input.overlay",{}),leftItems:Q===void 0?null:l("conversation.input.left",Q),rightItems:Q===void 0?null:l("conversation.input.right",Q),footer:!L&&Q!==void 0?l("conversation.composer.dock",Q):null}),pe=(0,i.jsxs)("div",{className:je(P.composerStack,L&&P.composerHero),children:[L&&(0,i.jsx)(ri,{className:P.heroGlow}),L&&(0,i.jsx)(oi,{t:u}),L&&se,Q!==void 0&&l("conversation.input.dock",Q),Te]}),me=be?"settling":L?"hero":"active",Ge=c("conversation.composer",{interactions:k,session:g},{fallback:pe,overlay:!0}),Ve=(0,i.jsx)("div",{ref:Xe,className:P.composerSeat,"data-composer-seat":"",children:Ge});return(0,i.jsxs)("div",{className:P.root,"data-phase":me,children:[l("conversation.session.header",{}),(0,i.jsxs)("div",{className:P.scrollBody,"data-conversation-scroll":"",children:[l("conversation.session",{}),Ve]})]})}r(ai,"ConversationRoot");const ds="chat";function us(e,t){const n=t??ds;return e.find(s=>s.id===n)??e.find(s=>s.id===ds)}r(us,"resolveActiveView");function li(e,t){const n=[],s=new Set;let o=t;for(;o!==void 0&&!s.has(o);){s.add(o);const a=e.byId[o];if(a===void 0||(n.unshift({id:a.id,displayTitle:a.displayTitle}),a.origin!=="subagent"))break;o=a.parentId}return n}r(li,"deriveAncestry");function ci(e,t){return e.length===t.length&&e.every((n,s)=>{const o=t.at(s);return o!==void 0&&n.id===o.id&&n.displayTitle===o.displayTitle})}r(ci,"equalBreadcrumbs");function di({sessionId:e,useSession:t,useSessions:n,useStore:s,actions:o,renderSlot:a,views:l,open:c,t:d}){(0,h.useSyncExternalStore)(l.subscribe,l.version);const u=l.list(),m=us(u,s(y=>y.view)),f=n(y=>li(y,e),ci),k=t(y=>y.composerPhase),g=t(y=>y.blank)&&k==="blank";return(0,i.jsx)("header",{className:je(P.header,g&&P.headerHidden),"aria-hidden":g||void 0,children:!g&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:P.titleRow,children:[(0,i.jsxs)("div",{className:P.titleCluster,children:[(0,i.jsxs)("nav",{className:P.crumbs,"aria-label":d("session.hierarchy"),children:[f.map((y,b)=>{const w=b===f.length-1;return(0,i.jsxs)("span",{className:P.crumbSeg,children:[b>0&&(0,i.jsx)("span",{className:P.crumbSep,children:"/"}),(0,i.jsx)("button",{type:"button",className:je(P.crumb,w&&P.crumbCurrent),disabled:w,onClick:r(()=>{c(y.id)},"onClick"),children:y.displayTitle})]},y.id)}),f.length===0&&(0,i.jsx)("span",{className:P.crumbCurrent,children:e})]}),(0,i.jsx)("div",{className:P.headerActions,children:a("conversation.session.header.actions",{})})]}),(0,i.jsx)("div",{className:P.headerUtilities,children:a("conversation.session.header.utilities",{})})]}),u.length>1&&(0,i.jsx)("div",{className:P.tabs,role:"tablist",children:u.map(y=>(0,i.jsx)("button",{type:"button",role:"tab","aria-selected":y.id===m?.id,className:je(P.tab,y.id===m?.id&&P.tabActive),onClick:r(()=>{o.setView(y.id)},"onClick"),children:y.label},y.id))})]})})}r(di,"ConversationSessionHeader");function ui({sessionId:e,useSession:t,useInput:n,inputActions:s,useStore:o,actions:a,renderSlot:l,views:c,bindDraftMirror:d,releaseSessionImages:u}){(0,h.useSyncExternalStore)(c.subscribe,c.version);const m=us(c.list(),o(w=>w.view)),f=t(w=>w.composerPhase),k=t(w=>w.blank),g=n(w=>w),y=o(w=>w.draft),b=o(w=>w.inspect??null);return(0,h.useEffect)(()=>{g.draft===""&&y!==""&&s.setDraft(y);const w=d(a.setDraft);return()=>{w()}},[s]),(0,h.useEffect)(()=>()=>{u(e)},[u,e]),k&&f==="blank"?null:(0,i.jsx)("div",{className:P.viewArea,children:m!==void 0&&l("conversation.view",{inspect:b,onInspectDone:r(()=>{a.setInspect(null)},"onInspectDone")},{only:m.id})})}r(ui,"ConversationSession");const pi=".EKfR1W_root{border-left:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);flex-direction:column;min-width:0;height:100%;display:flex}.EKfR1W_header{border-bottom:1px solid var(--dsw-alias-border-l2);justify-content:space-between;align-items:center;gap:8px;padding:14px 12px 12px;display:flex}.EKfR1W_title{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;line-height:20px;overflow:hidden}.EKfR1W_close{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;place-items:center;display:grid}.EKfR1W_close:hover{background:var(--dsw-alias-interactive-bg-hover)}.EKfR1W_body{flex:1;min-height:0;padding:12px 16px;overflow-y:auto}.EKfR1W_empty{color:var(--dsw-alias-label-tertiary);padding:8px 0;font-size:13px;line-height:20px}.EKfR1W_section{margin-bottom:16px}.EKfR1W_sectionLabel{color:var(--dsw-alias-label-secondary);margin-bottom:6px;font-size:12px;font-weight:500;line-height:18px}.EKfR1W_code{background:var(--dsw-alias-markdown-code-block);font-family:var(--ds-font-family-code);color:var(--dsw-alias-label-primary);white-space:pre-wrap;word-break:break-word;border-radius:12px;margin:0;padding:16px;font-size:13px;line-height:22px}.EKfR1W_code[data-error]{color:var(--dsw-alias-state-error-primary)}",ps="@deepseek-ai/dsh-client-ui-conversation/DetailsPanel.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(ps)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=ps,e.textContent=pi,document.head.appendChild(e)}var ce={body:"EKfR1W_body",root:"EKfR1W_root",section:"EKfR1W_section",empty:"EKfR1W_empty",close:"EKfR1W_close",header:"EKfR1W_header",sectionLabel:"EKfR1W_sectionLabel",title:"EKfR1W_title",code:"EKfR1W_code"};function hi(e,t){return{name:e.call?.name??t,argsRaw:e.call?.argsRaw??null,block:e}}r(hi,"settledMaterial");function fi(e){return{name:e.name,argsRaw:e.argsRaw,block:e}}r(fi,"runningMaterial");function mi(e,t){const n=Oo(e,t);return n===void 0?null:"kind"in n?hi(n,t):fi(n)}r(mi,"materialFor");function gi(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}r(gi,"pretty");function vi(e){if(!("kind"in e))return"";const t=e.content.map(n=>n.type==="text"?n.text:JSON.stringify(n,null,2));return t.length===0&&e.error!==void 0&&t.push(`${e.error.name}: ${e.error.code}`),t.join(`
|
|
5
|
-
`)}r(vi,"rawResultText");function yi({useSession:e,useSessions:t,sessionId:n,useStore:s,renderSlot:o,closeDetails:a,t:l}){const c=s(f=>f.selection),d=t(f=>f.byId[n]?.cwd),u=c?.callId,m=e(f=>u===void 0?null:mi(f,u),(f,k)=>(0,B.shallowEqual)(f,k));return(0,i.jsxs)("div",{className:ce.root,children:[(0,i.jsxs)("div",{className:ce.header,children:[(0,i.jsx)("div",{className:ce.title,children:c===null?l("details.title"):m?.name??c.toolName??l("details.title")}),(0,i.jsx)("button",{type:"button",className:ce.close,"aria-label":l("details.close"),onClick:r(()=>{a()},"onClick"),children:(0,i.jsx)("svg",{viewBox:"0 0 16 16",width:"14",height:"14","aria-hidden":!0,children:(0,i.jsx)("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}),(0,i.jsx)("div",{className:ce.body,children:c===null||u===void 0?(0,i.jsx)("div",{className:ce.empty,children:l("details.empty")}):m===null?(0,i.jsx)("div",{className:ce.empty,children:l("details.notInWindow")}):(0,i.jsxs)(i.Fragment,{children:[m.argsRaw!==null&&(0,i.jsxs)("section",{className:ce.section,children:[(0,i.jsx)("div",{className:ce.sectionLabel,children:l("details.input")}),(0,i.jsx)(_.CodeBlock,{code:gi(m.argsRaw),lang:"json",copyLabel:l("copy"),copiedLabel:l("copied")})]}),(0,i.jsxs)("section",{className:ce.section,children:[(0,i.jsx)("div",{className:ce.sectionLabel,children:l("details.output")}),(0,i.jsx)(h.Fragment,{children:o("conversation.details.tool",{block:m.block,cwd:d},{fallback:"kind"in m.block?(0,i.jsx)("pre",{className:ce.code,"data-error":m.block.isError||void 0,children:vi(m.block)}):(0,i.jsx)("div",{className:ce.empty,children:l("details.running")})})},u)]})]})})]})}r(yi,"DetailsPanel");const it={interruptedAssistant:-.9,interruptedFollowup:-.8,maxTokensNotice:.05,finalizedFollowup:.1};function xi(e){return e.start?.location??e.matches[0]?.location??{kind:"unresolved"}}r(xi,"contextLocation");function ue(e,t,n,s,o={}){return{key:e.key,kind:t,id:e.id,target:"chat",anchorSeq:n,location:o.location??xi(e),visibility:o.visibility??"visible",data:s}}r(ue,"chatNode");function vt(e,t){return{turn:e,step:t,blocks:[],firstVisibleSeq:void 0,firstVisibleTime:void 0,firstTokenTime:void 0,hidden:!1,final:void 0,usage:void 0}}r(vt,"initialState");function Bt(e){return e.filter(t=>t!==void 0)}r(Bt,"compactBlocks");function hs(e){return e.some(t=>t.kind==="tool-call"?!1:t.kind==="text"||t.kind==="reasoning"?t.text.trim()!=="":!0)}r(hs,"hasVisibleContent");function bi(e){return e.some(t=>t.kind==="text"||t.kind==="reasoning"?t.text.trim()!=="":!0)}r(bi,"hasInterruptionEvidence");function fs(e){return{...vt(e.turn,e.step),firstTokenTime:e.firstTokenTime,hidden:!0}}r(fs,"resetForRetry");function ms(e,t){if(t.event.type!=="assistant/chunk")return e;const n=t.event.data.chunk,s=[...e.blocks];switch(n.type){case"block-start":s[n.index]=(0,B.emptyAssistantBlock)(n.blockType);break;case"text-delta":{const l=s[n.index];s[n.index]={kind:"text",text:(l?.kind==="text"?l.text:"")+n.text};break}case"reasoning-delta":{const l=s[n.index];s[n.index]={kind:"reasoning",text:(l?.kind==="reasoning"?l.text:"")+n.text};break}case"tool-call-delta":{const l=s[n.index],c=l?.kind==="tool-call"?l:{kind:"tool-call",callId:"",name:"",argsRaw:""};s[n.index]={kind:"tool-call",callId:c.callId||String(n.id),name:n.name??c.name,argsRaw:c.argsRaw+n.argumentsDelta};break}case"block-end":s[n.index]=(0,B.toAssistantBlock)(n.block);break;case"usage":return{...e,usage:n.usage};default:return e}const o=hs(Bt(s)),a=(0,B.isTokenDelta)(n);return{...e,blocks:s,hidden:o?!1:e.hidden,...o&&e.firstVisibleSeq===void 0?{firstVisibleSeq:t.event.seq,firstVisibleTime:t.event.time}:{},...a&&e.firstTokenTime===void 0?{firstTokenTime:t.event.time}:{}}}r(ms,"updateChunk");function wi(e){if(e.kind==="step"&&e.step.status==="closed"&&e.step.end!==void 0)return e.step.end;if((e.kind==="step"||e.kind==="turn")&&e.turn.status==="closed"&&e.turn.end!==void 0)return e.turn.end}r(wi,"closedBoundary");function ki(e,t){const n=e.final;if(n?.event.type==="assistant/message"){const l=n.event;return{kind:"assistant",seq:l.seq,messageId:l.data.message.id,time:l.time,turn:e.turn,step:e.step,blocks:(0,B.toAssistantBlocks)(l.data.message.content),usage:l.data.usage,timing:{stepStartTime:t.start?.event.time??null,firstTokenTime:e.firstTokenTime??null,completedTime:l.time}}}const s=t.start?.location??t.matches.at(-1)?.location,o=s===void 0?void 0:wi(s),a=Bt(e.blocks);if(!(o===void 0||!bi(a)))return{kind:"assistant",seq:o.seq+it.interruptedAssistant,time:o.time,turn:e.turn,step:e.step,blocks:a,interrupted:!0}}r(ki,"finalNode");function gs(e){let t;for(const n of e.matches){if(n.event.type==="assistant/chunk"){t??=vt(n.event.data.turn,n.event.data.step),t=ms(t,n);continue}if(n.event.type==="assistant/message"){t??=vt(n.event.data.turn,n.event.data.step),t={...t,blocks:(0,B.toAssistantBlocks)(n.event.data.message.content),hidden:!1,final:n,usage:n.event.data.usage};continue}n.event.type==="llm/retry"&&t!==void 0&&(t=fs(t))}return t}r(gs,"fallbackState$4");function vs(e){const t=e.state??gs(e);if(t===void 0)return;const n=ki(t,e),s=n?.blocks??Bt(t.blocks),o=hs(s),a=n?.interrupted===!0?"interrupted":n===void 0?"running":"settled",l=n?.seq??t.firstVisibleSeq??e.matches[0]?.event.seq??0,c=n?.time??t.firstVisibleTime??e.matches[0]?.event.time??0;return{anchorSeq:l,visible:o,settled:n,data:{status:a,turn:t.turn,step:t.step,blocks:s,time:c,...t.usage===void 0?{}:{usage:t.usage},...n===void 0?{}:{finalNode:n}}}}r(vs,"projectAssistant");const _i={kind:"assistant-step",target:"chat",match:r(e=>e.type==="step/start"?{id:`${e.data.turn}:${e.data.step}`,role:"start"}:e.type==="assistant/chunk"||e.type==="assistant/message"&&(0,B.isAppendSurfaceEvent)(e)?{id:`${e.data.turn}:${e.data.step}`,role:"update"}:e.type==="llm/retry"?{id:`${e.data.turn}:${e.data.step}`,role:"update"}:null,"match"),start:r((e,t)=>{if(t.event.type!=="step/start")throw new Error("assistant-step start requires step/start");return vt(t.event.data.turn,t.event.data.step)},"start"),update:r((e,t)=>t.event.type==="assistant/chunk"?ms(e.state,t):t.event.type==="assistant/message"?{...e.state,blocks:(0,B.toAssistantBlocks)(t.event.data.message.content),hidden:!1,final:t,usage:t.event.data.usage}:t.event.type==="llm/retry"?fs(e.state):e.state,"update"),publication:r(e=>{if(e.event.type==="step/start")return"none";if(e.event.type!=="assistant/chunk")return"immediate";const t=e.event.data.chunk.type;return t==="usage"||t==="finish"?"none":"animation-frame"},"publication"),buildLocationData:r((e,t)=>{if(t!=="step")return null;const n=vs(e);return n===void 0?null:{kind:"step",turn:n.data.turn,step:n.data.step,key:"assistant-step",value:n.data}},"buildLocationData"),buildViewNode:r(e=>{const t=vs(e);if(t===void 0)return null;if(t.settled===void 0&&!t.visible){const n=e.state??gs(e);if(n===void 0)return null;const s=e.current.get("chat");if(!n.hidden||s===void 0||s===null)return null}return ue(e,"assistant-step",t.anchorSeq,t.data,{visibility:t.settled?.interrupted===!0||t.visible?"visible":"hidden"})},"buildViewNode")};function Ai(e){e.conversationEvents.register(_i)}r(Ai,"registerAssistantConversationNode");function Si(e){return"kind"in e}r(Si,"isSettledTool");function Ci(e){return!Si(e)}r(Ci,"isRunningTool");const at=[],ji=[],Ne=[];function Je(e,t){return e.length===t.length&&e.every((n,s)=>n===t[s])}r(Je,"sameReferences$1");var Ii=class{static{r(this,"MutableChatNodeStore")}byKey=new Map;valuesCache=Ne;valuesDirty=!1;get(e){return this.byKey.get(e)}values(){return this.valuesDirty&&(this.valuesCache=[...this.byKey.values()],this.valuesDirty=!1),this.valuesCache}replace(e){this.byKey.clear();for(const t of e)this.byKey.set(t.key,t);this.valuesCache=[...this.byKey.values()],this.valuesDirty=!1}upsert(e){let t=!1;for(const n of e)this.byKey.get(n.key)!==n&&(this.byKey.set(n.key,n),t=!0);t&&(this.valuesDirty=!0)}},Ni=class{static{r(this,"MutableChatLocationIndex")}turns=new Map;steps=new Map;getTurn(e){return this.turns.get(e)??at}getStep(e,t){return this.steps.get(Dt(e,t))??at}rebuild(e,t){const n=new Map,s=new Map;for(const o of e){const a=t.get(o)?.location;if(a===void 0)continue;const l=$t(a);if(l.turn===void 0)continue;const c=n.get(l.turn)??[];if(c.push(o),n.set(l.turn,c),l.step===void 0)continue;const d=Dt(l.turn,l.step),u=s.get(d)??[];u.push(o),s.set(d,u)}this.turns=ys(this.turns,n),this.steps=ys(this.steps,s)}touch(e){const t=new Set,n=new Set;for(const s of e){const o=$t(s.location);o.turn===void 0||!this.turns.get(o.turn)?.includes(s.key)||(t.add(o.turn),o.step!==void 0&&n.add(Dt(o.turn,o.step)))}for(const s of t){const o=this.turns.get(s);o!==void 0&&this.turns.set(s,[...o])}for(const s of n){const o=this.steps.get(s);o!==void 0&&this.steps.set(s,[...o])}}};function ys(e,t){const n=new Map,s=new Set([...e.keys(),...t.keys()]);for(const o of s){const a=e.get(o)??at,l=t.get(o)??at,c=Je(a,l)?a:l;l.length>0&&n.set(o,c)}return n}r(ys,"updateIndex");function Dt(e,t){return`${e}:${t}`}r(Dt,"stepKey");function $t(e){return e.kind==="step"?{turn:e.turn.turn,step:e.step.step}:e.kind==="turn"?{turn:e.turn.turn}:{}}r($t,"locationCoordinates");function xs(e){return e.filter(t=>t.visibility==="visible").sort((t,n)=>t.anchorSeq-n.anchorSeq||t.key.localeCompare(n.key))}r(xs,"orderedVisible");const yt={anchorSeq:0,nodes:Ne,partial:null,running:null};function bs(e){const t=e;if(e.visibility!=="visible"&&t.kind!=="assistant-step")return yt;switch(t.kind){case"user":case"steering":case"context":case"command":case"compaction":case"turn-error":case"turn-max-tokens":case"unknown":return{anchorSeq:t.anchorSeq,nodes:[t.data],partial:null,running:null};case"assistant-step":{const n=t.data;return n.status==="running"?e.visibility!=="visible"?yt:{anchorSeq:t.anchorSeq,nodes:Ne,partial:{turn:n.turn,step:n.step,blocks:n.blocks},running:null}:{anchorSeq:t.anchorSeq,nodes:n.finalNode===void 0?Ne:[n.finalNode],partial:null,running:null}}case"tool-call":{const n=t.data.root;return Ci(n)?{anchorSeq:t.anchorSeq,nodes:Ne,partial:null,running:n}:{anchorSeq:t.anchorSeq,nodes:[n],partial:null,running:null}}case"manual-compaction":{const n=t.data;return{anchorSeq:t.anchorSeq,nodes:n.compaction===null?[n.command]:[n.command,n.compaction],partial:null,running:null}}case"model-retry":return{anchorSeq:t.anchorSeq,nodes:t.data.attempts,partial:null,running:null};case"turn-tail":return yt;default:return yt}}r(bs,"legacyContribution");function Ei(e,t){return e!==void 0&&e.anchorSeq===t.anchorSeq&&e.partial?.blocks===t.partial?.blocks&&e.partial?.turn===t.partial?.turn&&e.partial?.step===t.partial?.step&&e.running===t.running&&Je(e.nodes,t.nodes)}r(Ei,"sameContribution");var Ti=class{static{r(this,"LegacySliceBuilder")}contributions=new Map;finalizedContributions=new Map;runningContributions=new Map;partialContributions=new Map;finalized=Ne;runningCalls=Ne;partial=null;timeline;turnTimings=new Map;turnEnds=new Map;replace(e,t){this.contributions.clear(),this.finalizedContributions.clear(),this.runningContributions.clear(),this.partialContributions.clear();for(const n of e){const s=bs(n);this.contributions.set(n.key,s),this.indexContribution(n.key,s)}return this.rebuildFinalized(),this.rebuildRunning(),this.rebuildPartial(),this.updateTimeline(t),this.snapshot()}apply(e,t){let n=!1,s=!1,o=!1;for(const a of e){const l=bs(a),c=this.contributions.get(a.key);Ei(c,l)||(n||=qi(c,l),s||=Ri(c,l),o||=Mi(c,l),this.contributions.set(a.key,l),this.indexContribution(a.key,l))}return n&&this.rebuildFinalized(),s&&this.rebuildRunning(),o&&this.rebuildPartial(),this.updateTimeline(t),this.snapshot()}indexContribution(e,t){Ut(this.finalizedContributions,e,t,t.nodes.length>0),Ut(this.runningContributions,e,t,t.running!==null),Ut(this.partialContributions,e,t,t.partial!==null)}rebuildFinalized(){const e=[...this.finalizedContributions.values()].flatMap(t=>t.nodes).sort((t,n)=>t.seq-n.seq);Je(this.finalized,e)||(this.finalized=e)}rebuildRunning(){const e=[...this.runningContributions.values()].sort((t,n)=>t.anchorSeq-n.anchorSeq).flatMap(t=>t.running===null?[]:[t.running]);Je(this.runningCalls,e)||(this.runningCalls=e)}rebuildPartial(){const e=[...this.partialContributions.values()].sort((t,n)=>t.anchorSeq-n.anchorSeq).findLast(t=>t.partial!==null)?.partial??null;(this.partial?.blocks!==e?.blocks||this.partial?.turn!==e?.turn||this.partial?.step!==e?.step)&&(this.partial=e)}updateTimeline(e){if(this.timeline===e)return;this.timeline=e;const t=new Map,n=new Map;for(const s of e.turns.values())s.start!==void 0&&t.set(s.turn,{startTime:s.start.time,...s.end===void 0?{}:{endTime:s.end.time}}),s.end!==void 0&&n.set(s.turn,s.end.seq);this.turnTimings=t,this.turnEnds=n}snapshot(){return{nodes:this.finalized,turnTimings:this.turnTimings,turnEnds:this.turnEnds,partial:this.partial,runningCalls:this.runningCalls}}};function Ut(e,t,n,s){s?e.set(t,n):e.delete(t)}r(Ut,"updateContributionIndex");function qi(e,t){const n=e?.nodes??Ne;return!Je(n,t.nodes)||(n.length>0||t.nodes.length>0)&&e?.anchorSeq!==t.anchorSeq}r(qi,"finalizedContributionChanged");function Ri(e,t){return e?.running!==t.running||(e.running!==null||t.running!==null)&&e.anchorSeq!==t.anchorSeq}r(Ri,"runningContributionChanged");function Mi(e,t){return e?.partial?.blocks!==t.partial?.blocks||e?.partial?.turn!==t.partial?.turn||e?.partial?.step!==t.partial?.step||((e?.partial??null)!==null||t.partial!==null)&&e?.anchorSeq!==t.anchorSeq}r(Mi,"partialContributionChanged");var Oi=class{static{r(this,"ChatSnapshotBuilder")}store=new Ii;locations=new Ni;legacy=new Ti;order=at;empty;constructor(){this.empty=this.snapshot({turnOrder:ji,turns:new Map})}replace(e){return this.store.replace(e.nodes),this.order=xs(e.nodes).map(t=>t.key),this.locations.rebuild(this.order,this.store),this.snapshot(e.timeline,this.legacy.replace(e.nodes,e.timeline))}apply(e){let t=!1;const n=[];for(const s of e.upserts){const o=this.store.get(s.key),a=o===void 0||o.anchorSeq!==s.anchorSeq||o.visibility!==s.visibility||ws(o.location)!==ws(s.location);t||=a,a||n.push(s)}if(this.store.upsert(e.upserts),t){const s=xs(this.store.values()).map(o=>o.key);this.order=Je(this.order,s)?this.order:s,this.locations.rebuild(this.order,this.store)}return this.locations.touch(n),this.snapshot(e.timeline,this.legacy.apply(e.upserts,e.timeline))}snapshot(e,t=this.legacy.replace(Ne,e)){return{order:this.order,nodes:this.store,locations:this.locations,timeline:e,legacy:t}}};function ws(e){const t=$t(e);return`${e.kind}:${t.turn??""}:${t.step??""}`}r(ws,"locationIdentity");const Wi={target:"chat",create:r(()=>new Oi,"create")};function Gi(e){e.conversationViews.register(Wi)}r(Gi,"registerChatConversationView");const Li="compact";function Bi(e){if(e.event.type!=="command/run")throw new Error("command start requires command/run");const t=e.event.data;return{kind:"command",seq:e.event.seq,time:e.event.time,commandId:t.commandId,name:t.name,args:t.args??null,outcome:null}}r(Bi,"commandFromRun");function xt(e,t){if(e.event.type!=="command/done")throw new Error("command update requires command/done");const n=e.event.data,s=n.kind==="success"&&n.sourceEventSeq!==void 0&&Number.isSafeInteger(n.sourceEventSeq)&&n.sourceEventSeq>=0?n.sourceEventSeq:void 0;return{kind:"command",seq:t?.seq??e.event.seq,time:t?.time??e.event.time,commandId:n.commandId,name:t?.name??null,args:t?.args??null,outcome:{kind:n.kind,...n.text===void 0?{}:{text:n.text},...s===void 0?{}:{sourceEventSeq:s}}}}r(xt,"commandFromDone");function Ke(e){if(e.type!=="user/message"||!(0,B.isReplacementSurfaceEvent)(e))return;const t=e.data.source;if(!(t.kind!=="plugin"||t.plugin!==Li||typeof t.compactionId!="string"))return{compactionId:t.compactionId,...t.sourceCommandId===void 0?{}:{sourceCommandId:t.sourceCommandId}}}r(Ke,"compactSource");function ks(e,t){let n=null,s=null,o=null;if(e?.event.type==="compaction/summary"){const a=e.event.data;if(Array.isArray(a.summary)){const l=a.summary.map(c=>c.type==="text"?c.text:"").join("");n=l.trim()===""?null:l}s=Array.isArray(a.shadowedSeqs)&&a.shadowedSeqs.every(l=>Number.isSafeInteger(l)&&l>=0)?a.shadowedSeqs.length:null,o=Number.isSafeInteger(a.shadowedTokenCount)&&a.shadowedTokenCount>=0?a.shadowedTokenCount:null}return{kind:"compaction",seq:t.event.seq,time:t.event.time,summary:n,summaryEventSeq:e?.event.seq??null,shadowedItemCount:s,shadowedTokenCount:o}}r(ks,"compactSummary");function Di(e){const t=e.matches.find(a=>a.event.type==="command/done"),n=e.matches.find(a=>Ke(a.event)!==void 0),s=e.matches.find(a=>a.event.type==="compaction/summary");if(n===void 0)return t===void 0?void 0:{command:xt(t)};const o=Ke(n.event);return o?.sourceCommandId===void 0?t===void 0?void 0:{command:xt(t)}:{command:t===void 0?{kind:"command",seq:n.event.seq,time:n.event.time,commandId:o.sourceCommandId,name:"compact",args:null,outcome:null}:{...xt(t),name:"compact"},checkpoint:n,...s===void 0?{}:{summary:s}}}r(Di,"fallbackState$3");function _s(e,t){return t.event.type==="compaction/summary"?{...e,summary:t}:Ke(t.event)!==void 0?{...e,checkpoint:t}:e}r(_s,"updateCompactionState");const $i={kind:"command",target:"chat",match:r(e=>{if(e.type==="command/run")return{id:String(e.data.commandId),role:"start"};if(e.type==="command/done")return{id:String(e.data.commandId),role:"update"};const t=Ke(e);return t?.sourceCommandId!==void 0?{id:String(t.sourceCommandId),role:"update"}:(e.type==="compaction/start"||e.type==="compaction/summary"||e.type==="compaction/end")&&e.data.sourceCommandId!==void 0?{id:String(e.data.sourceCommandId),role:"update"}:null},"match"),start:r((e,t)=>({command:Bi(t)}),"start"),update:r((e,t)=>t.event.type==="command/done"?{...e.state,command:xt(t,e.state.command)}:_s(e.state,t),"update"),buildViewNode:r(e=>{const t=e.state??Di(e);if(t===void 0)return null;if(t.command.name!=="compact")return ue(e,"command",t.command.seq,t.command);const n=t.checkpoint===void 0?null:ks(t.summary,t.checkpoint),s={command:t.command,compaction:n};return ue(e,"manual-compaction",n?.seq??t.command.seq,s)},"buildViewNode")};function Ui(e){e.conversationEvents.register($i)}r(Ui,"registerCommandConversationNode");function Pi(e){const t=e.matches.find(s=>s.event.type==="compaction/summary"),n=e.matches.find(s=>Ke(s.event)!==void 0);return{...t===void 0?{}:{summary:t},...n===void 0?{}:{checkpoint:n}}}r(Pi,"fallbackState$2");const zi={kind:"compaction",target:"chat",match:r(e=>{const t=Ke(e);if(t!==void 0&&t.sourceCommandId===void 0)return{id:t.compactionId,role:"update"};if(e.type==="compaction/start"||e.type==="compaction/summary"||e.type==="compaction/end"){if(e.data.sourceCommandId!==void 0)return null;const n=e.data.compactionId;return typeof n!="string"||n===""?null:{id:n,role:e.type==="compaction/start"?"start":"update"}}return null},"match"),start:r(()=>({}),"start"),update:r((e,t)=>_s(e.state,t),"update"),buildViewNode:r(e=>{const t=e.state??Pi(e);if(t.checkpoint===void 0)return null;const n=ks(t.summary,t.checkpoint);return ue(e,"compaction",n.seq,n)},"buildViewNode")};function Fi(e){e.conversationEvents.register(zi)}r(Fi,"registerCompactionConversationNode");const Ji={kind:"unknown-surface",target:"chat",match:r(e=>(0,B.isAppendSurfaceEvent)(e)?{id:String(e.seq),role:"start"}:null,"match"),start:r((e,t)=>({kind:"unknown",seq:t.event.seq,time:t.event.time,type:t.event.type,data:t.event.data}),"start"),update:r(e=>e.state,"update"),buildViewNode:r(e=>e.state===void 0?null:ue(e,"unknown",e.state.seq,e.state),"buildViewNode")};function Ki(e){e.conversationEvents.registerFallback(Ji)}r(Ki,"registerUnknownConversationFallback");function Xi(e,t){const n=[...e?.state.pending??[]],s=new Set(e?.state.claimed??[]),o=n.splice(t.start,t.removedCount??0,...t.inserted);for(const a of t.inserted)s.delete(a.id);if(t.target==="next-step"&&t.outcome!=="canceled")for(const a of o)s.add(a.id);return{pending:n,claimed:s}}r(Xi,"applySplice");function As(e){const t=`inbox-${e}`;return{kind:t,match:r(n=>n.type==="agent/inbox/spliced"&&n.data.target===e?{id:String(n.seq),role:"start"}:null,"match"),start:r((n,s,o)=>{if(s.event.type!=="agent/inbox/spliced")throw new Error(`${t} start requires agent/inbox/spliced`);return Xi(o.previous(t),s.event.data)},"start"),update:r(n=>n.state,"update"),publication:r(()=>"none","publication")}}r(As,"inboxDefinition");const Vi=As("next-turn"),Hi=As("next-step");function Yi(e){e.conversationEvents.register(Vi),e.conversationEvents.register(Hi)}r(Yi,"registerInboxConversationNodes");function Qi(e){if(e.type!=="user/message"||!(0,B.isReplacementSurfaceEvent)(e))return!1;const t=e.data.source;return t.kind==="plugin"&&t.plugin==="compact"}r(Qi,"isCompactionCheckpoint");const Zi={kind:"input-message",target:"chat",match:r(e=>e.type==="user/message"&&(0,B.isAppendSurfaceEvent)(e)&&!Qi(e)?{id:String(e.data.id),role:"start"}:null,"match"),start:r((e,t,n)=>{if(t.event.type!=="user/message")throw new Error("input-message start requires user/message");const s=t.event;return s.data.source.kind!=="user"?{kind:"context",seq:s.seq,time:s.time,content:s.data.content,source:s.data.source,provenance:(0,B.contextProvenance)(s.data.source),form:(0,B.contextForm)(s.data.source)}:n.previous("inbox-next-step")?.state.claimed.has(String(s.data.id))===!0?{kind:"steering",messageId:s.data.id,seq:s.seq,time:s.time,content:s.data.content,source:s.data.source}:{kind:"user",seq:s.seq,time:s.time,content:s.data.content,source:s.data.source}},"start"),update:r(e=>e.state,"update"),buildViewNode:r(e=>e.state===void 0?null:ue(e,e.state.kind,e.state.seq,e.state),"buildViewNode")};function ea(e){e.conversationEvents.register(Zi)}r(ea,"registerMessageConversationNode");function Ss(e){if(e.event.type==="llm/retry")return{kind:"model-retry",seq:e.event.seq,time:e.event.time,retryState:"scheduled",...e.event.data}}r(Ss,"scheduledNode");function ta(e){return e.kind==="step"&&e.step.status==="closed"||(e.kind==="step"||e.kind==="turn")&&e.turn.status==="closed"}r(ta,"isClosed");const na={kind:"model-retry",target:"chat",match:r(e=>{if(e.type==="llm/retry"){const t=e.data.retryId;return typeof t!="string"||t===""?null:{id:t,role:e.data.retry===1?"start":"update"}}if(e.type==="llm/retry-started"){const t=e.data.retryId;return typeof t=="string"&&t!==""?{id:t,role:"update"}:null}return null},"match"),start:r((e,t)=>{const n=Ss(t);if(n===void 0)throw new Error("model-retry start requires a valid llm/retry event");return{turn:n.turn,step:n.step,attempts:[n]}},"start"),update:r((e,t)=>{if(t.event.type==="llm/retry"){const s=Ss(t);return s===void 0?e.state:{...e.state,attempts:[...e.state.attempts,s]}}if(t.event.type!=="llm/retry-started")return e.state;const n=t.event.data.retry;return{...e.state,attempts:e.state.attempts.map(s=>s.retry===n?{...s,retryState:"started"}:s)}},"update"),buildViewNode:r(e=>{if(e.state===void 0||e.state.attempts.length===0)return null;const t=e.start?.location??e.matches[0]?.location??{kind:"unresolved"},n=e.state.attempts,s=n.map((l,c)=>c===n.length-1&&l.retryState==="scheduled"&&ta(t)?{...l,retryState:"cancelled"}:l),o=s.at(-1);if(o===void 0)return null;const a={attempts:s,current:o};return ue(e,"model-retry",s[0]?.seq??o.seq,a)},"buildViewNode")};function sa(e){e.conversationEvents.register(na)}r(sa,"registerRetryConversationNode");const Cs=256,js=new WeakMap;function Is(e){return JSON.stringify(e)}r(Is,"jsonArguments");function ra(e){if(e.event.type!=="tool/call")throw new Error("tool-call start requires tool/call");return{callId:String(e.event.data.callId),name:e.event.data.name,argsRaw:e.event.data.arguments,turn:e.event.data.turn,step:e.event.data.step,time:e.event.time,callView:e.view?.for==="call"?e.view.view:null,subCalls:[]}}r(ra,"rootCall");function Ns(e,t){if(e.event.type!=="tool/result")return;const n=e.event.data.message.content[0];return{kind:"tool-result",seq:e.event.seq,time:e.event.time,callId:String(e.event.data.message.source.callId),call:t===void 0?null:{name:t.name,argsRaw:t.argsRaw},callTime:t?.time??null,content:n.content,isError:n.isError===!0,...e.event.data.error===void 0?{}:{error:e.event.data.error},meta:e.event.data.meta,callView:t?.callView??null,resultView:e.view?.for==="result"?e.view.view:null,subCalls:[]}}r(Ns,"rootResult");function oa(e,t){return{callId:t.subCallId,name:t.name,argsRaw:Is(t.arguments),turn:aa(e),step:la(e),time:e.event.time,callView:null,subCalls:[]}}r(oa,"childCall");function ia(e,t,n){return{kind:"tool-result",seq:e.event.seq,time:e.event.time,callId:t.subCallId,call:{name:t.name,argsRaw:Is(t.arguments)},callTime:n?.time??null,content:t.content??[],isError:t.isError===!0,callView:null,resultView:null,subCalls:[]}}r(ia,"childResult");function aa(e){return e.location.kind==="step"||e.location.kind==="turn"?e.location.turn.turn:0}r(aa,"locationTurn");function la(e){return e.location.kind==="step"?e.location.step.step:0}r(la,"locationStep");function Es(e,t,n){if(t===n||e.parents.has(n))return!1;let s=t,o=0;const a=new Set;for(;s!==void 0;){if(s===n||a.has(s))return!1;a.add(s),o++,s=e.parents.get(s)}const l=[{callId:n,depth:1}],c=new Set;let d=0;for(const u of l){if(c.has(u.callId))return!1;c.add(u.callId),d=Math.max(d,u.depth);for(const m of e.children.get(u.callId)??[])l.push({callId:m.callId,depth:u.depth+1})}return o+d<=Cs}r(Es,"acceptsEdge");function Ts(e,t){const n=t.event;if(n.type!=="tool/code-dispatch-start"&&n.type!=="tool/code-dispatch")return e;const s=n.data,o=String(s.parentCallId),a=String(s.subCallId),l=e.children.get(o)??[],c=l.findIndex(f=>f.callId===a);if(n.type==="tool/code-dispatch-start"){if(c>=0||!Es(e,o,a))return e;const f=new Map(e.children);f.set(o,[...l,oa(t,s)]);const k=new Map(e.parents);return k.set(a,o),{...e,children:f,parents:k}}if(c<0&&!Es(e,o,a))return e;const d=ia(t,s,c<0?void 0:l[c]),u=new Map(e.children);u.set(o,c<0?[...l,d]:l.map((f,k)=>k===c?d:f));const m=new Map(e.parents);return c<0&&m.set(a,o),{...e,children:u,parents:m}}r(Ts,"updateDispatch");function qs(e,t,n,s=new Set,o=1){if(s.has(e.callId)||o>Cs)return{...e,subCalls:[]};const a=new Set(s);a.add(e.callId);const l=(t.children.get(e.callId)??e.subCalls).map(f=>qs(f,t,n,a,o+1)),c="kind"in e?void 0:n?.seq,d="kind"in e?void 0:n?.time,u=js.get(e);if(u!==void 0&&u.interruptionSeq===c&&u.interruptionTime===d&&Rs(u.children,l))return u.value;const m="kind"in e||n===void 0?Rs(e.subCalls,l)?e:{...e,subCalls:l}:{kind:"tool-result",seq:n.seq+it.interruptedFollowup,time:n.time,callId:e.callId,call:{name:e.name,argsRaw:e.argsRaw},callTime:e.time,content:[],isError:!0,error:{name:"Interrupted",code:"interrupted"},callView:e.callView,resultView:null,subCalls:l};return js.set(e,{children:l,interruptionSeq:c,interruptionTime:d,value:m}),m}r(qs,"projectBlock");function Rs(e,t){return e.length===t.length&&e.every((n,s)=>n===t[s])}r(Rs,"sameReferences");function ca(e){const t=e.start?.location;if(t?.kind==="step"&&t.step.status==="closed")return t.step.end;if((t?.kind==="step"||t?.kind==="turn")&&t.turn.status==="closed")return t.turn.end}r(ca,"interruption");function da(e){const t=e.matches.find(o=>o.event.type==="tool/result"),n=t===void 0?void 0:Ns(t);if(n===void 0)return;let s={root:n,children:new Map,parents:new Map};for(const o of e.matches)s=Ts(s,o);return s}r(da,"fallbackState$1");const ua={kind:"tool-call",target:"chat",match:r(e=>{if(e.type==="tool/call")return{id:String(e.data.callId),role:"start"};if(e.type==="tool/result"&&(0,B.isAppendSurfaceEvent)(e))return{id:String(e.data.message.source.callId),role:"update"};if(e.type==="tool/code-dispatch-start"||e.type==="tool/code-dispatch"){const t=e.data.rootCallId;return typeof t=="string"&&t!==""?{id:t,role:"update"}:null}return null},"match"),start:r((e,t)=>({root:ra(t),children:new Map,parents:new Map}),"start"),update:r((e,t)=>{if(t.event.type==="tool/result"){const n=Ns(t,"kind"in e.state.root?void 0:e.state.root);return n===void 0?e.state:{...e.state,root:n}}return Ts(e.state,t)},"update"),buildViewNode:r(e=>{const t=e.state??da(e);if(t===void 0)return null;const n=qs(t.root,t,ca(e));return ue(e,"tool-call",e.start?.event.seq??("kind"in t.root?t.root.seq:e.matches[0]?.event.seq??0),{root:n})},"buildViewNode")};function pa(e){e.conversationEvents.register(ua)}r(pa,"registerToolConversationNode");function ha(e){const t=e.start?.location??e.matches[0]?.location;return t?.kind!=="turn"&&t?.kind!=="step"?0:t.turn.steps.at(-1)?.step??0}r(ha,"lastStep$1");function Pt(e){return e.type==="llm/retry"||e.type==="llm/retry-started"?e.data.turn:void 0}r(Pt,"retryTurn");function zt(e){if(e.event.type!=="turn/end"||e.event.data.reason.kind!=="error")return;const t=e.event.data.reason.error;return{seq:e.event.seq,time:e.event.time,message:(0,B.displayFailureMessage)(t),code:t.code}}r(zt,"failureFrom");function fa(e){const t=e.matches.find(o=>zt(o)!==void 0);if(t?.event.type!=="turn/end")return;const n=zt(t);if(n===void 0)return;const s=t.event.data.turn;return{turn:s,hidden:e.matches.some(o=>Pt(o.event)===s),failure:n}}r(fa,"fallbackState");const ma={kind:"turn-error",target:"chat",match:r(e=>{if(e.type==="turn/start")return{id:String(e.data.turn),role:"start"};if(e.type==="turn/end"&&e.data.reason.kind==="error")return{id:String(e.data.turn),role:"update"};const t=Pt(e);return t===void 0?null:{id:String(t),role:"update"}},"match"),start:r((e,t)=>{if(t.event.type!=="turn/start")throw new Error("turn-error start requires turn/start");return{turn:t.event.data.turn,hidden:!1}},"start"),update:r((e,t)=>{const n=zt(t);return n!==void 0?{...e.state,failure:n}:Pt(t.event)===e.state.turn?{...e.state,hidden:!0}:e.state},"update"),buildViewNode:r(e=>{const t=e.state??fa(e);if(t?.failure===void 0)return null;const n=t.failure,s={kind:"turn-error",seq:n.seq,time:n.time,turn:t.turn,step:ha(e),message:n.message,...n.code===void 0?{}:{code:n.code}};if(!t.hidden)return ue(e,"turn-error",s.seq,s);const o=e.current.get("chat");return o==null?null:ue(e,"turn-error",s.seq,s,{visibility:"hidden"})},"buildViewNode")};function ga(e){e.conversationEvents.register(ma)}r(ga,"registerTurnErrorConversationNode");function va(e){const t=e.start?.location??e.matches[0]?.location;return t?.kind!=="turn"&&t?.kind!=="step"?0:t.turn.steps.at(-1)?.step??0}r(va,"lastStep");function ya(e,t){const n=e.start?.location??e.matches[0]?.location;if(n?.kind!=="turn"&&n?.kind!=="step")return t;const s=n.turn.data.get("turn-tail")?.closing;return s==null?t:s.finalNode.seq+it.maxTokensNotice}r(ya,"noticeAnchor");function xa(e){if(!(e.event.type!=="turn/end"||e.event.data.reason.kind!=="max-tokens"))return{turn:e.event.data.turn,seq:e.event.seq,time:e.event.time}}r(xa,"stateFrom");const ba={kind:"turn-max-tokens",target:"chat",match:r(e=>e.type==="turn/end"&&e.data.reason.kind==="max-tokens"?{id:String(e.data.turn),role:"start"}:null,"match"),start:r((e,t)=>{const n=xa(t);if(n===void 0)throw new Error("turn-max-tokens start requires a max-tokens turn/end");return n},"start"),update:r(e=>e.state,"update"),buildViewNode:r(e=>{const t=e.state;if(t===void 0)return null;const n={kind:"turn-max-tokens",seq:t.seq,time:t.time,turn:t.turn,step:va(e)};return ue(e,"turn-max-tokens",ya(e,t.seq),n)},"buildViewNode")};function wa(e){e.conversationEvents.register(ba)}r(wa,"registerTurnMaxTokensConversationNode");function ka(e){return e.type==="assistant/message"&&(0,B.isAppendSurfaceEvent)(e)&&(0,B.toAssistantBlocks)(e.data.message.content).some(t=>t.kind==="text"&&t.text.trim()!=="")}r(ka,"hasTextAssistant");function _a(e){if(e.type!=="assistant/chunk")return!1;const t=e.data.chunk;return t.type==="text-delta"?t.text.trim()!=="":t.type==="block-end"&&t.block.type==="text"&&t.block.text.trim()!==""}r(_a,"chunkHasText");function Ms(e){if(e.type==="assistant/message"||e.type==="assistant/chunk"||e.type==="step/end")return{turn:e.data.turn,step:e.data.step};if(e.type==="llm/retry")return{turn:e.data.turn,step:e.data.step}}r(Ms,"turnCoordinates");function Aa(e){let t=e.matches.find(s=>s.event.type==="turn/end")?.event.seq??e.start?.event.seq??e.matches[0]?.event.seq??0;const n=new Map;for(const s of e.matches){const o=s.event;if(o.type==="turn/end")continue;const a=Ms(o);if(a?.step===void 0)continue;const l=n.get(a.step)??{streamedText:!1,finalized:!1};if(o.type==="assistant/chunk"){n.set(a.step,{...l,streamedText:l.streamedText||_a(o)});continue}if(o.type==="assistant/message"){n.set(a.step,{streamedText:!1,finalized:!0}),ka(o)&&(t=o.seq+it.finalizedFollowup);continue}if(o.type==="llm/retry"){n.set(a.step,{streamedText:!1,finalized:!1});continue}o.type==="step/end"&&l.streamedText&&!l.finalized&&(t=o.seq+it.interruptedFollowup)}return t}r(Aa,"closingAnchor");function Os(e){const t=e.start?.location??e.matches[0]?.location;return t?.kind==="turn"||t?.kind==="step"?t.turn:void 0}r(Os,"turnLocation");function Sa(e){return e.finalNode!==void 0&&e.blocks.some(t=>t.kind==="text"&&t.text.trim()!=="")}r(Sa,"hasText");function Ca(e){const t=e.state?.end??e.matches.find(c=>c.event.type==="turn/end");if(t?.event.type!=="turn/end")return null;const n=Os(e);if(n===void 0)return null;const s=n.steps.map(c=>c.data.get("assistant-step")).filter(c=>c!==void 0).filter(c=>c.finalNode!==void 0).sort((c,d)=>c.finalNode.seq-d.finalNode.seq),o=s.findLast(Sa)??null;let a=s.at(-1)?.finalNode.seq;for(const c of e.matches){const d=c.event,u=d.type==="tool/call"||d.type==="tool/result"&&(0,B.isAppendSurfaceEvent)(d)||d.type==="turn/end"&&d.data.reason.kind==="error"||d.type==="llm/retry"?d.seq:void 0;u!==void 0&&(a===void 0||u>a)&&(a=u)}const l=Nr(s.map(c=>c.finalNode)).get(t.event.data.turn);return{turn:t.event.data.turn,seq:t.event.seq,time:t.event.time,closing:o,branchUnavailable:o===null||a!==o.finalNode.seq,...l?.ttftMs===void 0?{}:{ttftMs:l.ttftMs},...l?.tokensPerSecond===void 0?{}:{tokensPerSecond:l.tokensPerSecond}}}r(Ca,"tailData");const ja={kind:"turn-tail",target:"chat",match:r(e=>{if(e.type==="turn/start")return{id:String(e.data.turn),role:"start"};if(e.type==="turn/end")return{id:String(e.data.turn),role:"update"};if(e.type==="tool/call"||e.type==="tool/result")return{id:String(e.data.turn),role:"update"};const t=Ms(e);return t!==void 0?{id:String(t.turn),role:"update"}:null},"match"),start:r((e,t)=>{if(t.event.type!=="turn/start")throw new Error("turn-tail start requires turn/start");return{turn:t.event.data.turn}},"start"),update:r((e,t)=>t.event.type==="turn/end"?{...e.state,end:t}:e.state,"update"),publication:r(e=>e.event.type==="turn/end"?"immediate":"none","publication"),buildLocationData:r((e,t)=>{if(t!=="turn")return null;const n=Ca(e);return n===null?null:{kind:"turn",turn:n.turn,key:"turn-tail",value:n}},"buildLocationData"),buildViewNode:r(e=>{const t=Os(e)?.data.get("turn-tail");return t===void 0?null:ue(e,"turn-tail",Aa(e),t)},"buildViewNode")};function Ia(e){e.conversationEvents.register(ja)}r(Ia,"registerTurnTailConversationNode");function Na(e){Yi(e),ea(e),Ai(e),pa(e),Ui(e),Fi(e),sa(e),ga(e),wa(e),Ia(e),Ki(e),Gi(e)}r(Na,"registerConversationNodes");const Ea=3;function Ta(e,t=Ea){const n=(0,h.useRef)(e);n.current=e;const s=(0,h.useRef)(null);return(0,h.useLayoutEffect)(()=>()=>{s.current!==null&&(cancelAnimationFrame(s.current),s.current=null)},[]),(0,h.useCallback)(()=>{if(s.current!==null)return;let o=t;const a=r(()=>{if(o-=1,o>0){s.current=requestAnimationFrame(a);return}s.current=null,n.current()},"advance");s.current=requestAnimationFrame(a)},[t])}r(Ta,"useThrottledVisualUpdate");const qa=".MpeKdG_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}",Ws="@deepseek-ai/dsh-client-ui-conversation/accessibility.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Ws)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Ws,e.textContent=qa,document.head.appendChild(e)}var Ft={visuallyHidden:"MpeKdG_visuallyHidden"};const Ra='._4HtOLa_root{flex-direction:column;display:flex}._4HtOLa_row{position:relative;overflow:hidden}._4HtOLa_root[data-state=running] ._4HtOLa_row:after{content:"";inset-block:0;background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--dsw-alias-bg-base) 60%, transparent) 55%, transparent 100%);pointer-events:none;width:300px;animation:2.6s ease-out infinite _4HtOLa_dsh-reasoning-row-sweep;position:absolute;left:0}@keyframes _4HtOLa_dsh-reasoning-row-sweep{0%{left:-300px}90%,to{left:100%}}._4HtOLa_leading{flex-shrink:0}._4HtOLa_chevron{color:var(--dsw-alias-label-secondary)}._4HtOLa_title{font-weight:400}._4HtOLa_separator{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}._4HtOLa_summary{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:14px;line-height:24px;overflow:hidden}._4HtOLa_summary[data-follow-end]{text-overflow:clip}._4HtOLa_thinkBody{color:var(--dsw-alias-label-tertiary);white-space:pre-wrap;word-break:break-word;padding:4px 0 4px 22px;font-size:14px;line-height:24px}@media (prefers-reduced-motion:reduce){._4HtOLa_root[data-state=running] ._4HtOLa_row:after{animation:none}}',Gs="@deepseek-ai/dsh-client-ui-conversation/ReasoningRow.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Gs)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Gs,e.textContent=Ra,document.head.appendChild(e)}var Me={thinkBody:"_4HtOLa_thinkBody",root:"_4HtOLa_root",row:"_4HtOLa_row",leading:"_4HtOLa_leading",title:"_4HtOLa_title",separator:"_4HtOLa_separator",summary:"_4HtOLa_summary",chevron:"_4HtOLa_chevron","dsh-reasoning-row-sweep":"_4HtOLa_dsh-reasoning-row-sweep"};function Ma(e){const t=e.indexOf(`
|
|
3
|
+
`})]})}),(0,i.jsxs)("div",{className:D.row,children:[(0,i.jsxs)("div",{className:D.tools,children:[(0,i.jsx)(_.Tooltip,{label:f("input.commands"),side:"top",delayMs:500,children:(0,i.jsx)("button",{type:"button",className:D.add,"aria-label":f("input.commands"),"aria-haspopup":"listbox","aria-expanded":se,disabled:re||d===void 0,onMouseDown:tn,onClick:fl,children:(0,i.jsx)(_.IconPlusOutline16,{size:14})})}),(0,i.jsxs)("div",{className:D.modes,children:[vl,k("conversation.input.plan",{locked:re})]}),Z]}),(0,i.jsxs)("div",{className:D.trailing,children:[We,k("conversation.input.model",{locked:al}),(0,i.jsx)(Wr,{useProjection:w,t:f}),ml&&(0,i.jsx)(_.Tooltip,{label:f("input.stop"),side:"top",delayMs:500,children:(0,i.jsx)("button",{type:"button",className:D.primary,"aria-label":f("input.stop"),disabled:u===void 0,onMouseDown:tn,onClick:u,children:(0,i.jsx)("svg",{viewBox:"0 0 16 16",width:"16",height:"16","aria-hidden":!0,children:(0,i.jsx)("rect",{x:"3",y:"3",width:"10",height:"10",rx:"3",fill:"currentColor"})})})}),(0,i.jsx)(_.Tooltip,{label:Qs,side:"top",delayMs:500,children:(0,i.jsx)("button",{type:"button",className:D.primary,"aria-label":Qs,disabled:kt?u===void 0:we||wt||Ae,onMouseDown:tn,onClick:gl,children:kt?(0,i.jsx)("svg",{viewBox:"0 0 16 16",width:"16",height:"16","aria-hidden":!0,children:(0,i.jsx)("rect",{x:"3",y:"3",width:"10",height:"10",rx:"3",fill:"currentColor"})}):(0,i.jsx)("svg",{viewBox:"0 0 16 16",width:"16",height:"16","aria-hidden":!0,children:(0,i.jsx)("path",{d:"M8.3125 0.980183C8.66767 1.0531 8.97902 1.20418 9.2627 1.43233C9.48724 1.61297 9.73029 1.85793 9.97949 2.10714L14.707 6.83468L13.293 8.24874L9 3.95577V15.0417H7V3.95577L2.70703 8.24874L1.29297 6.83468L6.02051 2.10714C6.26971 1.85793 6.51277 1.61297 6.7373 1.43233C6.97662 1.23986 7.28445 1.04402 7.6875 0.980183C7.8973 0.947006 8.1031 0.95516 8.3125 0.980183Z",fill:"currentColor"})})})})]})]})]}),ge!==null&&(0,i.jsx)(Ze.ImageLightbox,{src:ge.previewUrl,alt:ge.file.name||f("image.original"),labels:bn(f),onClose:pl}),be]})}r(Fr,"InputBar");const Jr="._802Euq_row{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:16px 0;display:flex}._802Euq_rowText{flex-direction:column;flex:1;gap:4px;min-width:0;padding-right:48px;display:flex}._802Euq_title{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}._802Euq_desc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}._802Euq_selector{background:var(--dsw-alias-bg-module-platform);height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;align-items:center;gap:12px;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}._802Euq_selector:hover{background:var(--dsw-alias-interactive-bg-hover)}._802Euq_chevron{flex:none}",Gn="@deepseek-ai/dsh-client-ui-conversation/EnterBehaviorRow.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Gn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Gn,e.textContent=Jr,document.head.appendChild(e)}var ze={desc:"_802Euq_desc",selector:"_802Euq_selector",rowText:"_802Euq_rowText",row:"_802Euq_row",title:"_802Euq_title",chevron:"_802Euq_chevron"};const Kr=[{id:"queue",label:"settings.enter.queue"},{id:"steer",label:"settings.enter.steer"}];function Xr({useBusyEnter:e,setBusyEnter:t,t:n}){const s=e(c=>c),[o,a]=(0,h.useState)(!1),l=s==="queue"?"settings.enter.queue":"settings.enter.steer";return(0,i.jsxs)("div",{className:ze.row,children:[(0,i.jsxs)("div",{className:ze.rowText,children:[(0,i.jsx)("div",{className:ze.title,children:n("settings.enter.title")}),(0,i.jsx)("div",{className:ze.desc,children:n("settings.enter.description")})]}),(0,i.jsx)(_.Menu,{open:o,onClose:r(()=>{a(!1)},"onClose"),items:Kr.map(c=>({id:c.id,label:n(c.label)})),selectedId:s,onSelect:r(c=>{a(!1),t(c)},"onSelect"),align:"end",portal:!0,anchor:(0,i.jsxs)("button",{type:"button",className:ze.selector,"aria-haspopup":"menu","aria-expanded":o,onClick:r(()=>{a(c=>!c)},"onClick"),children:[n(l),(0,i.jsx)(_.IconChevronDownOutline14,{className:ze.chevron})]})})]})}r(Xr,"EnterBehaviorRow");const Vr='.JsXUgW_userRow{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.JsXUgW_userStack{flex-direction:column;align-items:flex-end;gap:8px;min-width:0;max-width:min(525px,82%);display:flex}.JsXUgW_bubble{background:var(--dsw-specific-bubble);max-width:100%;color:var(--dsw-alias-label-primary);border-radius:22px;padding:10px 16px;font-size:16px;line-height:24px}.JsXUgW_contextRow,.JsXUgW_compactionRow{padding:2px 0}.JsXUgW_compactionButton{width:100%;min-width:0;height:24px;color:inherit;font:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;padding:0;display:flex}.JsXUgW_compactionButton:not(:disabled){cursor:pointer}.JsXUgW_compactionButton:not(:disabled):hover{background:var(--dsw-alias-interactive-bg-hover)}.JsXUgW_compactionLeading{width:16px;height:16px;color:var(--dsw-alias-label-secondary);flex:none;place-items:center;margin-right:6px;display:inline-grid}.JsXUgW_compactionContextIcon,.JsXUgW_compactionDisclosureIcon{grid-area:1/1;justify-content:center;align-items:center;display:inline-flex}.JsXUgW_compactionDisclosureIcon,.JsXUgW_compactionButton:not(:disabled):hover .JsXUgW_compactionContextIcon,.JsXUgW_compactionButton:not(:disabled):focus-visible .JsXUgW_compactionContextIcon{opacity:0}.JsXUgW_compactionButton:not(:disabled):hover .JsXUgW_compactionDisclosureIcon,.JsXUgW_compactionButton:not(:disabled):focus-visible .JsXUgW_compactionDisclosureIcon{opacity:1}.JsXUgW_compactionTitle{color:var(--dsw-alias-label-primary-dimmed);flex:none;font-size:14px;line-height:24px}.JsXUgW_compactionSep{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.JsXUgW_compactionSummary{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:14px;line-height:24px;overflow:hidden}.JsXUgW_compactionBody{color:var(--dsw-alias-label-tertiary);padding:4px 0 4px 22px;font-size:14px;line-height:24px}.JsXUgW_retryRow{color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:20px}.JsXUgW_retrySummary{width:fit-content;color:inherit;cursor:pointer;user-select:none;border-radius:3px;align-items:center;gap:7px;padding:2px 0;list-style:none;display:inline-flex}.JsXUgW_retrySummary::-webkit-details-marker{display:none}.JsXUgW_retrySummary:after{content:"";opacity:.8;border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transition:transform .12s;transform:rotate(-45deg)}.JsXUgW_retrySummary:hover{color:var(--dsw-alias-label-secondary)}.JsXUgW_retrySummary:focus-visible{outline:1.5px solid var(--dsw-alias-button-info-fill);outline-offset:2px}.JsXUgW_retryText{color:inherit}.JsXUgW_retryRow[data-active] .JsXUgW_retryText{background:linear-gradient(90deg, var(--dsw-alias-label-tertiary) 0%, var(--dsw-alias-label-tertiary) 40%, var(--dsw-alias-label-secondary) 50%, var(--dsw-alias-label-tertiary) 60%, var(--dsw-alias-label-tertiary) 100%);color:#0000;background-position:100%;background-size:200% 100%;background-clip:text;animation:1.6s ease-in-out infinite JsXUgW_retry-shimmer}.JsXUgW_retryRow[open] .JsXUgW_retrySummary:after{transform:rotate(45deg)}.JsXUgW_retryDetails{overflow-wrap:anywhere;gap:2px;margin-top:3px;padding-left:14px;font-size:12px;line-height:18px;display:grid}.JsXUgW_retryDetailLabel{color:var(--dsw-alias-label-secondary)}.JsXUgW_turnErrorRow{grid-template-columns:10px minmax(0,1fr) auto;align-items:start;gap:8px;padding:2px 0;font-size:13px;line-height:20px;display:grid}.JsXUgW_turnErrorDot{margin-top:5px}.JsXUgW_turnErrorCopy{overflow-wrap:anywhere;min-width:0}.JsXUgW_turnErrorTitle{color:var(--dsw-alias-state-error-primary);margin-right:6px;font-weight:600}.JsXUgW_turnErrorMessage{color:var(--dsw-alias-label-secondary)}.JsXUgW_turnErrorCode{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-markdown-code-block-small)}.JsXUgW_maxTokensTitle{color:var(--dsw-alias-state-warn-primary);margin-right:6px;font-weight:600}@keyframes JsXUgW_retry-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.JsXUgW_retryRow[data-active] .JsXUgW_retryText{color:inherit;background:0 0;animation:none}}.JsXUgW_refChip{color:var(--dsw-alias-label-primary);white-space:nowrap;vertical-align:baseline;background:#6187d838;border-radius:6px;margin:0 2px;padding:0 8px;font-size:.85em;line-height:1.6;display:inline-block}',Ln="@deepseek-ai/dsh-client-ui-conversation/MessageItem.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Ln)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Ln,e.textContent=Vr,document.head.appendChild(e)}var R={turnErrorCopy:"JsXUgW_turnErrorCopy",turnErrorCode:"JsXUgW_turnErrorCode",turnErrorDot:"JsXUgW_turnErrorDot",refChip:"JsXUgW_refChip",retrySummary:"JsXUgW_retrySummary",turnErrorMessage:"JsXUgW_turnErrorMessage",compactionSummary:"JsXUgW_compactionSummary",bubble:"JsXUgW_bubble","retry-shimmer":"JsXUgW_retry-shimmer",compactionButton:"JsXUgW_compactionButton",contextRow:"JsXUgW_contextRow",retryDetailLabel:"JsXUgW_retryDetailLabel",compactionDisclosureIcon:"JsXUgW_compactionDisclosureIcon",compactionBody:"JsXUgW_compactionBody",compactionLeading:"JsXUgW_compactionLeading",maxTokensTitle:"JsXUgW_maxTokensTitle",compactionContextIcon:"JsXUgW_compactionContextIcon",compactionSep:"JsXUgW_compactionSep",compactionTitle:"JsXUgW_compactionTitle",retryDetails:"JsXUgW_retryDetails",retryText:"JsXUgW_retryText",compactionRow:"JsXUgW_compactionRow",userStack:"JsXUgW_userStack",userRow:"JsXUgW_userRow",turnErrorTitle:"JsXUgW_turnErrorTitle",retryRow:"JsXUgW_retryRow",turnErrorRow:"JsXUgW_turnErrorRow"};const Bn=(0,h.memo)(r(function({node:t,title:n,fallbackSummary:s,t:o}){const[a,l]=(0,h.useState)(!1),c=t.summary!==null,d=c&&a,u=t.shadowedItemCount!==null&&t.shadowedTokenCount!==null?o("message.compaction.completed",{items:t.shadowedItemCount,tokens:t.shadowedTokenCount}):s??o(c?"message.compaction.expand":"message.compaction.unavailable");return(0,i.jsxs)("div",{className:R.compactionRow,children:[(0,i.jsxs)("button",{type:"button",className:R.compactionButton,disabled:!c,"aria-expanded":c?d:void 0,onClick:r(()=>{l(m=>!m)},"onClick"),children:[(0,i.jsxs)("span",{className:R.compactionLeading,"aria-hidden":!0,children:[(0,i.jsx)("span",{className:R.compactionContextIcon,"data-compaction-icon":"context",children:(0,i.jsx)(_.IconApiOutline14,{})}),(0,i.jsx)("span",{className:R.compactionDisclosureIcon,"data-compaction-disclosure":d?"expanded":"collapsed",children:d?(0,i.jsx)(_.IconChevronDownOutline14,{}):(0,i.jsx)(_.IconChevronRightOutline14,{})})]}),(0,i.jsx)("span",{className:R.compactionTitle,children:n??o("message.compaction")}),(0,i.jsx)("span",{className:R.compactionSep,"aria-hidden":!0}),(0,i.jsx)("span",{className:R.compactionSummary,children:u})]}),d&&t.summary!==null&&(0,i.jsx)("div",{className:R.compactionBody,children:(0,i.jsx)(_.MarkdownText,{text:t.summary})})]})},"CompactionItem")),Hr=".tWf1yG_text{color:var(--dsw-alias-label-secondary);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.tWf1yG_fields{border-top:1px solid var(--dsw-alias-line-secondary);flex-direction:column;gap:2px;margin:8px 0 0;padding-top:8px;display:flex}.tWf1yG_field{gap:8px;min-width:0;display:flex}.tWf1yG_fieldKey{min-width:96px;color:var(--dsw-alias-label-caption);flex:none}.tWf1yG_fieldValue{min-width:0;color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;flex:auto;margin:0}.tWf1yG_files{flex-wrap:wrap;gap:4px 12px;margin:0 0 8px;padding:0;list-style:none;display:flex}.tWf1yG_file{align-items:baseline;gap:6px;min-width:0;display:flex}.tWf1yG_filePath{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere}.tWf1yG_fileAction{color:var(--dsw-alias-label-caption)}.tWf1yG_catalogNotice{color:var(--dsw-alias-label-caption);margin:0 0 6px}.tWf1yG_entries{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.tWf1yG_entry{gap:8px;min-width:0;display:flex}.tWf1yG_entryName{color:var(--dsw-alias-label-secondary);flex:none}.tWf1yG_entryDescription{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.tWf1yG_sections{flex-direction:column;gap:8px;margin:0;display:flex}.tWf1yG_section{flex-direction:column;gap:2px;min-width:0;display:flex}.tWf1yG_sectionName{color:var(--dsw-alias-label-caption)}.tWf1yG_sectionText{color:var(--dsw-alias-label-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.tWf1yG_relaySender{color:var(--dsw-alias-label-caption);overflow-wrap:anywhere;margin:0 0 6px}.tWf1yG_recalls{flex-direction:column;gap:2px;margin:0 0 8px;padding:0;list-style:none;display:flex}.tWf1yG_recall{gap:8px;min-width:0;display:flex}.tWf1yG_recallLabel{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere}.tWf1yG_recallCounts{color:var(--dsw-alias-label-caption);flex:none}",Dn="@deepseek-ai/dsh-client-ui-conversation/ContextBody.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Dn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Dn,e.textContent=Hr,document.head.appendChild(e)}var $={entries:"tWf1yG_entries",section:"tWf1yG_section",relaySender:"tWf1yG_relaySender",entry:"tWf1yG_entry",fieldValue:"tWf1yG_fieldValue",filePath:"tWf1yG_filePath",sections:"tWf1yG_sections",fieldKey:"tWf1yG_fieldKey",file:"tWf1yG_file",recallLabel:"tWf1yG_recallLabel",entryName:"tWf1yG_entryName",files:"tWf1yG_files",fileAction:"tWf1yG_fileAction",recallCounts:"tWf1yG_recallCounts",field:"tWf1yG_field",catalogNotice:"tWf1yG_catalogNotice",text:"tWf1yG_text",sectionName:"tWf1yG_sectionName",sectionText:"tWf1yG_sectionText",recalls:"tWf1yG_recalls",fields:"tWf1yG_fields",entryDescription:"tWf1yG_entryDescription",recall:"tWf1yG_recall"};const $n=2e4,Yr=200;function ie(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}r(ie,"asRecord");function Un(e){const t=[];for(const n of e){if(n.type!=="text"){t.push({block:n});continue}const s=t[t.length-1];s!==void 0&&"text"in s?s.text+=n.text:t.push({text:n.text})}return t}r(Un,"contentRuns");function Qr(e){return Un(e).flatMap(t=>"block"in t?[t.block]:[])}r(Qr,"unknownBlocks");function Gt(e,t){return e.length>$n?`${e.slice(0,$n)}
|
|
4
|
+
${t("json.truncated",{total:e.length})}`:e}r(Gt,"boundedText");function Zr(e,t){return Gt(typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):JSON.stringify(e),t)}r(Zr,"fieldValue");function eo({source:e,formRendered:t,t:n}){const s=ie(e);if(s===null)return null;const o=t?["kind","form"]:["kind"],a=Object.entries(s).filter(([l])=>!o.includes(l));return a.length===0?null:(0,i.jsx)("dl",{className:$.fields,"data-context-fields":!0,children:a.map(([l,c])=>(0,i.jsxs)("div",{className:$.field,children:[(0,i.jsx)("dt",{className:$.fieldKey,children:l}),(0,i.jsx)("dd",{className:$.fieldValue,children:Zr(c,n)})]},l))})}r(eo,"SourceFields");function to({blocks:e,t}){return(0,i.jsx)(i.Fragment,{children:e.map((n,s)=>(0,i.jsx)(_.JsonBlock,{label:t("message.unknownBlock"),payload:n,truncatedLabel:r(o=>t("json.truncated",{total:o}),"truncatedLabel")},s))})}r(to,"UnknownBlocks");function ot({content:e,t}){return(0,i.jsx)(i.Fragment,{children:Un(e).map((n,s)=>"text"in n?n.text!==""&&(0,i.jsx)("pre",{className:$.text,"data-context-text":!0,children:Gt(n.text,t)},s):(0,i.jsx)(_.JsonBlock,{label:t("message.unknownBlock"),payload:n.block,truncatedLabel:r(o=>t("json.truncated",{total:o}),"truncatedLabel")},s))})}r(ot,"ModelFacingContent");function Fe({content:e,source:t,t:n}){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(ot,{content:e,t:n}),(0,i.jsx)(eo,{source:t,formRendered:!1,t:n})]})}r(Fe,"OpaqueBody");function Pn(e){const t=ie(e),n=t===null?void 0:t.changes;if(!Array.isArray(n))return null;const s=[],o=new Set;for(const a of n){const l=ie(a);if(l===null)return null;const c=l.path;if(typeof c!="string"||c==="")return null;const d=l.action;if(d!=="set"&&d!=="replace"&&d!=="remove")return null;const u=l.digest;o.has(c)||(o.add(c),s.push({action:d,path:c,...typeof u=="string"?{digest:u}:{}}))}return s.length===0?null:s}r(Pn,"instructionChanges");function no(e,t){return e==="remove"?"message.context.instructions.removed":t?"message.context.instructions.loaded":e==="set"?"message.context.instructions.added":"message.context.instructions.updated"}r(no,"instructionAction");function so({content:e,source:t,t:n}){const s=Pn(t);if(s===null)return(0,i.jsx)(Fe,{content:e,source:t,t:n});const o=ie(t)?.baseline===!0;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("ul",{className:$.files,"data-context-files":!0,children:s.map(a=>(0,i.jsxs)("li",{className:$.file,title:a.digest,children:[(0,i.jsx)("span",{className:$.filePath,children:a.path}),(0,i.jsx)("span",{className:$.fileAction,children:n(no(a.action,o))})]},a.path))}),(0,i.jsx)(ot,{content:e,t:n})]})}r(so,"InstructionsBody");function zn(e){const t=ie(e),n=t===null?void 0:t.entries;if(!Array.isArray(n))return null;const s=[];for(const o of n){const a=ie(o);if(a===null)return null;const l=a.name,c=a.description;if(typeof l!="string"||l===""||typeof c!="string")return null;s.push({name:l,description:c})}return s}r(zn,"catalogEntries");function ro({content:e,source:t,t:n}){const s=zn(t);if(s===null)return(0,i.jsx)(Fe,{content:e,source:t,t:n});const o=ie(t)?.update===!0,a=s.slice(0,Yr),l=Qr(e);return(0,i.jsxs)(i.Fragment,{children:[o&&(0,i.jsx)("p",{className:$.catalogNotice,"data-context-catalog-update":!0,children:n("message.context.catalog.replaced")}),(0,i.jsx)("ul",{className:$.entries,"data-context-entries":!0,children:a.map((c,d)=>(0,i.jsxs)("li",{className:$.entry,children:[(0,i.jsx)("code",{className:$.entryName,children:c.name}),(0,i.jsx)("span",{className:$.entryDescription,children:c.description})]},d))}),a.length<s.length&&(0,i.jsx)("p",{className:$.catalogNotice,"data-context-entries-truncated":!0,children:n("message.context.catalog.more",{count:s.length-a.length})}),(0,i.jsx)(to,{blocks:l,t:n})]})}r(ro,"CatalogBody");function Fn(e){const t=ie(e),n=t===null?void 0:t.sections;if(!Array.isArray(n))return null;const s=[];for(const o of n){const a=ie(o);if(a===null)return null;const l=a.name,c=a.text;if(typeof l!="string"||l===""||typeof c!="string")return null;s.push({name:l,text:c})}return s.length===0?null:s}r(Fn,"snapshotSections");function oo({content:e,source:t,t:n}){const s=Fn(t);return s===null?(0,i.jsx)(Fe,{content:e,source:t,t:n}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("p",{className:$.catalogNotice,"data-context-snapshot-supersedes":!0,children:n("message.context.snapshot.supersedes")}),(0,i.jsx)("dl",{className:$.sections,"data-context-sections":!0,children:s.map((o,a)=>(0,i.jsxs)("div",{className:$.section,children:[(0,i.jsx)("dt",{className:$.sectionName,children:o.name}),(0,i.jsx)("dd",{className:$.sectionText,children:Gt(o.text,n)})]},a))})]})}r(oo,"SnapshotBody");function io({content:e,t}){return(0,i.jsx)(ot,{content:e,t})}r(io,"NoticeBody");function ao({content:e,source:t,t:n}){const s=Jn(t);return s===null?(0,i.jsx)(Fe,{content:e,source:t,t:n}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("p",{className:$.relaySender,"data-context-relay-sender":!0,children:n("message.context.relay.from",{session:s})}),(0,i.jsx)(ot,{content:e,t:n})]})}r(ao,"RelayBody");function Jn(e){const t=ie(e)?.senderSessionId;return typeof t=="string"&&t!==""?t:null}r(Jn,"relaySender");function Kn(e){const t=ie(e),n=t===null?void 0:t.references;if(!Array.isArray(n))return null;const s=[];for(const o of n){const a=ie(o);if(a===null)return null;const l=a.label,c=a.retainedMessages,d=a.omittedMessages,u=a.truncated;if(typeof l!="string"||l===""||typeof c!="number"||typeof d!="number"||typeof u!="boolean")return null;s.push({label:l,retained:c,omitted:d,truncated:u})}return s.length===0?null:s}r(Kn,"recalledSessions");function lo({content:e,source:t,t:n}){const s=Kn(t);return s===null?(0,i.jsx)(Fe,{content:e,source:t,t:n}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("ul",{className:$.recalls,"data-context-recalls":!0,children:s.map((o,a)=>(0,i.jsxs)("li",{className:$.recall,children:[(0,i.jsx)("span",{className:$.recallLabel,children:o.label}),(0,i.jsx)("span",{className:$.recallCounts,children:n("message.context.recall.counts",{retained:o.retained,omitted:o.omitted})}),o.truncated&&(0,i.jsx)("span",{className:$.recallCounts,children:n("message.context.recall.truncated")})]},a))}),(0,i.jsx)(ot,{content:e,t:n})]})}r(lo,"RecallBody");function co(e){const t=ie(e)?.summary;return typeof t=="string"&&t!==""?t:null}r(co,"noticeSummary");function uo(e,t){const n={rendered:null,summary:null,body:(0,i.jsx)(Fe,{...t})};switch(e){case"instructions":return Pn(t.source)===null?n:{rendered:"instructions",summary:null,body:(0,i.jsx)(so,{...t})};case"catalog":return zn(t.source)===null?n:{rendered:"catalog",summary:null,body:(0,i.jsx)(ro,{...t})};case"snapshot":return Fn(t.source)===null?n:{rendered:"snapshot",summary:null,body:(0,i.jsx)(oo,{...t})};case"notice":{const s=co(t.source);return s===null?n:{rendered:"notice",summary:s,body:(0,i.jsx)(io,{...t})}}case"relay":return Jn(t.source)===null?n:{rendered:"relay",summary:null,body:(0,i.jsx)(ao,{...t})};case"recall":return Kn(t.source)===null?n:{rendered:"recall",summary:null,body:(0,i.jsx)(lo,{...t})};case null:return n;default:throw new Error(`unreachable context form: ${String(e)}`)}}r(uo,"contextBody");const po=".wmVwWa_root{min-width:0}.wmVwWa_root[data-open]{padding-bottom:4px}.wmVwWa_chevron{color:var(--dsw-alias-label-secondary)}.wmVwWa_sep{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.wmVwWa_source{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:14px;line-height:24px;overflow:hidden}.wmVwWa_summary{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:14px;line-height:24px;overflow:hidden}.wmVwWa_body{box-sizing:border-box;background:var(--dsw-alias-markdown-code-block);width:calc(100% - 22px);max-height:141px;color:var(--dsw-alias-label-tertiary);font:400 11px/16px var(--ds-font-family-code);border:none;border-radius:8px;margin:4px 0 0 22px;padding:10px 16px 12px 12px;overflow:auto}",Xn="@deepseek-ai/dsh-client-ui-conversation/ContextInjectionRow.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Xn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Xn,e.textContent=po,document.head.appendChild(e)}var Ue={summary:"wmVwWa_summary",body:"wmVwWa_body",source:"wmVwWa_source",sep:"wmVwWa_sep",root:"wmVwWa_root",chevron:"wmVwWa_chevron"};function ho({content:e,source:t,provenance:n,form:s,t:o}){const[a,l]=(0,h.useState)(!1),{rendered:c,summary:d,body:u}=uo(s,{content:e,source:t,t:o});return(0,i.jsx)(_.DisclosureRow,{className:Ue.root,icon:(0,i.jsx)(_.IconBrowseOutline16,{size:14}),chevronClassName:Ue.chevron,title:o(n.role==="recall"?"message.contextRecall":"message.contextInjection"),collapsedContent:n.label===null?void 0:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:Ue.sep,"aria-hidden":!0}),(0,i.jsx)("span",{className:Ue.source,"data-context-source":!0,children:n.label}),d!==null&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:Ue.sep,"aria-hidden":!0}),(0,i.jsx)("span",{className:Ue.summary,"data-context-summary":!0,children:d})]})]}),keepContentWhenOpen:!0,open:a,expandable:!0,expandOnRowClick:!0,onToggle:r(()=>{l(m=>!m)},"onToggle"),children:(0,i.jsx)("div",{className:Ue.body,"data-context-injection-body":!0,"data-context-form":c??void 0,children:u})})}r(ho,"ContextInjectionRow");function fo(){const[e,t]=(0,h.useState)(()=>_n(Date.now()));return(0,h.useEffect)(()=>{let n;const s=r(()=>{const o=Date.now();t(_n(o)),n=setTimeout(s,An(o))},"arm");return n=setTimeout(s,An(Date.now())),()=>{clearTimeout(n)}},[]),e}r(fo,"useCalendarDay");const mo=".KjuGrW_actions{align-items:center;gap:10px;height:28px;display:flex}.KjuGrW_timeStart{color:var(--dsw-alias-label-tertiary);white-space:nowrap;padding-right:12px;font-size:14px;line-height:24px}.KjuGrW_timeEnd{color:var(--dsw-alias-label-tertiary);white-space:nowrap;padding-left:12px;font-size:14px;line-height:24px}.KjuGrW_runTimeDot{margin:0 10px}@media (hover:hover){[data-time-hover-root] :is(.KjuGrW_timeStart,.KjuGrW_timeEnd){opacity:0;transition:opacity 80ms}[data-time-hover-root]:hover :is(.KjuGrW_timeStart,.KjuGrW_timeEnd),[data-time-hover-root]:focus-within :is(.KjuGrW_timeStart,.KjuGrW_timeEnd){opacity:1}}.KjuGrW_action{width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.KjuGrW_action:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}.KjuGrW_action[data-unavailable]{cursor:default;opacity:.4}.KjuGrW_action[data-unavailable]:hover{color:var(--dsw-alias-label-tertiary);background:0 0}.KjuGrW_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}",Vn="@deepseek-ai/dsh-client-ui-conversation/MessageIconActions.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Vn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Vn,e.textContent=mo,document.head.appendChild(e)}var xe={timeStart:"KjuGrW_timeStart",runTimeDot:"KjuGrW_runTimeDot",visuallyHidden:"KjuGrW_visuallyHidden",timeEnd:"KjuGrW_timeEnd",action:"KjuGrW_action",actions:"KjuGrW_actions"};function Lt({text:e,time:t,runMs:n,ttftMs:s,tokensPerSecond:o,clock:a,onBranch:l,branchUnavailable:c=!1,className:d,extraActions:u,t:m}){const f=fo(),k=(0,h.useId)(),[g,y]=(0,h.useState)(!1),b=(0,h.useRef)(!1),w=(0,h.useRef)(null),j=(0,h.useRef)(0);(0,h.useEffect)(()=>()=>{j.current+=1,b.current=!1,w.current!==null&&clearTimeout(w.current)},[]);const x=(0,h.useCallback)(()=>{if(g||b.current)return;const S=j.current;b.current=!0,(0,_.writeClipboard)(e).then(z=>{S===j.current&&(b.current=!1,z&&(y(!0),w.current=window.setTimeout(()=>{w.current=null,y(!1)},1e3)))})},[g,e]),A=t===void 0?null:(0,i.jsxs)("span",{className:a==="start"?xe.timeStart:xe.timeEnd,children:[jr(t,m,f),n!==void 0&&(0,i.jsxs)(i.Fragment,{children:[" ",(0,i.jsx)("span",{className:xe.runTimeDot,"aria-hidden":!0,children:"·"})," ",m("message.ranFor",{duration:Sn(n,m)})]}),s!==void 0&&(0,i.jsxs)(i.Fragment,{children:[" ",(0,i.jsx)("span",{className:xe.runTimeDot,"aria-hidden":!0,children:"·"})," ",m("message.ttft",{seconds:Cr(s)})]}),o!==void 0&&(0,i.jsxs)(i.Fragment,{children:[" ",(0,i.jsx)("span",{className:xe.runTimeDot,"aria-hidden":!0,children:"·"})," ",m("message.tokensPerSecond",{tps:Cn(o)})]})]});return(0,i.jsxs)("div",{className:d===void 0?xe.actions:`${xe.actions} ${d}`,children:[a==="start"?A:null,(0,i.jsx)(_.Tooltip,{label:m(g?"copied":"copy"),side:"bottom",children:(0,i.jsx)("button",{type:"button",className:xe.action,"aria-label":m(g?"copied":"copy"),onClick:x,children:g?(0,i.jsx)(_.IconCheckOutline16,{}):(0,i.jsx)(_.IconCopyOutline16,{})})}),u,l!==void 0&&(0,i.jsx)(_.Tooltip,{label:m(c?"message.branchUnavailable":"message.branch"),side:"bottom",children:(0,i.jsx)("button",{type:"button",className:xe.action,"aria-label":m("message.branch"),"aria-disabled":c||void 0,"aria-describedby":c?k:void 0,"data-unavailable":c||void 0,onClick:c?void 0:l,children:(0,i.jsx)(_.IconBranchOutline16,{})})}),l!==void 0&&c&&(0,i.jsx)("span",{id:k,className:xe.visuallyHidden,children:m("message.branchUnavailable")}),a==="end"?A:null]})}r(Lt,"MessageIconActions");function go(e){const t=[],n=[],s=[];for(const o of e){const a=o;a.type==="text"&&typeof a.text=="string"?t.push(a.text):a.type==="image"&&a.attachment!==void 0?n.push({attachment:a.attachment}):s.push(o)}return{text:t.join(""),images:n,rest:s}}r(go,"contentParts");function mt(e){return Math.max(1,Math.ceil(e/1e3))}r(mt,"retrySeconds");function vo({node:e,active:t,t:n}){const s=(0,h.useMemo)(()=>Date.now()+e.delayMs,[e.delayMs,e.seq]),o=mt(e.delayMs),a=e.mode==="normal"?e.maxRetries:"∞",[l,c]=(0,h.useState)(()=>({deadline:s,seconds:mt(s-Date.now())})),d=l.deadline===s?l.seconds:mt(s-Date.now());(0,h.useEffect)(()=>{if(!t)return;const f=r(()=>{const g=mt(s-Date.now());return c(y=>y.deadline===s&&y.seconds===g?y:{deadline:s,seconds:g}),g},"updateCountdown");if(f()===1)return;const k=window.setInterval(()=>{f()===1&&window.clearInterval(k)},250);return()=>{window.clearInterval(k)}},[t,s]);const u=t?n("message.retry.active"):e.retryState==="cancelled"?n("message.retry.cancelled"):e.retryState==="started"?n("message.retry.started"):n("message.retry.scheduled"),m=t?d:o;return(0,i.jsxs)("details",{className:R.retryRow,"data-active":t||void 0,children:[(0,i.jsx)("summary",{className:R.retrySummary,children:(0,i.jsx)("span",{className:R.retryText,role:"status",children:n("message.retry.status",{label:u,retry:e.retry,maximum:a,seconds:m})})}),(0,i.jsxs)("div",{className:R.retryDetails,children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{className:R.retryDetailLabel,children:n("message.retry.delay")}),Math.round(e.delayMs),"ms"]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{className:R.retryDetailLabel,children:n("message.retry.failure")}),e.failure.message]})]})]})}r(vo,"ModelRetryItem");function yo({node:e,t}){return(0,i.jsxs)("div",{className:R.turnErrorRow,role:"status",children:[(0,i.jsx)(_.StateDot,{state:"error",className:R.turnErrorDot}),(0,i.jsxs)("div",{className:R.turnErrorCopy,children:[(0,i.jsx)("span",{className:R.turnErrorTitle,children:t("message.turnError")}),(0,i.jsx)("span",{className:R.turnErrorMessage,children:e.message})]}),e.code!==void 0&&(0,i.jsx)("code",{className:R.turnErrorCode,children:e.code})]})}r(yo,"TurnErrorItem");function xo({t:e}){return(0,i.jsxs)("div",{className:R.turnErrorRow,role:"status",children:[(0,i.jsx)(_.StateDot,{state:"warning",className:R.turnErrorDot}),(0,i.jsxs)("div",{className:R.turnErrorCopy,children:[(0,i.jsx)("span",{className:R.maxTokensTitle,children:e("message.maxTokens")}),(0,i.jsx)("span",{className:R.turnErrorMessage,children:e("message.maxTokens.hint")})]})]})}r(xo,"TurnMaxTokensItem");function bo(e){const t=/(^|\s)([/@][\w-]+)(?=\s|$)/g,n=[];let s=0,o;for(;(o=t.exec(e))!==null;){const a=o.index+(o[1]?.length??0),l=o[2]??"";a>s&&n.push((0,i.jsx)(_.MessageText,{text:e.slice(s,a)},s)),n.push((0,i.jsx)("span",{className:R.refChip,"data-ref-chip":l.startsWith("@")?"subagent":"skill",children:l},a)),s=a+l.length}return n.length===0?(0,i.jsx)(_.MessageText,{text:e}):(s<e.length&&n.push((0,i.jsx)(_.MessageText,{text:e.slice(s)},s)),(0,i.jsx)(i.Fragment,{children:n}))}r(bo,"projectUserText");function Hn({content:e,imageLoader:t,actions:n,pending:s=!1,t:o}){const{text:a,images:l,rest:c}=go(e),d=r(m=>o("json.truncated",{total:m}),"truncated"),u=a!==""||c.length>0;return(0,i.jsxs)("div",{className:R.userRow,"data-pending-steering":s||void 0,"data-time-hover-root":!0,children:[(0,i.jsxs)("div",{className:R.userStack,children:[(0,i.jsx)(Ze.ImageGallery,{images:l,load:t,align:"end",labels:wn(o)}),u&&(0,i.jsxs)("div",{className:R.bubble,children:[bo(a),c.map((m,f)=>(0,i.jsx)(_.JsonBlock,{label:o("message.extraBlock"),payload:m,truncatedLabel:d},f))]})]}),n?.(a)]})}r(Hn,"UserStyleBubble");function wo({content:e,loadImage:t,t:n}){return(0,i.jsx)(Hn,{content:e,imageLoader:t??(()=>Promise.reject(new Error(n("image.serviceUnavailable")))),pending:!0,t:n,actions:r(s=>(0,i.jsx)(Lt,{text:s,clock:"start",className:R.actions,t:n}),"actions")})}r(wo,"PendingSteeringBubble");const Yn=(0,h.memo)(r(function({node:t,loadImage:n,t:s}){const o=t.data;return(0,i.jsx)(Hn,{content:o.content,imageLoader:n,t:s,actions:r(a=>(0,i.jsx)(Lt,{text:a,time:o.time,clock:"start",className:R.actions,t:s}),"actions")})},"UserMessageNodeView")),ko=(0,h.memo)(r(function({node:t,t:n}){const s=t.data;return(0,i.jsx)(ho,{content:s.content,source:s.source,provenance:s.provenance,form:s.form,t:n})},"ContextMessageNodeView")),_o=(0,h.memo)(r(function({node:t,t:n}){return(0,i.jsx)(Bn,{node:t.data,t:n})},"CompactionNodeView")),Ao=(0,h.memo)(r(function({node:t,t:n}){const s=t.data;return(0,i.jsx)(vo,{node:s.current,active:s.current.retryState==="scheduled",t:n})},"RetryNodeView")),So=(0,h.memo)(r(function({node:t,t:n}){return(0,i.jsx)(yo,{node:t.data,t:n})},"TurnErrorNodeView")),Co=(0,h.memo)(r(function({t}){return(0,i.jsx)(xo,{t})},"TurnMaxTokensNodeView")),jo=(0,h.memo)(r(function({node:t,t:n}){const s=t.data;return(0,i.jsx)("div",{className:R.contextRow,children:(0,i.jsx)(_.JsonBlock,{label:n("message.unknownSurface",{type:s.type}),payload:s.data,truncatedLabel:r(o=>n("json.truncated",{total:o}),"truncatedLabel")})})},"UnknownNodeView")),Io=".ylv09G_root{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.ylv09G_scroll{min-height:0;padding:16px calc(var(--dsh-composer-side-clearance) + 16px);flex:auto;overflow-y:auto}[data-conversation-scroll] .ylv09G_root{flex:none;height:auto;min-height:auto}[data-conversation-scroll] .ylv09G_scroll{flex:none;min-height:auto;overflow:visible}.ylv09G_column{max-width:var(--dsh-chat-content-width);flex-direction:column;gap:16px;width:100%;margin:0 auto;display:flex}.ylv09G_flowItem{min-width:0}.ylv09G_flowItem:empty{display:none}.ylv09G_callRow{border-radius:6px}.ylv09G_turnStatus{height:26px;font:var(--dsw-font-s-strong-14);white-space:nowrap;background:linear-gradient(90deg, var(--dsw-static-deepseek-500) 0%, var(--dsw-static-deepseek-500) 40%, var(--dsw-static-deepseek-200) 50%, var(--dsw-static-deepseek-500) 60%, var(--dsw-static-deepseek-500) 100%);color:#0000;-webkit-text-fill-color:transparent;background-position:100% 0;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;flex:none;align-self:flex-start;align-items:center;animation:1.8s linear infinite ylv09G_dsh-turn-status-shimmer;display:inline-flex}.ylv09G_turnStatusClock{font:var(--dsw-font-xs-13);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-caption);-webkit-text-fill-color:var(--dsw-alias-label-caption);margin-left:8px;font-weight:400}@keyframes ylv09G_dsh-turn-status-shimmer{to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.ylv09G_turnStatus{background-position:0 0;background-size:100% 100%;animation:none}}.ylv09G_hint{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.ylv09G_openError{color:var(--dsw-alias-state-error-primary);font-size:12px;line-height:18px}.ylv09G_older{justify-content:center;display:flex}.ylv09G_older button{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-interactive-bg-hover-solid);cursor:pointer;border:none;border-radius:14px;padding:4px 12px;font-size:12px}.ylv09G_older button:disabled{cursor:default;opacity:.6}.ylv09G_toBottomSlot{z-index:8;height:0;padding-right:max(0px, calc((100% - var(--dsh-chat-content-width)) / 2));pointer-events:none;justify-content:flex-end;display:flex;position:sticky;bottom:16px}[data-conversation-scroll] .ylv09G_toBottomSlot{bottom:calc(var(--dsh-composer-height,152px) + 16px)}.ylv09G_toBottom{border:1px solid var(--dsw-alias-border-l2);width:34px;height:34px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-button-floating-fill);box-shadow:var(--dsw-shadow-lv2);cursor:pointer;pointer-events:auto;border-radius:100px;justify-content:center;align-items:center;margin-top:-34px;padding:0;display:flex}.ylv09G_toBottom:hover{background:var(--dsw-alias-button-floating-hover)}",Qn="@deepseek-ai/dsh-client-ui-conversation/ChatView.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Qn)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Qn,e.textContent=Io,document.head.appendChild(e)}var ae={flowItem:"ylv09G_flowItem",column:"ylv09G_column","dsh-turn-status-shimmer":"ylv09G_dsh-turn-status-shimmer",scroll:"ylv09G_scroll",turnStatusClock:"ylv09G_turnStatusClock",hint:"ylv09G_hint",openError:"ylv09G_openError",older:"ylv09G_older",callRow:"ylv09G_callRow",turnStatus:"ylv09G_turnStatus",root:"ylv09G_root",toBottomSlot:"ylv09G_toBottomSlot",toBottom:"ylv09G_toBottom"};const No=(0,h.memo)(r(function({nodeKey:t,selectedCallId:n,cwd:s,openFile:o,inspectCall:a,forkAt:l,loadImage:c,fileMentions:d,useSession:u,renderSlot:m,t:f}){const k=u(w=>w.chat.nodes.get(t)),g=k,y=(0,h.useMemo)(()=>k===void 0?null:{selectedCallId:n,cwd:s,openFile:o,inspectCall:a,forkAt:l,loadImage:c,fileMentions:d},[k,n,s,o,a,l,c,d]);if(g===void 0||y===null)return null;const b={...y,node:g};return(0,i.jsx)("div",{className:ae.flowItem,"data-chat-anchor-key":g.key,"data-chat-flow-key":g.key,"data-chat-flow-kind":g.kind,children:m("conversation.chat.node",b,{entryKey:g.kind,hookContext:t,fallback:(0,i.jsx)(_.JsonBlock,{label:f("message.unknownSurface",{type:g.kind}),payload:g.data,truncatedLabel:r(w=>f("json.truncated",{total:w}),"truncatedLabel")})})})},"ChatNodeSeat"));function Pe(e){return e.closest("[data-conversation-scroll]")??e}r(Pe,"scrollerOf");function Zn(e,t){for(const n of e.querySelectorAll("[data-chat-anchor-key]"))if(n.dataset.chatAnchorKey===t)return n;return null}r(Zn,"anchorElement");function gt(e,t){return e.getBoundingClientRect().top-t.getBoundingClientRect().top}r(gt,"flowTop");function es(e,t){const n=t.getBoundingClientRect(),s=t.querySelector("[data-composer-seat]")?.getBoundingClientRect().top??n.bottom;if(typeof document.elementsFromPoint=="function"&&s>n.top){const a=e.getBoundingClientRect(),l=Math.max(n.left,a.left),c=Math.min(n.right,a.right),d=l+Math.max(0,c-l)/2,u=s-n.top,m=[1,Math.min(32,u/3),u/2,Math.max(1,u-1)];for(const f of m)for(const k of document.elementsFromPoint(d,n.top+f)){const g=k instanceof HTMLElement?k.closest("[data-chat-anchor-key]"):null;if(g!==null&&e.contains(g))return g}}const o=[...e.querySelectorAll("[data-chat-anchor-key]")];return o.filter(a=>{const l=a.getBoundingClientRect();return l.bottom>n.top&&l.top<s})[0]??o[0]??null}r(es,"pagingAnchor");function ts(e,t){const n=es(e,t),s=n?.dataset.chatAnchorKey;return n===null||s===void 0?null:{anchorKey:s,anchorTop:gt(n,t),scrollTop:t.scrollTop}}r(ts,"scrollPosition");function Eo(e){let t=null;for(const n of e.turns.values())n.status==="open"&&n.start!==void 0&&(t=n.start.time);return t}r(Eo,"runningTurnStartTime");function To({startTime:e,t}){const[n]=(0,h.useState)(()=>Date.now()),s=e??n,[o,a]=(0,h.useState)(()=>Math.max(0,Date.now()-s));(0,h.useEffect)(()=>{const c=r(()=>{a(Math.max(0,Date.now()-s))},"tick");c();const d=setInterval(c,1e3);return()=>{clearInterval(d)}},[s]);const l=o>=15e3;return(0,i.jsxs)("div",{className:ae.turnStatus,role:"status","aria-live":"polite",children:["Deep diving...",l&&(0,i.jsx)("span",{className:ae.turnStatusClock,"aria-hidden":!0,children:Sn(o,t)})]})}r(To,"TurnStatus");function qo({useSession:e,useSessions:t,useStore:n,renderSlot:s,sessionId:o,openFile:a,loadOlder:l,loadImage:c,inspectCall:d,chatScroll:u,forkAt:m,fileMentions:f,t:k}){const g=e(C=>C.chat.order),y=e(C=>C.chat.nodes),b=e(C=>C.chat.timeline),w=e(C=>C.queue),j=t(C=>C.byId[o]?.cwd),x=e(C=>C.running),A=e(C=>C.openState),S=e(C=>C.openError),z=e(C=>C.hasMore),ne=e(C=>C.loadingOlder),Ee=n(C=>C.selection?.callId),he=(0,h.useMemo)(()=>w.filter(C=>C.placement==="steering"),[w]),Xe=(0,h.useMemo)(()=>Eo(b),[b]),Z=(0,h.useRef)(null),We=(0,h.useRef)(null),be=(0,h.useRef)(!0),[L,Q]=(0,h.useState)(!0),fe=(0,h.useRef)(0),se=(0,h.useRef)(null),ee=(0,h.useRef)(null),Te=(0,h.useRef)(!1),pe=(0,h.useRef)(null),me=(0,h.useRef)(null),Ge=(0,h.useRef)(null),Ve=g[0],E=Ve===void 0?null:y.get(Ve)?.anchorSeq??null,G=g.at(-1)??null,de=G===null?void 0:y.get(G),we=he[he.length-1]?.id??null,ge=`${A}:${E}:${G}:${g.length}:${x?1:0}:${we??""}`,Le=r(C=>{se.current=null,C.scrollTop=C.scrollHeight,fe.current=C.scrollTop,be.current=!0,Q(!0),u.save(null)},"toBottom");(0,h.useLayoutEffect)(()=>{const C=Z.current;if(C===null)return;const q=Pe(C);if(A==="open"&&!Te.current){Te.current=!0;const K=u.read();if(K===null)Le(q);else{q.scrollTop=K.scrollTop;const Be=Zn(C,K.anchorKey);Be!==null&&(q.scrollTop+=gt(Be,q)-K.anchorTop),fe.current=q.scrollTop;const _e=q.scrollHeight-q.scrollTop-q.clientHeight<=25;be.current=_e,Q(_e);const Ye=_e?null:ts(C,q);_e?u.save(null):Ye!==null&&u.save(Ye)}ee.current=E,pe.current=G,me.current=we,Ge.current=ge;return}if(se.current!==null&&E!==null&&ee.current!==null&&E<ee.current){const K=se.current;se.current=null;const Be=Zn(C,K.key);Be!==null&&(q.scrollTop+=gt(Be,q)-K.top),fe.current=q.scrollTop,ee.current=E,pe.current=G,me.current=we,Ge.current=ge;return}ee.current=E;const J=G!==pe.current&&de?.kind==="user",ke=we!==null&&we!==me.current,F=Ge.current!==ge;pe.current=G,me.current=we,Ge.current=ge,(J||ke||F&&be.current)&&Le(q)});const bt=(0,h.useRef)(()=>{});bt.current=()=>{const C=Z.current;if(C===null)return;const q=Pe(C),J=Math.max(0,q.scrollHeight-q.clientHeight),ke=Math.abs(q.scrollTop-Math.min(fe.current,J))>.5,F=ke?J-q.scrollTop<=25:be.current;if(!ke&&F){Le(q);return}be.current=F,Q(F);const K=F?null:ts(C,q);F?se.current=null:se.current!==null&&K!==null&&(se.current={key:K.anchorKey,top:K.anchorTop}),F?u.save(null):K!==null&&u.save(K),fe.current=q.scrollTop},(0,h.useEffect)(()=>{const C=Z.current;if(C===null)return;const q=Pe(C),J=r(()=>{bt.current()},"onScroll");return q.addEventListener("scroll",J,{passive:!0}),()=>{q.removeEventListener("scroll",J)}},[]);const He=(0,h.useRef)(null);He.current=()=>{const C=Z.current;if(C!==null&&be.current){const q=Pe(C);q.scrollTop=q.scrollHeight,fe.current=q.scrollTop,u.save(null)}},(0,h.useEffect)(()=>{const C=We.current,q=Z.current;if(C===null||q===null||typeof ResizeObserver>"u")return;const J=Pe(q).querySelector("[data-composer-seat]"),ke=new ResizeObserver(()=>{He.current?.()});return ke.observe(C),J!==null&&ke.observe(J),()=>{ke.disconnect()}},[]),(0,h.useEffect)(()=>{ne||(se.current=null)},[ne]);const lt=r(()=>{const C=Z.current;if(C!==null){const q=Pe(C),J=es(C,q);J!==null&&J.dataset.chatAnchorKey!==void 0&&(se.current={key:J.dataset.chatAnchorKey,top:gt(J,q)})}l()},"loadOlderAnchored");return(0,i.jsx)("div",{className:ae.root,children:(0,i.jsxs)("div",{ref:Z,className:ae.scroll,children:[(0,i.jsxs)("div",{ref:We,className:ae.column,"data-chat-flow":"",children:[A==="loading"&&(0,i.jsx)("div",{className:ae.hint,children:k("chat.loadingHistory")}),A==="error"&&S!==null&&(0,i.jsx)("div",{className:ae.openError,children:k("chat.loadError",{message:S.message,code:S.code})}),z&&(0,i.jsx)("div",{className:ae.older,children:(0,i.jsx)("button",{type:"button",disabled:ne,onClick:lt,children:k(ne?"loading":"chat.loadOlder")})}),g.map(C=>(0,i.jsx)(No,{nodeKey:C,useSession:e,selectedCallId:Ee,cwd:j,openFile:a,inspectCall:d,forkAt:m,loadImage:c,fileMentions:f,renderSlot:s,t:k},C)),x&&(0,i.jsx)(To,{startTime:Xe,t:k}),he.map(C=>(0,i.jsx)(wo,{content:C.content,loadImage:c,t:k},C.id))]}),!L&&(0,i.jsx)("div",{className:ae.toBottomSlot,children:(0,i.jsx)("button",{type:"button",className:ae.toBottom,"aria-label":k("chat.toBottom"),onClick:r(()=>{const C=Z.current;C!==null&&Le(Pe(C))},"onClick"),children:(0,i.jsx)(_.IconChevronDownOutline14,{})})})]})})}r(qo,"ChatView");var Ro=class{static{r(this,"PendingApproval")}wait;constructor(e){this.wait=e}get key(){return this.wait.key}get toolName(){return this.wait.payload.toolName}get reason(){return this.wait.payload.reason}get callId(){return this.wait.payload.callId}async answer(e){const t=await this.wait.respond({ok:!0,value:{sessionId:this.wait.sessionId,approvalId:this.wait.payload.approvalId,outcome:e}});if(!t.accepted)throw new Error(`approval response rejected: ${t.reason}`)}};function ns(e){return e?.kind==="tool-call"?e:void 0}r(ns,"toolNode");function Mo(e,t){return ns(e.chat.nodes.get((0,B.conversationContextKey)("tool-call",t)))?.data.root}r(Mo,"rootToolCall");function Oo(e,t){const n=r(s=>{if(s.callId===t)return s;for(const o of s.subCalls){const a=n(o);if(a!==void 0)return a}},"visit");for(const s of e.chat.nodes.values()){const o=ns(s)?.data.root;if(o===void 0)continue;const a=n(o);if(a!==void 0)return a}}r(Oo,"findToolCall");const Wo=".XI9R9W_root{padding:8px calc(var(--dsh-composer-side-clearance) + 16px) 12px;flex-direction:column;align-items:center;display:flex}.XI9R9W_card{width:100%;max-width:var(--dsh-chat-content-width);border:1px solid var(--dsw-alias-state-warn-secondary);background:var(--dsw-specific-input-major);box-shadow:var(--dsw-shadow-lv2);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:20px;overflow:hidden}.XI9R9W_strip{background:var(--dsw-alias-state-warn-tertiary);color:var(--dsw-alias-state-warn-primary);align-items:center;gap:8px;padding:10px 16px;font-size:13px;line-height:18px;display:flex}.XI9R9W_dot{background:var(--dsw-alias-state-warn-primary);border-radius:50%;width:8px;height:8px}.XI9R9W_body{box-sizing:border-box;max-height:var(--dsh-composer-text-max-height);flex-direction:column;gap:6px;padding:12px 16px 0;display:flex;overflow-y:auto}.XI9R9W_headline{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:500;line-height:24px}.XI9R9W_command{color:var(--dsw-alias-label-tertiary);font-family:var(--ds-font-family-code);word-break:break-all;font-size:13px;line-height:20px}.XI9R9W_actionRow{justify-content:flex-end;gap:8px;padding:14px 16px;display:flex}.XI9R9W_reject:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary);border-color:#0000}",ss="@deepseek-ai/dsh-client-ui-conversation/ApprovalPanel.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(ss)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=ss,e.textContent=Wo,document.head.appendChild(e)}var Ie={headline:"XI9R9W_headline",reject:"XI9R9W_reject",actionRow:"XI9R9W_actionRow",command:"XI9R9W_command",body:"XI9R9W_body",root:"XI9R9W_root",card:"XI9R9W_card",strip:"XI9R9W_strip",dot:"XI9R9W_dot"};function Go(e){if(e!==void 0)try{const t=JSON.parse(e.argsRaw);return typeof t.command=="string"?t.command:void 0}catch{return}}r(Go,"commandOf");function Lo(e){const t=(0,h.useMemo)(()=>new Ro(e.matched),[e.matched]),n=e.useSession(s=>{if(t.callId===void 0)return;const o=Mo(s,t.callId);if(o!==void 0)return o.callId===t.callId&&!("kind"in o)?Go(o):void 0});return(0,i.jsx)(Bo,{pending:t,t:e.t,...n===void 0?{}:{command:n}},t.key)}r(Lo,"ApprovalPanel");function Bo({pending:e,command:t,t:n}){const[s,o]=(0,h.useState)(!1),a=r(l=>{o(!0),e.answer(l).catch(()=>{o(!1)})},"answer");return(0,i.jsx)("div",{className:Ie.root,"data-approval-key":e.key,children:(0,i.jsxs)("div",{className:Ie.card,children:[(0,i.jsxs)("div",{className:Ie.strip,children:[(0,i.jsx)("span",{className:Ie.dot}),n("approval.waiting")]}),(0,i.jsxs)("div",{className:Ie.body,"data-approval-scroll":"",tabIndex:0,role:"group","aria-label":n("approval.detail.aria"),children:[(0,i.jsx)("div",{className:Ie.headline,children:e.reason??n("approval.escalation",{toolName:e.toolName})}),t!==void 0&&(0,i.jsx)("div",{className:Ie.command,children:t})]}),(0,i.jsxs)("div",{className:Ie.actionRow,children:[(0,i.jsx)(_.Button,{variant:"outline",className:Ie.reject,disabled:s,onClick:r(()=>{a("rejected")},"onClick"),children:n("approval.reject")}),(0,i.jsx)(_.Button,{variant:"primary",disabled:s,onClick:r(()=>{a("allowed-once")},"onClick"),children:n("approval.allowOnce")})]})]})})}r(Bo,"ApprovalFlow");const U="conversation",rs="描述你的任务以生成计划",os="describe your task to generate plan",Do={"view.chat":"对话","hint.plan":rs,"hint.goal":"输入目标,智能体将持续执行","hint.goal.active":"当前目标进行中。可输入 edit 修改 / pause 暂停 / resume 继续 / clear 清除","placeholder.plan":rs,"placeholder.default":"给智能体发消息","placeholder.unavailable":"会话不可用","placeholder.parentOffline":"父会话已离线,无法继续发送;仍可停止当前运行","placeholder.hero":"描述你想要构建的内容","placeholder.workspace":"选择一个工作区开始","input.commands":"命令","input.stop":"停止生成","input.send":"发送消息","placeholder.steerQueue":"Cmd/Ctrl+Enter 插话发送全部排队消息","input.accessMode":"访问模式,当前:{name}","image.dropTitle":"图片拖动到此处即可添加","image.dropDesc":"最多 {count} 张,每张 {size}","image.dropBlocked":"当前无法添加图片","image.pending":"待发送图片","image.openOriginal":"查看原图","image.openOriginalLabel":"{label},点击查看原图","image.remove":"移除图片 {name}","image.scrollLeft":"向左滚动图片","image.scrollRight":"向右滚动图片","image.original":"原图","image.label":"图片","image.loadFailed":"图片加载失败,点击重试","image.loading":"图片加载中…","image.preview":"原图预览","image.closePreview":"关闭原图预览","image.serviceUnavailable":"图片读取服务不可用","image.unsupportedType":"仅支持 PNG、JPG、WebP、GIF 格式的图片","image.tooMany":"一条消息最多添加 {count} 张图片","image.fileTooLarge":"单张图片不能超过 {size}","image.totalTooLarge":"图片总大小超过 {size},请移除部分图片","image.tooManyPixels":"图片分辨率过大,请压缩后重试","image.modelUnsupported":"当前模型不支持图片,请切换支持图片的模型","image.subagentUnsupported":"子智能体会话暂不支持图片","image.sendFailed":"图片发送失败({reason}),请重新添加图片后再试","context.aria":"上下文已用 {percent}","context.used":"上下文已用","context.system":"系统提示词","context.tools":"工具","context.messages":"对话消息","stats.counts":"{turns} 轮 · {steps} 步","stats.llm":"LLM {duration}","stats.toolCall":"工具调用 {duration}","stats.ttftAverage":"首 token 平均 {duration}","stats.tokensPerSecond":"{throughput} tok/s","stats.cacheHit":"缓存命中 {percent}%","stats.tokens":"输入 {input} tok · 输出 {output} tok","settings.enter.title":"繁忙时 Enter 键行为","settings.enter.description":"仅在智能体运行时生效;Cmd/Ctrl+Enter 使用另一行为","settings.enter.queue":"排队发送","settings.enter.steer":"插话发送","access.confirm.title":"确认启用 Full access?","access.confirm.description":"启用 Full access 后,agent 将减少确认步骤,并且可以直接执行更多操作,包括敏感操作、文件修改或外部命令。仅建议在你信任当前任务时使用。","access.confirm.acknowledge":"我已了解风险,并愿意继续","access.confirm.cancel":"取消","access.confirm.enable":"启用 Full access","hero.headline":"探索未至之境","hero.preview":"预览版","hero.chooseWorkspace":"选择工作区","session.hierarchy":"会话层级","details.title":"详情","details.close":"关闭详情","details.empty":"点击消息流中的工具行查看详情","details.notInWindow":"该调用不在当前窗口内","details.input":"输入","details.output":"输出","details.running":"运行中…","todo.title":"任务","todo.progress.done":"{done} 已完成","todo.progress.active":"{active} 进行中","todo.progress.pending":"{pending} 待处理","todo.rowTitle":"更新任务清单","todo.completed":"{done}/{total} 已完成","chat.loadingHistory":"载入历史…","chat.loadError":"历史加载失败:{message}({code})","chat.loadOlder":"加载更早","chat.toBottom":"回到底部","message.extraBlock":"附加内容块","message.contextInjection":"上下文注入","message.contextRecall":"跨会话召回","message.context.instructions.loaded":"已载入","message.context.instructions.added":"已新增","message.context.instructions.updated":"已更新","message.context.instructions.removed":"已移除","message.context.catalog.replaced":"替换目录","message.context.catalog.more":"…还有 {count} 条","message.context.snapshot.supersedes":"取代先前的快照","message.context.relay.from":"来自会话 {session}","message.context.recall.counts":"保留 {retained} 条 · 省略 {omitted} 条","message.context.recall.truncated":"已截断","message.compaction":"上下文已压缩","message.compaction.running":"正在压缩…","message.compaction.completed":"已压缩 {items} 条历史记录(约 {tokens} tokens)","message.compaction.expand":"点击查看压缩摘要","message.compaction.unavailable":"压缩摘要不可用","message.unknownSurface":"未知 surface 事件:{type}","message.unknownBlock":"未知内容块","message.stopped":"已停止","message.branch":"在新对话中分支","message.branchUnavailable":"仅可从已完成轮次的最后一条消息分支","message.retry.active":"正在重试模型请求","message.retry.cancelled":"模型请求重试已取消","message.retry.started":"已重试模型请求","message.retry.scheduled":"等待重试模型请求","message.retry.status":"{label}({retry}/{maximum}) · {seconds}s","message.retry.delay":"重试延迟:","message.retry.failure":"失败原因:","message.turnError":"本轮运行失败","message.maxTokens":"已达到输出 token 上限","message.maxTokens.hint":"回答被截断,已有输出保留在对话中。发送“继续”可让模型接着输出。","message.ranFor":"用时 {duration}","message.ttft":"首 token {seconds}秒","message.tokensPerSecond":"{tps} tok/s","duration.seconds":"{seconds}秒","duration.minutes":"{minutes}分{seconds}秒","command.running":"执行中…","command.failed":"命令失败","command.done":"已完成","command.title":"命令","approval.waiting":"等待审批","approval.detail.aria":"审批详情","approval.escalation":"工具 {toolName} 请求越权执行","approval.reject":"拒绝","approval.allowOnce":"允许一次","ask.rowTitle":"提问","ask.waiting":"等待回答","ask.cancelled":"已取消","ask.interrupted":"已中断","ask.answered":"{answered}/{total} 已回答","bash.running":"运行中","bash.failed":"失败","bash.stopped":"已停止","row.running":"运行中","row.failed":"失败","row.stopped":"已停止","queue.count":"{n} 条排队消息","queue.edit":"编辑排队消息","queue.edit.unsupported":"包含非文本内容,暂不支持编辑","queue.save":"保存排队消息","queue.cancelEdit":"取消编辑","queue.remove":"删除排队消息","queue.steer":"插话发送","queue.steer.unavailable":"仅运行中可插话发送","queue.editFailed":"编辑失败:这条消息可能已经开始发送。","queue.removeFailed":"删除失败:这条消息可能已经开始发送。","queue.steerFailed":"插话发送失败,请重试。","terminal.signal":"信号 {signal}","terminal.exitCode":"退出码 {code}","terminal.running":"运行中","terminal.failed":"失败","terminal.done":"已完成","terminal.noOutput":"无输出","terminal.collapseAria":"收起输出","terminal.expandAria":"展开其余 {n} 行输出","terminal.expandRest":"… 其余 {n} 行","json.truncated":"… 已截断,共 {total} 字符","clock.md":"{m}月{d}日","clock.ymd":"{y}年{m}月{d}日"},$o={"view.chat":"Chat","hint.plan":os,"hint.goal":"describe the objective for a long-running task","hint.goal.active":"goal active — edit / pause / resume / clear","placeholder.plan":os,"placeholder.default":"Message the agent","placeholder.unavailable":"Session unavailable","placeholder.parentOffline":"Parent session offline; sending is unavailable but you can still stop the run","placeholder.hero":"Describe what you want to build","placeholder.workspace":"Choose a workspace to start","input.commands":"Commands","input.stop":"Stop generating","input.send":"Send message","placeholder.steerQueue":"Cmd/Ctrl+Enter steers all queued messages","input.accessMode":"Access mode, current: {name}","image.dropTitle":"Drag images here to add them","image.dropDesc":"Up to {count} images, {size} each","image.dropBlocked":"Images cannot be added right now","image.pending":"Pending images","image.openOriginal":"View original","image.openOriginalLabel":"{label}, click to view original","image.remove":"Remove image {name}","image.scrollLeft":"Scroll images left","image.scrollRight":"Scroll images right","image.original":"Original image","image.label":"Image","image.loadFailed":"Image failed to load; click to retry","image.loading":"Loading image…","image.preview":"Original image preview","image.closePreview":"Close original image preview","image.serviceUnavailable":"Image loading service unavailable","image.unsupportedType":"Only PNG, JPG, WebP, and GIF images are supported","image.tooMany":"A message can include up to {count} images","image.fileTooLarge":"Each image must be smaller than {size}","image.totalTooLarge":"Images exceed {size} in total; remove some and try again","image.tooManyPixels":"Image resolution is too high; compress it and try again","image.modelUnsupported":"The current model does not support images; switch to a model that does","image.subagentUnsupported":"Subagent sessions do not support images yet","image.sendFailed":"Sending images failed ({reason}); re-add them and try again","context.aria":"{percent} of context used","context.used":"of context used","context.system":"System prompt","context.tools":"Tools","context.messages":"Messages","stats.counts":"{turns} turns · {steps} steps","stats.llm":"LLM {duration}","stats.toolCall":"Tool call {duration}","stats.ttftAverage":"TTFT avg {duration}","stats.tokensPerSecond":"{throughput} tok/s","stats.cacheHit":"Cache hit {percent}%","stats.tokens":"Input {input} tok · Output {output} tok","settings.enter.title":"Enter behavior while busy","settings.enter.description":"Busy only; Cmd/Ctrl+Enter uses the other behavior","settings.enter.queue":"Queue","settings.enter.steer":"Steer","access.confirm.title":"Enable Full access?","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.","access.confirm.acknowledge":"I understand the risks and want to continue","access.confirm.cancel":"Cancel","access.confirm.enable":"Enable Full access","hero.headline":"Into the Unknown","hero.preview":"Preview","hero.chooseWorkspace":"Choose workspace","session.hierarchy":"Session hierarchy","details.title":"Details","details.close":"Close details","details.empty":"Click a tool row in the message flow to view its details","details.notInWindow":"This call is outside the current window","details.input":"Input","details.output":"Output","details.running":"Running…","todo.title":"To-dos","todo.progress.done":"{done} completed","todo.progress.active":"{active} in progress","todo.progress.pending":"{pending} pending","todo.rowTitle":"Update to-do list","todo.completed":"{done}/{total} completed","chat.loadingHistory":"Loading history…","chat.loadError":"Failed to load history: {message} ({code})","chat.loadOlder":"Load earlier","chat.toBottom":"Back to bottom","message.extraBlock":"Extra content block","message.contextInjection":"Context injection","message.contextRecall":"Session recall","message.context.instructions.loaded":"loaded","message.context.instructions.added":"added","message.context.instructions.updated":"updated","message.context.instructions.removed":"removed","message.context.catalog.replaced":"Replacement catalog","message.context.catalog.more":"… {count} more","message.context.snapshot.supersedes":"Supersedes earlier snapshots","message.context.relay.from":"From session {session}","message.context.recall.counts":"{retained} kept · {omitted} omitted","message.context.recall.truncated":"truncated","message.compaction":"Context compacted","message.compaction.running":"Compacting context…","message.compaction.completed":"Compacted {items} history items (~{tokens} tokens)","message.compaction.expand":"View compaction summary","message.compaction.unavailable":"Compaction summary unavailable","message.unknownSurface":"Unknown surface event: {type}","message.unknownBlock":"Unknown content block","message.stopped":"Stopped","message.branch":"Branch into a new conversation","message.branchUnavailable":"Available only on the last message of a completed turn","message.retry.active":"Retrying model request","message.retry.cancelled":"Model request retry cancelled","message.retry.started":"Retried model request","message.retry.scheduled":"Waiting to retry model request","message.retry.status":"{label} ({retry}/{maximum}) · {seconds}s","message.retry.delay":"Retry delay: ","message.retry.failure":"Failure reason: ","message.turnError":"This turn failed","message.maxTokens":"Output token limit reached","message.maxTokens.hint":'The reply was cut off; earlier output is preserved in the conversation. Send "continue" to let the model resume.',"message.ranFor":"Ran for {duration}","message.ttft":"TTFT {seconds}s","message.tokensPerSecond":"{tps} tok/s","duration.seconds":"{seconds}s","duration.minutes":"{minutes}m {seconds}s","command.running":"Running…","command.failed":"Command failed","command.done":"Completed","command.title":"Command","approval.waiting":"Waiting for approval","approval.detail.aria":"Approval details","approval.escalation":"Tool {toolName} requests privileged execution","approval.reject":"Reject","approval.allowOnce":"Allow once","ask.rowTitle":"Ask question","ask.waiting":"waiting","ask.cancelled":"cancelled","ask.interrupted":"interrupted","ask.answered":"{answered}/{total} answered","bash.running":"Running","bash.failed":"Failed","bash.stopped":"Stopped","row.running":"Running","row.failed":"Failed","row.stopped":"Stopped","queue.count":"{n} queued messages","queue.edit":"Edit queued message","queue.edit.unsupported":"Contains non-text content; editing is not supported yet","queue.save":"Save queued message","queue.cancelEdit":"Cancel editing","queue.remove":"Remove queued message","queue.steer":"Steer queued message","queue.steer.unavailable":"Steering is available only while the agent is running","queue.editFailed":"Edit failed: this message may have already started sending.","queue.removeFailed":"Removal failed: this message may have already started sending.","queue.steerFailed":"Steering failed. Try again.","terminal.signal":"signal {signal}","terminal.exitCode":"exit code {code}","terminal.running":"Running","terminal.failed":"Failed","terminal.done":"Done","terminal.noOutput":"No output","terminal.collapseAria":"Collapse output","terminal.expandAria":"Expand the remaining {n} output lines","terminal.expandRest":"… {n} more lines","json.truncated":"… truncated, {total} characters total","clock.md":"{m}/{d}","clock.ymd":"{y}-{m}-{d}"},Uo=".MOxlRG_root{box-sizing:border-box;width:calc(100% - var(--dsh-composer-side-clearance) - var(--dsh-composer-side-clearance) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset));max-width:calc(var(--dsh-composer-card-max-width) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset));border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-specific-tip);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:12px;flex:none;margin:0 auto;overflow:hidden}.MOxlRG_body{flex-direction:column;gap:8px;padding:6px 12px;display:flex}.MOxlRG_header{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:0;display:flex}.MOxlRG_lead{color:var(--dsw-alias-label-tertiary);flex:none;place-items:center;display:grid}.MOxlRG_title{color:var(--dsw-alias-label-primary);flex:none;font-size:13px;font-weight:500;line-height:24px}.MOxlRG_progress{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:13px;font-weight:400;line-height:20px;overflow:hidden}.MOxlRG_chevron{color:var(--dsw-alias-label-tertiary);flex:none;place-items:center;display:grid}.MOxlRG_list{flex-direction:column;gap:8px;max-height:180px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.MOxlRG_item{min-width:0;color:var(--dsw-alias-label-secondary);align-items:center;gap:10px;font-size:13px;line-height:20px;display:flex}.MOxlRG_glyph{flex:none;place-items:center;width:16px;height:16px;display:grid}.MOxlRG_glyphCompleted{color:var(--dsw-alias-state-success-primary)}.MOxlRG_glyphPending{color:var(--dsw-alias-label-caption)}.MOxlRG_glyphProgress{color:var(--dsw-alias-state-business-primary);animation:1s linear infinite MOxlRG_todo-progress-spin}@keyframes MOxlRG_todo-progress-spin{to{transform:rotate(360deg)}}.MOxlRG_content{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}",is="@deepseek-ai/dsh-client-ui-conversation/TodoPanel.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(is)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=is,e.textContent=Uo,document.head.appendChild(e)}var te={list:"MOxlRG_list",glyph:"MOxlRG_glyph",glyphPending:"MOxlRG_glyphPending",glyphCompleted:"MOxlRG_glyphCompleted",item:"MOxlRG_item",content:"MOxlRG_content",progress:"MOxlRG_progress",body:"MOxlRG_body",title:"MOxlRG_title",header:"MOxlRG_header",glyphProgress:"MOxlRG_glyphProgress",root:"MOxlRG_root",chevron:"MOxlRG_chevron",lead:"MOxlRG_lead","todo-progress-spin":"MOxlRG_todo-progress-spin"};function Po(e){throw new Error(`unreachable todo status: ${String(e)}`)}r(Po,"assertNever");function zo(){return(0,i.jsxs)("svg",{width:14,height:14,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",className:te.glyphCompleted,children:[(0,i.jsx)("circle",{cx:"7",cy:"7",r:"6.4",stroke:"currentColor",strokeWidth:"1.2"}),(0,i.jsx)("path",{d:"M10.9631 5.71411L7.70154 8.97571C7.48011 9.19714 7.27736 9.40099 7.09229 9.54993C6.89742 9.70669 6.66314 9.85279 6.3634 9.90027C6.2049 9.92534 6.04339 9.92534 5.88489 9.90027C5.58515 9.85279 5.35087 9.70669 5.15601 9.54993C4.97093 9.40099 4.76818 9.19714 4.54675 8.97571L3.03516 7.46411L3.96313 6.53613L5.47473 8.04773C5.7169 8.28989 5.86196 8.43389 5.97888 8.52795C6.08597 8.61409 6.10875 8.60701 6.08997 8.604C6.11259 8.60758 6.13571 8.60758 6.15833 8.604C6.13954 8.60701 6.16232 8.61409 6.26941 8.52795C6.38633 8.43389 6.53139 8.28989 6.77356 8.04773L10.0352 4.78613L10.9631 5.71411Z",fill:"currentColor"})]})}r(zo,"CompletedGlyph");function Fo(){const e=(0,h.useId)();return(0,i.jsxs)("svg",{width:14,height:14,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",className:te.glyphProgress,children:[(0,i.jsx)("defs",{children:(0,i.jsxs)("linearGradient",{id:e,x1:"2.5",y1:"12",x2:"10.5",y2:"3.5",gradientUnits:"userSpaceOnUse",children:[(0,i.jsx)("stop",{stopColor:"currentColor"}),(0,i.jsx)("stop",{offset:"1",stopColor:"currentColor",stopOpacity:"0"})]})}),(0,i.jsx)("circle",{cx:"7",cy:"7",r:"6.4",stroke:`url(#${e})`,strokeWidth:"1.2"})]})}r(Fo,"ProgressGlyph");function Jo(){return(0,i.jsx)("svg",{width:14,height:14,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",className:te.glyphPending,children:(0,i.jsx)("circle",{cx:"7",cy:"7",r:"6.4",stroke:"currentColor",strokeWidth:"1.2",strokeDasharray:"2.4 2.4"})})}r(Jo,"PendingGlyph");function Ko({status:e}){switch(e){case"completed":return(0,i.jsx)(zo,{});case"in_progress":return(0,i.jsx)(Fo,{});case"pending":return(0,i.jsx)(Jo,{});default:return Po(e)}}r(Ko,"StatusGlyph");function Xo(e,t){const n=e.filter(a=>a.status==="completed").length,s=e.filter(a=>a.status==="in_progress").length,o=e.length-n-s;return[...n>0?[t("todo.progress.done",{done:n})]:[],...s>0?[t("todo.progress.active",{active:s})]:[],...o>0?[t("todo.progress.pending",{pending:o})]:[]].join(" · ")}r(Xo,"progressLabel");function Vo({todos:e,t}){const[n,s]=(0,h.useState)(!0);return e.length===0?null:(0,i.jsx)("section",{className:te.root,"data-testid":"todo-panel","aria-label":t("todo.title"),children:(0,i.jsxs)("div",{className:te.body,children:[(0,i.jsxs)("button",{type:"button",className:te.header,"aria-expanded":!n,onClick:r(()=>{s(o=>!o)},"onClick"),children:[(0,i.jsx)("span",{className:te.lead,"aria-hidden":!0,children:(0,i.jsx)(_.IconChecklistOutline14,{})}),(0,i.jsx)("span",{className:te.title,children:t("todo.title")}),(0,i.jsx)("span",{className:te.progress,children:Xo(e,t)}),(0,i.jsx)("span",{className:te.chevron,"aria-hidden":!0,children:n?(0,i.jsx)(_.IconChevronUpOutline14,{}):(0,i.jsx)(_.IconChevronDownOutline14,{})})]}),!n&&(0,i.jsx)("ul",{className:te.list,children:e.map(o=>(0,i.jsxs)("li",{className:te.item,"data-status":o.status,children:[(0,i.jsx)("span",{className:te.glyph,"aria-hidden":!0,children:(0,i.jsx)(Ko,{status:o.status})}),(0,i.jsx)("span",{className:te.content,children:o.content})]},o.content))})]})})}r(Vo,"TodoPanel");function Ho({useProjection:e,t}){const n=e("todos");return(0,i.jsx)(Vo,{todos:n??[],t})}r(Ho,"TodoDock");const Yo={name:"conversation-todo-dock",inject:["slots"],apply(e){e.slots.inject("conversation.input.dock",()=>e.slots.register({name:"conversation.input.dock",id:"todo",order:0,locale:U},Ho))}},Qo='.SIggOG_dock{box-sizing:border-box;width:calc(100% - var(--dsh-composer-side-clearance) - var(--dsh-composer-side-clearance) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset));max-width:calc(var(--dsh-composer-card-max-width) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset));margin:0 auto calc(0px - var(--dsh-composer-stack-gap) - 3px);padding:0 var(--dsh-composer-dock-inset);flex:none}.SIggOG_panel{background:var(--dsw-specific-tip);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:12px 12px 0 0;width:100%;padding:2px 0;position:relative;overflow:hidden}.SIggOG_panel:after{border:1px solid var(--dsw-alias-border-l1);border-radius:inherit;content:"";pointer-events:none;border-bottom:none;position:absolute;inset:0}.SIggOG_header{box-sizing:border-box;width:100%;height:36px;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:4px 12px;display:flex}.SIggOG_header:focus-visible{outline:2px solid var(--dsw-alias-label-tertiary);outline-offset:-2px}.SIggOG_header:disabled{cursor:default}.SIggOG_lead{color:var(--dsw-alias-label-tertiary);flex:none;place-items:center;display:grid}.SIggOG_count{min-width:0;font-family:Inter, var(--dsw-font-family);flex:auto;font-size:13px;font-weight:500;line-height:24px}.SIggOG_chevron{width:14px;height:14px;color:var(--dsw-alias-label-tertiary);flex:none;place-items:center;display:grid}.SIggOG_list{max-height:180px;margin:0;padding:0;list-style:none;overflow-y:auto}.SIggOG_row{box-sizing:border-box;border-radius:8px;align-items:center;gap:10px;width:100%;height:36px;padding:4px 5px 4px 12px;display:flex}.SIggOG_row+.SIggOG_row{box-shadow:inset 0 1px 0 var(--dsw-alias-border-l1)}.SIggOG_preview,.SIggOG_editor{min-width:0;font:var(--dsw-font-xs-13);font-family:Inter, var(--dsw-font-family);flex:auto}.SIggOG_preview{color:var(--dsw-alias-label-primary-dimmed);text-overflow:ellipsis;white-space:nowrap;word-break:break-word;overflow:hidden}.SIggOG_editor{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);height:28px;color:var(--dsw-alias-label-primary);border-radius:6px;outline:none;padding:0 8px}.SIggOG_editor:focus{border-color:var(--dsw-alias-state-business-primary)}.SIggOG_actions{flex:none;align-items:center;gap:10px;display:flex}.SIggOG_action{width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;place-items:center;padding:0;display:grid}.SIggOG_action:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.SIggOG_action:focus-visible{outline:2px solid var(--dsw-alias-label-tertiary);outline-offset:-2px}.SIggOG_action:disabled{cursor:default;opacity:.45}',as="@deepseek-ai/dsh-client-ui-conversation/QueueDock.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(as)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=as,e.textContent=Qo,document.head.appendChild(e)}var V={action:"SIggOG_action",dock:"SIggOG_dock",panel:"SIggOG_panel",header:"SIggOG_header",editor:"SIggOG_editor",row:"SIggOG_row",chevron:"SIggOG_chevron",count:"SIggOG_count",lead:"SIggOG_lead",list:"SIggOG_list",preview:"SIggOG_preview",actions:"SIggOG_actions"};function Zo({useSession:e,updateQueue:t,notify:n,t:s}){const o=e(S=>S.queue),a=(0,h.useMemo)(()=>o.filter(S=>S.placement==="queued"),[o]),l=e(S=>S.running),c=e(S=>S.subagent===null),[d,u]=(0,h.useState)(null),[m,f]=(0,h.useState)(null),[k,g]=(0,h.useState)(!0),y=(0,h.useId)();if((0,h.useEffect)(()=>{a.length===0&&!k&&g(!0),d!==null&&(!c||!a.some(S=>S.id===d.id))&&u(null)},[k,d,a,c]),a.length===0)return null;const b=c&&(d!==null||m!==null),w=!k||b,j=a.length===1||w,x=r(async(S,z,ne)=>{f(S);try{return await t(S,z),!0}catch{return n("error",ne),!1}finally{f(Ee=>Ee===S?null:Ee)}},"applyAction"),A=r(async()=>{d===null||d.text.trim()===""||await x(d.id,{kind:"edit",content:[{type:"text",text:d.text}]},s("queue.editFailed"))&&u(null)},"saveEdit");return(0,i.jsx)("div",{className:V.dock,"data-queue-dock":"",children:(0,i.jsxs)("div",{className:V.panel,children:[a.length>1&&(0,i.jsxs)("button",{type:"button",className:V.header,"aria-controls":y,"aria-expanded":w,disabled:b,onClick:r(()=>{g(S=>!S)},"onClick"),children:[(0,i.jsx)("span",{className:V.lead,"aria-hidden":!0,children:(0,i.jsx)(_.IconQueueOutline14,{})}),(0,i.jsx)("span",{className:V.count,children:s("queue.count",{n:a.length})}),(0,i.jsx)("span",{className:V.chevron,"aria-hidden":!0,children:w?(0,i.jsx)(_.IconChevronDownOutline14,{}):(0,i.jsx)(_.IconChevronUpOutline14,{})})]}),(0,i.jsx)("ul",{id:y,className:V.list,hidden:!j,children:j&&a.map(S=>(0,i.jsxs)("li",{className:V.row,children:[a.length===1&&(0,i.jsx)("span",{className:V.lead,"aria-hidden":!0,children:(0,i.jsx)(_.IconQueueOutline14,{})}),d?.id===S.id?(0,i.jsx)("input",{autoFocus:!0,className:V.editor,"aria-label":s("queue.edit"),value:d.text,onChange:r(z=>{u({id:S.id,text:z.currentTarget.value})},"onChange"),onKeyDown:r(z=>{if(z.key==="Escape"){u(null);return}z.key==="Enter"&&!z.nativeEvent.isComposing&&(z.preventDefault(),A())},"onKeyDown")}):(0,i.jsx)("span",{className:V.preview,children:S.preview}),c&&(0,i.jsx)("div",{className:V.actions,children:d?.id===S.id?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(_.Tooltip,{label:s("queue.save"),side:"bottom",delayMs:500,children:(0,i.jsx)("button",{type:"button",className:V.action,"aria-label":s("queue.save"),disabled:m!==null||d.text.trim()==="",onClick:r(()=>{A()},"onClick"),children:(0,i.jsx)(_.IconCheckOutline16,{size:14})})}),(0,i.jsx)(_.Tooltip,{label:s("queue.cancelEdit"),side:"bottom",delayMs:500,children:(0,i.jsx)("button",{type:"button",className:V.action,"aria-label":s("queue.cancelEdit"),disabled:m!==null,onClick:r(()=>{u(null)},"onClick"),children:(0,i.jsx)(_.IconCloseOutline16,{size:14})})})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(_.Tooltip,{label:s("queue.edit"),side:"bottom",delayMs:500,disabled:S.text===null,children:(0,i.jsx)("button",{type:"button",className:V.action,"aria-label":s("queue.edit"),title:S.text===null?s("queue.edit.unsupported"):void 0,disabled:m!==null||S.text===null,onClick:r(()=>{S.text!==null&&u({id:S.id,text:S.text})},"onClick"),children:(0,i.jsx)(_.IconEditOutline16,{size:14})})}),(0,i.jsx)(_.Tooltip,{label:s("queue.remove"),side:"bottom",delayMs:500,children:(0,i.jsx)("button",{type:"button",className:V.action,"aria-label":s("queue.remove"),disabled:m!==null,onClick:r(()=>{x(S.id,{kind:"remove"},s("queue.removeFailed"))},"onClick"),children:(0,i.jsx)(_.IconTrashOutline16,{size:14})})}),(0,i.jsx)(_.Tooltip,{label:s("queue.steer"),side:"bottom",delayMs:500,disabled:!l,children:(0,i.jsx)("button",{type:"button",className:V.action,"aria-label":s("queue.steer"),title:l?void 0:s("queue.steer.unavailable"),disabled:m!==null||!l,onClick:r(()=>{x(S.id,{kind:"steer"},s("queue.steerFailed"))},"onClick"),children:(0,i.jsx)(_.IconSendOutline14,{})})})]})})]},S.id))})]})})}r(Zo,"QueueDock");const ei={name:"conversation-queue-dock",inject:["slots","conversation","sessions"],apply(e){e.slots.inject("conversation.input.dock",()=>e.slots.register({name:"conversation.input.dock",id:"queue",order:20,locale:U,inject:r(t=>{const n=e.sessions.scope(t);if(n===void 0)throw new Error(`queue dock: session "${t}" resolved no scope`);const s=n.get("conversation");if(s===void 0)throw new Error("queue dock: conversation service unavailable");return{updateQueue:r((o,a)=>s.updateQueue(o,a),"updateQueue"),notify:r((o,a)=>{s.input.for(n).notify(o,a)},"notify")}},"inject")},Zo))}},ti=".KYLh4G_root{justify-content:center;align-items:center;min-width:0;height:100%;padding:0 24px;display:flex}.KYLh4G_stack{width:100%;max-width:var(--dsh-composer-card-max-width);flex-direction:column;align-items:stretch;gap:12px;display:flex;overflow:visible}.KYLh4G_headline{color:var(--dsw-alias-label-primary);grid-template-columns:34px auto auto;justify-content:center;align-items:center;column-gap:10px;font-size:26px;font-weight:500;line-height:32px;display:grid}.KYLh4G_headlineText{grid-area:1/2}.KYLh4G_previewBadge{border:1px solid var(--dsw-alias-interactive-bg-hover);background:var(--dsw-alias-state-business-tertiary);color:var(--dsw-alias-label-primary-bluish);font-family:var(--ds-font-family-code);white-space:nowrap;border-radius:24px;grid-area:1/3;align-self:start;margin-top:2px;margin-left:-3px;padding:1px 7px 0;font-size:12px;font-weight:500;line-height:18px}.KYLh4G_fishHitbox{grid-area:1/1;justify-content:center;align-items:center;display:inline-flex}.KYLh4G_fish{color:var(--dsw-alias-label-primary);transform-origin:50% 60%}@keyframes KYLh4G_hero-fish-swim{0%,to{transform:translate(0)rotate(0)}35%{transform:translate(-1px,-1px)rotate(-5deg)}70%{transform:translate(1px)rotate(3deg)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.KYLh4G_fishHitbox:hover .KYLh4G_fish{animation:KYLh4G_hero-fish-swim var(--ds-transition-duration-slow) var(--ds-ease-in-out)}}.KYLh4G_body{flex-direction:column;gap:12px;min-width:0;display:flex;position:relative;overflow:visible}.KYLh4G_body>*{z-index:1;position:relative}.KYLh4G_body>.KYLh4G_workspaceRow{z-index:10;align-items:center;min-width:0;padding-left:8px;display:flex}.KYLh4G_workspace{max-width:min(100%,360px);min-height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;border-radius:16px;align-items:center;gap:4px;padding:0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}.KYLh4G_workspace:not(:disabled):hover,.KYLh4G_workspace[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover)}.KYLh4G_workspace:disabled{cursor:default}.KYLh4G_folder{color:var(--dsw-alias-label-primary);flex:none}.KYLh4G_workspaceLabel{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.KYLh4G_chevron{color:var(--dsw-alias-label-caption);flex:none}.KYLh4G_modalInput{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);width:100%;height:44px;color:var(--dsw-alias-label-primary);background:0 0;border-radius:22px;outline:none;padding:7px 14px;font-size:14px;font-weight:400;line-height:22px}.KYLh4G_modalInput::placeholder{color:var(--dsw-alias-label-caption)}.KYLh4G_modalInput:disabled{color:var(--dsw-alias-label-dimmed)}.KYLh4G_modalAction{min-width:72px}.KYLh4G_modalError{color:var(--dsw-alias-state-error-primary);margin-top:8px;font-size:12px;line-height:18px}",ls="@deepseek-ai/dsh-client-ui-conversation/HeroShell.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(ls)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=ls,e.textContent=ti,document.head.appendChild(e)}var le={workspaceLabel:"KYLh4G_workspaceLabel","hero-fish-swim":"KYLh4G_hero-fish-swim",modalAction:"KYLh4G_modalAction",previewBadge:"KYLh4G_previewBadge",fishHitbox:"KYLh4G_fishHitbox",headlineText:"KYLh4G_headlineText",body:"KYLh4G_body",chevron:"KYLh4G_chevron",modalError:"KYLh4G_modalError",fish:"KYLh4G_fish",folder:"KYLh4G_folder",modalInput:"KYLh4G_modalInput",workspaceRow:"KYLh4G_workspaceRow",stack:"KYLh4G_stack",workspace:"KYLh4G_workspace",headline:"KYLh4G_headline",root:"KYLh4G_root"};function ni(e){const t=(0,B.workspaceTitleOf)(e);return t!==""?t:e}r(ni,"workspaceLabel");function si({buttonRef:e,label:t,menuOpen:n=!1,onClick:s,t:o}){return(0,i.jsxs)("button",{ref:e,type:"button",className:le.workspace,"aria-label":o("hero.chooseWorkspace"),"aria-haspopup":"menu","aria-expanded":n,onClick:s,children:[t===void 0?(0,i.jsx)(_.IconFolderClose16,{className:le.folder,size:16}):(0,i.jsx)(_.IconFolderOpen16,{className:le.folder,size:16}),(0,i.jsx)("span",{className:le.workspaceLabel,children:t??o("hero.chooseWorkspace")}),(0,i.jsx)(_.IconChevronDownOutline14,{className:le.chevron,size:12})]})}r(si,"WorkspaceChip");function ri({className:e}){const t=`empty-glow-${(0,h.useId)().replace(/:/g,"")}`;return(0,i.jsxs)("svg",{className:e,viewBox:"0 0 1051 468",fill:"none","aria-hidden":"true",children:[(0,i.jsx)("defs",{children:(0,i.jsxs)("filter",{id:t,x:"0",y:"0",width:"1051",height:"468",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[(0,i.jsx)("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),(0,i.jsx)("feBlend",{mode:"normal",in:"SourceGraphic",in2:"BackgroundImageFix",result:"shape"}),(0,i.jsx)("feGaussianBlur",{stdDeviation:"50",result:"effect1_foregroundBlur"})]})}),(0,i.jsx)("g",{filter:`url(#${t})`,children:(0,i.jsx)("ellipse",{cx:"525.5",cy:"234",rx:"425.5",ry:"134",fill:"#6187D8",fillOpacity:"0.08"})})]})}r(ri,"HeroGlow");function oi({t:e,children:t}){return(0,i.jsxs)("div",{className:le.root,children:[(0,i.jsxs)("div",{className:le.stack,children:[(0,i.jsxs)("div",{className:le.headline,children:[(0,i.jsx)("span",{className:le.fishHitbox,children:(0,i.jsx)(_.FishLogo,{size:34,className:le.fish})}),(0,i.jsx)("span",{className:le.headlineText,children:e("hero.headline")}),(0,i.jsx)("span",{className:le.previewBadge,children:e("hero.preview")})]}),(0,i.jsx)("div",{className:le.body})]}),t]})}r(oi,"HeroShell");const ii='._9N7-fW_root{background:var(--dsw-alias-bg-base);--dsh-chat-content-width:748px;--dsh-composer-card-max-width:calc(var(--dsh-chat-content-width) + 32px);--dsh-composer-side-clearance:16px;--dsh-composer-dock-inset:8px;flex-direction:column;min-width:0;height:100%;display:flex}._9N7-fW_header{border-bottom:1px solid #0000;flex:none;padding:12px 28px 0 20px;position:relative}._9N7-fW_header:after{content:"";z-index:0;background:var(--dsw-alias-border-l2);pointer-events:none;height:1px;position:absolute;bottom:1px;left:0;right:0}._9N7-fW_headerHidden{display:none}._9N7-fW_titleRow{align-items:center;gap:0;min-height:32px;display:flex}._9N7-fW_titleCluster{flex:1;align-items:center;gap:10px;min-width:0;display:flex}._9N7-fW_crumbs{white-space:nowrap;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}._9N7-fW_crumbSeg{align-items:center;gap:4px;min-width:0;display:inline-flex}._9N7-fW_crumbSep{color:var(--dsw-alias-label-caption);font-size:14px;line-height:20px}._9N7-fW_crumb{max-width:220px;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:12px;padding:4px 8px;font-size:14px;line-height:20px;overflow:hidden}._9N7-fW_crumb:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}._9N7-fW_crumbCurrent{color:var(--dsw-alias-label-primary);cursor:default;font-weight:500}._9N7-fW_headerActions{flex:none;align-items:center;gap:8px;display:flex}._9N7-fW_headerUtilities{flex:none;align-items:center;gap:8px;margin-left:20px;display:flex}._9N7-fW_headerUtilities:empty{display:none}._9N7-fW_tabs{z-index:1;gap:36px;margin-top:4px;padding-left:8px;display:flex;position:relative}._9N7-fW_tab{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;padding:0 0 11px;font-size:13px;font-weight:500;line-height:16px;position:relative}._9N7-fW_tab:after{content:"";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}._9N7-fW_tabActive{color:var(--dsw-alias-state-business-primary)}._9N7-fW_tabActive:after{background:var(--dsw-alias-state-business-primary)}._9N7-fW_viewArea{flex-direction:column;flex:1;min-height:0;display:flex}._9N7-fW_composerStack{--dsh-composer-stack-gap:6px;gap:var(--dsh-composer-stack-gap);flex-direction:column;display:flex}._9N7-fW_composerSeat{--dsh-composer-text-max-height:336px;flex-direction:column;flex:none;display:flex}._9N7-fW_root[data-phase=active]{overflow:hidden}._9N7-fW_root[data-phase=active] ._9N7-fW_header{flex:none}._9N7-fW_scrollBody{scrollbar-gutter:stable;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}._9N7-fW_root[data-phase=active] ._9N7-fW_viewArea{flex:1 0 auto;min-height:auto}._9N7-fW_root[data-phase=active] ._9N7-fW_composerSeat{z-index:7;background:linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-bg-base) 0%, transparent) 0px, var(--dsw-alias-bg-base) 36px);position:sticky;bottom:0}._9N7-fW_scrollBody:has([data-conversation-composer-overlay]){scrollbar-gutter:auto;position:relative;overflow:hidden auto}._9N7-fW_scrollBody:has([data-conversation-composer-overlay])>[data-slot=conversation\\.session]>._9N7-fW_viewArea{flex:1 1 0;min-height:0;overflow:hidden}._9N7-fW_scrollBody:has([data-conversation-composer-overlay])>._9N7-fW_composerSeat{right:var(--dsh-scrollbar-width);position:absolute;bottom:0;left:0}._9N7-fW_composerHero{width:min(calc(var(--dsh-composer-card-max-width) + 2 * var(--dsh-composer-side-clearance)), 100%);z-index:1;align-self:center;gap:8px;padding-bottom:32px;position:relative}._9N7-fW_heroGlow{z-index:-1;aspect-ratio:1051/468;pointer-events:none;width:135.438%;position:absolute;bottom:92px;left:50%;transform:translate(-50%,50%)}._9N7-fW_heroWorkspaceRow{align-items:center;gap:2px;min-width:0;margin-top:4px;padding-left:20px;display:flex}._9N7-fW_root[data-phase=hero] ._9N7-fW_scrollBody{justify-content:center;overflow-y:auto}._9N7-fW_root[data-phase=settling] ._9N7-fW_composerSeat{visibility:hidden}',cs="@deepseek-ai/dsh-client-ui-conversation/ConversationRoot.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(cs)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=cs,e.textContent=ii,document.head.appendChild(e)}var P={crumbSeg:"_9N7-fW_crumbSeg",headerActions:"_9N7-fW_headerActions",crumbs:"_9N7-fW_crumbs",composerStack:"_9N7-fW_composerStack",tab:"_9N7-fW_tab",headerUtilities:"_9N7-fW_headerUtilities",header:"_9N7-fW_header",tabActive:"_9N7-fW_tabActive",titleCluster:"_9N7-fW_titleCluster",headerHidden:"_9N7-fW_headerHidden",composerHero:"_9N7-fW_composerHero",titleRow:"_9N7-fW_titleRow",crumb:"_9N7-fW_crumb",tabs:"_9N7-fW_tabs",crumbSep:"_9N7-fW_crumbSep",heroWorkspaceRow:"_9N7-fW_heroWorkspaceRow",composerSeat:"_9N7-fW_composerSeat",viewArea:"_9N7-fW_viewArea",scrollBody:"_9N7-fW_scrollBody",crumbCurrent:"_9N7-fW_crumbCurrent",heroGlow:"_9N7-fW_heroGlow",root:"_9N7-fW_root"};function ai({sessionId:e,useSession:t,useSessions:n,useWorkspaces:s,useInput:o,useComposerBlock:a,renderSlot:l,renderSlotChain:c,selectWorkspace:d,t:u}){const m=t(E=>E.openState),f=t(E=>E.composerPhase),k=t(E=>E.pending)??[],g=t(E=>E),y=o(E=>E),b=n(E=>e===void 0?void 0:E.byId[e]?.cwd),w=n(E=>e===void 0?void 0:E.byId[e]?.blank),j=s(E=>E),x=a(E=>E),[A,S]=(0,h.useState)(!1),[z,ne]=(0,h.useState)(),Ee=(0,h.useRef)(null),he=(0,h.useRef)(null),Xe=(0,h.useCallback)(E=>{he.current?.disconnect(),he.current=null;const G=E?.parentElement??null;E===null||G===null||(he.current=new ResizeObserver(()=>{G.style.setProperty("--dsh-composer-height",`${E.offsetHeight}px`)}),he.current.observe(E))},[]),Z=e===void 0?void 0:j.items.find(E=>E.sessionIds.includes(e)),We=j.items.find(E=>E.workspaceId===z);(0,h.useEffect)(()=>{z!==void 0&&(Z?.workspaceId===z||j.phase==="ready"&&We===void 0)&&ne(void 0)},[z,Z?.workspaceId,j.phase,We]);const be=e!==void 0&&f==="blank"&&m==="loading"&&w!==!0,L=e===void 0||f==="blank"&&(m==="open"||w===!0),Q=g===void 0||y===void 0?void 0:{session:g,input:y},fe=We?.title??(e===void 0?void 0:Z?.title??(j.phase==="ready"||b===void 0||b===""?void 0:ni(b))),se=(0,i.jsxs)("div",{className:P.heroWorkspaceRow,children:[(0,i.jsx)(si,{buttonRef:Ee,label:fe,menuOpen:A,onClick:r(()=>{S(E=>!E)},"onClick"),t:u}),l("conversation.hero.workspace",{open:A,anchorRef:Ee,selectedId:z??Z?.workspaceId,onPick:r(E=>{S(!1),ne(E),d(E).catch(()=>{ne(G=>G===E?void 0:G)})},"onPick"),onClose:r(()=>{S(!1)},"onClose")}),l("conversation.hero.agentPreset",{})]}),ee=e===void 0||L&&fe===void 0,Te=l("conversation.composer.bar",{variant:L?"hero":"composer",...ee?{disabled:!0,placeholder:u("placeholder.workspace"),workspacePickerOpen:A,onRequestWorkspace:r(()=>{S(!0)},"onRequestWorkspace")}:!ee&&x!==void 0?{blocked:x,placeholder:x.reason}:L?{placeholder:u("placeholder.hero")}:{},overlay:l("conversation.input.overlay",{}),leftItems:Q===void 0?null:l("conversation.input.left",Q),rightItems:Q===void 0?null:l("conversation.input.right",Q),footer:!L&&Q!==void 0?l("conversation.composer.dock",Q):null}),pe=(0,i.jsxs)("div",{className:je(P.composerStack,L&&P.composerHero),children:[L&&(0,i.jsx)(ri,{className:P.heroGlow}),L&&(0,i.jsx)(oi,{t:u}),L&&se,Q!==void 0&&l("conversation.input.dock",Q),Te]}),me=be?"settling":L?"hero":"active",Ge=c("conversation.composer",{interactions:k,session:g},{fallback:pe,overlay:!0}),Ve=(0,i.jsx)("div",{ref:Xe,className:P.composerSeat,"data-composer-seat":"",children:Ge});return(0,i.jsxs)("div",{className:P.root,"data-phase":me,children:[l("conversation.session.header",{}),(0,i.jsxs)("div",{className:P.scrollBody,"data-conversation-scroll":"",children:[l("conversation.session",{}),Ve]})]})}r(ai,"ConversationRoot");const ds="chat";function us(e,t){const n=t??ds;return e.find(s=>s.id===n)??e.find(s=>s.id===ds)}r(us,"resolveActiveView");function li(e,t){const n=[],s=new Set;let o=t;for(;o!==void 0&&!s.has(o);){s.add(o);const a=e.byId[o];if(a===void 0||(n.unshift({id:a.id,displayTitle:a.displayTitle}),a.origin!=="subagent"))break;o=a.parentId}return n}r(li,"deriveAncestry");function ci(e,t){return e.length===t.length&&e.every((n,s)=>{const o=t.at(s);return o!==void 0&&n.id===o.id&&n.displayTitle===o.displayTitle})}r(ci,"equalBreadcrumbs");function di({sessionId:e,useSession:t,useSessions:n,useStore:s,actions:o,renderSlot:a,views:l,open:c,t:d}){(0,h.useSyncExternalStore)(l.subscribe,l.version);const u=l.list(),m=us(u,s(y=>y.view)),f=n(y=>li(y,e),ci),k=t(y=>y.composerPhase),g=t(y=>y.blank)&&k==="blank";return(0,i.jsx)("header",{className:je(P.header,g&&P.headerHidden),"aria-hidden":g||void 0,children:!g&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:P.titleRow,children:[(0,i.jsxs)("div",{className:P.titleCluster,children:[(0,i.jsxs)("nav",{className:P.crumbs,"aria-label":d("session.hierarchy"),children:[f.map((y,b)=>{const w=b===f.length-1;return(0,i.jsxs)("span",{className:P.crumbSeg,children:[b>0&&(0,i.jsx)("span",{className:P.crumbSep,children:"/"}),(0,i.jsx)("button",{type:"button",className:je(P.crumb,w&&P.crumbCurrent),disabled:w,onClick:r(()=>{c(y.id)},"onClick"),children:y.displayTitle})]},y.id)}),f.length===0&&(0,i.jsx)("span",{className:P.crumbCurrent,children:e})]}),(0,i.jsx)("div",{className:P.headerActions,children:a("conversation.session.header.actions",{})})]}),(0,i.jsx)("div",{className:P.headerUtilities,children:a("conversation.session.header.utilities",{})})]}),u.length>1&&(0,i.jsx)("div",{className:P.tabs,role:"tablist",children:u.map(y=>(0,i.jsx)("button",{type:"button",role:"tab","aria-selected":y.id===m?.id,className:je(P.tab,y.id===m?.id&&P.tabActive),onClick:r(()=>{o.setView(y.id)},"onClick"),children:y.label},y.id))})]})})}r(di,"ConversationSessionHeader");function ui({sessionId:e,useSession:t,useInput:n,inputActions:s,useStore:o,actions:a,renderSlot:l,views:c,bindDraftMirror:d,releaseSessionImages:u}){(0,h.useSyncExternalStore)(c.subscribe,c.version);const m=us(c.list(),o(w=>w.view)),f=t(w=>w.composerPhase),k=t(w=>w.blank),g=n(w=>w),y=o(w=>w.draft),b=o(w=>w.inspect??null);return(0,h.useEffect)(()=>{g.draft===""&&y!==""&&s.setDraft(y);const w=d(a.setDraft);return()=>{w()}},[s]),(0,h.useEffect)(()=>()=>{u(e)},[u,e]),k&&f==="blank"?null:(0,i.jsx)("div",{className:P.viewArea,children:m!==void 0&&l("conversation.view",{inspect:b,onInspectDone:r(()=>{a.setInspect(null)},"onInspectDone")},{only:m.id})})}r(ui,"ConversationSession");const pi=".EKfR1W_root{border-left:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);flex-direction:column;min-width:0;height:100%;display:flex}.EKfR1W_header{border-bottom:1px solid var(--dsw-alias-border-l2);justify-content:space-between;align-items:center;gap:8px;padding:14px 12px 12px;display:flex}.EKfR1W_title{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;line-height:20px;overflow:hidden}.EKfR1W_close{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;place-items:center;display:grid}.EKfR1W_close:hover{background:var(--dsw-alias-interactive-bg-hover)}.EKfR1W_body{flex:1;min-height:0;padding:12px 16px;overflow-y:auto}.EKfR1W_empty{color:var(--dsw-alias-label-tertiary);padding:8px 0;font-size:13px;line-height:20px}.EKfR1W_section{margin-bottom:16px}.EKfR1W_sectionLabel{color:var(--dsw-alias-label-secondary);margin-bottom:6px;font-size:12px;font-weight:500;line-height:18px}.EKfR1W_code{background:var(--dsw-alias-markdown-code-block);font-family:var(--ds-font-family-code);color:var(--dsw-alias-label-primary);white-space:pre-wrap;word-break:break-word;border-radius:12px;margin:0;padding:16px;font-size:13px;line-height:22px}.EKfR1W_code[data-error]{color:var(--dsw-alias-state-error-primary)}",ps="@deepseek-ai/dsh-client-ui-conversation/DetailsPanel.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(ps)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=ps,e.textContent=pi,document.head.appendChild(e)}var ce={section:"EKfR1W_section",title:"EKfR1W_title",header:"EKfR1W_header",code:"EKfR1W_code",sectionLabel:"EKfR1W_sectionLabel",body:"EKfR1W_body",close:"EKfR1W_close",empty:"EKfR1W_empty",root:"EKfR1W_root"};function hi(e,t){return{name:e.call?.name??t,argsRaw:e.call?.argsRaw??null,block:e}}r(hi,"settledMaterial");function fi(e){return{name:e.name,argsRaw:e.argsRaw,block:e}}r(fi,"runningMaterial");function mi(e,t){const n=Oo(e,t);return n===void 0?null:"kind"in n?hi(n,t):fi(n)}r(mi,"materialFor");function gi(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}r(gi,"pretty");function vi(e){if(!("kind"in e))return"";const t=e.content.map(n=>n.type==="text"?n.text:JSON.stringify(n,null,2));return t.length===0&&e.error!==void 0&&t.push(`${e.error.name}: ${e.error.code}`),t.join(`
|
|
5
|
+
`)}r(vi,"rawResultText");function yi({useSession:e,useSessions:t,sessionId:n,useStore:s,renderSlot:o,closeDetails:a,t:l}){const c=s(f=>f.selection),d=t(f=>f.byId[n]?.cwd),u=c?.callId,m=e(f=>u===void 0?null:mi(f,u),(f,k)=>(0,B.shallowEqual)(f,k));return(0,i.jsxs)("div",{className:ce.root,children:[(0,i.jsxs)("div",{className:ce.header,children:[(0,i.jsx)("div",{className:ce.title,children:c===null?l("details.title"):m?.name??c.toolName??l("details.title")}),(0,i.jsx)("button",{type:"button",className:ce.close,"aria-label":l("details.close"),onClick:r(()=>{a()},"onClick"),children:(0,i.jsx)("svg",{viewBox:"0 0 16 16",width:"14",height:"14","aria-hidden":!0,children:(0,i.jsx)("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}),(0,i.jsx)("div",{className:ce.body,children:c===null||u===void 0?(0,i.jsx)("div",{className:ce.empty,children:l("details.empty")}):m===null?(0,i.jsx)("div",{className:ce.empty,children:l("details.notInWindow")}):(0,i.jsxs)(i.Fragment,{children:[m.argsRaw!==null&&(0,i.jsxs)("section",{className:ce.section,children:[(0,i.jsx)("div",{className:ce.sectionLabel,children:l("details.input")}),(0,i.jsx)(_.CodeBlock,{code:gi(m.argsRaw),lang:"json",copyLabel:l("copy"),copiedLabel:l("copied")})]}),(0,i.jsxs)("section",{className:ce.section,children:[(0,i.jsx)("div",{className:ce.sectionLabel,children:l("details.output")}),(0,i.jsx)(h.Fragment,{children:o("conversation.details.tool",{block:m.block,cwd:d},{fallback:"kind"in m.block?(0,i.jsx)("pre",{className:ce.code,"data-error":m.block.isError||void 0,children:vi(m.block)}):(0,i.jsx)("div",{className:ce.empty,children:l("details.running")})})},u)]})]})})]})}r(yi,"DetailsPanel");const it={interruptedAssistant:-.9,interruptedFollowup:-.8,maxTokensNotice:.05,finalizedFollowup:.1};function xi(e){return e.start?.location??e.matches[0]?.location??{kind:"unresolved"}}r(xi,"contextLocation");function ue(e,t,n,s,o={}){return{key:e.key,kind:t,id:e.id,target:"chat",anchorSeq:n,location:o.location??xi(e),visibility:o.visibility??"visible",data:s}}r(ue,"chatNode");function vt(e,t){return{turn:e,step:t,blocks:[],firstVisibleSeq:void 0,firstVisibleTime:void 0,firstTokenTime:void 0,hidden:!1,final:void 0,usage:void 0}}r(vt,"initialState");function Bt(e){return e.filter(t=>t!==void 0)}r(Bt,"compactBlocks");function hs(e){return e.some(t=>t.kind==="tool-call"?!1:t.kind==="text"||t.kind==="reasoning"?t.text.trim()!=="":!0)}r(hs,"hasVisibleContent");function bi(e){return e.some(t=>t.kind==="text"||t.kind==="reasoning"?t.text.trim()!=="":!0)}r(bi,"hasInterruptionEvidence");function fs(e){return{...vt(e.turn,e.step),firstTokenTime:e.firstTokenTime,hidden:!0}}r(fs,"resetForRetry");function ms(e,t){if(t.event.type!=="assistant/chunk")return e;const n=t.event.data.chunk,s=[...e.blocks];switch(n.type){case"block-start":s[n.index]=(0,B.emptyAssistantBlock)(n.blockType);break;case"text-delta":{const l=s[n.index];s[n.index]={kind:"text",text:(l?.kind==="text"?l.text:"")+n.text};break}case"reasoning-delta":{const l=s[n.index];s[n.index]={kind:"reasoning",text:(l?.kind==="reasoning"?l.text:"")+n.text};break}case"tool-call-delta":{const l=s[n.index],c=l?.kind==="tool-call"?l:{kind:"tool-call",callId:"",name:"",argsRaw:""};s[n.index]={kind:"tool-call",callId:c.callId||String(n.id),name:n.name??c.name,argsRaw:c.argsRaw+n.argumentsDelta};break}case"block-end":s[n.index]=(0,B.toAssistantBlock)(n.block);break;case"usage":return{...e,usage:n.usage};default:return e}const o=hs(Bt(s)),a=(0,B.isTokenDelta)(n);return{...e,blocks:s,hidden:o?!1:e.hidden,...o&&e.firstVisibleSeq===void 0?{firstVisibleSeq:t.event.seq,firstVisibleTime:t.event.time}:{},...a&&e.firstTokenTime===void 0?{firstTokenTime:t.event.time}:{}}}r(ms,"updateChunk");function wi(e){if(e.kind==="step"&&e.step.status==="closed"&&e.step.end!==void 0)return e.step.end;if((e.kind==="step"||e.kind==="turn")&&e.turn.status==="closed"&&e.turn.end!==void 0)return e.turn.end}r(wi,"closedBoundary");function ki(e,t){const n=e.final;if(n?.event.type==="assistant/message"){const l=n.event;return{kind:"assistant",seq:l.seq,messageId:l.data.message.id,time:l.time,turn:e.turn,step:e.step,blocks:(0,B.toAssistantBlocks)(l.data.message.content),usage:l.data.usage,timing:{stepStartTime:t.start?.event.time??null,firstTokenTime:e.firstTokenTime??null,completedTime:l.time}}}const s=t.start?.location??t.matches.at(-1)?.location,o=s===void 0?void 0:wi(s),a=Bt(e.blocks);if(!(o===void 0||!bi(a)))return{kind:"assistant",seq:o.seq+it.interruptedAssistant,time:o.time,turn:e.turn,step:e.step,blocks:a,interrupted:!0}}r(ki,"finalNode");function gs(e){let t;for(const n of e.matches){if(n.event.type==="assistant/chunk"){t??=vt(n.event.data.turn,n.event.data.step),t=ms(t,n);continue}if(n.event.type==="assistant/message"){t??=vt(n.event.data.turn,n.event.data.step),t={...t,blocks:(0,B.toAssistantBlocks)(n.event.data.message.content),hidden:!1,final:n,usage:n.event.data.usage};continue}n.event.type==="llm/retry"&&t!==void 0&&(t=fs(t))}return t}r(gs,"fallbackState$4");function vs(e){const t=e.state??gs(e);if(t===void 0)return;const n=ki(t,e),s=n?.blocks??Bt(t.blocks),o=hs(s),a=n?.interrupted===!0?"interrupted":n===void 0?"running":"settled",l=n?.seq??t.firstVisibleSeq??e.matches[0]?.event.seq??0,c=n?.time??t.firstVisibleTime??e.matches[0]?.event.time??0;return{anchorSeq:l,visible:o,settled:n,data:{status:a,turn:t.turn,step:t.step,blocks:s,time:c,...t.usage===void 0?{}:{usage:t.usage},...n===void 0?{}:{finalNode:n}}}}r(vs,"projectAssistant");const _i={kind:"assistant-step",target:"chat",match:r(e=>e.type==="step/start"?{id:`${e.data.turn}:${e.data.step}`,role:"start"}:e.type==="assistant/chunk"||e.type==="assistant/message"&&(0,B.isAppendSurfaceEvent)(e)?{id:`${e.data.turn}:${e.data.step}`,role:"update"}:e.type==="llm/retry"?{id:`${e.data.turn}:${e.data.step}`,role:"update"}:null,"match"),start:r((e,t)=>{if(t.event.type!=="step/start")throw new Error("assistant-step start requires step/start");return vt(t.event.data.turn,t.event.data.step)},"start"),update:r((e,t)=>t.event.type==="assistant/chunk"?ms(e.state,t):t.event.type==="assistant/message"?{...e.state,blocks:(0,B.toAssistantBlocks)(t.event.data.message.content),hidden:!1,final:t,usage:t.event.data.usage}:t.event.type==="llm/retry"?fs(e.state):e.state,"update"),publication:r(e=>{if(e.event.type==="step/start")return"none";if(e.event.type!=="assistant/chunk")return"immediate";const t=e.event.data.chunk.type;return t==="usage"||t==="finish"?"none":"animation-frame"},"publication"),buildLocationData:r((e,t)=>{if(t!=="step")return null;const n=vs(e);return n===void 0?null:{kind:"step",turn:n.data.turn,step:n.data.step,key:"assistant-step",value:n.data}},"buildLocationData"),buildViewNode:r(e=>{const t=vs(e);if(t===void 0)return null;if(t.settled===void 0&&!t.visible){const n=e.state??gs(e);if(n===void 0)return null;const s=e.current.get("chat");if(!n.hidden||s===void 0||s===null)return null}return ue(e,"assistant-step",t.anchorSeq,t.data,{visibility:t.settled?.interrupted===!0||t.visible?"visible":"hidden"})},"buildViewNode")};function Ai(e){e.conversationEvents.register(_i)}r(Ai,"registerAssistantConversationNode");function Si(e){return"kind"in e}r(Si,"isSettledTool");function Ci(e){return!Si(e)}r(Ci,"isRunningTool");const at=[],ji=[],Ne=[];function Je(e,t){return e.length===t.length&&e.every((n,s)=>n===t[s])}r(Je,"sameReferences$1");var Ii=class{static{r(this,"MutableChatNodeStore")}byKey=new Map;valuesCache=Ne;valuesDirty=!1;get(e){return this.byKey.get(e)}values(){return this.valuesDirty&&(this.valuesCache=[...this.byKey.values()],this.valuesDirty=!1),this.valuesCache}replace(e){this.byKey.clear();for(const t of e)this.byKey.set(t.key,t);this.valuesCache=[...this.byKey.values()],this.valuesDirty=!1}upsert(e){let t=!1;for(const n of e)this.byKey.get(n.key)!==n&&(this.byKey.set(n.key,n),t=!0);t&&(this.valuesDirty=!0)}},Ni=class{static{r(this,"MutableChatLocationIndex")}turns=new Map;steps=new Map;getTurn(e){return this.turns.get(e)??at}getStep(e,t){return this.steps.get(Dt(e,t))??at}rebuild(e,t){const n=new Map,s=new Map;for(const o of e){const a=t.get(o)?.location;if(a===void 0)continue;const l=$t(a);if(l.turn===void 0)continue;const c=n.get(l.turn)??[];if(c.push(o),n.set(l.turn,c),l.step===void 0)continue;const d=Dt(l.turn,l.step),u=s.get(d)??[];u.push(o),s.set(d,u)}this.turns=ys(this.turns,n),this.steps=ys(this.steps,s)}touch(e){const t=new Set,n=new Set;for(const s of e){const o=$t(s.location);o.turn===void 0||!this.turns.get(o.turn)?.includes(s.key)||(t.add(o.turn),o.step!==void 0&&n.add(Dt(o.turn,o.step)))}for(const s of t){const o=this.turns.get(s);o!==void 0&&this.turns.set(s,[...o])}for(const s of n){const o=this.steps.get(s);o!==void 0&&this.steps.set(s,[...o])}}};function ys(e,t){const n=new Map,s=new Set([...e.keys(),...t.keys()]);for(const o of s){const a=e.get(o)??at,l=t.get(o)??at,c=Je(a,l)?a:l;l.length>0&&n.set(o,c)}return n}r(ys,"updateIndex");function Dt(e,t){return`${e}:${t}`}r(Dt,"stepKey");function $t(e){return e.kind==="step"?{turn:e.turn.turn,step:e.step.step}:e.kind==="turn"?{turn:e.turn.turn}:{}}r($t,"locationCoordinates");function xs(e){return e.filter(t=>t.visibility==="visible").sort((t,n)=>t.anchorSeq-n.anchorSeq||t.key.localeCompare(n.key))}r(xs,"orderedVisible");const yt={anchorSeq:0,nodes:Ne,partial:null,running:null};function bs(e){const t=e;if(e.visibility!=="visible"&&t.kind!=="assistant-step")return yt;switch(t.kind){case"user":case"steering":case"context":case"command":case"compaction":case"turn-error":case"turn-max-tokens":case"unknown":return{anchorSeq:t.anchorSeq,nodes:[t.data],partial:null,running:null};case"assistant-step":{const n=t.data;return n.status==="running"?e.visibility!=="visible"?yt:{anchorSeq:t.anchorSeq,nodes:Ne,partial:{turn:n.turn,step:n.step,blocks:n.blocks},running:null}:{anchorSeq:t.anchorSeq,nodes:n.finalNode===void 0?Ne:[n.finalNode],partial:null,running:null}}case"tool-call":{const n=t.data.root;return Ci(n)?{anchorSeq:t.anchorSeq,nodes:Ne,partial:null,running:n}:{anchorSeq:t.anchorSeq,nodes:[n],partial:null,running:null}}case"manual-compaction":{const n=t.data;return{anchorSeq:t.anchorSeq,nodes:n.compaction===null?[n.command]:[n.command,n.compaction],partial:null,running:null}}case"model-retry":return{anchorSeq:t.anchorSeq,nodes:t.data.attempts,partial:null,running:null};case"turn-tail":return yt;default:return yt}}r(bs,"legacyContribution");function Ei(e,t){return e!==void 0&&e.anchorSeq===t.anchorSeq&&e.partial?.blocks===t.partial?.blocks&&e.partial?.turn===t.partial?.turn&&e.partial?.step===t.partial?.step&&e.running===t.running&&Je(e.nodes,t.nodes)}r(Ei,"sameContribution");var Ti=class{static{r(this,"LegacySliceBuilder")}contributions=new Map;finalizedContributions=new Map;runningContributions=new Map;partialContributions=new Map;finalized=Ne;runningCalls=Ne;partial=null;timeline;turnTimings=new Map;turnEnds=new Map;replace(e,t){this.contributions.clear(),this.finalizedContributions.clear(),this.runningContributions.clear(),this.partialContributions.clear();for(const n of e){const s=bs(n);this.contributions.set(n.key,s),this.indexContribution(n.key,s)}return this.rebuildFinalized(),this.rebuildRunning(),this.rebuildPartial(),this.updateTimeline(t),this.snapshot()}apply(e,t){let n=!1,s=!1,o=!1;for(const a of e){const l=bs(a),c=this.contributions.get(a.key);Ei(c,l)||(n||=qi(c,l),s||=Ri(c,l),o||=Mi(c,l),this.contributions.set(a.key,l),this.indexContribution(a.key,l))}return n&&this.rebuildFinalized(),s&&this.rebuildRunning(),o&&this.rebuildPartial(),this.updateTimeline(t),this.snapshot()}indexContribution(e,t){Ut(this.finalizedContributions,e,t,t.nodes.length>0),Ut(this.runningContributions,e,t,t.running!==null),Ut(this.partialContributions,e,t,t.partial!==null)}rebuildFinalized(){const e=[...this.finalizedContributions.values()].flatMap(t=>t.nodes).sort((t,n)=>t.seq-n.seq);Je(this.finalized,e)||(this.finalized=e)}rebuildRunning(){const e=[...this.runningContributions.values()].sort((t,n)=>t.anchorSeq-n.anchorSeq).flatMap(t=>t.running===null?[]:[t.running]);Je(this.runningCalls,e)||(this.runningCalls=e)}rebuildPartial(){const e=[...this.partialContributions.values()].sort((t,n)=>t.anchorSeq-n.anchorSeq).findLast(t=>t.partial!==null)?.partial??null;(this.partial?.blocks!==e?.blocks||this.partial?.turn!==e?.turn||this.partial?.step!==e?.step)&&(this.partial=e)}updateTimeline(e){if(this.timeline===e)return;this.timeline=e;const t=new Map,n=new Map;for(const s of e.turns.values())s.start!==void 0&&t.set(s.turn,{startTime:s.start.time,...s.end===void 0?{}:{endTime:s.end.time}}),s.end!==void 0&&n.set(s.turn,s.end.seq);this.turnTimings=t,this.turnEnds=n}snapshot(){return{nodes:this.finalized,turnTimings:this.turnTimings,turnEnds:this.turnEnds,partial:this.partial,runningCalls:this.runningCalls}}};function Ut(e,t,n,s){s?e.set(t,n):e.delete(t)}r(Ut,"updateContributionIndex");function qi(e,t){const n=e?.nodes??Ne;return!Je(n,t.nodes)||(n.length>0||t.nodes.length>0)&&e?.anchorSeq!==t.anchorSeq}r(qi,"finalizedContributionChanged");function Ri(e,t){return e?.running!==t.running||(e.running!==null||t.running!==null)&&e.anchorSeq!==t.anchorSeq}r(Ri,"runningContributionChanged");function Mi(e,t){return e?.partial?.blocks!==t.partial?.blocks||e?.partial?.turn!==t.partial?.turn||e?.partial?.step!==t.partial?.step||((e?.partial??null)!==null||t.partial!==null)&&e?.anchorSeq!==t.anchorSeq}r(Mi,"partialContributionChanged");var Oi=class{static{r(this,"ChatSnapshotBuilder")}store=new Ii;locations=new Ni;legacy=new Ti;order=at;empty;constructor(){this.empty=this.snapshot({turnOrder:ji,turns:new Map})}replace(e){return this.store.replace(e.nodes),this.order=xs(e.nodes).map(t=>t.key),this.locations.rebuild(this.order,this.store),this.snapshot(e.timeline,this.legacy.replace(e.nodes,e.timeline))}apply(e){let t=!1;const n=[];for(const s of e.upserts){const o=this.store.get(s.key),a=o===void 0||o.anchorSeq!==s.anchorSeq||o.visibility!==s.visibility||ws(o.location)!==ws(s.location);t||=a,a||n.push(s)}if(this.store.upsert(e.upserts),t){const s=xs(this.store.values()).map(o=>o.key);this.order=Je(this.order,s)?this.order:s,this.locations.rebuild(this.order,this.store)}return this.locations.touch(n),this.snapshot(e.timeline,this.legacy.apply(e.upserts,e.timeline))}snapshot(e,t=this.legacy.replace(Ne,e)){return{order:this.order,nodes:this.store,locations:this.locations,timeline:e,legacy:t}}};function ws(e){const t=$t(e);return`${e.kind}:${t.turn??""}:${t.step??""}`}r(ws,"locationIdentity");const Wi={target:"chat",create:r(()=>new Oi,"create")};function Gi(e){e.conversationViews.register(Wi)}r(Gi,"registerChatConversationView");const Li="compact";function Bi(e){if(e.event.type!=="command/run")throw new Error("command start requires command/run");const t=e.event.data;return{kind:"command",seq:e.event.seq,time:e.event.time,commandId:t.commandId,name:t.name,args:t.args??null,outcome:null}}r(Bi,"commandFromRun");function xt(e,t){if(e.event.type!=="command/done")throw new Error("command update requires command/done");const n=e.event.data,s=n.kind==="success"&&n.sourceEventSeq!==void 0&&Number.isSafeInteger(n.sourceEventSeq)&&n.sourceEventSeq>=0?n.sourceEventSeq:void 0;return{kind:"command",seq:t?.seq??e.event.seq,time:t?.time??e.event.time,commandId:n.commandId,name:t?.name??null,args:t?.args??null,outcome:{kind:n.kind,...n.text===void 0?{}:{text:n.text},...s===void 0?{}:{sourceEventSeq:s}}}}r(xt,"commandFromDone");function Ke(e){if(e.type!=="user/message"||!(0,B.isReplacementSurfaceEvent)(e))return;const t=e.data.source;if(!(t.kind!=="plugin"||t.plugin!==Li||typeof t.compactionId!="string"))return{compactionId:t.compactionId,...t.sourceCommandId===void 0?{}:{sourceCommandId:t.sourceCommandId}}}r(Ke,"compactSource");function ks(e,t){let n=null,s=null,o=null;if(e?.event.type==="compaction/summary"){const a=e.event.data;if(Array.isArray(a.summary)){const l=a.summary.map(c=>c.type==="text"?c.text:"").join("");n=l.trim()===""?null:l}s=Array.isArray(a.shadowedSeqs)&&a.shadowedSeqs.every(l=>Number.isSafeInteger(l)&&l>=0)?a.shadowedSeqs.length:null,o=Number.isSafeInteger(a.shadowedTokenCount)&&a.shadowedTokenCount>=0?a.shadowedTokenCount:null}return{kind:"compaction",seq:t.event.seq,time:t.event.time,summary:n,summaryEventSeq:e?.event.seq??null,shadowedItemCount:s,shadowedTokenCount:o}}r(ks,"compactSummary");function Di(e){const t=e.matches.find(a=>a.event.type==="command/done"),n=e.matches.find(a=>Ke(a.event)!==void 0),s=e.matches.find(a=>a.event.type==="compaction/summary");if(n===void 0)return t===void 0?void 0:{command:xt(t)};const o=Ke(n.event);return o?.sourceCommandId===void 0?t===void 0?void 0:{command:xt(t)}:{command:t===void 0?{kind:"command",seq:n.event.seq,time:n.event.time,commandId:o.sourceCommandId,name:"compact",args:null,outcome:null}:{...xt(t),name:"compact"},checkpoint:n,...s===void 0?{}:{summary:s}}}r(Di,"fallbackState$3");function _s(e,t){return t.event.type==="compaction/summary"?{...e,summary:t}:Ke(t.event)!==void 0?{...e,checkpoint:t}:e}r(_s,"updateCompactionState");const $i={kind:"command",target:"chat",match:r(e=>{if(e.type==="command/run")return{id:String(e.data.commandId),role:"start"};if(e.type==="command/done")return{id:String(e.data.commandId),role:"update"};const t=Ke(e);return t?.sourceCommandId!==void 0?{id:String(t.sourceCommandId),role:"update"}:(e.type==="compaction/start"||e.type==="compaction/summary"||e.type==="compaction/end")&&e.data.sourceCommandId!==void 0?{id:String(e.data.sourceCommandId),role:"update"}:null},"match"),start:r((e,t)=>({command:Bi(t)}),"start"),update:r((e,t)=>t.event.type==="command/done"?{...e.state,command:xt(t,e.state.command)}:_s(e.state,t),"update"),buildViewNode:r(e=>{const t=e.state??Di(e);if(t===void 0)return null;if(t.command.name!=="compact")return ue(e,"command",t.command.seq,t.command);const n=t.checkpoint===void 0?null:ks(t.summary,t.checkpoint),s={command:t.command,compaction:n};return ue(e,"manual-compaction",n?.seq??t.command.seq,s)},"buildViewNode")};function Ui(e){e.conversationEvents.register($i)}r(Ui,"registerCommandConversationNode");function Pi(e){const t=e.matches.find(s=>s.event.type==="compaction/summary"),n=e.matches.find(s=>Ke(s.event)!==void 0);return{...t===void 0?{}:{summary:t},...n===void 0?{}:{checkpoint:n}}}r(Pi,"fallbackState$2");const zi={kind:"compaction",target:"chat",match:r(e=>{const t=Ke(e);if(t!==void 0&&t.sourceCommandId===void 0)return{id:t.compactionId,role:"update"};if(e.type==="compaction/start"||e.type==="compaction/summary"||e.type==="compaction/end"){if(e.data.sourceCommandId!==void 0)return null;const n=e.data.compactionId;return typeof n!="string"||n===""?null:{id:n,role:e.type==="compaction/start"?"start":"update"}}return null},"match"),start:r(()=>({}),"start"),update:r((e,t)=>_s(e.state,t),"update"),buildViewNode:r(e=>{const t=e.state??Pi(e);if(t.checkpoint===void 0)return null;const n=ks(t.summary,t.checkpoint);return ue(e,"compaction",n.seq,n)},"buildViewNode")};function Fi(e){e.conversationEvents.register(zi)}r(Fi,"registerCompactionConversationNode");const Ji={kind:"unknown-surface",target:"chat",match:r(e=>(0,B.isAppendSurfaceEvent)(e)?{id:String(e.seq),role:"start"}:null,"match"),start:r((e,t)=>({kind:"unknown",seq:t.event.seq,time:t.event.time,type:t.event.type,data:t.event.data}),"start"),update:r(e=>e.state,"update"),buildViewNode:r(e=>e.state===void 0?null:ue(e,"unknown",e.state.seq,e.state),"buildViewNode")};function Ki(e){e.conversationEvents.registerFallback(Ji)}r(Ki,"registerUnknownConversationFallback");function Xi(e,t){const n=[...e?.state.pending??[]],s=new Set(e?.state.claimed??[]),o=n.splice(t.start,t.removedCount??0,...t.inserted);for(const a of t.inserted)s.delete(a.id);if(t.target==="next-step"&&t.outcome!=="canceled")for(const a of o)s.add(a.id);return{pending:n,claimed:s}}r(Xi,"applySplice");function As(e){const t=`inbox-${e}`;return{kind:t,match:r(n=>n.type==="agent/inbox/spliced"&&n.data.target===e?{id:String(n.seq),role:"start"}:null,"match"),start:r((n,s,o)=>{if(s.event.type!=="agent/inbox/spliced")throw new Error(`${t} start requires agent/inbox/spliced`);return Xi(o.previous(t),s.event.data)},"start"),update:r(n=>n.state,"update"),publication:r(()=>"none","publication")}}r(As,"inboxDefinition");const Vi=As("next-turn"),Hi=As("next-step");function Yi(e){e.conversationEvents.register(Vi),e.conversationEvents.register(Hi)}r(Yi,"registerInboxConversationNodes");function Qi(e){if(e.type!=="user/message"||!(0,B.isReplacementSurfaceEvent)(e))return!1;const t=e.data.source;return t.kind==="plugin"&&t.plugin==="compact"}r(Qi,"isCompactionCheckpoint");const Zi={kind:"input-message",target:"chat",match:r(e=>e.type==="user/message"&&(0,B.isAppendSurfaceEvent)(e)&&!Qi(e)?{id:String(e.data.id),role:"start"}:null,"match"),start:r((e,t,n)=>{if(t.event.type!=="user/message")throw new Error("input-message start requires user/message");const s=t.event;return s.data.source.kind!=="user"?{kind:"context",seq:s.seq,time:s.time,content:s.data.content,source:s.data.source,provenance:(0,B.contextProvenance)(s.data.source),form:(0,B.contextForm)(s.data.source)}:n.previous("inbox-next-step")?.state.claimed.has(String(s.data.id))===!0?{kind:"steering",messageId:s.data.id,seq:s.seq,time:s.time,content:s.data.content,source:s.data.source}:{kind:"user",seq:s.seq,time:s.time,content:s.data.content,source:s.data.source}},"start"),update:r(e=>e.state,"update"),buildViewNode:r(e=>e.state===void 0?null:ue(e,e.state.kind,e.state.seq,e.state),"buildViewNode")};function ea(e){e.conversationEvents.register(Zi)}r(ea,"registerMessageConversationNode");function Ss(e){if(e.event.type==="llm/retry")return{kind:"model-retry",seq:e.event.seq,time:e.event.time,retryState:"scheduled",...e.event.data}}r(Ss,"scheduledNode");function ta(e){return e.kind==="step"&&e.step.status==="closed"||(e.kind==="step"||e.kind==="turn")&&e.turn.status==="closed"}r(ta,"isClosed");const na={kind:"model-retry",target:"chat",match:r(e=>{if(e.type==="llm/retry"){const t=e.data.retryId;return typeof t!="string"||t===""?null:{id:t,role:e.data.retry===1?"start":"update"}}if(e.type==="llm/retry-started"){const t=e.data.retryId;return typeof t=="string"&&t!==""?{id:t,role:"update"}:null}return null},"match"),start:r((e,t)=>{const n=Ss(t);if(n===void 0)throw new Error("model-retry start requires a valid llm/retry event");return{turn:n.turn,step:n.step,attempts:[n]}},"start"),update:r((e,t)=>{if(t.event.type==="llm/retry"){const s=Ss(t);return s===void 0?e.state:{...e.state,attempts:[...e.state.attempts,s]}}if(t.event.type!=="llm/retry-started")return e.state;const n=t.event.data.retry;return{...e.state,attempts:e.state.attempts.map(s=>s.retry===n?{...s,retryState:"started"}:s)}},"update"),buildViewNode:r(e=>{if(e.state===void 0||e.state.attempts.length===0)return null;const t=e.start?.location??e.matches[0]?.location??{kind:"unresolved"},n=e.state.attempts,s=n.map((l,c)=>c===n.length-1&&l.retryState==="scheduled"&&ta(t)?{...l,retryState:"cancelled"}:l),o=s.at(-1);if(o===void 0)return null;const a={attempts:s,current:o};return ue(e,"model-retry",s[0]?.seq??o.seq,a)},"buildViewNode")};function sa(e){e.conversationEvents.register(na)}r(sa,"registerRetryConversationNode");const Cs=256,js=new WeakMap;function Is(e){return JSON.stringify(e)}r(Is,"jsonArguments");function ra(e){if(e.event.type!=="tool/call")throw new Error("tool-call start requires tool/call");return{callId:String(e.event.data.callId),name:e.event.data.name,argsRaw:e.event.data.arguments,turn:e.event.data.turn,step:e.event.data.step,time:e.event.time,callView:e.view?.for==="call"?e.view.view:null,subCalls:[]}}r(ra,"rootCall");function Ns(e,t){if(e.event.type!=="tool/result")return;const n=e.event.data.message.content[0];return{kind:"tool-result",seq:e.event.seq,time:e.event.time,callId:String(e.event.data.message.source.callId),call:t===void 0?null:{name:t.name,argsRaw:t.argsRaw},callTime:t?.time??null,content:n.content,isError:n.isError===!0,...e.event.data.error===void 0?{}:{error:e.event.data.error},meta:e.event.data.meta,callView:t?.callView??null,resultView:e.view?.for==="result"?e.view.view:null,subCalls:[]}}r(Ns,"rootResult");function oa(e,t){return{callId:t.subCallId,name:t.name,argsRaw:Is(t.arguments),turn:aa(e),step:la(e),time:e.event.time,callView:null,subCalls:[]}}r(oa,"childCall");function ia(e,t,n){return{kind:"tool-result",seq:e.event.seq,time:e.event.time,callId:t.subCallId,call:{name:t.name,argsRaw:Is(t.arguments)},callTime:n?.time??null,content:t.content??[],isError:t.isError===!0,callView:null,resultView:null,subCalls:[]}}r(ia,"childResult");function aa(e){return e.location.kind==="step"||e.location.kind==="turn"?e.location.turn.turn:0}r(aa,"locationTurn");function la(e){return e.location.kind==="step"?e.location.step.step:0}r(la,"locationStep");function Es(e,t,n){if(t===n||e.parents.has(n))return!1;let s=t,o=0;const a=new Set;for(;s!==void 0;){if(s===n||a.has(s))return!1;a.add(s),o++,s=e.parents.get(s)}const l=[{callId:n,depth:1}],c=new Set;let d=0;for(const u of l){if(c.has(u.callId))return!1;c.add(u.callId),d=Math.max(d,u.depth);for(const m of e.children.get(u.callId)??[])l.push({callId:m.callId,depth:u.depth+1})}return o+d<=Cs}r(Es,"acceptsEdge");function Ts(e,t){const n=t.event;if(n.type!=="tool/code-dispatch-start"&&n.type!=="tool/code-dispatch")return e;const s=n.data,o=String(s.parentCallId),a=String(s.subCallId),l=e.children.get(o)??[],c=l.findIndex(f=>f.callId===a);if(n.type==="tool/code-dispatch-start"){if(c>=0||!Es(e,o,a))return e;const f=new Map(e.children);f.set(o,[...l,oa(t,s)]);const k=new Map(e.parents);return k.set(a,o),{...e,children:f,parents:k}}if(c<0&&!Es(e,o,a))return e;const d=ia(t,s,c<0?void 0:l[c]),u=new Map(e.children);u.set(o,c<0?[...l,d]:l.map((f,k)=>k===c?d:f));const m=new Map(e.parents);return c<0&&m.set(a,o),{...e,children:u,parents:m}}r(Ts,"updateDispatch");function qs(e,t,n,s=new Set,o=1){if(s.has(e.callId)||o>Cs)return{...e,subCalls:[]};const a=new Set(s);a.add(e.callId);const l=(t.children.get(e.callId)??e.subCalls).map(f=>qs(f,t,n,a,o+1)),c="kind"in e?void 0:n?.seq,d="kind"in e?void 0:n?.time,u=js.get(e);if(u!==void 0&&u.interruptionSeq===c&&u.interruptionTime===d&&Rs(u.children,l))return u.value;const m="kind"in e||n===void 0?Rs(e.subCalls,l)?e:{...e,subCalls:l}:{kind:"tool-result",seq:n.seq+it.interruptedFollowup,time:n.time,callId:e.callId,call:{name:e.name,argsRaw:e.argsRaw},callTime:e.time,content:[],isError:!0,error:{name:"Interrupted",code:"interrupted"},callView:e.callView,resultView:null,subCalls:l};return js.set(e,{children:l,interruptionSeq:c,interruptionTime:d,value:m}),m}r(qs,"projectBlock");function Rs(e,t){return e.length===t.length&&e.every((n,s)=>n===t[s])}r(Rs,"sameReferences");function ca(e){const t=e.start?.location;if(t?.kind==="step"&&t.step.status==="closed")return t.step.end;if((t?.kind==="step"||t?.kind==="turn")&&t.turn.status==="closed")return t.turn.end}r(ca,"interruption");function da(e){const t=e.matches.find(o=>o.event.type==="tool/result"),n=t===void 0?void 0:Ns(t);if(n===void 0)return;let s={root:n,children:new Map,parents:new Map};for(const o of e.matches)s=Ts(s,o);return s}r(da,"fallbackState$1");const ua={kind:"tool-call",target:"chat",match:r(e=>{if(e.type==="tool/call")return{id:String(e.data.callId),role:"start"};if(e.type==="tool/result"&&(0,B.isAppendSurfaceEvent)(e))return{id:String(e.data.message.source.callId),role:"update"};if(e.type==="tool/code-dispatch-start"||e.type==="tool/code-dispatch"){const t=e.data.rootCallId;return typeof t=="string"&&t!==""?{id:t,role:"update"}:null}return null},"match"),start:r((e,t)=>({root:ra(t),children:new Map,parents:new Map}),"start"),update:r((e,t)=>{if(t.event.type==="tool/result"){const n=Ns(t,"kind"in e.state.root?void 0:e.state.root);return n===void 0?e.state:{...e.state,root:n}}return Ts(e.state,t)},"update"),buildViewNode:r(e=>{const t=e.state??da(e);if(t===void 0)return null;const n=qs(t.root,t,ca(e));return ue(e,"tool-call",e.start?.event.seq??("kind"in t.root?t.root.seq:e.matches[0]?.event.seq??0),{root:n})},"buildViewNode")};function pa(e){e.conversationEvents.register(ua)}r(pa,"registerToolConversationNode");function ha(e){const t=e.start?.location??e.matches[0]?.location;return t?.kind!=="turn"&&t?.kind!=="step"?0:t.turn.steps.at(-1)?.step??0}r(ha,"lastStep$1");function Pt(e){return e.type==="llm/retry"||e.type==="llm/retry-started"?e.data.turn:void 0}r(Pt,"retryTurn");function zt(e){if(e.event.type!=="turn/end"||e.event.data.reason.kind!=="error")return;const t=e.event.data.reason.error;return{seq:e.event.seq,time:e.event.time,message:(0,B.displayFailureMessage)(t),code:t.code}}r(zt,"failureFrom");function fa(e){const t=e.matches.find(o=>zt(o)!==void 0);if(t?.event.type!=="turn/end")return;const n=zt(t);if(n===void 0)return;const s=t.event.data.turn;return{turn:s,hidden:e.matches.some(o=>Pt(o.event)===s),failure:n}}r(fa,"fallbackState");const ma={kind:"turn-error",target:"chat",match:r(e=>{if(e.type==="turn/start")return{id:String(e.data.turn),role:"start"};if(e.type==="turn/end"&&e.data.reason.kind==="error")return{id:String(e.data.turn),role:"update"};const t=Pt(e);return t===void 0?null:{id:String(t),role:"update"}},"match"),start:r((e,t)=>{if(t.event.type!=="turn/start")throw new Error("turn-error start requires turn/start");return{turn:t.event.data.turn,hidden:!1}},"start"),update:r((e,t)=>{const n=zt(t);return n!==void 0?{...e.state,failure:n}:Pt(t.event)===e.state.turn?{...e.state,hidden:!0}:e.state},"update"),buildViewNode:r(e=>{const t=e.state??fa(e);if(t?.failure===void 0)return null;const n=t.failure,s={kind:"turn-error",seq:n.seq,time:n.time,turn:t.turn,step:ha(e),message:n.message,...n.code===void 0?{}:{code:n.code}};if(!t.hidden)return ue(e,"turn-error",s.seq,s);const o=e.current.get("chat");return o==null?null:ue(e,"turn-error",s.seq,s,{visibility:"hidden"})},"buildViewNode")};function ga(e){e.conversationEvents.register(ma)}r(ga,"registerTurnErrorConversationNode");function va(e){const t=e.start?.location??e.matches[0]?.location;return t?.kind!=="turn"&&t?.kind!=="step"?0:t.turn.steps.at(-1)?.step??0}r(va,"lastStep");function ya(e,t){const n=e.start?.location??e.matches[0]?.location;if(n?.kind!=="turn"&&n?.kind!=="step")return t;const s=n.turn.data.get("turn-tail")?.closing;return s==null?t:s.finalNode.seq+it.maxTokensNotice}r(ya,"noticeAnchor");function xa(e){if(!(e.event.type!=="turn/end"||e.event.data.reason.kind!=="max-tokens"))return{turn:e.event.data.turn,seq:e.event.seq,time:e.event.time}}r(xa,"stateFrom");const ba={kind:"turn-max-tokens",target:"chat",match:r(e=>e.type==="turn/end"&&e.data.reason.kind==="max-tokens"?{id:String(e.data.turn),role:"start"}:null,"match"),start:r((e,t)=>{const n=xa(t);if(n===void 0)throw new Error("turn-max-tokens start requires a max-tokens turn/end");return n},"start"),update:r(e=>e.state,"update"),buildViewNode:r(e=>{const t=e.state;if(t===void 0)return null;const n={kind:"turn-max-tokens",seq:t.seq,time:t.time,turn:t.turn,step:va(e)};return ue(e,"turn-max-tokens",ya(e,t.seq),n)},"buildViewNode")};function wa(e){e.conversationEvents.register(ba)}r(wa,"registerTurnMaxTokensConversationNode");function ka(e){return e.type==="assistant/message"&&(0,B.isAppendSurfaceEvent)(e)&&(0,B.toAssistantBlocks)(e.data.message.content).some(t=>t.kind==="text"&&t.text.trim()!=="")}r(ka,"hasTextAssistant");function _a(e){if(e.type!=="assistant/chunk")return!1;const t=e.data.chunk;return t.type==="text-delta"?t.text.trim()!=="":t.type==="block-end"&&t.block.type==="text"&&t.block.text.trim()!==""}r(_a,"chunkHasText");function Ms(e){if(e.type==="assistant/message"||e.type==="assistant/chunk"||e.type==="step/end")return{turn:e.data.turn,step:e.data.step};if(e.type==="llm/retry")return{turn:e.data.turn,step:e.data.step}}r(Ms,"turnCoordinates");function Aa(e){let t=e.matches.find(s=>s.event.type==="turn/end")?.event.seq??e.start?.event.seq??e.matches[0]?.event.seq??0;const n=new Map;for(const s of e.matches){const o=s.event;if(o.type==="turn/end")continue;const a=Ms(o);if(a?.step===void 0)continue;const l=n.get(a.step)??{streamedText:!1,finalized:!1};if(o.type==="assistant/chunk"){n.set(a.step,{...l,streamedText:l.streamedText||_a(o)});continue}if(o.type==="assistant/message"){n.set(a.step,{streamedText:!1,finalized:!0}),ka(o)&&(t=o.seq+it.finalizedFollowup);continue}if(o.type==="llm/retry"){n.set(a.step,{streamedText:!1,finalized:!1});continue}o.type==="step/end"&&l.streamedText&&!l.finalized&&(t=o.seq+it.interruptedFollowup)}return t}r(Aa,"closingAnchor");function Os(e){const t=e.start?.location??e.matches[0]?.location;return t?.kind==="turn"||t?.kind==="step"?t.turn:void 0}r(Os,"turnLocation");function Sa(e){return e.finalNode!==void 0&&e.blocks.some(t=>t.kind==="text"&&t.text.trim()!=="")}r(Sa,"hasText");function Ca(e){const t=e.state?.end??e.matches.find(c=>c.event.type==="turn/end");if(t?.event.type!=="turn/end")return null;const n=Os(e);if(n===void 0)return null;const s=n.steps.map(c=>c.data.get("assistant-step")).filter(c=>c!==void 0).filter(c=>c.finalNode!==void 0).sort((c,d)=>c.finalNode.seq-d.finalNode.seq),o=s.findLast(Sa)??null;let a=s.at(-1)?.finalNode.seq;for(const c of e.matches){const d=c.event,u=d.type==="tool/call"||d.type==="tool/result"&&(0,B.isAppendSurfaceEvent)(d)||d.type==="turn/end"&&d.data.reason.kind==="error"||d.type==="llm/retry"?d.seq:void 0;u!==void 0&&(a===void 0||u>a)&&(a=u)}const l=Nr(s.map(c=>c.finalNode)).get(t.event.data.turn);return{turn:t.event.data.turn,seq:t.event.seq,time:t.event.time,closing:o,branchUnavailable:o===null||a!==o.finalNode.seq,...l?.ttftMs===void 0?{}:{ttftMs:l.ttftMs},...l?.tokensPerSecond===void 0?{}:{tokensPerSecond:l.tokensPerSecond}}}r(Ca,"tailData");const ja={kind:"turn-tail",target:"chat",match:r(e=>{if(e.type==="turn/start")return{id:String(e.data.turn),role:"start"};if(e.type==="turn/end")return{id:String(e.data.turn),role:"update"};if(e.type==="tool/call"||e.type==="tool/result")return{id:String(e.data.turn),role:"update"};const t=Ms(e);return t!==void 0?{id:String(t.turn),role:"update"}:null},"match"),start:r((e,t)=>{if(t.event.type!=="turn/start")throw new Error("turn-tail start requires turn/start");return{turn:t.event.data.turn}},"start"),update:r((e,t)=>t.event.type==="turn/end"?{...e.state,end:t}:e.state,"update"),publication:r(e=>e.event.type==="turn/end"?"immediate":"none","publication"),buildLocationData:r((e,t)=>{if(t!=="turn")return null;const n=Ca(e);return n===null?null:{kind:"turn",turn:n.turn,key:"turn-tail",value:n}},"buildLocationData"),buildViewNode:r(e=>{const t=Os(e)?.data.get("turn-tail");return t===void 0?null:ue(e,"turn-tail",Aa(e),t)},"buildViewNode")};function Ia(e){e.conversationEvents.register(ja)}r(Ia,"registerTurnTailConversationNode");function Na(e){Yi(e),ea(e),Ai(e),pa(e),Ui(e),Fi(e),sa(e),ga(e),wa(e),Ia(e),Ki(e),Gi(e)}r(Na,"registerConversationNodes");const Ea=3;function Ta(e,t=Ea){const n=(0,h.useRef)(e);n.current=e;const s=(0,h.useRef)(null);return(0,h.useLayoutEffect)(()=>()=>{s.current!==null&&(cancelAnimationFrame(s.current),s.current=null)},[]),(0,h.useCallback)(()=>{if(s.current!==null)return;let o=t;const a=r(()=>{if(o-=1,o>0){s.current=requestAnimationFrame(a);return}s.current=null,n.current()},"advance");s.current=requestAnimationFrame(a)},[t])}r(Ta,"useThrottledVisualUpdate");const qa=".MpeKdG_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}",Ws="@deepseek-ai/dsh-client-ui-conversation/accessibility.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Ws)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Ws,e.textContent=qa,document.head.appendChild(e)}var Ft={visuallyHidden:"MpeKdG_visuallyHidden"};const Ra='._4HtOLa_root{flex-direction:column;display:flex}._4HtOLa_row{position:relative;overflow:hidden}._4HtOLa_root[data-state=running] ._4HtOLa_row:after{content:"";inset-block:0;background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--dsw-alias-bg-base) 60%, transparent) 55%, transparent 100%);pointer-events:none;width:300px;animation:2.6s ease-out infinite _4HtOLa_dsh-reasoning-row-sweep;position:absolute;left:0}@keyframes _4HtOLa_dsh-reasoning-row-sweep{0%{left:-300px}90%,to{left:100%}}._4HtOLa_leading{flex-shrink:0}._4HtOLa_chevron{color:var(--dsw-alias-label-secondary)}._4HtOLa_title{font-weight:400}._4HtOLa_separator{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}._4HtOLa_summary{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:14px;line-height:24px;overflow:hidden}._4HtOLa_summary[data-follow-end]{text-overflow:clip}._4HtOLa_thinkBody{color:var(--dsw-alias-label-tertiary);white-space:pre-wrap;word-break:break-word;padding:4px 0 4px 22px;font-size:14px;line-height:24px}@media (prefers-reduced-motion:reduce){._4HtOLa_root[data-state=running] ._4HtOLa_row:after{animation:none}}',Gs="@deepseek-ai/dsh-client-ui-conversation/ReasoningRow.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Gs)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Gs,e.textContent=Ra,document.head.appendChild(e)}var Me={"dsh-reasoning-row-sweep":"_4HtOLa_dsh-reasoning-row-sweep",leading:"_4HtOLa_leading",root:"_4HtOLa_root",thinkBody:"_4HtOLa_thinkBody",row:"_4HtOLa_row",chevron:"_4HtOLa_chevron",summary:"_4HtOLa_summary",separator:"_4HtOLa_separator",title:"_4HtOLa_title"};function Ma(e){const t=e.indexOf(`
|
|
6
6
|
`);return t===-1?e:e.slice(0,t)}r(Ma,"firstLine");function Oa(e){const t=e.trimEnd(),n=t.lastIndexOf(`
|
|
7
|
-
`);return n===-1?t:t.slice(n+1)}r(Oa,"latestLine");function Wa({text:e,running:t,t:n}){const[s,o]=(0,h.useState)(!1),a=(0,h.useRef)(null),l=t?Oa(e):Ma(e),c=Ta(()=>{const d=a.current;d!==null&&(d.scrollLeft=t?d.scrollWidth-d.clientWidth:0)});return(0,h.useEffect)(()=>{c()},[t,c,l]),(0,i.jsxs)("div",{className:Me.root,"data-variant":"think","data-state":t?"running":"ok",children:[t&&(0,i.jsx)("span",{className:Ft.visuallyHidden,children:n("row.running")}),(0,i.jsx)(_.DisclosureRow,{rowClassName:Me.row,leadingClassName:Me.leading,titleClassName:Me.title,chevronClassName:Me.chevron,icon:(0,i.jsx)(_.IconThinkOutline14,{size:14}),title:"Think",open:s,expandable:!0,expandOnRowClick:!0,onToggle:r(()=>{o(d=>!d)},"onToggle"),collapsedContent:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:Me.separator,"aria-hidden":!0}),(0,i.jsx)("span",{ref:a,className:Me.summary,"data-follow-end":t||void 0,children:l})]}),children:(0,i.jsx)("div",{className:Me.thinkBody,children:e})})]})}r(Wa,"ReasoningRow");const Ga=".UAhSbG_root{color:var(--dsw-alias-label-primary);flex-direction:column;font-size:16px;line-height:28px;display:flex}.UAhSbG_body{flex-direction:column;gap:16px;display:flex}.UAhSbG_stopped{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-tertiary);border-radius:6px;align-self:flex-start;padding:0 6px;font-size:11px;line-height:18px}.UAhSbG_actions{margin-top:16px;margin-left:-6px}",Ls="@deepseek-ai/dsh-client-ui-conversation/AssistantMarkdown.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Ls)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Ls,e.textContent=Ga,document.head.appendChild(e)}var Jt={
|
|
8
|
-
`)?a:null,m=s&&u!==null;return(0,i.jsxs)("div",{className:Oe.root,"data-variant":"others","data-state":d,children:[d==="running"&&(0,i.jsx)("span",{className:Ft.visuallyHidden,children:t("row.running")}),d==="error"&&(0,i.jsx)("span",{className:Ft.visuallyHidden,children:t("row.failed")}),(0,i.jsx)(_.DisclosureRow,{rowClassName:Oe.row,leadingClassName:Oe.leading,titleClassName:Oe.title,chevronClassName:Oe.chevron,icon:Ua(d),title:c,open:m,expandable:u!==null,expandOnRowClick:!0,keepContentWhenOpen:!0,onToggle:r(()=>{o(f=>!f)},"onToggle"),collapsedContent:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:Oe.separator,"aria-hidden":!0}),(0,i.jsx)("span",{className:Oe.summary,"data-error":d==="error"||void 0,children:l})]}),children:(0,i.jsx)("pre",{className:Oe.body,"data-error":d==="error"||void 0,children:u})})]})}r(Kt,"GenericCommandCard");function Pa({node:e,compaction:t,t:n}){return t!==void 0?(0,i.jsx)(Bn,{node:t,title:"compact",fallbackSummary:e.outcome?.text??null,t:n}):e.outcome!==null?(0,i.jsx)(Kt,{node:e,t:n}):(0,i.jsx)(Kt,{node:e,t:n,runningSummary:n("message.compaction.running")})}r(Pa,"CompactionCommandCard");const za=(0,h.memo)(r(function({node:t,renderSlot:n,t:s}){const o=t.data,a=(0,h.useMemo)(()=>({node:o}),[o]);return(0,i.jsx)("div",{className:ae.callRow,children:n("conversation.chat.commandview",a,{entryKey:o.name??"",fallback:(0,i.jsx)(Kt,{...a,t:s})})})},"CommandNodeView")),Fa=(0,h.memo)(r(function({node:t,t:n}){const s=t.data;return(0,i.jsx)("div",{className:ae.callRow,children:(0,i.jsx)(Pa,{node:s.command,...s.compaction===null?{}:{compaction:s.compaction},t:n})})},"ManualCompactionNodeView"));function Ja(e){return e.flatMap(t=>t.kind==="text"?[t.text]:[]).join("")}r(Ja,"assistantText");const Ka=".y8secq_root{flex-direction:column;gap:16px;display:flex}.y8secq_actions{margin-left:-6px}",Ds="@deepseek-ai/dsh-client-ui-conversation/TurnTailNodeView.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Ds)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Ds,e.textContent=Ka,document.head.appendChild(e)}var Xt={root:"y8secq_root",actions:"y8secq_actions"};const Xa=(0,h.memo)(r(function({node:t,openFile:n,forkAt:s,renderSlot:o,renderSlotChain:a,t:l,useSession:c}){const d=t.data,u=c(w=>w.chat.locations.getTurn(d.turn).at(-1)!==t.key),m=t.location.kind==="turn"||t.location.kind==="step"?t.location.turn:void 0;if(m===void 0)return null;const f=d.closing,k=a("conversation.chat.turnTail",{turn:m,seq:f?.finalNode.seq??d.seq,openFile:n});if(f===null)return k===null?null:(0,i.jsx)("div",{className:Xt.root,children:k});const g=m.start===void 0||m.end===void 0?void 0:Math.max(0,m.end.time-m.start.time),y=f.finalNode.messageId,b=y===void 0?null:o("conversation.chat.assistant-actions",{messageId:y});return(0,i.jsxs)("div",{className:Xt.root,"data-turn-tail":d.turn,"data-time-hover-root":!0,children:[k,(0,i.jsx)(Lt,{text:Ja(f.blocks),time:f.time,runMs:g,ttftMs:d.ttftMs,tokensPerSecond:d.tokensPerSecond,clock:"end",onBranch:r(()=>{s(f.finalNode.seq)},"onBranch"),branchUnavailable:d.branchUnavailable||u,className:Xt.actions,extraActions:b,t:l})]})},"TurnTailNodeView"));function Va(e){e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"user",locale:U},Yn)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"steering",locale:U},Yn)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"context",locale:U},ko)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"assistant-step",locale:U},Ba)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"command",locale:U,children:{"conversation.chat.commandview":{kind:"keyed",scope:"session"}}},za)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"manual-compaction",locale:U},Fa)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"compaction",locale:U},_o)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"model-retry",locale:U},Ao)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"turn-error",locale:U},So)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"turn-max-tokens",locale:U},Co)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"turn-tail",locale:U,children:{"conversation.chat.turnTail":{kind:"chain",scope:"session"},"conversation.chat.assistant-actions":{kind:"list",scope:"session"}}},Xa)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"unknown",locale:U},jo))}r(Va,"registerChatNodeRenderers");const Ha=["slots","layout","sessions","workspaces","locale","connection","remote","settingsScope","conversationEvents","conversationViews"],Ya={getSnapshot:r(()=>null,"getSnapshot"),subscribe:r(()=>()=>{},"subscribe")},Qa={getSnapshot:r(()=>{},"getSnapshot"),subscribe:r(()=>()=>{},"subscribe")},Za=new Map,el={getSnapshot:r(()=>Za,"getSnapshot"),subscribe:r(()=>()=>{},"subscribe")},$s={getSnapshot:r(()=>null,"getSnapshot"),subscribe:r(()=>()=>{},"subscribe")},tl={hooks:{turnData:r(({useSession:e},t)=>r(function(s){return e(o=>{const a=o.chat.nodes.get(t)?.location;return a?.kind==="turn"||a?.kind==="step"?a.turn.data.get(s):void 0})},"useTurnData"),"turnData")}};function Us(e,t){const n=e.scope(t);if(n===void 0)throw new Error(`ui-conversation: session "${t}" resolved no scope`);const s=n.get("conversation");if(s===void 0)throw new Error("ui-conversation: conversation service unavailable through the session scope");return s}r(Us,"scopedConversation");function Vt(e){const t=e.get("conversation");if(t===void 0)throw new Error("ui-conversation: conversation service unavailable");return t}r(Vt,"concreteConversation");function nl({interactions:e}){return e.find(t=>t.kind==="approval")??null}r(nl,"selectApproval");function sl(e){const t=e.sessions,n=e.workspaces,s=e.layout,o=e.slots;Na(e),Va(e),e.effect(()=>e.locale.register(U,{zh:Do,en:$o}),"ui-conversation: dictionaries");const a=e.locale.bind(U),l=tr(),c=new xr(e.settingsScope.bind({namespace:vr}));e.slots.inject("settings.general.item",()=>e.slots.register({name:"settings.general.item",id:"composer-enter",order:20,locale:U,inject:r(()=>({hooks:{busyEnter:c.busyEnter},setBusyEnter:r(g=>{c.setBusyEnter(g)},"setBusyEnter")}),"inject")},Xr));const d=new Map,m={list:r(()=>{const g=[];for(const y of o.entries("conversation.view"))y.options.id!==void 0&&g.push({id:y.options.id,label:(0,Zs.resolveSlotLabel)(y.options.label)??y.options.id});return g},"viewTabs"),subscribe:r(g=>o.subscribe("conversation.view",g),"subscribe"),version:r(()=>o.getVersion("conversation.view"),"version")},f=new ur(e,a),k=new sr;e.effect(()=>t.provide({hooks:["input"],props:["inputActions"],resolve:r(g=>{const y=f.shellFor(g);return{hooks:{input:y.state},props:{inputActions:y.actions}}},"resolve")}),"ui-conversation: input standard-kit provider"),o.register({name:"conversation",locale:U,children:{"conversation.session":{kind:"single",scope:"session"},"conversation.session.header":{kind:"single",scope:"session"},"conversation.composer":{kind:"chain",scope:"session"},"conversation.composer.bar":{kind:"single",scope:"session-maybe"},"conversation.input.overlay":{kind:"list",scope:"session"},"conversation.input.dock":{kind:"list",scope:"session"},"conversation.composer.dock":{kind:"list",scope:"session"},"conversation.input.left":{kind:"list",scope:"session"},"conversation.input.right":{kind:"list",scope:"session"},"conversation.hero.workspace":{kind:"single",scope:"root"},"conversation.hero.agentPreset":{kind:"single",scope:"root"}},inject:r(g=>({hooks:{composerBlock:g===void 0?Qa:k.storeFor(g)},selectWorkspace:r(async y=>{const b=await n.connectWorkspace(y);if(g!==void 0&&b!==g){const w=f.shell(g),j=w.snapshot.draft,x=w.snapshot.imageIds,A=f.shell(b);if((x.length===0||A.addImages(x))&&(j!==""&&(A.setDraft(j),w.setDraft("")),x.length>0))for(const S of x)w.removeImage(S)}t.open(b)},"selectWorkspace")}),"inject")},ai),o.register({name:"conversation.session",children:{"conversation.view":{kind:"list",scope:"session"}},store:l,inject:r((g,y)=>{const b=Vt(e);return{views:m,releaseSessionImages:r(w=>{b.releaseSessionImages(w)},"releaseSessionImages"),bindDraftMirror:r(w=>f.shell(g).bindMirror(w),"bindDraftMirror")}},"inject")},ui),o.register({name:"conversation.session.header",locale:U,children:{"conversation.session.header.actions":{kind:"list",scope:"session"},"conversation.session.header.utilities":{kind:"list",scope:"session"}},store:l,inject:r(()=>({views:m,open:r(g=>{t.open(g)},"open")}),"inject")},di),o.register({name:"conversation.composer.bar",locale:U,children:{"conversation.input.plan":{kind:"single",scope:"session"},"conversation.input.model":{kind:"single",scope:"session"}},inject:r(g=>{if(g===void 0)return{keyboard:void 0,addImages:void 0,removeImage:void 0,draftImages:void 0,resolveSubmitMode:r((j,x,A)=>c.resolve(j,x,A),"resolveSubmitMode"),toggleCommandMenu:void 0,stop:void 0,command:void 0,hooks:{notices:Ya,lexicon:el,menuLauncher:$s}};const y=Vt(e),b=f.shell(g),w=f.inputTriggers(g);return{keyboard:b,addImages:r(j=>{try{const x=y.createDraftImages(j);return b.addImages(x.map(A=>A.id))||y.releaseDraftImages(x),null}catch(x){return x instanceof nn?a("image.unsupportedType"):x instanceof Error?x.message:String(x)}},"addImages"),removeImage:r(j=>{y.releaseDraftImage(j),b.removeImage(j)},"removeImage"),draftImages:r(j=>y.draftImages(j),"draftImages"),resolveSubmitMode:r((j,x,A)=>c.resolve(j,x,A),"resolveSubmitMode"),toggleCommandMenu:w===void 0?void 0:j=>{b.dismissPopup();const x=b.snapshot;w.toggleSource("command",{trigger:"/",query:"",position:x.draft.slice(0,j.start).trim()===""?"leading":"inline",span:{...j,draftRev:x.draftRev}})},stop:r(()=>{Us(t,g).cancel().catch(()=>{})},"stop"),command:r(async j=>{const x=t.binding(g)?.session;if(x===void 0)return!1;const A=await x.command(j);return A.ok&&A.value.matched},"command"),hooks:{notices:b.notices,lexicon:b.lexicon,menuLauncher:w?.launcher??$s}}},"inject")},Fr),o.register({name:"conversation.composer",select:nl,priority:1,locale:U},Lo),o.register({name:"conversation.view",id:"chat",order:0,label:r(()=>a("view.chat"),"label"),locale:U,children:{"conversation.chat.node":{kind:"keyed",scope:"session",inject:tl}},store:l,inject:r((g,y)=>{const b=Vt(e),w=Us(t,g);return{openDetails:r(j=>{y.select(j),s.openDetails()},"openDetails"),fileMentions:r(j=>e.get("chatFileMentions")?.forClosing(j),"fileMentions"),openFile:r(j=>{const x=t.list.getSnapshot().byId[g]?.cwd;n.openPath((0,B.resolveWorkspacePath)(x,j)).catch(()=>{})},"openFile"),loadOlder:r(()=>{w.loadOlder()},"loadOlder"),loadImage:r(j=>b.resolveImage(g,j),"loadImage"),inspectCall:r(j=>{y.setInspect({callId:j}),y.setView("trajectory")},"inspectCall"),chatScroll:{save:r(j=>{j===null?d.delete(g):d.set(g,j)},"save"),read:r(()=>d.get(g)??null,"read")},forkAt:r(j=>{t.fork({sessionId:g,atSeq:j,increaseTitle:!0}).then(x=>{t.open(x)}).catch(()=>{})},"forkAt")}},"inject")},qo),o.register({name:"conversation.composer.dock",id:"stats",order:0,locale:U},Mr),e.plugin(sn,{input:f,blocks:k}),e.plugin(Yo),e.plugin(ei),o.register({name:"details",locale:U,children:{"conversation.details.tool":{kind:"single",scope:"session"}},store:l,inject:r(()=>({closeDetails:r(()=>{s.closeDetails()},"closeDetails")}),"inject")},yi)}return r(sl,"apply"),ut.ConversationController=sn,ut.apply=sl,ut.inject=Ha,dt.exports},"factory")});
|
|
7
|
+
`);return n===-1?t:t.slice(n+1)}r(Oa,"latestLine");function Wa({text:e,running:t,t:n}){const[s,o]=(0,h.useState)(!1),a=(0,h.useRef)(null),l=t?Oa(e):Ma(e),c=Ta(()=>{const d=a.current;d!==null&&(d.scrollLeft=t?d.scrollWidth-d.clientWidth:0)});return(0,h.useEffect)(()=>{c()},[t,c,l]),(0,i.jsxs)("div",{className:Me.root,"data-variant":"think","data-state":t?"running":"ok",children:[t&&(0,i.jsx)("span",{className:Ft.visuallyHidden,children:n("row.running")}),(0,i.jsx)(_.DisclosureRow,{rowClassName:Me.row,leadingClassName:Me.leading,titleClassName:Me.title,chevronClassName:Me.chevron,icon:(0,i.jsx)(_.IconThinkOutline14,{size:14}),title:"Think",open:s,expandable:!0,expandOnRowClick:!0,onToggle:r(()=>{o(d=>!d)},"onToggle"),collapsedContent:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:Me.separator,"aria-hidden":!0}),(0,i.jsx)("span",{ref:a,className:Me.summary,"data-follow-end":t||void 0,children:l})]}),children:(0,i.jsx)("div",{className:Me.thinkBody,children:e})})]})}r(Wa,"ReasoningRow");const Ga=".UAhSbG_root{color:var(--dsw-alias-label-primary);flex-direction:column;font-size:16px;line-height:28px;display:flex}.UAhSbG_body{flex-direction:column;gap:16px;display:flex}.UAhSbG_stopped{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-tertiary);border-radius:6px;align-self:flex-start;padding:0 6px;font-size:11px;line-height:18px}.UAhSbG_actions{margin-top:16px;margin-left:-6px}",Ls="@deepseek-ai/dsh-client-ui-conversation/AssistantMarkdown.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Ls)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Ls,e.textContent=Ga,document.head.appendChild(e)}var Jt={root:"UAhSbG_root",body:"UAhSbG_body",actions:"UAhSbG_actions",stopped:"UAhSbG_stopped"};const La=(0,h.memo)(r(function({blocks:t,streaming:n,interrupted:s,loadImage:o,mentions:a,t:l}){const c=o??(()=>Promise.reject(new Error(l("image.serviceUnavailable")))),d=(0,h.useMemo)(()=>({copyLabel:l("copy"),copiedLabel:l("copied")}),[l]),u=t.length-1;if(!(n||s===!0||t.some(f=>f.kind!=="tool-call")))return null;const m=[];for(let f=0;f<t.length;f++){const k=t[f];if(k!==void 0)switch(k.kind){case"text":m.push((0,i.jsx)(_.MarkdownText,{text:k.text,streaming:n,codeLabels:d,fileMentions:a},f));break;case"reasoning":m.push((0,i.jsx)(Wa,{text:k.text,running:n&&f===u,t:l},f));break;case"image":{const g=f,y=[k];for(;f+1<t.length;){const b=t[f+1];if(b===void 0||b.kind!=="image")break;y.push(b),f+=1}m.push((0,i.jsx)(Ze.ImageGallery,{images:y,load:c,align:"start",labels:wn(l)},g));break}case"tool-call":break;default:m.push((0,i.jsx)(_.JsonBlock,{label:l("message.unknownBlock"),payload:k.block,truncatedLabel:r(g=>l("json.truncated",{total:g}),"truncatedLabel")},f))}}return(0,i.jsx)("div",{className:Jt.root,"data-streaming":n||void 0,children:(0,i.jsxs)("div",{className:Jt.body,children:[m,s&&(0,i.jsx)("span",{className:Jt.stopped,children:l("message.stopped")})]})})},"AssistantMarkdown")),Ba=(0,h.memo)(r(function({node:t,useTurnData:n,openFile:s,loadImage:o,fileMentions:a,t:l}){const c=t.data,d=t.location.kind==="turn"||t.location.kind==="step"?t.location.turn:void 0,u=n("turn-tail"),m=(0,h.useMemo)(()=>{if(!(d?.status!=="closed"||c.finalNode===void 0)&&u?.closing?.finalNode.seq===c.finalNode.seq)return{turn:d,seq:c.finalNode.seq,openFile:s}},[c.finalNode,s,u,d]),f=(0,h.useMemo)(()=>m===void 0?void 0:a(m),[a,m]);return(0,i.jsx)(La,{blocks:c.blocks,streaming:c.status==="running",interrupted:c.status==="interrupted",loadImage:o,mentions:f,t:l})},"AssistantNodeView")),Da='.dXuJPa_root{flex-direction:column;display:flex}.dXuJPa_row{position:relative;overflow:hidden}.dXuJPa_root[data-state=running] .dXuJPa_row:after{content:"";inset-block:0;background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--dsw-alias-bg-base) 60%, transparent) 55%, transparent 100%);pointer-events:none;width:300px;animation:2.6s ease-out infinite dXuJPa_dsh-command-row-sweep;position:absolute;left:0}@keyframes dXuJPa_dsh-command-row-sweep{0%{left:-300px}90%,to{left:100%}}.dXuJPa_leading{flex-shrink:0}.dXuJPa_chevron{color:var(--dsw-alias-label-secondary)}.dXuJPa_title{font-weight:400}.dXuJPa_separator{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.dXuJPa_summary{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:14px;line-height:24px;overflow:hidden}.dXuJPa_summary[data-error],.dXuJPa_body[data-error]{color:var(--dsw-alias-state-error-primary)}.dXuJPa_body{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-markdown-code-block);max-height:260px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-markdown-code-block-small);white-space:pre-wrap;border-radius:12px;margin:4px 0 4px 4px;padding:12px 16px;overflow:auto}@media (prefers-reduced-motion:reduce){.dXuJPa_root[data-state=running] .dXuJPa_row:after{animation:none}}',Bs="@deepseek-ai/dsh-client-ui-conversation/GenericCommandCard.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Bs)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Bs,e.textContent=Da,document.head.appendChild(e)}var Oe={body:"dXuJPa_body",title:"dXuJPa_title",separator:"dXuJPa_separator",summary:"dXuJPa_summary",row:"dXuJPa_row",chevron:"dXuJPa_chevron",root:"dXuJPa_root",leading:"dXuJPa_leading","dsh-command-row-sweep":"dXuJPa_dsh-command-row-sweep"};function $a(e){return e===null?"running":e.kind==="error"?"error":"ok"}r($a,"stateOf");function Ua(e){return e==="error"?(0,i.jsx)(_.StateDot,{state:"error"}):(0,i.jsx)(_.IconApiOutline14,{size:14})}r(Ua,"leadingFor");function Kt({node:e,t,runningSummary:n}){const[s,o]=(0,h.useState)(!1),a=e.outcome?.text,l=e.outcome===null?n??t("command.running"):a??(e.outcome.kind==="error"?t("command.failed"):t("command.done")),c=e.name??t("command.title"),d=$a(e.outcome),u=a!==void 0&&a.includes(`
|
|
8
|
+
`)?a:null,m=s&&u!==null;return(0,i.jsxs)("div",{className:Oe.root,"data-variant":"others","data-state":d,children:[d==="running"&&(0,i.jsx)("span",{className:Ft.visuallyHidden,children:t("row.running")}),d==="error"&&(0,i.jsx)("span",{className:Ft.visuallyHidden,children:t("row.failed")}),(0,i.jsx)(_.DisclosureRow,{rowClassName:Oe.row,leadingClassName:Oe.leading,titleClassName:Oe.title,chevronClassName:Oe.chevron,icon:Ua(d),title:c,open:m,expandable:u!==null,expandOnRowClick:!0,keepContentWhenOpen:!0,onToggle:r(()=>{o(f=>!f)},"onToggle"),collapsedContent:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:Oe.separator,"aria-hidden":!0}),(0,i.jsx)("span",{className:Oe.summary,"data-error":d==="error"||void 0,children:l})]}),children:(0,i.jsx)("pre",{className:Oe.body,"data-error":d==="error"||void 0,children:u})})]})}r(Kt,"GenericCommandCard");function Pa({node:e,compaction:t,t:n}){return t!==void 0?(0,i.jsx)(Bn,{node:t,title:"compact",fallbackSummary:e.outcome?.text??null,t:n}):e.outcome!==null?(0,i.jsx)(Kt,{node:e,t:n}):(0,i.jsx)(Kt,{node:e,t:n,runningSummary:n("message.compaction.running")})}r(Pa,"CompactionCommandCard");const za=(0,h.memo)(r(function({node:t,renderSlot:n,t:s}){const o=t.data,a=(0,h.useMemo)(()=>({node:o}),[o]);return(0,i.jsx)("div",{className:ae.callRow,children:n("conversation.chat.commandview",a,{entryKey:o.name??"",fallback:(0,i.jsx)(Kt,{...a,t:s})})})},"CommandNodeView")),Fa=(0,h.memo)(r(function({node:t,t:n}){const s=t.data;return(0,i.jsx)("div",{className:ae.callRow,children:(0,i.jsx)(Pa,{node:s.command,...s.compaction===null?{}:{compaction:s.compaction},t:n})})},"ManualCompactionNodeView"));function Ja(e){return e.flatMap(t=>t.kind==="text"?[t.text]:[]).join("")}r(Ja,"assistantText");const Ka=".y8secq_root{flex-direction:column;gap:16px;display:flex}.y8secq_actions{margin-left:-6px}",Ds="@deepseek-ai/dsh-client-ui-conversation/TurnTailNodeView.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Ds)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@deepseek-ai/dsh-client-ui-conversation",e.dataset.pluginCss=Ds,e.textContent=Ka,document.head.appendChild(e)}var Xt={actions:"y8secq_actions",root:"y8secq_root"};const Xa=(0,h.memo)(r(function({node:t,openFile:n,forkAt:s,renderSlot:o,renderSlotChain:a,t:l,useSession:c}){const d=t.data,u=c(w=>w.chat.locations.getTurn(d.turn).at(-1)!==t.key),m=t.location.kind==="turn"||t.location.kind==="step"?t.location.turn:void 0;if(m===void 0)return null;const f=d.closing,k=a("conversation.chat.turnTail",{turn:m,seq:f?.finalNode.seq??d.seq,openFile:n});if(f===null)return k===null?null:(0,i.jsx)("div",{className:Xt.root,children:k});const g=m.start===void 0||m.end===void 0?void 0:Math.max(0,m.end.time-m.start.time),y=f.finalNode.messageId,b=y===void 0?null:o("conversation.chat.assistant-actions",{messageId:y});return(0,i.jsxs)("div",{className:Xt.root,"data-turn-tail":d.turn,"data-time-hover-root":!0,children:[k,(0,i.jsx)(Lt,{text:Ja(f.blocks),time:f.time,runMs:g,ttftMs:d.ttftMs,tokensPerSecond:d.tokensPerSecond,clock:"end",onBranch:r(()=>{s(f.finalNode.seq)},"onBranch"),branchUnavailable:d.branchUnavailable||u,className:Xt.actions,extraActions:b,t:l})]})},"TurnTailNodeView"));function Va(e){e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"user",locale:U},Yn)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"steering",locale:U},Yn)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"context",locale:U},ko)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"assistant-step",locale:U},Ba)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"command",locale:U,children:{"conversation.chat.commandview":{kind:"keyed",scope:"session"}}},za)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"manual-compaction",locale:U},Fa)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"compaction",locale:U},_o)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"model-retry",locale:U},Ao)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"turn-error",locale:U},So)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"turn-max-tokens",locale:U},Co)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"turn-tail",locale:U,children:{"conversation.chat.turnTail":{kind:"chain",scope:"session"},"conversation.chat.assistant-actions":{kind:"list",scope:"session"}}},Xa)),e.slots.inject("conversation.chat.node",()=>e.slots.register({name:"conversation.chat.node",key:"unknown",locale:U},jo))}r(Va,"registerChatNodeRenderers");const Ha=["slots","layout","sessions","workspaces","locale","connection","remote","settingsScope","conversationEvents","conversationViews"],Ya={getSnapshot:r(()=>null,"getSnapshot"),subscribe:r(()=>()=>{},"subscribe")},Qa={getSnapshot:r(()=>{},"getSnapshot"),subscribe:r(()=>()=>{},"subscribe")},Za=new Map,el={getSnapshot:r(()=>Za,"getSnapshot"),subscribe:r(()=>()=>{},"subscribe")},$s={getSnapshot:r(()=>null,"getSnapshot"),subscribe:r(()=>()=>{},"subscribe")},tl={hooks:{turnData:r(({useSession:e},t)=>r(function(s){return e(o=>{const a=o.chat.nodes.get(t)?.location;return a?.kind==="turn"||a?.kind==="step"?a.turn.data.get(s):void 0})},"useTurnData"),"turnData")}};function Us(e,t){const n=e.scope(t);if(n===void 0)throw new Error(`ui-conversation: session "${t}" resolved no scope`);const s=n.get("conversation");if(s===void 0)throw new Error("ui-conversation: conversation service unavailable through the session scope");return s}r(Us,"scopedConversation");function Vt(e){const t=e.get("conversation");if(t===void 0)throw new Error("ui-conversation: conversation service unavailable");return t}r(Vt,"concreteConversation");function nl({interactions:e}){return e.find(t=>t.kind==="approval")??null}r(nl,"selectApproval");function sl(e){const t=e.sessions,n=e.workspaces,s=e.layout,o=e.slots;Na(e),Va(e),e.effect(()=>e.locale.register(U,{zh:Do,en:$o}),"ui-conversation: dictionaries");const a=e.locale.bind(U),l=tr(),c=new xr(e.settingsScope.bind({namespace:vr}));e.slots.inject("settings.general.item",()=>e.slots.register({name:"settings.general.item",id:"composer-enter",order:20,locale:U,inject:r(()=>({hooks:{busyEnter:c.busyEnter},setBusyEnter:r(g=>{c.setBusyEnter(g)},"setBusyEnter")}),"inject")},Xr));const d=new Map,m={list:r(()=>{const g=[];for(const y of o.entries("conversation.view"))y.options.id!==void 0&&g.push({id:y.options.id,label:(0,Zs.resolveSlotLabel)(y.options.label)??y.options.id});return g},"viewTabs"),subscribe:r(g=>o.subscribe("conversation.view",g),"subscribe"),version:r(()=>o.getVersion("conversation.view"),"version")},f=new ur(e,a),k=new sr;e.effect(()=>t.provide({hooks:["input"],props:["inputActions"],resolve:r(g=>{const y=f.shellFor(g);return{hooks:{input:y.state},props:{inputActions:y.actions}}},"resolve")}),"ui-conversation: input standard-kit provider"),o.register({name:"conversation",locale:U,children:{"conversation.session":{kind:"single",scope:"session"},"conversation.session.header":{kind:"single",scope:"session"},"conversation.composer":{kind:"chain",scope:"session"},"conversation.composer.bar":{kind:"single",scope:"session-maybe"},"conversation.input.overlay":{kind:"list",scope:"session"},"conversation.input.dock":{kind:"list",scope:"session"},"conversation.composer.dock":{kind:"list",scope:"session"},"conversation.input.left":{kind:"list",scope:"session"},"conversation.input.right":{kind:"list",scope:"session"},"conversation.hero.workspace":{kind:"single",scope:"root"},"conversation.hero.agentPreset":{kind:"single",scope:"root"}},inject:r(g=>({hooks:{composerBlock:g===void 0?Qa:k.storeFor(g)},selectWorkspace:r(async y=>{const b=await n.connectWorkspace(y);if(g!==void 0&&b!==g){const w=f.shell(g),j=w.snapshot.draft,x=w.snapshot.imageIds,A=f.shell(b);if((x.length===0||A.addImages(x))&&(j!==""&&(A.setDraft(j),w.setDraft("")),x.length>0))for(const S of x)w.removeImage(S)}t.open(b)},"selectWorkspace")}),"inject")},ai),o.register({name:"conversation.session",children:{"conversation.view":{kind:"list",scope:"session"}},store:l,inject:r((g,y)=>{const b=Vt(e);return{views:m,releaseSessionImages:r(w=>{b.releaseSessionImages(w)},"releaseSessionImages"),bindDraftMirror:r(w=>f.shell(g).bindMirror(w),"bindDraftMirror")}},"inject")},ui),o.register({name:"conversation.session.header",locale:U,children:{"conversation.session.header.actions":{kind:"list",scope:"session"},"conversation.session.header.utilities":{kind:"list",scope:"session"}},store:l,inject:r(()=>({views:m,open:r(g=>{t.open(g)},"open")}),"inject")},di),o.register({name:"conversation.composer.bar",locale:U,children:{"conversation.input.plan":{kind:"single",scope:"session"},"conversation.input.model":{kind:"single",scope:"session"}},inject:r(g=>{if(g===void 0)return{keyboard:void 0,addImages:void 0,removeImage:void 0,draftImages:void 0,resolveSubmitMode:r((j,x,A)=>c.resolve(j,x,A),"resolveSubmitMode"),toggleCommandMenu:void 0,stop:void 0,command:void 0,hooks:{notices:Ya,lexicon:el,menuLauncher:$s}};const y=Vt(e),b=f.shell(g),w=f.inputTriggers(g);return{keyboard:b,addImages:r(j=>{try{const x=y.createDraftImages(j);return b.addImages(x.map(A=>A.id))||y.releaseDraftImages(x),null}catch(x){return x instanceof nn?a("image.unsupportedType"):x instanceof Error?x.message:String(x)}},"addImages"),removeImage:r(j=>{y.releaseDraftImage(j),b.removeImage(j)},"removeImage"),draftImages:r(j=>y.draftImages(j),"draftImages"),resolveSubmitMode:r((j,x,A)=>c.resolve(j,x,A),"resolveSubmitMode"),toggleCommandMenu:w===void 0?void 0:j=>{b.dismissPopup();const x=b.snapshot;w.toggleSource("command",{trigger:"/",query:"",position:x.draft.slice(0,j.start).trim()===""?"leading":"inline",span:{...j,draftRev:x.draftRev}})},stop:r(()=>{Us(t,g).cancel().catch(()=>{})},"stop"),command:r(async j=>{const x=t.binding(g)?.session;if(x===void 0)return!1;const A=await x.command(j);return A.ok&&A.value.matched},"command"),hooks:{notices:b.notices,lexicon:b.lexicon,menuLauncher:w?.launcher??$s}}},"inject")},Fr),o.register({name:"conversation.composer",select:nl,priority:1,locale:U},Lo),o.register({name:"conversation.view",id:"chat",order:0,label:r(()=>a("view.chat"),"label"),locale:U,children:{"conversation.chat.node":{kind:"keyed",scope:"session",inject:tl}},store:l,inject:r((g,y)=>{const b=Vt(e),w=Us(t,g);return{openDetails:r(j=>{y.select(j),s.openDetails()},"openDetails"),fileMentions:r(j=>e.get("chatFileMentions")?.forClosing(j),"fileMentions"),openFile:r(j=>{const x=t.list.getSnapshot().byId[g]?.cwd;n.openPath((0,B.resolveWorkspacePath)(x,j)).catch(()=>{})},"openFile"),loadOlder:r(()=>{w.loadOlder()},"loadOlder"),loadImage:r(j=>b.resolveImage(g,j),"loadImage"),inspectCall:r(j=>{y.setInspect({callId:j}),y.setView("trajectory")},"inspectCall"),chatScroll:{save:r(j=>{j===null?d.delete(g):d.set(g,j)},"save"),read:r(()=>d.get(g)??null,"read")},forkAt:r(j=>{t.fork({sessionId:g,atSeq:j,increaseTitle:!0}).then(x=>{t.open(x)}).catch(()=>{})},"forkAt")}},"inject")},qo),o.register({name:"conversation.composer.dock",id:"stats",order:0,locale:U},Mr),e.plugin(sn,{input:f,blocks:k}),e.plugin(Yo),e.plugin(ei),o.register({name:"details",locale:U,children:{"conversation.details.tool":{kind:"single",scope:"session"}},store:l,inject:r(()=>({closeDetails:r(()=>{s.closeDetails()},"closeDetails")}),"inject")},yi)}return r(sl,"apply"),ut.ConversationController=sn,ut.apply=sl,ut.inject=Ha,dt.exports},"factory")});
|