@auto-ai/agent 2.1.146 → 2.1.148
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/06b383e8ee499be7.js +1 -0
- package/dist/_next/static/chunks/1cb7453376657ffb.css +1 -0
- package/dist/_next/static/chunks/2014b101125849fd.js +1 -0
- package/dist/_next/static/chunks/3ddf56f78e79b076.js +1 -0
- package/dist/_next/static/chunks/46b326fcd7b2e8ab.js +1 -0
- package/dist/_next/static/chunks/489266ff75dbd7fd.js +1 -0
- package/dist/_next/static/chunks/4b1cbde821e7ad65.js +1 -0
- package/dist/_next/static/chunks/{91adb7bdb9870c6a.js → 522518d740397639.js} +1 -1
- package/dist/_next/static/chunks/5853f68e75f5f7ab.js +1 -0
- package/dist/_next/static/chunks/65efa67b7efe0f72.js +1 -0
- package/dist/_next/static/chunks/73930967cfa80238.js +1 -0
- package/dist/_next/static/chunks/73e518d4b3543b8f.js +1 -0
- package/dist/_next/static/chunks/799f92e88bfeb469.js +1 -0
- package/dist/_next/static/chunks/{76a71d344cc15a9f.js → 9ccf7a8bca1730bf.js} +1 -1
- package/dist/_next/static/chunks/b896987ddf6315c9.js +1 -0
- package/dist/_next/static/chunks/c79da9dd69089e4f.js +1 -0
- package/dist/_next/static/chunks/{5cf497c406a233ac.js → da89e354de542422.js} +1 -1
- package/dist/_next/static/chunks/{6d1c0d0ee56899fb.js → ecaea9e9321ec538.js} +1 -1
- package/dist/_next/static/chunks/{turbopack-030a42d60560a927.js → turbopack-63952675b1d69124.js} +1 -1
- package/dist/_next/static/media/data-loading.be8d921a.png +0 -0
- package/dist/_next/static/media/no-data.48c973b9.png +0 -0
- package/dist/index.html +2 -2
- package/dist/index.txt +16 -16
- package/dist/manage/about/index.html +2 -2
- package/dist/manage/about/index.txt +17 -17
- package/dist/manage/env/index.html +2 -2
- package/dist/manage/env/index.txt +19 -19
- package/dist/manage/general/index.html +2 -2
- package/dist/manage/general/index.txt +17 -17
- package/dist/manage/index.html +2 -2
- package/dist/manage/index.txt +14 -14
- package/dist/manage/mcp/index.html +2 -2
- package/dist/manage/mcp/index.txt +17 -17
- package/dist/manage/permissions/index.html +2 -2
- package/dist/manage/permissions/index.txt +17 -17
- package/dist/manage/skills/index.html +2 -2
- package/dist/manage/skills/index.txt +17 -17
- package/dist/manage/task/index.html +2 -2
- package/dist/manage/task/index.txt +17 -17
- package/dist/manage/teams/index.html +2 -2
- package/dist/manage/teams/index.txt +17 -17
- package/dist/manage/tools/index.html +2 -2
- package/dist/manage/tools/index.txt +17 -17
- package/dist/ws-test.html +10 -0
- package/package.json +6 -6
- package/dist/_next/static/chunks/056e4297589bc43b.js +0 -1
- package/dist/_next/static/chunks/14e9e2677e576a10.js +0 -1
- package/dist/_next/static/chunks/21d1bfb869271a9f.js +0 -1
- package/dist/_next/static/chunks/2c10ed308692c3a0.js +0 -1
- package/dist/_next/static/chunks/4daa80520fa470d9.js +0 -1
- package/dist/_next/static/chunks/61676890ad8fe194.js +0 -1
- package/dist/_next/static/chunks/688707d29c1b22a8.js +0 -1
- package/dist/_next/static/chunks/950875832bab2141.js +0 -1
- package/dist/_next/static/chunks/9518ddfa15493676.js +0 -1
- package/dist/_next/static/chunks/b3272f80bcfc5de5.js +0 -1
- package/dist/_next/static/chunks/d43dd46799168929.js +0 -1
- package/dist/_next/static/chunks/efccabfd66006aa3.css +0 -1
- package/dist/_next/static/chunks/f430e6f74ab444e1.js +0 -1
- package/dist/_next/static/chunks/f4d92f64a8396e2a.js +0 -1
- /package/dist/_next/static/{ql-IZawjIz6-ovDjBCIxN → NyBMPUV729o9R49eECrGt}/_buildManifest.js +0 -0
- /package/dist/_next/static/{ql-IZawjIz6-ovDjBCIxN → NyBMPUV729o9R49eECrGt}/_clientMiddlewareManifest.json +0 -0
- /package/dist/_next/static/{ql-IZawjIz6-ovDjBCIxN → NyBMPUV729o9R49eECrGt}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
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),a=e.i(75157);function l(e){let{className:l,type:s="text",size:r="default",...i}=e;return(0,t.jsx)("input",{type:s,"data-slot":"input","data-size":r,className:(0,a.cn)("h-9 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-[var(--border-hover)] 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-9 data-[size=lg]:h-10 data-[size=sm]:h-7",l),...i})}},92715,e=>{"use strict";e.s(["AppTable",()=>u],92715);var t=e.i(18050),a=e.i(85413),l=e.i(71645),s=e.i(75157);let r=l.forwardRef((e,a)=>{let{className:l,...r}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:a,className:(0,s.cn)("w-full caption-bottom border-collapse text-sm",l),...r})})});r.displayName="Table";let i=l.forwardRef((e,a)=>{let{className:l,...r}=e;return(0,t.jsx)("thead",{ref:a,className:(0,s.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",l),...r})});i.displayName="TableHeader";let n=l.forwardRef((e,a)=>{let{className:r,viewportFit:i=!0,viewportReserveBottom:n=16,viewportPaginationReserve:o=0,style:c,...d}=e,u=l.useRef(null),m=l.useCallback(e=>{u.current=e,"function"==typeof a?a(e):a&&(a.current=e)},[a]),[p,x]=l.useState(void 0);return l.useLayoutEffect(()=>{var e,t;if(!i)return void x(void 0);let a=()=>{var e,t;let a=u.current;if(!a)return;let l=a.getBoundingClientRect().top;x(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-l-(n+o))))};a();let l=new ResizeObserver(()=>{a()});try{l.observe(document.body)}catch(e){}return window.addEventListener("resize",a),null==(e=window.visualViewport)||e.addEventListener("resize",a),null==(t=window.visualViewport)||t.addEventListener("scroll",a),window.addEventListener("scroll",a,!0),()=>{var e,t;l.disconnect(),window.removeEventListener("resize",a),null==(e=window.visualViewport)||e.removeEventListener("resize",a),null==(t=window.visualViewport)||t.removeEventListener("scroll",a),window.removeEventListener("scroll",a,!0)}},[i,n,o]),(0,t.jsx)("tbody",{ref:m,className:(0,s.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",r),style:i&&void 0!==p?{...c,maxHeight:p}:c,...d})});n.displayName="TableBody";let o=l.forwardRef((e,a)=>{let{className:l,hoverable:r=!0,...i}=e;return(0,t.jsx)("tr",{ref:a,className:(0,s.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",r&&"group/table-row",l),...i})});o.displayName="TableRow";let c=l.forwardRef((e,a)=>{let{className:l,...r}=e;return(0,t.jsx)("th",{ref:a,className:(0,s.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",l),...r})});c.displayName="TableHead";let d=l.forwardRef((e,a)=>{let{className:l,...r}=e;return(0,t.jsx)("td",{ref:a,className:(0,s.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)]",l),...r})});function u(e){let{rows:l,columns:u,getRowKey:m,className:p,rowClassName:x,headerRowClassName:f,emptyText:b,emptyNode:h,bodyProps:g}=e;return(0,t.jsx)("div",{className:(0,s.cn)("overflow-hidden border border-[var(--ds-border)]",p),children:(0,t.jsxs)(r,{children:[(0,t.jsx)(i,{children:(0,t.jsx)(o,{className:(0,s.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",f),children:u.map(e=>(0,t.jsx)(c,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(n,{...g,children:l.length?l.map(e=>(0,t.jsx)(o,{className:"function"==typeof x?x(e):x,children:u.map(a=>(0,t.jsx)(d,{className:a.cellClassName,children:a.render(e)},a.key))},m(e))):(0,t.jsx)(o,{hoverable:!1,children:(0,t.jsx)(d,{colSpan:u.length,className:"py-6",children:null!=h?h:(0,t.jsx)(a.Empty,{text:b})})})})]})})}d.displayName="TableCell"},62427,e=>{"use strict";e.s(["clearRuntimeMcpItemConfig",()=>w,"deleteRuntimeMcp",()=>m,"deleteRuntimeSkill",()=>j,"deleteRuntimeTool",()=>u,"exportRuntimeMcpUrl",()=>x,"exportRuntimeSkillUrl",()=>k,"exportRuntimeToolUrl",()=>p,"importRuntimeMcp",()=>b,"importRuntimeTool",()=>f,"installCloudSkill",()=>C,"listBaseSkills",()=>r,"listCloudSkillCatalog",()=>N,"listInstalledSkills",()=>i,"listInstalledTools",()=>s,"listMcpServers",()=>l,"listRuntimeMcpPackages",()=>d,"listRuntimeTools",()=>c,"loadBaseSkillMd",()=>n,"loadRemoteMcpJson",()=>h,"loadRuntimeMcpItemConfig",()=>v,"saveBaseSkillMd",()=>o,"saveRemoteMcpJson",()=>g,"saveRuntimeMcpItemConfig",()=>y]);var t=e.i(29250),a=e.i(36845);async function l(e,l,s){let r=await (0,t.get)((0,a.buildMcpServersListUrl)(e,l,s));return{servers:Array.isArray(r.servers)?r.servers:[]}}async function s(e,l,s){let r=await (0,t.get)((0,a.buildToolInstalledListUrl)(e,l,s));return{tools:Array.isArray(r.tools)?r.tools:[]}}async function r(e,l,s){let r=await (0,t.get)((0,a.buildSkillBaseListUrl)(e,l,s));return{skills:Array.isArray(r.skills)?r.skills:[]}}async function i(e,l,s){let r=await (0,t.get)((0,a.buildSkillInstalledListUrl)(e,l,s));return{skills:Array.isArray(r.skills)?r.skills:[]}}async function n(e,l,s,r){return(0,t.get)((0,a.buildBaseSkillMdUrl)(e,l,s,r))}async function o(e,l,s,r,i){await (0,t.put)((0,a.buildBaseSkillMdUrl)(e,l,s,r),{content:i})}async function c(e,l,s){let r=await (0,t.get)((0,a.buildToolsRuntimeFilesUrl)(e,l,s));return{runtimeToolsDir:"string"==typeof r.runtimeToolsDir?r.runtimeToolsDir:"",items:Array.isArray(r.items)?r.items.filter(e=>!!(e&&e.id)):[]}}async function d(e,l,s){let r=await (0,t.get)((0,a.buildMcpRuntimeFilesUrl)(e,l,s));return{mcpRuntimeDir:"string"==typeof r.mcpRuntimeDir?r.mcpRuntimeDir:"",items:Array.isArray(r.items)?r.items.filter(e=>!!(e&&e.id)):[]}}async function u(e,l,s,r){return(0,t.del)((0,a.buildToolsRuntimeDeleteUrl)(e,l,s,r))}async function m(e,l,s,r){return(0,t.del)((0,a.buildMcpRuntimeDeleteUrl)(e,l,s,r))}function p(e,t,l,s){return(0,a.buildToolsRuntimeExportUrl)(e,t,l,s)}function x(e,t,l,s){return(0,a.buildMcpRuntimeExportUrl)(e,t,l,s)}async function f(e,l,s,r){let i=new FormData;return i.append("file",r),(0,t.post)((0,a.buildToolsRuntimeImportUrl)(e,l,s),i,{type:"file"})}async function b(e,l,s,r){let i=new FormData;return i.append("file",r),(0,t.post)((0,a.buildMcpRuntimeImportUrl)(e,l,s),i,{type:"file"})}async function h(e,l,s){return(0,t.get)((0,a.buildRemoteMcpJsonUrl)(e,l,s))}async function g(e,l,s,r){await (0,t.post)((0,a.buildRemoteMcpJsonUrl)(e,l,s),{content:r})}async function v(e,l,s,r,i){return(0,t.get)((0,a.buildRuntimeMcpItemConfigUrl)(e,l,s,r,i))}async function y(e,l,s,r,i,n){await (0,t.put)((0,a.buildRuntimeMcpItemConfigUrl)(e,l,s,r,i),{server:n})}async function w(e,l,s,r,i){await (0,t.del)((0,a.buildRuntimeMcpItemConfigUrl)(e,l,s,r,i))}async function j(e,l,s,r){return(0,t.del)((0,a.buildSkillsRuntimeDeleteUrl)(e,l,s,r))}function k(e,t,l,s){return(0,a.buildSkillsRuntimeExportUrl)(e,t,l,s)}async function N(e,l,s,r,i,n){let o=await (0,t.get)((0,a.buildCloudSkillCatalogUrl)(e,l,s,r,i,n));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function C(e,l,s,r){await (0,t.post)((0,a.buildCloudSkillInstallUrl)(e,l,s),{id:r})}},53925,e=>{"use strict";e.s(["ResourceImportDialog",()=>u],53925);var t=e.i(18050),a=e.i(71645),l=e.i(72064),s=e.i(75157),r=e.i(19455);function i(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}function n(e){let{uploadUrl:n,accept:o,disabled:c=!1,multiple:d=!1,maxFileSize:u=0x3200000,autoUpload:m=!1,method:p="POST",transport:x="xhr",fieldName:f="file",headers:b,extraFormData:h,autoRetryTimes:g=0,autoRetryDelayMs:v=800,selectionOnly:y=!1,className:w,emptyTitle:j="点击或拖拽文件到此处",emptyHint:k="支持上传文件",onFilesChange:N,onUploadSuccess:C,onUploadError:S,onValidationError:R}=e,T=a.useId(),U=a.useRef(null),A=a.useRef(new Map),M=a.useRef(new Map),z=a.useRef([]),[B,D]=a.useState(!1),[E,L]=a.useState([]),I=a.useMemo(()=>o?o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean):[],[o]);a.useEffect(()=>{z.current=E,null==N||N(E)},[E,N]),a.useEffect(()=>()=>{for(let e of A.current.values())e.abort();for(let e of M.current.values())e.abort();for(let e of z.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)},[]);let O=a.useCallback((e,t)=>{L(a=>a.map(a=>a.id===e?{...a,...t}:a))},[]),_=a.useCallback(async(e,t)=>{let a=z.current.find(t=>t.id===e);if(!a||c)return;O(e,{status:t>0?"retrying":"uploading",progress:0,error:"",retryCount:t});let l=new FormData;if(h)for(let[e,t]of Object.entries(h))l.append(e,t);l.append(f,a.file);try{let t="";if("fetch"===x){let a=new AbortController;M.current.set(e,a);let s=await fetch(n,{method:p,headers:b,body:l,signal:a.signal}),r=await s.text();try{t=r?JSON.parse(r):""}catch(e){t=r}if(!s.ok)throw Error("上传失败:".concat(s.status," ").concat(s.statusText))}else t=await new Promise((t,a)=>{let s=new XMLHttpRequest;if(A.current.set(e,s),s.open(p,n,!0),b)for(let[e,t]of Object.entries(b))s.setRequestHeader(e,t);s.upload.onprogress=t=>{if(!t.lengthComputable)return;let a=Math.min(100,Math.round(t.loaded/t.total*100));O(e,{progress:a})},s.onerror=()=>a(Error("网络异常,上传失败")),s.onabort=()=>a(Error("__ABORTED__")),s.onload=()=>{s.status>=200&&s.status<300?t(function(e){let t=e.responseText||"";try{return JSON.parse(t)}catch(e){return t}}(s)):a(Error("上传失败:".concat(s.status," ").concat(s.statusText)))},s.send(l)});O(e,{status:"success",progress:100,error:""});let a=z.current.find(t=>t.id===e);a&&(null==C||C(a,t))}catch(s){let a=s instanceof Error?s.message:String(s);if("__ABORTED__"===a)return void O(e,{status:"selected",progress:0,error:""});if(t<g){O(e,{status:"retrying",error:"重试中(".concat(t+1,"/").concat(g,")")}),await new Promise(e=>window.setTimeout(e,v)),await _(e,t+1);return}O(e,{status:"error",error:a});let l=z.current.find(t=>t.id===e);l&&(null==S||S(l,a))}finally{A.current.delete(e),M.current.delete(e)}},[v,g,c,h,f,b,p,S,C,x,O,n]),P=a.useCallback(e=>{_(e,0)},[_]),F=a.useCallback(e=>{var t,a;null==(t=A.current.get(e))||t.abort(),null==(a=M.current.get(e))||a.abort()},[]),H=a.useCallback(()=>{for(let e of z.current)("selected"===e.status||"error"===e.status)&&P(e.id)},[P]),K=a.useCallback(e=>{if(c||!e.length)return;let t=new Set(z.current.map(e=>"".concat(e.file.name,"::").concat(e.file.size))),a=[];for(let l of e){let e="".concat(l.name,"::").concat(l.size);if(!t.has(e)){if(!function(e,t){if(!t.length)return!0;let a=e.name.toLowerCase(),l=(e.type||"").toLowerCase();return t.some(e=>e.startsWith(".")?a.endsWith(e):e.endsWith("/*")?l.startsWith("".concat(e.slice(0,-1))):l===e)}(l,I)){null==R||R("文件类型不支持:".concat(l.name));continue}if(l.size>u){null==R||R("文件过大(最大 ".concat(i(u),"):").concat(l.name));continue}t.add(e),a.push({id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),file:l,status:"selected",progress:0,error:"",retryCount:0,previewUrl:l.type.startsWith("image/")?URL.createObjectURL(l):""})}}if(!a.length)return;let l=d?[...z.current,...a]:[a[a.length-1]];if(!d)for(let e of z.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);if(L(l),m&&!y)for(let e of a)P(e.id)},[I,m,c,u,d,R,y,P]),V=a.useCallback(e=>{let t=e.target.files;t&&(K(Array.from(t)),e.target.value="")},[K]),J=a.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),D(!1),c||K(Array.from(null!=(t=e.dataTransfer.files)?t:[]))},[K,c]);return(0,t.jsxs)("div",{className:(0,s.cn)("flex min-h-0 w-full flex-col gap-3",w),children:[(0,t.jsx)("input",{ref:U,id:T,type:"file",hidden:!0,accept:o,multiple:d,disabled:c,onChange:V}),(0,t.jsxs)("label",{htmlFor:T,onDragOver:e=>{e.preventDefault(),c||D(!0)},onDragLeave:e=>{e.preventDefault(),D(!1)},onDrop:J,className:(0,s.cn)("flex min-h-[124px] cursor-pointer flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-[var(--ds-border)] px-4 py-6 text-center transition-colors hover:border-[var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",B&&"bg-[var(--ds-accent)]/5 border-[var(--ds-accent)]",c&&"cursor-not-allowed opacity-60"),children:[(0,t.jsx)(l.default,{name:"Upload",size:20,className:"text-[var(--ds-muted)]"}),(0,t.jsx)("div",{className:"text-base text-[var(--ds-text)]",children:j}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:k})]}),E.length?(0,t.jsx)("div",{className:"space-y-2",children:E.map(e=>(0,t.jsx)("div",{className:"rounded-md border border-[var(--ds-border)] p-2.5",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-base text-[var(--ds-text)]",children:e.file.name}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:i(e.file.size)}),e.previewUrl?(0,t.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"mt-2 h-14 w-14 rounded object-cover"}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsx)("div",{className:"mt-2 h-1.5 w-full overflow-hidden rounded bg-[var(--ds-main-tint)]",children:(0,t.jsx)("div",{className:"h-full bg-[var(--ds-accent)] transition-all",style:{width:"".concat(e.progress,"%")}})}):null,"error"===e.status?(0,t.jsx)("div",{className:"mt-1 text-sm text-[var(--ds-danger)]",children:e.error||"上传失败"}):null]}),y?null:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:["success"===e.status?(0,t.jsx)(l.default,{name:"CheckCircle2",size:16,className:"text-[var(--ds-accent)]"}):null,"selected"===e.status||"error"===e.status?(0,t.jsxs)(r.Button,{type:"button",size:"sm",variant:"outline",disabled:c,onClick:()=>P(e.id),children:["error"===e.status?(0,t.jsx)(l.default,{name:"RefreshCw",size:14,className:"mr-1"}):null,"error"===e.status?"重试":"上传"]}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsxs)(r.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>F(e.id),children:[(0,t.jsx)(l.default,{name:"XCircle",size:14,className:"mr-1"}),"取消"]}):null]})]})},e.id))}):null,!y&&!m&&E.some(e=>"selected"===e.status||"error"===e.status)?(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(r.Button,{type:"button",size:"sm",onClick:H,disabled:c,children:"上传"})}):null]})}var o=e.i(76639),c=e.i(13354),d=e.i(29250);function u(e){let{open:l,onOpenChange:s,title:i,description:u,uploadUrl:m,resetKey:p}=e,[x,f]=(0,a.useState)(!1),[b,h]=(0,a.useState)(null),g=(0,a.useCallback)(()=>{s(!1),h(null)},[s]),v=(0,a.useCallback)(async()=>{if(!b)return void c.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",b),f(!0);try{let t=await (0,d.bridgeFetch)(m,{method:"POST",body:e}),a=Number(t.imported||0),l=Number(t.overwritten||0),s=Array.isArray(t.rejected)?t.rejected.length:0;c.appToast.success("导入完成:导入 ".concat(a,",覆盖 ").concat(l)+(s>0?",拒绝 ".concat(s):"")),g()}catch(e){c.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{f(!1)}},[g,b,m]);return(0,t.jsx)(o.Dialog,{open:l,onOpenChange:e=>{s(e),e||h(null)},children:(0,t.jsxs)(o.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.DialogTitle,{children:i}),(0,t.jsx)(o.DialogDescription,{children:u})]}),(0,t.jsx)(o.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:g,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(n,{uploadUrl:m,accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:x,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,a;h(null!=(a=null==(t=e[0])?void 0:t.file)?a:null)},onValidationError:e=>{c.appToast.info(e)}},"".concat(l?"open":"closed","-").concat(null!=p?p:m)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(r.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:g,children:"取消"}),(0,t.jsx)(r.Button,{type:"button",size:"lg",variant:"default",disabled:x||null==b,onClick:()=>void v(),children:x?"导入中…":"确定"})]})]})]})})}},55242,e=>{"use strict";e.s(["AppDialog",()=>r]);var t=e.i(18050),a=e.i(71645),l=e.i(76639),s=e.i(75157);function r(e){let{open:r,onOpenChange:i,title:n,children:o,footer:c,width:d="max-w-3xl",minHeight:u}=e,m=(0,a.useId)();return(0,t.jsx)(l.Dialog,{open:r,onOpenChange:i,children:(0,t.jsxs)(l.DialogContent,{"aria-labelledby":m,className:(0,s.cn)(d,u?"!min-h-[--min-h]":""),style:u?{"--min-h":u}:void 0,children:[(0,t.jsxs)(l.DialogHeader,{children:[(0,t.jsx)(l.DialogTitle,{id:m,children:n}),(0,t.jsx)(l.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(l.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]})})}},39721,e=>{"use strict";e.s(["SkillsManageView",()=>A],39721);var t=e.i(18050),a=e.i(71645),l=e.i(65934),s=e.i(87243),r=e.i(13354),i=e.i(50711),n=e.i(51419),o=e.i(92715),c=e.i(19455),d=e.i(94055),u=e.i(94197),m=e.i(72064),p=e.i(93479),x=e.i(75157);function f(e){let{className:a,...l}=e;return(0,t.jsx)("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:(0,x.cn)("flex w-full justify-end",a),...l})}let b=a.forwardRef((e,a)=>{let{className:l,...s}=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",l),...s})});b.displayName="PaginationContent";let h=a.forwardRef((e,a)=>{let{className:l,...s}=e;return(0,t.jsx)("li",{ref:a,"data-slot":"pagination-item",className:(0,x.cn)("",l),...s})});h.displayName="PaginationItem",a.forwardRef((e,a)=>{let{className:l,isActive:s,size:r="icon",...i}=e;return(0,t.jsx)("a",{ref:a,"aria-current":s?"page":void 0,"data-slot":"pagination-link","data-active":s?"true":void 0,className:(0,x.cn)((0,c.buttonVariants)({variant:s?"outline":"ghost",size:r}),l),...i})}).displayName="PaginationLink";var g=e.i(62427);function v(e){let{active:l,wsUrl:s,apiBase:i,agent:n,onAfterInstall:d,className:u}=e,[x,v]=(0,a.useState)(""),[y,w]=(0,a.useState)(1),[j,k]=(0,a.useState)(0),[N,C]=(0,a.useState)([]),[S,R]=(0,a.useState)(!1),[T,U]=(0,a.useState)(""),[A,M]=(0,a.useState)({}),z=(0,a.useRef)(0),B=(0,a.useCallback)(async()=>{let e=++z.current;R(!0),U("");try{let t=await (0,g.listCloudSkillCatalog)(s,i,n,x,y,10);if(e!==z.current)return;let a=Array.isArray(t.items)?t.items:[],l=[];for(let e of a)e&&"object"==typeof e&&e.id&&l.push({id:String(e.id),title:String(e.title||""),skillName:String(e.skillName||""),description:"string"==typeof e.description?e.description:"",installed:!!e.installed});C(l),k(t.totalPages)}catch(t){if(e!==z.current)return;C([]),k(0),U(t instanceof Error?t.message:String(t))}finally{e===z.current&&R(!1)}},[s,i,n,x,y]);(0,a.useEffect)(()=>{if(!l){v(""),w(1),k(0),C([]),U(""),M({}),z.current+=1;return}B()},[l,B]);let D=(0,a.useMemo)(()=>{if(S)return"加载中…";if(T)return"加载失败:".concat(T);let e=N.reduce((e,t)=>e+ +!!t.installed,0);return"已安装 ".concat(e," 项")},[S,T,N]),E=(0,a.useCallback)(async(e,t)=>{M(t=>({...t,[e]:!0}));try{await (0,g.installCloudSkill)(s,i,n,e),r.appToast.success("云端技能已安装:".concat(t)),await B(),null==d||d()}catch(e){r.appToast.error("安装失败:".concat(e instanceof Error?e.message:String(e)))}finally{M(t=>{let a={...t};return delete a[e],a})}},[s,i,n,B,d]),L=(0,a.useCallback)(e=>{w(1),v(e)},[]);if(!l)return null;let I=j>0?"第 ".concat(y,"/").concat(j," 页"):"第 0/0 页",O=S||y<=1,_=S||j<=0||y>=j,P=[{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=!!A[e.id],l=!!e.installed;return!a&&l?"-":(0,t.jsx)(c.Button,{type:"button",size:"sm",variant:"outline",disabled:a||l,onClick:()=>void E(e.id,e.title||e.skillName||e.id),children:a?"安装中…":l?"已安装":"安装"})}}];return(0,t.jsx)("div",{className:u,children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(p.Input,{type:"search",value:x,onChange:e=>v(e.target.value),placeholder:"搜索名称 / 详情",className:"h-8 pl-8","aria-label":"搜索已安装 Skill"}),(0,t.jsx)(m.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-[var(--ds-muted)]","aria-hidden":!0})]}),(0,t.jsx)(p.Input,{type:"search",value:x,onChange:e=>L(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:D}),(0,t.jsx)(o.AppTable,{rows:N,columns:P,getRowKey:e=>e.id,className:"min-h-0 flex-1 rounded-md",bodyProps:{viewportPaginationReserve:64},emptyNode:S?(0,t.jsx)("p",{className:"text-center text-base",children:"加载中…"}):void 0}),(0,t.jsx)(f,{className:"mx-0 w-full",children:(0,t.jsxs)(b,{className:"w-full flex-wrap justify-end gap-2",children:[(0,t.jsx)(h,{children:(0,t.jsxs)(c.Button,{type:"button",variant:"outline",size:"sm",disabled:O,className:"gap-1",onClick:()=>w(e=>Math.max(1,e-1)),"aria-label":"上一页",children:[(0,t.jsx)(m.default,{name:"ChevronLeft",size:16,className:"shrink-0"}),"上一页"]})}),(0,t.jsx)(h,{children:(0,t.jsx)("span",{className:"flex h-9 min-w-[6.5rem] items-center justify-center text-sm text-[var(--ds-muted)]",children:I})}),(0,t.jsx)(h,{children:(0,t.jsxs)(c.Button,{type:"button",variant:"outline",size:"sm",disabled:_,className:"gap-1",onClick:()=>w(e=>e+1),"aria-label":"下一页",children:["下一页",(0,t.jsx)(m.default,{name:"ChevronRight",size:16,className:"shrink-0",strokeWidth:1})]})})]})})]})})}var y=e.i(36845),w=e.i(53925);function j(e){let{open:a,onOpenChange:l,wsUrl:s,apiBase:r,agent:i}=e;return(0,t.jsx)(w.ResourceImportDialog,{open:a,onOpenChange:l,title:"导入 Skill zip",description:"选择一个 zip 文件并导入到 skills-runtime。",uploadUrl:(0,y.buildSkillsRuntimeImportUrl)(s,r,i),resetKey:i})}var k=e.i(55242);function N(e){let{open:l,onOpenChange:s,skillName:i,wsUrl:n,apiBase:o,agent:d,onSaved:u}=e,[m,p]=(0,a.useState)(""),[x,f]=(0,a.useState)(!1),[b,h]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(!l||!i.trim())return;let e=!1;return f(!0),p(""),(0,g.loadBaseSkillMd)(n,o,d,i).then(t=>{e||p("string"==typeof t.content?t.content:"")}).catch(t=>{e||(r.appToast.error("加载 SKILL.md 失败:".concat(t instanceof Error?t.message:String(t))),s(!1))}).finally(()=>{e||f(!1)}),()=>{e=!0}},[l,i,n,o,d,s]);let v=(0,a.useCallback)(async()=>{if(i.trim()){h(!0);try{await (0,g.saveBaseSkillMd)(n,o,d,i,m),r.appToast.success("SKILL.md 已保存"),s(!1),null==u||u()}catch(e){r.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}finally{h(!1)}}},[i,n,o,d,m,s,u]);return(0,t.jsx)(k.AppDialog,{open:l,onOpenChange:s,title:"编辑 SKILL.md · /".concat(i),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:()=>s(!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:m,placeholder:"Markdown 源码…",onChange:e=>p(e.target.value)})})}function C(e){let{items:l,saveBusy:s,onToggleEnabled:r,onExport:i,onRemove:n,className:c}=e,[x,f]=(0,a.useState)(""),b=(0,a.useMemo)(()=>l.filter(e=>(function(e,t){var a;let l=t.trim().toLowerCase();return!l||"".concat(e.name," ").concat(null!=(a=e.description)?a:"").toLowerCase().includes(l)})(e,x)),[l,x]),h=[{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=>r(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:()=>i(e.name)}),(0,t.jsx)(u.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",ariaLabel:"删除 ".concat(e.name),disabled:s,onClick:()=>{n(e.name)}})]})}],g=x.trim();return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(p.Input,{type:"search",value:x,onChange:e=>f(e.target.value),placeholder:"搜索名称 / 详情",className:"h-8 pl-8","aria-label":"搜索已安装 Skill"}),(0,t.jsx)(m.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[var(--ds-muted)]"})]}),(0,t.jsx)(o.AppTable,{rows:b,columns:h,getRowKey:e=>"skills:".concat(e.name),className:c,emptyText:g?"无匹配的 Skill":void 0})]})}var S=e.i(68499),R=e.i(56708);function T(e,t){var a,l,s;let r=(s=null!=(l=null!=(a=e.description)?a:e.whenToUse)?l:"")?s.length>100?s.slice(0,100):s:"";return{...e,id:e.name,label:"/".concat(e.name),description:r,isRuntime:t,canManage:e.canManage}}let U=[{value:"basic",label:"基础Skill"},{value:"installed",label:"已安装Skill"},{value:"cloud_catalog",label:"Skill商店"}];function A(){let e=(0,l.useAppStore)(e=>e.wsUrl),p=(0,l.useAppStore)(e=>e.apiBase),x=(0,l.useAppStore)(e=>e.agentConfig),f=(0,l.useAppStore)(e=>e.patchAgentConfig),{currentAgent:b,loadAgentConfig:h}=(0,s.useSession)(),y=(0,i.usePersistAgentConfigField)("skills"),w=x.skills,k=(0,a.useMemo)(()=>[...w].sort().join("\0"),[w]),[A,M]=(0,a.useState)([]),[z,B]=(0,a.useState)([]),[D,E]=(0,a.useState)([]),[L,I]=(0,a.useState)(!1),[O,_]=(0,a.useState)(!1),[P,F]=(0,a.useState)(!1),[H,K]=(0,a.useState)("basic"),[V,J]=(0,a.useState)(!1),[W,q]=(0,a.useState)(""),[X,G]=(0,a.useState)(!1);(0,a.useEffect)(()=>{h()},[h]);let Q=(0,a.useCallback)(async(e,t)=>{F(!0);try{await y(e,{silent:t})}finally{F(!1)}},[y]),Y=(0,a.useCallback)(async()=>{M([]),I(!0);try{var t;let a=await (0,g.listBaseSkills)(e,p,b());M((null!=(t=a.skills)?t:[]).map(e=>T(e,!1)))}catch(e){M([]),r.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{I(!1)}},[e,p,b]),Z=(0,a.useCallback)(async()=>{B([]),_(!0);try{var t;let a=await (0,g.listInstalledSkills)(e,p,b());B((null!=(t=a.skills)?t:[]).map(e=>T(e,!0)))}catch(e){B([]),r.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{_(!1)}},[e,p,b]),$=(0,a.useCallback)(async()=>{await Promise.all([Y(),Z()])},[Y,Z]),ee=(0,a.useCallback)(async t=>{if(await (0,S.confirmAlertDialog)({title:"确认删除 Skill 包?",description:"Skill:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,g.deleteRuntimeSkill)(e,p,b(),t);let a=w.filter(e=>e!==t);E(e=>e.filter(e=>e!==t)),f({skills:a}),await Q(a,!0),await $()}catch(e){r.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[e,p,b,w,f,Q,$]);(0,a.useEffect)(()=>{"basic"===H&&Y(),"installed"===H&&Z()},[H,Y,Z]);let et=(0,a.useCallback)(()=>{$()},[$]);(0,a.useEffect)(()=>{"basic"===H&&E([...w])},[H,w,k]);let ea=(0,a.useCallback)(e=>{let t=[...new Set(e)].sort();f({skills:t}),Q(t,!0)},[f,Q]),el=(0,a.useMemo)(()=>z.slice().sort((e,t)=>e.label.localeCompare(t.label)).map(e=>({name:e.id,installed:!0,description:e.description||"",enabled:w.includes(e.id)})),[z,w]),es=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...w,e])].sort():w.filter(t=>t!==e);f({skills:a}),E(a),Q(a,!0)},[w,f,Q]),er=(0,a.useCallback)(t=>{window.open((0,g.exportRuntimeSkillUrl)(e,p,b(),t),"_blank","noopener")},[e,p,b]),ei=(0,a.useCallback)(e=>{q(e.id),G(!0)},[]),en=[{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:D.includes(e.id),disabled:P,onCheckedChange:t=>{let a=t?[...new Set([...D,e.id])]:D.filter(t=>t!==e.id);E(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:P,ariaLabel:"编辑 ".concat(e.label),onClick:()=>ei(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)(R.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:()=>J(!0),children:[(0,t.jsx)(m.default,{name:"Import",size:16,className:"align-middle"}),"导入Skill"]})}),(0,t.jsxs)(n.AppTabs,{tabs:U,value:H,listVariant:"line",onChange:e=>K(e),children:[(0,t.jsx)(n.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:L?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(o.AppTable,{rows:A,columns:en,getRowKey:e=>e.id})})})}),(0,t.jsx)(n.AppTabsPanel,{value:"installed",children:O?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(C,{items:el,saveBusy:P,onToggleEnabled:es,onExport:er,onRemove:ee})}),(0,t.jsx)(n.AppTabsPanel,{value:"cloud_catalog",className:"flex min-h-0 flex-1 flex-col",children:(0,t.jsx)(v,{active:"cloud_catalog"===H,wsUrl:e,apiBase:p,agent:b(),onAfterInstall:et,className:"min-h-0 flex-1"})})]}),(0,t.jsx)(j,{open:V,onOpenChange:e=>{J(e),e||$()},wsUrl:e,apiBase:p,agent:b()}),(0,t.jsx)(N,{open:X,onOpenChange:G,skillName:W,wsUrl:e,apiBase:p,agent:b(),onSaved:()=>void $()})]})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,50711,e=>{"use strict";e.s(["usePersistAgentConfig",()=>a,"usePersistAgentConfigField",()=>l]);var t=e.i(71645),n=e.i(65934),s=e.i(67327),r=e.i(13354),i=e.i(82136),o=e.i(70074);function a(){let e=(0,n.useAppStore)(e=>e.wsUrl),a=(0,n.useAppStore)(e=>e.apiBase),{sendReloadAgentConfig:l}=(0,s.useWebSocketSender)(),u=(0,t.useCallback)(()=>n.useAppStore.getState().agentId.trim()||"qihoo",[]);return(0,t.useCallback)(async t=>{let s=!!(null==t?void 0:t.silent),c=n.useAppStore.getState();try{await (0,i.saveAgentConfig)(e,a,u(),(0,i.prepareAgentConfigForSave)(c.agentConfig));let t=n.useAppStore.getState();t.wsConnected&&l(),s?(t.appendLog("agent-config","已写入 agent.json"),t.setStatus("agent.json 已保存".concat(t.wsConnected?",已请求同步 worker":"(未连接 WS 则下次连上后 reload)"),(0,o.resolveInfoStatusClass)(t.bridgeReady,t.wsConnected))):r.appToast.success(t.wsConnected?"已保存并已请求 worker 重新加载 agent.md + agent.json。":"已保存。重连 WebSocket 后生效。")}catch(e){r.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}},[e,a,l,u])}function l(e){let a=(0,n.useAppStore)(e=>e.wsUrl),l=(0,n.useAppStore)(e=>e.apiBase),{sendReloadAgentConfig:u}=(0,s.useWebSocketSender)(),c=(0,t.useCallback)(()=>n.useAppStore.getState().agentId.trim()||"qihoo",[]);return(0,t.useCallback)(async(t,s)=>{let g=!!(null==s?void 0:s.silent),p=n.useAppStore.getState();try{await (0,i.saveAgentConfig)(a,l,c(),(0,i.prepareAgentConfigForSave)(p.agentConfig,{[e]:t}));let s=n.useAppStore.getState();s.wsConnected&&u(),g?(s.appendLog("agent-config","已写入 agent.json"),s.setStatus("agent.json 已保存".concat(s.wsConnected?",已请求同步 worker":"(未连接 WS 则下次连上后 reload)"),(0,o.resolveInfoStatusClass)(s.bridgeReady,s.wsConnected))):r.appToast.success(s.wsConnected?"已保存并已请求 worker 重新加载 agent.md + agent.json。":"已保存。重连 WebSocket 后生效。")}catch(e){r.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}},[a,l,u,c,e])}},20090,e=>{"use strict";e.s(["clearActiveWebSocket",()=>r,"isWebSocketOpen",()=>n,"sendActiveWebSocketJson",()=>i,"setActiveWebSocket",()=>s]);let t=null;function n(e){return null!==e&&e.readyState===WebSocket.OPEN}function s(e){t=e}function r(e){t===e&&(t=null)}function i(e){let s=t;return!!n(s)&&(s.send(JSON.stringify(e)),!0)}},70074,e=>{"use strict";function t(e,t){return e?"ready":t?"pending":"idle"}e.s(["resolveInfoStatusClass",()=>t])},67327,e=>{"use strict";e.s(["useWebSocketSender",()=>r]);var t=e.i(71645),n=e.i(65934),s=e.i(20090);function r(){let e=(0,t.useCallback)(e=>{let t=(0,s.sendActiveWebSocketJson)(e);return t&&n.useAppStore.getState().appendLog("→",e),t},[]),r=(0,t.useCallback)(()=>e({type:"reloadAgentConfig"}),[e]),i=(0,t.useCallback)(t=>e({type:"restartSubprocess",reason:null!=t?t:"persist-session-overrides"}),[e]),o=(0,t.useCallback)(()=>e({type:"reloadAgentPrompt"}),[e]),a=(0,t.useCallback)((t,n)=>{let s=String(t||"").trim();return!!s&&e({type:"permission.response",requestId:s,behavior:n})},[e]);return{sendJson:e,sendReloadAgentConfig:r,sendRestartSubprocess:i,sendReloadAgentPrompt:o,sendPermissionResponse:a}}},33848,e=>{"use strict";e.s(["ownerWindow",()=>t.getWindow]);var t=e.i(29315)},62372,e=>{"use strict";e.s(["visuallyHidden",()=>n,"visuallyHiddenInput",()=>s]);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},s={...t,position:"absolute"}},73577,e=>{"use strict";e.s(["useValueChanged",()=>r]);var t=e.i(71645),n=e.i(977),s=e.i(76477);function r(e,r){let i=t.useRef(e),o=(0,s.useStableCallback)(r);(0,n.useIsoLayoutEffect)(()=>{i.current!==e&&o(i.current)},[e,o]),(0,n.useIsoLayoutEffect)(()=>{i.current=e},[e])}},55227,e=>{"use strict";e.s(["deleteSession",()=>r,"listSessions",()=>s,"listWorkspaceFiles",()=>l,"loadSessionOverrides",()=>i,"loadSessionReplay",()=>o,"saveSessionOverrides",()=>a]);var t=e.i(29250),n=e.i(36845);async function s(e,s,r){return(0,t.get)((0,n.buildSessionsListUrl)(e,s,r))}async function r(e,s,r,i){return(0,t.del)((0,n.buildSessionDeleteUrl)(e,s,r,i))}async function i(e,s,r,i){return(0,t.get)((0,n.buildSessionOverridesUrl)(e,s,r,i))}async function o(e,s,r,i){let o=await (0,t.get)((0,n.buildSessionReplayUrl)(e,s,r,i));return{envelopes:Array.isArray(o.envelopes)?o.envelopes:[],messageCount:"number"==typeof o.messageCount?o.messageCount:void 0}}async function a(e,s,r,i,o){await (0,t.patch)((0,n.buildSessionOverridesUrl)(e,s,r,i),o)}async function l(e,s,r,i){return(0,t.get)((0,n.buildWorkspaceFilesListUrl)(e,s,r,i))}},82136,e=>{"use strict";e.s(["loadAgentConfig",()=>a,"prepareAgentConfigForSave",()=>o,"saveAgentConfig",()=>l]);var t=e.i(29250),n=e.i(36845),s=e.i(75675);function r(e){var t;let n={},r=null==e?void 0:e.env;if(r&&"object"==typeof r&&!Array.isArray(r))for(let[e,t]of Object.entries(r))"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):[...s.DEFAULT_AGENT_CONFIG.tools],disallowedTools:Array.isArray(null==e?void 0:e.disallowedTools)?e.disallowedTools.map(String):[...s.DEFAULT_AGENT_CONFIG.disallowedTools],mcpServers:Array.isArray(null==e?void 0:e.mcpServers)?e.mcpServers.map(String):[...s.DEFAULT_AGENT_CONFIG.mcpServers],skills:Array.isArray(null==e?void 0:e.skills)?e.skills.map(String):[...s.DEFAULT_AGENT_CONFIG.skills],model:"string"==typeof(null==e?void 0:e.model)?e.model:s.DEFAULT_AGENT_CONFIG.model,agentTeams:Array.isArray(null==e?void 0:e.agentTeams)?e.agentTeams.map(String):[...s.DEFAULT_AGENT_CONFIG.agentTeams],rules:Array.isArray(null==e?void 0:e.rules)?e.rules.map(String):[...s.DEFAULT_AGENT_CONFIG.rules],env:n,effort:"string"==typeof(t=null==e?void 0:e.effort)||"number"==typeof t||null==t?t:s.DEFAULT_AGENT_CONFIG.effort,background:(null==e?void 0:e.background)===!0||s.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:s.DEFAULT_AGENT_CONFIG.whentouse}}function i(e){var t,n,s,r,i,o,a;return{...e,tools:(null!=(t=e.tools)?t:[]).slice(),disallowedTools:(null!=(n=e.disallowedTools)?n:[]).slice(),mcpServers:(null!=(s=e.mcpServers)?s:[]).slice(),skills:(null!=(r=e.skills)?r:[]).slice(),agentTeams:(null!=(i=e.agentTeams)?i:[]).slice(),rules:(null!=(o=e.rules)?o:[]).slice(),env:{...null!=(a=e.env)?a:{}}}}function o(e,t){return i({...r(e),...t})}async function a(e,s,i){var o,a,l;let u=await (0,t.get)((0,n.buildAgentApiUrl)(e,s,i));return{agentType:"string"==typeof(null==(o=u.agent)?void 0:o.agentType)&&u.agent.agentType.trim()?u.agent.agentType.trim():"string"==typeof(null==(a=u.agent)?void 0:a.name)?u.agent.name.trim():"",config:r(null==(l=u.agent)?void 0:l.config)}}async function l(e,s,r,o){await (0,t.patch)((0,n.buildAgentApiUrl)(e,s,r),{config:i(o)})}},87243,e=>{"use strict";e.s(["useSession",()=>l]);var t=e.i(71645),n=e.i(29250),s=e.i(68499),r=e.i(13354),i=e.i(65934),o=e.i(82136),a=e.i(55227);function l(){let e=(0,i.useAppStore)(e=>e.wsUrl),l=(0,i.useAppStore)(e=>e.apiBase),u=(0,i.useAppStore)(e=>e.agentId),c=(0,t.useCallback)(async t=>{let n=i.useAppStore.getState(),s=n.agentId.trim()||"qihoo";n.setSessionsMeta("加载中…");try{let u=await (0,a.listSessions)(e,l,s),c=u.sessions||[],g=null!=u.agent?String(u.agent):s;if(n.setBrandAgent(g),n.setLastSessions(c,"".concat(c.length,"个会话 · agent: ").concat(g)),(null==t?void 0:t.activateFirstIfEmpty)&&!i.useAppStore.getState().sessionId.trim()&&c.length>0){var r,o;let e=null==(o=c[0])||null==(r=o.sessionId)?void 0:r.trim();e&&i.useAppStore.getState().selectSession(e,"history")}}catch(e){n.resetSessions("加载失败: ".concat(e)),n.appendLog("sessions",String(e))}},[e,l]),g=(0,t.useCallback)(async()=>{let t=i.useAppStore.getState(),s=t.agentId.trim()||"qihoo";try{let n=await (0,o.loadAgentConfig)(e,l,s);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=>{if(!t||!await (0,s.confirmAlertDialog)({title:"确认删除会话?",description:"将删除磁盘上的 transcript 与相关目录,不可恢复。\n\n".concat(t),confirmText:"删除",cancelText:"取消"}))return!1;let o=i.useAppStore.getState().sessionId.trim()===t,g=u.trim()||"qihoo";try{let n=await (0,a.deleteSession)(e,l,g,t);if(i.useAppStore.getState().appendLog("sessions-delete",n),o){let e=i.useAppStore.getState();e.startDraftSession(),e.resetChat(),e.clearLog()}return await c(),o}catch(e){return e instanceof n.ApiError?(i.useAppStore.getState().appendLog("sessions-delete",{error:!0,status:e.status,body:e.body}),r.appToast.error("删除失败: ".concat(e.message))):(i.useAppStore.getState().appendLog("sessions-delete",String(e)),r.appToast.error("删除请求失败: ".concat(e))),!1}},[e,l,u,c]);return{loadSessions:c,loadAgentConfig:g,deleteSessionById:p,currentAgent:(0,t.useCallback)(()=>i.useAppStore.getState().agentId.trim()||"qihoo",[])}}},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(),s=String(t.getMonth()+1).padStart(2,"0");return"".concat(n,"-").concat(s)}(n),s=t.get(e);s?s.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 s(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 r(e){return String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}e.s(["escapeHtml",()=>r,"groupSessionsByMonth",()=>n,"sessionTitle",()=>t,"shortUuidTitle",()=>s])},87968,e=>{"use strict";e.s(["Spinner",()=>r]);var t=e.i(18050),n=e.i(72064),s=e.i(75157);function r(e){let{className:r}=e;return(0,t.jsx)(n.default,{name:"Loader2",size:16,className:(0,s.cn)("animate-spin text-muted-foreground",r)})}},8279,e=>{"use strict";e.s(["avatarBgForLabel",()=>s,"initialsFromLabel",()=>n]);let t=["#9A3B32","#1db887","#4da3ff","#8b5cf6","#e84855","#f5c518"];function n(e){let t=e.trim();if(!t)return"?";let n=t.split(/\s+/).filter(Boolean);if(n.length>=2){var s,r;let e=null==(s=n[0])?void 0:s.slice(0,1),t=null==(r=n[1])?void 0:r.slice(0,1);if(e&&t)return"".concat(e).concat(t).toUpperCase()}return t.slice(0,2).toUpperCase()}function s(e){var n;let s=String(e||"?"),r=0;for(let e=0;e<s.length;e++)r=(r+17*s.charCodeAt(e))%t.length;return null!=(n=t[r])?n:t[0]}},52727,e=>{"use strict";e.s(["addTeamMember",()=>m,"createAgent",()=>p,"deleteAgentItem",()=>S,"getAgentDetail",()=>g,"listAgents",()=>l,"listAgentsForManage",()=>u,"removeTeamMember",()=>A,"updateAgent",()=>d]);var t=e.i(29250),n=e.i(36845);function s(e){let t=null!=e.id?String(e.id).trim():"";if(!t)return null;let n="string"==typeof e.displayName&&e.displayName.trim()?e.displayName.trim():t;return{id:t,displayName:n}}function r(e){if("string"==typeof e.whentouse)return e.whentouse;let t=e.config;if(t&&"object"==typeof t&&!Array.isArray(t)){let e=t.whentouse;if("string"==typeof e)return e}return""}function i(e){let t=e.agentTeamMembers;if(!Array.isArray(t))return[];let n=[];for(let e of t){if(!e||"object"!=typeof e)continue;let t=null!=e.agentType?String(e.agentType).trim():"";t&&n.push({agentType:t,whentouse:"string"==typeof e.whentouse?e.whentouse:""})}return n}function o(e){let t=s(e);return t?{...t,whentouse:r(e),agentTeamMembers:i(e)}:null}function a(e,t){let n=e&&"object"==typeof e?e:{},s=n.env&&"object"==typeof n.env&&!Array.isArray(n.env)?Object.fromEntries(Object.entries(n.env).map(e=>{let[t,n]=e;return[t,null==n?"":String(n)]})):{},r={tools:Array.isArray(n.tools)?n.tools.map(String):[],disallowedTools:Array.isArray(n.disallowedTools)?n.disallowedTools.map(String):[],mcpServers:Array.isArray(n.mcpServers)?n.mcpServers.map(String):[],skills:Array.isArray(n.skills)?n.skills.map(String):[],agentTeams:Array.isArray(n.agentTeams)?n.agentTeams.map(String):[],rules:Array.isArray(n.rules)?n.rules.map(String):[],model:"string"==typeof n.model?n.model:"",background:!0===n.background,isolation:"string"==typeof n.isolation?n.isolation:"",whentouse:"string"==typeof t?t:"",env:s,effort:null};return("string"==typeof n.effort||"number"==typeof n.effort)&&(r.effort=n.effort),r}async function l(e,t){return(await c(e,t)).map(s).filter(e=>null!=e)}async function u(e,t){return(await c(e,t)).map(o).filter(e=>null!=e)}async function c(e,s){let r=(await (0,t.get)((0,n.buildAgentsListUrl)(e,s))).agents;return Array.isArray(r)?r.filter(e=>null!=e&&"object"==typeof e):[]}async function g(e,s,i){let o=i.trim(),a=(await (0,t.get)((0,n.buildAgentItemUrl)(e,s,o))).agent,l=a&&"string"==typeof a.prompt?a.prompt:"",u=(null==a?void 0:a.config)&&"object"==typeof a.config?a.config:null;return{id:o,prompt:l,whentouse:r({whentouse:null==a?void 0:a.whentouse,config:null==a?void 0:a.config}),config:u}}async function p(e,s,r){let i=r.id.trim();await (0,t.post)((0,n.buildAgentsListUrl)(e,s),{name:i,prompt:r.prompt});let o=await g(e,s,i);return await (0,t.patch)((0,n.buildAgentItemUrl)(e,s,i),{config:a(o.config,r.whentouse)}),i}async function d(e,s,r){let i=r.id.trim();if(!i)throw Error("缺少 agent id");return await (0,t.patch)((0,n.buildAgentItemUrl)(e,s,i),{prompt:r.prompt,config:a(r.baseConfig,r.whentouse)}),i}function f(e){return e&&"object"==typeof e?i(e):[]}async function m(e,s,r,i){let o=r.trim(),a=i.trim();if(!o)throw Error("缺少 leader id");if(!a)throw Error("缺少 agentType");return f((await (0,t.post)((0,n.buildAgentTeamMembersUrl)(e,s,o),{agentType:a})).agent)}async function A(e,s,r,i){let o=r.trim(),a=i.trim();if(!o)throw Error("缺少 leader id");if(!a)throw Error("缺少 agentType");return f((await (0,t.del)((0,n.buildAgentTeamMemberUrl)(e,s,o,a))).agent)}async function S(e,s,r){let i=r.trim();if(!i)throw Error("缺少 agent id");try{await (0,t.del)((0,n.buildAgentItemUrl)(e,s,i))}catch(r){if(r instanceof t.ApiError&&400===r.status&&String(r.message).includes("missing required query parameter: agent"))return void await (0,t.del)((0,n.buildAgentApiUrl)(e,s,i));throw r}}},72234,e=>{e.v(t=>Promise.all(["static/chunks/06b383e8ee499be7.js","static/chunks/73930967cfa80238.js"].map(t=>e.l(t))).then(()=>t(37991)))},58332,e=>{e.v(t=>Promise.all(["static/chunks/c79da9dd69089e4f.js","static/chunks/06b383e8ee499be7.js"].map(t=>e.l(t))).then(()=>t(19573)))},48583,e=>{e.v(t=>Promise.all(["static/chunks/06b383e8ee499be7.js","static/chunks/73e518d4b3543b8f.js"].map(t=>e.l(t))).then(()=>t(39721)))},2578,e=>{e.v(t=>Promise.all(["static/chunks/38b035f49fa68570.js","static/chunks/5f6769a92729c6c3.js","static/chunks/b896987ddf6315c9.js"].map(t=>e.l(t))).then(()=>t(31862)))},94065,e=>{e.v(t=>Promise.all(["static/chunks/65efa67b7efe0f72.js","static/chunks/06b383e8ee499be7.js","static/chunks/371449b804c846f7.js","static/chunks/da89e354de542422.js","static/chunks/7f52fbd725b13904.js","static/chunks/6e61f670898cb297.css"].map(t=>e.l(t))).then(()=>t(20291)))},1861,e=>{e.v(t=>Promise.all(["static/chunks/3ddf56f78e79b076.js","static/chunks/371449b804c846f7.js"].map(t=>e.l(t))).then(()=>t(62849)))}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18800,(e,t,r)=>{"use strict";var n=e.r(71645);function o(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(){}var u={d:{f:i,r:function(){throw Error(o(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},l=Symbol.for("react.portal"),a=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){return"font"===e?"":"string"==typeof t?"use-credentials"===t?t:"":void 0}r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=u,r.createPortal=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!t||1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType)throw Error(o(299));return function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:l,key:null==n?null:""+n,children:e,containerInfo:t,implementation:r}}(e,t,null,r)},r.flushSync=function(e){var t=a.T,r=u.p;try{if(a.T=null,u.p=2,e)return e()}finally{a.T=t,u.p=r,u.d.f()}},r.preconnect=function(e,t){"string"==typeof e&&(t=t?"string"==typeof(t=t.crossOrigin)?"use-credentials"===t?t:"":void 0:null,u.d.C(e,t))},r.prefetchDNS=function(e){"string"==typeof e&&u.d.D(e)},r.preinit=function(e,t){if("string"==typeof e&&t&&"string"==typeof t.as){var r=t.as,n=c(r,t.crossOrigin),o="string"==typeof t.integrity?t.integrity:void 0,i="string"==typeof t.fetchPriority?t.fetchPriority:void 0;"style"===r?u.d.S(e,"string"==typeof t.precedence?t.precedence:void 0,{crossOrigin:n,integrity:o,fetchPriority:i}):"script"===r&&u.d.X(e,{crossOrigin:n,integrity:o,fetchPriority:i,nonce:"string"==typeof t.nonce?t.nonce:void 0})}},r.preinitModule=function(e,t){if("string"==typeof e)if("object"==typeof t&&null!==t){if(null==t.as||"script"===t.as){var r=c(t.as,t.crossOrigin);u.d.M(e,{crossOrigin:r,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0})}}else null==t&&u.d.M(e)},r.preload=function(e,t){if("string"==typeof e&&"object"==typeof t&&null!==t&&"string"==typeof t.as){var r=t.as,n=c(r,t.crossOrigin);u.d.L(e,r,{crossOrigin:n,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,type:"string"==typeof t.type?t.type:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0,referrerPolicy:"string"==typeof t.referrerPolicy?t.referrerPolicy:void 0,imageSrcSet:"string"==typeof t.imageSrcSet?t.imageSrcSet:void 0,imageSizes:"string"==typeof t.imageSizes?t.imageSizes:void 0,media:"string"==typeof t.media?t.media:void 0})}},r.preloadModule=function(e,t){if("string"==typeof e)if(t){var r=c(t.as,t.crossOrigin);u.d.m(e,{as:"string"==typeof t.as&&"script"!==t.as?t.as:void 0,crossOrigin:r,integrity:"string"==typeof t.integrity?t.integrity:void 0})}else u.d.m(e)},r.requestFormReset=function(e){u.d.r(e)},r.unstable_batchedUpdates=function(e,t){return e(t)},r.useFormState=function(e,t,r){return a.H.useFormState(e,t,r)},r.useFormStatus=function(){return a.H.useHostTransitionStatus()},r.version="19.2.0-canary-0bdb9206-20250818"},74080,(e,t,r)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),t.exports=e.r(18800)},35451,(e,t,r)=>{!function(){var e={229:function(e){var t,r,n,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function u(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:u}catch(e){r=u}function l(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var a=[],c=!1,s=-1;function f(){c&&n&&(c=!1,n.length?a=n.concat(a):s=-1,a.length&&d())}function d(){if(!c){var e=l(f);c=!0;for(var t=a.length;t;){for(n=a,a=[];++s<t;)n&&n[s].run();s=-1,t=a.length}n=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===u||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function y(){}o.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];a.push(new p(e,t)),1!==a.length||c||l(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=y,o.addListener=y,o.once=y,o.off=y,o.removeListener=y,o.removeAllListeners=y,o.emit=y,o.prependListener=y,o.prependOnceListener=y,o.listeners=function(e){return[]},o.binding=function(e){throw Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw Error("process.chdir is not supported")},o.umask=function(){return 0}}},r={};function n(t){var o=r[t];if(void 0!==o)return o.exports;var i=r[t]={exports:{}},u=!0;try{e[t](i,i.exports,n),u=!1}finally{u&&delete r[t]}return i.exports}n.ab="/ROOT/node_modules/next/dist/compiled/process/",t.exports=n(229)}()},47167,(e,t,r)=>{"use strict";var n,o;t.exports=(null==(n=e.g.process)?void 0:n.env)&&"object"==typeof(null==(o=e.g.process)?void 0:o.env)?e.g.process:e.r(35451)},50740,(e,t,r)=>{"use strict";var n=e.i(47167),o=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),s=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),h=Symbol.iterator,_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,g={};function v(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||_}function m(){}function O(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||_}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},m.prototype=v.prototype;var S=O.prototype=new m;S.constructor=O,b(S,v.prototype),S.isPureReactComponent=!0;var j=Array.isArray;function E(){}var P={H:null,A:null,T:null,S:null},R=Object.prototype.hasOwnProperty;function T(e,t,r){var n=r.ref;return{$$typeof:o,type:e,key:t,ref:void 0!==n?n:null,props:r}}function w(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var x=/\/+/g;function M(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function C(e,t,r){if(null==e)return e;var n=[],u=0;return!function e(t,r,n,u,l){var a,c,s,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case i:d=!0;break;case y:return e((d=t._init)(t._payload),r,n,u,l)}}if(d)return l=l(t),d=""===u?"."+M(t,0):u,j(l)?(n="",null!=d&&(n=d.replace(x,"$&/")+"/"),e(l,r,n,"",function(e){return e})):null!=l&&(w(l)&&(a=l,c=n+(null==l.key||t&&t.key===l.key?"":(""+l.key).replace(x,"$&/")+"/")+d,l=T(a.type,c,a.props)),r.push(l)),1;d=0;var p=""===u?".":u+":";if(j(t))for(var _=0;_<t.length;_++)f=p+M(u=t[_],_),d+=e(u,r,n,f,l);else if("function"==typeof(_=null===(s=t)||"object"!=typeof s?null:"function"==typeof(s=h&&s[h]||s["@@iterator"])?s:null))for(t=_.call(t),_=0;!(u=t.next()).done;)f=p+M(u=u.value,_++),d+=e(u,r,n,f,l);else if("object"===f){if("function"==typeof t.then)return e(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(E,E):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(t),r,n,u,l);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(r=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.")}return d}(e,n,"","",function(e){return t.call(r,e,u++)}),n}function A(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){(0===e._status||-1===e._status)&&(e._status=1,e._result=t)},function(t){(0===e._status||-1===e._status)&&(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var L="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof n.default&&"function"==typeof n.default.emit)return void n.default.emit("uncaughtException",e);console.error(e)};r.Children={map:C,forEach:function(e,t,r){C(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return C(e,function(){t++}),t},toArray:function(e){return C(e,function(e){return e})||[]},only:function(e){if(!w(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},r.Component=v,r.Fragment=u,r.Profiler=a,r.PureComponent=O,r.StrictMode=l,r.Suspense=d,r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=P,r.__COMPILER_RUNTIME={__proto__:null,c:function(e){return P.H.useMemoCache(e)}},r.cache=function(e){return function(){return e.apply(null,arguments)}},r.cacheSignal=function(){return null},r.cloneElement=function(e,t,r){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var n=b({},e.props),o=e.key;if(null!=t)for(i in void 0!==t.key&&(o=""+t.key),t)R.call(t,i)&&"key"!==i&&"__self"!==i&&"__source"!==i&&("ref"!==i||void 0!==t.ref)&&(n[i]=t[i]);var i=arguments.length-2;if(1===i)n.children=r;else if(1<i){for(var u=Array(i),l=0;l<i;l++)u[l]=arguments[l+2];n.children=u}return T(e.type,o,n)},r.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:c,_context:e},e},r.createElement=function(e,t,r){var n,o={},i=null;if(null!=t)for(n in void 0!==t.key&&(i=""+t.key),t)R.call(t,n)&&"key"!==n&&"__self"!==n&&"__source"!==n&&(o[n]=t[n]);var u=arguments.length-2;if(1===u)o.children=r;else if(1<u){for(var l=Array(u),a=0;a<u;a++)l[a]=arguments[a+2];o.children=l}if(e&&e.defaultProps)for(n in u=e.defaultProps)void 0===o[n]&&(o[n]=u[n]);return T(e,i,o)},r.createRef=function(){return{current:null}},r.forwardRef=function(e){return{$$typeof:f,render:e}},r.isValidElement=w,r.lazy=function(e){return{$$typeof:y,_payload:{_status:-1,_result:e},_init:A}},r.memo=function(e,t){return{$$typeof:p,type:e,compare:void 0===t?null:t}},r.startTransition=function(e){var t=P.T,r={};P.T=r;try{var n=e(),o=P.S;null!==o&&o(r,n),"object"==typeof n&&null!==n&&"function"==typeof n.then&&n.then(E,L)}catch(e){L(e)}finally{null!==t&&null!==r.types&&(t.types=r.types),P.T=t}},r.unstable_useCacheRefresh=function(){return P.H.useCacheRefresh()},r.use=function(e){return P.H.use(e)},r.useActionState=function(e,t,r){return P.H.useActionState(e,t,r)},r.useCallback=function(e,t){return P.H.useCallback(e,t)},r.useContext=function(e){return P.H.useContext(e)},r.useDebugValue=function(){},r.useDeferredValue=function(e,t){return P.H.useDeferredValue(e,t)},r.useEffect=function(e,t){return P.H.useEffect(e,t)},r.useId=function(){return P.H.useId()},r.useImperativeHandle=function(e,t,r){return P.H.useImperativeHandle(e,t,r)},r.useInsertionEffect=function(e,t){return P.H.useInsertionEffect(e,t)},r.useLayoutEffect=function(e,t){return P.H.useLayoutEffect(e,t)},r.useMemo=function(e,t){return P.H.useMemo(e,t)},r.useOptimistic=function(e,t){return P.H.useOptimistic(e,t)},r.useReducer=function(e,t,r){return P.H.useReducer(e,t,r)},r.useRef=function(e){return P.H.useRef(e)},r.useState=function(e){return P.H.useState(e)},r.useSyncExternalStore=function(e,t,r){return P.H.useSyncExternalStore(e,t,r)},r.useTransition=function(){return P.H.useTransition()},r.version="19.2.0-canary-0bdb9206-20250818"},71645,(e,t,r)=>{"use strict";t.exports=e.r(50740)},45689,(e,t,r)=>{"use strict";var n=Symbol.for("react.transitional.element");function o(e,t,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==t.key&&(o=""+t.key),"key"in t)for(var i in r={},t)"key"!==i&&(r[i]=t[i]);else r=t;return{$$typeof:n,type:e,key:o,ref:void 0!==(t=r.ref)?t:null,props:r}}r.Fragment=Symbol.for("react.fragment"),r.jsx=o,r.jsxs=o},18050,(e,t,r)=>{"use strict";t.exports=e.r(45689)},90317,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{bindSnapshot:function(){return l},createAsyncLocalStorage:function(){return u},createSnapshot:function(){return a}});let n=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class o{disable(){throw n}getStore(){}run(){throw n}exit(){throw n}enterWith(){throw n}static bind(e){return e}}let i="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function u(){return i?new i:new o}function l(e){return i?i.bind(e):o.bind(e)}function a(){return i?i.snapshot():function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return e(...r)}}},42344,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},63599,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=e.r(42344)},12354,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HandleISRError",{enumerable:!0,get:function(){return o}});let n="undefined"==typeof window?e.r(63599).workAsyncStorage:void 0;function o(e){let{error:t}=e;if(n){let e=n.getStore();if((null==e?void 0:e.isRevalidate)||(null==e?void 0:e.isStaticGeneration))throw console.error(t),t}return null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68027,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}});let n=e.r(18050),o=e.r(12354),i={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}},u=function(e){let{error:t}=e,r=null==t?void 0:t.digest;return(0,n.jsxs)("html",{id:"__next_error__",children:[(0,n.jsx)("head",{}),(0,n.jsxs)("body",{children:[(0,n.jsx)(o.HandleISRError,{error:t}),(0,n.jsx)("div",{style:i.error,children:(0,n.jsxs)("div",{children:[(0,n.jsxs)("h2",{style:i.text,children:["Application error: a ",r?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",r?"server logs":"browser console"," for more information)."]}),r?(0,n.jsx)("p",{style:i.text,children:"Digest: "+r}):null]})})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22737,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"setAttributesFromProps",{enumerable:!0,get:function(){return u}});let n={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},o=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function i(e){return["async","defer","noModule"].includes(e)}function u(e,t){for(let[r,u]of Object.entries(t)){if(!t.hasOwnProperty(r)||o.includes(r)||void 0===u)continue;let l=n[r]||r.toLowerCase();"SCRIPT"===e.tagName&&i(l)?e[l]=!!u:e.setAttribute(l,String(u)),(!1===u||"SCRIPT"===e.tagName&&i(l)&&(!u||"false"===u))&&(e.setAttribute(l,""),e.removeAttribute(l))}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},96517,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"appBootstrap",{enumerable:!0,get:function(){return o}});let n=e.r(22737);function o(e){var t,r;t=self.__next_s,r=()=>{e()},t&&t.length?t.reduce((e,t)=>{let[r,o]=t;return e.then(()=>new Promise((e,t)=>{let i=document.createElement("script");o&&(0,n.setAttributesFromProps)(i,o),r?(i.src=r,i.onload=()=>e(),i.onerror=t):o&&(i.innerHTML=o.children,setTimeout(e)),document.head.appendChild(i)}))},Promise.resolve()).catch(e=>{console.error(e)}).then(()=>{r()}):r()}window.next={version:"15.5.15",appDir:!0},("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},16565,(e,t,r)=>{"use strict";function n(e){return Object.prototype.toString.call(e)}function o(e){if("[object Object]"!==n(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{getObjectClassLabel:function(){return n},isPlainObject:function(){return o}})},2023,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return o},getProperError:function(){return i}});let n=e.r(16565);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function i(e){return o(e)?e:Object.defineProperty(Error((0,n.isPlainObject)(e)?function(e){let t=new WeakSet;return JSON.stringify(e,(e,r)=>{if("object"==typeof r&&null!==r){if(t.has(r))return"[Circular]";t.add(r)}return r})}(e):e+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},28279,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"reportGlobalError",{enumerable:!0,get:function(){return n}});let n="function"==typeof reportError?reportError:e=>{globalThis.console.error(e)};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},97238,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{isRecoverableError:function(){return a},onRecoverableError:function(){return c}});let n=e.r(55682),o=e.r(32061),i=n._(e.r(2023)),u=e.r(28279),l=new WeakSet;function a(e){return l.has(e)}let c=e=>{let t=(0,i.default)(e)&&"cause"in e?e.cause:e;(0,o.isBailoutToCSRError)(t)||(0,u.reportGlobalError)(t)};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},2031,(e,t,r)=>{"use strict";t.exports={}},66849,(e,t,r)=>{"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},23911,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),e.r(66849),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},42732,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext({})},51323,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{onCaughtError:function(){return s},onUncaughtError:function(){return f}});let n=e.r(55682),o=e.r(65713),i=e.r(32061),u=e.r(28279),l=e.r(72383),a=n._(e.r(68027)),c={decorateDevError:e=>e,handleClientError:()=>{},originConsoleError:console.error.bind(console)};function s(e,t){var r;let n,u=null==(r=t.errorBoundary)?void 0:r.constructor;if(n=n||u===l.ErrorBoundaryHandler&&t.errorBoundary.props.errorComponent===a.default)return f(e);(0,i.isBailoutToCSRError)(e)||(0,o.isNextRouterError)(e)||c.originConsoleError(e)}function f(e){(0,i.isBailoutToCSRError)(e)||(0,o.isNextRouterError)(e)||(0,u.reportGlobalError)(e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},65716,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createInitialRouterState",{enumerable:!0,get:function(){return s}});let n=e.r(51191),o=e.r(1764),i=e.r(34727),u=e.r(24059),l=e.r(88540),a=e.r(13576),c=e.r(50590);function s(e){var t,r;let{navigatedAt:s,initialFlightData:f,initialCanonicalUrlParts:d,initialParallelRoutes:p,location:y,couldBeIntercepted:h,postponed:_,prerendered:b}=e,g=d.join("/"),v=(0,c.getFlightDataPartsFromPath)(f[0]),{tree:m,seedData:O,head:S}=v,j={lazyData:null,rsc:null==O?void 0:O[1],prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:p,loading:null!=(t=null==O?void 0:O[3])?t:null,navigatedAt:s},E=y?(0,n.createHrefFromUrl)(y):g;(0,a.addRefreshMarkerToActiveParallelSegments)(m,E);let P=new Map;(null===p||0===p.size)&&(0,o.fillLazyItemsTillLeafWithHead)(s,j,void 0,m,O,S,void 0);let R={tree:m,cache:j,prefetchCache:P,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:E,nextUrl:null!=(r=(0,i.extractPathFromFlightRouterState)(m)||(null==y?void 0:y.pathname))?r:null};if(y){let e=new URL(""+y.pathname+y.search,y.origin);(0,u.createSeededPrefetchCacheEntry)({url:e,data:{flightData:[v],canonicalUrl:void 0,couldBeIntercepted:!!h,prerendered:b,postponed:_,staleTime:b&&1?u.STATIC_STALETIME_MS:-1},tree:R.tree,prefetchCache:R.prefetchCache,nextUrl:R.nextUrl,kind:b?l.PrefetchKind.FULL:l.PrefetchKind.AUTO})}return R}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},98569,(e,t,r)=>{"use strict";let n,o;Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"hydrate",{enumerable:!0,get:function(){return H}});let i=e.r(55682),u=e.r(90809),l=e.r(18050);e.r(23911);let a=i._(e.r(88014)),c=u._(e.r(71645)),s=e.r(35326),f=e.r(42732),d=e.r(97238),p=e.r(51323),y=e.r(32120),h=e.r(92245),_=e.r(99781),b=i._(e.r(75530)),g=e.r(65716);e.r(8372);let v=e.r(14297),m=s.createFromReadableStream,O=document,S=new TextEncoder,j=!1,E=!1,P=null;function R(e){if(0===e[0])n=[];else if(1===e[0]){if(!n)throw Object.defineProperty(Error("Unexpected server data: missing bootstrap script."),"__NEXT_ERROR_CODE",{value:"E18",enumerable:!1,configurable:!0});o?o.enqueue(S.encode(e[1])):n.push(e[1])}else if(2===e[0])P=e[1];else if(3===e[0]){if(!n)throw Object.defineProperty(Error("Unexpected server data: missing bootstrap script."),"__NEXT_ERROR_CODE",{value:"E18",enumerable:!1,configurable:!0});let r=atob(e[1]),i=new Uint8Array(r.length);for(var t=0;t<r.length;t++)i[t]=r.charCodeAt(t);o?o.enqueue(i):n.push(i)}}let T=function(){o&&!E&&(o.close(),E=!0,n=void 0),j=!0};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",T,!1):setTimeout(T);let w=self.__next_f=self.__next_f||[];w.forEach(R),w.push=R;let x=m(new ReadableStream({start(e){n&&(n.forEach(t=>{e.enqueue("string"==typeof t?S.encode(t):t)}),j&&!E)&&(null===e.desiredSize||e.desiredSize<0?e.error(Object.defineProperty(Error("The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection."),"__NEXT_ERROR_CODE",{value:"E117",enumerable:!1,configurable:!0})):e.close(),E=!0,n=void 0),o=e}}),{callServer:y.callServer,findSourceMapURL:h.findSourceMapURL});function M(e){let{pendingActionQueue:t}=e,r=(0,c.use)(x),n=(0,c.use)(t);return(0,l.jsx)(b.default,{actionQueue:n,globalErrorState:r.G,assetPrefix:r.p})}let C=c.default.StrictMode;function A(e){let{children:t}=e;return t}let L={onDefaultTransitionIndicator:function(){return()=>{}},onRecoverableError:d.onRecoverableError,onCaughtError:p.onCaughtError,onUncaughtError:p.onUncaughtError};function H(e){let t=new Promise((t,r)=>{x.then(r=>{(0,v.setAppBuildId)(r.b);let n=Date.now();t((0,_.createMutableActionQueue)((0,g.createInitialRouterState)({navigatedAt:n,initialFlightData:r.f,initialCanonicalUrlParts:r.c,initialParallelRoutes:new Map,location:window.location,couldBeIntercepted:r.i,postponed:r.s,prerendered:r.S}),e))},e=>r(e))}),r=(0,l.jsx)(C,{children:(0,l.jsx)(f.HeadManagerContext.Provider,{value:{appDir:!0},children:(0,l.jsx)(A,{children:(0,l.jsx)(M,{pendingActionQueue:t})})})});"__next_error__"===document.documentElement.id?a.default.createRoot(O,L).render(r):c.default.startTransition(()=>{a.default.hydrateRoot(O,r,{...L,formState:P})})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},94553,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});let n=e.r(96517);e.r(97238),window.next.turbopack=!0,self.__webpack_hash__="";let o=e.r(2031);(0,n.appBootstrap)(()=>{let{hydrate:t}=e.r(98569);t(o)}),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18800,(e,t,r)=>{"use strict";var n=e.r(71645);function o(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(){}var u={d:{f:i,r:function(){throw Error(o(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},l=Symbol.for("react.portal"),a=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){return"font"===e?"":"string"==typeof t?"use-credentials"===t?t:"":void 0}r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=u,r.createPortal=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!t||1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType)throw Error(o(299));return function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:l,key:null==n?null:""+n,children:e,containerInfo:t,implementation:r}}(e,t,null,r)},r.flushSync=function(e){var t=a.T,r=u.p;try{if(a.T=null,u.p=2,e)return e()}finally{a.T=t,u.p=r,u.d.f()}},r.preconnect=function(e,t){"string"==typeof e&&(t=t?"string"==typeof(t=t.crossOrigin)?"use-credentials"===t?t:"":void 0:null,u.d.C(e,t))},r.prefetchDNS=function(e){"string"==typeof e&&u.d.D(e)},r.preinit=function(e,t){if("string"==typeof e&&t&&"string"==typeof t.as){var r=t.as,n=c(r,t.crossOrigin),o="string"==typeof t.integrity?t.integrity:void 0,i="string"==typeof t.fetchPriority?t.fetchPriority:void 0;"style"===r?u.d.S(e,"string"==typeof t.precedence?t.precedence:void 0,{crossOrigin:n,integrity:o,fetchPriority:i}):"script"===r&&u.d.X(e,{crossOrigin:n,integrity:o,fetchPriority:i,nonce:"string"==typeof t.nonce?t.nonce:void 0})}},r.preinitModule=function(e,t){if("string"==typeof e)if("object"==typeof t&&null!==t){if(null==t.as||"script"===t.as){var r=c(t.as,t.crossOrigin);u.d.M(e,{crossOrigin:r,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0})}}else null==t&&u.d.M(e)},r.preload=function(e,t){if("string"==typeof e&&"object"==typeof t&&null!==t&&"string"==typeof t.as){var r=t.as,n=c(r,t.crossOrigin);u.d.L(e,r,{crossOrigin:n,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,type:"string"==typeof t.type?t.type:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0,referrerPolicy:"string"==typeof t.referrerPolicy?t.referrerPolicy:void 0,imageSrcSet:"string"==typeof t.imageSrcSet?t.imageSrcSet:void 0,imageSizes:"string"==typeof t.imageSizes?t.imageSizes:void 0,media:"string"==typeof t.media?t.media:void 0})}},r.preloadModule=function(e,t){if("string"==typeof e)if(t){var r=c(t.as,t.crossOrigin);u.d.m(e,{as:"string"==typeof t.as&&"script"!==t.as?t.as:void 0,crossOrigin:r,integrity:"string"==typeof t.integrity?t.integrity:void 0})}else u.d.m(e)},r.requestFormReset=function(e){u.d.r(e)},r.unstable_batchedUpdates=function(e,t){return e(t)},r.useFormState=function(e,t,r){return a.H.useFormState(e,t,r)},r.useFormStatus=function(){return a.H.useHostTransitionStatus()},r.version="19.2.0-canary-0bdb9206-20250818"},74080,(e,t,r)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),t.exports=e.r(18800)},35451,(e,t,r)=>{!function(){var e={229:function(e){var t,r,n,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function u(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:u}catch(e){r=u}function l(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var a=[],c=!1,s=-1;function f(){c&&n&&(c=!1,n.length?a=n.concat(a):s=-1,a.length&&d())}function d(){if(!c){var e=l(f);c=!0;for(var t=a.length;t;){for(n=a,a=[];++s<t;)n&&n[s].run();s=-1,t=a.length}n=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===u||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function y(){}o.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];a.push(new p(e,t)),1!==a.length||c||l(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=y,o.addListener=y,o.once=y,o.off=y,o.removeListener=y,o.removeAllListeners=y,o.emit=y,o.prependListener=y,o.prependOnceListener=y,o.listeners=function(e){return[]},o.binding=function(e){throw Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw Error("process.chdir is not supported")},o.umask=function(){return 0}}},r={};function n(t){var o=r[t];if(void 0!==o)return o.exports;var i=r[t]={exports:{}},u=!0;try{e[t](i,i.exports,n),u=!1}finally{u&&delete r[t]}return i.exports}n.ab="/ROOT/node_modules/next/dist/compiled/process/",t.exports=n(229)}()},47167,(e,t,r)=>{"use strict";var n,o;t.exports=(null==(n=e.g.process)?void 0:n.env)&&"object"==typeof(null==(o=e.g.process)?void 0:o.env)?e.g.process:e.r(35451)},50740,(e,t,r)=>{"use strict";var n=e.i(47167),o=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),s=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),h=Symbol.iterator,_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,g={};function v(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||_}function m(){}function O(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||_}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},m.prototype=v.prototype;var j=O.prototype=new m;j.constructor=O,b(j,v.prototype),j.isPureReactComponent=!0;var S=Array.isArray;function E(){}var P={H:null,A:null,T:null,S:null},R=Object.prototype.hasOwnProperty;function w(e,t,r){var n=r.ref;return{$$typeof:o,type:e,key:t,ref:void 0!==n?n:null,props:r}}function T(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var x=/\/+/g;function M(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function C(e,t,r){if(null==e)return e;var n=[],u=0;return!function e(t,r,n,u,l){var a,c,s,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case i:d=!0;break;case y:return e((d=t._init)(t._payload),r,n,u,l)}}if(d)return l=l(t),d=""===u?"."+M(t,0):u,S(l)?(n="",null!=d&&(n=d.replace(x,"$&/")+"/"),e(l,r,n,"",function(e){return e})):null!=l&&(T(l)&&(a=l,c=n+(null==l.key||t&&t.key===l.key?"":(""+l.key).replace(x,"$&/")+"/")+d,l=w(a.type,c,a.props)),r.push(l)),1;d=0;var p=""===u?".":u+":";if(S(t))for(var _=0;_<t.length;_++)f=p+M(u=t[_],_),d+=e(u,r,n,f,l);else if("function"==typeof(_=null===(s=t)||"object"!=typeof s?null:"function"==typeof(s=h&&s[h]||s["@@iterator"])?s:null))for(t=_.call(t),_=0;!(u=t.next()).done;)f=p+M(u=u.value,_++),d+=e(u,r,n,f,l);else if("object"===f){if("function"==typeof t.then)return e(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(E,E):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(t),r,n,u,l);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(r=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.")}return d}(e,n,"","",function(e){return t.call(r,e,u++)}),n}function A(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){(0===e._status||-1===e._status)&&(e._status=1,e._result=t)},function(t){(0===e._status||-1===e._status)&&(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var L="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof n.default&&"function"==typeof n.default.emit)return void n.default.emit("uncaughtException",e);console.error(e)};r.Children={map:C,forEach:function(e,t,r){C(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return C(e,function(){t++}),t},toArray:function(e){return C(e,function(e){return e})||[]},only:function(e){if(!T(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},r.Component=v,r.Fragment=u,r.Profiler=a,r.PureComponent=O,r.StrictMode=l,r.Suspense=d,r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=P,r.__COMPILER_RUNTIME={__proto__:null,c:function(e){return P.H.useMemoCache(e)}},r.cache=function(e){return function(){return e.apply(null,arguments)}},r.cacheSignal=function(){return null},r.cloneElement=function(e,t,r){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var n=b({},e.props),o=e.key;if(null!=t)for(i in void 0!==t.key&&(o=""+t.key),t)R.call(t,i)&&"key"!==i&&"__self"!==i&&"__source"!==i&&("ref"!==i||void 0!==t.ref)&&(n[i]=t[i]);var i=arguments.length-2;if(1===i)n.children=r;else if(1<i){for(var u=Array(i),l=0;l<i;l++)u[l]=arguments[l+2];n.children=u}return w(e.type,o,n)},r.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:c,_context:e},e},r.createElement=function(e,t,r){var n,o={},i=null;if(null!=t)for(n in void 0!==t.key&&(i=""+t.key),t)R.call(t,n)&&"key"!==n&&"__self"!==n&&"__source"!==n&&(o[n]=t[n]);var u=arguments.length-2;if(1===u)o.children=r;else if(1<u){for(var l=Array(u),a=0;a<u;a++)l[a]=arguments[a+2];o.children=l}if(e&&e.defaultProps)for(n in u=e.defaultProps)void 0===o[n]&&(o[n]=u[n]);return w(e,i,o)},r.createRef=function(){return{current:null}},r.forwardRef=function(e){return{$$typeof:f,render:e}},r.isValidElement=T,r.lazy=function(e){return{$$typeof:y,_payload:{_status:-1,_result:e},_init:A}},r.memo=function(e,t){return{$$typeof:p,type:e,compare:void 0===t?null:t}},r.startTransition=function(e){var t=P.T,r={};P.T=r;try{var n=e(),o=P.S;null!==o&&o(r,n),"object"==typeof n&&null!==n&&"function"==typeof n.then&&n.then(E,L)}catch(e){L(e)}finally{null!==t&&null!==r.types&&(t.types=r.types),P.T=t}},r.unstable_useCacheRefresh=function(){return P.H.useCacheRefresh()},r.use=function(e){return P.H.use(e)},r.useActionState=function(e,t,r){return P.H.useActionState(e,t,r)},r.useCallback=function(e,t){return P.H.useCallback(e,t)},r.useContext=function(e){return P.H.useContext(e)},r.useDebugValue=function(){},r.useDeferredValue=function(e,t){return P.H.useDeferredValue(e,t)},r.useEffect=function(e,t){return P.H.useEffect(e,t)},r.useId=function(){return P.H.useId()},r.useImperativeHandle=function(e,t,r){return P.H.useImperativeHandle(e,t,r)},r.useInsertionEffect=function(e,t){return P.H.useInsertionEffect(e,t)},r.useLayoutEffect=function(e,t){return P.H.useLayoutEffect(e,t)},r.useMemo=function(e,t){return P.H.useMemo(e,t)},r.useOptimistic=function(e,t){return P.H.useOptimistic(e,t)},r.useReducer=function(e,t,r){return P.H.useReducer(e,t,r)},r.useRef=function(e){return P.H.useRef(e)},r.useState=function(e){return P.H.useState(e)},r.useSyncExternalStore=function(e,t,r){return P.H.useSyncExternalStore(e,t,r)},r.useTransition=function(){return P.H.useTransition()},r.version="19.2.0-canary-0bdb9206-20250818"},71645,(e,t,r)=>{"use strict";t.exports=e.r(50740)},45689,(e,t,r)=>{"use strict";var n=Symbol.for("react.transitional.element");function o(e,t,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==t.key&&(o=""+t.key),"key"in t)for(var i in r={},t)"key"!==i&&(r[i]=t[i]);else r=t;return{$$typeof:n,type:e,key:o,ref:void 0!==(t=r.ref)?t:null,props:r}}r.Fragment=Symbol.for("react.fragment"),r.jsx=o,r.jsxs=o},18050,(e,t,r)=>{"use strict";t.exports=e.r(45689)},55682,(e,t,r)=>{"use strict";r._=function(e){return e&&e.__esModule?e:{default:e}}},90809,(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}r._=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=i?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(o,u,l):o[u]=e[u]}return o.default=e,r&&r.set(e,o),o}},42732,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext({})},90317,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{bindSnapshot:function(){return l},createAsyncLocalStorage:function(){return u},createSnapshot:function(){return a}});let n=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class o{disable(){throw n}getStore(){}run(){throw n}exit(){throw n}enterWith(){throw n}static bind(e){return e}}let i="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function u(){return i?new i:new o}function l(e){return i?i.bind(e):o.bind(e)}function a(){return i?i.snapshot():function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return e(...r)}}},42344,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},63599,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=e.r(42344)},12354,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HandleISRError",{enumerable:!0,get:function(){return o}});let n="undefined"==typeof window?e.r(63599).workAsyncStorage:void 0;function o(e){let{error:t}=e;if(n){let e=n.getStore();if((null==e?void 0:e.isRevalidate)||(null==e?void 0:e.isStaticGeneration))throw console.error(t),t}return null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68027,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}});let n=e.r(18050),o=e.r(12354),i={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}},u=function(e){let{error:t}=e,r=null==t?void 0:t.digest;return(0,n.jsxs)("html",{id:"__next_error__",children:[(0,n.jsx)("head",{}),(0,n.jsxs)("body",{children:[(0,n.jsx)(o.HandleISRError,{error:t}),(0,n.jsx)("div",{style:i.error,children:(0,n.jsxs)("div",{children:[(0,n.jsxs)("h2",{style:i.text,children:["Application error: a ",r?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",r?"server logs":"browser console"," for more information)."]}),r?(0,n.jsx)("p",{style:i.text,children:"Digest: "+r}):null]})})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22737,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"setAttributesFromProps",{enumerable:!0,get:function(){return u}});let n={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},o=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function i(e){return["async","defer","noModule"].includes(e)}function u(e,t){for(let[r,u]of Object.entries(t)){if(!t.hasOwnProperty(r)||o.includes(r)||void 0===u)continue;let l=n[r]||r.toLowerCase();"SCRIPT"===e.tagName&&i(l)?e[l]=!!u:e.setAttribute(l,String(u)),(!1===u||"SCRIPT"===e.tagName&&i(l)&&(!u||"false"===u))&&(e.setAttribute(l,""),e.removeAttribute(l))}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},96517,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"appBootstrap",{enumerable:!0,get:function(){return o}});let n=e.r(22737);function o(e){var t,r;t=self.__next_s,r=()=>{e()},t&&t.length?t.reduce((e,t)=>{let[r,o]=t;return e.then(()=>new Promise((e,t)=>{let i=document.createElement("script");o&&(0,n.setAttributesFromProps)(i,o),r?(i.src=r,i.onload=()=>e(),i.onerror=t):o&&(i.innerHTML=o.children,setTimeout(e)),document.head.appendChild(i)}))},Promise.resolve()).catch(e=>{console.error(e)}).then(()=>{r()}):r()}window.next={version:"15.5.15",appDir:!0},("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},16565,(e,t,r)=>{"use strict";function n(e){return Object.prototype.toString.call(e)}function o(e){if("[object Object]"!==n(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{getObjectClassLabel:function(){return n},isPlainObject:function(){return o}})},2023,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return o},getProperError:function(){return i}});let n=e.r(16565);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function i(e){return o(e)?e:Object.defineProperty(Error((0,n.isPlainObject)(e)?function(e){let t=new WeakSet;return JSON.stringify(e,(e,r)=>{if("object"==typeof r&&null!==r){if(t.has(r))return"[Circular]";t.add(r)}return r})}(e):e+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},28279,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"reportGlobalError",{enumerable:!0,get:function(){return n}});let n="function"==typeof reportError?reportError:e=>{globalThis.console.error(e)};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},97238,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{isRecoverableError:function(){return a},onRecoverableError:function(){return c}});let n=e.r(55682),o=e.r(32061),i=n._(e.r(2023)),u=e.r(28279),l=new WeakSet;function a(e){return l.has(e)}let c=e=>{let t=(0,i.default)(e)&&"cause"in e?e.cause:e;(0,o.isBailoutToCSRError)(t)||(0,u.reportGlobalError)(t)};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},2031,(e,t,r)=>{"use strict";t.exports={}},66849,(e,t,r)=>{"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},23911,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),e.r(66849),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},51323,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{onCaughtError:function(){return s},onUncaughtError:function(){return f}});let n=e.r(55682),o=e.r(65713),i=e.r(32061),u=e.r(28279),l=e.r(72383),a=n._(e.r(68027)),c={decorateDevError:e=>e,handleClientError:()=>{},originConsoleError:console.error.bind(console)};function s(e,t){var r;let n,u=null==(r=t.errorBoundary)?void 0:r.constructor;if(n=n||u===l.ErrorBoundaryHandler&&t.errorBoundary.props.errorComponent===a.default)return f(e);(0,i.isBailoutToCSRError)(e)||(0,o.isNextRouterError)(e)||c.originConsoleError(e)}function f(e){(0,i.isBailoutToCSRError)(e)||(0,o.isNextRouterError)(e)||(0,u.reportGlobalError)(e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},65716,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createInitialRouterState",{enumerable:!0,get:function(){return s}});let n=e.r(51191),o=e.r(1764),i=e.r(34727),u=e.r(24059),l=e.r(88540),a=e.r(13576),c=e.r(50590);function s(e){var t,r;let{navigatedAt:s,initialFlightData:f,initialCanonicalUrlParts:d,initialParallelRoutes:p,location:y,couldBeIntercepted:h,postponed:_,prerendered:b}=e,g=d.join("/"),v=(0,c.getFlightDataPartsFromPath)(f[0]),{tree:m,seedData:O,head:j}=v,S={lazyData:null,rsc:null==O?void 0:O[1],prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:p,loading:null!=(t=null==O?void 0:O[3])?t:null,navigatedAt:s},E=y?(0,n.createHrefFromUrl)(y):g;(0,a.addRefreshMarkerToActiveParallelSegments)(m,E);let P=new Map;(null===p||0===p.size)&&(0,o.fillLazyItemsTillLeafWithHead)(s,S,void 0,m,O,j,void 0);let R={tree:m,cache:S,prefetchCache:P,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:E,nextUrl:null!=(r=(0,i.extractPathFromFlightRouterState)(m)||(null==y?void 0:y.pathname))?r:null};if(y){let e=new URL(""+y.pathname+y.search,y.origin);(0,u.createSeededPrefetchCacheEntry)({url:e,data:{flightData:[v],canonicalUrl:void 0,couldBeIntercepted:!!h,prerendered:b,postponed:_,staleTime:b&&1?u.STATIC_STALETIME_MS:-1},tree:R.tree,prefetchCache:R.prefetchCache,nextUrl:R.nextUrl,kind:b?l.PrefetchKind.FULL:l.PrefetchKind.AUTO})}return R}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},98569,(e,t,r)=>{"use strict";let n,o;Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"hydrate",{enumerable:!0,get:function(){return k}});let i=e.r(55682),u=e.r(90809),l=e.r(18050);e.r(23911);let a=i._(e.r(88014)),c=u._(e.r(71645)),s=e.r(35326),f=e.r(42732),d=e.r(97238),p=e.r(51323),y=e.r(32120),h=e.r(92245),_=e.r(99781),b=i._(e.r(75530)),g=e.r(65716);e.r(8372);let v=e.r(14297),m=s.createFromReadableStream,O=document,j=new TextEncoder,S=!1,E=!1,P=null;function R(e){if(0===e[0])n=[];else if(1===e[0]){if(!n)throw Object.defineProperty(Error("Unexpected server data: missing bootstrap script."),"__NEXT_ERROR_CODE",{value:"E18",enumerable:!1,configurable:!0});o?o.enqueue(j.encode(e[1])):n.push(e[1])}else if(2===e[0])P=e[1];else if(3===e[0]){if(!n)throw Object.defineProperty(Error("Unexpected server data: missing bootstrap script."),"__NEXT_ERROR_CODE",{value:"E18",enumerable:!1,configurable:!0});let r=atob(e[1]),i=new Uint8Array(r.length);for(var t=0;t<r.length;t++)i[t]=r.charCodeAt(t);o?o.enqueue(i):n.push(i)}}let w=function(){o&&!E&&(o.close(),E=!0,n=void 0),S=!0};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",w,!1):setTimeout(w);let T=self.__next_f=self.__next_f||[];T.forEach(R),T.push=R;let x=m(new ReadableStream({start(e){n&&(n.forEach(t=>{e.enqueue("string"==typeof t?j.encode(t):t)}),S&&!E)&&(null===e.desiredSize||e.desiredSize<0?e.error(Object.defineProperty(Error("The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection."),"__NEXT_ERROR_CODE",{value:"E117",enumerable:!1,configurable:!0})):e.close(),E=!0,n=void 0),o=e}}),{callServer:y.callServer,findSourceMapURL:h.findSourceMapURL});function M(e){let{pendingActionQueue:t}=e,r=(0,c.use)(x),n=(0,c.use)(t);return(0,l.jsx)(b.default,{actionQueue:n,globalErrorState:r.G,assetPrefix:r.p})}let C=c.default.StrictMode;function A(e){let{children:t}=e;return t}let L={onDefaultTransitionIndicator:function(){return()=>{}},onRecoverableError:d.onRecoverableError,onCaughtError:p.onCaughtError,onUncaughtError:p.onUncaughtError};function k(e){let t=new Promise((t,r)=>{x.then(r=>{(0,v.setAppBuildId)(r.b);let n=Date.now();t((0,_.createMutableActionQueue)((0,g.createInitialRouterState)({navigatedAt:n,initialFlightData:r.f,initialCanonicalUrlParts:r.c,initialParallelRoutes:new Map,location:window.location,couldBeIntercepted:r.i,postponed:r.s,prerendered:r.S}),e))},e=>r(e))}),r=(0,l.jsx)(C,{children:(0,l.jsx)(f.HeadManagerContext.Provider,{value:{appDir:!0},children:(0,l.jsx)(A,{children:(0,l.jsx)(M,{pendingActionQueue:t})})})});"__next_error__"===document.documentElement.id?a.default.createRoot(O,L).render(r):c.default.startTransition(()=>{a.default.hydrateRoot(O,r,{...L,formState:P})})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},94553,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});let n=e.r(96517);e.r(97238),window.next.turbopack=!0,self.__webpack_hash__="";let o=e.r(2031);(0,n.appBootstrap)(()=>{let{hydrate:t}=e.r(98569);t(o)}),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31862,e=>{"use strict";let t;e.s(["TeamsView",()=>X],31862);var a=e.i(18050),r=e.i(71645),s=e.i(56708),l=e.i(19455),n=e.i(72064),i=e.i(53145),o=e.i(74080),d=e.i(94197),c=e.i(13354),m=e.i(24687),u=e.i(75157);let x={expand:!0,copy:!0};function p(e){let{value:t,onChange:s,minLines:l,placeholder:n,readOnly:i,className:o}=e,d=(0,r.useRef)(null),c=(0,r.useRef)(null),x=Math.max(t.split("\n").length,l),p=(0,r.useCallback)(()=>{d.current&&c.current&&(c.current.scrollTop=d.current.scrollTop)},[]);return(0,a.jsxs)("div",{className:(0,u.cn)("flex min-h-0 flex-1",o),children:[(0,a.jsx)("div",{ref:c,"aria-hidden":!0,className:"w-10 shrink-0 overflow-hidden border-r border-[var(--ds-border)] bg-[#fafafa] py-3 text-right font-mono text-xs leading-[1.5] text-[var(--ds-muted)]",children:Array.from({length:x},(e,t)=>(0,a.jsx)("div",{className:"px-2",children:t+1},t))}),(0,a.jsx)(m.Textarea,{ref:d,spellCheck:!1,readOnly:i,value:t,onChange:e=>s(e.target.value),onScroll:p,placeholder:n,className:"agent-md-editor min-h-0 flex-1 resize-none rounded-none border-0 bg-white px-4 py-3 shadow-none focus-visible:ring-0"})]})}function h(e){let{actions:t,copyDisabled:r,onCopy:s,className:l}=e;return t.copy?(0,a.jsx)("div",{className:(0,u.cn)("flex items-center gap-0.5",l),children:(0,a.jsx)(d.IconTooltipButton,{icon:"Copy",label:"复制内容",disabled:r,onClick:s})}):null}function b(e){let{show:t,expanded:r,onToggleExpand:s,className:l}=e;return t?(0,a.jsx)("div",{className:(0,u.cn)("flex items-center",l),children:(0,a.jsx)(d.IconTooltipButton,{icon:r?"Minimize2":"Maximize2",label:r?"收起编辑器":"展开编辑器",onClick:s})}):null}function f(e){let{value:t,onChange:s,minLines:l=20,className:n,placeholder:i="编辑 Markdown 内容",readOnly:d=!1,actions:m,expandTitle:f="编辑 Markdown",copySuccessMessage:v="已复制到剪贴板",copyEmptyMessage:g="暂无内容可复制"}=e,[j,N]=(0,r.useState)(!1),y=!1===m?{expand:!1,copy:!1}:{...x,...m},w=(0,r.useCallback)(()=>{if(!t.trim())return void c.appToast.error(g);("undefined"!=typeof navigator&&navigator.clipboard&&"function"==typeof navigator.clipboard.writeText?navigator.clipboard.writeText(t):"undefined"==typeof document?Promise.reject(Error("Clipboard unavailable")):new Promise((e,a)=>{let r=document.createElement("textarea");r.value=t,r.setAttribute("readonly",""),r.style.position="fixed",r.style.top="-9999px",r.style.opacity="0",document.body.appendChild(r),r.focus(),r.select();let s=document.execCommand("copy");if(document.body.removeChild(r),s)return void e();a(Error("Clipboard copy failed"))})).then(()=>{c.appToast.success(v)},()=>{c.appToast.error("复制失败,请手动选择复制")})},[t,v,g]),C=(0,r.useCallback)(()=>{N(e=>!e)},[]);(0,r.useEffect)(()=>{if(!j)return;let e=e=>{"Escape"===e.key&&N(!1)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[j]);let k=(0,u.cn)("relative flex min-h-[320px] flex-1 flex-col overflow-hidden rounded-lg border border-[var(--ds-border)] bg-white",n),T=!t.trim()||d,S=(0,a.jsxs)("div",{className:k,children:[(0,a.jsx)(h,{actions:y,copyDisabled:T,onCopy:w,className:"absolute right-2 top-2 z-[1]"}),(0,a.jsx)(p,{value:t,onChange:s,minLines:l,placeholder:i,readOnly:d}),(0,a.jsx)(b,{show:y.expand,expanded:!1,onToggleExpand:C,className:"absolute bottom-2 right-2 z-[1]"})]}),A=j&&"undefined"!=typeof document?(0,o.createPortal)((0,a.jsxs)("div",{className:"fixed inset-0 z-[100] flex flex-col bg-[var(--surface-2)]",role:"dialog","aria-modal":"true","aria-label":f,children:[(0,a.jsx)("header",{className:"flex shrink-0 items-center border-b border-[var(--ds-border)] px-5 py-4",children:(0,a.jsx)("h2",{className:"truncate text-lg font-semibold text-[var(--ds-text)]",children:f})}),(0,a.jsx)("div",{className:"flex min-h-0 flex-1 flex-col p-5",children:(0,a.jsxs)("div",{className:"relative flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg border border-[var(--ds-border)] bg-white",children:[(0,a.jsx)(h,{actions:y,copyDisabled:T,onCopy:w,className:"absolute right-2 top-2 z-[1]"}),(0,a.jsx)(p,{value:t,onChange:s,minLines:l,placeholder:i,readOnly:d,className:"min-h-0 flex-1"}),(0,a.jsx)(b,{show:y.expand,expanded:!0,onToggleExpand:C,className:"absolute bottom-2 right-2 z-[1]"})]})})]}),document.body):null;return(0,a.jsxs)(a.Fragment,{children:[S,A]})}var v=e.i(51419),g=e.i(87676),j=e.i(93479),N=e.i(65934),y=e.i(61196),w=e.i(52727);let C=/^[a-zA-Z0-9_-]{1,64}$/,k=[{id:"all",label:"全部"},{id:"joined_other",label:"已加入其他团队"}];function T(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:80,a=String(e||"").replace(/\s+/g," ").trim();return a?a.length<=t?a:"".concat(a.slice(0,t-1),"…"):"暂无使用说明"}var S=e.i(46798),A=e.i(8279);let z={sm:"h-7 w-7 text-xs",md:"h-9 w-9 text-sm"};function F(e){let{label:t,size:r="md",className:s}=e,l=(0,A.initialsFromLabel)(t);return(0,a.jsx)(S.TooltipProvider,{delayDuration:150,children:(0,a.jsxs)(S.Tooltip,{children:[(0,a.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,a.jsx)("span",{className:(0,u.cn)("inline-flex shrink-0 cursor-default items-center justify-center rounded-full font-semibold text-white",z[r],s),style:{background:(0,A.avatarBgForLabel)(t)},"aria-label":t,children:l})}),(0,a.jsx)(S.TooltipContent,{side:"bottom",align:"center",className:"text-base",children:t})]})})}let D=[{value:"agents",label:"AGENTS"}];function E(e){let{mode:t,editAgentId:s,onClose:o,onSaved:d}=e,x=(0,N.useAppStore)(e=>e.wsUrl),p=(0,N.useAppStore)(e=>e.apiBase),h=(0,y.useStageThreadFlyoutStore)(e=>e.setFlyoutDirty),b=(0,y.useStageThreadFlyoutStore)(e=>e.requestCloseFlyout),k="edit"===t,[T,S]=(0,r.useState)(!1),[A,z]=(0,r.useState)(k),[E,M]=(0,r.useState)(null),[B,I]=(0,r.useState)("basic"),_=(0,r.useRef)(null),O=(0,i.useForm)({defaultValues:{id:"",whentouse:"",prompt:""},mode:"onChange"}),{isDirty:R}=(0,i.useFormState)({control:O.control}),L=O.watch("id"),P=k?"编辑 Agent · ".concat(null!=s?s:L):"新建Agent",H=T?k?"保存中…":"创建中…":"保存",U=(0,r.useCallback)(async()=>{let e=null==s?void 0:s.trim();if(e){z(!0),M(null);try{let t=await (0,w.getAgentDetail)(x,p,e);_.current=t.config,O.reset({id:t.id,whentouse:t.whentouse,prompt:t.prompt})}catch(t){let e=t instanceof Error?t.message:String(t);M(e),c.appToast.error("加载失败:".concat(e))}finally{z(!1)}}},[s,x,p,O]);(0,r.useEffect)(()=>{k&&U()},[k,U]),(0,r.useEffect)(()=>(h(R),()=>h(!1)),[R,h]);let G=(0,r.useCallback)(()=>{b()},[b]),V=(0,r.useCallback)(async e=>{let t=(k&&null!=s?s:e.id).trim();if(t){if(!k&&!C.test(String(t||"").trim()))return void c.appToast.error("Agent ID 仅支持字母、数字、下划线和中划线,长度 1~64");S(!0);try{k?(await (0,w.updateAgent)(x,p,{id:t,prompt:e.prompt,whentouse:e.whentouse,baseConfig:_.current}),c.appToast.success("已保存")):(await (0,w.createAgent)(x,p,{id:t,whentouse:e.whentouse,prompt:e.prompt}),c.appToast.success("已创建")),await (null==d?void 0:d()),o()}catch(t){let e=k?"保存":"创建";c.appToast.error("".concat(e,"失败:").concat(t instanceof Error?t.message:String(t)))}finally{S(!1)}}},[k,s,x,p,o,d]);return(0,a.jsx)(g.Form,{...O,children:(0,a.jsxs)("form",{className:"flex h-full min-h-0 flex-col bg-[var(--surface-2)]",onSubmit:O.handleSubmit(V),children:[(0,a.jsx)("header",{className:"shrink-0 border-b border-[var(--ds-border)] bg-[var(--surface-2)] px-5 pb-4 pt-5",children:(0,a.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center",children:[(0,a.jsx)(l.Button,{type:"button",variant:"plain",size:"icon",onClick:G,disabled:T,className:"shrink-0 cursor-pointer px-2 text-[var(--ds-text)] hover:bg-transparent hover:text-[color:var(--ds-accent)] [&_svg_path]:!fill-current","aria-label":"返回",children:(0,a.jsx)(n.default,{name:"Back",size:16})}),(0,a.jsx)("h2",{className:"truncate text-lg font-semibold text-[var(--ds-text)]",children:P})]}),(0,a.jsx)(l.Button,{type:"submit",variant:"default",size:"lg",disabled:T||A||!!E,className:"shrink-0 cursor-pointer rounded-lg bg-[#111] px-5 hover:bg-[#333]",children:H})]})}),(0,a.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-y-auto px-5 py-4",children:A?(0,a.jsx)("div",{className:"flex min-h-[240px] flex-1 items-center justify-center text-sm text-[var(--ds-muted)]",role:"status","aria-live":"polite",children:"加载中…"}):E?(0,a.jsxs)("div",{className:"flex min-h-[240px] flex-1 flex-col items-center justify-center gap-3 text-sm text-destructive",role:"alert",children:[(0,a.jsxs)("span",{children:["加载失败:",E]}),(0,a.jsx)(l.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>void U(),children:"重试"})]}):"basic"===B?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("section",{className:"rounded-xl border border-[var(--ds-border)] bg-white p-4",children:(0,a.jsxs)("div",{className:"flex gap-4",children:[(0,a.jsx)("div",{className:"flex shrink-0 flex-col items-center gap-2",children:(0,a.jsx)("div",{className:"relative",children:(0,a.jsx)(F,{label:L.trim()||"Agent",className:"h-16 w-16 text-lg"})})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1 space-y-3",children:[(0,a.jsx)(g.FormField,{control:O.control,name:"id",render:e=>{let{field:t}=e;return(0,a.jsxs)(g.FormItem,{children:[(0,a.jsx)(g.FormControl,{children:(0,a.jsx)(j.Input,{...t,readOnly:k,spellCheck:!1,placeholder:"例如 my-agent,agent名称是唯一标识",autoComplete:"off",className:(0,u.cn)("h-10 rounded-md border-[var(--ds-border)] bg-[var(--ds-bg)] text-base",k&&"cursor-default text-[var(--ds-muted)]")})}),(0,a.jsx)(g.FormMessage,{})]})}}),(0,a.jsx)(g.FormField,{control:O.control,name:"whentouse",render:e=>{let{field:t}=e;return(0,a.jsxs)(g.FormItem,{children:[(0,a.jsx)(g.FormControl,{children:(0,a.jsx)(m.Textarea,{...t,spellCheck:!1,placeholder:"用一句话说明它的身份 + 它主要帮你做什么",className:"min-h-[88px] resize-none rounded-md border-[var(--ds-border)] bg-[var(--ds-bg)] text-base leading-relaxed"})}),(0,a.jsx)(g.FormMessage,{})]})}})]})]})}),(0,a.jsx)(v.AppTabs,{tabs:D,defaultValue:"agents",listVariant:"line",listClassName:"mt-4",className:"min-h-0 flex-1",children:(0,a.jsx)(v.AppTabsPanel,{value:"agents",className:"mt-4 flex min-h-0 flex-1 flex-col",children:(0,a.jsx)(g.FormField,{control:O.control,name:"prompt",render:e=>{let{field:t}=e;return(0,a.jsxs)(g.FormItem,{className:"flex min-h-0 flex-1 flex-col",children:[(0,a.jsx)(g.FormControl,{children:(0,a.jsx)(f,{value:t.value,onChange:t.onChange,className:"min-h-[320px]",placeholder:"编辑 Agent 提示词(agent.md)",expandTitle:"编辑 (agent.md)"})}),(0,a.jsx)(g.FormMessage,{})]})}})})})]}):(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-[var(--ds-muted)]",children:"敬请期待"})})]})})}var M=e.i(68499),B=e.i(55146),I=e.i(97249);function _(e){let{label:t,hint:r,icon:s,onClick:l}=e,i=(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.default,{name:s,size:14,className:"shrink-0 text-[var(--ds-muted)]"}),(0,a.jsx)("span",{children:r})]}),o=(0,u.cn)("inline-flex min-h-9 w-fit max-w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-[var(--ds-border)] !bg-transparent px-3 text-base text-[var(--ds-muted)]",l&&"cursor-pointer hover:border-[color:var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]");return l?(0,a.jsx)("button",{type:"button",className:o,onClick:l,"aria-label":t,children:i}):(0,a.jsx)("div",{className:o,"aria-label":t,children:i})}let O=r.forwardRef(function(e,t){let{className:s,size:l="default",checked:i,defaultChecked:o,disabled:d,id:c,onChange:m,...x}=e,p=void 0!==i,[h,b]=r.useState(!!o),f=p?!!i:h;return(0,a.jsxs)("span",{"data-slot":"checkbox","data-size":l,"data-checked":f?"true":"false",className:(0,u.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",s),children:[f?(0,a.jsx)(n.default,{name:"Check",className:(0,u.cn)("pointer-events-none text-[var(--surface-1)] [&_path]:!fill-none","sm"===l?"size-3":"size-3.5"),strokeWidth:2.25,"aria-hidden":"true"}):null,(0,a.jsx)("input",{ref:t,id:c,type:"checkbox",checked:p?i:void 0,defaultChecked:p?void 0:o,disabled:d,className:"absolute inset-0 m-0 size-full cursor-pointer opacity-0 disabled:cursor-not-allowed",onChange:e=>{p||b(e.target.checked),null==m||m(e)},...x})]})});var R=e.i(76639);let L={captain:null,members:[]};function P(e){return{id:e.id,displayName:e.displayName.trim()||e.id}}function H(e,t,a,r){for(let l of a){var s;if(l.id===t)continue;let a=r(l.id);if((null==(s=a.captain)?void 0:s.id)===e||a.members.some(t=>t.id===e))return l.id}return null}function U(e){let{member:t,subtitle:r,onRemove:s,badge:l}=e;return(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-[var(--ds-border)] bg-[var(--ds-bg)] px-2.5 py-2",children:[(0,a.jsx)(F,{label:t.displayName,size:"sm"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"mb-0 truncate text-sm font-medium text-[var(--ds-text)]",children:t.displayName}),(0,a.jsx)("p",{className:"mb-0 truncate text-xs text-[var(--ds-muted)]",children:r})]}),l?(0,a.jsx)("span",{className:"shrink-0 rounded bg-[var(--green-light)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--green-dark)]",children:l}):null,s?(0,a.jsx)(d.IconTooltipButton,{icon:"Close",label:"移除agent",className:"!h-7 !w-7 shrink-0 bg-transparent text-[var(--ds-muted)] hover:bg-transparent hover:text-[color:var(--ds-accent)]",iconClassName:"!size-3.5",onClick:s}):null]})}function G(e){let{open:t,onOpenChange:s,team:i,allAgents:o,rosters:d,onConfirm:m,onAgentsRefresh:x}=e,p=(0,N.useAppStore)(e=>e.wsUrl),h=(0,N.useAppStore)(e=>e.apiBase),b=i.id,f=d.getRoster,[v,g]=(0,r.useState)(""),[y,C]=(0,r.useState)("all"),[S,A]=(0,r.useState)([]),[z,D]=(0,r.useState)(!1),E=(0,r.useMemo)(()=>P(i),[i]);(0,r.useEffect)(()=>{if(!t)return;let e=f(b);g(""),C("all"),A(e.members.filter(e=>e.id!==b).map(e=>e.id))},[t,b,f]);let M=(0,r.useMemo)(()=>S.map(e=>o.find(t=>t.id===e)).filter(e=>null!=e).map(P),[S,o]),B=(0,r.useMemo)(()=>o.filter(e=>{if(!function(e,t){let a=t.trim().toLowerCase();return!a||"".concat(e.id," ").concat(e.displayName," ").concat(e.whentouse).toLowerCase().includes(a)}(e,v))return!1;let t=e.id===b,a=H(e.id,b,o,f);return"available"===y?!t:"joined_other"===y?!!a:"recommended"!==y||!a&&!t}),[o,v,y,b,f]),I=(0,r.useCallback)((e,t)=>{e!==b&&A(a=>t?a.includes(e)?a:[...a,e]:a.filter(t=>t!==e))},[b]),_=(0,r.useCallback)(()=>{A([])},[]),L=(0,r.useCallback)(()=>{s(!1)},[s]),G=(0,r.useCallback)(()=>{(async()=>{let e=b.trim();if(!e||z)return;let t=f(b).members.map(e=>e.id),a=S.filter(e=>!t.includes(e)),r=t.filter(e=>!S.includes(e));if(0===a.length&&0===r.length)return L();D(!0);try{for(let t of r)await (0,w.removeTeamMember)(p,h,e,t);for(let t of a)await (0,w.addTeamMember)(p,h,e,t);await (null==x?void 0:x()),m({captain:E,members:M}),a.length>0&&0===r.length?c.appToast.success(1===a.length?"已添加队员 ".concat(a[0]):"已添加 ".concat(a.length," 名队员")):c.appToast.success("已更新队员"),L()}catch(e){c.appToast.error("添加队员失败:".concat(e instanceof Error?e.message:String(e)))}finally{D(!1)}})()},[b,z,f,S,p,h,x,m,E,M,L]);return(0,a.jsx)(R.Dialog,{open:t,onOpenChange:s,children:(0,a.jsxs)(R.DialogContent,{className:"max-w-[920px]","aria-labelledby":"add-team-members-title",children:[(0,a.jsxs)(R.DialogHeader,{className:"items-start gap-3",children:[(0,a.jsx)(R.DialogTitle,{id:"add-team-members-title",className:"text-lg",children:"添加队员"}),(0,a.jsx)(R.DialogClose,{"aria-label":"关闭"})]}),(0,a.jsx)(R.DialogBody,{className:"!p-0",children:(0,a.jsxs)("div",{className:"flex h-[min(68vh,520px)] min-h-0 flex-col px-[24px] md:flex-row",children:[(0,a.jsxs)("div",{className:"mr-[16px] flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden border-b border-[var(--ds-border)] md:border-b-0 md:border-r",children:[(0,a.jsxs)("div",{className:"shrink-0 space-y-3 border-b border-[var(--ds-border)] pb-4",children:[(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)(n.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[var(--ds-muted)]"}),(0,a.jsx)(j.Input,{value:v,onChange:e=>g(e.target.value),placeholder:"搜索成员名称 / 能力 / 标签",className:"h-8 pl-8"})]}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:k.map(e=>{let t=y===e.id;return(0,a.jsx)(l.Button,{type:"button",variant:"plain-outline",size:"sm",className:(0,u.cn)("cursor-pointer rounded-full px-3",t&&"border-[color:var(--ds-accent)] bg-[var(--green-light)] text-[var(--green-dark)] hover:bg-[var(--green-light)]"),onClick:()=>C(e.id),children:e.label},e.id)})})]}),(0,a.jsx)("ul",{className:"m-0 min-h-0 flex-1 list-none space-y-4 overflow-y-auto",role:"listbox","aria-label":"可选队员",children:B.map(e=>{let t=e.id===b,r=S.includes(e.id),s=H(e.id,b,o,f),l=function(e){let t=T(e,24);return"暂无使用说明"===t?[]:t.split(/[,,、\s]+/).filter(Boolean).slice(0,2)}(e.whentouse),i=T(e.whentouse,32);return(0,a.jsx)("li",{children:(0,a.jsxs)("label",{className:(0,u.cn)("flex cursor-pointer items-center gap-3 rounded-lg border border-solid bg-[var(--ds-bg)] px-2 py-2.5 transition-[border-color,background-color]","border-[color:var(--ds-border)]",t?"cursor-not-allowed opacity-60":"hover:border-[color:var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",r&&!t&&"bg-[var(--green-light)]/40 border-[color:var(--ds-accent)]"),children:[(0,a.jsx)(O,{checked:!t&&r,disabled:t,onChange:t=>I(e.id,t.target.checked),"aria-label":"选择 ".concat(e.displayName)}),(0,a.jsx)(F,{label:e.displayName,size:"md"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("p",{className:"mb-0 truncate font-medium text-[var(--ds-text)]",children:[e.displayName,t?(0,a.jsx)("span",{className:"ml-1 text-xs font-normal text-[var(--ds-muted)]",children:"(当前团队)"}):null]}),(0,a.jsx)("p",{className:"mb-0 mt-0.5 truncate text-base text-[var(--ds-muted)]",children:i}),l.length>0?(0,a.jsx)("div",{className:"mt-1 flex flex-wrap gap-1",children:l.map(e=>(0,a.jsx)("span",{className:"rounded bg-[var(--surface-2)] px-1.5 py-0.5 text-[10px] text-[var(--ds-muted)]",children:e},e))}):null]}),(0,a.jsx)("div",{className:"shrink-0 text-right",children:t?(0,a.jsx)("span",{className:"text-xs text-[var(--ds-muted)]",children:"不可选"}):s?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-amber-600",children:[(0,a.jsx)(n.default,{name:"Info",size:14}),"已加入其他团队"]}):(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-[var(--green-dark)]",children:[(0,a.jsx)("span",{className:"size-1.5 rounded-full bg-[var(--ds-accent)]"}),"可用 Agent"]})})]})},e.id)})}),(0,a.jsxs)("div",{className:"shrink-0 border-t border-[var(--ds-border)] px-4 py-2.5 text-sm text-[var(--ds-muted)]",children:["已选择 ",S.length," 名队员"]})]}),(0,a.jsx)("div",{className:"flex min-h-0 w-full shrink-0 flex-col overflow-hidden bg-[var(--ds-log-bg)] md:w-[300px]",children:(0,a.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden p-4",children:(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,a.jsxs)("div",{className:"mb-2 flex shrink-0 items-center justify-between gap-2",children:[(0,a.jsxs)("span",{className:"text-sm font-medium text-[var(--ds-text)]",children:["已选成员(",M.length,")"]}),(0,a.jsx)(l.Button,{type:"button",variant:"plain",size:"sm",disabled:0===M.length,className:"h-auto cursor-pointer !px-1 text-xs text-[var(--ds-accent)] hover:bg-transparent hover:text-[var(--ds-text)] disabled:cursor-not-allowed",onClick:_,children:"清空"})]}),(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:M.length>0?(0,a.jsx)("div",{className:"space-y-4",children:M.map(e=>{let t=o.find(t=>t.id===e.id),r=t?T(t.whentouse,28):e.id;return(0,a.jsx)(U,{member:e,subtitle:r,onRemove:()=>I(e.id,!1)},e.id)})}):(0,a.jsx)("p",{className:"mb-0 text-xs text-[var(--ds-muted)]",children:"请从左侧勾选队员"})})]})})})]})}),(0,a.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-5 py-3",children:[(0,a.jsx)(l.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:L,className:"cursor-pointer",children:"取消"}),(0,a.jsx)(l.Button,{type:"button",variant:"default",size:"lg",onClick:G,disabled:z,className:"cursor-pointer disabled:cursor-not-allowed",children:z?"添加中…":"确认添加"})]})]})})}function V(e){let{open:t,onOpenChange:s,title:n,description:i,candidates:o,onPick:d}=e,[c,m]=(0,r.useState)("");(0,r.useEffect)(()=>{t&&m("")},[t]);let x=(0,r.useCallback)(()=>{s(!1)},[s]),p=(0,r.useCallback)(()=>{let e=o.find(e=>e.id===c);e&&(d(e),x())},[o,c,d,x]),h=(0,r.useMemo)(()=>o.length>0?null:"暂无可选 Agent",[o.length]);return(0,a.jsx)(R.Dialog,{open:t,onOpenChange:s,children:(0,a.jsxs)(R.DialogContent,{className:"max-w-[480px]","aria-labelledby":"pick-team-member-title",children:[(0,a.jsxs)(R.DialogHeader,{className:"items-start gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)(R.DialogTitle,{id:"pick-team-member-title",children:n}),(0,a.jsx)(R.DialogDescription,{className:"mt-1",children:i})]}),(0,a.jsx)(R.DialogClose,{"aria-label":"关闭"})]}),(0,a.jsx)(R.DialogBody,{className:"max-h-[min(50vh,360px)] overflow-y-auto !px-5 !py-4",children:h?(0,a.jsx)("p",{className:"mb-0 text-center text-sm text-[var(--ds-muted)]",children:h}):(0,a.jsx)("ul",{className:"m-0 list-none space-y-1 p-0",role:"listbox",children:o.map(e=>{let t=c===e.id,r=P(e);return(0,a.jsx)("li",{children:(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":t,className:(0,u.cn)("flex w-full cursor-pointer items-center gap-3 rounded-lg border border-solid px-3 py-2.5 text-left transition-colors",t?"border-[color:var(--ds-accent)] bg-[var(--green-light)]":"border-[color:var(--ds-border)] bg-[var(--ds-bg)] hover:bg-[var(--ds-main-tint)]"),onClick:()=>m(e.id),children:[(0,a.jsx)(F,{label:r.displayName,size:"md"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"mb-0 truncate text-sm font-medium text-[var(--ds-text)]",children:r.displayName}),(0,a.jsx)("p",{className:"mb-0 mt-0.5 truncate text-xs text-[var(--ds-muted)]",children:e.id})]})]})},e.id)})})}),(0,a.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-5 py-3",children:[(0,a.jsx)(l.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:x,className:"cursor-pointer",children:"取消"}),(0,a.jsx)(l.Button,{type:"button",variant:"default",size:"lg",disabled:!c,onClick:p,className:"cursor-pointer",children:"确定"})]})]})})}function W(e){let{member:t,displayName:r}=e;return(0,a.jsxs)("span",{className:"relative inline-flex w-fit items-center rounded-full",children:[(0,a.jsx)(F,{label:t.displayName,size:"sm"}),r?(0,a.jsx)("span",{className:"ml-2 whitespace-nowrap text-base text-[var(--ds-text)]",children:r}):null]})}function q(e){let{members:t}=e,[s,l]=(0,r.useState)(!1),n=(0,r.useRef)(null),i=(0,r.useCallback)(()=>{n.current&&(clearTimeout(n.current),n.current=null),l(!0)},[]),o=(0,r.useCallback)(()=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>l(!1),120)},[]);return(0,a.jsxs)(B.DropdownMenu,{open:s,onOpenChange:l,children:[(0,a.jsxs)(B.DropdownMenuTrigger,{type:"button",className:"inline-flex shrink-0 cursor-default items-center rounded-full border border-solid border-[color:var(--ds-border)] bg-[var(--surface-2)] px-2.5 py-1 text-sm font-medium text-[var(--ds-muted)] hover:bg-[var(--surface-2)]","aria-label":"还有 ".concat(t.length," 名队员"),onMouseEnter:i,onMouseLeave:o,children:["+",t.length]}),(0,a.jsxs)(B.DropdownMenuContent,{align:"start",side:"bottom",sideOffset:6,className:(0,u.cn)("min-w-[200px] max-w-[min(100vw-32px,320px)] p-3"),onMouseEnter:i,onMouseLeave:o,children:[(0,a.jsxs)("p",{className:"mb-2 px-1 text-xs text-[var(--ds-muted)]",children:["其余队员(",t.length,")"]}),(0,a.jsx)("div",{className:"flex max-h-[240px] flex-col gap-2 overflow-y-auto",children:t.map(e=>(0,a.jsx)(W,{member:e,displayName:e.displayName},e.id))})]})]})}function K(e){let{members:t,className:r}=e,s=t.slice(0,6),l=t.slice(6);return(0,a.jsxs)("div",{className:(0,u.cn)("flex min-w-0 max-w-full flex-wrap items-center gap-1",r),children:[s.map(e=>(0,a.jsx)(W,{member:e},e.id)),l.length>0?(0,a.jsx)(q,{members:l}):null]})}function Y(e){let{onEdit:t,onDelete:s,deleting:l=!1}=e,[i,o]=(0,r.useState)(!1);return(0,a.jsxs)(B.DropdownMenu,{open:i,onOpenChange:o,children:[(0,a.jsx)(B.DropdownMenuTrigger,{type:"button",className:"inline-flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md border-0 bg-transparent p-0 text-[var(--ds-muted)] hover:bg-transparent hover:text-[color:var(--ds-accent)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ds-accent)]","aria-label":"更多",onClick:e=>{e.stopPropagation()},children:(0,a.jsx)(n.default,{name:"More",size:20})}),(0,a.jsxs)(B.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,a.jsxs)(B.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:()=>{o(!1),t()},children:[(0,a.jsx)(n.default,{name:"Edit",size:16,className:"text-[var(--ds-muted)]"}),"编辑 Agent"]}),(0,a.jsx)(B.DropdownMenuSeparator,{className:"mx-1 my-1 bg-[var(--ds-border)]"}),(0,a.jsxs)(B.DropdownMenuItem,{variant:"destructive",disabled:l,className:"h-9 rounded-xl px-2.5 text-base hover:bg-[#fff1f1] focus:bg-[#fff1f1]",onClick:()=>{o(!1),s()},children:[(0,a.jsx)(n.default,{name:"Trash2",size:16}),"删除 Agent"]})]})]})}function $(e){let{team:s,allAgents:l,rosters:n,onAgentSaved:i}=e,o=(0,N.useAppStore)(e=>e.agentId),m=(0,N.useAppStore)(e=>e.wsUrl),x=(0,N.useAppStore)(e=>e.apiBase),p=o.trim()||"qihoo",h=s.id===p,b=n.getRoster(s.id),f=T(s.whentouse),v=(0,A.initialsFromLabel)(s.id).slice(0,1),[g,j]=(0,r.useState)(!1),[C,k]=(0,r.useState)(!1),[S,z]=(0,r.useState)(!1),F=n.getAvailableCandidates(s.id,l),D=(0,r.useCallback)(e=>{n.setCaptain(s.id,P(e))},[n,s.id]),B=(0,r.useCallback)(e=>{n.applyRoster(s.id,e)},[n,s.id]),O=(0,r.useCallback)(()=>{let e=s.id.trim();if(!e||e===p)return;let t=(0,I.buildAppNavHref)("/",{ensureAgent:!0,agent:e}),a=I.BASE_PATH.replace(/\/+$/,""),r="".concat(window.location.origin).concat(a).concat(t);window.open(r,"_blank","noopener")},[s.id,p]),R=(0,r.useCallback)(()=>{!function(e){var r;let s=e.agentId.trim();if(!s)return;let{openFlyout:l,closeFlyout:n}=y.useStageThreadFlyoutStore.getState(),i=null!=(r=e.onSaved)?r:t;l({width:y.CREATE_AGENT_FLYOUT_WIDTH,hideHeader:!0,bodyClassName:"!p-0 overflow-hidden",navigationGuard:!0,content:(0,a.jsx)(E,{mode:"edit",editAgentId:s,onClose:n,onSaved:i})})}({agentId:s.id,onSaved:i})},[s.id,i]),L=(0,r.useCallback)(async()=>{let e=s.id.trim();if(e&&await (0,M.confirmAlertDialog)({title:"确定删除 Agent?",description:"Agent「".concat(e,"」将被永久删除,此操作不可恢复。"),confirmText:"删除",cancelText:"取消"})){z(!0);try{await (0,w.deleteAgentItem)(m,x,e),c.appToast.success("已删除"),await (null==i?void 0:i())}catch(e){c.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}finally{z(!1)}}},[s.id,m,x,i]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:(0,u.cn)("flex w-full flex-wrap items-center gap-4 rounded-xl border border-solid bg-[var(--ds-bg)] px-4 py-3 lg:flex-nowrap","border-[color:var(--ds-border)] transition-[border-color,box-shadow]","hover:shadow-[0_2px_12px_rgba(0,0,0,0.06)]"),children:[(0,a.jsxs)("div",{className:"flex min-w-[200px] flex-1 items-center gap-4",children:[(0,a.jsx)("span",{className:"inline-flex h-11 w-11 shrink-0 items-center justify-center rounded-lg text-lg font-semibold text-white",style:{background:(0,A.avatarBgForLabel)(s.id)},"aria-hidden":!0,children:v}),(0,a.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,a.jsx)("button",{type:"button",onClick:O,disabled:h,className:(0,u.cn)("mb-0 block w-full truncate border-0 bg-transparent p-0 text-left text-base font-semibold text-[var(--ds-text)]",h?"cursor-default":"cursor-pointer hover:text-[color:var(--ds-accent)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ds-accent)]"),"aria-current":h?"true":void 0,"aria-label":h?"当前 Agent:".concat(s.id):"在新标签页切换到 Agent ".concat(s.id),children:s.id}),(0,a.jsx)("p",{className:"mb-0 mt-1 truncate text-sm text-[var(--ds-muted)]",children:f})]})]}),(0,a.jsx)("div",{className:"flex min-w-0 max-w-full flex-1 flex-col gap-1.5",children:(0,a.jsx)("div",{className:(0,u.cn)("flex min-w-0 max-w-full flex-wrap items-center gap-2",""),children:(0,a.jsxs)("div",{className:"flex w-fit justify-end gap-2 rounded-xl border border-solid border-[color:var(--ds-border)] bg-[var(--ds-bg)] p-2",children:[b.members.length>0?(0,a.jsx)(K,{members:b.members,className:""}):(0,a.jsx)(_,{label:"队员列表",hint:"暂无队员",icon:"Team"}),(0,a.jsx)(d.IconTooltipButton,{icon:"Create",label:"添加队员",disabled:l.length<=1,className:(0,u.cn)("h-8 w-8 shrink-0 border border-dashed border-[color:var(--ds-border)] hover:border-[color:var(--ds-accent)] hover:text-[color:var(--ds-accent)]",l.length>1&&"text-[var(--ds-accent)] hover:bg-[var(--green-light)]"),iconClassName:"!size-4",onClick:()=>k(!0)})]})})}),(0,a.jsx)(Y,{onEdit:R,onDelete:()=>void L(),deleting:S})]}),(0,a.jsx)(V,{open:g,onOpenChange:j,title:"设置队长",description:"从可选 Agent 中选择一名作为队长",candidates:F,onPick:D}),(0,a.jsx)(G,{open:C,onOpenChange:k,team:s,allAgents:l,rosters:n,onConfirm:B,onAgentsRefresh:i})]})}function Z(e){let{agentsState:t}=e,{agents:s,loading:l,error:n}=t,i=function(e){let[t,a]=(0,r.useState)({});(0,r.useEffect)(()=>{a(t=>{let a={...t};for(let s of e){var r;let l=null!=(r=t[s.id])?r:L;a[s.id]={captain:l.captain,members:function(e,t){return e.agentTeamMembers.map(e=>{let a=t.find(t=>t.id===e.agentType);return{id:e.agentType,displayName:(null==a?void 0:a.displayName.trim())||e.agentType}})}(s,e)}}return a})},[e]);let s=(0,r.useCallback)(e=>{var a;return null!=(a=t[e])?a:L},[t]),l=(0,r.useCallback)((e,t)=>{a(a=>{var r;let s=(null!=(r=a[e])?r:L).members.filter(e=>e.id!==t.id);return{...a,[e]:{captain:t,members:s}}})},[]),n=(0,r.useCallback)(e=>{a(t=>{var a;let r=null!=(a=t[e])?a:L;return{...t,[e]:{...r,captain:null}}})},[]),i=(0,r.useCallback)((e,t)=>{a(a=>{var r,s;let l=null!=(s=a[e])?s:L;return(null==(r=l.captain)?void 0:r.id)===t.id||l.members.some(e=>e.id===t.id)?a:{...a,[e]:{...l,members:[...l.members,t]}}})},[]),o=(0,r.useCallback)((e,t)=>{a(a=>{var r;let s=null!=(r=a[e])?r:L;return{...a,[e]:{...s,members:s.members.filter(e=>e.id!==t)}}})},[]);return{getRoster:s,setCaptain:l,removeCaptain:n,addMember:i,removeMember:o,applyRoster:(0,r.useCallback)((e,t)=>{let r=t.captain,s=t.members.filter(e=>e.id!==(null==r?void 0:r.id));a(t=>({...t,[e]:{captain:r,members:s}}))},[]),getAvailableCandidates:(0,r.useCallback)((e,a)=>{var r;let s=null!=(r=t[e])?r:L,l=new Set([e,...s.captain?[s.captain.id]:[],...s.members.map(e=>e.id)]);return a.filter(e=>!l.has(e.id))},[t])}}(s);return(0,a.jsx)("div",{className:"flex min-h-0 flex-1 flex-col rounded-xl border border-[var(--ds-border)] bg-[var(--ds-bg)] shadow-[var(--shadow-sm)]",children:(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-3",children:l?(0,a.jsx)("div",{className:"flex min-h-[200px] items-center justify-center text-sm text-[var(--ds-muted)]",children:"加载中…"}):n?(0,a.jsxs)("div",{className:"flex min-h-[200px] items-center justify-center px-4 text-center text-sm text-red-600",children:["加载失败:",n]}):0===s.length?(0,a.jsx)("div",{className:"flex min-h-[200px] items-center justify-center px-4 text-center text-sm text-[var(--ds-muted)]",children:"暂无 Agent,点击右上角「新建 Agent」创建"}):(0,a.jsx)("ul",{className:"m-0 list-none space-y-4 p-0",role:"list",children:s.map(e=>(0,a.jsx)("li",{children:(0,a.jsx)($,{team:e,allAgents:s,rosters:i,onAgentSaved:t.loadAgents})},e.id))})})})}function J(e){let{label:t,value:r,hint:s,icon:l}=e;return(0,a.jsxs)("div",{className:"mt-2 flex min-w-0 flex-1 items-center gap-4 rounded-xl border border-[var(--ds-border)] bg-white px-4 py-3.5 shadow-[var(--shadow-sm)]",children:[(0,a.jsx)("span",{className:"flex size-10 shrink-0 items-center justify-center rounded-full bg-[var(--ds-border)]","aria-hidden":!0,children:(0,a.jsx)(n.default,{name:l,size:20,className:"text-[var(--ds-text)]"})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"block text-sm text-[var(--ds-muted)]",children:t}),(0,a.jsx)("span",{className:"mt-1 block text-2xl font-semibold leading-none text-[var(--ds-text)]",children:r}),(0,a.jsx)("span",{className:"mt-1 block text-xs text-[var(--ds-muted)]",children:s})]})]})}function Q(e){let{agents:t,className:s}=e,l=(0,r.useMemo)(()=>{let e=t.length;return[{label:"团队总数",value:t.filter(e=>e.agentTeamMembers.length>=1).length,icon:"Teams",hint:"队员数大于 1 的 Agent 编组"},{label:"成员总数",value:e,icon:"Agent",hint:"角色、能力和工具的智能执行体"}]},[t]);return(0,a.jsx)("div",{className:(0,u.cn)("flex flex-wrap gap-3",s),children:l.map(e=>(0,a.jsx)(J,{...e},e.label))})}function X(){let e=function(){let e=(0,N.useAppStore)(e=>e.wsUrl),t=(0,N.useAppStore)(e=>e.apiBase),[a,s]=(0,r.useState)([]),[l,n]=(0,r.useState)(!0),[i,o]=(0,r.useState)(null),d=(0,r.useCallback)(async()=>{n(!0),o(null);try{let a=await (0,w.listAgentsForManage)(e,t);s(a)}catch(t){let e=t instanceof Error?t.message:String(t);s([]),o(e),c.appToast.error("加载失败:".concat(e))}finally{n(!1)}},[e,t]);return(0,r.useEffect)(()=>{d()},[d]),{agents:a,loading:l,error:i,loadAgents:d}}();(0,r.useEffect)(()=>(t=e.loadAgents,()=>{t=void 0}),[e.loadAgents]);let i=(0,r.useCallback)(()=>{!function(){var e;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{openFlyout:s,closeFlyout:l}=y.useStageThreadFlyoutStore.getState(),n=null!=(e=r.onSaved)?e:t;s({width:y.CREATE_AGENT_FLYOUT_WIDTH,hideHeader:!0,bodyClassName:"!p-0 overflow-hidden",navigationGuard:!0,content:(0,a.jsx)(E,{mode:"create",onClose:l,onSaved:n})})}()},[]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.ManageChromeHeaderActions,{children:(0,a.jsx)("div",{className:"flex flex-wrap items-center",children:(0,a.jsxs)(l.Button,{type:"button",variant:"default",size:"lg",onClick:i,className:"mr-[12px] cursor-pointer",children:[(0,a.jsx)(n.default,{name:"Create",size:16,className:"align-middle"}),"新建 Agent"]})})}),(0,a.jsx)(Q,{agents:e.agents,className:"mb-4"}),(0,a.jsx)(Z,{agentsState:e})]})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,92715,e=>{"use strict";e.s(["AppTable",()=>d],92715);var t=e.i(18050),a=e.i(85413),r=e.i(71645),l=e.i(75157);let n=r.forwardRef((e,a)=>{let{className:r,...n}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:a,className:(0,l.cn)("w-full caption-bottom border-collapse text-sm",r),...n})})});n.displayName="Table";let s=r.forwardRef((e,a)=>{let{className:r,...n}=e;return(0,t.jsx)("thead",{ref:a,className:(0,l.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",r),...n})});s.displayName="TableHeader";let i=r.forwardRef((e,a)=>{let{className:n,viewportFit:s=!0,viewportReserveBottom:i=16,viewportPaginationReserve:o=0,style:c,...u}=e,d=r.useRef(null),m=r.useCallback(e=>{d.current=e,"function"==typeof a?a(e):a&&(a.current=e)},[a]),[p,f]=r.useState(void 0);return r.useLayoutEffect(()=>{var e,t;if(!s)return void f(void 0);let a=()=>{var e,t;let a=d.current;if(!a)return;let r=a.getBoundingClientRect().top;f(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-r-(i+o))))};a();let r=new ResizeObserver(()=>{a()});try{r.observe(document.body)}catch(e){}return window.addEventListener("resize",a),null==(e=window.visualViewport)||e.addEventListener("resize",a),null==(t=window.visualViewport)||t.addEventListener("scroll",a),window.addEventListener("scroll",a,!0),()=>{var e,t;r.disconnect(),window.removeEventListener("resize",a),null==(e=window.visualViewport)||e.removeEventListener("resize",a),null==(t=window.visualViewport)||t.removeEventListener("scroll",a),window.removeEventListener("scroll",a,!0)}},[s,i,o]),(0,t.jsx)("tbody",{ref:m,className:(0,l.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!==p?{...c,maxHeight:p}:c,...u})});i.displayName="TableBody";let o=r.forwardRef((e,a)=>{let{className:r,hoverable:n=!0,...s}=e;return(0,t.jsx)("tr",{ref:a,className:(0,l.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",n&&"group/table-row",r),...s})});o.displayName="TableRow";let c=r.forwardRef((e,a)=>{let{className:r,...n}=e;return(0,t.jsx)("th",{ref:a,className:(0,l.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",r),...n})});c.displayName="TableHead";let u=r.forwardRef((e,a)=>{let{className:r,...n}=e;return(0,t.jsx)("td",{ref:a,className:(0,l.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)]",r),...n})});function d(e){let{rows:r,columns:d,getRowKey:m,className:p,rowClassName:f,headerRowClassName:b,emptyText:x,emptyNode:g,bodyProps:v}=e;return(0,t.jsx)("div",{className:(0,l.cn)("overflow-hidden border border-[var(--ds-border)]",p),children:(0,t.jsxs)(n,{children:[(0,t.jsx)(s,{children:(0,t.jsx)(o,{className:(0,l.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",b),children:d.map(e=>(0,t.jsx)(c,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(i,{...v,children:r.length?r.map(e=>(0,t.jsx)(o,{className:"function"==typeof f?f(e):f,children:d.map(a=>(0,t.jsx)(u,{className:a.cellClassName,children:a.render(e)},a.key))},m(e))):(0,t.jsx)(o,{hoverable:!1,children:(0,t.jsx)(u,{colSpan:d.length,className:"py-6",children:null!=g?g:(0,t.jsx)(a.Empty,{text:x})})})})]})})}u.displayName="TableCell"},62427,e=>{"use strict";e.s(["clearRuntimeMcpItemConfig",()=>w,"deleteRuntimeMcp",()=>m,"deleteRuntimeSkill",()=>j,"deleteRuntimeTool",()=>d,"exportRuntimeMcpUrl",()=>f,"exportRuntimeSkillUrl",()=>k,"exportRuntimeToolUrl",()=>p,"importRuntimeMcp",()=>x,"importRuntimeTool",()=>b,"installCloudSkill",()=>N,"listBaseSkills",()=>n,"listCloudSkillCatalog",()=>C,"listInstalledSkills",()=>s,"listInstalledTools",()=>l,"listMcpServers",()=>r,"listRuntimeMcpPackages",()=>u,"listRuntimeTools",()=>c,"loadBaseSkillMd",()=>i,"loadRemoteMcpJson",()=>g,"loadRuntimeMcpItemConfig",()=>h,"saveBaseSkillMd",()=>o,"saveRemoteMcpJson",()=>v,"saveRuntimeMcpItemConfig",()=>y]);var t=e.i(29250),a=e.i(36845);async function r(e,r,l){let n=await (0,t.get)((0,a.buildMcpServersListUrl)(e,r,l));return{servers:Array.isArray(n.servers)?n.servers:[]}}async function l(e,r,l){let n=await (0,t.get)((0,a.buildToolInstalledListUrl)(e,r,l));return{tools:Array.isArray(n.tools)?n.tools:[]}}async function n(e,r,l){let n=await (0,t.get)((0,a.buildSkillBaseListUrl)(e,r,l));return{skills:Array.isArray(n.skills)?n.skills:[]}}async function s(e,r,l){let n=await (0,t.get)((0,a.buildSkillInstalledListUrl)(e,r,l));return{skills:Array.isArray(n.skills)?n.skills:[]}}async function i(e,r,l,n){return(0,t.get)((0,a.buildBaseSkillMdUrl)(e,r,l,n))}async function o(e,r,l,n,s){await (0,t.put)((0,a.buildBaseSkillMdUrl)(e,r,l,n),{content:s})}async function c(e,r,l){let n=await (0,t.get)((0,a.buildToolsRuntimeFilesUrl)(e,r,l));return{runtimeToolsDir:"string"==typeof n.runtimeToolsDir?n.runtimeToolsDir:"",items:Array.isArray(n.items)?n.items.filter(e=>!!(e&&e.id)):[]}}async function u(e,r,l){let n=await (0,t.get)((0,a.buildMcpRuntimeFilesUrl)(e,r,l));return{mcpRuntimeDir:"string"==typeof n.mcpRuntimeDir?n.mcpRuntimeDir:"",items:Array.isArray(n.items)?n.items.filter(e=>!!(e&&e.id)):[]}}async function d(e,r,l,n){return(0,t.del)((0,a.buildToolsRuntimeDeleteUrl)(e,r,l,n))}async function m(e,r,l,n){return(0,t.del)((0,a.buildMcpRuntimeDeleteUrl)(e,r,l,n))}function p(e,t,r,l){return(0,a.buildToolsRuntimeExportUrl)(e,t,r,l)}function f(e,t,r,l){return(0,a.buildMcpRuntimeExportUrl)(e,t,r,l)}async function b(e,r,l,n){let s=new FormData;return s.append("file",n),(0,t.post)((0,a.buildToolsRuntimeImportUrl)(e,r,l),s,{type:"file"})}async function x(e,r,l,n){let s=new FormData;return s.append("file",n),(0,t.post)((0,a.buildMcpRuntimeImportUrl)(e,r,l),s,{type:"file"})}async function g(e,r,l){return(0,t.get)((0,a.buildRemoteMcpJsonUrl)(e,r,l))}async function v(e,r,l,n){await (0,t.post)((0,a.buildRemoteMcpJsonUrl)(e,r,l),{content:n})}async function h(e,r,l,n,s){return(0,t.get)((0,a.buildRuntimeMcpItemConfigUrl)(e,r,l,n,s))}async function y(e,r,l,n,s,i){await (0,t.put)((0,a.buildRuntimeMcpItemConfigUrl)(e,r,l,n,s),{server:i})}async function w(e,r,l,n,s){await (0,t.del)((0,a.buildRuntimeMcpItemConfigUrl)(e,r,l,n,s))}async function j(e,r,l,n){return(0,t.del)((0,a.buildSkillsRuntimeDeleteUrl)(e,r,l,n))}function k(e,t,r,l){return(0,a.buildSkillsRuntimeExportUrl)(e,t,r,l)}async function C(e,r,l,n,s,i){let o=await (0,t.get)((0,a.buildCloudSkillCatalogUrl)(e,r,l,n,s,i));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function N(e,r,l,n){await (0,t.post)((0,a.buildCloudSkillInstallUrl)(e,r,l),{id:n})}},53925,e=>{"use strict";e.s(["ResourceImportDialog",()=>d],53925);var t=e.i(18050),a=e.i(71645),r=e.i(72064),l=e.i(75157),n=e.i(19455);function s(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}function i(e){let{uploadUrl:i,accept:o,disabled:c=!1,multiple:u=!1,maxFileSize:d=0x3200000,autoUpload:m=!1,method:p="POST",transport:f="xhr",fieldName:b="file",headers:x,extraFormData:g,autoRetryTimes:v=0,autoRetryDelayMs:h=800,selectionOnly:y=!1,className:w,emptyTitle:j="点击或拖拽文件到此处",emptyHint:k="支持上传文件",onFilesChange:C,onUploadSuccess:N,onUploadError:R,onValidationError:T}=e,S=a.useId(),U=a.useRef(null),M=a.useRef(new Map),A=a.useRef(new Map),D=a.useRef([]),[I,E]=a.useState(!1),[z,B]=a.useState([]),L=a.useMemo(()=>o?o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean):[],[o]);a.useEffect(()=>{D.current=z,null==C||C(z)},[z,C]),a.useEffect(()=>()=>{for(let e of M.current.values())e.abort();for(let e of A.current.values())e.abort();for(let e of D.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)},[]);let O=a.useCallback((e,t)=>{B(a=>a.map(a=>a.id===e?{...a,...t}:a))},[]),_=a.useCallback(async(e,t)=>{let a=D.current.find(t=>t.id===e);if(!a||c)return;O(e,{status:t>0?"retrying":"uploading",progress:0,error:"",retryCount:t});let r=new FormData;if(g)for(let[e,t]of Object.entries(g))r.append(e,t);r.append(b,a.file);try{let t="";if("fetch"===f){let a=new AbortController;A.current.set(e,a);let l=await fetch(i,{method:p,headers:x,body:r,signal:a.signal}),n=await l.text();try{t=n?JSON.parse(n):""}catch(e){t=n}if(!l.ok)throw Error("上传失败:".concat(l.status," ").concat(l.statusText))}else t=await new Promise((t,a)=>{let l=new XMLHttpRequest;if(M.current.set(e,l),l.open(p,i,!0),x)for(let[e,t]of Object.entries(x))l.setRequestHeader(e,t);l.upload.onprogress=t=>{if(!t.lengthComputable)return;let a=Math.min(100,Math.round(t.loaded/t.total*100));O(e,{progress:a})},l.onerror=()=>a(Error("网络异常,上传失败")),l.onabort=()=>a(Error("__ABORTED__")),l.onload=()=>{l.status>=200&&l.status<300?t(function(e){let t=e.responseText||"";try{return JSON.parse(t)}catch(e){return t}}(l)):a(Error("上传失败:".concat(l.status," ").concat(l.statusText)))},l.send(r)});O(e,{status:"success",progress:100,error:""});let a=D.current.find(t=>t.id===e);a&&(null==N||N(a,t))}catch(l){let a=l instanceof Error?l.message:String(l);if("__ABORTED__"===a)return void O(e,{status:"selected",progress:0,error:""});if(t<v){O(e,{status:"retrying",error:"重试中(".concat(t+1,"/").concat(v,")")}),await new Promise(e=>window.setTimeout(e,h)),await _(e,t+1);return}O(e,{status:"error",error:a});let r=D.current.find(t=>t.id===e);r&&(null==R||R(r,a))}finally{M.current.delete(e),A.current.delete(e)}},[h,v,c,g,b,x,p,R,N,f,O,i]),F=a.useCallback(e=>{_(e,0)},[_]),P=a.useCallback(e=>{var t,a;null==(t=M.current.get(e))||t.abort(),null==(a=A.current.get(e))||a.abort()},[]),H=a.useCallback(()=>{for(let e of D.current)("selected"===e.status||"error"===e.status)&&F(e.id)},[F]),V=a.useCallback(e=>{if(c||!e.length)return;let t=new Set(D.current.map(e=>"".concat(e.file.name,"::").concat(e.file.size))),a=[];for(let r of e){let e="".concat(r.name,"::").concat(r.size);if(!t.has(e)){if(!function(e,t){if(!t.length)return!0;let a=e.name.toLowerCase(),r=(e.type||"").toLowerCase();return t.some(e=>e.startsWith(".")?a.endsWith(e):e.endsWith("/*")?r.startsWith("".concat(e.slice(0,-1))):r===e)}(r,L)){null==T||T("文件类型不支持:".concat(r.name));continue}if(r.size>d){null==T||T("文件过大(最大 ".concat(s(d),"):").concat(r.name));continue}t.add(e),a.push({id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),file:r,status:"selected",progress:0,error:"",retryCount:0,previewUrl:r.type.startsWith("image/")?URL.createObjectURL(r):""})}}if(!a.length)return;let r=u?[...D.current,...a]:[a[a.length-1]];if(!u)for(let e of D.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);if(B(r),m&&!y)for(let e of a)F(e.id)},[L,m,c,d,u,T,y,F]),J=a.useCallback(e=>{let t=e.target.files;t&&(V(Array.from(t)),e.target.value="")},[V]),K=a.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),E(!1),c||V(Array.from(null!=(t=e.dataTransfer.files)?t:[]))},[V,c]);return(0,t.jsxs)("div",{className:(0,l.cn)("flex min-h-0 w-full flex-col gap-3",w),children:[(0,t.jsx)("input",{ref:U,id:S,type:"file",hidden:!0,accept:o,multiple:u,disabled:c,onChange:J}),(0,t.jsxs)("label",{htmlFor:S,onDragOver:e=>{e.preventDefault(),c||E(!0)},onDragLeave:e=>{e.preventDefault(),E(!1)},onDrop:K,className:(0,l.cn)("flex min-h-[124px] cursor-pointer flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-[var(--ds-border)] px-4 py-6 text-center transition-colors hover:border-[var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",I&&"bg-[var(--ds-accent)]/5 border-[var(--ds-accent)]",c&&"cursor-not-allowed opacity-60"),children:[(0,t.jsx)(r.default,{name:"Upload",size:20,className:"text-[var(--ds-muted)]"}),(0,t.jsx)("div",{className:"text-base text-[var(--ds-text)]",children:j}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:k})]}),z.length?(0,t.jsx)("div",{className:"space-y-2",children:z.map(e=>(0,t.jsx)("div",{className:"rounded-md border border-[var(--ds-border)] p-2.5",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-base text-[var(--ds-text)]",children:e.file.name}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:s(e.file.size)}),e.previewUrl?(0,t.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"mt-2 h-14 w-14 rounded object-cover"}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsx)("div",{className:"mt-2 h-1.5 w-full overflow-hidden rounded bg-[var(--ds-main-tint)]",children:(0,t.jsx)("div",{className:"h-full bg-[var(--ds-accent)] transition-all",style:{width:"".concat(e.progress,"%")}})}):null,"error"===e.status?(0,t.jsx)("div",{className:"mt-1 text-sm text-[var(--ds-danger)]",children:e.error||"上传失败"}):null]}),y?null:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:["success"===e.status?(0,t.jsx)(r.default,{name:"CheckCircle2",size:16,className:"text-[var(--ds-accent)]"}):null,"selected"===e.status||"error"===e.status?(0,t.jsxs)(n.Button,{type:"button",size:"sm",variant:"outline",disabled:c,onClick:()=>F(e.id),children:["error"===e.status?(0,t.jsx)(r.default,{name:"RefreshCw",size:14,className:"mr-1"}):null,"error"===e.status?"重试":"上传"]}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsxs)(n.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>P(e.id),children:[(0,t.jsx)(r.default,{name:"XCircle",size:14,className:"mr-1"}),"取消"]}):null]})]})},e.id))}):null,!y&&!m&&z.some(e=>"selected"===e.status||"error"===e.status)?(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(n.Button,{type:"button",size:"sm",onClick:H,disabled:c,children:"上传"})}):null]})}var o=e.i(76639),c=e.i(13354),u=e.i(29250);function d(e){let{open:r,onOpenChange:l,title:s,description:d,uploadUrl:m,resetKey:p}=e,[f,b]=(0,a.useState)(!1),[x,g]=(0,a.useState)(null),v=(0,a.useCallback)(()=>{l(!1),g(null)},[l]),h=(0,a.useCallback)(async()=>{if(!x)return void c.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",x),b(!0);try{let t=await (0,u.bridgeFetch)(m,{method:"POST",body:e}),a=Number(t.imported||0),r=Number(t.overwritten||0),l=Array.isArray(t.rejected)?t.rejected.length:0;c.appToast.success("导入完成:导入 ".concat(a,",覆盖 ").concat(r)+(l>0?",拒绝 ".concat(l):"")),v()}catch(e){c.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{b(!1)}},[v,x,m]);return(0,t.jsx)(o.Dialog,{open:r,onOpenChange:e=>{l(e),e||g(null)},children:(0,t.jsxs)(o.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.DialogTitle,{children:s}),(0,t.jsx)(o.DialogDescription,{children:d})]}),(0,t.jsx)(o.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:v,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(i,{uploadUrl:m,accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:f,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,a;g(null!=(a=null==(t=e[0])?void 0:t.file)?a:null)},onValidationError:e=>{c.appToast.info(e)}},"".concat(r?"open":"closed","-").concat(null!=p?p:m)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(n.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:v,children:"取消"}),(0,t.jsx)(n.Button,{type:"button",size:"lg",variant:"default",disabled:f||null==x,onClick:()=>void h(),children:f?"导入中…":"确定"})]})]})]})})}},19573,e=>{"use strict";e.s(["ToolsManageView",()=>w],19573);var t=e.i(18050),a=e.i(71645),r=e.i(65934),l=e.i(87243),n=e.i(13354),s=e.i(50711),i=e.i(19455),o=e.i(94055),c=e.i(94197),u=e.i(92715);function d(e){let{items:a,saveBusy:r,onToggle:l,onExport:n,onRemove:s,className:i}=e,d=[{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:r,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:r||!a,onClick:()=>n(e.name)}),(0,t.jsx)(c.IconTooltipButton,{icon:"Trash2",label:a?"删除":"系统内置工具不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label||e.name),disabled:r||!a,onClick:()=>{s(e.name)}})]})}}];return(0,t.jsx)(u.AppTable,{rows:a,columns:d,getRowKey:e=>"tools:".concat(e.name),className:i})}var m=e.i(36845),p=e.i(53925);function f(e){let{open:a,onOpenChange:r,wsUrl:l,apiBase:n,agent:s}=e;return(0,t.jsx)(p.ResourceImportDialog,{open:a,onOpenChange:r,title:"导入工具 zip",description:"选择一个 zip 文件并导入到 tools-runtime。",uploadUrl:(0,m.buildToolsRuntimeImportUrl)(l,n,s),resetKey:s})}var b=e.i(68499),x=e.i(72064),g=e.i(56708),v=e.i(62427);function h(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 w(){let e=(0,r.useAppStore)(e=>e.wsUrl),o=(0,r.useAppStore)(e=>e.apiBase),c=(0,r.useAppStore)(e=>e.agentConfig),u=(0,r.useAppStore)(e=>e.patchAgentConfig),{currentAgent:m,loadAgentConfig:p}=(0,l.useSession)(),w=(0,s.usePersistAgentConfigField)("tools"),j=c.tools,[k,C]=(0,a.useState)([]),[N,R]=(0,a.useState)(!1),[T,S]=(0,a.useState)(!1),[U,M]=(0,a.useState)(!1);(0,a.useEffect)(()=>{p()},[p]);let A=(0,a.useCallback)(async(e,t)=>{S(!0);try{await w(e,{silent:t})}finally{S(!1)}},[w]),D=(0,a.useCallback)(async()=>{C([]),R(!0);try{var t;let a=await (0,v.listInstalledTools)(e,o,m());C(null!=(t=a.tools)?t:[])}catch(e){C([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{R(!1)}},[e,o,m]);(0,a.useEffect)(()=>{D()},[D]);let I=(0,a.useCallback)(e=>k.find(t=>t.name===e),[k]),E=(0,a.useMemo)(()=>k.slice().sort((e,t)=>e.name.localeCompare(t.name)).map(e=>(function(e,t){var a,r;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"===(r=e.layer)?" [系统]":"agent"===r?" [Agent]":""),description:null!=(a=e.searchHint)?a:"",enabled:t,packageId:l,canManage:y({deletable:e.deletable,packageId:l})}})(e,j.includes(e.name))),[k,j]),z=(0,a.useCallback)(async t=>{let a=I(t);if(!a||!y({deletable:a.deletable,packageId:a.packageName}))return void n.appToast.error("系统内置工具不可删除");if(await (0,b.confirmAlertDialog)({title:"确认删除工具包?",description:"工具名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,v.deleteRuntimeTool)(e,o,m(),h({packageId:a.packageName,name:a.name}));let r=j.filter(e=>e!==t);u({tools:r}),await A(r,!0),await D()}catch(e){n.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[I,e,o,m,j,u,A,D]),B=(0,a.useCallback)(t=>{let a=I(t);if(!a||!y({deletable:a.deletable,packageId:a.packageName}))return void n.appToast.error("系统内置工具不可导出");window.open((0,v.exportRuntimeToolUrl)(e,o,m(),h({packageId:a.packageName,name:a.name})),"_blank","noopener")},[I,e,o,m]),L=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...j,e])].sort():j.filter(t=>t!==e).sort();u({tools:a}),A(a,!0)},[j,u,A]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g.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)(x.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)(d,{items:E,saveBusy:T,onToggle:L,onExport:B,onRemove:z}),(0,t.jsx)(f,{open:U,onOpenChange:e=>{M(e),e||D()},wsUrl:e,apiBase:o,agent:m()})]})}}]);
|