@auto-ai/agent 2.1.126 → 2.1.128
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/404/index.html +1 -1
- package/dist/404.html +1 -1
- package/dist/_next/static/chunks/{9dc241c9b2aa0f91.js → 0bb72b120dc81a85.js} +1 -1
- package/dist/_next/static/chunks/{7a5fd448b280dd64.js → 11e6ca4bf89238c8.js} +1 -1
- package/dist/_next/static/chunks/1601f801b0efe2b7.js +1 -0
- package/dist/_next/static/chunks/{53977130ef33592f.js → 22d483db0dece6fa.js} +1 -1
- package/dist/_next/static/chunks/5817c66b26ce8538.css +1 -0
- package/dist/_next/static/chunks/{6f9a48a7f83e669a.js → 67bb401596b3c723.js} +1 -1
- package/dist/_next/static/chunks/{566e152e480b267a.js → 67ed23cd064b3759.js} +1 -1
- package/dist/_next/static/chunks/6f004c225e10839e.js +1 -0
- package/dist/_next/static/chunks/{f2bb685629307d4d.js → 848159b04d61ef38.js} +1 -1
- package/dist/_next/static/chunks/{33eeef286c328da0.js → 9724f0d9ea70a30f.js} +1 -1
- package/dist/_next/static/chunks/98a41a7efbe71682.js +1 -0
- package/dist/_next/static/chunks/{a38eccf0bb5ca1e9.js → bcefc2c679f3ada6.js} +1 -1
- package/dist/_next/static/chunks/{17e79ae7309781d6.js → cb4dec27441d471a.js} +1 -1
- package/dist/_next/static/chunks/d059ec9b9c0efd14.js +1 -0
- package/dist/_next/static/chunks/fb29f7b061918c67.js +1 -0
- package/dist/index.html +1 -1
- package/dist/index.txt +8 -8
- package/dist/manage/about/index.html +2 -2
- package/dist/manage/about/index.txt +9 -9
- package/dist/manage/add-account/basic/index.html +2 -2
- package/dist/manage/add-account/basic/index.txt +12 -13
- package/dist/manage/add-account/index.html +2 -2
- package/dist/manage/add-account/index.txt +13 -12
- package/dist/manage/agent-teams/index.html +2 -2
- package/dist/manage/agent-teams/index.txt +11 -11
- package/dist/manage/env/index.html +2 -2
- package/dist/manage/env/index.txt +11 -11
- package/dist/manage/general/index.html +2 -2
- package/dist/manage/general/index.txt +9 -9
- package/dist/manage/index.html +1 -1
- package/dist/manage/index.txt +6 -6
- package/dist/manage/mcp/index.html +2 -2
- package/dist/manage/mcp/index.txt +11 -11
- package/dist/manage/permissions/index.html +2 -2
- package/dist/manage/permissions/index.txt +9 -9
- package/dist/manage/skills/index.html +2 -2
- package/dist/manage/skills/index.txt +11 -11
- package/dist/manage/task/index.html +2 -2
- package/dist/manage/task/index.txt +9 -9
- package/dist/manage/teams/index.html +2 -2
- package/dist/manage/teams/index.txt +9 -9
- package/dist/manage/tools/index.html +2 -2
- package/dist/manage/tools/index.txt +11 -11
- package/package.json +6 -6
- package/dist/_next/static/chunks/19aa69c07b3642d5.js +0 -1
- package/dist/_next/static/chunks/24459c7365a2b28b.js +0 -1
- package/dist/_next/static/chunks/6ad4268160f361a6.js +0 -1
- package/dist/_next/static/chunks/7658b5b9c2865eb1.js +0 -1
- package/dist/_next/static/chunks/b29a354245bfc377.css +0 -1
- package/dist/_next/static/chunks/c5a4977aae6a008c.js +0 -1
- /package/dist/_next/static/{lNBSG0s2sztoG2gw766B8 → dOWHotWZcTuV50_vyRSGI}/_buildManifest.js +0 -0
- /package/dist/_next/static/{lNBSG0s2sztoG2gw766B8 → dOWHotWZcTuV50_vyRSGI}/_clientMiddlewareManifest.json +0 -0
- /package/dist/_next/static/{lNBSG0s2sztoG2gw766B8 → dOWHotWZcTuV50_vyRSGI}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55242,e=>{"use strict";e.s(["AppDialog",()=>n]);var t=e.i(18050),a=e.i(71645),s=e.i(76639),l=e.i(75157);function n(e){let{open:n,onOpenChange:r,title:i,children:o,footer:c,width:d="max-w-3xl",minHeight:u}=e,p=(0,a.useId)();return(0,t.jsx)(s.Dialog,{open:n,onOpenChange:r,children:(0,t.jsxs)(s.DialogContent,{"aria-labelledby":p,className:(0,l.cn)(d,u?"!min-h-[--min-h]":""),style:u?{"--min-h":u}:void 0,children:[(0,t.jsxs)(s.DialogHeader,{children:[(0,t.jsx)(s.DialogTitle,{id:p,children:i}),(0,t.jsx)(s.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(s.DialogBody,{className:"!px-4 !py-3",children:o}),c?(0,t.jsx)("div",{className:"flex flex-shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:c}):null]})})}},93479,e=>{"use strict";e.s(["Input",()=>s]);var t=e.i(18050),a=e.i(75157);function s(e){let{className:s,type:l="text",size:n="default",...r}=e;return(0,t.jsx)("input",{type:l,"data-slot":"input","data-size":n,className:(0,a.cn)("h-8 w-full appearance-none rounded-md border border-solid border-border bg-transparent px-3 text-base outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[#e0e0e0] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none] data-[size=default]:h-8 data-[size=lg]:h-10 data-[size=sm]:h-7",s),...r})}},20783,e=>{"use strict";e.s(["composeRefs",()=>s,"useComposedRefs",()=>l]);var t=e.i(71645);function a(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function s(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return e=>{let s=!1,l=t.map(t=>{let l=a(t,e);return s||"function"!=typeof l||(s=!0),l});if(s)return()=>{for(let e=0;e<l.length;e++){let s=l[e];"function"==typeof s?s():a(t[e],null)}}}}function l(){for(var e=arguments.length,a=Array(e),l=0;l<e;l++)a[l]=arguments[l];return t.useCallback(s(...a),a)}},57428,e=>{"use strict";e.s(["Checkbox",()=>n]);var t=e.i(18050),a=e.i(71645),s=e.i(72064),l=e.i(75157);let n=a.forwardRef(function(e,n){let{className:r,size:i="default",checked:o,defaultChecked:c,disabled:d,id:u,onChange:p,...m}=e,x=void 0!==o,[g,b]=a.useState(!!c),f=x?!!o:g;return(0,t.jsxs)("span",{"data-slot":"checkbox","data-size":i,"data-checked":f?"true":"false",className:(0,l.cn)("relative inline-flex shrink-0 items-center justify-center rounded-sm border border-solid border-border bg-transparent outline-none transition-[color,box-shadow,border-color,background-color] duration-150 ease-in-out","has-[:focus-visible]:border-[var(--border-focus)] has-[:focus-visible]:[box-shadow:var(--ring-focus-sm)]","has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-50","data-[size=default]:size-4 data-[size=sm]:size-3.5",f?"border-[var(--ds-accent)] bg-[var(--ds-accent)]":"bg-transparent",r),children:[f?(0,t.jsx)(s.default,{name:"Check",className:(0,l.cn)("pointer-events-none text-[var(--surface-1)] [&_path]:!fill-none","sm"===i?"size-3":"size-3.5"),strokeWidth:2.25,"aria-hidden":"true"}):null,(0,t.jsx)("input",{ref:n,id:u,type:"checkbox",checked:x?o:void 0,defaultChecked:x?void 0:c,disabled:d,className:"absolute inset-0 m-0 size-full cursor-pointer opacity-0 disabled:cursor-not-allowed",onChange:e=>{x||b(e.target.checked),null==p||p(e)},...m})]})})},51459,e=>{"use strict";e.s(["AgentTeamsManageView",()=>m],51459);var t=e.i(18050),a=e.i(71645),s=e.i(65934),l=e.i(87243),n=e.i(50711),r=e.i(94055),i=e.i(92715),o=e.i(85413),c=e.i(75157);function d(e){let{saveBusy:a,pickerFilteredRows:s,pickerLoading:l,pickerSelected:n,onPickerToggle:d}=e,u=[{key:"name",title:"名称",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"w-[140px] text-base text-[var(--ds-text)]",render:e=>{var t;return null!=(t=e.displayName)?t:e.id}},{key:"description",title:"详情",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>{var t;return null!=(t=e.description)?t:"-"}},{key:"enabled",title:"启用/未启用",headerClassName:"w-64 text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[72px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(r.AccentSwitch,{checked:n.includes(e.id),onCheckedChange:t=>d(e.id,t),disabled:a,"aria-label":"启用 ".concat(e.label)})})}];return(0,t.jsx)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col gap-4",children:(0,t.jsx)("div",{className:(0,c.cn)("flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border bg-[#fff] p-[24px] shadow-[var(--shadow-md)]","border-[var(--ds-border)]"),children:(0,t.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto",children:l?(0,t.jsx)("p",{className:"px-1 py-4 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):s.length?(0,t.jsx)(i.AppTable,{rows:s,columns:u,getRowKey:e=>e.id,className:"border-0",rowClassName:"border-[var(--ds-border)]",headerRowClassName:"border-[var(--ds-border)]"}):(0,t.jsx)("div",{className:"py-6",children:(0,t.jsx)(o.Empty,{})})})})})}var u=e.i(13354),p=e.i(62427);function m(){let e=(0,s.useAppStore)(e=>e.wsUrl),r=(0,s.useAppStore)(e=>e.apiBase),i=(0,s.useAppStore)(e=>e.agentId),o=(0,s.useAppStore)(e=>e.agentConfig),c=(0,s.useAppStore)(e=>e.setAgentConfig),{currentAgent:m,loadAgentConfig:x}=(0,l.useSession)(),g=(0,n.usePersistAgentConfigField)("agentTeams"),b=o.agentTeams,f=(0,a.useMemo)(()=>[...b].sort().join("\0"),[b]),[h,v]=(0,a.useState)([]),[y,C]=(0,a.useState)([]),[k,j]=(0,a.useState)(!1),[S,N]=(0,a.useState)(!1);(0,a.useEffect)(()=>{x()},[x]),(0,a.useEffect)(()=>{C([...b])},[f,b]),(0,a.useEffect)(()=>{j(!0),v([]),(0,p.listAgentTeams)(e,r,m()).then(e=>{var t,a;v((null!=(a=null!=(t=e.teamAgentTypes)?t:e.agentTeams)?a:[]).map(e=>{var t,a,s,l,n,r;return{id:null!=(a=null!=(t=e.agentType)?t:e.name)?a:"",label:null!=(l=null!=(s=e.agentType)?s:e.name)?l:"",displayName:null!=(r=null!=(n=e.name)?n:e.agentType)?r:"",description:e.description}}).filter(e=>e.id.length>0))}).catch(e=>{v([]),u.appToast.error("加载可选 Agent Team 失败:".concat(e instanceof Error?e.message:String(e)))}).finally(()=>{j(!1)})},[e,r,i,m]);let w=(0,a.useCallback)(async(e,t)=>{N(!0);try{await g(e,{silent:t})}finally{N(!1)}},[g]),A=(0,a.useCallback)((e,t)=>{let a=s.useAppStore.getState(),l=new Set(a.agentConfig.agentTeams);t?l.add(e):l.delete(e);let n=[...l].sort();C(n),c({...a.agentConfig,agentTeams:n}),w(n,!0)},[c,w]);return(0,t.jsx)(d,{saveBusy:S,pickerFilteredRows:h,pickerLoading:k,pickerSelected:y,onPickerToggle:A})}},28583,e=>{"use strict";e.s(["ToolsManageView",()=>C],28583);var t=e.i(18050),a=e.i(71645),s=e.i(65934),l=e.i(87243),n=e.i(13354),r=e.i(50711),i=e.i(19455),o=e.i(94055),c=e.i(94197),d=e.i(92715);function u(e){let{items:a,saveBusy:s,onToggle:l,onExport:n,onRemove:r,className:i}=e,u=[{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,t.jsx)("span",{className:"inline-flex items-center gap-2",children:(0,t.jsx)(o.AccentSwitch,{checked:!!e.enabled,disabled:s,onCheckedChange:t=>l(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] text-base",cellClassName:"w-[128px]",render:e=>{let a=!0===e.canManage;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(c.IconTooltipButton,{icon:"Download",label:a?"导出":"系统内置工具不可导出",ariaLabel:"导出 ".concat(e.label||e.name),disabled:s||!a,onClick:()=>n(e.name)}),(0,t.jsx)(c.IconTooltipButton,{icon:"Trash2",label:a?"删除":"系统内置工具不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label||e.name),disabled:s||!a,onClick:()=>{r(e.name)}})]})}}];return(0,t.jsx)(d.AppTable,{rows:a,columns:u,getRowKey:e=>"tools:".concat(e.name),className:i})}var p=e.i(36845),m=e.i(53925);function x(e){let{open:a,onOpenChange:s,wsUrl:l,apiBase:n,agent:r}=e;return(0,t.jsx)(m.ResourceImportDialog,{open:a,onOpenChange:s,title:"导入工具 zip",description:"选择一个 zip 文件并导入到 tools-runtime。",uploadUrl:(0,p.buildToolsRuntimeImportUrl)(l,n,r),resetKey:r})}var g=e.i(68499),b=e.i(72064),f=e.i(56708),h=e.i(62427);function v(e){return(null!=e.packageId?String(e.packageId).trim():"")||e.name}function y(e){let t=null!=e.packageId?String(e.packageId).trim():"";return!0===e.deletable&&t.length>0}function C(){let e=(0,s.useAppStore)(e=>e.wsUrl),o=(0,s.useAppStore)(e=>e.apiBase),c=(0,s.useAppStore)(e=>e.agentConfig),d=(0,s.useAppStore)(e=>e.patchAgentConfig),{currentAgent:p,loadAgentConfig:m}=(0,l.useSession)(),C=(0,r.usePersistAgentConfigField)("tools"),k=c.tools,[j,S]=(0,a.useState)([]),[N,w]=(0,a.useState)(!1),[A,T]=(0,a.useState)(!1),[E,M]=(0,a.useState)(!1);(0,a.useEffect)(()=>{m()},[m]);let I=(0,a.useCallback)(async(e,t)=>{T(!0);try{await C(e,{silent:t})}finally{T(!1)}},[C]),z=(0,a.useCallback)(async()=>{S([]),w(!0);try{var t;let a=await (0,h.listInstalledTools)(e,o,p());S(null!=(t=a.tools)?t:[])}catch(e){S([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{w(!1)}},[e,o,p]);(0,a.useEffect)(()=>{z()},[z]);let B=(0,a.useCallback)(e=>j.find(t=>t.name===e),[j]),R=(0,a.useMemo)(()=>j.slice().sort((e,t)=>e.name.localeCompare(t.name)).map(e=>(function(e,t){var a,s;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"===(s=e.layer)?" [系统]":"agent"===s?" [Agent]":""),description:null!=(a=e.searchHint)?a:"",enabled:t,packageId:l,canManage:y({deletable:e.deletable,packageId:l})}})(e,k.includes(e.name))),[j,k]),P=(0,a.useCallback)(async t=>{let a=B(t);if(!a||!y({deletable:a.deletable,packageId:a.packageName}))return void n.appToast.error("系统内置工具不可删除");if(await (0,g.confirmAlertDialog)({title:"确认删除工具包?",description:"工具名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,h.deleteRuntimeTool)(e,o,p(),v({packageId:a.packageName,name:a.name}));let s=k.filter(e=>e!==t);d({tools:s}),await I(s,!0),await z()}catch(e){n.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[B,e,o,p,k,d,I,z]),O=(0,a.useCallback)(t=>{let a=B(t);if(!a||!y({deletable:a.deletable,packageId:a.packageName}))return void n.appToast.error("系统内置工具不可导出");window.open((0,h.exportRuntimeToolUrl)(e,o,p(),v({packageId:a.packageName,name:a.name})),"_blank","noopener")},[B,e,o,p]),U=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...k,e])].sort():k.filter(t=>t!==e).sort();d({tools:a}),I(a,!0)},[k,d,I]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(f.ManageChromeHeaderActions,{children:(0,t.jsxs)(i.Button,{id:"btnAgentPickerToolImport",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>M(!0),children:[(0,t.jsx)(b.default,{name:"Import",size:16,className:"align-middle"}),"导入自定义工具"]})}),N?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(u,{items:R,saveBusy:A,onToggle:U,onExport:O,onRemove:P}),(0,t.jsx)(x,{open:E,onOpenChange:e=>{M(e),e||z()},wsUrl:e,apiBase:o,agent:p()})]})}},18900,69051,e=>{"use strict";function t(e){let t=null==e?"":String(e);return""===t?'""':/[\s#"'\\\n]/.test(t)||t!==t.trim()?'"'.concat(t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t}function a(e){let t=String(e).split(/\r?\n/),a={},s=/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/;for(let e=0;e<t.length;e++){let l=t[e],n=s.exec(l);n&&(a[n[1]]=function(e){let t=e.trimEnd();return t.length>=2&&'"'===t[0]&&'"'===t[t.length-1]?t.slice(1,-1).replace(/\\(.)/g,(e,t)=>"n"===t?"\n":'"'===t?'"':"\\"===t?"\\":"\\".concat(t)):t.length>=2&&"'"===t[0]&&"'"===t[t.length-1]?t.slice(1,-1):e}(n[2]))}return a}function s(e,a){let s=Array.isArray(e)?e:[],l=new Set;for(let e=0;e<s.length;e++){let t=s[e];t&&"object"==typeof t&&"string"==typeof t.key&&l.add(t.key)}let n=[];for(let e=0;e<s.length;e++){let l=s[e];if(!l||"object"!=typeof l||"string"!=typeof l.key)continue;let r=l.key;if(!Object.prototype.hasOwnProperty.call(a,r))continue;let i=a[r];null!=i&&""!==String(i).trim()&&n.push("".concat(r,"=").concat(t(String(i))))}let r=Object.keys(a).filter(e=>!l.has(e)).sort();for(let e=0;e<r.length;e++){let s=r[e],l=a[s];null!=l&&""!==String(l).trim()&&n.push("".concat(s,"=").concat(t(String(l))))}let i=n.join("\n");return i.length>0?"".concat(i,"\n"):""}e.s(["buildEnvFileContentFromForm",()=>s,"parseEnvContentToMap",()=>a],18900),e.s(["loadDemoSingleMessage",()=>c,"loadSystemEnv",()=>r,"saveSystemEnv",()=>i,"saveSystemMcpJson",()=>o],69051);var l=e.i(29250),n=e.i(36845);async function r(e,t,a){return(0,l.get)((0,n.buildSystemEnvApiUrl)(e,t,a))}async function i(e,t,a,s){await (0,l.patch)((0,n.buildSystemEnvApiUrl)(e,t,a),{content:s})}async function o(e,t,a,s){await (0,l.patch)((0,n.buildSystemMcpJsonApiUrl)(e,t,a),{content:s})}async function c(){return(0,l.get)("/api/demo/single-message")}},62849,e=>{"use strict";e.s(["EnvManageView",()=>C],62849);var t=e.i(18050),a=e.i(71645),s=e.i(65934),l=e.i(87243),n=e.i(19455),r=e.i(94197),i=e.i(93479),o=e.i(67489),c=e.i(67327);let d=["llm","git","geelib","tutui","system"],u={llm:"llm设置",git:"git设置",geelib:"geelib设置",tutui:"tutui设置",system:"系统设置"};function p(e){let t={...u};if(!e||"object"!=typeof e)return t;for(let a of d){let s=e[a];"string"==typeof s&&s.trim()&&(t[a]=s.trim())}return t}var m=e.i(18900),x=e.i(13354),g=e.i(82136),b=e.i(69051),f=e.i(75157);let h="__empty__",v=[{value:"anthropic",label:"anthropic"},{value:"openai",label:"openai"}];function y(){return"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():"r-".concat(Date.now(),"-").concat(Math.random())}function C(){let e=(0,s.useAppStore)(e=>e.wsUrl),u=(0,s.useAppStore)(e=>e.apiBase),C=(0,s.useAppStore)(e=>e.agentConfig),k=(0,s.useAppStore)(e=>e.setAgentConfig),j=(0,s.useAppStore)(e=>e.bridgeReady),S=(0,s.useAppStore)(e=>e.setStatus),{currentAgent:N,loadAgentConfig:w}=(0,l.useSession)(),{sendReloadAgentConfig:A}=(0,c.useWebSocketSender)(),[T,E]=(0,a.useState)(!0),[M,I]=(0,a.useState)(!1),[z,B]=(0,a.useState)([]),[R,P]=(0,a.useState)(p(void 0)),[O,U]=(0,a.useState)({}),[D,L]=(0,a.useState)({}),[F,_]=(0,a.useState)([]),K=(0,a.useMemo)(()=>new Set(z.map(e=>e.key)),[z]),J=(0,a.useMemo)(()=>(function(e){let t={};for(let e of d)t[e]=[];for(let a of e)d.includes(a.group)&&t[a.group].push(a);return t})(z),[z]),V=(0,a.useCallback)(e=>{L(function(e,t,a){let s={};for(let l of t){let t=e[l.key];if("string"==typeof t&&t.length>0){s[l.key]=t;continue}let n=a[l.key];s[l.key]="string"==typeof n?n:""}return s}(e,z,O));let t={};for(let[a,s]of Object.entries(e))K.has(a)||(t[a]=s);_(Object.keys(t).sort().map(e=>{var a;return{id:y(),key:e,value:null!=(a=t[e])?a:""}}))},[z,O,K]),H=(0,a.useCallback)(async()=>{try{let t=await (0,b.loadSystemEnv)(e,u,N()),a="string"==typeof t.content?t.content:"",s=function(e){if(!Array.isArray(e))return[];let t=[];for(let a of e){if(!a||"object"!=typeof a)continue;let e="string"==typeof a.key?a.key.trim():"",s="string"==typeof a.group?a.group.trim():"";e&&d.includes(s)&&t.push({key:e,group:s,label:"string"==typeof a.label&&a.label.trim()?a.label.trim():e,placeholder:"string"==typeof a.placeholder?a.placeholder:""})}return t}(t.schema),l=(0,m.parseEnvContentToMap)(a);B(s),P(p(t.groupLabels)),U(function(e,t){let a={};for(let l of e){var s;a[l.key]=null!=(s=t[l.key])?s:""}return a}(s,l))}catch(e){x.appToast.error("加载环境变量表单配置失败:".concat(e instanceof Error?e.message:String(e))),B([]),U({})}},[e,u,N]);(0,a.useEffect)(()=>{E(!0),Promise.all([w(),H()]).finally(()=>{E(!1)})},[w,H]),(0,a.useEffect)(()=>{V({...C.env})},[C.env,V]);let W=(0,a.useCallback)((e,t)=>{L(a=>({...a,[e]:t}))},[]),Z=(0,a.useCallback)((e,t)=>{_(a=>a.map(a=>a.id===e?{...a,...t}:a))},[]),Y=(0,a.useCallback)(e=>{_(t=>t.filter(t=>t.id!==e))},[]),$=(0,a.useCallback)(()=>{_(e=>[...e,{id:y(),key:"",value:""}])},[]),G=(0,a.useCallback)(()=>{V({...C.env})},[C.env,V]),q=(0,a.useCallback)(async()=>{let t=function(e,t){let a={};for(let s of t){let t=Object.prototype.hasOwnProperty.call(e,s.key)?e[s.key]:"",l=String(null!=t?t:"").trim();l&&(a[s.key]=l)}return a}(D,z),a=function(e,t){let a={},s=new Set;for(let n of e){var l;let e=String(n.key||"").trim(),r=String(null!=(l=n.value)?l:"");if(r.trim()||e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))return{ok:!1,message:"环境变量名不合法:".concat(e,"(仅允许字母/数字/下划线,且不能数字开头)")};if(t.has(e))return{ok:!1,message:"自定义变量不能与固定表单重复:".concat(e)};if(s.has(e))return{ok:!1,message:"存在重复环境变量名:".concat(e)};s.add(e),a[e]=r}}return{ok:!0,env:a}}(F,K);if(!a.ok)return void x.appToast.info(a.message);let l={...t,...a.env};I(!0);try{var n,r,i,o;let t=s.useAppStore.getState();await (0,g.saveAgentConfig)(e,u,N(),{tools:t.agentConfig.tools.slice(),disallowedTools:t.agentConfig.disallowedTools.slice(),mcpServers:t.agentConfig.mcpServers.slice(),skills:t.agentConfig.skills.slice(),agentTeams:t.agentConfig.agentTeams.slice(),model:t.agentConfig.model,rules:t.agentConfig.rules.slice(),effort:null!=(n=t.agentConfig.effort)?n:null,background:null!=(r=t.agentConfig.background)&&r,isolation:null!=(i=t.agentConfig.isolation)?i:"",whentouse:null!=(o=t.agentConfig.whentouse)?o:"",env:l}),k({...t.agentConfig,env:{...l}}),s.useAppStore.getState().wsConnected&&A(),S("环境变量已保存"+(s.useAppStore.getState().wsConnected?",已请求 worker 重新加载配置":""),j?"ready":""),x.appToast.success(s.useAppStore.getState().wsConnected?"已保存到 agent.json,并已请求 worker 重新加载配置。":"已保存到 agent.json。重连 WebSocket 后子进程环境将同步。")}catch(e){x.appToast.error("保存环境变量失败:".concat(e instanceof Error?e.message:String(e)))}finally{I(!1)}},[D,z,F,K,e,u,N,k,A,S,j]);return(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border border-[var(--ds-border)] bg-[#fff] shadow-[var(--shadow-md)]",children:[(0,t.jsx)("div",{className:"shrink-0 border-b border-[var(--ds-border)] px-4 py-4",children:(0,t.jsx)("p",{className:"mt-1 text-sm text-[var(--ds-muted)]",children:"仅影响当前 agent 的 session 子进程环境"})}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:T?(0,t.jsx)("div",{className:"py-8 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsxs)(t.Fragment,{children:[z.length?(0,t.jsx)(t.Fragment,{children:d.map(e=>{let a=J[e];return a.length?(0,t.jsxs)("section",{className:"mt-6 first:mt-0",children:[(0,t.jsx)("h3",{className:"text-base font-semibold text-[var(--ds-text)]",children:R[e]}),(0,t.jsx)("div",{className:"mt-1 divide-y divide-[var(--ds-border)]",children:a.map(e=>(e=>{let a="agent-env-field-".concat(e.key),s="string"==typeof D[e.key]?D[e.key]:"";if("LLM_PROVIDER"===e.key){let l="anthropic"===s||"openai"===s?s:"";return(0,t.jsxs)("div",{className:"grid items-center gap-3 py-3",style:{gridTemplateColumns:"240px 1fr"},children:[(0,t.jsx)("label",{className:"inline-flex h-10 items-center rounded-md border border-[var(--ds-border)] px-3 text-base text-[var(--ds-text)]",htmlFor:a,children:e.label}),(0,t.jsxs)(o.Select,{value:l||h,onValueChange:t=>W(e.key,t===h?"":t),children:[(0,t.jsx)(o.SelectTrigger,{id:a,className:(0,f.cn)("h-10 w-full border-[var(--ds-border)] bg-[var(--ds-bg)] text-base",!l&&"text-[var(--text-placeholder)]"),children:(0,t.jsx)(o.SelectValue,{placeholder:"请选择"})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:h,children:"请选择"}),v.map(e=>(0,t.jsx)(o.SelectItem,{value:e.value,children:e.label},e.value))]})]})]},e.key)}return(0,t.jsxs)("div",{className:"grid items-center gap-3 py-3",style:{gridTemplateColumns:"240px 1fr"},children:[(0,t.jsx)("label",{className:"inline-flex h-10 items-center rounded-md border border-[var(--ds-border)] px-3 text-base text-[var(--ds-text)]",htmlFor:a,children:e.label}),(0,t.jsx)(i.Input,{id:a,type:"text",spellCheck:!1,autoComplete:"off",placeholder:e.placeholder,className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",value:s,onChange:t=>W(e.key,t.target.value)})]},e.key)})(e))})]},e):null})}):(0,t.jsx)("div",{className:"rounded-md border border-dashed border-[var(--ds-border)] py-8 text-center text-base text-[var(--ds-muted)]",children:"未加载到环境变量表单配置"}),(0,t.jsx)("h3",{className:"mb-4 mt-8 text-base font-semibold text-[var(--ds-text)]",children:"自定义设置"}),(0,t.jsx)("div",{className:"mt-5",children:(0,t.jsx)(n.Button,{type:"button",variant:"outline",size:"lg",disabled:T||M,onClick:$,children:"新增变量"})}),(0,t.jsxs)("div",{className:"mb-2 mt-5 grid gap-2 text-sm text-[var(--ds-muted)]",style:{gridTemplateColumns:"1fr 1fr auto"},children:[(0,t.jsx)("span",{children:"KEY"}),(0,t.jsx)("span",{children:"VALUE"}),(0,t.jsx)("span",{children:"操作"})]}),(0,t.jsx)("div",{className:"flex flex-col gap-2",children:F.length?F.map(e=>(0,t.jsxs)("div",{className:"grid gap-2",style:{gridTemplateColumns:"1fr 1fr auto"},children:[(0,t.jsx)(i.Input,{type:"text",spellCheck:!1,autoComplete:"off",placeholder:"例如 API_KEY",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",value:e.key,onChange:t=>Z(e.id,{key:t.target.value})}),(0,t.jsx)(i.Input,{type:"text",spellCheck:!1,autoComplete:"off",placeholder:"value",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",value:e.value,onChange:t=>Z(e.id,{value:t.target.value})}),(0,t.jsx)(r.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",ariaLabel:"删除 ".concat(e.key),onClick:()=>Y(e.id)})]},e.id)):(0,t.jsx)("div",{className:"rounded-md border border-dashed border-[var(--ds-border)] py-8 text-center text-base text-[var(--ds-muted)]",children:"(暂无变量,点击「新增变量」)"})})]})}),(0,t.jsxs)("div",{className:"flex shrink-0 justify-end gap-[12px] border-t border-[var(--ds-border)] px-4 py-3",children:[(0,t.jsx)(n.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:T||M,onClick:G,children:"取消"}),(0,t.jsx)(n.Button,{type:"button",size:"lg",disabled:T||M,onClick:()=>void q(),children:"保存"})]})]})}},89530,e=>{"use strict";e.s(["McpManageView",()=>S],89530);var t=e.i(18050),a=e.i(71645),s=e.i(65934),l=e.i(87243),n=e.i(13354),r=e.i(50711),i=e.i(51419),o=e.i(55242),c=e.i(92715),d=e.i(19455),u=e.i(94055),p=e.i(94197);function m(e){let{items:a,saveBusy:s,onToggleStatus:l,onEdit:n,className:r}=e,i=[{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:"source",title:"来源",headerClassName:"text-base",cellClassName:"text-base",render:()=>"远程"},{key:"status",title:"状态",headerClassName:"text-base",cellClassName:"whitespace-nowrap py-2 align-middle",render:e=>l?(0,t.jsx)("span",{className:"inline-flex items-center justify-end gap-2 text-base text-[var(--ds-text)]",children:(0,t.jsx)(u.AccentSwitch,{checked:!e.disabled,disabled:s,onCheckedChange:t=>{l(e.name,t)},"aria-label":"".concat(e.disabled?"启用":"禁用"," ").concat(e.name)})}):(0,t.jsx)("span",{className:"text-base text-[var(--ds-text)]",children:e.installed?"已安装":"未安装"})},...n?[{key:"actions",title:"操作",headerClassName:"w-[72px] text-base",cellClassName:"w-[72px]",render:e=>(0,t.jsx)("div",{className:"inline-flex justify-end",children:(0,t.jsx)(p.IconTooltipButton,{icon:"Edit",label:"编辑 MCP 配置",ariaLabel:"编辑 ".concat(e.name),disabled:s,onClick:()=>n(e.name)})})}]:[]];return(0,t.jsx)(c.AppTable,{rows:a,columns:i,getRowKey:e=>"mcp:".concat(e.name),className:r})}var x=e.i(36845),g=e.i(53925);function b(e){let{open:a,onOpenChange:s,wsUrl:l,apiBase:n,agent:r}=e;return(0,t.jsx)(g.ResourceImportDialog,{open:a,onOpenChange:s,title:"导入 MCP zip",description:"选择一个 zip 文件并导入到 mcp-runtime。",uploadUrl:(0,x.buildMcpRuntimeImportUrl)(l,n,r),resetKey:r})}var f=e.i(62427);function h(e){return(null!=e.packageId?String(e.packageId).trim():"")||e.id}function v(e){let{open:s,onOpenChange:l,itemId:r,source:i,wsUrl:c,apiBase:u,agent:p,onSaved:m}=e,[x,g]=(0,a.useState)(""),[b,h]=(0,a.useState)(!1),[v,y]=(0,a.useState)(!1),C="remote"===i?"remote":"runtime";(0,a.useEffect)(()=>{if(!s||!r.trim())return;let e=!1;return h(!0),g("加载中…"),(0,f.loadRuntimeMcpItemConfig)(c,u,p,r,C).then(t=>{if(e)return;let a=t.overlay;a&&"object"==typeof a&&!Array.isArray(a)?g(JSON.stringify(a,null,2)):g("{}")}).catch(t=>{e||(n.appToast.error("加载 MCP 配置失败:".concat(t instanceof Error?t.message:String(t))),l(!1))}).finally(()=>{e||h(!1)}),()=>{e=!0}},[s,r,c,u,p,C,l]);let k=(0,a.useCallback)(async()=>{let e;if(!r.trim())return;let t=x.trim();try{e=t?JSON.parse(t):{}}catch(e){n.appToast.error("JSON 解析失败:".concat(e instanceof Error?e.message:String(e)));return}if(!e||"object"!=typeof e||Array.isArray(e))return void n.appToast.error("配置必须是 JSON 对象");if("mcpServers"in e&&null!=e.mcpServers)return void n.appToast.error("请填写标准 server 配置(command/args/env),不要嵌套 mcpServers");let a=0===Object.keys(e).length;y(!0);try{a?await (0,f.clearRuntimeMcpItemConfig)(c,u,p,r,C):await (0,f.saveRuntimeMcpItemConfig)(c,u,p,r,C,e),n.appToast.success("MCP 配置已保存"),l(!1),null==m||m()}catch(e){n.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}finally{y(!1)}},[r,x,c,u,p,C,l,m]);return(0,t.jsx)(o.AppDialog,{open:s,onOpenChange:l,title:"编辑 MCP 配置 · ".concat(r),width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:v,onClick:()=>l(!1),children:"取消"}),(0,t.jsx)(d.Button,{type:"button",size:"lg",disabled:v||b,onClick:()=>void k(),children:"保存"})]}),children:(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 font-mono text-sm leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:x,disabled:b,onChange:e=>g(e.target.value)})})}var y=e.i(68499),C=e.i(72064),k=e.i(56708);let j=[{value:"basic",label:"本地MCP"},{value:"installed",label:"远程MCP"}];function S(){let e=(0,s.useAppStore)(e=>e.wsUrl),x=(0,s.useAppStore)(e=>e.apiBase),g=(0,s.useAppStore)(e=>e.agentConfig),S=(0,s.useAppStore)(e=>e.setAgentConfig),{currentAgent:N,loadAgentConfig:w}=(0,l.useSession)(),A=(0,r.usePersistAgentConfigField)("mcpServers"),T=g.mcpServers,E=(0,a.useMemo)(()=>[...T].sort().join("\0"),[T]),[M,I]=(0,a.useState)([]),[z,B]=(0,a.useState)([]),[R,P]=(0,a.useState)(!1),[O,U]=(0,a.useState)(!1),[D,L]=(0,a.useState)("basic"),[F,_]=(0,a.useState)(!1),[K,J]=(0,a.useState)(!1),[V,H]=(0,a.useState)(""),[W,Z]=(0,a.useState)(!1),[Y,$]=(0,a.useState)(""),[G,q]=(0,a.useState)(),[Q,X]=(0,a.useState)(!1);(0,a.useEffect)(()=>{w()},[w]);let ee=(0,a.useCallback)(async(e,t)=>{U(!0);try{await A(e,{silent:t})}finally{U(!1)}},[A]),et=(0,a.useCallback)(e=>M.find(t=>t.id===e),[M]),ea=(0,a.useCallback)(e=>{let t=et(e);$(e),q(null==t?void 0:t.source),X(!0)},[et]),es=(0,a.useCallback)(async()=>{I([]),P(!0);try{var t;let a=await (0,f.listMcpServers)(e,x,N());I((null!=(t=a.servers)?t:[]).map(e=>{var t,a,s;return{...e,id:e.name,label:e.name+(e.disabled?"(已禁用)":""),description:null!=(a=null!=(t=e.description)?t:e.source)?a:"",source:null!=(s=e.source)?s:"",installed:!!e.installed,packageId:e.packageId}}))}catch(e){I([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{P(!1)}},[e,x,N]),el=(0,a.useCallback)(async t=>{var a;let s=et(t),l=null!=(a=null==s?void 0:s.source)?a:"";if("runtime"!==l&&"remote"!==l)return void n.appToast.error("基础MCP不可删除");if(await (0,y.confirmAlertDialog)({title:"确认删除 MCP?",description:"服务器名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{if("remote"===l){let a=await (0,f.loadRemoteMcpJson)(e,x,N()),s={};try{s=JSON.parse(String(a.content||"{}"))}catch(e){s={mcpServers:{}}}(!s.mcpServers||Array.isArray(s.mcpServers)||"object"!=typeof s.mcpServers)&&(s.mcpServers={}),delete s.mcpServers[t],await (0,f.saveRemoteMcpJson)(e,x,N(),JSON.stringify(s,null,2))}else{let a=s?h(s):t;await (0,f.deleteRuntimeMcp)(e,x,N(),a)}let a=T.filter(e=>e!==t);B(e=>e.filter(e=>e!==t)),S({...g,mcpServers:a}),await ee(a,!0),await es()}catch(e){n.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[et,e,x,N,T,g,S,ee,es]);(0,a.useEffect)(()=>{("basic"===D||"installed"===D)&&es()},[D,es]),(0,a.useEffect)(()=>{("basic"===D||"installed"===D)&&B([...T])},[D,T,E]);let en=(0,a.useCallback)(async e=>{let t=[...new Set(e)].sort();S({...g,mcpServers:t}),await ee(t,!0)},[g,S,ee]),er=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...z,e])]:z.filter(t=>t!==e);B(a);try{await en(a)}catch(e){B(z),n.appToast.error("切换启用状态失败: ".concat(e))}},[z,en]),ei=(0,a.useMemo)(()=>M.filter(e=>"remote"!==e.source).slice().sort((e,t)=>e.id.localeCompare(t.id)),[M]),eo=(0,a.useMemo)(()=>M.filter(e=>"remote"===e.source).slice().sort((e,t)=>{let a=+!z.includes(e.id),s=+!z.includes(t.id);return a!==s?a-s:e.id.localeCompare(t.id)}).map(e=>({...e,name:e.id,label:e.label,description:e.description||"",installed:!0,source:e.source,disabled:!z.includes(e.id)})),[M,z]),ec=(0,a.useCallback)(t=>{window.open((0,f.exportRuntimeMcpUrl)(e,x,N(),h(t)),"_blank","noopener")},[e,x,N]),ed=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...z,e])]:z.filter(t=>t!==e);B(a);try{await en(a)}catch(e){B(z),n.appToast.error("切换启用状态失败: ".concat(e))}},[z,en]),eu=(0,a.useCallback)(()=>{J(!0),H(""),(0,f.loadRemoteMcpJson)(e,x,N()).then(e=>{H("string"==typeof e.content?e.content:'{\n "mcpServers": {}\n}\n')}).catch(e=>{n.appToast.error("加载 mcp.json 失败:".concat(e instanceof Error?e.message:String(e))),J(!1)})},[e,x,N]),ep=(0,a.useCallback)(async()=>{let t=function(e){let t,a=e.trim();if(!a)return"请输入 JSON 配置内容";try{t=JSON.parse(a)}catch(e){return"JSON 解析失败:".concat(e instanceof Error?e.message:String(e))}if(!t||"object"!=typeof t||Array.isArray(t))return"JSON 根节点必须是对象";let s=t.mcpServers;if(!s||"object"!=typeof s||Array.isArray(s))return"mcpServers 不能为空,且需包含至少一个 server";let l=Object.keys(s).filter(e=>e.trim());if(!l.length)return"mcpServers 不能为空,且需包含至少一个 server";let n=new Set;for(let e of l){let t=e.trim();!t||n.has(t)||n.add(t)}return n.size?null:"未解析到有效的 server 名称"}(V);if(t)return void n.appToast.error(t);Z(!0);try{await (0,f.saveRemoteMcpJson)(e,x,N(),V.trim()),n.appToast.success("已保存全局 mcp.json。"),J(!1),await es()}catch(e){n.appToast.error("保存 mcp.json 失败:".concat(e instanceof Error?e.message:String(e)))}finally{Z(!1)}},[e,x,N,V,es]),em=[{key:"name",title:"名称",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.label},{key:"description",title:"详情",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"w-14 w-[112px] text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[112px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(u.AccentSwitch,{checked:z.includes(e.id),disabled:O,onCheckedChange:t=>{er(e.id,t)},"aria-label":"选择 ".concat(e.label)})})},{key:"actions",title:"操作",headerClassName:"w-[168px] text-base text-[var(--ds-muted)]",cellClassName:"w-[168px]",render:e=>{var a;let s=null!=(a=e.source)?a:"",l="runtime"===s,n="runtime"===s||"remote"===s;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(p.IconTooltipButton,{icon:"Download",label:l?"导出":"仅 runtime MCP 支持导出",ariaLabel:"导出 ".concat(e.label),disabled:O||!l,onClick:()=>ec(e)}),(0,t.jsx)(p.IconTooltipButton,{icon:"Edit",label:"编辑 MCP 配置",ariaLabel:"编辑 ".concat(e.label),disabled:O,onClick:()=>ea(e.id)}),(0,t.jsx)(p.IconTooltipButton,{icon:"Trash2",label:n?"删除":"基础MCP不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label),disabled:O||!n,onClick:()=>{el(e.id)},iconClassName:"text-red-500"})]})}}];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(k.ManageChromeHeaderActions,{children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center",children:[(0,t.jsxs)(d.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:eu,className:"mr-[12px]",children:[(0,t.jsx)(C.default,{name:"Edit",size:16,className:"align-middle"}),"编辑全局MCP"]}),(0,t.jsxs)(d.Button,{id:"btnAgentImportMcp",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>_(!0),children:[(0,t.jsx)(C.default,{name:"Import",size:16,className:"align-middle"}),"导入MCP"]})]})}),(0,t.jsxs)(i.AppTabs,{tabs:j,value:D,listVariant:"line",onChange:e=>L(e),children:[(0,t.jsx)(i.AppTabsPanel,{value:"basic",children:(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,t.jsx)("div",{className:"min-h-0",children:R?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(c.AppTable,{rows:ei,columns:em,getRowKey:e=>e.id})})})}),(0,t.jsx)(i.AppTabsPanel,{value:"installed",children:(0,t.jsx)(m,{items:eo,saveBusy:O,onToggleStatus:ed,onEdit:ea})})]}),(0,t.jsx)(b,{open:F,onOpenChange:e=>{_(e),e||es()},wsUrl:e,apiBase:x,agent:N()}),(0,t.jsx)(v,{open:Q,onOpenChange:X,itemId:Y,source:G,wsUrl:e,apiBase:x,agent:N(),onSaved:()=>{es(),ee(g.mcpServers,!0)}}),(0,t.jsx)(o.AppDialog,{open:K,onOpenChange:J,title:"编辑全局MCP",width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:W,onClick:()=>J(!1),children:"取消"}),(0,t.jsx)(d.Button,{type:"button",size:"lg",disabled:W,onClick:()=>void ep(),children:"保存"})]}),children:(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 text-base leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:V,onChange:e=>H(e.target.value)})})]})}},47079,e=>{"use strict";e.s(["SkillsManageView",()=>M],47079);var t=e.i(18050),a=e.i(71645),s=e.i(65934),l=e.i(87243),n=e.i(13354),r=e.i(50711),i=e.i(51419),o=e.i(92715),c=e.i(19455),d=e.i(94055),u=e.i(94197),p=e.i(72064),m=e.i(93479),x=e.i(75157);function g(e){let{className:a,...s}=e;return(0,t.jsx)("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:(0,x.cn)("flex w-full justify-end",a),...s})}let b=a.forwardRef((e,a)=>{let{className:s,...l}=e;return(0,t.jsx)("ul",{ref:a,"data-slot":"pagination-content",className:(0,x.cn)("flex flex-row flex-wrap items-center justify-end gap-1",s),...l})});b.displayName="PaginationContent";let f=a.forwardRef((e,a)=>{let{className:s,...l}=e;return(0,t.jsx)("li",{ref:a,"data-slot":"pagination-item",className:(0,x.cn)("",s),...l})});f.displayName="PaginationItem",a.forwardRef((e,a)=>{let{className:s,isActive:l,size:n="icon",...r}=e;return(0,t.jsx)("a",{ref:a,"aria-current":l?"page":void 0,"data-slot":"pagination-link","data-active":l?"true":void 0,className:(0,x.cn)((0,c.buttonVariants)({variant:l?"outline":"ghost",size:n}),s),...r})}).displayName="PaginationLink";var h=e.i(62427);function v(e){let{active:s,wsUrl:l,apiBase:r,agent:i,onAfterInstall:d,className:u}=e,[x,v]=(0,a.useState)(""),[y,C]=(0,a.useState)(1),[k,j]=(0,a.useState)(0),[S,N]=(0,a.useState)([]),[w,A]=(0,a.useState)(!1),[T,E]=(0,a.useState)(""),[M,I]=(0,a.useState)({}),z=(0,a.useRef)(0),B=(0,a.useCallback)(async()=>{let e=++z.current;A(!0),E("");try{let t=await (0,h.listCloudSkillCatalog)(l,r,i,x,y,10);if(e!==z.current)return;let a=Array.isArray(t.items)?t.items:[],s=[];for(let e of a)e&&"object"==typeof e&&e.id&&s.push({id:String(e.id),title:String(e.title||""),skillName:String(e.skillName||""),description:"string"==typeof e.description?e.description:"",installed:!!e.installed});N(s),j(t.totalPages)}catch(t){if(e!==z.current)return;N([]),j(0),E(t instanceof Error?t.message:String(t))}finally{e===z.current&&A(!1)}},[l,r,i,x,y]);(0,a.useEffect)(()=>{if(!s){v(""),C(1),j(0),N([]),E(""),I({}),z.current+=1;return}B()},[s,B]);let R=(0,a.useMemo)(()=>{if(w)return"加载中…";if(T)return"加载失败:".concat(T);let e=S.reduce((e,t)=>e+ +!!t.installed,0);return"已安装 ".concat(e," 项")},[w,T,S]),P=(0,a.useCallback)(async(e,t)=>{I(t=>({...t,[e]:!0}));try{await (0,h.installCloudSkill)(l,r,i,e),n.appToast.success("云端技能已安装:".concat(t)),await B(),null==d||d()}catch(e){n.appToast.error("安装失败:".concat(e instanceof Error?e.message:String(e)))}finally{I(t=>{let a={...t};return delete a[e],a})}},[l,r,i,B,d]),O=(0,a.useCallback)(e=>{C(1),v(e)},[]);if(!s)return null;let U=k>0?"第 ".concat(y,"/").concat(k," 页"):"第 0/0 页",D=w||y<=1,L=w||k<=0||y>=k,F=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.skillName?"".concat(e.skillName):e.id},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base text-[var(--ds-text)]",render:e=>(0,t.jsxs)(t.Fragment,{children:[e.title,e.description?" — ".concat(e.description):""]})},{key:"status",title:"状态",headerClassName:"text-base",cellClassName:"whitespace-nowrap text-base text-[var(--ds-text)]",render:e=>e.installed?"已安装":"未安装"},{key:"actions",title:"操作",headerClassName:"w-[96px] text-right text-base",cellClassName:"w-[116px] text-right",render:e=>{let a=!!M[e.id],s=!!e.installed;return!a&&s?"-":(0,t.jsx)(c.Button,{type:"button",size:"sm",variant:"outline",disabled:a||s,onClick:()=>void P(e.id,e.title||e.skillName||e.id),children:a?"安装中…":s?"已安装":"安装"})}}];return(0,t.jsx)("div",{className:u,children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)(m.Input,{type:"search",value:x,onChange:e=>O(e.target.value),placeholder:"搜索云端技能…",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base"}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:R}),(0,t.jsx)(o.AppTable,{rows:S,columns:F,getRowKey:e=>e.id,className:"min-h-0 flex-1 rounded-md",bodyProps:{viewportPaginationReserve:64},emptyNode:w?(0,t.jsx)("p",{className:"text-center text-base",children:"加载中…"}):void 0}),(0,t.jsx)(g,{className:"mx-0 w-full",children:(0,t.jsxs)(b,{className:"w-full flex-wrap justify-end gap-2",children:[(0,t.jsx)(f,{children:(0,t.jsxs)(c.Button,{type:"button",variant:"outline",size:"sm",disabled:D,className:"gap-1",onClick:()=>C(e=>Math.max(1,e-1)),"aria-label":"上一页",children:[(0,t.jsx)(p.default,{name:"ChevronLeft",size:16,className:"shrink-0"}),"上一页"]})}),(0,t.jsx)(f,{children:(0,t.jsx)("span",{className:"flex h-9 min-w-[6.5rem] items-center justify-center text-sm text-[var(--ds-muted)]",children:U})}),(0,t.jsx)(f,{children:(0,t.jsxs)(c.Button,{type:"button",variant:"outline",size:"sm",disabled:L,className:"gap-1",onClick:()=>C(e=>e+1),"aria-label":"下一页",children:["下一页",(0,t.jsx)(p.default,{name:"ChevronRight",size:16,className:"shrink-0",strokeWidth:1})]})})]})})]})})}var y=e.i(36845),C=e.i(53925);function k(e){let{open:a,onOpenChange:s,wsUrl:l,apiBase:n,agent:r}=e;return(0,t.jsx)(C.ResourceImportDialog,{open:a,onOpenChange:s,title:"导入 Skill zip",description:"选择一个 zip 文件并导入到 skills-runtime。",uploadUrl:(0,y.buildSkillsRuntimeImportUrl)(l,n,r),resetKey:r})}var j=e.i(55242);function S(e){let{open:s,onOpenChange:l,skillName:r,wsUrl:i,apiBase:o,agent:d,onSaved:u}=e,[p,m]=(0,a.useState)(""),[x,g]=(0,a.useState)(!1),[b,f]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(!s||!r.trim())return;let e=!1;return g(!0),m(""),(0,h.loadBaseSkillMd)(i,o,d,r).then(t=>{e||m("string"==typeof t.content?t.content:"")}).catch(t=>{e||(n.appToast.error("加载 SKILL.md 失败:".concat(t instanceof Error?t.message:String(t))),l(!1))}).finally(()=>{e||g(!1)}),()=>{e=!0}},[s,r,i,o,d,l]);let v=(0,a.useCallback)(async()=>{if(r.trim()){f(!0);try{await (0,h.saveBaseSkillMd)(i,o,d,r,p),n.appToast.success("SKILL.md 已保存"),l(!1),null==u||u()}catch(e){n.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}finally{f(!1)}}},[r,i,o,d,p,l,u]);return(0,t.jsx)(j.AppDialog,{open:s,onOpenChange:l,title:"编辑 SKILL.md · /".concat(r),width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:x||b,onClick:()=>l(!1),children:"取消"}),(0,t.jsx)(c.Button,{type:"button",size:"lg",disabled:x||b,onClick:()=>void v(),children:"保存"})]}),children:x?(0,t.jsx)("p",{className:"py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 text-base leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:p,placeholder:"Markdown 源码…",onChange:e=>m(e.target.value)})})}function N(e){let{items:a,saveBusy:s,onToggleEnabled:l,onExport:n,onRemove:r,className:i}=e,c=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base",render:e=>"/".concat(e.name)},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.description||"-"},{key:"status",title:"状态",headerClassName:"w-[160px] text-base",cellClassName:"w-[160px] text-base text-[var(--ds-text)]",render:()=>"已安装"},{key:"enabled",title:"启用/未启用",headerClassName:"w-[160px] text-right text-base",cellClassName:"w-[160px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex items-center justify-end gap-2",children:(0,t.jsx)(d.AccentSwitch,{checked:e.enabled,disabled:s,onCheckedChange:t=>l(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] text-base",cellClassName:"w-[128px]",render:e=>(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(u.IconTooltipButton,{icon:"Download",label:"导出",ariaLabel:"导出 ".concat(e.name),disabled:s,onClick:()=>n(e.name)}),(0,t.jsx)(u.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",ariaLabel:"删除 ".concat(e.name),disabled:s,onClick:()=>{r(e.name)}})]})}];return(0,t.jsx)(o.AppTable,{rows:a,columns:c,getRowKey:e=>"skills:".concat(e.name),className:i})}var w=e.i(68499),A=e.i(56708);function T(e,t){var a,s,l;let n=(l=null!=(s=null!=(a=e.description)?a:e.whenToUse)?s:"")?l.length>100?l.slice(0,100):l:"";return{...e,id:e.name,label:"/".concat(e.name),description:n,isRuntime:t,canManage:e.canManage}}let E=[{value:"basic",label:"基础Skill"},{value:"installed",label:"已安装Skill"},{value:"cloud_catalog",label:"Skill商店"}];function M(){let e=(0,s.useAppStore)(e=>e.wsUrl),m=(0,s.useAppStore)(e=>e.apiBase),x=(0,s.useAppStore)(e=>e.agentConfig),g=(0,s.useAppStore)(e=>e.patchAgentConfig),{currentAgent:b,loadAgentConfig:f}=(0,l.useSession)(),y=(0,r.usePersistAgentConfigField)("skills"),C=x.skills,j=(0,a.useMemo)(()=>[...C].sort().join("\0"),[C]),[M,I]=(0,a.useState)([]),[z,B]=(0,a.useState)([]),[R,P]=(0,a.useState)([]),[O,U]=(0,a.useState)(!1),[D,L]=(0,a.useState)(!1),[F,_]=(0,a.useState)(!1),[K,J]=(0,a.useState)("basic"),[V,H]=(0,a.useState)(!1),[W,Z]=(0,a.useState)(""),[Y,$]=(0,a.useState)(!1);(0,a.useEffect)(()=>{f()},[f]);let G=(0,a.useCallback)(async(e,t)=>{_(!0);try{await y(e,{silent:t})}finally{_(!1)}},[y]),q=(0,a.useCallback)(async()=>{I([]),U(!0);try{var t;let a=await (0,h.listBaseSkills)(e,m,b());I((null!=(t=a.skills)?t:[]).map(e=>T(e,!1)))}catch(e){I([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{U(!1)}},[e,m,b]),Q=(0,a.useCallback)(async()=>{B([]),L(!0);try{var t;let a=await (0,h.listInstalledSkills)(e,m,b());B((null!=(t=a.skills)?t:[]).map(e=>T(e,!0)))}catch(e){B([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{L(!1)}},[e,m,b]),X=(0,a.useCallback)(async()=>{await Promise.all([q(),Q()])},[q,Q]),ee=(0,a.useCallback)(async t=>{if(await (0,w.confirmAlertDialog)({title:"确认删除 Skill 包?",description:"Skill:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,h.deleteRuntimeSkill)(e,m,b(),t);let a=C.filter(e=>e!==t);P(e=>e.filter(e=>e!==t)),g({skills:a}),await G(a,!0),await X()}catch(e){n.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[e,m,b,C,g,G,X]);(0,a.useEffect)(()=>{"basic"===K&&q(),"installed"===K&&Q()},[K,q,Q]);let et=(0,a.useCallback)(()=>{X()},[X]);(0,a.useEffect)(()=>{"basic"===K&&P([...C])},[K,C,j]);let ea=(0,a.useCallback)(e=>{let t=[...new Set(e)].sort();g({skills:t}),G(t,!0)},[g,G]),es=(0,a.useMemo)(()=>z.slice().sort((e,t)=>e.label.localeCompare(t.label)).map(e=>({name:e.id,installed:!0,description:e.description||"",enabled:C.includes(e.id)})),[z,C]),el=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...C,e])].sort():C.filter(t=>t!==e);g({skills:a}),P(a),G(a,!0)},[C,g,G]),en=(0,a.useCallback)(t=>{window.open((0,h.exportRuntimeSkillUrl)(e,m,b(),t),"_blank","noopener")},[e,m,b]),er=(0,a.useCallback)(e=>{Z(e.id),$(!0)},[]),ei=[{key:"name",title:"名称",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.label},{key:"description",title:"详情",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"w-[102px] text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[102px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(d.AccentSwitch,{checked:R.includes(e.id),disabled:F,onCheckedChange:t=>{let a=t?[...new Set([...R,e.id])]:R.filter(t=>t!==e.id);P(a),ea(a)},"aria-label":"选择 ".concat(e.label)})})},{key:"actions",title:"操作",headerClassName:"w-[104px] text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[104px] py-2 text-right align-middle",render:e=>(0,t.jsxs)("span",{className:"inline-flex justify-end gap-1",children:[(0,t.jsx)(u.IconTooltipButton,{icon:"Edit",label:"编辑",disabled:F,ariaLabel:"编辑 ".concat(e.label),onClick:()=>er(e)}),(0,t.jsx)(u.IconTooltipButton,{icon:"Trash2",label:"系统技能不可删除",tone:"danger",disabled:!0,ariaLabel:"删除 ".concat(e.label)})]})}];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(A.ManageChromeHeaderActions,{children:(0,t.jsxs)(c.Button,{id:"btnAgentImportSkill",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>H(!0),children:[(0,t.jsx)(p.default,{name:"Import",size:16,className:"align-middle"}),"导入Skill"]})}),(0,t.jsxs)(i.AppTabs,{tabs:E,value:K,listVariant:"line",onChange:e=>J(e),children:[(0,t.jsx)(i.AppTabsPanel,{value:"basic",children:(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,t.jsx)("div",{className:"min-h-0",children:O?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(o.AppTable,{rows:M,columns:ei,getRowKey:e=>e.id})})})}),(0,t.jsx)(i.AppTabsPanel,{value:"installed",children:D?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(N,{items:es,saveBusy:F,onToggleEnabled:el,onExport:en,onRemove:ee})}),(0,t.jsx)(i.AppTabsPanel,{value:"cloud_catalog",className:"flex min-h-0 flex-1 flex-col",children:(0,t.jsx)(v,{active:"cloud_catalog"===K,wsUrl:e,apiBase:m,agent:b(),onAfterInstall:et,className:"min-h-0 flex-1"})})]}),(0,t.jsx)(k,{open:V,onOpenChange:e=>{H(e),e||X()},wsUrl:e,apiBase:m,agent:b()}),(0,t.jsx)(S,{open:Y,onOpenChange:$,skillName:W,wsUrl:e,apiBase:m,agent:b(),onSaved:()=>void X()})]})}},69230,e=>{"use strict";e.s(["SettingsRouteBoundary",()=>i]);var t=e.i(18050),a=e.i(22016),s=e.i(18566),l=e.i(82787),n=e.i(97249),r=e.i(65934);function i(e){let{children:i}=e,o=(0,s.usePathname)(),c=(0,r.useAppStore)(e=>e.agentId),d=(0,n.buildAppNavHref)(l.MANAGE_DEFAULT_HREF,{ensureAgent:!0,agent:c});return o&&!(0,l.isManageRouteEnabled)((0,n.normalizeAppPathname)(o))?(0,t.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,t.jsx)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-4 pb-4",children:(0,t.jsxs)("div",{className:"manage-page-title-block",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:"页面不可用"}),(0,t.jsx)("p",{className:"manage-page-desc",children:"当前设置页未开放或已被禁用。"})]})}),(0,t.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col items-center justify-center gap-3 text-sm text-[var(--ds-muted)]",children:(0,t.jsx)(a.default,{className:"text-zinc-900 underline underline-offset-4",href:d,prefetch:!1,children:"返回默认设置页"})})]}):(0,t.jsx)(t.Fragment,{children:i})}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18566,(e,t,n)=>{t.exports=e.r(76562)},85570,e=>{"use strict";e.s(["WorkspaceRuntimeContext",()=>n,"useWorkspaceRuntime",()=>r]);var t=e.i(71645);let n=(0,t.createContext)(null);function r(){let e=(0,t.useContext)(n);if(!e)throw Error("useWorkspaceRuntime must be used within WorkspaceShell");return e}},18253,e=>{"use strict";e.s(["useGuardedAppNavigation",()=>s]);var t=e.i(71645),n=e.i(18566),r=e.i(61196);function s(){let e=(0,n.useRouter)(),s=(0,r.useStageThreadFlyoutStore)(e=>e.confirmNavigateAway);return{push:(0,t.useCallback)(async t=>{await s(t)&&e.push(t)},[s,e]),router:e}}},67585,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return s}});let r=e.r(32061);function s(e){let{reason:t,children:n}=e;if("undefined"==typeof window)throw Object.defineProperty(new r.BailoutToCSRError(t),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}},9885,(e,t,n)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"encodeURIPath",{enumerable:!0,get:function(){return r}})},52157,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadChunks",{enumerable:!0,get:function(){return l}});let r=e.r(18050),s=e.r(74080),a=e.r(63599),i=e.r(9885);function l(e){let{moduleIds:t}=e;if("undefined"!=typeof window)return null;let n=a.workAsyncStorage.getStore();if(void 0===n)return null;let l=[];if(n.reactLoadableManifest&&t){let e=n.reactLoadableManifest;for(let n of t){if(!e[n])continue;let t=e[n].files;l.push(...t)}}return 0===l.length?null:(0,r.jsx)(r.Fragment,{children:l.map(e=>{let t=n.assetPrefix+"/_next/"+(0,i.encodeURIPath)(e);return e.endsWith(".css")?(0,r.jsx)("link",{precedence:"dynamic",href:t,rel:"stylesheet",as:"style"},e):((0,s.preload)(t,{as:"script",fetchPriority:"low"}),null)})})}},69093,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return u}});let r=e.r(18050),s=e.r(71645),a=e.r(67585),i=e.r(52157);function l(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},u=function(e){let t={...o,...e},n=(0,s.lazy)(()=>t.loader().then(l)),u=t.loading;function d(e){let l=u?(0,r.jsx)(u,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,d=o?s.Suspense:s.Fragment,c=t.ssr?(0,r.jsxs)(r.Fragment,{children:["undefined"==typeof window?(0,r.jsx)(i.PreloadChunks,{moduleIds:t.modules}):null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(d,{...o?{fallback:l}:{},children:c})}return d.displayName="LoadableComponent",d}},70703,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return s}});let r=e.r(55682)._(e.r(69093));function s(e,t){var n;let s={};"function"==typeof e&&(s.loader=e);let a={...s,...t};return(0,r.default)({...a,modules:null==(n=a.loadableGenerated)?void 0:n.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},82787,87968,e=>{"use strict";e.s(["MANAGE_DEFAULT_HREF",()=>f,"getBridgeSidebarManageRoutes",()=>g,"getManageRoute",()=>m,"isManageRouteEnabled",()=>h,"isManageSideNavPath",()=>v],82787);var t=e.i(70703),n=e.i(71645),r=e.i(18050);e.s(["Spinner",()=>i],87968);var s=e.i(72064),a=e.i(75157);function i(e){let{className:t}=e;return(0,r.jsx)(s.default,{name:"Loader2",size:16,className:(0,a.cn)("animate-spin text-muted-foreground",t)})}function l(e){let{className:t}=e;return(0,r.jsxs)("div",{className:(0,a.cn)("flex min-h-[40vh] flex-1 items-center justify-center gap-2 text-sm text-zinc-500",t),children:[(0,r.jsx)(i,{})," 加载中"]})}function o(){return(0,r.jsx)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col items-center justify-center text-[var(--ds-muted)]",children:"即将上线"})}var u=e.i(97249);function d(e){return(0,t.default)(e,{loading:()=>(0,n.createElement)(l)})}let c=[{key:"teams",slug:"teams",label:"agent / teams",title:"agent / teams 管理",description:"管理 Agent 团队与协作编排。",chrome:"feature",icon:"Teams",enabled:!0,visibleInNav:!1,headerIcon:"Agent2",visibleInBridgeSidebar:!0,Component:d(()=>e.A(2578).then(e=>({default:e.TeamsView})))},{key:"task",slug:"task",label:"定时任务",title:"定时任务",description:"管理计划执行的任务与触发记录。",chrome:"feature",icon:"Task",enabled:!0,headerIcon:"Calendar",visibleInNav:!1,visibleInBridgeSidebar:!0,Component:d(()=>e.A(94065).then(e=>({default:e.TaskView})))},{key:"add-account",slug:"add-account",label:"账户",title:"账户",description:"",chrome:"side-nav",icon:"Account",enabled:!0,visibleInNav:!0,children:[{key:"basic",slug:"basic",label:"基本信息",title:"基本信息",description:"",chrome:"side-nav",tabVariant:"pill",showTitle:!1,Component:d(()=>e.A(34116).then(e=>({default:e.AddAccountView})))}]},{key:"env",slug:"env",label:"服务商",title:"服务商",description:"管理 API 服务商以访问模型。",chrome:"side-nav",icon:"Server",enabled:!0,visibleInNav:!0,Component:d(()=>e.A(1861).then(e=>({default:e.EnvManageView})))},{key:"permissions",slug:"permissions",label:"权限",title:"权限",description:"管理平台访问权限与角色策略。",chrome:"side-nav",enabled:!1,visibleInNav:!1,Component:o},{key:"general",slug:"general",label:"通用",title:"通用",description:"平台通用配置与偏好设置。",chrome:"side-nav",enabled:!1,visibleInNav:!1,Component:o},{key:"mcp",slug:"mcp",label:"MCP",title:"MCP管理",description:"管理外部工具与数据源。可以导入、编辑、移除或禁用 MCP 服务。",chrome:"side-nav",icon:"Mcp",enabled:!0,visibleInNav:!0,Component:d(()=>e.A(18963).then(e=>({default:e.McpManageView})))},{key:"tools",slug:"tools",label:"工具",title:"工具管理",description:"管理当前 Agent 已挂载的工具列表",chrome:"side-nav",icon:"Tool",enabled:!0,visibleInNav:!0,Component:d(()=>e.A(9803).then(e=>({default:e.ToolsManageView})))},{key:"skills",slug:"skills",label:"技能",title:"技能管理",description:"管理当前 Agent 已挂载的技能",chrome:"side-nav",icon:"Skill",enabled:!0,visibleInNav:!0,Component:d(()=>e.A(69496).then(e=>({default:e.SkillsManageView})))},{key:"agent-teams",slug:"agent-teams",label:"agents",title:"Agent 团队管理",description:"管理当前 Agent 可调度的子 Agent 团队",chrome:"side-nav",icon:"Agent",enabled:!0,visibleInNav:!0,Component:d(()=>e.A(56149).then(e=>({default:e.AgentTeamsManageView})))},{key:"about",slug:"about",label:"关于",title:"关于",description:"版本信息与平台说明。",chrome:"side-nav",enabled:!0,visibleInNav:!1,Component:o}].map(e=>{var t,n;let{children:r,...s}=e;return{...s,href:(0,u.buildSettingsHref)(e.slug),...r?{children:(t=e.slug,n=e.chrome,r.map(e=>{var r,s;let a="".concat(t,"/").concat(e.slug);return{...e,slug:a,href:(0,u.buildSettingsHref)(a),chrome:null!=(r=e.chrome)?r:n,enabled:null==(s=e.enabled)||s,visibleInNav:!1}}))}:{}}});function p(e){return e.Component}let f=function(){var e,t,n,r,s,a;let i=null!=(n=null!=(t=null!=(e=c.find(e=>e.enabled&&e.visibleInNav&&"side-nav"===e.chrome))?e:c.find(e=>e.enabled&&"side-nav"===e.chrome))?t:c.find(e=>"side-nav"===e.chrome))?n:c[0],l=null!=(a=null==(r=i.children)?void 0:r.find(e=>e.enabled))?a:null==(s=i.children)?void 0:s[0];if(l)return l;if(p(i))return i;let o=c.find(e=>p(e));return o||c.flatMap(e=>{var t;return null!=(t=e.children)?t:[]})[0]}().href;function m(e){return c.find(t=>t.key===e)}function g(){return c.filter(e=>e.enabled&&!0===e.visibleInBridgeSidebar&&void 0!==e.icon).map(e=>{let{key:t,label:n,href:r,icon:s,headerIcon:a}=e;return{key:t,label:n,href:r,icon:s,headerIcon:null!=a?a:s}})}function h(e){var t;return(null===(t=(0,u.getSettingsRouteByPathname)(e,function(){let e=[];for(let n of c){var t;p(n)&&e.push(n),(null==(t=n.children)?void 0:t.length)&&e.push(...n.children)}return e}()))||void 0===t?void 0:t.enabled)!==!1}function v(e){if(!e)return!1;let t=c.filter(e=>"side-nav"===e.chrome);return(0,u.isSettingsRoutePath)(e,t)}},21199,41143,e=>{"use strict";e.s(["WorkspaceShell",()=>X],21199);var t=e.i(18050),n=e.i(71645),r=e.i(18566),s=e.i(65934),a=e.i(36845),i=e.i(20090);let l={EVENT:{SESSION_META:"session.meta",SESSION_READY:"session.ready",SESSION_ERROR:"session.error",QUERY_PROGRESS:"query.progress",CONVERSATION_DELTA:"conversation.delta",RUN_LIFECYCLE:"run.lifecycle",HISTORY_REPLAY:"history.replay",TURN_TERMINAL:"turn.terminal",PERMISSION_REQUEST:"permission.request"}};e.s(["SCHEDULE_TOOL_NAME",()=>o,"buildScheduledTaskIndex",()=>f,"parseScheduleToolResult",()=>p,"partitionScheduledSegments",()=>m,"retainScheduledTriggerFlag",()=>d,"withScheduledTriggerMeta",()=>u],41143);let o="ScheduleTool";function u(e,t,n){return e&&"object"==typeof e&&(t||n)?{...e,...t?{__scheduledTrigger:!0}:{},...n?{__turnId:n}:{}}:e}function d(e,t){if(!e||"object"!=typeof e)return t;let n=e.data,r=!!n&&"object"==typeof n&&!0===n.scheduledTrigger,s=!0===e.scheduledTrigger||!0===e.__scheduledTrigger,a="string"==typeof e.turnId?e.turnId:"",i="string"==typeof e.__turnId?e.__turnId:"";return r||s||a||i?{...t,...r||s?{__scheduledTrigger:!0}:{},...a||i?{__turnId:a||i}:{}}:t}function c(e){return!!e&&"object"==typeof e&&!0===e.__scheduledTrigger}function p(e,t){if("string"==typeof e)try{let t=JSON.parse(e);if(t&&"object"==typeof t)return t}catch(e){}if(e&&"object"==typeof e)return e;if(t&&"object"==typeof t){let e=t.toolUseResult;if(e&&"object"==typeof e)return e}return null}function f(e){let t=new Map,n=new Map;for(let c of e){let e=v(c);for(let g of function(e){if(!e||"object"!=typeof e)return[];let t=e.message,n=null==t?void 0:t.content;return Array.isArray(n)?n.filter(e=>!!e&&"object"==typeof e):[]}(c)){var r,s,a,i,l,u,d,f,m,b;if("tool_use"===g.type&&g.name===o){let t="string"==typeof g.id?g.id:"";if(!t)continue;let r=(b=g.input)&&"object"==typeof b?b:{},s=function(e){if(null==e||""===e)return;let t=Number(e);return Number.isFinite(t)?t:void 0}(r.delayMinutes);n.set(t,{toolUseId:t,id:r.id,prompt:null!=(a=r.prompt)?a:"",delayMinutes:s,createdAt:e,status:"cancel"===r.action?"cancelled":"scheduled"});continue}if("tool_result"!==g.type||"string"!=typeof g.tool_use_id)continue;let h=n.get(g.tool_use_id);if(!h)continue;let v=p(g.content,c);if(!v){n.delete(g.tool_use_id);continue}let y=v.id||h.id||"pending-".concat(g.tool_use_id),S={id:y,prompt:null!=(i=h.prompt)?i:"",fireAt:null!=(u=null!=(l=null==(r=v.scheduleClock)?void 0:r.utcIso)?l:null==(s=v.scheduleClock)?void 0:s.localDateTime)?u:"",createdAt:null!=(d=h.createdAt)?d:"",delayMinutes:null!=(f=v.delayMinutes)?f:h.delayMinutes,cron:v.cron,recurring:v.recurring,status:v.error?"failed":null!=(m=h.status)?m:"scheduled"};t.set(y,S),n.delete(g.tool_use_id)}}for(let n of e){if(!c(n)||"user"!==g(n))continue;let e=h(n);if(e){for(let r of t.values())if(r.prompt===e&&"scheduled"===r.status){r.status="fired",r.firedTurnId=function(e){if(!e||"object"!=typeof e)return"";let t=e.__turnId;return"string"==typeof t?t:""}(n);break}}}return t}function m(e,t){let n=new Map,r=new Set,s=0;for(;s<e.length;){var a;if(!c(e[s])){s+=1;continue}let i=s,l=[];for(;s<e.length&&c(e[s]);)l.push(e[s]),s+=1;let o=s-1,u=null!=(a=l.filter(e=>"user"===g(e)).map(e=>h(e)).find(e=>e.trim().length>0))?a:"",d=v(l[0]),p=l.filter(e=>"user"!==g(e)),f=function(e,t){if(e&&t.trim()){for(let n of e.values())if(n.prompt===t)return n.id}}(t,u);n.set(i,{kind:"scheduledTurn",startIndex:i,endIndex:o,dispatchedPrompt:u,triggeredAt:d,taskId:f,assistantMessages:p});for(let e=i+1;e<=o;e+=1)r.add(e)}return{scheduledStarts:n,consumed:r}}function g(e){if(!e||"object"!=typeof e)return"";let t=e.type;if("string"==typeof t)return t;let n=e.message;return"string"==typeof(null==n?void 0:n.role)?n.role:""}function h(e){if(!e||"object"!=typeof e)return"";let t=e.message,n=null==t?void 0:t.content;return"string"==typeof n?n:Array.isArray(n)?n.map(e=>e&&"object"==typeof e?"text"===e.type&&"string"==typeof e.text?e.text:"markdown"===e.type&&"string"==typeof e.content?e.content:"":"").filter(Boolean).join("\n").trim():""}function v(e){var t;if(!e||"object"!=typeof e)return"";let n=e.message,r=n&&"object"==typeof n?n.timestamp:void 0,s=null!=(t=null!=r?r:e.timestamp)?t:e.ts;return"string"==typeof s?s:""}var b=e.i(55227);function y(e){let t=Number(e);return Number.isFinite(t)?Math.max(0,Math.floor(t)):0}function S(e){let t=e&&"object"==typeof e?Number(e.protocolVersion):NaN;return"object"==typeof e&&null!==e&&"protocolVersion"in e&&Number.isFinite(t)&&3===t&&"string"==typeof e.type}let x=new Map;function A(e){if(!e||"object"!=typeof e)return"";if(("string"==typeof e.type?e.type:"unknown")===l.EVENT.TURN_TERMINAL){let t="string"==typeof e.resultText?e.resultText:"",n="string"==typeof e.reason?e.reason:"";return"resolved"==("resolved"===e.status?"resolved":"failed")?t:"turn.terminal failed: ".concat(n||"unknown")}try{return"```json\n".concat(JSON.stringify(e,null,2).slice(0,8e3),"\n```")}catch(t){return String(e)}}var j=e.i(87243),N=e.i(50711);async function k(e,t,n){var r;let a=String(e||"").trim();if(!a)return!1;let i=s.useAppStore.getState();if(a===(i.agentId.trim()||"qihoo"))return!1;let l=(null==n||null==(r=n.displayName)?void 0:r.trim())||a;i.startDraftSession(),i.resetAgentConfig(),i.setAgentId(a),i.setCurrentWorkspaceAgent({id:a,displayName:l});try{await t.loadSessions()}catch(e){}t.loadAgentConfig();let o=s.useAppStore.getState().sessionId.trim();return t.preferReconnect?t.reconnect():t.switchSession(o,a),!0}var w=e.i(92413),I=e.i(55146),C=e.i(72064),E=e.i(46798);let T=(0,e.i(75254).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var R=e.i(85570),_=e.i(97249),M=e.i(75157),P=e.i(8279),L=e.i(52727),O=e.i(18253);function z(e){let{collapsed:r,onGoToSettings:a}=e,{push:i}=(0,O.useGuardedAppNavigation)(),l=(0,s.useAppStore)(e=>e.currentWorkspaceAgent),o=(0,s.useAppStore)(e=>e.agentId),u=(0,s.useAppStore)(e=>e.wsUrl),d=(0,s.useAppStore)(e=>e.apiBase),c=(0,s.useAppStore)(e=>e.setCurrentWorkspaceAgent),{switchWorkspaceAgent:p}=(0,R.useWorkspaceRuntime)(),f=o.trim()||"qihoo",m=(null==l?void 0:l.id)===f&&l.displayName.trim()||f,g=(0,P.initialsFromLabel)(m),[h,v]=(0,n.useState)(!1),[b,y]=(0,n.useState)(!1),[S,x]=(0,n.useState)([]),[A,j]=(0,n.useState)(!1),[N,k]=(0,n.useState)(null),w=(0,n.useRef)(null),I=(0,n.useRef)(null),E=(0,n.useCallback)(()=>{w.current&&(clearTimeout(w.current),w.current=null)},[]),z=(0,n.useCallback)(()=>{I.current&&(clearTimeout(I.current),I.current=null)},[]),W=(0,n.useCallback)(()=>{E(),v(!0)},[E]),D=(0,n.useCallback)(()=>{E(),w.current=setTimeout(()=>{v(!1),w.current=null},120)},[E]),F=(0,n.useCallback)(()=>{z(),y(!0)},[z]),B=(0,n.useCallback)(()=>{z(),I.current=setTimeout(()=>{y(!1),I.current=null},120)},[z]),U=(0,n.useCallback)(()=>{y(!1),v(!1),null==a||a()},[a]),V=(0,n.useCallback)(async e=>{let t=e.id.trim();v(!1),t&&t!==f&&await p(t,e.displayName)&&i((0,_.buildAppNavHref)("/",{ensureAgent:!0,agent:t,preserveSessionId:!1}))},[f,i,p]);return(0,n.useEffect)(()=>{if(!h)return;let e=!1;return j(!0),k(null),x([]),(0,L.listAgents)(u,d).then(t=>{e||x(t)}).catch(t=>{e||k(String(t))}).finally(()=>{e||j(!1)}),()=>{e=!0}},[h,u,d]),(0,n.useEffect)(()=>{if(!S.length)return;let e=S.find(e=>e.id===f);e&&((null==l?void 0:l.id)!==e.id||l.displayName!==e.displayName)&&c(e)},[S,f,l,c]),(0,n.useEffect)(()=>()=>{w.current&&clearTimeout(w.current),I.current&&clearTimeout(I.current)},[]),(0,t.jsxs)("div",{className:(0,M.cn)("shrink-0 border-t border-solid border-[var(--ds-border)] transition",r?"flex w-full justify-center p-[1rem_.75rem]":"flex items-center gap-2 p-[1rem_.75rem]"),onClick:r?e=>e.stopPropagation():void 0,children:[(0,t.jsxs)("div",{className:(0,M.cn)("relative min-w-0",!r&&"flex-1"),onMouseEnter:W,onMouseLeave:D,children:[(0,t.jsxs)("div",{className:(0,M.cn)("flex min-w-0 cursor-pointer items-center gap-2 rounded-lg px-0.5 py-0.5",r&&"w-full justify-center"),children:[(0,t.jsx)("span",{className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-semibold text-white",style:{background:"var(--avatar-bg)"},children:g}),r?null:(0,t.jsx)("span",{className:"min-w-0 truncate text-base text-[var(--ds-text)]",children:m})]}),h?(0,t.jsx)("div",{className:"absolute bottom-full left-0 z-50 pb-2 shadow-[var(--shadow-float)]",onMouseEnter:W,onMouseLeave:D,children:(0,t.jsx)("div",{className:(0,M.cn)("flex max-h-[300px] w-[260px] max-w-[min(100vw-24px,260px)] flex-col overflow-hidden rounded-[var(--ds-radius-sm)] border border-solid border-[var(--ds-border)] bg-[var(--ds-bg)]","shadow-[var(--shadow-float)]"),children:(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-1.5",role:"listbox","aria-label":"切换 Agent",children:A?(0,t.jsx)("div",{className:"px-2 py-3 text-sm text-[var(--ds-muted)]",children:"加载中…"}):N?(0,t.jsxs)("div",{className:"px-2 py-3 text-sm text-red-600",children:["加载失败: ",N]}):0===S.length?(0,t.jsx)("div",{className:"px-2 py-3 text-sm text-[var(--ds-muted)]",children:"暂无 agent"}):S.map(e=>{let n=e.id===f,r=(0,P.initialsFromLabel)(e.displayName);return(0,t.jsxs)("button",{type:"button",role:"option",className:"flex w-full cursor-pointer items-center gap-2 rounded-xl border-0 bg-transparent px-2 py-2 text-left text-base hover:bg-[var(--ds-item-hover)] focus-visible:outline-none","aria-selected":n,onClick:()=>V(e),children:[(0,t.jsx)("span",{className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-xs font-semibold text-white",style:{background:"var(--avatar-bg)"},children:r}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 leading-tight",children:[(0,t.jsx)("span",{className:"block truncate text-[var(--ds-text)]",children:e.displayName}),e.displayName!==e.id?(0,t.jsx)("span",{className:"block truncate text-xs text-[var(--ds-muted)]",children:e.id}):null]}),n?(0,t.jsx)("span",{className:"shrink-0","aria-label":"当前 Agent",children:(0,t.jsx)(C.default,{name:"Check",size:16,className:"text-[var(--ds-accent)]"})}):null]},e.id)})})})}):null]}),(0,t.jsxs)("div",{className:"relative shrink-0",onMouseEnter:F,onMouseLeave:B,children:[(0,t.jsx)("button",{type:"button",className:"inline-flex h-7 w-7 cursor-pointer items-center justify-center rounded-md border-0 bg-transparent text-[var(--ds-muted)] hover:bg-[var(--ds-item-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ds-accent)]","aria-label":"更多",children:(0,t.jsx)(C.default,{name:"More",size:16,className:"shrink-0"})}),b?(0,t.jsx)("div",{className:"absolute bottom-full right-0 z-50 pb-2 shadow-[var(--shadow-float)]",onMouseEnter:F,onMouseLeave:B,children:(0,t.jsx)("div",{className:(0,M.cn)("w-[160px] max-w-[min(100vw-24px,160px)] overflow-hidden rounded-[var(--ds-radius-sm)] border border-solid border-[var(--ds-border)] bg-[var(--ds-bg)]","shadow-[var(--shadow-float)]"),children:(0,t.jsx)("div",{className:"p-1.5",children:(0,t.jsxs)("button",{type:"button",className:(0,M.cn)("flex h-9 w-full cursor-pointer items-center gap-2 rounded-[var(--ds-radius-sm)] border-0 bg-transparent px-2.5 text-left text-base text-[var(--ds-text)]","hover:bg-[var(--ds-item-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ds-accent)]"),onClick:U,children:[(0,t.jsx)(T,{size:16,className:"shrink-0 text-[var(--icon-color)]"}),"设置"]})})})}):null]})]})}var W=e.i(82787);let D="bridge-sidebar-collapsed";function F(e){let{onNewSession:a,onSelectSession:i,deleteSessionById:l}=e,{push:o,router:u}=(0,O.useGuardedAppNavigation)(),d=(0,r.usePathname)(),c=(0,s.useAppStore)(e=>e.lastSessions),p=(0,s.useAppStore)(e=>e.sessionId),f=(0,s.useAppStore)(e=>e.brand),m=(0,s.useAppStore)(e=>e.agentId),[g,h]=(0,n.useState)(!1),v=(0,n.useRef)(!1),[b,y]=(0,n.useState)(null),[S,x]=(0,n.useState)(!0),A=(0,n.useMemo)(()=>(0,W.getBridgeSidebarManageRoutes)(),[]),j=(0,n.useCallback)((e,t)=>(0,_.buildAppNavHref)(e,{ensureAgent:null==t?void 0:t.ensureAgent,agent:m,preserveSessionId:"/"===e&&!(null==t?void 0:t.clearSessionId),sessionId:null==t?void 0:t.sessionId}),[m]),N=(0,n.useCallback)(e=>{let t=(0,_.normalizeAppPathname)(d),n=(0,_.normalizeAppPathname)(e);return t===n||t.startsWith("".concat(n,"/"))},[d]),k=(0,n.useCallback)(e=>{o(j(e,{ensureAgent:!0}))},[o,j]);(0,n.useEffect)(()=>{let e,t,n=[...["env","add-account"].flatMap(e=>{var t;let n=null==(t=(0,W.getManageRoute)(e))?void 0:t.href;return n?[j(n,{ensureAgent:!0})]:[]}),...A.map(e=>j(e.href,{ensureAgent:!0}))],r=()=>{for(let e of n)try{u.prefetch(e)}catch(e){}};return"requestIdleCallback"in window?e=window.requestIdleCallback(r,{timeout:2500}):t=setTimeout(r,200),()=>{void 0!==e&&window.cancelIdleCallback(e),void 0!==t&&clearTimeout(t)}},[u,j,A]),(0,n.useEffect)(()=>{try{let e=window.localStorage.getItem(D);"true"===e&&h(!0)}catch(e){}finally{v.current=!0}},[]),(0,n.useEffect)(()=>{if(v.current)try{window.localStorage.setItem(D,String(g))}catch(e){}},[g]),(0,n.useEffect)(()=>{if(!b)return;let e=e=>{let t=e.target;!(!(t instanceof Element)||t.closest("[data-session-menu-wrap]"))&&(t.closest('[data-slot="dropdown-menu-content"]')||y(null))};return document.addEventListener("pointerdown",e,!0),()=>document.removeEventListener("pointerdown",e,!0)},[b]);let T=(0,n.useCallback)(()=>{o(j(W.MANAGE_DEFAULT_HREF,{ensureAgent:!0}))},[o,j]);return(0,t.jsx)("aside",{className:"sidebar ".concat(g?"is-collapsed h-dvh max-h-dvh min-h-0 self-start":""),"data-region":"sidebar-panels",onClick:()=>{g&&h(!1)},children:g?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col items-center gap-[10px] overflow-y-auto overscroll-contain pt-3",children:(0,t.jsxs)(E.TooltipProvider,{side:"right",children:[(0,t.jsx)("div",{className:"group relative flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center",onClick:e=>e.stopPropagation(),children:(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center transition-opacity group-hover:pointer-events-auto group-hover:opacity-100",children:(0,t.jsxs)(E.Tooltip,{children:[(0,t.jsx)(E.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:"sidebar-collapsed-icon-btn",title:"展开侧边栏","aria-label":"展开侧边栏",onClick:e=>{e.preventDefault(),e.stopPropagation(),h(!1)},children:(0,t.jsx)(C.default,{name:"Layout",size:17,color:"#8f8f8f"})})}),(0,t.jsx)(E.TooltipContent,{children:(0,t.jsx)("p",{children:"展开侧边栏"})})]})})}),(0,t.jsxs)(E.Tooltip,{children:[(0,t.jsx)(E.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:"sidebar-collapsed-icon-btn",title:"新聊天","aria-label":"新聊天",onClick:e=>{e.preventDefault(),e.stopPropagation(),a(),o(j("/",{clearSessionId:!0}))},children:(0,t.jsx)(C.default,{name:"Add",size:16,className:"text-zinc-700"})})}),(0,t.jsx)(E.TooltipContent,{children:(0,t.jsx)("p",{children:"新聊天"})})]}),A.map(e=>{let n=N(e.href);return(0,t.jsxs)(E.Tooltip,{children:[(0,t.jsx)(E.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:"sidebar-collapsed-icon-btn ".concat(n?"bg-[var(--ds-item-active)] text-[var(--ds-accent)]":""),title:e.label,"aria-label":e.label,"aria-current":n?"page":void 0,onClick:t=>{t.preventDefault(),t.stopPropagation(),k(e.href)},children:(0,t.jsx)(C.default,{name:e.icon,size:16,className:n?"text-[var(--ds-accent)]":"text-zinc-700",strokeWidth:1.2})})}),(0,t.jsx)(E.TooltipContent,{children:(0,t.jsx)("p",{children:e.label})})]},e.key)})]})}),(0,t.jsx)("div",{className:"w-full shrink-0",onClick:e=>e.stopPropagation(),children:(0,t.jsx)(z,{collapsed:!0,onGoToSettings:T})})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"sidebar-brand",children:(0,t.jsxs)("div",{className:"sidebar-brand-title-row flex items-center justify-between",children:[(0,t.jsx)("div",{className:"logo flex min-w-0 items-center gap-2",children:(0,t.jsx)("span",{className:"truncate text-zinc-900",children:f})}),(0,t.jsx)(E.TooltipProvider,{side:"right",children:(0,t.jsxs)(E.Tooltip,{children:[(0,t.jsx)(E.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:"sidebar-icon-btn",title:"收起侧边栏","aria-label":"收起侧边栏",onClick:e=>{e.preventDefault(),e.stopPropagation(),h(!0)},children:(0,t.jsx)(C.default,{name:"Layout",size:17,color:"#8f8f8f"})})}),(0,t.jsx)(E.TooltipContent,{children:(0,t.jsx)("p",{children:"收起侧边栏"})})]})})]})}),(0,t.jsx)("div",{className:"new-chat",children:(0,t.jsxs)("div",{className:"mb-4 ml-2 mr-2 mt-2 flex cursor-pointer items-center gap-2.5 rounded-2xl px-2 py-2 text-base text-zinc-700 transition-colors hover:bg-white/70",title:"开启新对话","aria-label":"开启新对话",onClick:e=>{e.preventDefault(),a(),o(j("/",{clearSessionId:!0}))},children:[(0,t.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--ds-item-active)] text-[var(--ds-accent)]","aria-hidden":!0,children:(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:(0,t.jsx)("path",{d:"M12 5v14M5 12h14"})})}),(0,t.jsx)("span",{className:"min-w-0 font-medium",children:"新会话"})]})}),(0,t.jsx)("div",{className:"sidebar-drawers",children:A.map(e=>{let n=N(e.href);return(0,t.jsxs)("div",{className:"m-[.35rem_.35rem_0] flex cursor-pointer items-center rounded-[var(--ds-radius-sm)] p-[.45rem_.75rem] ".concat(n?"bg-[var(--ds-item-active)] text-[var(--ds-accent)]":"hover:bg-[var(--ds-item-active)] hover:text-zinc-900"),role:"button",tabIndex:0,"aria-current":n?"page":void 0,onClick:t=>{t.preventDefault(),t.stopPropagation(),k(e.href)},onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&k(e.href)},children:[(0,t.jsx)(C.default,{name:e.icon,size:16,className:"mr-3 text-zinc-700",strokeWidth:1.2}),(0,t.jsx)("span",{className:"text-base text-zinc-900",children:e.label})]},e.key)})}),(0,t.jsx)("div",{className:"sidebar-drawers",children:(0,t.jsxs)("div",{className:"sidebar-drawer m-[.35rem_.35rem_0] mt-4",children:[(0,t.jsxs)("button",{type:"button",className:"flex w-full cursor-pointer items-center !border-none !bg-transparent p-[.45rem_.75rem] text-left text-[12px] font-[600] text-zinc-400 hover:text-zinc-600 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ds-accent)] focus-visible:ring-offset-2","aria-expanded":S,"aria-controls":"sessionList","aria-label":S?"收起历史会话列表":"展开历史会话列表",onClick:()=>{x(e=>!e)},children:["历史会话",S?(0,t.jsx)(C.default,{name:"ChevronDown",size:12,strokeWidth:1,className:"ml-1 shrink-0 text-[var(--ds-muted)]"}):(0,t.jsx)(C.default,{name:"ChevronRight",size:12,strokeWidth:1,className:"ml-1 shrink-0 text-[var(--ds-muted)]"})]}),S?(0,t.jsx)("div",{className:"sidebar-drawer-body sidebar-drawer-body--sessions",children:(0,t.jsx)("div",{id:"sessionList",children:c.length?(0,w.groupSessionsByMonth)(c).map(e=>(0,t.jsx)("div",{children:e.items.map(e=>{let n=e.sessionId===p.trim();return(0,t.jsxs)("div",{className:"sidebar-drawer-item session-item ".concat(n?"active":""),children:[(0,t.jsx)("button",{type:"button",className:"session-item-main",onClick:t=>{t.stopPropagation(),i(e.sessionId),o(j("/",{sessionId:e.sessionId}))},children:(0,t.jsx)("div",{className:"session-item-title",children:(0,w.sessionTitle)(e)})}),(0,t.jsx)("div",{className:"session-menu-wrap","data-session-menu-wrap":"",onClick:t=>{t.stopPropagation(),t.target===t.currentTarget&&y(t=>t===e.sessionId?null:e.sessionId)},children:(0,t.jsxs)(I.DropdownMenu,{open:b===e.sessionId,onOpenChange:e=>{e||y(null)},children:[(0,t.jsx)(I.DropdownMenuTrigger,{type:"button",className:"session-menu-btn","aria-label":"更多",onClick:t=>{t.stopPropagation(),y(t=>t===e.sessionId?null:e.sessionId)},children:"···"}),(0,t.jsxs)(I.DropdownMenuContent,{align:"end",side:"bottom",sideOffset:6,className:"w-[172px] min-w-[172px] rounded-[var(--ds-radius-sm)] border border-[var(--ds-border)] bg-[var(--ds-bg)] p-1.5",children:[(0,t.jsxs)(I.DropdownMenuItem,{className:"h-9 rounded-xl px-2.5 text-base text-[var(--ds-text)] hover:bg-[var(--ds-item-active)] focus:bg-[var(--ds-item-hover)]",onClick:()=>{navigator.clipboard.writeText(e.sessionId)},children:[(0,t.jsx)(C.default,{name:"Clipboard",size:16,className:"text-[var(--ds-muted)]"}),"复制完整 ID"]}),(0,t.jsx)(I.DropdownMenuSeparator,{className:"mx-1 my-1 bg-[var(--ds-border)]"}),(0,t.jsxs)(I.DropdownMenuItem,{variant:"destructive",className:"h-9 rounded-xl px-2.5 text-base hover:bg-[#fff1f1] focus:bg-[#fff1f1]",onClick:()=>{(async()=>{let t=e.sessionId===p.trim(),n=await l(e.sessionId);t&&n&&o(j("/",{clearSessionId:!0}))})()},children:[(0,t.jsx)(C.default,{name:"Trash2",size:16}),"删除会话"]})]})]})})]},e.sessionId)})},e.key)):(0,t.jsx)("p",{className:"sidebar-drawer-empty",children:"(暂无会话)"})})}):null]})}),(0,t.jsx)(z,{collapsed:!1,onGoToSettings:T})]})})}var B=e.i(19455),U=e.i(61196);function V(){let e=(0,U.useStageThreadFlyoutStore)(e=>e.open),r=(0,U.useStageThreadFlyoutStore)(e=>e.title),s=(0,U.useStageThreadFlyoutStore)(e=>e.content),a=(0,U.useStageThreadFlyoutStore)(e=>e.width),i=(0,U.useStageThreadFlyoutStore)(e=>e.hideHeader),l=(0,U.useStageThreadFlyoutStore)(e=>e.bodyClassName),o=(0,U.useStageThreadFlyoutStore)(e=>e.requestCloseFlyout),[u,d]=(0,n.useState)(a),[c,p]=(0,n.useState)(!1);(0,n.useEffect)(()=>{if(!e)return;let t=e=>{"Escape"===e.key&&o()};return window.addEventListener("keydown",t),()=>{window.removeEventListener("keydown",t)}},[e,o]),(0,n.useEffect)(()=>{e&&d((0,U.clampStageThreadFlyoutWidth)(a))},[e,a]);let f=(0,n.useCallback)(e=>{e.preventDefault();let t=e.currentTarget;t.setPointerCapture(e.pointerId),p(!0);let n=e.clientX,r=e=>{let t=n-e.clientX;d((0,U.clampStageThreadFlyoutWidth)(u+t))},s=()=>{p(!1),t.removeEventListener("pointermove",r),t.removeEventListener("pointerup",s),t.removeEventListener("pointercancel",s),document.body.style.cursor="",document.body.style.userSelect=""};document.body.style.cursor="col-resize",document.body.style.userSelect="none",t.addEventListener("pointermove",r),t.addEventListener("pointerup",s),t.addEventListener("pointercancel",s)},[u]);return(0,t.jsx)("aside",{className:(0,M.cn)("stage-thread-flyout",e&&"is-open",c&&"is-resizing"),"data-region":"stage-thread-flyout","aria-hidden":!e,style:{"--stage-flyout-width":"".concat(u,"px")},children:e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"stage-thread-flyout-resize",role:"separator","aria-orientation":"vertical","aria-valuenow":u,"aria-valuemin":U.STAGE_THREAD_FLYOUT_MIN_WIDTH,"aria-valuemax":U.STAGE_THREAD_FLYOUT_MAX_WIDTH,"aria-label":"调整面板宽度",onPointerDown:f,children:(0,t.jsx)("span",{className:"stage-thread-flyout-resize-bar","aria-hidden":!0})}),(0,t.jsxs)("div",{className:"stage-thread-flyout-inner",children:[i?null:(0,t.jsxs)("header",{className:"stage-thread-flyout-header",children:[r?(0,t.jsx)("h2",{className:"stage-thread-flyout-title",children:r}):(0,t.jsx)("span",{className:"stage-thread-flyout-title","aria-hidden":!0}),(0,t.jsx)(B.Button,{type:"button",variant:"ghost",size:"icon-sm",className:"stage-thread-flyout-close","aria-label":"关闭",onClick:()=>void o(),children:(0,t.jsx)(C.default,{name:"X",size:16})})]}),(0,t.jsx)("div",{className:(0,M.cn)("stage-thread-flyout-body",l),children:s})]})]}):null})}var G=e.i(94606);function q(){let e=(0,r.usePathname)(),t=(0,r.useRouter)(),s=(0,n.useRef)(null),a=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{if(a.current)return;let n=s.current;if(s.current=e,!n||n===e)return;let{open:r,guardRoute:i,isDirty:l,closeFlyout:o}=U.useStageThreadFlyoutStore.getState();if(r&&(0,G.isLeavingFlyoutGuardRoute)(i,n,e)){if(!(0,G.shouldConfirmFlyoutRouteChange)(i,n,e,l))return void o();a.current=!0,t.replace(n),(0,G.confirmDiscardFlyoutChanges)().then(r=>{a.current=!1,r?(o(),t.push(e),s.current=e):s.current=n})}},[e,t]),null}function H(e){let{children:n,mainClassName:r,mainRegion:s,sidebar:a}=e;return(0,t.jsxs)("div",{className:"app","data-ui-layer":"presentation","data-topology":"local-first",children:[(0,t.jsx)(F,{onNewSession:a.onNewSession,onSelectSession:a.onSelectSession,onSaveAgentConfig:a.onSaveAgentConfig,deleteSessionById:a.deleteSessionById}),(0,t.jsx)("main",{className:(0,M.cn)("main overflow-x-auto",r),"data-region":s,children:(0,t.jsx)("div",{className:"main-content",children:n})}),(0,t.jsx)(V,{}),(0,t.jsx)(q,{})]})}function Y(){let e=(0,s.useAppStore)(e=>e.wsUrl),t=(0,s.useAppStore)(e=>e.apiBase),r=(0,s.useAppStore)(e=>e.agentId),i=(0,s.useAppStore)(e=>e.agentSelectionResolved),l=(0,s.useAppStore)(e=>e.setWsUrl),o=(0,s.useAppStore)(e=>e.setAgentId),{loadSessions:u,loadAgentConfig:d}=(0,j.useSession)();return(0,n.useLayoutEffect)(()=>{s.useAppStore.getState().wsUrl.trim()||l((0,a.defaultWsUrl)())},[l]),(0,n.useLayoutEffect)(()=>{(0,_.syncRuntimeAgentWithUrl)(s.useAppStore.getState().agentId,o)},[r,o]),(0,n.useEffect)(()=>{if(!e.trim())return;let t=!1;return(async()=>{let e=s.useAppStore.getState();e.setAgentSelectionResolved(!1),e.setAgentSelectionError(null);let n=(0,_.readAgentFromLocationSearch)().trim()||e.agentId.trim()||"qihoo";try{var r;let s=await (0,L.listAgents)(e.wsUrl,e.apiBase);if(t)return;if(!s.length){e.setAgentSelectionError("暂无可用 Agent"),e.setAgentSelectionResolved(!1);return}let a=null!=(r=s.find(e=>e.id===n))?r:s[0];if(!a){e.setAgentSelectionError("暂无可用 Agent"),e.setAgentSelectionResolved(!1);return}e.agentId.trim()!==a.id&&e.setAgentId(a.id),e.setCurrentWorkspaceAgent(a),(0,_.replaceRuntimeAgentInUrl)(a.id),e.setAgentSelectionResolved(!0)}catch(n){if(t)return;e.setAgentSelectionError(n instanceof Error?n.message:String(n)),e.setAgentSelectionResolved(!1)}})(),()=>{t=!0}},[e,t,r]),(0,n.useEffect)(()=>{i&&(u(),d())},[i,r,e,t,u,d]),null}function Q(){let e=(0,r.useSearchParams)(),t=(0,s.useAppStore)(e=>e.setAgentId),a=(0,s.useAppStore)(e=>e.setAgentSelectionResolved);return(0,n.useLayoutEffect)(()=>{var n;let r=null==(n=e.get("agent"))?void 0:n.trim();r&&r!==s.useAppStore.getState().agentId.trim()&&(a(!1),t(r))},[e,t,a]),null}function J(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(Y,{}),(0,t.jsx)(n.Suspense,{fallback:null,children:(0,t.jsx)(Q,{})})]})}function X(e){let{children:o}=e,d=(0,r.usePathname)(),c=function(e){if(!e)return!1;let t=(0,_.normalizeAppPathname)(e);return"/manage"===t||t.startsWith("/manage/")}(d),p=(0,W.isManageSideNavPath)(d),f=(0,s.useAppStore)(e=>e.wsUrl),m=(0,s.useAppStore)(e=>e.apiBase),g=(0,s.useAppStore)(e=>e.agentId),h=(0,s.useAppStore)(e=>e.sessionId),v=(0,s.useAppStore)(e=>e.sessionViewMode),w=(0,s.useAppStore)(e=>e.setSessionId),I=(0,s.useAppStore)(e=>e.setSessionViewMode),C=(0,s.useAppStore)(e=>e.setPendingHistoryRefresh),{loadSessions:E,loadAgentConfig:T,loadSessionOverrides:M,deleteSessionById:P}=(0,j.useSession)(),L=(0,N.usePersistAgentConfig)(),{reconnect:O,switchSession:z,sendPrompt:D,sendAbort:F,sendReloadAgentConfig:B,sendPermissionResponse:U}=function(e){let t=(0,n.useRef)(null),r=(0,n.useRef)(""),o=(0,n.useRef)(0),d=(0,n.useRef)(0),c=(0,n.useRef)(0),p=(0,n.useRef)(new Map),f=(0,n.useRef)(null==e?void 0:e.onSession);f.current=null==e?void 0:e.onSession;let m=(0,s.useAppStore)(e=>e.wsUrl),g=(0,s.useAppStore)(e=>e.agentSelectionResolved),h=(0,n.useCallback)(()=>(o.current+=1,o.current),[]),v=(0,n.useCallback)(()=>{if(t.current){let e=t.current;t.current.close(),(0,i.clearActiveWebSocket)(e),t.current=null}let e=s.useAppStore.getState();e.setWsConnected(!1),e.setBridgeReady(!1),e.resetApiErrorState(),e.setAssistantGenerating(!1),p.current.clear()},[]),j=(0,n.useCallback)((e,t)=>{var n,a,i,o,c,m,g,v;let b=(null==t?void 0:t.httpReplay)===!0,y=s.useAppStore.getState(),S=(e.runId||"main").trim()||"main",N="string"==typeof e.agent_name?e.agent_name.trim():"";N&&p.current.set(S,N);let k=function(t,n){let r=!(arguments.length>2)||void 0===arguments[2]||arguments[2],s=r&&e.data&&"object"==typeof e.data&&"string"==typeof e.data.sourceAgent?e.data.sourceAgent.trim():"",a=p.current.get(S)||"";return t||s||a||n},w=String(null!=(n=e.sessionId)?n:"").trim()||r.current.trim()||y.sessionId.trim()||"unknown",I="".concat(d.current,":").concat(w);if(e.eventId&&function(e,t){var n;let r=t||"default",s=null!=(n=x.get(r))?n:new Set;if(s.has(e))return!0;if(s.add(e),s.size>4096)for(let e of Array.from(s).slice(0,2048))s.delete(e);return x.set(r,s),!1}(e.eventId,I))return void y.appendLog("dedup","eventId=".concat(e.eventId," 已忽略"));switch(!b&&y.appendLog("←",e),e.type){case l.EVENT.SESSION_META:{let t=e.data,n=String(null!=(i=null!=(a=t.sessionId)?a:e.sessionId)?i:""),s=y.sessionId.trim();if(r.current){if(n&&n!==s)return void y.appendLog("switchSession","忽略过期 session.meta incoming=".concat(n," current=").concat(s));r.current=""}t.agent&&y.setBrandAgent(String(t.agent)),n&&(y.setSessionId(n),null==(o=f.current)||o.call(f,n));break}case l.EVENT.SESSION_READY:{y.resetApiErrorState();let t=e.data;r.current&&y.sessionId.trim()===r.current&&(r.current=""),y.markReady(),t.agent&&y.setBrandAgent(String(t.agent));break}case l.EVENT.SESSION_ERROR:{let t=e.data,n=null!=(c=t.message)?c:JSON.stringify(t);y.setAssistantGenerating(!1),y.setStatus("错误: ".concat(String(n)),"err");break}case l.EVENT.QUERY_PROGRESS:{y.resetApiErrorState();let t=String(null!=(m=e.data.phase)?m:"");"idle"===t?(y.setQueryPhase(""),y.bridgeReady&&y.setStatus("已就绪","ready")):(y.setQueryPhase(t),y.setStatus("查询阶段: ".concat(t,"…"),""));break}case l.EVENT.CONVERSATION_DELTA:{y.resetApiErrorState();let t=e.data;if(!t.action)break;if("message_added"===t.action||"message_updated"===t.action||"message_removed"===t.action||"tool_call"===t.action||"tool_result"===t.action||"message_completed"===t.action){if(!b&&r.current){let t=String(null!=(g=e.sessionId)?g:"").trim(),n=r.current.trim(),s=y.sessionId.trim();if(t&&t!==n&&t!==s){y.appendLog("switchSession","忽略切换过程中的过期 conversation.delta incoming=".concat(t," pending=").concat(n," current=").concat(s));break}}let n={eventId:e.eventId,action:t.action,index:t.index,message:u(t.message,!0===t.scheduledTrigger||!0===e.scheduledTrigger,"string"==typeof e.turnId?e.turnId:"")},s=k("",S),a=h();y.applyRunMessageDelta({...n,runId:S,sourceAgent:s,ts:"string"==typeof e.ts?e.ts:"",arrivalSeq:a})}"message_completed"===t.action&&y.setStreamBuffer("");break}case l.EVENT.RUN_LIFECYCLE:{let t=e.data,n="string"==typeof t.event&&t.event||("string"==typeof t.state?t.state:"");if("replay.start"===n||"replay.end"===n)break;y.setRunLifecycleData({event:n,message:t.message});let r=k("string"==typeof t.sourceAgent?t.sourceAgent.trim():"","system",!1),s=A(t);s.trim()&&y.appendSourceAgentMessage({key:"string"==typeof e.eventId?e.eventId:"lc-".concat(Date.now()),source:r,runId:S,correlationId:"",status:"resolved",text:s,ts:"string"==typeof e.ts?e.ts:"",arrivalSeq:h()}),"configReloaded"===n&&y.setStatus("已重新加载 agent.md / agent.json",y.bridgeReady?"ready":"");break}case l.EVENT.HISTORY_REPLAY:{let n=e.data;if(Array.isArray(n.events))for(let e=0;e<n.events.length;e+=1){let r=n.events[e];r&&"object"==typeof r&&r.type!==l.EVENT.HISTORY_REPLAY&&j(r,t)}break}case l.EVENT.TURN_TERMINAL:{y.resetApiErrorState(),y.setStreamBuffer(""),y.setAssistantGenerating(!1),y.setQueryPhase("");let t=e.data;y.setTurnTerminalData({status:t.status,resultText:t.resultText,reason:t.reason});let n=s.useAppStore.getState();"resolved"===t.status?n.setStatus("本轮结束(可继续发送)",n.bridgeReady?"ready":""):"failed"===t.status?n.setStatus("本轮失败: ".concat(null!=(v=t.reason)?v:"未知错误"),"err"):"cancelled"===t.status?n.setStatus("本轮已取消",n.bridgeReady?"ready":""):n.setStatus("本轮结束(可继续发送)",n.bridgeReady?"ready":"");let r=k("string"==typeof t.sourceAgent?t.sourceAgent.trim():"","main"===S?"main":"unknown-agent",!1),a="string"==typeof t.correlationId?t.correlationId:"",i=A({type:l.EVENT.TURN_TERMINAL,status:t.status,reason:t.reason,resultText:t.resultText});n.appendSourceAgentMessage({key:"string"==typeof e.eventId?e.eventId:"terminal-".concat(Date.now()),source:r,runId:S,correlationId:a,status:"resolved"===t.status?"resolved":"failed",text:i,ts:"string"==typeof e.ts?e.ts:"",arrivalSeq:h()});break}case l.EVENT.PERMISSION_REQUEST:{let t=e.data,n="string"==typeof t.requestId?t.requestId.trim():"";if(!n)break;y.enqueuePermissionRequest({requestId:n,toolName:"string"==typeof t.toolName?t.toolName:"tool",description:"string"==typeof t.description?t.description:"",input:null!=t.input?t.input:{},runId:S})}}},[h]),N=(0,n.useCallback)(e=>{var t,n,a,i,l;let o=s.useAppStore.getState(),u=String(null!=(t=e.type)?t:"");if("system"===u&&"api_error"===e.subtype){let t=y(e.retryAttempt),n=y(e.maxRetries),r=y(e.retryInMs),s=Date.now()+r,a=n>0&&t>=n?"failed":r>=1e4?"retrying":"loading";o.setApiErrorState({phase:a,retryAttempt:t,maxRetries:n,retryInMs:r,retryUntilTs:s}),o.appendLog("api_error",{uuid:"string"==typeof e.uuid?e.uuid:"",retryAttempt:t,maxRetries:n,retryInMs:r});return}switch(u){case"messages":if(r.current)return void o.appendLog("switchSession","忽略切换过程中的 messages 回包");o.resetApiErrorState(),o.setMessages(Array.isArray(e.messages)?e.messages:[]),o.setStreamBuffer("");break;case"queryProgress":{o.resetApiErrorState();let t=String(null!=(n=e.phase)?n:"");"idle"===t?(o.setQueryPhase(""),o.bridgeReady&&o.setStatus("已就绪","ready")):(o.setQueryPhase(t),o.setStatus("查询阶段: ".concat(t,"…"),""));break}case"streamText":{o.resetApiErrorState();let t="string"==typeof e.text?e.text:"";o.setAssistantGenerating(!1),o.setStreamBuffer(t);let n=t.length>160?"".concat(t.slice(0,160),"…"):t;o.appendLog("←",{type:"streamText",len:t.length,preview:n||"(空)"});break}case"ready":o.resetApiErrorState(),r.current&&o.sessionId.trim()===r.current&&(r.current=""),o.markReady(),e.agent&&o.setBrandAgent(String(e.agent));break;case"session":{let t=String(null!=(a=e.sessionId)?a:""),n=o.sessionId.trim();if(r.current){if(t&&t!==n)return void o.appendLog("switchSession","忽略过期 session 回包 incoming=".concat(t," current=").concat(n));r.current=""}e.agent&&o.setBrandAgent(String(e.agent)),t&&(o.setSessionId(t),null==(i=f.current)||i.call(f,t));break}case"error":o.setAssistantGenerating(!1),o.setStatus("错误: ".concat(String(null!=(l=e.message)?l:JSON.stringify(e))),"err");break;case"turnComplete":{o.resetApiErrorState(),o.setStreamBuffer(""),o.setAssistantGenerating(!1),o.setQueryPhase("");let e=s.useAppStore.getState();e.setStatus("本轮结束(可继续发送)",e.bridgeReady?"ready":"");break}case"agentConfigReloaded":{let e=s.useAppStore.getState();e.setStatus("已重新加载 agent.md / agent.json",e.bridgeReady?"ready":"")}}},[]),k=(0,n.useCallback)(async(e,t)=>{let n=e.trim();if(!n)return;let r=s.useAppStore.getState(),a=r.agentId.trim()||"qihoo";try{let{envelopes:e,messageCount:s}=await (0,b.loadSessionReplay)(r.wsUrl,r.apiBase,a,n);if(t!==c.current)return;let i={httpReplay:!0};for(let t=0;t<e.length;t+=1){let n=e[t];n&&S(n)&&j(n,i)}r.appendLog("session-replay-http",{sessionId:n,messageCount:s,envelopeCount:e.length})}catch(e){if(t!==c.current)return;r.appendLog("session-replay-http",String(e)),r.setStatus("历史回放失败: ".concat(e),"err")}},[j]),w=(0,n.useCallback)(()=>{let e,n=s.useAppStore.getState();if(!n.agentSelectionResolved||t.current&&(0,i.isWebSocketOpen)(t.current)&&n.bridgeReady)return;if(t.current){let e=t.current;try{e.close()}catch(e){}(0,i.clearActiveWebSocket)(e),t.current=null}n.markConnecting(),n.resetApiErrorState(),n.resetChat(),n.clearLog(),o.current=0,p.current.clear(),d.current+=1,x.clear();let r=n.agentId.trim()||"qihoo",l=n.sessionId.trim();l&&k(l,++c.current);let u=(0,a.buildWsUrlWithQuery)(n.wsUrl,n.sessionId,r);n.appendLog("connect",u);try{t.current=e=new WebSocket(u),(0,i.setActiveWebSocket)(e)}catch(e){n.markConnectionError("连接失败: ".concat(e)),n.appendLog("error",String(e));return}e.onopen=function(){t.current===this&&s.useAppStore.getState().markConnected()},e.onclose=function(){(null==t.current||t.current===this)&&(s.useAppStore.getState().markDisconnected(),(0,i.clearActiveWebSocket)(this),t.current===this&&(t.current=null))},e.onerror=function(){t.current===this&&(s.useAppStore.getState().markConnectionError("WebSocket 错误"),s.useAppStore.getState().appendLog("error","websocket error"))},e.onmessage=function(e){let n,r=s.useAppStore.getState();try{n=JSON.parse(e.data)}catch(t){r.appendLog("raw",e.data);return}this===t.current&&(S(n)?j(n):null!==n&&"object"==typeof n&&(r.appendLog("←",n),N(n)))}},[j,N,k]),I=(0,n.useCallback)(()=>{v(),w()},[v,w]),C=(0,n.useCallback)((e,n)=>{let a=s.useAppStore.getState(),l=String(e||"").trim(),u=String(n||a.agentId||"").trim()||"qihoo",f=t.current,m=(0,i.isWebSocketOpen)(f);if(a.resetChat(),a.clearLog(),o.current=0,a.setBridgeReady(!1),a.resetApiErrorState(),a.setStatus("正在切换 session…",""),p.current.clear(),d.current+=1,l&&m&&k(l,++c.current),r.current=l,!m)return void I();try{let e={type:"switchSession",sessionId:l,agent:u};f.send(JSON.stringify(e)),a.appendLog("→",e)}catch(e){a.appendLog("error","switchSession 发送失败: ".concat(String(e))),I()}},[I,k]);(0,n.useEffect)(()=>g?(w(),()=>{v()}):void v(),[m,g,w,v]);let E=(0,n.useCallback)(e=>{let n=t.current;(0,i.isWebSocketOpen)(n)&&(n.send(JSON.stringify(e)),s.useAppStore.getState().appendLog("→",e))},[]),T=(0,n.useCallback)(e=>{String(null!=e?e:"").trim()&&s.useAppStore.getState().setAssistantGenerating(!0),E({type:"prompt",text:e})},[E]),R=(0,n.useCallback)(()=>{E({type:"abort"})},[E]),_=(0,n.useCallback)(()=>{E({type:"reloadAgentConfig"})},[E]),M=(0,n.useCallback)(()=>{E({type:"reloadAgentPrompt"})},[E]);return{wsRef:t,disconnectIfOpen:v,connectWebSocket:w,reconnect:I,switchSession:C,sendPrompt:T,sendAbort:R,sendReloadAgentConfig:_,sendReloadAgentPrompt:M,sendPermissionResponse:(0,n.useCallback)((e,t)=>{let n=String(e||"").trim();n&&E({type:"permission.response",requestId:n,behavior:t})},[E]),sendInit:(0,n.useCallback)(e=>{E({type:"init",...e})},[E])}}({onSession:e=>{E(),M(e)}}),V=(0,n.useCallback)((e,t)=>k(e,{switchSession:z,reconnect:O,loadSessions:E,loadAgentConfig:T,preferReconnect:c},{displayName:t}),[z,O,E,T,c]),G=(0,n.useMemo)(()=>({reconnect:O,switchSession:z,switchWorkspaceAgent:V,sendPrompt:D,sendAbort:F,sendReloadAgentConfig:B,sendPermissionResponse:U}),[O,z,V,D,F,B,U]),q=p?"settings-main":c?"manage-main":"draft"===v?"is-draft-session":void 0;return(0,t.jsxs)(R.WorkspaceRuntimeContext.Provider,{value:G,children:[(0,t.jsx)(J,{}),(0,t.jsxs)("div",{className:"ws-config-hidden","aria-hidden":!0,children:[(0,t.jsx)("input",{readOnly:!0,hidden:!0,value:f}),(0,t.jsx)("input",{readOnly:!0,hidden:!0,value:m}),(0,t.jsx)("input",{readOnly:!0,hidden:!0,value:h}),(0,t.jsx)("input",{readOnly:!0,hidden:!0,value:g})]}),(0,t.jsx)(H,{mainClassName:q,mainRegion:p?"settings-shell":c?"manage-shell":"chat-shell",sidebar:{onNewSession:()=>{w(""),I("draft"),C(!1),c?O():z("",g)},onSelectSession:e=>{w(e),I("history"),C(!1),c?O():z(e,g)},onSaveAgentConfig:()=>void L({silent:!1}),deleteSessionById:async e=>{let t=await P(e);return t&&(c?O():z("",g)),t}},children:o})]})}},41796,e=>{"use strict";e.s(["SideNavShell",()=>d]);var t=e.i(18050),n=e.i(18566),r=e.i(72064),s=e.i(65934),a=e.i(75157),i=e.i(97249),l=e.i(51419),o=e.i(18253);function u(e,t){if(!t)return!1;let n=(0,i.normalizeAppPathname)(t),r=(0,i.normalizeAppPathname)(e);return n===r||n.startsWith("".concat(r,"/"))}function d(e){var d;let{title:c,navGroups:p,tabs:f,activeTabValue:m,tabVariant:g,bottomItems:h,children:v}=e,b=(0,n.usePathname)(),{push:y}=(0,o.useGuardedAppNavigation)(),S=(0,s.useAppStore)(e=>e.agentId),x=e=>{y((0,i.buildAppNavHref)(e,{ensureAgent:!0,agent:S}))},A=!!(g&&(null==f?void 0:f.length)),j=null!=m?m:null==f||null==(d=f[0])?void 0:d.value;return(0,t.jsxs)("div",{className:"side-nav-shell",children:[(0,t.jsxs)("nav",{className:"side-nav","aria-label":null!=c?c:"导航",children:[c?(0,t.jsx)("div",{className:"side-nav-title",children:c}):null,(0,t.jsx)("div",{className:"side-nav-groups",children:p.map((e,n)=>(0,t.jsx)("div",{className:"side-nav-group",children:e.items.map(e=>{let n=u(e.href,b);return(0,t.jsxs)("button",{type:"button",className:(0,a.cn)("side-nav-item",n&&"is-active"),"aria-current":n?"page":void 0,onClick:()=>x(e.href),children:[e.icon?(0,t.jsx)("span",{className:"side-nav-item-icon","aria-hidden":!0,children:(0,t.jsx)(r.default,{name:e.icon,size:16,className:"text-zinc-700",strokeWidth:1})}):null,(0,t.jsx)("span",{className:"side-nav-item-label",children:e.label})]},e.href)})},n))}),h&&h.length>0?(0,t.jsx)("div",{className:"side-nav-bottom",children:h.map(e=>{let n=u(e.href,b);return(0,t.jsxs)("button",{type:"button",className:(0,a.cn)("side-nav-item",n&&"is-active"),"aria-current":n?"page":void 0,onClick:()=>x(e.href),children:[e.icon?(0,t.jsx)("span",{className:"side-nav-item-icon","aria-hidden":!0,children:(0,t.jsx)(r.default,{name:e.icon,size:16,className:"text-zinc-700",strokeWidth:1})}):null,(0,t.jsx)("span",{className:"side-nav-item-label",children:e.label})]},e.href)})}):null]}),(0,t.jsx)("section",{className:"side-nav-content",children:A?(0,t.jsx)(l.AppTabs,{tabs:null!=f?f:[],value:j,onChange:x,listVariant:g,listClassName:"pill"===g?"mx-auto":void 0,contentClassName:"flex min-h-0 min-w-0 flex-1 flex-col",children:v}):v})]})}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,93479,e=>{"use strict";e.s(["Input",()=>l]);var t=e.i(18050),r=e.i(75157);function l(e){let{className:l,type:n="text",size:i="default",...s}=e;return(0,t.jsx)("input",{type:n,"data-slot":"input","data-size":i,className:(0,r.cn)("h-8 w-full appearance-none rounded-md border border-solid border-border bg-transparent px-3 text-base outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[#e0e0e0] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none] data-[size=default]:h-8 data-[size=lg]:h-10 data-[size=sm]:h-7",l),...s})}},20783,e=>{"use strict";e.s(["composeRefs",()=>l,"useComposedRefs",()=>n]);var t=e.i(71645);function r(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function l(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return e=>{let l=!1,n=t.map(t=>{let n=r(t,e);return l||"function"!=typeof n||(l=!0),n});if(l)return()=>{for(let e=0;e<n.length;e++){let l=n[e];"function"==typeof l?l():r(t[e],null)}}}}function n(){for(var e=arguments.length,r=Array(e),n=0;n<e;n++)r[n]=arguments[n];return t.useCallback(l(...r),r)}},92715,85413,e=>{"use strict";e.s(["AppTable",()=>m],92715);var t=e.i(18050);e.s(["Empty",()=>n],85413);var r=e.i(75157),l=e.i(72064);function n(e){let{text:n="暂无数据",className:i}=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)]",i),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:n})]})}var i=e.i(71645);let s=i.forwardRef((e,l)=>{let{className:n,...i}=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",n),...i})})});s.displayName="Table";let a=i.forwardRef((e,l)=>{let{className:n,...i}=e;return(0,t.jsx)("thead",{ref:l,className:(0,r.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",n),...i})});a.displayName="TableHeader";let o=i.forwardRef((e,l)=>{let{className:n,viewportFit:s=!0,viewportReserveBottom:a=16,viewportPaginationReserve:o=0,style:u,...d}=e,c=i.useRef(null),m=i.useCallback(e=>{c.current=e,"function"==typeof l?l(e):l&&(l.current=e)},[l]),[f,p]=i.useState(void 0);return i.useLayoutEffect(()=>{var e,t;if(!s)return void p(void 0);let r=()=>{var e,t;let r=c.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-(a+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)}},[s,a,o]),(0,t.jsx)("tbody",{ref:m,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",n),style:s&&void 0!==f?{...u,maxHeight:f}:u,...d})});o.displayName="TableBody";let u=i.forwardRef((e,l)=>{let{className:n,hoverable:i=!0,...s}=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)]",i&&"group/table-row",n),...s})});u.displayName="TableRow";let d=i.forwardRef((e,l)=>{let{className:n,...i}=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",n),...i})});d.displayName="TableHead";let c=i.forwardRef((e,l)=>{let{className:n,...i}=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)]",n),...i})});function m(e){let{rows:l,columns:i,getRowKey:m,className:f,rowClassName:p,headerRowClassName:b,emptyText:y,emptyNode:g,bodyProps:v}=e;return(0,t.jsx)("div",{className:(0,r.cn)("overflow-hidden border border-[var(--ds-border)]",f),children:(0,t.jsxs)(s,{children:[(0,t.jsx)(a,{children:(0,t.jsx)(u,{className:(0,r.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",b),children:i.map(e=>(0,t.jsx)(d,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(o,{...v,children:l.length?l.map(e=>(0,t.jsx)(u,{className:"function"==typeof p?p(e):p,children:i.map(r=>(0,t.jsx)(c,{className:r.cellClassName,children:r.render(e)},r.key))},m(e))):(0,t.jsx)(u,{hoverable:!1,children:(0,t.jsx)(c,{colSpan:i.length,className:"py-6",children:null!=g?g:(0,t.jsx)(n,{text:y})})})})]})})}c.displayName="TableCell"},62427,e=>{"use strict";e.s(["clearRuntimeMcpItemConfig",()=>R,"deleteRuntimeMcp",()=>f,"deleteRuntimeSkill",()=>j,"deleteRuntimeTool",()=>m,"exportRuntimeMcpUrl",()=>b,"exportRuntimeSkillUrl",()=>A,"exportRuntimeToolUrl",()=>p,"importRuntimeMcp",()=>g,"importRuntimeTool",()=>y,"installCloudSkill",()=>k,"listAgentTeams",()=>u,"listBaseSkills",()=>i,"listCloudSkillCatalog",()=>S,"listInstalledSkills",()=>s,"listInstalledTools",()=>n,"listMcpServers",()=>l,"listRuntimeMcpPackages",()=>c,"listRuntimeTools",()=>d,"loadBaseSkillMd",()=>a,"loadRemoteMcpJson",()=>v,"loadRuntimeMcpItemConfig",()=>x,"saveBaseSkillMd",()=>o,"saveRemoteMcpJson",()=>h,"saveRuntimeMcpItemConfig",()=>w]);var t=e.i(29250),r=e.i(36845);async function l(e,l,n){let i=await (0,t.get)((0,r.buildMcpServersListUrl)(e,l,n));return{servers:Array.isArray(i.servers)?i.servers:[]}}async function n(e,l,n){let i=await (0,t.get)((0,r.buildToolInstalledListUrl)(e,l,n));return{tools:Array.isArray(i.tools)?i.tools:[]}}async function i(e,l,n){let i=await (0,t.get)((0,r.buildSkillBaseListUrl)(e,l,n));return{skills:Array.isArray(i.skills)?i.skills:[]}}async function s(e,l,n){let i=await (0,t.get)((0,r.buildSkillInstalledListUrl)(e,l,n));return{skills:Array.isArray(i.skills)?i.skills:[]}}async function a(e,l,n,i){return(0,t.get)((0,r.buildBaseSkillMdUrl)(e,l,n,i))}async function o(e,l,n,i,s){await (0,t.put)((0,r.buildBaseSkillMdUrl)(e,l,n,i),{content:s})}async function u(e,l,n){let i=await (0,t.get)((0,r.buildAgentTeamsListUrl)(e,l,n));return{teamAgentTypes:Array.isArray(i.teamAgentTypes)?i.teamAgentTypes:[],agentTeams:Array.isArray(i.agentTeams)?i.agentTeams:[]}}async function d(e,l,n){let i=await (0,t.get)((0,r.buildToolsRuntimeFilesUrl)(e,l,n));return{runtimeToolsDir:"string"==typeof i.runtimeToolsDir?i.runtimeToolsDir:"",items:Array.isArray(i.items)?i.items.filter(e=>!!(e&&e.id)):[]}}async function c(e,l,n){let i=await (0,t.get)((0,r.buildMcpRuntimeFilesUrl)(e,l,n));return{mcpRuntimeDir:"string"==typeof i.mcpRuntimeDir?i.mcpRuntimeDir:"",items:Array.isArray(i.items)?i.items.filter(e=>!!(e&&e.id)):[]}}async function m(e,l,n,i){return(0,t.del)((0,r.buildToolsRuntimeDeleteUrl)(e,l,n,i))}async function f(e,l,n,i){return(0,t.del)((0,r.buildMcpRuntimeDeleteUrl)(e,l,n,i))}function p(e,t,l,n){return(0,r.buildToolsRuntimeExportUrl)(e,t,l,n)}function b(e,t,l,n){return(0,r.buildMcpRuntimeExportUrl)(e,t,l,n)}async function y(e,l,n,i){let s=new FormData;return s.append("file",i),(0,t.post)((0,r.buildToolsRuntimeImportUrl)(e,l,n),s,{type:"file"})}async function g(e,l,n,i){let s=new FormData;return s.append("file",i),(0,t.post)((0,r.buildMcpRuntimeImportUrl)(e,l,n),s,{type:"file"})}async function v(e,l,n){return(0,t.get)((0,r.buildRemoteMcpJsonUrl)(e,l,n))}async function h(e,l,n,i){await (0,t.post)((0,r.buildRemoteMcpJsonUrl)(e,l,n),{content:i})}async function x(e,l,n,i,s){return(0,t.get)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,n,i,s))}async function w(e,l,n,i,s,a){await (0,t.put)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,n,i,s),{server:a})}async function R(e,l,n,i,s){await (0,t.del)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,n,i,s))}async function j(e,l,n,i){return(0,t.del)((0,r.buildSkillsRuntimeDeleteUrl)(e,l,n,i))}function A(e,t,l,n){return(0,r.buildSkillsRuntimeExportUrl)(e,t,l,n)}async function S(e,l,n,i,s,a){let o=await (0,t.get)((0,r.buildCloudSkillCatalogUrl)(e,l,n,i,s,a));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function k(e,l,n,i){await (0,t.post)((0,r.buildCloudSkillInstallUrl)(e,l,n),{id:i})}},55242,e=>{"use strict";e.s(["AppDialog",()=>i]);var t=e.i(18050),r=e.i(71645),l=e.i(76639),n=e.i(75157);function i(e){let{open:i,onOpenChange:s,title:a,children:o,footer:u,width:d="max-w-3xl",minHeight:c}=e,m=(0,r.useId)();return(0,t.jsx)(l.Dialog,{open:i,onOpenChange:s,children:(0,t.jsxs)(l.DialogContent,{"aria-labelledby":m,className:(0,n.cn)(d,c?"!min-h-[--min-h]":""),style:c?{"--min-h":c}:void 0,children:[(0,t.jsxs)(l.DialogHeader,{children:[(0,t.jsx)(l.DialogTitle,{id:m,children:a}),(0,t.jsx)(l.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(l.DialogBody,{className:"!px-4 !py-3",children:o}),u?(0,t.jsx)("div",{className:"flex flex-shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:u}):null]})})}},18900,69051,e=>{"use strict";function t(e){let t=null==e?"":String(e);return""===t?'""':/[\s#"'\\\n]/.test(t)||t!==t.trim()?'"'.concat(t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t}function r(e){let t=String(e).split(/\r?\n/),r={},l=/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/;for(let e=0;e<t.length;e++){let n=t[e],i=l.exec(n);i&&(r[i[1]]=function(e){let t=e.trimEnd();return t.length>=2&&'"'===t[0]&&'"'===t[t.length-1]?t.slice(1,-1).replace(/\\(.)/g,(e,t)=>"n"===t?"\n":'"'===t?'"':"\\"===t?"\\":"\\".concat(t)):t.length>=2&&"'"===t[0]&&"'"===t[t.length-1]?t.slice(1,-1):e}(i[2]))}return r}function l(e,r){let l=Array.isArray(e)?e:[],n=new Set;for(let e=0;e<l.length;e++){let t=l[e];t&&"object"==typeof t&&"string"==typeof t.key&&n.add(t.key)}let i=[];for(let e=0;e<l.length;e++){let n=l[e];if(!n||"object"!=typeof n||"string"!=typeof n.key)continue;let s=n.key;if(!Object.prototype.hasOwnProperty.call(r,s))continue;let a=r[s];null!=a&&""!==String(a).trim()&&i.push("".concat(s,"=").concat(t(String(a))))}let s=Object.keys(r).filter(e=>!n.has(e)).sort();for(let e=0;e<s.length;e++){let l=s[e],n=r[l];null!=n&&""!==String(n).trim()&&i.push("".concat(l,"=").concat(t(String(n))))}let a=i.join("\n");return a.length>0?"".concat(a,"\n"):""}e.s(["buildEnvFileContentFromForm",()=>l,"parseEnvContentToMap",()=>r],18900),e.s(["loadDemoSingleMessage",()=>u,"loadSystemEnv",()=>s,"saveSystemEnv",()=>a,"saveSystemMcpJson",()=>o],69051);var n=e.i(29250),i=e.i(36845);async function s(e,t,r){return(0,n.get)((0,i.buildSystemEnvApiUrl)(e,t,r))}async function a(e,t,r,l){await (0,n.patch)((0,i.buildSystemEnvApiUrl)(e,t,r),{content:l})}async function o(e,t,r,l){await (0,n.patch)((0,i.buildSystemMcpJsonApiUrl)(e,t,r),{content:l})}async function u(){return(0,n.get)("/api/demo/single-message")}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.theme{--font-heading:var(--font-display);--font-sans:var(--font-body);--font-mono:var(--font-mono)}:root{--background:#fff;--foreground:#0a0a0a;--card:#fff;--card-foreground:#0a0a0a;--popover:#fff;--popover-foreground:#0a0a0a;--primary:#171717;--primary-foreground:#fafafa;--secondary:#f5f5f5;--secondary-foreground:#171717;--muted:#f5f5f5;--muted-foreground:#737373;--accent:#f5f5f5;--accent-foreground:#171717;--destructive:#e40014;--destructive-foreground:#fafafa;--border:#e5e5e5;--input:#e5e5e5;--ring:#a1a1a1;--chart-1:#d4d4d4;--chart-2:#737373;--chart-3:#525252;--chart-4:#404040;--chart-5:#262626;--radius:.625rem;--sidebar:#fafafa;--sidebar-foreground:#0a0a0a;--sidebar-primary:#171717;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f5f5f5;--sidebar-accent-foreground:#171717;--sidebar-border:#e5e5e5;--sidebar-ring:#a1a1a1}@supports (color:color(display-p3 0 0 0)){:root{--background:color(display-p3 1 1 1);--foreground:color(display-p3 .0393882 .0393882 .0393882);--card:color(display-p3 1 1 1);--card-foreground:color(display-p3 .0393882 .0393882 .0393882);--popover:color(display-p3 1 1 1);--popover-foreground:color(display-p3 .0393882 .0393882 .0393882);--primary:color(display-p3 .0905274 .0905274 .0905274);--primary-foreground:color(display-p3 .980256 .980256 .980256);--secondary:color(display-p3 .960587 .960587 .960587);--secondary-foreground:color(display-p3 .0905274 .0905274 .0905274);--muted:color(display-p3 .960587 .960587 .960587);--muted-foreground:color(display-p3 .451519 .451519 .451519);--accent:color(display-p3 .960587 .960587 .960587);--accent-foreground:color(display-p3 .0905274 .0905274 .0905274);--destructive:color(display-p3 .830323 .140383 .133196);--destructive-foreground:color(display-p3 .980256 .980256 .980256);--border:color(display-p3 .898161 .898161 .898161);--input:color(display-p3 .898161 .898161 .898161);--ring:color(display-p3 .630163 .630163 .630163);--chart-1:color(display-p3 .831444 .831444 .831444);--chart-2:color(display-p3 .451519 .451519 .451519);--chart-3:color(display-p3 .321993 .321993 .321993);--chart-4:color(display-p3 .250471 .250471 .250471);--chart-5:color(display-p3 .149382 .149382 .149382);--sidebar:color(display-p3 .980256 .980256 .980256);--sidebar-foreground:color(display-p3 .0393882 .0393882 .0393882);--sidebar-primary:color(display-p3 .0905274 .0905274 .0905274);--sidebar-primary-foreground:color(display-p3 .980256 .980256 .980256);--sidebar-accent:color(display-p3 .960587 .960587 .960587);--sidebar-accent-foreground:color(display-p3 .0905274 .0905274 .0905274);--sidebar-border:color(display-p3 .898161 .898161 .898161);--sidebar-ring:color(display-p3 .630163 .630163 .630163)}}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(2.75381% 0 0);--card:lab(100% 0 0);--card-foreground:lab(2.75381% 0 0);--popover:lab(100% 0 0);--popover-foreground:lab(2.75381% 0 0);--primary:lab(7.78201% -.0000149012 0);--primary-foreground:lab(98.26% 0 0);--secondary:lab(96.52% -.0000298023 .0000119209);--secondary-foreground:lab(7.78201% -.0000149012 0);--muted:lab(96.52% -.0000298023 .0000119209);--muted-foreground:lab(48.496% 0 0);--accent:lab(96.52% -.0000298023 .0000119209);--accent-foreground:lab(7.78201% -.0000149012 0);--destructive:lab(48.4493% 77.4328 61.5452);--destructive-foreground:lab(98.26% 0 0);--border:lab(90.952% 0 -.0000119209);--input:lab(90.952% 0 -.0000119209);--ring:lab(66.128% -.0000298023 .0000119209);--chart-1:lab(84.92% 0 -.0000119209);--chart-2:lab(48.496% 0 0);--chart-3:lab(34.924% 0 0);--chart-4:lab(27.036% 0 0);--chart-5:lab(15.204% 0 -.00000596046);--sidebar:lab(98.26% 0 0);--sidebar-foreground:lab(2.75381% 0 0);--sidebar-primary:lab(7.78201% -.0000149012 0);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(96.52% -.0000298023 .0000119209);--sidebar-accent-foreground:lab(7.78201% -.0000149012 0);--sidebar-border:lab(90.952% 0 -.0000119209);--sidebar-ring:lab(66.128% -.0000298023 .0000119209)}}.dark{--background:#0a0a0a;--foreground:#fafafa;--card:#171717;--card-foreground:#fafafa;--popover:#171717;--popover-foreground:#fafafa;--primary:#e5e5e5;--primary-foreground:#171717;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#00c37b;--accent-foreground:#fafafa;--destructive:#ff6568;--destructive-foreground:#fafafa;--border:rgba(255,255,255,.1);--input:rgba(255,255,255,.15);--ring:#737373;--chart-1:#d4d4d4;--chart-2:#737373;--chart-3:#525252;--chart-4:#404040;--chart-5:#262626;--sidebar:#171717;--sidebar-foreground:#fafafa;--sidebar-primary:#1447e6;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#262626;--sidebar-accent-foreground:#fafafa;--sidebar-border:rgba(255,255,255,.1);--sidebar-ring:#737373}@supports (color:color(display-p3 0 0 0)){.dark{--background:color(display-p3 .0393882 .0393882 .0393882);--foreground:color(display-p3 .980256 .980256 .980256);--card:color(display-p3 .0905274 .0905274 .0905274);--card-foreground:color(display-p3 .980256 .980256 .980256);--popover:color(display-p3 .0905274 .0905274 .0905274);--popover-foreground:color(display-p3 .980256 .980256 .980256);--primary:color(display-p3 .898161 .898161 .898161);--primary-foreground:color(display-p3 .0905274 .0905274 .0905274);--secondary:color(display-p3 .149382 .149382 .149382);--secondary-foreground:color(display-p3 .980256 .980256 .980256);--muted:color(display-p3 .149382 .149382 .149382);--muted-foreground:color(display-p3 .630163 .630163 .630163);--accent:color(display-p3 .339841 .754462 .503519);--accent-foreground:color(display-p3 .980256 .980256 .980256);--destructive:color(display-p3 .933534 .431676 .423491);--destructive-foreground:color(display-p3 .980256 .980256 .980256);--border:color(display-p3 1 1 1/.1);--input:color(display-p3 1 1 1/.15);--ring:color(display-p3 .451519 .451519 .451519);--chart-1:color(display-p3 .831444 .831444 .831444);--chart-2:color(display-p3 .451519 .451519 .451519);--chart-3:color(display-p3 .321993 .321993 .321993);--chart-4:color(display-p3 .250471 .250471 .250471);--chart-5:color(display-p3 .149382 .149382 .149382);--sidebar:color(display-p3 .0905274 .0905274 .0905274);--sidebar-foreground:color(display-p3 .980256 .980256 .980256);--sidebar-primary:color(display-p3 .1379 .274983 .867624);--sidebar-primary-foreground:color(display-p3 .980256 .980256 .980256);--sidebar-accent:color(display-p3 .149382 .149382 .149382);--sidebar-accent-foreground:color(display-p3 .980256 .980256 .980256);--sidebar-border:color(display-p3 1 1 1/.1);--sidebar-ring:color(display-p3 .451519 .451519 .451519)}}@supports (color:lab(0% 0 0)){.dark{--background:lab(2.75381% 0 0);--foreground:lab(98.26% 0 0);--card:lab(7.78201% -.0000149012 0);--card-foreground:lab(98.26% 0 0);--popover:lab(7.78201% -.0000149012 0);--popover-foreground:lab(98.26% 0 0);--primary:lab(90.952% 0 -.0000119209);--primary-foreground:lab(7.78201% -.0000149012 0);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--accent:lab(69.7395% -56.1647 24.7025);--accent-foreground:lab(98.26% 0 0);--destructive:lab(63.7053% 60.745 31.3109);--destructive-foreground:lab(98.26% 0 0);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(48.496% 0 0);--chart-1:lab(84.92% 0 -.0000119209);--chart-2:lab(48.496% 0 0);--chart-3:lab(34.924% 0 0);--chart-4:lab(27.036% 0 0);--chart-5:lab(15.204% 0 -.00000596046);--sidebar:lab(7.78201% -.0000149012 0);--sidebar-foreground:lab(98.26% 0 0);--sidebar-primary:lab(36.9089% 35.0961 -85.6872);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(15.204% 0 -.00000596046);--sidebar-accent-foreground:lab(98.26% 0 0);--sidebar-border:lab(100% 0 0/.1);--sidebar-ring:lab(48.496% 0 0)}}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground)}html{font-family:var(--font-body),ui-sans-serif,system-ui,sans-serif}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;bottom:0;left:0;right:0}.-left-\[22px\]{left:-22px}.-left-\[24px\]{left:-24px}.-left-\[39px\]{left:-39px}.-left-\[40px\]{left:-40px}.-right-3{right:-.75rem}.-top-0\.5{top:-.125rem}.-top-1\.5{top:-.375rem}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-2{left:.5rem}.left-2\.5{left:.625rem}.right-0{right:0}.right-2{right:.5rem}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-6{top:1.5rem}.top-full{top:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[10001\]{z-index:10001}.z-\[10050\]{z-index:10050}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.z-\[60\]{z-index:60}.m-0{margin:0}.m-3{margin:.75rem}.m-\[\.15rem_\.35rem_0\]{margin:.15rem .35rem 0}.m-\[\.35rem_\.35rem_0\]{margin:.35rem .35rem 0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.\!mr-1{margin-right:.25rem!important}.\!mt-\[1\.25rem\]{margin-top:1.25rem!important}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-\[-2px\]{margin-bottom:-2px}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-\[12px\]{margin-right:12px}.mr-\[16px\]{margin-right:16px}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[0\.75rem\]{margin-top:.75rem}.mt-auto{margin-top:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.\!size-3\.5{width:.875rem!important;height:.875rem!important}.\!size-4{width:1rem!important;height:1rem!important}.size-1\.5{width:.375rem;height:.375rem}.size-10{width:2.5rem;height:2.5rem}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-full{width:100%;height:100%}.\!h-4{height:1rem!important}.\!h-7{height:1.75rem!important}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[14px\]{height:14px}.h-\[calc\(100\%-2px\)\]{height:calc(100% - 2px)}.h-\[min\(68vh\,520px\)\]{height:min(68vh,520px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-0{max-height:0}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-96{max-height:24rem}.max-h-\[2000px\]{max-height:2000px}.max-h-\[240px\]{max-height:240px}.max-h-\[300px\]{max-height:300px}.max-h-\[6000px\]{max-height:6000px}.max-h-\[92vh\]{max-height:92vh}.max-h-\[min\(50vh\,22rem\)\]{max-height:min(50vh,22rem)}.max-h-\[min\(50vh\,360px\)\]{max-height:min(50vh,360px)}.max-h-\[min\(68vh\,640px\)\]{max-height:min(68vh,640px)}.max-h-dvh{max-height:100dvh}.\!min-h-\[--min-h\]{min-height:var(--min-h)!important}.min-h-0{min-height:0}.min-h-20{min-height:5rem}.min-h-5{min-height:1.25rem}.min-h-9{min-height:2.25rem}.min-h-\[110px\]{min-height:110px}.min-h-\[120px\]{min-height:120px}.min-h-\[124px\]{min-height:124px}.min-h-\[180px\]{min-height:180px}.min-h-\[200px\]{min-height:200px}.min-h-\[220px\]{min-height:220px}.min-h-\[240px\]{min-height:240px}.min-h-\[320px\]{min-height:320px}.min-h-\[40vh\]{min-height:40vh}.min-h-\[80px\]{min-height:80px}.min-h-\[88px\]{min-height:88px}.\!w-4{width:1rem!important}.\!w-7{width:1.75rem!important}.\!w-fit{width:-moz-fit-content!important;width:fit-content!important}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[102px\]{width:102px}.w-\[104px\]{width:104px}.w-\[112px\]{width:112px}.w-\[116px\]{width:116px}.w-\[120px\]{width:120px}.w-\[128px\]{width:128px}.w-\[140px\]{width:140px}.w-\[14px\]{width:14px}.w-\[160px\]{width:160px}.w-\[168px\]{width:168px}.w-\[172px\]{width:172px}.w-\[260px\]{width:260px}.w-\[72px\]{width:72px}.w-\[80px\]{width:80px}.w-\[88px\]{width:88px}.w-\[96px\]{width:96px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.\!min-w-0{min-width:0!important}.min-w-0{min-width:0}.min-w-24{min-width:6rem}.min-w-32{min-width:8rem}.min-w-\[172px\]{min-width:172px}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.min-w-\[6\.5rem\]{min-width:6.5rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[96px\]{min-width:96px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.\!max-w-\[400px\]{max-width:400px!important}.max-w-36{max-width:9rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[460px\]{max-width:460px}.max-w-\[480px\]{max-width:480px}.max-w-\[520px\]{max-width:520px}.max-w-\[560px\]{max-width:560px}.max-w-\[720px\]{max-width:720px}.max-w-\[760px\]{max-width:760px}.max-w-\[840px\]{max-width:840px}.max-w-\[920px\]{max-width:920px}.max-w-\[min\(100vw-24px\,160px\)\]{max-width:min(100vw - 24px,160px)}.max-w-\[min\(100vw-24px\,260px\)\]{max-width:min(100vw - 24px,260px)}.max-w-\[min\(100vw-32px\,320px\)\]{max-width:min(100vw - 32px,320px)}.max-w-\[min\(540px\,100\%\)\]{max-width:min(540px,100%)}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.\!flex-none{flex:none!important}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.animate-\[backdropIn_0\.2s_ease-out\]{animation:.2s ease-out backdropIn}.animate-\[modalIn_0\.2s_ease-out\]{animation:.2s ease-out modalIn}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.\!justify-start{justify-content:flex-start!important}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-\[10px\]{gap:10px}.gap-\[12px\]{gap:12px}.gap-\[var\(--space-4\)\]{gap:var(--space-4)}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-4{row-gap:1rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-\[var\(--ds-border\)\]>:not([hidden])~:not([hidden]){border-color:var(--ds-border)}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded{border-radius:.25rem!important}.\!rounded-md{border-radius:calc(var(--radius) - 2px)!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-\[min\(var\(--radius-md\)\,14px\)\]{border-radius:min(var(--radius-md),14px)}.rounded-\[var\(--ds-radius-sm\)\]{border-radius:var(--ds-radius-sm)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.\!border{border-width:1px!important}.\!border-0{border-width:0!important}.border{border-width:1px}.border-0{border-width:0}.border-x-0{border-left-width:0;border-right-width:0}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.\!border-solid{border-style:solid!important}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.\!border-none{border-style:none!important}.border-none{border-style:none}.\!border-\[\#1677FF\]{--tw-border-opacity:1!important;border-color:rgba(22,119,255,var(--tw-border-opacity,1))!important}.\!border-\[\#52C51A\]{--tw-border-opacity:1!important;border-color:rgba(82,197,26,var(--tw-border-opacity,1))!important}.\!border-\[\#FAAD14\]{--tw-border-opacity:1!important;border-color:rgba(250,173,20,var(--tw-border-opacity,1))!important}.\!border-\[\#FF4D50\]{--tw-border-opacity:1!important;border-color:rgba(255,77,80,var(--tw-border-opacity,1))!important}.\!border-\[\#e5e5e5\]{--tw-border-opacity:1!important;border-color:rgba(229,229,229,var(--tw-border-opacity,1))!important}.\!border-\[var\(--border-default\)\]{border-color:var(--border-default)!important}.\!border-\[var\(--ds-accent\)\]{border-color:var(--ds-accent)!important}.\!border-\[var\(--green-dark\)\]{border-color:var(--green-dark)!important}.border-\[\#223044\]{--tw-border-opacity:1;border-color:rgba(34,48,68,var(--tw-border-opacity,1))}.border-\[\#e2e6ee\]{--tw-border-opacity:1;border-color:rgba(226,230,238,var(--tw-border-opacity,1))}.border-\[\#e4dfc8\]{--tw-border-opacity:1;border-color:rgba(228,223,200,var(--tw-border-opacity,1))}.border-\[\#efefef\]{--tw-border-opacity:1;border-color:rgba(239,239,239,var(--tw-border-opacity,1))}.border-\[color\:var\(--ds-accent\)\]{border-color:var(--ds-accent)}.border-\[color\:var\(--ds-border\)\]{border-color:var(--ds-border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-\[var\(--ds-accent\)\]{border-color:var(--ds-accent)}.border-\[var\(--ds-border\)\]{border-color:var(--ds-border)}.border-\[var\(--ds-border\,var\(--input\)\)\]{border-color:var(--ds-border,var(--input))}.border-\[var\(--green-dark\)\]{border-color:var(--green-dark)}.border-amber-500\/40{border-color:rgba(245,158,11,.4)}.border-black\/5{border-color:rgba(0,0,0,.05)}.border-black\/\[0\.06\]{border-color:rgba(0,0,0,.06)}.border-border{border-color:var(--border)}.border-emerald-500\/40{border-color:rgba(16,185,129,.4)}.border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity,1))}.border-red-500\/40{border-color:rgba(239,68,68,.4)}.border-transparent{border-color:transparent}.border-white\/5{border-color:rgba(255,255,255,.05)}.\!bg-\[\#E7F4FF\]{--tw-bg-opacity:1!important;background-color:rgba(231,244,255,var(--tw-bg-opacity,1))!important}.\!bg-\[\#F6FFED\]{--tw-bg-opacity:1!important;background-color:rgba(246,255,237,var(--tw-bg-opacity,1))!important}.\!bg-\[\#FFF3F1\]{--tw-bg-opacity:1!important;background-color:rgba(255,243,241,var(--tw-bg-opacity,1))!important}.\!bg-\[\#FFFBE6\]{--tw-bg-opacity:1!important;background-color:rgba(255,251,230,var(--tw-bg-opacity,1))!important}.\!bg-\[\#fbfbfc\]{--tw-bg-opacity:1!important;background-color:rgba(251,251,252,var(--tw-bg-opacity,1))!important}.\!bg-transparent{background-color:transparent!important}.bg-\[\#111\]{--tw-bg-opacity:1;background-color:rgba(17,17,17,var(--tw-bg-opacity,1))}.bg-\[\#e9e9e9\]{--tw-bg-opacity:1;background-color:rgba(233,233,233,var(--tw-bg-opacity,1))}.bg-\[\#efefef\]{--tw-bg-opacity:1;background-color:rgba(239,239,239,var(--tw-bg-opacity,1))}.bg-\[\#f6f7fa\]{--tw-bg-opacity:1;background-color:rgba(246,247,250,var(--tw-bg-opacity,1))}.bg-\[\#f9f9f7\]{--tw-bg-opacity:1;background-color:rgba(249,249,247,var(--tw-bg-opacity,1))}.bg-\[\#f9f9f9\]{--tw-bg-opacity:1;background-color:rgba(249,249,249,var(--tw-bg-opacity,1))}.bg-\[\#fafafa\]{--tw-bg-opacity:1;background-color:rgba(250,250,250,var(--tw-bg-opacity,1))}.bg-\[\#fbfbfc\]{--tw-bg-opacity:1;background-color:rgba(251,251,252,var(--tw-bg-opacity,1))}.bg-\[\#fef2f2\]{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity,1))}.bg-\[\#fff\]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.bg-\[rgba\(120\,30\,30\,\.07\)\]{background-color:rgba(120,30,30,.07)}.bg-\[rgba\(50\,100\,180\,\.07\)\]{background-color:rgba(50,100,180,.07)}.bg-\[var\(--border-hover\)\]{background-color:var(--border-hover)}.bg-\[var\(--ds-accent\)\]{background-color:var(--ds-accent)}.bg-\[var\(--ds-bg\)\]{background-color:var(--ds-bg)}.bg-\[var\(--ds-border\)\]{background-color:var(--ds-border)}.bg-\[var\(--ds-item-active\)\]{background-color:var(--ds-item-active)}.bg-\[var\(--ds-item-hover\)\]{background-color:var(--ds-item-hover)}.bg-\[var\(--ds-log-bg\)\]{background-color:var(--ds-log-bg)}.bg-\[var\(--ds-main-tint\)\]{background-color:var(--ds-main-tint)}.bg-\[var\(--ds-sidebar\)\]{background-color:var(--ds-sidebar)}.bg-\[var\(--green-light\)\]{background-color:var(--green-light)}.bg-\[var\(--surface-1\)\]{background-color:var(--surface-1)}.bg-\[var\(--surface-2\)\]{background-color:var(--surface-2)}.bg-amber-500\/15{background-color:rgba(245,158,11,.15)}.bg-amber-500\/5{background-color:rgba(245,158,11,.05)}.bg-background{background-color:var(--background)}.bg-black\/45{background-color:rgba(0,0,0,.45)}.bg-black\/70{background-color:rgba(0,0,0,.7)}.bg-border{background-color:var(--border)}.bg-emerald-500\/10{background-color:rgba(16,185,129,.1)}.bg-emerald-500\/15{background-color:rgba(16,185,129,.15)}.bg-emerald-500\/5{background-color:rgba(16,185,129,.05)}.bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity,1))}.bg-input{background-color:var(--input)}.bg-popover{background-color:var(--popover)}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity,1))}.bg-red-500\/10{background-color:rgba(239,68,68,.1)}.bg-red-500\/15{background-color:rgba(239,68,68,.15)}.bg-red-500\/5{background-color:rgba(239,68,68,.05)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.bg-white\/\[\.012\]{background-color:rgba(255,255,255,.01)}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-0{padding:0!important}.\!p-3{padding:.75rem!important}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-\[\.45rem_\.75rem\]{padding:.45rem .75rem}.p-\[1rem_\.75rem\]{padding:1rem .75rem}.p-\[24px\]{padding:24px}.p-\[var\(--space-1\)\]{padding:var(--space-1)}.\!px-1{padding-left:.25rem!important;padding-right:.25rem!important}.\!px-3{padding-left:.75rem!important;padding-right:.75rem!important}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.\!px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}.\!py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.\!py-4{padding-top:1rem!important;padding-bottom:1rem!important}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-\[24px\]{padding-left:24px;padding-right:24px}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[\.85rem\]{padding-top:.85rem;padding-bottom:.85rem}.\!pl-\[16px\]{padding-left:16px!important}.\!pr-\[16px\]{padding-right:16px!important}.\!pt-2{padding-top:.5rem!important}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-\[1px\]{padding-bottom:1px}.pb-\[var\(--space-4\)\]{padding-bottom:var(--space-4)}.pl-1{padding-left:.25rem}.pl-1\.5{padding-left:.375rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pl-\[0\]{padding-left:0}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pr-5{padding-right:1.25rem}.pr-8{padding-right:2rem}.pr-\[0\]{padding-right:0}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono),ui-monospace,monospace}.font-sans{font-family:var(--font-body),ui-sans-serif,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.text-\[9\.5px\]{font-size:9.5px}.text-base{font-size:var(--text-base);line-height:1.5}.text-lg{font-size:var(--text-lg);line-height:1.4}.text-sm{font-size:var(--text-sm);line-height:1.4}.text-xs{font-size:var(--text-xs);line-height:1.4}.\!font-normal{font-weight:400!important}.font-\[600\]{font-weight:600}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-\[1\.5\]{line-height:1.5}.leading-\[1\.6\]{line-height:1.6}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.\!text-\[\#1677FF\]{--tw-text-opacity:1!important;color:rgba(22,119,255,var(--tw-text-opacity,1))!important}.\!text-\[\#1C1E1F\]{--tw-text-opacity:1!important;color:rgba(28,30,31,var(--tw-text-opacity,1))!important}.\!text-\[\#52C51A\]{--tw-text-opacity:1!important;color:rgba(82,197,26,var(--tw-text-opacity,1))!important}.\!text-\[\#6e6e6e\]{--tw-text-opacity:1!important;color:rgba(110,110,110,var(--tw-text-opacity,1))!important}.\!text-\[\#A32D2D\]{--tw-text-opacity:1!important;color:rgba(163,45,45,var(--tw-text-opacity,1))!important}.\!text-\[\#FAAD14\]{--tw-text-opacity:1!important;color:rgba(250,173,20,var(--tw-text-opacity,1))!important}.\!text-\[\#FF4D50\]{--tw-text-opacity:1!important;color:rgba(255,77,80,var(--tw-text-opacity,1))!important}.\!text-\[\#e6e6e6\]{--tw-text-opacity:1!important;color:rgba(230,230,230,var(--tw-text-opacity,1))!important}.\!text-\[var\(--ds-text\)\]{color:var(--ds-text)!important}.\!text-\[var\(--text-secondary\)\]{color:var(--text-secondary)!important}.\!text-zinc-500{--tw-text-opacity:1!important;color:rgba(113,113,122,var(--tw-text-opacity,1))!important}.text-\[\#252e3e\]{--tw-text-opacity:1;color:rgba(37,46,62,var(--tw-text-opacity,1))}.text-\[\#2e5a38\]{--tw-text-opacity:1;color:rgba(46,90,56,var(--tw-text-opacity,1))}.text-\[\#303a4a\]{--tw-text-opacity:1;color:rgba(48,58,74,var(--tw-text-opacity,1))}.text-\[\#343d52\]{--tw-text-opacity:1;color:rgba(52,61,82,var(--tw-text-opacity,1))}.text-\[\#353f52\]{--tw-text-opacity:1;color:rgba(53,63,82,var(--tw-text-opacity,1))}.text-\[\#3B6D11\]{--tw-text-opacity:1;color:rgba(59,109,17,var(--tw-text-opacity,1))}.text-\[\#4d80c4\]{--tw-text-opacity:1;color:rgba(77,128,196,var(--tw-text-opacity,1))}.text-\[\#535353\]{--tw-text-opacity:1;color:rgba(83,83,83,var(--tw-text-opacity,1))}.text-\[\#5a8ec4\]{--tw-text-opacity:1;color:rgba(90,142,196,var(--tw-text-opacity,1))}.text-\[\#626a77\]{--tw-text-opacity:1;color:rgba(98,106,119,var(--tw-text-opacity,1))}.text-\[\#6e2828\]{--tw-text-opacity:1;color:rgba(110,40,40,var(--tw-text-opacity,1))}.text-\[\#6e6e6e\]{--tw-text-opacity:1;color:rgba(110,110,110,var(--tw-text-opacity,1))}.text-\[\#8A8985\]{--tw-text-opacity:1;color:rgba(138,137,133,var(--tw-text-opacity,1))}.text-\[\#A32D2D\]{--tw-text-opacity:1;color:rgba(163,45,45,var(--tw-text-opacity,1))}.text-\[\#b0bac8\]{--tw-text-opacity:1;color:rgba(176,186,200,var(--tw-text-opacity,1))}.text-\[\#b4c4b9\]{--tw-text-opacity:1;color:rgba(180,196,185,var(--tw-text-opacity,1))}.text-\[var\(--ds-accent\)\]{color:var(--ds-accent)}.text-\[var\(--ds-danger\)\]{color:var(--ds-danger)}.text-\[var\(--ds-muted\)\]{color:var(--ds-muted)}.text-\[var\(--ds-ok\)\]{color:var(--ds-ok)}.text-\[var\(--ds-text\)\]{color:var(--ds-text)}.text-\[var\(--green-dark\)\]{color:var(--green-dark)}.text-\[var\(--icon-color\)\]{color:var(--icon-color)}.text-\[var\(--surface-1\)\]{color:var(--surface-1)}.text-\[var\(--text-placeholder\)\]{color:var(--text-placeholder)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-tertiary\)\]{color:var(--text-tertiary)}.text-amber-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity,1))}.text-destructive{color:var(--destructive)}.text-emerald-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity,1))}.text-foreground{color:var(--foreground)}.text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity,1))}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-600{--tw-text-opacity:1;color:rgba(234,88,12,var(--tw-text-opacity,1))}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity,1))}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgba(161,161,170,var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgba(113,113,122,var(--tw-text-opacity,1))}.text-zinc-700{--tw-text-opacity:1;color:rgba(63,63,70,var(--tw-text-opacity,1))}.text-zinc-900{--tw-text-opacity:1;color:rgba(24,24,27,var(--tw-text-opacity,1))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.accent-\[var\(--green-dark\)\]{accent-color:var(--green-dark)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.\!shadow-none{--tw-shadow:0 0 transparent!important;--tw-shadow-colored:0 0 transparent!important;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)!important}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-\[var\(--shadow-float\)\]{--tw-shadow-color:var(--shadow-float);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[var\(--shadow-lg\)\]{--tw-shadow-color:var(--shadow-lg);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[var\(--shadow-md\)\]{--tw-shadow-color:var(--shadow-md);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[var\(--shadow-sm\)\]{--tw-shadow-color:var(--shadow-sm);--tw-shadow:var(--tw-shadow-colored)}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.filter{filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[border-color\,background-color\]{transition-property:border-color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[border-color\,box-shadow\,background-color\]{transition-property:border-color,box-shadow,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[color\,box-shadow\,border-color\,background-color\]{transition-property:color,box-shadow,border-color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[color\,box-shadow\,border-color\]{transition-property:color,box-shadow,border-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.will-change-transform{will-change:transform}[data-slot=dropdown-menu-positioner]{border-radius:var(--radius);box-shadow:var(--shadow-float);overflow:visible}.ds-soft-shadow{box-shadow:var(--shadow-sm)}.ds-soft-shadow:hover,.ds-soft-shadow:focus-within{box-shadow:var(--shadow-composer)}:root{--font-body:"DM Sans","PingFang SC","Microsoft YaHei",sans-serif;--font-sans:var(--font-body);--font-anthropic-sans:"Anthropic Sans",system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-anthropic-serif:"Anthropic Serif",Georgia,"Arial Hebrew","Noto Sans Hebrew","Times New Roman",Times,"Hiragino Sans","Yu Gothic",Meiryo,"Noto Sans CJK JP","PingFang TC","Microsoft JhengHei","Noto Sans CJK TC","PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR",serif;--font-anthropic-mono:"Anthropic Mono",ui-monospace,monospace;--font-open-dyslexic:"OpenDyslexic","Comic Sans MS",ui-serif,serif;--accent:#1db887}.outline-none{outline-offset:0;outline:none}p,h1,h2,h3,h4,h5,h6{margin:0;padding:0}ul,li{margin:0;padding:0;list-style:none}[data-slot=tabs-list][data-variant=line] [data-slot=tabs-trigger][data-state=active],[data-slot=tabs-list][data-variant=line] [data-slot=tabs-trigger][data-active]:not([data-active=false]),[data-slot=tabs-list][data-variant=line] [data-slot=tabs-trigger][aria-selected=true]{color:var(--ds-main,#1db887);border-bottom:2px solid var(--ds-main,#1db887)}.placeholder\:text-\[var\(--text-placeholder\)\]::placeholder{color:var(--text-placeholder)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.first\:mt-0:first-child{margin-top:0}.hover\:\!border-\[\#e5e5e5\]:hover{--tw-border-opacity:1!important;border-color:rgba(229,229,229,var(--tw-border-opacity,1))!important}.hover\:\!border-\[var\(--ds-accent\)\]:hover{border-color:var(--ds-accent)!important}.hover\:border-\[\#e0e0e0\]:hover{--tw-border-opacity:1;border-color:rgba(224,224,224,var(--tw-border-opacity,1))}.hover\:border-\[color\:var\(--ds-accent\)\]:hover{border-color:var(--ds-accent)}.hover\:border-\[color\:var\(--ds-border-hover\)\]:hover{border-color:var(--ds-border-hover)}.hover\:border-\[var\(--border-hover\)\]:hover{border-color:var(--border-hover)}.hover\:border-\[var\(--ds-accent-hover\)\]:hover{border-color:var(--ds-accent-hover)}.hover\:border-\[var\(--ds-border-hover\)\]:hover{border-color:var(--ds-border-hover)}.hover\:border-\[var\(--green-dark\)\]:hover{border-color:var(--green-dark)}.hover\:bg-\[\#333\]:hover{--tw-bg-opacity:1;background-color:rgba(51,51,51,var(--tw-bg-opacity,1))}.hover\:bg-\[\#fff1f1\]:hover{--tw-bg-opacity:1;background-color:rgba(255,241,241,var(--tw-bg-opacity,1))}.hover\:bg-\[var\(--ds-accent-hover\)\]:hover{background-color:var(--ds-accent-hover)}.hover\:bg-\[var\(--ds-item-active\)\]:hover{background-color:var(--ds-item-active)}.hover\:bg-\[var\(--ds-item-bg-hover\)\]:hover{background-color:var(--ds-item-bg-hover)}.hover\:bg-\[var\(--ds-item-hover\)\]:hover{background-color:var(--ds-item-hover)}.hover\:bg-\[var\(--ds-main-tint\)\]:hover{background-color:var(--ds-main-tint)}.hover\:bg-\[var\(--green-light\)\]:hover{background-color:var(--green-light)}.hover\:bg-\[var\(--surface-1\)\]:hover{background-color:var(--surface-1)}.hover\:bg-\[var\(--surface-2\)\]:hover{background-color:var(--surface-2)}.hover\:bg-\[var\(--surface-3\)\]:hover{background-color:var(--surface-3)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-white\/70:hover{background-color:rgba(255,255,255,.7)}.hover\:\!text-\[\#cfcfcf\]:hover{--tw-text-opacity:1!important;color:rgba(207,207,207,var(--tw-text-opacity,1))!important}.hover\:text-\[\#343d52\]:hover{--tw-text-opacity:1;color:rgba(52,61,82,var(--tw-text-opacity,1))}.hover\:text-\[color\:var\(--ds-accent\)\]:hover,.hover\:text-\[var\(--ds-accent\)\]:hover{color:var(--ds-accent)}.hover\:text-\[var\(--ds-accent-hover\)\]:hover{color:var(--ds-accent-hover)}.hover\:text-\[var\(--ds-text\)\]:hover{color:var(--ds-text)}.hover\:text-\[var\(--surface-1\)\]:hover{color:var(--surface-1)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity,1))}.hover\:text-zinc-600:hover{--tw-text-opacity:1;color:rgba(82,82,91,var(--tw-text-opacity,1))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgba(63,63,70,var(--tw-text-opacity,1))}.hover\:text-zinc-900:hover{--tw-text-opacity:1;color:rgba(24,24,27,var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:shadow-\[0_2px_12px_rgba\(0\,0\,0\,0\.06\)\]:hover{--tw-shadow:0 2px 12px rgba(0,0,0,.06);--tw-shadow-colored:0 2px 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.hover\:shadow-\[var\(--shadow-sm\)\]:hover{--tw-shadow-color:var(--shadow-sm);--tw-shadow:var(--tw-shadow-colored)}.focus\:bg-\[\#fff1f1\]:focus{--tw-bg-opacity:1;background-color:rgba(255,241,241,var(--tw-bg-opacity,1))}.focus\:bg-\[var\(--ds-item-hover\)\]:focus{background-color:var(--ds-item-hover)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid transparent}.focus-visible\:border-0:focus-visible{border-width:0}.focus-visible\:\!border-\[\#e5e5e5\]:focus-visible{--tw-border-opacity:1!important;border-color:rgba(229,229,229,var(--tw-border-opacity,1))!important}.focus-visible\:border-\[var\(--border-focus\)\]:focus-visible{border-color:var(--border-focus)}.focus-visible\:border-\[var\(--green-dark\)\]:focus-visible{border-color:var(--green-dark)}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid transparent}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-\[var\(--ds-accent\)\]:focus-visible{--tw-ring-color:var(--ds-accent)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:\[box-shadow\:var\(--ring-focus-sm\)\]:focus-visible{box-shadow:var(--ring-focus-sm)}.read-only\:focus-visible\:border-border:focus-visible:-moz-read-only{border-color:var(--border)}.read-only\:focus-visible\:border-border:focus-visible:read-only{border-color:var(--border)}.read-only\:focus-visible\:\[box-shadow\:none\]:focus-visible:-moz-read-only{box-shadow:none}.read-only\:focus-visible\:\[box-shadow\:none\]:focus-visible:read-only{box-shadow:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:focus-visible\:border-\[var\(--ds-border\,var\(--input\)\)\]:focus-visible:disabled{border-color:var(--ds-border,var(--input))}.disabled\:focus-visible\:border-border:focus-visible:disabled{border-color:var(--border)}.disabled\:focus-visible\:\[box-shadow\:none\]:focus-visible:disabled{box-shadow:none}.group:focus-within .group-focus-within\:pointer-events-auto{pointer-events:auto}.group:focus-within .group-focus-within\:visible{visibility:visible}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:pointer-events-auto{pointer-events:auto}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:opacity-100{opacity:1}.group\/dropdown-menu-item:focus .group-focus\/dropdown-menu-item\:text-accent-foreground{color:var(--accent-foreground)}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.has-\[\:focus-visible\]\:border-\[var\(--border-focus\)\]:has(:focus-visible){border-color:var(--border-focus)}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.has-\[\:focus-visible\]\:\[box-shadow\:var\(--ring-focus-sm\)\]:has(:focus-visible){box-shadow:var(--ring-focus-sm)}.group\/table-row:has(td:hover) .group-has-\[td\:hover\]\/table-row\:\!bg-\[var\(--ds-item-hover\)\]{background-color:var(--ds-item-hover)!important}.aria-expanded\:border-\[var\(--ds-accent-hover\)\][aria-expanded=true]{border-color:var(--ds-accent-hover)}.aria-expanded\:bg-\[var\(--surface-1\)\][aria-expanded=true]{background-color:var(--surface-1)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-\[var\(--ds-accent-hover\)\][aria-expanded=true]{color:var(--ds-accent-hover)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[size\=default\]\:size-4[data-size=default]{width:1rem;height:1rem}.data-\[size\=sm\]\:size-3\.5[data-size=sm]{width:.875rem;height:.875rem}.data-\[size\=default\]\:h-8[data-size=default]{height:2rem}.data-\[size\=lg\]\:h-10[data-size=lg]{height:2.5rem}.data-\[size\=sm\]\:h-7[data-size=sm]{height:1.75rem}.data-\[checked\]\:translate-x-4[data-checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[unchecked\]\:translate-x-0\.5[data-unchecked]{--tw-translate-x:.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[checked\]\:border-\[var\(--ds-accent\)\][data-checked]{border-color:var(--ds-accent)}.data-\[state\=open\]\:border-\[var\(--border-focus\)\][data-state=open]{border-color:var(--border-focus)}.data-\[checked\]\:bg-\[var\(--ds-accent\)\][data-checked]{background-color:var(--ds-accent)}.data-\[checked\]\:bg-primary[data-checked]{background-color:var(--primary)}.data-\[checked\]\:bg-primary-foreground[data-checked]{background-color:var(--primary-foreground)}.data-\[checked\]\:bg-white[data-checked]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.data-\[active\]\:font-medium[data-active]{font-weight:500}.data-\[active\]\:text-\[var\(--ds-accent\)\][data-active]{color:var(--ds-accent)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:\[box-shadow\:var\(--ring-focus-sm\)\][data-state=open]{box-shadow:var(--ring-focus-sm)}.data-\[active\]\:after\:absolute[data-active]:after{content:var(--tw-content);position:absolute}.data-\[active\]\:after\:bottom-\[-1px\][data-active]:after{content:var(--tw-content);bottom:-1px}.data-\[active\]\:after\:left-0[data-active]:after{content:var(--tw-content);left:0}.data-\[active\]\:after\:right-0[data-active]:after{content:var(--tw-content);right:0}.data-\[active\]\:after\:h-\[2px\][data-active]:after{content:var(--tw-content);height:2px}.data-\[active\]\:after\:bg-\[var\(--ds-accent\)\][data-active]:after{content:var(--tw-content);background-color:var(--ds-accent)}.data-\[active\]\:after\:content-\[\"\"\][data-active]:after{--tw-content:"";content:var(--tw-content)}.data-\[variant\=destructive\]\:focus\:text-destructive:focus[data-variant=destructive]{color:var(--destructive)}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:mb-0{margin-bottom:0}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:mr-0{margin-right:0}.group\/tabs-list[data-variant=default] .group-data-\[variant\=default\]\/tabs-list\:h-8{height:2rem}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:h-9{height:2.25rem}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:rounded-full{border-radius:9999px}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:px-5{padding-left:1.25rem;padding-right:1.25rem}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:pb-0{padding-bottom:0}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:text-sm{font-size:var(--text-sm);line-height:1.4}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:font-semibold{font-weight:600}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:text-\[\#828282\]{--tw-text-opacity:1;color:rgba(130,130,130,var(--tw-text-opacity,1))}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:bg-\[\#fff\][data-active]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:font-bold[data-active]{font-weight:700}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:text-\[\#333333\][data-active]{--tw-text-opacity:1;color:rgba(51,51,51,var(--tw-text-opacity,1))}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:shadow-\[0_2px_10px_rgba\(15\,23\,42\,0\.08\)\][data-active]{--tw-shadow:0 2px 10px rgba(15,23,42,.08);--tw-shadow-colored:0 2px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:after\:\[content\:none\][data-active]:after{content:none}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:inline{display:inline}.sm\:min-w-\[140px\]{min-width:140px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:pl-2\.5{padding-left:.625rem}.sm\:pr-2\.5{padding-right:.625rem}}@media (min-width:768px){.md\:w-\[300px\]{width:300px}.md\:flex-row{flex-direction:row}.md\:border-b-0{border-bottom-width:0}.md\:border-r{border-right-width:1px}}@media (min-width:1024px){.lg\:flex-nowrap{flex-wrap:nowrap}}@media (prefers-color-scheme:dark){.dark\:border-input{border-color:var(--input)}}.\[\&\>td\]\:transition-colors>td{transition-property:color,background-color,border-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.data-\[state\=selected\]\:\[\&\>td\]\:\!bg-\[var\(--ds-item-active\)\]>td[data-state=selected]{background-color:var(--ds-item-active)!important}.\[\&_path\]\:\!fill-none path{fill:none!important}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:.75rem;height:.75rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:.875rem;height:.875rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-5 svg{width:1.25rem;height:1.25rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\]\:stroke-current svg{stroke:currentColor}.\[\&_svg\]\:align-middle svg{vertical-align:middle}.\[\&_svg\]\:\!text-red-600 svg{--tw-text-opacity:1!important;color:rgba(220,38,38,var(--tw-text-opacity,1))!important}.hover\:\[\&_svg\]\:\!text-red-800 svg:hover{--tw-text-opacity:1!important;color:rgba(153,27,27,var(--tw-text-opacity,1))!important}.\[\&_svg_path\]\:\!fill-current svg path{fill:currentColor!important}.\[\&_svg_path\]\:\!fill-none svg path{fill:none!important}.\[\&_tr\:last-child\]\:border-b-0 tr:last-child,.\[\&_tr\:last-child_td\]\:border-b-0 tr:last-child td{border-bottom-width:0}.\[\&_tr\]\:table tr{display:table}.\[\&_tr\]\:w-full tr{width:100%}.\[\&_tr\]\:table-fixed tr{table-layout:fixed}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
|
|
@@ -1 +0,0 @@
|
|
|
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,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}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)))}]);
|
/package/dist/_next/static/{lNBSG0s2sztoG2gw766B8 → dOWHotWZcTuV50_vyRSGI}/_buildManifest.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|