@auto-ai/agent 2.1.120 → 2.1.122

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/.env.example +2 -1
  2. package/dist/404/index.html +1 -1
  3. package/dist/404.html +1 -1
  4. package/dist/_next/static/chunks/19aa69c07b3642d5.js +1 -0
  5. package/dist/_next/static/chunks/24459c7365a2b28b.js +1 -0
  6. package/dist/_next/static/chunks/{d3e2070a86378cfb.js → 33eeef286c328da0.js} +1 -1
  7. package/dist/_next/static/chunks/3407244006d6a98a.js +1 -0
  8. package/dist/_next/static/chunks/566e152e480b267a.js +1 -0
  9. package/dist/_next/static/chunks/6ad4268160f361a6.js +1 -0
  10. package/dist/_next/static/chunks/{d9a278a2a26e8ee5.js → 6f9a48a7f83e669a.js} +1 -1
  11. package/dist/_next/static/chunks/7658b5b9c2865eb1.js +1 -0
  12. package/dist/_next/static/chunks/7a5fd448b280dd64.js +1 -0
  13. package/dist/_next/static/chunks/{fa677aa06f1c0539.js → 98f0c5604e839ba2.js} +1 -1
  14. package/dist/_next/static/chunks/a38eccf0bb5ca1e9.js +1 -0
  15. package/dist/_next/static/chunks/b29a354245bfc377.css +1 -0
  16. package/dist/_next/static/chunks/b76778c5811ef7a1.js +1 -0
  17. package/dist/_next/static/chunks/c2bed9d5fa7be4bd.js +1 -0
  18. package/dist/_next/static/chunks/c5a4977aae6a008c.js +1 -0
  19. package/dist/_next/static/chunks/e7bd145455a541af.css +4 -0
  20. package/dist/_next/static/chunks/f2bb685629307d4d.js +1 -0
  21. package/dist/_next/static/chunks/f7e71ce1c236f806.js +1 -0
  22. package/dist/_next/static/chunks/{67acc15b8a448e1a.js → fc4be3bcf72559a0.js} +1 -1
  23. package/dist/index.html +1 -1
  24. package/dist/index.txt +16 -16
  25. package/dist/manage/about/index.html +2 -2
  26. package/dist/manage/about/index.txt +19 -19
  27. package/dist/manage/add-account/basic/index.html +2 -2
  28. package/dist/manage/add-account/basic/index.txt +23 -22
  29. package/dist/manage/add-account/index.html +2 -2
  30. package/dist/manage/add-account/index.txt +22 -23
  31. package/dist/manage/agent-teams/index.html +2 -2
  32. package/dist/manage/agent-teams/index.txt +21 -21
  33. package/dist/manage/env/index.html +2 -2
  34. package/dist/manage/env/index.txt +21 -21
  35. package/dist/manage/general/index.html +2 -2
  36. package/dist/manage/general/index.txt +19 -19
  37. package/dist/manage/index.html +1 -1
  38. package/dist/manage/index.txt +16 -16
  39. package/dist/manage/mcp/index.html +2 -2
  40. package/dist/manage/mcp/index.txt +21 -21
  41. package/dist/manage/permissions/index.html +2 -2
  42. package/dist/manage/permissions/index.txt +19 -19
  43. package/dist/manage/skills/index.html +2 -2
  44. package/dist/manage/skills/index.txt +21 -21
  45. package/dist/manage/task/index.html +2 -2
  46. package/dist/manage/task/index.txt +19 -19
  47. package/dist/manage/teams/index.html +2 -2
  48. package/dist/manage/teams/index.txt +19 -19
  49. package/dist/manage/tools/index.html +2 -2
  50. package/dist/manage/tools/index.txt +21 -21
  51. package/dist/ws-test.html +129 -191
  52. package/mcps-runtime/claude-geelib-channel/.mcp.json +18 -0
  53. package/mcps-runtime/claude-geelib-channel/server/boot.mjs +32 -0
  54. package/mcps-runtime/claude-geelib-channel/server/geelib-api.mjs +192 -0
  55. package/mcps-runtime/claude-geelib-channel/server/geelib-auth.mjs +147 -0
  56. package/mcps-runtime/claude-geelib-channel/server/geelib-client.mjs +63 -0
  57. package/mcps-runtime/claude-geelib-channel/server/index.mjs +451 -0
  58. package/mcps-runtime/claude-geelib-channel/server/poll.mjs +457 -0
  59. package/mcps-runtime/claude-geelib-channel/server/state.mjs +216 -0
  60. package/package.json +6 -6
  61. package/tools-runtime/code-tool/index.cjs +1 -0
  62. package/tools-runtime/code-tool/src/index.ts +7 -1
  63. package/tools-runtime/git-tool/index.cjs +69 -5
  64. package/tools-runtime/git-tool/src/workspace.ts +101 -4
  65. package/tools-runtime/git-tool/src/wsInit.ts +26 -3
  66. package/dist/_next/static/chunks/249606605eed1993.js +0 -1
  67. package/dist/_next/static/chunks/424d3f3f176d43d7.js +0 -1
  68. package/dist/_next/static/chunks/4302af16b34bf750.js +0 -1
  69. package/dist/_next/static/chunks/4a073924e062c459.css +0 -1
  70. package/dist/_next/static/chunks/6209b42cbfcf288a.js +0 -1
  71. package/dist/_next/static/chunks/83bf6e4bc0aad48b.css +0 -4
  72. package/dist/_next/static/chunks/8b34d657c6bbb8df.js +0 -1
  73. package/dist/_next/static/chunks/904ad158fd721117.js +0 -1
  74. package/dist/_next/static/chunks/99063f8d79783308.js +0 -1
  75. package/dist/_next/static/chunks/9cd912a1967f10df.js +0 -1
  76. package/dist/_next/static/chunks/c52dcbe269bb02d0.js +0 -1
  77. package/dist/_next/static/chunks/d01957b1055b357a.js +0 -1
  78. package/dist/_next/static/chunks/dacc94cf10289334.js +0 -1
  79. package/dist/_next/static/chunks/fff9d250e482f00e.js +0 -1
  80. package/skills-runtime/geelib/SKILL.md +0 -229
  81. package/skills-runtime/geelib/geelib-poller-state.json +0 -17
  82. package/skills-runtime/geelib/geelib.mjs +0 -762
  83. /package/dist/_next/static/{fg4nA8liSSLEgWV4WTZDt → pVB1xZbEW09ksdJlV12Zn}/_buildManifest.js +0 -0
  84. /package/dist/_next/static/{fg4nA8liSSLEgWV4WTZDt → pVB1xZbEW09ksdJlV12Zn}/_clientMiddlewareManifest.json +0 -0
  85. /package/dist/_next/static/{fg4nA8liSSLEgWV4WTZDt → pVB1xZbEW09ksdJlV12Zn}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,50711,e=>{"use strict";e.s(["usePersistAgentConfig",()=>i,"usePersistAgentConfigField",()=>a]);var t=e.i(71645),n=e.i(65934),r=e.i(67327),s=e.i(13354),o=e.i(82136);function i(){let e=(0,n.useAppStore)(e=>e.wsUrl),i=(0,n.useAppStore)(e=>e.apiBase),{sendReloadAgentConfig:a}=(0,r.useWebSocketSender)(),l=(0,t.useCallback)(()=>n.useAppStore.getState().agentId.trim()||"qihoo",[]);return(0,t.useCallback)(async t=>{let r=!!(null==t?void 0:t.silent),c=n.useAppStore.getState();try{await (0,o.saveAgentConfig)(e,i,l(),(0,o.prepareAgentConfigForSave)(c.agentConfig));let t=n.useAppStore.getState();t.wsConnected&&a(),r?(t.appendLog("agent-config","已写入 agent.json"),t.setStatus("agent.json 已保存".concat(t.wsConnected?",已请求同步 worker":"(未连接 WS 则下次连上后 reload)"),t.bridgeReady?"ready":"")):s.appToast.success(t.wsConnected?"已保存并已请求 worker 重新加载 agent.md + agent.json。":"已保存。重连 WebSocket 后生效。")}catch(e){s.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}},[e,i,a,l])}function a(e){let i=(0,n.useAppStore)(e=>e.wsUrl),a=(0,n.useAppStore)(e=>e.apiBase),{sendReloadAgentConfig:l}=(0,r.useWebSocketSender)(),c=(0,t.useCallback)(()=>n.useAppStore.getState().agentId.trim()||"qihoo",[]);return(0,t.useCallback)(async(t,r)=>{let u=!!(null==r?void 0:r.silent),d=n.useAppStore.getState();try{await (0,o.saveAgentConfig)(i,a,c(),(0,o.prepareAgentConfigForSave)(d.agentConfig,{[e]:t}));let r=n.useAppStore.getState();r.wsConnected&&l(),u?(r.appendLog("agent-config","已写入 agent.json"),r.setStatus("agent.json 已保存".concat(r.wsConnected?",已请求同步 worker":"(未连接 WS 则下次连上后 reload)"),r.bridgeReady?"ready":"")):s.appToast.success(r.wsConnected?"已保存并已请求 worker 重新加载 agent.md + agent.json。":"已保存。重连 WebSocket 后生效。")}catch(e){s.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}},[i,a,l,c,e])}},55227,e=>{"use strict";e.s(["deleteSession",()=>s,"listSessions",()=>r,"listWorkspaceFiles",()=>l,"loadSessionOverrides",()=>o,"loadSessionReplay",()=>i,"saveSessionOverrides",()=>a]);var t=e.i(29250),n=e.i(36845);async function r(e,r,s){return(0,t.get)((0,n.buildSessionsListUrl)(e,r,s))}async function s(e,r,s,o){return(0,t.del)((0,n.buildSessionDeleteUrl)(e,r,s,o))}async function o(e,r,s,o){return(0,t.get)((0,n.buildSessionOverridesUrl)(e,r,s,o))}async function i(e,r,s,o){let i=await (0,t.get)((0,n.buildSessionReplayUrl)(e,r,s,o));return{envelopes:Array.isArray(i.envelopes)?i.envelopes:[],messageCount:"number"==typeof i.messageCount?i.messageCount:void 0}}async function a(e,r,s,o,i){await (0,t.patch)((0,n.buildSessionOverridesUrl)(e,r,s,o),i)}async function l(e,r,s,o){return(0,t.get)((0,n.buildWorkspaceFilesListUrl)(e,r,s,o))}},82136,e=>{"use strict";e.s(["loadAgentConfig",()=>a,"prepareAgentConfigForSave",()=>i,"saveAgentConfig",()=>l]);var t=e.i(29250),n=e.i(36845),r=e.i(75675);function s(e){var t;let n={},s=null==e?void 0:e.env;if(s&&"object"==typeof s&&!Array.isArray(s))for(let[e,t]of Object.entries(s))"string"==typeof e&&e.trim()&&(n[e]=null==t?"":String(t));return{tools:Array.isArray(null==e?void 0:e.tools)?e.tools.map(String):[...r.DEFAULT_AGENT_CONFIG.tools],disallowedTools:Array.isArray(null==e?void 0:e.disallowedTools)?e.disallowedTools.map(String):[...r.DEFAULT_AGENT_CONFIG.disallowedTools],mcpServers:Array.isArray(null==e?void 0:e.mcpServers)?e.mcpServers.map(String):[...r.DEFAULT_AGENT_CONFIG.mcpServers],skills:Array.isArray(null==e?void 0:e.skills)?e.skills.map(String):[...r.DEFAULT_AGENT_CONFIG.skills],model:"string"==typeof(null==e?void 0:e.model)?e.model:r.DEFAULT_AGENT_CONFIG.model,agentTeams:Array.isArray(null==e?void 0:e.agentTeams)?e.agentTeams.map(String):[...r.DEFAULT_AGENT_CONFIG.agentTeams],rules:Array.isArray(null==e?void 0:e.rules)?e.rules.map(String):[...r.DEFAULT_AGENT_CONFIG.rules],env:n,effort:"string"==typeof(t=null==e?void 0:e.effort)||"number"==typeof t||null==t?t:r.DEFAULT_AGENT_CONFIG.effort,background:(null==e?void 0:e.background)===!0||r.DEFAULT_AGENT_CONFIG.background,isolation:(null==e?void 0:e.isolation)==="worktree"||(null==e?void 0:e.isolation)==="remote"?e.isolation:"",whentouse:"string"==typeof(null==e?void 0:e.whentouse)?e.whentouse:r.DEFAULT_AGENT_CONFIG.whentouse}}function o(e){var t,n,r,s,o,i,a;return{...e,tools:(null!=(t=e.tools)?t:[]).slice(),disallowedTools:(null!=(n=e.disallowedTools)?n:[]).slice(),mcpServers:(null!=(r=e.mcpServers)?r:[]).slice(),skills:(null!=(s=e.skills)?s:[]).slice(),agentTeams:(null!=(o=e.agentTeams)?o:[]).slice(),rules:(null!=(i=e.rules)?i:[]).slice(),env:{...null!=(a=e.env)?a:{}}}}function i(e,t){return o({...s(e),...t})}async function a(e,r,o){var i,a,l;let c=await (0,t.get)((0,n.buildAgentApiUrl)(e,r,o));return{agentType:"string"==typeof(null==(i=c.agent)?void 0:i.agentType)&&c.agent.agentType.trim()?c.agent.agentType.trim():"string"==typeof(null==(a=c.agent)?void 0:a.name)?c.agent.name.trim():"",config:s(null==(l=c.agent)?void 0:l.config)}}async function l(e,r,s,i){await (0,t.patch)((0,n.buildAgentApiUrl)(e,r,s),{config:o(i)})}},87243,e=>{"use strict";e.s(["useSession",()=>l]);var t=e.i(71645),n=e.i(29250),r=e.i(68499),s=e.i(13354),o=e.i(65934),i=e.i(82136),a=e.i(55227);function l(){let e=(0,o.useAppStore)(e=>e.wsUrl),l=(0,o.useAppStore)(e=>e.apiBase),c=(0,o.useAppStore)(e=>e.agentId),u=(0,t.useCallback)(async t=>{let n=o.useAppStore.getState(),r=n.agentId.trim()||"qihoo";n.setSessionsMeta("加载中…");try{let c=await (0,a.listSessions)(e,l,r),u=c.sessions||[],d=null!=c.agent?String(c.agent):r;if(n.setBrandAgent(d),n.setLastSessions(u,"".concat(u.length,"个会话 · agent: ").concat(d)),(null==t?void 0:t.activateFirstIfEmpty)&&!o.useAppStore.getState().sessionId.trim()&&u.length>0){var s,i;let e=null==(i=u[0])||null==(s=i.sessionId)?void 0:s.trim();e&&o.useAppStore.getState().selectSession(e,"history")}}catch(e){n.resetSessions("加载失败: ".concat(e)),n.appendLog("sessions",String(e))}},[e,l]),d=(0,t.useCallback)(async()=>{let t=o.useAppStore.getState(),r=t.agentId.trim()||"qihoo";try{let n=await (0,i.loadAgentConfig)(e,l,r);t.setAgentConfig(n.config)}catch(e){t.resetAgentConfig(),t.appendLog("agent-config","load failed ".concat(e instanceof n.ApiError?e.message:String(e)))}},[e,l]),p=(0,t.useCallback)(async t=>{let r=String(t||"").trim();if(!r)return;let s=o.useAppStore.getState(),i=c.trim()||"qihoo";try{let t=await (0,a.loadSessionOverrides)(e,l,i,r),n=t.overrides&&"object"==typeof t.overrides?t.overrides:{};if("string"==typeof n.model){let e={...s.agentConfig,model:n.model};s.setAgentConfig(e)}}catch(e){s.appendLog("session-overrides","load failed ".concat(e instanceof n.ApiError?e.message||e.status:String(e)))}},[e,l,c]),g=(0,t.useCallback)(async t=>{if(!t||!await (0,r.confirmAlertDialog)({title:"确认删除会话?",description:"将删除磁盘上的 transcript 与相关目录,不可恢复。\n\n".concat(t),confirmText:"删除",cancelText:"取消"}))return!1;let i=o.useAppStore.getState().sessionId.trim()===t,d=c.trim()||"qihoo";try{let n=await (0,a.deleteSession)(e,l,d,t);if(o.useAppStore.getState().appendLog("sessions-delete",n),i){let e=o.useAppStore.getState();e.startDraftSession(),e.resetChat(),e.clearLog()}return await u(),i}catch(e){return e instanceof n.ApiError?(o.useAppStore.getState().appendLog("sessions-delete",{error:!0,status:e.status,body:e.body}),s.appToast.error("删除失败: ".concat(e.message))):(o.useAppStore.getState().appendLog("sessions-delete",String(e)),s.appToast.error("删除请求失败: ".concat(e))),!1}},[e,l,c,u]);return{loadSessions:u,loadAgentConfig:d,loadSessionOverrides:p,deleteSessionById:g,currentAgent:(0,t.useCallback)(()=>o.useAppStore.getState().agentId.trim()||"qihoo",[])}}},67327,20090,e=>{"use strict";e.s(["useWebSocketSender",()=>l],67327);var t=e.i(71645),n=e.i(65934);e.s(["clearActiveWebSocket",()=>i,"isWebSocketOpen",()=>s,"sendActiveWebSocketJson",()=>a,"setActiveWebSocket",()=>o],20090);let r=null;function s(e){return null!==e&&e.readyState===WebSocket.OPEN}function o(e){r=e}function i(e){r===e&&(r=null)}function a(e){let t=r;return!!s(t)&&(t.send(JSON.stringify(e)),!0)}function l(){let e=(0,t.useCallback)(e=>{let t=a(e);return t&&n.useAppStore.getState().appendLog("→",e),t},[]),r=(0,t.useCallback)(()=>e({type:"reloadAgentConfig"}),[e]),s=(0,t.useCallback)(()=>e({type:"reloadAgentPrompt"}),[e]),o=(0,t.useCallback)((t,n)=>{let r=String(t||"").trim();return!!r&&e({type:"permission.response",requestId:r,behavior:n})},[e]);return{sendJson:e,sendReloadAgentConfig:r,sendReloadAgentPrompt:s,sendPermissionResponse:o}}},3404,e=>{"use strict";e.s(["REASONS",()=>_],3404),e.s(["cancelOpen",()=>L,"chipRemovePress",()=>u,"clearPress",()=>c,"closePress",()=>a,"closeWatcher",()=>y,"dayPress",()=>O,"decrementPress",()=>g,"disabled",()=>F,"drag",()=>T,"escapeKey",()=>b,"focusOut",()=>A,"imperativeAction",()=>x,"incrementPress",()=>p,"inputBlur",()=>h,"inputChange",()=>f,"inputClear",()=>m,"inputPaste",()=>v,"inputPress",()=>S,"itemPress",()=>i,"keyboard",()=>C,"linkPress",()=>l,"listNavigation",()=>w,"monthChange",()=>N,"none",()=>t,"outsidePress",()=>o,"pointer",()=>k,"scrub",()=>E,"siblingOpen",()=>j,"swipe",()=>I,"trackPress",()=>d,"triggerFocus",()=>s,"triggerHover",()=>r,"triggerPress",()=>n,"valuePropChange",()=>R,"wheel",()=>P,"windowResize",()=>U],16162);let t="none",n="trigger-press",r="trigger-hover",s="trigger-focus",o="outside-press",i="item-press",a="close-press",l="link-press",c="clear-press",u="chip-remove-press",d="track-press",p="increment-press",g="decrement-press",f="input-change",m="input-clear",h="input-blur",v="input-paste",S="input-press",A="focus-out",b="escape-key",y="close-watcher",w="list-navigation",C="keyboard",k="pointer",T="drag",P="wheel",E="scrub",L="cancel-open",j="sibling-open",F="disabled",x="imperative-action",I="swipe",U="window-resize",O="day-press",N="month-change",R="value-prop-change";var _=e.i(16162)},94349,83799,89879,5963,e=>{"use strict";e.s(["useControlled",()=>n],94349),e.i(47167);var t=e.i(71645);function n(e){let{controlled:n,default:r,name:s,state:o="value"}=e,{current:i}=t.useRef(void 0!==n),[a,l]=t.useState(r),c=t.useCallback(e=>{i||l(e)},[]);return[i?n:a,c]}e.s(["useBaseUiId",()=>a],89879),e.s(["useId",()=>i],83799);let r={...t},s=0,o=r.useId;function i(e,n){if(void 0!==o){let t=o();return null!=e?e:n?"".concat(n,"-").concat(t):t}return function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mui",[r,o]=t.useState(e),i=e||r;return t.useEffect(()=>{null==r&&(s+=1,o("".concat(n,"-").concat(s)))},[r,n]),i}(e,n)}function a(e){return i(e,"base-ui")}e.s(["createChangeEventDetails",()=>c],5963);var l=e.i(17514);function c(e,t,n,r){let s=!1,o=!1,i=null!=r?r:l.EMPTY_OBJECT;return{reason:e,event:null!=t?t:new Event("base-ui"),cancel(){s=!0},allowPropagation(){o=!0},get isCanceled(){return s},get isPropagationAllowed(){return o},trigger:n,...i}}},62372,19904,e=>{"use strict";e.s(["visuallyHidden",()=>n,"visuallyHiddenInput",()=>r],62372);let t={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},n={...t,position:"fixed",top:0,left:0},r={...t,position:"absolute"};e.s(["useValueChanged",()=>a],19904);var s=e.i(71645),o=e.i(977),i=e.i(76477);function a(e,t){let n=s.useRef(e),r=(0,i.useStableCallback)(t);(0,o.useIsoLayoutEffect)(()=>{n.current!==e&&r(n.current)},[e,r]),(0,o.useIsoLayoutEffect)(()=>{n.current=e},[e])}},43084,e=>{"use strict";e.s(["clamp",()=>c,"createCoords",()=>a,"evaluate",()=>u,"floor",()=>i,"getAlignment",()=>p,"getAlignmentAxis",()=>h,"getAlignmentSides",()=>v,"getAxisLength",()=>f,"getExpandedPlacements",()=>S,"getOppositeAlignmentPlacement",()=>A,"getOppositeAxis",()=>g,"getOppositeAxisPlacements",()=>k,"getOppositePlacement",()=>T,"getPaddingObject",()=>P,"getSide",()=>d,"getSideAxis",()=>m,"max",()=>s,"min",()=>r,"placements",()=>n,"rectToClientRect",()=>E,"round",()=>o,"sides",()=>t]);let t=["top","right","bottom","left"],n=t.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]),r=Math.min,s=Math.max,o=Math.round,i=Math.floor,a=e=>({x:e,y:e}),l={left:"right",right:"left",bottom:"top",top:"bottom"};function c(e,t,n){return s(e,r(t,n))}function u(e,t){return"function"==typeof e?e(t):e}function d(e){return e.split("-")[0]}function p(e){return e.split("-")[1]}function g(e){return"x"===e?"y":"x"}function f(e){return"y"===e?"height":"width"}function m(e){let t=e[0];return"t"===t||"b"===t?"y":"x"}function h(e){return g(m(e))}function v(e,t,n){void 0===n&&(n=!1);let r=p(e),s=h(e),o=f(s),i="x"===s?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[o]>t.floating[o]&&(i=T(i)),[i,T(i)]}function S(e){let t=T(e);return[A(e),t,A(t)]}function A(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}let b=["left","right"],y=["right","left"],w=["top","bottom"],C=["bottom","top"];function k(e,t,n,r){let s=p(e),o=function(e,t,n){switch(e){case"top":case"bottom":if(n)return t?y:b;return t?b:y;case"left":case"right":return t?w:C;default:return[]}}(d(e),"start"===n,r);return s&&(o=o.map(e=>e+"-"+s),t&&(o=o.concat(o.map(A)))),o}function T(e){let t=d(e);return l[t]+e.slice(t.length)}function P(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function E(e){let{x:t,y:n,width:r,height:s}=e;return{width:r,height:s,top:n,left:t,right:t+r,bottom:n+s,x:t,y:n}}},46798,e=>{"use strict";e.s(["Tooltip",()=>c,"TooltipContent",()=>d,"TooltipProvider",()=>l,"TooltipTrigger",()=>u]);var t=e.i(18050),n=e.i(71645),r=e.i(74080),s=e.i(75157);let o=n.createContext(null),i=n.createContext({delayDuration:0,side:"bottom",align:"center"});function a(){let e=n.useContext(o);if(!e)throw Error("Tooltip components must be used inside <Tooltip>.");return e}function l(e){let{delayDuration:n=0,side:r="bottom",align:s="center",children:o}=e;return(0,t.jsx)(i.Provider,{value:{delayDuration:n,side:r,align:s},children:o})}function c(e){let{children:r}=e,{delayDuration:s}=n.useContext(i),[a,l]=n.useState(!1),c=n.useRef(null),u=n.useRef(null),d=n.useId(),p=n.useCallback(()=>{null!==c.current&&(window.clearTimeout(c.current),c.current=null),l(!1)},[]),g=n.useCallback(()=>{if(null!==c.current&&(window.clearTimeout(c.current),c.current=null),s<=0)return void l(!0);c.current=window.setTimeout(()=>{l(!0),c.current=null},s)},[s]);return n.useEffect(()=>()=>{null!==c.current&&window.clearTimeout(c.current)},[]),(0,t.jsx)(o.Provider,{value:{open:a,delayDuration:s,contentId:d,triggerRef:u,openWithDelay:g,close:p},children:(0,t.jsx)("span",{ref:u,"data-slot":"tooltip",className:"inline-flex",children:r})})}function u(e){let{asChild:r,children:s,...o}=e,{open:i,contentId:l,openWithDelay:c,close:u}=a(),d={"aria-describedby":i?l:void 0};if(r&&n.isValidElement(s)){let e=s.props;return n.cloneElement(s,{...o,...e,...d,onMouseEnter:t=>{var n,r;null==(n=e.onMouseEnter)||n.call(e,t),null==(r=o.onMouseEnter)||r.call(o,t),t.defaultPrevented||c()},onMouseLeave:t=>{var n,r;null==(n=e.onMouseLeave)||n.call(e,t),null==(r=o.onMouseLeave)||r.call(o,t),t.defaultPrevented||u()},onFocus:t=>{var n,r;null==(n=e.onFocus)||n.call(e,t),null==(r=o.onFocus)||r.call(o,t),t.defaultPrevented||c()},onBlur:t=>{var n,r;null==(n=e.onBlur)||n.call(e,t),null==(r=o.onBlur)||r.call(o,t),t.defaultPrevented||u()}})}return(0,t.jsx)("span",{"data-slot":"tooltip-trigger",...o,...d,onMouseEnter:e=>{var t;null==(t=o.onMouseEnter)||t.call(o,e),e.defaultPrevented||c()},onMouseLeave:e=>{var t;null==(t=o.onMouseLeave)||t.call(o,e),e.defaultPrevented||u()},onFocus:e=>{var t;null==(t=o.onFocus)||t.call(o,e),e.defaultPrevented||c()},onBlur:e=>{var t;null==(t=o.onBlur)||t.call(o,e),e.defaultPrevented||u()},children:s})}function d(e){let{className:o,side:l,align:c,sideOffset:u=8,...d}=e,{open:p,contentId:g,triggerRef:f}=a(),{side:m,align:h}=n.useContext(i),v=null!=l?l:m,S=null!=c?c:h,[A,b]=n.useState({});return(n.useLayoutEffect(()=>{let e=()=>{let e=f.current;if(!e)return;let t=e.getBoundingClientRect(),n=0,r=0,s="",o="";"top"===v||"bottom"===v?("start"===S&&(r=t.left),"center"===S&&(r=t.left+t.width/2,s="-50%"),"end"===S&&(r=t.right)):("start"===S&&(n=t.top),"center"===S&&(n=t.top+t.height/2,o="-50%"),"end"===S&&(n=t.bottom)),"bottom"===v&&(n=t.bottom+u),"top"===v&&(n=t.top-u,o="-100%"),"right"===v&&(r=t.right+u),"left"===v&&(r=t.left-u,s="-100%"),b({position:"fixed",top:n,left:r,transform:[s&&"translateX(".concat(s,")"),o&&"translateY(".concat(o,")")].filter(Boolean).join(" ")||void 0})};return e(),window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[p,v,S,u,f]),p&&"undefined"!=typeof document)?(0,r.createPortal)((0,t.jsx)("div",{id:g,role:"tooltip","data-slot":"tooltip-content",className:(0,s.cn)("pointer-events-none z-[10050]","w-max max-w-[300px] rounded-md bg-black/70 px-3 py-1 text-xs text-white shadow-md","animate-in fade-in-0 zoom-in-95",o),style:A,...d}),document.body):null}},97249,e=>{"use strict";e.s(["BASE_PATH",()=>n,"buildAppNavHref",()=>u,"buildSettingsHref",()=>p,"getSettingsRouteByPathname",()=>m,"getSettingsSlugFromSegments",()=>f,"isAgentUrlStoreSyncPending",()=>i,"isSettingsRoutePath",()=>h,"normalizeAppPathname",()=>c,"readAgentFromLocationSearch",()=>s,"replaceRuntimeAgentInUrl",()=>o,"syncRuntimeAgentWithUrl",()=>a],97249);var t=e.i(47167);let n=function(){var e;let n=null==(e=t.default.env.NEXT_PUBLIC_BASE_PATH)?void 0:e.trim();return n&&n.length>0?n.replace(/\/+$/,"")||"":"/app"}(),r="qihoo";function s(){var e,t;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.search;return null!=(t=null==(e=new URLSearchParams(n).get("agent"))?void 0:e.trim())?t:""}function o(e){try{let t=e.trim();if(!t)return;let n=new URL(window.location.href);if(n.searchParams.get("agent")===t)return;n.searchParams.set("agent",t),window.history.replaceState(window.history.state,"","".concat(n.pathname).concat(n.search).concat(n.hash))}catch(e){}}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s(),n=t.trim();return!!n&&n!==(e.trim()||r)}function a(e,t){try{let n=s(),o=e.trim();if(n){n!==o&&t(n);return}let i=o||r,a=new URL(window.location.href);if(a.searchParams.get("agent")===i)return;a.searchParams.set("agent",i),window.history.replaceState(window.history.state,"","".concat(a.pathname).concat(a.search).concat(a.hash))}catch(e){}}let l="/index.html";function c(e){let t=function(e){let t=g(e);return t.endsWith(l)?t.slice(0,-l.length)||"/":t}(e);return"/"===t?"/":g(t.split("/").map((e,t)=>0!==t&&e&&e.replace(/\.[A-Za-z0-9]+$/,"")||e).join("/"))}function u(e,t,n){var r,s,o,i,a,l;let c=function(e){var t;if(!e||"/"===e)return e;let n="/manage";return!(e===n||e.startsWith("".concat(n,"/")))||e.endsWith("/")||(null!=(t=e.split("/").pop())?t:"").includes(".")?e:"".concat(e,"/")}(function(e,t){let n="/"===e?"/":e.startsWith("/")?e:"/".concat(e);return n}(e)),u=function(e){if(e instanceof URLSearchParams||"string"==typeof e)return new URLSearchParams(e);if(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[n,r]=e;"string"==typeof r&&r?t.set(n,r):Array.isArray(r)&&r[0]&&t.set(n,r[0])}),t}return new URLSearchParams(window.location.search)}(n),d="/"===e||""===e;if(null==t?void 0:t.ensureAgent){let e=(null!=(s=null!=(r=t.agent)?r:u.get("agent"))?s:"").trim()||"qihoo";u.set("agent",e)}else{let e=(null!=(i=null!=(o=null==t?void 0:t.agent)?o:u.get("agent"))?i:"").trim();e?u.set("agent",e):u.delete("agent")}if(d&&(null==t?void 0:t.preserveSessionId)!==!1){let e=(null!=(l=null!=(a=null==t?void 0:t.sessionId)?a:u.get("sessionId"))?l:"").trim();e?u.set("sessionId",e):u.delete("sessionId")}else u.delete("sessionId");let p=u.toString();return p?"".concat(c,"?").concat(p):c}let d="/manage";function p(e){return"".concat(d,"/").concat(e)}function g(e){return e.replace(/\/+$/,"")||"/"}function f(e){if(!(null==e?void 0:e.length))return null;let t="index.html"===e.at(-1)?e.slice(0,-1):e;return t.length?t.join("/"):null}function m(e,t){let n=c(e);return t.find(e=>g(e.href)===n)}function h(e,t){if(!e)return!1;let n=c(e);return n===d||t.some(e=>{let t=g(e.href);return n===t||n.startsWith("".concat(t,"/"))})}},92413,e=>{"use strict";function t(e){return(e.summary||e.firstPrompt||e.sessionId||"(无标题)").slice(0,120)}function n(e){let t=new Map;for(let n of e){let e=function(e){let t=new Date(e.lastModified||e.createdAt||0);if(!Number.isFinite(t.getTime()))return"未知日期";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0");return"".concat(n,"-").concat(r)}(n),r=t.get(e);r?r.push(n):t.set(e,[n])}return[...t.keys()].sort((e,t)=>t.localeCompare(e)).map(e=>{var n;return{key:e,items:null!=(n=t.get(e))?n:[]}})}function r(e){let t=e.split("-"),n=t[0]&&/^[0-9a-fA-F]{8}$/.test(t[0])?t[0]:e.slice(0,8);return"".concat(n,"...")}function s(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}e.s(["escapeHtml",()=>s,"groupSessionsByMonth",()=>n,"sessionTitle",()=>t,"shortUuidTitle",()=>r])},2578,e=>{e.v(t=>Promise.all(["static/chunks/a38eccf0bb5ca1e9.js","static/chunks/eba0719a42605421.js","static/chunks/b76778c5811ef7a1.js"].map(t=>e.l(t))).then(()=>t(31862)))},94065,e=>{e.v(t=>Promise.all(["static/chunks/33eeef286c328da0.js","static/chunks/98f0c5604e839ba2.js","static/chunks/c1cfc60c17638a73.js","static/chunks/17e79ae7309781d6.js"].map(t=>e.l(t))).then(()=>t(20291)))},34116,e=>{e.v(t=>Promise.all(["static/chunks/9dc241c9b2aa0f91.js","static/chunks/c1cfc60c17638a73.js","static/chunks/a79654d570ac30eb.js","static/chunks/17e79ae7309781d6.js"].map(t=>e.l(t))).then(()=>t(86404)))},1861,e=>{e.v(t=>Promise.all(["static/chunks/19aa69c07b3642d5.js","static/chunks/17e79ae7309781d6.js"].map(t=>e.l(t))).then(()=>t(62849)))},18963,e=>{e.v(t=>Promise.all(["static/chunks/3407244006d6a98a.js","static/chunks/f2bb685629307d4d.js"].map(t=>e.l(t))).then(()=>t(89530)))},9803,e=>{e.v(t=>Promise.all(["static/chunks/f7e71ce1c236f806.js","static/chunks/f2bb685629307d4d.js"].map(t=>e.l(t))).then(()=>t(28583)))},69496,e=>{e.v(t=>Promise.all(["static/chunks/7a5fd448b280dd64.js","static/chunks/f2bb685629307d4d.js"].map(t=>e.l(t))).then(()=>t(47079)))},56149,e=>{e.v(t=>Promise.all(["static/chunks/c2bed9d5fa7be4bd.js"].map(t=>e.l(t))).then(()=>t(51459)))}]);
