netstar-ai-chat 1.0.4 → 1.0.5

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.
@@ -20,6 +20,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
20
20
  hideHistory?: boolean;
21
21
  /** 透传当前 Agent 的运行时事件 */
22
22
  onAgentEvent?: AgentEventCallback;
23
+ /**
24
+ * 自定义 BubbleList roles 配置(覆盖默认 ai / user 气泡样式)。
25
+ * 不传时使用内置默认样式。
26
+ */
27
+ roles?: Record<string, any>;
23
28
  /** 对话面板标题(不设置时使用当前会话标题) */
24
29
  title?: string;
25
30
  }>, {
@@ -53,6 +58,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
53
58
  hideHistory?: boolean;
54
59
  /** 透传当前 Agent 的运行时事件 */
55
60
  onAgentEvent?: AgentEventCallback;
61
+ /**
62
+ * 自定义 BubbleList roles 配置(覆盖默认 ai / user 气泡样式)。
63
+ * 不传时使用内置默认样式。
64
+ */
65
+ roles?: Record<string, any>;
56
66
  /** 对话面板标题(不设置时使用当前会话标题) */
57
67
  title?: string;
58
68
  }>, {
package/dist/index.cjs CHANGED
@@ -352,7 +352,7 @@ summary tabindex target title type usemap value width wmode wrap onCopy onCut on
352
352
  `||e===`\r`||e===` `||e===`\b`||e===`\f`}function RF(e,t){let n=e.charCodeAt(t);return n===mF||n===hF||n===gF||n===_F}function zF(e,t){let n=e.charCodeAt(t);return n===mF||n===gF||n===_F}function BF(e,t){let n=e.charCodeAt(t);return n===vF||n===yF||n>=bF&&n<=xF||n===SF||n===CF||n===wF||n===TF}function VF(e){return HF(e)||WF(e)}function HF(e){return e===`"`||e===`“`||e===`”`}function UF(e){return e===`"`}function WF(e){return e===`'`||e===`‘`||e===`’`||e==="`"||e===`´`}function GF(e){return e===`'`}function KF(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=e.lastIndexOf(t);return r===-1?e:e.substring(0,r)+(n?``:e.substring(r+1))}function qF(e,t){let n=e.length;if(!RF(e,n-1))return e+t;for(;RF(e,n-1);)n--;return e.substring(0,n)+t+e.substring(n)}function JF(e,t,n){return e.substring(0,t)+e.substring(t+n)}function YF(e){return/[,\n][ \t\r]*$/.test(e)}function XF(e,t){let n=0;for(let r=0;r<e.length;r++)e.charAt(r)===t&&n++;return n}function ZF(e,t){switch(t){case`)`:return XF(e,`(`)>XF(e,`)`);case`]`:return XF(e,`[`)>XF(e,`]`);case`}`:return XF(e,`{`)>XF(e,`}`);default:return!1}}var QF={"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`},$F={'"':`"`,"\\":`\\`,"/":`/`,b:`\b`,f:`\f`,n:`
353
353
  `,r:`\r`,t:` `};function eI(e){let t=0,n=``;c(["```","[```","{```"]),i()||k(),c(["```","```]","```}"]);let r=u(`,`);for(r&&a(),FF(e[t])&&YF(n)?(r||(n=qF(n,`,`)),g()):r&&(n=KF(n,`,`));e[t]===`}`||e[t]===`]`;)t++,a();if(t>=e.length)return n;O();function i(){a();let e=m()||h()||_()||y()||b()||S(!1)||C();return a(),e}function a(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,n=t,r=o(e);do r=s(),r&&=o(e);while(r);return t>n}function o(r){let i=r?RF:zF,a=``;for(;;)if(i(e,t))a+=e[t],t++;else if(BF(e,t))a+=` `,t++;else break;return a.length>0?(n+=a,!0):!1}function s(){if(e[t]===`/`&&e[t+1]===`*`){for(;t<e.length&&!tI(e,t);)t++;return t+=2,!0}if(e[t]===`/`&&e[t+1]===`/`){for(;t<e.length&&e[t]!==`
354
354
  `;)t++;return!0}return!1}function c(n){if(l(n)){if(AF(e[t]))for(;t<e.length&&jF(e[t]);)t++;return a(),!0}return!1}function l(n){o(!0);for(let r of n){let n=t+r.length;if(e.slice(t,n)===r)return t=n,!0}return!1}function u(r){return e[t]===r?(n+=e[t],t++,!0):!1}function d(n){return e[t]===n?(t++,!0):!1}function f(){return d(`\\`)}function p(){return a(),e[t]===`.`&&e[t+1]===`.`&&e[t+2]===`.`?(t+=3,a(),d(`,`),!0):!1}function m(){if(e[t]===`{`){n+=`{`,t++,a(),d(`,`)&&a();let r=!0;for(;t<e.length&&e[t]!==`}`;){let o;if(r?o=!0:(o=u(`,`),o||(n=qF(n,`,`)),a()),p(),!(_()||S(!0))){e[t]===`}`||e[t]===`{`||e[t]===`]`||e[t]===`[`||e[t]===void 0?r||(n=KF(n,`,`)):A();break}a();let s=u(`:`),c=t>=e.length;s||(FF(e[t])||c?n=qF(n,`:`):j()),i()||(s||c?n+=`null`:j()),r=!1}return e[t]===`}`?(n+=`}`,t++):n=qF(n,`}`),!0}return!1}function h(){if(e[t]===`[`){n+=`[`,t++,a(),d(`,`)&&a();let r=!0;for(;t<e.length&&e[t]!==`]`;){if(r||u(`,`)||(n=qF(n,`,`)),p(),!i()){r||(n=KF(n,`,`));break}r=!1}return e[t]===`]`?(n+=`]`,t++):n=qF(n,`]`),!0}return!1}function g(){let e=!0,t=!0;for(;t;)e?e=!1:u(`,`)||(n=qF(n,`,`)),t=i();t||(n=KF(n,`,`)),n=`[\n${n}\n]`}function _(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,o=e[t]===`\\`;if(o&&=(t++,!0),VF(e[t])){let s=UF(e[t])?UF:GF(e[t])?GF:WF(e[t])?WF:HF,c=t,l=n.length,u=`"`;for(t++;;){if(t>=e.length){let i=w(t-1);return!r&&kF(e.charAt(i))?(t=c,n=n.substring(0,l),_(!0)):(u=qF(u,`"`),n+=u,!0)}if(t===i)return u=qF(u,`"`),n+=u,!0;if(s(e[t])){let i=t,o=u.length;if(u+=`"`,t++,n+=u,a(!1),r||t>=e.length||kF(e[t])&&!ZF(u,e[t])||VF(e[t])&&!T(t)||DF(e[t]))return v(),!0;let s=w(i-1),d=e.charAt(s);if(d===`,`)return t=c,n=n.substring(0,l),_(!1,s);if(kF(d))return t=c,n=n.substring(0,l),_(!0);n=n.substring(0,l),t=i+1,u=`${u.substring(0,o)}\\${u.substring(o)}`}else if(r&&PF(e[t])){if(e[t-1]===`:`&&MF.test(e.substring(c+1,t+2)))for(;t<e.length&&NF.test(e[t]);)u+=e[t],t++;return u=qF(u,`"`),n+=u,v(),!0}else if(e[t]===`\\`){let n=e.charAt(t+1);if($F[n]!==void 0)u+=e.slice(t,t+2),t+=2;else if(n===`u`){let n=2;for(;n<6&&EF(e[t+n]);)n++;n===6?(u+=e.slice(t,t+6),t+=6):t+n>=e.length?t=e.length:M()}else n===`
355
- `?(u+=`\\n`,t+=2):(u+=n,t+=2)}else{let n=e.charAt(t);n===`"`&&e[t-1]!==`\\`?(u+=`\\${n}`,t++):LF(n)?(u+=QF[n],t++):(OF(n)||D(n),u+=n,t++)}o&&f()}}return!1}function v(){let r=!1;for(a();e[t]===`+`;){r=!0,t++,a(),n=KF(n,`"`,!0);let e=n.length;n=_()?JF(n,e,1):qF(n,`"`)}return r}function y(){let r=t,i=``,a=!1;for(e[t]===`-`&&(i+=e[t],t++,!DF(e[t])&&E()&&(i+=`0`)),e[t]===`0`&&DF(e[t+1])&&(a=!0);DF(e[t]);)i+=e[t],t++;if(e[t]===`.`)for((i===``||i===`-`)&&(i+=`0`),i+=e[t],t++,DF(e[t])||(i+=`0`);DF(e[t]);)i+=e[t],t++;if(t>r){if(e[t]===`e`||e[t]===`E`)for(i===`-`&&(a=!0),i+=e[t],t++,(e[t]===`-`||e[t]===`+`)&&(i+=e[t],t++),DF(e[t])||(i+=`0`);DF(e[t]);)i+=e[t],t++;return E()?(n+=a?`"${e.substring(r,t)}"`:i,!0):(t=r,!1)}return!1}function b(){return x(`true`,`true`)||x(`false`,`false`)||x(`null`,`null`)||x(`True`,`true`)||x(`False`,`false`)||x(`None`,`null`)}function x(r,i){return e.slice(t,t+r.length)===r&&!jF(e[t+r.length])?(n+=i,t+=r.length,!0):!1}function S(r){let a=t;if(AF(e[t])){for(;t<e.length&&jF(e[t]);)t++;let n=t;for(;RF(e,n);)n++;if(e[n]===`(`)return t=n+1,i(),e[t]===`)`&&(t++,e[t]===`;`&&t++),!0}for(;t<e.length&&!PF(e[t])&&!VF(e[t])&&(!r||e[t]!==`:`);)t++;if(e[t-1]===`:`&&MF.test(e.substring(a,t+2)))for(;t<e.length&&NF.test(e[t]);)t++;if(t>a){for(;RF(e,t-1)&&t>0;)t--;let r=e.slice(a,t);return n+=r===`undefined`?`null`:JSON.stringify(r),e[t]===`"`&&t++,!0}}function C(){if(e[t]===`/`){let r=t;for(t++;t<e.length&&(e[t]!==`/`||e[t-1]===`\\`);)t++;return t++,n+=JSON.stringify(e.substring(r,t)),!0}}function w(t){let n=t;for(;n>0&&RF(e,n);)n--;return n}function T(t){let n=t+1;for(;n<e.length&&RF(e,n);)n++;return n>=e.length||kF(e[n])}function E(){return t>=e.length||kF(e[t])||RF(e,t)}function D(e){throw new pF(`Invalid character ${JSON.stringify(e)}`,t)}function O(){throw new pF(`Unexpected character ${JSON.stringify(e[t])}`,t)}function k(){throw new pF(`Unexpected end of json string`,e.length)}function A(){throw new pF(`Object key expected`,t)}function j(){throw new pF(`Colon expected`,t)}function M(){throw new pF(`Invalid unicode character "${e.slice(t,t+6)}"`,t)}}function tI(e,t){return e[t]===`*`&&e[t+1]===`/`}var nI=[`role`,`tabindex`],rI={class:`tool-call-node__prefix`},iI={class:`tool-call-node__title`},aI={key:0,class:`tool-call-node__toggle`},oI={key:0,class:`smdr__body`},sI={key:0,class:`smdr__error`},cI={class:`smdr__tabs`},lI=[`onClick`],uI={class:`smdr__content`},dI=CP((0,a.defineComponent)({__name:`SaveModuleDocsRenderer`,props:{tool:{},expanded:{type:Boolean},stepNumber:{},resolving:{type:Boolean}},emits:[`toggle`,`approve`,`reject`,`edit`],setup(e,{emit:t}){let n=e,r=(0,a.computed)(()=>{let e=n.tool.input;if(!e)return{};if(typeof e==`object`)return e;if(typeof e==`string`)try{return JSON.parse(eI(e))}catch{return{}}return{}}),i=[{key:`requirement_docs`,label:`需求文档`},{key:`technical_docs`,label:`技术文档`},{key:`changelog_docs`,label:`变更日志`}],o=(0,a.computed)(()=>i.filter(e=>{let t=r.value[e.key];return typeof t==`string`&&t.trim().length>0}).map(e=>({key:e.key,label:e.label,content:r.value[e.key]}))),s=(0,a.computed)(()=>o.value.length>0||n.tool.status===`error`),c=(0,a.computed)(()=>{let e=r.value.model_name;return e?`存储文档:${e}`:n.tool.title||`存储模块文档`}),l=(0,a.ref)(o.value[0]?.key??``);return(0,a.watch)(()=>o.value[0]?.key,e=>{e&&!o.value.find(e=>e.key===l.value)&&(l.value=e)},{immediate:!0}),(e,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:(0,a.normalizeClass)([`tool-call-node`,`is-${n.tool.status||`running`}`])},[(0,a.createElementVNode)(`div`,{class:(0,a.normalizeClass)([`tool-call-node__header`,{"tool-call-node__header--clickable":s.value}]),role:s.value?`button`:void 0,tabindex:s.value?0:void 0,onClick:r[0]||=e=>s.value&&t(`toggle`),onKeydown:[r[1]||=(0,a.withKeys)((0,a.withModifiers)(e=>s.value&&t(`toggle`),[`prevent`]),[`enter`]),r[2]||=(0,a.withKeys)((0,a.withModifiers)(e=>s.value&&t(`toggle`),[`prevent`]),[`space`])]},[(0,a.createElementVNode)(`span`,rI,[n.tool.status===`running`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(bd),{key:0,class:`tool-call-node__prefix-icon is-spinning`})):n.tool.status===`success`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(tv),{key:1,class:`tool-call-node__prefix-icon`})):n.tool.status===`error`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(lv),{key:2,class:`tool-call-node__prefix-icon`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(qT),{key:3,class:`tool-call-node__prefix-icon is-waiting`})),(0,a.createElementVNode)(`span`,iI,(0,a.toDisplayString)(c.value),1)]),s.value?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,aI,[((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(n.expanded?(0,a.unref)(_E):(0,a.unref)(IC)),{class:`tool-call-node__toggle-icon`}))])):(0,a.createCommentVNode)(``,!0)],42,nI),n.expanded&&s.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,oI,[n.tool.status===`error`?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,sI,(0,a.toDisplayString)(n.tool.error||`执行失败`),1)):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:1},[(0,a.createElementVNode)(`div`,cI,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(o.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:e.key,class:(0,a.normalizeClass)([`smdr__tab`,{"smdr__tab--active":l.value===e.key}]),onClick:t=>l.value=e.key},(0,a.toDisplayString)(e.label),11,lI))),128))]),(0,a.createElementVNode)(`div`,uI,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(o.value,e=>(0,a.withDirectives)(((0,a.openBlock)(),(0,a.createBlock)(NP,{key:e.key,content:e.content},null,8,[`content`])),[[a.vShow,l.value===e.key]])),128))])],64))])):(0,a.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-2ab50b51`]]),fI={save_module_docs_tool:dI},pI={class:`chat-panel`},mI={class:`chat-header`},hI={class:`header-meta`},gI={class:`conv-heading`},_I={key:0,class:`conv-subheading`},vI={class:`header-actions`},yI={class:`chat-body`},bI={key:0,class:`empty-state`},xI={key:0,class:`empty-sub`},SI={key:1,class:`messages-wrapper`},CI={key:0,class:`ai-loading`},wI={class:`input-footer`},TI={class:`input-panel`},EI=CP((0,a.defineComponent)({__name:`index`,props:{title:{default:`对话助手`},subtitle:{default:``},emptyHint:{default:``},agents:{},agentKey:{default:``},agentPickerStorageKey:{default:`chat_panel_agent`},roles:{},modelValue:{default:``},customHtmlTags:{},customComponents:{},sessionKey:{default:``},initialMessages:{default:()=>[]},onAgentEvent:{},defaultToolRenderers:{default:()=>fI}},emits:[`update:modelValue`,`update:agentKey`,`submit`,`cancel`,`reset`,`agentChange`,`update:agents`],setup(e,{emit:t}){let n=e,r=t,i=(0,a.ref)({});function o(e,t){return`${e}:${t}`}function s(e,t){return!!i.value[o(e,t)]}function c(e,t){let n=o(e,t);i.value={...i.value,[n]:!i.value[n]}}function l(e){return e.map(e=>({...e,toolTimeline:e.toolTimeline?.map(e=>({...e})),segments:e.segments?.map(e=>({...e}))}))}let u=(0,a.ref)(n.modelValue||``),d=(0,a.ref)(!1),f=(0,a.ref)(l(n.initialMessages)),p=(0,a.ref)(``),m=(0,a.ref)(n.agentKey||n.agents[0]?.key||``),h=(0,a.ref)([...n.agents]),g=new Map;function _(e){return{replyChange:(t,r)=>{n.onAgentEvent?.({event:`replyChange`,agentKey:e.key,args:[t,r]}),ce(t,r)},stop:()=>{n.onAgentEvent?.({event:`stop`,agentKey:e.key,args:[]}),le()},toolCall:t=>{n.onAgentEvent?.({event:`toolCall`,agentKey:e.key,args:[t]}),ue(t)},interrupt:t=>{n.onAgentEvent?.({event:`interrupt`,agentKey:e.key,args:[t]}),de(t)}}}function v(e){if(g.has(e.key))return;let t=_(e);g.set(e.key,t),e.agent.on(`replyChange`,t.replyChange),e.agent.on(`stop`,t.stop),e.agent.on(`toolCall`,t.toolCall);let n=e.agent;typeof n.onInterrupt==`function`&&n.onInterrupt(t.interrupt)}function y(e){let t=g.get(e.key);if(!t)return;e.agent.off(`replyChange`,t.replyChange),e.agent.off(`stop`,t.stop),e.agent.off(`toolCall`,t.toolCall);let n=e.agent;typeof n.offInterrupt==`function`&&n.offInterrupt(t.interrupt),g.delete(e.key)}function b(e){let t=h.value;t.forEach(t=>{e.find(e=>e.key===t.key)||y(t)}),e.forEach(e=>{t.find(t=>t.key===e.key)||v(e)}),h.value=e,r(`update:agents`,e),e.find(e=>e.key===m.value)||(m.value=e[0]?.key||``,r(`update:agentKey`,m.value))}let x=(0,a.ref)(null),S=(0,a.ref)(!1),C=(0,a.ref)({}),w=(0,a.ref)(null),T=(0,a.computed)(()=>f.value);function E(e){return e===`write_todos`?`top`:`timeline`}let D=(0,a.computed)(()=>h.value.find(e=>e.key===m.value)||h.value[0]||null),O=(0,a.computed)(()=>D.value?.label||`未选择`);function k(e,t){let r=F(e.toolTimeline,t);if(!r?.toolName)return oF;let i=D.value?.toolRenderers,a=n.defaultToolRenderers;return i?.[r.toolName]??a?.[r.toolName]??oF}let A=(0,a.computed)(()=>yf(n.emptyHint)?`当前 Agent:${O.value},输入问题后按 Enter 发送`:n.emptyHint);(0,a.watch)(()=>n.modelValue,e=>{u.value=e||``}),(0,a.watch)(()=>n.agentKey,e=>{e&&(m.value=e)}),(0,a.watch)(()=>n.sessionKey,()=>{p.value=``,d.value=!1,i.value={},f.value=l(n.initialMessages),w.value=null},{immediate:!0});function j(e){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function M(e,t){let n=f.value.findIndex(t=>t.key===e);n!==-1&&(f.value[n]={...f.value[n],...t})}function N(e,t){let n=f.value.findIndex(t=>t.key===e);if(n===-1)return;let r=f.value[n];if(r.role!==`ai`)return;let i=[...r.toolTimeline??[]],a=i.findIndex(e=>e.toolCallId===t.toolCallId),o=r.segments?[...r.segments]:[];if(a===-1){let e=r.content.length;if(o.length===0)o=[{type:`text`,start:0,end:e}];else for(let t=o.length-1;t>=0;t--){let n=o[t];if(n.type===`text`&&n.end===-1){o[t]={...n,end:e};break}}o.push({type:`tool`,toolCallId:t.toolCallId}),o.push({type:`text`,start:e,end:-1})}if(a===-1)i.push({toolCallId:t.toolCallId,toolName:t.toolName,title:t.title,status:t.status,input:t.input,output:t.output,error:t.error,stepNumber:t.stepNumber,startedAt:t.timestamp,durationMs:t.durationMs,approvalConfig:t.approvalConfig?{interruptId:t.approvalConfig.interruptId,description:t.approvalConfig.description,args:t.input??{},allowedDecisions:t.approvalConfig.allowedDecisions,editContent:``}:void 0});else{let e=i[a];i[a]={...e,toolName:t.toolName||e.toolName,title:t.title??e.title,status:t.status,input:t.input??e.input,output:t.output??e.output,error:t.error??e.error,stepNumber:t.stepNumber??e.stepNumber,durationMs:t.durationMs??e.durationMs,approvalConfig:t.approvalConfig&&!e.approvalConfig?{interruptId:t.approvalConfig.interruptId,description:t.approvalConfig.description,args:t.input??{},allowedDecisions:t.approvalConfig.allowedDecisions,editContent:``}:e.approvalConfig}}f.value[n]={...r,toolTimeline:i,segments:o,loading:!1}}function P(e){let t=e;return!t.segments||t.segments.length===0?t.content?[{type:`text`,text:t.content}]:[]:t.segments.map(e=>e.type===`tool`?e:{type:`text`,text:t.content.slice(e.start,e.end===-1?void 0:e.end)})}function F(e,t){if(e)return e.find(e=>e.toolCallId===t)}function I(e,t){return E(F(e.toolTimeline,t)?.toolName)===`timeline`}function L(e){let t=e.trim();if(!t)return e;try{return JSON.parse(t)}catch{return e}}function R(e,t){if(typeof e==`string`)return{title:e,status:`pending`};if(!e||typeof e!=`object`)return{title:`Todo ${t+1}`,status:`pending`};let n=e,r=typeof n.title==`string`&&n.title||typeof n.content==`string`&&n.content||typeof n.text==`string`&&n.text||typeof n.task==`string`&&n.task||`Todo ${t+1}`,i=typeof n.status==`string`&&n.status||typeof n.state==`string`&&n.state||(typeof n.done==`boolean`&&n.done?`completed`:`pending`);return{id:typeof n.id==`string`?n.id:void 0,title:r,status:String(i)}}function z(e){if(typeof e!=`string`)return[];let t=e.trim();if(!t)return[];let n=L(t);if(typeof n==`string`)return[];if(Array.isArray(n))return n.map((e,t)=>R(e,t));if(n&&typeof n==`object`){let e=n.todos;if(Array.isArray(e))return e.map((e,t)=>R(e,t))}return[]}function ee(e){let t=z(e.input),n=t.length?t:z(e.output);if(!n.length)return null;let r=n.filter(e=>String(e.title||``).trim().length>0);return r.length?{todos:r}:null}(0,a.watch)((0,a.computed)(()=>{for(let e=f.value.length-1;e>=0;e--){let t=f.value[e].toolTimeline;if(t?.length)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.toolName!==`write_todos`)continue;let r=ee(n);if(r)return r}}return null}),e=>{e?.todos?.length&&(w.value=e)},{immediate:!0});function B(e,t){let n=(t||``).trim();if(n)return n;let r=F(f.value.find(e=>e.key===p.value)?.toolTimeline,e);return r?.toolName?r.toolName:x.value?.review_configs.length===1?x.value.review_configs[0].action_name:``}function V(e,t){let n=f.value.findIndex(t=>t.key===e);if(n===-1)return;let r=f.value[n];if(r.role!==`ai`)return;let i=[...r.toolTimeline??[]],a=r.segments?[...r.segments]:[],o=Date.now();t.review_configs.forEach((e,n)=>{let s=e.action_name;if(!s)return;let c=t.action_requests.find(e=>e.name===s),l={interruptId:t.interrupt_id,description:c?.description||``,args:c?.args??{},allowedDecisions:e.allowed_decisions,editContent:typeof c?.args?.content==`string`?String(c.args.content):``},u=-1;for(let e=i.length-1;e>=0;e--){let t=i[e];if(t.toolName===s&&t.status===`running`){u=e;break}}if(u!==-1){i[u]={...i[u],status:`waiting`,approvalConfig:l};return}let d=`interrupt-${t.interrupt_id}-${n}`;i.push({toolCallId:d,toolName:s,title:s,status:`waiting`,stepNumber:i.length,startedAt:o,approvalConfig:l});let f=r.content.length;if(a.length===0)a=[{type:`text`,start:0,end:f}];else for(let e=a.length-1;e>=0;e--){let t=a[e];if(t.type===`text`&&t.end===-1){a[e]={...t,end:f};break}}a.push({type:`tool`,toolCallId:d}),a.push({type:`text`,start:f,end:-1})}),f.value[n]={...r,toolTimeline:i,segments:a,loading:!1}}function H(e,t){let n=B(e,t);n&&fe([{action_name:n,decision:`approve`}])}function U(e,t){let n=B(e,t);n&&fe([{action_name:n,decision:`reject`}])}function te(e,t,n){let r=B(e,t);r&&fe([{action_name:r,decision:`edit`,edited_content:n||``}])}function ne(e=!1){p.value=``,u.value=``,i.value={},x.value=null,S.value=!1,C.value={},w.value=null,r(`update:modelValue`,``),d.value=!1,f.value=[],(e?h.value.map(e=>e.agent):D.value?[D.value.agent]:[]).forEach(e=>{e.stop(),e.reset()})}function re(e){u.value=e,r(`update:modelValue`,e)}async function ie(e){let t=(e??u.value).trim();if(!t||d.value||!D.value)return;let n=j(`user`),i=j(`ai`);p.value=i,x.value=null,S.value=!1,C.value={},f.value.push({key:n,role:`user`,content:t}),f.value.push({key:i,role:`ai`,content:``,loading:!0,toolTimeline:[]}),u.value=``,r(`update:modelValue`,``),d.value=!0,r(`submit`,t,m.value);try{await D.value.agent.ask(t);let e=f.value.findIndex(e=>e.key===i);e!==-1&&f.value[e].loading&&(f.value[e]={...f.value[e],content:f.value[e].content||`未收到响应,请重试`,loading:!1})}catch(e){let t=e instanceof Error?e.message:`请求失败`,n=f.value.find(e=>e.key===i)?.content||``;M(i,{content:n?`${n}\n\n请求失败:${t}`:`请求失败:${t}`,loading:!1})}finally{d.value=!1,x.value||(p.value=``)}}function ae(){if(!d.value||!D.value)return;let e=p.value;e&&M(e,{loading:!1}),p.value=``,d.value=!1,D.value.agent.stop(),r(`cancel`)}function oe(){ne(),r(`reset`)}function se(e){!e||e===m.value||(m.value=e,r(`update:agentKey`,e),ne(!0),r(`agentChange`,e))}let ce=(e,t)=>{let n=p.value;n&&M(n,{content:t,loading:!1})},le=()=>{let e=p.value;if(!e)return;let t=f.value.findIndex(t=>t.key===e);t!==-1&&f.value[t].loading&&(f.value[t]={...f.value[t],content:f.value[t].content||`已停止`,loading:!1})},ue=e=>{let t=p.value;t&&N(t,e)},de=e=>{let t=p.value;if(!t)return;x.value=e;let n={};for(let t of e.action_requests)n[t.name]=typeof t.args.content==`string`?t.args.content:``;C.value=n,V(t,e),M(t,{loading:!1})};async function fe(e){if(!D.value||S.value)return;let t=p.value;S.value=!0,x.value=null,t&&M(t,{loading:!1});try{await D.value.agent.resume(e),t&&M(t,{loading:!1})}catch(e){let n=e instanceof Error?e.message:`恢复失败`;t&&M(t,{content:`${f.value.find(e=>e.key===t)?.content||``}\n\n操作恢复失败:${n}`,loading:!1})}finally{S.value=!1,x.value||(p.value=``)}}return n.agents.forEach(v),(0,a.onBeforeUnmount)(()=>{p.value=``,d.value&&D.value&&D.value.agent.stop(),h.value.forEach(y)}),(t,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`section`,pI,[(0,a.createElementVNode)(`header`,mI,[(0,a.createElementVNode)(`div`,hI,[(0,a.createElementVNode)(`h2`,gI,(0,a.toDisplayString)(e.title),1),e.subtitle?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,_I,(0,a.toDisplayString)(e.subtitle),1)):(0,a.createCommentVNode)(``,!0)]),(0,a.createElementVNode)(`div`,vI,[(0,a.renderSlot)(t.$slots,`header-actions`,{},()=>[(0,a.createVNode)((0,a.unref)(zf),{type:`primary`,disabled:d.value,onClick:oe},{default:(0,a.withCtx)(()=>[...r[0]||=[(0,a.createTextVNode)(`新会话`,-1)]]),_:1},8,[`disabled`])],!0)])]),w.value?((0,a.openBlock)(),(0,a.createBlock)(fF,{key:0,todos:w.value.todos},null,8,[`todos`])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`section`,yI,[T.value.length?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,SI,[(0,a.createVNode)((0,a.unref)(wN),{items:T.value,roles:e.roles,style:{width:`100%`},"auto-scroll":!0},{message:(0,a.withCtx)(n=>[(0,a.renderSlot)(t.$slots,`message`,(0,a.normalizeProps)((0,a.guardReactiveProps)(n)),()=>[n.item.loading&&!n.item.content?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,CI,[(0,a.createVNode)((0,a.unref)(bd),{style:{fontSize:`16px`,color:`var(--primary-color, var(--primary))`,marginRight:`8px`}}),r[2]||=(0,a.createElementVNode)(`span`,{class:`loading-text`},`AI 正在思考...`,-1)])):(0,a.createCommentVNode)(``,!0),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(P(n.item),(t,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:r},[t.type===`tool`&&I(n.item,t.toolCallId)?((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(k(n.item,t.toolCallId)),{key:0,tool:F(n.item.toolTimeline,t.toolCallId),expanded:s(String(n.item.key),t.toolCallId),"step-number":F(n.item.toolTimeline,t.toolCallId)?.stepNumber,resolving:S.value,onToggle:e=>c(String(n.item.key),t.toolCallId),onApprove:e=>H(t.toolCallId,e),onReject:e=>U(t.toolCallId,e),onEdit:(e,n)=>te(t.toolCallId,e,n)},null,40,[`tool`,`expanded`,`step-number`,`resolving`,`onToggle`,`onApprove`,`onReject`,`onEdit`])):t.type===`text`&&t.text?((0,a.openBlock)(),(0,a.createBlock)(NP,{key:1,content:t.text,"custom-html-tags":e.customHtmlTags,"custom-components":e.customComponents},null,8,[`content`,`custom-html-tags`,`custom-components`])):(0,a.createCommentVNode)(``,!0)],64))),128))],!0)]),_:3},8,[`items`,`roles`])])):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,bI,[(0,a.createVNode)((0,a.unref)(tE),{class:`empty-icon`}),r[1]||=(0,a.createElementVNode)(`p`,{class:`empty-title`},`开始你的对话`,-1),A.value?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,xI,(0,a.toDisplayString)(A.value),1)):(0,a.createCommentVNode)(``,!0)]))]),(0,a.createElementVNode)(`footer`,wI,[(0,a.createElementVNode)(`div`,TI,[(0,a.createVNode)((0,a.unref)(_P),{value:u.value,placeholder:`输入问题,Enter 发送`,"submit-type":`enter`,loading:d.value,"onUpdate:value":re,onSubmit:ie,onCancel:ae},{footer:(0,a.withCtx)(()=>[(0,a.createVNode)(wP,{value:m.value,"built-in-agents":n.agents,disabled:d.value,"storage-key":n.agentPickerStorageKey,"onUpdate:value":se,"onUpdate:agents":b},null,8,[`value`,`built-in-agents`,`disabled`,`storage-key`])]),_:1},8,[`value`,`loading`])])])]))}}),[[`__scopeId`,`data-v-de8604c5`]]),DI={class:`agent-chat`},OI={class:`agent-chat__sidebar-header`},kI={key:0,class:`agent-chat__state-tip`},AI={key:1,class:`agent-chat__state-tip agent-chat__state-tip--error`},jI={class:`agent-chat__main`},MI={key:0,class:`agent-chat__toolbar`},NI=CP((0,a.defineComponent)({__name:`index`,props:{agentKey:{default:``},agents:{},emptyHint:{default:`从左侧选择历史会话,或直接开始新的对话`},hideHistory:{type:Boolean},onAgentEvent:{},title:{default:``}},emits:[`update:agentKey`],setup(e,{expose:t,emit:n}){let r=e,i=n,o=(0,a.ref)([...r.agents]),s=(0,a.ref)(r.agentKey||r.agents[0]?.key||``),c=(0,a.computed)(()=>o.value.find(e=>e.key===s.value)??o.value[0]),l=(0,a.computed)(()=>r.hideHistory===void 0?c.value?.agent.supportsHistory?.()??!1:!r.hideHistory);(0,a.watch)(()=>r.agentKey,e=>{e&&e!==s.value&&T(e)});let u=(0,a.ref)(!1),d=(0,a.ref)(``),f=(0,a.ref)(!1),p=(0,a.ref)(``),m=(0,a.ref)([]),h=(0,a.ref)(``),g=(0,a.ref)(``),_=(0,a.ref)([]),v=(0,a.ref)(`session:new:${Date.now()}`),y=(0,a.ref)(!1),b=(0,a.computed)(()=>m.value.map(e=>({key:e.id,label:e.title||`新对话`}))),x=(0,a.computed)(()=>{let e=d.value.trim().toLowerCase();return e?b.value.filter(t=>t.label.toLowerCase().includes(e)):b.value});async function S(){if(c.value){f.value=!0,p.value=``;try{m.value=(await c.value.agent.listConversations()).items}catch(e){p.value=e instanceof Error?e.message:`加载失败`}finally{f.value=!1}}}(0,a.onMounted)(()=>{l.value&&S()});function C(e){!e||e===s.value||T(e)}function w(e){if(o.value=e,!e.find(e=>e.key===s.value)){let t=e[0]?.key||``;t&&(s.value=t,i(`update:agentKey`,t))}}function T(e){c.value?.agent.stop(),c.value?.agent.reset(),s.value=e,i(`update:agentKey`,e),O(),l.value&&S()}function E(){return c.value?.agent}function D(){return s.value}function O(){h.value=``,g.value=``,_.value=[],v.value=`session:new:${Date.now()}`}function k(){u.value=!1,c.value?.agent.stop(),c.value?.agent.reset(),O()}async function A(e){if(e!==h.value){u.value=!1,h.value=e,g.value=m.value.find(t=>t.id===e)?.title||`历史会话`,c.value?.agent.stop(),y.value=!0;try{_.value=await c.value?.agent.getConversationDetail(e)??[]}catch{_.value=[]}finally{y.value=!1}v.value=`session:${s.value}:${e}`}}let j=(0,a.computed)(()=>r.title||g.value||c.value?.label||`AI 助手`),M=(0,a.computed)(()=>y.value?`正在加载历史消息…`:h.value?`已载入历史会话`:``),N=(0,a.h)($l,{size:32,style:{background:`var(--primary-color, var(--primary))`,flexShrink:`0`}},()=>`AI`),P=(0,a.h)($l,{size:32,style:{background:`var(--success-color, #22c55e)`,flexShrink:`0`}},()=>`我`),F={ai:{placement:`start`,avatar:N,styles:{content:{background:`var(--component-background, #fff)`,border:`1px solid var(--border-color-split, var(--border))`,borderBottomLeftRadius:`4px`,borderRadius:`12px`,color:`var(--text-color, var(--text))`,fontSize:`14px`,lineHeight:`1.65`,padding:`0px 16px`,maxWidth:`74%`}}},user:{placement:`end`,avatar:P,styles:{content:{background:`var(--primary-color, var(--primary))`,borderBottomRightRadius:`4px`,borderRadius:`12px`,color:`#fff`,fontSize:`14px`,lineHeight:`1.65`,padding:`0px 16px`,maxWidth:`74%`}}}};return t({reloadConversations:S,newChat:k,getCurrentAgentRuntime:E,getCurrentAgentKey:D}),(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,DI,[l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`aside`,{key:0,class:(0,a.normalizeClass)([`agent-chat__sidebar`,{"is-open":u.value}])},[(0,a.createElementVNode)(`button`,{class:`agent-chat__close-btn`,"aria-label":`关闭侧边栏`,onClick:n[0]||=e=>u.value=!1},[(0,a.createVNode)((0,a.unref)(_v))]),(0,a.createElementVNode)(`div`,OI,[n[5]||=(0,a.createElementVNode)(`span`,{class:`agent-chat__sidebar-title`},`历史会话`,-1),(0,a.createVNode)((0,a.unref)(zf),{type:`text`,class:`agent-chat__new-btn`,disabled:f.value,onClick:k},{icon:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(lE))]),default:(0,a.withCtx)(()=>[n[4]||=(0,a.createTextVNode)(` 新建 `,-1)]),_:1},8,[`disabled`])]),(0,a.createVNode)((0,a.unref)(W_),{value:d.value,"onUpdate:value":n[1]||=e=>d.value=e,placeholder:`搜索对话…`,"allow-clear":``,class:`agent-chat__search`},{prefix:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(f_),{style:{color:`#94a3b8`}})]),_:1},8,[`value`]),f.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,kI,[(0,a.createVNode)((0,a.unref)(bd),{style:{"margin-right":`6px`}}),n[6]||=(0,a.createTextVNode)(`加载中… `,-1)])):p.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,AI,[(0,a.createVNode)((0,a.unref)(xE),{style:{"margin-right":`6px`}}),(0,a.createTextVNode)((0,a.toDisplayString)(p.value)+` `,1),(0,a.createVNode)((0,a.unref)(zf),{size:`small`,type:`link`,onClick:S},{default:(0,a.withCtx)(()=>[...n[7]||=[(0,a.createTextVNode)(`重试`,-1)]]),_:1})])):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)((0,a.unref)(LN),{"active-key":h.value,items:x.value,class:`agent-chat__conv-list`,"on-active-change":A},null,8,[`active-key`,`items`])],2)):(0,a.createCommentVNode)(``,!0),u.value&&l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,class:`agent-chat__mask`,onClick:n[2]||=e=>u.value=!1})):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`section`,jI,[l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,MI,[(0,a.createVNode)((0,a.unref)(zf),{class:`agent-chat__history-btn`,onClick:n[3]||=e=>u.value=!0},{default:(0,a.withCtx)(()=>[...n[8]||=[(0,a.createTextVNode)(` 历史会话`,-1)]]),_:1})])):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(EI,{"agent-key":s.value,agents:r.agents,roles:F,"session-key":v.value,"initial-messages":_.value,title:j.value,subtitle:M.value,"empty-hint":e.emptyHint,"on-agent-event":r.onAgentEvent,class:`agent-chat__panel`,"onUpdate:agentKey":C,"onUpdate:agents":w,onReset:k},null,8,[`agent-key`,`agents`,`session-key`,`initial-messages`,`title`,`subtitle`,`empty-hint`,`on-agent-event`])])]))}}),[[`__scopeId`,`data-v-a1f03075`]]);function PI(e){let t=e.split(`
355
+ `?(u+=`\\n`,t+=2):(u+=n,t+=2)}else{let n=e.charAt(t);n===`"`&&e[t-1]!==`\\`?(u+=`\\${n}`,t++):LF(n)?(u+=QF[n],t++):(OF(n)||D(n),u+=n,t++)}o&&f()}}return!1}function v(){let r=!1;for(a();e[t]===`+`;){r=!0,t++,a(),n=KF(n,`"`,!0);let e=n.length;n=_()?JF(n,e,1):qF(n,`"`)}return r}function y(){let r=t,i=``,a=!1;for(e[t]===`-`&&(i+=e[t],t++,!DF(e[t])&&E()&&(i+=`0`)),e[t]===`0`&&DF(e[t+1])&&(a=!0);DF(e[t]);)i+=e[t],t++;if(e[t]===`.`)for((i===``||i===`-`)&&(i+=`0`),i+=e[t],t++,DF(e[t])||(i+=`0`);DF(e[t]);)i+=e[t],t++;if(t>r){if(e[t]===`e`||e[t]===`E`)for(i===`-`&&(a=!0),i+=e[t],t++,(e[t]===`-`||e[t]===`+`)&&(i+=e[t],t++),DF(e[t])||(i+=`0`);DF(e[t]);)i+=e[t],t++;return E()?(n+=a?`"${e.substring(r,t)}"`:i,!0):(t=r,!1)}return!1}function b(){return x(`true`,`true`)||x(`false`,`false`)||x(`null`,`null`)||x(`True`,`true`)||x(`False`,`false`)||x(`None`,`null`)}function x(r,i){return e.slice(t,t+r.length)===r&&!jF(e[t+r.length])?(n+=i,t+=r.length,!0):!1}function S(r){let a=t;if(AF(e[t])){for(;t<e.length&&jF(e[t]);)t++;let n=t;for(;RF(e,n);)n++;if(e[n]===`(`)return t=n+1,i(),e[t]===`)`&&(t++,e[t]===`;`&&t++),!0}for(;t<e.length&&!PF(e[t])&&!VF(e[t])&&(!r||e[t]!==`:`);)t++;if(e[t-1]===`:`&&MF.test(e.substring(a,t+2)))for(;t<e.length&&NF.test(e[t]);)t++;if(t>a){for(;RF(e,t-1)&&t>0;)t--;let r=e.slice(a,t);return n+=r===`undefined`?`null`:JSON.stringify(r),e[t]===`"`&&t++,!0}}function C(){if(e[t]===`/`){let r=t;for(t++;t<e.length&&(e[t]!==`/`||e[t-1]===`\\`);)t++;return t++,n+=JSON.stringify(e.substring(r,t)),!0}}function w(t){let n=t;for(;n>0&&RF(e,n);)n--;return n}function T(t){let n=t+1;for(;n<e.length&&RF(e,n);)n++;return n>=e.length||kF(e[n])}function E(){return t>=e.length||kF(e[t])||RF(e,t)}function D(e){throw new pF(`Invalid character ${JSON.stringify(e)}`,t)}function O(){throw new pF(`Unexpected character ${JSON.stringify(e[t])}`,t)}function k(){throw new pF(`Unexpected end of json string`,e.length)}function A(){throw new pF(`Object key expected`,t)}function j(){throw new pF(`Colon expected`,t)}function M(){throw new pF(`Invalid unicode character "${e.slice(t,t+6)}"`,t)}}function tI(e,t){return e[t]===`*`&&e[t+1]===`/`}var nI=[`role`,`tabindex`],rI={class:`tool-call-node__prefix`},iI={class:`tool-call-node__title`},aI={key:0,class:`tool-call-node__toggle`},oI={key:0,class:`smdr__body`},sI={key:0,class:`smdr__error`},cI={class:`smdr__tabs`},lI=[`onClick`],uI={class:`smdr__content`},dI=CP((0,a.defineComponent)({__name:`SaveModuleDocsRenderer`,props:{tool:{},expanded:{type:Boolean},stepNumber:{},resolving:{type:Boolean}},emits:[`toggle`,`approve`,`reject`,`edit`],setup(e,{emit:t}){let n=e,r=(0,a.computed)(()=>{let e=n.tool.input;if(!e)return{};if(typeof e==`object`)return e;if(typeof e==`string`)try{return JSON.parse(eI(e))}catch{return{}}return{}}),i=[{key:`requirement_docs`,label:`需求文档`},{key:`technical_docs`,label:`技术文档`},{key:`changelog_docs`,label:`变更日志`}],o=(0,a.computed)(()=>i.filter(e=>{let t=r.value[e.key];return typeof t==`string`&&t.trim().length>0}).map(e=>({key:e.key,label:e.label,content:r.value[e.key]}))),s=(0,a.computed)(()=>o.value.length>0||n.tool.status===`error`),c=(0,a.computed)(()=>{let e=r.value.model_name;return e?`存储文档:${e}`:n.tool.title||`存储模块文档`}),l=(0,a.ref)(o.value[0]?.key??``);return(0,a.watch)(()=>o.value[0]?.key,e=>{e&&!o.value.find(e=>e.key===l.value)&&(l.value=e)},{immediate:!0}),(e,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:(0,a.normalizeClass)([`tool-call-node`,`is-${n.tool.status||`running`}`])},[(0,a.createElementVNode)(`div`,{class:(0,a.normalizeClass)([`tool-call-node__header`,{"tool-call-node__header--clickable":s.value}]),role:s.value?`button`:void 0,tabindex:s.value?0:void 0,onClick:r[0]||=e=>s.value&&t(`toggle`),onKeydown:[r[1]||=(0,a.withKeys)((0,a.withModifiers)(e=>s.value&&t(`toggle`),[`prevent`]),[`enter`]),r[2]||=(0,a.withKeys)((0,a.withModifiers)(e=>s.value&&t(`toggle`),[`prevent`]),[`space`])]},[(0,a.createElementVNode)(`span`,rI,[n.tool.status===`running`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(bd),{key:0,class:`tool-call-node__prefix-icon is-spinning`})):n.tool.status===`success`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(tv),{key:1,class:`tool-call-node__prefix-icon`})):n.tool.status===`error`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(lv),{key:2,class:`tool-call-node__prefix-icon`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(qT),{key:3,class:`tool-call-node__prefix-icon is-waiting`})),(0,a.createElementVNode)(`span`,iI,(0,a.toDisplayString)(c.value),1)]),s.value?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,aI,[((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(n.expanded?(0,a.unref)(_E):(0,a.unref)(IC)),{class:`tool-call-node__toggle-icon`}))])):(0,a.createCommentVNode)(``,!0)],42,nI),n.expanded&&s.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,oI,[n.tool.status===`error`?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,sI,(0,a.toDisplayString)(n.tool.error||`执行失败`),1)):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:1},[(0,a.createElementVNode)(`div`,cI,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(o.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:e.key,class:(0,a.normalizeClass)([`smdr__tab`,{"smdr__tab--active":l.value===e.key}]),onClick:t=>l.value=e.key},(0,a.toDisplayString)(e.label),11,lI))),128))]),(0,a.createElementVNode)(`div`,uI,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(o.value,e=>(0,a.withDirectives)(((0,a.openBlock)(),(0,a.createBlock)(NP,{key:e.key,content:e.content},null,8,[`content`])),[[a.vShow,l.value===e.key]])),128))])],64))])):(0,a.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-2ab50b51`]]),fI={save_module_docs_tool:dI},pI={class:`chat-panel`},mI={class:`chat-header`},hI={class:`header-meta`},gI={class:`conv-heading`},_I={key:0,class:`conv-subheading`},vI={class:`header-actions`},yI={class:`chat-body`},bI={key:0,class:`empty-state`},xI={key:0,class:`empty-sub`},SI={key:1,class:`messages-wrapper`},CI={key:0,class:`ai-loading`},wI={class:`input-footer`},TI={class:`input-panel`},EI=CP((0,a.defineComponent)({__name:`index`,props:{title:{default:`对话助手`},subtitle:{default:``},emptyHint:{default:``},agents:{},agentKey:{default:``},agentPickerStorageKey:{default:`chat_panel_agent`},roles:{},modelValue:{default:``},customHtmlTags:{},customComponents:{},sessionKey:{default:``},initialMessages:{default:()=>[]},onAgentEvent:{},defaultToolRenderers:{default:()=>fI}},emits:[`update:modelValue`,`update:agentKey`,`submit`,`cancel`,`reset`,`agentChange`,`update:agents`],setup(e,{emit:t}){let n=e,r=t,i=(0,a.ref)({});function o(e,t){return`${e}:${t}`}function s(e,t){return!!i.value[o(e,t)]}function c(e,t){let n=o(e,t);i.value={...i.value,[n]:!i.value[n]}}function l(e){return e.map(e=>({...e,toolTimeline:e.toolTimeline?.map(e=>({...e})),segments:e.segments?.map(e=>({...e}))}))}let u=(0,a.ref)(n.modelValue||``),d=(0,a.ref)(!1),f=(0,a.ref)(l(n.initialMessages)),p=(0,a.ref)(``),m=(0,a.ref)(n.agentKey||n.agents[0]?.key||``),h=(0,a.ref)([...n.agents]),g=new Map;function _(e){return{replyChange:(t,r)=>{n.onAgentEvent?.({event:`replyChange`,agentKey:e.key,args:[t,r]}),ce(t,r)},stop:()=>{n.onAgentEvent?.({event:`stop`,agentKey:e.key,args:[]}),le()},toolCall:t=>{n.onAgentEvent?.({event:`toolCall`,agentKey:e.key,args:[t]}),ue(t)},interrupt:t=>{n.onAgentEvent?.({event:`interrupt`,agentKey:e.key,args:[t]}),de(t)}}}function v(e){if(g.has(e.key))return;let t=_(e);g.set(e.key,t),e.agent.on(`replyChange`,t.replyChange),e.agent.on(`stop`,t.stop),e.agent.on(`toolCall`,t.toolCall);let n=e.agent;typeof n.onInterrupt==`function`&&n.onInterrupt(t.interrupt)}function y(e){let t=g.get(e.key);if(!t)return;e.agent.off(`replyChange`,t.replyChange),e.agent.off(`stop`,t.stop),e.agent.off(`toolCall`,t.toolCall);let n=e.agent;typeof n.offInterrupt==`function`&&n.offInterrupt(t.interrupt),g.delete(e.key)}function b(e){let t=h.value;t.forEach(t=>{e.find(e=>e.key===t.key)||y(t)}),e.forEach(e=>{t.find(t=>t.key===e.key)||v(e)}),h.value=e,r(`update:agents`,e),e.find(e=>e.key===m.value)||(m.value=e[0]?.key||``,r(`update:agentKey`,m.value))}let x=(0,a.ref)(null),S=(0,a.ref)(!1),C=(0,a.ref)({}),w=(0,a.ref)(null),T=(0,a.computed)(()=>f.value);function E(e){return e===`write_todos`?`top`:`timeline`}let D=(0,a.computed)(()=>h.value.find(e=>e.key===m.value)||h.value[0]||null),O=(0,a.computed)(()=>D.value?.label||`未选择`);function k(e,t){let r=F(e.toolTimeline,t);if(!r?.toolName)return oF;let i=D.value?.toolRenderers,a=n.defaultToolRenderers;return i?.[r.toolName]??a?.[r.toolName]??oF}let A=(0,a.computed)(()=>yf(n.emptyHint)?`当前 Agent:${O.value},输入问题后按 Enter 发送`:n.emptyHint);(0,a.watch)(()=>n.modelValue,e=>{u.value=e||``}),(0,a.watch)(()=>n.agentKey,e=>{e&&(m.value=e)}),(0,a.watch)(()=>n.sessionKey,()=>{p.value=``,d.value=!1,i.value={},f.value=l(n.initialMessages),w.value=null},{immediate:!0});function j(e){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function M(e,t){let n=f.value.findIndex(t=>t.key===e);n!==-1&&(f.value[n]={...f.value[n],...t})}function N(e,t){let n=f.value.findIndex(t=>t.key===e);if(n===-1)return;let r=f.value[n];if(r.role!==`ai`)return;let i=[...r.toolTimeline??[]],a=i.findIndex(e=>e.toolCallId===t.toolCallId),o=r.segments?[...r.segments]:[];if(a===-1){let e=r.content.length;if(o.length===0)o=[{type:`text`,start:0,end:e}];else for(let t=o.length-1;t>=0;t--){let n=o[t];if(n.type===`text`&&n.end===-1){o[t]={...n,end:e};break}}o.push({type:`tool`,toolCallId:t.toolCallId}),o.push({type:`text`,start:e,end:-1})}if(a===-1)i.push({toolCallId:t.toolCallId,toolName:t.toolName,title:t.title,status:t.status,input:t.input,output:t.output,error:t.error,stepNumber:t.stepNumber,startedAt:t.timestamp,durationMs:t.durationMs,approvalConfig:t.approvalConfig?{interruptId:t.approvalConfig.interruptId,description:t.approvalConfig.description,args:t.input??{},allowedDecisions:t.approvalConfig.allowedDecisions,editContent:``}:void 0});else{let e=i[a];i[a]={...e,toolName:t.toolName||e.toolName,title:t.title??e.title,status:t.status,input:t.input??e.input,output:t.output??e.output,error:t.error??e.error,stepNumber:t.stepNumber??e.stepNumber,durationMs:t.durationMs??e.durationMs,approvalConfig:t.approvalConfig&&!e.approvalConfig?{interruptId:t.approvalConfig.interruptId,description:t.approvalConfig.description,args:t.input??{},allowedDecisions:t.approvalConfig.allowedDecisions,editContent:``}:e.approvalConfig}}f.value[n]={...r,toolTimeline:i,segments:o,loading:!1}}function P(e){let t=e;return!t.segments||t.segments.length===0?t.content?[{type:`text`,text:t.content}]:[]:t.segments.map(e=>e.type===`tool`?e:{type:`text`,text:t.content.slice(e.start,e.end===-1?void 0:e.end)})}function F(e,t){if(e)return e.find(e=>e.toolCallId===t)}function I(e,t){return E(F(e.toolTimeline,t)?.toolName)===`timeline`}function L(e){let t=e.trim();if(!t)return e;try{return JSON.parse(t)}catch{return e}}function R(e,t){if(typeof e==`string`)return{title:e,status:`pending`};if(!e||typeof e!=`object`)return{title:`Todo ${t+1}`,status:`pending`};let n=e,r=typeof n.title==`string`&&n.title||typeof n.content==`string`&&n.content||typeof n.text==`string`&&n.text||typeof n.task==`string`&&n.task||`Todo ${t+1}`,i=typeof n.status==`string`&&n.status||typeof n.state==`string`&&n.state||(typeof n.done==`boolean`&&n.done?`completed`:`pending`);return{id:typeof n.id==`string`?n.id:void 0,title:r,status:String(i)}}function z(e){if(typeof e!=`string`)return[];let t=e.trim();if(!t)return[];let n=L(t);if(typeof n==`string`)return[];if(Array.isArray(n))return n.map((e,t)=>R(e,t));if(n&&typeof n==`object`){let e=n.todos;if(Array.isArray(e))return e.map((e,t)=>R(e,t))}return[]}function ee(e){let t=z(e.input),n=t.length?t:z(e.output);if(!n.length)return null;let r=n.filter(e=>String(e.title||``).trim().length>0);return r.length?{todos:r}:null}(0,a.watch)((0,a.computed)(()=>{for(let e=f.value.length-1;e>=0;e--){let t=f.value[e].toolTimeline;if(t?.length)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.toolName!==`write_todos`)continue;let r=ee(n);if(r)return r}}return null}),e=>{e?.todos?.length&&(w.value=e)},{immediate:!0});function B(e,t){let n=(t||``).trim();if(n)return n;let r=F(f.value.find(e=>e.key===p.value)?.toolTimeline,e);return r?.toolName?r.toolName:x.value?.review_configs.length===1?x.value.review_configs[0].action_name:``}function V(e,t){let n=f.value.findIndex(t=>t.key===e);if(n===-1)return;let r=f.value[n];if(r.role!==`ai`)return;let i=[...r.toolTimeline??[]],a=r.segments?[...r.segments]:[],o=Date.now();t.review_configs.forEach((e,n)=>{let s=e.action_name;if(!s)return;let c=t.action_requests.find(e=>e.name===s),l={interruptId:t.interrupt_id,description:c?.description||``,args:c?.args??{},allowedDecisions:e.allowed_decisions,editContent:typeof c?.args?.content==`string`?String(c.args.content):``},u=-1;for(let e=i.length-1;e>=0;e--){let t=i[e];if(t.toolName===s&&t.status===`running`){u=e;break}}if(u!==-1){i[u]={...i[u],status:`waiting`,approvalConfig:l};return}let d=`interrupt-${t.interrupt_id}-${n}`;i.push({toolCallId:d,toolName:s,title:s,status:`waiting`,stepNumber:i.length,startedAt:o,approvalConfig:l});let f=r.content.length;if(a.length===0)a=[{type:`text`,start:0,end:f}];else for(let e=a.length-1;e>=0;e--){let t=a[e];if(t.type===`text`&&t.end===-1){a[e]={...t,end:f};break}}a.push({type:`tool`,toolCallId:d}),a.push({type:`text`,start:f,end:-1})}),f.value[n]={...r,toolTimeline:i,segments:a,loading:!1}}function H(e,t){let n=B(e,t);n&&fe([{action_name:n,decision:`approve`}])}function U(e,t){let n=B(e,t);n&&fe([{action_name:n,decision:`reject`}])}function te(e,t,n){let r=B(e,t);r&&fe([{action_name:r,decision:`edit`,edited_content:n||``}])}function ne(e=!1){p.value=``,u.value=``,i.value={},x.value=null,S.value=!1,C.value={},w.value=null,r(`update:modelValue`,``),d.value=!1,f.value=[],(e?h.value.map(e=>e.agent):D.value?[D.value.agent]:[]).forEach(e=>{e.stop(),e.reset()})}function re(e){u.value=e,r(`update:modelValue`,e)}async function ie(e){let t=(e??u.value).trim();if(!t||d.value||!D.value)return;let n=j(`user`),i=j(`ai`);p.value=i,x.value=null,S.value=!1,C.value={},f.value.push({key:n,role:`user`,content:t}),f.value.push({key:i,role:`ai`,content:``,loading:!0,toolTimeline:[]}),u.value=``,r(`update:modelValue`,``),d.value=!0,r(`submit`,t,m.value);try{await D.value.agent.ask(t);let e=f.value.findIndex(e=>e.key===i);e!==-1&&f.value[e].loading&&(f.value[e]={...f.value[e],content:f.value[e].content||`未收到响应,请重试`,loading:!1})}catch(e){let t=e instanceof Error?e.message:`请求失败`,n=f.value.find(e=>e.key===i)?.content||``;M(i,{content:n?`${n}\n\n请求失败:${t}`:`请求失败:${t}`,loading:!1})}finally{d.value=!1,x.value||(p.value=``)}}function ae(){if(!d.value||!D.value)return;let e=p.value;e&&M(e,{loading:!1}),p.value=``,d.value=!1,D.value.agent.stop(),r(`cancel`)}function oe(){ne(),r(`reset`)}function se(e){!e||e===m.value||(m.value=e,r(`update:agentKey`,e),ne(!0),r(`agentChange`,e))}let ce=(e,t)=>{let n=p.value;n&&M(n,{content:t,loading:!1})},le=()=>{let e=p.value;if(!e)return;let t=f.value.findIndex(t=>t.key===e);t!==-1&&f.value[t].loading&&(f.value[t]={...f.value[t],content:f.value[t].content||`已停止`,loading:!1})},ue=e=>{let t=p.value;t&&N(t,e)},de=e=>{let t=p.value;if(!t)return;x.value=e;let n={};for(let t of e.action_requests)n[t.name]=typeof t.args.content==`string`?t.args.content:``;C.value=n,V(t,e),M(t,{loading:!1})};async function fe(e){if(!D.value||S.value)return;let t=p.value;S.value=!0,x.value=null,t&&M(t,{loading:!1});try{await D.value.agent.resume(e),t&&M(t,{loading:!1})}catch(e){let n=e instanceof Error?e.message:`恢复失败`;t&&M(t,{content:`${f.value.find(e=>e.key===t)?.content||``}\n\n操作恢复失败:${n}`,loading:!1})}finally{S.value=!1,x.value||(p.value=``)}}return n.agents.forEach(v),(0,a.onBeforeUnmount)(()=>{p.value=``,d.value&&D.value&&D.value.agent.stop(),h.value.forEach(y)}),(t,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`section`,pI,[(0,a.createElementVNode)(`header`,mI,[(0,a.createElementVNode)(`div`,hI,[(0,a.createElementVNode)(`h2`,gI,(0,a.toDisplayString)(e.title),1),e.subtitle?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,_I,(0,a.toDisplayString)(e.subtitle),1)):(0,a.createCommentVNode)(``,!0)]),(0,a.createElementVNode)(`div`,vI,[(0,a.renderSlot)(t.$slots,`header-actions`,{},()=>[(0,a.createVNode)((0,a.unref)(zf),{type:`primary`,disabled:d.value,onClick:oe},{default:(0,a.withCtx)(()=>[...r[0]||=[(0,a.createTextVNode)(`新会话`,-1)]]),_:1},8,[`disabled`])],!0)])]),w.value?((0,a.openBlock)(),(0,a.createBlock)(fF,{key:0,todos:w.value.todos},null,8,[`todos`])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`section`,yI,[T.value.length?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,SI,[(0,a.createVNode)((0,a.unref)(wN),{items:T.value,roles:e.roles,style:{width:`100%`},"auto-scroll":!0},{message:(0,a.withCtx)(n=>[(0,a.renderSlot)(t.$slots,`message`,(0,a.normalizeProps)((0,a.guardReactiveProps)(n)),()=>[n.item.loading&&!n.item.content?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,CI,[(0,a.createVNode)((0,a.unref)(bd),{style:{fontSize:`16px`,color:`var(--primary-color, var(--primary))`,marginRight:`8px`}}),r[2]||=(0,a.createElementVNode)(`span`,{class:`loading-text`},`AI 正在思考...`,-1)])):(0,a.createCommentVNode)(``,!0),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(P(n.item),(t,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:r},[t.type===`tool`&&I(n.item,t.toolCallId)?((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(k(n.item,t.toolCallId)),{key:0,tool:F(n.item.toolTimeline,t.toolCallId),expanded:s(String(n.item.key),t.toolCallId),"step-number":F(n.item.toolTimeline,t.toolCallId)?.stepNumber,resolving:S.value,onToggle:e=>c(String(n.item.key),t.toolCallId),onApprove:e=>H(t.toolCallId,e),onReject:e=>U(t.toolCallId,e),onEdit:(e,n)=>te(t.toolCallId,e,n)},null,40,[`tool`,`expanded`,`step-number`,`resolving`,`onToggle`,`onApprove`,`onReject`,`onEdit`])):t.type===`text`&&t.text?((0,a.openBlock)(),(0,a.createBlock)(NP,{key:1,content:t.text,"custom-html-tags":e.customHtmlTags,"custom-components":e.customComponents},null,8,[`content`,`custom-html-tags`,`custom-components`])):(0,a.createCommentVNode)(``,!0)],64))),128))],!0)]),_:3},8,[`items`,`roles`])])):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,bI,[(0,a.createVNode)((0,a.unref)(tE),{class:`empty-icon`}),r[1]||=(0,a.createElementVNode)(`p`,{class:`empty-title`},`开始你的对话`,-1),A.value?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,xI,(0,a.toDisplayString)(A.value),1)):(0,a.createCommentVNode)(``,!0)]))]),(0,a.createElementVNode)(`footer`,wI,[(0,a.createElementVNode)(`div`,TI,[(0,a.createVNode)((0,a.unref)(_P),{value:u.value,placeholder:`输入问题,Enter 发送`,"submit-type":`enter`,loading:d.value,"onUpdate:value":re,onSubmit:ie,onCancel:ae},{footer:(0,a.withCtx)(()=>[(0,a.createVNode)(wP,{value:m.value,"built-in-agents":n.agents,disabled:d.value,"storage-key":n.agentPickerStorageKey,"onUpdate:value":se,"onUpdate:agents":b},null,8,[`value`,`built-in-agents`,`disabled`,`storage-key`])]),_:1},8,[`value`,`loading`])])])]))}}),[[`__scopeId`,`data-v-de8604c5`]]),DI={class:`agent-chat`},OI={class:`agent-chat__sidebar-header`},kI={key:0,class:`agent-chat__state-tip`},AI={key:1,class:`agent-chat__state-tip agent-chat__state-tip--error`},jI={class:`agent-chat__main`},MI={key:0,class:`agent-chat__toolbar`},NI=CP((0,a.defineComponent)({__name:`index`,props:{agentKey:{default:``},agents:{},emptyHint:{default:`从左侧选择历史会话,或直接开始新的对话`},hideHistory:{type:Boolean},onAgentEvent:{},roles:{},title:{default:``}},emits:[`update:agentKey`],setup(e,{expose:t,emit:n}){let r=e,i=n,o=(0,a.ref)([...r.agents]),s=(0,a.ref)(r.agentKey||r.agents[0]?.key||``),c=(0,a.computed)(()=>o.value.find(e=>e.key===s.value)??o.value[0]),l=(0,a.computed)(()=>r.hideHistory===void 0?c.value?.agent.supportsHistory?.()??!1:!r.hideHistory);(0,a.watch)(()=>r.agentKey,e=>{e&&e!==s.value&&T(e)});let u=(0,a.ref)(!1),d=(0,a.ref)(``),f=(0,a.ref)(!1),p=(0,a.ref)(``),m=(0,a.ref)([]),h=(0,a.ref)(``),g=(0,a.ref)(``),_=(0,a.ref)([]),v=(0,a.ref)(`session:new:${Date.now()}`),y=(0,a.ref)(!1),b=(0,a.computed)(()=>m.value.map(e=>({key:e.id,label:e.title||`新对话`}))),x=(0,a.computed)(()=>{let e=d.value.trim().toLowerCase();return e?b.value.filter(t=>t.label.toLowerCase().includes(e)):b.value});async function S(){if(c.value){f.value=!0,p.value=``;try{m.value=(await c.value.agent.listConversations()).items}catch(e){p.value=e instanceof Error?e.message:`加载失败`}finally{f.value=!1}}}(0,a.onMounted)(()=>{l.value&&S()});function C(e){!e||e===s.value||T(e)}function w(e){if(o.value=e,!e.find(e=>e.key===s.value)){let t=e[0]?.key||``;t&&(s.value=t,i(`update:agentKey`,t))}}function T(e){c.value?.agent.stop(),c.value?.agent.reset(),s.value=e,i(`update:agentKey`,e),O(),l.value&&S()}function E(){return c.value?.agent}function D(){return s.value}function O(){h.value=``,g.value=``,_.value=[],v.value=`session:new:${Date.now()}`}function k(){u.value=!1,c.value?.agent.stop(),c.value?.agent.reset(),O()}async function A(e){if(e!==h.value){u.value=!1,h.value=e,g.value=m.value.find(t=>t.id===e)?.title||`历史会话`,c.value?.agent.stop(),y.value=!0;try{_.value=await c.value?.agent.getConversationDetail(e)??[]}catch{_.value=[]}finally{y.value=!1}v.value=`session:${s.value}:${e}`}}let j=(0,a.computed)(()=>r.title||g.value||c.value?.label||`AI 助手`),M=(0,a.computed)(()=>y.value?`正在加载历史消息…`:h.value?`已载入历史会话`:``),N=(0,a.h)($l,{size:32,style:{background:`#1677ff`,flexShrink:`0`}},()=>`AI`),P=(0,a.h)($l,{size:32,style:{background:`#22c55e`,flexShrink:`0`}},()=>`我`),F={ai:{placement:`start`,avatar:N,styles:{content:{background:`#fff`,border:`1px solid #e5e7eb`,borderBottomLeftRadius:`4px`,borderRadius:`12px`,color:`#1f2937`,fontSize:`14px`,lineHeight:`1.65`,padding:`0px 16px`,maxWidth:`74%`}}},user:{placement:`end`,avatar:P,styles:{content:{background:`#1677ff`,borderBottomRightRadius:`4px`,borderRadius:`12px`,color:`#fff`,fontSize:`14px`,lineHeight:`1.65`,padding:`0px 16px`,maxWidth:`74%`}}}},I=(0,a.computed)(()=>r.roles??F);return t({reloadConversations:S,newChat:k,getCurrentAgentRuntime:E,getCurrentAgentKey:D}),(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,DI,[l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`aside`,{key:0,class:(0,a.normalizeClass)([`agent-chat__sidebar`,{"is-open":u.value}])},[(0,a.createElementVNode)(`button`,{class:`agent-chat__close-btn`,"aria-label":`关闭侧边栏`,onClick:n[0]||=e=>u.value=!1},[(0,a.createVNode)((0,a.unref)(_v))]),(0,a.createElementVNode)(`div`,OI,[n[5]||=(0,a.createElementVNode)(`span`,{class:`agent-chat__sidebar-title`},`历史会话`,-1),(0,a.createVNode)((0,a.unref)(zf),{type:`text`,class:`agent-chat__new-btn`,disabled:f.value,onClick:k},{icon:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(lE))]),default:(0,a.withCtx)(()=>[n[4]||=(0,a.createTextVNode)(` 新建 `,-1)]),_:1},8,[`disabled`])]),(0,a.createVNode)((0,a.unref)(W_),{value:d.value,"onUpdate:value":n[1]||=e=>d.value=e,placeholder:`搜索对话…`,"allow-clear":``,class:`agent-chat__search`},{prefix:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(f_),{style:{color:`#94a3b8`}})]),_:1},8,[`value`]),f.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,kI,[(0,a.createVNode)((0,a.unref)(bd),{style:{"margin-right":`6px`}}),n[6]||=(0,a.createTextVNode)(`加载中… `,-1)])):p.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,AI,[(0,a.createVNode)((0,a.unref)(xE),{style:{"margin-right":`6px`}}),(0,a.createTextVNode)((0,a.toDisplayString)(p.value)+` `,1),(0,a.createVNode)((0,a.unref)(zf),{size:`small`,type:`link`,onClick:S},{default:(0,a.withCtx)(()=>[...n[7]||=[(0,a.createTextVNode)(`重试`,-1)]]),_:1})])):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)((0,a.unref)(LN),{"active-key":h.value,items:x.value,class:`agent-chat__conv-list`,"on-active-change":A},null,8,[`active-key`,`items`])],2)):(0,a.createCommentVNode)(``,!0),u.value&&l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,class:`agent-chat__mask`,onClick:n[2]||=e=>u.value=!1})):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`section`,jI,[l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,MI,[(0,a.createVNode)((0,a.unref)(zf),{class:`agent-chat__history-btn`,onClick:n[3]||=e=>u.value=!0},{default:(0,a.withCtx)(()=>[...n[8]||=[(0,a.createTextVNode)(` 历史会话`,-1)]]),_:1})])):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(EI,{"agent-key":s.value,agents:r.agents,roles:I.value,"session-key":v.value,"initial-messages":_.value,title:j.value,subtitle:M.value,"empty-hint":e.emptyHint,"on-agent-event":r.onAgentEvent,class:`agent-chat__panel`,"onUpdate:agentKey":C,"onUpdate:agents":w,onReset:k},null,8,[`agent-key`,`agents`,`roles`,`session-key`,`initial-messages`,`title`,`subtitle`,`empty-hint`,`on-agent-event`])])]))}}),[[`__scopeId`,`data-v-41b9524a`]]);function PI(e){let t=e.split(`
356
356
  `),n=`message`,r=``;for(let e of t)e.startsWith(`event:`)?n=e.slice(6).trim():e.startsWith(`data:`)&&(r=e.slice(5).trim());if(!r)return null;try{return{event:n,data:JSON.parse(r)}}catch{return{event:n,data:r}}}async function FI(e){try{let t=await e.text(),n=JSON.parse(t);return typeof n?.message==`string`?n.message:typeof n?.error==`string`?n.error:t||`HTTP ${e.status}`}catch{return`HTTP ${e.status}`}}function II(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}var LI=class extends o{constructor({endpoint:e,historyEndpoint:t=`http://localhost:800/history`,resumeEndpoint:n,user:r,app:i,initialUserContexts:a=[],mode:o=`astream`,resumeMode:s=`langgraph`,requestHeaders:c={},prepareRequestBody:l}){super(),this.mode=`astream`,this.resumeMode=`langgraph`,this.abortController=null,this.activeToolCalls=new Map,this.conversationId=``,this.currentToolCallId=``,this.initialUserContexts=[],this.inThinkBlock=!1,this.pendingInterruptId=``,this.pendingToolCallArgs=new Map,this.prepareRequestBody=null,this.replyParts=[],this.requestHeaders={},this.resumeEndpoint=void 0,this.endpoint=e,this.historyEndpoint=t,this.user=r,this.app=i,this.mode=o,this.resumeMode=s,this.resumeEndpoint=n,this.requestHeaders={...c},this.prepareRequestBody=l??null,this.setInitialUserContexts(a)}addInitialUserContext(e){let t=e.trim();t&&this.initialUserContexts.push(t)}async ask(e){let t=new AbortController;this.abortController=t,this.activeToolCalls.clear(),this.pendingToolCallArgs.clear(),this.pendingInterruptId=``,this.replyParts=[],this.inThinkBlock=!1;let n=this.initialUserContexts.length>0?`${this.initialUserContexts.join(`
357
357
 
358
358
  `)}\n\n${e}`:e;try{let e=this.buildRequestHeaders(),r={prompt:n,conversation_id:this.conversationId||null,stream_mode:(this.mode,`messages,updates`),user:this.user,app:this.app};this.prepareRequestBody&&(r=this.prepareRequestBody(r));let i=await fetch(this.endpoint,{method:`POST`,headers:e,body:JSON.stringify(r),signal:t.signal});if(!i.ok)throw Error(await FI(i));let a=i.headers.get(`x-conversation-id`);if(a&&this.updateConversationId(a),await this.processSseStream(i,this.replyParts))return}catch(e){if(t.signal.aborted)return;throw Error(II(e))}finally{this.abortController===t&&(this.abortController=null)}}clearInitialUserContexts(){this.initialUserContexts=[]}async deleteConversation(e){if(!this.historyEndpoint)throw Error(`未配置 historyEndpoint`);try{let t=new URL(`${this.historyEndpoint}/threads/${encodeURIComponent(e)}`);this.user&&t.searchParams.set(`user`,this.user),this.app&&t.searchParams.set(`app`,this.app);let n=await fetch(t.toString(),{method:`DELETE`});if(n.status===404)throw Error(`未找到会话: ${e}`);if(!n.ok)throw Error(await FI(n))}catch(e){throw Error(II(e))}}getApp(){return this.app}async getConversationDetail(e,t){if(!this.historyEndpoint)return[];this.updateConversationId(e);let n;try{let t=new URL(`${this.historyEndpoint}/conversations/${encodeURIComponent(e)}`);this.user&&t.searchParams.set(`user`,this.user),this.app&&t.searchParams.set(`app`,this.app);let r=await fetch(t.toString());if(r.status===404)return[];if(!r.ok)throw Error(await FI(r));n=await r.json()}catch(e){throw Error(II(e))}let r=[],i=new Map,a=[];for(let t of n.messages??[])switch(t.type??t.role??``){case`ai`:{if(Array.isArray(t.tool_calls)&&t.tool_calls.length>0){let e=Date.now();for(let n of t.tool_calls)n.id&&(i.set(n.id,{toolName:n.name,args:n.args,startedAt:e}),a.push({toolCallId:n.id,toolName:n.name,title:n.name,status:`running`,stepNumber:0,startedAt:e,inputPreview:n.args?JSON.stringify(n.args).slice(0,200):void 0}))}let n=u(t.content);if(n){let t={key:`hist-${e}-a${r.length}`,role:`ai`,content:n};a.length>0&&(t.toolTimeline=a,t.segments=[...a.map(e=>({type:`tool`,toolCallId:e.toolCallId})),{type:`text`,start:0,end:-1}],a=[],i.clear()),r.push(t)}break}case`human`:r.push({key:`hist-${e}-u${r.length}`,role:`user`,content:u(t.content)});break;case`tool`:{let e=t.tool_call_id??``,n=e?i.get(e):void 0,r=a.find(t=>t.toolCallId===e);if(r){let a=u(t.content);r.status=t.status===`error`?`error`:`success`,r.resultPreview=a.slice(0,500),n&&(r.durationMs=Date.now()-n.startedAt,i.delete(e))}break}}return r}getConversationId(){return this.conversationId}getUser(){return this.user}async listConversations(e){if(!this.historyEndpoint)return{items:[],hasMore:!1};let t=new URL(`${this.historyEndpoint}/conversations`);this.user&&t.searchParams.set(`user`,this.user),this.app&&t.searchParams.set(`app`,this.app);let n;try{let e=await fetch(t.toString());if(!e.ok)throw Error(await FI(e));n=await e.json()}catch(e){throw Error(II(e))}return{items:n.map(e=>{let t=e.created_at?new Date(e.created_at).getTime():void 0;return{id:e.conversation_id,title:e.title||t?.toString()||`未命名会话`,createdAt:t&&!Number.isNaN(t)?t:void 0}}),hasMore:!1}}offConversationChange(e){this.off(`conversationChange`,e)}offInterrupt(e){this.off(`interrupt`,e)}onConversationChange(e){this.on(`conversationChange`,e)}onInterrupt(e){this.on(`interrupt`,e)}reset(){this.stop(),this.activeToolCalls.clear(),this.pendingToolCallArgs.clear(),this.pendingInterruptId=``,this.updateConversationId(``)}async resume(e){this.abortController||=new AbortController;let t=this.abortController,n,r;this.resumeMode===`create_agent`?(n=e.map(e=>({type:e.decision,...e.message==null?{}:{message:e.message}})),r={decisions:n,conversation_id:this.conversationId}):r={decisions:e,conversation_id:this.conversationId,...this.pendingInterruptId?{interrupt_id:this.pendingInterruptId}:{}},this.pendingInterruptId=``,this.emit(`replyChange`,``,this.replyParts.join(``));try{let e=this.buildRequestHeaders();this.conversationId&&(e[`x-conversation-id`]=this.conversationId);let n=await fetch(`${this.resumeEndpoint||this.endpoint}`,{method:`POST`,headers:e,body:JSON.stringify(r),signal:t.signal});if(!n.ok)throw Error(await FI(n));let i=n.headers.get(`x-conversation-id`);i&&this.updateConversationId(i),await this.processSseStream(n,this.replyParts)}catch(e){if(t.signal.aborted)return;throw Error(II(e))}finally{this.abortController===t&&(this.abortController=null)}}setInitialUserContexts(e){this.initialUserContexts=e.map(e=>e.trim()).filter(Boolean)}setPrepareRequestBody(e){this.prepareRequestBody=e}setRequestHeaders(e){this.requestHeaders={...this.requestHeaders,...e}}setUser(e){this.user=e}stop(){this.abortController&&(this.abortController.abort(),this.abortController=null,this.emit(`stop`))}supportsHistory(){return!!this.historyEndpoint}buildRequestHeaders(){let e={"Content-Type":`application/json`,...this.requestHeaders};return this.user&&(e[`x-user`]=this.user),this.app&&(e[`x-app`]=this.app),e}checkAndHandleInterrupt(e){if(!e||typeof e!=`object`)return!1;if(Array.isArray(e.__interrupt__)&&e.__interrupt__.length>0)return this.emitInterruptFromEntries(e.__interrupt__);for(let t of Object.values(e))if(t&&typeof t==`object`&&!Array.isArray(t)){let e=t;if(Array.isArray(e.__interrupt__)&&e.__interrupt__.length>0)return this.emitInterruptFromEntries(e.__interrupt__)}return!1}emitInterruptFromEntries(e){let t=e[0],n=typeof t.id==`string`?t.id:``;if(!n)return!1;this.pendingInterruptId=n;let r=t.value,i=Array.isArray(r?.action_requests)?r.action_requests:[],a=Array.isArray(r?.review_configs)?r.review_configs:[];return this.emit(`interrupt`,{interrupt_id:n,action_requests:i.map(e=>({name:typeof e.name==`string`?e.name:``,args:e.args&&typeof e.args==`object`?e.args:{},description:typeof e.description==`string`?e.description:``})),review_configs:a.map(e=>({action_name:typeof e.action_name==`string`?e.action_name:``,allowed_decisions:Array.isArray(e.allowed_decisions)?e.allowed_decisions:[]}))}),!0}emitToolCallEvent(e){this.emit(`toolCall`,e)}handleAstreamEventsData(e,t){let n=typeof e.event==`string`?e.event:``,r=typeof e.run_id==`string`?e.run_id:``,i=e.data&&typeof e.data==`object`?e.data:{};if(n===`on_chat_model_stream`){let e=i.chunk&&typeof i.chunk==`object`?i.chunk:{},n=e.kwargs&&typeof e.kwargs==`object`?e.kwargs:{};return this.processAIMessageKwargs(n,t,r)}if(n===`on_tool_end`){let e=i.output;if(this.activeToolCalls.has(r)){let t=this.activeToolCalls.get(r),n=Date.now();this.emitToolCallEvent({toolCallId:r,toolName:t.toolName,title:t.title,status:`success`,output:e,stepNumber:0,durationMs:n-t.startedAt,timestamp:t.startedAt}),this.activeToolCalls.delete(r),this.pendingToolCallArgs.delete(r)}return!1}return!1}handleSsePacket(e,t){let n=e.data||{};if(e.event===`start`){let e=typeof n.thread_id==`string`?n.thread_id:``;return e&&this.updateConversationId(e),!1}if(e.event===`messages`){if((typeof n.mode==`string`?n.mode:``)===`messages`){if(this.mode===`astream_events`&&n.data&&typeof n.data==`object`&&!Array.isArray(n.data))return this.handleAstreamEventsData(n.data,t);if(this.isV2StreamPart(n.data))return this.handleV2StreamPart(n.data,t);let e=(Array.isArray(n.data)?n.data:[])[0];return e?this.processAIMessageKwargs(e.kwargs,t):!1}return!1}if(e.event===`updates`)return this.checkAndHandleInterrupt(n.data);if(e.event===`error`){let e=typeof n.message==`string`&&n.message?n.message:`流式请求失败`;throw Error(e)}return!1}handleV2StreamPart(e,t){if(e.type===`messages`){let n=(Array.isArray(e.data)?e.data:[])[0];if(!n)return!1;let r=n.kwargs;return this.processAIMessageKwargs(r,t)}return e.type===`updates`||e.type===`interrupts`?this.checkAndHandleInterrupt(e.data):!1}isV2StreamPart(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.type==`string`&&Array.isArray(t.ns)&&`data`in t}processAIMessageKwargs(e,t,n=``){if((typeof e.type==`string`?e.type:``)===`tool`){let t=typeof e.tool_call_id==`string`?e.tool_call_id:``,n=typeof e.content==`string`?e.content:``;if(t&&this.activeToolCalls.has(t)){let e=this.activeToolCalls.get(t),r=Date.now();this.emitToolCallEvent({toolCallId:t,toolName:e.toolName,title:e.title,status:`success`,output:n,stepNumber:0,durationMs:r-e.startedAt,timestamp:e.startedAt}),this.activeToolCalls.delete(t),this.pendingToolCallArgs.delete(t)}return!1}let r=Array.isArray(e.tool_call_chunks)?e.tool_call_chunks:[];if(r.length>0){for(let e of r){let t=e,r=typeof t.name==`string`?t.name:``,i=typeof t.args==`string`?t.args:``;if(r){let e=(typeof t.id==`string`&&t.id?t.id:n)||``;this.currentToolCallId=e;let a=Date.now();this.activeToolCalls.set(e,{toolName:r,title:r,startedAt:a}),this.pendingToolCallArgs.set(e,i),this.emitToolCallEvent({toolCallId:e,toolName:r,title:r,status:`running`,input:i,stepNumber:0,timestamp:a})}else if(this.currentToolCallId){let e=this.currentToolCallId,t=this.pendingToolCallArgs.get(e)||``;this.pendingToolCallArgs.set(e,t+i);let n=this.activeToolCalls.get(e)?.toolName??`tool_call`;this.emitToolCallEvent({toolCallId:e,toolName:n,title:n,status:`running`,input:this.pendingToolCallArgs.get(e)||``,stepNumber:0,timestamp:Date.now()})}}return!1}if((e.response_metadata&&typeof e.response_metadata==`object`?e.response_metadata:{}).finish_reason===`tool_calls`&&this.activeToolCalls.size>0){for(let[e,t]of this.activeToolCalls)this.emitToolCallEvent({toolCallId:e,toolName:t.toolName,title:t.title??t.toolName,status:`success`,input:this.pendingToolCallArgs.get(e)||``,stepNumber:0,timestamp:t.startedAt});return!1}let i=e.additional_kwargs&&typeof e.additional_kwargs==`object`?e.additional_kwargs:{},a=typeof i.reasoning_content==`string`?i.reasoning_content:``;if(a)return this.inThinkBlock||(this.inThinkBlock=!0,t.push(`<think>`),this.emit(`replyChange`,`<think>`,t.join(``))),t.push(a),this.emit(`replyChange`,a,t.join(``)),!1;let o=typeof e.content==`string`?e.content:``;return o&&(this.inThinkBlock&&(this.inThinkBlock=!1,t.push(`</think>`),this.emit(`replyChange`,`</think>`,t.join(``))),t.push(o),this.emit(`replyChange`,o,t.join(``))),!1}async processSseStream(e,t){if(!e.body)throw Error(`当前浏览器不支持读取流式响应`);let n=e.body.getReader(),r=new TextDecoder,i=``;try{for(;;){let{value:e,done:a}=await n.read();if(a)break;i+=r.decode(e,{stream:!0});let o=i.split(`
package/dist/index.mjs CHANGED
@@ -29504,6 +29504,7 @@ var IL = ["role", "tabindex"], LL = { class: "tool-call-node__prefix" }, RL = {
29504
29504
  emptyHint: { default: "从左侧选择历史会话,或直接开始新的对话" },
29505
29505
  hideHistory: { type: Boolean },
29506
29506
  onAgentEvent: {},
29507
+ roles: {},
29507
29508
  title: { default: "" }
29508
29509
  },
29509
29510
  emits: ["update:agentKey"],
@@ -29574,13 +29575,13 @@ var IL = ["role", "tabindex"], LL = { class: "tool-call-node__prefix" }, RL = {
29574
29575
  let A = P(() => r.title || h.value || s.value?.label || "AI 助手"), j = P(() => v.value ? "正在加载历史消息…" : m.value ? "已载入历史会话" : ""), ee = le(Md, {
29575
29576
  size: 32,
29576
29577
  style: {
29577
- background: "var(--primary-color, var(--primary))",
29578
+ background: "#1677ff",
29578
29579
  flexShrink: "0"
29579
29580
  }
29580
29581
  }, () => "AI"), M = le(Md, {
29581
29582
  size: 32,
29582
29583
  style: {
29583
- background: "var(--success-color, #22c55e)",
29584
+ background: "#22c55e",
29584
29585
  flexShrink: "0"
29585
29586
  }
29586
29587
  }, () => "我"), te = {
@@ -29588,11 +29589,11 @@ var IL = ["role", "tabindex"], LL = { class: "tool-call-node__prefix" }, RL = {
29588
29589
  placement: "start",
29589
29590
  avatar: ee,
29590
29591
  styles: { content: {
29591
- background: "var(--component-background, #fff)",
29592
- border: "1px solid var(--border-color-split, var(--border))",
29592
+ background: "#fff",
29593
+ border: "1px solid #e5e7eb",
29593
29594
  borderBottomLeftRadius: "4px",
29594
29595
  borderRadius: "12px",
29595
- color: "var(--text-color, var(--text))",
29596
+ color: "#1f2937",
29596
29597
  fontSize: "14px",
29597
29598
  lineHeight: "1.65",
29598
29599
  padding: "0px 16px",
@@ -29603,7 +29604,7 @@ var IL = ["role", "tabindex"], LL = { class: "tool-call-node__prefix" }, RL = {
29603
29604
  placement: "end",
29604
29605
  avatar: M,
29605
29606
  styles: { content: {
29606
- background: "var(--primary-color, var(--primary))",
29607
+ background: "#1677ff",
29607
29608
  borderBottomRightRadius: "4px",
29608
29609
  borderRadius: "12px",
29609
29610
  color: "#fff",
@@ -29613,7 +29614,7 @@ var IL = ["role", "tabindex"], LL = { class: "tool-call-node__prefix" }, RL = {
29613
29614
  maxWidth: "74%"
29614
29615
  } }
29615
29616
  }
29616
- };
29617
+ }, ne = P(() => r.roles ?? te);
29617
29618
  return t({
29618
29619
  reloadConversations: x,
29619
29620
  newChat: O,
@@ -29682,7 +29683,7 @@ var IL = ["role", "tabindex"], LL = { class: "tool-call-node__prefix" }, RL = {
29682
29683
  })])) : I("", !0), z(oR, {
29683
29684
  "agent-key": o.value,
29684
29685
  agents: r.agents,
29685
- roles: te,
29686
+ roles: ne.value,
29686
29687
  "session-key": _.value,
29687
29688
  "initial-messages": g.value,
29688
29689
  title: A.value,
@@ -29696,6 +29697,7 @@ var IL = ["role", "tabindex"], LL = { class: "tool-call-node__prefix" }, RL = {
29696
29697
  }, null, 8, [
29697
29698
  "agent-key",
29698
29699
  "agents",
29700
+ "roles",
29699
29701
  "session-key",
29700
29702
  "initial-messages",
29701
29703
  "title",
@@ -29705,7 +29707,7 @@ var IL = ["role", "tabindex"], LL = { class: "tool-call-node__prefix" }, RL = {
29705
29707
  ])])
29706
29708
  ]));
29707
29709
  }
29708
- }), [["__scopeId", "data-v-a1f03075"]]);
29710
+ }), [["__scopeId", "data-v-41b9524a"]]);
29709
29711
  //#endregion
29710
29712
  //#region src/AgentChat/Langchain_py_AIMessage.ts
29711
29713
  function mR(e) {
package/dist/style.css CHANGED
@@ -1,2 +1,2 @@
1
- .agent-picker-wrap[data-v-e6866801]{align-items:center;gap:8px;padding:6px 0;display:flex}.agent-picker-label[data-v-e6866801]{color:var(--text-color-secondary,var(--text-muted,var(--muted)));white-space:nowrap;flex-shrink:0;font-size:12px}.agent-picker[data-v-e6866801]{min-width:140px;max-width:200px}.agent-add-btn[data-v-e6866801]{flex-shrink:0}.agent-option-item[data-v-e6866801]{align-items:center;gap:6px;width:100%;display:flex}.agent-option-label[data-v-e6866801]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.agent-option-edit[data-v-e6866801],.agent-option-del[data-v-e6866801]{border-radius:4px;flex-shrink:0;padding:2px;font-size:13px;transition:color .15s,background .15s}.agent-option-edit[data-v-e6866801]:hover{color:var(--primary-color,#1677ff);background:#1677ff14}.agent-option-del[data-v-e6866801]:hover{color:var(--error-color,#ff4d4f);background:#ff4d4f14}.agent-picker__dynamic-form[data-v-e6866801]{width:100%}.agent-picker__dynamic-hint[data-v-e6866801]{color:#9ca3af;margin:0 0 8px;font-size:12px;line-height:1.5}.agent-picker__dynamic-hint code[data-v-e6866801]{background:#f0f0f0;border-radius:3px;padding:1px 4px;font-size:11px}.think-node[data-v-5a2f210e]{margin:6px 0}.think-node__layout[data-v-5a2f210e]{color:var(--text-color-secondary,#8c8c8c);flex-direction:column;gap:4px;min-width:0;font-size:12px;line-height:1.8;display:flex}.think-node__header[data-v-5a2f210e]{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.think-node__header-main[data-v-5a2f210e]{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.think-node__prefix[data-v-5a2f210e]{flex:none;align-items:center;gap:6px;padding-top:1px;display:inline-flex}.think-node__prefix-icon[data-v-5a2f210e]{color:color-mix(in srgb, var(--primary-color,#1677ff) 65%, #999);font-size:12px}.think-node.is-thinking .think-node__prefix[data-v-5a2f210e],.think-node.is-thinking .think-node__toggle[data-v-5a2f210e]{color:var(--primary-color,#1677ff)}.think-node__prefix-icon.is-spinning[data-v-5a2f210e]{animation:1s linear infinite think-node-spin-5a2f210e}.think-node__content[data-v-5a2f210e]{min-width:0;color:inherit;font-size:inherit;line-height:inherit;white-space:pre-wrap;word-break:break-word;position:relative}.think-node__content--inline[data-v-5a2f210e]{flex:1}.think-node__content.is-collapsed[data-v-5a2f210e]{line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.think-node__content.is-collapsed.is-overflowing[data-v-5a2f210e]:after{content:"";background:linear-gradient(180deg, #fff0 0%, color-mix(in srgb, var(--component-background,#fff) 70%, transparent) 100%);pointer-events:none;height:18px;position:absolute;bottom:0;left:0;right:0}.think-node__content.is-expanded[data-v-5a2f210e]{background:color-mix(in srgb, var(--primary-color,#1677ff) 4%, transparent);border-radius:8px;margin-top:2px;padding:8px 10px 8px 28px;overflow-y:auto}.think-node__toggle[data-v-5a2f210e]{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:4px;min-height:20px;padding:2px 6px;font-size:12px;line-height:1;transition:background-color .2s,color .2s;display:inline-flex}.think-node__toggle[data-v-5a2f210e]:hover{background:color-mix(in srgb, var(--primary-color,#1677ff) 8%, transparent);color:color-mix(in srgb, var(--primary-color,#1677ff) 86%, #000)}.think-node__toggle[data-v-5a2f210e]:focus-visible{outline:2px solid color-mix(in srgb, var(--primary-color,#1677ff) 20%, transparent);outline-offset:2px;border-radius:4px}.think-node__toggle-icon[data-v-5a2f210e]{font-size:12px}@keyframes think-node-spin-5a2f210e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.blockquote[data-v-6d8bbd17]{border-left:.25rem solid var(--blockquote-border-color,#e2e8f0);quotes:"“" "”" "‘" "’";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em;font-style:italic;font-weight:500}.blockquote[data-v-6d8bbd17] .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}.checkbox-node[data-v-8dc6c46f]{vertical-align:middle;margin-right:.5rem}.checkbox-input[data-v-8dc6c46f]{cursor:default;margin:0}.definition-list[data-v-f88691d6]{margin:0 0 1rem}.definition-term[data-v-f88691d6]{margin-top:.5rem;font-weight:600}.definition-desc[data-v-f88691d6]{margin-bottom:.5rem;margin-left:1rem}.definition-list[data-v-f88691d6] .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}.emoji-node[data-v-de55dc97]{display:inline-block}.footnote-reference[data-v-01af0fee]{font-size:.75em;line-height:0}.footnote-link[data-v-01af0fee]{color:#0366d6;text-decoration:none}.footnote-link[data-v-01af0fee]:hover{text-decoration:underline}.html-inline-node[data-v-71cd1a9f]{display:inline}.html-inline-node--loading[data-v-71cd1a9f]{opacity:.85}code[data-v-ffb68151]{color:hsl(var(--foreground));background-color:hsl(var(--secondary));border:1px solid hsl(var(--border) / .9)}.inline-code-stream-delta[data-v-ffb68151]{animation-duration:var(--stream-update-fade-duration,var(--typewriter-fade-duration,.9s));animation-timing-function:var(--stream-update-fade-ease,var(--typewriter-fade-ease,ease-out));will-change:opacity;animation-fill-mode:both}.inline-code-stream-delta--a[data-v-ffb68151]{animation-name:inline-code-stream-update-fade-a-ffb68151}.inline-code-stream-delta--b[data-v-ffb68151]{animation-name:inline-code-stream-update-fade-b-ffb68151}@keyframes inline-code-stream-update-fade-a-ffb68151{0%{opacity:0}to{opacity:1}}@keyframes inline-code-stream-update-fade-b-ffb68151{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.inline-code-stream-delta[data-v-ffb68151]{animation:none!important}}.tooltip-enter-from[data-v-d524cc01]{opacity:0;transform:translateY(-6px)scale(.98)}.tooltip-enter-to[data-v-d524cc01],.tooltip-leave-from[data-v-d524cc01]{opacity:1;transform:translateY(0)scale(1)}.tooltip-leave-to[data-v-d524cc01]{opacity:0;transform:translateY(-6px)scale(.98)}.tooltip-enter-active[data-v-d524cc01],.tooltip-leave-active[data-v-d524cc01]{transition:opacity .12s linear}.tooltip-element[data-v-d524cc01]{transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)}.image-node__img[data-v-03adbc6f],.placeholder-layer[data-v-03adbc6f]{max-width:24rem}.image-node__img--inline[data-v-03adbc6f]{vertical-align:middle;display:inline-block;-o-object-fit:initial!important;object-fit:initial!important;width:auto!important;height:auto!important;min-height:0!important}.placeholder-layer--inline[data-v-03adbc6f]{min-height:auto!important}.image-node__error--inline[data-v-03adbc6f]{vertical-align:middle;display:inline-flex}.img-switch-enter-active[data-v-03adbc6f],.img-switch-leave-active[data-v-03adbc6f]{transition:opacity .22s,transform .22s}.img-switch-enter-from[data-v-03adbc6f],.img-switch-leave-to[data-v-03adbc6f]{opacity:0;transform:translateY(6px)}.img-switch-enter-to[data-v-03adbc6f],.img-switch-leave-from[data-v-03adbc6f]{opacity:1;transform:translateY(0)}.placeholder-layer[data-v-03adbc6f]{will-change:transform,opacity}@media (prefers-reduced-motion:reduce){.spinner[data-v-03adbc6f]{animation:none!important}.img-switch-enter-active[data-v-03adbc6f],.img-switch-leave-active[data-v-03adbc6f]{transition:none!important}}.text-node[data-v-03641323]{font-weight:inherit;vertical-align:baseline;display:inline}.text-node-center[data-v-03641323]{justify-content:center;width:100%;display:inline-flex}.text-node-stream-delta[data-v-03641323]{animation-duration:var(--stream-update-fade-duration,var(--typewriter-fade-duration,.9s));animation-timing-function:var(--stream-update-fade-ease,var(--typewriter-fade-ease,ease-out));will-change:opacity;animation-fill-mode:both}.text-node-stream-delta--a[data-v-03641323]{animation-name:text-node-stream-update-fade-a-03641323}.text-node-stream-delta--b[data-v-03641323]{animation-name:text-node-stream-update-fade-b-03641323}@keyframes text-node-stream-update-fade-a-03641323{0%{opacity:0}to{opacity:1}}@keyframes text-node-stream-update-fade-b-03641323{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.text-node-stream-delta[data-v-03641323]{animation:none!important}}.superscript-node[data-v-6dc1e3ba]{vertical-align:super;font-size:.8em}.subscript-node[data-v-69de9b81]{vertical-align:sub;font-size:.8em}.strong-node[data-v-af3ce037]{font-weight:700}.strikethrough-node[data-v-904d5bd1]{text-decoration:line-through}.link-node[data-v-a4831c9e]{color:var(--link-color,#0366d6);text-decoration:none}.link-node[data-v-a4831c9e]:hover{text-underline-offset:.2rem;text-decoration:underline}.link-loading .link-text-wrapper[data-v-a4831c9e]{position:relative}.link-loading[data-v-a4831c9e]{color:var(--link-color,#0366d6)}.link-loading .link-text[data-v-a4831c9e]{z-index:2;position:relative}.link-loading-indicator[data-v-a4831c9e]{height:var(--underline-height,2px);left:0;right:0;bottom:var(--underline-bottom,-3px);will-change:opacity;opacity:var(--underline-rest-opacity,.18);animation:underlinePulse-a4831c9e var(--underline-duration,1.6s) var(--underline-timing,ease-in-out) var(--underline-iteration,infinite);background:currentColor;border-radius:999px;position:absolute}@keyframes underlinePulse-a4831c9e{0%,to{opacity:var(--underline-rest-opacity,.18)}50%{opacity:var(--underline-opacity,.35)}}@media (prefers-reduced-motion:reduce){.link-loading-indicator[data-v-a4831c9e]{opacity:var(--underline-rest-opacity,.18);animation:none}}.insert-node[data-v-ab1ec9bc]{text-decoration:underline}.highlight-node[data-v-38e31bf6]{background-color:#ff0;padding:0 .2rem}.emphasis-node[data-v-8264674d]{font-style:italic}.footnote-anchor[data-v-4756ce0d]{margin-left:.5rem}.markstream-vue [class*=footnote-] .markdown-renderer,.markstream-vue .flex-1 .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}.hard-break[data-v-50c58f70]{display:block}.heading-node[data-v-ffb7cf51]{font-weight:500;line-height:1.25}hr+.heading-node[data-v-ffb7cf51]{margin-top:0}.heading-1[data-v-ffb7cf51]{margin-top:0;margin-bottom:.888889em;font-size:2.25rem;font-weight:800;line-height:1.11111}.heading-2[data-v-ffb7cf51]{margin-top:2rem;margin-bottom:1rem;font-size:1.5rem;font-weight:700;line-height:1.33333}.heading-3[data-v-ffb7cf51]{margin-top:1.6em;margin-bottom:.6em;font-size:1.25rem;font-weight:600;line-height:1.66667}.heading-4[data-v-ffb7cf51]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1rem;font-weight:600;line-height:1.5rem}.heading-5[data-v-ffb7cf51],.heading-6[data-v-ffb7cf51]{margin:0;font-size:1rem;line-height:1.5rem}ol>.list-item[data-v-ce59e808]::marker{color:var(--list-item-counter-marker,#64748b);line-height:1.6}ul>.list-item[data-v-ce59e808]::marker{color:var(--list-item-marker,#cbd5e1)}.list-item[data-v-ce59e808] .markdown-renderer{content-visibility:visible;contain-intrinsic-size:0px 0px;contain:none}.list-node[data-v-8e81cbc8]{margin-top:1.25rem;margin-bottom:1.25rem;padding-left:1.625em}.list-decimal[data-v-8e81cbc8]{list-style-type:decimal}.list-disc[data-v-8e81cbc8]{list-style-type:disc}@media not all and (width>=1024px){.list-disc[data-v-8e81cbc8]{margin-top:1.33333em;margin-bottom:1.33333em;padding-left:1.55556em}}.html-block-node__raw[data-v-b7cace40]{white-space:pre-wrap;overflow-wrap:anywhere;opacity:.85}.html-block-node__placeholder[data-v-b7cace40]{flex-direction:column;gap:.35rem;padding:.5rem 0;display:flex}.html-block-node__placeholder-bar[data-v-b7cace40]{background-image:linear-gradient(90deg,#94a3b859,#94a3b81a,#94a3b859);background-size:200% 100%;border-radius:9999px;height:.8rem;animation:1.2s infinite html-block-node-shimmer-b7cace40;display:block}@keyframes html-block-node-shimmer-b7cace40{0%{background-position:0 0}to{background-position:200% 0}}.paragraph-node[data-v-944f1fd5]{margin:1.25em 0}li .paragraph-node[data-v-944f1fd5]{margin:0}.markstream-vue pre[class^=language-],.markstream-vue pre[class*=\ language-]{white-space:pre;tab-size:2;font-variant-ligatures:none;contain:content;backface-visibility:hidden;-webkit-font-smoothing:antialiased;overflow:auto;transform:translateZ(0)}.markstream-vue pre[class^=language-]>code,.markstream-vue pre[class*=\ language-]>code{display:block}.markstream-vue pre[class^=language-]:focus,.markstream-vue pre[class*=\ language-]:focus{outline:2px solid var(--vmdr-focus,#3b82f6);outline-offset:2px}.table-node-wrapper[data-v-369096fa]{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-gutter:stable;max-width:100%;position:relative;overflow-x:auto}.table-node[data-v-369096fa]{table-layout:fixed;border-collapse:collapse;width:100%}.table-node[data-v-369096fa] th,.table-node[data-v-369096fa] td{white-space:normal;overflow-wrap:break-word;word-break:normal}.table-node--loading tbody td[data-v-369096fa]{position:relative;overflow:hidden}.table-node--loading tbody td[data-v-369096fa]>*{visibility:hidden}.table-node--loading tbody td[data-v-369096fa]:after{content:"";will-change:background-position;background:linear-gradient(90deg,#94a3b829 25%,#94a3b847,#94a3b829 75%) 0 0/200% 100%;border-radius:.25rem;animation:1.2s linear infinite table-node-shimmer-369096fa;position:absolute;inset:0}.table-node__loading[data-v-369096fa]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.table-node__spinner[data-v-369096fa]{will-change:transform;border:2px solid #5e687940;border-top-color:#5e6879cc;border-radius:9999px;width:2.5rem;height:2.5rem}.table-node-fade-enter-active[data-v-369096fa],.table-node-fade-leave-active[data-v-369096fa]{transition:opacity .18s}.table-node-fade-enter-from[data-v-369096fa],.table-node-fade-leave-to[data-v-369096fa]{opacity:0}[data-v-369096fa] .table-node .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px;display:contents}[data-v-369096fa] .table-node .markdown-renderer .node-slot,[data-v-369096fa] .table-node .markdown-renderer .node-content,[data-v-369096fa] .table-node .markdown-renderer .node-space{display:contents}[data-v-369096fa] .table-node .text-node,[data-v-369096fa] .table-node code{white-space:inherit;overflow-wrap:inherit;word-break:inherit;max-width:none}@keyframes table-node-shimmer-369096fa{0%{background-position:0 0}50%{background-position:100% 0}to{background-position:200% 0}}.hr+.table-node-wrapper[data-v-369096fa],.hr+.table-node-wrapper .table-node[data-v-369096fa]{margin-top:0}.sr-only[data-v-369096fa]{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hr-node[data-v-639cbad9]{border-top-width:1px;border-color:var(--hr-border-color,#e2e8f0);margin-top:3rem;margin-bottom:3rem}.vmr-container[data-v-a88d22ce]{border-width:1px 1px 1px 4px;border-radius:.5rem;margin-top:1rem;margin-bottom:1rem;padding:1rem}.code-block-container[data-v-2e273ed5]{contain:content}.code-block-content[data-v-2e273ed5]{max-height:min(70vh,500px);font-family:var(--vscode-editor-font-family,"Fira Code", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);line-height:var(--vscode-editor-line-height,1.5);transition:max-height .3s;overflow:auto}.code-block-render[data-v-2e273ed5]{min-height:1px}[data-v-2e273ed5] .code-block-render pre,[data-v-2e273ed5] .code-block-content .shiki{font-family:inherit;font-size:inherit;line-height:inherit}[data-v-2e273ed5] .code-block-content .shiki-fallback{color:inherit;white-space:pre;font-family:inherit;font-size:inherit;line-height:inherit;background:0 0;margin:0;padding:1rem}.code-fallback-plain[data-v-2e273ed5]{white-space:pre;color:inherit;font-size:inherit;line-height:inherit;background:0 0;font-family:inherit;overflow:auto}[data-v-2e273ed5] .code-block-content pre{padding:1rem}.code-action-btn[data-v-2e273ed5]{cursor:pointer;opacity:.7;transition:opacity .2s}.code-action-btn[data-v-2e273ed5]:hover{opacity:1}.code-action-btn[data-v-2e273ed5]:disabled{opacity:.3;cursor:not-allowed}.code-loading-placeholder[data-v-2e273ed5]{min-height:120px;padding:1rem}.loading-skeleton[data-v-2e273ed5]{flex-direction:column;gap:.75rem;display:flex}.skeleton-line[data-v-2e273ed5]{background:linear-gradient(90deg,#0000000f 25%,#0000001f 37%,#0000000f 63%) 0 0/400% 100%;border-radius:.25rem;height:1rem;animation:1.2s ease-in-out infinite code-skeleton-shimmer-2e273ed5}.code-block-container.is-dark .skeleton-line[data-v-2e273ed5]{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f 37%,#ffffff0f 63%) 0 0/400% 100%}.skeleton-line.short[data-v-2e273ed5]{width:60%}@keyframes code-skeleton-shimmer-2e273ed5{0%{background-position:100% 0}to{background-position:0 0}}.markdown-renderer[data-v-7e76e4d7]{contain:layout;content-visibility:auto;contain-intrinsic-size:800px 600px;position:relative}.markdown-renderer.virtualized[data-v-7e76e4d7]{content-visibility:visible;contain-intrinsic-size:auto}.height-estimation-probes[data-v-7e76e4d7]{visibility:hidden;pointer-events:none;z-index:-1;position:absolute;top:0;left:-100000px;overflow:hidden}.node-slot[data-v-7e76e4d7],.node-content[data-v-7e76e4d7]{width:100%}.node-placeholder[data-v-7e76e4d7]{background-image:linear-gradient(90deg,#94a3b82e,#94a3b80d,#94a3b82e);background-size:200% 100%;border-radius:.5rem;width:100%;min-height:1rem;margin:.25rem 0;animation:1.1s ease-in-out infinite node-placeholder-shimmer-7e76e4d7}.node-placeholder[data-v-7e76e4d7]:first-child{margin-top:0}@keyframes node-placeholder-shimmer-7e76e4d7{0%{background-position:200% 0}to{background-position:-200% 0}}.node-spacer[data-v-7e76e4d7]{width:100%}.unknown-node[data-v-7e76e4d7]{color:#6a737d;margin:1rem 0;font-style:italic}.markstream-vue .typewriter-enter-from{opacity:0}.markstream-vue .typewriter-enter-active{transition:opacity var(--typewriter-fade-duration,.9s) var(--typewriter-fade-ease,ease-out);will-change:opacity}.markstream-vue .typewriter-enter-to{opacity:1}.admonition[data-v-ee240a2a]{--admonition-bg:#f8f8f8;--admonition-border:#eaecef;--admonition-header-bg:#00000008;--admonition-text:#111827;--admonition-muted:#374151;--admonition-note-color:#448aff;--admonition-tip-color:#00bfa5;--admonition-warning-color:#ff9100;--admonition-danger-color:#ff5252;border-left:4px solid var(--admonition-border);background-color:var(--admonition-bg);color:var(--admonition-text);border-radius:4px;margin:1rem 0;padding:0;overflow:hidden}.admonition-header[data-v-ee240a2a]{background-color:var(--admonition-header-bg);color:var(--admonition-muted);align-items:center;padding:.5rem 1rem;font-weight:600;display:flex}.admonition-icon[data-v-ee240a2a]{color:inherit;margin-right:.5rem}.admonition-content[data-v-ee240a2a]{color:var(--admonition-text);padding:.5rem 1rem 1rem}.admonition-note[data-v-ee240a2a]{border-left-color:var(--admonition-note-color)}.admonition-note .admonition-header[data-v-ee240a2a]{color:var(--admonition-note-color);background-color:#448aff0f}.admonition-info[data-v-ee240a2a]{border-left-color:var(--admonition-note-color)}.admonition-info .admonition-header[data-v-ee240a2a]{color:var(--admonition-note-color);background-color:#448aff0f}.admonition-tip[data-v-ee240a2a]{border-left-color:var(--admonition-tip-color)}.admonition-tip .admonition-header[data-v-ee240a2a]{color:var(--admonition-tip-color);background-color:#00bfa50f}.admonition-warning[data-v-ee240a2a]{border-left-color:var(--admonition-warning-color)}.admonition-warning .admonition-header[data-v-ee240a2a]{color:var(--admonition-warning-color);background-color:#ff91000f}.admonition-danger[data-v-ee240a2a]{border-left-color:var(--admonition-danger-color)}.admonition-danger .admonition-header[data-v-ee240a2a]{color:var(--admonition-danger-color);background-color:#ff52520f}.admonition-error[data-v-ee240a2a]{border-left-color:var(--admonition-danger-color)}.admonition-error .admonition-header[data-v-ee240a2a]{color:var(--admonition-danger-color);background-color:#ff52520f}.admonition-caution[data-v-ee240a2a]{border-left-color:var(--admonition-warning-color)}.admonition-caution .admonition-header[data-v-ee240a2a]{color:var(--admonition-warning-color);background-color:#ff91000f}.admonition-content[data-v-ee240a2a] .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}.admonition-toggle[data-v-ee240a2a]{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:.25rem .5rem;font-size:.9rem}.admonition-toggle[data-v-ee240a2a]:focus{outline-offset:2px;outline:2px solid #00000014}.admonition.is-dark[data-v-ee240a2a]{--admonition-bg:#0b1220;--admonition-border:#ffffff0f;--admonition-header-bg:#ffffff08;--admonition-text:#e6eef8;--admonition-muted:#cbd5e1}.admonition.is-dark .admonition-note .admonition-header[data-v-ee240a2a],.admonition.is-dark .admonition-info .admonition-header[data-v-ee240a2a]{color:var(--admonition-note-color);background-color:#448aff1f}.admonition.is-dark .admonition-tip .admonition-header[data-v-ee240a2a]{color:var(--admonition-tip-color);background-color:#00bfa51f}.admonition.is-dark .admonition-warning .admonition-header[data-v-ee240a2a]{color:var(--admonition-warning-color);background-color:#ff91001f}.admonition.is-dark .admonition-danger .admonition-header[data-v-ee240a2a]{color:var(--admonition-danger-color);background-color:#ff52521f}@media (prefers-color-scheme:dark){.admonition[data-v-ee240a2a]{--admonition-bg:#0b1220;--admonition-border:#ffffff0f;--admonition-header-bg:#ffffff08;--admonition-text:#e6eef8;--admonition-muted:#cbd5e1}.admonition-note .admonition-header[data-v-ee240a2a],.admonition-info .admonition-header[data-v-ee240a2a]{color:var(--admonition-note-color);background-color:#448aff1f}.admonition-tip .admonition-header[data-v-ee240a2a]{color:var(--admonition-tip-color);background-color:#00bfa51f}.admonition-warning .admonition-header[data-v-ee240a2a]{color:var(--admonition-warning-color);background-color:#ff91001f}.admonition-danger .admonition-header[data-v-ee240a2a]{color:var(--admonition-danger-color);background-color:#ff52521f}}:where(.markstream-vue) button{appearance:none;font:inherit;color:inherit;background:0 0;border:0}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.markstream-vue .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markstream-vue .pointer-events-none{pointer-events:none}.markstream-vue .\!visible{visibility:visible!important}.markstream-vue .visible{visibility:visible}.markstream-vue .collapse{visibility:collapse}.markstream-vue .static{position:static}.markstream-vue .fixed{position:fixed}.markstream-vue .absolute{position:absolute}.markstream-vue .relative{position:relative}.markstream-vue .inset-0{inset:0}.markstream-vue .right-2{right:.5rem}.markstream-vue .right-6{right:1.5rem}.markstream-vue .top-2{top:.5rem}.markstream-vue .top-6{top:1.5rem}.markstream-vue .z-10{z-index:10}.markstream-vue .z-50{z-index:50}.markstream-vue .z-\[9999\]{z-index:9999}.markstream-vue .m-0{margin:0}.markstream-vue .mx-0\.5{margin-left:.125rem;margin-right:.125rem}.markstream-vue .my-0{margin-top:0;margin-bottom:0}.markstream-vue .my-2{margin-top:.5rem;margin-bottom:.5rem}.markstream-vue .my-4{margin-top:1rem;margin-bottom:1rem}.markstream-vue .my-5{margin-top:1.25rem;margin-bottom:1.25rem}.markstream-vue .my-8{margin-top:2rem;margin-bottom:2rem}.markstream-vue .mb-2{margin-bottom:.5rem}.markstream-vue .mb-4{margin-bottom:1rem}.markstream-vue .mb-\[calc\(3\/5\*1em\)\]{margin-bottom:.6em}.markstream-vue .mb-\[calc\(8\/9\*1em\)\]{margin-bottom:.888889em}.markstream-vue .mr-2{margin-right:.5rem}.markstream-vue .mt-0{margin-top:0}.markstream-vue .mt-2{margin-top:.5rem}.markstream-vue .mt-6{margin-top:1.5rem}.markstream-vue .mt-8{margin-top:2rem}.markstream-vue .mt-\[calc\(8\/5\*1em\)\]{margin-top:1.6em}.markstream-vue .block{display:block}.markstream-vue .inline-block{display:inline-block}.markstream-vue .inline{display:inline}.markstream-vue .flex{display:flex}.markstream-vue .inline-flex{display:inline-flex}.markstream-vue .table{display:table}.markstream-vue .grid{display:grid}.markstream-vue .contents{display:contents}.markstream-vue .list-item{display:list-item}.markstream-vue .hidden{display:none}.markstream-vue .h-3{height:.75rem}.markstream-vue .h-4{height:1rem}.markstream-vue .h-auto{height:auto}.markstream-vue .h-full{height:100%}.markstream-vue .max-h-full{max-height:100%}.markstream-vue .min-h-\[360px\]{min-height:360px}.markstream-vue .min-h-\[40px\]{min-height:40px}.markstream-vue .min-h-full{min-height:100%}.markstream-vue .w-2\/3{width:66.6667%}.markstream-vue .w-3{width:.75rem}.markstream-vue .w-4{width:1rem}.markstream-vue .w-4\/5{width:80%}.markstream-vue .w-full{width:100%}.markstream-vue .max-w-full{max-width:100%}.markstream-vue .flex-1{flex:1}.markstream-vue .flex-shrink{flex-shrink:1}.markstream-vue .flex-shrink-0{flex-shrink:0}.markstream-vue .shrink{flex-shrink:1}.markstream-vue .border-collapse{border-collapse:collapse}.markstream-vue .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.markstream-vue .animate-spin{animation:1s linear infinite spin}.markstream-vue .cursor-grab{cursor:grab}.markstream-vue .cursor-grabbing{cursor:grabbing}.markstream-vue .cursor-not-allowed{cursor:not-allowed}.markstream-vue .cursor-pointer{cursor:pointer}.markstream-vue .resize{resize:both}.markstream-vue .list-decimal{list-style-type:decimal}.markstream-vue .list-disc{list-style-type:disc}.markstream-vue .flex-wrap{flex-wrap:wrap}.markstream-vue .items-center{align-items:center}.markstream-vue .items-baseline{align-items:baseline}.markstream-vue .justify-center{justify-content:center}.markstream-vue .justify-between{justify-content:space-between}.markstream-vue .gap-1\.5{gap:.375rem}.markstream-vue .gap-2{gap:.5rem}.markstream-vue .gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.markstream-vue .gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.markstream-vue .overflow-hidden{overflow:hidden}.markstream-vue .overflow-x-auto{overflow-x:auto}.markstream-vue .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.markstream-vue .whitespace-normal{white-space:normal}.markstream-vue .whitespace-nowrap{white-space:nowrap}.markstream-vue .whitespace-pre-wrap{white-space:pre-wrap}.markstream-vue .break-words{overflow-wrap:break-word}.markstream-vue .rounded{border-radius:.25rem}.markstream-vue .rounded-full{border-radius:9999px}.markstream-vue .rounded-lg{border-radius:.5rem}.markstream-vue .rounded-md{border-radius:.375rem}.markstream-vue .border{border-width:1px}.markstream-vue .border-2{border-width:2px}.markstream-vue .border-b{border-bottom-width:1px}.markstream-vue .border-t{border-top-width:1px}.markstream-vue .border-solid{border-style:solid}.markstream-vue .border-\[\#eaecef\]{--tw-border-opacity:1;border-color:rgb(234 236 239/var(--tw-border-opacity,1))}.markstream-vue .border-\[var\(--hr-border-color\,\#e2e8f0\)\]{border-color:var(--hr-border-color,#e2e8f0)}.markstream-vue .border-\[var\(--table-border\,\#cbd5e1\)\]{border-color:var(--table-border,#cbd5e1)}.markstream-vue .border-current{border-color:currentColor}.markstream-vue .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.markstream-vue .border-gray-400\/5{border-color:#9ca3af0d}.markstream-vue .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.markstream-vue .border-gray-700\/30{border-color:#3741514d}.markstream-vue .border-t-transparent{border-top-color:#0000}.markstream-vue .bg-\[hsl\(var\(--muted\)\)\]{background-color:hsl(var(--muted))}.markstream-vue .bg-\[hsl\(var\(--secondary\)\)\]{background-color:hsl(var(--secondary))}.markstream-vue .bg-black\/70{background-color:#000000b3}.markstream-vue .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.markstream-vue .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.markstream-vue .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.markstream-vue .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.markstream-vue .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.markstream-vue .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.markstream-vue .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.markstream-vue .p-0{padding:0}.markstream-vue .p-0\.5{padding:.125rem}.markstream-vue .p-2{padding:.5rem}.markstream-vue .p-4{padding:1rem}.markstream-vue .p-\[calc\(4\/7\*1em\)\]{padding:.571429em}.markstream-vue .px-1{padding-left:.25rem;padding-right:.25rem}.markstream-vue .px-1\.5{padding-left:.375rem;padding-right:.375rem}.markstream-vue .px-2{padding-left:.5rem;padding-right:.5rem}.markstream-vue .px-2\.5{padding-left:.625rem;padding-right:.625rem}.markstream-vue .px-3{padding-left:.75rem;padding-right:.75rem}.markstream-vue .px-4{padding-left:1rem;padding-right:1rem}.markstream-vue .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.markstream-vue .py-1{padding-top:.25rem;padding-bottom:.25rem}.markstream-vue .py-2{padding-top:.5rem;padding-bottom:.5rem}.markstream-vue .py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.markstream-vue .py-4{padding-top:1rem;padding-bottom:1rem}.markstream-vue .pb-3{padding-bottom:.75rem}.markstream-vue .pl-1\.5{padding-left:.375rem}.markstream-vue .pl-\[calc\(13\/8\*1em\)\]{padding-left:1.625em}.markstream-vue .pt-2{padding-top:.5rem}.markstream-vue .text-left{text-align:left}.markstream-vue .text-center{text-align:center}.markstream-vue .text-right{text-align:right}.markstream-vue .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.markstream-vue .text-2xl{font-size:1.5rem;line-height:2rem}.markstream-vue .text-4xl{font-size:2.25rem;line-height:2.5rem}.markstream-vue .text-\[85\%\]{font-size:85%}.markstream-vue .text-base{font-size:1rem;line-height:1.5rem}.markstream-vue .text-sm{font-size:.875rem;line-height:1.25rem}.markstream-vue .text-xl{font-size:1.25rem;line-height:1.75rem}.markstream-vue .text-xs{font-size:.75rem;line-height:1rem}.markstream-vue .font-medium{font-weight:500}.markstream-vue .font-semibold{font-weight:600}.markstream-vue .uppercase{text-transform:uppercase}.markstream-vue .lowercase{text-transform:lowercase}.markstream-vue .italic{font-style:italic}.markstream-vue .leading-\[calc\(10\/9\*1\)\]{line-height:1.11111}.markstream-vue .leading-\[calc\(4\/3\*1\)\]{line-height:1.33333}.markstream-vue .leading-\[calc\(5\/3\*1\)\]{line-height:1.66667}.markstream-vue .leading-\[normal\]{line-height:normal}.markstream-vue .leading-relaxed{line-height:1.625}.markstream-vue .text-\[\#0366d6\]{--tw-text-opacity:1;color:rgb(3 102 214/var(--tw-text-opacity,1))}.markstream-vue .text-\[hsl\(var\(--muted-foreground\)\)\]{color:hsl(var(--muted-foreground))}.markstream-vue .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.markstream-vue .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.markstream-vue .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.markstream-vue .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.markstream-vue .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.markstream-vue .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.markstream-vue .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.markstream-vue .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.markstream-vue .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.markstream-vue .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.markstream-vue .underline{text-decoration-line:underline}.markstream-vue .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.markstream-vue .opacity-0{opacity:0}.markstream-vue .opacity-100{opacity:1}.markstream-vue .opacity-50{opacity:.5}.markstream-vue .shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.markstream-vue .shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.markstream-vue .shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.markstream-vue .outline{outline-style:solid}.markstream-vue .blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.markstream-vue .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.markstream-vue .backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.markstream-vue .backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.markstream-vue .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-vue .transition-\[height\]{transition-property:height;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-vue .transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-vue .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-vue .transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-vue .duration-100{transition-duration:.1s}.markstream-vue .duration-150{transition-duration:.15s}.markstream-vue .duration-200{transition-duration:.2s}.markstream-vue .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-vue .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.markstream-vue{--border:214.3 31.8% 91.4%;--background:0 0% 100%;--foreground:222.2 84% 4.9%;--secondary:210 40% 96%;--muted:210 40% 96%;--muted-foreground:215.4 16.3% 46.9%}.dark .markstream-vue,.markstream-vue.dark{--border:217.2 32.6% 17.5%;--background:222.2 84% 4.9%;--foreground:210 40% 98%;--secondary:217.2 32.6% 17.5%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%}body>div[id^=dmermaid-]{pointer-events:none;width:0;height:0;position:fixed;top:0;left:0;overflow:hidden}.markstream-vue .before\:content-\[\'\'\]:before,.markstream-vue .after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.markstream-vue .hover\:bg-\[hsl\(var\(--secondary\)\)\]:hover{background-color:hsl(var(--secondary))}.markstream-vue .hover\:bg-\[var\(--vscode-editor-selectionBackground\)\]:hover{background-color:var(--vscode-editor-selectionBackground)}.markstream-vue .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.markstream-vue .hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.markstream-vue .hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.markstream-vue .hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.markstream-vue .hover\:underline:hover{text-decoration-line:underline}@media not all and (width>=1024px){.markstream-vue .max-lg\:my-\[calc\(4\/3\*1em\)\]{margin-top:1.33333em;margin-bottom:1.33333em}.markstream-vue .max-lg\:pl-\[calc\(14\/9\*1em\)\]{padding-left:1.55556em}}.math-inline-wrapper[data-v-d4b863b7]{display:inline-block;position:relative}.math-inline[data-v-d4b863b7]{vertical-align:middle;display:inline-block}.math-inline--fallback[data-v-d4b863b7]{white-space:pre-wrap}.math-inline__loading[data-v-d4b863b7]{pointer-events:none;justify-content:center;align-items:center;display:inline-flex}.math-inline__spinner[data-v-d4b863b7]{will-change:transform;border:2px solid #5e687940;border-top-color:#5e6879cc;border-radius:9999px;width:1rem;height:1rem}.table-node-fade-enter-active[data-v-d4b863b7],.table-node-fade-leave-active[data-v-d4b863b7]{transition:opacity .18s}.table-node-fade-enter-from[data-v-d4b863b7],.table-node-fade-leave-to[data-v-d4b863b7]{opacity:0}.sr-only[data-v-d4b863b7]{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.math-loading-overlay[data-v-f19e21a0]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;min-height:40px;display:flex;position:absolute;inset:0}.math-loading-spinner[data-v-f19e21a0]{border:2px solid #0000001a;border-top-color:#0009;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite math-spin-f19e21a0}@keyframes math-spin-f19e21a0{to{transform:rotate(360deg)}}.math-rendering[data-v-f19e21a0]{opacity:.3;transition:opacity .2s}.math-block__fallback[data-v-f19e21a0]{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.math-fade-enter-active[data-v-f19e21a0],.math-fade-leave-active[data-v-f19e21a0]{transition:opacity .3s}.math-fade-enter-from[data-v-f19e21a0],.math-fade-leave-to[data-v-f19e21a0]{opacity:0}@media (prefers-color-scheme:dark){.math-loading-overlay[data-v-f19e21a0]{background-color:#0009}.math-loading-spinner[data-v-f19e21a0]{border-color:#fffc #fff3 #fff3}}.html-preview-frame__backdrop[data-v-296dd89d]{z-index:50;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.html-preview-frame__backdrop--dark[data-v-296dd89d]{background-color:#0f172acc}.html-preview-frame[data-v-296dd89d]{background-color:#fff;border-radius:.5rem;flex-direction:column;width:80vw;max-width:960px;height:70vh;display:flex;overflow:hidden;box-shadow:0 10px 40px #00000040}.html-preview-frame--dark[data-v-296dd89d]{color:#e5e7eb;background-color:#020617;box-shadow:0 10px 40px #0009}.html-preview-frame__header[data-v-296dd89d]{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.html-preview-frame--dark .html-preview-frame__header[data-v-296dd89d]{border-bottom-color:#94a3b859}.html-preview-frame__title[data-v-296dd89d]{letter-spacing:.02em;text-transform:uppercase;opacity:.85;align-items:center;gap:.4rem;font-size:.75rem;font-weight:500;display:inline-flex}.html-preview-frame__dot[data-v-296dd89d]{background-color:#22c55e;border-radius:999px;width:.5rem;height:.5rem}.html-preview-frame--dark .html-preview-frame__dot[data-v-296dd89d]{background-color:#4ade80}.html-preview-frame__label[data-v-296dd89d]{white-space:nowrap}.html-preview-frame__close[data-v-296dd89d]{cursor:pointer;background:0 0;border:none;font-size:1.25rem;line-height:1}.html-preview-frame__close--dark[data-v-296dd89d]{color:#e5e7eb}.html-preview-frame__iframe[data-v-296dd89d]{border:none;width:100%;height:100%;display:block}@media (width<=640px){.html-preview-frame[data-v-296dd89d]{border-radius:0;width:100vw;height:80vh}}.code-block-container[data-v-1a55f98f]{contain:content;content-visibility:auto;contain-intrinsic-size:320px 180px;--markstream-code-fallback-bg:#fff;--markstream-code-fallback-fg:#111827;--markstream-code-border-color:#e5e7eb;--vscode-editor-selectionBackground:var(--markstream-code-fallback-selection-bg);--markstream-code-fallback-selection-bg:#0000000f;--markstream-diff-frame-border:#cbd5e18f;--markstream-diff-frame-shadow:0 16px 40px -32px #0f172a2e;--markstream-diff-shell-fg:#0f172a;--markstream-diff-shell-muted:#64748b;--markstream-diff-shell-border:#94a3b82e;--markstream-diff-shell-shadow:0 30px 70px -48px #0f172a6b;--markstream-diff-shell-bg:radial-gradient(circle at top center, #ffffffe6, transparent 55%), linear-gradient(180deg, #fffdfa 0%, #fbfcfe 100%);--markstream-diff-header-border:#e2e8f0eb;--markstream-diff-stage-bg:radial-gradient(circle at top center, #fffffff2, transparent 60%), linear-gradient(180deg, #fcfdff 0%, #f6f8fb 100%);--markstream-diff-editor-bg:#fff;--markstream-diff-editor-fg:#435266;--markstream-diff-unchanged-fg:lab(36.247% .0071872 -.000424832);--markstream-diff-unchanged-bg:lab(95.9989% .0180531 -.0010643);--markstream-diff-unchanged-divider:#fffffff0;--markstream-diff-focus:#0ea5e96b;--markstream-diff-widget-shadow:#0f172a42;--markstream-diff-action-hover:#0f172a0f;--markstream-diff-panel-bg:linear-gradient(180deg, #fff 0%, #fbfcfe 100%);--markstream-diff-panel-bg-soft:#fff;--markstream-diff-panel-bg-strong:#fff;--markstream-diff-panel-border:#e2e8f04d;--markstream-diff-pane-divider:#e2e8f06b;--markstream-diff-gutter-bg:transparent;--markstream-diff-gutter-guide:transparent;--markstream-diff-gutter-gap:16px;--markstream-diff-line-number:#525252e0;--markstream-diff-line-number-active:#525252e0;--markstream-diff-added-fg:#14b8a6;--markstream-diff-removed-fg:#ff3658;--markstream-diff-added-line:#e8f9f5fa;--markstream-diff-removed-line:#fff1f1fa;--markstream-diff-added-inline:#c5f5dbf5;--markstream-diff-removed-inline:#ffd7d9eb;--markstream-diff-added-inline-border:transparent;--markstream-diff-removed-inline-border:transparent;--markstream-diff-added-gutter:linear-gradient(90deg, var(--markstream-diff-added-fg) 0 var(--stream-monaco-gutter-marker-width,4px), #14b8a614 var(--stream-monaco-gutter-marker-width,4px) 100%);--markstream-diff-removed-gutter:repeating-linear-gradient(180deg, var(--markstream-diff-removed-fg) 0 2px, transparent 2px 4px) left / var(--stream-monaco-gutter-marker-width,4px) 100% no-repeat, linear-gradient(90deg, #ff365814 0 100%);--markstream-diff-added-line-fill:#e7f8f4f5;--markstream-diff-removed-line-fill:#fff1f1fa;container-type:inline-size}.code-block-container.is-dark[data-v-1a55f98f]{--markstream-code-fallback-bg:#111827;--markstream-code-fallback-fg:#e5e7eb;--markstream-code-border-color:#3741514d;--markstream-code-fallback-selection-bg:#ffffff14;--markstream-diff-frame-border:#52525b8f;--markstream-diff-frame-shadow:0 18px 40px -30px #000000d6;--markstream-diff-shell-fg:#e2e8f0;--markstream-diff-shell-muted:#94a3b8;--markstream-diff-shell-border:#52525b8f;--markstream-diff-shell-shadow:0 34px 80px -52px #000000b8;--markstream-diff-shell-bg:#0a0a0bfc;--markstream-diff-header-border:#3f3f46d1;--markstream-diff-stage-bg:#0a0a0bfc;--markstream-diff-editor-bg:#0c0c0efc;--markstream-diff-editor-fg:#b6c2d3;--markstream-diff-unchanged-fg:#cbd5e1;--markstream-diff-unchanged-bg:#18181beb;--markstream-diff-unchanged-divider:#ffffff2e;--markstream-diff-focus:#60a5fa6b;--markstream-diff-widget-shadow:#000000b8;--markstream-diff-action-hover:#ffffff14;--markstream-diff-panel-bg:#0a0a0bfc;--markstream-diff-panel-bg-soft:#0a0a0bfc;--markstream-diff-panel-bg-strong:#0a0a0bfc;--markstream-diff-panel-border:#52525b4d;--markstream-diff-pane-divider:#52525b57;--markstream-diff-gutter-bg:linear-gradient(180deg, #0d0d0ff0 0%, #09090afa 100%);--markstream-diff-gutter-guide:#a1a1aa14;--markstream-diff-gutter-gap:16px;--markstream-diff-line-number:#a1a1aaad;--markstream-diff-line-number-active:#e4e4e7d1;--markstream-diff-added-fg:#5eead4;--markstream-diff-removed-fg:#fda4af;--markstream-diff-added-line:#0d94882e;--markstream-diff-removed-line:#e11d482e;--markstream-diff-added-inline:#2dd4bf3d;--markstream-diff-removed-inline:#fb71853d;--markstream-diff-added-inline-border:transparent;--markstream-diff-removed-inline-border:transparent;--markstream-diff-added-gutter:linear-gradient(90deg, var(--markstream-diff-added-fg) 0 var(--stream-monaco-gutter-marker-width,4px), #5eead433 var(--stream-monaco-gutter-marker-width,4px) 100%);--markstream-diff-removed-gutter:repeating-linear-gradient(180deg, var(--markstream-diff-removed-fg) 0 2px, transparent 2px 4px) left / var(--stream-monaco-gutter-marker-width,4px) 100% no-repeat, linear-gradient(90deg, #fda4af2e 0 100%);--markstream-diff-added-line-fill:linear-gradient(90deg, #0f766e61 0%, #0d948847 100%);--markstream-diff-removed-line-fill:linear-gradient(90deg, #9f123961 0%, #e11d4847 100%)}.code-editor-container[data-v-1a55f98f]{transition:height .18s,max-height .18s}.code-block-header[data-v-1a55f98f]{gap:16px}.code-header-main[data-v-1a55f98f]{flex:auto;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.code-header-copy[data-v-1a55f98f]{gap:2px;min-width:0;display:grid}.code-header-actions[data-v-1a55f98f]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.code-header-title[data-v-1a55f98f]{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;font-size:14px;font-weight:650;overflow:hidden}.code-header-caption[data-v-1a55f98f]{text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb,var(--vscode-editor-foreground,currentColor) 62%,transparent);font-size:12px;overflow:hidden}.code-editor-layer[data-v-1a55f98f]{min-width:0;display:grid}.code-editor-layer>.code-editor-container[data-v-1a55f98f],[data-v-1a55f98f] .code-editor-layer>pre.code-pre-fallback{grid-area:1/1}.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .monaco-editor-background,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .margin,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .lines-content{background:var(--vscode-editor-background,var(--markstream-code-fallback-bg))!important}.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .margin,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .view-lines,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .view-line,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .view-line span,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .line-numbers{color:var(--vscode-editor-foreground,var(--markstream-code-fallback-fg))!important}.code-block-container.is-diff .code-block-header[data-v-1a55f98f]{color:var(--markstream-diff-shell-fg);border-bottom-color:var(--markstream-diff-header-border);background:0 0;padding:18px 20px 14px}.code-block-container.is-diff[data-v-1a55f98f]{background:var(--markstream-diff-shell-bg);box-shadow:var(--markstream-diff-shell-shadow);border-color:var(--markstream-diff-shell-border);--vscode-editor-selectionBackground:var(--markstream-diff-action-hover)}.code-block-container.is-diff .code-header-caption[data-v-1a55f98f]{color:var(--markstream-diff-shell-muted)}.code-block-container.is-diff .code-editor-layer[data-v-1a55f98f]{background:var(--markstream-diff-stage-bg);--vscode-editor-background:var(--markstream-diff-editor-bg);--vscode-editor-foreground:var(--markstream-diff-editor-fg);--vscode-diffEditor-unchangedRegionForeground:var(--markstream-diff-unchanged-fg);--vscode-diffEditor-unchangedRegionBackground:var(--markstream-diff-unchanged-bg);--vscode-focusBorder:var(--markstream-diff-focus);--vscode-widget-shadow:var(--markstream-diff-widget-shadow);--vscode-editor-selectionBackground:color-mix(in srgb, var(--markstream-diff-editor-bg) 90%, var(--markstream-diff-editor-fg) 10%);--stream-monaco-editor-bg:var(--markstream-diff-editor-bg);--stream-monaco-editor-fg:var(--markstream-diff-editor-fg);--stream-monaco-unchanged-fg:var(--markstream-diff-unchanged-fg);--stream-monaco-unchanged-bg:var(--markstream-diff-unchanged-bg);--stream-monaco-frame-radius:18px;--stream-monaco-fixed-editor-bg:var(--markstream-diff-panel-bg-strong);--stream-monaco-frame-border:var(--markstream-diff-frame-border);--stream-monaco-frame-shadow:var(--markstream-diff-frame-shadow);--stream-monaco-panel-bg:var(--markstream-diff-panel-bg);--stream-monaco-panel-bg-soft:var(--markstream-diff-panel-bg-soft);--stream-monaco-panel-bg-strong:var(--markstream-diff-panel-bg-strong);--stream-monaco-panel-border:var(--markstream-diff-panel-border);--stream-monaco-pane-divider:var(--markstream-diff-pane-divider);--stream-monaco-gutter-bg:var(--markstream-diff-gutter-bg);--stream-monaco-gutter-guide:var(--markstream-diff-gutter-guide);--stream-monaco-gutter-marker-width:4px;--stream-monaco-gutter-gap:var(--markstream-diff-gutter-gap);--stream-monaco-line-number:var(--markstream-diff-line-number);--stream-monaco-line-number-active:var(--markstream-diff-line-number-active);--stream-monaco-line-number-left:calc(var(--stream-monaco-gutter-marker-width) + var(--stream-monaco-gutter-gap));--stream-monaco-line-number-width:36px;--stream-monaco-line-number-align:center;--stream-monaco-original-margin-width:calc(var(--stream-monaco-gutter-marker-width) + (var(--stream-monaco-gutter-gap) * 2) + var(--stream-monaco-line-number-width));--stream-monaco-original-scrollable-left:var(--stream-monaco-original-margin-width);--stream-monaco-original-scrollable-width:calc(100% - var(--stream-monaco-original-margin-width));--stream-monaco-modified-margin-width:calc(var(--stream-monaco-gutter-marker-width) + (var(--stream-monaco-gutter-gap) * 2) + var(--stream-monaco-line-number-width));--stream-monaco-modified-scrollable-left:var(--stream-monaco-modified-margin-width);--stream-monaco-modified-scrollable-width:calc(100% - var(--stream-monaco-modified-margin-width));--stream-monaco-added-fg:var(--markstream-diff-added-fg);--stream-monaco-removed-fg:var(--markstream-diff-removed-fg);--stream-monaco-added-line:var(--markstream-diff-added-line);--stream-monaco-removed-line:var(--markstream-diff-removed-line);--stream-monaco-added-inline:var(--markstream-diff-added-inline);--stream-monaco-removed-inline:var(--markstream-diff-removed-inline);--stream-monaco-added-outline:transparent;--stream-monaco-removed-outline:transparent;--stream-monaco-added-inline-border:var(--markstream-diff-added-inline-border);--stream-monaco-removed-inline-border:var(--markstream-diff-removed-inline-border);--stream-monaco-added-line-shadow:none;--stream-monaco-removed-line-shadow:none;--stream-monaco-added-gutter:var(--markstream-diff-added-gutter);--stream-monaco-removed-gutter:var(--markstream-diff-removed-gutter);--stream-monaco-added-line-fill:var(--markstream-diff-added-line-fill);--stream-monaco-removed-line-fill:var(--markstream-diff-removed-line-fill);padding:4px 4px 8px}.code-block-container.is-diff.is-dark .code-editor-layer[data-v-1a55f98f]{background:var(--markstream-diff-stage-bg)}.code-editor-container.is-hidden[data-v-1a55f98f]{opacity:0;pointer-events:none}[data-v-1a55f98f] pre.code-pre-fallback{padding:var(--markstream-code-padding-y,8px) var(--markstream-code-padding-x,12px);padding-left:var(--markstream-code-padding-left,52px);color:var(--vscode-editor-foreground,inherit);font-size:var(--vscode-editor-font-size,12px);font-weight:400;font-family:var(--markstream-code-font-family,ui-monospace, SFMono-Regular, SF Mono, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace);background:0 0;margin:0}[data-v-1a55f98f] pre.code-pre-fallback>code{font-size:inherit;font-weight:inherit;line-height:inherit}[data-v-1a55f98f] pre.code-pre-fallback.is-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.code-block-container.is-rendering .code-height-placeholder[data-v-1a55f98f]{background:linear-gradient(90deg,#0000000a 25%,#00000014 37%,#0000000a 63%);min-height:120px;animation:1.2s ease-in-out infinite code-skeleton-shimmer-1a55f98f}.code-loading-placeholder[data-v-1a55f98f]{min-height:120px;padding:1rem}.loading-skeleton[data-v-1a55f98f]{flex-direction:column;gap:.75rem;display:flex}.skeleton-line[data-v-1a55f98f]{background:linear-gradient(90deg,#0000000f 25%,#0000001f 37%,#0000000f 63%) 0 0/400% 100%;border-radius:.25rem;height:1rem;animation:1.2s ease-in-out infinite code-skeleton-shimmer-1a55f98f}.code-block-container.is-dark .skeleton-line[data-v-1a55f98f]{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f 37%,#ffffff0f 63%) 0 0/400% 100%}.skeleton-line.short[data-v-1a55f98f]{width:60%}@keyframes code-skeleton-shimmer-1a55f98f{0%{background-position:100% 0}to{background-position:0 0}}.code-action-btn[data-v-1a55f98f]{border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;min-width:2rem;min-height:2rem;padding:.5rem;font-family:inherit;line-height:1;display:inline-flex}.code-block-container.is-diff .icon-slot[data-v-1a55f98f]{width:28px;height:28px;color:var(--markstream-diff-added-fg);padding:5px;box-shadow:inset 0 1px #ffffffb3}.code-block-container.is-diff.is-dark .icon-slot[data-v-1a55f98f]{box-shadow:inset 0 1px #ffffff14,0 12px 28px -20px #38bdf873}.code-diff-stats[data-v-1a55f98f]{letter-spacing:.02em;font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin-right:4px;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.code-diff-stat[data-v-1a55f98f]{align-items:center;display:inline-flex}.code-diff-stat.removed[data-v-1a55f98f]{color:var(--vscode-diffEditor-removedTextForeground,var(--markstream-diff-removed-fg))}.code-diff-stat.added[data-v-1a55f98f]{color:var(--vscode-diffEditor-insertedTextForeground,var(--markstream-diff-added-fg))}.code-block-container.is-dark .code-diff-stat[data-v-1a55f98f]{border:1px solid #0000;border-radius:999px;padding:3px 9px;line-height:1;box-shadow:inset 0 1px #ffffff0d}.code-block-container.is-dark .code-diff-stat.removed[data-v-1a55f98f]{color:#fb7185;background:#9f123929;border-color:#fb718533}.code-block-container.is-dark .code-diff-stat.added[data-v-1a55f98f]{color:#2dd4bf;background:#0f766e29;border-color:#2dd4bf38}.code-action-btn[data-v-1a55f98f]:active{transform:scale(.98)}.code-action-btn[data-v-1a55f98f]:disabled{opacity:.5;cursor:not-allowed}.code-action-btn[data-v-1a55f98f]:disabled:hover{background-color:#0000}.icon-slot[data-v-1a55f98f]{justify-content:center;align-items:center;display:inline-flex}.icon-slot[data-v-1a55f98f] svg,.icon-slot[data-v-1a55f98f] img{width:100%;height:100%;display:block}@container (width<=640px){.code-block-container.is-diff .code-block-header[data-v-1a55f98f]{padding:16px 16px 12px}.code-block-container.is-diff .code-editor-layer[data-v-1a55f98f]{padding:4px 4px 8px}.code-diff-stats[data-v-1a55f98f]{gap:6px;font-size:12px}}[data-v-1a55f98f] .monaco-diff-editor .diffOverview{background-color:var(--vscode-editor-background)}[data-v-1a55f98f] .stream-monaco-diff-root .monaco-diff-editor .diffOverview,[data-v-1a55f98f] .stream-monaco-diff-root .decorationsOverviewRuler{opacity:0!important;pointer-events:none!important;background:0 0!important;border:0!important;width:0!important;min-width:0!important;max-width:0!important;display:none!important;overflow:hidden!important}[data-v-1a55f98f] .code-block-container .stream-monaco-diff-root .monaco-diff-editor{box-shadow:none!important;border:0!important;border-radius:0!important}[data-v-1a55f98f] .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center:not(.stream-monaco-clickable)>:not(a){visibility:hidden!important}[data-v-1a55f98f] .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines-compact .text{opacity:0!important}[data-v-1a55f98f] .stream-monaco-diff-root{--stream-monaco-gutter-gap:var(--markstream-diff-gutter-gap)!important;--stream-monaco-line-number:var(--markstream-diff-line-number)!important;--stream-monaco-line-number-active:var(--markstream-diff-line-number-active)!important;--stream-monaco-added-fg:var(--markstream-diff-added-fg)!important;--stream-monaco-removed-fg:var(--markstream-diff-removed-fg)!important;--stream-monaco-added-line:var(--markstream-diff-added-line)!important;--stream-monaco-removed-line:var(--markstream-diff-removed-line)!important;--stream-monaco-added-inline:var(--markstream-diff-added-inline)!important;--stream-monaco-removed-inline:var(--markstream-diff-removed-inline)!important;--stream-monaco-added-inline-border:var(--markstream-diff-added-inline-border)!important;--stream-monaco-removed-inline-border:var(--markstream-diff-removed-inline-border)!important;--stream-monaco-added-line-fill:var(--markstream-diff-added-line-fill)!important;--stream-monaco-removed-line-fill:var(--markstream-diff-removed-line-fill)!important;--stream-monaco-added-gutter:var(--markstream-diff-added-gutter)!important;--stream-monaco-removed-gutter:var(--markstream-diff-removed-gutter)!important;--stream-monaco-added-line-shadow:none!important;--stream-monaco-removed-line-shadow:none!important;--stream-monaco-unchanged-bg:var(--markstream-diff-unchanged-bg)!important;--stream-monaco-unchanged-fg:var(--markstream-diff-unchanged-fg)!important}[data-v-1a55f98f] .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center:not(.stream-monaco-unchanged-bridge-source),[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge{--stream-monaco-unchanged-bg:var(--markstream-diff-unchanged-bg)!important;--stream-monaco-unchanged-fg:var(--markstream-diff-unchanged-fg)!important;background:var(--stream-monaco-unchanged-bg)!important;color:var(--stream-monaco-unchanged-fg)!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge{right:calc(var(--stream-monaco-gutter-marker-width) - var(--stream-monaco-unchanged-rail-width) / 2 + (var(--stream-monaco-gutter-gap) * 2))!important;width:auto!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary:hover,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary:focus-visible,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary.stream-monaco-focus-visible{background:var(--stream-monaco-unchanged-bg)!important;color:var(--markstream-diff-unchanged-fg)!important;padding-left:calc(var(--stream-monaco-gutter-marker-width) + (var(--stream-monaco-gutter-gap) * 2))!important;padding-right:calc(var(--stream-monaco-gutter-marker-width) + (var(--stream-monaco-gutter-gap) * 2))!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge.stream-monaco-diff-unchanged-bridge-line-info .stream-monaco-unchanged-rail,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:hover,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:focus-visible,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal.stream-monaco-focus-visible{background:var(--stream-monaco-unchanged-bg)!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail{border-right-color:var(--markstream-diff-unchanged-divider)!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal{border-bottom-color:#0000!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail.stream-monaco-unchanged-rail-both .stream-monaco-unchanged-reveal:first-child{border-bottom-color:var(--markstream-diff-unchanged-divider)!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail.stream-monaco-unchanged-rail-top-only .stream-monaco-unchanged-reveal,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail.stream-monaco-unchanged-rail-bottom-only .stream-monaco-unchanged-reveal{border-bottom:0!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-meta,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-count,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-metadata-label,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:hover,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:focus-visible,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal.stream-monaco-focus-visible{color:var(--markstream-diff-unchanged-fg)!important}[data-v-1a55f98f] .monaco-diff-editor:not(.side-by-side) .editor.original .diff-hidden-lines .center{justify-content:center;align-items:center}[data-v-1a55f98f] .monaco-diff-editor:not(.side-by-side) .editor.original .diff-hidden-lines .center>div:first-child{align-items:center;min-width:100%;display:flex;justify-content:center!important;width:100%!important}[data-v-1a55f98f] .monaco-diff-editor:not(.side-by-side) .editor.modified .diff-hidden-lines .center>div:first-child{display:none!important}[data-v-1a55f98f] .markstream-inline-fold-proxy{appearance:none;box-shadow:none;color:var(--vscode-diffEditor-unchangedRegionForeground,currentColor);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;padding:0;display:inline-flex}[data-v-1a55f98f] .markstream-inline-fold-proxy:hover,[data-v-1a55f98f] .markstream-inline-fold-proxy:focus-visible{color:var(--vscode-editorLink-activeForeground,var(--vscode-diffEditor-unchangedRegionForeground,currentColor))}[data-v-1a55f98f] .markstream-inline-fold-proxy:focus-visible{outline:1px solid var(--vscode-focusBorder,currentColor);outline-offset:1px}[data-v-1a55f98f] .markstream-inline-fold-proxy .codicon{color:inherit;width:16px;height:16px;font-size:16px;line-height:16px}._mermaid[data-v-6eade7e5]{content-visibility:auto;contain:content;contain-intrinsic-size:360px 240px;font-family:inherit}._mermaid[data-v-6eade7e5] svg{width:100%;height:auto;display:block}.fullscreen[data-v-6eade7e5]{width:100%;height:100%!important;max-height:100%!important}.mermaid-action-btn[data-v-6eade7e5]{font-family:inherit}.mermaid-action-btn[data-v-6eade7e5]:active{transform:scale(.98)}.mermaid-dialog-enter-from[data-v-6eade7e5],.mermaid-dialog-leave-to[data-v-6eade7e5]{opacity:0}.mermaid-dialog-enter-active[data-v-6eade7e5],.mermaid-dialog-leave-active[data-v-6eade7e5]{transition:opacity .2s}.mermaid-dialog-enter-from .dialog-panel[data-v-6eade7e5],.mermaid-dialog-leave-to .dialog-panel[data-v-6eade7e5]{opacity:.98;transform:translateY(8px)scale(.98)}.mermaid-dialog-enter-to .dialog-panel[data-v-6eade7e5],.mermaid-dialog-leave-from .dialog-panel[data-v-6eade7e5]{opacity:1;transform:translateY(0)scale(1)}.mermaid-dialog-enter-active .dialog-panel[data-v-6eade7e5],.mermaid-dialog-leave-active .dialog-panel[data-v-6eade7e5]{transition:transform .2s,opacity .2s}.infographic-action-btn[data-v-e17a4388]{font-family:inherit}.infographic-action-btn[data-v-e17a4388]:active{transform:scale(.98)}.fullscreen[data-v-e17a4388]{width:100%;height:100%!important;max-height:100%!important}.infographic-dialog-enter-from[data-v-e17a4388],.infographic-dialog-leave-to[data-v-e17a4388]{opacity:0}.infographic-dialog-enter-active[data-v-e17a4388],.infographic-dialog-leave-active[data-v-e17a4388]{transition:opacity .2s}.infographic-dialog-enter-from .dialog-panel[data-v-e17a4388],.infographic-dialog-leave-to .dialog-panel[data-v-e17a4388]{opacity:.98;transform:translateY(8px)scale(.98)}.infographic-dialog-enter-to .dialog-panel[data-v-e17a4388],.infographic-dialog-leave-from .dialog-panel[data-v-e17a4388]{opacity:1;transform:translateY(0)scale(1)}.infographic-dialog-enter-active .dialog-panel[data-v-e17a4388],.infographic-dialog-leave-active .dialog-panel[data-v-e17a4388]{transition:transform .2s,opacity .2s}.d2-block-body[data-v-90ebc4d2]{position:relative}.d2-source[data-v-90ebc4d2]{font-family:var(--vscode-editor-font-family,"Fira Code", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace)}.d2-code[data-v-90ebc4d2]{white-space:pre;font-size:.875rem;line-height:1.5}.d2-render[data-v-90ebc4d2]{overflow:auto}.d2-svg[data-v-90ebc4d2] svg.markstream-d2-root-svg{width:100%;max-width:100%;height:auto;display:block}.mode-btn[data-v-90ebc4d2]{opacity:.7;transition:opacity .2s}.mode-btn.is-active[data-v-90ebc4d2]{opacity:1;font-weight:600}.d2-action-btn[data-v-90ebc4d2]{opacity:.7;transition:opacity .2s}.d2-action-btn[data-v-90ebc4d2]:hover{opacity:1}.d2-action-btn[data-v-90ebc4d2]:disabled{opacity:.3;cursor:not-allowed}.d2-error[data-v-90ebc4d2]{color:#dc2626}.tool-call-node[data-v-f2e29458]{color:var(--text-color-secondary,var(--text-muted,var(--muted)));margin:10px 0;font-size:12px}.tool-call-node__header[data-v-f2e29458]{background:#f5f6f7;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:28px;padding:4px 10px;transition:background-color .2s,border-color .2s;display:flex}.tool-call-node__header--clickable[data-v-f2e29458]{cursor:pointer}.tool-call-node__header--clickable[data-v-f2e29458]:hover{background:#eff1f3;border-color:#d8dde3}.tool-call-node__header--clickable[data-v-f2e29458]:focus-visible{outline:2px solid color-mix(in srgb, var(--primary-color,#1677ff) 24%, transparent);outline-offset:2px}.tool-call-node__prefix[data-v-f2e29458]{align-items:center;gap:6px;min-width:0;display:inline-flex}.tool-call-node__title[data-v-f2e29458]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tool-call-node__prefix-icon[data-v-f2e29458]{color:color-mix(in srgb, var(--primary-color,#1677ff) 65%, #999);font-size:12px}.tool-call-node__prefix-icon.is-spinning[data-v-f2e29458]{animation:1s linear infinite tool-spin-f2e29458}.tool-call-node.is-running .tool-call-node__prefix[data-v-f2e29458],.tool-call-node.is-running .tool-call-node__toggle[data-v-f2e29458]{color:var(--primary-color,#1677ff)}.tool-call-node.is-running .tool-call-node__header[data-v-f2e29458]{background:#f2f5fa;border-color:#d6deea}.tool-call-node.is-success .tool-call-node__prefix[data-v-f2e29458],.tool-call-node.is-success .tool-call-node__toggle[data-v-f2e29458]{color:#8f98a3}.tool-call-node.is-success .tool-call-node__header[data-v-f2e29458]{background:#f3f5f7;border-color:#dde2e7}.tool-call-node.is-error .tool-call-node__prefix[data-v-f2e29458],.tool-call-node.is-error .tool-call-node__toggle[data-v-f2e29458]{color:var(--error-color,#ff4d4f)}.tool-call-node.is-error .tool-call-node__header[data-v-f2e29458]{background:#faf1f1;border-color:#edd7d8}.tool-call-node__toggle[data-v-f2e29458]{color:inherit;opacity:0;flex-shrink:0;align-items:center;gap:4px;padding:0;font-size:12px;line-height:1;transition:opacity .15s;display:inline-flex}.tool-call-node__header--clickable:hover .tool-call-node__toggle[data-v-f2e29458],.tool-call-node__header--clickable:focus-visible .tool-call-node__toggle[data-v-f2e29458]{opacity:1}.tool-call-node__toggle-icon[data-v-f2e29458]{font-size:12px}.tool-call-node__detail[data-v-f2e29458]{background:#fbfdff;border:1px solid #edf2fa;border-radius:12px;margin-top:6px;padding:10px 12px}.tool-call-node__line[data-v-f2e29458]{align-items:flex-start;gap:4px;margin:0;font-size:12px;line-height:1.6;display:flex}.tool-call-node__label[data-v-f2e29458]{color:var(--text-color-secondary,var(--text-muted,var(--muted)));flex-shrink:0}.tool-call-node__value[data-v-f2e29458]{color:var(--text-color,var(--text));word-break:break-all}.tool-call-node__value--overflow[data-v-f2e29458]{-webkit-line-clamp:2;cursor:help;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@keyframes tool-spin-f2e29458{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tool-call-node__approval[data-v-f2e29458]{background:linear-gradient(135deg,#f8faff 0%,#f0f4ff 100%);border:1px solid #e8f0fe;border-radius:10px;margin-top:10px;padding:12px 14px}.tool-call-node__approval-desc[data-v-f2e29458]{color:#5a6474;margin-bottom:8px;font-size:12px;line-height:1.6}.tool-call-node__approval-args[data-v-f2e29458]{align-items:flex-start;gap:4px;margin-bottom:10px;font-size:12px;display:flex}.tool-call-node__approval-code[data-v-f2e29458]{color:#3a5080;white-space:pre-wrap;word-break:break-all;background:#f0f4fc;border:1px solid #dee6f5;border-radius:6px;flex:1;max-height:120px;padding:6px 8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;display:block;overflow-y:auto}.tool-call-node__approval-actions[data-v-f2e29458]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tool-call-node__btn[data-v-f2e29458]{cursor:pointer;border:1px solid #0000;border-radius:6px;outline:none;justify-content:center;align-items:center;padding:5px 14px;font-size:12px;font-weight:500;line-height:1.4;transition:all .2s;display:inline-flex}.tool-call-node__btn[data-v-f2e29458]:disabled{opacity:.55;cursor:not-allowed}.tool-call-node__btn-approve[data-v-f2e29458]{color:#fff;background:#1677ff;border-color:#1677ff}.tool-call-node__btn-approve[data-v-f2e29458]:not(:disabled):hover{background:#4096ff;border-color:#4096ff}.tool-call-node__btn-approve[data-v-f2e29458]:not(:disabled):active{background:#0958d9;border-color:#0958d9}.tool-call-node__btn-reject[data-v-f2e29458]{color:#cf1322;background:#fff1f0;border-color:#ffccc7}.tool-call-node__btn-reject[data-v-f2e29458]:not(:disabled):hover{color:#fff;background:#ff4d4f;border-color:#ff4d4f}.tool-call-node__btn-reject[data-v-f2e29458]:not(:disabled):active{color:#fff;background:#a8071a;border-color:#a8071a}.tool-call-node__btn-edit[data-v-f2e29458]{color:#595959;background:#fff;border-color:#d9d9d9}.tool-call-node__btn-edit[data-v-f2e29458]:not(:disabled):hover{background:#f5f5f5;border-color:#b3b3b3}.tool-call-node__btn-cancel[data-v-f2e29458]{color:#595959;background:#fff;border-color:#d9d9d9}.tool-call-node__btn-cancel[data-v-f2e29458]:not(:disabled):hover{background:#f5f5f5;border-color:#b3b3b3}.tool-call-node__approval-edit[data-v-f2e29458]{margin-top:8px}.tool-call-node__textarea[data-v-f2e29458]{resize:vertical;box-sizing:border-box;border:1px solid #d9d9d9;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-family:monospace;font-size:12px}.tool-call-node__textarea[data-v-f2e29458]:focus{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1f}.tool-call-node__approval-edit-actions[data-v-f2e29458]{align-items:center;gap:8px;margin-top:8px;display:flex}.tool-call-node__approval-result[data-v-f2e29458]{border-radius:6px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:500;display:flex}.tool-call-node__approval-result.is-approved[data-v-f2e29458]{color:#389e0d;background:#f6ffed;border:1px solid #b7eb8f}.tool-call-node__approval-result.is-rejected[data-v-f2e29458]{color:#cf1322;background:#fff2f0;border:1px solid #ffccc7}.approval-result-icon[data-v-f2e29458]{font-size:14px}.approval-result-enter-active[data-v-f2e29458],.approval-result-leave-active[data-v-f2e29458]{transition:all .25s}.approval-result-enter-from[data-v-f2e29458],.approval-result-leave-to[data-v-f2e29458]{opacity:0;transform:translateY(-4px)}.tool-call-node__waiting-badge[data-v-f2e29458]{color:#d46b08;white-space:nowrap;background:#fff7e6;border:1px solid #ffd591;border-radius:4px;align-items:center;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.tool-call-node__result-badge[data-v-f2e29458]{white-space:nowrap;border-radius:4px;align-items:center;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.tool-call-node__result-badge.is-approved[data-v-f2e29458]{color:#389e0d;background:#f6ffed;border:1px solid #b7eb8f}.tool-call-node__result-badge.is-rejected[data-v-f2e29458]{color:#cf1322;background:#fff2f0;border:1px solid #ffccc7}.todos-top-panel[data-v-d03a50e5]{background:linear-gradient(#f9fbff 0%,#f3f8ff 100%);border:1px solid #d7e6ff;border-radius:12px;margin:0 20px 12px;padding:12px 14px}.todos-top-panel__header[data-v-d03a50e5]{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.todos-top-panel__title[data-v-d03a50e5]{color:#1f2d3d;font-size:13px;font-weight:600}.todos-top-panel__meta[data-v-d03a50e5]{color:#4e6796;align-items:center;gap:4px;font-size:12px;display:inline-flex}.todos-top-panel__meta-icon[data-v-d03a50e5]{font-size:12px}.todos-top-panel__list[data-v-d03a50e5]{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.todos-top-panel__item[data-v-d03a50e5]{align-items:flex-start;gap:8px;display:flex}.todos-top-panel__status[data-v-d03a50e5]{flex-shrink:0;align-items:center;margin-top:1px;font-size:14px;display:flex}.todos-top-panel__status.is-pending[data-v-d03a50e5]{color:#9ca3af}.todos-top-panel__status.is-in_progress[data-v-d03a50e5]{color:#1677ff}.todos-top-panel__status.is-completed[data-v-d03a50e5]{color:#22c55e}.todos-top-panel__status.is-cancelled[data-v-d03a50e5]{color:#ef4444}.todos-top-panel__status .is-rotating[data-v-d03a50e5]{animation:1s linear infinite spin-d03a50e5}@keyframes spin-d03a50e5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.todos-top-panel__text[data-v-d03a50e5]{color:#374151;font-size:13px;line-height:1.5}.tool-call-node[data-v-2ab50b51]{color:var(--text-color-secondary,var(--text-muted,var(--muted)));margin:10px 0;font-size:12px}.tool-call-node__header[data-v-2ab50b51]{background:#f5f6f7;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:28px;padding:4px 10px;transition:background-color .2s,border-color .2s;display:flex}.tool-call-node__header--clickable[data-v-2ab50b51]{cursor:pointer}.tool-call-node__header--clickable[data-v-2ab50b51]:hover{background:#ebecee}.tool-call-node__prefix[data-v-2ab50b51]{align-items:center;gap:6px;min-width:0;display:flex}.tool-call-node__prefix-icon[data-v-2ab50b51]{flex-shrink:0;font-size:14px}.tool-call-node__prefix-icon.is-spinning[data-v-2ab50b51]{animation:1s linear infinite spin-2ab50b51}@keyframes spin-2ab50b51{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tool-call-node__title[data-v-2ab50b51]{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.tool-call-node__toggle[data-v-2ab50b51]{flex-shrink:0}.tool-call-node__toggle-icon[data-v-2ab50b51]{color:#9ca3af;font-size:12px}.smdr__body[data-v-2ab50b51]{border:1px solid #e5e7eb;border-radius:8px;margin-top:8px;overflow:hidden}.smdr__error[data-v-2ab50b51]{color:#ef4444;background:#fef2f2;padding:12px}.smdr__tabs[data-v-2ab50b51]{background:#f9fafb;border-bottom:1px solid #e5e7eb;gap:0;display:flex;overflow-x:auto}.smdr__tab[data-v-2ab50b51]{cursor:pointer;color:#6b7280;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:12px;transition:color .15s,border-color .15s}.smdr__tab[data-v-2ab50b51]:hover{color:#374151}.smdr__tab--active[data-v-2ab50b51]{color:var(--primary-color,#1677ff);border-bottom-color:var(--primary-color,#1677ff)}.smdr__content[data-v-2ab50b51]{max-height:400px;padding:10px 12px;overflow-y:auto}.chat-panel[data-v-de8604c5]{background:#fff;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.chat-header[data-v-de8604c5]{border-bottom:1px solid var(--border-color-split,var(--border));flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.header-meta[data-v-de8604c5]{flex-direction:column;gap:4px;min-width:0;display:flex}.header-actions[data-v-de8604c5]{flex-shrink:0;align-items:center;gap:12px;display:flex}.conv-heading[data-v-de8604c5]{color:var(--text-color,var(--text));margin:0;font-size:16px;font-weight:600;line-height:1.4}.conv-subheading[data-v-de8604c5]{color:var(--text-color-secondary,var(--text-muted,var(--muted)));margin:0;font-size:13px;line-height:1.5}.chat-body[data-v-de8604c5]{flex-direction:column;flex:1;min-height:0;padding:12px;display:flex;overflow:hidden}.empty-state[data-v-de8604c5]{height:100%;color:var(--text-color-secondary,var(--text-muted,var(--muted)));flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.empty-icon[data-v-de8604c5]{color:var(--primary-color,var(--primary));font-size:32px}.empty-title[data-v-de8604c5]{color:var(--text-color,var(--text));margin:0;font-size:16px;font-weight:600}.empty-sub[data-v-de8604c5]{margin:0;font-size:13px}.messages-wrapper[data-v-de8604c5]{flex:1;width:100%;min-height:0;display:flex}.input-footer[data-v-de8604c5]{border-top:1px solid var(--border-color-split,var(--border));flex-shrink:0;padding:12px 16px 16px}.input-panel[data-v-de8604c5]{width:100%}.ai-loading[data-v-de8604c5]{align-items:center;min-height:28px;display:flex}.loading-text[data-v-de8604c5]{color:var(--text-color-secondary,var(--text-muted,var(--muted)));font-size:14px}.agent-chat[data-v-a1f03075]{background:var(--component-background,#fff);width:100%;height:100%;display:flex;position:relative;overflow:hidden}.agent-chat__sidebar[data-v-a1f03075]{background:var(--bg-elevated,#f8fafc);border-right:1px solid var(--border-color-split,var(--border));flex-direction:column;flex-shrink:0;gap:10px;width:260px;min-width:260px;height:100%;padding:16px 12px;display:flex;overflow:hidden}.agent-chat__close-btn[data-v-a1f03075]{display:none}.agent-chat__sidebar-header[data-v-a1f03075]{justify-content:space-between;align-items:center;display:flex}.agent-chat__sidebar-title[data-v-a1f03075]{color:var(--text-color,var(--text));font-size:13px;font-weight:600}.agent-chat__new-btn[data-v-a1f03075]{height:26px;padding:0 6px;font-size:12px}.agent-chat__agent-select[data-v-a1f03075]{width:100%}.agent-chat__search[data-v-a1f03075]{border-radius:8px!important}.agent-chat__state-tip[data-v-a1f03075]{color:var(--text-color-secondary,var(--text-muted));align-items:center;padding:4px 8px;font-size:12px;display:flex}.agent-chat__state-tip--error[data-v-a1f03075]{color:#f87171}.agent-chat__conv-list[data-v-a1f03075]{flex:1;overflow:hidden auto}.agent-chat__conv-list[data-v-a1f03075]::-webkit-scrollbar{width:3px}.agent-chat__conv-list[data-v-a1f03075]::-webkit-scrollbar-thumb{background:#00000014;border-radius:99px}.agent-chat__main[data-v-a1f03075]{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.agent-chat__toolbar[data-v-a1f03075]{flex-shrink:0;padding:10px 12px 0;display:none}.agent-chat__history-btn[data-v-a1f03075]{border-radius:999px;font-size:13px}.agent-chat__panel[data-v-a1f03075]{flex:1;min-height:0}.agent-chat__mask[data-v-a1f03075]{display:none}@media (width<=768px){.agent-chat__sidebar[data-v-a1f03075]{z-index:100;border-right:none;width:260px;height:100dvh;transition:left .25s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:-260px;box-shadow:4px 0 24px #0000002e}.agent-chat__sidebar.is-open[data-v-a1f03075]{left:0}.agent-chat__close-btn[data-v-a1f03075]{width:28px;height:28px;color:var(--text-color,var(--text));cursor:pointer;z-index:1;background:#0000000f;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:12px;right:12px}.agent-chat__toolbar[data-v-a1f03075]{display:block}.agent-chat__mask[data-v-a1f03075]{z-index:90;background:#0f172a66;display:block;position:fixed;inset:0}}.sub-agent-node[data-v-9353d527]{border:1px solid var(--border-color-split,#e5e7eb);background:#f9fafb;border-radius:6px;margin:4px 0;overflow:hidden}.sub-agent-node__header[data-v-9353d527]{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f3f4f6;justify-content:space-between;align-items:center;gap:8px;padding:7px 12px;transition:background .15s;display:flex}.sub-agent-node__header[data-v-9353d527]:hover{background:#e9eaec}.sub-agent-node__prefix[data-v-9353d527]{align-items:center;gap:6px;display:flex}.sub-agent-node__icon[data-v-9353d527]{color:#6b7280;font-size:14px}.sub-agent-node__icon.is-spinning[data-v-9353d527]{animation:1s linear infinite sub-spin-9353d527}@keyframes sub-spin-9353d527{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sub-agent-node__name[data-v-9353d527]{font-size:13px;font-weight:500}.sub-agent-node__badge[data-v-9353d527]{color:#4338ca;background:#e0e7ff;border:1px solid #c7d2fe;border-radius:4px;align-items:center;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.sub-agent-node__chevron[data-v-9353d527]{color:#9ca3af;font-size:12px}.sub-agent-node__body[data-v-9353d527]{padding:8px 12px 10px}.sub-agent-node__tools[data-v-9353d527]{margin-bottom:8px}.sub-agent-node__content[data-v-9353d527]{font-size:13px}
1
+ .agent-picker-wrap[data-v-e6866801]{align-items:center;gap:8px;padding:6px 0;display:flex}.agent-picker-label[data-v-e6866801]{color:var(--text-color-secondary,var(--text-muted,var(--muted)));white-space:nowrap;flex-shrink:0;font-size:12px}.agent-picker[data-v-e6866801]{min-width:140px;max-width:200px}.agent-add-btn[data-v-e6866801]{flex-shrink:0}.agent-option-item[data-v-e6866801]{align-items:center;gap:6px;width:100%;display:flex}.agent-option-label[data-v-e6866801]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.agent-option-edit[data-v-e6866801],.agent-option-del[data-v-e6866801]{border-radius:4px;flex-shrink:0;padding:2px;font-size:13px;transition:color .15s,background .15s}.agent-option-edit[data-v-e6866801]:hover{color:var(--primary-color,#1677ff);background:#1677ff14}.agent-option-del[data-v-e6866801]:hover{color:var(--error-color,#ff4d4f);background:#ff4d4f14}.agent-picker__dynamic-form[data-v-e6866801]{width:100%}.agent-picker__dynamic-hint[data-v-e6866801]{color:#9ca3af;margin:0 0 8px;font-size:12px;line-height:1.5}.agent-picker__dynamic-hint code[data-v-e6866801]{background:#f0f0f0;border-radius:3px;padding:1px 4px;font-size:11px}.think-node[data-v-5a2f210e]{margin:6px 0}.think-node__layout[data-v-5a2f210e]{color:var(--text-color-secondary,#8c8c8c);flex-direction:column;gap:4px;min-width:0;font-size:12px;line-height:1.8;display:flex}.think-node__header[data-v-5a2f210e]{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.think-node__header-main[data-v-5a2f210e]{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.think-node__prefix[data-v-5a2f210e]{flex:none;align-items:center;gap:6px;padding-top:1px;display:inline-flex}.think-node__prefix-icon[data-v-5a2f210e]{color:color-mix(in srgb, var(--primary-color,#1677ff) 65%, #999);font-size:12px}.think-node.is-thinking .think-node__prefix[data-v-5a2f210e],.think-node.is-thinking .think-node__toggle[data-v-5a2f210e]{color:var(--primary-color,#1677ff)}.think-node__prefix-icon.is-spinning[data-v-5a2f210e]{animation:1s linear infinite think-node-spin-5a2f210e}.think-node__content[data-v-5a2f210e]{min-width:0;color:inherit;font-size:inherit;line-height:inherit;white-space:pre-wrap;word-break:break-word;position:relative}.think-node__content--inline[data-v-5a2f210e]{flex:1}.think-node__content.is-collapsed[data-v-5a2f210e]{line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.think-node__content.is-collapsed.is-overflowing[data-v-5a2f210e]:after{content:"";background:linear-gradient(180deg, #fff0 0%, color-mix(in srgb, var(--component-background,#fff) 70%, transparent) 100%);pointer-events:none;height:18px;position:absolute;bottom:0;left:0;right:0}.think-node__content.is-expanded[data-v-5a2f210e]{background:color-mix(in srgb, var(--primary-color,#1677ff) 4%, transparent);border-radius:8px;margin-top:2px;padding:8px 10px 8px 28px;overflow-y:auto}.think-node__toggle[data-v-5a2f210e]{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:4px;min-height:20px;padding:2px 6px;font-size:12px;line-height:1;transition:background-color .2s,color .2s;display:inline-flex}.think-node__toggle[data-v-5a2f210e]:hover{background:color-mix(in srgb, var(--primary-color,#1677ff) 8%, transparent);color:color-mix(in srgb, var(--primary-color,#1677ff) 86%, #000)}.think-node__toggle[data-v-5a2f210e]:focus-visible{outline:2px solid color-mix(in srgb, var(--primary-color,#1677ff) 20%, transparent);outline-offset:2px;border-radius:4px}.think-node__toggle-icon[data-v-5a2f210e]{font-size:12px}@keyframes think-node-spin-5a2f210e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.blockquote[data-v-6d8bbd17]{border-left:.25rem solid var(--blockquote-border-color,#e2e8f0);quotes:"“" "”" "‘" "’";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em;font-style:italic;font-weight:500}.blockquote[data-v-6d8bbd17] .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}.checkbox-node[data-v-8dc6c46f]{vertical-align:middle;margin-right:.5rem}.checkbox-input[data-v-8dc6c46f]{cursor:default;margin:0}.definition-list[data-v-f88691d6]{margin:0 0 1rem}.definition-term[data-v-f88691d6]{margin-top:.5rem;font-weight:600}.definition-desc[data-v-f88691d6]{margin-bottom:.5rem;margin-left:1rem}.definition-list[data-v-f88691d6] .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}.emoji-node[data-v-de55dc97]{display:inline-block}.footnote-reference[data-v-01af0fee]{font-size:.75em;line-height:0}.footnote-link[data-v-01af0fee]{color:#0366d6;text-decoration:none}.footnote-link[data-v-01af0fee]:hover{text-decoration:underline}.html-inline-node[data-v-71cd1a9f]{display:inline}.html-inline-node--loading[data-v-71cd1a9f]{opacity:.85}code[data-v-ffb68151]{color:hsl(var(--foreground));background-color:hsl(var(--secondary));border:1px solid hsl(var(--border) / .9)}.inline-code-stream-delta[data-v-ffb68151]{animation-duration:var(--stream-update-fade-duration,var(--typewriter-fade-duration,.9s));animation-timing-function:var(--stream-update-fade-ease,var(--typewriter-fade-ease,ease-out));will-change:opacity;animation-fill-mode:both}.inline-code-stream-delta--a[data-v-ffb68151]{animation-name:inline-code-stream-update-fade-a-ffb68151}.inline-code-stream-delta--b[data-v-ffb68151]{animation-name:inline-code-stream-update-fade-b-ffb68151}@keyframes inline-code-stream-update-fade-a-ffb68151{0%{opacity:0}to{opacity:1}}@keyframes inline-code-stream-update-fade-b-ffb68151{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.inline-code-stream-delta[data-v-ffb68151]{animation:none!important}}.tooltip-enter-from[data-v-d524cc01]{opacity:0;transform:translateY(-6px)scale(.98)}.tooltip-enter-to[data-v-d524cc01],.tooltip-leave-from[data-v-d524cc01]{opacity:1;transform:translateY(0)scale(1)}.tooltip-leave-to[data-v-d524cc01]{opacity:0;transform:translateY(-6px)scale(.98)}.tooltip-enter-active[data-v-d524cc01],.tooltip-leave-active[data-v-d524cc01]{transition:opacity .12s linear}.tooltip-element[data-v-d524cc01]{transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)}.image-node__img[data-v-03adbc6f],.placeholder-layer[data-v-03adbc6f]{max-width:24rem}.image-node__img--inline[data-v-03adbc6f]{vertical-align:middle;display:inline-block;-o-object-fit:initial!important;object-fit:initial!important;width:auto!important;height:auto!important;min-height:0!important}.placeholder-layer--inline[data-v-03adbc6f]{min-height:auto!important}.image-node__error--inline[data-v-03adbc6f]{vertical-align:middle;display:inline-flex}.img-switch-enter-active[data-v-03adbc6f],.img-switch-leave-active[data-v-03adbc6f]{transition:opacity .22s,transform .22s}.img-switch-enter-from[data-v-03adbc6f],.img-switch-leave-to[data-v-03adbc6f]{opacity:0;transform:translateY(6px)}.img-switch-enter-to[data-v-03adbc6f],.img-switch-leave-from[data-v-03adbc6f]{opacity:1;transform:translateY(0)}.placeholder-layer[data-v-03adbc6f]{will-change:transform,opacity}@media (prefers-reduced-motion:reduce){.spinner[data-v-03adbc6f]{animation:none!important}.img-switch-enter-active[data-v-03adbc6f],.img-switch-leave-active[data-v-03adbc6f]{transition:none!important}}.text-node[data-v-03641323]{font-weight:inherit;vertical-align:baseline;display:inline}.text-node-center[data-v-03641323]{justify-content:center;width:100%;display:inline-flex}.text-node-stream-delta[data-v-03641323]{animation-duration:var(--stream-update-fade-duration,var(--typewriter-fade-duration,.9s));animation-timing-function:var(--stream-update-fade-ease,var(--typewriter-fade-ease,ease-out));will-change:opacity;animation-fill-mode:both}.text-node-stream-delta--a[data-v-03641323]{animation-name:text-node-stream-update-fade-a-03641323}.text-node-stream-delta--b[data-v-03641323]{animation-name:text-node-stream-update-fade-b-03641323}@keyframes text-node-stream-update-fade-a-03641323{0%{opacity:0}to{opacity:1}}@keyframes text-node-stream-update-fade-b-03641323{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.text-node-stream-delta[data-v-03641323]{animation:none!important}}.superscript-node[data-v-6dc1e3ba]{vertical-align:super;font-size:.8em}.subscript-node[data-v-69de9b81]{vertical-align:sub;font-size:.8em}.strong-node[data-v-af3ce037]{font-weight:700}.strikethrough-node[data-v-904d5bd1]{text-decoration:line-through}.link-node[data-v-a4831c9e]{color:var(--link-color,#0366d6);text-decoration:none}.link-node[data-v-a4831c9e]:hover{text-underline-offset:.2rem;text-decoration:underline}.link-loading .link-text-wrapper[data-v-a4831c9e]{position:relative}.link-loading[data-v-a4831c9e]{color:var(--link-color,#0366d6)}.link-loading .link-text[data-v-a4831c9e]{z-index:2;position:relative}.link-loading-indicator[data-v-a4831c9e]{height:var(--underline-height,2px);left:0;right:0;bottom:var(--underline-bottom,-3px);will-change:opacity;opacity:var(--underline-rest-opacity,.18);animation:underlinePulse-a4831c9e var(--underline-duration,1.6s) var(--underline-timing,ease-in-out) var(--underline-iteration,infinite);background:currentColor;border-radius:999px;position:absolute}@keyframes underlinePulse-a4831c9e{0%,to{opacity:var(--underline-rest-opacity,.18)}50%{opacity:var(--underline-opacity,.35)}}@media (prefers-reduced-motion:reduce){.link-loading-indicator[data-v-a4831c9e]{opacity:var(--underline-rest-opacity,.18);animation:none}}.insert-node[data-v-ab1ec9bc]{text-decoration:underline}.highlight-node[data-v-38e31bf6]{background-color:#ff0;padding:0 .2rem}.emphasis-node[data-v-8264674d]{font-style:italic}.footnote-anchor[data-v-4756ce0d]{margin-left:.5rem}.markstream-vue [class*=footnote-] .markdown-renderer,.markstream-vue .flex-1 .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}.hard-break[data-v-50c58f70]{display:block}.heading-node[data-v-ffb7cf51]{font-weight:500;line-height:1.25}hr+.heading-node[data-v-ffb7cf51]{margin-top:0}.heading-1[data-v-ffb7cf51]{margin-top:0;margin-bottom:.888889em;font-size:2.25rem;font-weight:800;line-height:1.11111}.heading-2[data-v-ffb7cf51]{margin-top:2rem;margin-bottom:1rem;font-size:1.5rem;font-weight:700;line-height:1.33333}.heading-3[data-v-ffb7cf51]{margin-top:1.6em;margin-bottom:.6em;font-size:1.25rem;font-weight:600;line-height:1.66667}.heading-4[data-v-ffb7cf51]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1rem;font-weight:600;line-height:1.5rem}.heading-5[data-v-ffb7cf51],.heading-6[data-v-ffb7cf51]{margin:0;font-size:1rem;line-height:1.5rem}ol>.list-item[data-v-ce59e808]::marker{color:var(--list-item-counter-marker,#64748b);line-height:1.6}ul>.list-item[data-v-ce59e808]::marker{color:var(--list-item-marker,#cbd5e1)}.list-item[data-v-ce59e808] .markdown-renderer{content-visibility:visible;contain-intrinsic-size:0px 0px;contain:none}.list-node[data-v-8e81cbc8]{margin-top:1.25rem;margin-bottom:1.25rem;padding-left:1.625em}.list-decimal[data-v-8e81cbc8]{list-style-type:decimal}.list-disc[data-v-8e81cbc8]{list-style-type:disc}@media not all and (width>=1024px){.list-disc[data-v-8e81cbc8]{margin-top:1.33333em;margin-bottom:1.33333em;padding-left:1.55556em}}.html-block-node__raw[data-v-b7cace40]{white-space:pre-wrap;overflow-wrap:anywhere;opacity:.85}.html-block-node__placeholder[data-v-b7cace40]{flex-direction:column;gap:.35rem;padding:.5rem 0;display:flex}.html-block-node__placeholder-bar[data-v-b7cace40]{background-image:linear-gradient(90deg,#94a3b859,#94a3b81a,#94a3b859);background-size:200% 100%;border-radius:9999px;height:.8rem;animation:1.2s infinite html-block-node-shimmer-b7cace40;display:block}@keyframes html-block-node-shimmer-b7cace40{0%{background-position:0 0}to{background-position:200% 0}}.paragraph-node[data-v-944f1fd5]{margin:1.25em 0}li .paragraph-node[data-v-944f1fd5]{margin:0}.markstream-vue pre[class^=language-],.markstream-vue pre[class*=\ language-]{white-space:pre;tab-size:2;font-variant-ligatures:none;contain:content;backface-visibility:hidden;-webkit-font-smoothing:antialiased;overflow:auto;transform:translateZ(0)}.markstream-vue pre[class^=language-]>code,.markstream-vue pre[class*=\ language-]>code{display:block}.markstream-vue pre[class^=language-]:focus,.markstream-vue pre[class*=\ language-]:focus{outline:2px solid var(--vmdr-focus,#3b82f6);outline-offset:2px}.table-node-wrapper[data-v-369096fa]{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-gutter:stable;max-width:100%;position:relative;overflow-x:auto}.table-node[data-v-369096fa]{table-layout:fixed;border-collapse:collapse;width:100%}.table-node[data-v-369096fa] th,.table-node[data-v-369096fa] td{white-space:normal;overflow-wrap:break-word;word-break:normal}.table-node--loading tbody td[data-v-369096fa]{position:relative;overflow:hidden}.table-node--loading tbody td[data-v-369096fa]>*{visibility:hidden}.table-node--loading tbody td[data-v-369096fa]:after{content:"";will-change:background-position;background:linear-gradient(90deg,#94a3b829 25%,#94a3b847,#94a3b829 75%) 0 0/200% 100%;border-radius:.25rem;animation:1.2s linear infinite table-node-shimmer-369096fa;position:absolute;inset:0}.table-node__loading[data-v-369096fa]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.table-node__spinner[data-v-369096fa]{will-change:transform;border:2px solid #5e687940;border-top-color:#5e6879cc;border-radius:9999px;width:2.5rem;height:2.5rem}.table-node-fade-enter-active[data-v-369096fa],.table-node-fade-leave-active[data-v-369096fa]{transition:opacity .18s}.table-node-fade-enter-from[data-v-369096fa],.table-node-fade-leave-to[data-v-369096fa]{opacity:0}[data-v-369096fa] .table-node .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px;display:contents}[data-v-369096fa] .table-node .markdown-renderer .node-slot,[data-v-369096fa] .table-node .markdown-renderer .node-content,[data-v-369096fa] .table-node .markdown-renderer .node-space{display:contents}[data-v-369096fa] .table-node .text-node,[data-v-369096fa] .table-node code{white-space:inherit;overflow-wrap:inherit;word-break:inherit;max-width:none}@keyframes table-node-shimmer-369096fa{0%{background-position:0 0}50%{background-position:100% 0}to{background-position:200% 0}}.hr+.table-node-wrapper[data-v-369096fa],.hr+.table-node-wrapper .table-node[data-v-369096fa]{margin-top:0}.sr-only[data-v-369096fa]{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hr-node[data-v-639cbad9]{border-top-width:1px;border-color:var(--hr-border-color,#e2e8f0);margin-top:3rem;margin-bottom:3rem}.vmr-container[data-v-a88d22ce]{border-width:1px 1px 1px 4px;border-radius:.5rem;margin-top:1rem;margin-bottom:1rem;padding:1rem}.code-block-container[data-v-2e273ed5]{contain:content}.code-block-content[data-v-2e273ed5]{max-height:min(70vh,500px);font-family:var(--vscode-editor-font-family,"Fira Code", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);line-height:var(--vscode-editor-line-height,1.5);transition:max-height .3s;overflow:auto}.code-block-render[data-v-2e273ed5]{min-height:1px}[data-v-2e273ed5] .code-block-render pre,[data-v-2e273ed5] .code-block-content .shiki{font-family:inherit;font-size:inherit;line-height:inherit}[data-v-2e273ed5] .code-block-content .shiki-fallback{color:inherit;white-space:pre;font-family:inherit;font-size:inherit;line-height:inherit;background:0 0;margin:0;padding:1rem}.code-fallback-plain[data-v-2e273ed5]{white-space:pre;color:inherit;font-size:inherit;line-height:inherit;background:0 0;font-family:inherit;overflow:auto}[data-v-2e273ed5] .code-block-content pre{padding:1rem}.code-action-btn[data-v-2e273ed5]{cursor:pointer;opacity:.7;transition:opacity .2s}.code-action-btn[data-v-2e273ed5]:hover{opacity:1}.code-action-btn[data-v-2e273ed5]:disabled{opacity:.3;cursor:not-allowed}.code-loading-placeholder[data-v-2e273ed5]{min-height:120px;padding:1rem}.loading-skeleton[data-v-2e273ed5]{flex-direction:column;gap:.75rem;display:flex}.skeleton-line[data-v-2e273ed5]{background:linear-gradient(90deg,#0000000f 25%,#0000001f 37%,#0000000f 63%) 0 0/400% 100%;border-radius:.25rem;height:1rem;animation:1.2s ease-in-out infinite code-skeleton-shimmer-2e273ed5}.code-block-container.is-dark .skeleton-line[data-v-2e273ed5]{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f 37%,#ffffff0f 63%) 0 0/400% 100%}.skeleton-line.short[data-v-2e273ed5]{width:60%}@keyframes code-skeleton-shimmer-2e273ed5{0%{background-position:100% 0}to{background-position:0 0}}.markdown-renderer[data-v-7e76e4d7]{contain:layout;content-visibility:auto;contain-intrinsic-size:800px 600px;position:relative}.markdown-renderer.virtualized[data-v-7e76e4d7]{content-visibility:visible;contain-intrinsic-size:auto}.height-estimation-probes[data-v-7e76e4d7]{visibility:hidden;pointer-events:none;z-index:-1;position:absolute;top:0;left:-100000px;overflow:hidden}.node-slot[data-v-7e76e4d7],.node-content[data-v-7e76e4d7]{width:100%}.node-placeholder[data-v-7e76e4d7]{background-image:linear-gradient(90deg,#94a3b82e,#94a3b80d,#94a3b82e);background-size:200% 100%;border-radius:.5rem;width:100%;min-height:1rem;margin:.25rem 0;animation:1.1s ease-in-out infinite node-placeholder-shimmer-7e76e4d7}.node-placeholder[data-v-7e76e4d7]:first-child{margin-top:0}@keyframes node-placeholder-shimmer-7e76e4d7{0%{background-position:200% 0}to{background-position:-200% 0}}.node-spacer[data-v-7e76e4d7]{width:100%}.unknown-node[data-v-7e76e4d7]{color:#6a737d;margin:1rem 0;font-style:italic}.markstream-vue .typewriter-enter-from{opacity:0}.markstream-vue .typewriter-enter-active{transition:opacity var(--typewriter-fade-duration,.9s) var(--typewriter-fade-ease,ease-out);will-change:opacity}.markstream-vue .typewriter-enter-to{opacity:1}.admonition[data-v-ee240a2a]{--admonition-bg:#f8f8f8;--admonition-border:#eaecef;--admonition-header-bg:#00000008;--admonition-text:#111827;--admonition-muted:#374151;--admonition-note-color:#448aff;--admonition-tip-color:#00bfa5;--admonition-warning-color:#ff9100;--admonition-danger-color:#ff5252;border-left:4px solid var(--admonition-border);background-color:var(--admonition-bg);color:var(--admonition-text);border-radius:4px;margin:1rem 0;padding:0;overflow:hidden}.admonition-header[data-v-ee240a2a]{background-color:var(--admonition-header-bg);color:var(--admonition-muted);align-items:center;padding:.5rem 1rem;font-weight:600;display:flex}.admonition-icon[data-v-ee240a2a]{color:inherit;margin-right:.5rem}.admonition-content[data-v-ee240a2a]{color:var(--admonition-text);padding:.5rem 1rem 1rem}.admonition-note[data-v-ee240a2a]{border-left-color:var(--admonition-note-color)}.admonition-note .admonition-header[data-v-ee240a2a]{color:var(--admonition-note-color);background-color:#448aff0f}.admonition-info[data-v-ee240a2a]{border-left-color:var(--admonition-note-color)}.admonition-info .admonition-header[data-v-ee240a2a]{color:var(--admonition-note-color);background-color:#448aff0f}.admonition-tip[data-v-ee240a2a]{border-left-color:var(--admonition-tip-color)}.admonition-tip .admonition-header[data-v-ee240a2a]{color:var(--admonition-tip-color);background-color:#00bfa50f}.admonition-warning[data-v-ee240a2a]{border-left-color:var(--admonition-warning-color)}.admonition-warning .admonition-header[data-v-ee240a2a]{color:var(--admonition-warning-color);background-color:#ff91000f}.admonition-danger[data-v-ee240a2a]{border-left-color:var(--admonition-danger-color)}.admonition-danger .admonition-header[data-v-ee240a2a]{color:var(--admonition-danger-color);background-color:#ff52520f}.admonition-error[data-v-ee240a2a]{border-left-color:var(--admonition-danger-color)}.admonition-error .admonition-header[data-v-ee240a2a]{color:var(--admonition-danger-color);background-color:#ff52520f}.admonition-caution[data-v-ee240a2a]{border-left-color:var(--admonition-warning-color)}.admonition-caution .admonition-header[data-v-ee240a2a]{color:var(--admonition-warning-color);background-color:#ff91000f}.admonition-content[data-v-ee240a2a] .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}.admonition-toggle[data-v-ee240a2a]{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:.25rem .5rem;font-size:.9rem}.admonition-toggle[data-v-ee240a2a]:focus{outline-offset:2px;outline:2px solid #00000014}.admonition.is-dark[data-v-ee240a2a]{--admonition-bg:#0b1220;--admonition-border:#ffffff0f;--admonition-header-bg:#ffffff08;--admonition-text:#e6eef8;--admonition-muted:#cbd5e1}.admonition.is-dark .admonition-note .admonition-header[data-v-ee240a2a],.admonition.is-dark .admonition-info .admonition-header[data-v-ee240a2a]{color:var(--admonition-note-color);background-color:#448aff1f}.admonition.is-dark .admonition-tip .admonition-header[data-v-ee240a2a]{color:var(--admonition-tip-color);background-color:#00bfa51f}.admonition.is-dark .admonition-warning .admonition-header[data-v-ee240a2a]{color:var(--admonition-warning-color);background-color:#ff91001f}.admonition.is-dark .admonition-danger .admonition-header[data-v-ee240a2a]{color:var(--admonition-danger-color);background-color:#ff52521f}@media (prefers-color-scheme:dark){.admonition[data-v-ee240a2a]{--admonition-bg:#0b1220;--admonition-border:#ffffff0f;--admonition-header-bg:#ffffff08;--admonition-text:#e6eef8;--admonition-muted:#cbd5e1}.admonition-note .admonition-header[data-v-ee240a2a],.admonition-info .admonition-header[data-v-ee240a2a]{color:var(--admonition-note-color);background-color:#448aff1f}.admonition-tip .admonition-header[data-v-ee240a2a]{color:var(--admonition-tip-color);background-color:#00bfa51f}.admonition-warning .admonition-header[data-v-ee240a2a]{color:var(--admonition-warning-color);background-color:#ff91001f}.admonition-danger .admonition-header[data-v-ee240a2a]{color:var(--admonition-danger-color);background-color:#ff52521f}}:where(.markstream-vue) button{appearance:none;font:inherit;color:inherit;background:0 0;border:0}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.markstream-vue .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markstream-vue .pointer-events-none{pointer-events:none}.markstream-vue .\!visible{visibility:visible!important}.markstream-vue .visible{visibility:visible}.markstream-vue .collapse{visibility:collapse}.markstream-vue .static{position:static}.markstream-vue .fixed{position:fixed}.markstream-vue .absolute{position:absolute}.markstream-vue .relative{position:relative}.markstream-vue .inset-0{inset:0}.markstream-vue .right-2{right:.5rem}.markstream-vue .right-6{right:1.5rem}.markstream-vue .top-2{top:.5rem}.markstream-vue .top-6{top:1.5rem}.markstream-vue .z-10{z-index:10}.markstream-vue .z-50{z-index:50}.markstream-vue .z-\[9999\]{z-index:9999}.markstream-vue .m-0{margin:0}.markstream-vue .mx-0\.5{margin-left:.125rem;margin-right:.125rem}.markstream-vue .my-0{margin-top:0;margin-bottom:0}.markstream-vue .my-2{margin-top:.5rem;margin-bottom:.5rem}.markstream-vue .my-4{margin-top:1rem;margin-bottom:1rem}.markstream-vue .my-5{margin-top:1.25rem;margin-bottom:1.25rem}.markstream-vue .my-8{margin-top:2rem;margin-bottom:2rem}.markstream-vue .mb-2{margin-bottom:.5rem}.markstream-vue .mb-4{margin-bottom:1rem}.markstream-vue .mb-\[calc\(3\/5\*1em\)\]{margin-bottom:.6em}.markstream-vue .mb-\[calc\(8\/9\*1em\)\]{margin-bottom:.888889em}.markstream-vue .mr-2{margin-right:.5rem}.markstream-vue .mt-0{margin-top:0}.markstream-vue .mt-2{margin-top:.5rem}.markstream-vue .mt-6{margin-top:1.5rem}.markstream-vue .mt-8{margin-top:2rem}.markstream-vue .mt-\[calc\(8\/5\*1em\)\]{margin-top:1.6em}.markstream-vue .block{display:block}.markstream-vue .inline-block{display:inline-block}.markstream-vue .inline{display:inline}.markstream-vue .flex{display:flex}.markstream-vue .inline-flex{display:inline-flex}.markstream-vue .table{display:table}.markstream-vue .grid{display:grid}.markstream-vue .contents{display:contents}.markstream-vue .list-item{display:list-item}.markstream-vue .hidden{display:none}.markstream-vue .h-3{height:.75rem}.markstream-vue .h-4{height:1rem}.markstream-vue .h-auto{height:auto}.markstream-vue .h-full{height:100%}.markstream-vue .max-h-full{max-height:100%}.markstream-vue .min-h-\[360px\]{min-height:360px}.markstream-vue .min-h-\[40px\]{min-height:40px}.markstream-vue .min-h-full{min-height:100%}.markstream-vue .w-2\/3{width:66.6667%}.markstream-vue .w-3{width:.75rem}.markstream-vue .w-4{width:1rem}.markstream-vue .w-4\/5{width:80%}.markstream-vue .w-full{width:100%}.markstream-vue .max-w-full{max-width:100%}.markstream-vue .flex-1{flex:1}.markstream-vue .flex-shrink{flex-shrink:1}.markstream-vue .flex-shrink-0{flex-shrink:0}.markstream-vue .shrink{flex-shrink:1}.markstream-vue .border-collapse{border-collapse:collapse}.markstream-vue .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.markstream-vue .animate-spin{animation:1s linear infinite spin}.markstream-vue .cursor-grab{cursor:grab}.markstream-vue .cursor-grabbing{cursor:grabbing}.markstream-vue .cursor-not-allowed{cursor:not-allowed}.markstream-vue .cursor-pointer{cursor:pointer}.markstream-vue .resize{resize:both}.markstream-vue .list-decimal{list-style-type:decimal}.markstream-vue .list-disc{list-style-type:disc}.markstream-vue .flex-wrap{flex-wrap:wrap}.markstream-vue .items-center{align-items:center}.markstream-vue .items-baseline{align-items:baseline}.markstream-vue .justify-center{justify-content:center}.markstream-vue .justify-between{justify-content:space-between}.markstream-vue .gap-1\.5{gap:.375rem}.markstream-vue .gap-2{gap:.5rem}.markstream-vue .gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.markstream-vue .gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.markstream-vue .overflow-hidden{overflow:hidden}.markstream-vue .overflow-x-auto{overflow-x:auto}.markstream-vue .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.markstream-vue .whitespace-normal{white-space:normal}.markstream-vue .whitespace-nowrap{white-space:nowrap}.markstream-vue .whitespace-pre-wrap{white-space:pre-wrap}.markstream-vue .break-words{overflow-wrap:break-word}.markstream-vue .rounded{border-radius:.25rem}.markstream-vue .rounded-full{border-radius:9999px}.markstream-vue .rounded-lg{border-radius:.5rem}.markstream-vue .rounded-md{border-radius:.375rem}.markstream-vue .border{border-width:1px}.markstream-vue .border-2{border-width:2px}.markstream-vue .border-b{border-bottom-width:1px}.markstream-vue .border-t{border-top-width:1px}.markstream-vue .border-solid{border-style:solid}.markstream-vue .border-\[\#eaecef\]{--tw-border-opacity:1;border-color:rgb(234 236 239/var(--tw-border-opacity,1))}.markstream-vue .border-\[var\(--hr-border-color\,\#e2e8f0\)\]{border-color:var(--hr-border-color,#e2e8f0)}.markstream-vue .border-\[var\(--table-border\,\#cbd5e1\)\]{border-color:var(--table-border,#cbd5e1)}.markstream-vue .border-current{border-color:currentColor}.markstream-vue .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.markstream-vue .border-gray-400\/5{border-color:#9ca3af0d}.markstream-vue .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.markstream-vue .border-gray-700\/30{border-color:#3741514d}.markstream-vue .border-t-transparent{border-top-color:#0000}.markstream-vue .bg-\[hsl\(var\(--muted\)\)\]{background-color:hsl(var(--muted))}.markstream-vue .bg-\[hsl\(var\(--secondary\)\)\]{background-color:hsl(var(--secondary))}.markstream-vue .bg-black\/70{background-color:#000000b3}.markstream-vue .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.markstream-vue .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.markstream-vue .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.markstream-vue .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.markstream-vue .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.markstream-vue .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.markstream-vue .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.markstream-vue .p-0{padding:0}.markstream-vue .p-0\.5{padding:.125rem}.markstream-vue .p-2{padding:.5rem}.markstream-vue .p-4{padding:1rem}.markstream-vue .p-\[calc\(4\/7\*1em\)\]{padding:.571429em}.markstream-vue .px-1{padding-left:.25rem;padding-right:.25rem}.markstream-vue .px-1\.5{padding-left:.375rem;padding-right:.375rem}.markstream-vue .px-2{padding-left:.5rem;padding-right:.5rem}.markstream-vue .px-2\.5{padding-left:.625rem;padding-right:.625rem}.markstream-vue .px-3{padding-left:.75rem;padding-right:.75rem}.markstream-vue .px-4{padding-left:1rem;padding-right:1rem}.markstream-vue .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.markstream-vue .py-1{padding-top:.25rem;padding-bottom:.25rem}.markstream-vue .py-2{padding-top:.5rem;padding-bottom:.5rem}.markstream-vue .py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.markstream-vue .py-4{padding-top:1rem;padding-bottom:1rem}.markstream-vue .pb-3{padding-bottom:.75rem}.markstream-vue .pl-1\.5{padding-left:.375rem}.markstream-vue .pl-\[calc\(13\/8\*1em\)\]{padding-left:1.625em}.markstream-vue .pt-2{padding-top:.5rem}.markstream-vue .text-left{text-align:left}.markstream-vue .text-center{text-align:center}.markstream-vue .text-right{text-align:right}.markstream-vue .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.markstream-vue .text-2xl{font-size:1.5rem;line-height:2rem}.markstream-vue .text-4xl{font-size:2.25rem;line-height:2.5rem}.markstream-vue .text-\[85\%\]{font-size:85%}.markstream-vue .text-base{font-size:1rem;line-height:1.5rem}.markstream-vue .text-sm{font-size:.875rem;line-height:1.25rem}.markstream-vue .text-xl{font-size:1.25rem;line-height:1.75rem}.markstream-vue .text-xs{font-size:.75rem;line-height:1rem}.markstream-vue .font-medium{font-weight:500}.markstream-vue .font-semibold{font-weight:600}.markstream-vue .uppercase{text-transform:uppercase}.markstream-vue .lowercase{text-transform:lowercase}.markstream-vue .italic{font-style:italic}.markstream-vue .leading-\[calc\(10\/9\*1\)\]{line-height:1.11111}.markstream-vue .leading-\[calc\(4\/3\*1\)\]{line-height:1.33333}.markstream-vue .leading-\[calc\(5\/3\*1\)\]{line-height:1.66667}.markstream-vue .leading-\[normal\]{line-height:normal}.markstream-vue .leading-relaxed{line-height:1.625}.markstream-vue .text-\[\#0366d6\]{--tw-text-opacity:1;color:rgb(3 102 214/var(--tw-text-opacity,1))}.markstream-vue .text-\[hsl\(var\(--muted-foreground\)\)\]{color:hsl(var(--muted-foreground))}.markstream-vue .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.markstream-vue .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.markstream-vue .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.markstream-vue .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.markstream-vue .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.markstream-vue .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.markstream-vue .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.markstream-vue .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.markstream-vue .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.markstream-vue .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.markstream-vue .underline{text-decoration-line:underline}.markstream-vue .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.markstream-vue .opacity-0{opacity:0}.markstream-vue .opacity-100{opacity:1}.markstream-vue .opacity-50{opacity:.5}.markstream-vue .shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.markstream-vue .shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.markstream-vue .shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.markstream-vue .outline{outline-style:solid}.markstream-vue .blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.markstream-vue .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.markstream-vue .backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.markstream-vue .backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.markstream-vue .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-vue .transition-\[height\]{transition-property:height;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-vue .transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-vue .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-vue .transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-vue .duration-100{transition-duration:.1s}.markstream-vue .duration-150{transition-duration:.15s}.markstream-vue .duration-200{transition-duration:.2s}.markstream-vue .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-vue .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.markstream-vue{--border:214.3 31.8% 91.4%;--background:0 0% 100%;--foreground:222.2 84% 4.9%;--secondary:210 40% 96%;--muted:210 40% 96%;--muted-foreground:215.4 16.3% 46.9%}.dark .markstream-vue,.markstream-vue.dark{--border:217.2 32.6% 17.5%;--background:222.2 84% 4.9%;--foreground:210 40% 98%;--secondary:217.2 32.6% 17.5%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%}body>div[id^=dmermaid-]{pointer-events:none;width:0;height:0;position:fixed;top:0;left:0;overflow:hidden}.markstream-vue .before\:content-\[\'\'\]:before,.markstream-vue .after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.markstream-vue .hover\:bg-\[hsl\(var\(--secondary\)\)\]:hover{background-color:hsl(var(--secondary))}.markstream-vue .hover\:bg-\[var\(--vscode-editor-selectionBackground\)\]:hover{background-color:var(--vscode-editor-selectionBackground)}.markstream-vue .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.markstream-vue .hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.markstream-vue .hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.markstream-vue .hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.markstream-vue .hover\:underline:hover{text-decoration-line:underline}@media not all and (width>=1024px){.markstream-vue .max-lg\:my-\[calc\(4\/3\*1em\)\]{margin-top:1.33333em;margin-bottom:1.33333em}.markstream-vue .max-lg\:pl-\[calc\(14\/9\*1em\)\]{padding-left:1.55556em}}.math-inline-wrapper[data-v-d4b863b7]{display:inline-block;position:relative}.math-inline[data-v-d4b863b7]{vertical-align:middle;display:inline-block}.math-inline--fallback[data-v-d4b863b7]{white-space:pre-wrap}.math-inline__loading[data-v-d4b863b7]{pointer-events:none;justify-content:center;align-items:center;display:inline-flex}.math-inline__spinner[data-v-d4b863b7]{will-change:transform;border:2px solid #5e687940;border-top-color:#5e6879cc;border-radius:9999px;width:1rem;height:1rem}.table-node-fade-enter-active[data-v-d4b863b7],.table-node-fade-leave-active[data-v-d4b863b7]{transition:opacity .18s}.table-node-fade-enter-from[data-v-d4b863b7],.table-node-fade-leave-to[data-v-d4b863b7]{opacity:0}.sr-only[data-v-d4b863b7]{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.math-loading-overlay[data-v-f19e21a0]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;min-height:40px;display:flex;position:absolute;inset:0}.math-loading-spinner[data-v-f19e21a0]{border:2px solid #0000001a;border-top-color:#0009;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite math-spin-f19e21a0}@keyframes math-spin-f19e21a0{to{transform:rotate(360deg)}}.math-rendering[data-v-f19e21a0]{opacity:.3;transition:opacity .2s}.math-block__fallback[data-v-f19e21a0]{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.math-fade-enter-active[data-v-f19e21a0],.math-fade-leave-active[data-v-f19e21a0]{transition:opacity .3s}.math-fade-enter-from[data-v-f19e21a0],.math-fade-leave-to[data-v-f19e21a0]{opacity:0}@media (prefers-color-scheme:dark){.math-loading-overlay[data-v-f19e21a0]{background-color:#0009}.math-loading-spinner[data-v-f19e21a0]{border-color:#fffc #fff3 #fff3}}.html-preview-frame__backdrop[data-v-296dd89d]{z-index:50;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.html-preview-frame__backdrop--dark[data-v-296dd89d]{background-color:#0f172acc}.html-preview-frame[data-v-296dd89d]{background-color:#fff;border-radius:.5rem;flex-direction:column;width:80vw;max-width:960px;height:70vh;display:flex;overflow:hidden;box-shadow:0 10px 40px #00000040}.html-preview-frame--dark[data-v-296dd89d]{color:#e5e7eb;background-color:#020617;box-shadow:0 10px 40px #0009}.html-preview-frame__header[data-v-296dd89d]{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.html-preview-frame--dark .html-preview-frame__header[data-v-296dd89d]{border-bottom-color:#94a3b859}.html-preview-frame__title[data-v-296dd89d]{letter-spacing:.02em;text-transform:uppercase;opacity:.85;align-items:center;gap:.4rem;font-size:.75rem;font-weight:500;display:inline-flex}.html-preview-frame__dot[data-v-296dd89d]{background-color:#22c55e;border-radius:999px;width:.5rem;height:.5rem}.html-preview-frame--dark .html-preview-frame__dot[data-v-296dd89d]{background-color:#4ade80}.html-preview-frame__label[data-v-296dd89d]{white-space:nowrap}.html-preview-frame__close[data-v-296dd89d]{cursor:pointer;background:0 0;border:none;font-size:1.25rem;line-height:1}.html-preview-frame__close--dark[data-v-296dd89d]{color:#e5e7eb}.html-preview-frame__iframe[data-v-296dd89d]{border:none;width:100%;height:100%;display:block}@media (width<=640px){.html-preview-frame[data-v-296dd89d]{border-radius:0;width:100vw;height:80vh}}.code-block-container[data-v-1a55f98f]{contain:content;content-visibility:auto;contain-intrinsic-size:320px 180px;--markstream-code-fallback-bg:#fff;--markstream-code-fallback-fg:#111827;--markstream-code-border-color:#e5e7eb;--vscode-editor-selectionBackground:var(--markstream-code-fallback-selection-bg);--markstream-code-fallback-selection-bg:#0000000f;--markstream-diff-frame-border:#cbd5e18f;--markstream-diff-frame-shadow:0 16px 40px -32px #0f172a2e;--markstream-diff-shell-fg:#0f172a;--markstream-diff-shell-muted:#64748b;--markstream-diff-shell-border:#94a3b82e;--markstream-diff-shell-shadow:0 30px 70px -48px #0f172a6b;--markstream-diff-shell-bg:radial-gradient(circle at top center, #ffffffe6, transparent 55%), linear-gradient(180deg, #fffdfa 0%, #fbfcfe 100%);--markstream-diff-header-border:#e2e8f0eb;--markstream-diff-stage-bg:radial-gradient(circle at top center, #fffffff2, transparent 60%), linear-gradient(180deg, #fcfdff 0%, #f6f8fb 100%);--markstream-diff-editor-bg:#fff;--markstream-diff-editor-fg:#435266;--markstream-diff-unchanged-fg:lab(36.247% .0071872 -.000424832);--markstream-diff-unchanged-bg:lab(95.9989% .0180531 -.0010643);--markstream-diff-unchanged-divider:#fffffff0;--markstream-diff-focus:#0ea5e96b;--markstream-diff-widget-shadow:#0f172a42;--markstream-diff-action-hover:#0f172a0f;--markstream-diff-panel-bg:linear-gradient(180deg, #fff 0%, #fbfcfe 100%);--markstream-diff-panel-bg-soft:#fff;--markstream-diff-panel-bg-strong:#fff;--markstream-diff-panel-border:#e2e8f04d;--markstream-diff-pane-divider:#e2e8f06b;--markstream-diff-gutter-bg:transparent;--markstream-diff-gutter-guide:transparent;--markstream-diff-gutter-gap:16px;--markstream-diff-line-number:#525252e0;--markstream-diff-line-number-active:#525252e0;--markstream-diff-added-fg:#14b8a6;--markstream-diff-removed-fg:#ff3658;--markstream-diff-added-line:#e8f9f5fa;--markstream-diff-removed-line:#fff1f1fa;--markstream-diff-added-inline:#c5f5dbf5;--markstream-diff-removed-inline:#ffd7d9eb;--markstream-diff-added-inline-border:transparent;--markstream-diff-removed-inline-border:transparent;--markstream-diff-added-gutter:linear-gradient(90deg, var(--markstream-diff-added-fg) 0 var(--stream-monaco-gutter-marker-width,4px), #14b8a614 var(--stream-monaco-gutter-marker-width,4px) 100%);--markstream-diff-removed-gutter:repeating-linear-gradient(180deg, var(--markstream-diff-removed-fg) 0 2px, transparent 2px 4px) left / var(--stream-monaco-gutter-marker-width,4px) 100% no-repeat, linear-gradient(90deg, #ff365814 0 100%);--markstream-diff-added-line-fill:#e7f8f4f5;--markstream-diff-removed-line-fill:#fff1f1fa;container-type:inline-size}.code-block-container.is-dark[data-v-1a55f98f]{--markstream-code-fallback-bg:#111827;--markstream-code-fallback-fg:#e5e7eb;--markstream-code-border-color:#3741514d;--markstream-code-fallback-selection-bg:#ffffff14;--markstream-diff-frame-border:#52525b8f;--markstream-diff-frame-shadow:0 18px 40px -30px #000000d6;--markstream-diff-shell-fg:#e2e8f0;--markstream-diff-shell-muted:#94a3b8;--markstream-diff-shell-border:#52525b8f;--markstream-diff-shell-shadow:0 34px 80px -52px #000000b8;--markstream-diff-shell-bg:#0a0a0bfc;--markstream-diff-header-border:#3f3f46d1;--markstream-diff-stage-bg:#0a0a0bfc;--markstream-diff-editor-bg:#0c0c0efc;--markstream-diff-editor-fg:#b6c2d3;--markstream-diff-unchanged-fg:#cbd5e1;--markstream-diff-unchanged-bg:#18181beb;--markstream-diff-unchanged-divider:#ffffff2e;--markstream-diff-focus:#60a5fa6b;--markstream-diff-widget-shadow:#000000b8;--markstream-diff-action-hover:#ffffff14;--markstream-diff-panel-bg:#0a0a0bfc;--markstream-diff-panel-bg-soft:#0a0a0bfc;--markstream-diff-panel-bg-strong:#0a0a0bfc;--markstream-diff-panel-border:#52525b4d;--markstream-diff-pane-divider:#52525b57;--markstream-diff-gutter-bg:linear-gradient(180deg, #0d0d0ff0 0%, #09090afa 100%);--markstream-diff-gutter-guide:#a1a1aa14;--markstream-diff-gutter-gap:16px;--markstream-diff-line-number:#a1a1aaad;--markstream-diff-line-number-active:#e4e4e7d1;--markstream-diff-added-fg:#5eead4;--markstream-diff-removed-fg:#fda4af;--markstream-diff-added-line:#0d94882e;--markstream-diff-removed-line:#e11d482e;--markstream-diff-added-inline:#2dd4bf3d;--markstream-diff-removed-inline:#fb71853d;--markstream-diff-added-inline-border:transparent;--markstream-diff-removed-inline-border:transparent;--markstream-diff-added-gutter:linear-gradient(90deg, var(--markstream-diff-added-fg) 0 var(--stream-monaco-gutter-marker-width,4px), #5eead433 var(--stream-monaco-gutter-marker-width,4px) 100%);--markstream-diff-removed-gutter:repeating-linear-gradient(180deg, var(--markstream-diff-removed-fg) 0 2px, transparent 2px 4px) left / var(--stream-monaco-gutter-marker-width,4px) 100% no-repeat, linear-gradient(90deg, #fda4af2e 0 100%);--markstream-diff-added-line-fill:linear-gradient(90deg, #0f766e61 0%, #0d948847 100%);--markstream-diff-removed-line-fill:linear-gradient(90deg, #9f123961 0%, #e11d4847 100%)}.code-editor-container[data-v-1a55f98f]{transition:height .18s,max-height .18s}.code-block-header[data-v-1a55f98f]{gap:16px}.code-header-main[data-v-1a55f98f]{flex:auto;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.code-header-copy[data-v-1a55f98f]{gap:2px;min-width:0;display:grid}.code-header-actions[data-v-1a55f98f]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.code-header-title[data-v-1a55f98f]{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;font-size:14px;font-weight:650;overflow:hidden}.code-header-caption[data-v-1a55f98f]{text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb,var(--vscode-editor-foreground,currentColor) 62%,transparent);font-size:12px;overflow:hidden}.code-editor-layer[data-v-1a55f98f]{min-width:0;display:grid}.code-editor-layer>.code-editor-container[data-v-1a55f98f],[data-v-1a55f98f] .code-editor-layer>pre.code-pre-fallback{grid-area:1/1}.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .monaco-editor-background,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .margin,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .lines-content{background:var(--vscode-editor-background,var(--markstream-code-fallback-bg))!important}.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .margin,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .view-lines,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .view-line,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .view-line span,.code-block-container.is-plain-text[data-v-1a55f98f]:not(.is-diff) .monaco-editor .line-numbers{color:var(--vscode-editor-foreground,var(--markstream-code-fallback-fg))!important}.code-block-container.is-diff .code-block-header[data-v-1a55f98f]{color:var(--markstream-diff-shell-fg);border-bottom-color:var(--markstream-diff-header-border);background:0 0;padding:18px 20px 14px}.code-block-container.is-diff[data-v-1a55f98f]{background:var(--markstream-diff-shell-bg);box-shadow:var(--markstream-diff-shell-shadow);border-color:var(--markstream-diff-shell-border);--vscode-editor-selectionBackground:var(--markstream-diff-action-hover)}.code-block-container.is-diff .code-header-caption[data-v-1a55f98f]{color:var(--markstream-diff-shell-muted)}.code-block-container.is-diff .code-editor-layer[data-v-1a55f98f]{background:var(--markstream-diff-stage-bg);--vscode-editor-background:var(--markstream-diff-editor-bg);--vscode-editor-foreground:var(--markstream-diff-editor-fg);--vscode-diffEditor-unchangedRegionForeground:var(--markstream-diff-unchanged-fg);--vscode-diffEditor-unchangedRegionBackground:var(--markstream-diff-unchanged-bg);--vscode-focusBorder:var(--markstream-diff-focus);--vscode-widget-shadow:var(--markstream-diff-widget-shadow);--vscode-editor-selectionBackground:color-mix(in srgb, var(--markstream-diff-editor-bg) 90%, var(--markstream-diff-editor-fg) 10%);--stream-monaco-editor-bg:var(--markstream-diff-editor-bg);--stream-monaco-editor-fg:var(--markstream-diff-editor-fg);--stream-monaco-unchanged-fg:var(--markstream-diff-unchanged-fg);--stream-monaco-unchanged-bg:var(--markstream-diff-unchanged-bg);--stream-monaco-frame-radius:18px;--stream-monaco-fixed-editor-bg:var(--markstream-diff-panel-bg-strong);--stream-monaco-frame-border:var(--markstream-diff-frame-border);--stream-monaco-frame-shadow:var(--markstream-diff-frame-shadow);--stream-monaco-panel-bg:var(--markstream-diff-panel-bg);--stream-monaco-panel-bg-soft:var(--markstream-diff-panel-bg-soft);--stream-monaco-panel-bg-strong:var(--markstream-diff-panel-bg-strong);--stream-monaco-panel-border:var(--markstream-diff-panel-border);--stream-monaco-pane-divider:var(--markstream-diff-pane-divider);--stream-monaco-gutter-bg:var(--markstream-diff-gutter-bg);--stream-monaco-gutter-guide:var(--markstream-diff-gutter-guide);--stream-monaco-gutter-marker-width:4px;--stream-monaco-gutter-gap:var(--markstream-diff-gutter-gap);--stream-monaco-line-number:var(--markstream-diff-line-number);--stream-monaco-line-number-active:var(--markstream-diff-line-number-active);--stream-monaco-line-number-left:calc(var(--stream-monaco-gutter-marker-width) + var(--stream-monaco-gutter-gap));--stream-monaco-line-number-width:36px;--stream-monaco-line-number-align:center;--stream-monaco-original-margin-width:calc(var(--stream-monaco-gutter-marker-width) + (var(--stream-monaco-gutter-gap) * 2) + var(--stream-monaco-line-number-width));--stream-monaco-original-scrollable-left:var(--stream-monaco-original-margin-width);--stream-monaco-original-scrollable-width:calc(100% - var(--stream-monaco-original-margin-width));--stream-monaco-modified-margin-width:calc(var(--stream-monaco-gutter-marker-width) + (var(--stream-monaco-gutter-gap) * 2) + var(--stream-monaco-line-number-width));--stream-monaco-modified-scrollable-left:var(--stream-monaco-modified-margin-width);--stream-monaco-modified-scrollable-width:calc(100% - var(--stream-monaco-modified-margin-width));--stream-monaco-added-fg:var(--markstream-diff-added-fg);--stream-monaco-removed-fg:var(--markstream-diff-removed-fg);--stream-monaco-added-line:var(--markstream-diff-added-line);--stream-monaco-removed-line:var(--markstream-diff-removed-line);--stream-monaco-added-inline:var(--markstream-diff-added-inline);--stream-monaco-removed-inline:var(--markstream-diff-removed-inline);--stream-monaco-added-outline:transparent;--stream-monaco-removed-outline:transparent;--stream-monaco-added-inline-border:var(--markstream-diff-added-inline-border);--stream-monaco-removed-inline-border:var(--markstream-diff-removed-inline-border);--stream-monaco-added-line-shadow:none;--stream-monaco-removed-line-shadow:none;--stream-monaco-added-gutter:var(--markstream-diff-added-gutter);--stream-monaco-removed-gutter:var(--markstream-diff-removed-gutter);--stream-monaco-added-line-fill:var(--markstream-diff-added-line-fill);--stream-monaco-removed-line-fill:var(--markstream-diff-removed-line-fill);padding:4px 4px 8px}.code-block-container.is-diff.is-dark .code-editor-layer[data-v-1a55f98f]{background:var(--markstream-diff-stage-bg)}.code-editor-container.is-hidden[data-v-1a55f98f]{opacity:0;pointer-events:none}[data-v-1a55f98f] pre.code-pre-fallback{padding:var(--markstream-code-padding-y,8px) var(--markstream-code-padding-x,12px);padding-left:var(--markstream-code-padding-left,52px);color:var(--vscode-editor-foreground,inherit);font-size:var(--vscode-editor-font-size,12px);font-weight:400;font-family:var(--markstream-code-font-family,ui-monospace, SFMono-Regular, SF Mono, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace);background:0 0;margin:0}[data-v-1a55f98f] pre.code-pre-fallback>code{font-size:inherit;font-weight:inherit;line-height:inherit}[data-v-1a55f98f] pre.code-pre-fallback.is-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.code-block-container.is-rendering .code-height-placeholder[data-v-1a55f98f]{background:linear-gradient(90deg,#0000000a 25%,#00000014 37%,#0000000a 63%);min-height:120px;animation:1.2s ease-in-out infinite code-skeleton-shimmer-1a55f98f}.code-loading-placeholder[data-v-1a55f98f]{min-height:120px;padding:1rem}.loading-skeleton[data-v-1a55f98f]{flex-direction:column;gap:.75rem;display:flex}.skeleton-line[data-v-1a55f98f]{background:linear-gradient(90deg,#0000000f 25%,#0000001f 37%,#0000000f 63%) 0 0/400% 100%;border-radius:.25rem;height:1rem;animation:1.2s ease-in-out infinite code-skeleton-shimmer-1a55f98f}.code-block-container.is-dark .skeleton-line[data-v-1a55f98f]{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f 37%,#ffffff0f 63%) 0 0/400% 100%}.skeleton-line.short[data-v-1a55f98f]{width:60%}@keyframes code-skeleton-shimmer-1a55f98f{0%{background-position:100% 0}to{background-position:0 0}}.code-action-btn[data-v-1a55f98f]{border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;min-width:2rem;min-height:2rem;padding:.5rem;font-family:inherit;line-height:1;display:inline-flex}.code-block-container.is-diff .icon-slot[data-v-1a55f98f]{width:28px;height:28px;color:var(--markstream-diff-added-fg);padding:5px;box-shadow:inset 0 1px #ffffffb3}.code-block-container.is-diff.is-dark .icon-slot[data-v-1a55f98f]{box-shadow:inset 0 1px #ffffff14,0 12px 28px -20px #38bdf873}.code-diff-stats[data-v-1a55f98f]{letter-spacing:.02em;font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin-right:4px;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.code-diff-stat[data-v-1a55f98f]{align-items:center;display:inline-flex}.code-diff-stat.removed[data-v-1a55f98f]{color:var(--vscode-diffEditor-removedTextForeground,var(--markstream-diff-removed-fg))}.code-diff-stat.added[data-v-1a55f98f]{color:var(--vscode-diffEditor-insertedTextForeground,var(--markstream-diff-added-fg))}.code-block-container.is-dark .code-diff-stat[data-v-1a55f98f]{border:1px solid #0000;border-radius:999px;padding:3px 9px;line-height:1;box-shadow:inset 0 1px #ffffff0d}.code-block-container.is-dark .code-diff-stat.removed[data-v-1a55f98f]{color:#fb7185;background:#9f123929;border-color:#fb718533}.code-block-container.is-dark .code-diff-stat.added[data-v-1a55f98f]{color:#2dd4bf;background:#0f766e29;border-color:#2dd4bf38}.code-action-btn[data-v-1a55f98f]:active{transform:scale(.98)}.code-action-btn[data-v-1a55f98f]:disabled{opacity:.5;cursor:not-allowed}.code-action-btn[data-v-1a55f98f]:disabled:hover{background-color:#0000}.icon-slot[data-v-1a55f98f]{justify-content:center;align-items:center;display:inline-flex}.icon-slot[data-v-1a55f98f] svg,.icon-slot[data-v-1a55f98f] img{width:100%;height:100%;display:block}@container (width<=640px){.code-block-container.is-diff .code-block-header[data-v-1a55f98f]{padding:16px 16px 12px}.code-block-container.is-diff .code-editor-layer[data-v-1a55f98f]{padding:4px 4px 8px}.code-diff-stats[data-v-1a55f98f]{gap:6px;font-size:12px}}[data-v-1a55f98f] .monaco-diff-editor .diffOverview{background-color:var(--vscode-editor-background)}[data-v-1a55f98f] .stream-monaco-diff-root .monaco-diff-editor .diffOverview,[data-v-1a55f98f] .stream-monaco-diff-root .decorationsOverviewRuler{opacity:0!important;pointer-events:none!important;background:0 0!important;border:0!important;width:0!important;min-width:0!important;max-width:0!important;display:none!important;overflow:hidden!important}[data-v-1a55f98f] .code-block-container .stream-monaco-diff-root .monaco-diff-editor{box-shadow:none!important;border:0!important;border-radius:0!important}[data-v-1a55f98f] .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center:not(.stream-monaco-clickable)>:not(a){visibility:hidden!important}[data-v-1a55f98f] .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines-compact .text{opacity:0!important}[data-v-1a55f98f] .stream-monaco-diff-root{--stream-monaco-gutter-gap:var(--markstream-diff-gutter-gap)!important;--stream-monaco-line-number:var(--markstream-diff-line-number)!important;--stream-monaco-line-number-active:var(--markstream-diff-line-number-active)!important;--stream-monaco-added-fg:var(--markstream-diff-added-fg)!important;--stream-monaco-removed-fg:var(--markstream-diff-removed-fg)!important;--stream-monaco-added-line:var(--markstream-diff-added-line)!important;--stream-monaco-removed-line:var(--markstream-diff-removed-line)!important;--stream-monaco-added-inline:var(--markstream-diff-added-inline)!important;--stream-monaco-removed-inline:var(--markstream-diff-removed-inline)!important;--stream-monaco-added-inline-border:var(--markstream-diff-added-inline-border)!important;--stream-monaco-removed-inline-border:var(--markstream-diff-removed-inline-border)!important;--stream-monaco-added-line-fill:var(--markstream-diff-added-line-fill)!important;--stream-monaco-removed-line-fill:var(--markstream-diff-removed-line-fill)!important;--stream-monaco-added-gutter:var(--markstream-diff-added-gutter)!important;--stream-monaco-removed-gutter:var(--markstream-diff-removed-gutter)!important;--stream-monaco-added-line-shadow:none!important;--stream-monaco-removed-line-shadow:none!important;--stream-monaco-unchanged-bg:var(--markstream-diff-unchanged-bg)!important;--stream-monaco-unchanged-fg:var(--markstream-diff-unchanged-fg)!important}[data-v-1a55f98f] .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center:not(.stream-monaco-unchanged-bridge-source),[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge{--stream-monaco-unchanged-bg:var(--markstream-diff-unchanged-bg)!important;--stream-monaco-unchanged-fg:var(--markstream-diff-unchanged-fg)!important;background:var(--stream-monaco-unchanged-bg)!important;color:var(--stream-monaco-unchanged-fg)!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge{right:calc(var(--stream-monaco-gutter-marker-width) - var(--stream-monaco-unchanged-rail-width) / 2 + (var(--stream-monaco-gutter-gap) * 2))!important;width:auto!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary:hover,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary:focus-visible,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary.stream-monaco-focus-visible{background:var(--stream-monaco-unchanged-bg)!important;color:var(--markstream-diff-unchanged-fg)!important;padding-left:calc(var(--stream-monaco-gutter-marker-width) + (var(--stream-monaco-gutter-gap) * 2))!important;padding-right:calc(var(--stream-monaco-gutter-marker-width) + (var(--stream-monaco-gutter-gap) * 2))!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge.stream-monaco-diff-unchanged-bridge-line-info .stream-monaco-unchanged-rail,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:hover,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:focus-visible,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal.stream-monaco-focus-visible{background:var(--stream-monaco-unchanged-bg)!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail{border-right-color:var(--markstream-diff-unchanged-divider)!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal{border-bottom-color:#0000!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail.stream-monaco-unchanged-rail-both .stream-monaco-unchanged-reveal:first-child{border-bottom-color:var(--markstream-diff-unchanged-divider)!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail.stream-monaco-unchanged-rail-top-only .stream-monaco-unchanged-reveal,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail.stream-monaco-unchanged-rail-bottom-only .stream-monaco-unchanged-reveal{border-bottom:0!important}[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-meta,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-count,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-metadata-label,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:hover,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:focus-visible,[data-v-1a55f98f] .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal.stream-monaco-focus-visible{color:var(--markstream-diff-unchanged-fg)!important}[data-v-1a55f98f] .monaco-diff-editor:not(.side-by-side) .editor.original .diff-hidden-lines .center{justify-content:center;align-items:center}[data-v-1a55f98f] .monaco-diff-editor:not(.side-by-side) .editor.original .diff-hidden-lines .center>div:first-child{align-items:center;min-width:100%;display:flex;justify-content:center!important;width:100%!important}[data-v-1a55f98f] .monaco-diff-editor:not(.side-by-side) .editor.modified .diff-hidden-lines .center>div:first-child{display:none!important}[data-v-1a55f98f] .markstream-inline-fold-proxy{appearance:none;box-shadow:none;color:var(--vscode-diffEditor-unchangedRegionForeground,currentColor);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;padding:0;display:inline-flex}[data-v-1a55f98f] .markstream-inline-fold-proxy:hover,[data-v-1a55f98f] .markstream-inline-fold-proxy:focus-visible{color:var(--vscode-editorLink-activeForeground,var(--vscode-diffEditor-unchangedRegionForeground,currentColor))}[data-v-1a55f98f] .markstream-inline-fold-proxy:focus-visible{outline:1px solid var(--vscode-focusBorder,currentColor);outline-offset:1px}[data-v-1a55f98f] .markstream-inline-fold-proxy .codicon{color:inherit;width:16px;height:16px;font-size:16px;line-height:16px}._mermaid[data-v-6eade7e5]{content-visibility:auto;contain:content;contain-intrinsic-size:360px 240px;font-family:inherit}._mermaid[data-v-6eade7e5] svg{width:100%;height:auto;display:block}.fullscreen[data-v-6eade7e5]{width:100%;height:100%!important;max-height:100%!important}.mermaid-action-btn[data-v-6eade7e5]{font-family:inherit}.mermaid-action-btn[data-v-6eade7e5]:active{transform:scale(.98)}.mermaid-dialog-enter-from[data-v-6eade7e5],.mermaid-dialog-leave-to[data-v-6eade7e5]{opacity:0}.mermaid-dialog-enter-active[data-v-6eade7e5],.mermaid-dialog-leave-active[data-v-6eade7e5]{transition:opacity .2s}.mermaid-dialog-enter-from .dialog-panel[data-v-6eade7e5],.mermaid-dialog-leave-to .dialog-panel[data-v-6eade7e5]{opacity:.98;transform:translateY(8px)scale(.98)}.mermaid-dialog-enter-to .dialog-panel[data-v-6eade7e5],.mermaid-dialog-leave-from .dialog-panel[data-v-6eade7e5]{opacity:1;transform:translateY(0)scale(1)}.mermaid-dialog-enter-active .dialog-panel[data-v-6eade7e5],.mermaid-dialog-leave-active .dialog-panel[data-v-6eade7e5]{transition:transform .2s,opacity .2s}.infographic-action-btn[data-v-e17a4388]{font-family:inherit}.infographic-action-btn[data-v-e17a4388]:active{transform:scale(.98)}.fullscreen[data-v-e17a4388]{width:100%;height:100%!important;max-height:100%!important}.infographic-dialog-enter-from[data-v-e17a4388],.infographic-dialog-leave-to[data-v-e17a4388]{opacity:0}.infographic-dialog-enter-active[data-v-e17a4388],.infographic-dialog-leave-active[data-v-e17a4388]{transition:opacity .2s}.infographic-dialog-enter-from .dialog-panel[data-v-e17a4388],.infographic-dialog-leave-to .dialog-panel[data-v-e17a4388]{opacity:.98;transform:translateY(8px)scale(.98)}.infographic-dialog-enter-to .dialog-panel[data-v-e17a4388],.infographic-dialog-leave-from .dialog-panel[data-v-e17a4388]{opacity:1;transform:translateY(0)scale(1)}.infographic-dialog-enter-active .dialog-panel[data-v-e17a4388],.infographic-dialog-leave-active .dialog-panel[data-v-e17a4388]{transition:transform .2s,opacity .2s}.d2-block-body[data-v-90ebc4d2]{position:relative}.d2-source[data-v-90ebc4d2]{font-family:var(--vscode-editor-font-family,"Fira Code", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace)}.d2-code[data-v-90ebc4d2]{white-space:pre;font-size:.875rem;line-height:1.5}.d2-render[data-v-90ebc4d2]{overflow:auto}.d2-svg[data-v-90ebc4d2] svg.markstream-d2-root-svg{width:100%;max-width:100%;height:auto;display:block}.mode-btn[data-v-90ebc4d2]{opacity:.7;transition:opacity .2s}.mode-btn.is-active[data-v-90ebc4d2]{opacity:1;font-weight:600}.d2-action-btn[data-v-90ebc4d2]{opacity:.7;transition:opacity .2s}.d2-action-btn[data-v-90ebc4d2]:hover{opacity:1}.d2-action-btn[data-v-90ebc4d2]:disabled{opacity:.3;cursor:not-allowed}.d2-error[data-v-90ebc4d2]{color:#dc2626}.tool-call-node[data-v-f2e29458]{color:var(--text-color-secondary,var(--text-muted,var(--muted)));margin:10px 0;font-size:12px}.tool-call-node__header[data-v-f2e29458]{background:#f5f6f7;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:28px;padding:4px 10px;transition:background-color .2s,border-color .2s;display:flex}.tool-call-node__header--clickable[data-v-f2e29458]{cursor:pointer}.tool-call-node__header--clickable[data-v-f2e29458]:hover{background:#eff1f3;border-color:#d8dde3}.tool-call-node__header--clickable[data-v-f2e29458]:focus-visible{outline:2px solid color-mix(in srgb, var(--primary-color,#1677ff) 24%, transparent);outline-offset:2px}.tool-call-node__prefix[data-v-f2e29458]{align-items:center;gap:6px;min-width:0;display:inline-flex}.tool-call-node__title[data-v-f2e29458]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tool-call-node__prefix-icon[data-v-f2e29458]{color:color-mix(in srgb, var(--primary-color,#1677ff) 65%, #999);font-size:12px}.tool-call-node__prefix-icon.is-spinning[data-v-f2e29458]{animation:1s linear infinite tool-spin-f2e29458}.tool-call-node.is-running .tool-call-node__prefix[data-v-f2e29458],.tool-call-node.is-running .tool-call-node__toggle[data-v-f2e29458]{color:var(--primary-color,#1677ff)}.tool-call-node.is-running .tool-call-node__header[data-v-f2e29458]{background:#f2f5fa;border-color:#d6deea}.tool-call-node.is-success .tool-call-node__prefix[data-v-f2e29458],.tool-call-node.is-success .tool-call-node__toggle[data-v-f2e29458]{color:#8f98a3}.tool-call-node.is-success .tool-call-node__header[data-v-f2e29458]{background:#f3f5f7;border-color:#dde2e7}.tool-call-node.is-error .tool-call-node__prefix[data-v-f2e29458],.tool-call-node.is-error .tool-call-node__toggle[data-v-f2e29458]{color:var(--error-color,#ff4d4f)}.tool-call-node.is-error .tool-call-node__header[data-v-f2e29458]{background:#faf1f1;border-color:#edd7d8}.tool-call-node__toggle[data-v-f2e29458]{color:inherit;opacity:0;flex-shrink:0;align-items:center;gap:4px;padding:0;font-size:12px;line-height:1;transition:opacity .15s;display:inline-flex}.tool-call-node__header--clickable:hover .tool-call-node__toggle[data-v-f2e29458],.tool-call-node__header--clickable:focus-visible .tool-call-node__toggle[data-v-f2e29458]{opacity:1}.tool-call-node__toggle-icon[data-v-f2e29458]{font-size:12px}.tool-call-node__detail[data-v-f2e29458]{background:#fbfdff;border:1px solid #edf2fa;border-radius:12px;margin-top:6px;padding:10px 12px}.tool-call-node__line[data-v-f2e29458]{align-items:flex-start;gap:4px;margin:0;font-size:12px;line-height:1.6;display:flex}.tool-call-node__label[data-v-f2e29458]{color:var(--text-color-secondary,var(--text-muted,var(--muted)));flex-shrink:0}.tool-call-node__value[data-v-f2e29458]{color:var(--text-color,var(--text));word-break:break-all}.tool-call-node__value--overflow[data-v-f2e29458]{-webkit-line-clamp:2;cursor:help;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@keyframes tool-spin-f2e29458{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tool-call-node__approval[data-v-f2e29458]{background:linear-gradient(135deg,#f8faff 0%,#f0f4ff 100%);border:1px solid #e8f0fe;border-radius:10px;margin-top:10px;padding:12px 14px}.tool-call-node__approval-desc[data-v-f2e29458]{color:#5a6474;margin-bottom:8px;font-size:12px;line-height:1.6}.tool-call-node__approval-args[data-v-f2e29458]{align-items:flex-start;gap:4px;margin-bottom:10px;font-size:12px;display:flex}.tool-call-node__approval-code[data-v-f2e29458]{color:#3a5080;white-space:pre-wrap;word-break:break-all;background:#f0f4fc;border:1px solid #dee6f5;border-radius:6px;flex:1;max-height:120px;padding:6px 8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;display:block;overflow-y:auto}.tool-call-node__approval-actions[data-v-f2e29458]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tool-call-node__btn[data-v-f2e29458]{cursor:pointer;border:1px solid #0000;border-radius:6px;outline:none;justify-content:center;align-items:center;padding:5px 14px;font-size:12px;font-weight:500;line-height:1.4;transition:all .2s;display:inline-flex}.tool-call-node__btn[data-v-f2e29458]:disabled{opacity:.55;cursor:not-allowed}.tool-call-node__btn-approve[data-v-f2e29458]{color:#fff;background:#1677ff;border-color:#1677ff}.tool-call-node__btn-approve[data-v-f2e29458]:not(:disabled):hover{background:#4096ff;border-color:#4096ff}.tool-call-node__btn-approve[data-v-f2e29458]:not(:disabled):active{background:#0958d9;border-color:#0958d9}.tool-call-node__btn-reject[data-v-f2e29458]{color:#cf1322;background:#fff1f0;border-color:#ffccc7}.tool-call-node__btn-reject[data-v-f2e29458]:not(:disabled):hover{color:#fff;background:#ff4d4f;border-color:#ff4d4f}.tool-call-node__btn-reject[data-v-f2e29458]:not(:disabled):active{color:#fff;background:#a8071a;border-color:#a8071a}.tool-call-node__btn-edit[data-v-f2e29458]{color:#595959;background:#fff;border-color:#d9d9d9}.tool-call-node__btn-edit[data-v-f2e29458]:not(:disabled):hover{background:#f5f5f5;border-color:#b3b3b3}.tool-call-node__btn-cancel[data-v-f2e29458]{color:#595959;background:#fff;border-color:#d9d9d9}.tool-call-node__btn-cancel[data-v-f2e29458]:not(:disabled):hover{background:#f5f5f5;border-color:#b3b3b3}.tool-call-node__approval-edit[data-v-f2e29458]{margin-top:8px}.tool-call-node__textarea[data-v-f2e29458]{resize:vertical;box-sizing:border-box;border:1px solid #d9d9d9;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-family:monospace;font-size:12px}.tool-call-node__textarea[data-v-f2e29458]:focus{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1f}.tool-call-node__approval-edit-actions[data-v-f2e29458]{align-items:center;gap:8px;margin-top:8px;display:flex}.tool-call-node__approval-result[data-v-f2e29458]{border-radius:6px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:500;display:flex}.tool-call-node__approval-result.is-approved[data-v-f2e29458]{color:#389e0d;background:#f6ffed;border:1px solid #b7eb8f}.tool-call-node__approval-result.is-rejected[data-v-f2e29458]{color:#cf1322;background:#fff2f0;border:1px solid #ffccc7}.approval-result-icon[data-v-f2e29458]{font-size:14px}.approval-result-enter-active[data-v-f2e29458],.approval-result-leave-active[data-v-f2e29458]{transition:all .25s}.approval-result-enter-from[data-v-f2e29458],.approval-result-leave-to[data-v-f2e29458]{opacity:0;transform:translateY(-4px)}.tool-call-node__waiting-badge[data-v-f2e29458]{color:#d46b08;white-space:nowrap;background:#fff7e6;border:1px solid #ffd591;border-radius:4px;align-items:center;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.tool-call-node__result-badge[data-v-f2e29458]{white-space:nowrap;border-radius:4px;align-items:center;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.tool-call-node__result-badge.is-approved[data-v-f2e29458]{color:#389e0d;background:#f6ffed;border:1px solid #b7eb8f}.tool-call-node__result-badge.is-rejected[data-v-f2e29458]{color:#cf1322;background:#fff2f0;border:1px solid #ffccc7}.todos-top-panel[data-v-d03a50e5]{background:linear-gradient(#f9fbff 0%,#f3f8ff 100%);border:1px solid #d7e6ff;border-radius:12px;margin:0 20px 12px;padding:12px 14px}.todos-top-panel__header[data-v-d03a50e5]{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.todos-top-panel__title[data-v-d03a50e5]{color:#1f2d3d;font-size:13px;font-weight:600}.todos-top-panel__meta[data-v-d03a50e5]{color:#4e6796;align-items:center;gap:4px;font-size:12px;display:inline-flex}.todos-top-panel__meta-icon[data-v-d03a50e5]{font-size:12px}.todos-top-panel__list[data-v-d03a50e5]{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.todos-top-panel__item[data-v-d03a50e5]{align-items:flex-start;gap:8px;display:flex}.todos-top-panel__status[data-v-d03a50e5]{flex-shrink:0;align-items:center;margin-top:1px;font-size:14px;display:flex}.todos-top-panel__status.is-pending[data-v-d03a50e5]{color:#9ca3af}.todos-top-panel__status.is-in_progress[data-v-d03a50e5]{color:#1677ff}.todos-top-panel__status.is-completed[data-v-d03a50e5]{color:#22c55e}.todos-top-panel__status.is-cancelled[data-v-d03a50e5]{color:#ef4444}.todos-top-panel__status .is-rotating[data-v-d03a50e5]{animation:1s linear infinite spin-d03a50e5}@keyframes spin-d03a50e5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.todos-top-panel__text[data-v-d03a50e5]{color:#374151;font-size:13px;line-height:1.5}.tool-call-node[data-v-2ab50b51]{color:var(--text-color-secondary,var(--text-muted,var(--muted)));margin:10px 0;font-size:12px}.tool-call-node__header[data-v-2ab50b51]{background:#f5f6f7;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:28px;padding:4px 10px;transition:background-color .2s,border-color .2s;display:flex}.tool-call-node__header--clickable[data-v-2ab50b51]{cursor:pointer}.tool-call-node__header--clickable[data-v-2ab50b51]:hover{background:#ebecee}.tool-call-node__prefix[data-v-2ab50b51]{align-items:center;gap:6px;min-width:0;display:flex}.tool-call-node__prefix-icon[data-v-2ab50b51]{flex-shrink:0;font-size:14px}.tool-call-node__prefix-icon.is-spinning[data-v-2ab50b51]{animation:1s linear infinite spin-2ab50b51}@keyframes spin-2ab50b51{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tool-call-node__title[data-v-2ab50b51]{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.tool-call-node__toggle[data-v-2ab50b51]{flex-shrink:0}.tool-call-node__toggle-icon[data-v-2ab50b51]{color:#9ca3af;font-size:12px}.smdr__body[data-v-2ab50b51]{border:1px solid #e5e7eb;border-radius:8px;margin-top:8px;overflow:hidden}.smdr__error[data-v-2ab50b51]{color:#ef4444;background:#fef2f2;padding:12px}.smdr__tabs[data-v-2ab50b51]{background:#f9fafb;border-bottom:1px solid #e5e7eb;gap:0;display:flex;overflow-x:auto}.smdr__tab[data-v-2ab50b51]{cursor:pointer;color:#6b7280;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:12px;transition:color .15s,border-color .15s}.smdr__tab[data-v-2ab50b51]:hover{color:#374151}.smdr__tab--active[data-v-2ab50b51]{color:var(--primary-color,#1677ff);border-bottom-color:var(--primary-color,#1677ff)}.smdr__content[data-v-2ab50b51]{max-height:400px;padding:10px 12px;overflow-y:auto}.chat-panel[data-v-de8604c5]{background:#fff;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.chat-header[data-v-de8604c5]{border-bottom:1px solid var(--border-color-split,var(--border));flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.header-meta[data-v-de8604c5]{flex-direction:column;gap:4px;min-width:0;display:flex}.header-actions[data-v-de8604c5]{flex-shrink:0;align-items:center;gap:12px;display:flex}.conv-heading[data-v-de8604c5]{color:var(--text-color,var(--text));margin:0;font-size:16px;font-weight:600;line-height:1.4}.conv-subheading[data-v-de8604c5]{color:var(--text-color-secondary,var(--text-muted,var(--muted)));margin:0;font-size:13px;line-height:1.5}.chat-body[data-v-de8604c5]{flex-direction:column;flex:1;min-height:0;padding:12px;display:flex;overflow:hidden}.empty-state[data-v-de8604c5]{height:100%;color:var(--text-color-secondary,var(--text-muted,var(--muted)));flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.empty-icon[data-v-de8604c5]{color:var(--primary-color,var(--primary));font-size:32px}.empty-title[data-v-de8604c5]{color:var(--text-color,var(--text));margin:0;font-size:16px;font-weight:600}.empty-sub[data-v-de8604c5]{margin:0;font-size:13px}.messages-wrapper[data-v-de8604c5]{flex:1;width:100%;min-height:0;display:flex}.input-footer[data-v-de8604c5]{border-top:1px solid var(--border-color-split,var(--border));flex-shrink:0;padding:12px 16px 16px}.input-panel[data-v-de8604c5]{width:100%}.ai-loading[data-v-de8604c5]{align-items:center;min-height:28px;display:flex}.loading-text[data-v-de8604c5]{color:var(--text-color-secondary,var(--text-muted,var(--muted)));font-size:14px}.agent-chat[data-v-41b9524a]{background:var(--component-background,#fff);width:100%;height:100%;display:flex;position:relative;overflow:hidden}.agent-chat__sidebar[data-v-41b9524a]{background:var(--bg-elevated,#f8fafc);border-right:1px solid var(--border-color-split,var(--border));flex-direction:column;flex-shrink:0;gap:10px;width:260px;min-width:260px;height:100%;padding:16px 12px;display:flex;overflow:hidden}.agent-chat__close-btn[data-v-41b9524a]{display:none}.agent-chat__sidebar-header[data-v-41b9524a]{justify-content:space-between;align-items:center;display:flex}.agent-chat__sidebar-title[data-v-41b9524a]{color:var(--text-color,var(--text));font-size:13px;font-weight:600}.agent-chat__new-btn[data-v-41b9524a]{height:26px;padding:0 6px;font-size:12px}.agent-chat__agent-select[data-v-41b9524a]{width:100%}.agent-chat__search[data-v-41b9524a]{border-radius:8px!important}.agent-chat__state-tip[data-v-41b9524a]{color:var(--text-color-secondary,var(--text-muted));align-items:center;padding:4px 8px;font-size:12px;display:flex}.agent-chat__state-tip--error[data-v-41b9524a]{color:#f87171}.agent-chat__conv-list[data-v-41b9524a]{flex:1;overflow:hidden auto}.agent-chat__conv-list[data-v-41b9524a]::-webkit-scrollbar{width:3px}.agent-chat__conv-list[data-v-41b9524a]::-webkit-scrollbar-thumb{background:#00000014;border-radius:99px}.agent-chat__main[data-v-41b9524a]{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.agent-chat__toolbar[data-v-41b9524a]{flex-shrink:0;padding:10px 12px 0;display:none}.agent-chat__history-btn[data-v-41b9524a]{border-radius:999px;font-size:13px}.agent-chat__panel[data-v-41b9524a]{flex:1;min-height:0}.agent-chat__mask[data-v-41b9524a]{display:none}@media (width<=768px){.agent-chat__sidebar[data-v-41b9524a]{z-index:100;border-right:none;width:260px;height:100dvh;transition:left .25s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:-260px;box-shadow:4px 0 24px #0000002e}.agent-chat__sidebar.is-open[data-v-41b9524a]{left:0}.agent-chat__close-btn[data-v-41b9524a]{width:28px;height:28px;color:var(--text-color,var(--text));cursor:pointer;z-index:1;background:#0000000f;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:12px;right:12px}.agent-chat__toolbar[data-v-41b9524a]{display:block}.agent-chat__mask[data-v-41b9524a]{z-index:90;background:#0f172a66;display:block;position:fixed;inset:0}}.sub-agent-node[data-v-9353d527]{border:1px solid var(--border-color-split,#e5e7eb);background:#f9fafb;border-radius:6px;margin:4px 0;overflow:hidden}.sub-agent-node__header[data-v-9353d527]{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f3f4f6;justify-content:space-between;align-items:center;gap:8px;padding:7px 12px;transition:background .15s;display:flex}.sub-agent-node__header[data-v-9353d527]:hover{background:#e9eaec}.sub-agent-node__prefix[data-v-9353d527]{align-items:center;gap:6px;display:flex}.sub-agent-node__icon[data-v-9353d527]{color:#6b7280;font-size:14px}.sub-agent-node__icon.is-spinning[data-v-9353d527]{animation:1s linear infinite sub-spin-9353d527}@keyframes sub-spin-9353d527{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sub-agent-node__name[data-v-9353d527]{font-size:13px;font-weight:500}.sub-agent-node__badge[data-v-9353d527]{color:#4338ca;background:#e0e7ff;border:1px solid #c7d2fe;border-radius:4px;align-items:center;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.sub-agent-node__chevron[data-v-9353d527]{color:#9ca3af;font-size:12px}.sub-agent-node__body[data-v-9353d527]{padding:8px 12px 10px}.sub-agent-node__tools[data-v-9353d527]{margin-bottom:8px}.sub-agent-node__content[data-v-9353d527]{font-size:13px}
2
2
  /*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "netstar-ai-chat",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "AI Chat Panel component for Vue 3 — 可复用的人工智能对话面板组件",
5
5
  "keywords": [
6
6
  "vue",