@@ -0,0 +1,4 @@
1
+ :root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ds-bg:#fff;--ds-main-tint:#fbfbfc;--ds-sidebar:#f1f1f1;--ds-border:#efefef;--ds-border-hover:#d1d5db;--ds-icon-btn-disabled:var(--text-secondary);--ds-text:#111827;--ds-muted:#6b7280;--ds-accent:#1db887;--ds-accent-hover:#18a578;--ds-item-hover:#ededed;--ds-item-active:#e8e8e8;--ds-item-bg-hover:#efeeeb;--ds-ok:#059669;--ds-danger:#dc2626;--ds-log-bg:#f8f9fb;--ds-log-border:#e5e7eb;--ds-radius:14px;--ds-radius-sm:10px;--green:#3ddc84;--green-dark:#009f6b;--green-light:#ecf7f2;--green-dim:#1a4a30;--blue:#4a9eff;--blue-dim:#0d2a4a;--amber:#ffb547;--amber-dim:#3a2a0a;--red:#ff5f5f;--red-dim:#3a1010;--purple:#b07fff;--cyan:#4ae3d4;--ts:#567;--border-light:rgba(255,255,255,.5);--border-mid:rgba(255,255,255,.18);--text-primary:#f0ede8;--text-secondary:#a8a8a2;--text-tertiary:#6e6e68;--text-placeholder:#9ca3af;--icon-color:#3f3f46;--avatar-bg:#9a3b32;--surface-1:#fff;--surface-2:#f5f5f5;--surface-3:#f9f9f9;--surface-4:#eceef2;--surface-5:#e8e8e8;--border-subtle:#eceef2;--border-default:#efefef;--border-hover:#d1d5db;--border-code:#cecece;--border-focus:var(--ds-accent);--shadow-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);--shadow-md:0 4px 16px rgba(15,23,42,.08),0 2px 4px rgba(15,23,42,.04);--shadow-lg:0 12px 40px rgba(15,23,42,.1),0 4px 12px rgba(15,23,42,.06);--shadow-float:0 20px 60px rgba(15,23,42,.15),0 8px 20px rgba(15,23,42,.08);--shadow-sidebar:2px 0 12px rgba(15,23,42,.03);--shadow-composer:0 4px 20px rgba(15,23,42,.07),0 0 0 .5px rgba(15,23,42,.06);--shadow-composer-hover:0 4px 20px rgba(15,23,42,.07),0 0 0 .5px rgba(15,23,42,.12);--shadow-composer-focus:0 12px 32px rgba(15,23,42,.18),0 0 0 .5px rgba(15,23,42,.22);--shadow-send:0 2px 8px rgba(29,184,135,.35);--btn-radius:10px;--btn-radius-sm:6px;--btn-radius-lg:14px;--btn-radius-pill:999px;--btn-height:36px;--btn-height-sm:28px;--text-xs:.6875rem;--text-sm:.75rem;--text-base:.875rem;--text-lg:1rem;--text-xl:1.25rem;--font-display:"Sora","PingFang SC","Microsoft YaHei",sans-serif;--font-body:"DM Sans","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Consolas",monospace;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--ring-focus:0 0 0 2px var(--ds-bg),0 0 0 4px var(--ds-accent);--ring-focus-sm:0 0 0 2px rgba(29,184,135,.25);--ring-focus-inset:inset 0 0 0 2px rgba(29,184,135,.25);--ds-scrollbar:rgba(0,0,0,.15);--ds-scrollbar-hover:rgba(0,0,0,.25)}.chat-md{color:var(--ds-text)}.chat-md :first-child{margin-top:0}.chat-md :last-child{margin-bottom:0}.chat-md h1,.chat-md h2,.chat-md h3{margin:.75em 0 .35em;font-weight:600;line-height:1.5}.chat-md hr{background:var(--border-hover);border:none;height:1px}.chat-md p{margin:.5em 0;line-height:2}.chat-md ul,.chat-md ol{margin:.5em 0;padding-left:1.35rem}.chat-md ul li,.chat-md ol li{line-height:2}.chat-md pre{padding:var(--space-3)var(--space-3);background:var(--surface-3);border:1px solid var(--border-default);color:var(--ds-text);font-size:var(--text-xs);border-radius:8px;margin:.65em 0;overflow-x:auto}.chat-md pre code{color:inherit;font-size:inherit;background:0 0;padding:0;line-height:2}.chat-md code{background:var(--surface-3);color:var(--ds-text);border-radius:4px;padding:.12em .35em;font-family:ui-monospace,monospace;font-size:.84em}.chat-md table{width:-moz-fit-content;width:fit-content;min-width:100%}.chat-md table tr:last-child th,.chat-md table tr:last-child td{border-bottom:none}.chat-md table th,.chat-md table td{text-align:left;border-bottom:1px solid var(--ds-border);padding:.8em 1em}.chat-md .chat-code-block{border:none;border-radius:10px;margin:0 0 .65em;overflow:hidden}.chat-md .chat-code-block pre{border:none;border-radius:0;margin:0;background:var(--surface-3)!important}.chat-md .chat-code-head{background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.05);justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chat-md .chat-code-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ds-text);font-family:ui-monospace,monospace}.chat-md .chat-code-copy-btn{border:1px solid var(--border-default);background:var(--surface-5);color:var(--ds-text);font-size:var(--text-xs);padding:var(--space-1)var(--space-2);cursor:pointer;border-radius:6px;line-height:1;transition:all .15s}.chat-md .chat-code-copy-btn:hover{background:var(--surface-4)}.chat-md .chat-code-copy-btn.is-copied{border-color:var(--ds-ok);color:var(--ds-ok)}.chat-md blockquote{border-left:3px solid var(--border-hover);color:var(--ds-muted);margin:1em 0;padding-left:.85rem}.dark .chat-md code{background:rgba(255,255,255,.08)}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ds-bg:#0f1117;--ds-main-tint:#16181d;--ds-sidebar:#1a1d23;--ds-border:#2a2d35;--ds-border-hover:#3a3d45;--ds-text:#e8e8ec;--ds-muted:#8b8d96;--ds-accent:#2dd4a8;--ds-accent-hover:#34d399;--ds-item-hover:#23262e;--ds-item-active:#2a2d38;--ds-item-bg-hover:#262930;--ds-ok:#34d399;--ds-danger:#f87171;--ds-log-bg:#1a1d23;--ds-log-border:#2a2d35;--font-display:"Sora","PingFang SC","Microsoft YaHei",sans-serif;--font-body:"DM Sans","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Consolas",monospace;--text-placeholder:#6b7280;--icon-color:#a1a1aa;--surface-1:#16181d;--surface-2:#1e2128;--surface-3:#262930;--surface-4:#2f3340;--border-subtle:#2a2d35;--border-default:#2a2d35;--border-hover:#3f4250;--text-primary:#e8e8ec;--text-secondary:#8b8d96;--shadow-sm:0 1px 3px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.15);--shadow-md:0 4px 16px rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.2);--shadow-lg:0 12px 40px rgba(0,0,0,.3),0 4px 12px rgba(0,0,0,.25);--shadow-float:0 20px 60px rgba(0,0,0,.4),0 8px 20px rgba(0,0,0,.3);--shadow-sidebar:2px 0 12px rgba(0,0,0,.3);--shadow-composer:0 .25rem 1.25rem rgba(0,0,0,.3),0 0 0 .5px rgba(255,255,255,.06);--shadow-composer-hover:0 .25rem 1.25rem rgba(0,0,0,.3),0 0 0 .5px rgba(255,255,255,.1);--shadow-composer-focus:0 .75rem 2rem rgba(0,0,0,.65),0 0 0 .5px rgba(255,255,255,.2);--shadow-send:0 2px 8px rgba(45,212,168,.35);--ring-focus-sm:0 0 0 2px rgba(45,212,168,.25);--ring-focus-inset:inset 0 0 0 2px rgba(45,212,168,.25);--ds-scrollbar:rgba(255,255,255,.15);--ds-scrollbar-hover:rgba(255,255,255,.25);--btn-radius:10px;--btn-radius-sm:6px;--btn-radius-lg:14px;--btn-radius-pill:999px;--btn-height:36px;--btn-height-sm:28px;--text-xs:.75rem;--text-sm:.875rem;--text-base:.9rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--ds-scrollbar)transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--ds-scrollbar);border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--ds-scrollbar-hover)}html{scroll-behavior:smooth}html,body{height:100%;margin:0}body{font-family:var(--font-body);background:var(--ds-bg);color:var(--ds-text);line-height:1.5;overflow:hidden}a{color:var(--ds-accent)}.app{height:100%;min-height:0;display:flex}.app .lucide{width:16px;height:16px;color:var(--icon-color)}.stage-thread-flyout{border-left:0 solid var(--ds-border);background:var(--surface-2);flex-shrink:0;width:0;min-height:0;transition:width .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stage-thread-flyout.is-open{width:var(--stage-flyout-width,760px);border-left-width:1px;border-left-color:var(--ds-border)}.stage-thread-flyout.is-open.is-resizing{border-left-color:var(--ds-accent)}.stage-thread-flyout.is-open:has(.stage-thread-flyout-resize:hover){border-left-color:var(--ds-accent)}.stage-thread-flyout.is-resizing{transition:none}.stage-thread-flyout-resize{z-index:2;cursor:col-resize;touch-action:none;justify-content:center;align-items:center;width:12px;height:100%;display:flex;position:absolute;top:0;left:0;transform:translate(-50%)}.stage-thread-flyout-resize-bar{border:1px solid var(--ds-border);background:var(--ds-border-hover);border-radius:999px;width:8px;height:24px}.stage-thread-flyout.is-resizing .stage-thread-flyout-resize-bar,.stage-thread-flyout-resize:hover .stage-thread-flyout-resize-bar{border-color:var(--ds-ok);background:var(--ds-item-hover)}.stage-thread-flyout-inner{width:var(--stage-flyout-width,760px);flex-direction:column;height:100%;min-height:0;display:flex}.stage-thread-flyout-header{align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-3)var(--space-2);border-bottom:1px solid var(--ds-border);flex-shrink:0;display:flex}.stage-thread-flyout-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-base);color:var(--ds-text);flex:1;margin:0;font-weight:600;line-height:1.4;overflow:hidden}.stage-thread-flyout-close{flex-shrink:0}.stage-thread-flyout-body{min-height:0;padding:var(--space-3);flex:1;overflow-y:auto}.sidebar{background:var(--surface-2);border-right:1px solid var(--ds-border);width:min(288px,42vw);min-width:0;box-shadow:var(--shadow-sidebar);flex-direction:column;flex-shrink:0;display:flex}.sidebar.is-collapsed{width:52px}.sidebar-collapsed-actions{align-items:center;gap:var(--space-2);padding-top:var(--space-3);flex-direction:column;flex:1;display:flex}.sidebar-collapsed-icon-btn{cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:inline-flex}.sidebar-collapsed-icon-btn:hover{background:var(--surface-3)}.sidebar-collapsed-icon-btn:focus-visible{box-shadow:var(--ring-focus);outline:none}.sidebar-brand{padding:var(--space-4)var(--space-4)var(--space-3);border-bottom:1px solid var(--ds-border);flex-shrink:0}.sidebar-brand-title-row{align-items:center;gap:.25rem;min-width:0;display:flex}.sidebar-brand .logo{min-width:0;font-size:var(--text-lg);color:var(--ds-text);letter-spacing:-.02em;flex:1;font-weight:700;line-height:1.2}.sidebar-brand-ws{margin-top:var(--space-2);border-top:1px solid var(--ds-border);padding-top:.45rem}.sidebar-brand-ws-title{font-size:var(--text-xs);color:var(--ds-text);margin-bottom:var(--space-1);letter-spacing:.02em;font-weight:600}.sidebar-brand-ws-label{font-size:var(--text-xs);color:var(--ds-muted);margin-bottom:var(--space-1);display:block}.sidebar-brand-model-input{box-sizing:border-box;width:100%;margin-bottom:var(--space-1)}.btn-bind-save--brand{padding:var(--space-1)var(--space-2);border-radius:var(--btn-radius-sm);font-size:var(--text-xs);margin-top:0}.sidebar-icon-btn{border-radius:var(--btn-radius-sm);width:1.85rem;height:1.85rem;color:var(--ds-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;transition:all .35s;display:inline-flex}.sidebar-icon-btn:hover{background:var(--ds-item-bg-hover)}.sidebar-icon-btn:focus-visible{box-shadow:var(--ring-focus);outline:none}.sidebar-icon-btn svg{display:block}.sidebar-icon-btn .ic{font-size:var(--text-lg);color:currentColor;font-weight:300;line-height:1}.btn-primary{box-sizing:border-box;height:34px;padding:0 var(--space-4);border-radius:var(--btn-radius);background:var(--ds-accent);color:#fff;cursor:pointer;font-weight:500;font-size:var(--text-sm);border:none;justify-content:center;align-items:center;margin:0;display:inline-flex}.btn-primary:hover{background:var(--ds-accent-hover)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.sidebar-drawer-meta{font-size:var(--text-xs);color:var(--ds-muted);padding:0 var(--space-1)var(--space-2);border-bottom:1px solid var(--ds-log-border);margin-bottom:var(--space-1);flex-shrink:0;line-height:1.45}#sessionList{min-height:0;padding:var(--space-1)0 var(--space-1);flex:1;overflow-x:hidden;overflow-y:auto}.session-group-label{font-size:var(--text-xs);color:var(--ds-muted);padding:var(--space-2)var(--space-1)var(--space-1);font-weight:500}.sidebar-drawer-item{border-radius:var(--ds-radius-sm);margin:var(--space-1)0;border:1px solid transparent;align-items:center;transition:background .15s,border-color .15s,box-shadow .15s;display:flex;position:relative}.sidebar-drawer-item:hover{background:var(--ds-item-active)}.sidebar-drawer-list{padding:var(--space-1)0 var(--space-1);flex-direction:column;display:flex}.sidebar-drawer-item-label{min-width:0;padding:var(--space-2)var(--space-1)var(--space-2)var(--space-3);font-size:var(--text-sm);color:var(--ds-text);word-break:break-word;flex:1;align-items:center;font-family:ui-monospace,monospace;font-weight:500;display:flex}.sidebar-drawer-empty{font-size:var(--text-xs);color:var(--ds-muted);padding:var(--space-2)var(--space-2)var(--space-2);line-height:1.45}.session-item.active{background:var(--ds-item-active);box-shadow:var(--shadow-sm)}.session-item-main{min-width:0;padding:var(--space-1-5)var(--space-1)var(--space-1-5)var(--space-3);cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:none;flex:1}.session-item-title{font-size:var(--text-base);color:var(--ds-text);-webkit-line-clamp:1;word-break:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.session-item-sub{font-size:var(--text-xs);color:var(--ds-muted);margin-top:.2rem;font-family:ui-monospace,monospace}.session-menu-wrap{padding:2px var(--space-3)0 0;opacity:0;pointer-events:none;flex-shrink:0;align-items:flex-start;transition:opacity .15s;display:flex;position:relative}.sidebar-drawer-item:hover .session-menu-wrap,.session-item.active .session-menu-wrap{opacity:1;pointer-events:auto}.session-menu-btn{color:var(--ds-muted);cursor:pointer;font-size:var(--text-lg);letter-spacing:.06em;opacity:.65;background:0 0;border:none;padding:0;font-weight:500}.sidebar-drawer-item:hover .session-menu-btn,.session-item.active .session-menu-btn,.session-menu-wrap.open .session-menu-btn{opacity:1;color:var(--ds-text)}.session-menu-btn:focus-visible{opacity:1;color:var(--ds-text)}.session-dropdown{z-index:80;background:var(--ds-bg);border:1px solid var(--ds-border);min-width:9.5rem;box-shadow:var(--shadow-md);padding:var(--space-1)0;border-radius:10px;display:none;position:absolute;top:2rem;right:.15rem}.session-menu-wrap.open .session-dropdown{display:block}.session-dropdown button{text-align:left;width:100%;padding:var(--space-2)var(--space-3);border-radius:var(--btn-radius-sm);color:var(--ds-text);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;display:block}.session-dropdown button:hover{background:var(--ds-item-hover)}.session-dropdown button.danger{color:var(--ds-danger);background:color-mix(in srgb,var(--ds-danger)8%,transparent);border:1px solid color-mix(in srgb,var(--ds-danger)30%,transparent)}.dark .session-dropdown button.danger{background:color-mix(in srgb,var(--ds-danger)12%,transparent);border:1px solid color-mix(in srgb,var(--ds-danger)40%,transparent)}.sidebar-drawers{flex-direction:column;flex:1;min-height:0;display:flex;overflow-x:hidden;overflow-y:auto}details.sidebar-drawer{z-index:0;flex-direction:column;flex:none;min-height:0;display:flex;position:relative}details.sidebar-drawer[open]{z-index:1}details.sidebar-drawer>summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:36px;padding:var(--space-1)var(--space-3);font-size:var(--text-xs);color:var(--ds-text);justify-content:space-between;align-items:center;gap:.5rem;margin:.35rem .25rem 0;font-weight:600;list-style:none;display:flex;position:relative}details.sidebar-drawer>summary::-webkit-details-marker{display:none}details.sidebar-drawer>summary:hover{background:#f1f1f1;border-radius:16px}.drawer-summary-title{letter-spacing:-.01em}.drawer-chevron{font-size:var(--text-xs);color:var(--ds-muted);flex-shrink:0;transition:transform .2s}details.sidebar-drawer:not([open])>summary .drawer-chevron{transform:rotate(-90deg)}details.sidebar-drawer .sidebar-drawer-body{padding:0 var(--space-3)var(--space-3);overflow:auto}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}details.sidebar-drawer[open] .sidebar-drawer-body{animation:.2s ease-out fadeSlideUp}details.sidebar-drawer .sidebar-drawer-body.sidebar-drawer-body--tools,details.sidebar-drawer .sidebar-drawer-body.sidebar-drawer-body--skills,details.sidebar-drawer .sidebar-drawer-body.sidebar-drawer-body--mcp{max-height:none;overflow:visible}.drawer-bind-block--solo .sidebar-drawer-list.agent-bind-chips{min-height:200px;max-height:min(40vh,400px);overflow-x:hidden;overflow-y:auto}.sidebar-drawer-body--sessions{flex-direction:column;padding-bottom:.5rem;display:flex;overflow:hidden}.session-summary-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.sidebar-drawer-body--tools,.sidebar-drawer-body--skills,.sidebar-drawer-body--mcp{flex-direction:column;display:flex}.agent-md-editor{min-height:min(50vh,420px);padding:var(--space-3)var(--space-4);resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--text-sm);color:var(--ds-text);background:var(--ds-log-bg);box-sizing:border-box;border:none;flex:1;margin:0;line-height:1.5}.tool-files-meta{font-size:var(--text-xs);color:var(--ds-muted);word-break:break-all}.tool-files-state{font-size:var(--text-sm);color:var(--ds-muted);padding:var(--space-2)var(--space-1)}.tool-files-list{flex-direction:column;gap:.5rem;display:flex}.tool-files-item{border:1px solid var(--ds-border);background:var(--ds-bg);padding:var(--space-2)var(--space-3);border-radius:10px;justify-content:space-between;align-items:center;gap:.7rem;display:flex}.tool-files-main{flex:1;min-width:0}.tool-files-name{font-size:var(--text-lg);color:var(--ds-text);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:hidden}.tool-files-sub{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--ds-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tool-files-download{box-sizing:border-box;height:34px;padding:0 var(--space-3);border-radius:var(--btn-radius);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-sm);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.runtime-pkg-row-actions{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.runtime-pkg-row-action{box-shadow:none;color:var(--ds-accent);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-weight:400;line-height:1.25}.agent-md-editor:focus{box-shadow:var(--ring-focus-inset);outline:none}.tool-files-download:hover:not(:disabled){border-color:var(--ds-item-hover);background:var(--ds-item-hover);color:var(--ds-accent)}.tool-files-download:disabled{opacity:.45;cursor:not-allowed}.runtime-pkg-row-action:hover:not(:disabled){color:var(--ds-accent);background:0 0;border:none}.runtime-pkg-row-action:disabled{opacity:.45;cursor:not-allowed;color:var(--ds-accent)}.env-form-table-body{flex:1;min-height:min(46vh,420px);max-height:min(58vh,560px);padding:0;overflow-x:hidden;overflow-y:auto}.env-form-group-title{padding:0 var(--space-1);font-size:var(--text-xs);color:var(--ds-text);border-left:3px solid var(--ds-accent);padding-left:var(--space-2);margin:.65rem 0 .45rem;font-weight:600}.env-form-group-title:first-child{margin-top:.15rem}.env-form-row{margin-bottom:var(--space-2);grid-template-columns:minmax(200px,38%) 1fr;align-items:center;gap:.65rem .85rem;display:grid}.env-form-label{font-size:var(--text-xs);color:var(--ds-text);text-align:right;padding-right:var(--space-1);word-break:break-word;line-height:1.35}.env-form-field{min-width:0}.env-form-value{box-sizing:border-box;width:100%;padding:var(--space-2)var(--space-2);border:1px solid var(--ds-border);font-size:var(--text-xs);background:var(--ds-bg);color:var(--ds-text);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.env-form-value:focus{border-color:var(--border-focus);box-shadow:var(--ring-focus-sm);outline:none}.btn-env-design{padding:var(--space-1)var(--space-3);border-radius:var(--btn-radius);color:var(--ds-accent);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;font-family:inherit;display:inline-flex}.btn-env-design:hover{background:var(--surface-3)}.btn-env-design:focus-visible{box-shadow:var(--ring-focus);outline:none}.btn-env-design--icon{width:28px;height:28px;padding:0}.btn-agent-md-cancel{box-sizing:border-box;height:34px;padding:0 var(--space-3);border-radius:var(--btn-radius);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-sm);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.btn-agent-md-cancel:hover{background:var(--ds-item-hover)}.main{background:var(--ds-main-tint);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.main-content{flex-direction:column;flex:1;min-width:880px;min-height:0;display:flex}.main.manage-main{padding:clamp(var(--space-4),3vw,var(--space-6))}.manage-page-title{font-size:var(--text-xl);color:var(--ds-text);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.3}.manage-page-desc{font-size:var(--text-base);color:var(--ds-muted);margin-top:var(--space-2);word-break:break-all;font-family:inherit}.main.is-draft-session .composer{padding:var(--space-5)0 var(--space-6);flex:1;justify-content:center;align-items:center;display:flex}.main.is-draft-session .composer-inner.is-draft-session{flex-direction:column;justify-content:center;display:flex}.main-header{padding:var(--space-4)clamp(var(--space-4),3vw,var(--space-6))var(--space-4);background:var(--ds-bg);flex-shrink:0}.main-header-top{flex-wrap:wrap;align-items:flex-start;gap:.5rem .75rem;display:flex}.system-settings{padding:var(--space-1)var(--space-2);border:1px solid var(--ds-border);background:var(--ds-main-tint);border-radius:10px;align-items:center;gap:.45rem;margin-left:auto;display:inline-flex}.system-settings-label{color:var(--ds-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.system-settings-label svg{display:block}.system-settings-icon-btn{border:1px solid var(--ds-border);width:1.95rem;height:1.95rem;color:var(--ds-muted);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.system-settings-icon-btn:hover{color:var(--ds-text);background:var(--ds-item-hover);border-color:var(--border-hover)}.system-settings-icon-btn:focus-visible{box-shadow:var(--ring-focus);outline:none}.system-settings-icon-btn svg{display:block}.btn-system-settings{box-sizing:border-box;height:34px;padding:0 var(--space-2);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);border-radius:var(--btn-radius);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.btn-system-settings:hover{background:var(--ds-item-hover)}.main-header h1{font-size:var(--text-md);color:var(--ds-text);letter-spacing:-.02em;margin:0;font-weight:400;line-height:1.3}.main-header .mode-pill{font-size:var(--text-xs);color:var(--ds-muted);padding:var(--space-1)var(--space-2);background:var(--ds-main-tint);border:1px solid var(--ds-border);border-radius:999px;align-items:center;font-weight:500;display:inline-flex}.main-header .sub{font-size:var(--text-xs);color:var(--ds-muted);margin-top:var(--space-2);word-break:break-all;padding:var(--space-1)var(--space-2);border-radius:var(--ds-radius-sm);background:var(--ds-log-bg);border:1px solid var(--ds-log-border);max-width:100%;font-family:ui-monospace,monospace}.main-header .sub:empty{display:none}.main-scroll{scrollbar-gutter:stable;flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow-x:hidden;overflow-y:auto}.main-body{flex-direction:column;flex:none;width:100%;display:flex}.chat-thread{width:100%;max-width:800px;padding:var(--space-3)clamp(var(--space-3),2vw,var(--space-6))var(--space-4);box-sizing:border-box;flex:none;margin-left:auto;margin-right:auto;overflow:visible}.chat-placeholder{font-size:var(--text-sm);color:var(--ds-muted);text-align:center;padding:var(--space-8)var(--space-4);max-width:800px;margin:0 auto}@keyframes msgIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.chat-msg{max-width:100%;padding:var(--space-1)var(--space-1);border-radius:var(--ds-radius-sm);line-height:1.55;font-size:var(--text-base);animation:.25s ease-out both msgIn}.chat-streaming{animation:none}.chat-msg-user{white-space:pre-wrap;word-break:break-word}.chat-msg-system{color:#92400e;font-size:var(--text-sm);background:#fffbeb;border:1px solid #fde68a}.dark .chat-msg-system{color:#fbbf24;background:rgba(180,120,0,.12);border-color:rgba(251,191,36,.25)}.chat-msg-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ds-muted);margin:0 var(--space-3).35rem;align-items:center;gap:2px;font-weight:600;display:inline-flex}.schedule-tool-card{border:1px solid color-mix(in srgb,var(--ds-accent)30%,var(--ds-border));border-radius:var(--ds-radius-sm);background:color-mix(in srgb,var(--ds-accent)10%,var(--ds-main-tint));color:var(--ds-text);margin:.375rem 0;padding:.625rem .75rem}.schedule-tool-card.is-fired{opacity:.82}.schedule-tool-card.is-error{border-color:color-mix(in srgb,var(--ds-danger)45%,var(--ds-border));background:color-mix(in srgb,var(--ds-danger)10%,var(--ds-main-tint))}.schedule-tool-card-head{font-size:var(--text-sm);align-items:center;gap:.375rem;font-weight:600;display:flex}.schedule-tool-card-id{color:var(--ds-muted);font-family:var(--font-mono);font-size:var(--text-xs);margin-left:auto}.schedule-tool-card-prompt{border-radius:var(--ds-radius-sm);background:color-mix(in srgb,var(--ds-bg)55%,transparent);margin-top:.5rem;padding:.5rem}.schedule-tool-card-prompt-label{color:var(--ds-muted);font-size:var(--text-xs);margin-bottom:.125rem}.schedule-tool-card-prompt-body{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);font-size:var(--text-sm)}.schedule-tool-card-meta{color:var(--ds-muted);font-size:var(--text-xs);flex-wrap:wrap;gap:.375rem .75rem;margin-top:.5rem;display:flex}.schedule-tool-card-meta em{color:var(--ds-text);font-style:normal}.schedule-tool-card-error{border-radius:var(--ds-radius-sm);background:color-mix(in srgb,var(--ds-danger)12%,transparent);color:var(--ds-danger);font-size:var(--text-sm);margin-top:.5rem;padding:.5rem}.scheduled-turn{margin:.875rem 0}.scheduled-turn-divider{color:var(--ds-muted);font-size:var(--text-xs);align-items:center;gap:.5rem;display:flex}.scheduled-turn-divider:before,.scheduled-turn-divider:after{content:"";border-top:1px dashed color-mix(in srgb,var(--border-default)30%,var(--border-hover));flex:1;height:1px}.scheduled-turn-divider em{font-style:normal}.scheduled-turn-task-id{color:var(--ds-muted);font-family:var(--font-mono)}.scheduled-turn-dispatch{border-radius:var(--ds-radius-sm);background:color-mix(in srgb,var(--border-light)8%,var(--ds-border));margin:.5rem 0 .75rem;padding:.5rem .75rem}.scheduled-turn-dispatch-head{color:var(--ds-muted);font-size:var(--text-xs);align-items:center;gap:.25rem;margin-bottom:.25rem;font-weight:600;display:flex}.scheduled-turn-dispatch-body{white-space:pre-wrap;word-break:break-word;color:var(--ds-text);font-family:var(--font-mono);font-size:var(--text-sm)}.scheduled-turn-body{flex-direction:column;gap:.75rem;display:flex}.chat-streaming .stream-pulse{display:none}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.stream-cursor{background:var(--ds-accent);border-radius:6px;flex-shrink:0;width:6px;height:6px;animation:1s ease-in-out infinite cursorBlink;display:inline-block}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes streamDot{0%,to{opacity:.35}50%{opacity:1}}.loading-sweep{background:linear-gradient(90deg,#555 0%,#555 40%,#fff 50%,#555 60%,#555 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:2s linear infinite sweep}@keyframes sweep{0%{background-position:100% 0}to{background-position:-100% 0}}details.raw-log-drawer{border-top:1px solid var(--ds-border);background:var(--ds-bg);flex-shrink:0}details.raw-log-drawer>summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:var(--space-2)clamp(var(--space-3),2vw,var(--space-6));font-size:var(--text-xs);color:var(--ds-muted);background:var(--ds-main-tint);justify-content:space-between;align-items:center;font-weight:500;list-style:none;display:flex}details.raw-log-drawer>summary::-webkit-details-marker{display:none}details.raw-log-drawer>summary:hover{color:var(--ds-text)}details.raw-log-drawer[open]>summary{border-bottom:1px solid var(--ds-border)}.raw-log-chevron{font-size:var(--text-xs);transition:transform .2s}details.raw-log-drawer[open] .raw-log-chevron{transform:rotate(-180deg)}.raw-log-body{flex-direction:column;max-height:min(32vh,320px);display:flex;overflow:hidden}#log{min-height:0;max-height:min(32vh,320px);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word;padding:var(--space-3)clamp(var(--space-3),2vw,var(--space-6));background:var(--ds-log-bg);color:#374151;border:none;flex:1;margin:0;line-height:1.45;overflow:auto}label.f{font-size:var(--text-xs);color:var(--ds-muted);margin-bottom:var(--space-1);display:block}.ws-config-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#status.conn-status{font-size:var(--text-sm);color:var(--ds-muted);line-height:1.45}#status.conn-status.ready{color:var(--ds-ok);font-weight:500}#status.conn-status.err{color:var(--ds-danger);font-weight:500}.api-retry-banner{padding:var(--space-2)var(--space-3);background:#fff8e8;border:1px solid #f1d7a1;border-radius:10px}.api-retry-banner-text{font-size:var(--text-xs);color:#8a5a11}.api-retry-banner-progress{background:rgba(138,90,17,.18);border-radius:999px;height:4px;margin-top:6px;overflow:hidden}.api-retry-banner-progress>span{background:#d69a2c;height:100%;display:block}.api-retry-failed{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:#fff4f4;border:1px solid #f3c5c5;border-radius:10px;display:flex}.api-retry-failed-text{font-size:var(--text-xs);color:#b13c3c}.api-retry-failed-btn{border-radius:var(--btn-radius);background:var(--surface-1);color:#8d2f2f;font-size:var(--text-xs);padding:var(--space-2)var(--space-3);border:1px solid #e4b1b1;line-height:1}.api-retry-failed-btn:hover{background:#fff7f7}.prompt-session-info{font-size:var(--text-xs);color:var(--ds-muted);white-space:nowrap;text-overflow:ellipsis;text-align:right;flex-shrink:1;min-width:0;max-width:62%;font-family:ui-monospace,monospace;overflow:hidden}.composer{padding:var(--space-2)0 var(--space-3);background:var(--ds-main-tint);flex-shrink:0}.composer-inner{width:100%;padding:0 clamp(var(--space-3),2vw,var(--space-6));margin:0}.composer-tool-files-inline{border:1px solid var(--border-default);background:var(--surface-2);border-bottom:none;border-radius:8px 8px 0 0;margin:0 .95rem;overflow:hidden}.composer-tool-files-inline-head{padding:var(--space-1)var(--space-3)0;font-size:var(--text-xs);color:var(--ds-text);align-items:center;gap:.35rem;display:flex}.composer-tool-files-inline-chevron{color:var(--ds-muted);transition:transform .28s;display:inline-flex}.composer-tool-files-inline-chevron.is-expanded{transform:rotate(90deg)}.composer-tool-files-inline-panel-wrap{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.composer-tool-files-inline.is-expanded .composer-tool-files-inline-panel-wrap{grid-template-rows:1fr}.composer-tool-files-inline-panel-inner{min-height:0;overflow:hidden}.composer-tool-files-inline-title{font-weight:400}.composer-tool-files-inline-loading{font-size:var(--text-xs);color:var(--ds-muted);margin-left:auto}.composer-tool-files-inline-panel{padding:0 var(--space-2);opacity:0;border-top:1px solid transparent;transition:opacity .22s,padding .28s,border-color .28s}.composer-tool-files-inline.is-expanded .composer-tool-files-inline-panel{border-top-color:var(--ds-border);padding:var(--space-2)var(--space-2);opacity:1}.composer-tool-files-inline-list{flex-direction:column;gap:.35rem;max-height:220px;display:flex;overflow-y:auto}.composer-tool-files-inline-item{padding:var(--space-2)var(--space-2)0;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.composer-tool-files-inline-main{align-items:baseline;gap:.45rem;min-width:0;display:flex}.composer-tool-files-inline-name{max-width:100%;font-size:var(--text-xs);color:var(--ds-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.composer-tool-files-inline-size{font-size:var(--text-xs);color:var(--ds-muted);flex-shrink:0}.composer-tool-files-inline-download{border-radius:var(--btn-radius);width:28px;height:28px;color:var(--ds-text);background:var(--surface-1);justify-content:center;align-items:center;display:inline-flex}.composer-tool-files-inline-download:hover{background:var(--ds-item-hover)}.composer-tool-files-inline-state{padding:var(--space-1)var(--space-1);font-size:var(--text-sm);color:var(--ds-muted)}.composer-tool-files-inline-state.is-error{color:var(--ds-danger)}.composer-card{border-color:var(--border-hover);background:var(--surface-1);padding:var(--space-3);border-radius:20px;transition:box-shadow .2s,border-color .2s}.composer-card.is-draft-session{min-height:100px}.composer-draft-title{margin-bottom:var(--space-2);padding-left:var(--space-1);font-size:var(--text-xl);color:var(--ds-text);font-weight:600;line-height:1.2}.composer-card:focus-within{border-color:var(--border-default)}.composer-card label.f{margin-bottom:var(--space-1);padding-left:var(--space-2);color:#4b5563;font-weight:500}.composer-input-shell{align-items:center;gap:.4rem;display:flex}.composer-card textarea#prompt{resize:none;min-height:30px;max-height:180px;font:inherit;font-size:var(--text-base);padding:var(--space-1)var(--space-1);color:var(--ds-text);background:0 0;border:none;border-radius:0;outline:none;flex:1;line-height:1.4}.composer-card textarea#prompt::placeholder{color:var(--text-placeholder)}.composer-tools-left{flex:1;align-items:center;gap:.35rem;min-width:0;display:flex}.composer-tools-right{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.composer-model-field{width:180px;position:relative}.composer-model-input{box-sizing:border-box;width:180px;height:2.2rem;padding:0 var(--space-2);border:1px solid var(--ds-border);background:var(--ds-main-tint);color:var(--ds-text);font-size:var(--text-xs);border-radius:8px;outline:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.composer-model-input::placeholder{color:var(--text-placeholder);font-family:inherit}.composer-allow-ask-select,.composer-mode-select{box-sizing:border-box;width:78px;height:2.2rem;padding:0 var(--space-2);border:1px solid var(--ds-border);background:var(--ds-main-tint);color:var(--ds-text);font-size:var(--text-xs);border-radius:8px;outline:none;transition:border-color .12s,background-color .12s,box-shadow .12s}.composer-mode-select{width:140px}.composer-allow-ask-select:hover,.composer-mode-select:hover{border-color:var(--border-hover);background:var(--surface-2)}.composer-allow-ask-select[data-state=open],.composer-mode-select[data-state=open]{border-color:var(--border-focus);box-shadow:var(--ring-focus-sm)}.composer-allow-ask-select:focus-visible{border-color:var(--border-focus);box-shadow:var(--ring-focus-sm)}.composer-mode-select:focus-visible{border-color:var(--border-focus);box-shadow:var(--ring-focus-sm)}.composer-model-suggestions{padding:var(--space-1)0;border:1px solid var(--ds-border);background:var(--ds-bg);max-height:min(220px,32vh);box-shadow:var(--shadow-md);z-index:50;border-radius:10px;margin:0 0 4px;list-style:none;display:none;position:absolute;bottom:100%;left:0;right:0;overflow:auto}.composer-model-suggestions.is-open{display:block}.composer-model-suggestions li{padding:var(--space-2)var(--space-2);font-size:var(--text-xs);cursor:pointer;color:var(--ds-text);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:hidden}.composer-model-suggestions li:hover,.composer-model-suggestions li.is-active{background:var(--ds-item-active);color:var(--ds-accent)}.composer-model-suggestions .composer-model-suggest-empty{color:var(--ds-muted);cursor:default;font-family:inherit}.composer-model-suggestions .composer-model-suggest-empty:hover{color:var(--ds-muted);background:0 0}.composer-plus-btn,.composer-icon-btn{color:#3f3f46;cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.composer-plus-btn:hover{background:var(--surface-3)}.composer-icon-btn:hover:not(:disabled){background:0 0}.composer-icon-btn:disabled{opacity:.4;cursor:not-allowed}.btn-send-circle{background:var(--ds-accent);width:2rem;height:2rem;color:var(--surface-1);font-size:var(--text-lg);cursor:pointer;box-shadow:var(--shadow-send);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.btn-send-circle:hover:not(:disabled){background:var(--ds-accent-hover)}.btn-send-circle:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-abort-text{padding:var(--space-1)var(--space-3);border-radius:var(--btn-radius);color:var(--ds-muted);font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid transparent}.btn-abort-text:hover:not(:disabled){color:var(--ds-text);background:var(--ds-sidebar)}.btn-abort-text:disabled{opacity:.4;cursor:not-allowed}.page-footer-note{text-align:center;font-size:var(--text-xs);color:var(--ds-muted);padding:var(--space-2)var(--space-4)0;letter-spacing:.02em}.page-footer-note--compact{font-size:var(--text-xs);padding:var(--space-1)var(--space-3)0;letter-spacing:.01em}.main-scroll-draft{flex:1;min-height:0}.main-body-draft{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.draft-session-hero{min-width:0}.main-header-action-btn{font-size:var(--text-xs);padding:var(--space-1)var(--space-3);border-radius:var(--btn-radius);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-muted);cursor:not-allowed;opacity:.65}.composer-draft-pill{border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-sm);padding:var(--space-1)var(--space-3);cursor:pointer;border-radius:999px;transition:background .15s,border-color .15s}.composer-draft-pill:hover{background:var(--ds-item-hover);border-color:var(--border-hover)}.drawer-bind-block{margin-bottom:var(--space-2);border-bottom:1px solid var(--ds-border);font-size:var(--text-xs);padding-bottom:.5rem}.drawer-bind-block--solo{border-bottom:none;margin-bottom:0;padding-bottom:0}.drawer-bind-head{justify-content:space-between;align-items:center;gap:.35rem;display:flex}.drawer-bind-head.sidebar-drawer-meta{font-size:var(--text-xs);padding-top:.15rem}.drawer-bind-head strong{color:var(--ds-text);font-weight:600}.agent-bind-model-input{box-sizing:border-box;width:100%;padding:var(--space-1);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-xs);border-radius:2px}.btn-bind-save{margin-top:var(--space-1);width:100%;padding:var(--space-2)var(--space-1);border-radius:var(--btn-radius-sm);border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text);font-size:var(--text-xs);cursor:pointer}.btn-bind-save:hover:not(:disabled){background:var(--ds-main-tint)}.btn-bind-save:disabled{opacity:.5;cursor:not-allowed}.agent-picker-search{box-sizing:border-box;width:100%;padding:var(--space-2);border:1px solid var(--ds-border);font-size:var(--text-xs);border-radius:8px}.agent-picker-scroll{max-height:min(42vh,280px);padding:var(--space-1)var(--space-3);overflow:auto}.agent-picker-item{padding:var(--space-3)0;border-bottom:1px solid rgba(92,91,91,.06);align-items:flex-start;gap:.45rem;display:flex}.agent-picker-item:last-child{border-bottom:none}.agent-picker-item label{cursor:pointer;font-size:var(--text-xs);flex:1;line-height:1.35}.status-dot{border-radius:9999px;flex-shrink:0;width:4px;height:4px;display:inline-block;position:relative}.net-status-online{color:var(--ds-ok);background-color:var(--ds-ok)}.net-status-online:after{border:1px solid var(--ds-ok);content:"";border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite antStatusProcessing;display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.net-status-error{color:#9b4040;background-color:#9b4040}.net-status-idle{color:#e0e0e0;background-color:#e0e0e0}@keyframes antStatusProcessing{0%{opacity:.9;transform:translate(-50%,-50%)scale(.8)}70%{opacity:.2;transform:translate(-50%,-50%)scale(1.2)}to{opacity:0;transform:translate(-50%,-50%)scale(1.2)}}.tool-running-gradient{color:transparent;background-image:linear-gradient(90deg,#343d52 0%,#6b7280 35%,#343d52 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:1.4s linear infinite toolRunningGradientShift}@keyframes toolRunningGradientShift{0%{background-position:0%}to{background-position:200%}}.type-badge{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:2px;padding:1px 6px;font-weight:500}.badge-connect{color:var(--red);background:rgba(255,95,95,.15)}.badge-session{color:var(--blue);background:rgba(74,158,255,.15)}.badge-messages{color:var(--purple);background:rgba(176,127,255,.15)}.badge-ready{color:var(--green);background:rgba(61,220,132,.15)}.badge-turn{color:var(--amber);background:rgba(255,181,71,.15)}.chat-agent-timeline .agent-timeline-label-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.chat-agent-timeline .agent-timeline-label-hint{font-size:var(--text-xs);color:var(--ds-muted,var(--color-text-tertiary,#6b7280))}.chat-agent-timeline .tag{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:2px 7px;font-weight:500}.chat-agent-timeline .tag-tool{color:#185fa5;background:#e6f1fb}.chat-agent-timeline .tag-text{color:#3b6d11;background:#eaf3de}.chat-agent-timeline .tag-final{color:#854f0b;background:#faeeda}.chat-agent-timeline .agent-timeline-thinking{font-size:var(--text-sm);color:var(--ds-text,var(--color-text-primary,#111));padding:2px 0;line-height:1.75}.chat-agent-timeline .agent-timeline-thinking--final{color:var(--ds-muted,var(--color-text-secondary,#6b7280))}.chat-agent-timeline .agent-timeline-thinking code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);background:var(--ds-surface-2,var(--color-background-secondary,#f3f4f6));color:var(--ds-text,var(--color-text-primary,#111));border-radius:4px;padding:1px 5px}.chat-agent-timeline .agent-timeline-tool-panel{background:var(--ds-bg,var(--color-background-primary,#fff));border:.5px solid rgba(0,0,0,.1);border-radius:8px;overflow:hidden}.chat-agent-timeline .agent-timeline-tool-panel--running{border-color:rgba(34,48,68,.55)}.chat-agent-timeline .agent-timeline-tool-panel--error{border-color:rgba(163,45,45,.45)}.chat-agent-timeline .agent-timeline-tool-panel--done{border-color:rgba(0,0,0,.12)}.chat-agent-timeline .agent-timeline-tool-header{background:var(--ds-surface-2,var(--color-background-secondary,#f5f5f5));width:100%;padding:var(--space-2)var(--space-3);text-align:left;border:0;justify-content:space-between;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;transition:color .15s,background .15s;display:flex}.chat-agent-timeline .agent-timeline-tool-header--running{color:#185fa5;background:#e6f1fb}.chat-agent-timeline .agent-timeline-tool-header--running .agent-timeline-tool-meta,.chat-agent-timeline .agent-timeline-tool-header--running .agent-timeline-tool-calls{color:rgba(24,95,165,.88)}.chat-agent-timeline .agent-timeline-tool-header--error{color:#a32d2d;background:rgba(163,45,45,.08)}.chat-agent-timeline .agent-timeline-tool-header--done{color:#606878;background:rgba(0,0,0,.02)}.chat-agent-timeline .agent-timeline-tool-header .agent-timeline-tool-title{font-size:var(--text-sm);font-weight:500}.chat-agent-timeline .agent-timeline-tool-header .agent-timeline-tool-meta{font-size:var(--text-xs);color:#343d52}.chat-agent-timeline .agent-timeline-tool-header .agent-timeline-tool-calls{font-size:var(--text-xs);color:#343d52;flex-shrink:0}.chat-agent-timeline .agent-timeline-dot-tool{border-color:#185fa5}.chat-agent-timeline .agent-timeline-dot-text{border-color:#3b6d11}.chat-agent-timeline .agent-timeline-dot-final{border-color:#854f0b}.chat-agent-timeline .agent-timeline-dot-blocked{border:1.5px solid var(--ds-accent-hover);color:var(--ds-accent-hover);font-size:10px;animation:1.2s ease-in-out infinite agent-timeline-dot-blink}@keyframes agent-timeline-dot-blink{0%,to{opacity:1}50%{opacity:.2}}.tr-ok{border:1.4px solid #3b6d11;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:13px;height:13px;display:flex}.tr-ok svg{width:7px;height:7px}.tr-err{border:1.4px solid #a32d2d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:13px;height:13px;display:flex}.tr-err svg{width:7px;height:7px}.agent-timeline-summary-bar{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;width:100%;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:flex}.agent-timeline-summary-bar:hover .agent-timeline-summary-title{color:var(--ds-muted);background:var(--ds-item-active)}.agent-timeline-summary-title{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:var(--text-sm);color:var(--ds-muted);cursor:pointer;flex-shrink:0;font-weight:500;overflow:hidden}.agent-timeline-summary-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-xs);color:var(--ds-text);flex:1;overflow:hidden}.agent-timeline-summary-detail:hover{color:var(--ds-muted)}.agent-timeline-summary-count{font-size:var(--text-xs);color:var(--ds-text);flex-shrink:0}.agent-timeline-summary-arrow{color:var(--ds-muted);flex-shrink:0}.slideHighlight:after{content:"";background:linear-gradient(90deg,transparent,var(--highlight),transparent);filter:blur(8px);pointer-events:none;width:40%;height:100%;animation:3s ease-in-out infinite slideHighlight;position:absolute;top:0;left:0}@keyframes slideHighlight{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes agent-block-dot-pulse{50%{opacity:.45}}.agent-block-status-dot--pulse{animation:1.2s ease-in-out infinite agent-block-dot-pulse}.main.settings-main{padding:0}.side-nav-shell{flex:1;min-width:0;min-height:0;display:flex}.side-nav{border-right:1px solid var(--ds-border);width:220px;padding:var(--space-4)var(--space-2);background:var(--ds-bg);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.side-nav-title{font-size:var(--text-md);color:var(--ds-text);padding:var(--space-1)var(--space-3);margin-bottom:var(--space-2);letter-spacing:-.01em;font-weight:600}.side-nav-groups{gap:var(--space-4);flex-direction:column;flex:1;display:flex}.side-nav-group{flex-direction:column;gap:2px;display:flex}.side-nav-item{align-items:center;gap:var(--space-2);width:100%;height:36px;padding:var(--space-2)var(--space-3);border-radius:var(--ds-radius-sm);font-size:var(--text-base);color:var(--ds-text);text-align:left;cursor:pointer;background:0 0;border:none;transition:background .15s;display:flex}.side-nav-item:hover{background:var(--ds-item-active);color:var(--ds-text)}.side-nav-item:focus-visible{box-shadow:0 0 0 2px var(--ds-accent);outline:none}.side-nav-item.is-active{background:var(--ds-border);font-weight:600}.side-nav-item-icon{color:var(--ds-muted);font-size:var(--text-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.is-active .side-nav-item-icon{color:var(--ds-accent)}.side-nav-item-label{truncate:true;flex:1;min-width:0}.side-nav-bottom{padding-top:var(--space-2);border-top:1px solid var(--ds-border);flex-direction:column;gap:2px;margin-top:auto;display:flex}.side-nav-content{min-width:0;min-height:0;padding:clamp(var(--space-4),3vw,var(--space-6));flex-direction:column;flex:1;display:flex;overflow-y:auto}.icon-tooltip-btn:disabled,.icon-tooltip-btn[disabled]{color:var(--ds-icon-btn-disabled);cursor:not-allowed}.icon-tooltip-btn:disabled:hover,.icon-tooltip-btn[disabled]:hover{color:var(--ds-icon-btn-disabled)}.icon-tooltip-btn:disabled svg,.icon-tooltip-btn[disabled] svg{color:var(--ds-icon-btn-disabled)!important;stroke:var(--ds-icon-btn-disabled)!important}.icon-tooltip-btn:disabled svg path,.icon-tooltip-btn[disabled] svg path{fill:none!important;stroke:var(--ds-icon-btn-disabled)!important}
2
+ @property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@theme inline{--animation-delay-0: 0s; --animation-delay-75: 75ms; --animation-delay-100: .1s; --animation-delay-150: .15s; --animation-delay-200: .2s; --animation-delay-300: .3s; --animation-delay-500: .5s; --animation-delay-700: .7s; --animation-delay-1000: 1s; --animation-repeat-0: 0; --animation-repeat-1: 1; --animation-repeat-infinite: infinite; --animation-direction-normal: normal; --animation-direction-reverse: reverse; --animation-direction-alternate: alternate; --animation-direction-alternate-reverse: alternate-reverse; --animation-fill-mode-none: none; --animation-fill-mode-forwards: forwards; --animation-fill-mode-backwards: backwards; --animation-fill-mode-both: both; --percentage-0: 0; --percentage-5: .05; --percentage-10: .1; --percentage-15: .15; --percentage-20: .2; --percentage-25: .25; --percentage-30: .3; --percentage-35: .35; --percentage-40: .4; --percentage-45: .45; --percentage-50: .5; --percentage-55: .55; --percentage-60: .6; --percentage-65: .65; --percentage-70: .7; --percentage-75: .75; --percentage-80: .8; --percentage-85: .85; --percentage-90: .9; --percentage-95: .95; --percentage-100: 1; --percentage-translate-full: 1; --animate-in: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-out: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes enter { from { opacity: var(--tw-enter-opacity,1); transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0)); filter: blur(var(--tw-enter-blur,0)); }}@keyframes exit { to { opacity: var(--tw-exit-opacity,1); transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0)); filter: blur(var(--tw-exit-blur,0)); }}--animate-accordion-down: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-accordion-up: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-down: collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-up: collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }to { height: 0; }}@keyframes collapsible-down { from { height: 0; }to { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }}@keyframes collapsible-up { from { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }to { height: 0; }}--animate-caret-blink: caret-blink 1.25s ease-out infinite; @keyframes caret-blink { 0%,70%,100% { opacity: 1; }20%,50% { opacity: 0; }}}@utility animation-duration-*{--tw-animation-duration: calc(--value(number)*1ms); --tw-animation-duration: --value(--animation-duration-*,[duration],"initial",[*]); animation-duration: calc(--value(number)*1ms); animation-duration: --value(--animation-duration-*,[duration],"initial",[*]);}@utility delay-*{animation-delay: calc(--value(number)*1ms); animation-delay: --value(--animation-delay-*,[duration],"initial",[*]); --tw-animation-delay: calc(--value(number)*1ms); --tw-animation-delay: --value(--animation-delay-*,[duration],"initial",[*]);}@utility repeat-*{animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]); --tw-animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]);}@utility direction-*{animation-direction: --value(--animation-direction-*,"initial",[*]); --tw-animation-direction: --value(--animation-direction-*,"initial",[*]);}@utility fill-mode-*{animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]); --tw-animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]);}@utility running{animation-play-state: running;}@utility paused{animation-play-state: paused;}@utility play-state-*{animation-play-state: --value("initial",[*]);}@utility blur-in{--tw-enter-blur: 20px;}@utility blur-in-*{--tw-enter-blur: calc(--value(number)*1px); --tw-enter-blur: --value(--blur-*,[*]);}@utility blur-out{--tw-exit-blur: 20px;}@utility blur-out-*{--tw-exit-blur: calc(--value(number)*1px); --tw-exit-blur: --value(--blur-*,[*]);}@utility fade-in{--tw-enter-opacity: 0;}@utility fade-in-*{--tw-enter-opacity: calc(--value(number)/100); --tw-enter-opacity: --value(--percentage-*,[*]);}@utility fade-out{--tw-exit-opacity: 0;}@utility fade-out-*{--tw-exit-opacity: calc(--value(number)/100); --tw-exit-opacity: --value(--percentage-*,[*]);}@utility zoom-in{--tw-enter-scale: 0;}@utility zoom-in-*{--tw-enter-scale: calc(--value(number)*1%); --tw-enter-scale: calc(--value(ratio)); --tw-enter-scale: --value(--percentage-*,[*]);}@utility -zoom-in-*{--tw-enter-scale: calc(--value(number)*-1%); --tw-enter-scale: calc(--value(ratio)*-1); --tw-enter-scale: --value(--percentage-*,[*]);}@utility zoom-out{--tw-exit-scale: 0;}@utility zoom-out-*{--tw-exit-scale: calc(--value(number)*1%); --tw-exit-scale: calc(--value(ratio)); --tw-exit-scale: --value(--percentage-*,[*]);}@utility -zoom-out-*{--tw-exit-scale: calc(--value(number)*-1%); --tw-exit-scale: calc(--value(ratio)*-1); --tw-exit-scale: --value(--percentage-*,[*]);}@utility spin-in{--tw-enter-rotate: 30deg;}@utility spin-in-*{--tw-enter-rotate: calc(--value(number)*1deg); --tw-enter-rotate: calc(--value(ratio)*360deg); --tw-enter-rotate: --value(--rotate-*,[*]);}@utility -spin-in{--tw-enter-rotate: -30deg;}@utility -spin-in-*{--tw-enter-rotate: calc(--value(number)*-1deg); --tw-enter-rotate: calc(--value(ratio)*-360deg); --tw-enter-rotate: --value(--rotate-*,[*]);}@utility spin-out{--tw-exit-rotate: 30deg;}@utility spin-out-*{--tw-exit-rotate: calc(--value(number)*1deg); --tw-exit-rotate: calc(--value(ratio)*360deg); --tw-exit-rotate: --value(--rotate-*,[*]);}@utility -spin-out{--tw-exit-rotate: -30deg;}@utility -spin-out-*{--tw-exit-rotate: calc(--value(number)*-1deg); --tw-exit-rotate: calc(--value(ratio)*-360deg); --tw-exit-rotate: --value(--rotate-*,[*]);}@utility slide-in-from-top{--tw-enter-translate-y: -100%;}@utility slide-in-from-top-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-y: calc(--value(ratio)*-100%); --tw-enter-translate-y: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-in-from-bottom{--tw-enter-translate-y: 100%;}@utility slide-in-from-bottom-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-y: calc(--value(ratio)*100%); --tw-enter-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-left{--tw-enter-translate-x: -100%;}@utility slide-in-from-left-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-in-from-right{--tw-enter-translate-x: 100%;}@utility slide-in-from-right-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-start{&:dir(ltr){ --tw-enter-translate-x: -100%; }&:dir(rtl){ --tw-enter-translate-x: 100%; }}@utility slide-in-from-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-in-from-end{&:dir(ltr){ --tw-enter-translate-x: 100%; }&:dir(rtl){ --tw-enter-translate-x: -100%; }}@utility slide-in-from-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }}@utility slide-out-to-top{--tw-exit-translate-y: -100%;}@utility slide-out-to-top-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-y: calc(--value(ratio)*-100%); --tw-exit-translate-y: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-out-to-bottom{--tw-exit-translate-y: 100%;}@utility slide-out-to-bottom-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-y: calc(--value(ratio)*100%); --tw-exit-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-left{--tw-exit-translate-x: -100%;}@utility slide-out-to-left-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-out-to-right{--tw-exit-translate-x: 100%;}@utility slide-out-to-right-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-start{&:dir(ltr){ --tw-exit-translate-x: -100%; }&:dir(rtl){ --tw-exit-translate-x: 100%; }}@utility slide-out-to-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-out-to-end{&:dir(ltr){ --tw-exit-translate-x: 100%; }&:dir(rtl){ --tw-exit-translate-x: -100%; }}@utility slide-out-to-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }}
3
+ @theme inline{@keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); }to { height: 0; }}}@custom-variant data-open{&:where([data-state="open"]),&:where([data-open]:not([data-open="false"])){ @slot; }}@custom-variant data-closed{&:where([data-state="closed"]),&:where([data-closed]:not([data-closed="false"])){ @slot; }}@custom-variant data-checked{&:where([data-state="checked"]),&:where([data-checked]:not([data-checked="false"])){ @slot; }}@custom-variant data-unchecked{&:where([data-state="unchecked"]),&:where([data-unchecked]:not([data-unchecked="false"])){ @slot; }}@custom-variant data-selected{&:where([data-selected="true"]){ @slot; }}@custom-variant data-disabled{&:where([data-disabled="true"]),&:where([data-disabled]:not([data-disabled="false"])){ @slot; }}@custom-variant data-active{&:where([data-state="active"]),&:where([data-active]:not([data-active="false"])){ @slot; }}@custom-variant data-horizontal{&:where([data-orientation="horizontal"]){ @slot; }}@custom-variant data-vertical{&:where([data-orientation="vertical"]){ @slot; }}@utility no-scrollbar{-ms-overflow-style: none; scrollbar-width: none;&::-webkit-scrollbar { display: none; }}
4
+ @font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../media/KaTeX_AMS-Regular.c30af439.woff2)format("woff2"),url(../media/KaTeX_AMS-Regular.e6a3cada.woff)format("woff"),url(../media/KaTeX_AMS-Regular.892f691b.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../media/KaTeX_Caligraphic-Bold.db991531.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Bold.2f97783e.woff)format("woff"),url(../media/KaTeX_Caligraphic-Bold.a36b8125.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../media/KaTeX_Caligraphic-Regular.c20eee08.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Regular.2b13f013.woff)format("woff"),url(../media/KaTeX_Caligraphic-Regular.7c50032c.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../media/KaTeX_Fraktur-Bold.d514bd28.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Bold.5fa2f5e4.woff)format("woff"),url(../media/KaTeX_Fraktur-Bold.e311399d.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../media/KaTeX_Fraktur-Regular.5d62e468.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Regular.18139813.woff)format("woff"),url(../media/KaTeX_Fraktur-Regular.2a73476d.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../media/KaTeX_Main-Bold.f4e2828d.woff2)format("woff2"),url(../media/KaTeX_Main-Bold.c24b5ba7.woff)format("woff"),url(../media/KaTeX_Main-Bold.6d137c77.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../media/KaTeX_Main-BoldItalic.f1884480.woff2)format("woff2"),url(../media/KaTeX_Main-BoldItalic.079b33ae.woff)format("woff"),url(../media/KaTeX_Main-BoldItalic.c003d3ec.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../media/KaTeX_Main-Italic.a3746929.woff2)format("woff2"),url(../media/KaTeX_Main-Italic.26a3619b.woff)format("woff"),url(../media/KaTeX_Main-Italic.61da3e93.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../media/KaTeX_Main-Regular.12644167.woff2)format("woff2"),url(../media/KaTeX_Main-Regular.d511f158.woff)format("woff"),url(../media/KaTeX_Main-Regular.876b86ad.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../media/KaTeX_Math-BoldItalic.5c6a6a93.woff2)format("woff2"),url(../media/KaTeX_Math-BoldItalic.ad4dffd5.woff)format("woff"),url(../media/KaTeX_Math-BoldItalic.e73b3bf0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../media/KaTeX_Math-Italic.d8564edb.woff2)format("woff2"),url(../media/KaTeX_Math-Italic.1cd2c488.woff)format("woff"),url(../media/KaTeX_Math-Italic.03974bc4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(../media/KaTeX_SansSerif-Bold.a03f9428.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Bold.ff51ef5c.woff)format("woff"),url(../media/KaTeX_SansSerif-Bold.d4608ed5.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(../media/KaTeX_SansSerif-Italic.9245afda.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Italic.8ed740d6.woff)format("woff"),url(../media/KaTeX_SansSerif-Italic.c0b22b1e.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(../media/KaTeX_SansSerif-Regular.128c9bc2.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Regular.ee7b0a16.woff)format("woff"),url(../media/KaTeX_SansSerif-Regular.156dbd4e.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../media/KaTeX_Script-Regular.186c7155.woff2)format("woff2"),url(../media/KaTeX_Script-Regular.afc2fd5a.woff)format("woff"),url(../media/KaTeX_Script-Regular.00d9a561.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size1-Regular.4450ef36.woff2)format("woff2"),url(../media/KaTeX_Size1-Regular.e5bf4c74.woff)format("woff"),url(../media/KaTeX_Size1-Regular.9aaff96b.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size2-Regular.6a97527b.woff2)format("woff2"),url(../media/KaTeX_Size2-Regular.8fbd32af.woff)format("woff"),url(../media/KaTeX_Size2-Regular.f11810ed.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size3-Regular.54b7ce9d.woff2)format("woff2"),url(../media/KaTeX_Size3-Regular.45ae8eba.woff)format("woff"),url(../media/KaTeX_Size3-Regular.9812ade2.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size4-Regular.927fc5b9.woff2)format("woff2"),url(../media/KaTeX_Size4-Regular.b211e3d3.woff)format("woff"),url(../media/KaTeX_Size4-Regular.44a4d487.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../media/KaTeX_Typewriter-Regular.ff99d643.woff2)format("woff2"),url(../media/KaTeX_Typewriter-Regular.68b6c3a9.woff)format("woff"),url(../media/KaTeX_Typewriter-Regular.a1a7ff52.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo)")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo)")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,53925,e=>{"use strict";e.s(["ResourceImportDialog",()=>u],53925);var t=e.i(18050),r=e.i(71645),l=e.i(72064),a=e.i(75157),n=e.i(19455);function i(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}function s(e){let{uploadUrl:s,accept:o,disabled:d=!1,multiple:c=!1,maxFileSize:u=0x3200000,autoUpload:f=!1,method:m="POST",transport:p="xhr",fieldName:v="file",headers:b,extraFormData:h,autoRetryTimes:x=0,autoRetryDelayMs:g=800,selectionOnly:y=!1,className:w,emptyTitle:j="点击或拖拽文件到此处",emptyHint:N="支持上传文件",onFilesChange:k,onUploadSuccess:C,onUploadError:R,onValidationError:T}=e,M=r.useId(),E=r.useRef(null),S=r.useRef(new Map),O=r.useRef(new Map),U=r.useRef([]),[D,A]=r.useState(!1),[P,I]=r.useState([]),B=r.useMemo(()=>o?o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean):[],[o]);r.useEffect(()=>{U.current=P,null==k||k(P)},[P,k]),r.useEffect(()=>()=>{for(let e of S.current.values())e.abort();for(let e of O.current.values())e.abort();for(let e of U.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)},[]);let L=r.useCallback((e,t)=>{I(r=>r.map(r=>r.id===e?{...r,...t}:r))},[]),z=r.useCallback(async(e,t)=>{let r=U.current.find(t=>t.id===e);if(!r||d)return;L(e,{status:t>0?"retrying":"uploading",progress:0,error:"",retryCount:t});let l=new FormData;if(h)for(let[e,t]of Object.entries(h))l.append(e,t);l.append(v,r.file);try{let t="";if("fetch"===p){let r=new AbortController;O.current.set(e,r);let a=await fetch(s,{method:m,headers:b,body:l,signal:r.signal}),n=await a.text();try{t=n?JSON.parse(n):""}catch(e){t=n}if(!a.ok)throw Error("上传失败:".concat(a.status," ").concat(a.statusText))}else t=await new Promise((t,r)=>{let a=new XMLHttpRequest;if(S.current.set(e,a),a.open(m,s,!0),b)for(let[e,t]of Object.entries(b))a.setRequestHeader(e,t);a.upload.onprogress=t=>{if(!t.lengthComputable)return;let r=Math.min(100,Math.round(t.loaded/t.total*100));L(e,{progress:r})},a.onerror=()=>r(Error("网络异常,上传失败")),a.onabort=()=>r(Error("__ABORTED__")),a.onload=()=>{a.status>=200&&a.status<300?t(function(e){let t=e.responseText||"";try{return JSON.parse(t)}catch(e){return t}}(a)):r(Error("上传失败:".concat(a.status," ").concat(a.statusText)))},a.send(l)});L(e,{status:"success",progress:100,error:""});let r=U.current.find(t=>t.id===e);r&&(null==C||C(r,t))}catch(a){let r=a instanceof Error?a.message:String(a);if("__ABORTED__"===r)return void L(e,{status:"selected",progress:0,error:""});if(t<x){L(e,{status:"retrying",error:"重试中(".concat(t+1,"/").concat(x,")")}),await new Promise(e=>window.setTimeout(e,g)),await z(e,t+1);return}L(e,{status:"error",error:r});let l=U.current.find(t=>t.id===e);l&&(null==R||R(l,r))}finally{S.current.delete(e),O.current.delete(e)}},[g,x,d,h,v,b,m,R,C,p,L,s]),_=r.useCallback(e=>{z(e,0)},[z]),F=r.useCallback(e=>{var t,r;null==(t=S.current.get(e))||t.abort(),null==(r=O.current.get(e))||r.abort()},[]),V=r.useCallback(()=>{for(let e of U.current)("selected"===e.status||"error"===e.status)&&_(e.id)},[_]),H=r.useCallback(e=>{if(d||!e.length)return;let t=new Set(U.current.map(e=>"".concat(e.file.name,"::").concat(e.file.size))),r=[];for(let l of e){let e="".concat(l.name,"::").concat(l.size);if(!t.has(e)){if(!function(e,t){if(!t.length)return!0;let r=e.name.toLowerCase(),l=(e.type||"").toLowerCase();return t.some(e=>e.startsWith(".")?r.endsWith(e):e.endsWith("/*")?l.startsWith("".concat(e.slice(0,-1))):l===e)}(l,B)){null==T||T("文件类型不支持:".concat(l.name));continue}if(l.size>u){null==T||T("文件过大(最大 ".concat(i(u),"):").concat(l.name));continue}t.add(e),r.push({id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),file:l,status:"selected",progress:0,error:"",retryCount:0,previewUrl:l.type.startsWith("image/")?URL.createObjectURL(l):""})}}if(!r.length)return;let l=c?[...U.current,...r]:[r[r.length-1]];if(!c)for(let e of U.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);if(I(l),f&&!y)for(let e of r)_(e.id)},[B,f,d,u,c,T,y,_]),K=r.useCallback(e=>{let t=e.target.files;t&&(H(Array.from(t)),e.target.value="")},[H]),J=r.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),A(!1),d||H(Array.from(null!=(t=e.dataTransfer.files)?t:[]))},[H,d]);return(0,t.jsxs)("div",{className:(0,a.cn)("flex min-h-0 w-full flex-col gap-3",w),children:[(0,t.jsx)("input",{ref:E,id:M,type:"file",hidden:!0,accept:o,multiple:c,disabled:d,onChange:K}),(0,t.jsxs)("label",{htmlFor:M,onDragOver:e=>{e.preventDefault(),d||A(!0)},onDragLeave:e=>{e.preventDefault(),A(!1)},onDrop:J,className:(0,a.cn)("flex min-h-[124px] cursor-pointer flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-[var(--ds-border)] px-4 py-6 text-center transition-colors hover:border-[var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",D&&"bg-[var(--ds-accent)]/5 border-[var(--ds-accent)]",d&&"cursor-not-allowed opacity-60"),children:[(0,t.jsx)(l.default,{name:"Upload",size:20,className:"text-[var(--ds-muted)]"}),(0,t.jsx)("div",{className:"text-base text-[var(--ds-text)]",children:j}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:N})]}),P.length?(0,t.jsx)("div",{className:"space-y-2",children:P.map(e=>(0,t.jsx)("div",{className:"rounded-md border border-[var(--ds-border)] p-2.5",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-base text-[var(--ds-text)]",children:e.file.name}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:i(e.file.size)}),e.previewUrl?(0,t.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"mt-2 h-14 w-14 rounded object-cover"}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsx)("div",{className:"mt-2 h-1.5 w-full overflow-hidden rounded bg-[var(--ds-main-tint)]",children:(0,t.jsx)("div",{className:"h-full bg-[var(--ds-accent)] transition-all",style:{width:"".concat(e.progress,"%")}})}):null,"error"===e.status?(0,t.jsx)("div",{className:"mt-1 text-sm text-[var(--ds-danger)]",children:e.error||"上传失败"}):null]}),y?null:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:["success"===e.status?(0,t.jsx)(l.default,{name:"CheckCircle2",size:16,className:"text-[var(--ds-accent)]"}):null,"selected"===e.status||"error"===e.status?(0,t.jsxs)(n.Button,{type:"button",size:"sm",variant:"outline",disabled:d,onClick:()=>_(e.id),children:["error"===e.status?(0,t.jsx)(l.default,{name:"RefreshCw",size:14,className:"mr-1"}):null,"error"===e.status?"重试":"上传"]}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsxs)(n.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>F(e.id),children:[(0,t.jsx)(l.default,{name:"XCircle",size:14,className:"mr-1"}),"取消"]}):null]})]})},e.id))}):null,!y&&!f&&P.some(e=>"selected"===e.status||"error"===e.status)?(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(n.Button,{type:"button",size:"sm",onClick:V,disabled:d,children:"上传"})}):null]})}var o=e.i(76639),d=e.i(13354),c=e.i(29250);function u(e){let{open:l,onOpenChange:a,title:i,description:u,uploadUrl:f,resetKey:m}=e,[p,v]=(0,r.useState)(!1),[b,h]=(0,r.useState)(null),x=(0,r.useCallback)(()=>{a(!1),h(null)},[a]),g=(0,r.useCallback)(async()=>{if(!b)return void d.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",b),v(!0);try{let t=await (0,c.bridgeFetch)(f,{method:"POST",body:e}),r=Number(t.imported||0),l=Number(t.overwritten||0),a=Array.isArray(t.rejected)?t.rejected.length:0;d.appToast.success("导入完成:导入 ".concat(r,",覆盖 ").concat(l)+(a>0?",拒绝 ".concat(a):"")),x()}catch(e){d.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{v(!1)}},[x,b,f]);return(0,t.jsx)(o.Dialog,{open:l,onOpenChange:e=>{a(e),e||h(null)},children:(0,t.jsxs)(o.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.DialogTitle,{children:i}),(0,t.jsx)(o.DialogDescription,{children:u})]}),(0,t.jsx)(o.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:x,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(s,{uploadUrl:f,accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:p,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,r;h(null!=(r=null==(t=e[0])?void 0:t.file)?r:null)},onValidationError:e=>{d.appToast.info(e)}},"".concat(l?"open":"closed","-").concat(null!=m?m:f)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(n.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:x,children:"取消"}),(0,t.jsx)(n.Button,{type:"button",size:"lg",variant:"default",disabled:p||null==b,onClick:()=>void g(),children:p?"导入中…":"确定"})]})]})]})})}},94197,e=>{"use strict";e.s(["IconTooltipButton",()=>s]);var t=e.i(18050),r=e.i(72064),l=e.i(19455),a=e.i(46798),n=e.i(75157);let i={muted:"text-[var(--ds-muted)] hover:text-[var(--ds-text)]",danger:"text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800"};function s(e){let{icon:s,label:o,ariaLabel:d,tone:c="muted",disabled:u,className:f,iconClassName:m,onClick:p}=e;return(0,t.jsx)(a.TooltipProvider,{delayDuration:150,children:(0,t.jsxs)(a.Tooltip,{children:[(0,t.jsx)(a.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(l.Button,{type:"button",variant:"plain",size:"icon",className:(0,n.cn)("icon-tooltip-btn","h-4 w-4",i[c],f),disabled:u,"aria-label":null!=d?d:o,onClick:p,children:(0,t.jsx)(r.default,{name:s,size:16,className:m})})}),(0,t.jsx)(a.TooltipContent,{side:"bottom",align:"center",className:"text-base",children:o})]})})}},56708,e=>{"use strict";e.s(["ManageChromeHeaderActions",()=>s,"ManageFeatureChrome",()=>i]);var t=e.i(18050),r=e.i(71645),l=e.i(74080),a=e.i(72064);let n=(0,r.createContext)(null);function i(e){let{title:l,description:i,children:s,showTitle:o=!0,headerIcon:d}=e,[c,u]=(0,r.useState)(null);return(0,t.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-[var(--space-4)] pb-[var(--space-4)]",children:[o?(0,t.jsxs)("div",{className:"manage-page-title-block flex items-center",children:[d&&(0,t.jsx)("div",{className:"mr-3 rounded-md bg-[var(--green-light)] px-4 py-3",children:(0,t.jsx)(a.default,{name:d,size:24,className:"text-[var(--green-dark)]",strokeWidth:1.5})}),(0,t.jsxs)("div",{className:"pt-3",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:l}),(0,t.jsx)("p",{className:"manage-page-desc",children:i})]})]}):null,(0,t.jsx)("div",{ref:u,className:"manage-page-header-actions self-start"})]}),(0,t.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col",children:(0,t.jsx)(n.Provider,{value:c,children:s})})]})}function s(e){let{children:t}=e,a=(0,r.useContext)(n);return(0,r.useSyncExternalStore)(()=>()=>{},()=>!0,()=>!1)&&a?(0,l.createPortal)(t,a):null}},92715,85413,e=>{"use strict";e.s(["AppTable",()=>f],92715);var t=e.i(18050);e.s(["Empty",()=>a],85413);var r=e.i(75157),l=e.i(72064);function a(e){let{text:a="暂无数据",className:n}=e;return(0,t.jsxs)("div",{className:(0,r.cn)("flex min-h-[180px] w-full flex-col items-center justify-center gap-2 py-4 text-base text-[var(--ds-muted)]",n),role:"status","aria-live":"polite",children:[(0,t.jsx)(l.default,{name:"NoData",size:80,color:"var(--ds-muted)",className:"opacity-90"}),(0,t.jsx)("span",{children:a})]})}var n=e.i(71645);let i=n.forwardRef((e,l)=>{let{className:a,...n}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:l,className:(0,r.cn)("w-full caption-bottom border-collapse text-sm",a),...n})})});i.displayName="Table";let s=n.forwardRef((e,l)=>{let{className:a,...n}=e;return(0,t.jsx)("thead",{ref:l,className:(0,r.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",a),...n})});s.displayName="TableHeader";let o=n.forwardRef((e,l)=>{let{className:a,viewportFit:i=!0,viewportReserveBottom:s=16,viewportPaginationReserve:o=0,style:d,...c}=e,u=n.useRef(null),f=n.useCallback(e=>{u.current=e,"function"==typeof l?l(e):l&&(l.current=e)},[l]),[m,p]=n.useState(void 0);return n.useLayoutEffect(()=>{var e,t;if(!i)return void p(void 0);let r=()=>{var e,t;let r=u.current;if(!r)return;let l=r.getBoundingClientRect().top;p(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-l-(s+o))))};r();let l=new ResizeObserver(()=>{r()});try{l.observe(document.body)}catch(e){}return window.addEventListener("resize",r),null==(e=window.visualViewport)||e.addEventListener("resize",r),null==(t=window.visualViewport)||t.addEventListener("scroll",r),window.addEventListener("scroll",r,!0),()=>{var e,t;l.disconnect(),window.removeEventListener("resize",r),null==(e=window.visualViewport)||e.removeEventListener("resize",r),null==(t=window.visualViewport)||t.removeEventListener("scroll",r),window.removeEventListener("scroll",r,!0)}},[i,s,o]),(0,t.jsx)("tbody",{ref:f,className:(0,r.cn)("block overflow-y-auto [&_tr:last-child]:border-b-0 [&_tr:last-child_td]:border-b-0 [&_tr]:table [&_tr]:w-full [&_tr]:table-fixed",a),style:i&&void 0!==m?{...d,maxHeight:m}:d,...c})});o.displayName="TableBody";let d=n.forwardRef((e,l)=>{let{className:a,hoverable:n=!0,...i}=e;return(0,t.jsx)("tr",{ref:l,className:(0,r.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",n&&"group/table-row",a),...i})});d.displayName="TableRow";let c=n.forwardRef((e,l)=>{let{className:a,...n}=e;return(0,t.jsx)("th",{ref:l,className:(0,r.cn)("h-10 border-b border-[var(--border-subtle)] bg-[var(--surface-2)] px-3 text-left align-middle text-[14px] font-medium !text-[var(--ds-text)] text-muted-foreground",a),...n})});c.displayName="TableHead";let u=n.forwardRef((e,l)=>{let{className:a,...n}=e;return(0,t.jsx)("td",{ref:l,className:(0,r.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle text-base transition-colors group-has-[td:hover]/table-row:!bg-[var(--ds-item-hover)]",a),...n})});function f(e){let{rows:l,columns:n,getRowKey:f,className:m,rowClassName:p,headerRowClassName:v,emptyText:b,emptyNode:h,bodyProps:x}=e;return(0,t.jsx)("div",{className:(0,r.cn)("overflow-hidden border border-[var(--ds-border)]",m),children:(0,t.jsxs)(i,{children:[(0,t.jsx)(s,{children:(0,t.jsx)(d,{className:(0,r.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",v),children:n.map(e=>(0,t.jsx)(c,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(o,{...x,children:l.length?l.map(e=>(0,t.jsx)(d,{className:"function"==typeof p?p(e):p,children:n.map(r=>(0,t.jsx)(u,{className:r.cellClassName,children:r.render(e)},r.key))},f(e))):(0,t.jsx)(d,{hoverable:!1,children:(0,t.jsx)(u,{colSpan:n.length,className:"py-6",children:null!=h?h:(0,t.jsx)(a,{text:b})})})})]})})}u.displayName="TableCell"},62427,e=>{"use strict";e.s(["clearRuntimeMcpItemConfig",()=>j,"deleteRuntimeMcp",()=>m,"deleteRuntimeSkill",()=>N,"deleteRuntimeTool",()=>f,"exportRuntimeMcpUrl",()=>v,"exportRuntimeSkillUrl",()=>k,"exportRuntimeToolUrl",()=>p,"importRuntimeMcp",()=>h,"importRuntimeTool",()=>b,"installCloudSkill",()=>R,"listAgentTeams",()=>d,"listBaseSkills",()=>n,"listCloudSkillCatalog",()=>C,"listInstalledSkills",()=>i,"listInstalledTools",()=>a,"listMcpServers",()=>l,"listRuntimeMcpPackages",()=>u,"listRuntimeTools",()=>c,"loadBaseSkillMd",()=>s,"loadRemoteMcpJson",()=>x,"loadRuntimeMcpItemConfig",()=>y,"saveBaseSkillMd",()=>o,"saveRemoteMcpJson",()=>g,"saveRuntimeMcpItemConfig",()=>w]);var t=e.i(29250),r=e.i(36845);async function l(e,l,a){let n=await (0,t.get)((0,r.buildMcpServersListUrl)(e,l,a));return{servers:Array.isArray(n.servers)?n.servers:[]}}async function a(e,l,a){let n=await (0,t.get)((0,r.buildToolInstalledListUrl)(e,l,a));return{tools:Array.isArray(n.tools)?n.tools:[]}}async function n(e,l,a){let n=await (0,t.get)((0,r.buildSkillBaseListUrl)(e,l,a));return{skills:Array.isArray(n.skills)?n.skills:[]}}async function i(e,l,a){let n=await (0,t.get)((0,r.buildSkillInstalledListUrl)(e,l,a));return{skills:Array.isArray(n.skills)?n.skills:[]}}async function s(e,l,a,n){return(0,t.get)((0,r.buildBaseSkillMdUrl)(e,l,a,n))}async function o(e,l,a,n,i){await (0,t.put)((0,r.buildBaseSkillMdUrl)(e,l,a,n),{content:i})}async function d(e,l,a){let n=await (0,t.get)((0,r.buildAgentTeamsListUrl)(e,l,a));return{teamAgentTypes:Array.isArray(n.teamAgentTypes)?n.teamAgentTypes:[],agentTeams:Array.isArray(n.agentTeams)?n.agentTeams:[]}}async function c(e,l,a){let n=await (0,t.get)((0,r.buildToolsRuntimeFilesUrl)(e,l,a));return{runtimeToolsDir:"string"==typeof n.runtimeToolsDir?n.runtimeToolsDir:"",items:Array.isArray(n.items)?n.items.filter(e=>!!(e&&e.id)):[]}}async function u(e,l,a){let n=await (0,t.get)((0,r.buildMcpRuntimeFilesUrl)(e,l,a));return{mcpRuntimeDir:"string"==typeof n.mcpRuntimeDir?n.mcpRuntimeDir:"",items:Array.isArray(n.items)?n.items.filter(e=>!!(e&&e.id)):[]}}async function f(e,l,a,n){return(0,t.del)((0,r.buildToolsRuntimeDeleteUrl)(e,l,a,n))}async function m(e,l,a,n){return(0,t.del)((0,r.buildMcpRuntimeDeleteUrl)(e,l,a,n))}function p(e,t,l,a){return(0,r.buildToolsRuntimeExportUrl)(e,t,l,a)}function v(e,t,l,a){return(0,r.buildMcpRuntimeExportUrl)(e,t,l,a)}async function b(e,l,a,n){let i=new FormData;return i.append("file",n),(0,t.post)((0,r.buildToolsRuntimeImportUrl)(e,l,a),i,{type:"file"})}async function h(e,l,a,n){let i=new FormData;return i.append("file",n),(0,t.post)((0,r.buildMcpRuntimeImportUrl)(e,l,a),i,{type:"file"})}async function x(e,l,a){return(0,t.get)((0,r.buildRemoteMcpJsonUrl)(e,l,a))}async function g(e,l,a,n){await (0,t.post)((0,r.buildRemoteMcpJsonUrl)(e,l,a),{content:n})}async function y(e,l,a,n,i){return(0,t.get)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,a,n,i))}async function w(e,l,a,n,i,s){await (0,t.put)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,a,n,i),{server:s})}async function j(e,l,a,n,i){await (0,t.del)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,a,n,i))}async function N(e,l,a,n){return(0,t.del)((0,r.buildSkillsRuntimeDeleteUrl)(e,l,a,n))}function k(e,t,l,a){return(0,r.buildSkillsRuntimeExportUrl)(e,t,l,a)}async function C(e,l,a,n,i,s){let o=await (0,t.get)((0,r.buildCloudSkillCatalogUrl)(e,l,a,n,i,s));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function R(e,l,a,n){await (0,t.post)((0,r.buildCloudSkillInstallUrl)(e,l,a),{id:n})}},94055,e=>{"use strict";e.s(["AccentSwitch",()=>P],94055);var t=e.i(18050);e.s(["Root",()=>S,"Thumb",()=>O],39606),e.s([],37751),e.i(37751),e.i(47167);var r=e.i(71645),l=e.i(94349),a=e.i(76477),n=e.i(26292),i=e.i(977),s=e.i(62372),o=e.i(17514),d=e.i(27601),c=e.i(19805),u=e.i(89879),f=e.i(91730),m=e.i(67805);let p=r.createContext(void 0),v=function(e){return e.disabled="data-disabled",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e}({}),b={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},h={disabled:!1,...b},x=function(e){return e.checked="data-checked",e.unchecked="data-unchecked",e.disabled="data-disabled",e.readonly="data-readonly",e.required="data-required",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e}({}),g={valid:e=>null===e?null:e?{[v.valid]:""}:{[v.invalid]:""},checked:e=>e?{[x.checked]:""}:{[x.unchecked]:""}},y=r.createContext({invalid:void 0,name:void 0,validityData:{state:{badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},errors:[],error:"",value:"",initialValue:null},setValidityData:o.NOOP,disabled:void 0,touched:b.touched,setTouched:o.NOOP,dirty:b.dirty,setDirty:o.NOOP,filled:b.filled,setFilled:o.NOOP,focused:b.focused,setFocused:o.NOOP,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:h,markedDirtyRef:{current:!1},registerFieldControl:o.NOOP,validation:{getValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.EMPTY_OBJECT;return e},getInputValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.EMPTY_OBJECT;return e},inputRef:{current:null},commit:async()=>{}}});function w(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=r.useContext(y);if(t.setValidityData===o.NOOP&&!e)throw Error((0,m.default)(28));return t}let j=r.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:o.NOOP,validationMode:"onSubmit",submitAttemptedRef:{current:!1}}),N=r.createContext({controlId:void 0,registerControlId:o.NOOP,labelId:void 0,setLabelId:o.NOOP,messageIds:[],setMessageIds:o.NOOP,getDescriptionProps:e=>e});function k(){return r.useContext(N)}var C=e.i(30628),R=e.i(29315),T=e.i(5963),M=e.i(3404),E=e.i(19904);let S=r.forwardRef(function(e,m){let{checked:v,className:b,defaultChecked:h,"aria-labelledby":x,form:y,id:N,inputRef:S,name:O,nativeButton:U=!1,onCheckedChange:D,readOnly:A=!1,required:P=!1,disabled:I=!1,render:B,uncheckedValue:L,value:z,style:_,...F}=e,{clearErrors:V}=r.useContext(j),{state:H,setTouched:K,setDirty:J,validityData:W,setFilled:q,setFocused:Y,shouldValidateOnChange:X,validationMode:G,disabled:Q,name:Z,validation:$}=w(),{labelId:ee}=k(),et=Q||I,er=null!=Z?Z:O,el=(0,a.useStableCallback)(D),ea=r.useRef(null),en=(0,n.useMergedRefs)(ea,S,$.inputRef),ei=r.useRef(null),es=(0,u.useBaseUiId)(),eo=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{id:t,implicit:l=!1,controlRef:n}=e,{controlId:s,registerControlId:d}=k(),c=(0,u.useBaseUiId)(t),f=l?s:void 0,m=(0,C.useRefWithInit)(()=>Symbol("labelable-control")),p=r.useRef(!1),v=r.useRef(null!=t),b=(0,a.useStableCallback)(()=>{p.current&&d!==o.NOOP&&(p.current=!1,d(m.current,void 0))});return(0,i.useIsoLayoutEffect)(()=>{let e;if(d!==o.NOOP){if(l){let r=null==n?void 0:n.current;e=(0,R.isElement)(r)&&null!=r.closest("label")?null!=t?t:null:null!=f?f:c}else if(null!=t)v.current=!0,e=t;else{if(!v.current)return void b();e=c}if(void 0===e)return void b();p.current=!0,d(m.current,e)}},[t,n,f,d,l,c,m,b]),r.useEffect(()=>b,[b]),null!=s?s:c}({id:N,implicit:!1,controlRef:ei}),ed=U?void 0:eo,[ec,eu]=(0,l.useControlled)({controlled:v,default:!!h,name:"Switch",state:"checked"});!function(e,t){let{enabled:l=!0,getValue:a,id:n,value:s}=t,{registerFieldControl:o}=w(),d=r.useRef(null);d.current||(d.current=Symbol()),(0,i.useIsoLayoutEffect)(()=>{let t=d.current;if(t&&l)return o(t,{controlRef:e,getValue:a,id:n,value:s}),()=>{o(t,void 0)}},[e,l,a,n,o,s])}(ei,{id:es,value:ec}),(0,i.useIsoLayoutEffect)(()=>{ea.current&&q(ea.current.checked)},[ea,q]),(0,E.useValueChanged)(ec,()=>{V(er),J(ec!==W.initialValue),q(ec),X()?$.commit(ec):$.commit(ec,!0)});let{getButtonProps:ef,buttonRef:em}=(0,f.useButton)({disabled:et,native:U}),ep=function(e,t,l){var a;let n=!(arguments.length>3)||void 0===arguments[3]||arguments[3],s=arguments.length>4?arguments[4]:void 0,[o,d]=r.useState(),c=(0,u.useBaseUiId)(s?"".concat(s,"-label"):void 0),f=null!=(a=null!=e?e:t)?a:o;return(0,i.useIsoLayoutEffect)(()=>{let r=e||t||!n?void 0:function(e,t){let r=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let r=e.id;if(r){let t=e.nextElementSibling;if(t&&t.htmlFor===r)return t}let l=e.labels;return l&&l[0]}(e);if(r)return!r.id&&t&&(r.id=t),r.id||void 0}(l.current,c);o!==r&&d(r)}),f}(x,ee,ea,!U,ed),ev=r.useMemo(()=>(0,c.mergeProps)({checked:ec,disabled:et,form:y,id:ed,name:er,required:P,style:er?s.visuallyHiddenInput:s.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:en,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(A)return void e.preventDefault();let t=e.currentTarget.checked,r=(0,T.createChangeEventDetails)(M.REASONS.none,e.nativeEvent);null==el||el(t,r),r.isCanceled||eu(t)},onFocus(){var e;null==(e=ei.current)||e.focus()}},$.getInputValidationProps,void 0!==z?{value:z}:o.EMPTY_OBJECT),[ec,et,y,en,ed,er,el,A,P,eu,$,z]),eb=r.useMemo(()=>({...H,checked:ec,disabled:et,readOnly:A,required:P}),[H,ec,et,A,P]),eh=(0,d.useRenderElement)("span",e,{state:eb,ref:[m,ei,em],props:[{id:U?eo:es,role:"switch","aria-checked":ec,"aria-readonly":A||void 0,"aria-required":P||void 0,"aria-labelledby":ep,onFocus(){et||Y(!0)},onBlur(){let e=ea.current;e&&!et&&(K(!0),Y(!1),"onBlur"===G&&$.commit(e.checked))},onClick(e){var t;A||et||(e.preventDefault(),null==(t=ea.current)||t.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey})))}},$.getValidationProps,F,ef],stateAttributesMapping:g});return(0,t.jsxs)(p.Provider,{value:eb,children:[eh,!ec&&er&&void 0!==L&&(0,t.jsx)("input",{type:"hidden",form:y,name:er,value:L}),(0,t.jsx)("input",{...ev,suppressHydrationWarning:!0})]})}),O=r.forwardRef(function(e,t){let{render:l,className:a,style:n,...i}=e,{state:s}=w(),o=function(){let e=r.useContext(p);if(void 0===e)throw Error((0,m.default)(63));return e}(),c={...s,...o};return(0,d.useRenderElement)("span",e,{state:c,ref:t,stateAttributesMapping:g,props:i})});var U=e.i(39606),U=U,D=e.i(75157);function A(e){let{className:r,thumbClassName:l,...a}=e;return(0,t.jsx)(U.Root,{"data-slot":"switch",className:(0,D.cn)("shadow-xs focus-visible:ring-ring/50 dark:data-[unchecked]:bg-input/80 peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-input outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[checked]:bg-primary",r),...a,children:(0,t.jsx)(U.Thumb,{className:(0,D.cn)("pointer-events-none block size-4 rounded-full bg-background ring-0 transition-transform will-change-transform data-[checked]:translate-x-4 data-[unchecked]:translate-x-0.5 data-[checked]:bg-primary-foreground",l)})})}function P(e){let{className:r,thumbClassName:l,...a}=e;return(0,t.jsx)(A,{className:(0,D.cn)("focus-visible:border-[var(--ds-accent)]/50 focus-visible:ring-[var(--ds-accent)]/35 data-[checked]:border-[var(--ds-accent)] data-[checked]:bg-[var(--ds-accent)]",r),thumbClassName:(0,D.cn)("data-[checked]:bg-white",l),...a})}}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,28583,e=>{"use strict";e.s(["ToolsManageView",()=>y],28583);var a=e.i(18050),t=e.i(71645),n=e.i(65934),l=e.i(87243),s=e.i(13354),i=e.i(50711),o=e.i(19455),r=e.i(94055),c=e.i(94197),p=e.i(92715);function m(e){let{items:t,saveBusy:n,onToggle:l,onExport:s,onRemove:i,className:o}=e,m=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.label||e.name},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"text-base",cellClassName:"whitespace-nowrap text-base text-[var(--ds-text)]",render:e=>(0,a.jsx)("span",{className:"inline-flex items-center gap-2",children:(0,a.jsx)(r.AccentSwitch,{checked:!!e.enabled,disabled:n,onCheckedChange:a=>l(e.name,a),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] text-base",cellClassName:"w-[128px]",render:e=>{let t=!0===e.canManage;return(0,a.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,a.jsx)(c.IconTooltipButton,{icon:"Download",label:t?"导出":"系统内置工具不可导出",ariaLabel:"导出 ".concat(e.label||e.name),disabled:n||!t,onClick:()=>s(e.name)}),(0,a.jsx)(c.IconTooltipButton,{icon:"Trash2",label:t?"删除":"系统内置工具不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label||e.name),disabled:n||!t,onClick:()=>{i(e.name)}})]})}}];return(0,a.jsx)(p.AppTable,{rows:t,columns:m,getRowKey:e=>"tools:".concat(e.name),className:o})}var d=e.i(36845),u=e.i(53925);function g(e){let{open:t,onOpenChange:n,wsUrl:l,apiBase:s,agent:i}=e;return(0,a.jsx)(u.ResourceImportDialog,{open:t,onOpenChange:n,title:"导入工具 zip",description:"选择一个 zip 文件并导入到 tools-runtime。",uploadUrl:(0,d.buildToolsRuntimeImportUrl)(l,s,i),resetKey:i})}var b=e.i(68499),x=e.i(72064),f=e.i(56708),k=e.i(62427);function C(e){return(null!=e.packageId?String(e.packageId).trim():"")||e.name}function h(e){let a=null!=e.packageId?String(e.packageId).trim():"";return!0===e.deletable&&a.length>0}function y(){let e=(0,n.useAppStore)(e=>e.wsUrl),r=(0,n.useAppStore)(e=>e.apiBase),c=(0,n.useAppStore)(e=>e.agentConfig),p=(0,n.useAppStore)(e=>e.patchAgentConfig),{currentAgent:d,loadAgentConfig:u}=(0,l.useSession)(),y=(0,i.usePersistAgentConfigField)("tools"),N=c.tools,[T,w]=(0,t.useState)([]),[j,S]=(0,t.useState)(!1),[I,v]=(0,t.useState)(!1),[A,B]=(0,t.useState)(!1);(0,t.useEffect)(()=>{u()},[u]);let R=(0,t.useCallback)(async(e,a)=>{v(!0);try{await y(e,{silent:a})}finally{v(!1)}},[y]),U=(0,t.useCallback)(async()=>{w([]),S(!0);try{var a;let t=await (0,k.listInstalledTools)(e,r,d());w(null!=(a=t.tools)?a:[])}catch(e){w([]),s.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{S(!1)}},[e,r,d]);(0,t.useEffect)(()=>{U()},[U]);let E=(0,t.useCallback)(e=>T.find(a=>a.name===e),[T]),M=(0,t.useMemo)(()=>T.slice().sort((e,a)=>e.name.localeCompare(a.name)).map(e=>(function(e,a){var t,n;let l=null!=e.packageName?String(e.packageName).trim():"";return{name:e.name,label:(e.displayName&&e.displayName!==e.name?"".concat(e.displayName," · "):"")+e.name+("system"===(n=e.layer)?" [系统]":"agent"===n?" [Agent]":""),description:null!=(t=e.searchHint)?t:"",enabled:a,packageId:l,canManage:h({deletable:e.deletable,packageId:l})}})(e,N.includes(e.name))),[T,N]),z=(0,t.useCallback)(async a=>{let t=E(a);if(!t||!h({deletable:t.deletable,packageId:t.packageName}))return void s.appToast.error("系统内置工具不可删除");if(await (0,b.confirmAlertDialog)({title:"确认删除工具包?",description:"工具名:".concat(a),confirmText:"删除",cancelText:"取消"}))try{await (0,k.deleteRuntimeTool)(e,r,d(),C({packageId:t.packageName,name:t.name}));let n=N.filter(e=>e!==a);p({tools:n}),await R(n,!0),await U()}catch(e){s.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[E,e,r,d,N,p,R,U]),K=(0,t.useCallback)(a=>{let t=E(a);if(!t||!h({deletable:t.deletable,packageId:t.packageName}))return void s.appToast.error("系统内置工具不可导出");window.open((0,k.exportRuntimeToolUrl)(e,r,d(),C({packageId:t.packageName,name:t.name})),"_blank","noopener")},[E,e,r,d]),O=(0,t.useCallback)((e,a)=>{let t=a?[...new Set([...N,e])].sort():N.filter(a=>a!==e).sort();p({tools:t}),R(t,!0)},[N,p,R]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(f.ManageChromeHeaderActions,{children:(0,a.jsxs)(o.Button,{id:"btnAgentPickerToolImport",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>B(!0),children:[(0,a.jsx)(x.default,{name:"Import",size:16,className:"align-middle"}),"导入自定义工具"]})}),j?(0,a.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,a.jsx)(m,{items:M,saveBusy:I,onToggle:O,onExport:K,onRemove:z}),(0,a.jsx)(g,{open:A,onOpenChange:e=>{B(e),e||U()},wsUrl:e,apiBase:r,agent:d()})]})}}]);