@jetcrab/pi-desk 1.1.5-dev → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/package.json +1 -1
  2. package/temp/build/pi-desk/release/.next/BUILD_ID +1 -1
  3. package/temp/build/pi-desk/release/.next/build-manifest.json +2 -2
  4. package/temp/build/pi-desk/release/.next/prerender-manifest.json +3 -3
  5. package/temp/build/pi-desk/release/.next/required-server-files.js +2 -2
  6. package/temp/build/pi-desk/release/.next/required-server-files.json +2 -2
  7. package/temp/build/pi-desk/release/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/temp/build/pi-desk/release/.next/server/app/_global-error.html +1 -1
  9. package/temp/build/pi-desk/release/.next/server/app/_global-error.rsc +1 -1
  10. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/temp/build/pi-desk/release/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/temp/build/pi-desk/release/.next/server/app/api/health/route.js +1 -1
  15. package/temp/build/pi-desk/release/.next/server/app/login/page_client-reference-manifest.js +1 -1
  16. package/temp/build/pi-desk/release/.next/server/app/page.js +1 -1
  17. package/temp/build/pi-desk/release/.next/server/app/page_client-reference-manifest.js +1 -1
  18. package/temp/build/pi-desk/release/.next/server/middleware-build-manifest.js +1 -1
  19. package/temp/build/pi-desk/release/.next/server/pages/500.html +1 -1
  20. package/temp/build/pi-desk/release/.next/server/server-reference-manifest.json +1 -1
  21. package/temp/build/pi-desk/release/.next/static/chunks/app/{page-28e1d77d6b884657.js → page-c6c68b33156be10a.js} +1 -1
  22. package/temp/build/pi-desk/release/.next/trace-build +1 -1
  23. /package/temp/build/pi-desk/release/.next/static/{IgHJ40fniC07-ioYUKobL → 1LdtGYUckBhYZy0R-6yG0}/_buildManifest.js +0 -0
  24. /package/temp/build/pi-desk/release/.next/static/{IgHJ40fniC07-ioYUKobL → 1LdtGYUckBhYZy0R-6yG0}/_ssgManifest.js +0 -0
@@ -580,7 +580,7 @@ XID_Continue XIDC
580
580
  XID_Start XIDS`.split(/\s/).map(a=>[iD(a),a])),jc=new Map([["s",i_(383)],[i_(383),"s"]]),jd=new Map([[i_(223),i_(7838)],[i_(107),i_(8490)],[i_(229),i_(8491)],[i_(969),i_(8486)]]),je=new Map([jg(453),jg(456),jg(459),jg(498),...jh(8072,8079),...jh(8088,8095),...jh(8104,8111),jg(8124),jg(8140),jg(8188)]),jf=new Map([["alnum",i0`[\p{Alpha}\p{Nd}]`],["alpha",i0`\p{Alpha}`],["ascii",i0`\p{ASCII}`],["blank",i0`[\p{Zs}\t]`],["cntrl",i0`\p{Cc}`],["digit",i0`\p{Nd}`],["graph",i0`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],["lower",i0`\p{Lower}`],["print",i0`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",i0`[\p{P}\p{S}]`],["space",i0`\p{space}`],["upper",i0`\p{Upper}`],["word",i0`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",i0`\p{AHex}`]]);function jg(a){let b=i_(a);return[b.toLowerCase(),b]}function jh(a,b){return(function(a,b){let c=[];for(let d=a;d<=b;d++)c.push(d);return c})(a,b).map(a=>jg(a))}var ji=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]),jj={AbsenceFunction({node:a,parent:b,replaceWith:c}){let{body:d,kind:e}=a;if("repeater"===e){let a=iu();a.body[0].body.push(iv({negate:!0,body:d}),iy("Any"));let e=iu();e.body[0].body.push(iw("greedy",0,1/0,a)),c(jv(e,b),{traverse:!0})}else throw Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:a,parent:b,key:c},{flagDirectivesByAlt:d}){let e=a.body.filter(a=>"flags"===a.kind);for(let a=c+1;a<b.body.length;a++)i4(d,b.body[a],[]).push(...e)},exit({node:a},{flagDirectivesByAlt:b}){if(b.get(a)?.length){let c=jp(b.get(a));if(c){let b=iu({flags:c});b.body[0].body=a.body,a.body=[jv(b,a)]}}}},Assertion({node:a,parent:b,key:c,container:d,root:e,remove:f,replaceWith:g},h){let{kind:i,negate:j}=a,{asciiWordBoundaries:k,avoidSubclass:l,supportedGNodes:m,wordIsAscii:n}=h;if("text_segment_boundary"===i)throw Error(`Unsupported text segment boundary "\\${j?"Y":"y"}"`);if("line_end"===i)g(jv(iv({body:[im({body:[io("string_end")]}),im({body:[ir(10)]})]}),b));else if("line_start"===i)g(jv(js(i0`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),b));else if("search_start"===i)if(m.has(a))e.flags.sticky=!0,f();else{var o;let a,e=d[c-1];if(e&&((a=["Character","CharacterClass","CharacterSet"]).includes((o=e).type)||"Quantifier"===o.type&&o.min&&a.includes(o.body.type)))g(jv(iv({negate:!0}),b));else if(l)throw Error(i0`Uses "\G" in a way that requires a subclass`);else g(ju(io("string_start"),b)),h.strategy="clip_search"}else if("string_end"===i||"string_start"===i);else if("string_end_newline"===i)g(jv(js(i0`(?=\n?\z)`),b));else if("word_boundary"===i){if(!n&&!k){let a=`(?:(?<=${i9})(?!${i9})|(?<!${i9})(?=${i9}))`,c=`(?:(?<=${i9})(?=${i9})|(?<!${i9})(?!${i9}))`;g(jv(js(j?c:a),b))}}else throw Error(`Unexpected assertion kind "${i}"`)},Backreference({node:a},{jsGroupNameMap:b}){let{ref:c}=a;"string"!=typeof c||jr(c)||(a.ref=c=jo(c,b))},CapturingGroup({node:a},{jsGroupNameMap:b,subroutineRefMap:c}){let{name:d}=a;d&&!jr(d)&&(a.name=d=jo(d,b)),c.set(a.number,a),d&&c.set(d,a)},CharacterClassRange({node:a,parent:b,replaceWith:c}){"intersection"===b.kind&&c(jv(is({body:[a]}),b),{traverse:!0})},CharacterSet({node:a,parent:b,replaceWith:c},{accuracy:d,minTargetEs2024:e,digitIsAscii:f,spaceIsAscii:g,wordIsAscii:h}){let{kind:i,negate:j,value:k}=a;if(f&&("digit"===i||"digit"===k))return void c(ju(it("digit",{negate:j}),b));if(g&&("space"===i||"space"===k))return void c(jv(jt(js("[ -\r ]"),j),b));if(h&&("word"===i||"word"===k))return void c(ju(it("word",{negate:j}),b));if("any"===i)c(ju(iy("Any"),b));else if("digit"===i)c(ju(iy("Nd",{negate:j}),b));else if("dot"===i);else if("text_segment"===i){if("strict"===d)throw Error(i0`Use of "\X" requires non-strict accuracy`);let a="\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?",f=i0`\p{RI}{2}|${a}(?:\u200D${a})*`;c(jv(js(i0`(?>\r\n|${e?i0`\p{RGI_Emoji}`:f}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),b))}else if("hex"===i)c(ju(iy("AHex",{negate:j}),b));else if("newline"===i)c(jv(js(j?"[^\n]":"(?>\r\n?|[\n\v\f\x85\u2028\u2029])"),b));else if("posix"===i)if(e||"graph"!==k&&"print"!==k)c(jv(jt(js(jf.get(k)),j),b));else{if("strict"===d)throw Error(`POSIX class "${k}" requires min target ES2024 or non-strict accuracy`);let a={graph:"!-~",print:" -~"}[k];j&&(a=`\0-${i_(a.codePointAt(0)-1)}${i_(a.codePointAt(2)+1)}-\u{10FFFF}`),c(jv(js(`[${a}]`),b))}else if("property"===i)jb.has(iD(k))||(a.key="sc");else if("space"===i)c(ju(iy("space",{negate:j}),b));else if("word"===i)c(jv(jt(js(i9),j),b));else throw Error(`Unexpected character set kind "${i}"`)},Directive({node:a,parent:b,root:c,remove:d,replaceWith:e,removeAllPrevSiblings:f,removeAllNextSiblings:g}){let{kind:h,flags:i}=a;if("flags"===h)if(i.enable||i.disable){let a=iu({flags:i});a.body[0].body=g(),e(jv(a,b),{traverse:!0})}else d();else if("keep"===h){let a=c.body[0],d=1===c.body.length&&ij(a,{type:"Group"})&&1===a.body[0].body.length?a.body[0]:c;if(b.parent!==d||d.body.length>1)throw Error(i0`Uses "\K" in a way that's unsupported`);let g=iv({behind:!0});g.body[0].body=f(),e(jv(g,b))}else throw Error(`Unexpected directive kind "${h}"`)},Flags({node:a,parent:b}){if(a.posixIsAscii)throw Error('Unsupported flag "P"');if("word"===a.textSegmentMode)throw Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(b=>delete a[b]),Object.assign(a,{global:!1,hasIndices:!1,multiline:!1,sticky:a.sticky??!1}),b.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:a}){if(!a.flags)return;let{enable:b,disable:c}=a.flags;b?.extended&&delete b.extended,c?.extended&&delete c.extended,b?.dotAll&&c?.dotAll&&delete b.dotAll,b?.ignoreCase&&c?.ignoreCase&&delete b.ignoreCase,b&&!Object.keys(b).length&&delete a.flags.enable,c&&!Object.keys(c).length&&delete a.flags.disable,a.flags.enable||a.flags.disable||delete a.flags},LookaroundAssertion({node:a},b){let{kind:c}=a;"lookbehind"===c&&(b.passedLookbehind=!0)},NamedCallout({node:a,parent:b,replaceWith:c}){let{kind:d}=a;if("fail"===d)c(jv(iv({negate:!0}),b));else throw Error(`Unsupported named callout "(*${d.toUpperCase()}"`)},Quantifier({node:a}){if("Quantifier"===a.body.type){let b=iu();b.body[0].body.push(a.body),a.body=jv(b,a)}},Regex:{enter({node:a},{supportedGNodes:b}){let c=[],d=!1,e=!1;for(let b of a.body)if(1===b.body.length&&"search_start"===b.body[0].kind)b.body.pop();else{let a=function a(b){let c=b.find(a=>"search_start"===a.kind||function(a,b){let c={negate:null,...b};return"LookaroundAssertion"===a.type&&(null===c.negate||a.negate===c.negate)&&1===a.body.length&&ij(a.body[0],{type:"Assertion",kind:"search_start"})}(a,{negate:!1})||!function({type:a}){return"Assertion"===a||"Directive"===a||"LookaroundAssertion"===a}(a));if(!c)return null;if("search_start"===c.kind)return c;if("LookaroundAssertion"===c.type)return c.body[0].body[0];if("CapturingGroup"===c.type||"Group"===c.type){let b=[];for(let d of c.body){let c=a(d.body);if(!c)return null;Array.isArray(c)?b.push(...c):b.push(c)}return b}return null}(b.body);a?(d=!0,Array.isArray(a)?c.push(...a):c.push(a)):e=!0}d&&!e&&c.forEach(a=>b.add(a))},exit(a,{accuracy:b,passedLookbehind:c,strategy:d}){if("strict"===b&&c&&d)throw Error(i0`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:a},{jsGroupNameMap:b}){let{ref:c}=a;"string"!=typeof c||jr(c)||(a.ref=c=jo(c,b))}},jk={Backreference({node:a},{multiplexCapturesToLeftByRef:b,reffedNodesByReferencer:c}){let{orphan:d,ref:e}=a;d||c.set(a,[...b.get(e).map(({node:a})=>a)])},CapturingGroup:{enter({node:a,parent:b,replaceWith:c,skip:d},{groupOriginByCopy:e,groupsByName:f,multiplexCapturesToLeftByRef:g,openRefs:h,reffedNodesByReferencer:i}){let j=e.get(a);if(j&&h.has(a.number)){let d=ju(jn(a.number),b);i.set(d,h.get(a.number)),c(d);return}h.set(a.number,a),g.set(a.number,[]),a.name&&i4(g,a.name,[]);let k=g.get(a.name??a.number);for(let b=0;b<k.length;b++){let c=k[b];if(j===c.node||j&&j===c.origin||a===c.origin){k.splice(b,1);break}}if(g.get(a.number).push({node:a,origin:j}),a.name&&g.get(a.name).push({node:a,origin:j}),a.name){let b=i4(f,a.name,new Map),c=!1;if(j)c=!0;else for(let a of b.values())if(!a.hasDuplicateNameToRemove){c=!0;break}f.get(a.name).set(a,{node:a,hasDuplicateNameToRemove:c})}},exit({node:a},{openRefs:b}){b.get(a.number)===a&&b.delete(a.number)}},Group:{enter({node:a},b){b.prevFlags=b.currentFlags,a.flags&&(b.currentFlags=i3(b.currentFlags,a.flags))},exit(a,b){b.currentFlags=b.prevFlags}},Subroutine({node:a,parent:b,replaceWith:c},d){let{isRecursive:e,ref:f}=a;if(e){let c=b;for(;(c=c.parent)&&("CapturingGroup"!==c.type||c.name!==f&&c.number!==f););d.reffedNodesByReferencer.set(a,c);return}let g=d.subroutineRefMap.get(f),h=0===f,i=h?jn(0):function a(b,c,d,e){let f=Array.isArray(b)?[]:{};for(let[g,h]of Object.entries(b))"parent"===g?f.parent=Array.isArray(d)?e:d:h&&"object"==typeof h?f[g]=a(h,c,f,d):("type"===g&&"CapturingGroup"===h&&c.set(f,c.get(b)??b),f[g]=h);return f}(g,d.groupOriginByCopy,null),j=i;if(!h){var k,l;let a=jp(function(a,b){let c=[];for(;a=a.parent;)(!b||b(a))&&c.push(a);return c}(g,a=>"Group"===a.type&&!!a.flags)),b=a?i3(d.globalFlags,a):d.globalFlags;k=b,l=d.currentFlags,(k.dotAll!==l.dotAll||k.ignoreCase!==l.ignoreCase)&&(j=iu({flags:function({dotAll:a,ignoreCase:b}){let c={};return(a||b)&&(c.enable={},a&&(c.enable.dotAll=!0),b&&(c.enable.ignoreCase=!0)),a&&b||(c.disable={},a||(c.disable.dotAll=!0),b||(c.disable.ignoreCase=!0)),c}(b)})).body[0].body.push(i)}c(jv(j,b),{traverse:!h})}},jl={Backreference({node:a,parent:b,replaceWith:c},d){if(a.orphan){d.highestOrphanBackref=Math.max(d.highestOrphanBackref,a.ref);return}let e=d.reffedNodesByReferencer.get(a).filter(b=>(function(a,b){let c=b;do{if("Regex"===c.type)return!1;if("Alternative"===c.type)continue;if(c===a)return!1;for(let b of jq(c.parent)){if(b===c)break;if(b===a||function a(b,c){for(let d of jq(b)??[])if(d===c||a(d,c))return!0;return!1}(b,a))return!0}}while(c=c.parent);throw Error("Unexpected path")})(b,a));e.length?e.length>1?c(jv(iu({atomic:!0,body:e.reverse().map(a=>im({body:[ip(a.number)]}))}),b)):a.ref=e[0].number:c(jv(iv({negate:!0}),b))},CapturingGroup({node:a},b){a.number=++b.numCapturesToLeft,a.name&&b.groupsByName.get(a.name).get(a).hasDuplicateNameToRemove&&delete a.name},Regex:{exit({node:a},b){let c=Math.max(b.highestOrphanBackref-b.numCapturesToLeft,0);for(let b=0;b<c;b++){let b=iq();a.body.at(-1).body.push(b)}}},Subroutine({node:a},b){a.isRecursive&&0!==a.ref&&(a.ref=b.reffedNodesByReferencer.get(a).number)}};function jm(a){iG(a,{"*"({node:a,parent:b}){a.parent=b}})}function jn(a){let b=ix(a);return b.isRecursive=!0,b}function jo(a,b){if(b.has(a))return b.get(a);let c=`$${b.size}_${a.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/ug,"_")}`;return b.set(a,c),c}function jp(a){let b=["dotAll","ignoreCase"],c={enable:{},disable:{}};return(a.forEach(({flags:a})=>{b.forEach(b=>{a.enable?.[b]&&(delete c.disable[b],c.enable[b]=!0),a.disable?.[b]&&(c.disable[b]=!0)})}),Object.keys(c.enable).length||delete c.enable,Object.keys(c.disable).length||delete c.disable,c.enable||c.disable)?c:null}function jq(a){if(!a)throw Error("Node expected");let{body:b}=a;return Array.isArray(b)?b:b?[b]:null}function jr(a){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(a)}function js(a,b){let c=il(a,{...b,unicodePropertyMap:jb}).body;return c.length>1||c[0].body.length>1?iu({body:c}):c[0].body[0]}function jt(a,b){return a.negate=b,a}function ju(a,b){return a.parent=b,a}function jv(a,b){return jm(a),a.parent=b,a}var jw={"*":{enter({node:a},b){if(jG(a)){let c=b.getCurrentModI();b.pushModI(a.flags?i3({ignoreCase:c},a.flags).ignoreCase:c)}},exit({node:a},b){jG(a)&&b.popModI()}},Backreference(a,b){b.setHasCasedChar()},Character({node:a},b){jD(i_(a.value))&&b.setHasCasedChar()},CharacterClassRange({node:a,skip:b},c){b(),jE(a,{firstOnly:!0}).length&&c.setHasCasedChar()},CharacterSet({node:a},b){"property"===a.kind&&ji.has(a.value)&&b.setHasCasedChar()}},jx={Alternative:({body:a},b,c)=>a.map(c).join(""),Assertion({kind:a,negate:b}){if("string_end"===a)return"$";if("string_start"===a)return"^";if("word_boundary"===a)return b?i0`\B`:i0`\b`;throw Error(`Unexpected assertion kind "${a}"`)},Backreference({ref:a},b){if("number"!=typeof a)throw Error("Unexpected named backref in transformed AST");if(!b.useFlagMods&&"strict"===b.accuracy&&b.currentFlags.ignoreCase&&!b.captureMap.get(a).ignoreCase)throw Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+a},CapturingGroup(a,b,c){let{body:d,name:e,number:f}=a,g={ignoreCase:b.currentFlags.ignoreCase},h=b.originMap.get(a);return h&&(g.hidden=!0,f>h.number&&(g.transferTo=h.number)),b.captureMap.set(f,g),`(${e?`?<${e}>`:""}${d.map(c).join("|")})`},Character({value:a},b){let c=i_(a),d=jF(a,{escDigit:"Backreference"===b.lastNode.type,inCharClass:b.inCharClass,useFlagV:b.useFlagV});if(d!==c)return d;if(b.useAppliedIgnoreCase&&b.currentFlags.ignoreCase&&jD(c)){let a=ja(c);return b.inCharClass?a.join(""):a.length>1?`[${a.join("")}]`:a[0]}return c},CharacterClass(a,b,c){let{kind:d,negate:e,parent:f}=a,{body:g}=a;if("intersection"===d&&!b.useFlagV)throw Error("Use of character class intersection requires min target ES2024");i1.bugFlagVLiteralHyphenIsRange&&b.useFlagV&&g.some(jH)&&(g=[ir(45),...g.filter(a=>!jH(a))]);let h=()=>`[${e?"^":""}${g.map(c).join("intersection"===d?"&&":"")}]`;if(!b.inCharClass){if((!b.useFlagV||i1.bugNestedClassIgnoresNegation)&&!e){let b=g.filter(a=>"CharacterClass"===a.type&&"union"===a.kind&&a.negate);if(b.length){let d=iu(),e=d.body[0];return d.parent=f,e.parent=d,a.body=g=g.filter(a=>!b.includes(a)),g.length?(a.parent=e,e.body.push(a)):d.body.pop(),b.forEach(a=>{let b=im({body:[a]});a.parent=b,b.parent=d,d.body.push(b)}),c(d)}}b.inCharClass=!0;let d=h();return b.inCharClass=!1,d}let i=g[0];if("union"===d&&!e&&i&&((!b.useFlagV||!b.verbose)&&"union"===f.kind&&!(i1.bugFlagVLiteralHyphenIsRange&&b.useFlagV)||!b.verbose&&"intersection"===f.kind&&1===g.length&&"CharacterClassRange"!==i.type))return g.map(c).join("");if(!b.useFlagV&&"CharacterClass"===f.type)throw Error("Uses nested character class in a way that requires min target ES2024");return h()},CharacterClassRange(a,b){let c=a.min.value,d=a.max.value,e={escDigit:!1,inCharClass:!0,useFlagV:b.useFlagV},f=jF(c,e),g=jF(d,e),h=new Set;return b.useAppliedIgnoreCase&&b.currentFlags.ignoreCase&&(function(a){let b=a.map(a=>a.codePointAt(0)).sort((a,b)=>a-b),c=[],d=null;for(let a=0;a<b.length;a++)b[a+1]===b[a]+1?d??=b[a]:null===d?c.push(b[a]):(c.push([d,b[a]]),d=null);return c})(jE(a)).forEach(a=>{h.add(Array.isArray(a)?`${jF(a[0],e)}-${jF(a[1],e)}`:jF(a,e))}),`${f}-${g}${[...h].join("")}`},CharacterSet({kind:a,negate:b,value:c,key:d},e){if("dot"===a)return e.currentFlags.dotAll?e.appliedGlobalFlags.dotAll||e.useFlagMods?".":"[^]":i0`[^\n]`;if("digit"===a)return b?i0`\D`:i0`\d`;if("property"===a){if(e.useAppliedIgnoreCase&&e.currentFlags.ignoreCase&&ji.has(c))throw Error(`Unicode property "${c}" can't be case-insensitive when other chars have specific case`);return`${b?i0`\P`:i0`\p`}{${d?`${d}=`:""}${c}}`}if("word"===a)return b?i0`\W`:i0`\w`;throw Error(`Unexpected character set kind "${a}"`)},Flags:(a,b)=>(b.appliedGlobalFlags.ignoreCase?"i":"")+(a.dotAll?"s":"")+(a.sticky?"y":""),Group({atomic:a,body:b,flags:c,parent:d},e,f){let g=e.currentFlags;c&&(e.currentFlags=i3(g,c));let h=b.map(f).join("|"),i=e.verbose||1!==b.length||"Quantifier"===d.type||a||e.useFlagMods&&c?`(?${function(a,b,c){if(a)return">";let d="";if(b&&c){let{enable:a,disable:c}=b;d=(a?.ignoreCase?"i":"")+(a?.dotAll?"s":"")+(c?"-":"")+(c?.ignoreCase?"i":"")+(c?.dotAll?"s":"")}return`${d}:`}(a,c,e.useFlagMods)}${h})`:h;return e.currentFlags=g,i},LookaroundAssertion({body:a,kind:b,negate:c},d,e){let f=`${"lookahead"===b?"":"<"}${c?"!":"="}`;return`(?${f}${a.map(e).join("|")})`},Quantifier:(a,b,c)=>c(a.body)+function({kind:a,max:b,min:c}){return(c||1!==b?c||b!==1/0?1===c&&b===1/0?"+":c===b?`{${c}}`:`{${c},${b===1/0?"":b}}`:"*":"?")+({greedy:"",lazy:"?",possessive:"+"})[a]}(a),Subroutine({isRecursive:a,ref:b},c){if(!a)throw Error("Unexpected non-recursive subroutine in transformed AST");let d=c.recursionLimit;return 0===b?`(?R=${d})`:i0`\g<${b}&R=${d}>`}},jy=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),jz=new Set(["-","\\","]","^","["]),jA=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),jB=new Map([[9,i0`\t`],[10,i0`\n`],[11,i0`\v`],[12,i0`\f`],[13,i0`\r`],[8232,i0`\u2028`],[8233,i0`\u2029`],[65279,i0`\uFEFF`]]),jC=/^\p{Cased}$/u;function jD(a){return jC.test(a)}function jE(a,b){let c=!!b?.firstOnly,d=a.min.value,e=a.max.value,f=[];if(d<65&&(65535===e||e>=131071)||65536===d&&e>=131071)return f;for(let a=d;a<=e;a++){let b=i_(a);if(!jD(b))continue;let g=ja(b).filter(a=>{let b=a.codePointAt(0);return b<d||b>e});if(g.length&&(f.push(...g),c))break}return f}function jF(a,{escDigit:b,inCharClass:c,useFlagV:d}){var e;if(jB.has(a))return jB.get(a);if(a<32||a>126&&a<160||a>262143||b&&(e=a)>47&&e<58)return a>255?`\\u{${a.toString(16).toUpperCase()}}`:`\\x${a.toString(16).toUpperCase().padStart(2,"0")}`;let f=i_(a);return((c?d?jA:jz:jy).has(f)?"\\":"")+f}function jG({type:a}){return"CapturingGroup"===a||"Group"===a||"LookaroundAssertion"===a}function jH({type:a,value:b}){return"Character"===a&&45===b}var jI=class a extends RegExp{#a=new Map;#b=null;#c;#d=null;#e=null;rawOptions={};get source(){return this.#c||"(?:)"}constructor(b,c,d){const e=!!d?.lazyCompile;if(b instanceof RegExp){if(d)throw Error("Cannot provide options when copying a regexp");super(b,c),this.#c=b.source,b instanceof a&&(this.#a=b.#a,this.#d=b.#d,this.#e=b.#e,this.rawOptions=b.rawOptions)}else{const a={hiddenCaptures:[],strategy:null,transfers:[],...d};super(e?"":b,c),this.#c=b,this.#a=function(a,b){let c=new Map;for(let b of a)c.set(b,{hidden:!0});for(let[a,d]of b)for(let b of d)i4(c,b,{}).transferTo=a;return c}(a.hiddenCaptures,a.transfers),this.#e=a.strategy,this.rawOptions=d??{}}e||(this.#b=this)}exec(b){if(!this.#b){let{lazyCompile:b,...c}=this.rawOptions;this.#b=new a(this.#c,this.flags,c)}let c=this.global||this.sticky,d=this.lastIndex;if("clip_search"===this.#e&&c&&d){this.lastIndex=0;let a=this.#f(b.slice(d));return a&&(function(a,b,c,d){if(a.index+=b,a.input=c,d){let c=a.indices;for(let a=0;a<c.length;a++){let d=c[a];d&&(c[a]=[d[0]+b,d[1]+b])}let d=c.groups;d&&Object.keys(d).forEach(a=>{let c=d[a];c&&(d[a]=[c[0]+b,c[1]+b])})}}(a,d,b,this.hasIndices),this.lastIndex+=d),a}return this.#f(b)}#f(a){let b;this.#b.lastIndex=this.lastIndex;let c=super.exec.call(this.#b,a);if(this.lastIndex=this.#b.lastIndex,!c||!this.#a.size)return c;let d=[...c];c.length=1,this.hasIndices&&(b=[...c.indices],c.indices.length=1);let e=[0];for(let a=1;a<d.length;a++){let{hidden:f,transferTo:g}=this.#a.get(a)??{};if(f?e.push(null):(e.push(c.length),c.push(d[a]),this.hasIndices&&c.indices.push(b[a])),g&&void 0!==d[a]){let f=e[g];if(!f)throw Error(`Invalid capture transfer to "${f}"`);if(c[f]=d[a],this.hasIndices&&(c.indices[f]=b[a]),c.groups){this.#d||(this.#d=function(a){let b,c=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,d=new Map,e=0,f=0;for(;b=c.exec(a);){let{0:a,groups:{capture:c,name:g}}=b;"["===a?e++:e?"]"===a&&e--:c&&(f++,g&&d.set(f,g))}return d}(this.source));let e=this.#d.get(g);e&&(c.groups[e]=d[a],this.hasIndices&&(c.indices.groups[e]=b[a]))}}}return c}};class jJ{constructor(a,b={}){this.patterns=a,this.options=b;const{forgiving:c=!1,cache:d,regexConstructor:e}=b;if(!e)throw Error("Option `regexConstructor` is not provided");this.regexps=a.map(a=>{if("string"!=typeof a)return a;let b=d?.get(a);if(b){if(b instanceof RegExp)return b;if(c)return null;throw b}try{let b=e(a);return d?.set(a,b),b}catch(b){if(d?.set(a,b),c)return null;throw b}})}regexps;findNextMatchSync(a,b,c){let d="string"==typeof a?a:a.content,e=[];function f(a,b,c=0){return{index:a,captureIndices:b.indices.map(a=>null==a?{start:0xffffffff,end:0xffffffff,length:0}:{start:a[0]+c,end:a[1]+c,length:a[1]-a[0]})}}for(let a=0;a<this.regexps.length;a++){let c=this.regexps[a];if(c)try{c.lastIndex=b;let g=c.exec(d);if(!g)continue;if(g.index===b)return f(a,g,0);e.push([a,g,0])}catch(a){if(this.options.forgiving)continue;throw a}}if(e.length){let a=Math.min(...e.map(a=>a[1].index));for(let[b,c,d]of e)if(c.index===a)return f(b,c,d)}return null}}var jK=function(a={}){let b=Object.assign({target:"auto",cache:new Map},a);return b.regexConstructor||=a=>{let c;return(c=function(a,b){var c;let d,e,f,g,h=i7(b),i=(c=il(a,{flags:h.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:h.rules.captureGroup,singleline:h.rules.singleline},skipBackrefValidation:h.rules.allowOrphanBackrefs,unicodePropertyMap:jb}),d={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...{accuracy:h.accuracy,asciiWordBoundaries:h.rules.asciiWordBoundaries,avoidSubclass:h.avoidSubclass,bestEffortTarget:h.target}},jm(c),e={accuracy:d.accuracy,asciiWordBoundaries:d.asciiWordBoundaries,avoidSubclass:d.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:i5[d.bestEffortTarget]>=i5.ES2024,passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:c.flags.digitIsAscii,spaceIsAscii:c.flags.spaceIsAscii,wordIsAscii:c.flags.wordIsAscii},iG(c,jj,e),g={currentFlags:f={dotAll:c.flags.dotAll,ignoreCase:c.flags.ignoreCase},prevFlags:null,globalFlags:f,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:e.subroutineRefMap},iG(c,jk,g),iG(c,jl,{groupsByName:g.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:g.reffedNodesByReferencer}),c._originMap=g.groupOriginByCopy,c._strategy=e.strategy,c),j=function(a,b){let c=i7(b),d=i5[c.target]>=i5.ES2024,e=i5[c.target]>=i5.ES2025,f=c.rules.recursionLimit;if(!Number.isInteger(f)||f<2||f>20)throw Error("Invalid recursionLimit; use 2-20");let g=null,h=null;if(!e){let b=[a.flags.ignoreCase];iG(a,jw,{getCurrentModI:()=>b.at(-1),popModI(){b.pop()},pushModI(a){b.push(a)},setHasCasedChar(){b.at(-1)?g=!0:h=!0}})}let i={dotAll:a.flags.dotAll,ignoreCase:!!((a.flags.ignoreCase||g)&&!h)},j=a,k={accuracy:c.accuracy,appliedGlobalFlags:i,captureMap:new Map,currentFlags:{dotAll:a.flags.dotAll,ignoreCase:a.flags.ignoreCase},inCharClass:!1,lastNode:j,originMap:a._originMap,recursionLimit:f,useAppliedIgnoreCase:!!(!e&&g&&h),useFlagMods:e,useFlagV:d,verbose:c.verbose};function l(a){return k.lastNode=j,j=a,(function(a,b){if(null==a)throw Error(b??"Value expected");return a})(jx[a.type],`Unexpected node type "${a.type}"`)(a,k,l)}let m={pattern:a.body.map(l).join("|"),flags:l(a.flags),options:{...a.options}};return d||(delete m.options.force.v,m.options.disable.v=!0,m.options.unicodeSetsPlugin=null),m._captureTransfers=new Map,m._hiddenCaptures=[],k.captureMap.forEach((a,b)=>{a.hidden&&m._hiddenCaptures.push(b),a.transferTo&&i4(m._captureTransfers,a.transferTo,[]).push(b)}),m}(i,h),k=function(a,b){let c,{hiddenCaptures:d,mode:e}={hiddenCaptures:[],mode:"plugin",...b},f=b?.captureTransfers??new Map;if(!RegExp(iS,"su").test(a))return{pattern:a,captureTransfers:f,hiddenCaptures:d};if("plugin"===e&&iM(a,iQ`\(\?\(DEFINE\)`,iK.DEFAULT))throw Error("DEFINE groups cannot be used with recursion");let g=[],h=iM(a,iQ`\\[1-9]`,iK.DEFAULT),i=new Map,j=[],k=!1,l=0,m=0;for(iV.lastIndex=0;c=iV.exec(a);){let{0:b,groups:{captureName:n,rDepth:o,gRNameOrNum:p,gRDepth:q}}=c;if("["===b)l++;else if(l)"]"===b&&l--;else if(o){if(iX(o),k)throw Error(iW);if(h)throw Error(`${"external"===e?"Backrefs":"Numbered backrefs"} cannot be used with global recursion`);let b=a.slice(0,c.index),i=a.slice(iV.lastIndex);if(iM(i,iS,iK.DEFAULT))throw Error(iW);let j=o-1;a=iY(b,i,j,!1,d,g,m),f=i$(f,b,j,g.length,0,m);break}else if(p){iX(q);let l=!1;for(let a of j)if(a.name===p||a.num===+p){if(l=!0,a.hasRecursedWithin)throw Error(iW);break}if(!l)throw Error(iQ`Recursive \g cannot be used outside the referenced group "${"external"===e?p:iQ`\g<${p}&R=${q}>`}"`);let n=i.get(p),o=function(a,b){let c,d=/\\?./gsu;d.lastIndex=b;let e=a.length,f=0,g=1;for(;c=d.exec(a);){let[a]=c;if("["===a)f++;else if(f)"]"===a&&f--;else if("("===a)g++;else if(")"===a&&!--g){e=c.index;break}}return a.slice(b,e)}(a,n);if(h&&iM(o,iQ`${iT}|\((?!\?)`,iK.DEFAULT))throw Error(`${"external"===e?"Backrefs":"Numbered backrefs"} cannot be used with recursion of capturing groups`);let r=a.slice(n,c.index),s=o.slice(r.length+b.length),t=g.length,u=q-1,v=iY(r,s,u,!0,d,g,m);f=i$(f,r,u,g.length-t,t,m);let w=a.slice(0,n),x=a.slice(n+o.length);a=`${w}${v}${x}`,iV.lastIndex+=v.length-b.length-r.length-s.length,j.forEach(a=>a.hasRecursedWithin=!0),k=!0}else if(n)m++,i.set(String(m),iV.lastIndex),i.set(n,iV.lastIndex),j.push({num:m,name:n});else if("("===b[0]){let a="("===b;a&&(m++,i.set(String(m),iV.lastIndex)),j.push(a?{num:m}:{})}else")"===b&&j.pop()}return d.push(...g),{pattern:a,captureTransfers:f,hiddenCaptures:d}}(j.pattern,{captureTransfers:j._captureTransfers,hiddenCaptures:j._hiddenCaptures,mode:"external"}),l=function(a,b){let c,d=b?.hiddenCaptures??[],e=b?.captureTransfers??new Map;if(!/\(\?>/.test(a))return{pattern:a,captureTransfers:e,hiddenCaptures:d};let f="(?:(?=(",g=[0],h=[],i=0,j=0,k=NaN;do{let b;c=!1;let l=0,m=0,n=!1;for(iN.lastIndex=Number.isNaN(k)?0:k+f.length;b=iN.exec(a);){let{0:o,index:p,groups:{capturingStart:q,noncapturingStart:r}}=b;if("["===o)l++;else if(l)"]"===o&&l--;else if("(?>"!==o||n){if(n&&r)m++;else if(q)n?m++:(i++,g.push(i+j));else if(")"===o&&n){if(!m){let b=i+ ++j;a=`${a.slice(0,k)}${f}${a.slice(k+3,p)}))<$$${b}>)${a.slice(p+1)}`,c=!0,h.push(b);for(let a=0;a<d.length;a++)d[a]>=b&&d[a]++;if(e.size){let a=new Map;e.forEach((c,d)=>{a.set(d>=b?d+1:d,c.map(a=>a>=b?a+1:a))}),e=a}break}m--}}else k=p,n=!0}}while(c);return d.push(...h),{pattern:a=iL(a,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:a,groups:{backrefNum:b,wrappedBackrefNum:c}})=>{if(b){let c=+b;if(c>g.length-1)throw Error(`Backref "${a}" greater than number of captures`);return`\\${g[c]}`}return`\\${c}`},iK.DEFAULT),captureTransfers:e,hiddenCaptures:d}}(function(a){let b;if(!RegExp(`${iO}\\+`).test(a))return{pattern:a};let c=[],d=null,e=null,f="",g=0;for(iP.lastIndex=0;b=iP.exec(a);){let{0:j,index:k,groups:{qBase:l,qMod:m,invalidQ:n}}=b;if("["===j)g||(e=k),g++;else if("]"===j)g?g--:e=null;else if(!g)if("+"===m&&f&&!f.startsWith("(")){if(n)throw Error(`Invalid quantifier "${j}"`);let b=-1;if(/^\{\d+\}$/.test(l)){var h,i;h=a,i=k+l.length,a=h.slice(0,i)+""+h.slice(i+m.length)}else{if(")"===f||"]"===f){let b=")"===f?d:e;if(null===b)throw Error(`Invalid unmatched "${f}"`);a=`${a.slice(0,b)}(?>${a.slice(b,k)}${l})${a.slice(k+j.length)}`}else a=`${a.slice(0,k-f.length)}(?>${f}${l})${a.slice(k+j.length)}`;b+=4}iP.lastIndex+=b}else"("===j[0]?c.push(k):")"===j&&(d=c.length?c.pop():null);f=j}return{pattern:a}}(k.pattern).pattern,{captureTransfers:k.captureTransfers,hiddenCaptures:k.hiddenCaptures}),m={pattern:l.pattern,flags:`${h.hasIndices?"d":""}${h.global?"g":""}${j.flags}${j.options.disable.v?"u":"v"}`};if(h.avoidSubclass){if(h.lazyCompileLength!==1/0)throw Error("Lazy compilation requires subclass")}else{let a=l.hiddenCaptures.sort((a,b)=>a-b),b=Array.from(l.captureTransfers),c=i._strategy,d=m.pattern.length>=h.lazyCompileLength;(a.length||b.length||c||d)&&(m.options={...a.length&&{hiddenCaptures:a},...b.length&&{transfers:b},...c&&{strategy:c},...d&&{lazyCompile:d}})}return m}(a,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...{target:b.target}})).options?new jI(c.pattern,c.flags,c.options):new RegExp(c.pattern,c.flags)},{createScanner:a=>new jJ(a,b),createString:a=>({content:a})}}({forgiving:!0}),jL=Object.fromEntries(fh.flatMap(a=>{var b;return(null!=(b=a.aliases)?b:[]).map(b=>[b,a.id])})),jM=new Set(Object.keys(fk)),jN=a=>{let b=a.trim().toLowerCase();return jL[b]||(jM.has(b),b)},jO=new Map,jP=new Map,jQ=new Map,jR=a=>{var b;return"string"==typeof a?a:null!=(b=a.name)?b:"custom"},jS=function(a={}){var b;let c=null!=(b=a.themes)?b:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(a){let b=jN(a);return jM.has(b)},getSupportedLanguages:()=>Array.from(jM),getThemes:()=>c,highlight({code:a,language:b,themes:c},d){let e,f,g=jN(b),h=[jR(c[0]),jR(c[1])],i=(e=a.slice(0,100),f=a.length>100?a.slice(-100):"",`${g}:${h[0]}:${h[1]}:${a.length}:${e}:${f}`);return jP.has(i)?jP.get(i):(d&&(jQ.has(i)||jQ.set(i,new Set),jQ.get(i).add(d)),((a,b)=>{let c=`${a}-${jR(b[0])}-${jR(b[1])}`;if(jO.has(c))return jO.get(c);let d=hY({themes:b,langs:[a],engine:jK});return jO.set(c,d),d})(jM.has(g)?g:"text",c).then(b=>{let c=b.getLoadedLanguages().includes(g)?g:"text",d=b.codeToTokens(a,{lang:c,themes:{light:h[0],dark:h[1]}});jP.set(i,d);let e=jQ.get(i);if(e){for(let a of e)a(d);jQ.delete(i)}}).catch(a=>{console.error("[Streamdown Code] Failed to highlight code:",a),jQ.delete(i)}),null)}}}(),jT=c(75367),jU=c(13010),jV=c(64264),jW=c(23759);let jX={abandonedHeadElementChild:{reason:"Unexpected metadata element after head",description:"Unexpected element after head. Expected the element before `</head>`",url:!1},abruptClosingOfEmptyComment:{reason:"Unexpected abruptly closed empty comment",description:"Unexpected `>` or `->`. Expected `--\x3e` to close comments"},abruptDoctypePublicIdentifier:{reason:"Unexpected abruptly closed public identifier",description:"Unexpected `>`. Expected a closing `\"` or `'` after the public identifier"},abruptDoctypeSystemIdentifier:{reason:"Unexpected abruptly closed system identifier",description:"Unexpected `>`. Expected a closing `\"` or `'` after the identifier identifier"},absenceOfDigitsInNumericCharacterReference:{reason:"Unexpected non-digit at start of numeric character reference",description:"Unexpected `%c`. Expected `[0-9]` for decimal references or `[0-9a-fA-F]` for hexadecimal references"},cdataInHtmlContent:{reason:"Unexpected CDATA section in HTML",description:"Unexpected `<![CDATA[` in HTML. Remove it, use a comment, or encode special characters instead"},characterReferenceOutsideUnicodeRange:{reason:"Unexpected too big numeric character reference",description:"Unexpectedly high character reference. Expected character references to be at most hexadecimal 10ffff (or decimal 1114111)"},closingOfElementWithOpenChildElements:{reason:"Unexpected closing tag with open child elements",description:"Unexpectedly closing tag. Expected other tags to be closed first",url:!1},controlCharacterInInputStream:{reason:"Unexpected control character",description:"Unexpected control character `%x`. Expected a non-control code point, 0x00, or ASCII whitespace"},controlCharacterReference:{reason:"Unexpected control character reference",description:"Unexpectedly control character in reference. Expected a non-control code point, 0x00, or ASCII whitespace"},disallowedContentInNoscriptInHead:{reason:"Disallowed content inside `<noscript>` in `<head>`",description:"Unexpected text character `%c`. Only use text in `<noscript>`s in `<body>`",url:!1},duplicateAttribute:{reason:"Unexpected duplicate attribute",description:"Unexpectedly double attribute. Expected attributes to occur only once"},endTagWithAttributes:{reason:"Unexpected attribute on closing tag",description:"Unexpected attribute. Expected `>` instead"},endTagWithTrailingSolidus:{reason:"Unexpected slash at end of closing tag",description:"Unexpected `%c-1`. Expected `>` instead"},endTagWithoutMatchingOpenElement:{reason:"Unexpected unopened end tag",description:"Unexpected end tag. Expected no end tag or another end tag",url:!1},eofBeforeTagName:{reason:"Unexpected end of file",description:"Unexpected end of file. Expected tag name instead"},eofInCdata:{reason:"Unexpected end of file in CDATA",description:"Unexpected end of file. Expected `]]>` to close the CDATA"},eofInComment:{reason:"Unexpected end of file in comment",description:"Unexpected end of file. Expected `--\x3e` to close the comment"},eofInDoctype:{reason:"Unexpected end of file in doctype",description:"Unexpected end of file. Expected a valid doctype (such as `<!doctype html>`)"},eofInElementThatCanContainOnlyText:{reason:"Unexpected end of file in element that can only contain text",description:"Unexpected end of file. Expected text or a closing tag",url:!1},eofInScriptHtmlCommentLikeText:{reason:"Unexpected end of file in comment inside script",description:"Unexpected end of file. Expected `--\x3e` to close the comment"},eofInTag:{reason:"Unexpected end of file in tag",description:"Unexpected end of file. Expected `>` to close the tag"},incorrectlyClosedComment:{reason:"Incorrectly closed comment",description:"Unexpected `%c-1`. Expected `--\x3e` to close the comment"},incorrectlyOpenedComment:{reason:"Incorrectly opened comment",description:"Unexpected `%c`. Expected `\x3c!--` to open the comment"},invalidCharacterSequenceAfterDoctypeName:{reason:"Invalid sequence after doctype name",description:"Unexpected sequence at `%c`. Expected `public` or `system`"},invalidFirstCharacterOfTagName:{reason:"Invalid first character in tag name",description:"Unexpected `%c`. Expected an ASCII letter instead"},misplacedDoctype:{reason:"Misplaced doctype",description:"Unexpected doctype. Expected doctype before head",url:!1},misplacedStartTagForHeadElement:{reason:"Misplaced `<head>` start tag",description:"Unexpected start tag `<head>`. Expected `<head>` directly after doctype",url:!1},missingAttributeValue:{reason:"Missing attribute value",description:"Unexpected `%c-1`. Expected an attribute value or no `%c-1` instead"},missingDoctype:{reason:"Missing doctype before other content",description:"Expected a `<!doctype html>` before anything else",url:!1},missingDoctypeName:{reason:"Missing doctype name",description:"Unexpected doctype end at `%c`. Expected `html` instead"},missingDoctypePublicIdentifier:{reason:"Missing public identifier in doctype",description:"Unexpected `%c`. Expected identifier for `public` instead"},missingDoctypeSystemIdentifier:{reason:"Missing system identifier in doctype",description:'Unexpected `%c`. Expected identifier for `system` instead (suggested: `"about:legacy-compat"`)'},missingEndTagName:{reason:"Missing name in end tag",description:"Unexpected `%c`. Expected an ASCII letter instead"},missingQuoteBeforeDoctypePublicIdentifier:{reason:"Missing quote before public identifier in doctype",description:"Unexpected `%c`. Expected `\"` or `'` instead"},missingQuoteBeforeDoctypeSystemIdentifier:{reason:"Missing quote before system identifier in doctype",description:"Unexpected `%c`. Expected `\"` or `'` instead"},missingSemicolonAfterCharacterReference:{reason:"Missing semicolon after character reference",description:"Unexpected `%c`. Expected `;` instead"},missingWhitespaceAfterDoctypePublicKeyword:{reason:"Missing whitespace after public identifier in doctype",description:"Unexpected `%c`. Expected ASCII whitespace instead"},missingWhitespaceAfterDoctypeSystemKeyword:{reason:"Missing whitespace after system identifier in doctype",description:"Unexpected `%c`. Expected ASCII whitespace instead"},missingWhitespaceBeforeDoctypeName:{reason:"Missing whitespace before doctype name",description:"Unexpected `%c`. Expected ASCII whitespace instead"},missingWhitespaceBetweenAttributes:{reason:"Missing whitespace between attributes",description:"Unexpected `%c`. Expected ASCII whitespace instead"},missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:{reason:"Missing whitespace between public and system identifiers in doctype",description:"Unexpected `%c`. Expected ASCII whitespace instead"},nestedComment:{reason:"Unexpected nested comment",description:"Unexpected `\x3c!--`. Expected `--\x3e`"},nestedNoscriptInHead:{reason:"Unexpected nested `<noscript>` in `<head>`",description:"Unexpected `<noscript>`. Expected a closing tag or a meta element",url:!1},nonConformingDoctype:{reason:"Unexpected non-conforming doctype declaration",description:'Expected `<!doctype html>` or `<!doctype html system "about:legacy-compat">`',url:!1},nonVoidHtmlElementStartTagWithTrailingSolidus:{reason:"Unexpected trailing slash on start tag of non-void element",description:"Unexpected `/`. Expected `>` instead"},noncharacterCharacterReference:{reason:"Unexpected noncharacter code point referenced by character reference",description:"Unexpected code point. Do not use noncharacters in HTML"},noncharacterInInputStream:{reason:"Unexpected noncharacter character",description:"Unexpected code point `%x`. Do not use noncharacters in HTML"},nullCharacterReference:{reason:"Unexpected NULL character referenced by character reference",description:"Unexpected code point. Do not use NULL characters in HTML"},openElementsLeftAfterEof:{reason:"Unexpected end of file",description:"Unexpected end of file. Expected closing tag instead",url:!1},surrogateCharacterReference:{reason:"Unexpected surrogate character referenced by character reference",description:"Unexpected code point. Do not use lone surrogate characters in HTML"},surrogateInInputStream:{reason:"Unexpected surrogate character",description:"Unexpected code point `%x`. Do not use lone surrogate characters in HTML"},unexpectedCharacterAfterDoctypeSystemIdentifier:{reason:"Invalid character after system identifier in doctype",description:"Unexpected character at `%c`. Expected `>`"},unexpectedCharacterInAttributeName:{reason:"Unexpected character in attribute name",description:"Unexpected `%c`. Expected whitespace, `/`, `>`, `=`, or probably an ASCII letter"},unexpectedCharacterInUnquotedAttributeValue:{reason:"Unexpected character in unquoted attribute value",description:"Unexpected `%c`. Quote the attribute value to include it"},unexpectedEqualsSignBeforeAttributeName:{reason:"Unexpected equals sign before attribute name",description:"Unexpected `%c`. Add an attribute name before it"},unexpectedNullCharacter:{reason:"Unexpected NULL character",description:"Unexpected code point `%x`. Do not use NULL characters in HTML"},unexpectedQuestionMarkInsteadOfTagName:{reason:"Unexpected question mark instead of tag name",description:"Unexpected `%c`. Expected an ASCII letter instead"},unexpectedSolidusInTag:{reason:"Unexpected slash in tag",description:"Unexpected `%c-1`. Expected it followed by `>` or in a quoted attribute value"},unknownNamedCharacterReference:{reason:"Unexpected unknown named character reference",description:"Unexpected character reference. Expected known named character references"}},jY=/-[a-z]/g,jZ=/%c(?:([-+])(\d+))?/g,j$=/%x/g,j_={2:!0,1:!1,0:null},j0={};function j1(a){return a.charAt(1).toUpperCase()}var j2=c(10261);let j3=function(a,b,c){let d=(0,j2.C)(c);if(!a||!a.type||!a.children)throw Error("Expected parent node");if("number"==typeof b){if(b<0||b===1/0)throw Error("Expected positive finite number as index")}else if((b=a.children.indexOf(b))<0)throw Error("Expected child node or index");for(;++b<a.children.length;)if(d(a.children[b],b,a))return a.children[b]},j4=function(a){if(null==a)return j6;if("string"==typeof a){var b;return b=a,j5(function(a){return a.tagName===b})}if("object"==typeof a){var c=a;let b=[],d=-1;for(;++d<c.length;)b[d]=j4(c[d]);return j5(function(...a){let c=-1;for(;++c<b.length;)if(b[c].apply(this,a))return!0;return!1})}if("function"==typeof a)return j5(a);throw Error("Expected function, string, or array as `test`")};function j5(a){return function(b,c,d){var e;return!!(null!==(e=b)&&"object"==typeof e&&"type"in e&&"tagName"in e&&a.call(this,b,"number"==typeof c?c:void 0,d||void 0))}}function j6(a){return!!(a&&"object"==typeof a&&"type"in a&&"element"===a.type&&"tagName"in a&&"string"==typeof a.tagName)}let j7=/\n/g,j8=/[\t ]+/g,j9=j4("br"),ka=j4(function(a){return"td"===a.tagName||"th"===a.tagName}),kb=j4("p"),kc=j4("tr"),kd=j4(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",function(a){return!!(a.properties||{}).hidden},function(a){return"dialog"===a.tagName&&!(a.properties||{}).open}]),ke=j4(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function kf(a,b){let c,d=String(a.value),e=[],f=[],g=0;for(;g<=d.length;){j7.lastIndex=g;let a=j7.exec(d),c=a&&"index"in a?a.index:d.length;e.push(function(a,b,c){let d,e=[],f=0;for(;f<a.length;){j8.lastIndex=f;let c=j8.exec(a);d=c?c.index:a.length,f||d||!c||b||e.push(""),f!==d&&e.push(a.slice(f,d)),f=c?d+c[0].length:d}return f===d||c||e.push(""),e.join(" ")}(d.slice(g,c).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),0!==g||b.breakBefore,c!==d.length||b.breakAfter)),g=c+1}let h=-1;for(;++h<e.length;)8203===e[h].charCodeAt(e[h].length-1)||h<e.length-1&&8203===e[h+1].charCodeAt(0)?(f.push(e[h]),c=void 0):e[h]?("number"==typeof c&&f.push(c),f.push(e[h]),c=0):(0===h||h===e.length-1)&&f.push(0);return f}function kg(a,b){if("element"===a.type){let c=a.properties||{};switch(a.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return c.wrap?"pre-wrap":"pre";case"td":case"th":return c.noWrap?"nowrap":b.whitespace;case"textarea":return"pre-wrap"}}return b.whitespace}var kh=c(15573),ki=c(46379);let kj={},kk=[];function kl(a){let b=a||kj;return function(a,c){(0,ki.VG)(a,"element",function(a,d){let e,f=Array.isArray(a.properties.className)?a.properties.className:kk,g=f.includes("language-math"),h=f.includes("math-display"),i=f.includes("math-inline"),j=h;if(!g&&!h&&!i)return;let k=d[d.length-1],l=a;if("code"===a.tagName&&g&&k&&"element"===k.type&&"pre"===k.tagName&&(l=k,k=d[d.length-2],j=!0),!k)return;let m=function(a,b){let c,d="children"in a?a.children:[],e=ke(a),f=kg(a,{whitespace:(b||{}).whitespace||"normal",breakBefore:!1,breakAfter:!1}),g=[];("text"===a.type||"comment"===a.type)&&g.push(...kf(a,{whitespace:f,breakBefore:!0,breakAfter:!0}));let h=-1;for(;++h<d.length;)g.push(...function a(b,c,d){return"element"===b.type?function(b,c,d){let e,f,g=kg(b,d),h=b.children||[],i=-1,j=[];if(kd(b))return j;for(j9(b)||kc(b)&&j3(c,b,kc)?f="\n":kb(b)?(e=2,f=2):ke(b)&&(e=1,f=1);++i<h.length;)j=j.concat(a(h[i],b,{whitespace:g,breakBefore:i?void 0:e,breakAfter:i<h.length-1?j9(h[i+1]):f}));return ka(b)&&j3(c,b,ka)&&j.push(" "),e&&j.unshift(e),f&&j.push(f),j}(b,c,d):"text"===b.type?"normal"===d.whitespace?kf(b,d):[String(b.value)]:[]}(d[h],a,{whitespace:f,breakBefore:h?void 0:e,breakAfter:h<d.length-1?j9(d[h+1]):e}));let i=[];for(h=-1;++h<g.length;){let a=g[h];"number"==typeof a?void 0!==c&&a>c&&(c=a):a&&(void 0!==c&&c>-1&&i.push("\n".repeat(c)||" "),c=-1,i.push(a))}return i.join("")}(l,{whitespace:"pre"});try{e=kh.default.renderToString(m,{...b,displayMode:j,throwOnError:!0})}catch(g){let f=g.name.toLowerCase();c.message("Could not render math with KaTeX",{ancestors:[...d,a],cause:g,place:a.position,ruleId:f,source:"rehype-katex"});try{e=kh.default.renderToString(m,{...b,displayMode:j,strict:"ignore",throwOnError:!1})}catch{e=[{type:"element",tagName:"span",properties:{className:["katex-error"],style:"color:"+(b.errorColor||"#cc0000"),title:String(g)},children:[{type:"text",value:m}]}]}}if("string"==typeof e){var n,o;let a,b,c,d,f,g;e=(n={fragment:!0},o=e,b=(a=n||j0).onerror,c=o instanceof jV.T?o:new jV.T(o),f=(a.fragment?jU.oH:jU.qg)(d=String(c),{sourceCodeLocationInfo:!0,onParseError:a.onerror?function(e){let f=e.code,g=f.replace(jY,j1),h=a[g],i=null==h||h,j="number"==typeof i?i:+!!i;if(j){let a=jX[g];(0,ea.ok)(a,"expected known error from `parse5`");let d=new jW.o(k(a.reason),{place:{start:{line:e.startLine,column:e.startCol,offset:e.startOffset},end:{line:e.endLine,column:e.endCol,offset:e.endOffset}},ruleId:f,source:"hast-util-from-html"});c.path&&(d.file=c.path,d.name=c.path+":"+d.name),d.fatal=j_[j],d.note=k(a.description),d.url=!1===a.url?void 0:"https://html.spec.whatwg.org/multipage/parsing.html#parse-error-"+f,(0,ea.ok)(b,"`internalOnerror` is not passed if `onerror` is not set"),b(d)}function k(a){return a.replace(jZ,function(a,b,c){var f;let g=(c?Number.parseInt(c,10):0)*("-"===b?-1:1);return"`"===(f=d.charAt(e.startOffset+g))?"` ` `":f}).replace(j$,function(){return"0x"+d.charCodeAt(e.startOffset).toString(16).toUpperCase()})}}:null,scriptingEnabled:!1}),g=(0,jT.D)(f,{file:c,space:a.space,verbose:a.verbose}),(0,fd.YR)(g,function(a){delete a.position}),delete g.data,g).children}let p=k.children.indexOf(l);return k.children.splice(p,1,...e),ki._Z})}}var km=c(93310),kn=c(82245);let ko={tokenize:function(a,b,c){let d=this,e=d.events[d.events.length-1],f=e&&"linePrefix"===e[1].type?e[2].sliceSerialize(e[1],!0).length:0,g=0;return function(b){return a.enter("mathFlow"),a.enter("mathFlowFence"),a.enter("mathFlowFenceSequence"),function b(d){return 36===d?(a.consume(d),g++,b):g<2?c(d):(a.exit("mathFlowFenceSequence"),(0,kn.N)(a,h,"whitespace")(d))}(b)};function h(b){return null===b||(0,ex.HP)(b)?i(b):(a.enter("mathFlowFenceMeta"),a.enter("chunkString",{contentType:"string"}),function b(d){return null===d||(0,ex.HP)(d)?(a.exit("chunkString"),a.exit("mathFlowFenceMeta"),i(d)):36===d?c(d):(a.consume(d),b)}(b))}function i(c){return(a.exit("mathFlowFence"),d.interrupt)?b(c):a.attempt(kp,j,m)(c)}function j(b){return a.attempt({tokenize:n,partial:!0},m,k)(b)}function k(b){return(f?(0,kn.N)(a,l,"linePrefix",f+1):l)(b)}function l(b){return null===b?m(b):(0,ex.HP)(b)?a.attempt(kp,j,m)(b):(a.enter("mathFlowValue"),function b(c){return null===c||(0,ex.HP)(c)?(a.exit("mathFlowValue"),l(c)):(a.consume(c),b)}(b))}function m(c){return a.exit("mathFlow"),b(c)}function n(a,b,c){let e=0;return(0,kn.N)(a,function(b){return a.enter("mathFlowFence"),a.enter("mathFlowFenceSequence"),function b(d){return 36===d?(e++,a.consume(d),b):e<g?c(d):(a.exit("mathFlowFenceSequence"),(0,kn.N)(a,f,"whitespace")(d))}(b)},"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function f(d){return null===d||(0,ex.HP)(d)?(a.exit("mathFlowFence"),b(d)):c(d)}}},concrete:!0,name:"mathFlow"},kp={tokenize:function(a,b,c){let d=this;return function(c){return null===c?b(c):(a.enter("lineEnding"),a.consume(c),a.exit("lineEnding"),e)};function e(a){return d.parser.lazy[d.now().line]?c(a):b(a)}},partial:!0};function kq(a){let b,c,d=a.length-4,e=3;if(("lineEnding"===a[3][1].type||"space"===a[e][1].type)&&("lineEnding"===a[d][1].type||"space"===a[d][1].type)){for(b=e;++b<d;)if("mathTextData"===a[b][1].type){a[d][1].type="mathTextPadding",a[e][1].type="mathTextPadding",e+=2,d-=2;break}}for(b=e-1,d++;++b<=d;)void 0===c?b!==d&&"lineEnding"!==a[b][1].type&&(c=b):(b===d||"lineEnding"===a[b][1].type)&&(a[c][1].type="mathTextData",b!==c+2&&(a[c][1].end=a[b-1][1].end,a.splice(c+2,b-c-2),d-=b-c-2,b=c+2),c=void 0);return a}function kr(a){return 36!==a||"characterEscape"===this.events[this.events.length-1][1].type}let ks={};function kt(a){let b,c=a||ks,d=this.data(),e=d.micromarkExtensions||(d.micromarkExtensions=[]),f=d.fromMarkdownExtensions||(d.fromMarkdownExtensions=[]),g=d.toMarkdownExtensions||(d.toMarkdownExtensions=[]);e.push({flow:{36:ko},text:{36:(null==(b=(c||{}).singleDollarTextMath)&&(b=!0),{tokenize:function(a,c,d){let e,f,g=0;return function(c){return a.enter("mathText"),a.enter("mathTextSequence"),function c(e){return 36===e?(a.consume(e),g++,c):g<2&&!b?d(e):(a.exit("mathTextSequence"),h(e))}(c)};function h(b){return null===b?d(b):36===b?(f=a.enter("mathTextSequence"),e=0,function b(d){return 36===d?(a.consume(d),e++,b):e===g?(a.exit("mathTextSequence"),a.exit("mathText"),c(d)):(f.type="mathTextData",i(d))}(b)):32===b?(a.enter("space"),a.consume(b),a.exit("space"),h):(0,ex.HP)(b)?(a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),h):(a.enter("mathTextData"),i(b))}function i(b){return null===b||32===b||36===b||(0,ex.HP)(b)?(a.exit("mathTextData"),h(b)):(a.consume(b),i)}},resolve:kq,previous:kr,name:"mathText"})}}),f.push(function(){return{enter:{mathFlow:function(a){this.enter({type:"math",meta:null,value:"",data:{hName:"pre",hChildren:[{type:"element",tagName:"code",properties:{className:["language-math","math-display"]},children:[]}]}},a)},mathFlowFenceMeta:function(){this.buffer()},mathText:function(a){this.enter({type:"inlineMath",value:"",data:{hName:"code",hProperties:{className:["language-math","math-inline"]},hChildren:[]}},a),this.buffer()}},exit:{mathFlow:function(a){let b=this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),c=this.stack[this.stack.length-1];(0,ea.ok)("math"===c.type),this.exit(a),c.value=b;let d=c.data.hChildren[0];(0,ea.ok)("element"===d.type),(0,ea.ok)("code"===d.tagName),d.children.push({type:"text",value:b}),this.data.mathFlowInside=void 0},mathFlowFence:function(){this.data.mathFlowInside||(this.buffer(),this.data.mathFlowInside=!0)},mathFlowFenceMeta:function(){let a=this.resume(),b=this.stack[this.stack.length-1];(0,ea.ok)("math"===b.type),b.meta=a},mathFlowValue:a,mathText:function(a){let b=this.resume(),c=this.stack[this.stack.length-1];(0,ea.ok)("inlineMath"===c.type),this.exit(a),c.value=b,c.data.hChildren.push({type:"text",value:b})},mathTextData:a}};function a(a){this.config.enter.data.call(this,a),this.config.exit.data.call(this,a)}}()),g.push(function(a){let b=(a||{}).singleDollarTextMath;return null==b&&(b=!0),c.peek=function(){return"$"},{unsafe:[{character:"\r",inConstruct:"mathFlowMeta"},{character:"\n",inConstruct:"mathFlowMeta"},{character:"$",after:b?void 0:"\\$",inConstruct:"phrasing"},{character:"$",inConstruct:"mathFlowMeta"},{atBreak:!0,character:"$",after:"\\$"}],handlers:{math:function(a,b,c,d){let e=a.value||"",f=c.createTracker(d),g="$".repeat(Math.max((0,km.D)(e,"$")+1,2)),h=c.enter("mathFlow"),i=f.move(g);if(a.meta){let b=c.enter("mathFlowMeta");i+=f.move(c.safe(a.meta,{after:"\n",before:i,encode:["$"],...f.current()})),b()}return i+=f.move("\n"),e&&(i+=f.move(e+"\n")),i+=f.move(g),h(),i},inlineMath:c}};function c(a,c,d){let e=a.value||"",f=1;for(!b&&f++;RegExp("(^|[^$])"+"\\$".repeat(f)+"([^$]|$)").test(e);)f++;let g="$".repeat(f);/[^ \r\n]/.test(e)&&(/^[ \r\n]/.test(e)&&/[ \r\n]$/.test(e)||/^\$|\$$/.test(e))&&(e=" "+e+" ");let h=-1;for(;++h<d.unsafe.length;){let a,b=d.unsafe[h];if(!b.atBreak)continue;let c=d.compilePattern(b);for(;a=c.exec(e);){let b=a.index;10===e.codePointAt(b)&&13===e.codePointAt(b-1)&&b--,e=e.slice(0,b)+" "+e.slice(a.index+1)}}return g+e+g}}(c))}var ku=function(a={}){var b,c;return{name:"katex",type:"math",remarkPlugin:[kt,{singleDollarTextMath:null!=(b=a.singleDollarTextMath)&&b}],rehypePlugin:[kl,{errorColor:null!=(c=a.errorColor)?c:"var(--color-muted-foreground)"}],getStyles:()=>"katex/dist/katex.min.css"}}(),kv=c(15407),kw=c(26775),kx=c(88131);c(38863),c(35705),c(92471),c(52600),c(25668),c(67961);var ky=c(52072),kz=c(18767),kA=c(4629),kB=c(44272),kC=c(36122),kD=c(3117),kE=c(31519),kF="comm",kG="rule",kH="decl",kI="@keyframes",kJ="@layer",kK=Math.abs,kL=String.fromCharCode;function kM(a,b,c){return a.replace(b,c)}function kN(a,b){return 0|a.charCodeAt(b)}function kO(a,b,c){return a.slice(b,c)}function kP(a){return a.length}function kQ(a,b){return b.push(a),a}function kR(a,b){for(var c="",d=0;d<a.length;d++)c+=b(a[d],d,a,b)||"";return c}function kS(a,b,c,d){switch(a.type){case kJ:if(a.children.length)break;case"@import":case"@namespace":case kH:return a.return=a.return||a.value;case kF:return"";case kI:return a.return=a.value+"{"+kR(a.children,d)+"}";case kG:if(!kP(a.value=a.props.join(",")))return""}return kP(c=kR(a.children,d))?a.return=a.value+"{"+c+"}":""}var kT=1,kU=1,kV=0,kW=0,kX=0,kY="";function kZ(a,b,c,d,e,f,g,h){return{value:a,root:b,parent:c,type:d,props:e,children:f,line:kT,column:kU,length:g,return:"",siblings:h}}function k$(){return kX=kW<kV?kN(kY,kW++):0,kU++,10===kX&&(kU=1,kT++),kX}function k_(){return kN(kY,kW)}function k0(a){switch(a){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function k1(a){var b,c;return(b=kW-1,c=function a(b){for(;k$();)switch(kX){case b:return kW;case 34:case 39:34!==b&&39!==b&&a(kX);break;case 40:41===b&&a(b);break;case 92:k$()}return kW}(91===a?a+2:40===a?a+1:a),kO(kY,b,c)).trim()}function k2(a,b,c,d,e,f,g,h,i,j,k,l){for(var m=e-1,n=0===e?f:[""],o=n.length,p=0,q=0,r=0;p<d;++p)for(var s=0,t=kO(a,m+1,m=kK(q=g[p])),u=a;s<o;++s)(u=(q>0?n[s]+" "+t:kM(t,/&\f/g,n[s])).trim())&&(i[r++]=u);return kZ(a,b,c,0===e?kG:h,i,j,k,l)}function k3(a,b,c,d,e){return kZ(a,b,c,kH,kO(a,0,d),kO(a,d+1,-1),d,e)}var k4=c(13308),k5=c(19929),k6=c(1640),k7=c(24415),k8=c(76482);function k9(a){if(null==a)return!0;if((0,k6.X)(a))return("function"==typeof a.splice||"string"==typeof a||!!(0,k5.P)(a)||!!(0,k8.i)(a)||!!(0,k7.N)(a))&&0===a.length;if("object"==typeof a||"function"==typeof a){let b;if(a instanceof Map||a instanceof Set)return 0===a.size;let c=Object.keys(a);return(b=a?.constructor,a===("function"==typeof b?b.prototype:Object.prototype))?0===c.filter(a=>"constructor"!==a).length:0===c.length}return!0}var la={id:"c4",detector:(0,kC.K)(a=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(a),"detector"),loader:(0,kC.K)(async()=>{let{diagram:a}=await c.e(55397).then(c.bind(c,55397));return{id:"c4",diagram:a}},"loader")},lb="flowchart",lc=(0,kC.K)((a,b)=>b?.flowchart?.defaultRenderer!=="dagre-wrapper"&&b?.flowchart?.defaultRenderer!=="elk"&&/^\s*graph/.test(a),"detector"),ld=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(72169),c.e(24419)]).then(c.bind(c,24419));return{id:lb,diagram:a}},"loader"),le={id:lb,detector:lc,loader:ld},lf="flowchart-v2",lg=(0,kC.K)((a,b)=>b?.flowchart?.defaultRenderer!=="dagre-d3"&&(b?.flowchart?.defaultRenderer==="elk"&&(b.layout="elk"),!!/^\s*graph/.test(a)&&b?.flowchart?.defaultRenderer==="dagre-wrapper"||/^\s*flowchart/.test(a)),"detector"),lh=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(72169),c.e(24419)]).then(c.bind(c,24419));return{id:lf,diagram:a}},"loader"),li={id:lf,detector:lg,loader:lh},lj="swimlane",lk=(0,kC.K)(a=>/^\s*swimlane-beta\b/.test(a),"detector"),ll=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(72169),c.e(67336)]).then(c.bind(c,67336));return{id:lj,diagram:a}},"loader"),lm={id:lj,detector:lk,loader:ll},ln={id:"er",detector:(0,kC.K)(a=>/^\s*erDiagram/.test(a),"detector"),loader:(0,kC.K)(async()=>{let{diagram:a}=await c.e(71633).then(c.bind(c,71633));return{id:"er",diagram:a}},"loader")},lo="gitGraph",lp=(0,kC.K)(a=>/^\s*gitGraph/.test(a),"detector"),lq=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(43218)]).then(c.bind(c,43218));return{id:lo,diagram:a}},"loader"),lr={id:lo,detector:lp,loader:lq},ls="gantt",lt=(0,kC.K)(a=>/^\s*gantt/.test(a),"detector"),lu=(0,kC.K)(async()=>{let{diagram:a}=await c.e(68592).then(c.bind(c,68592));return{id:ls,diagram:a}},"loader"),lv={id:ls,detector:lt,loader:lu},lw="info",lx=(0,kC.K)(a=>/^\s*info/.test(a),"detector"),ly=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(51491)]).then(c.bind(c,51491));return{id:lw,diagram:a}},"loader"),lz={id:lw,detector:lx,loader:ly},lA={id:"pie",detector:(0,kC.K)(a=>/^\s*pie/.test(a),"detector"),loader:(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(36778)]).then(c.bind(c,36778));return{id:"pie",diagram:a}},"loader")},lB="quadrantChart",lC=(0,kC.K)(a=>/^\s*quadrantChart/.test(a),"detector"),lD=(0,kC.K)(async()=>{let{diagram:a}=await c.e(37861).then(c.bind(c,37861));return{id:lB,diagram:a}},"loader"),lE={id:lB,detector:lC,loader:lD},lF="xychart",lG=(0,kC.K)(a=>/^\s*xychart(-beta)?/.test(a),"detector"),lH=(0,kC.K)(async()=>{let{diagram:a}=await c.e(50825).then(c.bind(c,50825));return{id:lF,diagram:a}},"loader"),lI={id:lF,detector:lG,loader:lH},lJ="requirement",lK=(0,kC.K)(a=>/^\s*requirement(Diagram)?/.test(a),"detector"),lL=(0,kC.K)(async()=>{let{diagram:a}=await c.e(3392).then(c.bind(c,3392));return{id:lJ,diagram:a}},"loader"),lM={id:lJ,detector:lK,loader:lL},lN="sequence",lO=(0,kC.K)(a=>/^\s*sequenceDiagram/.test(a),"detector"),lP=(0,kC.K)(async()=>{let{diagram:a}=await c.e(20129).then(c.bind(c,20129));return{id:lN,diagram:a}},"loader"),lQ={id:lN,detector:lO,loader:lP},lR="class",lS=(0,kC.K)((a,b)=>b?.class?.defaultRenderer!=="dagre-wrapper"&&/^\s*classDiagram/.test(a),"detector"),lT=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(25726),c.e(19010)]).then(c.bind(c,19010));return{id:lR,diagram:a}},"loader"),lU={id:lR,detector:lS,loader:lT},lV="classDiagram",lW=(0,kC.K)((a,b)=>!!/^\s*classDiagram/.test(a)&&b?.class?.defaultRenderer==="dagre-wrapper"||/^\s*classDiagram-v2/.test(a),"detector"),lX=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(25726),c.e(25279)]).then(c.bind(c,25279));return{id:lV,diagram:a}},"loader"),lY={id:lV,detector:lW,loader:lX},lZ="state",l$=(0,kC.K)((a,b)=>b?.state?.defaultRenderer!=="dagre-wrapper"&&/^\s*stateDiagram/.test(a),"detector"),l_=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(21723),c.e(35807),c.e(88882),c.e(97395),c.e(67541)]).then(c.bind(c,67541));return{id:lZ,diagram:a}},"loader"),l0={id:lZ,detector:l$,loader:l_},l1="stateDiagram",l2=(0,kC.K)((a,b)=>!!(/^\s*stateDiagram-v2/.test(a)||/^\s*stateDiagram/.test(a)&&b?.state?.defaultRenderer==="dagre-wrapper"),"detector"),l3=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(97395),c.e(25601)]).then(c.bind(c,25601));return{id:l1,diagram:a}},"loader"),l4={id:l1,detector:l2,loader:l3},l5="journey",l6=(0,kC.K)(a=>/^\s*journey/.test(a),"detector"),l7=(0,kC.K)(async()=>{let{diagram:a}=await c.e(55083).then(c.bind(c,55083));return{id:l5,diagram:a}},"loader"),l8={id:l5,detector:l6,loader:l7},l9={draw:(0,kC.K)((a,b,c)=>{kB.R.debug("rendering svg for syntax error\n");let d=(0,kv.D)(b),e=d.append("g");d.attr("viewBox","0 0 2412 512"),(0,kA.a$)(d,100,512,!0),e.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),e.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),e.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),e.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),e.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),e.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),e.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),e.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${c}`)},"draw")},ma={db:{},renderer:l9,parser:{parse:(0,kC.K)(()=>{},"parse")}},mb="flowchart-elk",mc=(0,kC.K)((a,b={})=>!!(/^\s*flowchart-elk/.test(a)||/^\s*(flowchart|graph)/.test(a)&&b?.flowchart?.defaultRenderer==="elk")&&(b.layout="elk",!0),"detector"),md=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(72169),c.e(24419)]).then(c.bind(c,24419));return{id:mb,diagram:a}},"loader"),me={id:mb,detector:mc,loader:md},mf="timeline",mg=(0,kC.K)(a=>/^\s*timeline/.test(a),"detector"),mh=(0,kC.K)(async()=>{let{diagram:a}=await c.e(39751).then(c.bind(c,39751));return{id:mf,diagram:a}},"loader"),mi={id:mf,detector:mg,loader:mh},mj="mindmap",mk=(0,kC.K)(a=>/^\s*mindmap/.test(a),"detector"),ml=(0,kC.K)(async()=>{let{diagram:a}=await c.e(65729).then(c.bind(c,65729));return{id:mj,diagram:a}},"loader"),mm={id:mj,detector:mk,loader:ml},mn="kanban",mo=(0,kC.K)(a=>/^\s*kanban/.test(a),"detector"),mp=(0,kC.K)(async()=>{let{diagram:a}=await c.e(17683).then(c.bind(c,40064));return{id:mn,diagram:a}},"loader"),mq={id:mn,detector:mo,loader:mp},mr="sankey",ms=(0,kC.K)(a=>/^\s*sankey(-beta)?/.test(a),"detector"),mt=(0,kC.K)(async()=>{let{diagram:a}=await c.e(96686).then(c.bind(c,96686));return{id:mr,diagram:a}},"loader"),mu={id:mr,detector:ms,loader:mt},mv="packet",mw=(0,kC.K)(a=>/^\s*packet(-beta)?/.test(a),"detector"),mx=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(63309)]).then(c.bind(c,63309));return{id:mv,diagram:a}},"loader"),my={id:mv,detector:mw,loader:mx},mz="radar",mA=(0,kC.K)(a=>/^\s*radar-beta/.test(a),"detector"),mB=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(34410)]).then(c.bind(c,34410));return{id:mz,diagram:a}},"loader"),mC={id:mz,detector:mA,loader:mB},mD="block",mE=(0,kC.K)(a=>/^\s*block(-beta)?/.test(a),"detector"),mF=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(21723),c.e(80578)]).then(c.bind(c,80578));return{id:mD,diagram:a}},"loader"),mG={id:mD,detector:mE,loader:mF},mH="treeView",mI=(0,kC.K)(a=>/^\s*treeView-beta/.test(a),"detector"),mJ=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(59812)]).then(c.bind(c,59812));return{id:mH,diagram:a}},"loader"),mK={id:mH,detector:mI,loader:mJ},mL="architecture",mM=(0,kC.K)(a=>/^\s*architecture/.test(a),"detector"),mN=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(41),c.e(39750)]).then(c.bind(c,39750));return{id:mL,diagram:a}},"loader"),mO={id:mL,detector:mM,loader:mN},mP="eventmodeling",mQ=(0,kC.K)(a=>/^\s*eventmodeling/.test(a),"detector"),mR=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(53056)]).then(c.bind(c,53056));return{id:mP,diagram:a}},"loader"),mS={id:mP,detector:mQ,loader:mR},mT="ishikawa",mU=(0,kC.K)(a=>/^\s*ishikawa(-beta)?\b/i.test(a),"detector"),mV=(0,kC.K)(async()=>{let{diagram:a}=await c.e(39839).then(c.bind(c,39839));return{id:mT,diagram:a}},"loader"),mW={id:mT,detector:mU,loader:mV},mX="venn",mY=(0,kC.K)(a=>/^\s*venn-beta/.test(a),"detector"),mZ=(0,kC.K)(async()=>{let{diagram:a}=await c.e(69149).then(c.bind(c,69149));return{id:mX,diagram:a}},"loader"),m$={id:mX,detector:mY,loader:mZ},m_="treemap",m0=(0,kC.K)(a=>/^\s*treemap/.test(a),"detector"),m1=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(42818)]).then(c.bind(c,42818));return{id:m_,diagram:a}},"loader"),m2={id:m_,detector:m0,loader:m1},m3="wardley",m4=(0,kC.K)(a=>/^\s*wardley-beta/i.test(a),"detector"),m5=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(81295)]).then(c.bind(c,81295));return{id:m3,diagram:a}},"loader"),m6={id:m3,detector:m4,loader:m5},m7="cynefin",m8=(0,kC.K)(a=>/^\s*cynefin-beta(?:[\s:]|$)/.test(a),"detector"),m9=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(88329)]).then(c.bind(c,88329));return{id:m7,diagram:a}},"loader"),na={id:m7,detector:m8,loader:m9},nb="railroad",nc=(0,kC.K)(a=>/^\s*railroad-beta/i.test(a),"detector"),nd=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(66066),c.e(53275)]).then(c.bind(c,53275));return{id:nb,diagram:a}},"loader"),ne={id:nb,detector:nc,loader:nd},nf="railroadEbnf",ng=(0,kC.K)(a=>/^\s*railroad-ebnf-beta/i.test(a),"detector"),nh=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(66066),c.e(96276)]).then(c.bind(c,96276));return{id:nf,diagram:a}},"loader"),ni={id:nf,detector:ng,loader:nh},nj="railroadAbnf",nk=(0,kC.K)(a=>/^\s*railroad-abnf-beta/i.test(a),"detector"),nl=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(66066),c.e(95492)]).then(c.bind(c,95492));return{id:nj,diagram:a}},"loader"),nm={id:nj,detector:nk,loader:nl},nn="railroadPeg",no=(0,kC.K)(a=>/^\s*railroad-peg-beta/i.test(a),"detector"),np=(0,kC.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(66066),c.e(69648)]).then(c.bind(c,69648));return{id:nn,diagram:a}},"loader"),nq={id:nn,detector:no,loader:np},nr=!1,ns=(0,kC.K)(()=>{nr||(nr=!0,(0,kA.Js)("error",ma,a=>"error"===a.toLowerCase().trim()),(0,kA.Js)("---",{db:{clear:(0,kC.K)(()=>{},"clear")},styles:{},renderer:{draw:(0,kC.K)(()=>{},"draw")},parser:{parse:(0,kC.K)(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:(0,kC.K)(()=>null,"init")},a=>a.toLowerCase().trimStart().startsWith("---")),(0,kA.Xd)(me,mm,mO),(0,kA.Xd)(la,mq,lY,lU,ln,lv,lz,lA,lM,lQ,lm,li,le,mi,lr,l4,l0,l8,lE,mu,my,lI,mG,mS,mK,mC,mW,m2,ne,ni,nm,nq,m$,m6,na))},"addDiagrams"),nt=(0,kC.K)(async()=>{kB.R.debug("Loading registered diagrams");let a=(await Promise.allSettled(Object.entries(kA.mW).map(async([a,{detector:b,loader:c}])=>{if(c)try{(0,kA.Gs)(a)}catch{try{let{diagram:a,id:d}=await c();(0,kA.Js)(d,a,b)}catch(b){throw kB.R.error(`Failed to load external diagram with key ${a}. Removing from detectors.`),delete kA.mW[a],b}}}))).filter(a=>"rejected"===a.status);if(a.length>0){for(let b of(kB.R.error(`Failed to load ${a.length} external diagrams`),a))kB.R.error(b);throw Error(`Failed to load ${a.length} external diagrams`)}},"loadRegisteredDiagrams");function nu(a,b){a.attr("role","graphics-document document"),""!==b&&a.attr("aria-roledescription",b)}function nv(a,b,c,d){if(void 0!==a.insert){if(c){let b=`chart-desc-${d}`;a.attr("aria-describedby",b),a.insert("desc",":first-child").attr("id",b).text(c)}if(b){let c=`chart-title-${d}`;a.attr("aria-labelledby",c),a.insert("title",":first-child").attr("id",c).text(b)}}}(0,kC.K)(nu,"setA11yDiagramInfo"),(0,kC.K)(nv,"addSVGa11yTitleDescription");var nw=class a{constructor(a,b,c,d,e){this.type=a,this.text=b,this.db=c,this.parser=d,this.renderer=e}static{(0,kC.K)(this,"Diagram")}static async fromText(b,c={}){let d=(0,kA.zj)(),e=(0,kA.Ch)(b,d);b=(0,kz.C4)(b)+"\n";try{(0,kA.Gs)(e)}catch{let a=(0,kA.J$)(e);if(!a)throw new kA.C0(`Diagram ${e} not found.`);let{id:b,diagram:c}=await a();(0,kA.Js)(b,c)}let{db:f,parser:g,renderer:h,init:i}=(0,kA.Gs)(e);return g.parser&&(g.parser.yy=f),f.clear?.(),i?.(d),c.title&&f.setDiagramTitle?.(c.title),await g.parse(b),new a(e,b,f,g,h)}async render(a,b){await this.renderer.draw(this.text,a,b,this)}getParser(){return this.parser}getType(){return this.type}},nx=[],ny=(0,kC.K)(()=>{nx.forEach(a=>{a()}),nx=[]},"attachFunctions"),nz=(0,kC.K)(a=>a.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function nA(a){let b=a.match(kA.EJ);if(!b)return{text:a,metadata:{}};let c=b[1],d=c?b[2].split("\n").map(a=>a.startsWith(c)?a.slice(c.length):a).join("\n"):b[2],e=(0,kw.H)(d,{schema:kw.r})??{};e="object"!=typeof e||Array.isArray(e)?{}:e;let f={};return e.displayMode&&(f.displayMode=e.displayMode.toString()),e.title&&(f.title=e.title.toString()),e.config&&(f.config=e.config),{text:a.slice(b[0].length),metadata:f}}(0,kC.K)(nA,"extractFrontMatter");var nB=(0,kC.K)(a=>a.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,(a,b,c)=>"<"+b+c.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),nC=(0,kC.K)(a=>{let{text:b,metadata:c}=nA(a),{displayMode:d,title:e,config:f={}}=c;return d&&(f.gantt||(f.gantt={}),f.gantt.displayMode=d),{title:e,config:f,text:b}},"processFrontmatter"),nD=(0,kC.K)(a=>{let b=kz._K.detectInit(a)??{},c=kz._K.detectDirective(a,"wrap");return Array.isArray(c)?b.wrap=c.some(({type:a})=>"wrap"===a):c?.type==="wrap"&&(b.wrap=!0),{text:(0,kz.vU)(a),directive:b}},"processDirectives");function nE(a){let b=nC(nB(a)),c=nD(b.text),d=(0,kz.$t)(b.config,c.directive);return{code:a=nz(c.text),title:b.title,config:d}}function nF(a){return btoa(Array.from(new TextEncoder().encode(a),a=>String.fromCodePoint(a)).join(""))}(0,kC.K)(nE,"preprocessDiagram"),(0,kC.K)(nF,"toBase64");var nG=["foreignobject"],nH=["dominant-baseline"];function nI(a){let b=nE(a);return(0,kA.cL)(),(0,kA.xA)(b.config??{}),b}async function nJ(a,b){ns();try{let{code:b,config:c}=nI(a);return{diagramType:(await nV(b)).type,config:c}}catch(a){if(b?.suppressErrors)return!1;throw a}}(0,kC.K)(nI,"processAndSetConfigs"),(0,kC.K)(nJ,"parse");var nK=(0,kC.K)((a,b,c=[])=>{let d=(0,kA.Df)(`{ ${c.join(" !important; ")} !important; }`);return`.${a} ${b} ${d}`},"cssImportantStyles"),nL=(0,kC.K)((a,b=new Map)=>{let c=new CSSStyleSheet;if(void 0!==a.fontFamily&&c.insertRule(`:root { --mermaid-font-family: ${a.fontFamily}}`,c.cssRules.length),void 0!==a.altFontFamily&&c.insertRule(`:root { --mermaid-alt-font-family: ${a.altFontFamily}}`,c.cssRules.length),b instanceof Map){let d=(0,kA.E)(a)?["> *","span"]:["rect","polygon","ellipse","circle","path"];b.forEach(a=>{k9(a.styles)||d.forEach(b=>{c.insertRule(nK(a.id,b,a.styles),c.cssRules.length)}),k9(a.textStyles)||c.insertRule(nK(a.id,"tspan",(a?.textStyles||[]).map(a=>a.replace("color","fill"))),c.cssRules.length)})}let d="";if(void 0!==a.themeCSS)if("function"==typeof c.replaceSync){let b=new CSSStyleSheet;b.replaceSync(a.themeCSS),d=(0,kA.KG)(b)+"\n"}else d+=`${a.themeCSS}
581
581
  `;return d+(0,kA.KG)(c)},"createCssStyles"),nM=(0,kC.K)((a,b)=>{var c,d,e,f,g;return kR((e=function a(b,c,d,e,f,g,h,i,j){for(var k,l,m,n,o=0,p=0,q=h,r=0,s=0,t=0,u=1,v=1,w=1,x=0,y=0,z="",A=f,B=g,C=e,D=z;v;)switch(t=y,y=k$()){case 40:108!=t&&58==kN(D,q-1)?(x++,D+="("):D+=k1(y);break;case 41:x--,D+=")";break;case 34:case 39:case 91:D+=k1(y);break;case 9:case 10:case 13:case 32:if(x>0){D+=kL(y);break}D+=function(a){for(;kX=k_();)if(kX<33)k$();else break;return k0(a)>2||k0(kX)>3?"":" "}(t);break;case 92:D+=function(a,b){for(var c;--b&&k$()&&!(kX<48)&&!(kX>102)&&(!(kX>57)||!(kX<65))&&(!(kX>70)||!(kX<97)););return c=kW+(b<6&&32==k_()&&32==k$()),kO(kY,a,c)}(kW-1,7);continue;case 47:switch(k_()){case 42:case 47:kQ((k=function(a,b){for(;k$();)if(a+kX===57)break;else if(a+kX===84&&47===k_())break;return"/*"+kO(kY,b,kW-1)+"*"+kL(47===a?a:k$())}(k$(),kW),l=c,m=d,n=j,kZ(k,l,m,kF,kL(kX),kO(k,2,-2),0,n)),j),(5==k0(t||1)||5==k0(k_()||1))&&kP(D)&&" "!==kO(D,-1,void 0)&&(D+=" ");break;default:D+="/"}break;case 123*u:i[o++]=kP(D)*w;case 125*u:case 59:case 0:if(x>0&&y){D+=kL(y);break}switch(y){case 0:case 125:v=0;case 59+p:-1==w&&(D=kM(D,/\f/g,"")),s>0&&(kP(D)-q||0===u)&&kQ(s>32?k3(D+";",e,d,q-1,j):k3(kM(D," ","")+";",e,d,q-2,j),j);break;case 59:D+=";";default:if(kQ(C=k2(D,c,d,o,p,f,i,z,A=[],B=[],q,g),g),123===y)if(0===p)a(D,c,C,C,A,g,q,i,B);else{switch(r){case 99:if(110===kN(D,3))break;case 108:if(97===kN(D,2))break;default:p=0;case 100:case 109:case 115:}p?a(b,C,C,e&&kQ(k2(b,C,C,0,0,f,i,z,f,A=[],q,B),B),f,B,q,i,e?A:B):a(D,C,C,C,[""],B,0,i,B)}}o=p=s=0,u=w=1,z=D="",q=h;break;case 58:q=1+kP(D),s=t;default:if(u<1){if(123==y)--u;else if(125==y&&0==u++&&125==(kX=kW>0?kN(kY,--kW):0,kU--,10===kX&&(kU=1,kT--),kX))continue}switch(D+=kL(y),y*u){case 38:w=p>0?1:(D+="\f",-1);break;case 44:if(x>0)break;i[o++]=(kP(D)-1)*w,w=1;break;case 64:45===k_()&&(D+=k1(k$())),r=k_(),p=q=kP(z=D+=function(a){for(;!k0(k_());)k$();return kO(kY,a,kW)}(kW)),y++;break;case 45:45===t&&2==kP(D)&&(u=0)}}return g}("",null,null,null,[""],(d=c=`${a}{${b}}`,kT=kU=1,kV=kP(kY=d),kW=0,c=[]),0,[0],c),kY="",e),(g=(f=[(0,kC.K)(function(b,c,d,e){"rule"===b.type&&Array.isArray(b.props)?b.parent&&b.parent.type===kI||(b.props=b.props.map(c=>c===a&&Array.isArray(b.children)&&b.children.every(a=>"decl"===a.type&&new Set(["font-family","font-size","fill"]).has(a.props))||(c.startsWith(`${a} `)||c.startsWith(`${a}>`))&&!c.startsWith(`${a} ||`)?c:`${a} ${c}`)):b.type.startsWith("@")&&(["@media","@supports",kJ,"@scope","@container","@starting-style",kI].includes(b.type)||(kB.R.warn(`Removing unsupported at-rule ${b.type} from CSS`),b.type=kF))},"addNamespace"),kS]).length,function(a,b,c,d){for(var e="",h=0;h<g;h++)e+=f[h](a,b,c,d)||"";return e}))},"compileCSS"),nN=(0,kC.K)((a,b,c,d)=>{let e=nL(a,c),f=(0,kA.tM)(b,e,{...a.themeVariables,theme:a.theme,look:a.look},d);return nM(d,f)},"createUserStyles"),nO=(0,kC.K)((a="",b,c)=>{let d=a;return c||b||(d=d.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),d=(d=(0,kz.Sm)(d)).replace(/<br>/g,"<br/>")},"cleanUpSvgCode"),nP=(0,kC.K)((a="",b)=>{let c=b?.viewBox?.baseVal?.height?b.viewBox.baseVal.height+"px":"100%",d=nF(`<body style="margin:0">${a}</body>`);return`<iframe style="width:100%;height:${c};border:0;margin:0;" src="data:text/html;charset=UTF-8;base64,${d}" sandbox="allow-top-navigation-by-user-activation allow-popups">
582
582
  The "iframe" tag is not supported by your browser.
583
- </iframe>`},"putIntoIFrame"),nQ=(0,kC.K)((a,b,c,d,e)=>{let f=a.append("div");f.attr("id",c),d&&f.attr("style",d);let g=f.append("svg").attr("id",b).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return e&&g.attr("xmlns:xlink",e),g.append("g"),a},"appendDivSvgG");function nR(a,b){return a.append("iframe").attr("id",b).attr("style","width: 100%; height: 100%;").attr("sandbox","")}(0,kC.K)(nR,"sandboxedIframe");var nS=(0,kC.K)((a,b,c,d)=>{a.getElementById(b)?.remove(),a.getElementById(c)?.remove(),a.getElementById(d)?.remove()},"removeExistingElements"),nT=(0,kC.K)(async function(a,b,c){let d,e;ns();let f=nI(b);b=f.code;let g=(0,kA.zj)();kB.R.debug(g),b.length>(g?.maxTextSize??5e4)&&(b="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");let h=`#${a}`,i="i"+a,j="#"+i,k="d"+a,l="#"+k,m=(0,kC.K)(()=>{let a=o?j:l,b=(0,kE.Ltv)(a).node();b&&"remove"in b&&b.remove()},"removeTempElements"),n=(0,kE.Ltv)(document.body),o="sandbox"===g.securityLevel,p="loose"===g.securityLevel,q=g.fontFamily;if(void 0!==c){if(c&&(c.innerHTML=""),o){let a=nR((0,kE.Ltv)(c),i);(n=(0,kE.Ltv)(a.nodes()[0].contentDocument.body)).node().style.margin="0"}else n=(0,kE.Ltv)(c);nQ(n,a,k,`font-family: ${q}`,"http://www.w3.org/1999/xlink")}else{if(nS(document,a,k,i),o){let a=nR((0,kE.Ltv)(document.body),i);(n=(0,kE.Ltv)(a.nodes()[0].contentDocument.body)).node().style.margin="0"}else n=(0,kE.Ltv)("body");nQ(n,a,k)}try{d=await nw.fromText(b,{title:f.title})}catch(a){if(g.suppressErrorRendering)throw m(),a;d=await nw.fromText("error"),e=a}let r=n.select(l).node(),s=d.type,t=r.firstChild,u=t.firstChild,v=nN(g,s,d.renderer.getClasses?.(b,d),h),w=document.createElement("style");w.innerHTML=v,t.insertBefore(w,u);try{await d.renderer.draw(b,a,"11.16.1",d)}catch(c){throw g.suppressErrorRendering?m():l9.draw(b,a,"11.16.1"),c}nW(s,n.select(`${l} svg`),d.db.getAccTitle?.(),d.db.getAccDescription?.()),n.select(`[id="${a}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let x=n.select(l).node().innerHTML;if(kB.R.debug("config.arrowMarkerAbsolute",g.arrowMarkerAbsolute),x=nO(x,o,(0,kA._3)(g.arrowMarkerAbsolute)),o?x=nP(x,n.select(l+" svg").node()):p||(x=k4.A.sanitize(x,{ADD_TAGS:nG,ADD_ATTR:nH,HTML_INTEGRATION_POINTS:{foreignobject:!0}})),ny(),e)throw e;return m(),{diagramType:s,svg:x,bindFunctions:d.db.bindFunctions}},"render");function nU(a={}){let b=(0,kA.hH)({},a);b?.fontFamily&&!b.themeVariables?.fontFamily&&(b.themeVariables||(b.themeVariables={}),b.themeVariables.fontFamily=b.fontFamily),(0,kA.wZ)(b),b?.theme&&b.theme in kA.H$?b.themeVariables=kA.H$[b.theme].getThemeVariables(b.themeVariables):b&&(b.themeVariables=kA.H$.default.getThemeVariables(b.themeVariables));let c="object"==typeof b?(0,kA.UU)(b):(0,kA.Q2)();(0,kB.H)(c.logLevel),ns()}(0,kC.K)(nU,"initialize");var nV=(0,kC.K)((a,b={})=>{let{code:c}=nE(a);return nw.fromText(c,b)},"getDiagramFromText");function nW(a,b,c,d){nu(b,a),nv(b,c,d,b.attr("id"))}(0,kC.K)(nW,"addA11yInfo");var nX=Object.freeze({render:nT,parse:nJ,getDiagramFromText:nV,initialize:nU,getConfig:kA.zj,setConfig:kA.Nk,getSiteConfig:kA.Q2,updateSiteConfig:kA.B6,reset:(0,kC.K)(()=>{(0,kA.cL)()},"reset"),globalReset:(0,kC.K)(()=>{(0,kA.cL)(kA.sb)},"globalReset"),defaultConfig:kA.sb});(0,kB.H)((0,kA.zj)().logLevel),(0,kA.cL)((0,kA.zj)());var nY=(0,kC.K)((a,b,c)=>{kB.R.warn(a),(0,kz.dq)(a)?(c&&c(a.str,a.hash),b.push({...a,message:a.str,error:a})):(c&&c(a),a instanceof Error&&b.push({str:a.message,message:a.message,hash:a.name,error:a}))},"handleError"),nZ=(0,kC.K)(async function(a={querySelector:".mermaid"}){try{await n$(a)}catch(b){if((0,kz.dq)(b)&&kB.R.error(b.str),oa.parseError&&oa.parseError(b),!a.suppressErrors)throw kB.R.error("Use the suppressErrors option to suppress these errors"),b}},"run"),n$=(0,kC.K)(async function({postRenderCallback:a,querySelector:b,nodes:c}={querySelector:".mermaid"}){let d,e,f=nX.getConfig();if(kB.R.debug(`${!a?"No ":""}Callback function found`),c)d=c;else if(b)d=document.querySelectorAll(b);else throw Error("Nodes and querySelector are both undefined");kB.R.debug(`Found ${d.length} diagrams`),f?.startOnLoad!==void 0&&(kB.R.debug("Start On Load: "+f?.startOnLoad),nX.updateSiteConfig({startOnLoad:f?.startOnLoad}));let g=new kz._K.InitIDGenerator(f.deterministicIds,f.deterministicIDSeed),h=[];for(let b of Array.from(d)){if(kB.R.info("Rendering diagram: "+b.id),b.getAttribute("data-processed"))continue;b.setAttribute("data-processed","true");let c=`mermaid-${g.next()}`;e=b.innerHTML,e=(0,kD.T)(kz._K.entityDecode(e)).trim().replace(/<br\s*\/?>/gi,"<br/>");let d=kz._K.detectInit(e);d&&kB.R.debug("Detected early reinit: ",d);try{let{svg:d,bindFunctions:f}=await n8(c,e,b);b.innerHTML=d,a&&await a(c),f&&f(b)}catch(a){nY(a,h,oa.parseError)}}if(h.length>0)throw h[0]},"runThrowsErrors"),n_=(0,kC.K)(function(a){nX.initialize(a)},"initialize"),n0=(0,kC.K)(async function(a,b,c){kB.R.warn("mermaid.init is deprecated. Please use run instead."),a&&n_(a);let d={postRenderCallback:c,querySelector:".mermaid"};"string"==typeof b?d.querySelector=b:b&&(b instanceof HTMLElement?d.nodes=[b]:d.nodes=b),await nZ(d)},"init"),n1=(0,kC.K)(async(a,{lazyLoad:b=!0}={})=>{ns(),(0,kA.Xd)(...a),!1===b&&await nt()},"registerExternalDiagrams"),n2=(0,kC.K)(function(){if(oa.startOnLoad){let{startOnLoad:a}=nX.getConfig();a&&oa.run().catch(a=>kB.R.error("Mermaid failed to initialize",a))}},"contentLoaded");"u">typeof document&&window.addEventListener("load",n2,!1);var n3=(0,kC.K)(function(a){oa.parseError=a},"setParseErrorHandler"),n4=[],n5=!1,n6=(0,kC.K)(async()=>{if(!n5){for(n5=!0;n4.length>0;){let a=n4.shift();if(a)try{await a()}catch(a){kB.R.error("Error executing queue",a)}}n5=!1}},"executeQueue"),n7=(0,kC.K)(async(a,b)=>new Promise((c,d)=>{let e=(0,kC.K)(()=>new Promise((e,f)=>{nX.parse(a,b).then(a=>{e(a),c(a)},a=>{kB.R.error("Error parsing",a),oa.parseError?.(a),f(a),d(a)})}),"performCall");n4.push(e),n6().catch(d)}),"parse"),n8=(0,kC.K)((a,b,c)=>new Promise((d,e)=>{let f=(0,kC.K)(()=>new Promise((f,g)=>{nX.render(a,b,c).then(a=>{f(a),d(a)},a=>{kB.R.error("Error parsing",a),oa.parseError?.(a),g(a),e(a)})}),"performCall");n4.push(f),n6().catch(e)}),"render"),n9=(0,kC.K)(()=>Object.keys(kA.mW).map(a=>({id:a})),"getRegisteredDiagramsMetadata"),oa={startOnLoad:!0,mermaidAPI:nX,parse:n7,render:n8,init:n0,run:nZ,registerExternalDiagrams:n1,registerLayoutLoaders:kx.sO,initialize:n_,parseError:void 0,contentLoaded:n2,setParseErrorHandler:n3,detectType:kA.Ch,registerIconPacks:ky.pC,getRegisteredDiagramsMetadata:n9},ob={startOnLoad:!1,theme:"default",securityLevel:"strict",fontFamily:"monospace",suppressErrorRendering:!0},oc=function(a={}){let b=!1,c={...ob,...a.config},d={initialize(d){c={...ob,...a.config,...d},oa.initialize(c),b=!0},render:async(a,d)=>(b||(oa.initialize(c),b=!0),await oa.render(a,d))};return{name:"mermaid",type:"diagram",language:"mermaid",getMermaid:a=>(a&&d.initialize(a),d)}}(),od=c(38740);let oe=({className:a,from:b,...c})=>(0,N.jsx)("div",{className:(0,ag.cn)("group flex w-full max-w-[95%] flex-col gap-2","user"===b?"is-user ml-auto justify-end":"is-assistant",a),...c}),of=({children:a,className:b,...c})=>(0,N.jsx)("div",{className:(0,ag.cn)("flex w-fit min-w-0 max-w-full flex-col gap-2 overflow-hidden text-base leading-[1.8]","group-[.is-user]:ml-auto group-[.is-user]:rounded-lg group-[.is-user]:bg-secondary group-[.is-user]:px-4 group-[.is-user]:py-3 group-[.is-user]:text-foreground","group-[.is-assistant]:text-foreground",b),...c,children:a}),og=({tooltip:a,children:b,label:c,variant:d="ghost",size:e="icon-sm",...f})=>{let g=(0,N.jsxs)(ae.$,{size:e,type:"button",variant:d,...f,children:[b,(0,N.jsx)("span",{className:"sr-only",children:c||a})]});return a?(0,N.jsx)(d7.Bc,{children:(0,N.jsxs)(d7.m_,{children:[(0,N.jsx)(d7.k$,{render:g}),(0,N.jsx)(d7.ZI,{children:(0,N.jsx)("p",{children:a})})]})}):g},oh={cjk:fg,code:jS,math:ku,mermaid:oc},oi=(0,O.memo)(({className:a,...b})=>(0,N.jsx)(od.C,{className:(0,ag.cn)("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",a),plugins:oh,...b}),(a,b)=>a.children===b.children&&b.isAnimating===a.isAnimating);oi.displayName="MessageResponse";let oj=({className:a,children:b,...c})=>(0,N.jsx)("div",{className:(0,ag.cn)("mt-4 flex w-full items-center justify-between gap-4",a),...c,children:b});function ok({readme:a}){let{t:b}=(0,aa.Bd)("pluginManagement"),{locale:c}=(0,cF.i)(),[d,e]=(0,O.useState)(null),f=a&&"string"!=typeof a?a.translations:{},g=Object.keys(f).filter(a=>/^(zh(?:-|$)|en(?:-|$))/.test(a)),h=d&&void 0!==f[d]?d:null,i=a?h?f[h]:(0,cE.fD)(a,c):null;return(0,N.jsxs)("section",{className:"min-w-0 space-y-3","aria-label":b("readme"),children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,N.jsx)("h3",{className:"text-sm font-semibold",children:b("readme")}),g.length>0?(0,N.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,N.jsx)("span",{children:b("readmeLanguage")}),(0,N.jsxs)(b$.l6,{value:h??"",onValueChange:a=>e(a||null),children:[(0,N.jsx)(b$.bq,{"aria-label":b("readmeLanguage"),children:(0,N.jsx)(b$.yv,{children:h?h.startsWith("zh")?"中文":"English":b("defaultLanguage")})}),(0,N.jsxs)(b$.gC,{positionerClassName:"z-[160]",children:[(0,N.jsx)(b$.eb,{value:"",children:b("defaultLanguage")}),g.map(a=>(0,N.jsx)(b$.eb,{value:a,children:a.startsWith("zh")?"中文":"English"},a))]})]})]}):null]}),i?(0,N.jsx)("div",{className:"min-w-0 overflow-x-auto text-base leading-relaxed [overflow-wrap:anywhere]",children:(0,N.jsx)(oi,{mode:"static",isAnimating:!1,skipHtml:!0,controls:!1,className:"min-w-0 [&_img]:max-w-full [&_pre]:overflow-x-auto",children:i})}):(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:b("noReadme")})]})}function ol({value:a,label:b,placeholder:c,disabled:d,onChange:e}){let{t:f}=(0,aa.Bd)("pluginManagement"),g=[...c?[{value:"",label:c}]:[],{value:"latest",label:f("channelLatest")},{value:"dev",label:f("channelDev")},...a&&!["latest","dev"].includes(a)?[{value:a,label:a}]:[]];return(0,N.jsxs)(b$.l6,{value:a,items:g,onOpenChange:(a,b)=>{a&&d&&b.cancel()},onValueChange:a=>{null===a||d||e(a)},children:[(0,N.jsx)(b$.bq,{"aria-label":b,"aria-disabled":d,className:"max-w-full aria-disabled:opacity-50",children:(0,N.jsx)(b$.yv,{})}),(0,N.jsx)(b$.gC,{positionerClassName:"z-[160]",children:g.map(a=>(0,N.jsx)(b$.eb,{value:a.value,disabled:d,children:a.label},a.value))})]})}function om(a){if(!a)return null;try{let b=new URL(a);return["https:","http:"].includes(b.protocol)?b.href:null}catch{return null}}function on(a){let{t:b}=(0,aa.Bd)("pluginManagement"),{locale:c}=(0,cF.i)(),d=a.detail,e=a.installed&&a.installedVersion===d.version,f=om(d.homepage),g=om(d.repository),h=[...new Set([d.version,...d.versions])];return(0,N.jsxs)("div",{className:"min-w-0 space-y-5",children:[(0,N.jsxs)("div",{className:"space-y-3",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[(0,N.jsxs)("span",{children:["v",d.version]}),(0,N.jsx)("span",{children:b(`kind_${d.kind}`)}),d.publisher?(0,N.jsx)("span",{className:"[overflow-wrap:anywhere]",children:d.publisher}):null]}),d.description?(0,N.jsx)("p",{className:"text-sm text-muted-foreground [overflow-wrap:anywhere]",children:(0,cE.fD)(d.description,c)}):null,!1===d.compatible?(0,N.jsxs)("p",{role:"alert",className:"text-sm text-destructive",children:[b("incompatible"),d.compatibilityNote?` \xb7 ${d.compatibilityNote}`:""]}):null,(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[a.pending?(0,N.jsx)("span",{role:"status",className:"text-sm text-muted-foreground",children:a.operationMessage??b("submitting")}):e?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("span",{className:"text-sm text-muted-foreground",children:b("alreadyInstalled")}),a.updateAvailable?(0,N.jsx)(ae.$,{size:"sm",disabled:a.disabled,onClick:a.onUpdate,children:b("update")}):null]}):(0,N.jsx)(ae.$,{size:"sm",disabled:a.disabled||!1===d.compatible,onClick:a.onInstall,children:b(a.installed?"installVersion":"install")}),f?(0,N.jsx)("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"text-sm underline underline-offset-4",children:b("homepage")}):null,g?(0,N.jsx)("a",{href:g,target:"_blank",rel:"noopener noreferrer",className:"text-sm underline underline-offset-4",children:b("repository")}):null]}),a.error?(0,N.jsx)("p",{role:"alert",className:"text-sm text-destructive [overflow-wrap:anywhere]",children:a.error}):null]}),(0,N.jsxs)(cz.Nt,{className:"rounded-lg border",children:[(0,N.jsxs)(cz.R6,{className:"group flex min-h-9 w-full items-center justify-between px-3 text-sm font-medium outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[b("advancedOptions"),(0,N.jsx)(cy.A,{className:"size-4 transition-transform group-aria-expanded:rotate-180"})]}),(0,N.jsx)(cz.Ke,{keepMounted:!0,className:"hidden data-open:block",children:(0,N.jsxs)("div",{className:"space-y-3 px-3 pb-3",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,N.jsx)("span",{children:b("installChannel")}),(0,N.jsx)(ol,{value:a.channel,label:b("installChannel"),placeholder:b("defaultChannel"),disabled:a.pending,onChange:a.onChannel}),(0,N.jsxs)(b$.l6,{value:d.version,items:h.map(a=>({value:a,label:a})),onOpenChange:(b,c)=>{b&&a.pending&&c.cancel()},onValueChange:b=>{b&&!a.pending&&a.onVersion(b)},children:[(0,N.jsx)(b$.bq,{"aria-label":b("version"),"aria-disabled":a.pending,children:(0,N.jsx)(b$.yv,{})}),(0,N.jsx)(b$.gC,{positionerClassName:"z-[160]",children:h.map(b=>(0,N.jsx)(b$.eb,{value:b,disabled:a.pending,children:b},b))})]})]}),(0,N.jsx)(dU,{id:"plugin-detail-download",mode:a.downloadMode,registry:a.downloadRegistry,override:!0,saving:a.pending,onMode:a.onDownloadMode,onRegistry:a.onDownloadRegistry})]})})]}),(0,N.jsx)("div",{className:"border-t pt-4",children:(0,N.jsx)(ok,{readme:d.readme},`${d.name}@${d.version}`)})]})}var oo=c(13221);function op(a){let{t:b}=(0,aa.Bd)("pluginManagement");return(0,N.jsxs)("section",{"aria-label":b("directInstall"),className:"min-w-0 space-y-3 rounded-lg border bg-card p-4",children:[(0,N.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,N.jsx)("h3",{className:"text-sm font-semibold",children:b("directInstall")}),(0,N.jsx)(ae.$,{size:"sm",variant:"ghost",onClick:a.onClose,children:b("close")})]}),(0,N.jsx)("label",{htmlFor:"plugin-direct-source",className:"block text-sm font-medium",children:b("source")}),(0,N.jsx)(oo.T,{id:"plugin-direct-source",value:a.source,placeholder:b("batchSourcePlaceholder"),rows:2,disabled:a.pending,onChange:b=>a.onSource(b.target.value)}),a.isNpm||a.multiple?(0,N.jsxs)(cz.Nt,{children:[(0,N.jsxs)(cz.R6,{className:"group flex min-h-8 items-center gap-2 text-sm font-medium outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[b("advancedOptions"),(0,N.jsx)(cy.A,{className:"size-4 transition-transform group-aria-expanded:rotate-180"})]}),(0,N.jsx)(cz.Ke,{keepMounted:!0,className:"hidden data-open:block",children:(0,N.jsxs)("div",{className:"space-y-3 pt-2",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,N.jsx)("span",{children:b("installChannel")}),(0,N.jsx)(ol,{value:a.tag,label:b("installChannel"),placeholder:b("defaultChannel"),disabled:a.pending,onChange:a.onTag})]}),a.isNpm?(0,N.jsx)(ae.$,{size:"sm",variant:"outline",disabled:a.loading,onClick:a.onRead,children:b(a.loading?"loadingPackage":"readPackage")}):null,a.detail?(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,N.jsx)("span",{className:"min-w-0 font-medium [overflow-wrap:anywhere]",children:a.detail.name}),(0,N.jsxs)(b$.l6,{value:a.selectedVersion,onOpenChange:(b,c)=>{b&&(a.loading||a.pending)&&c.cancel()},items:[{value:"",label:b("automaticVersion")},...[...new Set([a.detail.version,...a.detail.versions])].map(a=>({value:a,label:a}))],onValueChange:b=>{null===b||a.loading||a.pending||a.onVersion(b)},children:[(0,N.jsx)(b$.bq,{"aria-label":b("version"),"aria-disabled":a.loading||a.pending,className:"max-w-full",children:(0,N.jsx)(b$.yv,{})}),(0,N.jsxs)(b$.gC,{positionerClassName:"z-[160]",children:[(0,N.jsx)(b$.eb,{value:"",disabled:a.loading||a.pending,children:b("automaticVersion")}),[...new Set([a.detail.version,...a.detail.versions])].map(b=>(0,N.jsx)(b$.eb,{value:b,disabled:a.loading||a.pending,children:b},b))]})]}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:b("targetVersion",{version:a.detail.version})})]}):null,(0,N.jsx)(dU,{id:"plugin-direct-download",mode:a.override,registry:a.registry,override:!0,saving:a.pending,onMode:a.onMode,onRegistry:a.onRegistry})]})})]}):null,a.error?(0,N.jsx)("p",{role:"alert",className:"text-sm whitespace-pre-wrap text-destructive [overflow-wrap:anywhere]",children:a.error}):null,a.operationMessage?(0,N.jsx)("p",{role:"status",className:"text-sm text-muted-foreground [overflow-wrap:anywhere]",children:a.operationMessage}):null,(0,N.jsx)(ae.$,{size:"sm",disabled:a.disabled||a.loading||a.pending||!a.source.trim(),onClick:a.onInstall,children:b(a.pending?"installing":a.multiple?"batchInstall":"install")})]})}function oq({confirmation:a,onClose:b,onConfirm:c}){let{t:d}=(0,aa.Bd)("pluginManagement"),e=a?d(dI(a)):null,f=a?.kind==="del"||a?.kind==="batch"&&"del"===a.input.action,g=a?.kind==="add"||a?.kind==="batch"&&"add"===a.input.action;return(0,N.jsx)(cf.YV,{open:!!a,onOpenChange:a=>{a||b()},children:(0,N.jsxs)(cf.hA,{className:"z-[150] max-w-lg",backdropClassName:"z-[140]",children:[(0,N.jsxs)(cf.Hl,{className:"p-4 pr-12",children:[(0,N.jsx)(cf.YM,{children:d("confirmAction",{action:e})}),(0,N.jsx)(cf.uX,{children:d(f?"removeDescription":g?"thirdPartyDescription":a?.kind==="reload"?"normal"===a.mode?"restartNormalDescription":"restartDescription":"confirmChange")})]}),(0,N.jsx)(cf._Y,{className:"min-h-0",children:(0,N.jsx)("div",{className:"min-w-0 p-4 pt-0",children:a?.kind==="batch"?(0,N.jsx)("ul",{className:"space-y-2 text-sm",children:("add"===a.input.action?a.input.items.map(a=>a.source):a.input.sources).map(a=>(0,N.jsx)("li",{className:"font-medium [overflow-wrap:anywhere]",children:a.startsWith("npm:")?dF(a)?.name??a:a},a))}):a?.kind==="add"?(0,N.jsxs)("dl",{className:"space-y-3 text-sm",children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:d("packageName")}),(0,N.jsx)("dd",{className:"mt-1 font-medium [overflow-wrap:anywhere]",children:a.package?.name??a.input.source})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:d("version")}),(0,N.jsx)("dd",{className:"[overflow-wrap:anywhere]",children:a.package?.version??dF(a.input.source)?.version??d("fromSource")})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:d("publisher")}),(0,N.jsx)("dd",{className:"[overflow-wrap:anywhere]",children:a.package?.publisher??d("unknownPublisher")})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:d("source")}),(0,N.jsx)("dd",{className:"[overflow-wrap:anywhere]",children:a.input.registry??a.package?.registry??a.input.source})]})]}):a&&"reload"!==a.kind?(0,N.jsx)("p",{className:"text-sm font-medium [overflow-wrap:anywhere]",children:a.source.startsWith("npm:")?dF(a.source)?.name??a.source:a.source}):null})}),(0,N.jsxs)(cf.vu,{children:[(0,N.jsx)(ae.$,{size:"sm",variant:"outline",onClick:b,children:d("cancel")}),(0,N.jsx)(ae.$,{size:"sm",variant:f?"destructive":"default",onClick:()=>{a&&c(a)},children:e})]})]})})}function or({basicMode:a=!1,snapshot:b,biz:c,onSnapshot:d,onRestartScheduled:e}){let{t:f}=(0,aa.Bd)("pluginManagement"),{locale:g}=(0,cF.i)(),[h,i]=(0,O.useState)("installed"),[j,k]=(0,O.useState)(""),[l,m]=(0,O.useState)("all"),[n,o]=(0,O.useState)(!1),[p,q]=(0,O.useState)(()=>new Set),[r,s]=(0,O.useState)(""),[t,u]=(0,O.useState)(!1),v=function({basicMode:a=!1,biz:b,snapshot:c,onSnapshot:d,onRestartScheduled:e}){let{t:f}=(0,aa.Bd)("pluginManagement"),g=(0,bR.t4)();(0,bR.So)();let[h,i]=(0,O.useState)(!1),[j,k]=(0,O.useState)(()=>new Set),l=(0,O.useRef)(new Set),[m,n]=(0,O.useState)(null),[o,p]=(0,O.useState)({}),[q,r]=(0,O.useState)(null),[s,t]=(0,O.useState)(null),[u,v]=(0,O.useState)(!1),[w,x]=(0,O.useState)(null),y=(0,O.useRef)(0),z=(0,O.useRef)(0),A=(0,O.useRef)(!0),B=(a,b)=>{b?l.current.add(a):l.current.delete(a),A.current&&k(new Set(l.current))},C=(a,b)=>{A.current&&p(c=>{let d={...c};return b?d[a]=b:delete d[a],d})},D=a=>{let b=dH(a);return l.current.has(b)||!!c?.plugins.some(a=>dH(a.source)===b&&a.operation&&"failed"!==a.operation.phase)},E=async(a=!1)=>{let c=++z.current,e=await b.list(a);A.current&&c===z.current&&d(e)},F=async a=>{let c="add"===a.action?a.items.map(a=>a.source):a.sources,e=c.filter(a=>!D(a));if(c.filter(D).forEach(a=>C(dH(a),f("sourceBusy"))),!e.length)return;let g=e.map(dH);g.forEach(a=>{B(a,!0),C(a,null)}),n(null);let h=[...e];try{let c=await b.list(),e=Date.now()+9e5;for(;h.length;){let g=c.plugins.filter(a=>a.operation&&"failed"!==a.operation.phase),i="tag"===a.action?32:Math.max(0,32-g.length);if(!i){if(g.some(a=>a.operation?.phase==="waiting")||Date.now()>=e){h.forEach(a=>C(dH(a),f("batchWaiting")));break}await new Promise(a=>setTimeout(a,750)),c=await b.list(),A.current&&(z.current+=1,d(c));continue}let j=h.slice(0,i),k="add"===a.action?{...a,items:a.items.filter(a=>j.includes(a.source))}:{...a,sources:j},l=await b.batch(k);c=l.snapshot,A.current&&(z.current+=1,d(c)),l.results.forEach(a=>C(dH(a.source),a.error)),j.forEach(a=>B(dH(a),!1)),h=h.slice(j.length)}}catch(b){let a=b instanceof Error?b.message:f("batchFailed");h.forEach(b=>C(dH(b),a))}finally{g.forEach(a=>B(a,!1))}},G=async a=>{if("batch"===a.kind)return void await F(a.input);if("reload"!==a.kind&&D("add"===a.kind?a.input.source:a.source))return;let c="reload"===a.kind?"reload":dH("add"===a.kind?a.input.source:a.source);if(!l.current.has(c)){B(c,!0),n(null),C(c,null);try{let c="add"===a.kind?await b.add(a.input):"update"===a.kind?await b.update(a.source):"del"===a.kind?await b.del(a.source):"enable"===a.kind||"disable"===a.kind?await b.setEnabled(a.source,"enable"===a.kind):await b.reload(a.mode);if(!A.current)return;z.current+=1,d(c),"reload"===a.kind?e():await E()}catch(b){C(c,b instanceof Error?b.message:f("actionFailed",{action:f(dI(a))}))}finally{B(c,!1)}}},H=(a,b)=>{let c={kind:"add",input:a,package:b};b?.official===!0?G(c):n(c)},I=async a=>{let c=a?.[0]?dH(a[0]):"apply";if(!l.current.has(c)){B(c,!0),C(c,null);try{let c=await b.apply(a);A.current&&(z.current+=1,d(c),await E())}catch(a){C(c,a instanceof Error?a.message:f("actionFailed",{action:f("reloadOne")}))}finally{B(c,!1)}}},J=async(a,b)=>{if(!l.current.has(a)){B(a,!0),C(a,null);try{await b()}catch(b){C(a,b instanceof Error?b.message:f("retryFailed"))}finally{B(a,!1)}}},K=async a=>{let c=++y.current;v(!0),x(null);try{let d=await b.get(a);A.current&&c===y.current&&t(d)}catch(a){A.current&&c===y.current&&x(a instanceof Error?a.message:f("detailFailed"))}finally{A.current&&c===y.current&&v(!1)}};return{loading:h,requests:j,confirmation:m,setConfirmation:n,errors:o,detailSource:q,detail:s,detailLoading:u,detailError:w,pluginHost:g,refresh:async(a,b)=>{if(l.current.has("check"))return;let d=a??c?.plugins.filter(a=>"package"===a.kind&&(!b||a.updateTag===b)).map(a=>a.source)??[],e=d.filter(D),g=d.filter(a=>!D(a));if(e.forEach(a=>C(dH(a),f("sourceBusy"))),!g.length)return;let h=g.map(dH);B("check",!0),h.forEach(a=>B(a,!0)),i(!0),C("list",null);try{if(a||e.length)for(let a=0;a<g.length&&(await E({checkUpdates:!0,sources:g.slice(a,a+32),...b?{tag:b}:{}}),A.current);a+=32);else await E({checkUpdates:!0,...b?{tag:b}:{}})}catch(a){C("list",a instanceof Error?a.message:f("updateCheckFailed"))}finally{B("check",!1),h.forEach(a=>B(a,!1)),A.current&&i(!1)}},executeBatch:F,execute:G,requestInstall:H,applyChanges:I,loadDetail:K,openDetail:a=>{r(a),t(null),K(a)},closeDetail:()=>{y.current+=1,r(null),t(null),x(null),v(!1)},handleControlAction:(a,b)=>{switch(b){case"reload":I([a.source]);break;case"update":G({kind:"update",source:a.source});break;case"remove":n({kind:"del",source:a.source});break;case"enable":case"disable":G({kind:b,source:a.source});break;case"retry-browser":a.pluginName&&J(`entry:${a.pluginName}`,()=>g.retryEntry(a.pluginName));break;case"retry":{let b=a.operation?.action;"apply"===b?I([a.source]):"add"===b?H({source:a.source}):b&&G({kind:b,source:a.source})}}},refreshEntries:()=>J("entries",()=>g.refreshEntries())}}({biz:c,snapshot:b,onSnapshot:d,onRestartScheduled:e,basicMode:a}),w=function(a){let{t:b}=(0,aa.Bd)("pluginManagement"),[c,d]=(0,O.useState)(""),[e,f]=(0,O.useState)(!1),[g,h]=(0,O.useState)("all"),[i,j]=(0,O.useState)("public"),[k,l]=(0,O.useState)(""),[m,n]=(0,O.useState)([]),[o,p]=(0,O.useState)(!1),[q,r]=(0,O.useState)(1),[s,t]=(0,O.useState)(!1),[u,v]=(0,O.useState)(null),[w,x]=(0,O.useState)(!1),[y,z]=(0,O.useState)(null),[A,B]=(0,O.useState)(null),[C,D]=(0,O.useState)(!1),[E,F]=(0,O.useState)(null),[G,H]=(0,O.useState)(()=>new Set),[I,J]=(0,O.useState)({}),K=(0,O.useRef)(0),L=(0,O.useRef)(0),M=(0,O.useRef)(new Set),N=(0,O.useRef)(null),[P,Q]=(0,O.useState)(!1),[R,S]=(0,O.useState)("default"),[T,U]=(0,O.useState)(""),V=(0,O.useRef)(!0),W=(0,O.useCallback)(async(c,d)=>{t(!0),v(null);try{let b=await a.searchCatalog(c);if(!V.current||d!==K.current)return;n(a=>{let d=1===c.page?b.items:[...a,...b.items],e=a=>a.official?0:"desk"===a.kind?1:"pi"===a.kind?2:3;return[...new Map(d.map(a=>[a.name,a])).values()].sort((a,b)=>e(a)-e(b))}),r(c.page),p(b.hasMore),x(!0)}catch(a){V.current&&d===K.current&&v(a instanceof Error?a.message:b("searchFailed"))}finally{V.current&&d===K.current&&t(!1)}},[a,b]),X=async(c,d=c.version)=>{let e=++L.current;D(!0),F(null),J(a=>{let b={...a};return delete b[c.name],b});try{let b=await a.getCatalog({name:c.name,registry:c.registry,version:d});V.current&&e===L.current&&B(b)}catch(a){V.current&&e===L.current&&F(a instanceof Error?a.message:b("detailFailed"))}finally{V.current&&e===L.current&&D(!1)}};return{query:c,setQuery:d,composing:e,beginComposition:()=>{K.current+=1,N.current=null,t(!1),f(!0)},endComposition:()=>f(!1),kind:g,setKind:h,searchSource:i,setSearchSource:j,registry:k,setRegistry:l,items:m,loading:s,error:u,searched:w,hasMore:o,loadMore:()=>{N.current&&!s&&o&&W({...N.current,page:q+1},K.current)},retry:()=>{if(e||s)return;let a="custom"===i?dK.safeParse(k):null;if(a&&!a.success)return void v(b("invalidRegistry"));let d={query:c.trim(),kind:g,page:1,...a?.success?{registry:a.data}:{}};N.current=d,n([]),W(d,++K.current)},selection:y,detail:A,detailLoading:C,detailError:E,openDetail:a=>{z(a),B(null),S("default"),U(""),X(a)},closeDetail:()=>{L.current+=1,z(null),B(null),D(!1),F(null)},loadDetail:X,prepareInstall:async(c,d)=>{if(!M.current.has(c.name)){M.current.add(c.name),H(new Set(M.current)),J(a=>{let b={...a};return delete b[c.name],b});try{let e=await a.getCatalog({name:c.name,version:c.version,registry:c.registry});if(!V.current)return;if(!1===e.compatible)return void J(a=>({...a,[c.name]:b("installIncompatible")}));d(e)}catch(a){V.current&&J(d=>({...d,[c.name]:a instanceof Error?a.message:b("detailFailed")}))}finally{M.current.delete(c.name),V.current&&H(new Set(M.current))}}},preparing:G,installErrors:I,downloadMode:R,setDownloadMode:S,downloadRegistry:T,setDownloadRegistry:U,installDetail:a=>{if(!A||C)return;if(!1===A.compatible)return void J(a=>({...a,[A.name]:b("installIncompatible")}));let c="default"===R?null:dL.safeParse("custom"===R?{mode:R,registry:T}:{mode:R});c&&!c.success?J(a=>({...a,[A.name]:b("invalidRegistry")})):(J(a=>{let b={...a};return delete b[A.name],b}),a({source:`npm:${A.name}@${A.version}`,registry:A.registry,...c?.success?{downloadSource:c.data}:{}},A))}}}(c),x=function(a,b){let{t:c}=(0,aa.Bd)("pluginManagement"),[d,e]=(0,O.useState)(null),[f,g]=(0,O.useState)("auto"),[h,i]=(0,O.useState)(""),[j,k]=(0,O.useState)(!1),[l,m]=(0,O.useState)(!1),[n,o]=(0,O.useState)(null),p=(0,O.useRef)(!0),q=(0,O.useRef)(!1),r=(0,O.useRef)(0),s=(0,O.useRef)("load"),t=async()=>{let b=r.current;k(!0),o(null);try{let c=await a.getCatalogSettings();if(!p.current)return;b===r.current?(e(c),g(c.downloadSource.mode),"custom"===c.downloadSource.mode&&i(c.downloadSource.registry)):e(a=>a??c)}catch(a){s.current="load",p.current&&o(a instanceof Error?a.message:c("settingsFailed"))}finally{p.current&&k(!1)}},u=async(d=f)=>{if(q.current)return;let i=dL.safeParse("custom"===d?{mode:d,registry:h}:{mode:d});if(!i.success){s.current="save",o(c("invalidRegistry"));return}q.current=!0,m(!0),o(null);try{let c=await a.saveCatalogSettings(i.data);p.current&&(e(c),g(c.downloadSource.mode),b())}catch(a){s.current="save",p.current&&o(a instanceof Error?a.message:c("settingsFailed"))}finally{q.current=!1,p.current&&m(!1)}};return{settings:d,mode:f,registry:h,setRegistry:a=>{r.current+=1,i(a)},loading:j,saving:l,error:n,load:t,save:u,changeMode:a=>{r.current+=1,g(a),"custom"!==a&&u(a)},retry:()=>"save"===s.current?u():t()}}(c,()=>{a||v.refresh()}),y=function(a,b=[]){let{t:c}=(0,aa.Bd)("pluginManagement"),[d,e]=(0,O.useState)(!1),[f,g]=(0,O.useState)(""),[h,i]=(0,O.useState)(""),[j,k]=(0,O.useState)(null),[l,m]=(0,O.useState)(null),[n,o]=(0,O.useState)(!1),[p,q]=(0,O.useState)(null),[r,s]=(0,O.useState)("default"),[t,u]=(0,O.useState)(""),v=(0,O.useRef)(0),w=(0,O.useRef)(!0),x=f.split(/\r?\n/).map(a=>a.trim()).filter(Boolean),y=1===x.length?dF(x[0]):null,z=()=>{v.current+=1,m(null),o(!1),q(null)},A=async d=>{let e;if(!y)return null;void 0!==d&&k(d||null);let f=b.find(a=>dF(a.source)?.name===y.name)?.updateTag,g=y.version??(h||f||"latest"),i=""===d?g:d??j??g;if("custom"===r){let a=dK.safeParse(t);if(!a.success)return q(c("invalidRegistry")),null;e=a.data}else"official"===r?e="https://registry.npmjs.org":"domestic"===r&&(e="https://registry.npmmirror.com");let l=++v.current;o(!0),m(null),q(null);try{let b=await a.getCatalog({...y,...i?{version:i}:{},...e?{registry:e}:{}});if(!w.current||l!==v.current)return null;return m(b),b}catch(a){return w.current&&l===v.current&&q(a instanceof Error?a.message:c("detailFailed")),null}finally{w.current&&l===v.current&&o(!1)}},B=async(a,b)=>{if(!x.length||n)return;q(null);let d="default"===r?null:dL.safeParse("custom"===r?{mode:r,registry:t}:{mode:r});if(d&&!d.success)return void q(c("invalidRegistry"));let e={...h?{tag:h}:{},...d?.success?{downloadSource:d.data}:{}};if(x.length>1){let a=x.map(dF);if(x.length>32||a.some(a=>!a))return void q(c(x.length>32?"batchLimit":"batchNpmOnly"));let d=new Map;return a.forEach(a=>{a&&d.set(a.name,{source:`npm:${a.name}${a.version?`@${a.version}`:""}`,...e})}),void b([...d.values()])}if(!y)return void a({source:x[0]});let f=l?Promise.resolve(l):A(j??void 0),g=v.current,i=await f;if(i&&w.current&&g===v.current){if(!1===i.compatible)return void q(c("installIncompatible"));a({source:`npm:${i.name}${j||y.version?`@${j??y.version}`:""}`,registry:i.registry,...e},i)}};return{open:d,setOpen:e,source:f,sources:x,tag:h,selectedVersion:j??"",setTag:a=>{z(),k(null),i(a)},changeSource:a=>{z(),k(null),g(a)},spec:y,detail:l,loading:n,error:p,override:r,setOverride:a=>{z(),s(a)},registry:t,setRegistry:a=>{z(),u(a)},loadDetail:A,install:B}}(c,b?.plugins),z=a||v.requests.has("reload"),A=new Map(v.pluginHost.getFailedEntries().map(a=>[a.pluginName,a.error.message])),B=v.pluginHost.getEntryListError(),C=b?.plugins.find(a=>a.source===v.detailSource),D=w.selection?b?.plugins.find(a=>a.source.startsWith("npm:")&&dF(a.source)?.name===w.selection?.name):void 0,E=w.selection?dH(`npm:${w.selection.name}`):"",F=dH(y.detail?`npm:${y.detail.name}`:y.spec?`npm:${y.spec.name}`:y.source.trim()),G=b?.plugins.find(a=>dH(a.source)===F),H=a=>{let c=b?.plugins.find(b=>dH(b.source)===dH(a));return v.requests.has(dH(a))||!!(c?.operation&&"failed"!==c.operation.phase)},I=H(`npm:${w.selection?.name??""}`),J=y.sources.some(H),K=y.sources.map(a=>{let c=dH(a),d=b?.plugins.find(a=>dH(a.source)===c),e=v.errors[c]??(d?.operation?.phase==="failed"?d.operation.message:null);return e?`${a}: ${e}`:null}).filter(Boolean).join("\n"),L=!!(v.detailSource||w.selection),M=(0,O.useRef)(null),P=(0,O.useRef)(null),Q=()=>{P.current=document.activeElement instanceof HTMLElement?document.activeElement:null},R=a=>{let c=b?.plugins.find(b=>dF(b.source)?.name===a.name);return{...a,version:c?.updateTag??"latest"}},S=a=>b?.plugins.filter(b=>"extension"!==b.kind&&!0===b.updateAvailable&&!H(b.source)&&(!a||p.has(dH(b.source)))).map(a=>a.source)??[],T=a=>a?f(`phase_${a}`):null,U=()=>{i("installed"),y.setOpen(!0)};return(0,N.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,N.jsxs)("header",{className:"shrink-0 space-y-3 border-b p-4 sm:px-6",children:[L?(0,N.jsxs)(ae.$,{ref:M,size:"sm",variant:"ghost",className:"-ml-2",onClick:()=>{v.closeDetail(),w.closeDetail()},children:[(0,N.jsx)(aj.A,{}),f("backToList")]}):null,(0,N.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,N.jsx)("h2",{className:"min-w-0 text-xl font-semibold [overflow-wrap:anywhere]",children:L?C?dG(C):w.selection?.name??f("details"):f("title")}),(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[L?null:(0,N.jsxs)(cG.AM,{children:[(0,N.jsxs)(cG.Wv,{render:(0,N.jsx)(ae.$,{size:"sm",variant:"ghost"}),children:[f("downloadSource"),":",x.loading&&!x.settings?f("loading"):f(`download_${x.settings?.downloadSource.mode??x.mode}`),(0,N.jsx)(cy.A,{className:"size-4"})]}),(0,N.jsx)(cG.hl,{align:"end",positionerClassName:"z-[150]",className:"w-80 max-w-[calc(100vw-2rem)]",children:(0,N.jsx)(dU,{id:"plugin-default-download",mode:x.mode,registry:x.registry,savedRegistry:x.settings?.downloadSource.mode==="custom"?x.settings.downloadSource.registry:void 0,recommendedRegistry:x.settings?.recommendedRegistry,loading:x.loading,saving:x.saving,error:x.error,onMode:a=>{"default"!==a&&x.changeMode(a)},onRegistry:x.setRegistry,onSave:()=>void x.save(),onRetry:()=>void x.retry()})})]}),a||b?.restartRequired?(0,N.jsx)(ae.$,{size:"sm",variant:"outline",disabled:v.requests.has("reload"),onClick:()=>v.setConfirmation({kind:"reload",mode:a?"normal":void 0}),children:f(a?"restartNormal":"restartApply")}):null]})]}),a?(0,N.jsx)("p",{role:"status",className:"rounded-lg bg-muted p-3 text-sm",children:f("basicModeNotice")}):null,b?.restartRequired?(0,N.jsx)("p",{role:"status",className:"text-sm text-muted-foreground",children:f("pendingRestart")}):null,b?.loadError||B?(0,N.jsxs)("div",{role:"alert",className:"max-h-32 space-y-1 overflow-y-auto text-sm text-destructive",children:[b?.loadError?(0,N.jsx)("p",{className:"[overflow-wrap:anywhere]",children:(0,cE.fD)(b.loadError,g)}):null,B?(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,N.jsx)("p",{className:"min-w-0 [overflow-wrap:anywhere]",children:B}),(0,N.jsx)(ae.$,{size:"sm",variant:"outline",disabled:v.requests.has("entries"),onClick:()=>void v.refreshEntries(),children:f("retry")})]}):null]}):null,v.errors.reload||v.errors.entries?(0,N.jsx)("p",{role:"alert",className:"text-sm text-destructive [overflow-wrap:anywhere]",children:v.errors.reload??v.errors.entries}):null]}),(0,N.jsxs)(c0,{value:h,onValueChange:a=>i(String(a)),className:`min-h-0 flex-1 gap-0 ${L?"hidden":""}`,children:[(0,N.jsx)("div",{className:"shrink-0 border-b px-4 pt-2 sm:px-6",children:(0,N.jsxs)(c2,{variant:"line","aria-label":f("title"),className:"h-9",children:[(0,N.jsxs)(c3,{value:"installed",className:"px-3",children:[f("installedTab"),b?(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:b.plugins.length}):null]}),(0,N.jsx)(c3,{value:"search",className:"px-3",children:f("searchPlugins")})]})}),(0,N.jsx)(c4,{value:"installed",keepMounted:!0,className:"pi-desk-chat-scrollbar min-h-0 overflow-y-auto p-4 data-[hidden]:hidden sm:p-6",children:(0,N.jsxs)("div",{className:"space-y-4",children:[y.open?(0,N.jsx)(op,{source:y.source,isNpm:!!y.spec,multiple:y.sources.length>1,tag:y.tag,selectedVersion:y.selectedVersion,onTag:y.setTag,detail:y.detail,loading:y.loading,pending:J,disabled:z,error:y.error??(K||null),operationMessage:J?T(G?.operation?.phase)??f("submitting"):null,override:y.override,registry:y.registry,onSource:y.changeSource,onMode:y.setOverride,onRegistry:y.setRegistry,onRead:()=>void y.loadDetail(),onVersion:a=>void y.loadDetail(a),onInstall:()=>void y.install(v.requestInstall,a=>v.setConfirmation({kind:"batch",input:{action:"add",items:a}})),onClose:()=>y.setOpen(!1)}):null,(0,N.jsx)(d3,{snapshot:b,loading:v.loading,filter:j,statusFilter:l,batchMode:n,selected:p,onStatusFilter:m,onBatchMode:a=>{o(a),a||q(new Set)},onSelect:(a,b)=>{q(c=>{let d=new Set(c);return a.forEach(a=>{b?d.add(a):d.delete(a)}),d})},onUpdateAll:()=>void v.executeBatch({action:"update",sources:S(!1)}),onUpdateSelected:()=>void v.executeBatch({action:"update",sources:S(!0)}),onRemoveSelected:()=>v.setConfirmation({kind:"batch",input:{action:"del",sources:b?.plugins.filter(a=>p.has(dH(a.source))&&!H(a.source)).map(a=>a.source)??[]}}),disabled:z,requests:v.requests,errors:v.errors,browserErrors:A,onFilter:k,onDetail:a=>{Q(),w.closeDetail(),v.openDetail(a)},onAction:v.handleControlAction,onRefresh:()=>void v.refresh()}),b?.plugins.length||y.open?null:(0,N.jsx)(ae.$,{size:"sm",variant:"outline",disabled:z,onClick:U,children:f("directInstall")})]})}),(0,N.jsx)(c4,{value:"search",keepMounted:!0,className:"pi-desk-chat-scrollbar min-h-0 overflow-y-auto p-4 data-[hidden]:hidden sm:p-6",children:(0,N.jsx)(d4,{query:w.query,kind:w.kind,searchSource:w.searchSource,registry:w.registry,items:w.items,loading:w.loading,error:w.error,searched:w.searched,hasMore:w.hasMore,disabled:z,snapshot:b,requests:v.requests,preparing:w.preparing,errors:v.errors,installErrors:w.installErrors,onQuery:w.setQuery,onCompositionStart:w.beginComposition,onCompositionEnd:w.endComposition,onKind:w.setKind,onSearchSource:a=>{w.setSearchSource(a),"custom"!==a||w.registry||x.settings?.downloadSource.mode!=="custom"||w.setRegistry(x.settings.downloadSource.registry)},onRegistry:w.setRegistry,onDetail:a=>{Q(),v.closeDetail(),s(""),u(!1),w.openDetail(R(a))},onInstall:a=>{w.prepareInstall(R(a),a=>v.requestInstall({source:`npm:${a.name}`,registry:a.registry},a))},onUpdate:a=>void v.execute({kind:"update",source:a}),onMore:w.loadMore,onRetry:w.retry,onDirectInstall:U})})]}),L?(0,N.jsx)("div",{className:"pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto p-4 sm:p-6",children:C?(0,N.jsxs)("div",{className:"min-w-0 space-y-5",children:[(0,N.jsxs)("div",{className:"space-y-3",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm text-muted-foreground",children:[C.version?(0,N.jsxs)("span",{children:["v",C.version]}):null,C.updateAvailable?(0,N.jsx)("span",{className:"rounded-md bg-status-success/10 px-2 py-0.5 text-xs font-medium text-status-success",children:C.availableVersion?f("newVersion",{version:C.availableVersion}):f("updateAvailable")}):null]}),(0,N.jsx)(dD,{plugin:C,displayName:dG(C),browserError:C.pluginName?A.get(C.pluginName)??null:null,disabled:z,pending:H(C.source),browserRetryPending:v.requests.has(`entry:${C.pluginName}`),onAction:a=>v.handleControlAction(C,a)})]}),C.description?(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:(0,cE.fD)(C.description,g)}):null,(0,N.jsx)(dE,{plugin:C,requestError:v.errors[dH(C.source)],browserError:C.pluginName?A.get(C.pluginName)??null:null})]}),(0,N.jsxs)(cz.Nt,{className:"rounded-lg border",children:[(0,N.jsxs)(cz.R6,{className:"group flex min-h-9 w-full items-center justify-between px-3 text-sm font-medium outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[f("advancedOptions"),(0,N.jsx)(cy.A,{className:"size-4 transition-transform group-aria-expanded:rotate-180"})]}),(0,N.jsx)(cz.Ke,{keepMounted:!0,className:"hidden data-open:block",children:(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-3 px-3 pb-3",children:[C.source.startsWith("npm:")?(0,N.jsx)(ol,{value:C.updateTag??"latest",label:f("installChannel"),disabled:z||H(C.source),onChange:a=>void v.executeBatch({action:"tag",sources:[C.source],tag:a})}):null,(0,N.jsx)(ae.$,{size:"sm",variant:"outline",disabled:z||H(C.source)&&C.operation?.phase!=="waiting",onClick:()=>v.handleControlAction(C,"reload"),children:f("reloadOne")})]})})]}),v.detailLoading?(0,N.jsx)("p",{role:"status",className:"text-sm text-muted-foreground",children:f("loadingPackage")}):null,v.detail?.readme?(0,N.jsx)(ok,{readme:v.detail.readme},C.source):null,(0,N.jsxs)(cz.Nt,{className:"border-t pt-2",children:[(0,N.jsxs)(cz.R6,{className:"group flex min-h-9 w-full items-center justify-between text-sm font-medium outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[f("capabilityDetails"),(0,N.jsx)(cy.A,{className:"size-4 transition-transform group-aria-expanded:rotate-180"})]}),(0,N.jsx)(cz.Ke,{keepMounted:!0,className:"hidden data-open:block",children:(0,N.jsx)(dm,{plugin:C,detail:v.detail,detailLoading:v.detailLoading,detailError:v.detailError,browserContributions:C.pluginName?v.pluginHost.getRegisteredBrowserDescriptors().find(a=>a.pluginName===C.pluginName)?.contributions??[]:[],onRetry:()=>void v.loadDetail(C.source)})})]}),v.detailError?(0,N.jsxs)("div",{role:"alert",className:"flex items-center gap-2 text-sm text-destructive",children:[(0,N.jsx)("span",{children:v.detailError}),(0,N.jsx)(ae.$,{size:"sm",variant:"outline",onClick:()=>void v.loadDetail(C.source),children:f("retry")})]}):null]}):w.selection?(0,N.jsxs)(N.Fragment,{children:[w.detailLoading?(0,N.jsx)("p",{role:"status",className:"mb-3 text-sm text-muted-foreground",children:f("loadingPackage")}):null,w.detailError?(0,N.jsxs)("div",{role:"alert",className:"mb-3 space-y-2 text-sm",children:[(0,N.jsx)("p",{className:"text-destructive [overflow-wrap:anywhere]",children:w.detailError}),(0,N.jsx)(ae.$,{size:"sm",variant:"outline",onClick:()=>void w.loadDetail(w.selection),children:f("retry")})]}):null,w.detail?(0,N.jsx)(on,{detail:w.detail,disabled:z||!!w.detailError,pending:I||w.detailLoading,installed:!!(D&&(D.operation?.action!=="add"||"failed"!==D.operation.phase)),installedVersion:D?.version??null,updateAvailable:!!D?.updateAvailable,error:w.installErrors[w.detail.name]??v.errors[E]??(D?.operation?.phase==="failed"?D.operation.message:null),operationMessage:w.detailLoading?f("loadingPackage"):T(D?.operation?.phase),channel:r,onChannel:a=>{s(a),u(!1),w.loadDetail(w.selection,a||D?.updateTag||"latest")},downloadMode:w.downloadMode,downloadRegistry:w.downloadRegistry,onDownloadMode:w.setDownloadMode,onDownloadRegistry:w.setDownloadRegistry,onVersion:a=>{u(!0),w.loadDetail(w.selection,a)},onInstall:()=>w.installDetail((a,b)=>v.requestInstall({...a,source:t?a.source:`npm:${b.name}`,...r?{tag:r}:{}},b)),onUpdate:()=>{D&&v.execute({kind:"update",source:D.source})}}):null]}):(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:f("pluginRemoved")})}):null,(0,N.jsx)(oq,{confirmation:v.confirmation,onClose:()=>v.setConfirmation(null),onConfirm:a=>void v.execute(a)})]})}var os=c(98945);let ot=Q.Yj().trim().min(1).max(2048),ou=Q.YO(ot).min(1).max(32),ov=Q.Ik({phase:Q.k5(["package","entry","setup","resources","resolve","native"]),message:cE.qf.refine(a=>"string"==typeof a?a.length>0:a.default.length>0)}).strict(),ow=Q.Yj().trim().min(1).max(4096),ox=Q.Yj().trim().min(1).max(256),oy=Q.Yj().max(32768),oz=Q.Ik({name:ox,label:oy,state:Q.k5(["active","inactive","shadowed"]),description:oy,promptSnippet:oy.nullable(),promptGuidelineCount:Q.ai().int().nonnegative(),promptGuidelinePreview:oy.nullable()}).strict(),oA=Q.Ik({name:ox,label:oy,state:Q.k5(["active","inactive","shadowed"]),description:oy,parameters:os.Dz,promptSnippet:oy.nullable(),promptGuidelines:Q.YO(oy)}).strict(),oB=Q.Ik({path:ow,events:Q.YO(Q.Ik({name:ox,count:Q.ai().int().positive()}).strict()),commands:Q.YO(Q.Ik({name:ox,description:oy.nullable()}).strict()),shortcuts:Q.YO(Q.Ik({shortcut:ox,description:oy.nullable()}).strict()),flags:Q.YO(Q.Ik({name:ox,type:Q.k5(["boolean","string"]),description:oy.nullable(),default:Q.KC([Q.zM(),Q.Yj(),Q.ch()])}).strict()),messageRenderers:Q.YO(ox),entryRenderers:Q.YO(ox)}).strict(),oC=Q.Ik({name:ox,description:oy,path:ow}).strict(),oD=oC.extend({modelVisible:Q.zM()}).strict(),oE=oC.extend({content:Q.Yj().max(65536),truncated:Q.zM()}).strict(),oF=oE.extend({modelVisible:Q.zM()}).strict(),oG=Q.Ik({name:ox,path:ow}).strict(),oH=Q.Ik({name:ox,kind:Q.k5(["config","native"])}).strict(),oI=Q.Ik({methods:Q.YO(Q.Ik({pluginName:ox,method:ox}).strict()),browserEntries:Q.YO(Q.Ik({pluginName:ox}).strict()),messageDeclarations:Q.YO(Q.Ik({pluginName:ox,declarationName:ox,priority:Q.ai().int().safe()}).strict())}).strict(),oJ=Q.Ik({error:cE.qf.refine(a=>"string"==typeof a?a.length<=32768:[a.default,...Object.values(a.translations)].every(a=>a.length<=32768)).nullable(),extensions:Q.YO(oB),tools:Q.YO(oz),skills:Q.YO(oD),prompts:Q.YO(oC),themes:Q.YO(oG),providers:Q.YO(oH),piDesk:oI}).strict(),oK=Q.Ik({action:Q.k5(["add","update","del","apply","enable","disable"]),phase:Q.k5(["queued","checking","applying","waiting","failed"]),message:Q.Yj().max(4e3).nullable()}).strict(),oL=(0,R._G)({path:"plugins/management-update",bodySchema:Q.Ik({}).strict()}),oM=Q.Ik({source:ot,kind:Q.k5(["package","extension"]).default("package"),operation:oK.nullable().default(null),pluginName:Q.Yj().trim().min(1).nullable(),description:cE.qf.nullable().default(null),version:Q.Yj().trim().min(1).nullable(),updateAvailable:Q.zM().nullable(),updateTag:dJ.nullable().optional(),availableVersion:Q.Yj().min(1).nullable().optional(),updateError:Q.Yj().max(4e3).nullable().optional(),status:Q.k5(["ready","available","disabled","failed"]),error:ov.nullable(),capabilities:oJ}).strict(),oN=Q.Ik({source:ot,readme:cE.qf.nullable().default(null),tools:Q.YO(oA),skills:Q.YO(oF),prompts:Q.YO(oE)}).strict(),oO=Q.Ik({plugins:Q.YO(oM),restartRequired:Q.zM(),loadError:cE.qf.refine(a=>"string"==typeof a?a.length>0:a.default.length>0).nullable()}).strict(),oP=Q.Ik({sources:Q.YO(ot).min(1).max(32).optional()}).strict(),oQ=Q.Ik({}).strict().extend({mode:Q.k5(["normal","basic"]).optional()}).strict(),oR=Q.Ik({checkUpdates:Q.zM().optional(),sources:ou.optional(),tag:dJ.optional()}).strict(),oS=Q.Ik({source:ot}).strict(),oT=oS.extend({downloadSource:dL.optional(),registry:dK.optional(),tag:dJ.optional()}).strict(),oU=Q.gM("action",[Q.Ik({action:Q.eu("add"),items:Q.YO(oT).min(1).max(32)}).strict(),Q.Ik({action:Q.eu("update"),sources:ou}).strict(),Q.Ik({action:Q.eu("del"),sources:ou}).strict(),Q.Ik({action:Q.eu("tag"),sources:ou,tag:dJ}).strict()]),oV=Q.Ik({snapshot:oO,results:Q.YO(Q.Ik({source:ot,error:Q.Yj().max(4e3).nullable()}).strict()).max(32)}).strict(),oW=oS.extend({enabled:Q.zM()}).strict();async function oX(a,b,c,d){return b3(a,b,c,d,{fallbackMessage:"插件管理请求失败"})}function oY({pluginName:a,descriptor:b,source:c,cwd:d,onPreviewFile:e,onRevealFile:f}){let g=`${c.workId}\u0000${c.sessionId}\u0000${c.branchId}\u0000${d}`;return(0,N.jsx)(cB,{pluginName:a,kind:"session-sidebar-tab",contributionName:b.contributionName,target:{kind:"session-sidebar-tab",source:c,cwd:d,files:{preview:e,reveal:f}},targetKey:g,layout:"fill"})}function oZ({pluginName:a,descriptor:b,onClose:c,onBeforeLeaveChange:d}){let e=(0,bR.t4)();(0,bR.So)();let f=e.getEntryState(a);"ready"===f.status?f.runtime:f.status;let g=(0,O.useMemo)(()=>({kind:"settings-page",close:()=>{e.getEntryState(a)===f&&c()},setBeforeLeave:b=>{e.getEntryState(a)===f&&d(b)}}),[f,d,c,a,e]);return(0,N.jsx)(cB,{pluginName:a,kind:"settings-page",contributionName:b.contributionName,target:g,className:"pi-desk-chat-scrollbar h-full min-h-0 overflow-auto"})}let o$=(0,ac.A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]);var o_=c(91477);let o0=(0,ac.A)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]);var o1=c(9665),o2=c(60816);let o3="1.1.5-dev".trim()||"未知",o4="2026-10-10T17:39:33+08:00".trim()||null;var o5=c(68578),o6=c(22207),o7=c(57537),o8=c(5090),o9=c(96478),pa=c(23423),pb=c(51949);let pc=Q.Yj().min(1).max(pb.uV).refine(a=>!a.includes("\0")&&(a.startsWith("/")||a.startsWith("\\\\")||/^[a-zA-Z]:[\\/]/.test(a)),"必须是绝对路径"),pd=Q.Ik({cwd:pa.m4.nullable()}).strict(),pe=Q.Ik({skillPath:pc,name:Q.Yj().min(1),description:Q.Yj(),packageSource:Q.Yj().nullable()}).strict(),pf=Q.Ik({skills:Q.YO(pe),diagnostics:Q.YO(Q.Ik({path:Q.Yj(),message:cE.qf}).strict())}).strict(),pg=pd.extend({skillPath:pc}),ph=pg.extend({path:pb.rh}).strict(),pi=Q.Ik({entries:Q.YO(Q.Ik({name:Q.Yj().min(1),type:Q.k5(["directory","file"])}).strict()).max(pb.xm),truncated:Q.zM()}).strict(),pj=pg.extend({path:pb._g}).strict(),pk=Q.gM("kind",[Q.Ik({kind:Q.eu("text"),content:Q.Yj(),size:Q.ai().int().nonnegative().max(pb.NL),readOnlyReason:cE.qf.nullable()}).strict(),Q.Ik({kind:Q.eu("image"),mimeType:pb.CT,data:Q.Yj(),size:Q.ai().int().nonnegative()}).strict(),Q.Ik({kind:Q.eu("unsupported"),size:Q.ai().int().nonnegative(),reason:Q.Yj()}).strict()]),pl=pj.extend({content:Q.Yj().max(pb.NL)}).strict(),pm=Q.Ik({}).strict(),pn={path:"/api/skills/list",request:pd,response:pf},po={path:"/api/skill-files/list",request:ph,response:pi},pp={path:"/api/skill-files/get",request:pj,response:pk},pq={path:"/api/skill-files/replace",request:pl,response:pm},pr=Q.Ik({code:Q.ai(),msg:Q.Yj(),data:Q.L5(),i18n:o8.N.optional()});async function ps(a,b,c,d){let e=await fetch(b.path,{method:"POST",headers:{"Content-Type":"application/json","X-Pi-Desk-Client-Id":a},body:JSON.stringify(b.request.parse(c)),signal:d}),f=pr.parse(await e.json());if(!e.ok||0!==f.code||null===f.data)throw Error(f.msg?(0,b2.B)(f):"Skills 请求失败");return b.response.parse(f.data)}function pt(a){(0,o9.ZQ)({wrapLines:a})}async function pu(a){let b=a.skillPath.replaceAll("\\","/");await navigator.clipboard.writeText(b.slice(0,b.lastIndexOf("/")+1)+a.path)}var pv=c(60632);function pw(a){return(0,b2.B)({msg:pv.P["zh-CN"][a],i18n:{key:`skills:${a}`}})}function px(a){return JSON.stringify(a)}function py(a){return JSON.stringify([a.cwd,a.skillPath,a.path])}function pz(a){return a.replace(/\r\n|\r/g,"\n")}function pA(a){return a?.file?.kind==="text"&&a.draft!==pz(a.file.content)}let pB=(0,ac.A)("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]),pC=(0,ac.A)("lock-keyhole",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]);var pD=c(51314);function pE(a){let{t:b}=(0,aa.Bd)("common"),{wrapLines:c}=(0,o9.TX)();a.path;let d=(0,O.useRef)(null);(0,O.useRef)(null),(0,O.useRef)(null),(0,O.useRef)(null),(0,O.useRef)(null),(0,O.useRef)(0),(0,O.useRef)(a);let[e,f]=(0,O.useState)(!1),[g,h]=(0,O.useState)(!1);return(0,N.jsxs)("div",{"data-testid":"code-editor",className:"relative h-full min-h-0 w-full overflow-hidden bg-background",children:[(0,N.jsx)("div",{ref:d,className:"size-full"}),!g&&(0,N.jsx)("div",{role:"status",className:"absolute inset-0 flex items-center justify-center p-6 text-sm text-muted-foreground",children:b(e?"editorFailed":"editorLoading")})]})}c(82386);var pF=c(85544);function pG({file:a,path:b}){let{t:c}=(0,aa.Bd)("skills"),d=(0,O.useMemo)(()=>[{src:`data:${a.mimeType};base64,${a.data}`,alt:b}],[a,b]);return(0,N.jsx)(pF.k,{mode:"inline",slides:d,className:"h-full w-full",ariaLabel:c("imagePreview")})}function pH(a){let{document:b,skill:c,dirty:d,loading:e,saving:f,opening:g}=a,{t:h}=(0,aa.Bd)("skills"),{locale:i}=(0,cF.i)();if(!b)return(0,N.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 px-6 text-center",children:[(0,N.jsx)(pB,{className:"size-6 text-muted-foreground"}),(0,N.jsx)("h3",{className:"text-sm font-medium",children:h("chooseFile")}),(0,N.jsx)("p",{className:"max-w-xs text-sm leading-6 text-muted-foreground",children:h("chooseFileDescription")})]});let j=b.file,k=j?.kind==="text"?j.readOnlyReason:null;return(0,N.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,N.jsxs)("div",{className:"flex min-h-14 shrink-0 flex-wrap items-center gap-2 border-b px-4 py-2",children:[(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsxs)("p",{className:"truncate text-xs text-muted-foreground",title:c?.description,children:[c?.name??b.target.skillPath.split("/").at(-2),(0,N.jsx)("span",{className:"mx-1.5",children:"/"}),h(null===b.target.cwd?"global":"project"),` \xb7 ${h(c?.packageSource?"package":"local")}`]}),(0,N.jsx)("p",{className:"mt-1 truncate font-mono text-sm",title:b.target.path,children:b.target.path})]}),j?.kind==="text"&&(0,N.jsxs)("span",{role:"status","aria-label":h(f?"saving":g?"switchingFile":d?"unsavedChanges":k?"readOnlyFile":"fileSaved"),className:"hidden shrink-0 items-center gap-1 text-xs text-muted-foreground sm:flex",children:[f||g?(0,N.jsx)(ab.A,{className:"size-3.5 animate-spin"}):d?(0,N.jsx)("span",{className:"size-1.5 rounded-full bg-status-warning"}):k?(0,N.jsx)(pC,{className:"size-3.5"}):(0,N.jsx)(bB.A,{className:"size-3.5"}),h(f?"saving":g?"switchingFile":d?"unsaved":k?"readOnly":"saved")]}),d&&(0,N.jsx)("span",{"aria-label":h("unsavedChanges"),className:"size-2 shrink-0 rounded-full bg-status-warning sm:hidden"}),(0,N.jsx)(ae.$,{variant:"ghost",size:"icon","aria-label":h("copySkillPath"),title:h("copyPath"),onClick:a.onCopy,children:(0,N.jsx)(bU.A,{className:"size-4"})}),(0,N.jsxs)(ae.$,{"aria-label":h("saveSkill"),disabled:!d||!!k||e||f,onClick:a.onSave,children:[f?(0,N.jsx)(ab.A,{className:"size-4 animate-spin"}):(0,N.jsx)(bT,{className:"size-4"}),h("save")]})]}),k&&(0,N.jsxs)("div",{role:"note",className:"flex shrink-0 items-start gap-2 border-b bg-muted px-4 py-2 text-sm leading-5 text-muted-foreground",children:[(0,N.jsx)(pC,{className:"mt-0.5 size-3.5 shrink-0"}),(0,N.jsx)("p",{children:(0,cE.fD)(k,i)})]}),b.error&&(0,N.jsxs)("div",{role:"alert",className:"shrink-0 border-b bg-muted px-4 py-2 text-sm text-destructive",children:[b.error,!j&&(0,N.jsx)(ae.$,{variant:"ghost",size:"sm",onClick:a.onReload,children:h("reload")})]}),(0,N.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:e&&!j?(0,N.jsxs)("div",{role:"status",className:"flex h-full items-center justify-center gap-2 text-sm text-muted-foreground",children:[(0,N.jsx)(ab.A,{className:"size-4 animate-spin"}),h("loadingFile")]}):j?.kind==="text"?(0,N.jsx)(pE,{path:b.target.skillPath.slice(0,b.target.skillPath.lastIndexOf("/")+1)+b.target.path,content:b.draft,size:j.size,readOnly:!!k||f||g,onChange:a.onChange,onSave:a.onSave}):j?.kind==="image"?(0,N.jsx)(pG,{file:j,path:b.target.path}):j?.kind==="unsupported"?(0,N.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-6 text-center text-sm text-muted-foreground",children:[(0,N.jsx)(pB,{className:"mb-2 size-8"}),(0,N.jsx)("p",{children:j.reason}),(0,N.jsx)("p",{children:h("fileSize",{size:j.size.toLocaleString("en"===i?"en-US":"zh-CN")})})]}):null}),j?.kind==="text"&&(0,N.jsxs)("div",{className:"flex min-h-9 shrink-0 items-center justify-between gap-2 border-t px-3 py-1 text-xs text-muted-foreground",children:[(0,N.jsxs)("span",{className:"truncate",children:["UTF-8 \xb7 ",h(k?"readOnly":"saveShortcut")]}),(0,N.jsxs)(ae.$,{variant:"ghost",size:"sm","aria-label":h("wrapLines"),"aria-pressed":a.wrapLines,onClick:a.onWrapLines,children:[(0,N.jsx)(pD.A,{className:"size-3.5"}),h("wrapLines")]})]})]})}function pI({open:a,saving:b,path:c,error:d,onDecide:e}){let{t:f}=(0,aa.Bd)("skills");return(0,N.jsx)(cf.YV,{open:a,onOpenChange:a=>{a||b||e("cancel")},children:(0,N.jsxs)(cf.hA,{className:"z-[150]",showCloseButton:!b,children:[(0,N.jsxs)(cf.Hl,{className:"p-4 pr-12",children:[(0,N.jsx)(cf.YM,{children:f("saveChangesTitle")}),(0,N.jsx)(cf.uX,{children:f("saveChangesDescription",{path:c??""})})]}),d&&(0,N.jsx)("p",{role:"alert",className:"px-4 pb-4 text-sm text-destructive",children:d}),(0,N.jsxs)(cf.vu,{children:[(0,N.jsx)(ae.$,{variant:"outline",disabled:b,onClick:()=>void e("cancel"),children:f("cancel")}),(0,N.jsx)(ae.$,{variant:"ghost",disabled:b,onClick:()=>void e("discard"),children:f("discard")}),(0,N.jsx)(ae.$,{disabled:b,onClick:()=>void e("save"),children:f(b?"savingChanges":"saveContinue")})]})]})})}var pJ=c(5782);let pK=(0,ac.A)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);var pL=c(89101);function pM(a,b){return!!(a&&a.cwd===b.cwd&&a.skillPath===b.skillPath&&a.path===b.path)}function pN({target:a,props:b,depth:c=0,skillName:d}){let{t:e}=(0,aa.Bd)("skills"),f=b.directories[py(a)],{onLoadDirectory:g}=b;return f?.error?(0,N.jsxs)("div",{className:"px-3 py-2 text-xs text-destructive",children:[f.error,(0,N.jsx)(ae.$,{variant:"ghost",size:"sm",onClick:()=>void b.onLoadDirectory(a),children:e("retryFolder")})]}):f?.data?(0,N.jsxs)("div",{className:"relative ml-5 border-l border-border/70 py-1 pl-3",children:[f.data.entries.map(f=>{let g=a.path?`${a.path}/${f.name}`:f.name,h={...a,path:g};if("directory"===f.type)return(0,N.jsx)(pO,{target:h,props:b,depth:c,name:f.name,skillName:d},g);let i=pM(b.selected,h),j=pM(b.pending,h);return(0,N.jsxs)(ae.$,{variant:"ghost","aria-label":e("skillFile",{path:`${d}/${g}`}),"aria-pressed":i,title:g,className:(0,ag.cn)("min-h-9 w-full justify-start text-left font-normal text-muted-foreground",i&&"font-medium",j&&"bg-muted text-foreground"),onClick:()=>void b.onOpenFile(h),children:["SKILL.md"===f.name?(0,N.jsx)(pJ.A,{className:"size-3.5 shrink-0"}):(0,N.jsx)(pB,{className:"size-3.5 shrink-0"}),(0,N.jsx)("span",{className:"min-w-0 flex-1 truncate",children:f.name}),j&&(0,N.jsx)(ab.A,{className:"size-3.5 shrink-0 animate-spin"})]},g)}),0===f.data.entries.length&&(0,N.jsx)("p",{className:"px-3 py-2 text-xs text-muted-foreground",children:e("emptyFolder")}),f.data.truncated&&(0,N.jsx)("p",{className:"px-3 py-2 text-sm text-status-warning",children:e("folderTruncated")})]}):(0,N.jsx)("p",{role:"status",className:"px-4 py-2 text-xs text-muted-foreground",children:e("loadingFolder")})}function pO({target:a,props:b,depth:c,name:d,skillName:e}){let{t:f}=(0,aa.Bd)("skills"),[g,h]=(0,O.useState)(!1);return(0,N.jsxs)("div",{children:[(0,N.jsxs)(ae.$,{variant:"ghost","aria-expanded":g,"aria-label":f("skillFolder",{path:`${e}/${a.path}`}),className:(0,ag.cn)("min-h-9 w-full justify-start font-normal text-muted-foreground",g&&"bg-muted text-foreground"),onClick:()=>h(!g),children:[g?(0,N.jsx)(cy.A,{className:"size-3.5 shrink-0"}):(0,N.jsx)(bA.A,{className:"size-3.5 shrink-0"}),(0,N.jsx)(cp.A,{className:"size-3.5 shrink-0"}),(0,N.jsx)("span",{className:"truncate",children:d})]}),g&&(0,N.jsx)("div",{className:c>3?"-ml-3":void 0,children:(0,N.jsx)(pN,{target:a,props:b,depth:c+1,skillName:e})})]})}function pP({cwd:a,skill:b,props:c}){let{t:d}=(0,aa.Bd)("skills"),e=c.selected?.cwd===a&&c.selected.skillPath===b.skillPath,f=c.pending?.cwd===a&&c.pending.skillPath===b.skillPath,[g,h]=(0,O.useState)(null),i=g??e,j=async()=>{if(i)return void h(!1);let d=b.skillPath.replaceAll("\\","/").split("/").at(-1);await c.onOpenFile({cwd:a,skillPath:b.skillPath,path:d})&&h(!0)};return(0,N.jsxs)("div",{className:"py-0.5",children:[(0,N.jsxs)(ae.$,{variant:"ghost","aria-label":d("skillName",{name:b.name}),"aria-expanded":i,title:`${b.description}
583
+ </iframe>`},"putIntoIFrame"),nQ=(0,kC.K)((a,b,c,d,e)=>{let f=a.append("div");f.attr("id",c),d&&f.attr("style",d);let g=f.append("svg").attr("id",b).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return e&&g.attr("xmlns:xlink",e),g.append("g"),a},"appendDivSvgG");function nR(a,b){return a.append("iframe").attr("id",b).attr("style","width: 100%; height: 100%;").attr("sandbox","")}(0,kC.K)(nR,"sandboxedIframe");var nS=(0,kC.K)((a,b,c,d)=>{a.getElementById(b)?.remove(),a.getElementById(c)?.remove(),a.getElementById(d)?.remove()},"removeExistingElements"),nT=(0,kC.K)(async function(a,b,c){let d,e;ns();let f=nI(b);b=f.code;let g=(0,kA.zj)();kB.R.debug(g),b.length>(g?.maxTextSize??5e4)&&(b="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");let h=`#${a}`,i="i"+a,j="#"+i,k="d"+a,l="#"+k,m=(0,kC.K)(()=>{let a=o?j:l,b=(0,kE.Ltv)(a).node();b&&"remove"in b&&b.remove()},"removeTempElements"),n=(0,kE.Ltv)(document.body),o="sandbox"===g.securityLevel,p="loose"===g.securityLevel,q=g.fontFamily;if(void 0!==c){if(c&&(c.innerHTML=""),o){let a=nR((0,kE.Ltv)(c),i);(n=(0,kE.Ltv)(a.nodes()[0].contentDocument.body)).node().style.margin="0"}else n=(0,kE.Ltv)(c);nQ(n,a,k,`font-family: ${q}`,"http://www.w3.org/1999/xlink")}else{if(nS(document,a,k,i),o){let a=nR((0,kE.Ltv)(document.body),i);(n=(0,kE.Ltv)(a.nodes()[0].contentDocument.body)).node().style.margin="0"}else n=(0,kE.Ltv)("body");nQ(n,a,k)}try{d=await nw.fromText(b,{title:f.title})}catch(a){if(g.suppressErrorRendering)throw m(),a;d=await nw.fromText("error"),e=a}let r=n.select(l).node(),s=d.type,t=r.firstChild,u=t.firstChild,v=nN(g,s,d.renderer.getClasses?.(b,d),h),w=document.createElement("style");w.innerHTML=v,t.insertBefore(w,u);try{await d.renderer.draw(b,a,"11.16.1",d)}catch(c){throw g.suppressErrorRendering?m():l9.draw(b,a,"11.16.1"),c}nW(s,n.select(`${l} svg`),d.db.getAccTitle?.(),d.db.getAccDescription?.()),n.select(`[id="${a}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let x=n.select(l).node().innerHTML;if(kB.R.debug("config.arrowMarkerAbsolute",g.arrowMarkerAbsolute),x=nO(x,o,(0,kA._3)(g.arrowMarkerAbsolute)),o?x=nP(x,n.select(l+" svg").node()):p||(x=k4.A.sanitize(x,{ADD_TAGS:nG,ADD_ATTR:nH,HTML_INTEGRATION_POINTS:{foreignobject:!0}})),ny(),e)throw e;return m(),{diagramType:s,svg:x,bindFunctions:d.db.bindFunctions}},"render");function nU(a={}){let b=(0,kA.hH)({},a);b?.fontFamily&&!b.themeVariables?.fontFamily&&(b.themeVariables||(b.themeVariables={}),b.themeVariables.fontFamily=b.fontFamily),(0,kA.wZ)(b),b?.theme&&b.theme in kA.H$?b.themeVariables=kA.H$[b.theme].getThemeVariables(b.themeVariables):b&&(b.themeVariables=kA.H$.default.getThemeVariables(b.themeVariables));let c="object"==typeof b?(0,kA.UU)(b):(0,kA.Q2)();(0,kB.H)(c.logLevel),ns()}(0,kC.K)(nU,"initialize");var nV=(0,kC.K)((a,b={})=>{let{code:c}=nE(a);return nw.fromText(c,b)},"getDiagramFromText");function nW(a,b,c,d){nu(b,a),nv(b,c,d,b.attr("id"))}(0,kC.K)(nW,"addA11yInfo");var nX=Object.freeze({render:nT,parse:nJ,getDiagramFromText:nV,initialize:nU,getConfig:kA.zj,setConfig:kA.Nk,getSiteConfig:kA.Q2,updateSiteConfig:kA.B6,reset:(0,kC.K)(()=>{(0,kA.cL)()},"reset"),globalReset:(0,kC.K)(()=>{(0,kA.cL)(kA.sb)},"globalReset"),defaultConfig:kA.sb});(0,kB.H)((0,kA.zj)().logLevel),(0,kA.cL)((0,kA.zj)());var nY=(0,kC.K)((a,b,c)=>{kB.R.warn(a),(0,kz.dq)(a)?(c&&c(a.str,a.hash),b.push({...a,message:a.str,error:a})):(c&&c(a),a instanceof Error&&b.push({str:a.message,message:a.message,hash:a.name,error:a}))},"handleError"),nZ=(0,kC.K)(async function(a={querySelector:".mermaid"}){try{await n$(a)}catch(b){if((0,kz.dq)(b)&&kB.R.error(b.str),oa.parseError&&oa.parseError(b),!a.suppressErrors)throw kB.R.error("Use the suppressErrors option to suppress these errors"),b}},"run"),n$=(0,kC.K)(async function({postRenderCallback:a,querySelector:b,nodes:c}={querySelector:".mermaid"}){let d,e,f=nX.getConfig();if(kB.R.debug(`${!a?"No ":""}Callback function found`),c)d=c;else if(b)d=document.querySelectorAll(b);else throw Error("Nodes and querySelector are both undefined");kB.R.debug(`Found ${d.length} diagrams`),f?.startOnLoad!==void 0&&(kB.R.debug("Start On Load: "+f?.startOnLoad),nX.updateSiteConfig({startOnLoad:f?.startOnLoad}));let g=new kz._K.InitIDGenerator(f.deterministicIds,f.deterministicIDSeed),h=[];for(let b of Array.from(d)){if(kB.R.info("Rendering diagram: "+b.id),b.getAttribute("data-processed"))continue;b.setAttribute("data-processed","true");let c=`mermaid-${g.next()}`;e=b.innerHTML,e=(0,kD.T)(kz._K.entityDecode(e)).trim().replace(/<br\s*\/?>/gi,"<br/>");let d=kz._K.detectInit(e);d&&kB.R.debug("Detected early reinit: ",d);try{let{svg:d,bindFunctions:f}=await n8(c,e,b);b.innerHTML=d,a&&await a(c),f&&f(b)}catch(a){nY(a,h,oa.parseError)}}if(h.length>0)throw h[0]},"runThrowsErrors"),n_=(0,kC.K)(function(a){nX.initialize(a)},"initialize"),n0=(0,kC.K)(async function(a,b,c){kB.R.warn("mermaid.init is deprecated. Please use run instead."),a&&n_(a);let d={postRenderCallback:c,querySelector:".mermaid"};"string"==typeof b?d.querySelector=b:b&&(b instanceof HTMLElement?d.nodes=[b]:d.nodes=b),await nZ(d)},"init"),n1=(0,kC.K)(async(a,{lazyLoad:b=!0}={})=>{ns(),(0,kA.Xd)(...a),!1===b&&await nt()},"registerExternalDiagrams"),n2=(0,kC.K)(function(){if(oa.startOnLoad){let{startOnLoad:a}=nX.getConfig();a&&oa.run().catch(a=>kB.R.error("Mermaid failed to initialize",a))}},"contentLoaded");"u">typeof document&&window.addEventListener("load",n2,!1);var n3=(0,kC.K)(function(a){oa.parseError=a},"setParseErrorHandler"),n4=[],n5=!1,n6=(0,kC.K)(async()=>{if(!n5){for(n5=!0;n4.length>0;){let a=n4.shift();if(a)try{await a()}catch(a){kB.R.error("Error executing queue",a)}}n5=!1}},"executeQueue"),n7=(0,kC.K)(async(a,b)=>new Promise((c,d)=>{let e=(0,kC.K)(()=>new Promise((e,f)=>{nX.parse(a,b).then(a=>{e(a),c(a)},a=>{kB.R.error("Error parsing",a),oa.parseError?.(a),f(a),d(a)})}),"performCall");n4.push(e),n6().catch(d)}),"parse"),n8=(0,kC.K)((a,b,c)=>new Promise((d,e)=>{let f=(0,kC.K)(()=>new Promise((f,g)=>{nX.render(a,b,c).then(a=>{f(a),d(a)},a=>{kB.R.error("Error parsing",a),oa.parseError?.(a),g(a),e(a)})}),"performCall");n4.push(f),n6().catch(e)}),"render"),n9=(0,kC.K)(()=>Object.keys(kA.mW).map(a=>({id:a})),"getRegisteredDiagramsMetadata"),oa={startOnLoad:!0,mermaidAPI:nX,parse:n7,render:n8,init:n0,run:nZ,registerExternalDiagrams:n1,registerLayoutLoaders:kx.sO,initialize:n_,parseError:void 0,contentLoaded:n2,setParseErrorHandler:n3,detectType:kA.Ch,registerIconPacks:ky.pC,getRegisteredDiagramsMetadata:n9},ob={startOnLoad:!1,theme:"default",securityLevel:"strict",fontFamily:"monospace",suppressErrorRendering:!0},oc=function(a={}){let b=!1,c={...ob,...a.config},d={initialize(d){c={...ob,...a.config,...d},oa.initialize(c),b=!0},render:async(a,d)=>(b||(oa.initialize(c),b=!0),await oa.render(a,d))};return{name:"mermaid",type:"diagram",language:"mermaid",getMermaid:a=>(a&&d.initialize(a),d)}}(),od=c(38740);let oe=({className:a,from:b,...c})=>(0,N.jsx)("div",{className:(0,ag.cn)("group flex w-full max-w-[95%] flex-col gap-2","user"===b?"is-user ml-auto justify-end":"is-assistant",a),...c}),of=({children:a,className:b,...c})=>(0,N.jsx)("div",{className:(0,ag.cn)("flex w-fit min-w-0 max-w-full flex-col gap-2 overflow-hidden text-base leading-[1.8]","group-[.is-user]:ml-auto group-[.is-user]:rounded-lg group-[.is-user]:bg-secondary group-[.is-user]:px-4 group-[.is-user]:py-3 group-[.is-user]:text-foreground","group-[.is-assistant]:text-foreground",b),...c,children:a}),og=({tooltip:a,children:b,label:c,variant:d="ghost",size:e="icon-sm",...f})=>{let g=(0,N.jsxs)(ae.$,{size:e,type:"button",variant:d,...f,children:[b,(0,N.jsx)("span",{className:"sr-only",children:c||a})]});return a?(0,N.jsx)(d7.Bc,{children:(0,N.jsxs)(d7.m_,{children:[(0,N.jsx)(d7.k$,{render:g}),(0,N.jsx)(d7.ZI,{children:(0,N.jsx)("p",{children:a})})]})}):g},oh={cjk:fg,code:jS,math:ku,mermaid:oc},oi=(0,O.memo)(({className:a,...b})=>(0,N.jsx)(od.C,{className:(0,ag.cn)("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",a),plugins:oh,...b}),(a,b)=>a.children===b.children&&b.isAnimating===a.isAnimating);oi.displayName="MessageResponse";let oj=({className:a,children:b,...c})=>(0,N.jsx)("div",{className:(0,ag.cn)("mt-4 flex w-full items-center justify-between gap-4",a),...c,children:b});function ok({readme:a}){let{t:b}=(0,aa.Bd)("pluginManagement"),{locale:c}=(0,cF.i)(),[d,e]=(0,O.useState)(null),f=a&&"string"!=typeof a?a.translations:{},g=Object.keys(f).filter(a=>/^(zh(?:-|$)|en(?:-|$))/.test(a)),h=d&&void 0!==f[d]?d:null,i=a?h?f[h]:(0,cE.fD)(a,c):null;return(0,N.jsxs)("section",{className:"min-w-0 space-y-3","aria-label":b("readme"),children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,N.jsx)("h3",{className:"text-sm font-semibold",children:b("readme")}),g.length>0?(0,N.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,N.jsx)("span",{children:b("readmeLanguage")}),(0,N.jsxs)(b$.l6,{value:h??"",onValueChange:a=>e(a||null),children:[(0,N.jsx)(b$.bq,{"aria-label":b("readmeLanguage"),children:(0,N.jsx)(b$.yv,{children:h?h.startsWith("zh")?"中文":"English":b("defaultLanguage")})}),(0,N.jsxs)(b$.gC,{positionerClassName:"z-[160]",children:[(0,N.jsx)(b$.eb,{value:"",children:b("defaultLanguage")}),g.map(a=>(0,N.jsx)(b$.eb,{value:a,children:a.startsWith("zh")?"中文":"English"},a))]})]})]}):null]}),i?(0,N.jsx)("div",{className:"min-w-0 overflow-x-auto text-base leading-relaxed [overflow-wrap:anywhere]",children:(0,N.jsx)(oi,{mode:"static",isAnimating:!1,skipHtml:!0,controls:!1,className:"min-w-0 [&_img]:max-w-full [&_pre]:overflow-x-auto",children:i})}):(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:b("noReadme")})]})}function ol({value:a,label:b,placeholder:c,disabled:d,onChange:e}){let{t:f}=(0,aa.Bd)("pluginManagement"),g=[...c?[{value:"",label:c}]:[],{value:"latest",label:f("channelLatest")},{value:"dev",label:f("channelDev")},...a&&!["latest","dev"].includes(a)?[{value:a,label:a}]:[]];return(0,N.jsxs)(b$.l6,{value:a,items:g,onOpenChange:(a,b)=>{a&&d&&b.cancel()},onValueChange:a=>{null===a||d||e(a)},children:[(0,N.jsx)(b$.bq,{"aria-label":b,"aria-disabled":d,className:"max-w-full aria-disabled:opacity-50",children:(0,N.jsx)(b$.yv,{})}),(0,N.jsx)(b$.gC,{positionerClassName:"z-[160]",children:g.map(a=>(0,N.jsx)(b$.eb,{value:a.value,disabled:d,children:a.label},a.value))})]})}function om(a){if(!a)return null;try{let b=new URL(a);return["https:","http:"].includes(b.protocol)?b.href:null}catch{return null}}function on(a){let{t:b}=(0,aa.Bd)("pluginManagement"),{locale:c}=(0,cF.i)(),d=a.detail,e=a.installed&&a.installedVersion===d.version,f=om(d.homepage),g=om(d.repository),h=[...new Set([d.version,...d.versions])];return(0,N.jsxs)("div",{className:"min-w-0 space-y-5",children:[(0,N.jsxs)("div",{className:"space-y-3",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[(0,N.jsxs)("span",{children:["v",d.version]}),(0,N.jsx)("span",{children:b(`kind_${d.kind}`)}),d.publisher?(0,N.jsx)("span",{className:"[overflow-wrap:anywhere]",children:d.publisher}):null]}),d.description?(0,N.jsx)("p",{className:"text-sm text-muted-foreground [overflow-wrap:anywhere]",children:(0,cE.fD)(d.description,c)}):null,!1===d.compatible?(0,N.jsxs)("p",{role:"alert",className:"text-sm text-destructive",children:[b("incompatible"),d.compatibilityNote?` \xb7 ${d.compatibilityNote}`:""]}):null,(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[a.pending?(0,N.jsx)("span",{role:"status",className:"text-sm text-muted-foreground",children:a.operationMessage??b("submitting")}):e?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("span",{className:"text-sm text-muted-foreground",children:b("alreadyInstalled")}),a.updateAvailable?(0,N.jsx)(ae.$,{size:"sm",disabled:a.disabled,onClick:a.onUpdate,children:b("update")}):null]}):(0,N.jsx)(ae.$,{size:"sm",disabled:a.disabled||!1===d.compatible,onClick:a.onInstall,children:b(a.installed?"installVersion":"install")}),f?(0,N.jsx)("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"text-sm underline underline-offset-4",children:b("homepage")}):null,g?(0,N.jsx)("a",{href:g,target:"_blank",rel:"noopener noreferrer",className:"text-sm underline underline-offset-4",children:b("repository")}):null]}),a.error?(0,N.jsx)("p",{role:"alert",className:"text-sm text-destructive [overflow-wrap:anywhere]",children:a.error}):null]}),(0,N.jsxs)(cz.Nt,{className:"rounded-lg border",children:[(0,N.jsxs)(cz.R6,{className:"group flex min-h-9 w-full items-center justify-between px-3 text-sm font-medium outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[b("advancedOptions"),(0,N.jsx)(cy.A,{className:"size-4 transition-transform group-aria-expanded:rotate-180"})]}),(0,N.jsx)(cz.Ke,{keepMounted:!0,className:"hidden data-open:block",children:(0,N.jsxs)("div",{className:"space-y-3 px-3 pb-3",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,N.jsx)("span",{children:b("installChannel")}),(0,N.jsx)(ol,{value:a.channel,label:b("installChannel"),placeholder:b("defaultChannel"),disabled:a.pending,onChange:a.onChannel}),(0,N.jsxs)(b$.l6,{value:d.version,items:h.map(a=>({value:a,label:a})),onOpenChange:(b,c)=>{b&&a.pending&&c.cancel()},onValueChange:b=>{b&&!a.pending&&a.onVersion(b)},children:[(0,N.jsx)(b$.bq,{"aria-label":b("version"),"aria-disabled":a.pending,children:(0,N.jsx)(b$.yv,{})}),(0,N.jsx)(b$.gC,{positionerClassName:"z-[160]",children:h.map(b=>(0,N.jsx)(b$.eb,{value:b,disabled:a.pending,children:b},b))})]})]}),(0,N.jsx)(dU,{id:"plugin-detail-download",mode:a.downloadMode,registry:a.downloadRegistry,override:!0,saving:a.pending,onMode:a.onDownloadMode,onRegistry:a.onDownloadRegistry})]})})]}),(0,N.jsx)("div",{className:"border-t pt-4",children:(0,N.jsx)(ok,{readme:d.readme},`${d.name}@${d.version}`)})]})}var oo=c(13221);function op(a){let{t:b}=(0,aa.Bd)("pluginManagement");return(0,N.jsxs)("section",{"aria-label":b("directInstall"),className:"min-w-0 space-y-3 rounded-lg border bg-card p-4",children:[(0,N.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,N.jsx)("h3",{className:"text-sm font-semibold",children:b("directInstall")}),(0,N.jsx)(ae.$,{size:"sm",variant:"ghost",onClick:a.onClose,children:b("close")})]}),(0,N.jsx)("label",{htmlFor:"plugin-direct-source",className:"block text-sm font-medium",children:b("source")}),(0,N.jsx)(oo.T,{id:"plugin-direct-source",value:a.source,placeholder:b("batchSourcePlaceholder"),rows:2,disabled:a.pending,onChange:b=>a.onSource(b.target.value)}),a.isNpm||a.multiple?(0,N.jsxs)(cz.Nt,{children:[(0,N.jsxs)(cz.R6,{className:"group flex min-h-8 items-center gap-2 text-sm font-medium outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[b("advancedOptions"),(0,N.jsx)(cy.A,{className:"size-4 transition-transform group-aria-expanded:rotate-180"})]}),(0,N.jsx)(cz.Ke,{keepMounted:!0,className:"hidden data-open:block",children:(0,N.jsxs)("div",{className:"space-y-3 pt-2",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,N.jsx)("span",{children:b("installChannel")}),(0,N.jsx)(ol,{value:a.tag,label:b("installChannel"),placeholder:b("defaultChannel"),disabled:a.pending,onChange:a.onTag})]}),a.isNpm?(0,N.jsx)(ae.$,{size:"sm",variant:"outline",disabled:a.loading,onClick:a.onRead,children:b(a.loading?"loadingPackage":"readPackage")}):null,a.detail?(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,N.jsx)("span",{className:"min-w-0 font-medium [overflow-wrap:anywhere]",children:a.detail.name}),(0,N.jsxs)(b$.l6,{value:a.selectedVersion,onOpenChange:(b,c)=>{b&&(a.loading||a.pending)&&c.cancel()},items:[{value:"",label:b("automaticVersion")},...[...new Set([a.detail.version,...a.detail.versions])].map(a=>({value:a,label:a}))],onValueChange:b=>{null===b||a.loading||a.pending||a.onVersion(b)},children:[(0,N.jsx)(b$.bq,{"aria-label":b("version"),"aria-disabled":a.loading||a.pending,className:"max-w-full",children:(0,N.jsx)(b$.yv,{})}),(0,N.jsxs)(b$.gC,{positionerClassName:"z-[160]",children:[(0,N.jsx)(b$.eb,{value:"",disabled:a.loading||a.pending,children:b("automaticVersion")}),[...new Set([a.detail.version,...a.detail.versions])].map(b=>(0,N.jsx)(b$.eb,{value:b,disabled:a.loading||a.pending,children:b},b))]})]}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:b("targetVersion",{version:a.detail.version})})]}):null,(0,N.jsx)(dU,{id:"plugin-direct-download",mode:a.override,registry:a.registry,override:!0,saving:a.pending,onMode:a.onMode,onRegistry:a.onRegistry})]})})]}):null,a.error?(0,N.jsx)("p",{role:"alert",className:"text-sm whitespace-pre-wrap text-destructive [overflow-wrap:anywhere]",children:a.error}):null,a.operationMessage?(0,N.jsx)("p",{role:"status",className:"text-sm text-muted-foreground [overflow-wrap:anywhere]",children:a.operationMessage}):null,(0,N.jsx)(ae.$,{size:"sm",disabled:a.disabled||a.loading||a.pending||!a.source.trim(),onClick:a.onInstall,children:b(a.pending?"installing":a.multiple?"batchInstall":"install")})]})}function oq({confirmation:a,onClose:b,onConfirm:c}){let{t:d}=(0,aa.Bd)("pluginManagement"),e=a?d(dI(a)):null,f=a?.kind==="del"||a?.kind==="batch"&&"del"===a.input.action,g=a?.kind==="add"||a?.kind==="batch"&&"add"===a.input.action;return(0,N.jsx)(cf.YV,{open:!!a,onOpenChange:a=>{a||b()},children:(0,N.jsxs)(cf.hA,{className:"z-[150] max-w-lg",backdropClassName:"z-[140]",children:[(0,N.jsxs)(cf.Hl,{className:"p-4 pr-12",children:[(0,N.jsx)(cf.YM,{children:d("confirmAction",{action:e})}),(0,N.jsx)(cf.uX,{children:d(f?"removeDescription":g?"thirdPartyDescription":a?.kind==="reload"?"normal"===a.mode?"restartNormalDescription":"restartDescription":"confirmChange")})]}),(0,N.jsx)(cf._Y,{className:"min-h-0",children:(0,N.jsx)("div",{className:"min-w-0 p-4 pt-0",children:a?.kind==="batch"?(0,N.jsx)("ul",{className:"space-y-2 text-sm",children:("add"===a.input.action?a.input.items.map(a=>a.source):a.input.sources).map(a=>(0,N.jsx)("li",{className:"font-medium [overflow-wrap:anywhere]",children:a.startsWith("npm:")?dF(a)?.name??a:a},a))}):a?.kind==="add"?(0,N.jsxs)("dl",{className:"space-y-3 text-sm",children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:d("packageName")}),(0,N.jsx)("dd",{className:"mt-1 font-medium [overflow-wrap:anywhere]",children:a.package?.name??a.input.source})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:d("version")}),(0,N.jsx)("dd",{className:"[overflow-wrap:anywhere]",children:a.package?.version??dF(a.input.source)?.version??d("fromSource")})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:d("publisher")}),(0,N.jsx)("dd",{className:"[overflow-wrap:anywhere]",children:a.package?.publisher??d("unknownPublisher")})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:d("source")}),(0,N.jsx)("dd",{className:"[overflow-wrap:anywhere]",children:a.input.registry??a.package?.registry??a.input.source})]})]}):a&&"reload"!==a.kind?(0,N.jsx)("p",{className:"text-sm font-medium [overflow-wrap:anywhere]",children:a.source.startsWith("npm:")?dF(a.source)?.name??a.source:a.source}):null})}),(0,N.jsxs)(cf.vu,{children:[(0,N.jsx)(ae.$,{size:"sm",variant:"outline",onClick:b,children:d("cancel")}),(0,N.jsx)(ae.$,{size:"sm",variant:f?"destructive":"default",onClick:()=>{a&&c(a)},children:e})]})]})})}function or({basicMode:a=!1,snapshot:b,biz:c,onSnapshot:d,onRestartScheduled:e}){let{t:f}=(0,aa.Bd)("pluginManagement"),{locale:g}=(0,cF.i)(),[h,i]=(0,O.useState)("installed"),[j,k]=(0,O.useState)(""),[l,m]=(0,O.useState)("all"),[n,o]=(0,O.useState)(!1),[p,q]=(0,O.useState)(()=>new Set),[r,s]=(0,O.useState)(""),[t,u]=(0,O.useState)(!1),v=function({basicMode:a=!1,biz:b,snapshot:c,onSnapshot:d,onRestartScheduled:e}){let{t:f}=(0,aa.Bd)("pluginManagement"),g=(0,bR.t4)();(0,bR.So)();let[h,i]=(0,O.useState)(!1),[j,k]=(0,O.useState)(()=>new Set),l=(0,O.useRef)(new Set),[m,n]=(0,O.useState)(null),[o,p]=(0,O.useState)({}),[q,r]=(0,O.useState)(null),[s,t]=(0,O.useState)(null),[u,v]=(0,O.useState)(!1),[w,x]=(0,O.useState)(null),y=(0,O.useRef)(0),z=(0,O.useRef)(0),A=(0,O.useRef)(!0),B=(a,b)=>{b?l.current.add(a):l.current.delete(a),A.current&&k(new Set(l.current))},C=(a,b)=>{A.current&&p(c=>{let d={...c};return b?d[a]=b:delete d[a],d})},D=a=>{let b=dH(a);return l.current.has(b)||!!c?.plugins.some(a=>dH(a.source)===b&&a.operation&&"failed"!==a.operation.phase)},E=async(a=!1)=>{let c=++z.current,e=await b.list(a);A.current&&c===z.current&&d(e)},F=async a=>{let c="add"===a.action?a.items.map(a=>a.source):a.sources,e=c.filter(a=>!D(a));if(c.filter(D).forEach(a=>C(dH(a),f("sourceBusy"))),!e.length)return;let g=e.map(dH);g.forEach(a=>{B(a,!0),C(a,null)}),n(null);let h=[...e];try{let c=await b.list(),e=Date.now()+9e5;for(;h.length;){let g=c.plugins.filter(a=>a.operation&&"failed"!==a.operation.phase),i="tag"===a.action?32:Math.max(0,32-g.length);if(!i){if(g.some(a=>a.operation?.phase==="waiting")||Date.now()>=e){h.forEach(a=>C(dH(a),f("batchWaiting")));break}await new Promise(a=>setTimeout(a,750)),c=await b.list(),A.current&&(z.current+=1,d(c));continue}let j=h.slice(0,i),k="add"===a.action?{...a,items:a.items.filter(a=>j.includes(a.source))}:{...a,sources:j},l=await b.batch(k);c=l.snapshot,A.current&&(z.current+=1,d(c)),l.results.forEach(a=>C(dH(a.source),a.error)),j.forEach(a=>B(dH(a),!1)),h=h.slice(j.length)}}catch(b){let a=b instanceof Error?b.message:f("batchFailed");h.forEach(b=>C(dH(b),a))}finally{g.forEach(a=>B(a,!1))}},G=async a=>{if("batch"===a.kind)return void await F(a.input);if("reload"!==a.kind&&D("add"===a.kind?a.input.source:a.source))return;let c="reload"===a.kind?"reload":dH("add"===a.kind?a.input.source:a.source);if(!l.current.has(c)){B(c,!0),n(null),C(c,null);try{let c="add"===a.kind?await b.add(a.input):"update"===a.kind?await b.update(a.source):"del"===a.kind?await b.del(a.source):"enable"===a.kind||"disable"===a.kind?await b.setEnabled(a.source,"enable"===a.kind):await b.reload(a.mode);if(!A.current)return;z.current+=1,d(c),"reload"===a.kind?e():await E()}catch(b){C(c,b instanceof Error?b.message:f("actionFailed",{action:f(dI(a))}))}finally{B(c,!1)}}},H=(a,b)=>{let c={kind:"add",input:a,package:b};b?.official===!0?G(c):n(c)},I=async a=>{let c=a?.[0]?dH(a[0]):"apply";if(!l.current.has(c)){B(c,!0),C(c,null);try{let c=await b.apply(a);A.current&&(z.current+=1,d(c),await E())}catch(a){C(c,a instanceof Error?a.message:f("actionFailed",{action:f("reloadOne")}))}finally{B(c,!1)}}},J=async(a,b)=>{if(!l.current.has(a)){B(a,!0),C(a,null);try{await b()}catch(b){C(a,b instanceof Error?b.message:f("retryFailed"))}finally{B(a,!1)}}},K=async a=>{let c=++y.current;v(!0),x(null);try{let d=await b.get(a);A.current&&c===y.current&&t(d)}catch(a){A.current&&c===y.current&&x(a instanceof Error?a.message:f("detailFailed"))}finally{A.current&&c===y.current&&v(!1)}};return{loading:h,requests:j,confirmation:m,setConfirmation:n,errors:o,detailSource:q,detail:s,detailLoading:u,detailError:w,pluginHost:g,refresh:async(a,b)=>{if(l.current.has("check"))return;let d=a??c?.plugins.filter(a=>"package"===a.kind&&(!b||a.updateTag===b)).map(a=>a.source)??[],e=d.filter(D),g=d.filter(a=>!D(a));if(e.forEach(a=>C(dH(a),f("sourceBusy"))),!g.length)return;let h=g.map(dH);B("check",!0),h.forEach(a=>B(a,!0)),i(!0),C("list",null);try{if(a||e.length)for(let a=0;a<g.length&&(await E({checkUpdates:!0,sources:g.slice(a,a+32),...b?{tag:b}:{}}),A.current);a+=32);else await E({checkUpdates:!0,...b?{tag:b}:{}})}catch(a){C("list",a instanceof Error?a.message:f("updateCheckFailed"))}finally{B("check",!1),h.forEach(a=>B(a,!1)),A.current&&i(!1)}},executeBatch:F,execute:G,requestInstall:H,applyChanges:I,loadDetail:K,openDetail:a=>{r(a),t(null),K(a)},closeDetail:()=>{y.current+=1,r(null),t(null),x(null),v(!1)},handleControlAction:(a,b)=>{switch(b){case"reload":I([a.source]);break;case"update":G({kind:"update",source:a.source});break;case"remove":n({kind:"del",source:a.source});break;case"enable":case"disable":G({kind:b,source:a.source});break;case"retry-browser":a.pluginName&&J(`entry:${a.pluginName}`,()=>g.retryEntry(a.pluginName));break;case"retry":{let b=a.operation?.action;"apply"===b?I([a.source]):"add"===b?H({source:a.source}):b&&G({kind:b,source:a.source})}}},refreshEntries:()=>J("entries",()=>g.refreshEntries())}}({biz:c,snapshot:b,onSnapshot:d,onRestartScheduled:e,basicMode:a}),w=function(a){let{t:b}=(0,aa.Bd)("pluginManagement"),[c,d]=(0,O.useState)(""),[e,f]=(0,O.useState)(!1),[g,h]=(0,O.useState)("all"),[i,j]=(0,O.useState)("public"),[k,l]=(0,O.useState)(""),[m,n]=(0,O.useState)([]),[o,p]=(0,O.useState)(!1),[q,r]=(0,O.useState)(1),[s,t]=(0,O.useState)(!1),[u,v]=(0,O.useState)(null),[w,x]=(0,O.useState)(!1),[y,z]=(0,O.useState)(null),[A,B]=(0,O.useState)(null),[C,D]=(0,O.useState)(!1),[E,F]=(0,O.useState)(null),[G,H]=(0,O.useState)(()=>new Set),[I,J]=(0,O.useState)({}),K=(0,O.useRef)(0),L=(0,O.useRef)(0),M=(0,O.useRef)(new Set),N=(0,O.useRef)(null),[P,Q]=(0,O.useState)(!1),[R,S]=(0,O.useState)("default"),[T,U]=(0,O.useState)(""),V=(0,O.useRef)(!0),W=(0,O.useCallback)(async(c,d)=>{t(!0),v(null);try{let b=await a.searchCatalog(c);if(!V.current||d!==K.current)return;n(a=>{let d=1===c.page?b.items:[...a,...b.items],e=a=>a.official?0:"desk"===a.kind?1:"pi"===a.kind?2:3;return[...new Map(d.map(a=>[a.name,a])).values()].sort((a,b)=>e(a)-e(b))}),r(c.page),p(b.hasMore),x(!0)}catch(a){V.current&&d===K.current&&v(a instanceof Error?a.message:b("searchFailed"))}finally{V.current&&d===K.current&&t(!1)}},[a,b]),X=async(c,d=c.version)=>{let e=++L.current;D(!0),F(null),J(a=>{let b={...a};return delete b[c.name],b});try{let b=await a.getCatalog({name:c.name,registry:c.registry,version:d});V.current&&e===L.current&&B(b)}catch(a){V.current&&e===L.current&&F(a instanceof Error?a.message:b("detailFailed"))}finally{V.current&&e===L.current&&D(!1)}};return{query:c,setQuery:d,composing:e,beginComposition:()=>{K.current+=1,N.current=null,t(!1),f(!0)},endComposition:()=>f(!1),kind:g,setKind:h,searchSource:i,setSearchSource:j,registry:k,setRegistry:l,items:m,loading:s,error:u,searched:w,hasMore:o,loadMore:()=>{N.current&&!s&&o&&W({...N.current,page:q+1},K.current)},retry:()=>{if(e||s)return;let a="custom"===i?dK.safeParse(k):null;if(a&&!a.success)return void v(b("invalidRegistry"));let d={query:c.trim(),kind:g,page:1,...a?.success?{registry:a.data}:{}};N.current=d,n([]),W(d,++K.current)},selection:y,detail:A,detailLoading:C,detailError:E,openDetail:a=>{z(a),B(null),S("default"),U(""),X(a)},closeDetail:()=>{L.current+=1,z(null),B(null),D(!1),F(null)},loadDetail:X,prepareInstall:async(c,d)=>{if(!M.current.has(c.name)){M.current.add(c.name),H(new Set(M.current)),J(a=>{let b={...a};return delete b[c.name],b});try{let e=await a.getCatalog({name:c.name,version:c.version,registry:c.registry});if(!V.current)return;if(!1===e.compatible)return void J(a=>({...a,[c.name]:b("installIncompatible")}));d(e)}catch(a){V.current&&J(d=>({...d,[c.name]:a instanceof Error?a.message:b("detailFailed")}))}finally{M.current.delete(c.name),V.current&&H(new Set(M.current))}}},preparing:G,installErrors:I,downloadMode:R,setDownloadMode:S,downloadRegistry:T,setDownloadRegistry:U,installDetail:a=>{if(!A||C)return;if(!1===A.compatible)return void J(a=>({...a,[A.name]:b("installIncompatible")}));let c="default"===R?null:dL.safeParse("custom"===R?{mode:R,registry:T}:{mode:R});c&&!c.success?J(a=>({...a,[A.name]:b("invalidRegistry")})):(J(a=>{let b={...a};return delete b[A.name],b}),a({source:`npm:${A.name}@${A.version}`,registry:A.registry,...c?.success?{downloadSource:c.data}:{}},A))}}}(c),x=function(a,b){let{t:c}=(0,aa.Bd)("pluginManagement"),[d,e]=(0,O.useState)(null),[f,g]=(0,O.useState)("auto"),[h,i]=(0,O.useState)(""),[j,k]=(0,O.useState)(!1),[l,m]=(0,O.useState)(!1),[n,o]=(0,O.useState)(null),p=(0,O.useRef)(!0),q=(0,O.useRef)(!1),r=(0,O.useRef)(0),s=(0,O.useRef)("load"),t=async()=>{let b=r.current;k(!0),o(null);try{let c=await a.getCatalogSettings();if(!p.current)return;b===r.current?(e(c),g(c.downloadSource.mode),"custom"===c.downloadSource.mode&&i(c.downloadSource.registry)):e(a=>a??c)}catch(a){s.current="load",p.current&&o(a instanceof Error?a.message:c("settingsFailed"))}finally{p.current&&k(!1)}},u=async(d=f)=>{if(q.current)return;let i=dL.safeParse("custom"===d?{mode:d,registry:h}:{mode:d});if(!i.success){s.current="save",o(c("invalidRegistry"));return}q.current=!0,m(!0),o(null);try{let c=await a.saveCatalogSettings(i.data);p.current&&(e(c),g(c.downloadSource.mode),b())}catch(a){s.current="save",p.current&&o(a instanceof Error?a.message:c("settingsFailed"))}finally{q.current=!1,p.current&&m(!1)}};return{settings:d,mode:f,registry:h,setRegistry:a=>{r.current+=1,i(a)},loading:j,saving:l,error:n,load:t,save:u,changeMode:a=>{r.current+=1,g(a),"custom"!==a&&u(a)},retry:()=>"save"===s.current?u():t()}}(c,()=>{a||v.refresh()}),y=function(a,b=[]){let{t:c}=(0,aa.Bd)("pluginManagement"),[d,e]=(0,O.useState)(!1),[f,g]=(0,O.useState)(""),[h,i]=(0,O.useState)(""),[j,k]=(0,O.useState)(null),[l,m]=(0,O.useState)(null),[n,o]=(0,O.useState)(!1),[p,q]=(0,O.useState)(null),[r,s]=(0,O.useState)("default"),[t,u]=(0,O.useState)(""),v=(0,O.useRef)(0),w=(0,O.useRef)(!0),x=f.split(/\r?\n/).map(a=>a.trim()).filter(Boolean),y=1===x.length?dF(x[0]):null,z=()=>{v.current+=1,m(null),o(!1),q(null)},A=async d=>{let e;if(!y)return null;void 0!==d&&k(d||null);let f=b.find(a=>dF(a.source)?.name===y.name)?.updateTag,g=y.version??(h||f||"latest"),i=""===d?g:d??j??g;if("custom"===r){let a=dK.safeParse(t);if(!a.success)return q(c("invalidRegistry")),null;e=a.data}else"official"===r?e="https://registry.npmjs.org":"domestic"===r&&(e="https://registry.npmmirror.com");let l=++v.current;o(!0),m(null),q(null);try{let b=await a.getCatalog({...y,...i?{version:i}:{},...e?{registry:e}:{}});if(!w.current||l!==v.current)return null;return m(b),b}catch(a){return w.current&&l===v.current&&q(a instanceof Error?a.message:c("detailFailed")),null}finally{w.current&&l===v.current&&o(!1)}},B=async(a,b)=>{if(!x.length||n)return;q(null);let d="default"===r?null:dL.safeParse("custom"===r?{mode:r,registry:t}:{mode:r});if(d&&!d.success)return void q(c("invalidRegistry"));let e={...h?{tag:h}:{},...d?.success?{downloadSource:d.data}:{}};if(x.length>1){let a=x.map(dF);if(x.length>32||a.some(a=>!a))return void q(c(x.length>32?"batchLimit":"batchNpmOnly"));let d=new Map;return a.forEach(a=>{a&&d.set(a.name,{source:`npm:${a.name}${a.version?`@${a.version}`:""}`,...e})}),void b([...d.values()])}if(!y)return void a({source:x[0]});let f=l?Promise.resolve(l):A(j??void 0),g=v.current,i=await f;if(i&&w.current&&g===v.current){if(!1===i.compatible)return void q(c("installIncompatible"));a({source:`npm:${i.name}${j||y.version?`@${j??y.version}`:""}`,registry:i.registry,...e},i)}};return{open:d,setOpen:e,source:f,sources:x,tag:h,selectedVersion:j??"",setTag:a=>{z(),k(null),i(a)},changeSource:a=>{z(),k(null),g(a)},spec:y,detail:l,loading:n,error:p,override:r,setOverride:a=>{z(),s(a)},registry:t,setRegistry:a=>{z(),u(a)},loadDetail:A,install:B}}(c,b?.plugins),z=a||v.requests.has("reload"),A=new Map(v.pluginHost.getFailedEntries().map(a=>[a.pluginName,a.error.message])),B=v.pluginHost.getEntryListError(),C=b?.plugins.find(a=>a.source===v.detailSource),D=w.selection?b?.plugins.find(a=>a.source.startsWith("npm:")&&dF(a.source)?.name===w.selection?.name):void 0,E=w.selection?dH(`npm:${w.selection.name}`):"",F=dH(y.detail?`npm:${y.detail.name}`:y.spec?`npm:${y.spec.name}`:y.source.trim()),G=b?.plugins.find(a=>dH(a.source)===F),H=a=>{let c=b?.plugins.find(b=>dH(b.source)===dH(a));return v.requests.has(dH(a))||!!(c?.operation&&"failed"!==c.operation.phase)},I=H(`npm:${w.selection?.name??""}`),J=y.sources.some(H),K=y.sources.map(a=>{let c=dH(a),d=b?.plugins.find(a=>dH(a.source)===c),e=v.errors[c]??(d?.operation?.phase==="failed"?d.operation.message:null);return e?`${a}: ${e}`:null}).filter(Boolean).join("\n"),L=!!(v.detailSource||w.selection),M=(0,O.useRef)(null),P=(0,O.useRef)(null),Q=()=>{P.current=document.activeElement instanceof HTMLElement?document.activeElement:null},R=a=>{let c=b?.plugins.find(b=>dF(b.source)?.name===a.name);return{...a,version:c?.updateTag??"latest"}},S=a=>b?.plugins.filter(b=>"extension"!==b.kind&&!0===b.updateAvailable&&!H(b.source)&&(!a||p.has(dH(b.source)))).map(a=>a.source)??[],T=a=>a?f(`phase_${a}`):null,U=()=>{i("installed"),y.setOpen(!0)};return(0,N.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,N.jsxs)("header",{className:"shrink-0 space-y-3 border-b p-4 sm:px-6",children:[L?(0,N.jsxs)(ae.$,{ref:M,size:"sm",variant:"ghost",className:"-ml-2",onClick:()=>{v.closeDetail(),w.closeDetail()},children:[(0,N.jsx)(aj.A,{}),f("backToList")]}):null,(0,N.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,N.jsx)("h2",{className:"min-w-0 text-xl font-semibold [overflow-wrap:anywhere]",children:L?C?dG(C):w.selection?.name??f("details"):f("title")}),(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[L?null:(0,N.jsxs)(cG.AM,{children:[(0,N.jsxs)(cG.Wv,{render:(0,N.jsx)(ae.$,{size:"sm",variant:"ghost"}),children:[f("downloadSource"),":",x.loading&&!x.settings?f("loading"):f(`download_${x.settings?.downloadSource.mode??x.mode}`),(0,N.jsx)(cy.A,{className:"size-4"})]}),(0,N.jsx)(cG.hl,{align:"end",positionerClassName:"z-[150]",className:"w-80 max-w-[calc(100vw-2rem)]",children:(0,N.jsx)(dU,{id:"plugin-default-download",mode:x.mode,registry:x.registry,savedRegistry:x.settings?.downloadSource.mode==="custom"?x.settings.downloadSource.registry:void 0,recommendedRegistry:x.settings?.recommendedRegistry,loading:x.loading,saving:x.saving,error:x.error,onMode:a=>{"default"!==a&&x.changeMode(a)},onRegistry:x.setRegistry,onSave:()=>void x.save(),onRetry:()=>void x.retry()})})]}),a||b?.restartRequired?(0,N.jsx)(ae.$,{size:"sm",variant:"outline",disabled:v.requests.has("reload"),onClick:()=>v.setConfirmation({kind:"reload",mode:a?"normal":void 0}),children:f(a?"restartNormal":"restartApply")}):null]})]}),a?(0,N.jsx)("p",{role:"status",className:"rounded-lg bg-muted p-3 text-sm",children:f("basicModeNotice")}):null,b?.restartRequired?(0,N.jsx)("p",{role:"status",className:"text-sm text-muted-foreground",children:f("pendingRestart")}):null,b?.loadError||B?(0,N.jsxs)("div",{role:"alert",className:"max-h-32 space-y-1 overflow-y-auto text-sm text-destructive",children:[b?.loadError?(0,N.jsx)("p",{className:"[overflow-wrap:anywhere]",children:(0,cE.fD)(b.loadError,g)}):null,B?(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,N.jsx)("p",{className:"min-w-0 [overflow-wrap:anywhere]",children:B}),(0,N.jsx)(ae.$,{size:"sm",variant:"outline",disabled:v.requests.has("entries"),onClick:()=>void v.refreshEntries(),children:f("retry")})]}):null]}):null,v.errors.reload||v.errors.entries?(0,N.jsx)("p",{role:"alert",className:"text-sm text-destructive [overflow-wrap:anywhere]",children:v.errors.reload??v.errors.entries}):null]}),(0,N.jsxs)(c0,{value:h,onValueChange:a=>i(String(a)),className:`min-h-0 flex-1 gap-0 ${L?"hidden":""}`,children:[(0,N.jsx)("div",{className:"shrink-0 border-b px-4 pt-2 sm:px-6",children:(0,N.jsxs)(c2,{variant:"line","aria-label":f("title"),className:"h-9",children:[(0,N.jsxs)(c3,{value:"installed",className:"px-3",children:[f("installedTab"),b?(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:b.plugins.length}):null]}),(0,N.jsx)(c3,{value:"search",className:"px-3",children:f("searchPlugins")})]})}),(0,N.jsx)(c4,{value:"installed",keepMounted:!0,className:"pi-desk-chat-scrollbar min-h-0 overflow-y-auto p-4 data-[hidden]:hidden sm:p-6",children:(0,N.jsxs)("div",{className:"space-y-4",children:[y.open?(0,N.jsx)(op,{source:y.source,isNpm:!!y.spec,multiple:y.sources.length>1,tag:y.tag,selectedVersion:y.selectedVersion,onTag:y.setTag,detail:y.detail,loading:y.loading,pending:J,disabled:z,error:y.error??(K||null),operationMessage:J?T(G?.operation?.phase)??f("submitting"):null,override:y.override,registry:y.registry,onSource:y.changeSource,onMode:y.setOverride,onRegistry:y.setRegistry,onRead:()=>void y.loadDetail(),onVersion:a=>void y.loadDetail(a),onInstall:()=>void y.install(v.requestInstall,a=>v.setConfirmation({kind:"batch",input:{action:"add",items:a}})),onClose:()=>y.setOpen(!1)}):null,(0,N.jsx)(d3,{snapshot:b,loading:v.loading,filter:j,statusFilter:l,batchMode:n,selected:p,onStatusFilter:m,onBatchMode:a=>{o(a),a||q(new Set)},onSelect:(a,b)=>{q(c=>{let d=new Set(c);return a.forEach(a=>{b?d.add(a):d.delete(a)}),d})},onUpdateAll:()=>void v.executeBatch({action:"update",sources:S(!1)}),onUpdateSelected:()=>void v.executeBatch({action:"update",sources:S(!0)}),onRemoveSelected:()=>v.setConfirmation({kind:"batch",input:{action:"del",sources:b?.plugins.filter(a=>p.has(dH(a.source))&&!H(a.source)).map(a=>a.source)??[]}}),disabled:z,requests:v.requests,errors:v.errors,browserErrors:A,onFilter:k,onDetail:a=>{Q(),w.closeDetail(),v.openDetail(a)},onAction:v.handleControlAction,onRefresh:()=>void v.refresh()}),b?.plugins.length||y.open?null:(0,N.jsx)(ae.$,{size:"sm",variant:"outline",disabled:z,onClick:U,children:f("directInstall")})]})}),(0,N.jsx)(c4,{value:"search",keepMounted:!0,className:"pi-desk-chat-scrollbar min-h-0 overflow-y-auto p-4 data-[hidden]:hidden sm:p-6",children:(0,N.jsx)(d4,{query:w.query,kind:w.kind,searchSource:w.searchSource,registry:w.registry,items:w.items,loading:w.loading,error:w.error,searched:w.searched,hasMore:w.hasMore,disabled:z,snapshot:b,requests:v.requests,preparing:w.preparing,errors:v.errors,installErrors:w.installErrors,onQuery:w.setQuery,onCompositionStart:w.beginComposition,onCompositionEnd:w.endComposition,onKind:w.setKind,onSearchSource:a=>{w.setSearchSource(a),"custom"!==a||w.registry||x.settings?.downloadSource.mode!=="custom"||w.setRegistry(x.settings.downloadSource.registry)},onRegistry:w.setRegistry,onDetail:a=>{Q(),v.closeDetail(),s(""),u(!1),w.openDetail(R(a))},onInstall:a=>{w.prepareInstall(R(a),a=>v.requestInstall({source:`npm:${a.name}`,registry:a.registry},a))},onUpdate:a=>void v.execute({kind:"update",source:a}),onMore:w.loadMore,onRetry:w.retry,onDirectInstall:U})})]}),L?(0,N.jsx)("div",{className:"pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto p-4 sm:p-6",children:C?(0,N.jsxs)("div",{className:"min-w-0 space-y-5",children:[(0,N.jsxs)("div",{className:"space-y-3",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm text-muted-foreground",children:[C.version?(0,N.jsxs)("span",{children:["v",C.version]}):null,C.updateAvailable?(0,N.jsx)("span",{className:"rounded-md bg-status-success/10 px-2 py-0.5 text-xs font-medium text-status-success",children:C.availableVersion?f("newVersion",{version:C.availableVersion}):f("updateAvailable")}):null]}),(0,N.jsx)(dD,{plugin:C,displayName:dG(C),browserError:C.pluginName?A.get(C.pluginName)??null:null,disabled:z,pending:H(C.source),browserRetryPending:v.requests.has(`entry:${C.pluginName}`),onAction:a=>v.handleControlAction(C,a)})]}),C.description?(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:(0,cE.fD)(C.description,g)}):null,(0,N.jsx)(dE,{plugin:C,requestError:v.errors[dH(C.source)],browserError:C.pluginName?A.get(C.pluginName)??null:null})]}),(0,N.jsxs)(cz.Nt,{className:"rounded-lg border",children:[(0,N.jsxs)(cz.R6,{className:"group flex min-h-9 w-full items-center justify-between px-3 text-sm font-medium outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[f("advancedOptions"),(0,N.jsx)(cy.A,{className:"size-4 transition-transform group-aria-expanded:rotate-180"})]}),(0,N.jsx)(cz.Ke,{keepMounted:!0,className:"hidden data-open:block",children:(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-3 px-3 pb-3",children:[C.source.startsWith("npm:")?(0,N.jsx)(ol,{value:C.updateTag??"latest",label:f("installChannel"),disabled:z||H(C.source),onChange:a=>void v.executeBatch({action:"tag",sources:[C.source],tag:a})}):null,(0,N.jsx)(ae.$,{size:"sm",variant:"outline",disabled:z||H(C.source)&&C.operation?.phase!=="waiting",onClick:()=>v.handleControlAction(C,"reload"),children:f("reloadOne")})]})})]}),v.detailLoading?(0,N.jsx)("p",{role:"status",className:"text-sm text-muted-foreground",children:f("loadingPackage")}):null,v.detail?.readme?(0,N.jsx)(ok,{readme:v.detail.readme},C.source):null,(0,N.jsxs)(cz.Nt,{className:"border-t pt-2",children:[(0,N.jsxs)(cz.R6,{className:"group flex min-h-9 w-full items-center justify-between text-sm font-medium outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[f("capabilityDetails"),(0,N.jsx)(cy.A,{className:"size-4 transition-transform group-aria-expanded:rotate-180"})]}),(0,N.jsx)(cz.Ke,{keepMounted:!0,className:"hidden data-open:block",children:(0,N.jsx)(dm,{plugin:C,detail:v.detail,detailLoading:v.detailLoading,detailError:v.detailError,browserContributions:C.pluginName?v.pluginHost.getRegisteredBrowserDescriptors().find(a=>a.pluginName===C.pluginName)?.contributions??[]:[],onRetry:()=>void v.loadDetail(C.source)})})]}),v.detailError?(0,N.jsxs)("div",{role:"alert",className:"flex items-center gap-2 text-sm text-destructive",children:[(0,N.jsx)("span",{children:v.detailError}),(0,N.jsx)(ae.$,{size:"sm",variant:"outline",onClick:()=>void v.loadDetail(C.source),children:f("retry")})]}):null]}):w.selection?(0,N.jsxs)(N.Fragment,{children:[w.detailLoading?(0,N.jsx)("p",{role:"status",className:"mb-3 text-sm text-muted-foreground",children:f("loadingPackage")}):null,w.detailError?(0,N.jsxs)("div",{role:"alert",className:"mb-3 space-y-2 text-sm",children:[(0,N.jsx)("p",{className:"text-destructive [overflow-wrap:anywhere]",children:w.detailError}),(0,N.jsx)(ae.$,{size:"sm",variant:"outline",onClick:()=>void w.loadDetail(w.selection),children:f("retry")})]}):null,w.detail?(0,N.jsx)(on,{detail:w.detail,disabled:z||!!w.detailError,pending:I||w.detailLoading,installed:!!(D&&(D.operation?.action!=="add"||"failed"!==D.operation.phase)),installedVersion:D?.version??null,updateAvailable:!!D?.updateAvailable,error:w.installErrors[w.detail.name]??v.errors[E]??(D?.operation?.phase==="failed"?D.operation.message:null),operationMessage:w.detailLoading?f("loadingPackage"):T(D?.operation?.phase),channel:r,onChannel:a=>{s(a),u(!1),w.loadDetail(w.selection,a||D?.updateTag||"latest")},downloadMode:w.downloadMode,downloadRegistry:w.downloadRegistry,onDownloadMode:w.setDownloadMode,onDownloadRegistry:w.setDownloadRegistry,onVersion:a=>{u(!0),w.loadDetail(w.selection,a)},onInstall:()=>w.installDetail((a,b)=>v.requestInstall({...a,source:t?a.source:`npm:${b.name}`,...r?{tag:r}:{}},b)),onUpdate:()=>{D&&v.execute({kind:"update",source:D.source})}}):null]}):(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:f("pluginRemoved")})}):null,(0,N.jsx)(oq,{confirmation:v.confirmation,onClose:()=>v.setConfirmation(null),onConfirm:a=>void v.execute(a)})]})}var os=c(98945);let ot=Q.Yj().trim().min(1).max(2048),ou=Q.YO(ot).min(1).max(32),ov=Q.Ik({phase:Q.k5(["package","entry","setup","resources","resolve","native"]),message:cE.qf.refine(a=>"string"==typeof a?a.length>0:a.default.length>0)}).strict(),ow=Q.Yj().trim().min(1).max(4096),ox=Q.Yj().trim().min(1).max(256),oy=Q.Yj().max(32768),oz=Q.Ik({name:ox,label:oy,state:Q.k5(["active","inactive","shadowed"]),description:oy,promptSnippet:oy.nullable(),promptGuidelineCount:Q.ai().int().nonnegative(),promptGuidelinePreview:oy.nullable()}).strict(),oA=Q.Ik({name:ox,label:oy,state:Q.k5(["active","inactive","shadowed"]),description:oy,parameters:os.Dz,promptSnippet:oy.nullable(),promptGuidelines:Q.YO(oy)}).strict(),oB=Q.Ik({path:ow,events:Q.YO(Q.Ik({name:ox,count:Q.ai().int().positive()}).strict()),commands:Q.YO(Q.Ik({name:ox,description:oy.nullable()}).strict()),shortcuts:Q.YO(Q.Ik({shortcut:ox,description:oy.nullable()}).strict()),flags:Q.YO(Q.Ik({name:ox,type:Q.k5(["boolean","string"]),description:oy.nullable(),default:Q.KC([Q.zM(),Q.Yj(),Q.ch()])}).strict()),messageRenderers:Q.YO(ox),entryRenderers:Q.YO(ox)}).strict(),oC=Q.Ik({name:ox,description:oy,path:ow}).strict(),oD=oC.extend({modelVisible:Q.zM()}).strict(),oE=oC.extend({content:Q.Yj().max(65536),truncated:Q.zM()}).strict(),oF=oE.extend({modelVisible:Q.zM()}).strict(),oG=Q.Ik({name:ox,path:ow}).strict(),oH=Q.Ik({name:ox,kind:Q.k5(["config","native"])}).strict(),oI=Q.Ik({methods:Q.YO(Q.Ik({pluginName:ox,method:ox}).strict()),browserEntries:Q.YO(Q.Ik({pluginName:ox}).strict()),messageDeclarations:Q.YO(Q.Ik({pluginName:ox,declarationName:ox,priority:Q.ai().int().safe()}).strict())}).strict(),oJ=Q.Ik({error:cE.qf.refine(a=>"string"==typeof a?a.length<=32768:[a.default,...Object.values(a.translations)].every(a=>a.length<=32768)).nullable(),extensions:Q.YO(oB),tools:Q.YO(oz),skills:Q.YO(oD),prompts:Q.YO(oC),themes:Q.YO(oG),providers:Q.YO(oH),piDesk:oI}).strict(),oK=Q.Ik({action:Q.k5(["add","update","del","apply","enable","disable"]),phase:Q.k5(["queued","checking","applying","waiting","failed"]),message:Q.Yj().max(4e3).nullable()}).strict(),oL=(0,R._G)({path:"plugins/management-update",bodySchema:Q.Ik({}).strict()}),oM=Q.Ik({source:ot,kind:Q.k5(["package","extension"]).default("package"),operation:oK.nullable().default(null),pluginName:Q.Yj().trim().min(1).nullable(),description:cE.qf.nullable().default(null),version:Q.Yj().trim().min(1).nullable(),updateAvailable:Q.zM().nullable(),updateTag:dJ.nullable().optional(),availableVersion:Q.Yj().min(1).nullable().optional(),updateError:Q.Yj().max(4e3).nullable().optional(),status:Q.k5(["ready","available","disabled","failed"]),error:ov.nullable(),capabilities:oJ}).strict(),oN=Q.Ik({source:ot,readme:cE.qf.nullable().default(null),tools:Q.YO(oA),skills:Q.YO(oF),prompts:Q.YO(oE)}).strict(),oO=Q.Ik({plugins:Q.YO(oM),restartRequired:Q.zM(),loadError:cE.qf.refine(a=>"string"==typeof a?a.length>0:a.default.length>0).nullable()}).strict(),oP=Q.Ik({sources:Q.YO(ot).min(1).max(32).optional()}).strict(),oQ=Q.Ik({}).strict().extend({mode:Q.k5(["normal","basic"]).optional()}).strict(),oR=Q.Ik({checkUpdates:Q.zM().optional(),sources:ou.optional(),tag:dJ.optional()}).strict(),oS=Q.Ik({source:ot}).strict(),oT=oS.extend({downloadSource:dL.optional(),registry:dK.optional(),tag:dJ.optional()}).strict(),oU=Q.gM("action",[Q.Ik({action:Q.eu("add"),items:Q.YO(oT).min(1).max(32)}).strict(),Q.Ik({action:Q.eu("update"),sources:ou}).strict(),Q.Ik({action:Q.eu("del"),sources:ou}).strict(),Q.Ik({action:Q.eu("tag"),sources:ou,tag:dJ}).strict()]),oV=Q.Ik({snapshot:oO,results:Q.YO(Q.Ik({source:ot,error:Q.Yj().max(4e3).nullable()}).strict()).max(32)}).strict(),oW=oS.extend({enabled:Q.zM()}).strict();async function oX(a,b,c,d){return b3(a,b,c,d,{fallbackMessage:"插件管理请求失败"})}function oY({pluginName:a,descriptor:b,source:c,cwd:d,onPreviewFile:e,onRevealFile:f}){let g=`${c.workId}\u0000${c.sessionId}\u0000${c.branchId}\u0000${d}`;return(0,N.jsx)(cB,{pluginName:a,kind:"session-sidebar-tab",contributionName:b.contributionName,target:{kind:"session-sidebar-tab",source:c,cwd:d,files:{preview:e,reveal:f}},targetKey:g,layout:"fill"})}function oZ({pluginName:a,descriptor:b,onClose:c,onBeforeLeaveChange:d}){let e=(0,bR.t4)();(0,bR.So)();let f=e.getEntryState(a);"ready"===f.status?f.runtime:f.status;let g=(0,O.useMemo)(()=>({kind:"settings-page",close:()=>{e.getEntryState(a)===f&&c()},setBeforeLeave:b=>{e.getEntryState(a)===f&&d(b)}}),[f,d,c,a,e]);return(0,N.jsx)(cB,{pluginName:a,kind:"settings-page",contributionName:b.contributionName,target:g,className:"pi-desk-chat-scrollbar h-full min-h-0 overflow-auto"})}let o$=(0,ac.A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]);var o_=c(91477);let o0=(0,ac.A)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]);var o1=c(9665),o2=c(60816);let o3="1.1.5".trim()||"未知",o4="2026-10-10T17:39:33+08:00".trim()||null;var o5=c(68578),o6=c(22207),o7=c(57537),o8=c(5090),o9=c(96478),pa=c(23423),pb=c(51949);let pc=Q.Yj().min(1).max(pb.uV).refine(a=>!a.includes("\0")&&(a.startsWith("/")||a.startsWith("\\\\")||/^[a-zA-Z]:[\\/]/.test(a)),"必须是绝对路径"),pd=Q.Ik({cwd:pa.m4.nullable()}).strict(),pe=Q.Ik({skillPath:pc,name:Q.Yj().min(1),description:Q.Yj(),packageSource:Q.Yj().nullable()}).strict(),pf=Q.Ik({skills:Q.YO(pe),diagnostics:Q.YO(Q.Ik({path:Q.Yj(),message:cE.qf}).strict())}).strict(),pg=pd.extend({skillPath:pc}),ph=pg.extend({path:pb.rh}).strict(),pi=Q.Ik({entries:Q.YO(Q.Ik({name:Q.Yj().min(1),type:Q.k5(["directory","file"])}).strict()).max(pb.xm),truncated:Q.zM()}).strict(),pj=pg.extend({path:pb._g}).strict(),pk=Q.gM("kind",[Q.Ik({kind:Q.eu("text"),content:Q.Yj(),size:Q.ai().int().nonnegative().max(pb.NL),readOnlyReason:cE.qf.nullable()}).strict(),Q.Ik({kind:Q.eu("image"),mimeType:pb.CT,data:Q.Yj(),size:Q.ai().int().nonnegative()}).strict(),Q.Ik({kind:Q.eu("unsupported"),size:Q.ai().int().nonnegative(),reason:Q.Yj()}).strict()]),pl=pj.extend({content:Q.Yj().max(pb.NL)}).strict(),pm=Q.Ik({}).strict(),pn={path:"/api/skills/list",request:pd,response:pf},po={path:"/api/skill-files/list",request:ph,response:pi},pp={path:"/api/skill-files/get",request:pj,response:pk},pq={path:"/api/skill-files/replace",request:pl,response:pm},pr=Q.Ik({code:Q.ai(),msg:Q.Yj(),data:Q.L5(),i18n:o8.N.optional()});async function ps(a,b,c,d){let e=await fetch(b.path,{method:"POST",headers:{"Content-Type":"application/json","X-Pi-Desk-Client-Id":a},body:JSON.stringify(b.request.parse(c)),signal:d}),f=pr.parse(await e.json());if(!e.ok||0!==f.code||null===f.data)throw Error(f.msg?(0,b2.B)(f):"Skills 请求失败");return b.response.parse(f.data)}function pt(a){(0,o9.ZQ)({wrapLines:a})}async function pu(a){let b=a.skillPath.replaceAll("\\","/");await navigator.clipboard.writeText(b.slice(0,b.lastIndexOf("/")+1)+a.path)}var pv=c(60632);function pw(a){return(0,b2.B)({msg:pv.P["zh-CN"][a],i18n:{key:`skills:${a}`}})}function px(a){return JSON.stringify(a)}function py(a){return JSON.stringify([a.cwd,a.skillPath,a.path])}function pz(a){return a.replace(/\r\n|\r/g,"\n")}function pA(a){return a?.file?.kind==="text"&&a.draft!==pz(a.file.content)}let pB=(0,ac.A)("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]),pC=(0,ac.A)("lock-keyhole",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]);var pD=c(51314);function pE(a){let{t:b}=(0,aa.Bd)("common"),{wrapLines:c}=(0,o9.TX)();a.path;let d=(0,O.useRef)(null);(0,O.useRef)(null),(0,O.useRef)(null),(0,O.useRef)(null),(0,O.useRef)(null),(0,O.useRef)(0),(0,O.useRef)(a);let[e,f]=(0,O.useState)(!1),[g,h]=(0,O.useState)(!1);return(0,N.jsxs)("div",{"data-testid":"code-editor",className:"relative h-full min-h-0 w-full overflow-hidden bg-background",children:[(0,N.jsx)("div",{ref:d,className:"size-full"}),!g&&(0,N.jsx)("div",{role:"status",className:"absolute inset-0 flex items-center justify-center p-6 text-sm text-muted-foreground",children:b(e?"editorFailed":"editorLoading")})]})}c(82386);var pF=c(85544);function pG({file:a,path:b}){let{t:c}=(0,aa.Bd)("skills"),d=(0,O.useMemo)(()=>[{src:`data:${a.mimeType};base64,${a.data}`,alt:b}],[a,b]);return(0,N.jsx)(pF.k,{mode:"inline",slides:d,className:"h-full w-full",ariaLabel:c("imagePreview")})}function pH(a){let{document:b,skill:c,dirty:d,loading:e,saving:f,opening:g}=a,{t:h}=(0,aa.Bd)("skills"),{locale:i}=(0,cF.i)();if(!b)return(0,N.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 px-6 text-center",children:[(0,N.jsx)(pB,{className:"size-6 text-muted-foreground"}),(0,N.jsx)("h3",{className:"text-sm font-medium",children:h("chooseFile")}),(0,N.jsx)("p",{className:"max-w-xs text-sm leading-6 text-muted-foreground",children:h("chooseFileDescription")})]});let j=b.file,k=j?.kind==="text"?j.readOnlyReason:null;return(0,N.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,N.jsxs)("div",{className:"flex min-h-14 shrink-0 flex-wrap items-center gap-2 border-b px-4 py-2",children:[(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsxs)("p",{className:"truncate text-xs text-muted-foreground",title:c?.description,children:[c?.name??b.target.skillPath.split("/").at(-2),(0,N.jsx)("span",{className:"mx-1.5",children:"/"}),h(null===b.target.cwd?"global":"project"),` \xb7 ${h(c?.packageSource?"package":"local")}`]}),(0,N.jsx)("p",{className:"mt-1 truncate font-mono text-sm",title:b.target.path,children:b.target.path})]}),j?.kind==="text"&&(0,N.jsxs)("span",{role:"status","aria-label":h(f?"saving":g?"switchingFile":d?"unsavedChanges":k?"readOnlyFile":"fileSaved"),className:"hidden shrink-0 items-center gap-1 text-xs text-muted-foreground sm:flex",children:[f||g?(0,N.jsx)(ab.A,{className:"size-3.5 animate-spin"}):d?(0,N.jsx)("span",{className:"size-1.5 rounded-full bg-status-warning"}):k?(0,N.jsx)(pC,{className:"size-3.5"}):(0,N.jsx)(bB.A,{className:"size-3.5"}),h(f?"saving":g?"switchingFile":d?"unsaved":k?"readOnly":"saved")]}),d&&(0,N.jsx)("span",{"aria-label":h("unsavedChanges"),className:"size-2 shrink-0 rounded-full bg-status-warning sm:hidden"}),(0,N.jsx)(ae.$,{variant:"ghost",size:"icon","aria-label":h("copySkillPath"),title:h("copyPath"),onClick:a.onCopy,children:(0,N.jsx)(bU.A,{className:"size-4"})}),(0,N.jsxs)(ae.$,{"aria-label":h("saveSkill"),disabled:!d||!!k||e||f,onClick:a.onSave,children:[f?(0,N.jsx)(ab.A,{className:"size-4 animate-spin"}):(0,N.jsx)(bT,{className:"size-4"}),h("save")]})]}),k&&(0,N.jsxs)("div",{role:"note",className:"flex shrink-0 items-start gap-2 border-b bg-muted px-4 py-2 text-sm leading-5 text-muted-foreground",children:[(0,N.jsx)(pC,{className:"mt-0.5 size-3.5 shrink-0"}),(0,N.jsx)("p",{children:(0,cE.fD)(k,i)})]}),b.error&&(0,N.jsxs)("div",{role:"alert",className:"shrink-0 border-b bg-muted px-4 py-2 text-sm text-destructive",children:[b.error,!j&&(0,N.jsx)(ae.$,{variant:"ghost",size:"sm",onClick:a.onReload,children:h("reload")})]}),(0,N.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:e&&!j?(0,N.jsxs)("div",{role:"status",className:"flex h-full items-center justify-center gap-2 text-sm text-muted-foreground",children:[(0,N.jsx)(ab.A,{className:"size-4 animate-spin"}),h("loadingFile")]}):j?.kind==="text"?(0,N.jsx)(pE,{path:b.target.skillPath.slice(0,b.target.skillPath.lastIndexOf("/")+1)+b.target.path,content:b.draft,size:j.size,readOnly:!!k||f||g,onChange:a.onChange,onSave:a.onSave}):j?.kind==="image"?(0,N.jsx)(pG,{file:j,path:b.target.path}):j?.kind==="unsupported"?(0,N.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-6 text-center text-sm text-muted-foreground",children:[(0,N.jsx)(pB,{className:"mb-2 size-8"}),(0,N.jsx)("p",{children:j.reason}),(0,N.jsx)("p",{children:h("fileSize",{size:j.size.toLocaleString("en"===i?"en-US":"zh-CN")})})]}):null}),j?.kind==="text"&&(0,N.jsxs)("div",{className:"flex min-h-9 shrink-0 items-center justify-between gap-2 border-t px-3 py-1 text-xs text-muted-foreground",children:[(0,N.jsxs)("span",{className:"truncate",children:["UTF-8 \xb7 ",h(k?"readOnly":"saveShortcut")]}),(0,N.jsxs)(ae.$,{variant:"ghost",size:"sm","aria-label":h("wrapLines"),"aria-pressed":a.wrapLines,onClick:a.onWrapLines,children:[(0,N.jsx)(pD.A,{className:"size-3.5"}),h("wrapLines")]})]})]})}function pI({open:a,saving:b,path:c,error:d,onDecide:e}){let{t:f}=(0,aa.Bd)("skills");return(0,N.jsx)(cf.YV,{open:a,onOpenChange:a=>{a||b||e("cancel")},children:(0,N.jsxs)(cf.hA,{className:"z-[150]",showCloseButton:!b,children:[(0,N.jsxs)(cf.Hl,{className:"p-4 pr-12",children:[(0,N.jsx)(cf.YM,{children:f("saveChangesTitle")}),(0,N.jsx)(cf.uX,{children:f("saveChangesDescription",{path:c??""})})]}),d&&(0,N.jsx)("p",{role:"alert",className:"px-4 pb-4 text-sm text-destructive",children:d}),(0,N.jsxs)(cf.vu,{children:[(0,N.jsx)(ae.$,{variant:"outline",disabled:b,onClick:()=>void e("cancel"),children:f("cancel")}),(0,N.jsx)(ae.$,{variant:"ghost",disabled:b,onClick:()=>void e("discard"),children:f("discard")}),(0,N.jsx)(ae.$,{disabled:b,onClick:()=>void e("save"),children:f(b?"savingChanges":"saveContinue")})]})]})})}var pJ=c(5782);let pK=(0,ac.A)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);var pL=c(89101);function pM(a,b){return!!(a&&a.cwd===b.cwd&&a.skillPath===b.skillPath&&a.path===b.path)}function pN({target:a,props:b,depth:c=0,skillName:d}){let{t:e}=(0,aa.Bd)("skills"),f=b.directories[py(a)],{onLoadDirectory:g}=b;return f?.error?(0,N.jsxs)("div",{className:"px-3 py-2 text-xs text-destructive",children:[f.error,(0,N.jsx)(ae.$,{variant:"ghost",size:"sm",onClick:()=>void b.onLoadDirectory(a),children:e("retryFolder")})]}):f?.data?(0,N.jsxs)("div",{className:"relative ml-5 border-l border-border/70 py-1 pl-3",children:[f.data.entries.map(f=>{let g=a.path?`${a.path}/${f.name}`:f.name,h={...a,path:g};if("directory"===f.type)return(0,N.jsx)(pO,{target:h,props:b,depth:c,name:f.name,skillName:d},g);let i=pM(b.selected,h),j=pM(b.pending,h);return(0,N.jsxs)(ae.$,{variant:"ghost","aria-label":e("skillFile",{path:`${d}/${g}`}),"aria-pressed":i,title:g,className:(0,ag.cn)("min-h-9 w-full justify-start text-left font-normal text-muted-foreground",i&&"font-medium",j&&"bg-muted text-foreground"),onClick:()=>void b.onOpenFile(h),children:["SKILL.md"===f.name?(0,N.jsx)(pJ.A,{className:"size-3.5 shrink-0"}):(0,N.jsx)(pB,{className:"size-3.5 shrink-0"}),(0,N.jsx)("span",{className:"min-w-0 flex-1 truncate",children:f.name}),j&&(0,N.jsx)(ab.A,{className:"size-3.5 shrink-0 animate-spin"})]},g)}),0===f.data.entries.length&&(0,N.jsx)("p",{className:"px-3 py-2 text-xs text-muted-foreground",children:e("emptyFolder")}),f.data.truncated&&(0,N.jsx)("p",{className:"px-3 py-2 text-sm text-status-warning",children:e("folderTruncated")})]}):(0,N.jsx)("p",{role:"status",className:"px-4 py-2 text-xs text-muted-foreground",children:e("loadingFolder")})}function pO({target:a,props:b,depth:c,name:d,skillName:e}){let{t:f}=(0,aa.Bd)("skills"),[g,h]=(0,O.useState)(!1);return(0,N.jsxs)("div",{children:[(0,N.jsxs)(ae.$,{variant:"ghost","aria-expanded":g,"aria-label":f("skillFolder",{path:`${e}/${a.path}`}),className:(0,ag.cn)("min-h-9 w-full justify-start font-normal text-muted-foreground",g&&"bg-muted text-foreground"),onClick:()=>h(!g),children:[g?(0,N.jsx)(cy.A,{className:"size-3.5 shrink-0"}):(0,N.jsx)(bA.A,{className:"size-3.5 shrink-0"}),(0,N.jsx)(cp.A,{className:"size-3.5 shrink-0"}),(0,N.jsx)("span",{className:"truncate",children:d})]}),g&&(0,N.jsx)("div",{className:c>3?"-ml-3":void 0,children:(0,N.jsx)(pN,{target:a,props:b,depth:c+1,skillName:e})})]})}function pP({cwd:a,skill:b,props:c}){let{t:d}=(0,aa.Bd)("skills"),e=c.selected?.cwd===a&&c.selected.skillPath===b.skillPath,f=c.pending?.cwd===a&&c.pending.skillPath===b.skillPath,[g,h]=(0,O.useState)(null),i=g??e,j=async()=>{if(i)return void h(!1);let d=b.skillPath.replaceAll("\\","/").split("/").at(-1);await c.onOpenFile({cwd:a,skillPath:b.skillPath,path:d})&&h(!0)};return(0,N.jsxs)("div",{className:"py-0.5",children:[(0,N.jsxs)(ae.$,{variant:"ghost","aria-label":d("skillName",{name:b.name}),"aria-expanded":i,title:`${b.description}
584
584
  ${b.skillPath}`,className:(0,ag.cn)("min-h-14 w-full justify-start whitespace-normal text-left",i&&"bg-accent hover:bg-accent",e&&"text-foreground"),onClick:()=>void j(),children:[i?(0,N.jsx)(cy.A,{className:"size-3.5 shrink-0 text-muted-foreground"}):(0,N.jsx)(bA.A,{className:"size-3.5 shrink-0 text-muted-foreground"}),(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsx)("p",{className:"truncate text-sm font-medium",children:b.name}),b.description&&(0,N.jsx)("p",{className:"mt-0.5 truncate text-xs font-normal text-muted-foreground",children:b.description})]}),f?(0,N.jsx)(ab.A,{className:"size-3.5 shrink-0 animate-spin text-muted-foreground"}):b.packageSource?(0,N.jsx)(pK,{"aria-label":d("packageSkill"),className:"size-3.5 shrink-0 text-muted-foreground"}):null]}),i&&(0,N.jsx)(pN,{target:{cwd:a,skillPath:b.skillPath,path:""},props:c,skillName:b.name})]})}function pQ({cwd:a,name:b,props:c}){let{t:d}=(0,aa.Bd)("skills"),{locale:e}=(0,cF.i)(),f=c.selected?.cwd===a||c.pending?.cwd===a,[g,h]=(0,O.useState)(null),{onLoadScope:i}=c,j=c.scopes[px(a)],k=c.query.trim().toLowerCase(),l=g??(null===a||c.focusedCwd===a||f),m=l||!!k,n=`${b} ${a??""}`.toLowerCase().includes(k),o=j?.data?.skills.filter(a=>!k||n||`${a.name} ${a.description}`.toLowerCase().includes(k))??[];if(k&&j?.data&&!o.length&&!n&&!j.error)return null;let p=null===a;return(0,N.jsxs)("section",{className:"mx-2 mt-2 min-w-0 border-b pb-2","aria-label":p?d("globalSkills"):d("projectSkills",{name:b}),children:[(0,N.jsxs)(ae.$,{variant:"ghost",className:"min-h-14 w-full justify-start text-left","aria-label":d("skillsGroup",{name:p?d("global"):b}),"aria-expanded":m,onClick:()=>h(!l),children:[m?(0,N.jsx)(cy.A,{className:"size-4 shrink-0"}):(0,N.jsx)(bA.A,{className:"size-4 shrink-0"}),p?(0,N.jsx)(ct,{className:"size-4 shrink-0 text-primary"}):(0,N.jsx)(cp.A,{className:"size-4 shrink-0 text-muted-foreground"}),(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsx)("p",{className:"truncate text-sm font-semibold",children:p?d("globalSkills"):b}),a&&(0,N.jsx)("p",{title:a,className:"mt-1 truncate text-xs font-normal text-muted-foreground",children:a})]}),j?.loading?(0,N.jsx)(ab.A,{className:"size-3.5 shrink-0 animate-spin text-muted-foreground"}):j?.data?(0,N.jsx)("span",{className:"text-xs tabular-nums text-muted-foreground",children:k?o.length:j.data.skills.length}):null]}),m&&(0,N.jsxs)("div",{className:"px-1 py-1",children:[j?.error&&(0,N.jsxs)("p",{className:"px-3 py-2 text-xs text-destructive",children:[j.error,(0,N.jsx)(ae.$,{variant:"ghost",size:"sm",onClick:()=>void c.onLoadScope(a),children:d("retryGroup")})]}),o.map(b=>(0,N.jsx)(pP,{cwd:a,skill:b,props:c},b.skillPath)),j?.data&&0===o.length&&!j.error&&(0,N.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground",children:d(k?"noSkillMatches":"noSkills")}),!!j?.data?.diagnostics.length&&(0,N.jsxs)("details",{className:"mx-2 mb-1 mt-2 rounded-md bg-muted p-2 text-sm text-muted-foreground",children:[(0,N.jsx)("summary",{className:"cursor-pointer text-status-warning",children:d("diagnostics",{count:j.data.diagnostics.length})}),(0,N.jsx)("div",{className:"mt-2 space-y-3",children:j.data.diagnostics.map((a,b)=>(0,N.jsxs)("div",{children:[(0,N.jsx)("p",{className:"break-words",children:(0,cE.fD)(a.message,e)}),(0,N.jsx)("p",{className:"mt-1 break-all text-xs",children:a.path})]},`${a.path}:${b}`))})]})]})]})}function pR(a){let{t:b}=(0,aa.Bd)("skills");return(0,N.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,N.jsx)("div",{className:"shrink-0 border-b p-3",children:(0,N.jsxs)(pL.MG,{children:[(0,N.jsx)(pL.Sq,{children:(0,N.jsx)(b5.A,{className:"size-4"})}),(0,N.jsx)(pL.iV,{"aria-label":b("searchSkills"),value:a.query,onChange:b=>a.onQuery(b.target.value),placeholder:b("searchSkillsPlaceholder")})]})}),(0,N.jsxs)("div",{className:"pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto overscroll-contain pb-4",children:[(0,N.jsx)(pQ,{cwd:null,name:b("global"),props:a}),(0,N.jsxs)("div",{className:"flex items-center gap-2 px-4 pb-1 pt-5",children:[(0,N.jsx)("span",{className:"h-px flex-1 bg-border"}),(0,N.jsx)("p",{className:"shrink-0 text-xs font-medium text-muted-foreground",children:b("workspaceCount",{count:a.projects.length})}),(0,N.jsx)("span",{className:"h-px flex-1 bg-border"})]}),a.projects.map(b=>(0,N.jsx)(pQ,{cwd:b.cwd,name:b.projectName,props:a},b.cwd)),0===a.projects.length&&(0,N.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground",children:b("workspaceEmpty")})]})]})}function pS({projects:a,focusedCwd:b,onBeforeLeaveChange:c}){let{t:d}=(0,aa.Bd)("skills"),{clientId:e}=(0,bZ.gM)(),f=(0,bS.G)(),g=(0,O.useMemo)(()=>({list:(a,b)=>ps(e,pn,a,b),listFiles:(a,b)=>ps(e,po,a,b),getFile:(a,b)=>ps(e,pp,a,b),async replaceFile(a){await ps(e,pq,a)}}),[e]),h=function(a,b){let[c,d]=(0,O.useState)({}),[e,f]=(0,O.useState)({}),g=(0,O.useRef)(new Map),h=(0,O.useRef)(!0),i=(0,O.useCallback)(async b=>{let c=px(b),e=`scope:${c}`;g.current.get(e)?.abort();let f=new AbortController;g.current.set(e,f),d(a=>({...a,[c]:{data:a[c]?.data??null,loading:!0,error:null}}));try{let e=await a.list({cwd:b},f.signal);!f.signal.aborted&&h.current&&d(a=>({...a,[c]:{data:e,loading:!1,error:null}}))}catch(a){!f.signal.aborted&&h.current&&d(b=>({...b,[c]:{data:b[c]?.data??null,loading:!1,error:a instanceof Error?a.message:pw("skillsReadFailed")}}))}finally{g.current.get(e)===f&&g.current.delete(e)}},[a]),j=(0,O.useCallback)(async b=>{let c=py(b),d=`directory:${c}`;g.current.get(d)?.abort();let e=new AbortController;g.current.set(d,e),f(a=>({...a,[c]:{data:a[c]?.data??null,loading:!0,error:null}}));try{let d=await a.listFiles(b,e.signal);!e.signal.aborted&&h.current&&f(a=>({...a,[c]:{data:d,loading:!1,error:null}}))}catch(a){!e.signal.aborted&&h.current&&f(b=>({...b,[c]:{data:null,loading:!1,error:a instanceof Error?a.message:pw("directoryReadFailed")}}))}finally{g.current.get(d)===e&&g.current.delete(d)}},[a]);return JSON.stringify(b.map(a=>a.cwd)),{scopes:c,directories:e,loadScope:i,loadDirectory:j}}(g,a),{loadScope:i}=h,j=function(a,b){let{wrapLines:c}=(0,o9.TX)(),[d,e]=(0,O.useState)(null),f=(0,O.useRef)(null),g=(0,O.useRef)(!0),[h,i]=(0,O.useState)(!1),[j,k]=(0,O.useState)(null),[l,m]=(0,O.useState)(!1),n=(0,O.useRef)(null),o=(0,O.useRef)(!1),p=(0,O.useRef)(null),[q,r]=(0,O.useState)(!1),s=(0,O.useRef)(null),t=(0,O.useCallback)(a=>{g.current&&(f.current=a,e(a))},[]),u=(0,O.useCallback)(()=>{if(n.current)return n.current;let c=f.current;if(!c||c.file?.kind!=="text"||c.file.readOnlyReason)return Promise.resolve(!1);if(!pA(c))return Promise.resolve(!0);m(!0);let d=(async()=>{try{await a.replaceFile({...c.target,content:c.draft});let d=f.current;return d?.file?.kind==="text"&&d.target===c.target&&t({...d,file:{...d.file,content:c.draft},error:null}),g.current&&b(c.target.cwd),!0}catch(b){let a=f.current;return a?.target===c.target&&t({...a,error:b instanceof Error?b.message:pw("saveFailed")}),!1}finally{n.current=null,g.current&&m(!1)}})();return n.current=d,d},[t,a,b]),v=(0,O.useCallback)(async()=>{let a;if(n.current&&await n.current,!g.current)return!1;if(!pA(f.current))return!0;if(s.current)return s.current.promise;let b=new Promise(b=>{a=b});return s.current={promise:b,resolve:a},r(!0),b},[]),w=(0,O.useCallback)(async a=>{if(!s.current||n.current||"save"===a&&(!await u()||pA(f.current)))return;if("discard"===a){let a=f.current;a?.file?.kind==="text"&&t({...a,draft:pz(a.file.content),error:null})}let b=s.current;s.current=null,r(!1),b?.resolve("cancel"!==a)},[t,u]),x=(0,O.useCallback)(async b=>{if(o.current)return!1;o.current=!0;try{if(!await v()||!g.current)return!1;p.current?.abort();let c=new AbortController;p.current=c,k(b),i(!0);try{let d=await a.getFile(b,c.signal);if(c.signal.aborted||!g.current)return!1;return t({target:b,file:d,draft:"text"===d.kind?pz(d.content):"",error:null}),!0}catch(a){if(!c.signal.aborted){let c=f.current,d=a instanceof Error?a.message:pw("fileReadFailed");t(c?{...c,error:d}:{target:b,file:null,draft:"",error:d})}return!1}finally{g.current&&(k(null),i(!1))}}finally{o.current=!1}},[t,v,a]),y=(0,O.useCallback)(a=>{let b=f.current;b?.file?.kind!=="text"||b.file.readOnlyReason||b.draft===a||t({...b,draft:a})},[t]),z=pA(d);return{document:d,dirty:z,loading:h,openingTarget:j,saving:l,confirmOpen:q,wrapLines:c,setWrapLines:pt,change:y,open:x,save:u,beforeLeave:v,decide:w}}(g,(0,O.useCallback)(a=>{i(a)},[i])),{document:k,open:l}=j,[m,n]=(0,O.useState)(""),[o,p]=(0,O.useState)(!1),[q,r]=(0,O.useState)(!0);(0,O.useRef)(!1),(0,O.useRef)(b);let s=(0,O.useCallback)(async a=>{let b=await l(a);return b&&p(!1),b},[l]),t=async()=>{if(j.document)try{await pu(j.document.target),f.success(d("pathCopied"))}catch{f.error(d("copyFailed"))}},u=j.document?.target??null,v=u?h.scopes[px(u.cwd)]?.data?.skills.find(a=>a.skillPath===u.skillPath)??null:null,w=Object.values(h.scopes).some(a=>a.loading)||Object.values(h.directories).some(a=>a.loading),x={projects:a,focusedCwd:b,query:m,onQuery:n,scopes:h.scopes,directories:h.directories,selected:u,pending:j.openingTarget,onLoadScope:h.loadScope,onLoadDirectory:h.loadDirectory,onOpenFile:s};return(0,N.jsxs)("section",{"aria-label":d("skillsManagement"),className:"flex h-full min-h-0 flex-col bg-background",children:[(0,N.jsxs)("header",{className:"flex min-h-12 shrink-0 items-center gap-2 border-b px-4 py-2",children:[(0,N.jsx)(ae.$,{variant:"ghost",size:"icon",className:"lg:hidden","aria-label":d("openSkillsFolder"),onClick:()=>p(!0),children:(0,N.jsx)(o1.A,{className:"size-4"})}),(0,N.jsx)(ae.$,{variant:"ghost",size:"icon",className:"hidden lg:inline-flex","aria-label":d(q?"collapseSkillsFolder":"expandSkillsFolder"),onClick:()=>r(!q),children:q?(0,N.jsx)(o6.A,{className:"size-4"}):(0,N.jsx)(o7.A,{className:"size-4"})}),(0,N.jsx)("h2",{className:"text-xl font-semibold",children:"Skills"}),(0,N.jsx)("div",{className:"flex-1"}),(0,N.jsxs)(ae.$,{variant:"ghost",size:"sm",disabled:w,"aria-label":d("refreshSkillsFolder"),onClick:()=>{for(let a of Object.keys(h.scopes))h.loadScope(JSON.parse(a));for(let a of Object.keys(h.directories)){let[b,c,d]=JSON.parse(a);h.loadDirectory({cwd:b,skillPath:c,path:d})}},children:[w?(0,N.jsx)(ab.A,{className:"size-3.5 animate-spin"}):(0,N.jsx)(bW.A,{className:"size-3.5"}),d("refreshFolder")]})]}),(0,N.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,N.jsx)("aside",{"aria-label":d("skillsProjectFolder"),className:(0,ag.cn)("hidden w-64 shrink-0 border-r bg-sidebar xl:w-72",q&&"lg:block"),children:(0,N.jsx)(pR,{...x})}),(0,N.jsx)("main",{className:"min-h-0 min-w-0 flex-1",children:(0,N.jsx)(pH,{document:j.document,skill:v,dirty:j.dirty,loading:j.loading,saving:j.saving,opening:!!j.openingTarget,wrapLines:j.wrapLines,onWrapLines:()=>j.setWrapLines(!j.wrapLines),onChange:j.change,onSave:()=>void j.save(),onReload:()=>{u&&s(u)},onCopy:()=>void t()})})]}),(0,N.jsx)(cf.YV,{open:o,onOpenChange:p,children:(0,N.jsxs)(cf.hA,{className:"left-0 top-0 z-[130] h-dvh max-h-dvh w-[min(360px,calc(100dvw-2rem))] max-w-none translate-x-0 translate-y-0 rounded-l-none",finalFocus:!1,children:[(0,N.jsx)(cf.Hl,{className:"shrink-0 border-b px-4 py-3 pr-12",children:(0,N.jsx)(cf.YM,{children:d("skillsFolderTitle")})}),(0,N.jsx)("div",{className:"min-h-0 flex-1",children:(0,N.jsx)(pR,{...x})})]})}),(0,N.jsx)(pI,{open:j.confirmOpen,saving:j.saving,path:u?.path??null,error:j.document?.error??null,onDecide:j.decide})]})}let pT=(0,ac.A)("shield-off",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71",key:"1jlk70"}],["path",{d:"M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264",key:"18rp1v"}]]),pU=(0,ac.A)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);var pV=c(99022);function pW(){let{t:a}=(0,aa.Bd)("common"),[b,c]=(0,O.useState)(null),d=(0,O.useRef)(null),e=(0,O.useRef)(null),f=a=>{let b=d.current;d.current=null,c(null),b?.(a)};return{confirm:a=>(d.current?.(!1),c(a),new Promise(a=>{d.current=a})),dialog:b?(0,N.jsx)(cf.YV,{open:!0,onOpenChange:a=>{a||f(!1)},children:(0,N.jsxs)(cf.hA,{initialFocus:e,className:"z-[130] max-w-[27.5rem]",children:[(0,N.jsxs)(cf.Hl,{className:"p-4 pr-12",children:[(0,N.jsx)(cf.YM,{children:b.title}),(0,N.jsx)(cf.uX,{className:"break-words",children:b.description})]}),(0,N.jsxs)(cf.vu,{children:[(0,N.jsx)(ae.$,{ref:e,variant:"outline",onClick:()=>f(!1),children:a("cancel")}),(0,N.jsx)(ae.$,{variant:"destructive",onClick:()=>f(!0),children:b.confirmLabel??a("delete")})]})]})}):null}}var pX=c(76499);async function pY(a,b,c,d,e){let f=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json","X-Pi-Desk-Client-Id":a},body:JSON.stringify(c),signal:e});401===f.status&&window.location.replace("/login");let g=await f.json();if(!f.ok||0!==g.code||null===g.data)throw Error(0===g.code?(0,b2.B)({msg:"登录保护设置处理失败",i18n:{key:"auth:settingsFailed"}}):(0,b2.B)(g));return d.parse(g.data)}async function pZ(a){await pY(a,"/api/auth/logout",{},pX.Xm),window.location.replace("/login")}async function p$(a,b){let c=pX.uZ.safeParse(b);if(!c.success)throw Error((0,b2.B)({msg:"请填写至少 8 位密码",i18n:{key:"auth:settingsInvalid"}}));await pY(a,"/api/auth-settings/replace",c.data,pX.Kc),window.location.replace(null===b.password?"/":"/login")}function p_(){let{t:a}=(0,aa.Bd)("auth"),b=function(){let{t:a}=(0,aa.Bd)("auth"),{clientId:b}=(0,bZ.gM)(),{confirm:c,dialog:d}=pW(),[e,f]=(0,O.useState)(null),[g,h]=(0,O.useState)(!0),[i,j]=(0,O.useState)(!1),[k,l]=(0,O.useState)(!1),[m,n]=(0,O.useState)(null),[o,p]=(0,O.useState)(0),[q,r]=(0,O.useState)(""),s=(0,O.useRef)(!1),t=async()=>{if(!s.current&&e){s.current=!0,j(!0),n(null);try{await p$(b,{password:q})}catch(b){s.current=!1,j(!1),n(b instanceof Error?b.message:a("settingsFailed"))}}},u=async()=>{if(!s.current&&e){if(s.current=!0,!await c({title:a("disableTitle"),description:a("disableDescription"),confirmLabel:a("disable")})){s.current=!1;return}j(!0),n(null);try{await p$(b,{password:null})}catch(b){s.current=!1,j(!1),n(b instanceof Error?b.message:a("settingsFailed"))}}},v=async()=>{if(!s.current&&e?.enabled){s.current=!0,l(!0),n(null);try{await pZ(b)}catch(b){s.current=!1,l(!1),n(b instanceof Error?b.message:a("logoutFailed"))}}};return{settings:e,loading:g,saving:i,signingOut:k,error:m,password:q,setPassword:r,save:t,disable:u,logout:v,dialog:d,retry:()=>{h(!0),n(null),p(a=>a+1)}}}(),c=b.settings?.enabled??!1,d=b.saving||b.signingOut;return(0,N.jsxs)("section",{"aria-labelledby":"auth-settings-title",className:"@container min-w-0 space-y-6",children:[(0,N.jsx)("h2",{id:"auth-settings-title",className:"text-xl font-semibold",children:a("settings:loginProtection")}),b.loading?(0,N.jsx)("p",{className:"text-sm text-muted-foreground",role:"status",children:a("common:loading")}):b.settings?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-4 rounded-xl bg-muted p-4",children:[(0,N.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,N.jsx)(c?bX:pT,{className:"size-5 shrink-0","aria-hidden":"true"}),(0,N.jsxs)("div",{className:"space-y-1",children:[(0,N.jsx)("p",{className:"text-sm font-semibold",children:a("protection")}),(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:a(c?"enabled":"disabled")})]})]}),c?(0,N.jsxs)(ae.$,{type:"button",variant:"outline",className:"border-destructive/50 text-destructive hover:bg-destructive/10 hover:text-destructive",disabled:d,"aria-busy":b.signingOut,onClick:()=>void b.logout(),children:[b.signingOut?(0,N.jsx)(ab.A,{className:"motion-safe:animate-spin","aria-hidden":"true"}):(0,N.jsx)(pU,{"aria-hidden":"true"}),a(b.signingOut?"signingOut":"logout")]}):null]}),(0,N.jsxs)("form",{className:"grid gap-4 @min-[36rem]:grid-cols-[10rem_minmax(0,1fr)] @min-[36rem]:gap-6","aria-busy":d,onSubmit:a=>{a.preventDefault(),b.save()},children:[(0,N.jsxs)("div",{className:"space-y-1",children:[(0,N.jsx)("h3",{className:"text-sm font-semibold",children:a(c?"changePassword":"setPassword")}),c?null:(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:a("publicAccess")})]}),(0,N.jsxs)("div",{className:"min-w-0 max-w-[40rem] space-y-4",children:[(0,N.jsxs)("div",{className:"space-y-1",children:[(0,N.jsx)("label",{className:"block text-sm font-medium",htmlFor:"auth-password",children:a(c?"newPassword":"password")}),(0,N.jsx)(pV.k,{id:"auth-password",name:"password",className:"[&::-ms-reveal]:hidden",autoComplete:"new-password",minLength:8,maxLength:256,required:!0,disabled:d,value:b.password,"aria-describedby":`auth-password-hint${b.error?" auth-settings-error":""}`,onChange:a=>b.setPassword(a.target.value)}),(0,N.jsx)("p",{id:"auth-password-hint",className:"text-xs text-muted-foreground",children:a("passwordHint")})]}),b.error?(0,N.jsx)("p",{id:"auth-settings-error",className:"text-sm text-destructive",role:"alert",children:b.error}):null,(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:a("saveEffect")}),(0,N.jsxs)(ae.$,{type:"submit",disabled:d,children:[b.saving?(0,N.jsx)(ab.A,{className:"motion-safe:animate-spin","aria-hidden":"true"}):null,a(b.saving?"saving":c?"saveAndSignIn":"enable")]})]})]}),c?(0,N.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4 border-t pt-4",children:[(0,N.jsxs)("details",{className:"group min-w-0 flex-1 text-sm",children:[(0,N.jsxs)("summary",{className:"flex min-h-8 w-fit cursor-pointer items-center gap-1 rounded-sm text-muted-foreground outline-none hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring",children:[(0,N.jsx)(bA.A,{className:"size-4 shrink-0 transition-transform group-open:rotate-90","aria-hidden":"true"}),a("recovery")]}),(0,N.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,N.jsx)("p",{className:"text-muted-foreground",children:a("recoveryDescription")}),(0,N.jsx)("code",{className:"block break-all text-xs",children:b.settings.configPath})]})]}),(0,N.jsx)(ae.$,{type:"button",variant:"ghost",className:"text-muted-foreground",disabled:d,onClick:()=>void b.disable(),children:a("disable")})]}):null]}):(0,N.jsxs)("div",{className:"space-y-3",children:[(0,N.jsx)("p",{className:"text-sm text-destructive",role:"alert",children:b.error}),(0,N.jsx)(ae.$,{variant:"outline",onClick:b.retry,children:a("common:retry")})]}),b.dialog]})}var p0=c(82589),p1=c(26213);let p2=Object.freeze({apply:(0,R.Vc)({path:"app-runtime/apply",inputSchema:p1.$C,outputSchema:p1.Pq}),update:(0,R._G)({path:"app-runtime/update",bodySchema:p1.YT})});var p3=c(37222);async function p4(a,b,c,d){let e=(0,p3.fx)();if(!e)return"cancelled";let f=a!==e.locale;if(f&&!window.confirm(b))return"cancelled";if(f&&d&&!await d())return"blocked";try{await c.request(p2.apply,{key:"settings",update:{region:{locale:a}}})}catch{return"save-failed"}return f&&window.location.reload(),"changed"}async function p5(a,b){try{return await b.request(p2.apply,{key:"settings",update:{region:{timeZone:a}}}),!0}catch{return!1}}function p6({canLeave:a}){let{t:b}=(0,aa.Bd)("settings"),c=(0,cF.i)(),{appSocket:d}=(0,bZ.gM)(),[e,f]=(0,O.useState)(null),[g,h]=(0,O.useState)(()=>new Date),i=(0,O.useMemo)(()=>[...["UTC",...Intl.supportedValuesOf("timeZone").filter(a=>"UTC"!==a)].map(a=>({value:a,label:a.replaceAll("_"," ")}))],[]),j=async c=>{f(null);let e=await p4(c,b("common:reloadConfirm"),d,a);"save-failed"===e&&f(b("common:localeError")),"blocked"===e&&f(b("common:reloadBlocked"))},k=async a=>{f(await p5(a,d)?null:b("common:timeZoneError"))};return(0,N.jsxs)("section",{className:"@container min-w-0 space-y-6","aria-labelledby":"region-settings-title",children:[(0,N.jsx)("h2",{id:"region-settings-title",className:"text-xl font-semibold",children:b("region")}),(0,N.jsxs)("div",{className:"grid max-w-[40rem] gap-6 @min-[32rem]:grid-cols-2",children:[(0,N.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,N.jsx)("label",{className:"block text-sm font-medium",htmlFor:"region-language",children:b("language")}),(0,N.jsxs)(b$.l6,{value:c.localePreference,onValueChange:a=>{("zh-CN"===a||"en"===a)&&j(a)},children:[(0,N.jsx)(b$.bq,{id:"region-language",className:"w-full",children:(0,N.jsx)(b$.yv,{children:"zh-CN"===c.localePreference?b("common:chinese"):"English"})}),(0,N.jsxs)(b$.gC,{positionerClassName:"z-[120]",children:[(0,N.jsx)(b$.eb,{value:"zh-CN",children:b("common:chinese")}),(0,N.jsx)(b$.eb,{value:"en",children:"English"})]})]}),(0,N.jsx)("p",{className:"text-xs text-muted-foreground",children:b("currentLanguage",{locale:c.locale})}),c.pendingLocale&&(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,N.jsx)("p",{className:"text-xs text-muted-foreground",children:b("common:languagePending")}),(0,N.jsx)(ae.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void j(c.localePreference),children:b("reloadLanguage")})]})]}),(0,N.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,N.jsx)("span",{className:"block text-sm font-medium",children:b("timeZone")}),(0,N.jsx)(p0.b,{value:c.timeZonePreference,options:i,onChange:a=>void k(a),ariaLabel:b("timeZone"),searchPlaceholder:b("searchTimeZones"),emptyText:b("common:unavailable"),className:"w-full"}),(0,N.jsx)("p",{className:"text-xs text-muted-foreground",children:b("currentTimeZone",{timeZone:c.timeZone})})]})]}),(0,N.jsxs)("div",{className:"space-y-1 rounded-xl bg-muted p-4",children:[(0,N.jsx)("p",{className:"text-xs text-muted-foreground",children:b("timeExample")}),(0,N.jsx)("p",{className:"text-sm font-medium tabular-nums",children:new Intl.DateTimeFormat("en"===c.locale?"en-US":"zh-CN",{timeZone:c.timeZone,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).format(g)})]}),e&&(0,N.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:e})]})}let p7=(0,ac.A)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),p8=(0,ac.A)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),p9=(0,ac.A)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);var qa=c(84524);function qb({label:a,value:b,options:c,onChange:d,layout:e="list",disabled:f=!1}){let g=c.some(a=>a.value===b);return(0,N.jsx)("div",{role:"radiogroup","aria-label":a,onKeyDown:a=>{if(f||a.nativeEvent.isComposing||a.altKey||a.ctrlKey||a.metaKey)return;let e=["ArrowRight","ArrowDown"].includes(a.key)?1:["ArrowLeft","ArrowUp"].includes(a.key)?-1:0;if(!e&&"Home"!==a.key&&"End"!==a.key)return;a.preventDefault();let g=Math.max(0,c.findIndex(a=>a.value===b)),h="Home"===a.key?0:"End"===a.key?c.length-1:(g+e+c.length)%c.length,i=c[h];i&&(d(i.value),a.currentTarget.querySelectorAll('[role="radio"]')[h]?.focus())},className:(0,ag.cn)("segmented"===e?"inline-flex max-w-full flex-wrap gap-0.5 rounded-lg bg-muted p-0.5":"grid gap-2"),children:c.map((a,c)=>{let h=a.value===b,i=a.icon;return(0,N.jsxs)("button",{type:"button",role:"radio","aria-checked":h,tabIndex:h||!g&&0===c?0:-1,disabled:f,"data-testid":a.testId,onClick:()=>d(a.value),className:(0,ag.cn)("flex min-w-0 cursor-pointer items-center gap-2 text-left text-sm leading-5 outline-none transition-colors duration-150 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset","segmented"===e?"min-h-7 rounded-md px-2 py-0.5":"min-h-9 rounded-lg border border-transparent px-3 py-2",h?"segmented"===e?"bg-card text-card-foreground shadow-sm":"border-border bg-accent text-accent-foreground":"text-muted-foreground hover:bg-foreground/8 hover:text-foreground"),children:[i?(0,N.jsx)(i,{className:"size-4 shrink-0"}):null,(0,N.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,N.jsx)("span",{className:"block font-medium",children:a.label}),a.description?(0,N.jsx)("span",{className:"mt-1 block text-sm font-normal text-muted-foreground",children:a.description}):null]}),"list"===e?(0,N.jsx)(bB.A,{"aria-hidden":"true",className:(0,ag.cn)("size-4 shrink-0",!h&&"invisible")}):null]},a.value)})})}var qc=c(72062),qd=c(2191),qe=c(84074),qf=c(96436),qg=c(47836),qh=c.n(qg);let qi={code:{copy:!0,download:!1}};function qj({href:a,children:b,...c}){return delete c.node,(0,N.jsx)("a",{...c,href:a,target:"_blank",rel:"noopener noreferrer",children:b})}function qk({src:a,alt:b,className:c,onError:d,...e}){let{t:f}=(0,aa.Bd)("conversation"),[g,h]=(0,O.useState)(!1),[i,j]=(0,O.useState)(!1),k=b||f("image"),l=(0,O.useMemo)(()=>"string"==typeof a&&a?[{src:a,alt:k}]:[],[k,a]);if(delete e.node,0===l.length)return null;if(i)return(0,N.jsx)("span",{className:qh().imageFallback,children:f("imageUnavailable")});let m=l[0].src;return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:qh().imageTrigger,"aria-label":f("previewImage",{name:k}),onClick:()=>h(!0),children:[(0,N.jsx)("img",{...e,src:m,alt:k,"data-streamdown":"image",className:(0,ag.cn)(qh().image,c),onError:a=>{j(!0),d?.(a)}}),(0,N.jsx)("span",{className:qh().imageAction,"aria-hidden":"true",children:(0,N.jsx)(at.A,{className:"size-4"})})]}),g?(0,N.jsx)(pF.k,{mode:"modal",open:!0,slides:l,ariaLabel:f("imagePreview"),onClose:()=>h(!1)}):null]})}function ql({className:a,isAnimating:b,components:c,...d}){let e=(0,bS.G)(),{t:f}=(0,aa.Bd)("conversation"),{locale:g}=(0,cF.i)();return(0,N.jsx)("div",{className:"contents",onClickCapture:a=>{if("u">typeof navigator&&"function"==typeof navigator.clipboard?.writeText)return;let b=function(a){if(!(a instanceof Element))return null;let b=a.closest('[data-streamdown="code-block-copy-button"]');return b?b.closest('[data-streamdown="code-block"]')?.querySelector('[data-streamdown="code-block-body"]')?.textContent??null:null}(a.target);null!==b&&(a.preventDefault(),a.stopPropagation(),(0,c5.x)(b).then(a=>{a||e.error(f("codeCopyFailed"))}))},children:(0,N.jsx)(oi,{className:(0,ag.cn)("space-y-0",qh().markdown,a),controls:qi,isAnimating:b,lineNumbers:!1,components:{...c,a:qj,img:qk},...d,translations:"zh-CN"===g?qf.X:void 0})})}let qm="pi-desk:power-saving",qn="pi-desk:power-saving-change",qo=null;function qp(){if(null!==qo)return qo;try{qo="true"===window.localStorage.getItem(qm)}catch{qo=!1}return qo}function qq(a){let b=b=>{(null===b.key||b.key===qm)&&(qo=null,a())};return window.addEventListener(qn,a),window.addEventListener("storage",b),()=>{window.removeEventListener(qn,a),window.removeEventListener("storage",b)}}function qr(){return(0,O.useSyncExternalStore)(qq,qp,()=>!1)}let qs=[{value:"system",label:"common:system",icon:p7},{value:"light",label:"themeLight",icon:p8},{value:"dark",label:"themeDark",icon:p9}],qt=[{value:"compact",label:"sizeCompact"},{value:"standard",label:"sizeStandard"},{value:"large",label:"sizeLarge"}];function qu(){let{t:a}=(0,aa.Bd)("settings"),b=(0,O.useSyncExternalStore)(qc.Cy,qc.Is,()=>qa.Pl),c=qr(),d=(0,O.useSyncExternalStore)(qe.wm,qe.Ev,()=>qd.Y8);return(0,N.jsxs)("section",{"aria-labelledby":"settings-appearance-title",className:"@container grid gap-6",children:[(0,N.jsx)("h2",{id:"settings-appearance-title",className:"text-xl font-semibold",children:a("appearance")}),(0,N.jsxs)("div",{className:"grid min-w-0 gap-6 @min-[40rem]:grid-cols-[minmax(0,0.9fr)_minmax(0,1.1fr)]",children:[(0,N.jsxs)("div",{className:"min-w-0 space-y-4",children:[(0,N.jsxs)("div",{className:"space-y-2 border-b pb-4",children:[(0,N.jsx)("h3",{className:"text-sm font-medium",children:a("theme")}),(0,N.jsx)(qb,{label:a("theme"),layout:"segmented",value:b,options:qs.map(b=>({...b,label:a(b.label)})),onChange:qc.VS})]}),(0,N.jsxs)("div",{className:"space-y-2 border-b pb-4",children:[(0,N.jsx)("h3",{className:"text-sm font-medium",children:a("displaySize")}),(0,N.jsx)(qb,{label:a("displaySize"),layout:"segmented",value:d,options:qt.map(b=>({...b,label:a(b.label)})),onChange:qe.$y})]}),(0,N.jsxs)("div",{className:"space-y-2",children:[(0,N.jsx)("h3",{className:"text-sm font-medium",children:a("powerSaving")}),(0,N.jsx)(qb,{label:a("powerSaving"),layout:"segmented",value:c?"on":"off",options:[{value:"off",label:a("powerSavingOff"),testId:"power-saving-off"},{value:"on",label:a("powerSavingOn"),testId:"power-saving-on"}],onChange:a=>(function(a){qo=a;try{window.localStorage.setItem(qm,String(a))}catch(a){console.warn("[Pi Desk][Appearance] 省电模式保存失败,仅当前页面生效",a)}window.dispatchEvent(new Event(qn))})("on"===a)})]})]}),(0,N.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,N.jsx)("h3",{className:"text-sm font-medium",children:a("displayPreview")}),(0,N.jsx)("div",{"aria-label":a("displayPreview"),className:"min-w-0 rounded-xl bg-muted p-4",children:(0,N.jsx)(ql,{mode:"static",isAnimating:!1,children:a("displayPreviewContent")})})]})]})]})}let qv=(0,ac.A)("circle-minus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),qw=(0,ac.A)("mouse-pointer-click",[["path",{d:"M14 4.1 12 6",key:"ita8i4"}],["path",{d:"m5.1 8-2.9-.8",key:"1go3kf"}],["path",{d:"m6 12-1.9 2",key:"mnht97"}],["path",{d:"M7.2 2.2 8 5.1",key:"1cfko1"}],["path",{d:"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z",key:"s0h3yz"}]]),qx=(0,ac.A)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),qy=(0,ac.A)("image-down",[["path",{d:"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21",key:"9csbqa"}],["path",{d:"m14 19 3 3v-5.5",key:"9ldu5r"}],["path",{d:"m17 22 3-3",key:"1nkfve"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]]);var qz=c(3935),qA=c(52660);let qB=new Set,qC="activate";function qD(){}function qE(){return qD(),qC}function qF(a){if(qD(),qC!==a){qC=a;try{window.localStorage.setItem("pi-super:new-work-session-behavior",a)}catch{}for(let a of[...qB])a()}}function qG(a){return qB.add(a),()=>qB.delete(a)}let qH=[{value:"none",label:"behaviorNone",description:"behaviorNoneDescription",icon:qv,testId:"new-work-session-behavior-none"},{value:"activate",label:"behaviorActivate",description:"behaviorActivateDescription",icon:qw,testId:"new-work-session-behavior-activate"},{value:"pin",label:"behaviorPin",description:"behaviorPinDescription",icon:qx,testId:"new-work-session-behavior-pin"}],qI=[{value:"compressed",label:"imageCompressed",description:"imageCompressedDescription",icon:qy,testId:"image-preview-mode-compressed"},{value:"original",label:"imageOriginal",description:"imageOriginalDescription",icon:qz.A,testId:"image-preview-mode-original"}];function qJ(){let{t:a}=(0,aa.Bd)("settings"),b=(0,O.useSyncExternalStore)(qG,qE,qE),c=(0,O.useSyncExternalStore)(qA.ku,qA.Wq,qA.Wq);return(0,N.jsxs)("section",{"aria-labelledby":"settings-habits-title",className:"@container grid min-w-0 gap-6",children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("h2",{id:"settings-habits-title",className:"text-xl font-semibold",children:a("habits")}),(0,N.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:a("browserOnly")})]}),(0,N.jsxs)("div",{className:"grid min-w-0 gap-6 lg:@min-[40rem]:grid-cols-2",children:[(0,N.jsxs)("section",{className:"hidden min-w-0 lg:block","aria-labelledby":"new-session-behavior-title",children:[(0,N.jsx)("h3",{id:"new-session-behavior-title",className:"mb-3 text-sm font-semibold",children:a("newSessionBehavior")}),(0,N.jsx)(qb,{label:a("newSessionBehavior"),value:b,options:qH.map(b=>({...b,label:a(b.label),description:a(b.description)})),onChange:qF}),(0,N.jsx)("p",{className:"mt-3 text-sm text-muted-foreground",children:a("desktopOnlyBehavior")})]}),(0,N.jsxs)("section",{className:"min-w-0 lg:border-t lg:pt-4 lg:@min-[40rem]:border-t-0 lg:@min-[40rem]:border-l lg:@min-[40rem]:pt-0 lg:@min-[40rem]:pl-6","aria-labelledby":"image-preview-mode-title",children:[(0,N.jsx)("h3",{id:"image-preview-mode-title",className:"mb-3 text-sm font-semibold",children:a("imagePreviewMode")}),(0,N.jsx)(qb,{label:a("imagePreviewMode"),value:c,options:qI.map(b=>({...b,label:a(b.label),description:a(b.description)})),onChange:qA.lU}),(0,N.jsx)("p",{className:"mt-3 text-sm text-muted-foreground",children:a("imagePreviewApply")})]})]})]})}let qK=(0,ac.A)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);var qL=c(175),qM=c(41994);let qN=Q.Yj().trim().min(1).max(128),qO=Q.Yj().trim().min(1).max(256),qP=Q.Yj().trim().min(1).max(256),qQ=Q.Yj().trim().min(1).nullable(),qR=Q.g1(Q.Yj().trim().min(1),Q.Yj()),qS=Q.Yj().trim().min(1).max(128),qT=Q.g1(Q.Yj(),Q.Pq()),qU=Q.Ik({level:qL.$,providerValue:Q.Yj().trim().min(1).nullable()}).strict(),qV=Q.Ik({input:Q.ai().nonnegative().finite(),output:Q.ai().nonnegative().finite(),cacheRead:Q.ai().nonnegative().finite(),cacheWrite:Q.ai().nonnegative().finite()}).strict(),qW=Q.Ik({supportsDeveloperRole:Q.zM().nullable(),thinkingFormat:Q.Yj().trim().min(1).max(128).nullable(),requiresReasoningContentOnAssistantMessages:Q.zM().nullable()}).strict(),qX=Q.Ik({modelId:qO,name:qP,api:qS.nullable(),baseUrl:qQ,reasoning:Q.zM(),thinkingLevels:Q.YO(qU).min(1).max(7),input:Q.YO(Q.k5(["text","image"])).min(1).max(2),contextWindow:Q.ai().int().positive().max(Number.MAX_SAFE_INTEGER),maxTokens:Q.ai().int().positive().max(Number.MAX_SAFE_INTEGER),cost:qV.nullable(),headers:qR,compat:qW.nullable()}).strict().superRefine((a,b)=>{let c=new Set;for(let d of a.thinkingLevels)c.has(d.level)&&b.addIssue({code:"custom",message:`思考等级 ${d.level} 重复`}),c.add(d.level),("xhigh"===d.level||"max"===d.level)&&null===d.providerValue&&b.addIssue({code:"custom",message:`${d.level} 必须配置 Provider 映射`});a.reasoning||1===a.thinkingLevels.length&&c.has("off")||b.addIssue({code:"custom",message:"非推理模型只允许 off 思考等级"})}),qY=Q.Ik({provider:qN,name:qQ,baseUrl:qQ,api:qS.nullable(),apiKey:Q.Yj().nullable(),authHeader:Q.zM().nullable(),headers:qR,models:Q.YO(qX)}).strict().superRefine((a,b)=>{let c=new Set;for(let d of a.models)c.has(d.modelId)&&b.addIssue({code:"custom",message:`模型 ${d.modelId} 重复`}),c.add(d.modelId)}),qZ=Q.Ik({provider:qN,modelId:qO,thinkingLevel:qL.$,color:Q.Yj().regex(/^#[0-9a-fA-F]{6}$/).nullable()}).strict(),q$=Q.Ik({provider:qN,modelId:qO,name:qP,input:Q.YO(Q.k5(["text","image"])).min(1).max(2),contextWindow:Q.ai().int().positive().max(Number.MAX_SAFE_INTEGER),thinkingLevels:Q.YO(qL.$).min(1).max(7)}).strict(),q_=Q.Ik({provider:qN,modelId:qO,thinkingLevel:qL.$}).strict(),q0=Q.Ik({contextWindow:Q.ai().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),maxTokens:Q.ai().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),cost:qV.partial().optional()}).strict(),q1=Q.Ik({provider:qN,modelId:qO,overrides:q0}).strict(),q2=Q.Ik({provider:qN,name:qP,loggedIn:Q.zM(),subscription:Q.zM(),models:Q.YO(qX)}).strict();Q.Ik({}).strict();let q3=Q.Ik({providers:Q.YO(qY),presets:Q.YO(qZ),models:Q.YO(q$),nativeConfig:qT,accountModels:Q.YO(q1),accounts:Q.YO(q2)}).strict(),q4=Q.Ik({providers:Q.YO(qY).optional(),presets:Q.YO(qZ).optional(),accountModels:Q.YO(q1).optional()}).strict().refine(a=>void 0!==a.providers||void 0!==a.presets||void 0!==a.accountModels,{message:"请提交需要保存的模型配置"}),q5=Q.KC([q4,Q.Ik({nativeConfig:qT}).strict()]),q6=Q.Ik({}).strict(),q7=Q.Ik({query:Q.Yj().trim().max(256),refresh:Q.zM(),page:Q.Ik({index:Q.ai().int().positive(),size:Q.ai().int().positive().max(100)}).strict()}).strict(),q8=Q.Ik({reasoning:Q.zM(),thinkingLevels:Q.YO(qU).min(1).max(7),input:Q.YO(Q.k5(["text","image"])).min(1).max(2),contextWindow:Q.ai().int().positive().max(Number.MAX_SAFE_INTEGER),maxTokens:Q.ai().int().positive().max(Number.MAX_SAFE_INTEGER),cost:qV.nullable()}).strict(),q9=Q.Ik({provider:qN,providerName:qP,modelId:qO,official:Q.zM(),defaults:q8}).strict(),ra=Q.Ik({referenceId:Q.Yj().trim().min(1).max(512),name:qP,match:Q.k5(["exact","similar"]).nullable(),sources:Q.YO(q9).min(1)}).strict(),rb=Q.Ik({updatedAt:qM.k,refreshResult:Q.k5(["not-requested","updated","unchanged","partial","cached"]),page:Q.Ik({index:Q.ai().int().positive(),size:Q.ai().int().positive(),total:Q.ai().int().nonnegative()}).strict(),models:Q.YO(ra)}).strict();Q.Ik({cwd:pa.m4}).strict();let rc=Q.Ik({cwd:pa.m4,default:q_.nullable(),models:Q.YO(q$)}).strict(),rd=Q.Ik({cwd:pa.m4,default:q_.nullable()}).strict(),re=Q.Ik({}).strict(),rf=Q.Ik({cwd:pa.m4,sessionCount:Q.ai().int().nonnegative(),updatedAt:qM.k}).strict();Q.Ik({forceRefresh:Q.zM().default(!1)}).strict();let rg=Q.Ik({directories:Q.YO(rf)}).strict();Q.Ik({cwd:pa.m4,ignored:Q.zM()}).strict(),Q.Ik({}).strict();let rh=Q.Ik({cwd:pa.m4,name:Q.Yj().trim().min(1)}).strict();Q.Ik({cwd:pa.m4.nullable()}).strict();let ri=Q.Ik({cwd:pa.m4.nullable(),parentCwd:pa.m4.nullable(),directories:Q.YO(rh)}).strict(),rj=Q.k5(["title","user","assistant","sessionId"]),rk=Q.Ik({scope:rj,count:Q.ai().int().positive(),entryId:pa.Rv.nullable(),timestampMs:qM.k.nullable(),preview:Q.Yj().min(1).max(160)}).strict(),rl=Q.Ik({sessionId:pa.$E,cwd:pa.m4,name:Q.Yj().nullable(),createdAt:qM.k,updatedAt:qM.k,messageCount:Q.ai().int().nonnegative(),userMessageCount:Q.ai().int().nonnegative(),firstMessage:Q.Yj().max(160),matches:Q.YO(rk).min(1).max(4).nullable()}).strict();Q.Ik({cwd:pa.m4,query:Q.Yj().trim().max(120).default(""),forceRefresh:Q.zM().default(!1),searchIn:Q.YO(rj).min(1).max(4).default(["title","user"])}).strict(),Q.Ik({cwd:pa.m4,sessions:Q.YO(rl)}).strict(),Q.Ik({cwd:pa.m4,sessionId:pa.$E,query:Q.Yj().trim().max(120).default(""),page:Q.Ik({index:Q.ai().int().positive(),size:Q.ai().int().positive().max(50)}).strict()}).strict();let rm=Q.Ik({entryId:pa.Rv,timestampMs:qM.k,text:Q.Yj()}).strict();Q.Ik({page:Q.Ik({index:Q.ai().int().positive(),size:Q.ai().int().positive(),total:Q.ai().int().nonnegative()}).strict(),messages:Q.YO(rm)}).strict();let rn=null,ro=null,rp=new Map;function rq(a){if(null===a)return"<root>";let b=a.replaceAll("\\","/");return/^[A-Za-z]:\//.test(b)?b.toLowerCase():b}function rr(){}function rs(a,b){try{window.localStorage.setItem(a,JSON.stringify(b))}catch{}}function rt(a){rn=a,rs("pi-desk:pi-directories",a)}function ru(){}function rv(a){return ru(),rp.get(rq(a))??null}let rw=new Map;function rx(a){let b,c=rc.safeParse(a);if(!c.success)return;let d=(b=c.data.cwd.replaceAll("\\","/"),/^[A-Za-z]:\//.test(b)?b.toLowerCase():b);for(rw.delete(d),rw.set(d,c.data);rw.size>64;){let a=rw.keys().next().value;if(void 0===a)break;rw.delete(a)}try{window.localStorage.setItem("pi-desk:project-model-defaults",JSON.stringify(Object.fromEntries(rw)))}catch{}}Q.KC([Q.k5(["appearance","region","habits","auth","models","mcp-settings","capability-modes","skills","plugins","about"]),Q.Uy(["plugin:",Q.Yj(),":",Q.Yj()])]),Q.k5(["providers","presets","project-default"]);function ry({open:a,text:b,error:c,saving:d,dirty:e,onChange:f,onClose:g,onSave:h}){let{t:i}=(0,aa.Bd)("settings");return(0,N.jsx)(cf.YV,{open:a,onOpenChange:a=>{a||g()},children:(0,N.jsxs)(cf.hA,{className:"max-w-[52rem]",initialFocus:!1,showCloseButton:!d,children:[(0,N.jsxs)(cf.Hl,{className:"border-b px-4 py-4 pr-12",children:[(0,N.jsx)(cf.YM,{children:i("nativeConfig")}),(0,N.jsx)(cf.uX,{children:i("nativeConfigScope")})]}),(0,N.jsx)(cf._Y,{className:"max-h-[70dvh]",children:(0,N.jsxs)("div",{className:"space-y-3 p-4",children:[(0,N.jsx)(oo.T,{"aria-label":i("nativeConfigEditor"),value:b,disabled:d,spellCheck:!1,autoCapitalize:"none",autoCorrect:"off",className:"min-h-[min(28rem,50dvh)] resize-y font-mono text-sm",onChange:a=>f(a.target.value)}),c?(0,N.jsx)("p",{role:"alert",className:"break-words text-sm text-destructive",children:c}):null]})}),(0,N.jsxs)(cf.vu,{children:[(0,N.jsx)(ae.$,{type:"button",variant:"ghost",disabled:d,onClick:g,children:i("cancel",{ns:"common"})}),(0,N.jsxs)(ae.$,{type:"button",disabled:d||!e,onClick:h,children:[d?(0,N.jsx)(ab.A,{className:"animate-spin"}):null,i(d?"savingModels":"saveNativeConfig")]})]})]})})}var rz=c(71794);let rA="u">typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function rB(a){let b=Object.prototype.toString.call(a);return"[object Window]"===b||"[object global]"===b}function rC(a){return"nodeType"in a}function rD(a){var b,c;return a?rB(a)?a:rC(a)&&null!=(b=null==(c=a.ownerDocument)?void 0:c.defaultView)?b:window:window}function rE(a){let{Document:b}=rD(a);return a instanceof b}function rF(a){return!rB(a)&&a instanceof rD(a).HTMLElement}function rG(a){return a instanceof rD(a).SVGElement}function rH(a){return a?rB(a)?a.document:rC(a)?rE(a)?a:rF(a)||rG(a)?a.ownerDocument:document:document:document}let rI=rA?O.useLayoutEffect:O.useEffect;function rJ(a){let b=(0,O.useRef)(a);return rI(()=>{b.current=a}),(0,O.useCallback)(function(){for(var a=arguments.length,c=Array(a),d=0;d<a;d++)c[d]=arguments[d];return null==b.current?void 0:b.current(...c)},[])}function rK(a,b){void 0===b&&(b=[a]);let c=(0,O.useRef)(a);return rI(()=>{c.current!==a&&(c.current=a)},b),c}function rL(a,b){let c=(0,O.useRef)();return(0,O.useMemo)(()=>{let b=a(c.current);return c.current=b,b},[...b])}function rM(a){let b=rJ(a),c=(0,O.useRef)(null),d=(0,O.useCallback)(a=>{a!==c.current&&(null==b||b(a,c.current)),c.current=a},[]);return[c,d]}function rN(a){let b=(0,O.useRef)();return(0,O.useEffect)(()=>{b.current=a},[a]),b.current}let rO={};function rP(a,b){return(0,O.useMemo)(()=>{if(b)return b;let c=null==rO[a]?0:rO[a]+1;return rO[a]=c,a+"-"+c},[a,b])}function rQ(a){return function(b){for(var c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];return d.reduce((b,c)=>{for(let[d,e]of Object.entries(c)){let c=b[d];null!=c&&(b[d]=c+a*e)}return b},{...b})}}let rR=rQ(1),rS=rQ(-1);function rT(a){if(!a)return!1;let{KeyboardEvent:b}=rD(a.target);return b&&a instanceof b}function rU(a){if(function(a){if(!a)return!1;let{TouchEvent:b}=rD(a.target);return b&&a instanceof b}(a)){if(a.touches&&a.touches.length){let{clientX:b,clientY:c}=a.touches[0];return{x:b,y:c}}else if(a.changedTouches&&a.changedTouches.length){let{clientX:b,clientY:c}=a.changedTouches[0];return{x:b,y:c}}}return"clientX"in a&&"clientY"in a?{x:a.clientX,y:a.clientY}:null}let rV=Object.freeze({Translate:{toString(a){if(!a)return;let{x:b,y:c}=a;return"translate3d("+(b?Math.round(b):0)+"px, "+(c?Math.round(c):0)+"px, 0)"}},Scale:{toString(a){if(!a)return;let{scaleX:b,scaleY:c}=a;return"scaleX("+b+") scaleY("+c+")"}},Transform:{toString(a){if(a)return[rV.Translate.toString(a),rV.Scale.toString(a)].join(" ")}},Transition:{toString(a){let{property:b,duration:c,easing:d}=a;return b+" "+c+"ms "+d}}}),rW="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]",rX={display:"none"};function rY(a){let{id:b,value:c}=a;return P().createElement("div",{id:b,style:rX},c)}function rZ(a){let{id:b,announcement:c,ariaLiveType:d="assertive"}=a;return P().createElement("div",{id:b,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":d,"aria-atomic":!0},c)}let r$=(0,O.createContext)(null),r_={draggable:"\n To pick up a draggable item, press the space bar.\n While dragging, use the arrow keys to move the item.\n Press space again to drop the item in its new position, or press escape to cancel.\n "},r0={onDragStart(a){let{active:b}=a;return"Picked up draggable item "+b.id+"."},onDragOver(a){let{active:b,over:c}=a;return c?"Draggable item "+b.id+" was moved over droppable area "+c.id+".":"Draggable item "+b.id+" is no longer over a droppable area."},onDragEnd(a){let{active:b,over:c}=a;return c?"Draggable item "+b.id+" was dropped over droppable area "+c.id:"Draggable item "+b.id+" was dropped."},onDragCancel(a){let{active:b}=a;return"Dragging was cancelled. Draggable item "+b.id+" was dropped."}};function r1(a){var b;let c,{announcements:d=r0,container:e,hiddenTextDescribedById:f,screenReaderInstructions:g=r_}=a,{announce:h,announcement:i}=function(){let[a,b]=(0,O.useState)("");return{announce:(0,O.useCallback)(a=>{null!=a&&b(a)},[]),announcement:a}}(),j=rP("DndLiveRegion"),[k,l]=(0,O.useState)(!1);if((0,O.useEffect)(()=>{l(!0)},[]),b=(0,O.useMemo)(()=>({onDragStart(a){let{active:b}=a;h(d.onDragStart({active:b}))},onDragMove(a){let{active:b,over:c}=a;d.onDragMove&&h(d.onDragMove({active:b,over:c}))},onDragOver(a){let{active:b,over:c}=a;h(d.onDragOver({active:b,over:c}))},onDragEnd(a){let{active:b,over:c}=a;h(d.onDragEnd({active:b,over:c}))},onDragCancel(a){let{active:b,over:c}=a;h(d.onDragCancel({active:b,over:c}))}}),[h,d]),c=(0,O.useContext)(r$),(0,O.useEffect)(()=>{if(!c)throw Error("useDndMonitor must be used within a children of <DndContext>");return c(b)},[b,c]),!k)return null;let m=P().createElement(P().Fragment,null,P().createElement(rY,{id:f,value:g.draggable}),P().createElement(rZ,{id:j,announcement:i}));return e?(0,rz.createPortal)(m,e):m}function r2(){}function r3(a,b){return(0,O.useMemo)(()=>({sensor:a,options:null!=b?b:{}}),[a,b])}function r4(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,O.useMemo)(()=>[...b].filter(a=>null!=a),[...b])}(u=D||(D={})).DragStart="dragStart",u.DragMove="dragMove",u.DragEnd="dragEnd",u.DragCancel="dragCancel",u.DragOver="dragOver",u.RegisterDroppable="registerDroppable",u.SetDroppableDisabled="setDroppableDisabled",u.UnregisterDroppable="unregisterDroppable";let r5=Object.freeze({x:0,y:0});function r6(a,b){return Math.sqrt(Math.pow(a.x-b.x,2)+Math.pow(a.y-b.y,2))}function r7(a,b){let{data:{value:c}}=a,{data:{value:d}}=b;return c-d}function r8(a,b){let{data:{value:c}}=a,{data:{value:d}}=b;return d-c}function r9(a){let{left:b,top:c,height:d,width:e}=a;return[{x:b,y:c},{x:b+e,y:c},{x:b,y:c+d},{x:b+e,y:c+d}]}function sa(a,b){if(!a||0===a.length)return null;let[c]=a;return b?c[b]:c}function sb(a,b,c){return void 0===b&&(b=a.left),void 0===c&&(c=a.top),{x:b+.5*a.width,y:c+.5*a.height}}let sc=a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=sb(b,b.left,b.top),f=[];for(let a of d){let{id:b}=a,d=c.get(b);if(d){let c=r6(sb(d),e);f.push({id:b,data:{droppableContainer:a,value:c}})}}return f.sort(r7)},sd=a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=[];for(let a of d){let{id:d}=a,f=c.get(d);if(f){let c=function(a,b){let c=Math.max(b.top,a.top),d=Math.max(b.left,a.left),e=Math.min(b.left+b.width,a.left+a.width),f=Math.min(b.top+b.height,a.top+a.height);if(d<e&&c<f){let g=b.width*b.height,h=a.width*a.height,i=(e-d)*(f-c);return Number((i/(g+h-i)).toFixed(4))}return 0}(f,b);c>0&&e.push({id:d,data:{droppableContainer:a,value:c}})}}return e.sort(r8)};function se(a,b){return a&&b?{x:a.left-b.left,y:a.top-b.top}:r5}let sf=function(a){for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return c.reduce((a,b)=>({...a,top:a.top+ +b.y,bottom:a.bottom+ +b.y,left:a.left+ +b.x,right:a.right+ +b.x}),{...a})},sg={ignoreTransform:!1};function sh(a,b){void 0===b&&(b=sg);let c=a.getBoundingClientRect();if(b.ignoreTransform){let{transform:b,transformOrigin:d}=rD(a).getComputedStyle(a);b&&(c=function(a,b,c){let d=function(a){if(a.startsWith("matrix3d(")){let b=a.slice(9,-1).split(/, /);return{x:+b[12],y:+b[13],scaleX:+b[0],scaleY:+b[5]}}if(a.startsWith("matrix(")){let b=a.slice(7,-1).split(/, /);return{x:+b[4],y:+b[5],scaleX:+b[0],scaleY:+b[3]}}return null}(b);if(!d)return a;let{scaleX:e,scaleY:f,x:g,y:h}=d,i=a.left-g-(1-e)*parseFloat(c),j=a.top-h-(1-f)*parseFloat(c.slice(c.indexOf(" ")+1)),k=e?a.width/e:a.width,l=f?a.height/f:a.height;return{width:k,height:l,top:j,right:i+k,bottom:j+l,left:i}}(c,b,d))}let{top:d,left:e,width:f,height:g,bottom:h,right:i}=c;return{top:d,left:e,width:f,height:g,bottom:h,right:i}}function si(a){return sh(a,{ignoreTransform:!0})}function sj(a,b){let c=[];return a?function d(e){var f,g;let h;if(null!=b&&c.length>=b||!e)return c;if(rE(e)&&null!=e.scrollingElement&&!c.includes(e.scrollingElement))return c.push(e.scrollingElement),c;if(!rF(e)||rG(e)||c.includes(e))return c;let i=rD(a).getComputedStyle(e);return(e!==a&&(void 0===(f=i)&&(f=rD(e).getComputedStyle(e)),h=/(auto|scroll|overlay)/,["overflow","overflowX","overflowY"].some(a=>{let b=f[a];return"string"==typeof b&&h.test(b)}))&&c.push(e),void 0===(g=i)&&(g=rD(e).getComputedStyle(e)),"fixed"===g.position)?c:d(e.parentNode)}(a):c}function sk(a){let[b]=sj(a,1);return null!=b?b:null}function sl(a){return rA&&a?rB(a)?a:rC(a)?rE(a)||a===rH(a).scrollingElement?window:rF(a)?a:null:null:null}function sm(a){return rB(a)?a.scrollX:a.scrollLeft}function sn(a){return rB(a)?a.scrollY:a.scrollTop}function so(a){return{x:sm(a),y:sn(a)}}function sp(a){return!!rA&&!!a&&a===document.scrollingElement}function sq(a){let b={x:0,y:0},c=sp(a)?{height:window.innerHeight,width:window.innerWidth}:{height:a.clientHeight,width:a.clientWidth},d={x:a.scrollWidth-c.width,y:a.scrollHeight-c.height},e=a.scrollTop<=b.y,f=a.scrollLeft<=b.x;return{isTop:e,isLeft:f,isBottom:a.scrollTop>=d.y,isRight:a.scrollLeft>=d.x,maxScroll:d,minScroll:b}}(v=E||(E={}))[v.Forward=1]="Forward",v[v.Backward=-1]="Backward";let sr={x:.2,y:.2};function ss(a){return a.reduce((a,b)=>rR(a,so(b)),r5)}let st=[["x",["left","right"],function(a){return a.reduce((a,b)=>a+sm(b),0)}],["y",["top","bottom"],function(a){return a.reduce((a,b)=>a+sn(b),0)}]];class su{constructor(a,b){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const c=sj(b),d=ss(c);for(const[b,e,f]of(this.rect={...a},this.width=a.width,this.height=a.height,st))for(const a of e)Object.defineProperty(this,a,{get:()=>{let e=f(c),g=d[b]-e;return this.rect[a]+g},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class sv{constructor(a){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(a=>{var b;return null==(b=this.target)?void 0:b.removeEventListener(...a)})},this.target=a}add(a,b,c){var d;null==(d=this.target)||d.addEventListener(a,b,c),this.listeners.push([a,b,c])}}function sw(a,b){let c=Math.abs(a.x),d=Math.abs(a.y);return"number"==typeof b?Math.sqrt(c**2+d**2)>b:"x"in b&&"y"in b?c>b.x&&d>b.y:"x"in b?c>b.x:"y"in b&&d>b.y}function sx(a){a.preventDefault()}function sy(a){a.stopPropagation()}(w=F||(F={})).Click="click",w.DragStart="dragstart",w.Keydown="keydown",w.ContextMenu="contextmenu",w.Resize="resize",w.SelectionChange="selectionchange",w.VisibilityChange="visibilitychange",(x=G||(G={})).Space="Space",x.Down="ArrowDown",x.Right="ArrowRight",x.Left="ArrowLeft",x.Up="ArrowUp",x.Esc="Escape",x.Enter="Enter",x.Tab="Tab";let sz={start:[G.Space,G.Enter],cancel:[G.Esc],end:[G.Space,G.Enter,G.Tab]},sA=(a,b)=>{let{currentCoordinates:c}=b;switch(a.code){case G.Right:return{...c,x:c.x+25};case G.Left:return{...c,x:c.x-25};case G.Down:return{...c,y:c.y+25};case G.Up:return{...c,y:c.y-25}}};class sB{constructor(a){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=a;const{event:{target:b}}=a;this.props=a,this.listeners=new sv(rH(b)),this.windowListeners=new sv(rD(b)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(F.Resize,this.handleCancel),this.windowListeners.add(F.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(F.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:a,onStart:b}=this.props,c=a.node.current;c&&function(a,b){if(void 0===b&&(b=sh),!a)return;let{top:c,left:d,bottom:e,right:f}=b(a);sk(a)&&(e<=0||f<=0||c>=window.innerHeight||d>=window.innerWidth)&&a.scrollIntoView({block:"center",inline:"center"})}(c),b(r5)}handleKeyDown(a){if(rT(a)){let{active:b,context:c,options:d}=this.props,{keyboardCodes:e=sz,coordinateGetter:f=sA,scrollBehavior:g="smooth"}=d,{code:h}=a;if(e.end.includes(h))return void this.handleEnd(a);if(e.cancel.includes(h))return void this.handleCancel(a);let{collisionRect:i}=c.current,j=i?{x:i.left,y:i.top}:r5;this.referenceCoordinates||(this.referenceCoordinates=j);let k=f(a,{active:b,context:c.current,currentCoordinates:j});if(k){let b=rS(k,j),d={x:0,y:0},{scrollableAncestors:e}=c.current;for(let c of e){let e=a.code,{isTop:f,isRight:h,isLeft:i,isBottom:j,maxScroll:l,minScroll:m}=sq(c),n=function(a){if(a===document.scrollingElement){let{innerWidth:a,innerHeight:b}=window;return{top:0,left:0,right:a,bottom:b,width:a,height:b}}let{top:b,left:c,right:d,bottom:e}=a.getBoundingClientRect();return{top:b,left:c,right:d,bottom:e,width:a.clientWidth,height:a.clientHeight}}(c),o={x:Math.min(e===G.Right?n.right-n.width/2:n.right,Math.max(e===G.Right?n.left:n.left+n.width/2,k.x)),y:Math.min(e===G.Down?n.bottom-n.height/2:n.bottom,Math.max(e===G.Down?n.top:n.top+n.height/2,k.y))},p=e===G.Right&&!h||e===G.Left&&!i,q=e===G.Down&&!j||e===G.Up&&!f;if(p&&o.x!==k.x){let a=c.scrollLeft+b.x,f=e===G.Right&&a<=l.x||e===G.Left&&a>=m.x;if(f&&!b.y)return void c.scrollTo({left:a,behavior:g});f?d.x=c.scrollLeft-a:d.x=e===G.Right?c.scrollLeft-l.x:c.scrollLeft-m.x,d.x&&c.scrollBy({left:-d.x,behavior:g});break}if(q&&o.y!==k.y){let a=c.scrollTop+b.y,f=e===G.Down&&a<=l.y||e===G.Up&&a>=m.y;if(f&&!b.x)return void c.scrollTo({top:a,behavior:g});f?d.y=c.scrollTop-a:d.y=e===G.Down?c.scrollTop-l.y:c.scrollTop-m.y,d.y&&c.scrollBy({top:-d.y,behavior:g});break}}this.handleMove(a,rR(rS(k,this.referenceCoordinates),d))}}}handleMove(a,b){let{onMove:c}=this.props;a.preventDefault(),c(b)}handleEnd(a){let{onEnd:b}=this.props;a.preventDefault(),this.detach(),b()}handleCancel(a){let{onCancel:b}=this.props;a.preventDefault(),this.detach(),b()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function sC(a){return!!(a&&"distance"in a)}function sD(a){return!!(a&&"delay"in a)}sB.activators=[{eventName:"onKeyDown",handler:(a,b,c)=>{let{keyboardCodes:d=sz,onActivation:e}=b,{active:f}=c,{code:g}=a.nativeEvent;if(d.start.includes(g)){let b=f.activatorNode.current;return(!b||a.target===b)&&(a.preventDefault(),null==e||e({event:a.nativeEvent}),!0)}return!1}}];class sE{constructor(a,b,c){var d;void 0===c&&(c=function(a){let{EventTarget:b}=rD(a);return a instanceof b?a:rH(a)}(a.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=a,this.events=b;const{event:e}=a,{target:f}=e;this.props=a,this.events=b,this.document=rH(f),this.documentListeners=new sv(this.document),this.listeners=new sv(c),this.windowListeners=new sv(rD(f)),this.initialCoordinates=null!=(d=rU(e))?d:r5,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:a,props:{options:{activationConstraint:b,bypassActivationConstraint:c}}}=this;if(this.listeners.add(a.move.name,this.handleMove,{passive:!1}),this.listeners.add(a.end.name,this.handleEnd),a.cancel&&this.listeners.add(a.cancel.name,this.handleCancel),this.windowListeners.add(F.Resize,this.handleCancel),this.windowListeners.add(F.DragStart,sx),this.windowListeners.add(F.VisibilityChange,this.handleCancel),this.windowListeners.add(F.ContextMenu,sx),this.documentListeners.add(F.Keydown,this.handleKeydown),b){if(null!=c&&c({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(sD(b)){this.timeoutId=setTimeout(this.handleStart,b.delay),this.handlePending(b);return}if(sC(b))return void this.handlePending(b)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(a,b){let{active:c,onPending:d}=this.props;d(c,a,this.initialCoordinates,b)}handleStart(){let{initialCoordinates:a}=this,{onStart:b}=this.props;a&&(this.activated=!0,this.documentListeners.add(F.Click,sy,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(F.SelectionChange,this.removeTextSelection),b(a))}handleMove(a){var b;let{activated:c,initialCoordinates:d,props:e}=this,{onMove:f,options:{activationConstraint:g}}=e;if(!d)return;let h=null!=(b=rU(a))?b:r5,i=rS(d,h);if(!c&&g){if(sC(g)){if(null!=g.tolerance&&sw(i,g.tolerance))return this.handleCancel();if(sw(i,g.distance))return this.handleStart()}return sD(g)&&sw(i,g.tolerance)?this.handleCancel():void this.handlePending(g,i)}a.cancelable&&a.preventDefault(),f(h)}handleEnd(){let{onAbort:a,onEnd:b}=this.props;this.detach(),this.activated||a(this.props.active),b()}handleCancel(){let{onAbort:a,onCancel:b}=this.props;this.detach(),this.activated||a(this.props.active),b()}handleKeydown(a){a.code===G.Esc&&this.handleCancel()}removeTextSelection(){var a;null==(a=this.document.getSelection())||a.removeAllRanges()}}let sF={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class sG extends sE{constructor(a){const{event:b}=a;super(a,sF,rH(b.target))}}sG.activators=[{eventName:"onPointerDown",handler:(a,b)=>{let{nativeEvent:c}=a,{onActivation:d}=b;return!!c.isPrimary&&0===c.button&&(null==d||d({event:c}),!0)}}];let sH={move:{name:"mousemove"},end:{name:"mouseup"}};(y=H||(H={}))[y.RightClick=2]="RightClick";class sI extends sE{constructor(a){super(a,sH,rH(a.event.target))}}sI.activators=[{eventName:"onMouseDown",handler:(a,b)=>{let{nativeEvent:c}=a,{onActivation:d}=b;return c.button!==H.RightClick&&(null==d||d({event:c}),!0)}}];let sJ={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class sK extends sE{constructor(a){super(a,sJ)}static setup(){return window.addEventListener(sJ.move.name,a,{capture:!1,passive:!1}),function(){window.removeEventListener(sJ.move.name,a)};function a(){}}}sK.activators=[{eventName:"onTouchStart",handler:(a,b)=>{let{nativeEvent:c}=a,{onActivation:d}=b,{touches:e}=c;return!(e.length>1)&&(null==d||d({event:c}),!0)}}],(z=I||(I={}))[z.Pointer=0]="Pointer",z[z.DraggableRect=1]="DraggableRect",(A=J||(J={}))[A.TreeOrder=0]="TreeOrder",A[A.ReversedTreeOrder=1]="ReversedTreeOrder";let sL={x:{[E.Backward]:!1,[E.Forward]:!1},y:{[E.Backward]:!1,[E.Forward]:!1}};(B=K||(K={}))[B.Always=0]="Always",B[B.BeforeDragging=1]="BeforeDragging",B[B.WhileDragging=2]="WhileDragging",(L||(L={})).Optimized="optimized";let sM=new Map;function sN(a,b){return rL(c=>a?c||("function"==typeof b?b(a):a):null,[b,a])}function sO(a){let{callback:b,disabled:c}=a,d=rJ(b),e=(0,O.useMemo)(()=>{if(c||"u"<typeof window||void 0===window.ResizeObserver)return;let{ResizeObserver:a}=window;return new a(d)},[c]);return(0,O.useEffect)(()=>()=>null==e?void 0:e.disconnect(),[e]),e}function sP(a){return new su(sh(a),a)}function sQ(a,b,c){void 0===b&&(b=sP);let[d,e]=(0,O.useState)(null);function f(){e(d=>{if(!a)return null;if(!1===a.isConnected){var e;return null!=(e=null!=d?d:c)?e:null}let f=b(a);return JSON.stringify(d)===JSON.stringify(f)?d:f})}let g=function(a){let{callback:b,disabled:c}=a,d=rJ(b),e=(0,O.useMemo)(()=>{if(c||"u"<typeof window||void 0===window.MutationObserver)return;let{MutationObserver:a}=window;return new a(d)},[d,c]);return(0,O.useEffect)(()=>()=>null==e?void 0:e.disconnect(),[e]),e}({callback(b){if(a)for(let c of b){let{type:b,target:d}=c;if("childList"===b&&d instanceof HTMLElement&&d.contains(a)){f();break}}}}),h=sO({callback:f});return rI(()=>{f(),a?(null==h||h.observe(a),null==g||g.observe(document.body,{childList:!0,subtree:!0})):(null==h||h.disconnect(),null==g||g.disconnect())},[a]),d}let sR=[];function sS(a,b){void 0===b&&(b=[]);let c=(0,O.useRef)(null);return(0,O.useEffect)(()=>{c.current=null},b),(0,O.useEffect)(()=>{let b=a!==r5;b&&!c.current&&(c.current=a),!b&&c.current&&(c.current=null)},[a]),c.current?rS(a,c.current):r5}function sT(a){return(0,O.useMemo)(()=>{let b,c;return a?(b=a.innerWidth,{top:0,left:0,right:b,bottom:c=a.innerHeight,width:b,height:c}):null},[a])}let sU=[],sV=[{sensor:sG,options:{}},{sensor:sB,options:{}}],sW={current:{}},sX={draggable:{measure:si},droppable:{measure:si,strategy:K.WhileDragging,frequency:L.Optimized},dragOverlay:{measure:sh}};class sY extends Map{get(a){var b;return null!=a&&null!=(b=super.get(a))?b:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(a=>{let{disabled:b}=a;return!b})}getNodeFor(a){var b,c;return null!=(b=null==(c=this.get(a))?void 0:c.node.current)?b:void 0}}let sZ={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new sY,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:r2},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:sX,measureDroppableContainers:r2,windowRect:null,measuringScheduled:!1},s$={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:r2,draggableNodes:new Map,over:null,measureDroppableContainers:r2},s_=(0,O.createContext)(s$),s0=(0,O.createContext)(sZ);function s1(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new sY}}}function s2(a,b){switch(b.type){case D.DragStart:return{...a,draggable:{...a.draggable,initialCoordinates:b.initialCoordinates,active:b.active}};case D.DragMove:if(null==a.draggable.active)return a;return{...a,draggable:{...a.draggable,translate:{x:b.coordinates.x-a.draggable.initialCoordinates.x,y:b.coordinates.y-a.draggable.initialCoordinates.y}}};case D.DragEnd:case D.DragCancel:return{...a,draggable:{...a.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case D.RegisterDroppable:{let{element:c}=b,{id:d}=c,e=new sY(a.droppable.containers);return e.set(d,c),{...a,droppable:{...a.droppable,containers:e}}}case D.SetDroppableDisabled:{let{id:c,key:d,disabled:e}=b,f=a.droppable.containers.get(c);if(!f||d!==f.key)return a;let g=new sY(a.droppable.containers);return g.set(c,{...f,disabled:e}),{...a,droppable:{...a.droppable,containers:g}}}case D.UnregisterDroppable:{let{id:c,key:d}=b,e=a.droppable.containers.get(c);if(!e||d!==e.key)return a;let f=new sY(a.droppable.containers);return f.delete(c),{...a,droppable:{...a.droppable,containers:f}}}default:return a}}function s3(a){let{disabled:b}=a,{active:c,activatorEvent:d,draggableNodes:e}=(0,O.useContext)(s_),f=rN(d),g=rN(null==c?void 0:c.id);return(0,O.useEffect)(()=>{if(!b&&!d&&f&&null!=g){if(!rT(f)||document.activeElement===f.target)return;let a=e.get(g);if(!a)return;let{activatorNode:b,node:c}=a;(b.current||c.current)&&requestAnimationFrame(()=>{for(let a of[b.current,c.current]){if(!a)continue;let b=a.matches(rW)?a:a.querySelector(rW);if(b){b.focus();break}}})}},[d,b,e,g,f]),null}let s4=(0,O.createContext)({...r5,scaleX:1,scaleY:1});(C=M||(M={}))[C.Uninitialized=0]="Uninitialized",C[C.Initializing=1]="Initializing",C[C.Initialized=2]="Initialized";let s5=(0,O.memo)(function(a){var b,c,d,e,f,g,h,i;let j,k,l,m,n,o,p,q,{id:r,accessibility:s,autoScroll:t=!0,children:u,sensors:v=sV,collisionDetection:w=sd,measuring:x,modifiers:y,...z}=a,[A,B]=(0,O.useReducer)(s2,void 0,s1),[C,F]=function(){let[a]=(0,O.useState)(()=>new Set),b=(0,O.useCallback)(b=>(a.add(b),()=>a.delete(b)),[a]);return[(0,O.useCallback)(b=>{let{type:c,event:d}=b;a.forEach(a=>{var b;return null==(b=a[c])?void 0:b.call(a,d)})},[a]),b]}(),[G,H]=(0,O.useState)(M.Uninitialized),L=G===M.Initialized,{draggable:{active:N,nodes:Q,translate:R},droppable:{containers:S}}=A,T=null!=N?Q.get(N):null,U=(0,O.useRef)({initial:null,translated:null}),V=(0,O.useMemo)(()=>{var a;return null!=N?{id:N,data:null!=(a=null==T?void 0:T.data)?a:sW,rect:U}:null},[N,T]),W=(0,O.useRef)(null),[X,Y]=(0,O.useState)(null),[Z,$]=(0,O.useState)(null),_=rK(z,Object.values(z)),aa=rP("DndDescribedBy",r),ab=(0,O.useMemo)(()=>S.getEnabled(),[S]),ac=(0,O.useMemo)(()=>({draggable:{...sX.draggable,...null==x?void 0:x.draggable},droppable:{...sX.droppable,...null==x?void 0:x.droppable},dragOverlay:{...sX.dragOverlay,...null==x?void 0:x.dragOverlay}}),[null==x?void 0:x.draggable,null==x?void 0:x.droppable,null==x?void 0:x.dragOverlay]),{droppableRects:ad,measureDroppableContainers:ae,measuringScheduled:af}=function(a,b){let{dragging:c,dependencies:d,config:e}=b,[f,g]=(0,O.useState)(null),{frequency:h,measure:i,strategy:j}=e,k=(0,O.useRef)(a),l=function(){switch(j){case K.Always:return!1;case K.BeforeDragging:return c;default:return!c}}(),m=rK(l),n=(0,O.useCallback)(function(a){void 0===a&&(a=[]),m.current||g(b=>null===b?a:b.concat(a.filter(a=>!b.includes(a))))},[m]),o=(0,O.useRef)(null),p=rL(b=>{if(l&&!c)return sM;if(!b||b===sM||k.current!==a||null!=f){let b=new Map;for(let c of a){if(!c)continue;if(f&&f.length>0&&!f.includes(c.id)&&c.rect.current){b.set(c.id,c.rect.current);continue}let a=c.node.current,d=a?new su(i(a),a):null;c.rect.current=d,d&&b.set(c.id,d)}return b}return b},[a,f,c,l,i]);return(0,O.useEffect)(()=>{k.current=a},[a]),(0,O.useEffect)(()=>{l||n()},[c,l]),(0,O.useEffect)(()=>{f&&f.length>0&&g(null)},[JSON.stringify(f)]),(0,O.useEffect)(()=>{l||"number"!=typeof h||null!==o.current||(o.current=setTimeout(()=>{n(),o.current=null},h))},[h,l,n,...d]),{droppableRects:p,measureDroppableContainers:n,measuringScheduled:null!=f}}(ab,{dragging:L,dependencies:[R.x,R.y],config:ac.droppable}),ag=rL(a=>{var b;return null==N?null:null!=(b=null!=n?n:a)?b:null},[n=(m=null!=N?Q.get(N):void 0)?m.node.current:null,N]),ah=(0,O.useMemo)(()=>Z?rU(Z):null,[Z]),ai=(j=(null==X?void 0:X.autoScrollEnabled)===!1,k="object"==typeof t?!1===t.enabled:!1===t,l=L&&!j&&!k,"object"==typeof t?{...t,enabled:l}:{enabled:l}),aj=sN(ag,ac.draggable.measure);!function(a){let{activeNode:b,measure:c,initialRect:d,config:e=!0}=a,f=(0,O.useRef)(!1),{x:g,y:h}="boolean"==typeof e?{x:e,y:e}:e;rI(()=>{if(!g&&!h||!b){f.current=!1;return}if(f.current||!d)return;let a=null==b?void 0:b.node.current;if(!a||!1===a.isConnected)return;let e=se(c(a),d);if(g||(e.x=0),h||(e.y=0),f.current=!0,Math.abs(e.x)>0||Math.abs(e.y)>0){let b=sk(a);b&&b.scrollBy({top:e.y,left:e.x})}},[b,g,h,d,c])}({activeNode:null!=N?Q.get(N):null,config:ai.layoutShiftCompensation,initialRect:aj,measure:ac.draggable.measure});let ak=sQ(ag,ac.draggable.measure,aj),al=sQ(ag?ag.parentElement:null),am=(0,O.useRef)({activatorEvent:null,active:null,activeNode:ag,collisionRect:null,collisions:null,droppableRects:ad,draggableNodes:Q,draggingNode:null,draggingNodeRect:null,droppableContainers:S,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),an=S.getNodeFor(null==(b=am.current.over)?void 0:b.id),ao=function(a){let{measure:b}=a,[c,d]=(0,O.useState)(null),e=sO({callback:(0,O.useCallback)(a=>{for(let{target:c}of a)if(rF(c)){d(a=>{let d=b(c);return a?{...a,width:d.width,height:d.height}:d});break}},[b])}),[f,g]=rM((0,O.useCallback)(a=>{let c=function(a){if(!a)return null;if(a.children.length>1)return a;let b=a.children[0];return rF(b)?b:a}(a);null==e||e.disconnect(),c&&(null==e||e.observe(c)),d(c?b(c):null)},[b,e]));return(0,O.useMemo)(()=>({nodeRef:f,rect:c,setRef:g}),[c,f,g])}({measure:ac.dragOverlay.measure}),ap=null!=(c=ao.nodeRef.current)?c:ag,aq=L?null!=(d=ao.rect)?d:ak:null,ar=!!(ao.nodeRef.current&&ao.rect),as=(o=sN(f=ar?null:ak),se(f,o)),at=sT(ap?rD(ap):null),au=(g=L?null!=an?an:ag:null,p=(0,O.useRef)(g),q=rL(a=>g?a&&a!==sR&&g&&p.current&&g.parentNode===p.current.parentNode?a:sj(g):sR,[g]),(0,O.useEffect)(()=>{p.current=g},[g]),q),av=function(a,b){void 0===b&&(b=sh);let[c]=a,d=sT(c?rD(c):null),[e,f]=(0,O.useState)(sU);function g(){f(()=>a.length?a.map(a=>sp(a)?d:new su(b(a),a)):sU)}let h=sO({callback:g});return rI(()=>{null==h||h.disconnect(),g(),a.forEach(a=>null==h?void 0:h.observe(a))},[a]),e}(au),aw=function(a,b){let{transform:c,...d}=b;return null!=a&&a.length?a.reduce((a,b)=>b({transform:a,...d}),c):c}(y,{transform:{x:R.x-as.x,y:R.y-as.y,scaleX:1,scaleY:1},activatorEvent:Z,active:V,activeNodeRect:ak,containerNodeRect:al,draggingNodeRect:aq,over:am.current.over,overlayNodeRect:ao.rect,scrollableAncestors:au,scrollableAncestorRects:av,windowRect:at}),ax=ah?rR(ah,R):null,ay=function(a){let[b,c]=(0,O.useState)(null),d=(0,O.useRef)(a),e=(0,O.useCallback)(a=>{let b=sl(a.target);b&&c(a=>a?(a.set(b,so(b)),new Map(a)):null)},[]);return(0,O.useEffect)(()=>{let b=d.current;if(a!==b){f(b);let g=a.map(a=>{let b=sl(a);return b?(b.addEventListener("scroll",e,{passive:!0}),[b,so(b)]):null}).filter(a=>null!=a);c(g.length?new Map(g):null),d.current=a}return()=>{f(a),f(b)};function f(a){a.forEach(a=>{let b=sl(a);null==b||b.removeEventListener("scroll",e)})}},[e,a]),(0,O.useMemo)(()=>a.length?b?Array.from(b.values()).reduce((a,b)=>rR(a,b),r5):ss(a):r5,[a,b])}(au),az=sS(ay),aA=sS(ay,[ak]),aB=rR(aw,az),aC=aq?sf(aq,aw):null,aD=V&&aC?w({active:V,collisionRect:aC,droppableRects:ad,droppableContainers:ab,pointerCoordinates:ax}):null,aE=sa(aD,"id"),[aF,aG]=(0,O.useState)(null),aH=(h=ar?aw:rR(aw,aA),i=null!=(e=null==aF?void 0:aF.rect)?e:null,{...h,scaleX:i&&ak?i.width/ak.width:1,scaleY:i&&ak?i.height/ak.height:1}),aI=(0,O.useRef)(null),aJ=(0,O.useCallback)((a,b)=>{let{sensor:c,options:d}=b;if(null==W.current)return;let e=Q.get(W.current);if(!e)return;let f=a.nativeEvent,g=new c({active:W.current,activeNode:e,event:f,options:d,context:am,onAbort(a){if(!Q.get(a))return;let{onDragAbort:b}=_.current,c={id:a};null==b||b(c),C({type:"onDragAbort",event:c})},onPending(a,b,c,d){if(!Q.get(a))return;let{onDragPending:e}=_.current,f={id:a,constraint:b,initialCoordinates:c,offset:d};null==e||e(f),C({type:"onDragPending",event:f})},onStart(a){let b=W.current;if(null==b)return;let c=Q.get(b);if(!c)return;let{onDragStart:d}=_.current,e={activatorEvent:f,active:{id:b,data:c.data,rect:U}};(0,rz.unstable_batchedUpdates)(()=>{null==d||d(e),H(M.Initializing),B({type:D.DragStart,initialCoordinates:a,active:b}),C({type:"onDragStart",event:e}),Y(aI.current),$(f)})},onMove(a){B({type:D.DragMove,coordinates:a})},onEnd:h(D.DragEnd),onCancel:h(D.DragCancel)});function h(a){return async function(){let{active:b,collisions:c,over:d,scrollAdjustedTranslate:e}=am.current,g=null;if(b&&e){let{cancelDrop:h}=_.current;g={activatorEvent:f,active:b,collisions:c,delta:e,over:d},a===D.DragEnd&&"function"==typeof h&&await Promise.resolve(h(g))&&(a=D.DragCancel)}W.current=null,(0,rz.unstable_batchedUpdates)(()=>{B({type:a}),H(M.Uninitialized),aG(null),Y(null),$(null),aI.current=null;let b=a===D.DragEnd?"onDragEnd":"onDragCancel";if(g){let a=_.current[b];null==a||a(g),C({type:b,event:g})}})}}aI.current=g},[Q]),aK=(0,O.useCallback)((a,b)=>(c,d)=>{let e=c.nativeEvent,f=Q.get(d);null!==W.current||!f||e.dndKit||e.defaultPrevented||!0===a(c,b.options,{active:f})&&(e.dndKit={capturedBy:b.sensor},W.current=d,aJ(c,b))},[Q,aJ]),aL=(0,O.useMemo)(()=>v.reduce((a,b)=>{let{sensor:c}=b;return[...a,...c.activators.map(a=>({eventName:a.eventName,handler:aK(a.handler,b)}))]},[]),[v,aK]);(0,O.useEffect)(()=>{if(!rA)return;let a=v.map(a=>{let{sensor:b}=a;return null==b.setup?void 0:b.setup()});return()=>{for(let b of a)null==b||b()}},v.map(a=>{let{sensor:b}=a;return b})),rI(()=>{ak&&G===M.Initializing&&H(M.Initialized)},[ak,G]),(0,O.useEffect)(()=>{let{onDragMove:a}=_.current,{active:b,activatorEvent:c,collisions:d,over:e}=am.current;if(!b||!c)return;let f={active:b,activatorEvent:c,collisions:d,delta:{x:aB.x,y:aB.y},over:e};(0,rz.unstable_batchedUpdates)(()=>{null==a||a(f),C({type:"onDragMove",event:f})})},[aB.x,aB.y]),(0,O.useEffect)(()=>{let{active:a,activatorEvent:b,collisions:c,droppableContainers:d,scrollAdjustedTranslate:e}=am.current;if(!a||null==W.current||!b||!e)return;let{onDragOver:f}=_.current,g=d.get(aE),h=g&&g.rect.current?{id:g.id,rect:g.rect.current,data:g.data,disabled:g.disabled}:null,i={active:a,activatorEvent:b,collisions:c,delta:{x:e.x,y:e.y},over:h};(0,rz.unstable_batchedUpdates)(()=>{aG(h),null==f||f(i),C({type:"onDragOver",event:i})})},[aE]),rI(()=>{am.current={activatorEvent:Z,active:V,activeNode:ag,collisionRect:aC,collisions:aD,droppableRects:ad,draggableNodes:Q,draggingNode:ap,draggingNodeRect:aq,droppableContainers:S,over:aF,scrollableAncestors:au,scrollAdjustedTranslate:aB},U.current={initial:aq,translated:aC}},[V,ag,aD,aC,Q,ap,aq,ad,S,aF,au,aB]),function(a){let b,{acceleration:c,activator:d=I.Pointer,canScroll:e,draggingRect:f,enabled:g,interval:h=5,order:i=J.TreeOrder,pointerCoordinates:j,scrollableAncestors:k,scrollableAncestorRects:l,delta:m,threshold:n}=a,o=function(a){let{delta:b,disabled:c}=a,d=rN(b);return rL(a=>{if(c||!d||!a)return sL;let e={x:Math.sign(b.x-d.x),y:Math.sign(b.y-d.y)};return{x:{[E.Backward]:a.x[E.Backward]||-1===e.x,[E.Forward]:a.x[E.Forward]||1===e.x},y:{[E.Backward]:a.y[E.Backward]||-1===e.y,[E.Forward]:a.y[E.Forward]||1===e.y}}},[c,b,d])}({delta:m,disabled:!g}),[p,q]=(b=(0,O.useRef)(null),[(0,O.useCallback)((a,c)=>{b.current=setInterval(a,c)},[]),(0,O.useCallback)(()=>{null!==b.current&&(clearInterval(b.current),b.current=null)},[])]),r=(0,O.useRef)({x:0,y:0}),s=(0,O.useRef)({x:0,y:0}),t=(0,O.useMemo)(()=>{switch(d){case I.Pointer:return j?{top:j.y,bottom:j.y,left:j.x,right:j.x}:null;case I.DraggableRect:return f}},[d,f,j]),u=(0,O.useRef)(null),v=(0,O.useCallback)(()=>{let a=u.current;if(!a)return;let b=r.current.x*s.current.x,c=r.current.y*s.current.y;a.scrollBy(b,c)},[]),w=(0,O.useMemo)(()=>i===J.TreeOrder?[...k].reverse():k,[i,k]);(0,O.useEffect)(()=>{if(!g||!k.length||!t)return void q();for(let a of w){if((null==e?void 0:e(a))===!1)continue;let b=l[k.indexOf(a)];if(!b)continue;let{direction:d,speed:f}=function(a,b,c,d,e){let{top:f,left:g,right:h,bottom:i}=c;void 0===d&&(d=10),void 0===e&&(e=sr);let{isTop:j,isBottom:k,isLeft:l,isRight:m}=sq(a),n={x:0,y:0},o={x:0,y:0},p={height:b.height*e.y,width:b.width*e.x};return!j&&f<=b.top+p.height?(n.y=E.Backward,o.y=d*Math.abs((b.top+p.height-f)/p.height)):!k&&i>=b.bottom-p.height&&(n.y=E.Forward,o.y=d*Math.abs((b.bottom-p.height-i)/p.height)),!m&&h>=b.right-p.width?(n.x=E.Forward,o.x=d*Math.abs((b.right-p.width-h)/p.width)):!l&&g<=b.left+p.width&&(n.x=E.Backward,o.x=d*Math.abs((b.left+p.width-g)/p.width)),{direction:n,speed:o}}(a,b,t,c,n);for(let a of["x","y"])o[a][d[a]]||(f[a]=0,d[a]=0);if(f.x>0||f.y>0){q(),u.current=a,p(v,h),r.current=f,s.current=d;return}}r.current={x:0,y:0},s.current={x:0,y:0},q()},[c,v,e,q,g,h,JSON.stringify(t),JSON.stringify(o),p,k,w,l,JSON.stringify(n)])}({...ai,delta:R,draggingRect:aC,pointerCoordinates:ax,scrollableAncestors:au,scrollableAncestorRects:av});let aM=(0,O.useMemo)(()=>({active:V,activeNode:ag,activeNodeRect:ak,activatorEvent:Z,collisions:aD,containerNodeRect:al,dragOverlay:ao,draggableNodes:Q,droppableContainers:S,droppableRects:ad,over:aF,measureDroppableContainers:ae,scrollableAncestors:au,scrollableAncestorRects:av,measuringConfiguration:ac,measuringScheduled:af,windowRect:at}),[V,ag,ak,Z,aD,al,ao,Q,S,ad,aF,ae,au,av,ac,af,at]),aN=(0,O.useMemo)(()=>({activatorEvent:Z,activators:aL,active:V,activeNodeRect:ak,ariaDescribedById:{draggable:aa},dispatch:B,draggableNodes:Q,over:aF,measureDroppableContainers:ae}),[Z,aL,V,ak,B,aa,Q,aF,ae]);return P().createElement(r$.Provider,{value:F},P().createElement(s_.Provider,{value:aN},P().createElement(s0.Provider,{value:aM},P().createElement(s4.Provider,{value:aH},u)),P().createElement(s3,{disabled:(null==s?void 0:s.restoreFocus)===!1})),P().createElement(r1,{...s,hiddenTextDescribedById:aa}))}),s6=(0,O.createContext)(null),s7="button",s8={timeout:25};function s9(a,b,c){let d=a.slice();return d.splice(c<0?d.length+c:c,0,d.splice(b,1)[0]),d}function ta(a){return null!==a&&a>=0}let tb=a=>{let{rects:b,activeIndex:c,overIndex:d,index:e}=a,f=s9(b,d,c),g=b[e],h=f[e];return h&&g?{x:h.left-g.left,y:h.top-g.top,scaleX:h.width/g.width,scaleY:h.height/g.height}:null},tc={scaleX:1,scaleY:1},td=a=>{var b,c,d,e;let f,g,h,{activeIndex:i,activeNodeRect:j,index:k,rects:l,overIndex:m}=a,n=null!=(b=l[i])?b:j;if(!n)return null;if(k===i){let a=l[m];return a?{x:0,y:i<m?a.top+a.height-(n.top+n.height):a.top-n.top,...tc}:null}let o=(c=l,d=k,e=i,f=c[d],g=c[d-1],h=c[d+1],f?e<d?g?f.top-(g.top+g.height):h?h.top-(f.top+f.height):0:h?h.top-(f.top+f.height):g?f.top-(g.top+g.height):0:0);return k>i&&k<=m?{x:0,y:-n.height-o,...tc}:k<i&&k>=m?{x:0,y:n.height+o,...tc}:{x:0,y:0,...tc}},te="Sortable",tf=P().createContext({activeIndex:-1,containerId:te,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:tb,disabled:{draggable:!1,droppable:!1}});function tg(a){let{children:b,id:c,items:d,strategy:e=tb,disabled:f=!1}=a,{active:g,dragOverlay:h,droppableRects:i,over:j,measureDroppableContainers:k}=(0,O.useContext)(s0),l=rP(te,c),m=null!==h.rect,n=(0,O.useMemo)(()=>d.map(a=>"object"==typeof a&&"id"in a?a.id:a),[d]),o=null!=g,p=g?n.indexOf(g.id):-1,q=j?n.indexOf(j.id):-1,r=(0,O.useRef)(n),s=!function(a,b){if(a===b)return!0;if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}(n,r.current),t=-1!==q&&-1===p||s,u="boolean"==typeof f?{draggable:f,droppable:f}:f;rI(()=>{s&&o&&k(n)},[s,n,o,k]),(0,O.useEffect)(()=>{r.current=n},[n]);let v=(0,O.useMemo)(()=>({activeIndex:p,containerId:l,disabled:u,disableTransforms:t,items:n,overIndex:q,useDragOverlay:m,sortedRects:n.reduce((a,b,c)=>{let d=i.get(b);return d&&(a[c]=d),a},Array(n.length)),strategy:e}),[p,l,u.draggable,u.droppable,t,n,q,i,m,e]);return P().createElement(tf.Provider,{value:v},b)}let th=a=>{let{id:b,items:c,activeIndex:d,overIndex:e}=a;return s9(c,d,e).indexOf(b)},ti=a=>{let{containerId:b,isSorting:c,wasDragging:d,index:e,items:f,newIndex:g,previousItems:h,previousContainerId:i,transition:j}=a;return!!j&&!!d&&(h===f||e!==g)&&(!!c||g!==e&&b===i)},tj={duration:200,easing:"ease"},tk="transform",tl=rV.Transition.toString({property:tk,duration:0,easing:"linear"}),tm={roleDescription:"sortable"};function tn(a){var b,c,d,e;let{animateLayoutChanges:f=ti,attributes:g,disabled:h,data:i,getNewIndex:j=th,id:k,strategy:l,resizeObserverConfig:m,transition:n=tj}=a,{items:o,containerId:p,activeIndex:q,disabled:r,disableTransforms:s,sortedRects:t,overIndex:u,useDragOverlay:v,strategy:w}=(0,O.useContext)(tf),x=(b=h,c=r,"boolean"==typeof b?{draggable:b,droppable:!1}:{draggable:null!=(d=null==b?void 0:b.draggable)?d:c.draggable,droppable:null!=(e=null==b?void 0:b.droppable)?e:c.droppable}),y=o.indexOf(k),z=(0,O.useMemo)(()=>({sortable:{containerId:p,index:y,items:o},...i}),[p,i,y,o]),A=(0,O.useMemo)(()=>o.slice(o.indexOf(k)),[o,k]),{rect:B,node:C,isOver:E,setNodeRef:F}=function(a){let{data:b,disabled:c=!1,id:d,resizeObserverConfig:e}=a,f=rP("Droppable"),{active:g,dispatch:h,over:i,measureDroppableContainers:j}=(0,O.useContext)(s_),k=(0,O.useRef)({disabled:c}),l=(0,O.useRef)(!1),m=(0,O.useRef)(null),n=(0,O.useRef)(null),{disabled:o,updateMeasurementsFor:p,timeout:q}={...s8,...e},r=rK(null!=p?p:d),s=sO({callback:(0,O.useCallback)(()=>{if(!l.current){l.current=!0;return}null!=n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{j(Array.isArray(r.current)?r.current:[r.current]),n.current=null},q)},[q]),disabled:o||!g}),[t,u]=rM((0,O.useCallback)((a,b)=>{s&&(b&&(s.unobserve(b),l.current=!1),a&&s.observe(a))},[s])),v=rK(b);return(0,O.useEffect)(()=>{s&&t.current&&(s.disconnect(),l.current=!1,s.observe(t.current))},[t,s]),(0,O.useEffect)(()=>(h({type:D.RegisterDroppable,element:{id:d,key:f,disabled:c,node:t,rect:m,data:v}}),()=>h({type:D.UnregisterDroppable,key:f,id:d})),[d]),(0,O.useEffect)(()=>{c!==k.current.disabled&&(h({type:D.SetDroppableDisabled,id:d,key:f,disabled:c}),k.current.disabled=c)},[d,f,c,h]),{active:g,rect:m,isOver:(null==i?void 0:i.id)===d,node:t,over:i,setNodeRef:u}}({id:k,data:z,disabled:x.droppable,resizeObserverConfig:{updateMeasurementsFor:A,...m}}),{active:G,activatorEvent:H,activeNodeRect:I,attributes:J,setNodeRef:K,listeners:L,isDragging:M,over:N,setActivatorNodeRef:P,transform:Q}=function(a){let{id:b,data:c,disabled:d=!1,attributes:e}=a,f=rP("Draggable"),{activators:g,activatorEvent:h,active:i,activeNodeRect:j,ariaDescribedById:k,draggableNodes:l,over:m}=(0,O.useContext)(s_),{role:n=s7,roleDescription:o="draggable",tabIndex:p=0}=null!=e?e:{},q=(null==i?void 0:i.id)===b,r=(0,O.useContext)(q?s4:s6),[s,t]=rM(),[u,v]=rM(),w=(0,O.useMemo)(()=>g.reduce((a,c)=>{let{eventName:d,handler:e}=c;return a[d]=a=>{e(a,b)},a},{}),[g,b]),x=rK(c);return rI(()=>(l.set(b,{id:b,key:f,node:s,activatorNode:u,data:x}),()=>{let a=l.get(b);a&&a.key===f&&l.delete(b)}),[l,b]),{active:i,activatorEvent:h,activeNodeRect:j,attributes:(0,O.useMemo)(()=>({role:n,tabIndex:p,"aria-disabled":d,"aria-pressed":!!q&&n===s7||void 0,"aria-roledescription":o,"aria-describedby":k.draggable}),[d,n,p,q,o,k.draggable]),isDragging:q,listeners:d?void 0:w,node:s,over:m,setNodeRef:t,setActivatorNodeRef:v,transform:r}}({id:k,data:z,attributes:{...tm,...g},disabled:x.draggable}),R=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,O.useMemo)(()=>a=>{b.forEach(b=>b(a))},b)}(F,K),S=!!G,T=S&&!s&&ta(q)&&ta(u),U=!v&&M,V=U&&T?Q:null,W=T?null!=V?V:(null!=l?l:w)({rects:t,activeNodeRect:I,activeIndex:q,overIndex:u,index:y}):null,X=ta(q)&&ta(u)?j({id:k,items:o,activeIndex:q,overIndex:u}):y,Y=null==G?void 0:G.id,Z=(0,O.useRef)({activeId:Y,items:o,newIndex:X,containerId:p}),$=o!==Z.current.items,_=f({active:G,containerId:p,isDragging:M,isSorting:S,id:k,index:y,items:o,newIndex:Z.current.newIndex,previousItems:Z.current.items,previousContainerId:Z.current.containerId,transition:n,wasDragging:null!=Z.current.activeId}),aa=function(a){let{disabled:b,index:c,node:d,rect:e}=a,[f,g]=(0,O.useState)(null),h=(0,O.useRef)(c);return rI(()=>{if(!b&&c!==h.current&&d.current){let a=e.current;if(a){let b=sh(d.current,{ignoreTransform:!0}),c={x:a.left-b.left,y:a.top-b.top,scaleX:a.width/b.width,scaleY:a.height/b.height};(c.x||c.y)&&g(c)}}c!==h.current&&(h.current=c)},[b,c,d,e]),(0,O.useEffect)(()=>{f&&g(null)},[f]),f}({disabled:!_,index:y,node:C,rect:B});return(0,O.useEffect)(()=>{S&&Z.current.newIndex!==X&&(Z.current.newIndex=X),p!==Z.current.containerId&&(Z.current.containerId=p),o!==Z.current.items&&(Z.current.items=o)},[S,X,p,o]),(0,O.useEffect)(()=>{if(Y===Z.current.activeId)return;if(null!=Y&&null==Z.current.activeId){Z.current.activeId=Y;return}let a=setTimeout(()=>{Z.current.activeId=Y},50);return()=>clearTimeout(a)},[Y]),{active:G,activeIndex:q,attributes:J,data:z,rect:B,index:y,newIndex:X,items:o,isOver:E,isSorting:S,isDragging:M,listeners:L,node:C,overIndex:u,over:N,setNodeRef:R,setActivatorNodeRef:P,setDroppableNodeRef:F,setDraggableNodeRef:K,transform:null!=aa?aa:W,transition:aa||$&&Z.current.newIndex===y?tl:(!U||rT(H))&&n&&(S||_)?rV.Transition.toString({...n,property:tk}):void 0}}function to(a){if(!a)return!1;let b=a.data.current;return!!b&&"sortable"in b&&"object"==typeof b.sortable&&"containerId"in b.sortable&&"items"in b.sortable&&"index"in b.sortable}let tp=[G.Down,G.Right,G.Up,G.Left],tq=(a,b)=>{let{context:{active:c,collisionRect:d,droppableRects:e,droppableContainers:f,over:g,scrollableAncestors:h}}=b;if(tp.includes(a.code)){if(a.preventDefault(),!c||!d)return;let b=[];f.getEnabled().forEach(c=>{if(!c||null!=c&&c.disabled)return;let f=e.get(c.id);if(f)switch(a.code){case G.Down:d.top<f.top&&b.push(c);break;case G.Up:d.top>f.top&&b.push(c);break;case G.Left:d.left>f.left&&b.push(c);break;case G.Right:d.left<f.left&&b.push(c)}});let k=(a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=r9(b),f=[];for(let a of d){let{id:b}=a,d=c.get(b);if(d){let c=r9(d),g=Number((e.reduce((a,b,d)=>a+r6(c[d],b),0)/4).toFixed(4));f.push({id:b,data:{droppableContainer:a,value:g}})}}return f.sort(r7)})({active:c,collisionRect:d,droppableRects:e,droppableContainers:b,pointerCoordinates:null}),l=sa(k,"id");if(l===(null==g?void 0:g.id)&&k.length>1&&(l=k[1].id),null!=l){let a=f.get(c.id),b=f.get(l),g=b?e.get(b.id):null,k=null==b?void 0:b.node.current;if(k&&g&&a&&b){var i,j;let c=sj(k).some((a,b)=>h[b]!==a),e=tr(a,b),f=(i=a,j=b,!!to(i)&&!!to(j)&&!!tr(i,j)&&i.data.current.sortable.index<j.data.current.sortable.index),l=c||!e?{x:0,y:0}:{x:f?d.width-g.width:0,y:f?d.height-g.height:0},m={x:g.left,y:g.top};return l.x&&l.y?m:rS(m,l)}}}};function tr(a,b){return!!to(a)&&!!to(b)&&a.data.current.sortable.containerId===b.data.current.sortable.containerId}let ts=(0,ac.A)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);var tt=c(9913);let tu=(0,ac.A)("circle-off",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.35 2.69A10 10 0 0 1 21.3 15.65",key:"1pfsoa"}],["path",{d:"M19.08 19.08A10 10 0 1 1 4.92 4.92",key:"1ablyi"}]]),tv=[{value:"#3b82f6",label:"presetColorBlue"},{value:"#0891b2",label:"presetColorCyan"},{value:"#16a34a",label:"presetColorGreen"},{value:"#b7791f",label:"presetColorAmber"},{value:"#ea580c",label:"presetColorOrange"},{value:"#dc2626",label:"presetColorRed"},{value:"#db2777",label:"presetColorPink"},{value:"#8b5cf6",label:"presetColorPurple"}];function tw(a){return tv.map(({value:b})=>({value:b,count:a.filter(a=>a.color?.toLowerCase()===b).length})).reduce((a,b)=>b.count<a.count?b:a).value}let tx=["OpenAI Chat Completions","OpenAI Responses","Anthropic Messages","Google Generative AI","Mistral Conversations","Azure OpenAI Responses","OpenAI Codex Responses","Amazon Bedrock","Google Vertex AI","Pi Messages"],ty=["openai-completions","openai-responses","anthropic-messages","google-generative-ai","mistral-conversations","azure-openai-responses","openai-codex-responses","bedrock-converse-stream","google-vertex","pi-messages"].map((a,b)=>({value:a,label:tx[b]})),tz=["openai","openrouter","together","deepseek","zai","qwen","chat-template","qwen-chat-template","string-thinking","ant-ling","baseten"];function tA(a){return Object.entries(a).map(([a,b])=>`${a}: ${b}`).join("\n")}function tB({headers:a,onChange:b,placeholder:c}){let[d,e]=(0,O.useState)(null);return(0,N.jsx)(oo.T,{value:d??tA(a),onFocus:()=>e(tA(a)),onChange:a=>{let c=a.target.value;e(c),b(Object.fromEntries(c.split("\n").map(a=>a.trim()).filter(Boolean).map(a=>{let b=a.indexOf(":");return b>0?[a.slice(0,b).trim(),a.slice(b+1).trim()]:[a,""]})))},onBlur:()=>e(null),rows:4,placeholder:c,className:"font-mono"})}function tC(a){let b=Math.floor(a/1e3),c=a%1e3;return c?`${b}.${String(c).padStart(3,"0").replace(/0+$/,"")}`:String(b)}function tD(a){if(!/^\d+(?:\.\d{0,3})?$/.test(a))return null;let[b,c=""]=a.split("."),d=1e3*Number(b)+Number(c.padEnd(3,"0"));return Number.isSafeInteger(d)&&d>0?d:null}function tE({label:a,children:b,className:c}){return(0,N.jsxs)("label",{className:(0,ag.cn)("grid gap-1 text-sm text-foreground",c),children:[(0,N.jsx)("span",{className:"font-medium",children:a}),b]})}let tF="__pi-desk_empty__";function tG({value:a,options:b,onChange:c,ariaLabel:d,placeholder:e,allowEmpty:f=!0,className:g}){let{t:h}=(0,aa.Bd)("settings"),i=e??h("useDefault"),j=a||(f?tF:b[0]?.value??null),k=!!a&&!b.some(b=>b.value===a);return(0,N.jsxs)(b$.l6,{value:j,onValueChange:a=>c(a===tF||null===a?"":a),children:[(0,N.jsx)(b$.bq,{"aria-label":d,className:(0,ag.cn)("w-full",g),children:(0,N.jsx)(b$.yv,{children:b.find(b=>b.value===a)?.label??(a||i)})}),(0,N.jsxs)(b$.gC,{positionerClassName:"z-[120]",children:[f?(0,N.jsx)(b$.eb,{value:tF,children:i}):null,k?(0,N.jsx)(b$.eb,{value:a,children:a}):null,b.map(a=>(0,N.jsx)(b$.eb,{value:a.value,children:a.label},a.value))]})]})}function tH({value:a,onChange:b,ariaLabel:c}){let{t:d}=(0,aa.Bd)("settings");return(0,N.jsx)(tG,{value:null===a?"":String(a),ariaLabel:c,options:[{value:"true",label:d("yes")},{value:"false",label:d("no")}],onChange:a=>b(""===a?null:"true"===a)})}let tI={off:"thinkingOff",minimal:"thinkingMinimal",low:"thinkingLow",medium:"thinkingMedium",high:"thinkingHigh",xhigh:"thinkingXhigh",max:"thinkingMax"};function tJ(a,b){return JSON.stringify([a,b])}function tK(a,b){return JSON.stringify([a.provider,a.modelId,a.thinkingLevel,b])}function tL(a){return a.map(a=>({value:tJ(a.provider,a.modelId),label:a.name||a.modelId,description:a.provider}))}function tM(a,b){return(a?.thinkingLevels??[]).map(a=>({value:a,label:b(tI[a])}))}function tN({id:a,preset:b,model:c,models:d,canMoveUp:e,canMoveDown:f,onChange:g,onDelete:h,onMoveUp:i,onMoveDown:j}){let{t:k}=(0,aa.Bd)("settings"),{attributes:l,listeners:m,setActivatorNodeRef:n,setNodeRef:o,transform:p,transition:q,isDragging:r}=tn({id:a}),s=p?`translate3d(${p.x}px, ${p.y}px, 0) scaleX(${p.scaleX??1}) scaleY(${p.scaleY??1})`:void 0,t=b.color?.toLowerCase()??"none",u=tv.find(a=>a.value===t),v=u?k(u.label):k(b.color?"presetColorCustom":"presetColorNone"),w=[{value:"none",color:null,label:k("presetColorNone")},...b.color&&!u?[{value:t,color:b.color,label:k("presetColorCustom")}]:[],...tv.map(a=>({value:a.value,color:a.value,label:k(a.label)}))];return(0,N.jsxs)("div",{ref:o,style:{transform:s,transition:q},className:(0,ag.cn)("grid min-w-0 items-center gap-3 border-b bg-card py-3 @[48rem]/presets:grid-cols-[auto_minmax(0,1fr)_7.5rem_4rem_auto]",r&&"z-10 opacity-70 shadow-lg"),children:[(0,N.jsxs)("div",{className:"flex items-center gap-2",children:[(0,N.jsx)(ae.$,{variant:"ghost",size:"icon-sm",ref:n,type:"button",title:k("presetDrag"),"aria-label":k("presetDrag"),className:"touch-none cursor-grab text-muted-foreground active:cursor-grabbing",...l,...m,children:(0,N.jsx)(ts,{className:"size-4"})}),(0,N.jsxs)("div",{className:"flex gap-2",children:[(0,N.jsx)(ae.$,{variant:"ghost",size:"icon-sm",type:"button",title:k("presetMoveUp"),"aria-label":k("presetMoveUp"),disabled:!e,onClick:i,children:(0,N.jsx)(tt.A,{className:"size-4"})}),(0,N.jsx)(ae.$,{variant:"ghost",size:"icon-sm",type:"button",title:k("presetMoveDown"),"aria-label":k("presetMoveDown"),disabled:!f,onClick:j,children:(0,N.jsx)(cy.A,{className:"size-4"})})]})]}),(0,N.jsx)(tE,{label:k("modelsHeading"),children:(0,N.jsx)(p0.b,{value:tJ(b.provider,b.modelId),options:tL(d),ariaLabel:k("presetModel"),searchPlaceholder:k("modelSearch"),onChange:a=>{let c=d.find(b=>tJ(b.provider,b.modelId)===a);c&&g({...b,provider:c.provider,modelId:c.modelId,thinkingLevel:c.thinkingLevels.includes(b.thinkingLevel)?b.thinkingLevel:c.thinkingLevels[0]})}})}),(0,N.jsx)(tE,{label:k("thinkingLevel"),children:(0,N.jsx)(tG,{value:b.thinkingLevel,options:tM(c,k),ariaLabel:k("presetThinking"),allowEmpty:!1,onChange:a=>g({...b,thinkingLevel:a})})}),(0,N.jsx)(tE,{label:k("presetColor"),children:(0,N.jsxs)(b$.l6,{value:t,onValueChange:a=>{null!==a&&g({...b,color:"none"===a?null:a})},children:[(0,N.jsx)(b$.bq,{"aria-label":k("presetColorLabel"),className:"w-16",children:(0,N.jsxs)(b$.yv,{children:[b.color?(0,N.jsx)("span",{"aria-hidden":"true",className:"size-4 shrink-0 rounded-full",style:{backgroundColor:b.color}}):(0,N.jsx)(tu,{"aria-hidden":"true",className:"size-4 text-muted-foreground"}),(0,N.jsx)("span",{className:"sr-only",children:v})]})}),(0,N.jsx)(b$.gC,{positionerClassName:"z-[120]",className:"w-40 min-w-40",align:"end",alignItemWithTrigger:!1,children:(0,N.jsx)(b$.s3,{className:"grid grid-cols-4 gap-1 p-2",children:w.map(a=>(0,N.jsx)(b$.eb,{value:a.value,label:a.label,"aria-label":a.label,className:"size-8 justify-center p-0 data-selected:bg-accent data-selected:ring-1 data-selected:ring-ring data-selected:ring-inset [&>span:first-child]:justify-center [&>span:last-child]:hidden",children:a.color?(0,N.jsx)("span",{"aria-hidden":"true",className:"size-4 shrink-0 self-center rounded-full",style:{backgroundColor:a.color}}):(0,N.jsx)(tu,{"aria-hidden":"true",className:"size-4 text-muted-foreground"})},a.value))})})]})}),(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"icon-sm",title:k("presetDelete"),"aria-label":k("presetDelete"),onClick:h,children:(0,N.jsx)(bV,{})})]})}function tO({presets:a,models:b,onChange:c}){let{t:d}=(0,aa.Bd)("settings"),[e,f]=(0,O.useState)(()=>b[0]?tJ(b[0].provider,b[0].modelId):""),g=b.find(a=>tJ(a.provider,a.modelId)===e),[h,i]=(0,O.useState)(g?.thinkingLevels[0]??"off"),j=r4(r3(sG,{activationConstraint:{distance:6}}),r3(sB,{coordinateGetter:tq})),k=(0,O.useMemo)(()=>a.map(tK),[a]);return(0,N.jsxs)("div",{className:"@container/presets space-y-4 p-4 sm:p-6",children:[(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:d("presetDescription")}),(0,N.jsxs)("div",{className:"grid gap-3 border-b pb-4 @[32rem]/presets:grid-cols-[minmax(0,1fr)_7.5rem_auto]",children:[(0,N.jsx)(tE,{label:d("modelsHeading"),children:(0,N.jsx)(p0.b,{value:e,options:tL(b),ariaLabel:d("presetModelNew"),searchPlaceholder:d("modelSearch"),disabled:0===b.length,onChange:a=>{f(a);let c=b.find(b=>tJ(b.provider,b.modelId)===a);c&&i(c.thinkingLevels[0])}})}),(0,N.jsx)(tE,{label:d("thinkingLevel"),children:(0,N.jsx)(tG,{value:h,options:tM(g,d),ariaLabel:d("presetThinkingNew"),allowEmpty:!1,onChange:a=>i(a)})}),(0,N.jsxs)(ae.$,{type:"button",variant:"outline",className:"self-end justify-self-start",onClick:function(){let d=b.find(a=>tJ(a.provider,a.modelId)===e);if(!d)return;let f=d.thinkingLevels.includes(h)?h:d.thinkingLevels[0];a.some(a=>a.provider===d.provider&&a.modelId===d.modelId&&a.thinkingLevel===f)||c([...a,{provider:d.provider,modelId:d.modelId,thinkingLevel:f,color:tw(a)}])},disabled:!g,children:[(0,N.jsx)(ay,{})," ",d("presetAdd")]})]}),0===a.length?(0,N.jsx)("p",{className:"px-4 py-6 text-center text-sm text-muted-foreground",children:d("presetEmpty")}):(0,N.jsx)(s5,{sensors:j,collisionDetection:sc,onDragEnd:function(b){if(!b.over||b.active.id===b.over.id)return;let d=k.indexOf(String(b.active.id)),e=k.indexOf(String(b.over.id));d>=0&&e>=0&&c(s9(a,d,e))},children:(0,N.jsx)(tg,{items:k,strategy:td,children:(0,N.jsx)("div",{className:"space-y-2",children:a.map((d,e)=>{let f=b.find(a=>a.provider===d.provider&&a.modelId===d.modelId);return(0,N.jsx)(tN,{id:k[e],preset:d,model:f,models:b,canMoveUp:e>0,canMoveDown:e<a.length-1,onChange:b=>c(a.map((a,c)=>c===e?b:a)),onDelete:()=>c(a.filter((a,b)=>b!==e)),onMoveUp:()=>c(s9(a,e,e-1)),onMoveDown:()=>c(s9(a,e,e+1))},k[e])})})})})]})}let tP=(0,ac.A)("log-in",[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]]),tQ=(0,ac.A)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);var tR=c(99451),tS=c(9860);function tT(a){return 100*!!a.official+10*!!a.defaults.cost}let tU=[["off","thinkingOff"],["minimal","thinkingMinimal"],["low","thinkingLow"],["medium","thinkingMedium"],["high","thinkingHigh"],["xhigh","thinkingXhigh"],["max","thinkingMax"]],tV=[["input","inputPrice"],["output","outputPrice"],["cacheRead","cacheReadPrice"],["cacheWrite","cacheWritePrice"]];function tW(a){return{input:String(a.cost?.input??""),output:String(a.cost?.output??""),cacheRead:String(a.cost?.cacheRead??""),cacheWrite:String(a.cost?.cacheWrite??"")}}function tX(a,b){return Object.values(a).some(a=>null===tD(a))||Object.values(b).some(a=>""!==a&&(!Number.isFinite(Number(a))||0>Number(a)))}function tY({biz:a,provider:b,model:c,onChange:d,onInputState:e}){let{t:f}=(0,aa.Bd)("settings"),g=(0,O.useId)(),[h,i]=(0,O.useState)({contextWindow:tC(c.contextWindow),maxTokens:tC(c.maxTokens)}),[j,k]=(0,O.useState)(()=>tW(c)),{searchText:l,setSearchText:m,catalogOpen:n,setCatalogOpen:o,loadingCatalog:p,candidates:q,visibleCandidates:r,showAllCandidates:s,setShowAllCandidates:t,selectedCandidateKey:u,setSelectedCandidateKey:v}=function(a){let{t:b}=(0,aa.Bd)("settings");(0,bS.G)(),(0,O.useRef)(0);let[c,d]=(0,O.useState)(a),[e,f]=(0,O.useState)([]),[g,h]=(0,O.useState)(!1),[i,j]=(0,O.useState)(null),[k,l]=(0,O.useState)(!1),[m,n]=(0,O.useState)(!1),o=(0,O.useMemo)(()=>{let a=new Map,b=e.filter(a=>"exact"===a.match);for(let c of b.length?b:e)for(let b of c.sources){let d=JSON.stringify([c.referenceId,b.modelId,b.defaults]),e=a.get(d);e?e.sources.push(b):a.set(d,{item:c,sources:[b]})}let d=c.trim().toLocaleLowerCase();return[...a.entries()].map(([a,b])=>{let c=[...b.sources].sort((a,b)=>tT(b)-tT(a)||a.providerName.localeCompare(b.providerName)),d=c[0];return{key:a,item:b.item,source:d,equivalentSourceCount:c.length,recommended:d.official}}).sort((a,b)=>("exact"===a.item.match?0:"similar"===a.item.match?1:2)-("exact"===b.item.match?0:"similar"===b.item.match?1:2)||Number(b.recommended)-Number(a.recommended)||Number(b.source.modelId.toLocaleLowerCase()===d)-Number(a.source.modelId.toLocaleLowerCase()===d)||a.source.providerName.localeCompare(b.source.providerName))},[e,c]);return{searchText:c,setSearchText:d,catalogOpen:g,setCatalogOpen:a=>{h(a),a||l(!1)},loadingCatalog:k,candidates:o,visibleCandidates:m?o:o.slice(0,6),showAllCandidates:m,setShowAllCandidates:n,selectedCandidateKey:i,setSelectedCandidateKey:j}}(c.modelId),w=new Map(c.thinkingLevels.map(a=>[a.level,a])),x=ty.find(a=>a.value===b.api)?.label??b.api;function y(a){d({...c,...a})}return(0,N.jsxs)("div",{className:"@container/model-editor space-y-6",children:[(0,N.jsxs)("div",{className:"grid max-w-[40rem] gap-3 @[32rem]/model-editor:grid-cols-2",children:[(0,N.jsxs)("div",{className:"grid gap-1 text-sm @[32rem]/model-editor:col-span-2",children:[(0,N.jsx)("label",{htmlFor:g,className:"font-medium",children:f("modelId")}),(0,N.jsx)(tS.uB,{shouldFilter:!1,loop:!0,className:"h-auto w-full overflow-visible rounded-none bg-transparent p-0 [&_[data-slot=command-input-wrapper]]:p-0 [&_[data-slot=input-group-addon]]:hidden",onKeyDown:a=>{"Escape"===a.key&&n&&(a.preventDefault(),a.stopPropagation(),o(!1))},children:(0,N.jsxs)("div",{className:"relative",children:[(0,N.jsx)(tS.G7,{id:g,value:l,onValueChange:a=>{m(a),y({modelId:a}),v(null),t(!1),o(!0)},placeholder:f("modelIdSearch"),"aria-label":f("modelId"),"aria-autocomplete":"list",className:"pr-9"}),(0,N.jsxs)(cG.AM,{open:n,onOpenChange:a=>{o(a),a&&t(!1)},children:[(0,N.jsx)(cG.Wv,{render:(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"icon-sm",title:f("chooseModel"),"aria-label":f("chooseModel"),"aria-busy":p,className:"absolute top-0.5 right-0.5 z-10",children:p?(0,N.jsx)(ab.A,{className:"animate-spin"}):(0,N.jsx)(tR.A,{})})}),(0,N.jsx)(cG.hl,{align:"end",sideOffset:4,initialFocus:!1,finalFocus:!1,positionerClassName:"z-[120]",className:"w-[min(32rem,calc(100vw-2rem))] gap-0 p-0",children:(0,N.jsx)(tS.oI,{className:"max-h-[min(24rem,var(--available-height))] p-1",children:p&&0===q.length?(0,N.jsx)("p",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:f("matchingCatalog")}):0===q.length?(0,N.jsx)(tS.xL,{className:"py-6 text-sm",children:f("noCatalogMatches")}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(tS.L$,{className:"p-0",children:r.map(a=>(0,N.jsx)(tS.h_,{value:a.key,"data-checked":u===a.key?"true":void 0,className:"px-3 py-2",onSelect:()=>(function(a){let{item:b,source:f}=a,g={...c,modelId:f.modelId,name:b.name,...f.defaults};d(g),i({contextWindow:tC(g.contextWindow),maxTokens:tC(g.maxTokens)}),k(tW(g)),e({dirty:!1,invalid:!1}),m(f.modelId),v(a.key),t(!1),o(!1)})(a),children:(0,N.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,N.jsxs)("span",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,N.jsx)("span",{className:"break-all font-mono text-sm font-semibold",children:a.source.modelId}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:a.source.providerName})]}),(0,N.jsxs)("span",{className:"mt-1 block text-xs text-muted-foreground",children:[a.item.name," \xb7"," ",f("contextAndOutput",{context:`${tC(a.source.defaults.contextWindow)}K`,output:`${tC(a.source.defaults.maxTokens)}K`})]}),(0,N.jsx)("span",{className:"mt-1 block text-xs text-muted-foreground",children:a.source.defaults.cost?`${f("priceInput",{price:`$${a.source.defaults.cost.input}`})} \xb7 ${f("priceOutput",{price:`$${a.source.defaults.cost.output}`})}${f("perMillionTokens")}`:f("priceMissing")})]})},a.key))}),!s&&q.length>r.length?(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"sm",className:"w-full",onClick:()=>t(!0),children:f("moreConfigurations",{count:q.length-r.length})}):null]})})})]})]})}),c.modelId.trim()?null:(0,N.jsx)("span",{className:"text-xs text-destructive",children:f("modelIdRequired")})]}),(0,N.jsxs)(tE,{label:f("modelName"),className:"@[32rem]/model-editor:col-span-2",children:[(0,N.jsx)(b4.p,{value:c.name,onChange:a=>y({name:a.target.value})}),c.name.trim()?null:(0,N.jsx)("span",{className:"text-xs text-destructive",children:f("modelNameRequired")})]}),[["contextWindow","contextLength"],["maxTokens","maximumOutput"]].map(([a,b])=>{let c=null===tD(h[a]);return(0,N.jsxs)(tE,{label:f(b),children:[(0,N.jsxs)(pL.MG,{children:[(0,N.jsx)(pL.iV,{"aria-label":f(b),inputMode:"decimal",value:h[a],"aria-invalid":c,"aria-describedby":c?`${g}-${a}-error`:void 0,onChange:b=>{var c;let d,f,g;return c=b.target.value,i(d={...h,[a]:c}),e({dirty:f=tX(d,j),invalid:f}),void(null!==(g=tD(c))&&y({[a]:g}))}}),(0,N.jsx)(pL.Sq,{align:"inline-end",children:"K"})]}),c?(0,N.jsx)("span",{id:`${g}-${a}-error`,role:"alert",className:"text-xs text-destructive",children:f("capacityInvalid")}):null]},a)})]}),(0,N.jsxs)("section",{children:[(0,N.jsx)("p",{className:"text-sm font-semibold",children:f("capabilities")}),(0,N.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2 text-sm",children:[c.input.map(a=>(0,N.jsx)("span",{className:"rounded-md bg-muted px-2 py-1",children:f("text"===a?"textInput":"imageInput")},a)),c.reasoning?(0,N.jsx)("span",{className:"rounded-md bg-muted px-2 py-1",children:f("supportsThinking")}):null]})]}),(0,N.jsxs)("details",{className:"border-t pt-3",children:[(0,N.jsx)("summary",{className:"cursor-pointer text-sm font-semibold",children:f("inputAndThinking")}),(0,N.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[["text","image"].map(a=>{let b=c.input.includes(a);return(0,N.jsxs)(ae.$,{type:"button",size:"sm",variant:"outline","aria-pressed":b,onClick:()=>{b&&1===c.input.length||y({input:b?c.input.filter(b=>b!==a):[...c.input,a]})},children:[b?(0,N.jsx)(bB.A,{}):null,f("text"===a?"textInput":"imageInput")]},a)}),(0,N.jsxs)(ae.$,{type:"button",size:"sm",variant:"outline","aria-pressed":c.reasoning,onClick:()=>y({reasoning:!c.reasoning,thinkingLevels:c.reasoning?[{level:"off",providerValue:null}]:[{level:"high",providerValue:null}]}),children:[c.reasoning?(0,N.jsx)(bB.A,{}):null,f("supportsThinking")]})]}),c.reasoning?(0,N.jsxs)("details",{className:"mt-4 border-t pt-3",children:[(0,N.jsx)("summary",{className:"cursor-pointer text-sm font-medium",children:f("thinkingMapping")}),(0,N.jsx)("div",{className:"mt-2 grid max-w-[40rem] gap-x-4 @[32rem]/model-editor:grid-cols-2",children:tU.map(([a,b])=>{let d=w.get(a);return(0,N.jsxs)("div",{className:"grid grid-cols-[6rem_minmax(0,1fr)] items-center gap-2 border-b py-2",children:[(0,N.jsxs)(ae.$,{type:"button",variant:"outline",size:"sm","aria-pressed":!!d,className:"justify-start",onClick:()=>{let b=d?c.thinkingLevels.filter(b=>b.level!==a):[...c.thinkingLevels,{level:a,providerValue:"off"===a?null:a}];b.length&&y({thinkingLevels:b})},children:[d?(0,N.jsx)(bB.A,{}):null,f(b)]}),(0,N.jsx)(b4.p,{"aria-label":f("providerMapping",{level:f(b)}),disabled:!d||"off"===a,value:"off"===a?f("noMapping"):d?.providerValue??"",placeholder:a,onChange:b=>y({thinkingLevels:c.thinkingLevels.map(c=>c.level===a?{...c,providerValue:b.target.value||null}:c)})})]},a)})})]}):null]}),(0,N.jsxs)("details",{className:"border-t pt-3",children:[(0,N.jsx)("summary",{className:"cursor-pointer text-sm font-semibold",children:f("price")}),(0,N.jsxs)("div",{className:"mt-3 grid max-w-[40rem] gap-3 @[32rem]/model-editor:grid-cols-2",children:[tV.map(([a,b])=>{let d=""!==j[a]&&(!Number.isFinite(Number(j[a]))||0>Number(j[a]));return(0,N.jsxs)(tE,{label:f(b),children:[(0,N.jsx)(b4.p,{inputMode:"decimal",value:j[a],"aria-invalid":d,onChange:b=>(function(a,b){let d={...j,[a]:b};k(d);let f=tX(h,d);if(e({dirty:f,invalid:f}),Object.values(d).every(a=>""===a))return void y({cost:null});let g=Number(b);Number.isFinite(g)&&!(g<0)&&y({cost:{input:c.cost?.input??0,output:c.cost?.output??0,cacheRead:c.cost?.cacheRead??0,cacheWrite:c.cost?.cacheWrite??0,[a]:g}})})(a,b.target.value)}),d?(0,N.jsx)("span",{role:"alert",className:"text-xs text-destructive",children:f("priceInvalid")}):null]},a)}),(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"sm",className:"justify-self-start",onClick:()=>{let a={input:"",output:"",cacheRead:"",cacheWrite:""};k(a),e({dirty:!0,invalid:tX(h,a)}),y({cost:null})},children:f("clearPrice")})]})]}),(0,N.jsxs)("details",{className:"border-t pt-3",children:[(0,N.jsx)("summary",{className:"cursor-pointer text-sm font-semibold",children:f("advancedCompatibility")}),(0,N.jsxs)("div",{className:"mt-3 grid max-w-[40rem] gap-3 @[32rem]/model-editor:grid-cols-2",children:[(0,N.jsx)(tE,{label:f("apiOverride"),className:"@[32rem]/model-editor:col-span-2",children:(0,N.jsx)(tG,{value:c.api??"",ariaLabel:f("apiOverride"),options:ty,placeholder:x?f("inheritServiceValue",{value:x}):f("inheritService"),onChange:a=>y({api:a||null})})}),(0,N.jsx)(tE,{label:f("baseUrlOverride"),className:"@[32rem]/model-editor:col-span-2",children:(0,N.jsx)(b4.p,{value:c.baseUrl??"","aria-label":f("baseUrlOverride"),placeholder:b.baseUrl?f("inheritServiceValue",{value:b.baseUrl}):f("inheritService"),onChange:a=>y({baseUrl:a.target.value||null})})}),(0,N.jsx)(tE,{label:f("modelHeaders"),className:"@[32rem]/model-editor:col-span-2",children:(0,N.jsx)(tB,{headers:c.headers,onChange:a=>y({headers:a}),placeholder:f("headerPlaceholder")})}),(0,N.jsx)(tE,{label:f("developerRole"),children:(0,N.jsx)(tH,{value:c.compat?.supportsDeveloperRole??null,ariaLabel:f("developerRole"),onChange:a=>y({compat:{supportsDeveloperRole:a,thinkingFormat:c.compat?.thinkingFormat??null,requiresReasoningContentOnAssistantMessages:c.compat?.requiresReasoningContentOnAssistantMessages??null}})})}),(0,N.jsx)(tE,{label:"Thinking Format",children:(0,N.jsx)(tG,{value:c.compat?.thinkingFormat??"",ariaLabel:"Thinking Format",options:tz.map(a=>({value:a,label:a})),onChange:a=>y({compat:{supportsDeveloperRole:c.compat?.supportsDeveloperRole??null,thinkingFormat:a||null,requiresReasoningContentOnAssistantMessages:c.compat?.requiresReasoningContentOnAssistantMessages??null}})})}),(0,N.jsx)(tE,{label:f("replayReasoning"),children:(0,N.jsx)(tH,{value:c.compat?.requiresReasoningContentOnAssistantMessages??null,ariaLabel:f("replayReasoning"),onChange:a=>y({compat:{supportsDeveloperRole:c.compat?.supportsDeveloperRole??null,thinkingFormat:c.compat?.thinkingFormat??null,requiresReasoningContentOnAssistantMessages:a}})})})]})]})]})}var tZ=c(72175),t$=c(24811);function t_({className:a,disabled:b,id:c,...d}){let{t:e}=(0,aa.Bd)("common"),[f,g]=O.useState(!1),h=e(f?"hideSecret":"revealSecret");return(0,N.jsxs)("div",{className:"relative min-w-0",children:[(0,N.jsx)(b4.p,{...d,id:c,disabled:b,type:"text",autoComplete:"off",autoCapitalize:"none",spellCheck:!1,className:(0,ag.cn)("pr-9",!f&&"[-webkit-text-security:disc]",a)}),(0,N.jsx)("button",{type:"button",className:"absolute top-1/2 right-1 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md text-muted-foreground outline-none hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50","aria-label":h,"aria-controls":c,"aria-pressed":f,title:h,disabled:b,onClick:()=>g(a=>!a),children:f?(0,N.jsx)(tZ.A,{className:"size-3.5"}):(0,N.jsx)(t$.A,{className:"size-3.5"})})]})}function t0({provider:a,existingIds:b,isNew:c,onApply:d,onDelete:e,onClose:f,onDirtyChange:g}){let{t:h}=(0,aa.Bd)("settings"),{confirm:i,dialog:j}=pW(),[k,l]=(0,O.useState)(()=>structuredClone(a)),m=JSON.stringify(k)!==JSON.stringify(a),n=!k.provider.trim()||b.includes(k.provider.trim()),o=k.provider||h("providerUnnamed");function p(a){l(b=>({...b,...a}))}async function q(){(!m||await i({title:h("discardServiceTitle"),description:h("discardServiceDescription"),confirmLabel:h("discardModelConfirm")}))&&f()}async function r(){await i({title:h("providerDeleteTitle"),description:h("providerDeleteDescription",{name:o,count:a.models.length})})&&e()}return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(cf.YV,{open:!0,onOpenChange:a=>{a||q()},children:(0,N.jsxs)(cf.hA,{className:"max-w-[40rem]",initialFocus:!1,children:[(0,N.jsxs)(cf.Hl,{className:"border-b px-4 py-4 pr-12",children:[(0,N.jsx)(cf.YM,{children:h("serviceConnection")}),(0,N.jsx)(cf.uX,{children:h("serviceDraftScope",{count:a.models.length})})]}),(0,N.jsx)(cf._Y,{className:"max-h-[65dvh]",children:(0,N.jsxs)("div",{className:"space-y-5 p-4",children:[(0,N.jsxs)(tE,{label:h("serviceId"),children:[(0,N.jsx)(b4.p,{value:k.provider,"aria-label":h("serviceId"),autoComplete:"off",autoCapitalize:"none",spellCheck:!1,placeholder:h("providerIdExample"),"aria-invalid":n,onChange:a=>p({provider:a.target.value})}),n?(0,N.jsx)("span",{role:"alert",className:"text-xs text-destructive",children:h("serviceIdInvalid")}):null]}),(0,N.jsx)(tE,{label:h("serviceAddress"),children:(0,N.jsx)(b4.p,{value:k.baseUrl??"",placeholder:"https://api.example.com/v1",onChange:a=>p({baseUrl:a.target.value||null})})}),(0,N.jsx)(tE,{label:h("providerApiType"),children:(0,N.jsx)(tG,{value:k.api??"",ariaLabel:h("providerApiType"),options:ty,onChange:a=>p({api:a||null})})}),(0,N.jsx)(tE,{label:h("serviceKey"),children:(0,N.jsx)(t_,{value:k.apiKey??"",onChange:a=>p({apiKey:a.target.value||null})})}),(0,N.jsxs)("details",{className:"border-t pt-3",children:[(0,N.jsx)("summary",{className:"cursor-pointer text-sm font-semibold",children:h("providerAdvanced")}),(0,N.jsxs)("div",{className:"mt-3 space-y-3",children:[(0,N.jsx)(tE,{label:h("providerAuthHeader"),children:(0,N.jsx)(tH,{value:k.authHeader,ariaLabel:h("providerAuthHeader"),onChange:a=>p({authHeader:a})})}),(0,N.jsx)(tE,{label:h("providerHeaders"),children:(0,N.jsx)(tB,{headers:k.headers,onChange:a=>p({headers:a}),placeholder:h("headerPlaceholder")})})]})]})]})}),(0,N.jsxs)(cf.vu,{children:[c?null:(0,N.jsxs)(ae.$,{type:"button",variant:"ghost",className:"mr-auto text-destructive hover:text-destructive",onClick:r,children:[(0,N.jsx)(bV,{}),h("providerDelete")]}),(0,N.jsx)(ae.$,{type:"button",variant:"ghost",onClick:f,children:h("cancel",{ns:"common"})}),(0,N.jsx)(ae.$,{type:"button",disabled:n||!m&&!c,onClick:()=>d(k),children:h("applyServiceDraft")})]})]})}),j]})}let t1=Q.Ik({}).strict(),t2=Q.Yj().trim().min(1).max(128),t3=Q.Yj().max(32768),t4=Q.Ik({url:t3,label:t3.optional()}).strict(),t5=Q.Ik({provider:t2,name:t3,loggedIn:Q.zM(),conflict:Q.Yj().nullable()}).strict(),t6=Q.Ik({id:Q.Yj().uuid(),type:Q.k5(["text","secret","select","manual_code"]),message:t3,placeholder:t3.optional(),options:Q.YO(Q.Ik({id:t3,label:t3,description:t3.optional()}).strict()).optional()}).strict(),t7=Q.gM("type",[Q.Ik({type:Q.eu("auth_url"),url:t3,instructions:t3.optional()}).strict(),Q.Ik({type:Q.eu("device_code"),userCode:t3,verificationUri:t3}).strict(),Q.Ik({type:Q.eu("info"),message:t3,links:Q.YO(t4).optional()}).strict(),Q.Ik({type:Q.eu("progress"),message:t3}).strict()]),t8=Q.Ik({loginId:Q.Yj().uuid(),provider:t2,status:Q.k5(["running","completed","cancelled","error"]),notice:t7.nullable(),prompt:t6.nullable(),message:Q.Yj().nullable()}).strict(),t9=Object.freeze({list:(0,R.Vc)({path:"model-auth/list",inputSchema:t1,outputSchema:Q.Ik({providers:Q.YO(t5)}).strict()}),start:(0,R.Vc)({path:"model-auth/start",inputSchema:Q.Ik({loginId:Q.Yj().uuid(),provider:t2}).strict(),outputSchema:t1}),respond:(0,R.Vc)({path:"model-auth/respond",inputSchema:Q.Ik({loginId:Q.Yj().uuid(),promptId:Q.Yj().uuid(),value:t3}).strict(),outputSchema:t1}),cancel:(0,R.Vc)({path:"model-auth/cancel",inputSchema:Q.Ik({loginId:Q.Yj().uuid()}).strict(),outputSchema:t1}),logout:(0,R.Vc)({path:"model-auth/logout",inputSchema:Q.Ik({provider:t2}).strict(),outputSchema:t1}),state:(0,R._G)({path:"model-auth/state",bodySchema:t8})});function ua(a){try{let b=new URL(a);return"http:"===b.protocol||"https:"===b.protocol?b.href:null}catch{return null}}function ub(a){let b=ua(a);b&&window.open(b,"_blank","noopener,noreferrer")}async function uc(a){await navigator.clipboard.writeText(a)}function ud({prompt:a,submitting:b,onRespond:c}){let{t:d}=(0,aa.Bd)("settings"),[e,f]=(0,O.useState)(""),g="select"!==a.type||e.length>0;return(0,N.jsxs)("form",{className:"grid gap-3",onSubmit:d=>{d.preventDefault(),g&&!b&&c(a.id,e)},children:[(0,N.jsx)(tE,{label:a.message,children:"select"===a.type?(0,N.jsx)(tG,{value:e,ariaLabel:a.message,placeholder:a.placeholder??d("accountChooseOption"),options:(a.options??[]).map(a=>({value:a.id,label:a.description?`${a.label} — ${a.description}`:a.label})),onChange:f}):"secret"===a.type?(0,N.jsx)(t_,{value:e,placeholder:a.placeholder,disabled:b,onChange:a=>f(a.target.value)}):(0,N.jsx)(b4.p,{value:e,placeholder:a.placeholder,autoComplete:"off",autoCapitalize:"none",spellCheck:!1,disabled:b,onChange:a=>f(a.target.value)})}),(0,N.jsx)(ae.$,{type:"submit",disabled:!g||b,className:"justify-self-end",children:d("accountContinue")})]})}function ue({notice:a,onCopy:b,onOpenUrl:c}){let{t:d}=(0,aa.Bd)("settings"),e="auth_url"===a.type?[{url:a.url}]:"device_code"===a.type?[{url:a.verificationUri}]:"info"===a.type?a.links??[]:[];return(0,N.jsxs)("div",{className:"space-y-3",children:["auth_url"===a.type&&a.instructions?(0,N.jsx)("p",{className:"whitespace-pre-wrap text-sm",children:a.instructions}):null,"info"===a.type||"progress"===a.type?(0,N.jsx)("p",{className:"whitespace-pre-wrap text-sm",role:"status",children:a.message}):null,"device_code"===a.type?(0,N.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 rounded-lg border p-3",children:[(0,N.jsx)("span",{className:"text-sm",children:d("accountDeviceCode")}),(0,N.jsx)("code",{className:"select-all break-all text-lg font-semibold",children:a.userCode}),(0,N.jsx)(ae.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void b(a.userCode),children:d("accountCopyCode")})]}):null,e.map((a,e)=>ua(a.url)?(0,N.jsxs)("div",{className:"space-y-2",children:[(0,N.jsx)("p",{className:"break-all text-sm text-muted-foreground",children:a.url}),(0,N.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,N.jsx)(ae.$,{type:"button",variant:"outline",size:"sm",onClick:()=>c(a.url),children:a.label??d("accountOpenLink")}),(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>void b(a.url),children:d("accountCopyLink")})]})]},`${e}:${a.url}`):(0,N.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:d("accountInvalidLink")},e))]})}function uf({open:a,connected:b,providers:c,state:d,loading:e,submitting:f,error:g,onClose:h,onStart:i,onRespond:j,onCopy:k,onOpenUrl:l,onRetry:m}){let{t:n}=(0,aa.Bd)("settings"),o=d?.status==="running";return(0,N.jsx)(cf.YV,{open:a,onOpenChange:a=>{a||h()},children:(0,N.jsxs)(cf.hA,{className:"max-w-lg",children:[(0,N.jsx)(cf.Hl,{className:"border-b p-4 pr-12",children:(0,N.jsx)(cf.YM,{children:d?c.find(a=>a.provider===d.provider)?.name??d.provider:n("accountLogin")})}),(0,N.jsx)(cf._Y,{className:"max-h-[65dvh]",children:(0,N.jsxs)("div",{className:"space-y-4 p-4",children:[g?(0,N.jsx)("p",{role:"alert",className:"whitespace-pre-wrap text-sm text-destructive",children:g}):null,d?.message?(0,N.jsx)("p",{role:"error"===d.status?"alert":"status",className:"whitespace-pre-wrap text-sm",children:d.message}):null,d&&"cancelled"!==d.status&&"error"!==d.status?null:e?(0,N.jsx)("p",{role:"status",className:"text-sm text-muted-foreground",children:n("accountLoadingProviders")}):(0,N.jsxs)("div",{className:"grid gap-2",children:[(0,N.jsx)("h3",{className:"text-sm font-semibold",children:n("accountChooseProvider")}),c.length?null:(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:n("accountNoProviders")}),c.map(a=>(0,N.jsxs)("div",{className:"grid gap-1",children:[(0,N.jsxs)(ae.$,{type:"button",variant:"outline",className:"h-auto min-h-10 justify-between whitespace-normal text-left",disabled:!b||!!a.conflict,onClick:()=>void i(a.provider),children:[(0,N.jsx)("span",{children:a.name}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:a.loggedIn?n("accountRelogin"):n("accountLogin")})]}),a.conflict?(0,N.jsx)("p",{className:"text-sm text-destructive",children:a.conflict}):null]},a.provider))]}),o&&d.notice?(0,N.jsx)(ue,{notice:d.notice,onCopy:k,onOpenUrl:l}):null,o&&d.prompt?(0,N.jsx)(ud,{prompt:d.prompt,submitting:f||!b,onRespond:j},d.prompt.id):null,o&&!d.prompt?(0,N.jsx)("p",{role:"status",className:"text-sm text-muted-foreground",children:n("accountWaiting")}):null,d?.status==="completed"?(0,N.jsx)("p",{role:"status",className:"text-sm",children:n("accountLoggedIn")}):null]})}),(0,N.jsxs)(cf.vu,{children:[g&&!o?(0,N.jsx)(ae.$,{type:"button",variant:"outline",disabled:e,onClick:m,children:n("retry",{ns:"common"})}):null,(0,N.jsx)(ae.$,{type:"button",variant:"ghost",onClick:h,children:n(o?"cancel":"close",{ns:"common"})})]})]})})}function ug({account:a,existingIds:b,onAdd:c,onClose:d}){let{t:e}=(0,aa.Bd)("settings"),[f,g]=(0,O.useState)(""),[h,i]=(0,O.useState)([]),j=a.models.filter(a=>`${a.name} ${a.modelId}`.toLocaleLowerCase().includes(f.toLocaleLowerCase()));return(0,N.jsx)(cf.YV,{open:!0,onOpenChange:a=>{a||d()},children:(0,N.jsxs)(cf.hA,{className:"max-w-xl",children:[(0,N.jsx)(cf.Hl,{className:"border-b p-4 pr-12",children:(0,N.jsx)(cf.YM,{children:e("modelAddToService",{name:a.name})})}),(0,N.jsx)("div",{className:"p-4 pb-2",children:(0,N.jsx)(b4.p,{value:f,"aria-label":e("accountModelSearch"),placeholder:e("accountModelSearch"),onChange:a=>g(a.target.value)})}),(0,N.jsx)(cf._Y,{className:"max-h-[55dvh]",children:(0,N.jsxs)("div",{className:"space-y-1 px-4 pb-4",children:[j.map(a=>{let c=b.includes(a.modelId);return(0,N.jsxs)("label",{className:"flex min-h-14 cursor-pointer items-center gap-3 rounded-lg px-3 py-2 hover:bg-accent",children:[(0,N.jsx)("input",{type:"checkbox",className:"size-4 shrink-0 accent-primary",checked:c||h.includes(a.modelId),disabled:c,onChange:b=>i(c=>b.target.checked?[...c,a.modelId]:c.filter(b=>b!==a.modelId))}),(0,N.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,N.jsx)("span",{className:"block break-words text-sm font-medium",children:a.name}),(0,N.jsxs)("span",{className:"block break-all text-xs text-muted-foreground",children:[a.modelId," \xb7 ",tC(a.contextWindow)," K"]})]}),c?(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:e("accountModelAdded")}):null]},a.modelId)}),j.length?null:(0,N.jsx)("p",{className:"py-6 text-center text-sm text-muted-foreground",children:e("accountNoModels")})]})}),(0,N.jsxs)(cf.vu,{children:[(0,N.jsx)(ae.$,{type:"button",variant:"ghost",onClick:d,children:e("accountAddLater")}),(0,N.jsx)(ae.$,{type:"button",disabled:!h.length,onClick:()=>c(h),children:e("accountAddSelected",{count:h.length})})]})]})})}let uh=[["input","inputPrice"],["output","outputPrice"],["cacheRead","cacheReadPrice"],["cacheWrite","cacheWritePrice"]];function ui({model:a,account:b,overrides:c,onChange:d,onInputState:e}){let{t:f}=(0,aa.Bd)("settings"),[g,h]=(0,O.useState)(()=>({contextWindow:void 0===c.contextWindow?"":tC(c.contextWindow),maxTokens:void 0===c.maxTokens?"":tC(c.maxTokens),...Object.fromEntries(uh.map(([a])=>[a,c.cost?.[a]===void 0?"":String(c.cost[a])]))})),i=a=>""!==a&&null===tD(a),j=a=>""!==a&&(!Number.isFinite(Number(a))||0>Number(a));function k(a,b){let f={...g,[a]:b};h(f);let k=i(f.contextWindow)||i(f.maxTokens)||uh.some(([a])=>j(f[a]));if(e({dirty:k,invalid:k}),"contextWindow"===a||"maxTokens"===a){if(i(b))return;let e={...c};""===b?delete e[a]:e[a]=tD(b),d(e)}else{if(uh.some(([a])=>j(f[a])))return;let a={...c};uh.every(([a])=>""===f[a])?delete a.cost:a.cost=Object.fromEntries(uh.filter(([a])=>""!==f[a]).map(([a])=>[a,Number(f[a])])),d(a)}}if(!a)return(0,N.jsx)("p",{role:"status",className:"text-sm text-muted-foreground",children:f("accountModelUnavailable")});let l=a.cost?{...a.cost,...c.cost}:c.cost;return(0,N.jsxs)("div",{className:"max-w-[40rem] space-y-6",children:[(0,N.jsxs)("div",{className:"flex flex-wrap gap-2 text-sm text-muted-foreground",children:[(0,N.jsx)("span",{children:f(b?.loggedIn?"accountLoggedIn":"accountLoggedOut")}),b?.subscription?(0,N.jsx)("span",{className:"rounded-md bg-muted px-2",children:f("accountSubscription")}):null]}),(0,N.jsxs)("dl",{className:"grid gap-4 sm:grid-cols-2",children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-sm text-muted-foreground",children:f("contextLength")}),(0,N.jsxs)("dd",{className:"mt-1 text-lg font-semibold",children:[tC(c.contextWindow??a.contextWindow)," K"]})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-sm text-muted-foreground",children:f("maximumOutput")}),(0,N.jsxs)("dd",{className:"mt-1 text-lg font-semibold",children:[tC(c.maxTokens??a.maxTokens)," K"]})]}),(0,N.jsxs)("div",{className:"sm:col-span-2",children:[(0,N.jsx)("dt",{className:"text-sm text-muted-foreground",children:f("capabilities")}),(0,N.jsx)("dd",{className:"mt-1 text-sm",children:[...a.input.map(a=>f("image"===a?"imageInput":"textInput")),...a.reasoning?[f("supportsThinking")]:[]].join(" \xb7 ")})]})]}),(0,N.jsxs)("details",{className:"border-t pt-3",children:[(0,N.jsx)("summary",{className:"cursor-pointer text-sm font-semibold",children:f("accountReferencePrice")}),(0,N.jsx)("div",{className:"mt-3 text-sm text-muted-foreground",children:l?uh.map(([a,b])=>(0,N.jsxs)("p",{children:[f(b),": ",void 0===l[a]?"—":`$${l[a]}`]},a)):f("priceMissing")})]}),(0,N.jsxs)("details",{className:"border-t pt-3",children:[(0,N.jsx)("summary",{className:"cursor-pointer text-sm font-semibold",children:f("accountAdjustParameters")}),(0,N.jsxs)("div",{className:"mt-4 space-y-4",children:[(0,N.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:["contextWindow","maxTokens"].map(b=>(0,N.jsxs)(tE,{label:`${f("contextWindow"===b?"contextLength":"maximumOutput")} (K)`,children:[(0,N.jsx)(b4.p,{value:g[b],placeholder:tC(a[b]),inputMode:"decimal","aria-invalid":i(g[b]),onChange:a=>k(b,a.target.value)}),i(g[b])?(0,N.jsx)("span",{className:"text-xs text-destructive",children:f("capacityInvalid")}):null]},b))}),(0,N.jsxs)("details",{children:[(0,N.jsx)("summary",{className:"cursor-pointer text-sm font-medium",children:f("price")}),(0,N.jsx)("div",{className:"mt-3 grid gap-3 sm:grid-cols-2",children:uh.map(([b,c])=>(0,N.jsxs)(tE,{label:f(c),children:[(0,N.jsx)(b4.p,{value:g[b],inputMode:"decimal",placeholder:String(a.cost?.[b]??""),"aria-invalid":j(g[b]),onChange:a=>k(b,a.target.value)}),j(g[b])?(0,N.jsx)("span",{className:"text-xs text-destructive",children:f("priceInvalid")}):null]},b))})]}),(0,N.jsx)(ae.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{h({contextWindow:"",maxTokens:"",input:"",output:"",cacheRead:"",cacheWrite:""}),d({}),e({dirty:!1,invalid:!1})},children:f("accountRestoreDefaults")})]})]})]})}let uj=(0,ac.A)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);function uk({name:a,hasAccount:b,loggedIn:c,hasCustom:d,onCustomSettings:e,onLogin:f,onLogout:g}){let{t:h}=(0,aa.Bd)("settings"),[i,j]=(0,O.useState)(!1),k=(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"icon-sm","aria-label":h("serviceSettingsNamed",{name:a}),onClick:b?void 0:e,children:(0,N.jsx)(uj,{})});function l(a){j(!1),a()}return b?(0,N.jsxs)(cG.AM,{open:i,onOpenChange:j,children:[(0,N.jsx)(cG.Wv,{render:k}),(0,N.jsxs)(cG.hl,{align:"end",positionerClassName:"z-[120]",className:"w-52 gap-1 p-1",children:[(0,N.jsx)(ae.$,{type:"button",variant:"ghost",className:"justify-start",onClick:()=>l(f),children:h(c?"accountRelogin":"accountLogin")}),c?(0,N.jsx)(ae.$,{type:"button",variant:"ghost",className:"justify-start text-destructive",onClick:()=>l(g),children:h("accountLogout")}):null,d?(0,N.jsx)(ae.$,{type:"button",variant:"ghost",className:"justify-start",onClick:()=>l(e),children:h("accountCustomSettings")}):null]})]}):k}function ul({providerId:a,custom:b,account:c,accountModels:d,query:e,modelKeys:f,selectedCustomIndex:g,selectedAccountId:h,presets:i,onSelectCustom:j,onSelectAccount:k,onCustomSettings:l,onAddCustom:m,onAddAccount:n,onLogin:o,onLogout:p,onGroupRef:q,onRowRef:r}){let{t:s}=(0,aa.Bd)("settings"),t=(b?a:c?.name)||a||s("providerUnnamed"),u=d.filter(a=>!b?.models.some(b=>b.modelId===a.modelId)),v=[...(b?.models??[]).map((a,b)=>({key:f[b],modelId:a.modelId,name:a.name,model:a,selected:g===b,select:()=>j(b)})),...u.map(b=>{let d=c?.models.find(a=>a.modelId===b.modelId);return{key:`account:${a}:${b.modelId}`,modelId:b.modelId,name:d?.name??b.modelId,model:d?{...d,...b.overrides}:void 0,selected:h===b.modelId,select:()=>k(b.modelId)}})],w=v.filter(b=>`${a} ${t} ${c?.name??""} ${b.name} ${b.modelId}`.toLocaleLowerCase().includes(e.toLocaleLowerCase()));if(e&&!w.length&&!`${a} ${t} ${c?.name??""}`.toLocaleLowerCase().includes(e.toLocaleLowerCase()))return null;let x=!!c||d.length>0;return(0,N.jsxs)("section",{ref:q,className:"mb-3",children:[(0,N.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1 text-foreground",children:[(0,N.jsx)(cj,{"aria-hidden":"true",className:"size-4 shrink-0"}),(0,N.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-semibold",title:c?.name,children:t}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:v.length}),(0,N.jsx)(uk,{name:t,hasAccount:x,loggedIn:c?.loggedIn??!1,hasCustom:!!b,onCustomSettings:l,onLogin:o,onLogout:p})]}),(0,N.jsxs)("div",{className:"space-y-1",children:[w.map(b=>(0,N.jsxs)("button",{ref:a=>r(b.key,a),type:"button","aria-current":b.selected?"true":void 0,className:(0,ag.cn)("flex min-h-14 w-full cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-left outline-none hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring",b.selected&&"bg-accent text-accent-foreground"),onClick:b.select,children:[(0,N.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,N.jsx)("span",{className:"block truncate text-sm font-medium",children:b.name||b.modelId||s("modelUnnamed")}),(0,N.jsx)("span",{className:"mt-0.5 block truncate text-xs text-muted-foreground",children:b.model?`${tC(b.model.contextWindow)} K \xb7 ${s(b.model.input.includes("image")?"imageInput":"textInput")}`:s("accountModelUnavailableShort")})]}),i.some(c=>c.provider===a&&c.modelId===b.modelId)?(0,N.jsx)(tQ,{className:"size-4 shrink-0 text-muted-foreground"}):null]},b.key)),x?(0,N.jsxs)(ae.$,{type:"button",variant:"ghost",size:"sm",className:"mt-1 w-full border border-dashed border-input","aria-label":s("modelAddToService",{name:c?.name??t}),onClick:n,children:[(0,N.jsx)(ay,{}),s("modelAdd")]}):null,b?(0,N.jsxs)(ae.$,{type:"button",variant:"ghost",size:"sm",className:"mt-1 w-full border border-dashed border-input","aria-label":s("modelAddToService",{name:t}),onClick:m,children:[(0,N.jsx)(ay,{}),x?s("accountCustomModel"):null]}):null]})]})}let um={off:"thinkingOff",minimal:"thinkingMinimal",low:"thinkingLow",medium:"thinkingMedium",high:"thinkingHigh",xhigh:"thinkingXhigh",max:"thinkingMax"};function un({biz:a,connectionReady:b,providers:c,accounts:d,accountModels:e,onAccountModelsChange:f,onRefreshAccounts:g,savedModels:h,savedProviders:i,presets:j,resetVersion:k,onChange:l,onPresetsChange:m,onInputState:n,onServiceDirtyChange:o}){let{t:p}=(0,aa.Bd)("settings"),{confirm:q,dialog:r}=pW(),s=(0,bS.G)(),[t,u]=(0,O.useState)(null),[v,w]=(0,O.useState)(null),[x,y]=(0,O.useState)(!1),[z,A]=(0,O.useState)(()=>new Set),B=function(a,b){let{appSocket:c}=(0,bZ.gM)(),d=(0,O.useMemo)(()=>({list:async()=>(await c.request(t9.list,{})).providers,async start(a,b){await c.request(t9.start,{loginId:a,provider:b})},async respond(a,b,d){await c.request(t9.respond,{loginId:a,promptId:b,value:d})},async cancel(a){await c.request(t9.cancel,{loginId:a})},async logout(a){await c.request(t9.logout,{provider:a})},subscribe:a=>c.subscribe(t9.state,a)}),[c]),{t:e}=(0,aa.Bd)("settings"),f=(0,bS.G)(),[g,h]=(0,O.useState)(!1),[i,j]=(0,O.useState)([]),[k,l]=(0,O.useState)(null),[m,n]=(0,O.useState)(!1),[o,p]=(0,O.useState)(!1),[q,r]=(0,O.useState)(null),[s,t]=(0,O.useState)(null),u=(0,O.useRef)(a),v=(0,O.useRef)(null),w=(0,O.useRef)(null),x=(0,O.useRef)(null),y=(0,O.useRef)(null),z=(0,O.useRef)(0),A=(0,O.useRef)(b);function B(){let a=v.current;v.current=null,w.current=null,x.current=null,y.current?.(),y.current=null,a?.status==="running"&&d.cancel(a.loginId).catch(a=>{console.warn("[Pi Desk][ModelAuth] 取消登录失败",{message:a instanceof Error?a.message:String(a)})})}function C(){z.current+=1,B(),h(!1)}async function D(){let a=v.current;if(!a||"completed"!==a.status||x.current)return;x.current=a.loginId,p(!0),t(null);let b=()=>v.current?.loginId===a.loginId;try{await A.current(a.provider,b),b()&&C()}catch(a){b()&&t(a instanceof Error?a.message:e("accountRefreshFailed"))}finally{b()&&(x.current=null,p(!1))}}async function E(a){if(!u.current)return void t(e("accountConnectionNotReady"));if(v.current?.status==="running")return;B();let b={loginId:crypto.randomUUID(),provider:a,status:"running",notice:null,prompt:null,message:null};v.current=b,l(b),t(null),r(null),y.current=d.subscribe(a=>{v.current?.loginId===a.loginId&&((v.current.prompt?.id!==a.prompt?.id||"running"!==a.status)&&(w.current=null,r(null)),v.current=a,l(a),t("error"!==a.status||a.message?null:e("accountLoginFailed")),"completed"===a.status&&D())});try{await d.start(b.loginId,a)}catch(a){if(v.current?.loginId!==b.loginId||"running"!==v.current.status)return;B(),l(null),t(a instanceof Error?a.message:e("accountLoginFailed"))}}async function F(a,b){let c=v.current;if(!u.current||!c||"running"!==c.status||c.prompt?.id!==a||w.current)return;let f={loginId:c.loginId,promptId:a};w.current=f,r(a),t(null);try{await d.respond(c.loginId,a,b)}catch(b){v.current?.loginId===c.loginId&&v.current.prompt?.id===a&&t(b instanceof Error?b.message:e("accountLoginFailed"))}finally{w.current===f&&(w.current=null,r(null))}}return{open:g,providers:i,state:k,loading:m||o,submitting:null!==q&&q===k?.prompt?.id,error:s,show:function(a){if(C(),l(null),t(null),r(null),p(!1),h(!0),!u.current){n(!1),t(e("accountConnectionNotReady"));return}n(!0);let b=++z.current;d.list().then(c=>{z.current===b&&(j(c),a&&c.some(b=>b.provider===a&&!b.conflict)&&E(a))}).catch(a=>{z.current===b&&t(a instanceof Error?a.message:e("accountLoginFailed"))}).finally(()=>{z.current===b&&n(!1)})},close:C,start:E,respond:F,finish:D,async logout(a){if(!u.current)throw Error(e("accountConnectionNotReady"));await d.logout(a)},async copy(a){try{await uc(a),f.success(e("accountCopied"))}catch{f.error(e("accountCopyFailed"))}},openUrl:ub}}(b,async(a,b)=>{await g(),b()&&w(a)}),C=function(a,b){let[c,d]=(0,O.useState)(()=>{let b=a.findIndex(a=>a.models.length>0);return b<0?null:{providerIndex:b,modelIndex:0}}),[e,f]=(0,O.useState)(!1),[g,h]=(0,O.useState)(""),[i,j]=(0,O.useState)(()=>a.map((a,b)=>a.models.map((a,c)=>`${b}:${c}`))),k=(0,O.useRef)(0),[l,m]=(0,O.useState)({}),[n,o]=(0,O.useState)(null),[p,q]=(0,O.useState)(!1);function r(a){m(b=>Object.fromEntries(Object.entries(b).filter(([b])=>!a.includes(b))))}function s(){o(null),q(!1)}return(0,O.useRef)(a),{selection:c,mobileDetail:e,query:g,setQuery:h,modelKeys:i,serviceIndex:n,newService:p,openService:a=>{o(a),q(null===a)},closeService:s,applyService:c=>{p?(b([...a,c]),j(a=>[...a,[]])):b(a.map((a,b)=>b===n?c:a)),s()},deleteService:()=>{if(null===n)return;r(i[n]);let c=a.filter((a,b)=>b!==n);b(c),j(a=>a.filter((a,b)=>b!==n)),d(a=>{if(!a||a.providerIndex===n){let a=c.findIndex(a=>a.models.length);return a<0?null:{providerIndex:a,modelIndex:0}}return a.providerIndex>n?{...a,providerIndex:a.providerIndex-1}:a}),f(!1),s()},addModel:c=>{let e=a[c];b(a.map((a,b)=>b===c?{...a,models:[...a.models,{modelId:"",name:"",api:null,baseUrl:null,reasoning:!1,thinkingLevels:[{level:"off",providerValue:null}],input:["text"],contextWindow:128e3,maxTokens:16384,cost:null,headers:{},compat:null}]}:a));let g=`new-${++k.current}`;j(a=>a.map((a,b)=>b===c?[...a,g]:a)),d({providerIndex:c,modelIndex:e.models.length}),h(""),f(!0)},selectModel:(a,b)=>{d({providerIndex:a,modelIndex:b}),f(!0)},backToList:()=>{f(!1),h("")},updateModel:function(c,d,e){b(a.map((a,b)=>b===c?{...a,models:a.models.map((a,b)=>b===d?e:a)}:a))},deleteModel:(c,e)=>{r([i[c][e]]);let g=a.map((a,b)=>b===c?{...a,models:a.models.filter((a,b)=>b!==e)}:a);b(g),j(a=>a.map((a,b)=>b===c?a.filter((a,b)=>b!==e):a)),d(a=>{if(!a||a.providerIndex!==c)return a;if(a.modelIndex===e){if(g[c].models.length)return{providerIndex:c,modelIndex:Math.min(e,g[c].models.length-1)};let a=g.findIndex(a=>a.models.length);return a<0?null:{providerIndex:a,modelIndex:0}}return a.modelIndex>e?{...a,modelIndex:a.modelIndex-1}:a}),f(!1)},updateInputState:(a,b)=>m(c=>({...c,[a]:b}))}}(c,l),{selection:D,mobileDetail:E,query:F,setQuery:G,modelKeys:H,serviceIndex:I,newService:J}=C,K=(0,O.useRef)(new Map),L=(0,O.useRef)(new Map),[M,P]=(0,O.useState)(!1),[Q,R]=(0,O.useState)("off"),S=e.find(a=>a.provider===t?.provider&&a.modelId===t?.modelId)??(c.some(a=>a.models.length)?void 0:e[0]),T=d.find(a=>a.provider===S?.provider),U=T?.models.find(a=>a.modelId===S?.modelId),V=!!S,W=!V&&D?c[D.providerIndex]:null,X=!V&&D?W?.models[D.modelIndex]:null,Y=V?x:E&&!!X,Z=V?U?.name??S?.modelId:X?.name||X?.modelId||p("modelUnnamed"),$=S?.provider||W?.provider||p("providerUnnamed"),_=d.find(a=>a.provider===v),ab=[...new Set([...c.map(a=>a.provider),...d.map(a=>a.provider),...e.map(a=>a.provider)])],ac=a=>`account:${a.provider}:${a.modelId}`,ad=new Set(e.map(ac)),af=new Set([...z].filter(a=>ad.has(a)));S&&af.add(ac(S)),(af.size!==z.size||S&&!z.has(ac(S)))&&A(af);let[ah,ai]=(0,O.useState)(()=>new Set),ak=D?H[D.providerIndex]?.[D.modelIndex]:void 0,al=new Set(H.flat()),am=new Set([...ah].filter(a=>al.has(a)));ak&&am.add(ak),(am.size!==ah.size||ak&&!ah.has(ak))&&ai(am);let an=V?h.find(a=>a.provider===S?.provider&&a.modelId===S.modelId):W&&X&&i.some(a=>a.provider===W.provider&&a.models.some(a=>a.modelId===X.modelId))?h.find(a=>a.provider===W.provider&&a.modelId===X.modelId):void 0;async function ao(){if(S){await q({title:p("accountRemoveTitle"),description:p("accountRemoveDescription",{name:Z})})&&(f(e.filter(a=>a!==S)),C.updateInputState(ac(S),{dirty:!1,invalid:!1}),u(null),y(!1));return}D&&X&&await q({title:p("modelDeleteTitle"),description:p("modelDeleteDescription",{name:X.name||X.modelId||p("modelUnnamed")})})&&C.deleteModel(D.providerIndex,D.modelIndex)}async function ap(a){if(await q({title:p("accountLogoutTitle"),description:p("accountLogoutDescription",{name:d.find(b=>b.provider===a)?.name??a}),confirmLabel:p("accountLogout")}))try{await B.logout(a),await g()}catch(a){s.error(a instanceof Error?a.message:p("accountLogoutFailed"))}}return(0,N.jsxs)("section",{className:"@container/models h-full min-h-0 overflow-hidden bg-card",children:[(0,N.jsxs)("div",{className:"grid h-full min-h-0 grid-cols-1 @[48rem]/models:grid-cols-[15rem_minmax(0,1fr)]",children:[(0,N.jsxs)("aside",{"aria-label":p("providerList"),className:(0,ag.cn)("min-h-0 min-w-0 flex-col bg-sidebar @[48rem]/models:flex @[48rem]/models:border-r",Y?"hidden":"flex"),children:[(0,N.jsx)("div",{className:"shrink-0 p-3",children:(0,N.jsx)(b4.p,{value:F,"aria-label":p("modelSearch"),placeholder:p("modelSearch"),onChange:a=>G(a.target.value)})}),(0,N.jsxs)("div",{className:"pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto px-2 pb-3",children:[ab.map(a=>{let b=c.findIndex(b=>b.provider===a);return(0,N.jsx)(ul,{providerId:a,custom:c[b],account:d.find(b=>b.provider===a),accountModels:e.filter(b=>b.provider===a),query:F,modelKeys:H[b]??[],selectedCustomIndex:V||D?.providerIndex!==b?null:D.modelIndex,selectedAccountId:S?.provider===a?S.modelId:null,presets:j,onSelectCustom:a=>{u(null),C.selectModel(b,a)},onSelectAccount:b=>{u({provider:a,modelId:b}),y(!0),A(c=>new Set([...c,ac({provider:a,modelId:b})]))},onCustomSettings:()=>C.openService(b),onAddCustom:()=>{u(null),C.addModel(b)},onAddAccount:()=>{let b;return b=d.find(b=>b.provider===a),void(b?.loggedIn?w(a):B.show(a))},onLogin:()=>B.show(a),onLogout:()=>void ap(a),onGroupRef:a=>{b<0||(a?K.current.set(b,a):K.current.delete(b))},onRowRef:(a,b)=>{b?L.current.set(a,b):L.current.delete(a)}},a)}),ab.length?null:(0,N.jsx)("p",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:p("providerEmpty")})]}),(0,N.jsxs)("div",{className:"flex shrink-0 gap-2 border-t p-3",children:[(0,N.jsxs)(ae.$,{type:"button",variant:"outline",size:"sm",onClick:()=>C.openService(null),children:[(0,N.jsx)(ay,{}),p("accountCustomApi")]}),(0,N.jsxs)(ae.$,{type:"button",variant:"outline",size:"sm",onClick:()=>B.show(),children:[(0,N.jsx)(tP,{}),p("accountLogin")]})]})]}),(0,N.jsx)("section",{"aria-label":p("modelsHeading"),className:(0,ag.cn)("min-h-0 min-w-0 flex-col @[48rem]/models:flex",Y?"flex":"hidden"),children:V||X&&D?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b px-4 py-2 @[48rem]/models:hidden",children:[(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"icon-sm","aria-label":p("backModelList"),onClick:function(){if(S){y(!1),window.requestAnimationFrame(()=>{let a=L.current.get(ac(S));a?.scrollIntoView({block:"nearest"}),a?.focus({preventScroll:!0})});return}C.backToList(),window.requestAnimationFrame(()=>{if(!D)return;let a=H[D.providerIndex]?.[D.modelIndex];K.current.get(D.providerIndex)?.scrollIntoView({block:"nearest"}),L.current.get(a)?.scrollIntoView({block:"nearest"}),L.current.get(a)?.focus({preventScroll:!0})})},children:(0,N.jsx)(aj.A,{})}),(0,N.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",title:T?.name??$,children:T?.name??$}),(0,N.jsx)(uk,{name:$,hasAccount:d.some(a=>a.provider===$)||e.some(a=>a.provider===$),loggedIn:d.find(a=>a.provider===$)?.loggedIn??!1,hasCustom:c.some(a=>a.provider===$),onCustomSettings:()=>C.openService(c.findIndex(a=>a.provider===$)),onLogin:()=>B.show($),onLogout:()=>void ap($)})]}),(0,N.jsxs)("div",{className:"pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto p-4 @[48rem]/models:p-6",children:[(0,N.jsxs)("div",{className:"mb-5 flex flex-wrap items-center justify-between gap-2",children:[(0,N.jsx)("h3",{className:"min-w-0 break-all text-lg font-semibold",children:Z}),(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,N.jsxs)(ae.$,{type:"button",variant:"outline",size:"sm",disabled:!an,title:an?void 0:p("saveBeforePreset"),onClick:()=>{R(an?.thinkingLevels[0]??"off"),P(!0)},children:[(0,N.jsx)(tQ,{}),p("addModelPreset")]}),(0,N.jsxs)(d7.m_,{children:[(0,N.jsx)(d7.k$,{render:(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"icon-sm",className:"text-destructive hover:text-destructive","aria-label":V?`${p("accountRemove")} ${Z}`:p("modelDeleteNamed",{name:Z}),onClick:ao,children:(0,N.jsx)(bV,{})})}),(0,N.jsx)(d7.ZI,{children:p(V?"accountRemove":"modelDelete")})]})]})]}),e.map(a=>{let b=ac(a);if(!af.has(b))return null;let c=d.find(b=>b.provider===a.provider);return(0,N.jsx)("div",{hidden:!V||S!==a,children:(0,N.jsx)(ui,{account:c,model:c?.models.find(b=>b.modelId===a.modelId),overrides:a.overrides,onChange:b=>f(e.map(c=>c===a?{...a,overrides:b}:c)),onInputState:a=>C.updateInputState(b,a)})},`${b}:${k}`)}),c.flatMap((b,c)=>b.models.map((d,e)=>{let f=!V&&D?.providerIndex===c&&D.modelIndex===e,g=H[c]?.[e];return am.has(g)?(0,N.jsx)("div",{hidden:!f,children:(0,N.jsx)(tY,{biz:a,provider:b,model:d,onChange:a=>C.updateModel(c,e,a),onInputState:a=>C.updateInputState(g,a)})},`${g}:${k}`):null}))]})]}):(0,N.jsxs)("div",{className:"flex flex-col items-center gap-3 p-6 text-sm text-muted-foreground",children:[(0,N.jsx)(cs,{className:"size-6"}),p("selectModelToEdit")]})})]}),(0,N.jsx)(uf,{open:B.open,connected:b,providers:B.providers,state:B.state,loading:B.loading,submitting:B.submitting,error:B.error,onClose:B.close,onStart:B.start,onRespond:B.respond,onCopy:B.copy,onOpenUrl:B.openUrl,onRetry:()=>B.state?.status==="completed"?void B.finish():B.show()}),_?(0,N.jsx)(ug,{account:_,existingIds:[...e.filter(a=>a.provider===_.provider).map(a=>a.modelId),...c.filter(a=>a.provider===_.provider).flatMap(a=>a.models.map(a=>a.modelId))],onAdd:function(a){if(!_)return;let b=a.filter(a=>!e.some(b=>b.provider===_.provider&&b.modelId===a)&&!c.some(b=>b.provider===_.provider&&b.models.some(b=>b.modelId===a))).map(a=>({provider:_.provider,modelId:a,overrides:{}}));f([...e,...b]),w(null)},onClose:()=>w(null)},_.provider):null,J||null!==I?(0,N.jsx)(t0,{provider:J?{provider:"",name:null,baseUrl:null,api:"openai-responses",apiKey:null,authHeader:null,headers:{},models:[]}:c[I],existingIds:c.filter((a,b)=>J||b!==I).map(a=>a.provider),isNew:J,onApply:C.applyService,onDelete:C.deleteService,onClose:C.closeService,onDirtyChange:o}):null,(0,N.jsx)(cf.YV,{open:M,onOpenChange:P,children:(0,N.jsxs)(cf.hA,{children:[(0,N.jsx)(cf.Hl,{className:"border-b px-4 py-4 pr-12",children:(0,N.jsx)(cf.YM,{children:p("addModelPreset")})}),(0,N.jsx)(cf._Y,{children:(0,N.jsx)("div",{className:"p-4",children:(0,N.jsx)(tE,{label:p("thinkingLevel"),children:(0,N.jsx)(tG,{value:Q,allowEmpty:!1,ariaLabel:p("presetThinkingNew"),options:(an?.thinkingLevels??[]).map(a=>({value:a,label:p(um[a])})),onChange:a=>R(a)})})})}),(0,N.jsxs)(cf.vu,{children:[(0,N.jsx)(ae.$,{type:"button",variant:"ghost",onClick:()=>P(!1),children:p("cancel",{ns:"common"})}),(0,N.jsx)(ae.$,{type:"button",onClick:function(){an&&(j.some(a=>a.provider===an.provider&&a.modelId===an.modelId&&a.thinkingLevel===Q)||m([...j,{provider:an.provider,modelId:an.modelId,thinkingLevel:Q,color:tw(j)}]),P(!1))},disabled:!an,children:p("presetAdd")})]})]})}),r]})}let uo={off:"thinkingOff",minimal:"thinkingMinimal",low:"thinkingLow",medium:"thinkingMedium",high:"thinkingHigh",xhigh:"thinkingXhigh",max:"thinkingMax"};function up(a,b){return JSON.stringify([a,b])}function uq(a){return a.replace(/[\\/]+$/,"").split(/[\\/]/).at(-1)||a}function ur({biz:a,presets:b,onDirtyChange:c}){let{t:d}=(0,aa.Bd)("settings"),e=function(a,b){let{t:c}=(0,aa.Bd)("settings"),d=(0,bS.G)(),{confirm:e,dialog:f}=pW(),[g,h]=(0,O.useState)([]),[i,j]=(0,O.useState)(""),[k,l]=(0,O.useState)([]),[m,n]=(0,O.useState)(null),[o,p]=(0,O.useState)(!1),[q,r]=(0,O.useState)(!0),[s,t]=(0,O.useState)(!1),[u,v]=(0,O.useState)(!1),[w,x]=(0,O.useState)(!1),[y,z]=(0,O.useState)(null),[A,B]=(0,O.useState)(null),[C,D]=(0,O.useState)(null),[E,F]=(0,O.useState)(0),[G,H]=(0,O.useState)(0),I=y===i&&null===C&&!s&&!u,J=(0,O.useRef)(!1);(0,O.useRef)("");let K=(0,O.useRef)(0),L=(0,O.useCallback)(a=>{J.current=a,b?.(a)},[b]);async function M(a){return!w&&(a===i||(!J.current||!!await e({title:c("discardModelTitle"),description:c("discardModelDescription"),confirmLabel:c("discardModelConfirm")}))&&(K.current+=1,v(!0),j(a),!0))}async function N(){if(i&&I&&!s&&!u&&!w&&(!o||m)){x(!0);try{await a.replaceProjectDefault({cwd:i,default:o?m:null}),rx({cwd:i,default:o?m:null,models:k}),L(!1),d.success(o?c("projectDefaultSaved"):c("projectDefaultGlobalSaved"))}catch(a){d.error(a instanceof Error?a.message:c("projectDefaultSaveFailed"))}finally{x(!1)}}}return{directories:g,cwd:i,loadedCwd:y,models:k,selection:m,fixed:o,directoriesLoading:q,projectLoading:s,projectRefreshing:u,saving:w,projectReady:I,directoriesError:A,projectError:C,dialog:f,selectProject:M,changeFixed:function(a){I&&!w&&(L(!0),p(a))},selectModel:function(a){I&&!w&&(L(!0),n({provider:a.provider,modelId:a.modelId,thinkingLevel:a.thinkingLevels[0]}))},selectThinking:function(a){if(!I||w)return;let b=k.find(a=>a.provider===m?.provider&&a.modelId===m.modelId),c=b?.thinkingLevels.find(b=>b===a);m&&c&&(L(!0),n({...m,thinkingLevel:c}))},applyPreset:function(a){I&&!w&&(L(!0),n({provider:a.provider,modelId:a.modelId,thinkingLevel:a.thinkingLevel}))},retryDirectories:function(){F(a=>a+1)},retryProject:function(){K.current+=1,v(!0),H(a=>a+1)},save:N}}(a,c),[f,g]=(0,O.useState)(""),[h,i]=(0,O.useState)(!1),j=e.models.find(a=>a.provider===e.selection?.provider&&a.modelId===e.selection.modelId),k=b.filter(a=>e.models.some(b=>b.provider===a.provider&&b.modelId===a.modelId&&b.thinkingLevels.includes(a.thinkingLevel))),l=e.directories.filter(a=>a.cwd.toLocaleLowerCase().includes(f.trim().toLocaleLowerCase())),m=e.models.map(a=>({value:up(a.provider,a.modelId),label:a.name||a.modelId,description:a.provider})),n=!e.projectReady||e.saving,o=e.loadedCwd??e.cwd;async function p(a){await e.selectProject(a)&&i(!0)}return(0,N.jsxs)("section",{className:"@container/project-default h-full min-h-0 overflow-hidden bg-card",children:[(0,N.jsxs)("div",{className:"grid h-full min-h-0 grid-cols-1 @[48rem]/project-default:grid-cols-[18rem_minmax(0,1fr)]",children:[(0,N.jsxs)("aside",{"aria-label":d("projectList"),className:(0,ag.cn)("min-h-0 min-w-0 flex-col bg-sidebar @[48rem]/project-default:flex @[48rem]/project-default:border-r",h&&e.cwd?"hidden":"flex"),children:[(0,N.jsxs)("div",{className:"shrink-0 space-y-3 p-3",children:[(0,N.jsx)("h3",{className:"text-sm font-semibold",children:d("projectList")}),(0,N.jsx)(b4.p,{value:f,"aria-label":d("projectSearch"),placeholder:d("projectSearch"),onChange:a=>g(a.target.value)})]}),(0,N.jsx)("div",{className:"pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto px-2 pb-3",children:e.directoriesLoading&&0===e.directories.length?(0,N.jsxs)("div",{className:"flex items-center justify-center gap-2 px-3 py-6 text-sm text-muted-foreground",children:[(0,N.jsx)(ab.A,{"aria-hidden":"true",className:"size-4 animate-spin"}),d("projectLoading")]}):e.directoriesError?(0,N.jsxs)("div",{className:"space-y-3 px-3 py-6 text-sm",children:[(0,N.jsx)("p",{role:"alert",className:"break-words text-destructive",children:e.directoriesError}),(0,N.jsx)(ae.$,{type:"button",variant:"outline",size:"sm",onClick:e.retryDirectories,children:d("retry",{ns:"common"})})]}):0===l.length?(0,N.jsx)("p",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:d("projectEmpty")}):(0,N.jsx)("div",{className:"space-y-1",children:l.map(a=>{let b=a.cwd===e.cwd;return(0,N.jsx)(ae.$,{type:"button",variant:"ghost","aria-current":b?"true":void 0,disabled:e.saving,className:(0,ag.cn)("h-auto min-h-14 w-full items-start justify-start gap-2 whitespace-normal px-3 py-2 text-left",b&&"bg-accent text-accent-foreground ring-1 ring-border ring-inset"),onClick:()=>{p(a.cwd)},children:(0,N.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,N.jsxs)("span",{className:"flex items-start gap-2",children:[(0,N.jsx)("span",{className:"min-w-0 flex-1 break-all text-sm font-medium",children:uq(a.cwd)}),b?(0,N.jsx)(bB.A,{"aria-hidden":"true",className:"mt-0.5 size-4 shrink-0"}):null]}),(0,N.jsx)("span",{className:"mt-1 block break-all text-xs font-normal text-muted-foreground",children:a.cwd}),(0,N.jsx)("span",{className:"mt-1 block text-xs font-normal text-muted-foreground",children:d("projectSessionCount",{count:a.sessionCount})})]})},a.cwd)})})})]}),(0,N.jsx)("section",{"aria-label":d("projectDefaultSource"),className:(0,ag.cn)("min-h-0 min-w-0 flex-col @[48rem]/project-default:flex",h&&e.cwd?"flex":"hidden"),children:e.cwd?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("div",{className:"shrink-0 border-b px-4 py-2 @[48rem]/project-default:hidden",children:(0,N.jsxs)(ae.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>i(!1),children:[(0,N.jsx)(aj.A,{"aria-hidden":"true"}),d("backProjectList")]})}),(0,N.jsx)("div",{className:"pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto p-4 @[48rem]/project-default:p-6",children:(0,N.jsxs)("div",{className:"max-w-[40rem] space-y-6",children:[(0,N.jsxs)("header",{className:"space-y-1",children:[(0,N.jsxs)("h3",{className:"flex items-center gap-2 text-lg font-semibold",children:[(0,N.jsx)("span",{className:"min-w-0 break-all",children:uq(o)}),(0,N.jsx)("span",{className:"inline-flex size-4 shrink-0",children:!e.projectReady&&!e.projectError&&(0,N.jsx)(ab.A,{role:"status","aria-label":d("projectLoading"),className:"size-4 animate-spin text-muted-foreground"})})]}),(0,N.jsx)("p",{className:"break-all text-sm text-muted-foreground",children:o})]}),e.projectError?(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,N.jsx)("p",{role:"alert",className:"min-w-0 flex-1 break-words text-destructive",children:e.projectError}),(0,N.jsx)(ae.$,{type:"button",variant:"outline",size:"sm",onClick:e.retryProject,disabled:e.projectLoading||e.projectRefreshing,children:d("retry",{ns:"common"})})]}):null,null!==e.loadedCwd?(0,N.jsxs)("fieldset",{disabled:n,className:"min-w-0 space-y-6",children:[(0,N.jsxs)("div",{className:"space-y-1",children:[(0,N.jsx)("p",{className:"text-sm font-medium",children:d("projectDefaultSource")}),(0,N.jsx)(qb,{label:d("projectDefaultSource"),value:e.fixed?"fixed":"global",layout:"segmented",disabled:n,options:[{value:"global",label:d("projectFollowGlobal")},{value:"fixed",label:d("projectFixed")}],onChange:a=>e.changeFixed("fixed"===a)})]}),e.fixed?(0,N.jsxs)("div",{className:"space-y-3",children:[(0,N.jsx)(tE,{label:d("projectDefaultModel"),children:(0,N.jsx)(p0.b,{value:e.selection?up(e.selection.provider,e.selection.modelId):"",options:m,ariaLabel:d("projectDefaultModel"),searchPlaceholder:d("modelSearch"),disabled:n||0===e.models.length,onChange:function(a){let b=e.models.find(b=>up(b.provider,b.modelId)===a);b&&e.selectModel(b)}})}),(0,N.jsx)(tE,{label:d("thinkingLevel"),children:(0,N.jsx)(tG,{value:e.selection?.thinkingLevel??"",options:(j?.thinkingLevels??[]).map(a=>({value:a,label:d(uo[a])})),ariaLabel:d("projectDefaultThinking"),allowEmpty:!1,onChange:e.selectThinking})}),k.length>0?(0,N.jsxs)("div",{children:[(0,N.jsx)("p",{className:"text-sm font-medium",children:d("fromPreset")}),(0,N.jsx)("div",{className:"mt-2 flex flex-wrap gap-2",children:k.map((a,b)=>{let c=e.models.find(b=>b.provider===a.provider&&b.modelId===a.modelId);return(0,N.jsxs)(ae.$,{type:"button",variant:"outline",size:"xs",disabled:n,className:"h-auto min-h-7 max-w-full whitespace-normal text-left",onClick:()=>e.applyPreset(a),children:[(0,N.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-current",style:a.color?{color:a.color}:void 0}),(0,N.jsxs)("span",{className:"min-w-0 break-all",children:[c?.name||a.modelId," \xb7"," ",d(uo[a.thinkingLevel])]})]},`${a.provider}/${a.modelId}/${a.thinkingLevel}/${b}`)})})]}):null]}):null]}):null]})}),(0,N.jsx)("div",{className:"shrink-0 border-t px-4 py-3 @[48rem]/project-default:px-6",children:(0,N.jsxs)(ae.$,{type:"button",onClick:e.save,disabled:!e.projectReady||n||e.fixed&&!e.selection,children:[e.saving?(0,N.jsx)(ab.A,{"aria-hidden":"true",className:"animate-spin"}):(0,N.jsx)(bT,{"aria-hidden":"true"}),e.saving?d("savingModels"):d("saveProjectDefault")]})})]}):(0,N.jsxs)("div",{className:"flex items-center gap-2 p-6 text-sm text-muted-foreground",children:[(0,N.jsx)(cp.A,{"aria-hidden":"true",className:"size-6 shrink-0"}),d("selectProjectToConfigure")]})})]}),e.dialog]})}let us=[{value:"providers",label:"modelProviders"},{value:"presets",label:"modelPresets"},{value:"project-default",label:"projectDefault"}];function ut({loading:a,error:b,onRetry:c}){let{t:d}=(0,aa.Bd)("settings");return(0,N.jsx)("div",{className:"flex min-h-72 flex-col items-center justify-center gap-3 p-5 text-sm text-muted-foreground",children:a?(0,N.jsxs)("span",{className:"flex items-center gap-2",children:[(0,N.jsx)(ab.A,{className:"size-4 animate-spin"})," ",d("loadingModels")]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("p",{role:"alert",className:"rounded-lg bg-destructive/10 px-3 py-2 text-destructive",children:b??d("modelsUnavailable")}),(0,N.jsx)(ae.$,{type:"button",variant:"outline",size:"sm",onClick:c,children:d("retry",{ns:"common"})})]})})}function uu({onBeforeLeaveChange:a,connectionReady:b=!1,initialTab:c}){let{t:d}=(0,aa.Bd)("settings"),{locale:e,timeZone:f}=(0,cF.i)(),[g,h]=(0,O.useState)(!1),{biz:i,tab:j,settings:k,providers:l,presets:m,accountModels:n,changeAccountModels:o,refreshAccounts:p,resetVersion:q,formDirty:r,formInvalid:s,serviceDirty:t,nativeOpen:u,nativeText:v,nativeError:w,nativeDirty:x,setNativeText:y,openNative:z,closeNative:A,saveNative:B,revertConfig:C,setInputState:D,setServiceDirty:E,loading:F,saving:G,refreshing:H,catalogUpdatedAt:I,loadError:J,dialog:K,setProjectDefaultDirty:L,changeProviders:M,changePresets:P,selectTab:Q,retry:R,refreshCatalog:S,saveConfig:T}=function(a){let{t:b}=(0,aa.Bd)("settings"),{clientId:c}=(0,bZ.gM)(),d=(0,bS.G)(),{confirm:e,dialog:f}=pW(),g=(0,O.useMemo)(()=>{let a;return a=null,{parseNativeConfig(a){let b=JSON.parse(a);return qT.parse(b)},getSettings:()=>(a||(a=b3(c,"/api/model-settings/get",{},q3).finally(()=>{a=null})),a),async replaceSettings(a){let b=q5.safeParse(a);if(!b.success){let a=b.error.issues[0]?.path.at(-1);if("modelId"===a)throw Error("请填写模型 ID 后再保存配置。");if("provider"===a)throw Error("请填写 Provider ID 后再保存配置。");throw Error("模型配置不完整或格式不正确,请检查必填字段和数值。")}await b3(c,"/api/model-settings/replace",b.data,q6)},listCatalog:a=>b3(c,"/api/model-catalog/list",q7.parse(a),rb),async listDirectories(){let a=await b3(c,"/api/pi/directories/list",{forceRefresh:!1},rg);return rt(a),a},async getProjectDefault(a){let b=await b3(c,"/api/project-model-default/get",{cwd:a},rc);return rx(b),b},async replaceProjectDefault(a){await b3(c,"/api/project-model-default/replace",rd.parse(a),re)}}},[c]),[h,i]=(0,O.useState)(()=>a??"providers"),[j,k]=(0,O.useState)(null),[l,m]=(0,O.useState)([]),[n,o]=(0,O.useState)([]),[p,q]=(0,O.useState)([]),[r,s]=(0,O.useState)(!1),[t,u]=(0,O.useState)(!1),[v,w]=(0,O.useState)(!1),[x,y]=(0,O.useState)(!1),[z,A]=(0,O.useState)(!0),[B,C]=(0,O.useState)(!1),[D,E]=(0,O.useState)(!1),[F,G]=(0,O.useState)(null),[H,I]=(0,O.useState)(null),[J,K]=(0,O.useState)(0),[L,M]=(0,O.useState)(0),[N,P]=(0,O.useState)({dirty:!1,invalid:!1}),[Q,R]=(0,O.useState)(!1),[S,T]=(0,O.useState)(!1),[U,V]=(0,O.useState)(""),[W,X]=(0,O.useState)(null),Y=(0,O.useRef)(!1),Z=j?JSON.stringify(j.nativeConfig,null,2):"",$=S&&U!==Z,_=t||v||r||N.dirty,ab=(0,O.useCallback)(a=>{k(a),m(structuredClone(a.providers)),o(structuredClone(a.presets)),q(structuredClone(a.accountModels)),s(!1),u(!1),w(!1),P({dirty:!1,invalid:!1}),M(a=>a+1)},[]);async function ac(){E(!0);try{let a=await g.listCatalog({query:"",refresh:!0,page:{index:1,size:1}});G(a.updatedAt),await ae(),d.success("cached"===a.refreshResult?b("catalogCached"):"partial"===a.refreshResult?b("catalogPartial"):"unchanged"===a.refreshResult?b("catalogUnchanged"):b("catalogUpdated"))}catch(a){d.error(a instanceof Error?a.message:b("catalogRefreshFailed"))}finally{E(!1)}}async function ad(){if(!Y.current&&!N.invalid&&!Q&&!S){if(!j||!_)return void d.success(b("modelsNoChanges"));Y.current=!0,C(!0);try{let a=new Set([...l.flatMap(a=>a.models.map(b=>`${a.provider}\u0000${b.modelId}`)),...p.map(a=>`${a.provider}\u0000${a.modelId}`)]),c=new Set([...j.providers.flatMap(a=>a.models.map(b=>`${a.provider}\u0000${b.modelId}`)),...j.accountModels.map(a=>`${a.provider}\u0000${a.modelId}`)]),f=n.filter(b=>{let d=`${b.provider}\u0000${b.modelId}`;return!c.has(d)||a.has(d)}),h=n.length-f.length;if(h>0&&!await e({title:b("removeInvalidPresetsTitle"),description:b("removeInvalidPresets",{count:h}),confirmLabel:b("removeAndSave")}))return;let i={...t||N.dirty?{providers:l}:{},...r?{accountModels:p}:{},...v||h>0?{presets:f}:{}};await g.replaceSettings(i),ab(await g.getSettings()),u(!1),w(!1),d.success(b("modelSaved"))}catch(a){d.error(a instanceof Error?a.message:b("modelSaveFailed"))}finally{Y.current=!1,C(!1)}}}async function ae(){let a=await g.getSettings();return k(b=>b?{...b,accounts:a.accounts,models:a.models,nativeConfig:a.nativeConfig}:a),a}async function af(){!j||Y.current||Q||await e({title:b("discardModelTitle"),description:b("discardModelDescription"),confirmLabel:b("discardModelConfirm")})&&ab(j)}async function ag(){Y.current||(!$||await e({title:b("discardNativeTitle"),description:b("discardNativeDescription"),confirmLabel:b("discardModelConfirm")}))&&T(!1)}async function ah(){if(!Y.current&&S&&$){Y.current=!0,C(!0),X(null);try{let a=g.parseNativeConfig(U);await g.replaceSettings({nativeConfig:a}),ab(await g.getSettings()),T(!1),d.success(b("modelSaved"))}catch(c){let a=c instanceof Error?c.message:b("modelSaveFailed");console.warn("[Pi Desk][ModelSettings] 保存 Pi 配置失败",{message:a}),X(a)}finally{Y.current=!1,C(!1)}}}return{biz:g,tab:h,settings:j,providers:l,presets:n,accountModels:p,changeAccountModels:a=>{q(a),s(JSON.stringify(a)!==JSON.stringify(j?.accountModels))},refreshAccounts:ae,providersDirty:t,presetsDirty:v,loading:z,saving:B,refreshing:D,catalogUpdatedAt:F,loadError:H,resetVersion:L,formDirty:_,formInvalid:N.invalid,serviceDirty:Q,nativeOpen:S,nativeText:U,nativeError:W,nativeDirty:$,setNativeText:V,openNative:function(){if(j&&!Y.current){if(_||Q||x)return void d.error(b("nativeProtectDraft"));V(Z),X(null),T(!0)}},closeNative:ag,saveNative:ah,revertConfig:af,setInputState:P,setServiceDirty:R,dialog:f,setProjectDefaultDirty:y,changeProviders:a=>{m(a),u(JSON.stringify(a)!==JSON.stringify(j?.providers))},changePresets:a=>{o(a),w(JSON.stringify(a)!==JSON.stringify(j?.presets))},selectTab:a=>{if(a!==h&&!Y.current){if("project-default"===h&&x)return void e({title:b("discardModelTitle"),description:b("discardModelDescription"),confirmLabel:b("discardModelConfirm")}).then(b=>{b&&(y(!1),i(a))});i(a)}},retry:()=>K(a=>a+1),refreshCatalog:ac,saveConfig:ad}}(c);return(0,N.jsxs)("div",{className:"@container/model-settings flex h-full min-h-0 flex-col",children:[(0,N.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-2 border-b p-4",children:[(0,N.jsx)(qb,{label:d("models"),layout:"segmented",value:j,options:us.map(a=>({...a,label:d(a.label)})),onChange:Q}),(0,N.jsxs)("div",{className:"hidden gap-2 @[40rem]/model-settings:flex",children:[(0,N.jsxs)(ae.$,{type:"button",variant:"ghost",size:"sm",disabled:!k||G,onClick:z,children:[(0,N.jsx)(qK,{}),d("nativeConfig")]}),(0,N.jsxs)(ae.$,{type:"button",variant:"outline",size:"sm",title:I?d("catalogUpdatedAt",{time:new Date(I).toLocaleString("en"===e?"en-US":"zh-CN",{timeZone:f,timeZoneName:"shortOffset",hourCycle:"h23"})}):d("catalogUnavailable"),onClick:S,disabled:H,children:[(0,N.jsx)(bW.A,{className:(0,ag.cn)(H&&"animate-spin")}),H?d("refreshingCatalog"):d("refreshCatalog")]})]}),(0,N.jsxs)(cG.AM,{open:g,onOpenChange:h,children:[(0,N.jsx)(cG.Wv,{render:(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"icon-sm","aria-label":d("modelMoreActions"),className:"shrink-0 @[40rem]/model-settings:hidden",children:(0,N.jsx)(az,{})})}),(0,N.jsxs)(cG.hl,{align:"end",positionerClassName:"z-[120]",className:"w-48 gap-1 p-1",children:[(0,N.jsxs)(ae.$,{type:"button",variant:"ghost",className:"justify-start",disabled:!k||G,onClick:()=>{h(!1),z()},children:[(0,N.jsx)(qK,{}),d("nativeConfig")]}),(0,N.jsxs)(ae.$,{type:"button",variant:"ghost",className:"justify-start",disabled:H,onClick:()=>{h(!1),S()},children:[(0,N.jsx)(bW.A,{}),d("refreshCatalog")]})]})]})]}),(0,N.jsxs)("div",{className:(0,ag.cn)("pi-desk-chat-scrollbar min-h-0 flex-1","presets"===j?"overflow-y-auto":"overflow-hidden"),children:["project-default"===j?(0,N.jsx)(ur,{biz:i,presets:k?.presets??[],onDirtyChange:L}):k?null:(0,N.jsx)(ut,{loading:F,error:J,onRetry:R}),k?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("fieldset",{disabled:G,className:(0,ag.cn)("h-full min-h-0 min-w-0","providers"!==j&&"hidden"),children:(0,N.jsx)(un,{biz:i,connectionReady:b,providers:l,accounts:k.accounts,accountModels:n,onAccountModelsChange:o,onRefreshAccounts:p,savedProviders:k.providers,savedModels:k.models,presets:m,resetVersion:q,onChange:M,onPresetsChange:P,onInputState:D,onServiceDirtyChange:E})}),(0,N.jsx)("fieldset",{disabled:G,className:(0,ag.cn)("min-w-0","presets"!==j&&"hidden"),children:(0,N.jsx)(tO,{presets:m,models:k.models,onChange:P})})]}):null]}),"project-default"!==j&&k?(0,N.jsxs)("footer",{className:"flex shrink-0 flex-wrap items-center justify-between gap-2 border-t bg-card px-4 py-3",children:[(0,N.jsx)("span",{className:(0,ag.cn)("text-xs text-muted-foreground",s&&"text-destructive"),role:"status",children:s?d("fixModelInputs"):r?d("modelDraftPending"):d("modelDraftClean")}),(0,N.jsxs)("div",{className:"flex gap-2",children:[(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"sm",disabled:G||!r||t,onClick:C,children:d("revertModels")}),(0,N.jsxs)(ae.$,{type:"button",size:"sm",onClick:T,disabled:G||!r||s||t,children:[G?(0,N.jsx)(ab.A,{className:"animate-spin"}):(0,N.jsx)(bT,{}),G?d("savingModels"):d("saveModels")]})]})]}):null,(0,N.jsx)(ry,{open:u,text:v,error:w,saving:G,dirty:x,onChange:y,onClose:A,onSave:B}),K]})}function uv({render:a,input:b}){return a(b)}let uw=[{id:"appearance",label:"appearance",icon:o$},{id:"region",label:"region",icon:o_.A},{id:"habits",label:"habits",icon:o0},{id:"models",label:"models",icon:cq},{id:"mcp-settings",label:"mcpSettings",icon:ci},{id:"capability-modes",label:"capabilityModes",icon:b6.A},{id:"skills",label:"skills",icon:o1.A},{id:"plugins",label:"plugins",icon:ci},{id:"auth",label:"loginProtection",icon:bX},{id:"about",label:"about",icon:o2.A}];function ux(a,b){return`plugin:${a}:${b}`}function uy(){let{t:a}=(0,aa.Bd)("settings"),b=(0,cF.i)();return(0,N.jsxs)("section",{"aria-labelledby":"settings-about-title",className:"min-w-0 space-y-6",children:[(0,N.jsx)("h2",{id:"settings-about-title",className:"text-xl font-semibold",children:a("about")}),(0,N.jsxs)("div",{className:"flex items-center gap-3 rounded-xl bg-muted p-4",children:[(0,N.jsx)(o5.V,{size:48,className:"shrink-0"}),(0,N.jsxs)("div",{children:[(0,N.jsx)("p",{className:"text-sm font-semibold",children:"Pi Desk"}),(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:a("webDescription")})]})]}),(0,N.jsxs)("dl",{className:"divide-y border-y text-sm",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 py-3",children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:a("version")}),(0,N.jsxs)("dd",{className:"font-mono",children:["v",o3]})]}),(0,N.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 py-3",children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:a("versionUpdated")}),(0,N.jsx)("dd",{className:"tabular-nums",children:function(a,b,c,d){if(!a)return d;let e=new Date(a);return Number.isNaN(e.getTime())?d:new Intl.DateTimeFormat(b,{timeZone:c,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).format(e)}(o4,"en"===b.locale?"en-US":"zh-CN",b.timeZone,a("common:unavailable"))})]})]})]})}function uz({open:a,connectionReady:b=!1,initialModelTab:c,workSessions:d,focusedCwd:e,pluginAttention:f,renderPluginManagement:g,renderMcpSettings:h,renderCapabilityModesSettings:i,renderPluginSettingsPage:j,onOpenChange:k,onBeforeReload:l}){let{t:m}=(0,aa.Bd)("settings"),n=(0,bR.So)(),o=(0,O.useMemo)(()=>{let a=new Map;for(let{cwd:b,projectName:c}of d){let d=b.replaceAll("\\","/").replace(/\/+$/,""),e=/^[a-zA-Z]:\//.test(d)||d.startsWith("//")?d.toLowerCase():d;a.has(e)||a.set(e,{cwd:b,projectName:c})}return[...a.values()]},[d]),p=(0,O.useMemo)(()=>n.flatMap(a=>a.contributions.flatMap(b=>"settings-page"===b.kind?[{pluginName:a.pluginName,descriptor:b}]:[])),[n]),[q,r]=(0,O.useState)(()=>c?"models":"appearance"),[s,t]=(0,O.useState)(!1),[u,v]=(0,O.useState)(!1),w=(0,O.useRef)(null),x=(0,O.useRef)(!1),y=p.find(a=>ux(a.pluginName,a.descriptor.contributionName)===q),z=q.startsWith("plugin:")&&!y?"appearance":q,A=uw.find(a=>a.id===z),B=A?.icon,C=(0,O.useCallback)(async a=>{if(!x.current){x.current=!0,v(!0);try{let b=w.current;if(b&&!await b())return;w.current=null,a()}finally{x.current=!1,v(!1)}}},[]),D=(0,O.useCallback)(()=>{C(()=>k(!1))},[k,C]),E=(0,O.useCallback)(a=>{w.current=a},[]),F=a=>{a!==z&&C(()=>r(a))};return(0,N.jsx)(cf.YV,{open:a,onOpenChange:(a,b)=>{a?k(!0):"focus-out"!==b.reason&&D()},children:(0,N.jsxs)(cf.hA,{className:"h-[min(48rem,calc(100dvh-2rem))] max-w-6xl max-sm:h-dvh max-sm:max-h-dvh max-sm:w-dvw max-sm:max-w-none max-sm:rounded-none max-sm:border-0",finalFocus:!1,showCloseButton:!u,children:[(0,N.jsx)(cf.Hl,{className:"border-b px-4 py-3 pr-12",children:(0,N.jsx)(cf.YM,{children:m("title")})}),(0,N.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col sm:flex-row",children:[(0,N.jsx)("div",{className:"shrink-0 border-b bg-sidebar p-3 sm:hidden",children:(0,N.jsxs)(b$.l6,{value:z,disabled:u,onValueChange:a=>{if("string"!=typeof a)return;let b=uw.find(b=>b.id===a);if(b)return void F(b.id);let c=p.find(b=>ux(b.pluginName,b.descriptor.contributionName)===a);c&&F(ux(c.pluginName,c.descriptor.contributionName))},children:[(0,N.jsx)(b$.bq,{"aria-label":m("category"),className:"w-full",children:(0,N.jsx)(b$.yv,{children:y?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(cw,{icon:y.descriptor.icon,className:"size-4 shrink-0"}),(0,N.jsx)("span",{className:"truncate",children:y.descriptor.label})]}):A&&B?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(B,{className:"size-4 shrink-0"}),(0,N.jsx)("span",{className:"truncate",children:m(A.label)})]}):null})}),(0,N.jsxs)(b$.gC,{positionerClassName:"z-[120]",align:"start",children:[uw.map(a=>{let b=a.icon;return(0,N.jsxs)(b$.eb,{value:a.id,children:[(0,N.jsxs)("span",{className:"relative shrink-0",children:[(0,N.jsx)(b,{className:"size-4"}),"plugins"===a.id&&f?(0,N.jsx)("span",{"aria-hidden":"true",className:(0,ag.cn)("absolute -right-1 -top-1 size-1.5 rounded-full","error"===f?"bg-destructive":"bg-primary")}):null]}),(0,N.jsx)("span",{children:m(a.label)})]},a.id)}),p.length>0?(0,N.jsxs)(b$.s3,{children:[(0,N.jsx)(b$.TR,{children:m("pluginSettings")}),p.map(a=>{let b=ux(a.pluginName,a.descriptor.contributionName);return(0,N.jsxs)(b$.eb,{value:b,children:[(0,N.jsx)(cw,{icon:a.descriptor.icon,className:"size-4 shrink-0"}),(0,N.jsx)("span",{children:a.descriptor.label})]},b)})]}):null]})]})}),(0,N.jsxs)("nav",{"aria-label":m("category"),className:"pi-desk-chat-scrollbar hidden w-48 shrink-0 space-y-4 overflow-auto border-r bg-sidebar p-3 sm:block",children:[(0,N.jsx)("div",{className:"grid grid-cols-1 gap-1",children:uw.map(a=>{let b=a.icon,c=a.id===z;return(0,N.jsxs)(ae.$,{variant:"ghost",disabled:u,"aria-current":c?"page":void 0,"aria-label":`${m("category")}:${m(a.label)}`,onClick:()=>F(a.id),className:(0,ag.cn)("min-w-0 justify-start",c?"bg-accent text-accent-foreground hover:bg-accent":"text-muted-foreground"),children:[(0,N.jsxs)("span",{className:"relative shrink-0",children:[(0,N.jsx)(b,{className:"size-4"}),"plugins"===a.id&&f?(0,N.jsx)("span",{"aria-hidden":"true",className:(0,ag.cn)("absolute -right-1 -top-1 size-1.5 rounded-full","error"===f?"bg-destructive":"bg-primary")}):null]}),(0,N.jsx)("span",{className:"truncate",children:m(a.label)})]},a.id)})}),p.length>0?(0,N.jsxs)(cz.Nt,{open:s||!!y,onOpenChange:t,className:"mt-2 border-t pt-2",children:[(0,N.jsxs)(cz.R6,{type:"button","aria-label":m("pluginSettings"),className:"flex min-h-8 w-full cursor-pointer items-center gap-2 rounded-lg px-2 py-1 text-sm font-medium text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",children:[(0,N.jsx)("span",{className:"min-w-0 flex-1 text-left",children:m("pluginSettings")}),(0,N.jsx)("span",{className:"tabular-nums",children:p.length}),(0,N.jsx)(cy.A,{className:(0,ag.cn)("size-3.5 transition-transform",s||y?"rotate-180":null)})]}),(0,N.jsx)(cz.Ke,{children:(0,N.jsx)("div",{className:"mt-1 grid grid-cols-1 gap-1",children:p.map(a=>{let b=ux(a.pluginName,a.descriptor.contributionName),c=b===z;return(0,N.jsxs)(ae.$,{variant:"ghost",disabled:u,"aria-current":c?"page":void 0,onClick:()=>F(b),className:(0,ag.cn)("min-w-0 justify-start",c?"bg-accent text-accent-foreground hover:bg-accent":"text-muted-foreground"),children:[(0,N.jsx)(cw,{icon:a.descriptor.icon,className:"size-4 shrink-0"}),(0,N.jsx)("span",{className:"truncate",children:a.descriptor.label})]},b)})})})]}):null]}),y?(0,N.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:(0,N.jsx)(uv,{render:j,input:{pluginName:y.pluginName,descriptor:y.descriptor,onClose:D,onBeforeLeaveChange:E}})}):"skills"===z?(0,N.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:a&&(0,N.jsx)(pS,{projects:o,focusedCwd:e,onBeforeLeaveChange:E})}):"mcp-settings"===z?(0,N.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:a&&(0,N.jsx)(uv,{render:h,input:{onBeforeLeaveChange:E}})}):"capability-modes"===z?(0,N.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:a&&(0,N.jsx)(uv,{render:i,input:{onBeforeLeaveChange:E}})}):"models"===z?(0,N.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:a&&(0,N.jsx)(uu,{connectionReady:b,initialTab:c,onBeforeLeaveChange:E})}):"plugins"===z?(0,N.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:g()}):(0,N.jsx)(cf._Y,{className:"min-w-0 max-h-none",children:(0,N.jsx)("div",{className:"p-4 sm:p-6",children:"appearance"===z?(0,N.jsx)(qu,{}):"habits"===z?(0,N.jsx)(qJ,{}):"auth"===z?a&&(0,N.jsx)(p_,{}):"region"===z?(0,N.jsx)(p6,{canLeave:l}):(0,N.jsx)(uy,{})})})]})]})})}let uA=Q.Ik({cwd:Q.Yj().trim().min(1).nullable()}).strict(),uB=Q.g1(Q.Yj(),Q.Pq()),uC=Q.g1(Q.Yj().min(1).max(128),uB),uD=Q.Ik({local:uC,inherited:uC,projectTrusted:Q.zM().nullable(),diagnostics:Q.YO(Q.Ik({name:Q.Yj().nullable(),message:Q.Yj()}).strict())}).strict();uA.extend({servers:uC}).strict(),uA.extend({name:Q.Yj().min(1).max(128)}).strict();let uE=Q.Ik({output:Q.Yj()}).strict(),uF=Q.Ik({}).strict(),uG=["command","args","url","type","description","enabled","exposure"];function uH(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&Object.values(a).every(a=>"string"==typeof a)}function uI(a){return uH(a)?Object.entries(a).map(([a,b])=>({key:a,value:b})):[]}function uJ(a){return!("command"in a)&&!("url"in a)&&!("type"in a)}function uK(a,b){let c=b??{};return{originalName:a,name:a??"",transport:b&&uJ(b)?"inherit":"url"in c?"http":"stdio",command:"string"==typeof c.command?c.command:"",args:Array.isArray(c.args)?c.args.join("\n"):"",env:uI(c.env),headers:uI(c.headers),url:"string"==typeof c.url?c.url:"",description:"string"==typeof c.description?c.description:"",enabled:!1!==c.enabled,exposure:"string"==typeof c.exposure?c.exposure:"",advanced:JSON.stringify(Object.fromEntries(Object.entries(c).filter(([a,b])=>!uG.includes(a)&&!(["env","headers"].includes(a)&&uH(b)))),null,2)}}class uL extends Error{constructor(a,b){super(b),this.field=a}}function uM(a){return"string"==typeof a.url?a.url:"string"==typeof a.command?a.command:"继承全局连接"}let uN={MCP:"MCP",服务列表:"Servers",配置服务:"Configure server",服务配置:"Server configuration",手动配置:"Configure manually","导入 JSON":"Import JSON",返回服务列表:"Back to servers",服务操作:"Server actions",恢复全局配置:"Restore global configuration",删除服务:"Delete server",继承全局:"Inherited from global",项目配置:"Project configuration","项目配置 \xb7 继承全局连接":"Project configuration \xb7 inherits global connection","连接参数沿用全局,仅保存本项目的启用和工具设置。":"Connection settings are inherited from global. Only enablement and tool settings are saved for this project.",环境变量:"Environment variables",请求头:"Request headers",名称:"Name",值:"Value",添加:"Add ",删除行:"Remove row",高级设置:"Advanced settings","其他配置(JSON)":"Other configuration (JSON)",保存并测试:"Save and test",连接测试结果:"Connection test result","正在测试连接…":"Testing connection…","已保存,正在测试连接…":"Saved. Testing connection…",连接测试通过:"Connection test passed",连接测试失败:"Connection test failed",查看详细输出:"View output","已保存,连接测试通过。":"Saved. Connection test passed.","已保存,连接测试失败。":"Saved. Connection test failed.","请填写名称,或删除空白行。":"Enter a name or remove the empty row.","名称不能重复。":"Names must be unique.","环境变量和请求头不能在表单与 JSON 中重复配置。":"Do not configure environment variables or request headers in both the form and JSON.","连接请求最多等待 10 秒;凭据命令可能延长检查时间。":"Connection requests wait up to 10 seconds; credential commands may extend the check.",配置范围:"Configuration scope",全局:"Global",当前项目:"Current project",手动添加:"Add manually","添加 JSON":"Add JSON","正在读取配置…":"Loading configuration…",重试:"Retry","添加第一个 MCP 服务":"Add your first MCP server","添加服务地址或本地程序。":"Add a server URL or a local program.",已启用:"Enabled",已停用:"Disabled",启用:"Enable",停用:"Disable",编辑:"Edit",为本项目配置:"Configure for this project",独立检查:"Check independently",删除:"Delete",来自全局:"Inherited from global",本项目:"This project",覆盖全局:"Overrides global","项目设置 \xb7 继承全局连接":"Project settings \xb7 inherits global connection",继承全局连接:"Inherit global connection","本项目尚未受信任,不能执行检查;仍可编辑和保存配置。":"This project is not trusted. Checking is disabled; editing and saving remain available.","配置启用不代表已连接。保存不会自动连接或重载会话。":"Enabled configuration does not mean connected. Saving does not connect or reload sessions.","正在检查…":"Checking…",检查输出:"Check output",检查完成:"Check completed",检查失败:"Check failed","检查连接已关闭,当前聊天会话状态未改变。":"The check connection is closed. Current chat session state is unchanged.",返回编辑:"Edit configuration",关闭结果:"Dismiss result",返回:"Back",添加服务:"Add server",编辑服务:"Edit server",保存范围:"Save scope",服务名称:"Server name",连接方式:"Transport",本地程序:"Local program","HTTP 地址":"HTTP URL",启动程序:"Command","参数(每行一个)":"Arguments (one per line)","服务说明(可选)":"Description (optional)",工具使用方式:"Tool exposure",沿用默认:"Use default",通过脚本调用:"Via scripts",按需发现:"On-demand discovery",直接使用:"Direct use",隐藏:"Hidden","高级配置(JSON)":"Advanced configuration (JSON)","继承全局连接,仅保存本项目启用与曝光设置,不复制全局凭据。":"Inherits the global connection. Only project enablement and exposure settings are saved; global credentials are not copied.","本项目的完整定义会整体替换同名全局配置。":"A complete project definition replaces the global configuration of the same name.","配置 JSON":"Configuration JSON","仅接受包含 mcpServers 的标准 JSON。":"Only standard JSON with mcpServers is accepted.",解析预览:"Preview",待保存服务:"Servers to save",新增:"New",替换已有配置:"Replace existing configuration","覆盖全局(仅本项目)":"Override global (this project only)",允许替换以上同名已有配置:"Allow replacing existing configuration with the same names","重新编辑 JSON":"Edit JSON again",取消:"Cancel",保存:"Save","保存中…":"Saving…","已保存。新会话使用新配置;已有会话需重载 Pi 配置。":"Saved. New sessions use the new configuration; existing sessions must reload Pi configuration.","放弃未保存的修改?":"Discard unsaved changes?","当前修改尚未保存。放弃后将保留已保存的配置。":"Your changes have not been saved. Discarding keeps the saved configuration.",放弃修改:"Discard changes",删除配置:"Delete configuration","删除本项目配置后,将恢复使用同名全局配置。":"Deleting this project configuration restores the global configuration of the same name.","此范围内的服务配置将被删除。":"The server configuration will be deleted from this scope.","请输入有效的 JSON。":"Enter valid JSON.","仅接受包含 mcpServers 的标准配置,不允许其他根级字段。":"Only a standard mcpServers object is accepted; other root fields are not allowed.","配置中至少需要一个服务。":"At least one server is required.","服务名称需要 1–128 个字符。":"Server names must contain 1–128 characters.","高级配置需要是 JSON 对象。":"Advanced configuration must be a JSON object.","连接、说明、启用和曝光字段请在上方表单中填写。":"Set connection, description, enablement and exposure in the fields above.","继承连接只允许启用、曝光和 toolExposure 设置。":"Inherited connections only allow enablement, exposure and toolExposure settings.","请输入启动程序。":"Enter a command.","请输入有效的 HTTP 或 HTTPS 地址。":"Enter a valid HTTP or HTTPS URL.","请明确勾选替换已有配置。":"Explicitly allow replacing existing configuration.","该名称已存在,请编辑已有服务或使用其他名称。":"This name already exists. Edit that server or choose another name.","请求失败,请重试。":"The request failed. Please retry."};function uO(){let{locale:a}=(0,cF.i)();return b=>"en"===a?uN[b]??b:b}function uP(a){return a instanceof Error?a.message:"请求失败,请重试。"}function uQ({id:a,label:b,value:c,options:d,disabled:e,onChange:f}){return(0,N.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,N.jsx)("label",{id:`${a}-label`,htmlFor:a,className:"text-sm font-medium",children:b}),(0,N.jsxs)(b$.l6,{value:c,disabled:e,onValueChange:a=>{"string"==typeof a&&f(a)},children:[(0,N.jsx)(b$.bq,{id:a,"aria-labelledby":`${a}-label`,className:"w-full min-w-0 whitespace-normal [&_[data-slot=select-value]]:line-clamp-none [&_[data-slot=select-value]]:break-all",children:(0,N.jsx)(b$.yv,{children:d.find(a=>a.value===c)?.label??c})}),(0,N.jsx)(b$.gC,{positionerClassName:"z-[125]",align:"start",children:d.map(a=>(0,N.jsx)(b$.eb,{value:a.value,className:"[&_span]:whitespace-normal [&_span]:break-all",children:a.label},a.value))})]})]})}function uR({trigger:a,children:b}){return(0,N.jsxs)(bC,{children:[(0,N.jsx)(bE,{render:a}),(0,N.jsx)(bD,{children:(0,N.jsx)(a9.y,{sideOffset:4,align:"end",className:"z-[125] outline-none",children:(0,N.jsx)(ba._,{className:bz.hD,children:b})})})]})}function uS({message:a,id:b}){let c=uO();return a?(0,N.jsx)("p",{id:b,role:"alert",className:"break-words text-sm text-destructive",children:c(a)}):null}function uT({rows:a,selectedName:b,pending:c,onSelect:d}){let e=uO();return(0,N.jsx)("ul",{"aria-label":e("服务列表"),className:"divide-y",children:a.map(a=>{let f="string"==typeof a.config.url?ct:ad;return(0,N.jsx)("li",{children:(0,N.jsxs)("button",{type:"button","aria-label":`${e("配置服务")} \xb7 ${a.name}`,"aria-current":b===a.name?"true":void 0,disabled:c,onClick:()=>d(a),className:(0,ag.cn)("flex w-full min-w-0 cursor-pointer items-center gap-3 p-4 text-left outline-none transition-colors hover:bg-accent focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring disabled:cursor-default",b===a.name&&"bg-accent"),children:[(0,N.jsx)(f,{"aria-hidden":"true",className:"size-4 shrink-0 text-muted-foreground"}),(0,N.jsxs)("span",{className:"min-w-0 flex-1 space-y-1",children:[(0,N.jsxs)("span",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[(0,N.jsx)("span",{className:"min-w-0 break-all text-sm font-medium",children:a.name}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:e(!1===a.config.enabled?"已停用":"已启用")})]}),(0,N.jsxs)("span",{className:"block text-xs text-muted-foreground",children:[e(a.source)," \xb7"," ",e("string"==typeof a.config.url?"HTTP 地址":"本地程序")]}),(0,N.jsx)("span",{className:"block truncate font-mono text-xs text-muted-foreground",children:uM(a.config)})]}),(0,N.jsx)(bA.A,{"aria-hidden":"true",className:"size-4 shrink-0 text-muted-foreground"})]})},a.name)})})}function uU({id:a,label:b,rows:c,disabled:d,error:e,onChange:f}){let g=uO();return(0,N.jsxs)("fieldset",{className:"min-w-0 space-y-2",disabled:d,children:[(0,N.jsx)("legend",{className:"text-sm font-medium",children:b}),c.length>0&&(0,N.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_minmax(0,1.5fr)_2rem] gap-2 text-xs text-muted-foreground","aria-hidden":"true",children:[(0,N.jsx)("span",{children:g("名称")}),(0,N.jsx)("span",{children:g("值")})]}),c.map((h,i)=>(0,N.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_minmax(0,1.5fr)_2rem] gap-2",children:[(0,N.jsx)(b4.p,{"aria-label":`${b} \xb7 ${g("名称")} ${i+1}`,"aria-invalid":!!e,"aria-describedby":e?`${a}-error`:void 0,value:h.key,spellCheck:!1,className:"min-w-0 font-mono",onChange:a=>f(c.map((b,c)=>c===i?{...b,key:a.target.value}:b))}),(0,N.jsx)(b4.p,{"aria-label":`${b} \xb7 ${g("值")} ${i+1}`,value:h.value,spellCheck:!1,autoComplete:"off",className:"min-w-0 font-mono",onChange:a=>f(c.map((b,c)=>c===i?{...b,value:a.target.value}:b))}),(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"icon","aria-label":`${g("删除行")} \xb7 ${b} ${i+1}`,disabled:d,onClick:()=>f(c.filter((a,b)=>b!==i)),children:(0,N.jsx)(bV,{"aria-hidden":"true"})})]},i)),(0,N.jsx)(uS,{id:`${a}-error`,message:e}),(0,N.jsxs)(ae.$,{type:"button",variant:"outline",size:"sm",disabled:d,onClick:()=>f([...c,{key:"",value:""}]),children:[(0,N.jsx)(ay,{"aria-hidden":"true"}),g("添加"),b]})]})}var uV=c(69391);function uW({check:a,onRetry:b,onDismiss:c}){let d=uO(),e=a.loading?ab.A:a.error?aw.A:uV.A;return(0,N.jsxs)("section",{"aria-label":d("连接测试结果"),"aria-busy":a.loading,className:"space-y-2 border-b pb-4",children:[(0,N.jsxs)("p",{role:"status",className:"flex items-center gap-2 text-sm font-medium",children:[(0,N.jsx)(e,{"aria-hidden":"true",className:`size-4 shrink-0 ${a.loading?"motion-safe:animate-spin":a.error?"text-destructive":""}`}),d(a.loading?"已保存,正在测试连接…":a.error?"已保存,连接测试失败。":"已保存,连接测试通过。")]}),(0,N.jsx)(uS,{message:a.error}),a.loading?(0,N.jsx)("p",{className:"text-xs text-muted-foreground",children:d("连接请求最多等待 10 秒;凭据命令可能延长检查时间。")}):(0,N.jsxs)(N.Fragment,{children:[a.output&&(0,N.jsxs)("details",{className:"text-sm",children:[(0,N.jsx)("summary",{className:"w-fit cursor-pointer rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ring",children:d("查看详细输出")}),(0,N.jsx)("pre",{className:"mt-2 max-h-48 overflow-auto whitespace-pre-wrap break-all rounded-lg bg-muted p-3 font-mono text-sm",children:a.output})]}),(0,N.jsx)("p",{className:"text-xs text-muted-foreground",children:d("检查连接已关闭,当前聊天会话状态未改变。")}),(0,N.jsxs)("div",{className:"flex gap-2",children:[a.error&&(0,N.jsx)(ae.$,{type:"button",variant:"outline",size:"sm",onClick:b,children:d("重试")}),(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"sm",onClick:c,children:d("关闭结果")})]})]})]})}function uX({editor:a,scopeLabel:b,project:c,projectTrusted:d,check:e,local:f,inherited:g,pending:h,saving:i,error:j,onDraft:k,onJson:l,onPreview:m,onOverwrite:n,onSave:o,onCancel:p,onRemove:q,onDismissCheck:r}){let s=uO(),t=(0,O.useId)(),u=(0,O.useRef)(null),[v,w]=(0,O.useState)(!1),x=a=>`${t}-${a}`,y="manual"===a.kind?a.draft:null,z="json"===a.kind&&a.preview?Object.keys(a.preview).filter(a=>Object.hasOwn(f,a)):[],A="json"===a.kind?"导入 JSON":y?.originalName?"服务配置":"添加服务",B=y?.originalName,C=!!(B&&Object.hasOwn(f,B)),D=!!(c&&B&&Object.hasOwn(g,B)),E=(a,b,c)=>(0,N.jsxs)("div",{className:"space-y-1",children:[(0,N.jsx)("label",{htmlFor:x(a),className:"text-sm font-medium",children:s(b)}),c,(0,N.jsx)(uS,{id:x(`${a}-error`),message:j?.field===a?j.message:null})]}),F=(a,b)=>E(a,b,(0,N.jsx)(b4.p,{id:x(a),value:y?.[a]??"",disabled:h||"name"===a&&!!y?.originalName,"aria-invalid":j?.field===a,"aria-describedby":j?.field===a?x(`${a}-error`):void 0,onChange:b=>k({[a]:b.target.value})}));return(0,N.jsxs)("form",{ref:u,"aria-label":s(A),className:"flex min-h-0 min-w-0 flex-1 flex-col",onSubmit:a=>{a.preventDefault(),o()},children:[(0,N.jsxs)("div",{className:"shrink-0 space-y-1 border-b p-4 sm:px-6",children:[(0,N.jsxs)("div",{className:"flex items-center gap-2",children:[(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"icon","aria-label":s("返回服务列表"),disabled:h,onClick:p,children:(0,N.jsx)(aj.A,{"aria-hidden":"true"})}),(0,N.jsx)("h3",{className:"min-w-0 flex-1 text-sm font-semibold",children:s(A)}),C&&B&&(0,N.jsx)(uR,{trigger:(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"icon","aria-label":s("服务操作"),disabled:h,children:(0,N.jsx)(az,{"aria-hidden":"true"})}),children:(0,N.jsx)(bI,{variant:D?"default":"destructive",onClick:()=>q(B),children:s(D?"恢复全局配置":"删除服务")})})]}),c&&(0,N.jsxs)("p",{className:"break-all text-xs text-muted-foreground",children:[s("保存范围"),":",b]})]}),(0,N.jsxs)("div",{className:"pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto p-4 sm:p-6",children:[y?(0,N.jsxs)("div",{className:"max-w-[40rem] space-y-4",children:[e&&(0,N.jsx)(uW,{check:e,onRetry:()=>o(!0),onDismiss:r}),F("name","服务名称"),"inherit"===y.transport?(0,N.jsxs)("div",{className:"space-y-1",children:[(0,N.jsx)("p",{className:"text-sm font-medium",children:s("继承全局连接")}),B&&g[B]&&(0,N.jsx)("p",{className:"break-all font-mono text-sm text-muted-foreground",children:uM(g[B])}),(0,N.jsx)("p",{className:"text-xs text-muted-foreground",children:s("连接参数沿用全局,仅保存本项目的启用和工具设置。")})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(uQ,{id:x("transport"),label:s("连接方式"),value:y.transport,disabled:h,options:[{value:"stdio",label:s("本地程序")},{value:"http",label:s("HTTP 地址")}],onChange:a=>k({transport:"http"===a?"http":"stdio"})}),"stdio"===y.transport?(0,N.jsxs)(N.Fragment,{children:[F("command","启动程序"),E("args","参数(每行一个)",(0,N.jsx)(oo.T,{id:x("args"),className:"min-h-24 font-mono",value:y.args,disabled:h,onChange:a=>k({args:a.target.value})}))]}):F("url","HTTP 地址"),("stdio"===y.transport||j?.field==="env")&&(0,N.jsx)(uU,{id:x("env"),label:s("环境变量"),rows:y.env,disabled:h,error:j?.field==="env"?j.message:null,onChange:a=>k({env:a})}),("http"===y.transport||j?.field==="headers")&&(0,N.jsx)(uU,{id:x("headers"),label:s("请求头"),rows:y.headers,disabled:h,error:j?.field==="headers"?j.message:null,onChange:a=>k({headers:a})}),c&&(0,N.jsx)("p",{className:"text-xs text-muted-foreground",children:s("本项目的完整定义会整体替换同名全局配置。")})]}),(0,N.jsxs)("label",{className:"flex min-h-8 cursor-pointer items-center gap-2 text-sm",children:[(0,N.jsx)("input",{type:"checkbox",checked:y.enabled,disabled:h,onChange:a=>k({enabled:a.target.checked}),className:"size-4 shrink-0 accent-primary"}),s("已启用")]}),(0,N.jsxs)(cz.Nt,{open:v||j?.field==="advanced",onOpenChange:w,children:[(0,N.jsxs)(cz.R6,{type:"button",className:"group flex min-h-8 cursor-pointer items-center gap-2 rounded-lg px-2 text-sm font-medium outline-none hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring",children:[(0,N.jsx)(cy.A,{"aria-hidden":"true",className:"size-4 transition-transform group-data-panel-open:rotate-180"}),s("高级设置")]}),(0,N.jsxs)(cz.Ke,{className:"space-y-3 pt-3",children:["inherit"!==y.transport&&F("description","服务说明(可选)"),(0,N.jsx)(uQ,{id:x("exposure"),label:s("工具使用方式"),value:y.exposure,disabled:h,options:[{value:"",label:s("沿用默认")},{value:"codemode",label:s("通过脚本调用")},{value:"deferred",label:s("按需发现")},{value:"direct",label:s("直接使用")},{value:"hidden",label:s("隐藏")},...["","codemode","deferred","direct","hidden"].includes(y.exposure)?[]:[{value:y.exposure,label:y.exposure}]],onChange:a=>k({exposure:a})}),(0,N.jsx)("label",{htmlFor:x("advanced"),className:"block text-sm font-medium",children:s("其他配置(JSON)")}),(0,N.jsx)(oo.T,{id:x("advanced"),onFocus:()=>w(!0),value:y.advanced,disabled:h,className:"min-h-40 font-mono",spellCheck:!1,"aria-invalid":j?.field==="advanced","aria-describedby":j?.field==="advanced"?x("advanced-error"):void 0,onChange:a=>k({advanced:a.target.value})}),(0,N.jsx)(uS,{id:x("advanced-error"),message:j?.field==="advanced"?j.message:null})]})]})]}):"json"===a.kind?(0,N.jsxs)("div",{className:"space-y-3",children:[E("json","配置 JSON",(0,N.jsx)(oo.T,{id:x("json"),value:a.text,disabled:h,"aria-invalid":j?.field==="json","aria-describedby":j?.field==="json"?x("json-error"):void 0,spellCheck:!1,className:"min-h-48 font-mono",placeholder:'{ "mcpServers": { "docs": { "url": "https://example.com/mcp" } } }',onChange:a=>l(a.target.value)})),(0,N.jsx)("p",{className:"text-xs text-muted-foreground",children:s("仅接受包含 mcpServers 的标准 JSON。")}),(0,N.jsx)(ae.$,{type:"button",variant:"outline",onClick:m,disabled:h||!a.text.trim(),children:s("解析预览")}),a.preview&&(0,N.jsxs)("section",{"aria-label":s("待保存服务"),className:"space-y-3",children:[(0,N.jsx)("ul",{className:"divide-y border-y",children:Object.entries(a.preview).map(([a,b])=>(0,N.jsxs)("li",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1 py-2 text-sm",children:[(0,N.jsx)("span",{className:"min-w-0 break-all font-medium",children:a}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:s(uJ(b)?"继承全局连接":"url"in b?"HTTP 地址":"本地程序")}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:s(Object.hasOwn(f,a)?"替换已有配置":Object.hasOwn(g,a)?"覆盖全局(仅本项目)":"新增")}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:s(!1===b.enabled?"已停用":"已启用")})]},a))}),z.length>0&&(0,N.jsxs)("label",{className:"flex min-h-8 cursor-pointer items-start gap-2 text-sm",children:[(0,N.jsx)("input",{type:"checkbox",checked:a.overwrite,disabled:h,className:"mt-1 size-4 shrink-0 accent-primary",onChange:a=>n(a.target.checked)}),(0,N.jsx)("span",{children:s("允许替换以上同名已有配置")})]})]})]}):null,(0,N.jsx)("div",{className:"mt-3",children:(0,N.jsx)(uS,{message:j?.field==="save"?j.message:null})})]}),(0,N.jsxs)("footer",{className:"flex shrink-0 flex-wrap justify-end gap-2 border-t bg-background px-4 py-3 sm:px-6",children:[(0,N.jsx)(ae.$,{type:"button",variant:"outline",disabled:h,onClick:p,children:s("取消")}),y&&(0,N.jsx)(ae.$,{type:"button",variant:"outline",disabled:h||!y.enabled||!1===d,onClick:()=>o(!0),children:s("保存并测试")}),(0,N.jsx)(ae.$,{type:"submit",disabled:h||"json"===a.kind&&(!a.preview||z.length>0&&!a.overwrite),children:s(e?.loading?"正在测试连接…":i?"保存中…":"保存")})]})]})}function uY({pending:a,onAdd:b,onImport:c}){let d=uO();return(0,N.jsx)("div",{className:"pi-desk-chat-scrollbar min-h-0 min-w-0 flex-1 overflow-y-auto px-4 py-6",children:(0,N.jsx)("div",{className:"grid min-h-full grid-rows-[1fr_auto_2fr]",children:(0,N.jsxs)("div",{className:"row-start-2 flex flex-col items-center gap-6 text-center",children:[(0,N.jsxs)("div",{"aria-hidden":"true",className:"relative h-28 w-60 shrink-0 text-muted-foreground",children:[(0,N.jsxs)("svg",{viewBox:"0 0 240 112",fill:"none",className:"absolute inset-0 size-full text-muted-foreground/40",children:[(0,N.jsx)("path",{d:"M44 76H64Q76 76 76 64V60Q76 56 92 56M148 56H164Q180 56 180 44Q180 40 196 40M120 12V28",stroke:"currentColor"}),(0,N.jsx)("circle",{cx:"120",cy:"8",r:"3",className:"fill-background stroke-current"}),(0,N.jsx)("circle",{cx:"64",cy:"76",r:"2",className:"fill-muted-foreground"}),(0,N.jsx)("circle",{cx:"180",cy:"44",r:"2",className:"fill-muted-foreground"})]}),(0,N.jsx)("div",{className:"absolute top-14 left-1 flex size-10 items-center justify-center rounded-xl border bg-muted/50",children:(0,N.jsx)(ad,{className:"size-4"})}),(0,N.jsx)("div",{className:"absolute top-7 left-[92px] flex size-14 items-center justify-center rounded-xl border bg-background text-foreground",children:(0,N.jsx)(ci,{className:"size-6"})}),(0,N.jsx)("div",{className:"absolute top-5 right-1 flex size-10 items-center justify-center rounded-xl border bg-muted/50",children:(0,N.jsx)(ct,{className:"size-4"})})]}),(0,N.jsx)("h3",{className:"text-lg font-semibold",children:d("添加第一个 MCP 服务")}),(0,N.jsxs)("div",{className:"flex flex-wrap justify-center gap-2",children:[(0,N.jsxs)(ae.$,{disabled:a,onClick:b,children:[(0,N.jsx)(ay,{"aria-hidden":"true"}),d("添加服务")]}),(0,N.jsx)(ae.$,{variant:"outline",disabled:a,onClick:c,children:d("导入 JSON")})]})]})})})}function uZ({projects:a,focusedCwd:b,onBeforeLeaveChange:c}){let{clientId:d}=(0,bZ.gM)(),e=function(a){let b=uO(),c=(0,O.useMemo)(()=>({getMcp:(b,c)=>b3(a,"/api/mcp-settings/get",{cwd:b},uD,{signal:c}),replaceMcp:(b,c)=>b3(a,"/api/mcp-settings/replace",b,uF,{signal:c}),deleteMcp:(b,c,d)=>b3(a,"/api/mcp-settings/del",{cwd:b,name:c},uF,{signal:d}),checkMcp:(b,c,d)=>b3(a,"/api/mcp-check/get",{cwd:b,name:c},uE,{signal:d})}),[a]),{confirm:d,dialog:e}=pW(),[f,g]=(0,O.useState)(null),[h,i]=(0,O.useState)(null),j=h?.data??null,k=h?h.cwd:f,[l,m]=(0,O.useState)(null),[n,o]=(0,O.useState)(!0),[p,q]=(0,O.useState)(!1),[r,s]=(0,O.useState)(null),[t,u]=(0,O.useState)(null),[v,w]=(0,O.useState)(null),[x,y]=(0,O.useState)(null),z=(0,O.useRef)(null),A=(0,O.useRef)(0),B=(0,O.useRef)(0),C=(0,O.useRef)(d),D=(0,O.useRef)(b),E=null!==h&&h.cwd===f&&!n&&!r,F=E&&(l?.kind==="manual"&&JSON.stringify(l.draft)!==l.initial||l?.kind==="json"&&!!l.text),G=(0,O.useCallback)(()=>{m(null),u(null)},[]),H=(0,O.useCallback)(async()=>!(p||x?.loading)&&(!F||await C.current({title:D.current("放弃未保存的修改?"),description:D.current("当前修改尚未保存。放弃后将保留已保存的配置。"),confirmLabel:D.current("放弃修改")})),[F,p,x?.loading]),I=(0,O.useCallback)(async(a,b,d=!1)=>{o(!0),s(null);try{let e=await c.getMcp(f,a);if(a.aborted||A.current!==b)return!1;return i({cwd:f,data:e}),d&&m(null),!0}catch(c){return a.aborted||A.current!==b||(console.warn("[Pi Desk][MCP] 读取配置失败",{cwd:f,message:uP(c)}),s(uP(c))),!1}finally{a.aborted||A.current!==b||o(!1)}},[c,f]),J=async a=>{await H()&&(G(),w(null),a())},K=async a=>{a!==f&&await H()&&(z.current?.abort(),u(null),w(null),y(null),s(null),o(!0),g(a))},L=(a,b)=>{let c=uK(a,b);u(null),w(null),y(null),m({kind:"manual",draft:c,initial:JSON.stringify(c)})},M=async(a,b)=>{let c=z.current?.signal;if(!c||!E||p||x?.loading)return!1;let d=A.current;q(!0),u(null),w(null);try{if(await a(c),c.aborted||A.current!==d)return!1;return b(),y(null),w("已保存。新会话使用新配置;已有会话需重载 Pi 配置。"),await I(c,d)}catch(a){return c.aborted||A.current!==d||u({field:a instanceof uL?a.field:"save",message:uP(a)}),!1}finally{c.aborted||A.current!==d||q(!1)}},N=async(a=!1)=>{if(!(!l||!j||!E||p||x?.loading)&&(!a||"manual"===l.kind&&l.draft.enabled&&!1!==j.projectTrusted))try{let b="manual"===l.kind?function(a,b){let c,d=a.name.trim();if(!d||d.length>128)throw new uL("name","服务名称需要 1–128 个字符。");try{c=uB.parse(JSON.parse(a.advanced))}catch{throw new uL("advanced","高级配置需要是 JSON 对象。")}if(uG.some(a=>a in c))throw new uL("advanced","连接、说明、启用和曝光字段请在上方表单中填写。");if("inherit"===a.transport&&Object.keys(c).some(a=>"toolExposure"!==a))throw new uL("advanced","继承连接只允许启用、曝光和 toolExposure 设置。");let e={...c,enabled:a.enabled};if(a.exposure&&(e.exposure=a.exposure),"inherit"!==a.transport){for(let d of(a.description&&(e.description=a.description),["env","headers"]))if(a[d].length>0||uH(b?.[d])){if(d in c)throw new uL("advanced","环境变量和请求头不能在表单与 JSON 中重复配置。");e[d]=function(a,b){let c=[],d=new Set;for(let e of a){if(!e.key.trim()&&!e.value)continue;if(!e.key.trim())throw new uL(b,"请填写名称,或删除空白行。");let a=e.key.trim(),f="headers"===b?a.toLowerCase():a;if(d.has(f))throw new uL(b,"名称不能重复。");d.add(f),c.push([a,e.value])}return Object.fromEntries(c)}(a[d],d)}}if("stdio"===a.transport){if(!a.command.trim())throw new uL("command","请输入启动程序。");e.command=a.command.trim(),e.args=Array.isArray(b?.args)&&b.args.join("\n")===a.args?b.args:a.args?a.args.split(/\r?\n/):[],(b?.type!==void 0||!b||"url"in b)&&(e.type="stdio")}else if("http"===a.transport){try{let b=new URL(a.url.trim());if(!["https:","http:"].includes(b.protocol))throw Error()}catch{throw new uL("url","请输入有效的 HTTP 或 HTTPS 地址。")}e.url=a.url.trim(),(b?.type!==void 0||!b||"command"in b)&&(e.type="http")}return{[d]:e}}(l.draft,l.draft.originalName?j.local[l.draft.originalName]:void 0):l.preview;if(!b)return;let d=Object.keys(b).filter(a=>Object.hasOwn(j.local,a));if("json"===l.kind&&d.length&&!l.overwrite)throw new uL("json","请明确勾选替换已有配置。");if("manual"===l.kind&&d.some(a=>a!==l.draft.originalName))throw new uL("name","该名称已存在,请编辑已有服务或使用其他名称。");if(await M(a=>c.replaceMcp({cwd:f,servers:b},a),()=>{if("json"===l.kind)m(null);else{let a=l.draft.name.trim(),c=uK(a,b[a]);m({kind:"manual",draft:c,initial:JSON.stringify(c)})}})&&a&&"manual"===l.kind){let a=await R(l.draft.name.trim());z.current?.signal.aborted||w(a?"已保存,连接测试通过。":"已保存,连接测试失败。")}}catch(a){u({field:a instanceof uL?a.field:"save",message:uP(a)})}},P=async a=>{if(!j||!E||p||!Object.hasOwn(j.local,a))return;let b=null!==f&&Object.hasOwn(j.inherited,a);await C.current({title:`${D.current(b?"恢复全局配置":"删除服务")} \xb7 ${a}`,description:D.current(b?"删除本项目配置后,将恢复使用同名全局配置。":"此范围内的服务配置将被删除。"),confirmLabel:D.current(b?"恢复全局配置":"删除服务")})&&await M(b=>c.deleteMcp(f,a,b),()=>m(null))},R=async a=>{let b=z.current?.signal;if(!b||!j||!1===j.projectTrusted||x?.loading)return!1;let d=++B.current;y({name:a,loading:!0,output:null,error:null});try{let e=await c.checkMcp(f,a,b);return b.aborted||B.current!==d||y({name:a,loading:!1,output:e.output.slice(0,32768),error:null}),!0}catch(c){return b.aborted||B.current!==d||y({name:a,loading:!1,output:null,error:uP(c)}),!1}},S=j?[...new Set([...Object.keys(j.inherited),...Object.keys(j.local)])].map(a=>{let b=j.local[a],c=j.inherited[a],d=!!(b&&c&&uJ(b));return{name:a,config:d?{...c,...b}:b??c,local:b??null,source:null===k?"全局":b?d?"项目配置 \xb7 继承全局连接":"项目配置":"继承全局"}}):[];return{cwd:f,displayCwd:k,ready:E,mcp:j,editor:l,setEditor:m,loading:n,pending:p,loadError:r,error:t,notice:v,check:x,rows:S,dirty:F,dialog:e,retry:()=>{z.current&&I(z.current.signal,A.current,h?.cwd!==f)},navigate:J,setCwd:K,startManual:L,startInherited:(a,b)=>{L(a,{enabled:!1!==b.enabled})},updateDraft:a=>{m(b=>b?.kind==="manual"?{...b,draft:{...b.draft,...a}}:b),u(null),w(null),y(null)},updateJson:a=>{m({kind:"json",text:a,preview:null,overwrite:!1}),u(null)},previewJson:()=>{if(l?.kind==="json"&&j)try{let b=function(a){let b;try{b=JSON.parse(a)}catch{throw Error("请输入有效的 JSON。")}let c=Q.Ik({mcpServers:uC}).strict().safeParse(b);if(!c.success)throw Error("仅接受包含 mcpServers 的标准配置,不允许其他根级字段。");if(0===Object.keys(c.data.mcpServers).length)throw Error("配置中至少需要一个服务。");return c.data.mcpServers}(l.text);var a=j.inherited;for(let[c,d]of Object.entries(b)){if(!c.trim()||c!==c.trim())throw new uL("json","服务名称不能为空或带有首尾空格。");if(uJ(d)){if(null===f||!Object.hasOwn(a,c)||Object.keys(d).some(a=>!["enabled","exposure","toolExposure"].includes(a)))throw new uL("json",`${c}:继承配置需要同名全局服务,且只允许启用和曝光设置。`)}else if("sse"===d.type)throw new uL("json",`${c}:不支持 SSE,请使用 HTTP 连接。`);else if("string"!=typeof d.command&&"string"!=typeof d.url)throw new uL("json",`${c}:请提供启动程序或服务地址。`)}m({...l,preview:b,overwrite:!1}),u(null)}catch(a){u({field:"json",message:uP(a)})}},saveEditor:N,remove:P,dismissCheck:()=>{y(null)},beforeLeave:H}}(d),f=uO(),g=(0,O.useId)(),h=(0,O.useMemo)(()=>{let c=new Map;for(let b of a){let a=b.cwd.replaceAll("\\","/").replace(/\/+$/,""),d=/^[a-zA-Z]:\//.test(a)||a.startsWith("//")?a.toLowerCase():a;c.has(d)||c.set(d,b)}return[...c.values()].sort((a,c)=>Number(c.cwd===b)-Number(a.cwd===b))},[a,b]),i=null===e.displayCwd?f("全局"):`${h.find(a=>a.cwd===e.displayCwd)?.projectName??f("当前项目")} \xb7 ${e.displayCwd}`,j=!!(e.editor&&e.mcp),k=e.pending||!!e.check?.loading,l=k||!e.ready,m=e.editor?.kind==="manual"?e.editor.draft.originalName:null,n=()=>{e.navigate(()=>e.startManual(null))},o=()=>{e.navigate(()=>e.setEditor({kind:"json",text:"",preview:null,overwrite:!1}))};return(0,N.jsxs)("section",{"aria-label":"MCP",className:"@container/mcp flex h-full min-h-0 min-w-0 flex-col",children:[e.dialog,(0,N.jsxs)("header",{className:"grid shrink-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-3 border-b p-4 @min-[40rem]/mcp:grid-cols-[auto_minmax(0,1fr)_auto]",children:[(0,N.jsxs)("h2",{className:"flex items-center gap-2 text-xl font-semibold",children:["MCP",(0,N.jsx)("span",{className:"inline-flex size-4",children:e.loading&&(0,N.jsx)(ab.A,{role:"status","aria-label":f("正在读取配置…"),className:"size-4 animate-spin text-muted-foreground"})})]}),(0,N.jsxs)("div",{className:"col-start-2 flex flex-wrap justify-end gap-2 @min-[40rem]/mcp:col-start-3 @min-[40rem]/mcp:self-end",children:[(0,N.jsxs)(ae.$,{disabled:l,onClick:n,children:[(0,N.jsx)(ay,{"aria-hidden":"true"}),f("添加服务")]}),(0,N.jsx)(ae.$,{variant:"outline",disabled:l,onClick:o,children:f("导入 JSON")})]}),(0,N.jsx)("div",{className:"col-span-2 row-start-2 w-full @min-[40rem]/mcp:col-span-1 @min-[40rem]/mcp:col-start-2 @min-[40rem]/mcp:row-start-1 @min-[40rem]/mcp:max-w-80 @min-[40rem]/mcp:justify-self-end @min-[40rem]/mcp:[&_[data-slot=select-trigger]]:mb-0",children:(0,N.jsx)(uQ,{id:`${g}-scope`,label:f("配置范围"),value:e.cwd??"",disabled:k,options:[{value:"",label:f("全局")},...h.map(a=>({value:a.cwd,label:`${a.projectName}${a.cwd===b?` \xb7 ${f("当前项目")}`:""}`}))],onChange:a=>{e.setCwd(a||null)}})})]}),e.notice&&!e.check&&(0,N.jsx)("p",{role:"status",className:"shrink-0 break-words border-b px-4 py-2 text-sm",children:f(e.notice)}),e.mcp?.projectTrusted===!1&&(0,N.jsx)("p",{className:"shrink-0 px-4 pt-3 text-sm text-muted-foreground",children:f("本项目尚未受信任,不能执行检查;仍可编辑和保存配置。")}),e.mcp&&e.mcp.diagnostics.length>0&&(0,N.jsx)("div",{className:"max-h-32 shrink-0 space-y-2 overflow-y-auto px-4 pt-3",children:e.mcp.diagnostics.map((a,b)=>(0,N.jsx)(uS,{message:`${a.name?`${a.name}:`:""}${a.message}`},b))}),e.loadError&&(0,N.jsxs)("div",{className:"space-y-3 p-4",children:[(0,N.jsx)(uS,{message:e.loadError}),(0,N.jsx)(ae.$,{variant:"outline",onClick:e.retry,disabled:e.loading,children:f("重试")})]}),e.loading&&!e.mcp?(0,N.jsx)("p",{role:"status",className:"p-4 text-sm text-muted-foreground",children:f("正在读取配置…")}):e.mcp?(0,N.jsxs)("div",{"aria-busy":e.loading,className:"flex min-h-0 min-w-0 flex-1",children:[e.editor?.kind!=="json"&&e.rows.length>0&&(0,N.jsxs)("div",{className:(0,ag.cn)("pi-desk-chat-scrollbar min-h-0 min-w-0 overflow-y-auto",j?"hidden @min-[48rem]/mcp:block @min-[48rem]/mcp:w-56 @min-[48rem]/mcp:shrink-0 @min-[48rem]/mcp:border-r":"flex-1"),children:[!j&&e.error&&(0,N.jsx)("div",{className:"p-4",children:(0,N.jsx)(uS,{message:e.error.message})}),(0,N.jsx)(uT,{rows:e.rows,selectedName:m,pending:l,onSelect:a=>{m!==a.name&&e.navigate(()=>a.local?e.startManual(a.name,a.local):e.startInherited(a.name,a.config))}})]}),e.editor?(0,N.jsx)(uX,{editor:e.editor,scopeLabel:i,project:null!==e.displayCwd,projectTrusted:e.mcp.projectTrusted,local:e.mcp.local,inherited:e.mcp.inherited,pending:l,saving:e.pending,error:e.error,check:e.check?.name===m?e.check:null,onDraft:e.updateDraft,onJson:e.updateJson,onPreview:e.previewJson,onOverwrite:a=>e.setEditor(b=>b?.kind==="json"?{...b,overwrite:a}:b),onSave:a=>void e.saveEditor(a),onCancel:()=>void e.navigate(()=>e.setEditor(null)),onRemove:a=>void e.remove(a),onDismissCheck:e.dismissCheck},"manual"===e.editor.kind?m??"new":"json"):0===e.rows.length?(0,N.jsx)(uY,{pending:l,onAdd:n,onImport:o}):null]}):null]})}var u$=c(3035),u_=c(4543),u0=c(59776);let u1=Q.Yj().trim().min(1).max(200),u2=Q.Yj().trim().min(1).max(100).nullable(),u3=Q.Yj().trim().min(1).max(100).nullable(),u4=Q.Yj().trim().min(1).max(200),u5=Q.Ik({label:Q.Yj().trim().min(1).max(64),value:Q.Yj().trim().min(1).max(500)}).strict(),u6=Q.Yj().trim().min(1).max(300).nullable(),u7=Q.k5(["running","completed","failed","stopped","interrupted"]),u8=Q.Ik({taskId:u1,taskKind:u2,taskType:u3,title:u4,info:Q.YO(u5).max(12),status:u7,activity:u6,startedAt:qM.k,endedAt:qM.k.nullable()}).strict().superRefine((a,b)=>{"running"===a.status&&null!==a.endedAt&&b.addIssue({code:"custom",message:"running task requires endedAt=null",path:["endedAt"]}),"running"!==a.status&&null===a.endedAt&&b.addIssue({code:"custom",message:"terminal task requires endedAt",path:["endedAt"]})}),u9=Q.Ik({tasks:Q.YO(u8)}).strict().superRefine((a,b)=>{let c=new Set;for(let[d,e]of a.tasks.entries())c.has(e.taskId)&&b.addIssue({code:"custom",message:"taskId values must be unique",path:["tasks",d,"taskId"]}),c.add(e.taskId)}),va=Q.Ik({kind:Q.eu("text"),text:Q.Yj(),truncated:Q.zM()}).strict(),vb=u_.RX.extend({kind:Q.eu("conversation"),truncated:Q.zM()}).strict(),vc=Q.KC([Q.ch(),va,vb]),vd=Q.Ik({taskId:u1,canInterrupt:Q.zM(),body:vc}).strict(),ve=u0.mv,vf=Q.KC([Q.Ik({type:Q.eu("snapshot"),snapshot:vd}).strict(),Q.Ik({type:Q.eu("text_append"),text:Q.Yj().min(1)}).strict(),Q.Ik({type:Q.eu("conversation_event"),event:ve}).strict(),Q.Ik({type:Q.eu("unavailable")}).strict()]);Q.Ik({source:u$.R,taskId:u1,entryId:pa.Rv}).strict().extend({imageIndex:Q.ai().int().nonnegative()}).strict();let vg=Q.Ik({source:u$.R,taskId:u1.nullable()}).strict(),vh=Q.Ik({snapshot:vd.nullable()}).strict(),vi=Q.Ik({source:u$.R,taskId:u1}).strict(),vj=Q.Ik({}).strict(),vk=Q.Ik({source:u$.R,taskId:u1,event:vf}).strict(),vl=Object.freeze({detailWatch:(0,R.Vc)({path:"task-center/detail-watch",inputSchema:vg,outputSchema:vh}),interrupt:(0,R.Vc)({path:"task-center/interrupt",inputSchema:vi,outputSchema:vj}),detailEvent:(0,R._G)({path:"task-center/detail-event",bodySchema:vk})}),vm=(0,ac.A)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),vn=(0,ac.A)("octagon-alert",[["path",{d:"M12 16h.01",key:"1drbdi"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z",key:"1fd625"}]]),vo=(0,ac.A)("circle-stop",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]]),vp=(0,ac.A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),vq=(0,ac.A)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]),vr={damping:.7,stiffness:.05,mass:1.25},vs=1e3/60,vt=!1;globalThis.document?.addEventListener("mousedown",()=>{vt=!0}),globalThis.document?.addEventListener("mouseup",()=>{vt=!1}),globalThis.document?.addEventListener("click",()=>{vt=!1});let vu=(a={})=>{let[b,c]=(0,O.useState)(!1),[d,e]=(0,O.useState)(!1!==a.initial),[f,g]=(0,O.useState)(!1),h=(0,O.useRef)(null);h.current=a;let i=(0,O.useCallback)(()=>{if(!vt)return!1;let a=window.getSelection();if(!a||!a.rangeCount)return!1;let b=a.getRangeAt(0);return b.commonAncestorContainer.contains(q.current)||q.current?.contains(b.commonAncestorContainer)},[]),j=(0,O.useCallback)(a=>{l.isAtBottom=a,e(a)},[]),k=(0,O.useCallback)(a=>{l.escapedFromLock=a,c(a)},[]),l=(0,O.useMemo)(()=>{let c;return{escapedFromLock:b,isAtBottom:d,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return q.current?.scrollTop??0},set scrollTop(scrollTop){if(q.current){let{scrollBehavior:a}=getComputedStyle(q.current);"auto"!==a&&(q.current.style.scrollBehavior="auto"),q.current.scrollTop=scrollTop,l.ignoreScrollToTop=q.current.scrollTop,"auto"!==a&&(q.current.style.scrollBehavior=a)}},get targetScrollTop(){if(!q.current||!r.current)return 0;return q.current.scrollHeight-1-q.current.clientHeight},get calculatedTargetScrollTop(){if(!q.current||!r.current)return 0;let{targetScrollTop:b}=this;if(!a.targetScrollTop)return b;if(c?.targetScrollTop===b)return c.calculatedScrollTop;let d=Math.max(Math.min(a.targetScrollTop(b,{scrollElement:q.current,contentElement:r.current}),b),0);return c={targetScrollTop:b,calculatedScrollTop:d},requestAnimationFrame(()=>{c=void 0}),d},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=70}}},[]),m=(0,O.useCallback)((a={})=>{let b;"string"==typeof a&&(a={animation:a}),a.preserveScrollPosition||j(!0);let c=Date.now()+(Number(a.wait)||0),d=vx(h.current,a.animation),{ignoreEscapes:e=!1}=a,f=l.calculatedTargetScrollTop;a.duration instanceof Promise?a.duration.finally(()=>{b=Date.now()}):b=c+(a.duration??0);let g=async()=>{let a=new Promise(requestAnimationFrame).then(()=>{if(!l.isAtBottom)return l.animation=void 0,!1;let{scrollTop:j}=l,k=performance.now(),n=(k-(l.lastTick??k))/vs;if(l.animation||(l.animation={behavior:d,promise:a,ignoreEscapes:e}),l.animation.behavior===d&&(l.lastTick=k),i()||c>Date.now())return g();if(j<Math.min(f,l.calculatedTargetScrollTop)){if(l.animation?.behavior===d){if("instant"===d)return l.scrollTop=l.calculatedTargetScrollTop,g();l.velocity=(d.damping*l.velocity+d.stiffness*l.scrollDifference)/d.mass,l.accumulated+=l.velocity*n,l.scrollTop+=l.accumulated,l.scrollTop!==j&&(l.accumulated=0)}return g()}return b>Date.now()?(f=l.calculatedTargetScrollTop,g()):(l.animation=void 0,l.scrollTop<l.calculatedTargetScrollTop)?m({animation:vx(h.current,h.current.resize),ignoreEscapes:e,duration:Math.max(0,b-Date.now())||void 0}):l.isAtBottom});return a.then(a=>(requestAnimationFrame(()=>{l.animation||(l.lastTick=void 0,l.velocity=0)}),a))};return(!0!==a.wait&&(l.animation=void 0),l.animation?.behavior===d)?l.animation.promise:g()},[j,i,l]),n=(0,O.useCallback)(()=>{k(!0),j(!1)},[k,j]),o=(0,O.useCallback)(({target:a})=>{if(a!==q.current)return;let{scrollTop:b,ignoreScrollToTop:c}=l,{lastScrollTop:d=b}=l;l.lastScrollTop=b,l.ignoreScrollToTop=void 0,c&&c>b&&(d=c),g(l.isNearBottom),setTimeout(()=>{if(l.resizeDifference||b===c)return;if(i()){k(!0),j(!1);return}let a=b>d,e=b<d;if(l.animation?.ignoreEscapes){l.scrollTop=d;return}e&&(k(!0),j(!1)),a&&k(!1),!l.escapedFromLock&&l.isNearBottom&&j(!0)},1)},[k,j,i,l]),p=(0,O.useCallback)(({target:a,deltaY:b})=>{let c=a;for(;!["scroll","auto"].includes(getComputedStyle(c).overflow);){if(!c.parentElement)return;c=c.parentElement}c===q.current&&b<0&&q.current.scrollHeight>q.current.clientHeight&&!l.animation?.ignoreEscapes&&(k(!0),j(!1))},[k,j,l]),q=vv(a=>{q.current?.removeEventListener("scroll",o),q.current?.removeEventListener("wheel",p),a?.addEventListener("scroll",o,{passive:!0}),a?.addEventListener("wheel",p,{passive:!0})},[]),r=vv(a=>{let b;l.resizeObserver?.disconnect(),l.resizeObserver=void 0,a&&(l.resizeObserver=new ResizeObserver(([a])=>{let{height:c}=a.contentRect,d=c-(b??c);if(l.resizeDifference=d,l.scrollTop>l.targetScrollTop&&(l.scrollTop=l.targetScrollTop),g(l.isNearBottom),d>=0){let a=vx(h.current,b?h.current.resize:h.current.initial);m({animation:a,wait:!0,preserveScrollPosition:!0,duration:"instant"===a?void 0:350})}else l.isNearBottom&&(k(!1),j(!0));b=c,requestAnimationFrame(()=>{setTimeout(()=>{l.resizeDifference===d&&(l.resizeDifference=0)},1)})}),l.resizeObserver?.observe(a))},[]);return{contentRef:r,scrollRef:q,scrollToBottom:m,stopScroll:n,isAtBottom:d||f,isNearBottom:f,escapedFromLock:b,state:l}};function vv(a,b){let c=(0,O.useCallback)(b=>(c.current=b,a(b)),b);return c}let vw=new Map;function vx(...a){let b={...vr},c=!1;for(let d of a){if("instant"===d){c=!0;continue}"object"==typeof d&&(c=!1,b.damping=d.damping??b.damping,b.stiffness=d.stiffness??b.stiffness,b.mass=d.mass??b.mass)}let d=JSON.stringify(b);return vw.has(d)||vw.set(d,Object.freeze(b)),c?"instant":vw.get(d)}let vy=(0,O.createContext)(null),vz="u">typeof window?O.useLayoutEffect:O.useEffect;function vA({instance:a,children:b,resize:c,initial:d,mass:e,damping:f,stiffness:g,targetScrollTop:h,contextRef:i,...j}){let k=(0,O.useRef)(null),l=vu({mass:e,damping:f,stiffness:g,resize:c,initial:d,targetScrollTop:O.useCallback((a,b)=>{let c=t?.targetScrollTop??h;return c?.(a,b)??a},[h])}),{scrollRef:m,contentRef:n,scrollToBottom:o,stopScroll:p,isAtBottom:q,escapedFromLock:r,state:s}=a??l,t=(0,O.useMemo)(()=>({scrollToBottom:o,stopScroll:p,scrollRef:m,isAtBottom:q,escapedFromLock:r,contentRef:n,state:s,get targetScrollTop(){return k.current},set targetScrollTop(targetScrollTop){k.current=targetScrollTop}}),[o,q,n,m,p,r,s]);return(0,O.useImperativeHandle)(i,()=>t,[t]),vz(()=>{m.current&&"visible"===getComputedStyle(m.current).overflow&&(m.current.style.overflow="auto")},[]),O.createElement(vy.Provider,{value:t},O.createElement("div",{...j},"function"==typeof b?b(t):b))}function vB(){let a=(0,O.useContext)(vy);if(!a)throw Error("use-stick-to-bottom component context must be used within a StickToBottom component");return a}(vA||(vA={})).Content=function({children:a,scrollClassName:b,...c}){let d=vB();return O.createElement("div",{ref:d.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:b},O.createElement("div",{...c,ref:d.contentRef},"function"==typeof a?a(d):a))};let vC=({className:a,...b})=>(0,N.jsx)(vA,{className:(0,ag.cn)("relative flex-1 overflow-y-hidden",a),initial:"smooth",resize:"smooth",role:"log",...b}),vD=({className:a,...b})=>(0,N.jsx)(vA.Content,{className:(0,ag.cn)("flex flex-col gap-8 p-4",a),...b});var vE=c(81266);let vF=O.createContext(void 0);function vG(a){let b=O.useContext(vF);if(void 0===b&&!a)throw Error((0,aC.A)(50));return b}var vH=c(69434),vI=c(21574),vJ=c(56278);function vK(a,b,c,d){return{left:a,top:b,right:c,bottom:d,x:a,y:b,width:c-a,height:d-b}}function vL(a){let b,c=[],d=1/0,e=1/0,f=-1/0,g=-1/0;for(let h of Array.from(a).sort((a,b)=>a.top-b.top)){if(d=Math.min(d,h.left),e=Math.min(e,h.top),f=Math.max(f,h.right),g=Math.max(g,h.bottom),!b||h.top-b.top>b.height/2)c.push({left:h.left,top:h.top,right:h.right,bottom:h.bottom,width:h.width,height:h.height});else{let a=c[c.length-1];a.left=Math.min(a.left,h.left),a.right=Math.max(a.right,h.right),a.bottom=Math.max(a.bottom,h.bottom),a.width=a.right-a.left,a.height=a.bottom-a.top}b=h}return{lines:c,fallback:vK(d,e,f,g)}}function vM(a,b,c){return a.findIndex(a=>b>a.left-2&&b<a.right+2&&c>a.top-2&&c<a.bottom+2)}function vN(a){return vK(a.left,a.top,a.right,a.bottom)}function vO(a,b,c,d){let e=function(a,b,c){let{lines:d}=vL(a.getClientRects());if(d.length<2)return;let e=vM(d,b,c);return{x:b,y:c,lineIndex:-1===e?void 0:e,element:a}}(b,c,d);return a.current=e,e}let vP={...vI.ol,instantType:a=>a.instantType,adaptiveOrigin:a=>a.adaptiveOrigin,closeDelay:a=>a.closeDelay};class vQ extends vH.H{constructor(a,b,c){const d=new vJ.Z;super(function(a,b,c,d=!1){let e={...(0,vI.rJ)(),instantType:void 0,adaptiveOrigin:void 0,closeDelay:300,...a};return e.floatingRootContext=(0,vI.OB)(b,c,d),e}(a,d,b,c),function(a){return{popupRef:O.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:a,inlineRectCoordsRef:{current:void 0}}}(d),vP)}setOpen=(a,b)=>{let{inlineRectCoordsRef:c}=this.context;(0,a0.DU)(this,a,b,{onBeforeDispatch(){let d=b.event;a&&b.reason===a3.N7&&b.trigger&&"clientX"in d&&"clientY"in d&&c.current?.element!==b.trigger&&vO(c,b.trigger,d.clientX,d.clientY)}})}}function vR(a){let{open:b,defaultOpen:c=!1,onOpenChange:d,onOpenChangeComplete:e,actionsRef:f,handle:g,triggerId:h,defaultTriggerId:i=null,children:j}=a,k=(0,a0.xp)((a,d)=>new vQ({open:c,openProp:b,activeTriggerId:i,triggerIdProp:h},a,d));k.useControlledProp("openProp",b),k.useControlledProp("triggerIdProp",h),k.useContextCallback("onOpenChange",d),k.useContextCallback("onOpenChangeComplete",e);let l=k.useState("open"),m=k.useState("activeTriggerId"),n=k.useState("mounted"),o=k.useState("payload");(0,a0.tr)(k,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:p}=(0,a0.l$)(l,k,()=>{k.context.inlineRectCoordsRef.current=void 0});(0,aH.g)(()=>{l&&null==m&&k.set("payload",void 0)},[k,m,l]),O.useImperativeHandle(f,()=>({unmount:p,close:()=>k.setOpen(!1,(0,bt.d)(a3.zJ))}),[p,k]);let q=l||n;return(0,N.jsxs)(vF.Provider,{value:k,children:[g&&(0,N.jsx)(a0.Ae,{handle:g,store:k}),q&&(0,N.jsx)(vS,{store:k}),"function"==typeof j?j({payload:o}):j]})}function vS({store:a}){let b=a.useState("floatingRootContext"),c=(0,vE.s)(b);return(0,a0.i6)(a,{activeTriggerProps:c.reference,inactiveTriggerProps:c.trigger,popupProps:c.floating}),null}let vT=(0,aF.G1)(function(a){return vG(!0)?(0,N.jsx)(vR,{...a}):(0,N.jsx)(aJ.P6,{children:(0,N.jsx)(vR,{...a})})}),vU=(0,aF.nk)(function(a,b){let{render:c,className:d,delay:e,closeDelay:f,id:g,payload:h,handle:i,style:j,...k}=a,l=vG(!0),m=(0,a_.f)(i)??l;if(!m)throw Error((0,aC.A)(89));let n=(0,a2.e)(g),o=m.useState("isTriggerActive",n),p=m.useState("isOpenedByTrigger",n),q=m.useState("floatingRootContext"),r=m.context.inlineRectCoordsRef,s=O.useRef(null),t=e??600,u=f??300,{registerTrigger:v,isMountedByThisTrigger:w}=(0,a0.L_)(n,s,m,{payload:h,closeDelay:u}),x=(0,aK.j)(q,{mouseOnly:!0,move:!1,handleClose:(0,aL.i)(),delay:()=>({open:t,close:u}),triggerElementRef:s,isActiveTrigger:o,isClosing:()=>"ending"===m.select("transitionStatus")}),y=(0,aN.i)(q,{delay:t}),z=m.useState("triggerProps",w),A=function(a,b){function c(c){b||vO(a,c.currentTarget,c.clientX,c.clientY)}return{onFocus(){a.current=void 0},onMouseEnter:c,onMouseMove:c}}(r,p);return(0,aS.o)("a",a,{state:{open:p},ref:[b,v,s],props:[x,y.reference,z,A,{id:n},k],stateAttributesMapping:aR.qV})}),vV=O.createContext(void 0);var vW=c(97894);let vX=O.forwardRef(function(a,b){let{keepMounted:c=!1,...d}=a;return vG().useState("mounted")||c?(0,N.jsx)(vV.Provider,{value:c,children:(0,N.jsx)(vW.F,{ref:b,...d})}):null}),vY=O.createContext(void 0);var vZ=c(65913),v$=c(91259);let v_=O.forwardRef(function(a,b){let{render:c,className:d,anchor:e,positionMethod:f="absolute",side:g="bottom",align:h="center",sideOffset:i=0,alignOffset:j=0,collisionBoundary:k="clipping-ancestors",collisionPadding:l=5,arrowPadding:m=5,sticky:n=!1,disableAnchorTracking:o=!1,collisionAvoidance:p=a5.Pe,style:q,...r}=a,s=vG(),t=function(){let a=O.useContext(vV);if(void 0===a)throw Error((0,aC.A)(48));return a}(),u=(0,aJ.fI)(),v=s.useState("open"),w=s.useState("mounted"),x=s.useState("floatingRootContext"),y=s.useState("instantType"),z=s.useState("transitionStatus"),A=s.useState("adaptiveOrigin"),B=s.context.inlineRectCoordsRef,C=(0,vZ.s)({anchor:e,floatingRootContext:x,positionMethod:f,mounted:w,side:g,sideOffset:i,align:h,alignOffset:j,arrowPadding:m,collisionBoundary:k,collisionPadding:l,sticky:n,disableAnchorTracking:o,keepMounted:t,nodeId:u,collisionAvoidance:p,adaptiveOrigin:A,inline:{name:"inline",async fn(a){let b=a.elements.reference;if("function"!=typeof b?.getClientRects)return{};let c="contextElement"in b&&b.contextElement?b.contextElement:(0,dX.vq)(b)?b:void 0,d=B.current,e=d?.element===b||d?.element===c?d:void 0,f=function(a,b,c){let{lines:d,fallback:e}=vL(a.getClientRects());if(d.length<2)return null;let f=c?.x,g=c?.y,h=b[0];if(c?.lineIndex!=null&&d[c.lineIndex])return vN(d[c.lineIndex]);if(null!=f&&null!=g){let a=vM(d,f,g);if(-1!==a)return vN(d[a])}if(2===d.length&&d[0].left>d[1].right&&null!=f&&null!=g)return e;if("t"===h||"b"===h){let a=d[0],b=d[d.length-1],c="t"===h?a:b;return vK(c.left,a.top,c.right,b.bottom)}let i="l"===h,j=d[0].left,k=d[0].right,l=i?1/0:-1/0,m=d[0],n=d[0];for(let a of d){j=Math.min(j,a.left),k=Math.max(k,a.right);let b=i?a.left:a.right;i&&b<l||!i&&b>l?(l=b,m=a,n=a):b===l&&(n=a)}return vK(j,m.top,k,n.bottom)}(b,a.placement,e);if(!f||"function"!=typeof a.platform.getElementRects)return{};let g=await a.platform.getElementRects({reference:{contextElement:c,getBoundingClientRect:()=>f},floating:a.elements.floating,strategy:a.strategy});return a.rects.reference.x===g.reference.x&&a.rects.reference.y===g.reference.y&&a.rects.reference.width===g.reference.width&&a.rects.reference.height===g.reference.height?{}:{reset:{rects:g}}}}}),D=C.update;(0,aH.g)(()=>{v&&w&&D()},[v,w,D]);let E={open:v,side:C.side,align:C.align,anchorHidden:C.anchorHidden,instant:y},F=(0,v$.i)(a,E,{styles:C.positionerStyles,transitionStatus:z,props:r,refs:[b,s.useStateSetter("positionerElement")],hidden:!w,inert:!v});return(0,N.jsx)(vY.Provider,{value:C,children:(0,N.jsx)(aJ.$c,{id:u,children:F})})});var v0=c(69833),v1=c(43598);let v2=O.forwardRef(function(a,b){let{className:c,render:d,style:e,...f}=a,g=vG(),{side:h,align:i}=function(){let a=O.useContext(vY);if(void 0===a)throw Error((0,aC.A)(49));return a}(),j=g.useState("open"),k=g.useState("instantType"),l=g.useState("transitionStatus"),m=g.useState("popupProps"),n=g.useState("floatingRootContext"),o=g.useState("closeDelay");return(0,bw.v)({open:j,ref:g.context.popupRef,onComplete(){j&&g.context.onOpenChangeComplete?.(!0)}}),(0,v1.a)(n,{closeDelay:o}),(0,aS.o)("div",a,{state:{open:j,side:h,align:i,instant:k,transitionStatus:l},ref:[b,g.context.popupRef,g.useStateSetter("popupElement")],props:[a0.Ls,m,(0,v0.d)(l),f],stateAttributesMapping:aR.LM})});function v3({...a}){return(0,N.jsx)(vT,{"data-slot":"hover-card",...a})}function v4({...a}){return(0,N.jsx)(vU,{"data-slot":"hover-card-trigger",...a})}function v5({className:a,side:b="bottom",sideOffset:c=4,align:d="center",alignOffset:e=4,...f}){return(0,N.jsx)(vX,{"data-slot":"hover-card-portal",children:(0,N.jsx)(v_,{align:d,alignOffset:e,side:b,sideOffset:c,className:"isolate z-50",children:(0,N.jsx)(v2,{"data-slot":"hover-card-content",className:(0,ag.cn)("z-50 w-80 max-w-[calc(100vw-2rem)] origin-(--transform-origin) rounded-lg border border-border bg-popover p-3 text-sm text-popover-foreground shadow-md outline-hidden duration-100 motion-reduce:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",a),...f})})})}let v6=({className:a,...b})=>(0,N.jsx)(pL.Sq,{align:"block-end",className:(0,ag.cn)("justify-between gap-1",a),...b}),v7=({className:a,...b})=>(0,N.jsx)("div",{className:(0,ag.cn)("flex min-w-0 items-center gap-1",a),...b}),v8=({variant:a="ghost",className:b,size:c,tooltip:d,...e})=>{let f=c??(O.Children.count(e.children)>1?"sm":"icon-sm"),g=(0,N.jsx)(pL.Ik,{className:(0,ag.cn)(b),size:f,type:"button",variant:a,...e});if(!d)return g;let h="string"==typeof d?d:d.content,i="string"==typeof d?void 0:d.shortcut,j="string"==typeof d?"top":d.side??"top";return(0,N.jsxs)(d7.m_,{children:[(0,N.jsx)(d7.k$,{render:g}),(0,N.jsxs)(d7.ZI,{side:j,children:[h,i&&(0,N.jsx)("span",{className:"ml-2 text-muted-foreground",children:i})]})]})},v9=Q.Ik({input:Q.g1(Q.Yj(),Q.Pq())}).strict(),wa=Q.Ik({output:Q.Yj()}).strict(),wb="pideskHelp",wc=/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/,wd=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;function we(a){return/^[a-zA-Z0-9_./:@=+-]+$/.test(a)?a:JSON.stringify(a)}let wf=Q.Ik({name:Q.Yj(),scope:Q.eu("global").optional(),source:Q.Yj(),kind:Q.k5(["package","extension"]),version:Q.Yj().nullable(),status:Q.k5(["ready","available","disabled","failed"]),updateTag:Q.Yj().nullish(),availableVersion:Q.Yj().nullish(),updateError:Q.Yj().nullish(),operation:Q.Ik({action:Q.k5(["add","update","del","apply"]),phase:Q.k5(["queued","checking","applying","waiting","failed"]),message:Q.Yj().nullable()}).strict().nullish(),error:Q.Ik({phase:Q.k5(["package","entry","setup","resources","resolve","native"]),message:cE.qf}).strict().nullish()}).strict(),wg=Q.Ik({plugins:Q.YO(wf),restartRequired:Q.zM(),loadError:cE.qf.nullish()}).strict(),wh=wf.extend({detail:Q.g1(Q.Yj(),Q.Pq())}).strict(),wi=Q.Ik({version:Q.Yj(),environment:Q.k5(["development","production"]),mode:Q.k5(["basic","normal"]),cwd:Q.Yj(),agentDir:Q.Yj(),docsDirectory:Q.Yj()}).strict(),wj=null,wk=new WeakMap,wl=new WeakMap,wm=new WeakMap;function wn(a){switch(a.fixed.type){case"user":{let b=u_.lJ.safeParse(a.summary);return{summary:{type:"user",...b.success?b.data:{text:"",images:[]},hasDetail:!1},detail:void 0}}case"assistant":{let b="pi-desk/assistant"===a.fixed.viewKey?u_.Er.safeParse(a.summary):null,c=b?.success?b.data:{text:"",errorMessage:null},d="pi-desk/assistant"===a.fixed.viewKey?u_.Rh.safeParse(a.detail):null;return{summary:{type:"assistant",text:c.text,model:"model"in c?c.model:null,errorMessage:c.errorMessage,status:a.fixed.status,usage:a.fixed.usage,hasDetail:a.fixed.hasDetail},detail:d?.success?{type:"assistant",...d.data}:void 0}}case"tool":{let b={name:a.fixed.viewKey,reasoning:null,inputPreview:null,activity:null},c={status:a.fixed.status,usage:a.fixed.usage,hasDetail:a.fixed.hasDetail};switch(a.fixed.viewKey){case"pi-desk/codemode":{let d=u_.UT.safeParse(a.summary),e=d.success?d.data:b,f=u_.ny.safeParse(a.detail);return{summary:{type:"tool",kind:"codemode",...e,...c},detail:f.success?{type:"tool",kind:"codemode",...f.data}:void 0}}case"pi-desk/pidesk":{let d=v9.safeParse(a.summary),e=d.success?d.data:{input:{}},f=wa.safeParse(a.detail);return{summary:{type:"tool",kind:"pidesk",...b,...e,...c},detail:f.success?{type:"tool",kind:"pidesk",output:f.data.output}:void 0}}case"pi-desk/bash-tool":{let d=u_.Qi.safeParse(a.summary),e=d.success?d.data:{...b,timing:null},f=u_.Ok.safeParse(a.detail);return{summary:{type:"tool",kind:"bash",...e,...c},detail:f.success?{type:"tool",kind:"bash",output:f.data.output}:void 0}}case"pi-desk/read":{let d=u_.Gx.safeParse(a.summary),e=d.success?d.data:{...b,path:null},f=u_.Xj.safeParse(a.detail);return{summary:{type:"tool",kind:"read",...e,...c},detail:f.success?{type:"tool",kind:"read",content:f.data.content}:void 0}}case"pi-desk/edit":{let d=u_.aV.safeParse(a.summary),e=d.success?d.data:{...b,path:null},f=u_.Rk.safeParse(a.detail);return{summary:{type:"tool",kind:"edit",...e,...c},detail:f.success?{type:"tool",kind:"edit",contentKind:f.data.kind,content:f.data.content}:void 0}}case"pi-desk/write":{let d=u_.bN.safeParse(a.summary),e=d.success?d.data:{...b,path:null},f=u_.O_.safeParse(a.detail);return{summary:{type:"tool",kind:"write",...e,...c},detail:f.success?{type:"tool",kind:"write",contentKind:f.data.kind,content:f.data.content}:void 0}}default:{let d=u_.Px.safeParse(a.summary),e=d.success?d.data:b,f=u_.Ok.safeParse(a.detail);return{summary:{type:"tool",kind:"generic",...e,...c},detail:f.success?{type:"tool",kind:"generic",output:f.data.output}:void 0}}}}case"bash":{let b=u_.ai.safeParse(a.summary),c=b.success?b.data:{command:a.fixed.viewKey},d=u_.bG.safeParse(a.detail);return{summary:{type:"bash",command:c.command,status:a.fixed.status,hasDetail:a.fixed.hasDetail},detail:d.success?{type:"bash",...d.data}:void 0}}case"custom":{if("pi-desk/compaction"===a.fixed.viewKey){let b=u_.sL.safeParse(a.detail);return{summary:{type:"compaction",hasDetail:a.fixed.hasDetail},detail:b.success?{type:"compaction",...b.data}:void 0}}let b=u_.Rt.safeParse(a.summary);return{summary:{type:"custom",text:(b.success?b.data:{text:""}).text,hasDetail:!1},detail:void 0}}}}function wo(a){return a.temporary||"status"in a.summary&&"running"===a.summary.status}function wp(a){return"assistant"===a.summary.type&&("error"===a.summary.status||!!a.summary.errorMessage||(a.detail?.type==="assistant"?a.detail.thinking.trim().length>0:a.summary.hasDetail))}function wq(a,b,c){if("compaction"===c.summary.type){wr(a,b),a.push({identity:c.identity,user:null,processItems:[],finalAssistant:null,compaction:c,running:wo(c),toolCount:0});return}"user"!==c.summary.type?b.body.push(c):(wr(a,b),b.user=c)}function wr(a,b){if(!b.user&&0===b.body.length)return;let c=b.user?.identity??b.body[0].identity;a.push(function(a,b,c){let d=function(a){for(let b=a.length-1;b>=0;b-=1){let c=a[b];if("custom"!==c.summary.type){if("assistant"!==c.summary.type)return -1;return c.summary.text.trim()||"pi-desk/assistant"!==c.viewKey?b:-1}}return -1}(c),e=d>=0?c[d]:null,f=[];for(let[a,b]of c.entries()){if(a!==d){("assistant"!==b.summary.type||"pi-desk/assistant"!==b.viewKey||b.summary.text.trim().length>0||wp(b))&&f.push({message:b,hideAssistantText:!1});continue}wp(b)&&f.push({message:b,hideAssistantText:!0})}return{identity:a,user:b,processItems:f,finalAssistant:e,compaction:null,running:c.some(wo),toolCount:c.filter(a=>"tool"===a.summary.type||"bash"===a.summary.type).length}}(c,b.user,b.body)),b.user=null,b.body=[]}function ws(a,b=!1){let c=function(a){let b=wm.get(a);if(b)return b;let c=[],d={user:null,body:[]},e=new Set,f=[],g=(a[0]?.location.index??0)>0;for(let b of a){if(e.has(b.location.entryId))continue;e.add(b.location.entryId);let a=function(a){let b=wk.get(a);if(b)return b;let c=wn(a),d={identity:`position:${a.location.index}`,position:a.location.index,viewKey:a.fixed.viewKey,snapshot:a,...c,temporary:!1,timestampMs:a.fixed.timestampMs,durable:a,tempId:null};return wk.set(a,d),d}(b);"compaction"===a.summary.type?(f=[],g=!1):"assistant"===b.fixed.type&&(f.push(a),"assistant"===a.summary.type&&null!==a.timestampMs&&(a.summary.text.trim()||"pi-desk/assistant"!==a.viewKey)&&(a={...a,usageCalls:f,usageIncomplete:g},f=[],g=!1)),wq(c,d,a)}let h={turns:c,user:d.user,body:d.body};return wm.set(a,h),h}(a.messages),d=[...c.turns],e={user:c.user,body:[...c.body]};for(let[b,c]of a.temporaryMessages.entries())wq(d,e,function(a,b){let c=wl.get(a);if(c?.position===b)return c.message;let d=wn(a),e={identity:`position:${b}`,position:b,viewKey:a.fixed.viewKey,snapshot:a,...d,temporary:!0,timestampMs:a.fixed.timestampMs,durable:null,tempId:a.location.tempId};return wl.set(a,{position:b,message:e}),e}(c,a.messages.length+b));wr(d,e);let f=d.at(-1);return b&&f&&!f.compaction&&(f.running=!0),d}function wt(a){return a<1e3?String(a):a<1e6?`${(a/1e3).toFixed(1).replace(/\.0$/,"")}k`:`${(a/1e6).toFixed(1).replace(/\.0$/,"")}m`}function wu(a){return 0===a?"$0":a<1e-4?"<$0.0001":`$${a.toFixed(4).replace(/0+$/,"").replace(/\.$/,"")}`}function wv(a,b=Date.now(),c="en",d="UTC"){let e=new Date(a),f=new Date(b),g=function(a,b){if(wj?.locale===a&&wj.timeZone===b)return wj;let c="en"===a?"en-US":"zh-CN";return wj={locale:a,timeZone:b,compactTime:new Intl.DateTimeFormat(c,{timeZone:b,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}),compactDateTime:new Intl.DateTimeFormat(c,{timeZone:b,month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}),fullDateTime:new Intl.DateTimeFormat(c,{timeZone:b,timeZoneName:"shortOffset",year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}),dateKey:new Intl.DateTimeFormat("en-US",{timeZone:b,year:"numeric",month:"2-digit",day:"2-digit"})}}(c,d);return{compact:g.dateKey.format(e)===g.dateKey.format(f)?g.compactTime.format(e):g.compactDateTime.format(e),full:g.fullDateTime.format(e)}}function ww(a,b,c={}){}function wx(a){for(let b of a.querySelectorAll("[data-chat-tail-space]"))ww("tail:clear:start",a),b.style.removeProperty("min-height"),delete b.dataset.chatTailSpace,delete b.dataset.chatTailAnchor,delete b.dataset.chatTailOffset,ww("tail:clear:end",a)}function wy({active:a=!0}){let{scrollRef:b,state:c}=vB();return null}function wz(a){let b=[a.user,...a.processItems.map(a=>a.message),a.finalAssistant,a.compaction].filter(a=>null!==a),c=new Set;return b.filter(a=>!c.has(a.identity)&&(c.add(a.identity),!0))}function wA(a,b,c){let d=0;for(let e=b;e<c;e+=1)a[e]?.user&&(d+=1);return d}function wB(a,b){let c=Math.max(0,Math.min(a.length,b)),d=Math.min(2,wA(a,0,c)),e=c,f=0,g=0,h=0;for(;e>0;){let b=a[e-1],c=wz(b).length,i=h<d;if(f>0&&!i&&(f>=30||g+c>200))break;e-=1,f+=1,g+=c,b.user&&(h+=1)}return e}function wC(a,b){let c=Math.max(0,Math.min(a.length,b)),d=Math.min(2,wA(a,c,a.length)),e=c,f=0,g=0,h=0;for(;e<a.length;){let b=a[e],c=wz(b).length,i=h<d;if(f>0&&!i&&(f>=30||g+c>200))break;e+=1,f+=1,g+=c,b.user&&(h+=1)}return e}function wD(a){return{startIndex:wB(a,a.length),endIndex:a.length}}function wE(a,b){let c,d;if(0===a.length)return{startIndex:0,endIndex:0};if(!b)return wD(a);let e=(d=(c=b.lastIndexOf(":"))>0?b.slice(0,c):b,a.findIndex(a=>wz(a).some(a=>a.identity===d)));if(e<0)return wD(a);let f=Math.min(a.length,e+1+10);return{startIndex:wB(a,f),endIndex:f}}function wF({active:a=!0,turns:b,focusTurnIdentity:c,initialAnchor:d,children:e}){let{scrollRef:f}=vB(),[g,h]=(0,O.useState)(()=>({...wE(b,d),turnCount:b.length,focusTurnIdentity:c}));a||g.focusTurnIdentity===c||h({...g,focusTurnIdentity:c});let i=(0,O.useRef)(null),j=(0,O.useRef)(!1),k=(0,O.useMemo)(()=>{if(0===b.length)return{startIndex:0,endIndex:0};if(a&&g.focusTurnIdentity!==c)return wD(b);if(0===g.turnCount&&0===g.endIndex)return wE(b,d);let e=g.endIndex>=g.turnCount;return{startIndex:Math.min(g.startIndex,b.length),endIndex:e?b.length:Math.max(g.startIndex,Math.min(g.endIndex,b.length))}},[a,c,d,b,g]),l=(0,O.useCallback)(a=>{h({...a,turnCount:b.length,focusTurnIdentity:c})},[c,b.length]),m=(0,O.useCallback)(()=>{let a=f.current,b=a?.querySelector("[data-chat-turn]");a&&b?.dataset.chatTurn&&(i.current={turnIdentity:b.dataset.chatTurn,offset:b.getBoundingClientRect().top-a.getBoundingClientRect().top})},[f]);(0,O.useCallback)(()=>{if(k.startIndex<=0||j.current)return;let a=wB(b,k.startIndex);if(a>=k.startIndex)return;m();let c=f.current;c&&ww("window:expand-earlier",c,{previousStartIndex:k.startIndex,nextStartIndex:a}),j.current=!0,l({...k,startIndex:a})},[m,l,k,f,b]),(0,O.useCallback)(()=>{if(k.endIndex>=b.length||j.current)return;let a=wC(b,k.endIndex);a<=k.endIndex||(j.current=!0,l({...k,endIndex:a}))},[l,k,b]);let n=(0,O.useCallback)(a=>{!Number.isSafeInteger(a)||a<0||a>=b.length||a>=k.startIndex&&a<k.endIndex||(a<k.startIndex?l({...k,startIndex:Math.min(a,wB(b,a+1))}):l({...k,endIndex:Math.max(a+1,wC(b,a))}))},[l,k,b]),o=(0,O.useCallback)(()=>{l(wD(b))},[l,b]),p=(0,O.useMemo)(()=>b.slice(k.startIndex,k.endIndex),[k.endIndex,k.startIndex,b]),q=(0,O.useMemo)(()=>({...k,visibleTurns:p,containsTail:k.endIndex>=b.length,revealTurn:n,resetToTail:o}),[k,o,n,b.length,p]);return(0,N.jsx)(N.Fragment,{children:e(q)})}let wG={canMoveUp:!1,canMoveDown:!1,hasNextMessage:!1};function wH(a,b,c,d){let e=0,f=a.length;for(;e<f;){let g=Math.floor((e+f)/2),h=a[g].getBoundingClientRect().top-b;(d?h>=c:h>c)?f=g:e=g+1}return e}function wI(a){return a.user?`${a.user.identity}:user`:null}function wJ(a,b,c){var d;let e,f,g=Array.from(a.querySelectorAll("[data-chat-user-message]")),h=a.getBoundingClientRect().top+12,i=wH(g,h,-2,!0),j=wH(g,h,2,!1),k=c.find(a=>a>=b.startIndex&&a<b.endIndex),l=c.findLast(a=>a>=b.startIndex&&a<b.endIndex),m=0===i?c.findLast(a=>a<(k??b.startIndex))??null:null,n=j>=g.length?c.find(a=>a>(l??b.endIndex-1))??null:null,o=a.scrollHeight-a.scrollTop-a.clientHeight,p=(f=a.querySelector("[data-chat-tail-space]"))&&(e=(d=f).lastElementChild)instanceof HTMLElement?Math.max(0,d.getBoundingClientRect().bottom-e.getBoundingClientRect().bottom):0,q=b.containsTail&&o<=2;return ww("navigation:inspect",a,{containsTail:b.containsTail,tailSpacerHeight:p,atBottom:q,previousMessage:g[i-1]?.dataset.chatUserMessage??null,nextMessage:g[j]?.dataset.chatUserMessage??null,previousOutsideTurnIndex:m,nextOutsideTurnIndex:n}),{previousMessage:g[i-1]??null,nextMessage:g[j]??null,previousOutsideTurnIndex:m,nextOutsideTurnIndex:n,atBottom:q}}function wK({turns:a,window:b}){let{t:c}=(0,aa.Bd)("conversation"),{scrollRef:d,scrollToBottom:e,stopScroll:f}=vB(),g=(0,O.useMemo)(()=>a.flatMap((a,b)=>a.user?[b]:[]),[a]),[h,i]=(0,O.useState)(!1),[j,k]=(0,O.useState)(wG),[l,m]=(0,O.useState)(null),n=(0,O.useRef)(null),o=(0,O.useRef)(!1),p=(0,O.useRef)(!1),q=(0,O.useRef)(null),r=(0,O.useRef)(null),s=(0,O.useRef)(!1),t=(0,O.useRef)(null),u=(0,O.useRef)(!1),v=(0,O.useRef)(!1),w=(0,O.useCallback)(a=>{var c;let d,e=(d=!(c=wJ(a,b,g)).atBottom,{canMoveUp:null!==c.previousMessage||null!==c.previousOutsideTurnIndex,canMoveDown:d,hasNextMessage:d&&(null!==c.nextMessage||null!==c.nextOutsideTurnIndex)});s.current&&(e.canMoveDown=!1),k(a=>a.canMoveUp===e.canMoveUp&&a.canMoveDown===e.canMoveDown&&a.hasNextMessage===e.hasNextMessage?a:e)},[b,g]),x=(0,O.useCallback)(a=>{null===r.current&&(r.current=window.requestAnimationFrame(()=>{r.current=null,w(a)}))},[w]),y=(0,O.useCallback)(()=>{null!==q.current&&(window.clearTimeout(q.current),q.current=null)},[]),z=(0,O.useCallback)(()=>{y(),p.current||(q.current=window.setTimeout(()=>{q.current=null,o.current=!1,i(!1),null!==r.current&&(window.cancelAnimationFrame(r.current),r.current=null)},2e3))},[y]);(0,O.useCallback)(()=>{null!==n.current&&window.clearTimeout(n.current),n.current=null,m(a=>a?.visible?{...a,visible:!1}:a)},[]);let A=(0,O.useCallback)(a=>{null!==n.current&&window.clearTimeout(n.current),m({index:a,visible:!0}),n.current=window.setTimeout(()=>{n.current=null,m(a=>a?.visible?{...a,visible:!1}:a)},2e3)},[]),B=(0,O.useCallback)(()=>{let a=d.current;a&&(o.current||k(wG),o.current=!0,i(!0),x(a),z())},[x,z,d]),C=(0,O.useCallback)((c,h)=>{let i=d.current;if(!i)return;B();let j=wJ(i,b,g),l="up"===c?j.previousMessage:j.atBottom?null:j.nextMessage;if(l){let c=g.findIndex(b=>wI(a[b])===l.dataset.chatScrollAnchor);c>=0&&A(c+1),s.current=!1,f(),function(a,b,c){let d,e,f,g,h,i;ww("position:start",a,{target:b.dataset.chatScrollAnchor??null,offset:12,addTailSpace:c}),wx(a);let j=c?(i=(h=a.querySelectorAll("[data-chat-turn]")).item(h.length-1),i?.hasAttribute("data-chat-logical-tail")?i:null):null;if(!j){a.scrollTop=Math.max(0,a.scrollTop+b.getBoundingClientRect().top-a.getBoundingClientRect().top-12),ww("position:end",a,{target:b.dataset.chatScrollAnchor??null,offset:12,addTailSpace:c});return}let{targetScrollTop:k,minHeight:l}=(d=a.getBoundingClientRect(),f=Math.max(0,(e=a.scrollTop)+b.getBoundingClientRect().top-d.top-12),g=e+j.getBoundingClientRect().top-d.top,{targetScrollTop:f,minHeight:Math.max(0,f+a.clientHeight-g-function(a){let b=a.parentElement;if(!b)return 0;let c=Number.parseFloat(getComputedStyle(b).paddingBottom);return Number.isFinite(c)?c:0}(j))});j.style.minHeight=`${Math.ceil(l)}px`,j.dataset.chatTailSpace="";let m=b.dataset.chatScrollAnchor;m&&(j.dataset.chatTailAnchor=m),j.dataset.chatTailOffset=String(12),a.scrollTop=k,ww("position:end",a,{target:b.dataset.chatScrollAnchor??null,offset:12,addTailSpace:c,minHeight:l})}(i,l,b.containsTail)}else{let d="up"===c?j.previousOutsideTurnIndex:j.nextOutsideTurnIndex;if(null!==d){let c=wI(a[d]);c&&(A(g.indexOf(d)+1),s.current=!1,t.current={anchor:c},b.revealTurn(d))}else"down"===c&&(g.length>0&&A(g.length),h&&(h.disabled=!0),k(a=>a.canMoveDown?{...a,canMoveDown:!1}:a),j.atBottom||s.current||(ww("navigation:bottom:start",i,{containsTail:b.containsTail}),s.current=!0,wx(i),b.containsTail?Promise.resolve(e({animation:"instant"})).finally(()=>{s.current=!1,v.current&&o.current&&x(i)}):(u.current=!0,b.resetToTail())))}x(i)},[x,d,e,B,A,f,a,b,g]),D=h&&(j.canMoveUp||j.canMoveDown),E=c(j.hasNextMessage?"nextUserMessage":"bottom");return(0,N.jsxs)(N.Fragment,{children:[l&&g.length>0?(0,N.jsxs)("div",{role:"status","aria-hidden":!l.visible,"aria-label":`${c("userNavigation")} ${l.index} / ${g.length}`,className:`pointer-events-none absolute top-1/2 left-3 z-10 -translate-y-1/2 rounded-lg border bg-background/95 px-2 py-2 shadow-sm transition-opacity duration-150 motion-reduce:transition-none sm:left-4 ${l.visible?"opacity-100":"opacity-0"}`,children:[(0,N.jsxs)("div",{className:"text-center text-sm font-medium tabular-nums",children:[l.index," / ",g.length]}),(0,N.jsx)("div",{className:"relative mx-auto mt-2 h-28 w-0.5 rounded-full bg-border",children:(0,N.jsx)("span",{className:"absolute left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-foreground",style:{top:`${(l.index-1)/Math.max(1,g.length-1)*100}%`}})})]}):null,D?(0,N.jsxs)(d6,{orientation:"vertical",className:"absolute right-3 bottom-4 z-10 rounded-lg shadow-sm sm:right-4","aria-label":c("userNavigation"),onMouseEnter:()=>{p.current=!0,y()},onMouseLeave:()=>{p.current=!1,o.current&&z()},children:[(0,N.jsx)(ae.$,{type:"button",variant:"outline",size:"icon",className:"size-10 bg-background/90 backdrop-blur dark:bg-background/90",disabled:!j.canMoveUp,"aria-label":c("previousUserMessage"),title:c("previousUserShort"),onClick:()=>C("up"),children:(0,N.jsx)(ak.A,{className:"size-4"})}),(0,N.jsx)(ae.$,{type:"button",variant:"outline",size:"icon",className:"size-10 bg-background/90 backdrop-blur dark:bg-background/90",disabled:!j.canMoveDown,"aria-label":E,title:E,onClick:a=>C("down",a.currentTarget),children:(0,N.jsx)(al.A,{className:"size-4"})})]}):null]})}let wL=(0,O.createContext)({basic:!1});function wM({basic:a,onRecover:b,children:c}){let d=(0,O.useMemo)(()=>({basic:a,recover:b}),[a,b]);return(0,N.jsx)(wL.Provider,{value:d,children:c})}function wN(a){return{location:a.snapshot.location,fixed:a.snapshot.fixed,summary:a.snapshot.summary,...void 0===a.snapshot.detail?{}:{detail:a.snapshot.detail}}}class wO{constructor(a,b){this.listeners=new Set,this.pending=null,this.requestEpoch=0,this.disposed=!1,this.basic=!1,this.message=a,this.snapshot=wN(a),this.loader=b,this.detailLoaded=void 0!==this.snapshot.detail||!this.snapshot.fixed.hasDetail}getSnapshot(){return this.snapshot}subscribe(a){if(this.disposed)throw Error("Message Handle has been disposed");return this.listeners.add(a),()=>{this.listeners.delete(a)}}loadDetail(){if(this.detailLoaded)return Promise.resolve(this.snapshot.detail??null);if(!this.snapshot.fixed.hasDetail)return Promise.resolve(null);if(!("entryId"in this.snapshot.location))return Promise.reject(Error("Temporary Message 不能读取 canonical Detail"));if(this.pending)return this.pending;let a=this.requestEpoch,b=this.loader(this.message).then(b=>(this.disposed||a!==this.requestEpoch||(this.detailLoaded=!0,this.snapshot={...this.snapshot,...null===b?{}:{detail:b}},this.notify()),b)).finally(()=>{this.pending===b&&(this.pending=null)});return this.pending=b,b}replace(a,b,c){if(this.disposed)return;let d=wN(a);if(this.snapshot===d)return;let e=this.basic!==c||void 0!==this.snapshot.detail&&void 0===d.detail||this.snapshot.fixed.viewKey!==d.fixed.viewKey||"entryId"in this.snapshot.location&&"entryId"in d.location&&this.snapshot.location.entryId!==d.location.entryId;this.basic=c,this.message=a,this.loader=b,this.snapshot=d,e?(this.requestEpoch+=1,this.pending=null,this.detailLoaded=void 0!==d.detail||!d.fixed.hasDetail):void 0===d.detail&&d.fixed.hasDetail||(this.detailLoaded=!0),this.notify()}dispose(){this.disposed||(this.disposed=!0,this.listeners.clear(),this.requestEpoch+=1,this.pending=null)}notify(){for(let a of[...this.listeners])a()}}function wP({message:a,pluginName:b,contributionName:c,phase:d,error:e,handle:f,fallback:g,onRetry:h}){let{t:i}=(0,aa.Bd)("conversation"),[j,k]=(0,O.useState)(f.getSnapshot().detail),[l,m]=(0,O.useState)(!1),[n,o]=(0,O.useState)(null),p=(0,O.useContext)(wL),[q,r]=(0,O.useState)(!1),[s,t]=(0,O.useState)(!1);return e.name,e.message,e.stack,(0,N.jsxs)("div",{className:"space-y-2","data-message-id":a.identity,children:[g,(0,N.jsx)("div",{role:"alert",className:"rounded-lg border border-destructive/35 bg-muted/30 p-3 text-sm",children:(0,N.jsxs)("div",{className:"flex items-start gap-2",children:[(0,N.jsx)(cx.A,{className:"mt-0.5 size-4 shrink-0 text-destructive"}),(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsx)("p",{className:"font-medium text-destructive",children:i("viewFailed")}),"pi-desk/message-declaration-error"===a.viewKey&&"string"==typeof a.snapshot.summary.text&&a.snapshot.summary.text.length>0?(0,N.jsx)("p",{className:"mt-2 whitespace-pre-wrap break-words text-foreground",children:a.snapshot.summary.text}):null,(0,N.jsxs)(cA,{error:e,children:[(0,N.jsxs)("p",{className:"text-xs text-muted-foreground [overflow-wrap:anywhere]",children:[b??"Host"," \xb7 ",c??i("reservedView")," \xb7 ",a.viewKey," ","\xb7 ",d]}),(0,N.jsxs)("details",{className:"text-sm",children:[(0,N.jsx)("summary",{className:"cursor-pointer text-muted-foreground",children:i("publicSnapshot")}),(0,N.jsx)("pre",{className:"mt-2 max-h-48 overflow-auto rounded-md bg-background p-3 font-mono text-sm whitespace-pre-wrap [overflow-wrap:anywhere]",children:JSON.stringify(f.getSnapshot(),null,2)})]}),!a.temporary&&a.snapshot.fixed.hasDetail&&void 0===j?(0,N.jsxs)(ae.$,{type:"button",variant:"outline",size:"sm",disabled:l,onClick:()=>{m(!0),o(null),f.loadDetail().then(k,a=>{o(a instanceof Error?a.message:i("detailFailed"))}).finally(()=>m(!1))},children:[l?(0,N.jsx)(ab.A,{className:"animate-spin"}):null,i("loadDetail")]}):null,n?(0,N.jsx)("p",{className:"text-sm text-destructive [overflow-wrap:anywhere]",children:n}):null,j?(0,N.jsx)("pre",{className:"max-h-48 overflow-auto rounded-md bg-background p-3 font-mono text-sm whitespace-pre-wrap [overflow-wrap:anywhere]",children:JSON.stringify(j,null,2)}):null]}),p.recover?(0,N.jsxs)(ae.$,{type:"button",variant:"outline",size:"sm",className:"mt-2 mr-2",disabled:q,onClick:()=>{r(!0),p.recover().catch(a=>o(a instanceof Error?a.message:String(a))).finally(()=>r(!1))},children:[q?(0,N.jsx)(ab.A,{className:"animate-spin"}):null,i("useBasicPresentation")]}):null,h?(0,N.jsxs)(ae.$,{type:"button",variant:"outline",size:"sm",className:"mt-2",disabled:s,onClick:()=>{t(!0),o(null),Promise.resolve().then(h).catch(a=>o(a instanceof Error?a.message:String(a))).finally(()=>t(!1))},children:[s?(0,N.jsx)(ab.A,{className:"animate-spin"}):(0,N.jsx)(bW.A,{}),i("retry")]}):null]})]})})]})}function wQ({message:a}){let{t:b}=(0,aa.Bd)("conversation");return(0,N.jsxs)("div",{className:"rounded-lg border bg-muted/30 p-3 text-sm","aria-busy":"true",children:[(0,N.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",role:"status",children:[(0,N.jsx)(ab.A,{className:"size-4 animate-spin"}),b("viewLoading")]}),(0,N.jsxs)("details",{className:"mt-2",children:[(0,N.jsx)("summary",{className:"cursor-pointer text-muted-foreground",children:b("messageContent")}),(0,N.jsx)("pre",{className:"mt-2 max-h-48 overflow-auto whitespace-pre-wrap [overflow-wrap:anywhere]",children:JSON.stringify(a.snapshot.summary,null,2)})]})]})}function wR({message:a,loadDetail:b,defaultView:c}){let{t:d}=(0,aa.Bd)("conversation"),e=(0,bR.t4)();(0,bR.So)();let f=(0,O.useContext)(wL),g=(0,O.useRef)(null);(0,O.useRef)(null);let h=(0,O.useRef)(null),[i,j]=(0,O.useState)({status:"loading"}),[k]=(0,O.useState)(()=>new wO(a,b)),[l,m]=(0,O.useState)(0),n=e.getMessageViewResolution(a.viewKey),o=e.areEntriesInitialized(),p=!n&&e.isRefreshingEntries(),q=n?.status==="winner"?`${a.viewKey}\u0000${n.pluginName}\u0000${n.descriptor.contributionName}\u0000${n.descriptor.priority}`:n?.status==="conflict"?`${a.viewKey}\u0000${n.candidates.map(a=>`${a.pluginName}:${a.descriptor.contributionName}`).join(",")}`:a.viewKey,r=n?.status==="winner"?n.pluginName:null;n?.status==="winner"&&n.descriptor.contributionName;let s=r?e.getEntryState(r):null,t=s?.status==="ready"?s.runtime:s?.status,u=a.viewKey.startsWith("pi-desk/")&&"pi-desk/message-declaration-error"!==a.viewKey,v=(0,O.useMemo)(()=>({attempt:l,basic:f.basic,resolutionKey:q,winnerIdentity:t}),[l,f.basic,q,t]);if((0,O.useMemo)(()=>({kind:"message-view",message:{getSnapshot:()=>k.getSnapshot(),subscribe:a=>h.current!==v?()=>void 0:k.subscribe(()=>{if(h.current===v&&r&&e.getEntryState(r)===s)try{a()}catch(a){j({status:"error",error:a instanceof Error?a:Error(String(a)),phase:"update",generation:v})}}),loadDetail:async()=>{if(h.current!==v)throw Error("Message View 已释放");let a=await k.loadDetail();if(h.current!==v)throw Error("Message View 已释放");return a}},reportError(a){h.current===v&&r&&e.getEntryState(r)===s&&j({status:"error",error:a instanceof Error?a:Error(String(a)),phase:"report-error",generation:v})}}),[k,v,e,s,r]),f.basic)return(0,N.jsx)(N.Fragment,{children:c});if("pi-desk/message-declaration-error"===a.viewKey)return(0,N.jsx)(wP,{message:a,pluginName:"pi-desk",contributionName:"message-declaration-error",phase:"declaration",error:Error(d("declarationFailed")),handle:k});if(!o)return u?(0,N.jsx)(N.Fragment,{children:c}):(0,N.jsx)(wQ,{message:a});if(n?.status==="conflict")return(0,N.jsx)(wP,{message:a,pluginName:null,contributionName:null,phase:"priority-conflict",error:Error(d("viewConflict")),handle:k,fallback:u?c:void 0});if(!n)return u?(0,N.jsx)(N.Fragment,{children:c}):p?(0,N.jsx)(wQ,{message:a}):(0,N.jsx)(wP,{message:a,pluginName:null,contributionName:null,phase:"missing-view",error:Error(d("viewMissing",{viewKey:a.viewKey})),handle:k,onRetry:async()=>{await e.refreshEntries(),await Promise.all(e.getFailedEntries().map(({pluginName:a})=>e.retryEntry(a)))}});if("error"===i.status&&i.generation===v)return(0,N.jsx)(wP,{message:a,pluginName:n.pluginName,contributionName:n.descriptor.contributionName,phase:i.phase,error:i.error,handle:k,fallback:u?c:void 0,onRetry:()=>{let a=e.getContributionLoadState(n.pluginName,"message-view",n.descriptor.contributionName);(j({status:"loading"}),"failed"!==a.status)?m(a=>a+1):e.retryContribution(n.pluginName,"message-view",n.descriptor.contributionName).then(()=>m(a=>a+1),a=>{j({status:"error",error:a instanceof Error?a:Error(String(a)),phase:"load",generation:v})})}});let w="ready"===i.status&&i.generation===v;return(0,N.jsxs)("div",{className:"relative","data-message-id":a.identity,"aria-busy":!w,children:[w?null:u?c:(0,N.jsx)(wQ,{message:a}),(0,N.jsx)("div",{ref:g,className:w?void 0:"pointer-events-none invisible absolute inset-x-0 top-0","data-pi-desk-plugin":n.pluginName,"data-pi-desk-kind":"message-view","data-pi-desk-contribution":n.descriptor.contributionName})]})}let wS=(0,ac.A)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]),wT=(0,ac.A)("file-plus-corner",[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]]),wU=(0,ac.A)("file-pen-line",[["path",{d:"M14.364 13.634a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506l4.013-4.009a1 1 0 0 0-3.004-3.004z",key:"ukzhwg"}],["path",{d:"M14.487 7.858A1 1 0 0 1 14 7V2",key:"1klhew"}],["path",{d:"M20 19.645V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l2.516 2.516",key:"rxaxab"}],["path",{d:"M8 18h1",key:"13wk12"}]]),wV=(0,ac.A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),wW=(0,ac.A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);var wX=c(97993);let wY={src:"/_next/static/media/console.fdac8a18.svg",height:16,width:16,blurWidth:0,blurHeight:0},wZ={src:"/_next/static/media/docker.1e10aab8.svg",height:24,width:24,blurWidth:0,blurHeight:0},w$={src:"/_next/static/media/git.f893cb5f.svg",height:32,width:32,blurWidth:0,blurHeight:0},w_={src:"/_next/static/media/html.97f145d3.svg",height:32,width:32,blurWidth:0,blurHeight:0},w0={src:"/_next/static/media/image.69ad851c.svg",height:16,width:16,blurWidth:0,blurHeight:0},w1={src:"/_next/static/media/javascript.9ef61c53.svg",height:16,width:16,blurWidth:0,blurHeight:0},w2={src:"/_next/static/media/json.eb8fe488.svg",height:960,width:960,blurWidth:0,blurHeight:0},w3={src:"/_next/static/media/markdown.ee1bbe18.svg",height:32,width:32,blurWidth:0,blurHeight:0},w4={src:"/_next/static/media/nodejs.2f5d7983.svg",height:32,width:32,blurWidth:0,blurHeight:0},w5={src:"/_next/static/media/typescript.cd97905b.svg",height:16,width:16,blurWidth:0,blurHeight:0},w6={src:"/_next/static/media/yaml.8927dd24.svg",height:24,width:24,blurWidth:0,blurHeight:0},w7=new Map(Object.entries({"agents.md":{src:"/_next/static/media/agent.84538518.svg",height:32,width:32,blurWidth:0,blurHeight:0},"skill.md":{src:"/_next/static/media/skill.a97e8eb6.svg",height:16,width:16,blurWidth:0,blurHeight:0},"package.json":w4,"package-lock.json":w4,"npm-shrinkwrap.json":w4,dockerfile:wZ,".dockerignore":wZ,".gitignore":w$,".gitattributes":w$,".gitmodules":w$})),w8=new Map(Object.entries({ts:w5,mts:w5,cts:w5,tsx:{src:"/_next/static/media/react_ts.3d16336c.svg",height:32,width:32,blurWidth:0,blurHeight:0},js:w1,mjs:w1,cjs:w1,jsx:{src:"/_next/static/media/react.b5a87f7d.svg",height:32,width:32,blurWidth:0,blurHeight:0},json:w2,jsonc:w2,jsonl:w2,yaml:w6,yml:w6,md:w3,mdx:w3,png:w0,jpg:w0,jpeg:w0,gif:w0,webp:w0,avif:w0,bmp:w0,ico:w0,svg:{src:"/_next/static/media/svg.4aa98763.svg",height:32,width:32,blurWidth:0,blurHeight:0},sh:wY,bash:wY,zsh:wY,fish:wY,ps1:wY,bat:wY,cmd:wY,html:w_,htm:w_,css:{src:"/_next/static/media/css.0d88d948.svg",height:32,width:32,blurWidth:0,blurHeight:0},py:{src:"/_next/static/media/python.e376d0bc.svg",height:24,width:24,blurWidth:0,blurHeight:0}}));function w9({path:a,className:b}){let c=a.replaceAll("\\","/").split("/").at(-1)?.toLowerCase()??"",d=c.includes(".")?c.slice(c.lastIndexOf(".")+1):"",e=w7.get(c)??(c.startsWith("dockerfile.")?wZ:void 0)??w8.get(d);return e?(0,N.jsx)(wX.default,{src:e,alt:"","aria-hidden":"true",width:16,height:16,className:b,unoptimized:!0}):(0,N.jsx)(pJ.A,{className:b,"aria-hidden":"true"})}var xa=c(72482);let xb=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],xc=new Set([...xb,"pathRotation"]),xd=(a,b,c)=>c>b?b:c<a?a:c,xe={test:a=>"number"==typeof a,parse:parseFloat,transform:a=>a},xf={...xe,transform:a=>xd(0,1,a)},xg={...xe,default:1},xh=a=>Math.round(1e5*a)/1e5,xi=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu,xj=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,xk=(a,b)=>c=>!!("string"==typeof c&&xj.test(c)&&c.startsWith(a)||b&&null!=c&&Object.prototype.hasOwnProperty.call(c,b)),xl=(a,b,c)=>d=>{if("string"!=typeof d)return d;let[e,f,g,h]=d.match(xi);return{[a]:parseFloat(e),[b]:parseFloat(f),[c]:parseFloat(g),alpha:void 0!==h?parseFloat(h):1}},xm={...xe,transform:a=>Math.round(xd(0,255,a))},xn={test:xk("rgb","red"),parse:xl("red","green","blue"),transform:({red:a,green:b,blue:c,alpha:d=1})=>"rgba("+xm.transform(a)+", "+xm.transform(b)+", "+xm.transform(c)+", "+xh(xf.transform(d))+")"},xo={test:xk("#"),parse:function(a){let b="",c="",d="",e="";return a.length>5?(b=a.substring(1,3),c=a.substring(3,5),d=a.substring(5,7),e=a.substring(7,9)):(b=a.substring(1,2),c=a.substring(2,3),d=a.substring(3,4),e=a.substring(4,5),b+=b,c+=c,d+=d,e+=e),{red:parseInt(b,16),green:parseInt(c,16),blue:parseInt(d,16),alpha:e?parseInt(e,16)/255:1}},transform:xn.transform},xp=a=>({test:b=>"string"==typeof b&&b.endsWith(a)&&1===b.split(" ").length,parse:parseFloat,transform:b=>`${b}${a}`}),xq=xp("deg"),xr=xp("%"),xs=xp("px"),xt=xp("vh"),xu=xp("vw"),xv={...xr,parse:a=>xr.parse(a)/100,transform:a=>xr.transform(100*a)},xw={test:xk("hsl","hue"),parse:xl("hue","saturation","lightness"),transform:({hue:a,saturation:b,lightness:c,alpha:d=1})=>"hsla("+Math.round(a)+", "+xr.transform(xh(b))+", "+xr.transform(xh(c))+", "+xh(xf.transform(d))+")"},xx={test:a=>xn.test(a)||xo.test(a)||xw.test(a),parse:a=>xn.test(a)?xn.parse(a):xw.test(a)?xw.parse(a):xo.parse(a),transform:a=>"string"==typeof a?a:a.hasOwnProperty("red")?xn.transform(a):xw.transform(a),getAnimatableNone:a=>{let b=xx.parse(a);return b.alpha=0,xx.transform(b)}},xy=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu,xz="number",xA="color",xB=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function xC(a){let b=a.toString(),c=[],d={color:[],number:[],var:[]},e=[],f=0,g=b.replace(xB,a=>(xx.test(a)?(d.color.push(f),e.push(xA),c.push(xx.parse(a))):a.startsWith("var(")?(d.var.push(f),e.push("var"),c.push(a)):(d.number.push(f),e.push(xz),c.push(parseFloat(a))),++f,"${}")).split("${}");return{values:c,split:g,indexes:d,types:e}}function xD({split:a,types:b}){let c=a.length;return d=>{let e="";for(let f=0;f<c;f++)if(e+=a[f],void 0!==d[f]){let a=b[f];a===xz?e+=xh(d[f]):a===xA?e+=xx.transform(d[f]):e+=d[f]}return e}}let xE={test:function(a){return isNaN(a)&&"string"==typeof a&&(a.match(xi)?.length||0)+(a.match(xy)?.length||0)>0},parse:function(a){return xC(a).values},createTransformer:function(a){return xD(xC(a))},getAnimatableNone:function(a){let b=xC(a);return xD(b)(b.values.map((a,c)=>((a,b)=>"number"==typeof a?b?.trim().endsWith("/")?a:0:"number"==typeof a?0:xx.test(a)?xx.getAnimatableNone(a):a)(a,b.split[c])))}},xF=new Set(["brightness","contrast","saturate","opacity"]);function xG(a){let[b,c]=a.slice(0,-1).split("(");if("drop-shadow"===b)return a;let[d]=c.match(xi)||[];if(!d)return a;let e=c.replace(d,""),f=+!!xF.has(b);return d!==c&&(f*=100),b+"("+f+e+")"}let xH=/\b([a-z-]*)\(.*?\)/gu,xI={...xE,getAnimatableNone:a=>{let b=a.match(xH);return b?b.map(xG).join(" "):a}},xJ={...xE,getAnimatableNone:a=>{let b=xE.parse(a);return xE.createTransformer(a)(b.map(a=>"number"==typeof a?0:"object"==typeof a?{...a,alpha:1}:a))}},xK={...xe,transform:Math.round},xL={borderWidth:xs,borderTopWidth:xs,borderRightWidth:xs,borderBottomWidth:xs,borderLeftWidth:xs,borderRadius:xs,borderTopLeftRadius:xs,borderTopRightRadius:xs,borderBottomRightRadius:xs,borderBottomLeftRadius:xs,width:xs,maxWidth:xs,height:xs,maxHeight:xs,top:xs,right:xs,bottom:xs,left:xs,inset:xs,insetBlock:xs,insetBlockStart:xs,insetBlockEnd:xs,insetInline:xs,insetInlineStart:xs,insetInlineEnd:xs,padding:xs,paddingTop:xs,paddingRight:xs,paddingBottom:xs,paddingLeft:xs,paddingBlock:xs,paddingBlockStart:xs,paddingBlockEnd:xs,paddingInline:xs,paddingInlineStart:xs,paddingInlineEnd:xs,margin:xs,marginTop:xs,marginRight:xs,marginBottom:xs,marginLeft:xs,marginBlock:xs,marginBlockStart:xs,marginBlockEnd:xs,marginInline:xs,marginInlineStart:xs,marginInlineEnd:xs,fontSize:xs,backgroundPositionX:xs,backgroundPositionY:xs,rotate:xq,pathRotation:xq,rotateX:xq,rotateY:xq,rotateZ:xq,scale:xg,scaleX:xg,scaleY:xg,scaleZ:xg,skew:xq,skewX:xq,skewY:xq,distance:xs,translateX:xs,translateY:xs,translateZ:xs,x:xs,y:xs,z:xs,perspective:xs,transformPerspective:xs,opacity:xf,originX:xv,originY:xv,originZ:xs,zIndex:xK,fillOpacity:xf,strokeOpacity:xf,numOctaves:xK},xM={...xL,color:xx,backgroundColor:xx,outlineColor:xx,fill:xx,stroke:xx,borderColor:xx,borderTopColor:xx,borderRightColor:xx,borderBottomColor:xx,borderLeftColor:xx,filter:xI,WebkitFilter:xI,mask:xJ,WebkitMask:xJ},xN=a=>xM[a],xO=()=>({translate:0,scale:1,origin:0,originPoint:0}),xP=()=>({x:xO(),y:xO()}),xQ=()=>({min:0,max:0}),xR=()=>({x:xQ(),y:xQ()}),xS=a=>!!(a&&a.getVelocity),xT=new Set(["width","height","top","left","right","bottom",...xb]),xU=a=>b=>b.test(a),xV=[xe,xs,xr,xq,xu,xt,{test:a=>"auto"===a,parse:a=>a}],xW=a=>xV.find(xU(a)),xX=()=>{},xY=()=>{},xZ=a=>b=>"string"==typeof b&&b.startsWith(a),x$=xZ("--"),x_=xZ("var(--"),x0=a=>!!x_(a)&&x1.test(a.split("/*")[0].trim()),x1=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function x2(a){return"string"==typeof a&&a.split("/*")[0].includes("var(--")}let x3=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u,x4=a=>180*a/Math.PI,x5=a=>x7(x4(Math.atan2(a[1],a[0]))),x6={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:a=>(Math.abs(a[0])+Math.abs(a[3]))/2,rotate:x5,rotateZ:x5,skewX:a=>x4(Math.atan(a[1])),skewY:a=>x4(Math.atan(a[2])),skew:a=>(Math.abs(a[1])+Math.abs(a[2]))/2},x7=a=>((a%=360)<0&&(a+=360),a),x8=a=>Math.sqrt(a[0]*a[0]+a[1]*a[1]),x9=a=>Math.sqrt(a[4]*a[4]+a[5]*a[5]),ya={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:x8,scaleY:x9,scale:a=>(x8(a)+x9(a))/2,rotateX:a=>x7(x4(Math.atan2(a[6],a[5]))),rotateY:a=>x7(x4(Math.atan2(-a[2],a[0]))),rotateZ:x5,rotate:x5,skewX:a=>x4(Math.atan(a[4])),skewY:a=>x4(Math.atan(a[1])),skew:a=>(Math.abs(a[1])+Math.abs(a[4]))/2};function yb(a){return+!!a.includes("scale")}function yc(a,b){let c,d;if(!a||"none"===a)return yb(b);let e=a.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);if(e)c=ya,d=e;else{let b=a.match(/^matrix\(([-\d.e\s,]+)\)$/u);c=x6,d=b}if(!d)return yb(b);let f=c[b],g=d[1].split(",").map(yd);return"function"==typeof f?f(g):g[f]}function yd(a){return parseFloat(a.trim())}let ye=a=>a===xe||a===xs,yf=new Set(["x","y","z"]),yg=xb.filter(a=>!yf.has(a)),yh={width:({x:a},{paddingLeft:b="0",paddingRight:c="0",boxSizing:d})=>{let e=a.max-a.min;return"border-box"===d?e:e-parseFloat(b)-parseFloat(c)},height:({y:a},{paddingTop:b="0",paddingBottom:c="0",boxSizing:d})=>{let e=a.max-a.min;return"border-box"===d?e:e-parseFloat(b)-parseFloat(c)},top:(a,{top:b})=>parseFloat(b),left:(a,{left:b})=>parseFloat(b),bottom:({y:a},{top:b})=>parseFloat(b)+(a.max-a.min),right:({x:a},{left:b})=>parseFloat(b)+(a.max-a.min),x:(a,{transform:b})=>yc(b,"x"),y:(a,{transform:b})=>yc(b,"y")};yh.translateX=yh.x,yh.translateY=yh.y;let yi=a=>a,yj={},yk=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function yl(a,b){let c=!1,d=!0,e={delta:0,timestamp:0,isProcessing:!1},f=()=>c=!0,g=yk.reduce((a,b)=>(a[b]=function(a){let b=new Set,c=new Set,d=!1,e=!1,f=new WeakSet,g={delta:0,timestamp:0,isProcessing:!1};function h(b){f.has(b)&&(i.schedule(b),a()),b(g)}let i={schedule:(a,e=!1,g=!1)=>{let h=g&&d?b:c;return e&&f.add(a),h.add(a),a},cancel:a=>{c.delete(a),f.delete(a)},process:a=>{if(g=a,d){e=!0;return}d=!0;let f=b;b=c,c=f,b.forEach(h),b.clear(),d=!1,e&&(e=!1,i.process(a))}};return i}(f),a),{}),{setup:h,read:i,resolveKeyframes:j,preUpdate:k,update:l,preRender:m,render:n,postRender:o}=g,p=()=>{let f=yj.useManualTiming,g=f?e.timestamp:performance.now();c=!1,f||(e.delta=d?1e3/60:Math.max(Math.min(g-e.timestamp,40),1)),e.timestamp=g,e.isProcessing=!0,h.process(e),i.process(e),j.process(e),k.process(e),l.process(e),m.process(e),n.process(e),o.process(e),e.isProcessing=!1,c&&b&&(d=!1,a(p))};return{schedule:yk.reduce((b,f)=>{let h=g[f];return b[f]=(b,f=!1,g=!1)=>(!c&&(c=!0,d=!0,e.isProcessing||a(p)),h.schedule(b,f,g)),b},{}),cancel:a=>{for(let b=0;b<yk.length;b++)g[yk[b]].cancel(a)},state:e,steps:g}}let{schedule:ym,cancel:yn,state:yo,steps:yp}=yl("u">typeof requestAnimationFrame?requestAnimationFrame:yi,!0),yq=new Set,yr=!1,ys=!1,yt=!1;function yu(){if(ys){let a=Array.from(yq).filter(a=>a.needsMeasurement),b=new Set(a.map(a=>a.element)),c=new Map;b.forEach(a=>{let b,d=(b=[],yg.forEach(c=>{let d=a.getValue(c);void 0!==d&&(b.push([c,d.get()]),d.set(+!!c.startsWith("scale")))}),b);d.length&&(c.set(a,d),a.render())}),a.forEach(a=>a.measureInitialState()),b.forEach(a=>{a.render();let b=c.get(a);b&&b.forEach(([b,c])=>{a.getValue(b)?.set(c)})}),a.forEach(a=>a.measureEndState()),a.forEach(a=>{void 0!==a.suspendedScrollY&&window.scrollTo(0,a.suspendedScrollY)})}ys=!1,yr=!1,yq.forEach(a=>a.complete(yt)),yq.clear()}function yv(){yq.forEach(a=>{a.readKeyframes(),a.needsMeasurement&&(ys=!0)})}class yw{constructor(a,b,c,d,e,f=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...a],this.onComplete=b,this.name=c,this.motionValue=d,this.element=e,this.isAsync=f}scheduleResolve(){this.state="scheduled",this.isAsync?(yq.add(this),yr||(yr=!0,ym.read(yv),ym.resolveKeyframes(yu))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:a,name:b,element:c,motionValue:d}=this;if(null===a[0]){let e=d?.get(),f=a[a.length-1];if(void 0!==e)a[0]=e;else if(c&&b){let d=c.readValue(b,f);null!=d&&(a[0]=d)}void 0===a[0]&&(a[0]=f),d&&void 0===e&&d.set(a[0])}for(let b=1;b<a.length;b++)a[b]??(a[b]=a[b-1])}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(a=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,a),yq.delete(this)}cancel(){"scheduled"===this.state&&(yq.delete(this),this.state="pending")}resume(){"pending"===this.state&&this.scheduleResolve()}}let yx=new Set([xI,xJ]);function yy(a,b){let c=xN(a);return yx.has(c)||(c=xE),c.getAnimatableNone?c.getAnimatableNone(b):void 0}let yz=new Set(["auto","none","0"]);class yA extends yw{constructor(a,b,c,d,e){super(a,b,c,d,e,!0)}readKeyframes(){let{unresolvedKeyframes:a,element:b,name:c}=this;if(!b||!b.current)return;super.readKeyframes();for(let c=0;c<a.length;c++){let d=a[c];if("string"==typeof d&&x0(d=d.trim())){let e=function a(b,c,d=1){xY(`Max CSS variable fallback depth detected in property "${b}". This may indicate a circular fallback dependency.`);let[e,f]=function(a){let b=x3.exec(a);if(!b)return[,];let[,c,d,e]=b;return[`--${c??d}`,e]}(b);if(!e)return;let g=window.getComputedStyle(c).getPropertyValue(e);if(g){let a=g.trim();return/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(a)?parseFloat(a):a}return x0(f)?a(f,c,d+1):f}(d,b.current);void 0!==e&&(a[c]=e),c===a.length-1&&(this.finalKeyframe=d)}}if(this.resolveNoneKeyframes(),!xT.has(c)||2!==a.length)return;let[d,e]=a,f=xW(d),g=xW(e);if(x2(d)!==x2(e)&&yh[c]){this.needsMeasurement=!0;return}if(f!==g)if(ye(f)&&ye(g))for(let b=0;b<a.length;b++){let c=a[b];"string"==typeof c&&(a[b]=parseFloat(c))}else yh[c]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:a,name:b}=this,c=[];for(let b=0;b<a.length;b++)(null===a[b]||function(a){if("number"==typeof a)return 0===a;if(null===a)return!0;return"none"===a||"0"===a||/^0[^.\s]+$/u.test(a)}(a[b]))&&c.push(b);c.length&&function(a,b,c){let d,e=0;for(;e<a.length&&!d;){let b=a[e];"string"==typeof b&&!yz.has(b)&&xC(b).values.length&&(d=a[e]),e++}if(d&&c)for(let e of b)a[e]=yy(c,d)}(a,c,b)}measureInitialState(){let{element:a,unresolvedKeyframes:b,name:c}=this;if(!a||!a.current)return;"height"===c&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=yh[c](a.measureViewportBox(),window.getComputedStyle(a.current)),b[0]=this.measuredOrigin;let d=b[b.length-1];void 0!==d&&a.getValue(c,d).jump(d,!1)}measureEndState(){let{element:a,name:b,unresolvedKeyframes:c}=this;if(!a||!a.current)return;let d=a.getValue(b);d&&d.jump(this.measuredOrigin,!1);let e=c.length-1,f=c[e];c[e]=yh[b](a.measureViewportBox(),window.getComputedStyle(a.current)),null!==f&&void 0===this.finalKeyframe&&(this.finalKeyframe=f),this.removedTransforms?.length&&this.removedTransforms.forEach(([b,c])=>{a.getValue(b).set(c)}),this.resolveNoneKeyframes()}}let yB=a=>1e3*a;function yC(a,b){-1===a.indexOf(b)&&a.push(b)}function yD(a,b){let c=a.indexOf(b);c>-1&&a.splice(c,1)}class yE{constructor(){this.subscriptions=[]}add(a){return yC(this.subscriptions,a),()=>yD(this.subscriptions,a)}notify(a,b,c){let d=this.subscriptions.length;if(d)if(1===d)this.subscriptions[0](a,b,c);else for(let e=0;e<d;e++){let d=this.subscriptions[e];d&&d(a,b,c)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}function yF(a,b,c){b.startsWith("--")?a.style.setProperty(b,c):a.style[b]=c}function yG(a){let b;return()=>(void 0===b&&(b=a()),b)}let yH={};function yI(a,b){let c=yG(a);return()=>yH[b]??c()}let yJ=yI(()=>void 0!==window.ScrollTimeline,"scrollTimeline"),yK=a=>null!==a;function yL(a,{repeat:b,repeatType:c="loop"},d,e=1){let f=a.filter(yK),g=e<0||b&&"loop"!==c&&b%2==1?0:f.length-1;return g&&void 0!==d?d:f[g]}class yM{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(a=>{this.resolve=a})}notifyFinished(){this.resolve()}then(a,b){return this.finished.then(a,b)}}let yN=a=>Array.isArray(a)&&"number"==typeof a[0],yO=yI(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(a){return!1}return!0},"linearEasing"),yP=(a,b,c=10)=>{let d="",e=Math.max(Math.round(b/c),2);for(let b=0;b<e;b++)d+=Math.round(1e4*a(b/(e-1)))/1e4+", ";return`linear(${d.substring(0,d.length-2)})`},yQ=([a,b,c,d])=>`cubic-bezier(${a}, ${b}, ${c}, ${d})`,yR={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:yQ([0,.65,.55,1]),circOut:yQ([.55,0,1,.45]),backIn:yQ([.31,.01,.66,-.59]),backOut:yQ([.33,1.53,.69,.99])};function yS(a){return"function"==typeof a&&"applyToOptions"in a}class yT extends yM{constructor(a){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!a)return;const{element:b,name:c,keyframes:d,pseudoElement:e,allowFlatten:f=!1,finalKeyframe:g,onComplete:h}=a;this.isPseudoElement=!!e,this.allowFlatten=f,this.options=a,xY(a.type);const i=function({type:a,...b}){return yS(a)&&yO()?a.applyToOptions(b):(b.duration??(b.duration=300),b.ease??(b.ease="easeOut"),b)}(a);this.animation=function(a,b,c,{delay:d=0,duration:e=300,repeat:f=0,repeatType:g="loop",ease:h="easeOut",times:i}={},j){let k={[b]:c};i&&(k.offset=i);let l=function a(b,c){if(b)return"function"==typeof b?yO()?yP(b,c):"ease-out":yN(b)?yQ(b):Array.isArray(b)?b.map(b=>a(b,c)||yR.easeOut):yR[b]}(h,e);Array.isArray(l)&&(k.easing=l);let m={delay:d,duration:e,easing:Array.isArray(l)?"linear":l,fill:"both",iterations:f+1,direction:"reverse"===g?"alternate":"normal"};return j&&(m.pseudoElement=j),a.animate(k,m)}(b,c,d,i,e),!1===i.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!e){let a=yL(d,this.options,g,this.speed);this.updateMotionValue&&this.updateMotionValue(a),yF(b,c,a),this.animation.cancel()}h?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch(a){}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:a}=this;"idle"!==a&&"finished"!==a&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let a=this.options?.element;!this.isPseudoElement&&a?.isConnected&&this.animation.commitStyles?.()}get duration(){return Number(this.animation.effect?.getComputedTiming?.().duration||0)/1e3}get iterationDuration(){let{delay:a=0}=this.options||{};return this.duration+a/1e3}get time(){return(Number(this.animation.currentTime)||0)/1e3}set time(a){let b=null!==this.finishedTime;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=yB(a),b&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(a){a<0&&(this.finishedTime=null),this.animation.playbackRate=a}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(a){this.manualStartTime=this.animation.startTime=a}attachTimeline({timeline:a,rangeStart:b,rangeEnd:c,observe:d}){return(this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,a&&yJ())?(this.animation.timeline=a,b&&(this.animation.rangeStart=b),c&&(this.animation.rangeEnd=c),yi):d(this)}}let yU=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),{schedule:yV}=yl(queueMicrotask,!1);function yW(){g=void 0}let yX={now:()=>(void 0===g&&yX.set(yo.isProcessing||yj.useManualTiming?yo.timestamp:performance.now()),g),set:a=>{g=a,queueMicrotask(yW)}},yY=(a,b)=>b?1e3/b*a:0,yZ;class y${constructor(a,b={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=a=>{let b=yX.now();if(this.updatedAt!==b&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(a),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let a of this.dependents)a.dirty()},this.hasAnimated=!1,this.setCurrent(a),this.owner=b.owner}setCurrent(a){this.current=a,this.updatedAt=yX.now(),null===this.canTrackVelocity&&void 0!==a&&(this.canTrackVelocity=!isNaN(parseFloat(this.current)))}setPrevFrameValue(a=this.current){this.prevFrameValue=a,this.prevUpdatedAt=this.updatedAt}onChange(a){return this.on("change",a)}on(a,b){this.events[a]||(this.events[a]=new yE);let c=this.events[a].add(b);return"change"===a?()=>{c(),ym.read(()=>{this.events.change.getSize()||this.stop()})}:c}clearListeners(){for(let a in this.events)this.events[a].clear()}attach(a,b){this.passiveEffect=a,this.stopPassiveEffect=b}set(a){this.passiveEffect?this.passiveEffect(a,this.updateAndNotify):this.updateAndNotify(a)}setWithVelocity(a,b,c){this.set(b),this.prev=void 0,this.prevFrameValue=a,this.prevUpdatedAt=this.updatedAt-c}jump(a,b=!0){this.updateAndNotify(a),this.prev=a,this.prevUpdatedAt=this.prevFrameValue=void 0,b&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(a){this.dependents||(this.dependents=new Set),this.dependents.add(a)}removeDependent(a){this.dependents&&this.dependents.delete(a)}get(){return yZ&&yZ.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let a=yX.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||a-this.updatedAt>30)return 0;let b=Math.min(this.updatedAt-this.prevUpdatedAt,30);return yY(parseFloat(this.current)-parseFloat(this.prevFrameValue),b)}start(a){return this.stop(),new Promise(b=>{this.hasAnimated=!0,this.animation=a(b),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function y_(a,b){return new y$(a,b)}let y0=[...xV,xx,xE],y1=new WeakMap;function y2(a){return null!==a&&"object"==typeof a&&"function"==typeof a.start}function y3(a){return"string"==typeof a||Array.isArray(a)}let y4=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],y5=["initial",...y4];function y6(a){return y2(a.animate)||y5.some(b=>y3(a[b]))}function y7(a){return!!(y6(a)||a.variants)}let y8={current:null},y9={current:!1},za="u">typeof window;function zb(){if(y9.current=!0,za)if(window.matchMedia){let a=window.matchMedia("(prefers-reduced-motion)"),b=()=>y8.current=a.matches;a.addEventListener("change",b),b()}else y8.current=!1}function zc(a){let b=[{},{}];return a?.values.forEach((a,c)=>{b[0][c]=a.get(),b[1][c]=a.getVelocity()}),b}function zd(a,b,c,d){if("function"==typeof b){let[e,f]=zc(d);b=b(void 0!==c?c:a.custom,e,f)}if("string"==typeof b&&(b=a.variants&&a.variants[b]),"function"==typeof b){let[e,f]=zc(d);b=b(void 0!==c?c:a.custom,e,f)}return b}let ze=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],zf={};class zg{scrapeMotionValuesFromProps(a,b,c){return{}}constructor({parent:a,props:b,presenceContext:c,reducedMotionConfig:d,skipAnimations:e,blockInitialAnimation:f,visualState:g},h={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=yw,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let a=yX.now();this.renderScheduledAt<a&&(this.renderScheduledAt=a,ym.render(this.render,!1,!0))};const{latestValues:i,renderState:j}=g;this.latestValues=i,this.baseTarget={...i},this.initialValues=b.initial?{...i}:{},this.renderState=j,this.parent=a,this.props=b,this.presenceContext=c,this.depth=a?a.depth+1:0,this.reducedMotionConfig=d,this.skipAnimationsConfig=e,this.options=h,this.blockInitialAnimation=!!f,this.isControllingVariants=y6(b),this.isVariantNode=y7(b),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(a&&a.current);const{willChange:k,...l}=this.scrapeMotionValuesFromProps(b,{},this);for(const a in l){const b=l[a];void 0!==i[a]&&xS(b)&&b.set(i[a])}}mount(a){if(this.hasBeenMounted)for(let a in this.initialValues)this.values.get(a)?.jump(this.initialValues[a]),this.latestValues[a]=this.initialValues[a];this.current=a,y1.set(a,this),this.projection&&!this.projection.instance&&this.projection.mount(a),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((a,b)=>this.bindToMotionValue(b,a)),"never"===this.reducedMotionConfig?this.shouldReduceMotion=!1:"always"===this.reducedMotionConfig?this.shouldReduceMotion=!0:(y9.current||zb(),this.shouldReduceMotion=y8.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){for(let a in this.projection&&this.projection.unmount(),yn(this.notifyUpdate),yn(this.render),this.valueSubscriptions.forEach(a=>a()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this),this.events)this.events[a].clear();for(let a in this.features){let b=this.features[a];b&&(b.unmount(),b.isMounted=!1)}this.current=null}addChild(a){this.children.add(a),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(a)}removeChild(a){this.children.delete(a),this.enteringChildren&&this.enteringChildren.delete(a)}bindToMotionValue(a,b){let c;if(this.valueSubscriptions.has(a)&&this.valueSubscriptions.get(a)(),b.accelerate&&yU.has(a)&&this.current instanceof HTMLElement){let{factory:c,keyframes:d,times:e,ease:f,duration:g}=b.accelerate,h=new yT({element:this.current,name:a,keyframes:d,times:e,ease:f,duration:yB(g)}),i=c(h);this.valueSubscriptions.set(a,()=>{i(),h.cancel()});return}let d=xc.has(a);d&&this.onBindTransform&&this.onBindTransform();let e=b.on("change",b=>{this.latestValues[a]=b,this.props.onUpdate&&ym.preRender(this.notifyUpdate),d&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});"u">typeof window&&window.MotionCheckAppearSync&&(c=window.MotionCheckAppearSync(this,a,b)),this.valueSubscriptions.set(a,()=>{e(),c&&c()})}sortNodePosition(a){return this.current&&this.sortInstanceNodePosition&&this.type===a.type?this.sortInstanceNodePosition(this.current,a.current):0}updateFeatures(){let a="animation";for(a in zf){let b=zf[a];if(!b)continue;let{isEnabled:c,Feature:d}=b;if(!this.features[a]&&d&&c(this.props)&&(this.features[a]=new d(this)),this.features[a]){let b=this.features[a];b.isMounted?b.update():(b.mount(),b.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):xR()}getStaticValue(a){return this.latestValues[a]}setStaticValue(a,b){this.latestValues[a]=b}update(a,b){(a.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=a,this.prevPresenceContext=this.presenceContext,this.presenceContext=b;for(let b=0;b<ze.length;b++){let c=ze[b];this.propEventSubscriptions[c]&&(this.propEventSubscriptions[c](),delete this.propEventSubscriptions[c]);let d=a["on"+c];d&&(this.propEventSubscriptions[c]=this.on(c,d))}this.prevMotionValues=function(a,b,c){for(let d in b){let e=b[d],f=c[d];if(xS(e))a.addValue(d,e);else if(xS(f))a.addValue(d,y_(e,{owner:a}));else if(f!==e)if(a.hasValue(d)){let b=a.getValue(d);!0===b.liveStyle?b.jump(e):b.hasAnimated||b.set(e)}else{let b=a.getStaticValue(d);a.addValue(d,y_(void 0!==b?b:e,{owner:a}))}}for(let d in c)void 0===b[d]&&a.removeValue(d);return b}(this,this.scrapeMotionValuesFromProps(a,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(a){return this.props.variants?this.props.variants[a]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(a){let b=this.getClosestVariantNode();if(b)return b.variantChildren&&b.variantChildren.add(a),()=>b.variantChildren.delete(a)}addValue(a,b){let c=this.values.get(a);b!==c&&(c&&this.removeValue(a),this.bindToMotionValue(a,b),this.values.set(a,b),this.latestValues[a]=b.get())}removeValue(a){this.values.delete(a);let b=this.valueSubscriptions.get(a);b&&(b(),this.valueSubscriptions.delete(a)),delete this.latestValues[a],this.removeValueFromRenderState(a,this.renderState)}hasValue(a){return this.values.has(a)}getValue(a,b){if(this.props.values&&this.props.values[a])return this.props.values[a];let c=this.values.get(a);return void 0===c&&void 0!==b&&(c=y_(null===b?void 0:b,{owner:this}),this.addValue(a,c)),c}readValue(a,b){let c=void 0===this.latestValues[a]&&this.current?this.getBaseTargetFromProps(this.props,a)??this.readValueFromInstance(this.current,a,this.options):this.latestValues[a];if(null!=c){let d,e;if("string"==typeof c&&(d=c,/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(d)||(e=c,/^0[^.\s]+$/u.test(e))))c=parseFloat(c);else{let d;d=c,!y0.find(xU(d))&&xE.test(b)&&(c=yy(a,b))}this.setBaseTarget(a,xS(c)?c.get():c)}return xS(c)?c.get():c}setBaseTarget(a,b){this.baseTarget[a]=b}getBaseTarget(a){let b,{initial:c}=this.props;if("string"==typeof c||"object"==typeof c){let d=zd(this.props,c,this.presenceContext?.custom);d&&(b=d[a])}if(c&&void 0!==b)return b;let d=this.getBaseTargetFromProps(this.props,a);return void 0===d||xS(d)?void 0!==this.initialValues[a]&&void 0===b?void 0:this.baseTarget[a]:d}on(a,b){return this.events[a]||(this.events[a]=new yE),this.events[a].add(b)}notify(a,...b){this.events[a]&&this.events[a].notify(...b)}scheduleRenderMicrotask(){yV.render(this.render)}}class zh extends zg{constructor(){super(...arguments),this.KeyframeResolver=yA}sortInstanceNodePosition(a,b){return 2&a.compareDocumentPosition(b)?1:-1}getBaseTargetFromProps(a,b){let c=a.style;return c?c[b]:void 0}removeValueFromRenderState(a,{vars:b,style:c}){delete b[a],delete c[a]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:a}=this.props;xS(a)&&(this.childSubscription=a.on("change",a=>{this.current&&(this.current.textContent=`${a}`)}))}}function zi(a){return a.replace(/([A-Z])/g,a=>`-${a.toLowerCase()}`)}let zj=(a,b)=>b&&"number"==typeof a?b.transform(a):a,zk={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},zl=xb.length;function zm(a,b,c){let{style:d,vars:e,transformOrigin:f}=a,g=!1,h=!1;for(let a in b){let c=b[a];if(xc.has(a)){g=!0;continue}if(x$(a)){e[a]=c;continue}{let b=zj(c,xL[a]);a.startsWith("origin")?(h=!0,f[a]=b):d[a]=b}}if(!b.transform&&(g||c?d.transform=function(a,b,c){let d="",e=!0;for(let f=0;f<zl;f++){let g=xb[f],h=a[g];if(void 0===h)continue;let i=!0;if("number"==typeof h)i=h===+!!g.startsWith("scale");else{let a=parseFloat(h);i=g.startsWith("scale")?1===a:0===a}if(!i||c){let a=zj(h,xL[g]);if(!i){e=!1;let b=zk[g]||g;d+=`${b}(${a}) `}c&&(b[g]=a)}}let f=a.pathRotation;return f&&(e=!1,d+=`rotate(${zj(f,xL.pathRotation)}) `),d=d.trim(),c?d=c(b,e?"":d):e&&(d="none"),d}(b,a.transform,c):d.transform&&(d.transform="none")),h){let{originX:a="50%",originY:b="50%",originZ:c=0}=f;d.transformOrigin=`${a} ${b} ${c}`}}let zn={offset:"stroke-dashoffset",array:"stroke-dasharray"},zo={offset:"strokeDashoffset",array:"strokeDasharray"},zp=["transform","opacity","offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function zq(a,{attrX:b,attrY:c,attrScale:d,pathLength:e,pathSpacing:f=1,pathOffset:g=0,...h},i,j,k){if(zm(a,h,j),i){a.style.viewBox&&(a.attrs.viewBox=a.style.viewBox);return}a.attrs=a.style,a.style={};let{attrs:l,style:m}=a;for(let a of zp)void 0!==l[a]&&(m[a]=l[a],delete l[a]);(m.transform||l.transformOrigin)&&(m.transformOrigin=l.transformOrigin??"50% 50%",delete l.transformOrigin),m.transform&&(m.transformBox=k?.transformBox??"fill-box",delete l.transformBox),void 0!==b&&(l.x=b),void 0!==c&&(l.y=c),void 0!==d&&(l.scale=d),void 0!==e&&function(a,b,c=1,d=0,e=!0){a.pathLength=1;let f=e?zn:zo;a[f.offset]=`${-d}`,a[f.array]=`${b} ${c}`}(l,e,f,g,!1)}let zr=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),zs=a=>"string"==typeof a&&"svg"===a.toLowerCase();function zt(a,{style:b,vars:c},d,e){let f,g=a.style;for(f in b)g[f]=b[f];for(f in e?.applyProjectionStyles(g,d),c)g.setProperty(f,c[f])}let zu=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"];function zv(a,b){return b.max===b.min?0:a/(b.max-b.min)*100}let zw={correct:(a,b)=>{if(!b.target)return a;if("string"==typeof a)if(!xs.test(a))return a;else a=parseFloat(a);let c=zv(a,b.target.x),d=zv(a,b.target.y);return`${c}% ${d}%`}},zx=(a,b,c)=>a+(b-a)*c,zy={borderRadius:{...zw,applyTo:[...zu]},borderTopLeftRadius:zw,borderTopRightRadius:zw,borderBottomLeftRadius:zw,borderBottomRightRadius:zw,boxShadow:{correct:(a,{treeScale:b,projectionDelta:c})=>{let d=xE.parse(a);if(d.length>5)return a;let e=xE.createTransformer(a),f=+("number"!=typeof d[0]),g=c.x.scale*b.x,h=c.y.scale*b.y;d[0+f]/=g,d[1+f]/=h;let i=zx(g,h,.5);return"number"==typeof d[2+f]&&(d[2+f]/=i),"number"==typeof d[3+f]&&(d[3+f]/=i),e(d)}}};function zz(a,{layout:b,layoutId:c}){return xc.has(a)||a.startsWith("origin")||(b||void 0!==c)&&(!!zy[a]||"opacity"===a)}function zA(a,b,c){let d=a.style,e=b?.style,f={};if(!d)return f;for(let b in d)(xS(d[b])||e&&xS(e[b])||zz(b,a)||c?.getValue(b)?.liveStyle!==void 0)&&(f[b]=d[b]);return f}function zB(a,b,c){let d=zA(a,b,c);for(let c in a)(xS(a[c])||xS(b[c]))&&(d[-1!==xb.indexOf(c)?"attr"+c.charAt(0).toUpperCase()+c.substring(1):c]=a[c]);return d}class zC extends zh{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=xR}getBaseTargetFromProps(a,b){return a[b]}readValueFromInstance(a,b){if(xc.has(b)){let a=xN(b);return a&&a.default||0}if(zp.includes(b)){let c=getComputedStyle(a)[b];if("string"==typeof c&&c)return c.trim()}return b=zr.has(b)?b:zi(b),a.getAttribute(b)}scrapeMotionValuesFromProps(a,b,c){return zB(a,b,c)}build(a,b,c){zq(a,b,this.isSVGTag,c.transformTemplate,c.style)}renderInstance(a,b,c,d){for(let c in zt(a,b,void 0,d),b.attrs)a.setAttribute(zr.has(c)?c:zi(c),b.attrs[c])}mount(a){this.isSVGTag=zs(a.tagName),super.mount(a)}}function zD({top:a,left:b,right:c,bottom:d}){return{x:{min:b,max:c},y:{min:a,max:d}}}function zE(a){return void 0===a||1===a}function zF({scale:a,scaleX:b,scaleY:c}){return!zE(a)||!zE(b)||!zE(c)}function zG(a){return zF(a)||zH(a)||a.z||a.rotate||a.rotateX||a.rotateY||a.skewX||a.skewY}function zH(a){var b,c;return(b=a.x)&&"0%"!==b||(c=a.y)&&"0%"!==c}function zI(a,b,c,d,e){return void 0!==e&&(a=d+e*(a-d)),d+c*(a-d)+b}function zJ(a,b=0,c=1,d,e){a.min=zI(a.min,b,c,d,e),a.max=zI(a.max,b,c,d,e)}function zK(a,{x:b,y:c}){zJ(a.x,b.translate,b.scale,b.originPoint),zJ(a.y,c.translate,c.scale,c.originPoint)}function zL(a,b){a.min+=b,a.max+=b}function zM(a,b,c,d,e=.5){let f=zx(a.min,a.max,e);zJ(a,b,c,f,d)}function zN(a,b){return"string"==typeof a?parseFloat(a)/100*(b.max-b.min):a}function zO(a,b,c){let d=c??a;zM(a.x,zN(b.x,d.x),b.scaleX,b.scale,b.originX),zM(a.y,zN(b.y,d.y),b.scaleY,b.scale,b.originY)}function zP(a,b){return zD(function(a,b){if(!b)return a;let c=b({x:a.left,y:a.top}),d=b({x:a.right,y:a.bottom});return{top:c.y,left:c.x,bottom:d.y,right:d.x}}(a.getBoundingClientRect(),b))}class zQ extends zh{constructor(){super(...arguments),this.type="html",this.renderInstance=zt}mount(a){xY(a.style),super.mount(a)}readValueFromInstance(a,b){if(xc.has(b))return this.projection?.isProjecting?yb(b):((a,b)=>{let{transform:c="none"}=getComputedStyle(a);return yc(c,b)})(a,b);{let c=window.getComputedStyle(a),d=(x$(b)?c.getPropertyValue(b):c[b])||0;return"string"==typeof d?d.trim():d}}measureInstanceViewportBox(a,{transformPagePoint:b}){return zP(a,b)}build(a,b,c){zm(a,b,c.transformTemplate)}scrapeMotionValuesFromProps(a,b,c){return zA(a,b,c)}}let zR=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function zS(a){if("string"!=typeof a||a.includes("-"));else if(zR.indexOf(a)>-1||/[A-Z]/u.test(a))return!0;return!1}let zT=(0,O.createContext)({}),zU=(0,O.createContext)({transformPagePoint:a=>a,isStatic:!1,reducedMotion:"never"}),zV=(0,O.createContext)({});function zW(a){return Array.isArray(a)?a.join(" "):a}let zX=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function zY(a,b,c){for(let d in b)xS(b[d])||zz(d,c)||(a[d]=b[d])}let zZ=()=>({...zX(),attrs:{}}),z$=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function z_(a){return a.startsWith("while")||a.startsWith("drag")&&"draggable"!==a||a.startsWith("layout")||a.startsWith("onTap")||a.startsWith("onPan")||a.startsWith("onLayout")||z$.has(a)}function z0(a){return xS(a)?a.get():a}let z1=(0,O.createContext)(null);function z2(a){let b=(0,O.useRef)(null);return null===b.current&&(b.current=a()),b.current}let z3=a=>(b,c)=>{let d=(0,O.useContext)(zV),e=(0,O.useContext)(z1),f=()=>(function({scrapeMotionValuesFromProps:a,createRenderState:b},c,d,e){return{latestValues:function(a,b,c,d){let e={},f=d(a,{});for(let a in f)e[a]=z0(f[a]);let{initial:g,animate:h}=a,i=y6(a),j=y7(a);b&&j&&!i&&!1!==a.inherit&&(void 0===g&&(g=b.initial),void 0===h&&(h=b.animate));let k=!!c&&!1===c.initial,l=(k=k||!1===g)?h:g;if(l&&"boolean"!=typeof l&&!y2(l)){let b=Array.isArray(l)?l:[l];for(let c=0;c<b.length;c++){let d=zd(a,b[c]);if(d){let{transitionEnd:a,transition:b,...c}=d;for(let a in c){let b=c[a];if(Array.isArray(b)){let a=k?b.length-1:0;b=b[a]}null!==b&&(e[a]=b)}for(let b in a)e[b]=a[b]}}}return e}(c,d,e,a),renderState:b()}})(a,b,d,e);return c?f():z2(f)},z4=z3({scrapeMotionValuesFromProps:zA,createRenderState:zX}),z5=z3({scrapeMotionValuesFromProps:zB,createRenderState:zZ}),z6={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},z7=!1,z8=Symbol.for("motionComponentSymbol");function z9(a,{forwardMotionProps:b=!1,type:c}={},d,e){d&&function(a){let b=(!function(){if(z7)return;let a={};for(let b in z6)a[b]={isEnabled:a=>z6[b].some(b=>!!a[b])};zf=a,z7=!0}(),zf);for(let c in a)b[c]={...b[c],...a[c]};zf=b}(d);let f=c?"svg"===c:zS(a),g=f?z5:z4;function h(c,d){var e;let h,i,j,k={...(0,O.useContext)(zU),...c,layoutId:function({layoutId:a}){let b=(0,O.useContext)(zT).id;return b&&void 0!==a?b+"-"+a:a}(c)},{isStatic:l,isValidProp:m}=k,n=function(a){let{initial:b,animate:c}=function(a,b){if(y6(a)){let{initial:b,animate:c}=a;return{initial:!1===b||y3(b)?b:void 0,animate:y3(c)?c:void 0}}return!1!==a.inherit?b:{}}(a,(0,O.useContext)(zV));return(0,O.useMemo)(()=>({initial:b,animate:c}),[zW(b),zW(c)])}(c),o=g(c,l);return(0,N.jsxs)(zV.Provider,{value:n,children:[h&&n.visualElement?(0,N.jsx)(h,{visualElement:n.visualElement,...k}):null,function(a,b,c,{latestValues:d},e,f=!1,g,h){let i=(g??zS(a)?function(a,b,c,d){let e=(0,O.useMemo)(()=>{let c=zZ();return zq(c,b,zs(d),a.transformTemplate,a.style),{...c.attrs,style:{...c.style}}},[b]);if(a.style){let b={};zY(b,a.style,a),e.style={...b,...e.style}}return e}:function(a,b){let c,d,e={},f=(c=a.style||{},zY(d={},c,a),Object.assign(d,function({transformTemplate:a},b){return(0,O.useMemo)(()=>{let c=zX();return zm(c,b,a),Object.assign({},c.vars,c.style)},[b])}(a,b)),d);return a.drag&&!1!==a.dragListener&&(e.draggable=!1,f.userSelect=f.WebkitUserSelect=f.WebkitTouchCallout="none",f.touchAction=!0===a.drag?"none":`pan-${"x"===a.drag?"y":"x"}`),void 0===a.tabIndex&&(a.onTap||a.onTapStart||a.whileTap)&&(e.tabIndex=0),e.style=f,e})(b,d,e,a),j=function(a,b,c,d){let e={};for(let f in a)("values"!==f||"object"!=typeof a.values)&&!xS(a[f])&&((f.startsWith("on")?!z_(f):d?.(f)??!z_(f))||!0===c&&z_(f)||!b&&!z_(f)||a.draggable&&f.startsWith("onDrag"))&&(e[f]=a[f]);return e}(b,"string"==typeof a,f,h),k=a!==O.Fragment?{...j,...i,ref:c}:{},{children:l}=b,m=(0,O.useMemo)(()=>xS(l)?l.get():l,[l]);return(0,O.createElement)(a,{...k,children:m})}(a,c,(e=n.visualElement,i=(0,O.useRef)(d),(0,O.useInsertionEffect)(()=>{i.current=d}),j=(0,O.useRef)(null),(0,O.useCallback)(a=>{a&&o.onMount?.(a),e&&(a?e.mount(a):e.unmount());let b=i.current;if("function"==typeof b)if(a){let c=b(a);"function"==typeof c&&(j.current=c)}else j.current?(j.current(),j.current=null):b(a);else b&&(b.current=a)},[e])),o,l,b,f,m)]})}h.displayName=`motion.${"string"==typeof a?a:`create(${a.displayName??a.name??""})`}`;let i=(0,O.forwardRef)(h);return i[z8]=a,i}class Aa{constructor(a){this.isMounted=!1,this.node=a}update(){}}function Ab(a,b,c){let d=a.getProps();return zd(d,b,void 0!==c?c:d.custom,a)}function Ac(a,b){if(a?.inherit&&b){let{inherit:c,...d}=a;return{...b,...d}}return a}function Ad(a,b){let c=a?.[b]??a?.default??a;return c!==a?Ac(c,a):c}let Ae=a=>Array.isArray(a);function Af(a,b){let c=a.getValue("willChange");if(xS(c)&&c.add)return c.add(b);if(!c&&yj.WillChange){let c=new yj.WillChange("auto");a.addValue("willChange",c),c.add(b)}}let Ag="data-"+zi("framerAppearId"),Ah=(...a)=>a.reduce((a,b)=>c=>b(a(c)));function Ai(a,b,c){return(c<0&&(c+=1),c>1&&(c-=1),c<1/6)?a+(b-a)*6*c:c<.5?b:c<2/3?a+(b-a)*(2/3-c)*6:a}function Aj(a,b){return c=>c>0?b:a}let Ak=(a,b,c)=>{let d=a*a,e=c*(b*b-d)+d;return e<0?0:Math.sqrt(e)},Al=[xo,xn,xw];function Am(a){let b=Al.find(b=>b.test(a));if(xX(`'${a}' is not an animatable color. Use the equivalent color code instead.`),!b)return!1;let c=b.parse(a);return b===xw&&(c=function({hue:a,saturation:b,lightness:c,alpha:d}){a/=360,c/=100;let e=0,f=0,g=0;if(b/=100){let d=c<.5?c*(1+b):c+b-c*b,h=2*c-d;e=Ai(h,d,a+1/3),f=Ai(h,d,a),g=Ai(h,d,a-1/3)}else e=f=g=c;return{red:Math.round(255*e),green:Math.round(255*f),blue:Math.round(255*g),alpha:d}}(c)),c}let An=(a,b)=>{let c=Am(a),d=Am(b);if(!c||!d)return Aj(a,b);let e={...c};return a=>(e.red=Ak(c.red,d.red,a),e.green=Ak(c.green,d.green,a),e.blue=Ak(c.blue,d.blue,a),e.alpha=zx(c.alpha,d.alpha,a),xn.transform(e))},Ao=new Set(["none","hidden"]);function Ap(a,b){return c=>zx(a,b,c)}function Aq(a){return"number"==typeof a?Ap:"string"==typeof a?x0(a)?Aj:xx.test(a)?An:At:Array.isArray(a)?Ar:"object"==typeof a?xx.test(a)?An:As:Aj}function Ar(a,b){let c=[...a],d=c.length,e=a.map((a,c)=>Aq(a)(a,b[c]));return a=>{for(let b=0;b<d;b++)c[b]=e[b](a);return c}}function As(a,b){let c={...a,...b},d={};for(let e in c)void 0!==a[e]&&void 0!==b[e]&&(d[e]=Aq(a[e])(a[e],b[e]));return a=>{for(let b in d)c[b]=d[b](a);return c}}let At=(a,b)=>{let c=xE.createTransformer(b),d=xC(a),e=xC(b);if(!(d.indexes.var.length===e.indexes.var.length&&d.indexes.color.length===e.indexes.color.length&&d.indexes.number.length>=e.indexes.number.length))return xX(`Complex values '${a}' and '${b}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`),Aj(a,b);if(Ao.has(a)&&!e.values.length||Ao.has(b)&&!d.values.length)return Ao.has(a)?c=>c<=0?a:b:c=>c>=1?b:a;return Ah(Ar(function(a,b){let c=[],d={color:0,var:0,number:0};for(let e=0;e<b.values.length;e++){let f=b.types[e],g=a.indexes[f][d[f]],h=a.values[g]??0;c[e]=h,d[f]++}return c}(d,e),e.values),c)};function Au(a,b,c){return"number"==typeof a&&"number"==typeof b&&"number"==typeof c?zx(a,b,c):Aq(a)(a,b)}let Av=a=>{let b=({timestamp:b})=>a(b);return{start:(a=!0)=>ym.update(b,a),stop:()=>yn(b),now:()=>yo.isProcessing?yo.timestamp:yX.now()}};function Aw(a){let b=0,c=a.next(b);for(;!c.done&&b<2e4;)b+=50,c=a.next(b);return b>=2e4?1/0:b}let Ax=.01,Ay=2,Az=.005,AA=.5;function AB(a,b){return a*Math.sqrt(1-b*b)}let AC=["duration","bounce"],AD=["stiffness","damping","mass"];function AE(a,b){return b.some(b=>void 0!==a[b])}function AF(a=.3,b=.3){let c,d,e,f,g,h,i="object"!=typeof a?{visualDuration:a,keyframes:[0,1],bounce:b}:a,{restSpeed:j,restDelta:k}=i,l=i.keyframes[0],m=i.keyframes[i.keyframes.length-1],n={done:!1,value:l},{stiffness:o,damping:p,mass:q,duration:r,velocity:s,isResolvedFromDuration:t}=function(a){let b={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...a};if(!AE(a,AD)&&AE(a,AC))if(b.velocity=0,a.visualDuration){let c=2*Math.PI/(1.2*a.visualDuration),d=c*c,e=2*xd(.05,1,1-(a.bounce||0))*Math.sqrt(d);b={...b,mass:1,stiffness:d,damping:e}}else{let c=function({duration:a=800,bounce:b=.3,velocity:c=0,mass:d=1}){let e,f;xX(yB(10));let g=1-b;g=xd(.05,1,g),a=xd(.01,10,a/1e3),g<1?(e=b=>{let d=b*g,e=d*a;return .001-(d-c)/AB(b,g)*Math.exp(-e)},f=b=>{let d=b*g*a,f=Math.pow(g,2)*Math.pow(b,2)*a,h=Math.exp(-d),i=AB(Math.pow(b,2),g);return(d*c+c-f)*h*(-e(b)+.001>0?-1:1)/i}):(e=b=>-.001+Math.exp(-b*a)*((b-c)*a+1),f=b=>a*a*(c-b)*Math.exp(-b*a));let h=function(a,b,c){let d=c;for(let c=1;c<12;c++)d-=a(d)/b(d);return d}(e,f,5/a);if(a=yB(a),isNaN(h))return{stiffness:100,damping:10,duration:a};{let b=Math.pow(h,2)*d;return{stiffness:b,damping:2*g*Math.sqrt(d*b),duration:a}}}({...a,velocity:0});(b={...b,...c,mass:1}).isResolvedFromDuration=!0}return b}({...i,velocity:-((i.velocity||0)/1e3)}),u=s||0,v=p/(2*Math.sqrt(o*q)),w=m-l,x=Math.sqrt(o/q)/1e3,y=5>Math.abs(w);if(j||(j=y?Ax:Ay),k||(k=y?Az:AA),v<1)e=AB(x,v),f=(u+v*x*w)/e,c=a=>m-Math.exp(-v*x*a)*(f*Math.sin(e*a)+w*Math.cos(e*a)),g=v*x*f+w*e,h=v*x*w-f*e,d=a=>Math.exp(-v*x*a)*(g*Math.sin(e*a)+h*Math.cos(e*a));else if(1===v){c=a=>m-Math.exp(-x*a)*(w+(u+x*w)*a);let a=u+x*w;d=b=>Math.exp(-x*b)*(x*a*b-u)}else{let a=x*Math.sqrt(v*v-1);c=b=>{let c=Math.exp(-v*x*b),d=Math.min(a*b,300);return m-c*((u+v*x*w)*Math.sinh(d)+a*w*Math.cosh(d))/a};let b=(u+v*x*w)/a,e=v*x*b-w*a,f=v*x*w-b*a;d=b=>{let c=Math.exp(-v*x*b),d=Math.min(a*b,300);return c*(e*Math.sinh(d)+f*Math.cosh(d))}}let z={calculatedDuration:t&&r||null,velocity:a=>yB(d(a)),next:a=>{if(!t&&v<1){let b=Math.exp(-v*x*a),c=Math.sin(e*a),d=Math.cos(e*a),i=m-b*(f*c+w*d);return n.done=Math.abs(yB(b*(g*c+h*d)))<=j&&Math.abs(m-i)<=k,n.value=n.done?m:i,n}let b=c(a);return t?n.done=a>=r:n.done=Math.abs(yB(d(a)))<=j&&Math.abs(m-b)<=k,n.value=n.done?m:b,n},toString:()=>{let a=Math.min(Aw(z),2e4),b=yP(b=>z.next(a*b).value,a,30);return a+"ms "+b},toTransition:()=>{}};return z}function AG(a,b,c){let d=Math.max(b-5,0);return yY(c-a(d),b-d)}function AH({keyframes:a,velocity:b=0,power:c=.8,timeConstant:d=325,bounceDamping:e=10,bounceStiffness:f=500,modifyTarget:g,min:h,max:i,restDelta:j=.5,restSpeed:k}){let l,m,n=a[0],o={done:!1,value:n},p=c*b,q=n+p,r=void 0===g?q:g(q);r!==q&&(p=r-n);let s=a=>-p*Math.exp(-a/d),t=a=>r+s(a),u=a=>{let b=s(a),c=t(a);o.done=Math.abs(b)<=j,o.value=o.done?r:c},v=a=>{let b;if(b=o.value,void 0!==h&&b<h||void 0!==i&&b>i){var c;l=a,m=AF({keyframes:[o.value,(c=o.value,void 0===h?i:void 0===i||Math.abs(h-c)<Math.abs(i-c)?h:i)],velocity:AG(t,a,o.value),damping:e,stiffness:f,restDelta:j,restSpeed:k})}};return v(0),{calculatedDuration:null,next:a=>{let b=!1;return(m||void 0!==l||(b=!0,u(a),v(a)),void 0!==l&&a>=l)?m.next(a-l):(b||u(a),o)}}}AF.applyToOptions=a=>{let b=function(a,b=100,c){let d=c({...a,keyframes:[0,b]}),e=Math.min(Aw(d),2e4);return{type:"keyframes",ease:a=>d.next(e*a).value/b,duration:e/1e3}}(a,100,AF);return a.ease=b.ease,a.duration=yB(b.duration),a.type="keyframes",a};let AI=(a,b,c)=>(((1-3*c+3*b)*a+(3*c-6*b))*a+3*b)*a;function AJ(a,b,c,d){return a===b&&c===d?yi:e=>0===e||1===e?e:AI(function(a,b,c,d,e){let f,g,h=0;do(f=AI(g=b+(c-b)/2,d,e)-a)>0?c=g:b=g;while(Math.abs(f)>1e-7&&++h<12);return g}(e,0,1,a,c),b,d)}let AK=AJ(.42,0,1,1),AL=AJ(0,0,.58,1),AM=AJ(.42,0,.58,1),AN=a=>b=>b<=.5?a(2*b)/2:(2-a(2*(1-b)))/2,AO=a=>b=>1-a(1-b),AP=AJ(.33,1.53,.69,.99),AQ=AO(AP),AR=AN(AQ),AS=a=>a>=1?1:(a*=2)<1?.5*AQ(a):.5*(2-Math.pow(2,-10*(a-1))),AT=a=>1-Math.sin(Math.acos(a)),AU=AO(AT),AV=AN(AT),AW={linear:yi,easeIn:AK,easeInOut:AM,easeOut:AL,circIn:AT,circInOut:AV,circOut:AU,backIn:AQ,backInOut:AR,backOut:AP,anticipate:AS},AX=a=>{if(yN(a)){xY(a.length);let[b,c,d,e]=a;return AJ(b,c,d,e)}return"string"==typeof a?(xY(AW[a],`Invalid easing type '${a}'`),AW[a]):a},AY=(a,b,c)=>{let d=b-a;return d?(c-a)/d:1};function AZ({duration:a=300,keyframes:b,times:c,ease:d="easeInOut"}){var e;let f,g=Array.isArray(d)&&"number"!=typeof d[0]?d.map(AX):AX(d),h={done:!1,value:b[0]},i=function(a,b,{clamp:c=!0,ease:d,mixer:e}={}){let f=a.length;if(xY(b.length),1===f)return()=>b[0];if(2===f&&b[0]===b[1])return()=>b[1];let g=a[0]===a[1];a[0]>a[f-1]&&(a=[...a].reverse(),b=[...b].reverse());let h=function(a,b,c){let d=[],e=c||yj.mix||Au,f=a.length-1;for(let c=0;c<f;c++){let f=e(a[c],a[c+1]);b&&(f=Ah(Array.isArray(b)?b[c]||yi:b,f)),d.push(f)}return d}(b,d,e),i=h.length,j=c=>{if(g&&c<a[0])return b[0];let d=0;if(i>1)for(;d<a.length-2&&!(c<a[d+1]);d++);let e=AY(a[d],a[d+1],c);return h[d](e)};return c?b=>j(xd(a[0],a[f-1],b)):j}((e=c&&c.length===b.length?c:(!function(a,b){let c=a[a.length-1];for(let d=1;d<=b;d++){let e=AY(0,b,d);a.push(zx(c,1,e))}}(f=[0],b.length-1),f),e.map(b=>b*a)),b,{ease:Array.isArray(g)?g:b.map(()=>g||AM).splice(0,b.length-1)});return{calculatedDuration:a,next:b=>(h.value=i(b),h.done=b>=a,h)}}let A$={decay:AH,inertia:AH,tween:AZ,keyframes:AZ,spring:AF};function A_(a){"string"==typeof a.type&&(a.type=A$[a.type])}let A0=a=>a/100;class A1 extends yM{constructor(a){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:a}=this.options;a&&a.updatedAt!==yX.now()&&this.tick(yX.now()),this.isStopped=!0,"idle"!==this.state&&(this.teardown(),this.options.onStop?.())},this.options=a,this.initAnimation(),this.play(),!1===a.autoplay&&this.pause()}initAnimation(){let{options:a}=this;A_(a);let{type:b=AZ,repeat:c=0,repeatDelay:d=0,repeatType:e,velocity:f=0}=a,{keyframes:g}=a,h=b||AZ;h!==AZ&&"number"!=typeof g[0]&&(this.mixKeyframes=Ah(A0,Au(g[0],g[1])),g=[0,100]);let i=h({...a,keyframes:g});"mirror"===e&&(this.mirroredGenerator=h({...a,keyframes:[...g].reverse(),velocity:-f})),null===i.calculatedDuration&&(i.calculatedDuration=Aw(i));let{calculatedDuration:j}=i;this.calculatedDuration=j,this.resolvedDuration=j+d,this.totalDuration=this.resolvedDuration*(c+1)-d,this.generator=i}updateTime(a){let b=Math.round(a-this.startTime)*this.playbackSpeed;null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=b}tick(a,b=!1){let c,{generator:d,totalDuration:e,mixKeyframes:f,mirroredGenerator:g,resolvedDuration:h,calculatedDuration:i}=this;if(null===this.startTime)return d.next(0);let{delay:j=0,keyframes:k,repeat:l,repeatType:m,repeatDelay:n,type:o,onUpdate:p,finalKeyframe:q}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,a):this.speed<0&&(this.startTime=Math.min(a-e/this.speed,this.startTime)),b?this.currentTime=a:this.updateTime(a);let r=this.currentTime-j*(this.playbackSpeed>=0?1:-1),s=this.playbackSpeed>=0?r<0:r>e;this.currentTime=Math.max(r,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=e);let t=this.currentTime,u=d;if(l){let a=Math.min(this.currentTime,e)/h,b=Math.floor(a),c=a%1;!c&&a>=1&&(c=1),1===c&&b--,(b=Math.min(b,l+1))%2&&("reverse"===m?(c=1-c,n&&(c-=n/h)):"mirror"===m&&(u=g)),t=xd(0,1,c)*h}s?(this.delayState.value=k[0],c=this.delayState):c=u.next(t),f&&!s&&(c.value=f(c.value));let{done:v}=c;s||null===i||(v=this.playbackSpeed>=0?this.currentTime>=e:this.currentTime<=0);let w=null===this.holdTime&&("finished"===this.state||"running"===this.state&&v);return w&&o!==AH&&(c.value=yL(k,this.options,q,this.speed)),p&&p(c.value),w&&this.finish(),c}then(a,b){return this.finished.then(a,b)}get duration(){return this.calculatedDuration/1e3}get iterationDuration(){let{delay:a=0}=this.options||{};return this.duration+a/1e3}get time(){return this.currentTime/1e3}set time(a){a=yB(a),this.currentTime=a,null===this.startTime||null!==this.holdTime||0===this.playbackSpeed?this.holdTime=a:this.driver&&(this.startTime=this.driver.now()-a/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=a,this.tick(a))}getGeneratorVelocity(){let a=this.currentTime;if(a<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(a);let b=this.generator.next(a).value;return AG(a=>this.generator.next(a).value,a,b)}get speed(){return this.playbackSpeed}set speed(a){let b=this.playbackSpeed!==a;b&&this.driver&&this.updateTime(yX.now()),this.playbackSpeed=a,b&&this.driver&&(this.time=this.currentTime/1e3)}play(){if(this.isStopped)return;let{driver:a=Av,startTime:b}=this.options;this.driver||(this.driver=a(a=>this.tick(a))),this.options.onPlay?.();let c=this.driver.now();"finished"===this.state?(this.updateFinished(),this.startTime=c):null!==this.holdTime?this.startTime=c-this.holdTime:this.startTime||(this.startTime=b??c),"finished"===this.state&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(yX.now()),this.holdTime=this.currentTime}complete(){"running"!==this.state&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(a){return this.startTime=0,this.tick(a,!0)}attachTimeline(a){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),a.observe(this)}}let A2={anticipate:AS,backInOut:AR,circInOut:AV};class A3 extends yT{constructor(a){!function(a){"string"==typeof a.ease&&a.ease in A2&&(a.ease=A2[a.ease])}(a),A_(a),super(a),void 0!==a.startTime&&!1!==a.autoplay&&(this.startTime=a.startTime),this.options=a}updateMotionValue(a){let{motionValue:b,onUpdate:c,onComplete:d,element:e,...f}=this.options;if(!b)return;if(void 0!==a)return void b.set(a);let g=new A1({...f,autoplay:!1}),h=Math.max(10,yX.now()-this.startTime),i=xd(0,10,h-10),j=g.sample(h).value,{name:k}=this.options;e&&k&&yF(e,k,j),b.setWithVelocity(g.sample(Math.max(0,h-i)).value,j,i),g.stop()}}let A4=(a,b)=>"zIndex"!==b&&!!("number"==typeof a||Array.isArray(a)||"string"==typeof a&&(xE.test(a)||"0"===a)&&!a.startsWith("url("));function A5(a){a.duration=0,a.type="keyframes"}let A6=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/,A7=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),A8=yG(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));class A9 extends yM{constructor({autoplay:a=!0,delay:b=0,type:c="keyframes",repeat:d=0,repeatDelay:e=0,repeatType:f="loop",keyframes:g,name:h,motionValue:i,element:j,...k}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=yX.now();const l={autoplay:a,delay:b,type:c,repeat:d,repeatDelay:e,repeatType:f,name:h,motionValue:i,element:j,...k},m=j?.KeyframeResolver||yw;this.keyframeResolver=new m(g,(a,b,c)=>this.onKeyframesResolved(a,b,l,!c),h,i,j),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(a,b,c,d){let e;this.keyframeResolver=void 0;let{name:f,type:g,velocity:h,delay:i,isHandoff:j,onUpdate:k}=c;this.resolvedAt=yX.now();let l=!0;!function(a,b,c,d){let e=a[0];if(null===e)return!1;if("display"===b||"visibility"===b)return!0;let f=a[a.length-1],g=A4(e,b),h=A4(f,b);return xX(`You are trying to animate ${b} from "${e}" to "${f}". "${g?f:e}" is not an animatable value.`),!!g&&!!h&&(function(a){let b=a[0];if(1===a.length)return!0;for(let c=0;c<a.length;c++)if(a[c]!==b)return!0}(a)||("spring"===c||yS(c))&&d)}(a,f,g,h)&&(l=!1,(yj.instantAnimations||!i)&&k?.(yL(a,c,b)),a[0]=a[a.length-1],A5(c),c.repeat=0);let m={startTime:d?this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt:void 0,finalKeyframe:b,...c,keyframes:a},n=l&&!j&&function(a){let{motionValue:b,name:c,repeatDelay:d,repeatType:e,damping:f,type:g,keyframes:h}=a,i=b?.owner?.current;if(!(i instanceof HTMLElement)&&!(i instanceof SVGElement))return!1;let{onUpdate:j,transformTemplate:k}=b.owner.getProps();return A8()&&c&&(yU.has(c)||A7.has(c)&&function(a){for(let b=0;b<a.length;b++)if("string"==typeof a[b]&&A6.test(a[b]))return!0;return!1}(h))&&("transform"!==c||!k)&&!j&&!d&&"mirror"!==e&&0!==f&&"inertia"!==g}(m),o=m.motionValue?.owner?.current;if(n)try{e=new A3({...m,element:o})}catch{e=new A1(m)}else e=new A1(m);e.finished.then(()=>{this.notifyFinished()}).catch(yi),this.pendingTimeline&&(this.stopTimeline=e.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=e}get finished(){return this._animation?this.animation.finished:this._finished}then(a,b){return this.finished.finally(a).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),yt=!0,yv(),yu(),yt=!1),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(a){this.animation.time=a}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(a){this.animation.speed=a}get startTime(){return this.animation.startTime}attachTimeline(a){return this._animation?this.stopTimeline=this.animation.attachTimeline(a):this.pendingTimeline=a,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}let Ba={type:"spring",stiffness:500,damping:25,restSpeed:10},Bb={type:"keyframes",duration:.8},Bc={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Bd=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]),Be=(a,b,c,d={},e,f)=>g=>{let h=Ad(d,a)||{},i=h.delay||d.delay||0,{elapsed:j=0}=d;j-=yB(i);let k={keyframes:Array.isArray(c)?c:[null,c],ease:"easeOut",velocity:b.getVelocity(),...h,delay:-j,onUpdate:a=>{b.set(a),h.onUpdate&&h.onUpdate(a)},onComplete:()=>{g(),h.onComplete&&h.onComplete()},name:a,motionValue:b,element:f?void 0:e};!function(a){for(let b in a)if(!Bd.has(b))return!0;return!1}(h)&&Object.assign(k,((a,{keyframes:b})=>b.length>2?Bb:xc.has(a)?a.startsWith("scale")?{type:"spring",stiffness:550,damping:0===b[1]?2*Math.sqrt(550):30,restSpeed:10}:Ba:Bc)(a,k)),k.duration&&(k.duration=yB(k.duration)),k.repeatDelay&&(k.repeatDelay=yB(k.repeatDelay)),void 0!==k.from&&(k.keyframes[0]=k.from);let l=!1;if(!1!==k.type&&(0!==k.duration||k.repeatDelay)||(A5(k),0===k.delay&&(l=!0)),(yj.instantAnimations||yj.skipAnimations||e?.shouldSkipAnimations||h.skipAnimations)&&(l=!0,A5(k),k.delay=0),k.allowFlatten=!h.type&&!h.ease,l&&!f&&void 0!==b.get()){let a=yL(k.keyframes,h);if(void 0!==a)return void ym.update(()=>{k.onUpdate(a),k.onComplete()})}return h.isSync?new A1(k):new A9(k)};function Bf(a,b,{delay:c=0,transitionOverride:d,type:e}={}){let{transition:f,transitionEnd:g,...h}=b,i=a.getDefaultTransition();f=f?Ac(f,i):i;let j=f?.reduceMotion,k=f?.skipAnimations;d&&(f=d);let l=[],m=e&&a.animationState&&a.animationState.getState()[e],n=f?.path;for(let b in n&&n.animateVisualElement(a,h,f,c,l),h){let d=a.getValue(b,a.latestValues[b]??null),e=h[b];if(void 0===e||m&&function({protectedKeys:a,needsAnimating:b},c){let d=a.hasOwnProperty(c)&&!0!==b[c];return b[c]=!1,d}(m,b))continue;let g={delay:c,...Ad(f||{},b)};k&&(g.skipAnimations=!0);let i=d.get();if(void 0!==i&&!d.isAnimating()&&!Array.isArray(e)&&e===i&&!g.velocity){ym.update(()=>d.set(e));continue}let n=!1;if(window.MotionHandoffAnimation){let c=a.props[Ag];if(c){let a=window.MotionHandoffAnimation(c,b,ym);null!==a&&(g.startTime=a,n=!0)}}Af(a,b);let o=j??a.shouldReduceMotion;d.start(Be(b,d,e,o&&xT.has(b)?{type:!1}:g,a,n));let p=d.animation;p&&l.push(p)}if(g){let b=()=>ym.update(()=>{g&&function(a,b){let{transitionEnd:c={},transition:d={},...e}=Ab(a,b)||{};for(let b in e={...e,...c}){var f;let c=Ae(f=e[b])?f[f.length-1]||0:f;a.hasValue(b)?a.getValue(b).set(c):a.addValue(b,y_(c))}}(a,g)});l.length?Promise.all(l).then(b):b()}return l}function Bg(a,b,c,d=0,e=1){let f=Array.from(a).sort((a,b)=>a.sortNodePosition(b)).indexOf(b),g=a.size,h=(g-1)*d;return"function"==typeof c?c(f,g):1===e?f*d:h-f*d}function Bh(a,b,c={}){let d=Ab(a,b,"exit"===c.type?a.presenceContext?.custom:void 0),{transition:e=a.getDefaultTransition()||{}}=d||{};c.transitionOverride&&(e=c.transitionOverride);let f=d?()=>Promise.all(Bf(a,d,c)):()=>Promise.resolve(),g=a.variantChildren&&a.variantChildren.size?(d=0)=>{let{delayChildren:f=0,staggerChildren:g,staggerDirection:h}=e;return function(a,b,c=0,d=0,e=0,f=1,g){let h=[];for(let i of a.variantChildren)i.notify("AnimationStart",b),h.push(Bh(i,b,{...g,delay:c+("function"==typeof d?0:d)+Bg(a.variantChildren,i,d,e,f)}).then(()=>i.notify("AnimationComplete",b)));return Promise.all(h)}(a,b,d,f,g,h,c)}:()=>Promise.resolve(),{when:h}=e;if(!h)return Promise.all([f(),g(c.delay)]);{let[a,b]="beforeChildren"===h?[f,g]:[g,f];return a().then(()=>b())}}let Bi=y5.length;function Bj(a,b){if(!Array.isArray(b))return!1;let c=b.length;if(c!==a.length)return!1;for(let d=0;d<c;d++)if(b[d]!==a[d])return!1;return!0}let Bk=[...y4].reverse(),Bl=y4.length;function Bm(a=!1){return{isActive:a,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Bn(){return{animate:Bm(!0),whileInView:Bm(),whileHover:Bm(),whileTap:Bm(),whileDrag:Bm(),whileFocus:Bm(),exit:Bm()}}class Bo extends Aa{constructor(a){super(a),a.animationState||(a.animationState=function(a){let b=b=>Promise.all(b.map(({animation:b,options:c})=>(function(a,b,c={}){let d;if(a.notify("AnimationStart",b),Array.isArray(b))d=Promise.all(b.map(b=>Bh(a,b,c)));else if("string"==typeof b)d=Bh(a,b,c);else{let e="function"==typeof b?Ab(a,b,c.custom):b;d=Promise.all(Bf(a,e,c))}return d.then(()=>{a.notify("AnimationComplete",b)})})(a,b,c))),c=Bn(),d=!0,e=!1,f=b=>(c,d)=>{let e=Ab(a,d,"exit"===b?a.presenceContext?.custom:void 0);if(e){let{transition:a,transitionEnd:b,...d}=e;c={...c,...d,...b}}return c};function g(g){let{props:h}=a,i=function a(b){if(!b)return;if(!b.isControllingVariants){let c=b.parent&&a(b.parent)||{};return void 0!==b.props.initial&&(c.initial=b.props.initial),c}let c={};for(let a=0;a<Bi;a++){let d=y5[a],e=b.props[d];(y3(e)||!1===e)&&(c[d]=e)}return c}(a.parent)||{},j=[],k=new Set,l={},m=1/0;for(let b=0;b<Bl;b++){var n,o;let p=Bk[b],q=c[p],r=void 0!==h[p]?h[p]:i[p],s=y3(r),t=p===g?q.isActive:null;!1===t&&(m=b);let u=r===i[p]&&r!==h[p]&&s;if(u&&(d||e)&&a.manuallyAnimateOnMount&&(u=!1),q.protectedKeys={...l},!q.isActive&&null===t||!r&&!q.prevProp||y2(r)||"boolean"==typeof r)continue;if("exit"===p&&q.isActive&&!0!==t){q.prevResolvedValues&&(l={...l,...q.prevResolvedValues});continue}let v=(n=q.prevProp,"string"==typeof(o=r)?o!==n:!!Array.isArray(o)&&!Bj(o,n)),w=v||p===g&&q.isActive&&!u&&s||b>m&&s,x=!1,y=Array.isArray(r)?r:[r],z=y.reduce(f(p),{});!1===t&&(z={});let{prevResolvedValues:A={}}=q,B={...A,...z},C=b=>{w=!0,k.has(b)&&(x=!0,k.delete(b)),q.needsAnimating[b]=!0;let c=a.getValue(b);c&&(c.liveStyle=!1)};for(let a in B){let b=z[a],c=A[a];if(!l.hasOwnProperty(a))(Ae(b)&&Ae(c)?!Bj(b,c)||v:b!==c)?null!=b?C(a):k.add(a):void 0!==b&&k.has(a)?C(a):q.protectedKeys[a]=!0}q.prevProp=r,q.prevResolvedValues=z,q.isActive&&(l={...l,...z}),(d||e)&&a.blockInitialAnimation&&(w=!1);let D=u&&v,E=!D||x;w&&E&&j.push(...y.map(b=>{let c={type:p};if("string"==typeof b&&(d||e)&&!D&&a.manuallyAnimateOnMount&&a.parent){let{parent:d}=a,e=Ab(d,b);if(d.enteringChildren&&e){let{delayChildren:b}=e.transition||{};c.delay=Bg(d.enteringChildren,a,b)}}return{animation:b,options:c}}))}if(k.size){let b={};if("boolean"!=typeof h.initial){let c=Ab(a,Array.isArray(h.initial)?h.initial[0]:h.initial);c&&c.transition&&(b.transition=c.transition)}k.forEach(c=>{let d=a.getBaseTarget(c),e=a.getValue(c);e&&(e.liveStyle=!0),b[c]=d??null}),j.push({animation:b})}let p=!!j.length;return d&&(!1===h.initial||h.initial===h.animate)&&!a.manuallyAnimateOnMount&&(p=!1),d=!1,e=!1,p?b(j):Promise.resolve()}return{animateChanges:g,setActive:function(b,d){if(c[b].isActive===d)return Promise.resolve();a.variantChildren?.forEach(a=>a.animationState?.setActive(b,d)),c[b].isActive=d;let e=g(b);for(let a in c)c[a].protectedKeys={};return e},setAnimateFunction:function(c){b=c(a)},getState:()=>c,reset:()=>{c=Bn(),e=!0}}}(a))}updateAnimationControlsSubscription(){let{animate:a}=this.node.getProps();y2(a)&&(this.unmountControls=a.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:a}=this.node.getProps(),{animate:b}=this.node.prevProps||{};a!==b&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let Bp=0;class Bq extends Aa{constructor(){super(...arguments),this.id=Bp++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:a,onExitComplete:b}=this.node.presenceContext,{isPresent:c}=this.node.prevPresenceContext||{};if(!this.node.animationState||a===c)return;if(a&&!1===c){if(this.isExitComplete){let{initial:a,custom:b}=this.node.getProps();if("string"==typeof a||"object"==typeof a&&null!==a&&!Array.isArray(a)){let c=Ab(this.node,a,b);if(c){let{transition:a,transitionEnd:b,...d}=c;for(let a in d)this.node.getValue(a)?.jump(d[a])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}let d=this.node.animationState.setActive("exit",!a);b&&!a&&d.then(()=>{this.isExitComplete=!0,b(this.id)})}mount(){let{register:a,onExitComplete:b}=this.node.presenceContext||{};b&&b(this.id),a&&(this.unmount=a(this.id))}unmount(){}}let Br={x:!1,y:!1};function Bs(a){return[a("x"),a("y")]}function Bt(a){return a.max-a.min}function Bu(a,b,c,d=.5){a.origin=d,a.originPoint=zx(b.min,b.max,a.origin),a.scale=Bt(c)/Bt(b),a.translate=zx(c.min,c.max,a.origin)-a.originPoint,(a.scale>=.9999&&a.scale<=1.0001||isNaN(a.scale))&&(a.scale=1),(a.translate>=-.01&&a.translate<=.01||isNaN(a.translate))&&(a.translate=0)}function Bv(a,b,c,d){Bu(a.x,b.x,c.x,d?d.originX:void 0),Bu(a.y,b.y,c.y,d?d.originY:void 0)}function Bw(a,b,c,d=0){a.min=(d?zx(c.min,c.max,d):c.min)+b.min,a.max=a.min+Bt(b)}function Bx(a,b,c,d=0){let e=d?zx(c.min,c.max,d):c.min;a.min=b.min-e,a.max=a.min+Bt(b)}function By(a,b,c,d){Bx(a.x,b.x,c.x,d?.x),Bx(a.y,b.y,c.y,d?.y)}let Bz=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]),BA=new Set(["INPUT","SELECT","TEXTAREA"]);function BB(a,b,c,d={passive:!0}){return a.addEventListener(b,c,d),()=>a.removeEventListener(b,c,d)}let BC=a=>"object"==typeof a&&null!==a;function BD(a){return BC(a)&&"ownerSVGElement"in a}function BE(a,b,c){if(null==a)return[];if(a instanceof EventTarget)return[a];if("string"==typeof a){let d=document;b&&(d=b.current);let e=c?.[a]??d.querySelectorAll(a);return e?Array.from(e):[]}return Array.from(a).filter(a=>null!=a)}let BF=new WeakMap,BG=(a,b,c)=>(d,e)=>e&&e[0]?e[0][a+"Size"]:BD(d)&&"getBBox"in d?d.getBBox()[b]:d[c],BH=BG("inline","width","offsetWidth"),BI=BG("block","height","offsetHeight");function BJ({target:a,borderBoxSize:b}){BF.get(a)?.forEach(c=>{c(a,{get width(){return BH(a,b)},get height(){return BI(a,b)}})})}function BK(a){a.forEach(BJ)}let BL=new Set;function BM(a,b){let c;return"function"==typeof a?(BL.add(a),i||(i=()=>{let a={get width(){return window.innerWidth},get height(){return window.innerHeight}};BL.forEach(b=>b(a))},window.addEventListener("resize",i)),()=>{BL.delete(a),BL.size||"function"!=typeof i||(window.removeEventListener("resize",i),i=void 0)}):(!h&&"u">typeof ResizeObserver&&(h=new ResizeObserver(BK)),(c=BE(a)).forEach(a=>{let c=BF.get(a);c||(c=new Set,BF.set(a,c)),c.add(b),h?.observe(a)}),()=>{c.forEach(a=>{let c=BF.get(a);c?.delete(b),c?.size||h?.unobserve(a)})})}let BN=a=>"mouse"===a.pointerType?"number"!=typeof a.button||a.button<=0:!1!==a.isPrimary;function BO(a){return{point:{x:a.pageX,y:a.pageY}}}function BP(a,b,c,d){return BB(a,b,a=>BN(a)&&c(a,BO(a)),d)}let BQ=({current:a})=>a?a.ownerDocument.defaultView:null;function BR(a){return a&&"object"==typeof a&&Object.prototype.hasOwnProperty.call(a,"current")}let BS=(a,b)=>Math.abs(a-b),BT=new Set(["auto","scroll"]);class BU{constructor(a,b,{transformPagePoint:c,contextWindow:d=window,dragSnapToOrigin:e=!1,distanceThreshold:f=3,element:g}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=a=>{this.handleScroll(a.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{var a,b;if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=BV(this.lastRawMoveEventInfo,this.transformPagePoint));let c=BX(this.lastMoveEventInfo,this.history),d=null!==this.startEvent,e=(a=c.offset,b={x:0,y:0},Math.sqrt(BS(a.x,b.x)**2+BS(a.y,b.y)**2)>=this.distanceThreshold);if(!d&&!e)return;let{point:f}=c,{timestamp:g}=yo;this.history.push({...f,timestamp:g});let{onStart:h,onMove:i}=this.handlers;d||(h&&h(this.lastMoveEvent,c),this.startEvent=this.lastMoveEvent),i&&i(this.lastMoveEvent,c)},this.handlePointerMove=(a,b)=>{this.lastMoveEvent=a,this.lastRawMoveEventInfo=b,this.lastMoveEventInfo=BV(b,this.transformPagePoint),ym.update(this.updatePoint,!0)},this.handlePointerUp=(a,b)=>{this.end();let{onEnd:c,onSessionEnd:d,resumeAnimation:e}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&e&&e(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let f=BX("pointercancel"===a.type?this.lastMoveEventInfo:BV(b,this.transformPagePoint),this.history);this.startEvent&&c&&c(a,f),d&&d(a,f)},!BN(a))return;this.dragSnapToOrigin=e,this.handlers=b,this.transformPagePoint=c,this.distanceThreshold=f,this.contextWindow=d||window;const h=BV(BO(a),this.transformPagePoint),{point:i}=h,{timestamp:j}=yo;this.history=[{...i,timestamp:j}];const{onSessionStart:k}=b;k&&k(a,BX(h,this.history));const l={passive:!0,capture:!0};this.removeListeners=Ah(BP(this.contextWindow,"pointermove",this.handlePointerMove,l),BP(this.contextWindow,"pointerup",this.handlePointerUp,l),BP(this.contextWindow,"pointercancel",this.handlePointerUp,l)),g&&this.startScrollTracking(g)}startScrollTracking(a){let b=a.parentElement;for(;b;){let a=getComputedStyle(b);(BT.has(a.overflowX)||BT.has(a.overflowY))&&this.scrollPositions.set(b,{x:b.scrollLeft,y:b.scrollTop}),b=b.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(a){let b=this.scrollPositions.get(a);if(!b)return;let c=a===window,d=c?{x:window.scrollX,y:window.scrollY}:{x:a.scrollLeft,y:a.scrollTop},e={x:d.x-b.x,y:d.y-b.y};(0!==e.x||0!==e.y)&&(c?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=e.x,this.lastMoveEventInfo.point.y+=e.y):this.history.length>0&&(this.history[0].x-=e.x,this.history[0].y-=e.y),this.scrollPositions.set(a,d),ym.update(this.updatePoint,!0))}updateHandlers(a){this.handlers=a}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),yn(this.updatePoint)}}function BV(a,b){return b?{point:b(a.point)}:a}function BW(a,b){return{x:a.x-b.x,y:a.y-b.y}}function BX({point:a},b){return{point:a,delta:BW(a,BY(b)),offset:BW(a,b[0]),velocity:function(a){if(a.length<2)return{x:0,y:0};let b=a.length-1,c=null,d=BY(a);for(;b>=0&&(c=a[b],!(d.timestamp-c.timestamp>yB(.1)));)b--;if(!c)return{x:0,y:0};c===a[0]&&a.length>2&&d.timestamp-c.timestamp>2*yB(.1)&&(c=a[1]);let e=(d.timestamp-c.timestamp)/1e3;if(0===e)return{x:0,y:0};let f={x:(d.x-c.x)/e,y:(d.y-c.y)/e};return f.x===1/0&&(f.x=0),f.y===1/0&&(f.y=0),f}(b)}}function BY(a){return a[a.length-1]}function BZ(a,b,c){return{min:void 0!==b?a.min+b:void 0,max:void 0!==c?a.max+c-(a.max-a.min):void 0}}function B$(a,b){let c=b.min-a.min,d=b.max-a.max;return b.max-b.min<a.max-a.min&&([c,d]=[d,c]),{min:c,max:d}}function B_(a,b,c){return{min:B0(a,b),max:B0(a,c)}}function B0(a,b){return"number"==typeof a?a:a[b]||0}let B1=new WeakMap;class B2{constructor(a){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=xR(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=a}start(a,{snapToCursor:b=!1,distanceThreshold:c}={}){let{presenceContext:d}=this.visualElement;if(d&&!1===d.isPresent)return;let e=a=>{b&&this.snapToCursor(BO(a).point),this.stopAnimation()},f=(a,b)=>{let{drag:c,dragPropagation:d,onDragStart:e}=this.getProps();if(c&&!d&&(this.openDragLock&&this.openDragLock(),this.openDragLock=function(a){if("x"===a||"y"===a)if(Br[a])return null;else return Br[a]=!0,()=>{Br[a]=!1};return Br.x||Br.y?null:(Br.x=Br.y=!0,()=>{Br.x=Br.y=!1})}(c),!this.openDragLock))return;this.latestPointerEvent=a,this.latestPanInfo=b,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Bs(a=>{let b=this.getAxisMotionValue(a).get()||0;if(xr.test(b)){let{projection:c}=this.visualElement;if(c&&c.layout){let d=c.layout.layoutBox[a];d&&(b=Bt(d)*(parseFloat(b)/100))}}this.originPoint[a]=b}),e&&ym.update(()=>e(a,b),!1,!0),Af(this.visualElement,"transform");let{animationState:f}=this.visualElement;f&&f.setActive("whileDrag",!0)},g=(a,b)=>{this.latestPointerEvent=a,this.latestPanInfo=b;let{dragPropagation:c,dragDirectionLock:d,onDirectionLock:e,onDrag:f}=this.getProps();if(!c&&!this.openDragLock)return;let{offset:g}=b;if(d&&null===this.currentDirection){this.currentDirection=function(a,b=10){let c=null;return Math.abs(a.y)>b?c="y":Math.abs(a.x)>b&&(c="x"),c}(g),null!==this.currentDirection&&e&&e(this.currentDirection);return}this.updateAxis("x",b.point,g),this.updateAxis("y",b.point,g),this.visualElement.render(),f&&ym.update(()=>f(a,b),!1,!0)},h=(a,b)=>{this.latestPointerEvent=a,this.latestPanInfo=b,this.stop(a,b),this.latestPointerEvent=null,this.latestPanInfo=null},i=()=>{let{dragSnapToOrigin:a}=this.getProps();(a||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:j}=this.getProps();this.panSession=new BU(a,{onSessionStart:e,onStart:f,onMove:g,onSessionEnd:h,resumeAnimation:i},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:j,distanceThreshold:c,contextWindow:BQ(this.visualElement),element:this.visualElement.current})}stop(a,b){let c=a||this.latestPointerEvent,d=b||this.latestPanInfo,e=this.isDragging;if(this.cancel(),!e||!d||!c)return;let{velocity:f}=d;this.startAnimation(f);let{onDragEnd:g}=this.getProps();g&&ym.postRender(()=>g(c,d))}cancel(){this.isDragging=!1;let{projection:a,animationState:b}=this.visualElement;a&&(a.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:c}=this.getProps();!c&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),b&&b.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(a,b,c){let{drag:d}=this.getProps();if(!c||!B4(a,d,this.currentDirection))return;let e=this.getAxisMotionValue(a),f=this.originPoint[a]+c[a];this.constraints&&this.constraints[a]&&(f=function(a,{min:b,max:c},d){return void 0!==b&&a<b?a=d?zx(b,a,d.min):Math.max(a,b):void 0!==c&&a>c&&(a=d?zx(c,a,d.max):Math.min(a,c)),a}(f,this.constraints[a],this.elastic[a])),e.set(f)}resolveConstraints(){let{dragConstraints:a,dragElastic:b}=this.getProps(),c=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,d=this.constraints;a&&BR(a)?this.constraints||(this.constraints=this.resolveRefConstraints()):a&&c?this.constraints=function(a,{top:b,left:c,bottom:d,right:e}){return{x:BZ(a.x,c,e),y:BZ(a.y,b,d)}}(c.layoutBox,a):this.constraints=!1,this.elastic=function(a=.35){return!1===a?a=0:!0===a&&(a=.35),{x:B_(a,"left","right"),y:B_(a,"top","bottom")}}(b),d!==this.constraints&&!BR(a)&&c&&this.constraints&&!this.hasMutatedConstraints&&Bs(a=>{var b,d;let e;!1!==this.constraints&&this.getAxisMotionValue(a)&&(this.constraints[a]=(b=c.layoutBox[a],d=this.constraints[a],e={},void 0!==d.min&&(e.min=d.min-b.min),void 0!==d.max&&(e.max=d.max-b.min),e))})}resolveRefConstraints(){var a;let{dragConstraints:b,onMeasureDragConstraints:c}=this.getProps();if(!b||!BR(b))return!1;let d=b.current;xY();let{projection:e}=this.visualElement;if(!e||!e.layout)return!1;e.root&&(e.root.scroll=void 0,e.root.updateScroll());let f=function(a,b,c){let d=zP(a,c),{scroll:e}=b;return e&&(zL(d.x,e.offset.x),zL(d.y,e.offset.y)),d}(d,e.root,this.visualElement.getTransformPagePoint()),g=(a=e.layout.layoutBox,{x:B$(a.x,f.x),y:B$(a.y,f.y)});if(c){let a=c(function({x:a,y:b}){return{top:b.min,right:a.max,bottom:b.max,left:a.min}}(g));this.hasMutatedConstraints=!!a,a&&(g=zD(a))}return g}startAnimation(a){let{drag:b,dragMomentum:c,dragElastic:d,dragTransition:e,dragSnapToOrigin:f,onDragTransitionEnd:g}=this.getProps(),h=this.constraints||{};return Promise.all(Bs(g=>{if(!B4(g,b,this.currentDirection))return;let i=h&&h[g]||{};(!0===f||f===g)&&(i={min:0,max:0});let j={type:"inertia",velocity:c?a[g]:0,bounceStiffness:d?200:1e6,bounceDamping:d?40:1e7,timeConstant:750,restDelta:1,restSpeed:10,...e,...i};return this.startAxisValueAnimation(g,j)})).then(g)}startAxisValueAnimation(a,b){let c=this.getAxisMotionValue(a);return Af(this.visualElement,a),c.start(Be(a,c,0,b,this.visualElement,!1))}stopAnimation(){Bs(a=>this.getAxisMotionValue(a).stop())}getAxisMotionValue(a){let b=`_drag${a.toUpperCase()}`;return this.visualElement.getProps()[b]||this.visualElement.getValue(a,this.visualElement.latestValues[a]??0)}snapToCursor(a){Bs(b=>{let{drag:c}=this.getProps();if(!B4(b,c,this.currentDirection))return;let{projection:d}=this.visualElement,e=this.getAxisMotionValue(b);if(d&&d.layout){let{min:c,max:f}=d.layout.layoutBox[b],g=e.get()||0;e.set(a[b]-zx(c,f,.5)+g)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:a,dragConstraints:b}=this.getProps(),{projection:c}=this.visualElement;if(!BR(b)||!c||!this.constraints)return;this.stopAnimation();let d={x:0,y:0};Bs(a=>{let b=this.getAxisMotionValue(a);if(b&&!1!==this.constraints){var c,e;let f,g,h,i=b.get();d[a]=(c={min:i,max:i},e=this.constraints[a],f=.5,g=Bt(c),(h=Bt(e))>g?f=AY(e.min,e.max-g,c.min):g>h&&(f=AY(c.min,c.max-h,e.min)),xd(0,1,f))}});let{transformTemplate:e}=this.visualElement.getProps();this.visualElement.current.style.transform=e?e({},""):"none",c.root&&c.root.updateScroll(),c.updateLayout(),this.constraints=!1,this.resolveConstraints(),Bs(b=>{if(!B4(b,a,null))return;let c=this.getAxisMotionValue(b),{min:e,max:f}=this.constraints[b];c.set(zx(e,f,d[b]))}),this.visualElement.render()}addListeners(){let a;if(!this.visualElement.current)return;B1.set(this.visualElement,this);let b=this.visualElement.current,c=BP(b,"pointerdown",a=>{let{drag:c,dragListener:d=!0}=this.getProps(),e=a.target,f=e!==b&&(BA.has(e.tagName)||!0===e.isContentEditable);c&&d&&!f&&this.start(a)}),d=()=>{var c,d,e;let f,g,{dragConstraints:h}=this.getProps();BR(h)&&h.current&&(this.constraints=this.resolveRefConstraints(),a||(c=b,d=h.current,f=BM(c,B3(e=()=>this.scalePositionWithinConstraints())),g=BM(d,B3(e)),a=()=>{f(),g()}))},{projection:e}=this.visualElement,f=e.addEventListener("measure",d);e&&!e.layout&&(e.root&&e.root.updateScroll(),e.updateLayout()),ym.read(d);let g=BB(window,"resize",()=>this.scalePositionWithinConstraints()),h=e.addEventListener("didUpdate",({delta:a,hasLayoutChanged:b})=>{this.isDragging&&b&&(Bs(b=>{let c=this.getAxisMotionValue(b);c&&(this.originPoint[b]+=a[b].translate,c.set(c.get()+a[b].translate))}),this.visualElement.render())});return()=>{g(),c(),f(),h&&h(),a&&a()}}getProps(){let a=this.visualElement.getProps(),{drag:b=!1,dragDirectionLock:c=!1,dragPropagation:d=!1,dragConstraints:e=!1,dragElastic:f=.35,dragMomentum:g=!0}=a;return{...a,drag:b,dragDirectionLock:c,dragPropagation:d,dragConstraints:e,dragElastic:f,dragMomentum:g}}}function B3(a){let b=!0;return()=>{if(b){b=!1;return}a()}}function B4(a,b,c){return(!0===b||b===a)&&(null===c||c===a)}class B5 extends Aa{constructor(a){super(a),this.removeGroupControls=yi,this.removeListeners=yi,this.controls=new B2(a)}mount(){let{dragControls:a}=this.node.getProps();a&&(this.removeGroupControls=a.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||yi}update(){let{dragControls:a}=this.node.getProps(),{dragControls:b}=this.node.prevProps||{};a!==b&&(this.removeGroupControls(),a&&(this.removeGroupControls=a.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}let B6=a=>(b,c)=>{a&&ym.update(()=>a(b,c),!1,!0)};class B7 extends Aa{constructor(){super(...arguments),this.removePointerDownListener=yi}onPointerDown(a){this.session=new BU(a,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:BQ(this.node)})}createPanHandlers(){let{onPanSessionStart:a,onPanStart:b,onPan:c,onPanEnd:d}=this.node.getProps();return{onSessionStart:B6(a),onStart:B6(b),onMove:B6(c),onEnd:(a,b)=>{delete this.session,d&&ym.postRender(()=>d(a,b))}}}mount(){this.removePointerDownListener=BP(this.node.current,"pointerdown",a=>this.onPointerDown(a))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let B8={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function B9(a=!0){let b=(0,O.useContext)(z1);if(null===b)return[!0,null];let{isPresent:c,onExitComplete:d,register:e}=b,f=(0,O.useId)(),g=(0,O.useCallback)(()=>a&&d&&d(f),[f,d,a]);return!c&&d?[!1,g]:[!0]}function Ca(){var a;return null===(a=(0,O.useContext)(z1))||a.isPresent}let Cb=(0,O.createContext)({}),Cc=!1;class Cd extends O.Component{componentDidMount(){let{visualElement:a,layoutGroup:b,switchLayoutGroup:c,layoutId:d}=this.props,{projection:e}=a;e&&(b.group&&b.group.add(e),c&&c.register&&d&&c.register(e),Cc&&e.root.didUpdate(),e.addEventListener("animationComplete",()=>{this.safeToRemove()}),e.setOptions({...e.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),B8.hasEverUpdated=!0}getSnapshotBeforeUpdate(a){let{layoutDependency:b,visualElement:c,drag:d,isPresent:e}=this.props,{projection:f}=c;return f&&(f.isPresent=e,a.layoutDependency!==b&&f.setOptions({...f.options,layoutDependency:b}),Cc=!0,d||a.layoutDependency!==b||void 0===b||a.isPresent!==e?f.willUpdate():this.safeToRemove(),a.isPresent!==e&&(e?f.promote():f.relegate()||ym.postRender(()=>{let a=f.getStack();a&&a.members.length||this.safeToRemove()}))),null}componentDidUpdate(){let{visualElement:a,layoutAnchor:b}=this.props,{projection:c}=a;c&&(c.options.layoutAnchor=b,c.root.didUpdate(),yV.postRender(()=>{!c.currentAnimation&&c.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:a,layoutGroup:b,switchLayoutGroup:c}=this.props,{projection:d}=a;Cc=!0,d&&(d.scheduleCheckAfterUnmount(),b&&b.group&&b.group.remove(d),c&&c.deregister&&c.deregister(d))}safeToRemove(){let{safeToRemove:a}=this.props;a&&a()}render(){return null}}function Ce(a){let[b,c]=B9(),d=(0,O.useContext)(zT);return(0,N.jsx)(Cd,{...a,layoutGroup:d,switchLayoutGroup:(0,O.useContext)(Cb),isPresent:b,safeToRemove:c})}let Cf=zu.length,Cg=a=>"string"==typeof a?parseFloat(a):a,Ch=a=>"number"==typeof a||xs.test(a);function Ci(a,b){return void 0!==a[b]?a[b]:a.borderRadius}let Cj=Cl(0,.5,AU),Ck=Cl(.5,.95,yi);function Cl(a,b,c){return d=>d<a?0:d>b?1:c(AY(a,b,d))}function Cm(a,b){a.min=b.min,a.max=b.max}function Cn(a,b){Cm(a.x,b.x),Cm(a.y,b.y)}function Co(a,b){a.translate=b.translate,a.scale=b.scale,a.originPoint=b.originPoint,a.origin=b.origin}function Cp(a,b,c,d,e){return a-=b,a=d+1/c*(a-d),void 0!==e&&(a=d+1/e*(a-d)),a}function Cq(a,b,[c,d,e],f,g){!function(a,b=0,c=1,d=.5,e,f=a,g=a){if(xr.test(b)&&(b=parseFloat(b),b=zx(g.min,g.max,b/100)-g.min),"number"!=typeof b)return;let h=zx(f.min,f.max,d);a===f&&(h-=b),a.min=Cp(a.min,b,c,h,e),a.max=Cp(a.max,b,c,h,e)}(a,b[c],b[d],b[e],b.scale,f,g)}let Cr=["x","scaleX","originX"],Cs=["y","scaleY","originY"];function Ct(a,b,c,d){Cq(a.x,b,Cr,c?c.x:void 0,d?d.x:void 0),Cq(a.y,b,Cs,c?c.y:void 0,d?d.y:void 0)}function Cu(a){return 0===a.translate&&1===a.scale}function Cv(a){return Cu(a.x)&&Cu(a.y)}function Cw(a,b){return a.min===b.min&&a.max===b.max}function Cx(a,b){return Math.round(a.min)===Math.round(b.min)&&Math.round(a.max)===Math.round(b.max)}function Cy(a,b){return Cx(a.x,b.x)&&Cx(a.y,b.y)}function Cz(a){return Bt(a.x)/Bt(a.y)}function CA(a,b){return a.translate===b.translate&&a.scale===b.scale&&a.originPoint===b.originPoint}class CB{constructor(){this.members=[]}add(a){yC(this.members,a);for(let b=this.members.length-1;b>=0;b--){let c=this.members[b];if(c===a||c===this.lead||c===this.prevLead)continue;let d=c.instance;d&&!1!==d.isConnected||c.snapshot||(yD(this.members,c),c.unmount())}a.scheduleRender()}remove(a){if(yD(this.members,a),a===this.prevLead&&(this.prevLead=void 0),a===this.lead){let a=this.members[this.members.length-1];a&&this.promote(a)}}relegate(a){for(let b=this.members.indexOf(a)-1;b>=0;b--){let a=this.members[b];if(!1!==a.isPresent&&a.instance?.isConnected!==!1)return this.promote(a),!0}return!1}promote(a,b){let c=this.lead;if(a!==c&&(this.prevLead=c,this.lead=a,a.show(),c)){c.updateSnapshot(),a.scheduleRender();let{layoutDependency:d}=c.options,{layoutDependency:e}=a.options;(void 0===d||d!==e)&&(a.resumeFrom=c,b&&(c.preserveOpacity=!0),c.snapshot&&(a.snapshot=c.snapshot,a.snapshot.latestValues=c.animationValues||c.latestValues),a.root?.isUpdating&&(a.isLayoutDirty=!0)),!1===a.options.crossfade&&c.hide()}}exitAnimationComplete(){this.members.forEach(a=>{a.options.onExitComplete?.(),a.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(a=>a.instance&&a.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}}let CC=(a,b)=>a.depth-b.depth;class CD{constructor(){this.children=[],this.isDirty=!1}add(a){yC(this.children,a),this.isDirty=!0}remove(a){yD(this.children,a),this.isDirty=!0}forEach(a){this.isDirty&&this.children.sort(CC),this.isDirty=!1,this.children.forEach(a)}}let CE=["","X","Y","Z"],CF=0;function CG(a,b,c,d){let{latestValues:e}=b;e[a]&&(c[a]=e[a],b.setStaticValue(a,0),d&&(d[a]=0))}function CH({attachResizeListener:a,defaultParent:b,measureScroll:c,checkIsScrollRoot:d,resetTransform:e}){return class{constructor(a={},c=b?.()){this.id=CF++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(CK),this.nodes.forEach(CT),this.nodes.forEach(CU),this.nodes.forEach(CL)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=a,this.root=c?c.root||c:this,this.path=c?[...c.path,c]:[],this.parent=c,this.depth=c?c.depth+1:0;for(let a=0;a<this.path.length;a++)this.path[a].shouldResetTransform=!0;this.root===this&&(this.nodes=new CD)}addEventListener(a,b){return this.eventHandlers.has(a)||this.eventHandlers.set(a,new yE),this.eventHandlers.get(a).add(b)}notifyListeners(a,...b){let c=this.eventHandlers.get(a);c&&c.notify(...b)}hasListeners(a){return this.eventHandlers.has(a)}mount(b){if(this.instance)return;this.isSVG=BD(b)&&!(BD(b)&&"svg"===b.tagName),this.instance=b;let{layoutId:c,layout:d,visualElement:e}=this.options;if(e&&!e.current&&e.mount(b),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(d||c)&&(this.isLayoutDirty=!0),a){let c,d=0,e=()=>this.root.updateBlockedByResize=!1;ym.read(()=>{d=window.innerWidth}),a(b,()=>{let a=window.innerWidth;if(a!==d){let b,f;d=a,this.root.updateBlockedByResize=!0,c&&c(),b=yX.now(),f=({timestamp:a})=>{let c=a-b;c>=250&&(yn(f),e())},ym.setup(f,!0),c=()=>yn(f),B8.hasAnimatedSinceResize&&(B8.hasAnimatedSinceResize=!1,this.nodes.forEach(CS))}})}c&&this.root.registerSharedNode(c,this),!1!==this.options.animate&&e&&(c||d)&&this.addEventListener("didUpdate",({delta:a,hasLayoutChanged:b,hasRelativeLayoutChanged:c,layout:d})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let f=this.options.transition||e.getDefaultTransition()||C$,{onLayoutAnimationStart:g,onLayoutAnimationComplete:h}=e.getProps(),i=!this.targetLayout||!Cy(this.targetLayout,d),j=!b&&c;if(this.options.layoutRoot||this.resumeFrom||j||b&&(i||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let b={...Ad(f,"layout"),onPlay:g,onComplete:h};(e.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b),this.setAnimationOrigin(a,j,b.path)}else b||CS(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=d})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let a=this.getStack();a&&a.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),yn(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){!this.isUpdateBlocked()&&(this.isUpdating=!0,this.nodes&&this.nodes.forEach(CV),this.animationId++)}getTransformTemplate(){let{visualElement:a}=this.options;return a&&a.getProps().transformTemplate}willUpdate(a=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&function a(b){if(b.hasCheckedOptimisedAppear=!0,b.root===b)return;let{visualElement:c}=b.options;if(!c)return;let d=c.props[Ag];if(window.MotionHasOptimisedAnimation(d,"transform")){let{layout:a,layoutId:c}=b.options;window.MotionCancelOptimisedAnimation(d,"transform",ym,!(a||c))}let{parent:e}=b;e&&!e.hasCheckedOptimisedAppear&&a(e)}(this),this.root.isUpdating||this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let a=0;a<this.path.length;a++){let b=this.path[a];b.shouldResetTransform=!0,("string"==typeof b.latestValues.x||"string"==typeof b.latestValues.y)&&(b.isLayoutDirty=!0),b.updateScroll("snapshot"),b.options.layoutRoot&&b.willUpdate(!1)}let{layoutId:b,layout:c}=this.options;if(void 0===b&&!c)return;let d=this.getTransformTemplate();this.prevTransformTemplateValue=d?d(this.latestValues,""):void 0,this.updateSnapshot(),a&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let a=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),a&&this.nodes.forEach(CO),this.nodes.forEach(CN);return}if(this.animationId<=this.animationCommitId)return void this.nodes.forEach(CP);this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(CQ),this.nodes.forEach(CR),this.nodes.forEach(CI),this.nodes.forEach(CJ)):this.nodes.forEach(CP),this.clearAllSnapshots();let a=yX.now();yo.delta=xd(0,1e3/60,a-yo.timestamp),yo.timestamp=a,yo.isProcessing=!0,yp.update.process(yo),yp.preRender.process(yo),yp.render.process(yo),yo.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,yV.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(CM),this.sharedNodes.forEach(CW)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,ym.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){ym.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure(),!this.snapshot||Bt(this.snapshot.measuredBox.x)||Bt(this.snapshot.measuredBox.y)||(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let a=0;a<this.path.length;a++)this.path[a].updateScroll();let a=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||(this.layoutCorrected=xR()),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);let{visualElement:b}=this.options;b&&b.notify("LayoutMeasure",this.layout.layoutBox,a?a.layoutBox:void 0)}updateScroll(a="measure"){let b=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===a&&(b=!1),b&&this.instance){let b=d(this.instance);this.scroll={animationId:this.root.animationId,phase:a,isRoot:b,offset:c(this.instance),wasRoot:this.scroll?this.scroll.isRoot:b}}}resetTransform(){if(!e)return;let a=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,b=this.projectionDelta&&!Cv(this.projectionDelta),c=this.getTransformTemplate(),d=c?c(this.latestValues,""):void 0,f=d!==this.prevTransformTemplateValue;a&&this.instance&&(b||zG(this.latestValues)||f)&&(e(this.instance,d),this.shouldResetTransform=!1,this.scheduleRender())}measure(a=!0){var b;let c=this.measurePageBox(),d=this.removeElementScroll(c);return a&&(d=this.removeTransform(d)),C1((b=d).x),C1(b.y),{animationId:this.root.animationId,measuredBox:c,layoutBox:d,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:a}=this.options;if(!a)return xR();let b=a.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(C3))){let{scroll:a}=this.root;a&&(zL(b.x,a.offset.x),zL(b.y,a.offset.y))}return b}removeElementScroll(a){let b=xR();if(Cn(b,a),this.scroll?.wasRoot)return b;for(let c=0;c<this.path.length;c++){let d=this.path[c],{scroll:e,options:f}=d;d!==this.root&&e&&f.layoutScroll&&(e.wasRoot&&Cn(b,a),zL(b.x,e.offset.x),zL(b.y,e.offset.y))}return b}applyTransform(a,b=!1,c){let d=c||xR();Cn(d,a);for(let a=0;a<this.path.length;a++){let c=this.path[a];!b&&c.options.layoutScroll&&c.scroll&&c!==c.root&&(zL(d.x,-c.scroll.offset.x),zL(d.y,-c.scroll.offset.y)),zG(c.latestValues)&&zO(d,c.latestValues,c.layout?.layoutBox)}return zG(this.latestValues)&&zO(d,this.latestValues,this.layout?.layoutBox),d}removeTransform(a){let b=xR();Cn(b,a);for(let a=0;a<this.path.length;a++){let c,d=this.path[a];zG(d.latestValues)&&(d.instance&&(zF(d.latestValues)&&d.updateSnapshot(),Cn(c=xR(),d.measurePageBox())),Ct(b,d.latestValues,d.snapshot?.layoutBox,c))}return zG(this.latestValues)&&Ct(b,this.latestValues),b}setTargetDelta(a){this.targetDelta=a,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(a){this.options={...this.options,...a,crossfade:void 0===a.crossfade||a.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==yo.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(a=!1){let b=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=b.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=b.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=b.isSharedProjectionDirty);let c=!!this.resumingFrom||this!==b;if(!(a||c&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:d,layoutId:e}=this.options;if(!this.layout||!(d||e))return;this.resolvedRelativeTargetAt=yo.timestamp;let f=this.getClosestProjectingParent();if(f&&this.linkedParentVersion!==f.layoutVersion&&!f.options.layoutRoot&&this.removeRelativeTarget(),this.targetDelta||this.relativeTarget||(!1!==this.options.layoutAnchor&&f&&f.layout?this.createRelativeTarget(f,this.layout.layoutBox,f.layout.layoutBox):this.removeRelativeTarget()),this.relativeTarget||this.targetDelta){if(this.target||(this.target=xR(),this.targetWithTransforms=xR()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target){var g,h,i,j;this.forceRelativeParentToResolveTarget(),g=this.target,h=this.relativeTarget,i=this.relativeParent.target,j=this.options.layoutAnchor||void 0,Bw(g.x,h.x,i.x,j?.x),Bw(g.y,h.y,i.y,j?.y)}else this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):Cn(this.target,this.layout.layoutBox),zK(this.target,this.targetDelta)):Cn(this.target,this.layout.layoutBox);this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,!1!==this.options.layoutAnchor&&f&&!!f.resumingFrom==!!this.resumingFrom&&!f.options.layoutScroll&&f.target&&1!==this.animationProgress?this.createRelativeTarget(f,this.target,f.target):this.relativeParent=this.relativeTarget=void 0)}}getClosestProjectingParent(){if(!(!this.parent||zF(this.parent.latestValues)||zH(this.parent.latestValues)))if(this.parent.isProjecting())return this.parent;else return this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(a,b,c){this.relativeParent=a,this.linkedParentVersion=a.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=xR(),this.relativeTargetOrigin=xR(),By(this.relativeTargetOrigin,b,c,this.options.layoutAnchor||void 0),Cn(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let a=this.getLead(),b=!!this.resumingFrom||this!==a,c=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(c=!1),b&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(c=!1),this.resolvedRelativeTargetAt===yo.timestamp&&(c=!1),c)return;let{layout:d,layoutId:e}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(d||e))return;Cn(this.layoutCorrected,this.layout.layoutBox);let f=this.treeScale.x,g=this.treeScale.y;!function(a,b,c,d=!1){let e,f,g=c.length;if(g){b.x=b.y=1;for(let h=0;h<g;h++){f=(e=c[h]).projectionDelta;let{visualElement:g}=e.options;(!g||!g.props.style||"contents"!==g.props.style.display)&&(d&&e.options.layoutScroll&&e.scroll&&e!==e.root&&(zL(a.x,-e.scroll.offset.x),zL(a.y,-e.scroll.offset.y)),f&&(b.x*=f.x.scale,b.y*=f.y.scale,zK(a,f)),d&&zG(e.latestValues)&&zO(a,e.latestValues,e.layout?.layoutBox))}b.x<1.0000000000001&&b.x>.999999999999&&(b.x=1),b.y<1.0000000000001&&b.y>.999999999999&&(b.y=1)}}(this.layoutCorrected,this.treeScale,this.path,b),a.layout&&!a.target&&(1!==this.treeScale.x||1!==this.treeScale.y)&&(a.target=a.layout.layoutBox,a.targetWithTransforms=xR());let{target:h}=a;if(!h){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}this.projectionDelta&&this.prevProjectionDelta?(Co(this.prevProjectionDelta.x,this.projectionDelta.x),Co(this.prevProjectionDelta.y,this.projectionDelta.y)):this.createProjectionDeltas(),Bv(this.projectionDelta,this.layoutCorrected,h,this.latestValues),this.treeScale.x===f&&this.treeScale.y===g&&CA(this.projectionDelta.x,this.prevProjectionDelta.x)&&CA(this.projectionDelta.y,this.prevProjectionDelta.y)||(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",h))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(a=!0){if(this.options.visualElement?.scheduleRender(),a){let a=this.getStack();a&&a.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=xP(),this.projectionDelta=xP(),this.projectionDeltaWithTransform=xP()}setAnimationOrigin(a,b=!1,c){let d,e=this.snapshot,f=e?e.latestValues:{},g={...this.latestValues},h=xP();this.relativeParent&&this.relativeParent.options.layoutRoot||(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!b;let i=xR(),j=(e?e.source:void 0)!==(this.layout?this.layout.source:void 0),k=this.getStack(),l=!k||k.members.length<=1,m=!!(j&&!l&&!0===this.options.crossfade&&!this.path.some(CZ));this.animationProgress=0;let n=c?.interpolateProjection(a);this.mixTargetDelta=b=>{let c=b/1e3,e=n?.(c);if(e?(h.x.translate=e.x,h.x.scale=zx(a.x.scale,1,c),h.x.origin=a.x.origin,h.x.originPoint=a.x.originPoint,h.y.translate=e.y,h.y.scale=zx(a.y.scale,1,c),h.y.origin=a.y.origin,h.y.originPoint=a.y.originPoint):(CX(h.x,a.x,c),CX(h.y,a.y,c)),this.setTargetDelta(h),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout){var k,o,p,q,r,s;By(i,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),p=this.relativeTarget,q=this.relativeTargetOrigin,r=i,s=c,CY(p.x,q.x,r.x,s),CY(p.y,q.y,r.y,s),d&&(k=this.relativeTarget,o=d,Cw(k.x,o.x)&&Cw(k.y,o.y))&&(this.isProjectionDirty=!1),d||(d=xR()),Cn(d,this.relativeTarget)}j&&(this.animationValues=g,function(a,b,c,d,e,f){e?(a.opacity=zx(0,c.opacity??1,Cj(d)),a.opacityExit=zx(b.opacity??1,0,Ck(d))):f&&(a.opacity=zx(b.opacity??1,c.opacity??1,d));for(let e=0;e<Cf;e++){let f=zu[e],g=Ci(b,f),h=Ci(c,f);(void 0!==g||void 0!==h)&&(g||(g=0),h||(h=0),0===g||0===h||Ch(g)===Ch(h)?(a[f]=Math.max(zx(Cg(g),Cg(h),d),0),(xr.test(h)||xr.test(g))&&(a[f]+="%")):a[f]=h)}(b.rotate||c.rotate)&&(a.rotate=zx(b.rotate||0,c.rotate||0,d))}(g,f,this.latestValues,c,m,l)),e&&void 0!==e.rotate&&(this.animationValues||(this.animationValues=g),this.animationValues.pathRotation=e.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=c},this.mixTargetDelta(1e3*!!this.options.layoutRoot)}startAnimation(a){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(yn(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=ym.update(()=>{var b,c,d;let e;B8.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=y_(0)),this.motionValue.jump(0,!1),this.currentAnimation=(b=this.motionValue,c=[0,1e3],d={...a,velocity:0,isSync:!0,onUpdate:b=>{this.mixTargetDelta(b),a.onUpdate&&a.onUpdate(b)},onComplete:()=>{a.onComplete&&a.onComplete(),this.completeAnimation()}},(e=xS(b)?b:y_(b)).start(Be("",e,c,d)),e.animation),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let a=this.getStack();a&&a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let a=this.getLead(),{targetWithTransforms:b,target:c,layout:d,latestValues:e}=a;if(b&&c&&d){if(this!==a&&this.layout&&d&&C2(this.options.animationType,this.layout.layoutBox,d.layoutBox)){c=this.target||xR();let b=Bt(this.layout.layoutBox.x);c.x.min=a.target.x.min,c.x.max=c.x.min+b;let d=Bt(this.layout.layoutBox.y);c.y.min=a.target.y.min,c.y.max=c.y.min+d}Cn(b,c),zO(b,e),Bv(this.projectionDeltaWithTransform,this.layoutCorrected,b,e)}}registerSharedNode(a,b){this.sharedNodes.has(a)||this.sharedNodes.set(a,new CB),this.sharedNodes.get(a).add(b);let c=b.options.initialPromotionConfig;b.promote({transition:c?c.transition:void 0,preserveFollowOpacity:c&&c.shouldPreserveFollowOpacity?c.shouldPreserveFollowOpacity(b):void 0})}isLead(){let a=this.getStack();return!a||a.lead===this}getLead(){let{layoutId:a}=this.options;return a&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:a}=this.options;return a?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:a}=this.options;if(a)return this.root.sharedNodes.get(a)}promote({needsReset:a,transition:b,preserveFollowOpacity:c}={}){let d=this.getStack();d&&d.promote(this,c),a&&(this.projectionDelta=void 0,this.needsReset=!0),b&&this.setOptions({transition:b})}relegate(){let a=this.getStack();return!!a&&a.relegate(this)}resetSkewAndRotation(){let{visualElement:a}=this.options;if(!a)return;let b=!1,{latestValues:c}=a;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(b=!0),!b)return;let d={};c.z&&CG("z",a,d,this.animationValues);for(let b=0;b<CE.length;b++)CG(`rotate${CE[b]}`,a,d,this.animationValues),CG(`skew${CE[b]}`,a,d,this.animationValues);for(let b in a.render(),d)a.setStaticValue(b,d[b]),this.animationValues&&(this.animationValues[b]=d[b]);a.scheduleRender()}applyProjectionStyles(a,b){if(!this.instance||this.isSVG)return;if(!this.isVisible){a.visibility="hidden";return}let c=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,a.visibility="",a.opacity="",a.pointerEvents=z0(b?.pointerEvents)||"",a.transform=c?c(this.latestValues,""):"none";return}let d=this.getLead();if(!this.projectionDelta||!this.layout||!d.target){this.options.layoutId&&(a.opacity=void 0!==this.latestValues.opacity?this.latestValues.opacity:1,a.pointerEvents=z0(b?.pointerEvents)||""),this.hasProjected&&!zG(this.latestValues)&&(a.transform=c?c({},""):"none",this.hasProjected=!1);return}a.visibility="";let e=d.animationValues||d.latestValues;this.applyTransformsToTarget();let f=function(a,b,c){let d="",e=a.x.translate/b.x,f=a.y.translate/b.y,g=c?.z||0;if((e||f||g)&&(d=`translate3d(${e}px, ${f}px, ${g}px) `),(1!==b.x||1!==b.y)&&(d+=`scale(${1/b.x}, ${1/b.y}) `),c){let{transformPerspective:a,rotate:b,pathRotation:e,rotateX:f,rotateY:g,skewX:h,skewY:i}=c;a&&(d=`perspective(${a}px) ${d}`),b&&(d+=`rotate(${b}deg) `),e&&(d+=`rotate(${e}deg) `),f&&(d+=`rotateX(${f}deg) `),g&&(d+=`rotateY(${g}deg) `),h&&(d+=`skewX(${h}deg) `),i&&(d+=`skewY(${i}deg) `)}let h=a.x.scale*b.x,i=a.y.scale*b.y;return(1!==h||1!==i)&&(d+=`scale(${h}, ${i})`),d||"none"}(this.projectionDeltaWithTransform,this.treeScale,e);c&&(f=c(e,f)),a.transform=f;let{x:g,y:h}=this.projectionDelta;for(let b in a.transformOrigin=`${100*g.origin}% ${100*h.origin}% 0`,d.animationValues?a.opacity=d===this?e.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:e.opacityExit:a.opacity=d===this?void 0!==e.opacity?e.opacity:"":void 0!==e.opacityExit?e.opacityExit:0,zy){if(void 0===e[b])continue;let{correct:c,applyTo:g,isCSSVariable:h}=zy[b],i="none"===f?e[b]:c(e[b],d);if(g){let b=g.length;for(let c=0;c<b;c++)a[g[c]]=i}else h?this.options.visualElement.renderState.vars[b]=i:a[b]=i}this.options.layoutId&&(a.pointerEvents=d===this?z0(b?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(a=>a.currentAnimation?.stop()),this.root.nodes.forEach(CN),this.root.sharedNodes.clear()}}}function CI(a){a.updateLayout()}function CJ(a){let b=a.resumeFrom?.snapshot||a.snapshot;if(a.isLead()&&a.layout&&b&&a.hasListeners("didUpdate")){let{layoutBox:c,measuredBox:d}=a.layout,{animationType:e}=a.options,f=b.source!==a.layout.source;if("size"===e)Bs(a=>{let d=f?b.measuredBox[a]:b.layoutBox[a],e=Bt(d);d.min=c[a].min,d.max=d.min+e});else if("x"===e||"y"===e){let a="x"===e?"y":"x";Cm(f?b.measuredBox[a]:b.layoutBox[a],c[a])}else C2(e,b.layoutBox,c)&&Bs(d=>{let e=f?b.measuredBox[d]:b.layoutBox[d],g=Bt(c[d]);e.max=e.min+g,a.relativeTarget&&!a.currentAnimation&&(a.isProjectionDirty=!0,a.relativeTarget[d].max=a.relativeTarget[d].min+g)});let g=xP();Bv(g,c,b.layoutBox);let h=xP();f?Bv(h,a.applyTransform(d,!0),b.measuredBox):Bv(h,c,b.layoutBox);let i=!Cv(g),j=!1;if(!a.resumeFrom){let d=a.getClosestProjectingParent();if(d&&!d.resumeFrom){let{snapshot:e,layout:f}=d;if(e&&f){let g=a.options.layoutAnchor||void 0,h=xR();By(h,b.layoutBox,e.layoutBox,g);let i=xR();By(i,c,f.layoutBox,g),Cy(h,i)||(j=!0),d.options.layoutRoot&&(a.relativeTarget=i,a.relativeTargetOrigin=h,a.relativeParent=d)}}}a.notifyListeners("didUpdate",{layout:c,snapshot:b,delta:h,layoutDelta:g,hasLayoutChanged:i,hasRelativeLayoutChanged:j})}else if(a.isLead()){let{onExitComplete:b}=a.options;b&&b()}a.options.transition=void 0}function CK(a){a.parent&&(a.isProjecting()||(a.isProjectionDirty=a.parent.isProjectionDirty),a.isSharedProjectionDirty||(a.isSharedProjectionDirty=!!(a.isProjectionDirty||a.parent.isProjectionDirty||a.parent.isSharedProjectionDirty)),a.isTransformDirty||(a.isTransformDirty=a.parent.isTransformDirty))}function CL(a){a.isProjectionDirty=a.isSharedProjectionDirty=a.isTransformDirty=!1}function CM(a){a.clearSnapshot()}function CN(a){a.clearMeasurements()}function CO(a){a.isLayoutDirty=!0,a.updateLayout()}function CP(a){a.isLayoutDirty=!1}function CQ(a){a.isAnimationBlocked&&a.layout&&!a.isLayoutDirty&&(a.snapshot=a.layout,a.isLayoutDirty=!0)}function CR(a){let{visualElement:b}=a.options;b&&b.getProps().onBeforeLayoutMeasure&&b.notify("BeforeLayoutMeasure"),a.resetTransform()}function CS(a){a.finishAnimation(),a.targetDelta=a.relativeTarget=a.target=void 0,a.isProjectionDirty=!0}function CT(a){a.resolveTargetDelta()}function CU(a){a.calcProjection()}function CV(a){a.resetSkewAndRotation()}function CW(a){a.removeLeadSnapshot()}function CX(a,b,c){a.translate=zx(b.translate,0,c),a.scale=zx(b.scale,1,c),a.origin=b.origin,a.originPoint=b.originPoint}function CY(a,b,c,d){a.min=zx(b.min,c.min,d),a.max=zx(b.max,c.max,d)}function CZ(a){return a.animationValues&&void 0!==a.animationValues.opacityExit}let C$={duration:.45,ease:[.4,0,.1,1]},C_=a=>"u">typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(a),C0=C_("applewebkit/")&&!C_("chrome/")?Math.round:yi;function C1(a){a.min=C0(a.min),a.max=C0(a.max)}function C2(a,b,c){return"position"===a||"preserve-aspect"===a&&!(.2>=Math.abs(Cz(b)-Cz(c)))}function C3(a){return a!==a.root&&a.scroll?.wasRoot}let C4=CH({attachResizeListener:(a,b)=>BB(a,"resize",b),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),C5={current:void 0},C6=CH({measureScroll:a=>({x:a.scrollLeft,y:a.scrollTop}),defaultParent:()=>{if(!C5.current){let a=new C4({});a.mount(window),a.setOptions({layoutScroll:!0}),C5.current=a}return C5.current},resetTransform:(a,b)=>{a.style.transform=void 0!==b?b:"none"},checkIsScrollRoot:a=>"fixed"===window.getComputedStyle(a).position});function C7(a,b){let c=BE(a),d=new AbortController;return[c,{passive:!0,...b,signal:d.signal},()=>d.abort()]}function C8(a,b,c){let{props:d}=a;a.animationState&&d.whileHover&&a.animationState.setActive("whileHover","Start"===c);let e=d["onHover"+c];e&&ym.postRender(()=>e(b,BO(b)))}class C9 extends Aa{mount(){let{current:a}=this.node;a&&(this.unmount=function(a,b,c={}){let[d,e,f]=C7(a,c);return d.forEach(a=>{let c,d=!1,f=!1,g=b=>{c&&(c(b),c=void 0),a.removeEventListener("pointerleave",i)},h=a=>{d=!1,window.removeEventListener("pointerup",h),window.removeEventListener("pointercancel",h),f&&(f=!1,g(a))},i=a=>{if("touch"!==a.pointerType){if(d){f=!0;return}g(a)}};a.addEventListener("pointerenter",d=>{if("touch"===d.pointerType||Br.x||Br.y)return;f=!1;let g=b(a,d);"function"==typeof g&&(c=g,a.addEventListener("pointerleave",i,e))},e),a.addEventListener("pointerdown",()=>{d=!0,window.addEventListener("pointerup",h,e),window.addEventListener("pointercancel",h,e)},e)}),f}(a,(a,b)=>(C8(this.node,b,"Start"),a=>C8(this.node,a,"End"))))}unmount(){}}class Da extends Aa{constructor(){super(...arguments),this.isActive=!1}onFocus(){let a=!1;try{a=this.node.current.matches(":focus-visible")}catch(b){a=!0}a&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ah(BB(this.node.current,"focus",()=>this.onFocus()),BB(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Db(a){return BC(a)&&"offsetHeight"in a&&!("ownerSVGElement"in a)}let Dc=(a,b)=>!!b&&(a===b||Dc(a,b.parentElement)),Dd=new WeakSet;function De(a){return b=>{"Enter"===b.key&&a(b)}}function Df(a,b){a.dispatchEvent(new PointerEvent("pointer"+b,{isPrimary:!0,bubbles:!0}))}function Dg(a){return BN(a)&&!(Br.x||Br.y)}let Dh=new WeakSet;function Di(a,b,c){let{props:d}=a;if(a.current instanceof HTMLButtonElement&&a.current.disabled)return;a.animationState&&d.whileTap&&a.animationState.setActive("whileTap","Start"===c);let e=d["onTap"+("End"===c?"":c)];e&&ym.postRender(()=>e(b,BO(b)))}class Dj extends Aa{mount(){let{current:a}=this.node;if(!a)return;let{globalTapTarget:b,propagate:c}=this.node.props;this.unmount=function(a,b,c={}){let[d,e,f]=C7(a,c),g=a=>{let d=a.currentTarget;if(!Dg(a)||Dh.has(a))return;Dd.add(d),c.stopPropagation&&Dh.add(a);let f=b(d,a),g={...e,capture:!0},h=(a,b)=>{window.removeEventListener("pointerup",i,g),window.removeEventListener("pointercancel",j,g),Dd.has(d)&&Dd.delete(d),Dg(a)&&"function"==typeof f&&f(a,{success:b})},i=a=>{h(a,d===window||d===document||c.useGlobalTarget||Dc(d,a.target))},j=a=>{h(a,!1)};window.addEventListener("pointerup",i,g),window.addEventListener("pointercancel",j,g)};return d.forEach(a=>{((c.useGlobalTarget?window:a).addEventListener("pointerdown",g,e),Db(a))&&(a.addEventListener("focus",a=>((a,b)=>{let c=a.currentTarget;if(!c)return;let d=De(()=>{if(Dd.has(c))return;Df(c,"down");let a=De(()=>{Df(c,"up")});c.addEventListener("keyup",a,b),c.addEventListener("blur",()=>Df(c,"cancel"),b)});c.addEventListener("keydown",d,b),c.addEventListener("blur",()=>c.removeEventListener("keydown",d),b)})(a,e)),Bz.has(a.tagName)||!0===a.isContentEditable||a.hasAttribute("tabindex")||(a.tabIndex=0))}),f}(a,(a,b)=>(Di(this.node,b,"Start"),(a,{success:b})=>Di(this.node,a,b?"End":"Cancel")),{useGlobalTarget:b,stopPropagation:c?.tap===!1})}unmount(){}}let Dk=new WeakMap,Dl=new WeakMap,Dm=a=>{let b=Dk.get(a.target);b&&b(a)},Dn=a=>{a.forEach(Dm)},Do={some:0,all:1};class Dp extends Aa{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){var a;let b;this.stopObserver?.();let{viewport:c={}}=this.node.getProps(),{root:d,margin:e,amount:f="some",once:g}=c,h={root:d?d.current:void 0,rootMargin:e,threshold:"number"==typeof f?f:Do[f]},i=a=>{let{isIntersecting:b}=a;if(this.isInView===b||(this.isInView=b,g&&!b&&this.hasEnteredView))return;b&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",b);let{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),e=b?c:d;e&&e(a)};this.stopObserver=(a=this.node.current,b=function({root:a,...b}){let c=a||document;Dl.has(c)||Dl.set(c,{});let d=Dl.get(c),e=JSON.stringify(b);return d[e]||(d[e]=new IntersectionObserver(Dn,{root:a,...b})),d[e]}(h),Dk.set(a,i),b.observe(a),()=>{Dk.delete(a),b.unobserve(a)})}mount(){this.startObserver()}update(){if("u"<typeof IntersectionObserver)return;let{props:a,prevProps:b}=this.node;["amount","margin","root"].some(function({viewport:a={}},{viewport:b={}}={}){return c=>a[c]!==b[c]}(a,b))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}let Dq=function(a,b){if("u"<typeof Proxy)return z9;let c=new Map,d=(c,d)=>z9(c,d,a,b);return new Proxy((a,b)=>d(a,b),{get:(e,f)=>"create"===f?d:(c.has(f)||c.set(f,z9(f,void 0,a,b)),c.get(f))})}({animation:{Feature:Bo},exit:{Feature:Bq},inView:{Feature:Dp},tap:{Feature:Dj},focus:{Feature:Da},hover:{Feature:C9},pan:{Feature:B7},drag:{Feature:B5,ProjectionNode:C6,MeasureLayout:Ce},layout:{ProjectionNode:C6,MeasureLayout:Ce}},(a,b)=>b.isSVG??zS(a)?new zC(b):new zQ(b,{allowProjection:a!==O.Fragment})),Dr=new Map,Ds=(0,O.memo)(({children:a,as:b="p",className:c,duration:d=2,spread:e=2})=>{let f,g=((f=Dr.get(b))||(f=Dq.create(b),Dr.set(b,f)),f),h=(0,O.useMemo)(()=>(a?.length??0)*e,[a,e]);return(0,N.jsx)(g,{animate:{backgroundPosition:"0% center"},className:(0,ag.cn)("relative inline-block bg-[length:250%_100%,auto] bg-clip-text text-transparent","[--bg:linear-gradient(90deg,#0000_calc(50%-var(--spread)),var(--color-background),#0000_calc(50%+var(--spread)))] [background-repeat:no-repeat,padding-box]",c),initial:{backgroundPosition:"100% center"},style:{"--spread":`${h}px`,backgroundImage:"var(--bg), linear-gradient(var(--color-muted-foreground), var(--color-muted-foreground))"},transition:{duration:d,ease:"linear",repeat:1/0},children:a})}),Dt=(0,O.createContext)(null),Du=(0,O.memo)(({className:a,isStreaming:b=!1,open:c,defaultOpen:d,onOpenChange:e,duration:f,children:g,...h})=>{let i=d??b,j=!1===d,[k,l]=(0,xa.i)({defaultProp:i,onChange:e,prop:c}),[m,n]=(0,xa.i)({defaultProp:void 0,prop:f}),o=(0,O.useRef)(b),[p,q]=(0,O.useState)(!1),r=(0,O.useRef)(null);(0,O.useEffect)(()=>{b?(o.current=!0,null===r.current&&(r.current=Date.now())):null!==r.current&&(n(Math.ceil((Date.now()-r.current)/1e3)),r.current=null)},[b,n]),(0,O.useEffect)(()=>{!b||k||j||l(!0)},[b,k,l,j]),(0,O.useEffect)(()=>{if(o.current&&!b&&k&&!p){let a=setTimeout(()=>{l(!1),q(!0)},1e3);return()=>clearTimeout(a)}},[b,k,l,p]);let s=(0,O.useCallback)(a=>{l(a)},[l]),t=(0,O.useMemo)(()=>({duration:m,isOpen:k,isStreaming:b,setIsOpen:l}),[m,k,b,l]);return(0,N.jsx)(Dt.Provider,{value:t,children:(0,N.jsx)(cz.Nt,{className:(0,ag.cn)("not-prose mb-4",a),onOpenChange:s,open:k,...h,children:g})})}),Dv=(a,b)=>a||0===b?(0,N.jsx)(Ds,{duration:1,children:"Thinking..."}):void 0===b?(0,N.jsx)("p",{children:"Thought for a few seconds"}):(0,N.jsxs)("p",{children:["Thought for ",b," seconds"]}),Dw=(0,O.memo)(({className:a,children:b,getThinkingMessage:c=Dv,...d})=>{let{isStreaming:e,isOpen:f,duration:g}=(()=>{let a=(0,O.useContext)(Dt);if(!a)throw Error("Reasoning components must be used within Reasoning");return a})();return(0,N.jsx)(cz.R6,{className:(0,ag.cn)("flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground",a),...d,children:b??(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(wS,{className:"size-4"}),c(e,g),(0,N.jsx)(cy.A,{className:(0,ag.cn)("size-4 transition-transform",f?"rotate-180":"rotate-0")})]})})}),Dx={cjk:fg,code:jS,math:ku,mermaid:oc},Dy=(0,O.memo)(({className:a,children:b,...c})=>(0,N.jsx)(cz.Ke,{className:(0,ag.cn)("mt-4 text-sm","data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-muted-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",a),...c,children:(0,N.jsx)(od.C,{plugins:Dx,children:b})}));Du.displayName="Reasoning",Dw.displayName="ReasoningTrigger",Dy.displayName="ReasoningContent";var Dz=c(10588),DA=c.n(Dz);function DB({messages:a,incomplete:b,children:c}){let{t:d}=(0,aa.Bd)("conversation"),[e,f]=(0,O.useState)(!1),[g,h]=(0,O.useState)(!1),i=(0,O.useRef)(null),j=(0,O.useRef)(!1);return(0,N.jsxs)(cG.AM,{open:e,onOpenChange:(a,b)=>{if(!a&&"trigger-press"===b.reason&&j.current){j.current=!1,b.cancel();return}a&&"trigger-hover"===b.reason&&g||!a&&"trigger-hover"===b.reason&&(!j.current||i.current?.contains(document.activeElement))?b.cancel():(a?j.current="trigger-hover"===b.reason:"trigger-hover"!==b.reason&&(j.current=!1,h(!0)),f(a))},children:[(0,N.jsx)(cG.Wv,{openOnHover:!g,delay:250,closeDelay:180,onPointerLeave:()=>h(!1),className:"min-w-0 cursor-pointer rounded-sm text-left text-xs text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:c}),(0,N.jsxs)(cG.hl,{ref:i,align:"start",side:"top",initialFocus:()=>!j.current,className:(0,ag.cn)(DA().panel,"w-[30rem] gap-0 p-2"),children:[(0,N.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b px-1 pb-1",children:[(0,N.jsx)(cG.eO,{className:"min-w-0 flex-1 text-xs font-medium text-muted-foreground",children:d(b?"calls.loadedTitle":"calls.title")}),(0,N.jsx)("button",{type:"button","aria-label":d("calls.close"),className:"flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-md text-muted-foreground hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring",onClick:()=>{j.current=!1,h(!0),f(!1)},children:(0,N.jsx)(ax.A,{className:"size-3.5"})})]}),e?(0,N.jsx)("div",{className:"min-h-0 overflow-y-auto overscroll-contain",children:(0,N.jsxs)("div",{className:DA().table,children:[(0,N.jsxs)("div",{className:(0,ag.cn)(DA().row,"text-muted-foreground"),children:[(0,N.jsx)("span",{children:d("calls.model")}),(0,N.jsx)("span",{children:d("calls.input")}),(0,N.jsx)("span",{children:d("calls.output")}),(0,N.jsx)("span",{children:d("calls.cached")}),(0,N.jsx)("span",{children:d("calls.cost")})]}),a.map(a=>{let b=a.snapshot.fixed;if("assistant"!==b.type)return null;let c="assistant"===a.summary.type?a.summary.model:null,e=b.usage;return(0,N.jsxs)("div",{className:DA().row,children:[(0,N.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[(0,N.jsxs)("span",{className:"min-w-0 truncate",title:c?`${c.modelId} \xb7 ${c.provider}`:void 0,children:[c?.modelId||d("calls.unknownModel"),c?.provider?(0,N.jsxs)("span",{className:"text-muted-foreground",children:[" \xb7 ",c.provider]}):null]}),"error"===b.status||"aborted"===b.status?(0,N.jsx)("span",{className:"shrink-0 text-destructive",children:d(`calls.${b.status}`)}):null]}),(0,N.jsx)("span",{children:wt(e.inputTokens)}),(0,N.jsx)("span",{children:wt(e.outputTokens)}),(0,N.jsx)("span",{children:wt(e.cacheReadTokens)}),(0,N.jsx)("span",{children:wu(e.costUsd)})]},a.durable.location.entryId)})]})}):null]})]})}function DC({nestedCalls:a}){let{t:b}=(0,aa.Bd)("conversation");return(0,N.jsxs)("section",{className:"border-t px-3 py-3 text-sm",children:[(0,N.jsx)("h4",{className:"mb-2 font-medium",children:b(a.complete?"nestedCalls":"nestedCallsIncomplete")}),(0,N.jsx)("ol",{className:"max-h-[min(24rem,45dvh)] space-y-2 overflow-auto",children:a.calls.map((a,c)=>(0,N.jsxs)("li",{className:"border-b pb-2 last:border-0 last:pb-0",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[(0,N.jsx)("span",{className:"text-xs tabular-nums text-muted-foreground",children:c+1}),(0,N.jsx)("span",{className:"min-w-0 break-words font-mono font-medium",children:a.name}),(0,N.jsx)("span",{className:"error"===a.status?"text-xs text-destructive":"text-xs text-muted-foreground",children:b(`nestedStatus.${a.status}`)}),void 0===a.durationMs?null:(0,N.jsxs)("span",{className:"ml-auto text-xs tabular-nums text-muted-foreground",children:[a.durationMs," ms"]})]}),a.arguments?(0,N.jsxs)("details",{className:"mt-1",children:[(0,N.jsx)("summary",{className:"min-h-7 cursor-pointer text-xs text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring",children:b("nestedArguments")}),(0,N.jsx)("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap break-words py-2 font-mono text-sm",children:JSON.stringify(a.arguments,null,2)})]}):null,void 0===a.argumentsBytes?null:(0,N.jsx)("p",{className:"mt-1 text-xs tabular-nums text-muted-foreground",children:b("nestedArgumentsBytes",{count:a.argumentsBytes})}),a.error?(0,N.jsx)("p",{className:"mt-1 whitespace-pre-wrap break-words text-destructive",children:a.error}):null]},c))})]})}function DD({plugin:a}){let{t:b}=(0,aa.Bd)("conversation"),{locale:c}=(0,cF.i)();return(0,N.jsxs)("div",{className:"min-w-0 space-y-1 py-2 first:pt-0 last:pb-0",role:"listitem",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1",children:[(0,N.jsx)("span",{className:"min-w-0 font-medium [overflow-wrap:anywhere]",children:a.name}),(0,N.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:a.version??b("pidesk.unknownVersion")}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:b(`pidesk.status.${a.status}`)})]}),(0,N.jsxs)("p",{className:"text-xs text-muted-foreground [overflow-wrap:anywhere]",children:[b(`pidesk.kind.${a.kind}`)," \xb7 ",(0,N.jsx)("span",{className:"font-mono",children:a.source})]}),a.updateTag||a.availableVersion?(0,N.jsxs)("p",{className:"flex flex-wrap gap-x-3 text-xs text-muted-foreground [overflow-wrap:anywhere]",children:[a.updateTag?(0,N.jsx)("span",{children:b("pidesk.updateChannel",{tag:a.updateTag})}):null,a.availableVersion?(0,N.jsx)("span",{children:b("pidesk.targetVersion",{version:a.availableVersion})}):null]}):null,a.updateError?(0,N.jsx)("p",{className:"text-destructive [overflow-wrap:anywhere]",children:a.updateError}):null,a.operation?(0,N.jsxs)("p",{className:"[overflow-wrap:anywhere]",children:[b(`pidesk.action.${a.operation.action}`)," \xb7 ",b(`pidesk.phase.${a.operation.phase}`),a.operation.message?` \xb7 ${a.operation.message}`:""]}):null,a.error?(0,N.jsxs)("p",{className:"text-destructive [overflow-wrap:anywhere]",children:[b(`pidesk.errorPhase.${a.error.phase}`)," \xb7 ",(0,cE.fD)(a.error.message,c)]}):null]})}function DE({result:a}){let{t:b}=(0,aa.Bd)("conversation"),{locale:c}=(0,cF.i)();return"info"===a.kind?(0,N.jsx)("dl",{className:"grid grid-cols-[max-content_minmax(0,1fr)] gap-x-4 gap-y-2",children:Object.entries(a.data).map(([a,c])=>(0,N.jsxs)("div",{className:"contents",children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:b(`pidesk.info.${a}`)}),(0,N.jsx)("dd",{className:"min-w-0 [overflow-wrap:anywhere]",children:"environment"===a?b(`pidesk.environment.${c}`):"mode"===a?b(`pidesk.mode.${c}`):(0,N.jsx)("span",{className:"font-mono",children:c})})]},a))}):"plugin"===a.kind?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("div",{role:"list",children:(0,N.jsx)(DD,{plugin:a.data})}),(0,N.jsx)("p",{className:"mt-3 mb-2 font-medium",children:b("pidesk.pluginDetail")}),(0,N.jsx)("pre",{className:"whitespace-pre-wrap break-words font-mono leading-relaxed",children:JSON.stringify(a.data.detail,null,2)})]}):(0,N.jsxs)(N.Fragment,{children:[a.data.restartRequired?(0,N.jsx)("p",{className:"mb-2",children:b("pidesk.restartRequired")}):null,a.data.loadError?(0,N.jsx)("p",{className:"mb-2 text-destructive [overflow-wrap:anywhere]",children:(0,cE.fD)(a.data.loadError,c)}):null,a.data.plugins.length>0?(0,N.jsx)("div",{className:"divide-y divide-border",role:"list",children:a.data.plugins.map((a,b)=>(0,N.jsx)(DD,{plugin:a},`${a.source}:${b}`))}):(0,N.jsx)("p",{className:"text-muted-foreground",children:b("pidesk.noPlugins")})]})}function DF({identity:a,command:b,output:c,expandable:d,open:e,loading:f,error:g,onOpenChange:h,commandAction:i,outputAction:j}){let{t:k}=(0,aa.Bd)("conversation"),l=b.label?[k(b.label),b.name,b.version].filter(Boolean).join(" \xb7 "):b.command,m=null===c?null:function(a,b){let c;if(!["pideskListPlugins","pideskShowPlugin","pideskInfo"].includes(a??""))return null;try{c=JSON.parse(b)}catch{return null}switch(a){case"pideskListPlugins":{let a=wg.safeParse(c);return a.success?{kind:"plugins",data:a.data}:null}case"pideskShowPlugin":{let a=wh.safeParse(c);return a.success?{kind:"plugin",data:a.data}:null}case"pideskInfo":{let a=wi.safeParse(c);return a.success?{kind:"info",data:a.data}:null}default:return null}}(b.label,c);return(0,N.jsxs)(cz.Nt,{open:d&&e,onOpenChange:h,className:"w-full min-w-0 overflow-hidden rounded-lg border border-border bg-card text-sm leading-relaxed","data-message-id":a,"data-chat-scroll-anchor":`${a}:tool`,children:[(0,N.jsxs)(cz.R6,{disabled:!d,"aria-label":d?k(e?"collapseTool":"expandTool",{name:l}):l,className:(0,ag.cn)("flex min-h-9 w-full min-w-0 items-center gap-2 px-3 py-1.5 text-left",d&&"cursor-pointer hover:bg-accent focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring"),children:[(0,N.jsx)(p7,{className:"size-4 shrink-0 text-muted-foreground","aria-hidden":"true"}),(0,N.jsx)("span",{className:(0,ag.cn)("min-w-0 flex-1 truncate font-medium",!b.label&&"font-mono"),title:l,children:l}),d?(0,N.jsx)(cy.A,{className:(0,ag.cn)("size-4 shrink-0 text-muted-foreground transition-transform",e&&"rotate-180"),"aria-hidden":"true"}):null]}),(0,N.jsx)(cz.Ke,{className:"h-[var(--collapsible-panel-height)] overflow-hidden transition-[height,opacity] duration-200 ease-out data-starting-style:h-0 data-starting-style:opacity-0 data-ending-style:h-0 data-ending-style:opacity-0 motion-reduce:transition-none",children:(0,N.jsxs)("div",{className:"border-t",children:[(0,N.jsxs)("section",{className:"border-b px-3 py-2","aria-label":k("pidesk.command"),children:[(0,N.jsxs)("div",{className:"mb-1 flex min-h-7 items-center justify-between gap-2",children:[(0,N.jsx)("h4",{className:"font-medium text-muted-foreground",children:k("pidesk.command")}),i]}),(0,N.jsx)("pre",{className:"whitespace-pre-wrap break-words font-mono leading-relaxed",children:b.command})]}),(0,N.jsxs)("section",{"aria-label":k("pidesk.output"),children:[(0,N.jsxs)("div",{className:"flex min-h-9 items-center justify-between gap-2 px-3 pt-2",children:[(0,N.jsx)("h4",{className:"font-medium text-muted-foreground",children:k("pidesk.output")}),j]}),(0,N.jsx)("div",{className:"max-h-[min(24rem,50dvh)] overflow-auto px-3 pt-1 pb-3",role:"region","aria-label":k("pidesk.output"),tabIndex:0,children:f?(0,N.jsx)("p",{className:"text-muted-foreground",children:k("loadingResult")}):g?(0,N.jsx)("p",{className:"text-destructive [overflow-wrap:anywhere]",children:g}):c?m?(0,N.jsx)(DE,{result:m}):(0,N.jsx)("pre",{className:"whitespace-pre-wrap break-words font-mono leading-relaxed",children:c}):(0,N.jsx)("p",{className:"text-muted-foreground",children:k("pidesk.empty")})})]})]})})]})}var DG=c(11113),DH=c.n(DG);let DI="max-h-[min(20rem,45dvh)] overflow-auto [scrollbar-gutter:stable]",DJ=(0,O.createContext)(()=>void 0),DK=(0,O.createContext)(null),DL=(0,O.createContext)(null),DM="h-[var(--collapsible-panel-height)] overflow-hidden transition-[height,opacity] duration-200 ease-out data-starting-style:h-0 data-starting-style:opacity-0 data-ending-style:h-0 data-ending-style:opacity-0 motion-reduce:transition-none";function DN({children:a}){let{isAtBottom:b,stopScroll:c}=vB(),d=(0,O.useRef)(b),e=(0,O.useRef)(c),f=(0,O.useCallback)(()=>{d.current&&e.current()},[]);return(0,N.jsx)(DJ.Provider,{value:f,children:a})}function DO(a,b){let{t:c}=(0,aa.Bd)("conversation"),[d,e]=(0,O.useState)(!1),[f,g]=(0,O.useState)(null),h=(0,O.useCallback)(async()=>{if(!a.temporary&&a.durable&&a.snapshot.fixed.hasDetail&&void 0===a.detail&&!d){e(!0),g(null);try{await b(a)}catch(a){g(a instanceof Error?a.message:c("detailFailed"))}finally{e(!1)}}},[d,a,b,c]);return{loading:d,error:f,load:h}}function DP(a,b){let[c,d]=(0,O.useState)(!1),e=(0,O.useContext)(DJ),{loading:f,error:g,load:h}=DO(a,b),i=!a.temporary&&(a.summary.hasDetail||"tool"===a.summary.type&&!!a.summary.images?.length);return{open:c,expandable:i,loading:f,error:g,handleOpenChange:a=>{i&&(a&&(e(),h()),d(a))}}}function DQ({timestampMs:a}){let{locale:b,timeZone:c}=(0,cF.i)(),d=wv(a,void 0,b,c);return(0,N.jsx)("time",{dateTime:new Date(a).toISOString(),title:d.full,className:"shrink-0",children:d.compact})}function DR({text:a,copyLabel:b,alwaysVisible:c=!1}){let{t:d}=(0,aa.Bd)("conversation"),e=(0,bS.G)(),[f,g]=(0,O.useState)(!1),h=(0,O.useRef)(null),i=(0,O.useCallback)(async()=>{let b=!1;try{b=await (0,c5.x)(a)}catch{b=!1}b?(g(!0),null!==h.current&&window.clearTimeout(h.current),h.current=window.setTimeout(()=>{h.current=null,g(!1)},1500)):e.error(d("messageCopyFailed"))},[a,e,d]);if(!a.trim())return null;let j=f?d("copied"):b??d("copyMessage");return(0,N.jsx)(og,{tooltip:j,label:j,size:"icon-sm",className:(0,ag.cn)(!c&&DH().messageCopyAction,"text-muted-foreground"),onClick:()=>void i(),children:f?(0,N.jsx)(bB.A,{className:"size-3.5"}):(0,N.jsx)(bU.A,{className:"size-3.5"})})}function DS({usage:a,compactOnly:b=!1}){let{t:c}=(0,aa.Bd)("conversation"),d=wt(a.inputTokens),e=wt(a.outputTokens),f=wt(a.cacheReadTokens),g=wu(a.costUsd),h=c("usage",{input:d,output:e,cached:f,cost:g}),i=`${d}/${e}/${f}/${g}`;return b?(0,N.jsx)("span",{className:"shrink-0 font-mono text-xs tabular-nums text-muted-foreground",title:h,"aria-label":h,children:i}):(0,N.jsxs)("span",{className:"min-w-0",children:[(0,N.jsx)("span",{className:DH().usageLabeled,children:h}),(0,N.jsx)("span",{className:DH().usageCompact,children:i})]})}function DT({message:a}){if("assistant"!==a.summary.type||null===a.timestampMs)return null;let b="running"!==a.summary.status?a.summary.text:null;return(0,N.jsxs)(oj,{className:(0,ag.cn)(DH().usageToolbar,"mt-1 flex-wrap gap-x-3 gap-y-1 text-xs text-muted-foreground"),children:[a.usageCalls?.length?(0,N.jsx)(DB,{messages:a.usageCalls,incomplete:a.usageIncomplete??!1,children:(0,N.jsx)(DS,{usage:a.summary.usage})},a.durable.location.entryId):(0,N.jsx)(DS,{usage:a.summary.usage}),(0,N.jsxs)("div",{className:"ml-auto flex shrink-0 items-center gap-1",children:[null===b?null:(0,N.jsx)(DR,{text:b}),null===a.timestampMs?null:(0,N.jsx)(DQ,{timestampMs:a.timestampMs})]})]})}function DU({message:a,onAcquireImage:b}){let{t:c}=(0,aa.Bd)("conversation"),d="user"===a.summary.type||"tool"===a.summary.type?a.summary.images??[]:[],e=d.length;(0,O.useRef)(a);let[f,g]=(0,O.useState)(()=>Array.from({length:e},()=>({status:"loading"}))),[h,i]=(0,O.useState)(null),[j,k]=(0,O.useState)(0);return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("div",{className:"mb-2 grid grid-cols-2 gap-2 sm:grid-cols-3",children:d.map((a,b)=>{let e=f[b];return e?.status==="error"?(0,N.jsxs)("button",{type:"button",className:"flex aspect-square min-h-20 cursor-pointer flex-col items-center justify-center gap-2 rounded-md border bg-muted px-2 text-center text-xs text-muted-foreground hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring",onClick:()=>{i(null),g(a=>a.map(a=>"error"===a.status?{status:"loading"}:a)),k(a=>a+1)},children:[(0,N.jsx)("span",{children:c("imageUnavailable")}),(0,N.jsx)("span",{className:"text-sm font-medium text-foreground",children:c("retry",{ns:"common"})})]},`${b}:${a.width}:${a.height}`):e?.status!=="ready"?(0,N.jsx)("div",{className:"grid aspect-square min-h-20 place-items-center rounded-md border bg-muted px-2 text-center text-xs text-muted-foreground",children:c("imageLoading")},`${b}:${a.width}:${a.height}`):(0,N.jsx)("button",{type:"button",className:"group block aspect-square w-full cursor-zoom-in overflow-hidden rounded-md border bg-muted outline-none focus-visible:ring-2 focus-visible:ring-ring",onClick:()=>{let a,e;return a=[],e=-1,void(f.forEach((f,g)=>{if("ready"!==f.status)return;g===b&&(e=a.length);let h=d[g];a.push({src:f.url,alt:c("chatImage",{count:g+1}),width:h.width,height:h.height})}),e>=0&&i({slides:a,index:e}))},"aria-label":c("previewImageNumber",{count:b+1}),children:(0,N.jsx)("img",{src:e.url,alt:c("chatImage",{count:b+1}),className:"aspect-square size-full object-cover transition-transform duration-200 group-hover:scale-[1.02] motion-reduce:transition-none"})},`${b}:${a.width}:${a.height}`)})}),h?(0,N.jsx)(pF.k,{mode:"modal",open:!0,slides:h.slides,index:h.index,ariaLabel:c("chatImagePreview"),onClose:()=>i(null),onIndexChange:a=>i(b=>b?{...b,index:a}:b)}):null]})}function DV({text:a}){let{t:b}=(0,aa.Bd)("conversation"),c=(0,O.useRef)(null),[d,e]=(0,O.useState)(!1),[f,g]=(0,O.useState)(null),h=(0,O.useContext)(DJ),i=(0,O.useCallback)(()=>{d||h(),e(a=>!a)},[h,d]);return(0,N.jsxs)("div",{className:"min-w-0",children:[(0,N.jsxs)("div",{className:(0,ag.cn)("relative",!d&&!1!==f&&DH().userTextCollapsed),children:[(0,N.jsx)("p",{ref:c,className:"whitespace-pre-wrap break-words",children:a}),f&&!d?(0,N.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-8 bg-gradient-to-t from-secondary to-transparent","aria-hidden":"true"}):null]}),f?(0,N.jsxs)("button",{type:"button","aria-expanded":d,onClick:i,className:"-mb-1 ml-auto mt-1 flex min-h-7 cursor-pointer items-center gap-1 rounded-md px-1 text-xs font-medium text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[b(d?"collapse":"expand"),(0,N.jsx)(cy.A,{className:(0,ag.cn)("size-3.5 transition-transform",d&&"rotate-180"),"aria-hidden":"true"})]}):null]})}function DW({message:a,onAcquireImage:b}){if("user"!==a.summary.type)throw Error("UserMessage requires a user summary");return(0,N.jsxs)(oe,{from:"user","data-message-id":a.identity,"data-chat-scroll-anchor":`${a.identity}:user`,"data-chat-user-message":"",className:(0,ag.cn)(DH().copyableMessage,"max-w-[92%] sm:max-w-[84%]"),children:[(0,N.jsxs)(of,{className:(0,ag.cn)(DH().userText,"group-[.is-user]:px-3 group-[.is-user]:py-2"),children:[a.summary.images.length>0?(0,N.jsx)(DU,{message:a,onAcquireImage:b},`${a.tempId}:${a.durable?.location.entryId??"temporary"}`):null,a.summary.text?(0,N.jsx)(DV,{text:a.summary.text}):null]}),null===a.timestampMs?null:(0,N.jsxs)(oj,{className:"mt-0 justify-end gap-1 text-xs text-muted-foreground",children:[(0,N.jsx)(DR,{text:a.summary.text}),(0,N.jsx)(DQ,{timestampMs:a.timestampMs})]})]})}function DX({message:a,text:b}){let c=a.temporary&&"assistant"===a.summary.type&&"running"===a.summary.status;return(0,N.jsxs)(oe,{from:"assistant","data-message-id":a.identity,"data-chat-scroll-anchor":`${a.identity}:text`,className:(0,ag.cn)(DH().copyableMessage,"max-w-full gap-1"),children:[(0,N.jsx)(of,{className:"w-full",children:(0,N.jsx)(ql,{isAnimating:c,mode:c?"streaming":"static",children:b})}),(0,N.jsx)(DT,{message:a})]})}function DY(){let{t:a}=(0,aa.Bd)("conversation");return(0,N.jsxs)("div",{role:"status",className:(0,ag.cn)(DH().detailText,"flex min-h-9 w-full items-center gap-2 py-1 text-muted-foreground"),children:[(0,N.jsx)(wS,{className:"size-4","aria-hidden":"true"}),(0,N.jsx)(Ds,{as:"span",duration:1,children:a("thinking")})]})}function DZ({content:a,streaming:b}){let{scrollRef:c,contentRef:d}=vu({initial:!!b&&"instant",resize:"instant"});return(0,N.jsx)("div",{ref:c,className:"max-h-56 overflow-y-auto pb-2 pr-2 [scrollbar-gutter:stable] sm:max-h-72",children:(0,N.jsx)("div",{ref:d,children:(0,N.jsx)(ql,{isAnimating:b,mode:b?"streaming":"static",children:a})})})}function D$({message:a,detailLoad:b}){let{t:c}=(0,aa.Bd)("conversation");if("assistant"!==a.summary.type)return null;let{loading:d,error:e,load:f}=b,g=void 0!==a.detail,h=a.detail?.type==="assistant"?a.detail:null,i=h?.thinking??"",j=i.trim().length>0,k=j&&a.temporary&&"running"===a.summary.status&&0===a.summary.text.trim().length;if(!(j||!g&&a.summary.hasDetail))return null;let l=i||(d?c("thinkingLoading"):e??c("thinkingUnavailable"));return(0,N.jsxs)(Du,{className:"mb-0 w-full",isStreaming:k,onOpenChange:a=>{a&&f()},children:[(0,N.jsx)(Dw,{className:(0,ag.cn)(DH().detailText,"min-h-9 justify-start py-1"),getThinkingMessage:a=>a?(0,N.jsx)(Ds,{as:"span",duration:1,children:c("thinking")}):(0,N.jsx)("span",{children:c("thinkingProcess")})}),(0,N.jsx)(cz.Ke,{className:(0,ag.cn)(DM,"text-sm leading-6 text-muted-foreground outline-none"),children:(0,N.jsx)("div",{className:"pt-2",children:(0,N.jsx)("div",{className:"border-l pl-4",children:(0,N.jsx)(DZ,{content:l,streaming:k})})})})]})}function D_({message:a}){let{t:b}=(0,aa.Bd)("conversation"),{locale:c}=(0,cF.i)();if("assistant"!==a.summary.type)return null;let d=function(a,b){let c=a?.trim();if(!c)return null;switch(c.toLowerCase()){case"terminated":return qf.W[b].streamInterrupted;case"request timed out":case"request timed out.":return qf.W[b].requestTimedOut;default:return a}}(a.summary.errorMessage,c)??("error"===a.summary.status?b("modelFailed"):null);return d?(0,N.jsx)("pre",{className:(0,ag.cn)(DH().toolOutput,"whitespace-pre-wrap break-words rounded-lg border border-destructive/40 bg-muted p-3 font-sans text-destructive"),children:d}):null}function D0({item:a,onLoadDetail:b}){let{message:c,hideAssistantText:d}=a,e=DO(c,b);if("assistant"!==c.summary.type)throw Error("AssistantProcessItem requires an assistant summary");return(0,N.jsxs)("div",{className:"space-y-2","data-message-id":c.identity,"data-chat-scroll-anchor":`${c.identity}:process`,children:[(0,N.jsx)(D$,{message:c,detailLoad:e}),d||!c.summary.text.trim()?null:(0,N.jsx)(DX,{message:c,text:c.summary.text}),(0,N.jsx)(D_,{message:c})]})}function D1({name:a,filePath:b,className:c}){let d=a.toLowerCase().split(".").at(-1)??a.toLowerCase(),e={className:c};switch(d){case"read":return b?(0,N.jsx)(w9,{path:b,...e}):(0,N.jsx)(pJ.A,{...e});case"write":return(0,N.jsx)(wT,{...e});case"edit":return(0,N.jsx)(wU,{...e});case"bash":return(0,N.jsx)(ad,{...e});case"grep":case"find":return(0,N.jsx)(b5.A,{...e});case"ls":return(0,N.jsx)(cp.A,{...e});case"agent":case"agent_resume":return(0,N.jsx)(cq,{...e});default:return(0,N.jsx)(cr,{...e})}}function D2(a){let b=a.replaceAll("\\","/");return"/"===b||/^[A-Za-z]:\/$/.test(b)?b:b.replace(/\/+$/,"")}function D3({status:a,timing:b}){let c=b&&"startedAtMs"in b?b.startedAtMs:null,d=b&&"durationMs"in b?b.durationMs:null,[e,f]=(0,O.useState)(()=>Date.now()),g=d??(null===c?null:Math.max(0,e-c));return null===g?null:(0,N.jsx)(N.Fragment,{children:function(a){let b=Math.max(0,Math.floor(a/1e3)),c=b%60,d=Math.floor(b/60);if(0===d)return`${c}s`;let e=d%60,f=Math.floor(d/60);return 0===f?`${e}m ${c}s`:`${f}h ${e}m ${c}s`}(g)})}function D4({message:a,onLoadDetail:b,previewPath:c,onPreviewFile:d,renderDetail:e}){let{t:f}=(0,aa.Bd)("conversation");if("tool"!==a.summary.type&&"bash"!==a.summary.type)throw Error("ToolCardShell requires a tool or bash summary");let g=(0,O.useContext)(DK),h=(0,O.useContext)(DL),i=!a.temporary&&"tool"===a.summary.type&&!!a.summary.images?.length,{open:j,expandable:k,loading:l,error:m,handleOpenChange:n}=DP(a,b),{name:o,reasoning:p,inputPreview:q,activity:r,usage:s}="tool"===a.summary.type?{name:a.summary.name,reasoning:a.summary.reasoning,inputPreview:a.summary.inputPreview,activity:a.summary.activity,usage:a.summary.usage}:{name:"bash",reasoning:null,inputPreview:a.summary.command,activity:null,usage:null},t="tool"===a.summary.type&&"bash"===a.summary.kind?a.summary:null,u="error"===a.summary.status,v=!a.temporary&&null!==c&&void 0!==d,w=c?function(a,b){let{compactPath:c,fullPath:d}=function(a,b){let c=D2(a);if(!b)return{compactPath:c,fullPath:c};let d=D2(b);if(!(c.startsWith("/")||/^[A-Za-z]:\//.test(c))){let a=c.replace(/^(?:\.\/)+/,""),b=d.endsWith("/")?d:`${d}/`;return{compactPath:a,fullPath:`${b}${a}`}}let e=d.endsWith("/")?d:`${d}/`,f=/^[A-Za-z]:\//.test(c)&&/^[A-Za-z]:\//.test(d),g=f?c.toLowerCase():c,h=f?e.toLowerCase():e;return g.startsWith(h)?{compactPath:c.slice(e.length),fullPath:c}:{compactPath:c,fullPath:c}}(a,b),e=c.match(/^[A-Za-z]:\//)?.[0]??null??(c.startsWith("/")?"/":""),f=c.slice(e.length).split("/").filter(Boolean),g=f.pop()??c,h=g.lastIndexOf("."),i=f.length>2?`…/${f.slice(-2).join("/")}`:`${e}${f.join("/")}`;return{fileStem:h>0?g.slice(0,h):g,fileExtension:h>0?g.slice(h):"",directory:i||null,fullPath:d}}(c,g):null;return(0,N.jsxs)(cz.Nt,{open:k&&j,onOpenChange:n,className:(0,ag.cn)(DH().detailText,"w-full overflow-hidden rounded-lg border bg-muted/45 dark:bg-card",u?"border-destructive":"border-border"),"data-message-id":a.identity,"data-chat-scroll-anchor":`${a.identity}:tool`,children:[(0,N.jsxs)("div",{className:"relative",children:[(0,N.jsxs)(cz.R6,{disabled:!k,className:(0,ag.cn)("relative grid min-h-14 w-full grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-x-2 px-3 py-1.5 text-left",k&&"cursor-pointer hover:bg-accent focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring"),"aria-label":f(k?j?"collapseTool":"expandTool":"tool",{name:o}),children:[(0,N.jsx)(D1,{name:o,filePath:c,className:"col-start-1 row-start-1 size-4 text-muted-foreground"}),(0,N.jsxs)("span",{className:"col-start-2 row-start-1 flex min-h-7 min-w-0 items-center gap-2",children:[(0,N.jsx)("span",{className:"shrink-0 font-mono font-medium",children:o}),p?(0,N.jsx)("span",{className:"min-w-0 flex-1 truncate text-foreground",children:p}):null,s?(0,N.jsx)(DS,{usage:s,compactOnly:!0}):null]}),(0,N.jsxs)("span",{className:"col-start-3 row-start-1 flex min-h-7 items-center justify-end gap-2",children:[v?(0,N.jsx)("span",{className:"size-7","aria-hidden":"true"}):null,k?(0,N.jsx)("span",{className:"flex size-7 items-center justify-center","aria-hidden":"true",children:(0,N.jsx)(cy.A,{"data-tool-disclosure":"",className:(0,ag.cn)("size-4 text-muted-foreground transition-transform",j&&"rotate-180")})}):null]}),w?(0,N.jsxs)("span",{className:(0,ag.cn)(DH().toolFilePath,"col-start-2 row-start-2 flex min-w-0 items-baseline overflow-hidden font-mono text-xs"),title:w.fullPath,children:[(0,N.jsxs)("span",{className:"flex min-w-0 max-w-full shrink-0 items-baseline text-foreground",children:[(0,N.jsx)("span",{className:"min-w-0 truncate",children:w.fileStem}),(0,N.jsx)("span",{className:"shrink-0",children:w.fileExtension})]}),w.directory?(0,N.jsxs)("span",{className:(0,ag.cn)(DH().toolFileDirectory,"min-w-0 truncate text-muted-foreground"),children:["\xa0\xb7\xa0",w.directory]}):null]}):q?(0,N.jsx)("span",{className:"col-start-2 row-start-2 truncate font-mono text-xs text-muted-foreground",children:q}):null,t?.timing?(0,N.jsx)("span",{className:"col-start-3 row-start-2 text-right font-mono text-xs tabular-nums whitespace-nowrap text-muted-foreground",children:(0,N.jsx)(D3,{status:t.status,timing:t.timing})}):r?(0,N.jsx)("span",{className:"col-start-3 row-start-2 max-w-36 truncate text-right font-mono text-xs tabular-nums text-muted-foreground",title:r,children:r}):null]}),v?(0,N.jsx)("button",{type:"button",title:f("previewFile"),"aria-label":f("previewFilePath",{path:c}),onClick:()=>d(c),className:(0,ag.cn)("absolute top-1.5 flex size-7 cursor-pointer items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",k?"right-12":"right-3"),children:(0,N.jsx)(wV,{className:"size-4","aria-hidden":"true"})}):null]}),(0,N.jsx)(cz.Ke,{className:DM,children:(0,N.jsxs)("div",{className:"border-t",children:[w?(0,N.jsx)("p",{className:"border-b px-3 py-2 font-mono text-xs text-muted-foreground [overflow-wrap:anywhere]",children:w.fullPath}):null,j&&i&&h?(0,N.jsx)("div",{className:"px-3 pt-3",children:(0,N.jsx)(DU,{message:a,onAcquireImage:h})}):null,e({loading:l,error:m})]})})]})}function D5({children:a,destructive:b=!1}){return(0,N.jsx)("p",{className:(0,ag.cn)(DH().detailText,"px-3 py-3",b?"text-destructive":"text-muted-foreground"),children:a})}function D6({message:a,loading:b,error:c}){let{t:d}=(0,aa.Bd)("conversation"),e=a.detail?.type==="bash"||a.detail?.type==="tool"&&("generic"===a.detail.kind||"bash"===a.detail.kind||"codemode"===a.detail.kind)?a.detail:null,f=e?.output??"";return b?(0,N.jsx)(D5,{children:d("loadingResult")}):c?(0,N.jsx)(D5,{destructive:!0,children:c}):f?(0,N.jsx)("pre",{role:"region","aria-label":d("toolOutput"),tabIndex:0,className:(0,ag.cn)(DI,DH().toolOutput,"whitespace-pre-wrap break-words px-3 py-3 font-mono"),children:f}):"tool"===a.summary.type&&a.summary.images?.length?(0,N.jsx)(N.Fragment,{}):(0,N.jsx)(D5,{children:d("emptyResult")})}function D7({message:a,loading:b,error:c}){let{t:d}=(0,aa.Bd)("conversation"),e=a.detail?.type==="tool"&&"read"===a.detail.kind?a.detail:null;return b?(0,N.jsx)(D5,{children:d("loadingRead")}):c?(0,N.jsx)(D5,{destructive:!0,children:c}):e?e.content?(0,N.jsx)("pre",{role:"region","aria-label":d("readContent"),tabIndex:0,className:(0,ag.cn)(DI,DH().toolOutput,DH().toolCode,"px-3 py-3 font-mono"),children:e.content}):(0,N.jsx)(D5,{children:d("readEmpty")}):"tool"===a.summary.type&&a.summary.images?.length?(0,N.jsx)(N.Fragment,{}):(0,N.jsx)(D5,{children:d("readUnavailable")})}function D8({content:a}){let{t:b}=(0,aa.Bd)("conversation");return(0,N.jsx)("div",{role:"region","aria-label":b("editDiff"),tabIndex:0,className:(0,ag.cn)(DI,DH().toolOutput,"font-mono"),children:a.split("\n").map((a,b)=>{let c=a.startsWith("+")?"bg-emerald-500/10 text-emerald-800 dark:text-emerald-200":a.startsWith("-")?"bg-red-500/10 text-red-800 dark:text-red-200":a.trimEnd().endsWith("...")?"bg-muted/40 text-muted-foreground":"text-foreground";return(0,N.jsx)("span",{className:(0,ag.cn)(DH().toolCode,DH().toolCodeLine,"block px-3",c),children:a||" "},b)})})}function D9({message:a,loading:b,error:c}){let{t:d}=(0,aa.Bd)("conversation"),e=a.detail?.type==="tool"&&"edit"===a.detail.kind?a.detail:null;return b?(0,N.jsx)(D5,{children:d("loadingDiff")}):c?(0,N.jsx)(D5,{destructive:!0,children:c}):e?"diff"===e.contentKind?(0,N.jsx)(D8,{content:e.content}):(0,N.jsx)("pre",{role:"region","aria-label":d("editResult"),tabIndex:0,className:(0,ag.cn)(DI,DH().toolOutput,"whitespace-pre-wrap break-words px-3 py-3 font-mono","tool"===a.summary.type&&"error"===a.summary.status&&"text-destructive"),children:e.content}):(0,N.jsx)(D5,{children:d("diffUnavailable")})}function Ea({message:a,loading:b,error:c}){let{t:d}=(0,aa.Bd)("conversation"),e=a.detail?.type==="tool"&&"write"===a.detail.kind?a.detail:null;return b?(0,N.jsx)(D5,{children:d("loadingWrite")}):c?(0,N.jsx)(D5,{destructive:!0,children:c}):e?"content"!==e.contentKind||e.content?(0,N.jsx)("pre",{role:"region","aria-label":d("content"===e.contentKind?"writeContent":"writeResult"),tabIndex:0,className:(0,ag.cn)(DI,DH().toolOutput,"px-3 py-3 font-mono","content"===e.contentKind?DH().toolCode:"whitespace-pre-wrap break-words","output"===e.contentKind&&"tool"===a.summary.type&&"error"===a.summary.status&&"text-destructive"),children:e.content}):(0,N.jsx)(D5,{children:d("writeEmpty")}):(0,N.jsx)(D5,{children:d("writeUnavailable")})}function Eb({message:a,onLoadDetail:b}){let{t:c}=(0,aa.Bd)("conversation"),{open:d,expandable:e,loading:f,error:g,handleOpenChange:h}=DP(a,b);if("tool"!==a.summary.type||"pidesk"!==a.summary.kind)throw Error("PiDeskToolView requires a pidesk summary");let i=function(a){let b=a.args,c={command:0===Object.keys(a).length?"pidesk":`pidesk ${JSON.stringify(a)}`,label:null,name:null,version:null};if(1!==Object.keys(a).length||!Array.isArray(b)||b.length>32||!b.every(a=>"string"==typeof a))return c;c.command=["pidesk",...b.map(we)].join(" ");let d=b.some(a=>/\s/.test(a))?"":b.join(" ");if(0===b.length||["--help","-h","plugins","session","plugins --help","plugins -h","session --help","session -h"].includes(d))return{...c,label:wb};if("--version"===d)return{...c,label:"pideskVersion"};if("info"===d)return{...c,label:"pideskInfo"};if("session reload"===d)return{...c,label:"pideskReload"};if(3===b.length&&["--help","-h"].includes(b[2])&&("plugins"===b[0]&&["list","show","install","remove"].includes(b[1])||"session"===b[0]&&"reload"===b[1]))return{...c,label:wb};let e=b[1];if("plugins"!==b[0]||!e||!["list","show","install","remove"].includes(e))return c;let f=null,g=[],h=null,i=null,j=!1;for(let a=2;a<b.length;a+=1){let d=b[a];if("--scope"===d&&null===f&&"global"===b[a+1])f=b[++a];else if("--version"===d&&"install"===e&&null===h&&wd.test(b[a+1]??""))h=b[++a];else if("--tag"===d&&["list","install"].includes(e)&&null===i&&(b[a+1]?.length??0)<=128&&/^[a-zA-Z][a-zA-Z0-9._-]*$/.test(b[a+1]??""))i=b[++a];else if("--check-updates"!==d||"list"!==e||j)if(!("list"!==e&&("show"!==e||0===g.length)&&"node_modules"!==d&&wc.test(d)))return c;else g.push(d);else j=!0}if(null!==i&&null!==h||"list"!==e&&(0===g.length||null===f))return c;let k=g.length>0?g.join("、"):null;switch(e){case"list":return{...c,label:"pideskListPlugins"};case"show":return{...c,label:"pideskShowPlugin",name:k};case"install":return{...c,label:"pideskInstallPlugin",name:k,version:h};case"remove":return{...c,label:"pideskRemovePlugin",name:k};default:return c}}(a.summary.input),j=a.detail?.type==="tool"&&"pidesk"===a.detail.kind?a.detail.output:null;return(0,N.jsx)(DF,{identity:a.identity,command:i,output:j,expandable:e,open:d,loading:f,error:g,onOpenChange:h,commandAction:(0,N.jsx)(DR,{text:i.command,copyLabel:c("pidesk.copyCommand"),alwaysVisible:!0}),outputAction:j?(0,N.jsx)(DR,{text:j,copyLabel:c("pidesk.copyOutput"),alwaysVisible:!0}):null})}function Ec({message:a,onLoadDetail:b}){return(0,N.jsx)(D4,{message:a,onLoadDetail:b,previewPath:null,renderDetail:b=>(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(D6,{message:a,...b}),a.detail?.type==="tool"&&"codemode"===a.detail.kind&&a.detail.nestedCalls?(0,N.jsx)(DC,{nestedCalls:a.detail.nestedCalls}):null]})})}function Ed({message:a,onLoadDetail:b}){return(0,N.jsx)(Ec,{message:a,onLoadDetail:b})}function Ee({message:a,onLoadDetail:b,onPreviewFile:c}){if("tool"!==a.summary.type||"read"!==a.summary.kind)throw Error("ReadToolView requires a read summary");return(0,N.jsx)(D4,{message:a,onLoadDetail:b,previewPath:a.summary.path,onPreviewFile:c,renderDetail:b=>(0,N.jsx)(D7,{message:a,...b})})}function Ef({message:a,onLoadDetail:b,onPreviewFile:c}){if("tool"!==a.summary.type||"edit"!==a.summary.kind)throw Error("EditToolView requires an edit summary");return(0,N.jsx)(D4,{message:a,onLoadDetail:b,previewPath:a.summary.path,onPreviewFile:c,renderDetail:b=>(0,N.jsx)(D9,{message:a,...b})})}function Eg({message:a,onLoadDetail:b,onPreviewFile:c}){if("tool"!==a.summary.type||"write"!==a.summary.kind)throw Error("WriteToolView requires a write summary");return(0,N.jsx)(D4,{message:a,onLoadDetail:b,previewPath:a.summary.path,onPreviewFile:c,renderDetail:b=>(0,N.jsx)(Ea,{message:a,...b})})}function Eh({message:a}){let{t:b}=(0,aa.Bd)("conversation");if("custom"!==a.summary.type)throw Error("CustomMessage requires a custom summary");return(0,N.jsx)("div",{"data-message-id":a.identity,"data-chat-scroll-anchor":`${a.identity}:custom`,className:(0,ag.cn)(DH().toolOutput,"rounded-lg border-l-2 bg-muted px-3 py-2 text-muted-foreground"),children:a.summary.text||b("emptyMessage")})}function Ei({message:a,onLoadDetail:b}){let{t:c}=(0,aa.Bd)("conversation");if("compaction"!==a.summary.type)throw Error("CompactionMessage requires a compaction summary");let{open:d,expandable:e,loading:f,error:g,handleOpenChange:h}=DP(a,b),i=a.detail?.type==="compaction"?a.detail:null;return(0,N.jsxs)(cz.Nt,{open:e&&d,onOpenChange:h,className:"w-full py-1","data-message-id":a.identity,"data-chat-scroll-anchor":`${a.identity}:compaction`,children:[(0,N.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,N.jsx)("span",{className:"h-px min-w-3 flex-1 bg-border/70","aria-hidden":"true"}),(0,N.jsxs)(cz.R6,{disabled:!e,"aria-label":e?`${c(d?"collapse":"expand")} ${c("compactionSummary")}`:c(a.temporary?"compactionRunning":"compactionComplete"),className:(0,ag.cn)("inline-flex min-h-8 max-w-full items-center gap-2 rounded-full border border-border/70 bg-muted/30 px-3 py-1.5 text-xs font-medium text-muted-foreground outline-none transition-colors",e?"hover:bg-muted/60 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring":"cursor-default"),children:[a.temporary?(0,N.jsx)(ab.A,{className:"size-3.5 animate-spin","aria-hidden":"true"}):(0,N.jsx)(wW,{className:"size-3.5","aria-hidden":"true"}),(0,N.jsx)("span",{children:c(a.temporary?"compactionRunning":"compactionComplete")}),e?(0,N.jsx)(cy.A,{className:(0,ag.cn)("size-3.5 transition-transform",d&&"rotate-180"),"aria-hidden":"true"}):null]}),(0,N.jsx)("span",{className:"h-px min-w-3 flex-1 bg-border/70","aria-hidden":"true"})]}),(0,N.jsx)(cz.Ke,{className:DM,children:(0,N.jsx)("div",{className:"pt-2",children:(0,N.jsx)("div",{className:"rounded-xl border border-border/70 bg-muted/20 px-3 py-3 sm:px-4",children:(0,N.jsx)("div",{role:"region","aria-label":c("compactionSummaryContent"),tabIndex:0,className:"max-h-80 overflow-y-auto pr-2 [scrollbar-gutter:stable]",children:f?(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:c("compactionLoading")}):g?(0,N.jsx)("p",{className:"text-sm text-destructive",children:g}):i?.text?(0,N.jsx)(ql,{isAnimating:!1,mode:"static",children:i.text}):(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:c("compactionUnavailable")})})})})})]})}let Ej=(0,O.memo)(function({item:a,onLoadDetail:b,onAcquireImage:c,onPreviewFile:d}){let e=(()=>{switch(a.message.summary.type){case"assistant":return(0,N.jsx)(D0,{item:a,onLoadDetail:b});case"tool":switch(a.message.summary.kind){case"pidesk":return(0,N.jsx)(Eb,{message:a.message,onLoadDetail:b});case"read":return(0,N.jsx)(Ee,{message:a.message,onLoadDetail:b,onPreviewFile:d});case"edit":return(0,N.jsx)(Ef,{message:a.message,onLoadDetail:b,onPreviewFile:d});case"write":return(0,N.jsx)(Eg,{message:a.message,onLoadDetail:b,onPreviewFile:d});case"bash":case"codemode":case"generic":return(0,N.jsx)(Ec,{message:a.message,onLoadDetail:b})}case"bash":return(0,N.jsx)(Ed,{message:a.message,onLoadDetail:b});case"custom":return(0,N.jsx)(Eh,{message:a.message});case"compaction":return(0,N.jsx)(Ei,{message:a.message,onLoadDetail:b});case"user":return(0,N.jsx)(DW,{message:a.message,onAcquireImage:c})}})();return(0,N.jsx)(wR,{message:a.message,loadDetail:b,defaultView:e})},(a,b)=>a.onLoadDetail===b.onLoadDetail&&a.onAcquireImage===b.onAcquireImage&&a.onPreviewFile===b.onPreviewFile&&a.item.hideAssistantText===b.item.hideAssistantText&&Em(a.item.message,b.item.message));function Ek({items:a,onLoadDetail:b,onAcquireImage:c,onPreviewFile:d}){let{scrollRef:e}=vB(),f=(0,O.useRef)(null),g=(0,O.useRef)(null);(0,O.useRef)(a.length);let h=(0,O.useRef)(null),[i,j]=(0,O.useState)(()=>Math.min(64,a.length)),k=Math.max(0,a.length-i),l=k>0;return(0,O.useCallback)(()=>{if(!l)return;let b=e.current,c=f.current?.querySelector("[data-chat-process-item]");b&&c?.dataset.chatProcessItem&&(h.current={identity:c.dataset.chatProcessItem,offset:c.getBoundingClientRect().top-b.getBoundingClientRect().top}),j(b=>Math.min(a.length,b+64))},[l,a.length,e]),(0,N.jsxs)("div",{ref:f,children:[l?(0,N.jsx)("div",{ref:g,className:"h-px","data-chat-process-history":!0,"aria-hidden":"true"}):null,a.slice(k).map((e,f)=>{let g=k+f,h=a[g-1],i=h?.message.summary.type==="assistant"&&!h.hideAssistantText&&!!h.message.summary.text.trim();return(0,N.jsx)("div",{"data-chat-process-item":e.message.identity,className:g>0?i?"mt-5":"mt-2":void 0,children:(0,N.jsx)(Ej,{item:e,onLoadDetail:b,onAcquireImage:c,onPreviewFile:d})},e.message.identity)})]})}let El=(0,O.memo)(function({turn:a,onLoadDetail:b,onAcquireImage:c,onPreviewFile:d}){let{t:e}=(0,aa.Bd)("conversation"),[f,g]=(0,O.useState)(!1),h=(0,O.useContext)(DJ),i=(0,bR.t4)();(0,bR.So)();let j=a.processItems.filter(a=>!a.hideAssistantText||"pi-desk/assistant"===a.message.viewKey&&null===i.getMessageViewResolution(a.message.viewKey)),k=a.running||f,l=(0,O.useCallback)(b=>{a.running||(b&&h(),g(b))},[h,a.running]);return 0===j.length?null:(0,N.jsxs)(cz.Nt,{open:k,onOpenChange:l,className:"w-full",children:[(0,N.jsxs)(cz.R6,{className:(0,ag.cn)(DH().detailText,"flex min-h-9 w-full cursor-pointer items-center gap-2 py-1 text-left text-muted-foreground hover:text-foreground"),children:[(0,N.jsxs)("span",{className:"flex-1",children:[e("processGroup"),a.toolCount>0?` \xb7 ${e("toolCalls",{count:a.toolCount})}`:""]}),(0,N.jsx)(cy.A,{className:(0,ag.cn)("size-4 transition-transform",k&&"rotate-180")})]}),(0,N.jsx)(cz.Ke,{className:DM,children:(0,N.jsx)("div",{className:"pt-2",children:(0,N.jsx)(Ek,{items:j,onLoadDetail:b,onAcquireImage:c,onPreviewFile:d})})})]})},(a,b)=>a.onLoadDetail===b.onLoadDetail&&a.onAcquireImage===b.onAcquireImage&&a.onPreviewFile===b.onPreviewFile&&a.turn.running===b.turn.running&&a.turn.toolCount===b.turn.toolCount&&En(a.turn.processItems,b.turn.processItems));function Em(a,b){return a===b||!!a&&!!b&&a.identity===b.identity&&(a.durable||b.durable?a.durable===b.durable&&a.usageIncomplete===b.usageIncomplete&&(a.usageCalls?.length??0)===(b.usageCalls?.length??0)&&(a.usageCalls??[]).every((a,c)=>a.durable===b.usageCalls?.[c]?.durable):a.tempId===b.tempId&&a.summary===b.summary&&a.detail===b.detail&&a.timestampMs===b.timestampMs)}function En(a,b){return a===b||a.length===b.length&&a.every((a,c)=>{let d=b[c];return void 0!==d&&a.hideAssistantText===d.hideAssistantText&&Em(a.message,d.message)})}let Eo=(0,O.memo)(function({message:a,onLoadDetail:b,onAcquireImage:c}){return(0,N.jsx)(wR,{message:a,loadDetail:b,defaultView:(0,N.jsx)(DW,{message:a,onAcquireImage:c})})},(a,b)=>a.onLoadDetail===b.onLoadDetail&&a.onAcquireImage===b.onAcquireImage&&Em(a.message,b.message)),Ep=(0,O.memo)(function({message:a,onLoadDetail:b}){return"assistant"!==a.summary.type?null:(0,N.jsx)(wR,{message:a,loadDetail:b,defaultView:(0,N.jsx)(DX,{message:a,text:a.summary.text})})},(a,b)=>a.onLoadDetail===b.onLoadDetail&&Em(a.message,b.message)),Eq=(0,O.memo)(function({turn:a,cwd:b,logicalTail:c=!1,onLoadDetail:d,onAcquireImage:e,onPreviewFile:f}){if(a.compaction)return(0,N.jsx)("section",{className:(0,ag.cn)(!a.running&&"pi-desk-chat-turn-contained"),"data-chat-turn":a.identity,"data-chat-logical-tail":c?"":void 0,children:(0,N.jsx)(wR,{message:a.compaction,loadDetail:d,defaultView:(0,N.jsx)(Ei,{message:a.compaction,onLoadDetail:d})})});let g=a.running&&0===a.processItems.length&&null===a.finalAssistant;return(0,N.jsxs)("section",{className:(0,ag.cn)("space-y-3",!a.running&&"pi-desk-chat-turn-contained"),"data-chat-turn":a.identity,"data-chat-logical-tail":c?"":void 0,children:[a.user?(0,N.jsx)(Eo,{message:a.user,onLoadDetail:d,onAcquireImage:e}):null,(0,N.jsx)(DL.Provider,{value:e,children:(0,N.jsx)(DK.Provider,{value:b,children:(0,N.jsx)(El,{turn:a,onLoadDetail:d,onAcquireImage:e,onPreviewFile:f})})}),g?(0,N.jsx)(DY,{}):null,a.finalAssistant?(0,N.jsx)(Ep,{message:a.finalAssistant,onLoadDetail:d}):null]})},(a,b)=>{var c,d;return a.cwd===b.cwd&&a.logicalTail===b.logicalTail&&a.onAcquireImage===b.onAcquireImage&&a.onLoadDetail===b.onLoadDetail&&a.onPreviewFile===b.onPreviewFile&&((c=a.turn)===(d=b.turn)||c.identity===d.identity&&c.running===d.running&&c.toolCount===d.toolCount&&Em(c.user,d.user)&&Em(c.finalAssistant,d.finalAssistant)&&Em(c.compaction,d.compaction)&&En(c.processItems,d.processItems))});function Er(){y9.current||zb();let[a]=(0,O.useState)(y8.current);return a}function Es(a,b){Er(),qr(),(0,O.useRef)(null)}Eq.displayName="L3ConversationTurnView";let Et={running:"statusRunning",completed:"statusCompleted",failed:"statusFailed",stopped:"statusStopped",interrupted:"statusInterrupted"};function Eu(a,b){return null!==a&&a.workId===b.workId&&a.sessionId===b.sessionId&&a.branchId===b.branchId}function Ev(a,b){let c=Math.max(0,Math.round(((a.endedAt??Date.now())-a.startedAt)/1e3));if(c<60)return b("seconds",c);let d=Math.floor(c/60);if(d<60)return b("minutes",d);let e=Math.floor(d/60);return`${b("hours",e)}${d%60?` ${b("minutes",d%60)}`:""}`}function Ew(a){return[a.taskKind,a.taskType].filter(a=>!!a).join(" / ")}function Ex(a){switch(a){case"running":return(0,N.jsx)(ab.A,{className:"size-4 animate-spin text-foreground"});case"completed":return(0,N.jsx)(uV.A,{className:"size-4 text-status-success"});case"failed":return(0,N.jsx)(vm,{className:"size-4 text-destructive"});case"interrupted":return(0,N.jsx)(vn,{className:"size-4 text-status-warning"});case"stopped":return(0,N.jsx)(vo,{className:"size-4 text-muted-foreground"})}}function Ey({info:a}){let{t:b}=(0,aa.Bd)("taskCenter"),c=(0,bS.G)(),[d,e]=(0,O.useState)(null);if(0===a.length)return null;let f=(a,d)=>{(0,c5.x)(a.value).then(f=>{f?e(d):c.error(b("copyFailed",{name:a.label}))})};return(0,N.jsx)("div",{"data-task-info-scroll":"",className:"max-h-32 overflow-y-auto pr-1 [scrollbar-gutter:stable]",children:(0,N.jsx)("dl",{className:"flex flex-wrap gap-2",children:a.map((a,c)=>{let e=`${a.label}:${c}:${a.value}`,g=d===e;return(0,N.jsxs)("div",{role:"button",tabIndex:0,"aria-label":b(g?"copied":"copy",{name:a.label}),title:g?b("copiedShort"):b("clickToCopy",{name:a.label}),className:(0,ag.cn)("flex min-h-8 min-w-0 max-w-full cursor-pointer items-start gap-2 rounded-md px-2 py-1 text-sm outline-none transition-colors hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring",g&&"bg-muted"),onClick:()=>f(a,e),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),f(a,e))},children:[(0,N.jsx)("dt",{className:"shrink-0 pt-0.5 font-medium text-muted-foreground",children:a.label}),(0,N.jsx)("dd",{className:"min-w-0 flex-1 break-words text-foreground",children:a.value}),(0,N.jsx)("span",{className:"shrink-0 pt-0.5 text-muted-foreground","aria-hidden":"true",children:g?(0,N.jsx)(bB.A,{className:"size-3.5 text-status-success"}):(0,N.jsx)(bU.A,{className:"size-3.5"})})]},`${a.label}:${c}`)})})})}function Ez({snapshot:a,running:b,runtime:c,cwd:d}){let{t:e}=(0,aa.Bd)("taskCenter"),f=(0,O.useMemo)(()=>ws(a,b),[b,a]),g=f.findLast(a=>null!==a.user)??null;return(0,N.jsx)(vC,{className:"h-full min-h-0",initial:"instant",resize:"instant","aria-label":e("conversationDetails"),children:(0,N.jsx)(wF,{turns:f,focusTurnIdentity:g?.identity??null,initialAnchor:null,children:a=>(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(wy,{}),(0,N.jsx)(DN,{children:(0,N.jsxs)(vD,{scrollClassName:"pi-desk-chat-scrollbar",className:"mx-auto min-h-full w-full max-w-3xl gap-6 px-4 pt-3 pb-6 sm:px-6",children:[f.length>0?a.visibleTurns.map((b,e)=>{let g=a.startIndex+e;return(0,N.jsx)(Eq,{turn:b,cwd:d,logicalTail:a.containsTail&&g===f.length-1,onLoadDetail:c.loadMessageDetail,onAcquireImage:c.acquireImage},b.identity)}):(0,N.jsx)("div",{className:"grid min-h-48 place-items-center text-sm text-muted-foreground",children:e("noMessages")}),(0,N.jsx)("div",{className:"h-4 shrink-0","aria-hidden":"true"})]})}),(0,N.jsx)(wK,{turns:f,window:a})]})})})}function EA({task:a,runtime:b,cwd:c}){let{t:d}=(0,aa.Bd)("taskCenter"),e=(0,O.useSyncExternalStore)(b.subscribe,b.getState,b.getState),f=a?e.details[a.taskId]:void 0,[g,h]=(0,O.useState)(!1),[i,j]=(0,O.useState)(!1),[k,l]=(0,O.useState)(null),m=async()=>{if(!g)return void h(!0);j(!0),l(null);try{await b.interruptSelected(),h(!1)}catch(a){l(a instanceof Error?a.message:d("interruptFailed"))}finally{j(!1)}};if(!a)return(0,N.jsx)("div",{className:"grid h-full min-h-0 place-items-center px-6 text-center text-sm text-muted-foreground",children:d("selectTask")});let n=Ew(a);return(0,N.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,N.jsx)("header",{className:"shrink-0 border-b px-4 py-3 lg:pr-16",children:(0,N.jsxs)("div",{className:"flex items-start gap-3",children:[(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsxs)("div",{className:"flex min-w-0 items-start gap-2",children:[(0,N.jsx)("span",{className:"mt-0.5 shrink-0",children:Ex(a.status)}),(0,N.jsx)("h3",{className:"min-w-0 break-words text-sm font-semibold",children:n?`${n} \xb7 ${a.title}`:a.title})]}),(0,N.jsxs)("div",{className:"mt-2 flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-xs",children:[(0,N.jsx)("span",{className:(0,ag.cn)("rounded-md px-1.5 py-0.5 font-medium",function(a){switch(a){case"running":return"bg-muted text-foreground";case"completed":return"bg-muted text-status-success";case"failed":return"bg-muted text-destructive";case"interrupted":return"bg-muted text-status-warning";case"stopped":return"bg-muted text-muted-foreground"}}(a.status)),children:d(Et[a.status])}),(0,N.jsx)("span",{className:"text-muted-foreground",children:Ev(a,(a,b)=>d(a,{count:b}))}),a.activity?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground/60",children:"\xb7"}),(0,N.jsx)("span",{className:"min-w-0 break-words text-muted-foreground",children:a.activity})]}):null]})]}),f?.canInterrupt?(0,N.jsxs)(ae.$,{className:"shrink-0",type:"button",size:"sm",variant:g?"destructive":"outline",disabled:i,onClick:()=>void m(),children:[i?(0,N.jsx)(ab.A,{className:"animate-spin"}):(0,N.jsx)(vo,{}),g?d("confirmInterrupt"):d("interrupt")]}):null]})}),k?(0,N.jsx)("p",{role:"alert",className:"shrink-0 border-b bg-muted px-4 py-2 text-sm text-destructive",children:k}):null,a.info.length>0?(0,N.jsx)("div",{className:"shrink-0 border-b px-4 py-2",children:(0,N.jsx)(Ey,{info:a.info})}):null,(0,N.jsxs)("div",{className:"relative min-h-0 flex-1",children:[f?.body?.kind==="conversation"?(0,N.jsx)(Ez,{snapshot:f.body,running:"running"===a.status,runtime:b,cwd:c}):f?.body?.kind==="text"?(0,N.jsx)("div",{className:"h-full overflow-auto p-4 sm:p-5",children:(0,N.jsx)("pre",{className:(0,ag.cn)("whitespace-pre-wrap break-words font-mono text-sm leading-[1.6]"),children:f.body.text||d("waitingOutput")})}):f?(0,N.jsx)("div",{className:"h-full overflow-auto p-4 sm:p-5",children:(0,N.jsx)("div",{className:"grid min-h-48 place-items-center px-2 text-center text-sm text-muted-foreground",children:d("noDetails")})}):(0,N.jsx)("div",{className:"h-full overflow-auto p-4 sm:p-5",children:(0,N.jsx)("div",{className:"grid min-h-48 place-items-center px-2 text-center text-sm text-muted-foreground",children:e.error?(0,N.jsxs)("div",{className:"space-y-3",children:[(0,N.jsx)("p",{className:"text-destructive",children:e.error}),(0,N.jsxs)(ae.$,{type:"button",size:"sm",variant:"outline",onClick:()=>b.selectTask(a.taskId),children:[(0,N.jsx)(vp,{}),d("retry")]})]}):(0,N.jsxs)("div",{className:"flex items-center gap-2",children:[(0,N.jsx)(ab.A,{className:"size-4 animate-spin"}),d("loadingDetail")]})})}),e.refreshing?(0,N.jsxs)("div",{className:"pointer-events-none absolute right-3 top-3 flex items-center gap-2 rounded-md border bg-popover px-2 py-1 text-xs text-muted-foreground",children:[(0,N.jsx)(ab.A,{className:"size-3 animate-spin"}),d("refreshing")]}):null]})]})}function EB({source:a,tasks:b,runtime:c,cwd:d}){let{t:e}=(0,aa.Bd)("taskCenter"),{locale:f,timeZone:g}=(0,cF.i)(),h=(0,O.useCallback)(()=>{let a=c.getState();return JSON.stringify([a.open,a.source?.workId??null,a.source?.sessionId??null,a.source?.branchId??null,a.selectedTaskId])},[c]);(0,O.useSyncExternalStore)(c.subscribe,h,h);let i=c.getState(),j=(0,O.useRef)(null),k=(0,O.useRef)(null),[l,m]=(0,O.useState)(!1),n=b.find(a=>a.taskId===i.selectedTaskId)??null,o=l&&null!==i.selectedTaskId,p=i.open&&Eu(i.source,a),q=(0,O.useRef)(null),r=(0,O.useRef)(null);return(Es(q,p&&!o?"task-list":null),Es(r,p?`${i.selectedTaskId??"no-task"}:${o}`:null),i.open&&Eu(i.source,a)&&!("u"<typeof document))?(0,N.jsx)(cf.YV,{open:!0,onOpenChange:a=>{a||c.close()},children:(0,N.jsxs)(cf.hA,{"aria-label":e("title"),initialFocus:()=>k.current?.getClientRects().length?k.current:j.current,showCloseButton:!1,className:"h-[calc(100dvh-2rem)] max-w-[70rem] flex-row bg-background data-open:animate-none max-lg:h-dvh max-lg:max-h-dvh max-lg:w-dvw max-lg:max-w-none max-lg:rounded-none max-lg:border-0",children:[(0,N.jsxs)("div",{ref:q,className:(0,ag.cn)("flex min-w-0 flex-1 flex-col border-r bg-sidebar lg:max-w-80",o&&"hidden lg:flex"),children:[(0,N.jsxs)("header",{className:"flex min-h-14 items-center gap-3 border-b px-4 py-3",children:[(0,N.jsx)(vq,{className:"size-5 text-muted-foreground"}),(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsx)(cf.YM,{children:e("title")}),(0,N.jsx)("p",{className:"text-xs text-muted-foreground",children:e("recordCount",{count:b.length})})]}),(0,N.jsx)(ae.$,{ref:o?void 0:j,className:"lg:hidden",type:"button",variant:"ghost",size:"icon","aria-label":e("close"),onClick:()=>c.close(),children:(0,N.jsx)(ax.A,{})})]}),(0,N.jsx)("div",{className:"pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto p-2",children:b.length>0?(0,N.jsx)("div",{className:"space-y-1",children:b.map(a=>{let b=Ew(a),d=Ev(a,(a,b)=>e(a,{count:b})),h=wv(a.startedAt,void 0,f,g);return(0,N.jsxs)("button",{type:"button","aria-current":a.taskId===i.selectedTaskId?"true":void 0,onClick:()=>{var b;return b=a.taskId,void(c.selectTask(b),m(!0))},className:(0,ag.cn)("grid min-h-14 w-full cursor-pointer grid-cols-[auto_minmax(0,1fr)_auto] items-start gap-x-2 rounded-lg px-3 py-3 text-left outline-none transition-colors hover:bg-foreground/8 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",a.taskId===i.selectedTaskId&&"bg-accent text-accent-foreground hover:bg-accent"),children:[(0,N.jsx)("span",{className:"mt-0.5 shrink-0",children:Ex(a.status)}),(0,N.jsxs)("span",{className:"min-w-0",children:[(0,N.jsxs)("span",{className:"grid min-w-0 grid-cols-[minmax(0,1fr)_auto] items-baseline gap-x-3",children:[(0,N.jsx)("span",{className:"truncate text-sm font-medium",children:a.title}),(0,N.jsxs)("span",{className:"whitespace-nowrap text-xs tabular-nums text-muted-foreground","aria-label":e("runningTime",{duration:d,time:h.full}),children:[d,(0,N.jsx)("span",{className:"mx-1 text-muted-foreground/50","aria-hidden":"true",children:"\xb7"}),(0,N.jsx)("time",{dateTime:new Date(a.startedAt).toISOString(),children:h.compact})]})]}),b?(0,N.jsx)("span",{className:"mt-1 block truncate text-xs text-muted-foreground",children:b}):null]}),(0,N.jsx)(bA.A,{className:"mt-1 size-4 shrink-0 text-muted-foreground lg:hidden"})]},a.taskId)})}):(0,N.jsx)("div",{className:"grid min-h-48 place-items-center text-sm text-muted-foreground",children:e("noTasks")})})]}),(0,N.jsx)("div",{ref:r,className:(0,ag.cn)("min-w-0 flex-1",!o&&"hidden lg:block"),children:(0,N.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,N.jsxs)("div",{className:"flex min-h-12 items-center gap-2 border-b bg-muted/10 px-3 lg:hidden",children:[(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"icon","aria-label":e("back"),onClick:()=>m(!1),children:(0,N.jsx)(aj.A,{})}),(0,N.jsx)("span",{className:"min-w-0 flex-1 truncate text-center text-xs text-muted-foreground",children:n?.title??e("detail")}),(0,N.jsx)(ae.$,{ref:o?j:void 0,type:"button",variant:"ghost",size:"icon","aria-label":e("close"),onClick:()=>c.close(),children:(0,N.jsx)(ax.A,{})})]}),(0,N.jsx)("div",{className:"min-h-0 flex-1",children:(0,N.jsx)(EA,{task:n,runtime:c,cwd:d},n?.taskId??"no-task")})]})}),(0,N.jsx)(ae.$,{ref:k,className:"absolute right-4 top-3 z-10 hidden lg:inline-flex",type:"button",variant:"ghost",size:"icon","aria-label":e("close"),onClick:()=>c.close(),children:(0,N.jsx)(ax.A,{})})]})}):null}function EC({source:a,cwd:b,tasks:c,runtime:d,variant:e}){let{t:f}=(0,aa.Bd)("taskCenter"),g=c.filter(a=>"running"===a.status),h=g[0],i=()=>{d.open(a,(c.find(a=>"running"===a.status)??c[0]??null)?.taskId??null)};return"footer"===e?c.length>0?(0,N.jsx)(v8,{tooltip:f("title"),"aria-label":f("open"),onClick:i,children:(0,N.jsx)(vq,{className:"size-4"})}):(0,N.jsx)(N.Fragment,{}):"menu"===e?(0,N.jsxs)(bI,{onClick:i,children:[(0,N.jsx)(vq,{className:"size-4"}),f("title")]}):(0,N.jsxs)(N.Fragment,{children:[h?(0,N.jsxs)("button",{type:"button",className:"mb-2 flex min-h-8 w-full cursor-pointer items-center gap-2 rounded-md border bg-muted px-2.5 text-left text-sm text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",onClick:i,"aria-label":`${f("open")}, ${f("runningCount",{count:g.length})}`,children:[(0,N.jsx)(ab.A,{className:"size-3.5 shrink-0 animate-spin text-foreground"}),(0,N.jsx)("span",{className:"shrink-0 font-medium text-foreground",children:f("runningCount",{count:g.length})}),(0,N.jsxs)("span",{className:"min-w-0 flex-1 truncate",children:[h.title,h.activity?` \xb7 ${h.activity}`:""]}),(0,N.jsx)(bA.A,{className:"size-3.5 shrink-0"})]}):null,(0,N.jsx)(EB,{source:a,tasks:c,runtime:d,cwd:b})]})}function ED({source:a,cwd:b,pluginState:c,runtime:d,variant:e}){let f=(0,O.useMemo)(()=>{let a=u9.safeParse(c);return a.success?a.data.tasks:[]},[c]);return(0,N.jsx)(EC,{source:a,cwd:b,tasks:f,runtime:d,variant:e})}var EE=c(43115),EF=c(50146);function EG(a){return`${a.location.index}:${a.location.entryId}`}let EH={user:["viewKey","hasDetail"],assistant:["viewKey","status","hasDetail","usage"],tool:["viewKey","status","hasDetail","usage"],bash:["viewKey","status","hasDetail"],custom:["viewKey","hasDetail"]};function EI(a,b,c){if(!b)return a;let d={...a,...b};return"summary"===c?u_.Hf.parse(d):u_.D8.parse(d)}function EJ(a,b){if(Array.isArray(a.parent)){if("number"!=typeof a.key)throw Error("Increment array key is invalid");a.parent[a.key]=b;return}if("string"!=typeof a.key)throw Error("Increment object key is invalid");a.parent[a.key]=b}function EK(a,b,c){let d=structuredClone(a),e=function(a,b){if(0===b.length)throw Error("Increment cannot append to the message layer root");let c=a;for(let a of b.slice(0,-1)){if("number"==typeof a){if(!Array.isArray(c)||a>=c.length)throw Error(`Increment array path does not exist: ${a}`);c=c[a];continue}if(!c||"object"!=typeof c||Array.isArray(c))throw Error(`Increment object path does not exist: ${a}`);if(!Object.hasOwn(c,a))throw Error(`Increment object field does not exist: ${a}`);c=c[a]}let d=b.at(-1);if("number"==typeof d){if(!Array.isArray(c)||d>=c.length)throw Error(`Increment array target does not exist: ${d}`);return{parent:c,key:d,value:c[d]}}if(!c||"object"!=typeof c||Array.isArray(c))throw Error(`Increment object target does not exist: ${d}`);if(!Object.hasOwn(c,d))throw Error(`Increment target does not exist: ${d}`);return{parent:c,key:d,value:c[d]}}(d,b);if("string"==typeof c){if("string"!=typeof e.value)throw Error("Increment target is not a string");return EJ(e,`${e.value}${c}`),u_.Hf.parse(d)}if(!Array.isArray(e.value))throw Error("Increment target is not an array");return EJ(e,[...e.value,...c]),u_.Hf.parse(d)}function EL(a,b,c){let d=new Map(a.messages.filter(a=>void 0!==a.detail).map(a=>[EG(a),a]));return{messages:b.map(a=>{let b=d.get(EG(a));return a.fixed.hasDetail&&b&&b.fixed.type===a.fixed.type&&b.fixed.viewKey===a.fixed.viewKey&&void 0!==b.detail?u_.mj.parse({...a,detail:b.detail}):a}),temporaryMessages:[...c]}}function EM(a,b){if("message_start"===b.type){if(a.temporaryMessages.some(a=>a.location.tempId===b.snapshot.location.tempId))throw Error(`Temporary conversation message already exists: ${b.snapshot.location.tempId}`);return{...a,temporaryMessages:[...a.temporaryMessages,b.snapshot]}}let c=a.temporaryMessages.findIndex(a=>a.location.tempId===b.location.tempId);if(c<0)throw Error(`Temporary conversation message was not found: ${b.location.tempId}`);if("message_update"===b.type){let d=[...a.temporaryMessages];return d[c]=function(a,b){var c,d;if(a.location.tempId!==b.location.tempId)throw Error(`Conversation update tempId mismatch: ${b.location.tempId}`);let e=(c=a.fixed,(d=b.fixed)?(!function(a,b,c){let d=Object.keys(a).filter(a=>!b.includes(a));if(d.length>0)throw Error(`${c} patch contains fields invalid for the current message: ${d}`)}(d,EH[c.type],`${c.type} fixed`),u_.q5.parse({...c,...d})):c),f=EI(a.summary,b.summary,"summary"),g=a.detail;if(void 0!==b.detail||Object.keys(b.increments??{}).some(a=>"detail"===(0,EF.U)(a).root)){if(b.fixed?.hasDetail===!1)throw Error("Realtime detail cannot be updated while explicitly clearing hasDetail");e.hasDetail||(e=u_.q5.parse({...e,hasDetail:!0}))}for(let[a,c]of(b.detail&&(g=EI(g??{},b.detail,"detail")),Object.entries(b.increments??{}))){let b=(0,EF.U)(a);"summary"===b.root?f=EK(f,b.segments,c):g=EK(g??{},b.segments,c)}return e.hasDetail||(g=void 0),u_.s4.parse({location:a.location,fixed:e,summary:f,...void 0===g?{}:{detail:g}})}(d[c],b),{...a,temporaryMessages:d}}if("message_discard"===b.type)return{...a,temporaryMessages:a.temporaryMessages.filter(a=>a.location.tempId!==b.location.tempId)};if(b.durable.index!==a.messages.length)throw Error(`Conversation commit index is not continuous: expected ${a.messages.length}, received ${b.durable.index}`);if(a.messages.some(a=>a.location.entryId===b.durable.entryId))throw Error(`Conversation commit entryId already exists: ${b.durable.entryId}`);let{detail:d,fixed:e,...f}=a.temporaryMessages[c],g=u_.mj.parse({...f,location:b.durable,fixed:{...e,timestampMs:b.fixed.timestampMs},...e.hasDetail&&void 0!==d?{detail:d}:{}});return{messages:[...a.messages,g],temporaryMessages:a.temporaryMessages.filter(a=>a.location.tempId!==b.location.tempId)}}function EN(a,b){let c=a.messages.findIndex(a=>a.location.index===b.index&&a.location.entryId===b.entryId);if(c<0)throw Error(`Conversation detail target was not found: ${b.index}/${b.entryId}`);let d=a.messages[c];if(null!==b.detail&&!d.fixed.hasDetail)throw Error("Message without hasDetail cannot accept detail");let e=[...a.messages];return e[c]=u_.mj.parse({...d,...null===b.detail?{detail:void 0}:{detail:b.detail}}),{...a,messages:e}}function EO(a,b){return a.taskId!==b.taskId||a.body?.kind!=="conversation"||b.body?.kind!=="conversation"?b:vd.parse({...b,body:{kind:"conversation",truncated:b.body.truncated,...EL(a.body,b.body.messages,b.body.temporaryMessages)}})}var EP=c(28661);function EQ(a){return(0,b2.B)({msg:EE.U["zh-CN"][a],i18n:{key:`taskCenter:${a}`}})}let ER=Object.freeze({open:!1,source:null,selectedTaskId:null,details:{},loading:!1,refreshing:!1,error:null});function ES(a,b){return a===b||null!==a&&null!==b&&a.workId===b.workId&&a.sessionId===b.sessionId&&a.branchId===b.branchId}var ET=c(94283),EU=c(17983);let EV=pb.rh,EW=pb._g,EX=pb.eC,EY=Q.Ik({workId:ET.eW,cwd:ET.ik}).strict(),EZ=EY.extend({path:EV}).strict(),E$=EY.extend({query:Q.Yj().trim().min(1).max(200)}).strict(),E_=EU.Ot.request.safeExtend({workId:ET.eW});EU.Ot.response;let E0=pb.p$,E1=EY.extend({path:EX,imagePreviewMode:E0}).strict();var E2=c(74349),E3=c.n(E2);function E4({mobile:a,open:b,sidebar:c,children:d,onClose:e}){let{t:f}=(0,aa.Bd)("workbench"),g=(0,ah.fk)(),h=(0,O.useRef)(288);return a?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("button",{type:"button","aria-label":f("closeSessionMenu"),"aria-hidden":!b,tabIndex:b?0:-1,onClick:e,className:(0,ag.cn)(E3().backdrop,"fixed inset-0 z-40 bg-black/35",b?"opacity-100":"pointer-events-none opacity-0")}),(0,N.jsx)("div",{"data-testid":"mobile-work-session-drawer","data-open":b,"aria-hidden":!b||void 0,inert:!b||void 0,className:(0,ag.cn)(E3().drawer,"fixed inset-y-0 left-0 z-50 flex w-[min(86vw,320px)] flex-col border-r bg-sidebar shadow-2xl",!b&&"pointer-events-none"),children:c}),(0,N.jsx)("div",{className:"flex min-h-0 min-w-0 flex-1",inert:b||void 0,children:d})]}):(0,N.jsxs)(af.HK,{orientation:"horizontal",disableCursor:!0,className:(0,ag.cn)(E3().panelGroup,"pi-desk-workbench-resize-group min-h-0 min-w-0 flex-1"),onLayoutChanged:(a,c)=>{if(!c.isUserInteraction||!b)return;let d=g.current?.getSize().inPixels;void 0!==d&&(h.current=d)},children:[(0,N.jsx)(af.wV,{id:"work-session-sidebar",panelRef:g,defaultSize:288,minSize:224*!!b,maxSize:480*!!b,disabled:!b,"aria-hidden":!b||void 0,inert:!b||void 0,className:"flex h-full min-h-0 min-w-0 !overflow-hidden bg-sidebar",children:(0,N.jsx)("div",{className:"flex h-full w-full min-w-[224px] flex-col border-r",children:c})}),(0,N.jsx)(af.WM,{withHandle:!0,"aria-label":f("resizeSessionList"),"aria-hidden":!b||void 0,disabled:!b,className:(0,ag.cn)("cursor-col-resize",!b&&"w-0 pointer-events-none opacity-0")}),(0,N.jsx)(af.wV,{id:"work-session-content",minSize:360,className:"flex h-full min-h-0 min-w-0 !overflow-hidden",children:d})]})}let E5=Q.Ik({application:Q.eu("Pi Desk"),status:Q.eu("ready"),version:Q.Yj().trim().min(1).nullable().default(null),boundaries:Q.Ik({client:Q.eu("isolated"),server:Q.eu("isolated"),common:Q.eu("shared")}),layers:Q.PV([Q.eu("L1 Entry"),Q.eu("L2 Biz"),Q.eu("L3 Modules"),Q.eu("L4 Foundation")])});var E6=c(18513),E7=c(10905),E8=c(8579),E9=c(38974),Fa=c(92494),Fb=c(38273);function Fc(a,b){return(0,b2.B)({msg:Fb.R["zh-CN"][a],i18n:{key:`workbench:${a}`,...b?{params:b}:{}}})}function Fd(a){let{workId:b,sessionId:c,branchId:d}=a.source;return JSON.stringify([b,c,d,a.cwd])}function Fe(a,b,c){return`${Fd(a)}\u0000${c}\u0000${b}`}class Ff{peek(a,b,c){let d=this.images.get(Fe(a,b,c));return!d||0===d.references&&Date.now()-d.unusedAt>=6e4?null:d.url}get(a,b,c){this.trim();let d=Fe(a,b,c),e=this.images.get(d);return e?this.acquire(d,e):null}store(a,b,c,d){if(this.disposed||!this.validSources.has(Fd(a)))throw Error("工作会话来源已变化");let e=Fe(a,b,c),f=this.images.get(e);if(f)return this.acquire(e,f);let g={url:URL.createObjectURL(d),size:d.size,references:0,unusedAt:Date.now()};return this.images.set(e,g),this.acquire(e,g)}invalidate(a,b,c){this.remove(Fe(a,b,c))}reconcileWorkSessions(a){for(let b of(this.validSources=new Set(a.map(a=>Fd({source:a,cwd:a.cwd}))),this.images.keys()))this.validSources.has(b.split("\0")[0])||this.remove(b);this.trim()}dispose(){for(let a of(this.disposed=!0,this.images.keys()))this.remove(a);this.validSources.clear()}acquire(a,b){b.references+=1,this.images.delete(a),this.images.set(a,b),this.trim();let c=!1;return{url:b.url,release:()=>{c||(c=!0,b.references-=1,0===b.references&&(b.unusedAt=Date.now()),this.trim())}}}remove(a){let b=this.images.get(a);b&&(URL.revokeObjectURL(b.url),this.images.delete(a))}trim(){let a=Date.now(),b=[...this.images.values()].reduce((a,b)=>a+b.size,0);for(let[c,d]of this.images)!(d.references>0)&&(a-d.unusedAt<6e4&&b<=0x4000000&&this.images.size<=64||(this.remove(c),b-=d.size))}constructor(){this.images=new Map,this.validSources=new Set,this.disposed=!1}}class Fg{constructor(a,b,c=()=>void 0){this.biz=a,this.gitBiz=b,this.onNotice=c,this.standaloneImages=new Ff,this.listeners=new Set,this.workspaces=new Map,this.sources=new Map,this.expandedWorkId=null,this.revision=0,this.subscribe=a=>(this.listeners.add(a),()=>this.listeners.delete(a)),this.getRevision=()=>this.revision}getWorkspace(a){let b=a?this.workspaces.get(a):null;return b?{...b.files.state,cwd:b.files.cwd,windowOpen:b.windowOpen,chatWidthPercent:b.chatWidthPercent,activePane:b.activePane}:null}getFileRuntime(a){return this.workspaceFor(a).files}getExpandedWorkId(){return this.expandedWorkId}reconcileWorkSessions(a){this.standaloneImages.reconcileWorkSessions(a);let b=new Map(a.map(({workId:a,cwd:b,sessionId:c,branchId:d})=>[a,{workId:a,cwd:b,sessionId:c,branchId:d}])),c=!1;for(let[a,d]of this.sources){let e=b.get(a);if(e?.cwd===d.cwd&&e.sessionId===d.sessionId&&e.branchId===d.branchId)continue;let f=this.workspaces.get(a);f&&(f.unsubscribe(),f.files.dispose(),this.workspaces.delete(a),c=!0),this.expandedWorkId===a&&(this.expandedWorkId=null)}for(let[a,c]of(this.sources.clear(),b))this.sources.set(a,c);c&&this.publish()}ensureRoot(a){return this.getFileRuntime(a).ensureRoot()}ensureDirectory(a,b){return this.getFileRuntime(a).ensureDirectory(b)}setExpandedPaths(a,b){this.getFileRuntime(a).setExpandedPaths(b)}setTreeScrollTop(a,b){this.workspaces.get(a)?.files.setTreeScrollTop(b)}refreshTree(a){this.getFileRuntime(a).refreshTree()}setSearchQuery(a,b){this.getFileRuntime(a).setSearchQuery(b)}search(a,b){return this.getFileRuntime(a).search(b)}openFile(a,b){let c=this.workspaceFor(a);c.windowOpen=!0,c.activePane="files",c.files.openFile(b)}async revealFile(a,b){await this.getFileRuntime(a).revealFile(b)}activateFile(a,b){this.workspaces.get(a)?.files.state.tabs.includes(b)&&this.openFile(a,b)}closeFile(a,b){this.closeTabs(a,b,"current")}closeTabs(a,b,c){this.workspaces.get(a)?.files.closeTabs(b,c)}hideWindow(a){let b=this.workspaces.get(a);b?.windowOpen&&(b.windowOpen=!1,b.activePane="chat",this.expandedWorkId===a&&(this.expandedWorkId=null),this.publish())}showWindow(a){let b=this.workspaceFor(a),{tabs:c,activeDiff:d,activePath:e}=b.files.state;(c.length||d||this.expandedWorkId===a)&&(b.windowOpen=!0,b.activePane="files",this.publish(),!d&&e&&b.files.ensureDocument(e))}setChatWidthPercent(a,b){let c=this.workspaces.get(a);!c||!Number.isFinite(b)||b<=0||b>=100||.001>Math.abs(c.chatWidthPercent-b)||(c.chatWidthPercent=b,this.publish())}setActivePane(a,b){let c=this.workspaces.get(a);c&&c.activePane!==b&&(c.activePane=b,this.publish())}expandWindow(a){this.expandedWorkId=a,this.showWindow(a)}collapseExpandedWindow(){if(!this.expandedWorkId)return;let a=this.workspaces.get(this.expandedWorkId);this.expandedWorkId=null,!a||a.files.state.tabs.length||a.files.state.activeDiff||(a.windowOpen=!1,a.activePane="chat"),this.publish()}reloadFile(a,b){this.workspaces.get(a)?.files.reloadFile(b)}openDiff(a,b,c){let d=this.workspaceFor(a);d.windowOpen=!0,d.activePane="files",d.files.openDiff(b,c)}closeDiff(a){this.closeTabs(a,null,"current")}reloadDiff(a){this.workspaces.get(a)?.files.reloadDiff()}setDiffViewMode(a,b){this.workspaces.get(a)?.files.setDiffViewMode(b)}setDiffWrapLines(a,b){this.workspaces.get(a)?.files.setDiffWrapLines(b)}setDiffCollapseUnchanged(a,b){this.workspaces.get(a)?.files.setDiffCollapseUnchanged(b)}handleGitBranchChanged(a,b){for(let c of this.workspaces.values())c.files.cwd===a&&c.files.handleGitBranchChanged(b)}saveEditorState(a,b,c){this.workspaces.get(a)?.files.saveEditorState(b,c)}setWrapLines(a,b,c){this.workspaces.get(a)?.files.setWrapLines(b,c)}setTextViewMode(a,b,c){this.workspaces.get(a)?.files.setTextViewMode(b,c)}dispose(){for(let a of(this.standaloneImages.dispose(),this.workspaces.values()))a.unsubscribe(),a.files.dispose();this.workspaces.clear(),this.sources.clear(),this.expandedWorkId=null,this.listeners.clear()}workspaceFor(a){let b=this.sources.get(a);if(!b)throw Error(Fc("sourceChanged"));let c=this.workspaces.get(a);if(c)return c;let d={workId:a,cwd:b.cwd},e=new Fa.h(b.cwd,{list:(a,b)=>this.biz.list({...d,path:a},b),search:(a,b)=>this.biz.search({...d,query:a},b),get:(a,b,c)=>this.biz.get({...d,path:a,imagePreviewMode:b},c),diff:(a,b,c)=>this.gitBiz.getDiff({...d,repositoryRoot:a,path:b},c)},{imagePreviewMode:qA.Wq,htmlPreview:!0,onNotice:this.onNotice,reveal:async(a,b)=>{await this.biz.reveal({...d,path:a,..."directory"===b?{targetType:b}:{}})}}),f={files:e,windowOpen:!1,chatWidthPercent:50,activePane:"files",unsubscribe:()=>void 0};return f.unsubscribe=e.subscribe(()=>{e.state.activePath||e.state.activeDiff||this.expandedWorkId===a||(f.windowOpen=!1,f.activePane="chat"),this.publish()}),this.workspaces.set(a,f),f}publish(){for(let a of(this.revision+=1,this.listeners))a()}}var Fh=c(74816);function Fi({workId:a,cwd:b,projectName:c,runtime:d,gitRuntime:e,onOpenGitBranches:f,onFileOpened:g}){return(0,N.jsx)(Fh.F,{cwd:b,projectName:c,runtime:d.getFileRuntime(a),gitRuntime:e,onOpenGitBranches:d=>f({workId:a,cwd:b,projectName:c,repositoryRoot:d}),onFileOpened:()=>{d.showWindow(a),g?.()}})}var Fj=c(23008),Fk=c(45694);let Fl='data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="1" height="1"/%3E';function Fm({target:a,paths:b,index:c,onIndexChange:d,biz:e,images:f}){let{t:g}=(0,aa.Bd)("workbench"),[h,i]=(0,O.useState)({});(0,O.useRef)(new Map);let j=b[c],k=h[j],l=(0,qA.Wq)(),m=f.peek(a,j,l),n=k?.status==="ready"||!k&&null!==m;return(0,N.jsxs)("div",{className:"relative size-full","data-testid":"standalone-image-gallery",children:[(0,N.jsx)(pF.k,{mode:"inline",thumbnails:!1,slides:b.map(a=>{let b=h[a];return{src:b?.status==="ready"?b.objectUrl:a===j?m??Fl:Fl,alt:a}}),index:c,onIndexChange:d}),n?null:(0,N.jsx)("div",{className:"pointer-events-none absolute inset-0 z-[2] flex items-center justify-center p-6 pb-20",children:k?.status==="error"?(0,N.jsxs)("div",{className:"flex max-w-full flex-col items-center gap-3 rounded-lg bg-background/95 p-4 text-center",children:[(0,N.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:k.message}),(0,N.jsx)(ae.$,{className:"pointer-events-auto",variant:"outline",onClick:()=>{f.invalidate(a,j,(0,qA.Wq)()),i(a=>{let b={...a};return delete b[j],b})},children:g("reloadFile")})]}):(0,N.jsxs)("div",{role:"status",className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,N.jsx)(ab.A,{className:"size-4 animate-spin"}),g("loadingFile")]})})]})}function Fn(a){return a.replaceAll("\\","/").split("/").at(-1)??a}function Fo({target:a,biz:b,images:c,mobile:d,onClose:e}){let{t:f}=(0,aa.Bd)("workbench"),g=(0,O.useRef)(null),[h,i]=(0,O.useState)(0),[j,k]=(0,O.useState)(()=>{let b=a&&!a.imagePaths?c.peek(a,a.path,(0,qA.Wq)()):null;return b?{status:"image",objectUrl:b}:{status:"loading"}}),[l,m]=(0,O.useState)(()=>a?.imagePaths?a.imagePaths.indexOf(a.path):0);if(!a)return null;let n=a.imagePaths?.[l]??a.path,o=/\.html?$/i.test(n);return(0,N.jsx)(cf.YV,{open:!0,onOpenChange:a=>{a||e()},children:(0,N.jsxs)(cf.hA,{className:d?"inset-0 h-dvh max-h-none w-dvw max-w-none translate-x-0 translate-y-0 rounded-none border-0 ring-0":"h-[min(94dvh,1080px)] w-[min(96dvw,1600px)] max-w-none",children:[(0,N.jsx)(cf.YM,{className:"sr-only",children:Fn(n)}),(0,N.jsxs)("section",{"data-testid":"plugin-standalone-file-preview",className:"flex size-full min-h-0 min-w-0 flex-col overflow-hidden bg-background","aria-label":f("standaloneViewer",{name:a.projectName}),children:[(0,N.jsx)("header",{className:"flex min-h-14 shrink-0 items-center border-b pl-3 pr-14 pt-[env(safe-area-inset-top)]",children:(0,N.jsxs)("div",{className:"min-w-0",children:[(0,N.jsx)("p",{className:"truncate text-sm font-semibold",title:Fn(n),children:Fn(n)}),(0,N.jsxs)("p",{className:"truncate text-xs text-muted-foreground",title:`${a.projectName} \xb7 ${n}`,children:[a.projectName," \xb7 ",n]})]})}),(0,N.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden pb-[env(safe-area-inset-bottom)]",children:a.imagePaths?(0,N.jsx)(Fm,{target:a,paths:a.imagePaths,index:l,onIndexChange:m,biz:b,images:c}):"loading"===j.status?(0,N.jsx)(Fp,{}):"error"===j.status?(0,N.jsxs)("div",{className:"flex size-full flex-col items-center justify-center gap-3 p-6 text-center",children:[(0,N.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:j.message}),(0,N.jsx)(ae.$,{variant:"outline",onClick:()=>{c.invalidate(a,a.path,(0,qA.Wq)()),k({status:"loading"}),i(a=>a+1)},children:f("reloadFile")})]}):"image"===j.status?(0,N.jsx)(pF.k,{mode:"inline",slides:[{src:j.objectUrl,alt:a.path}],ariaLabel:f("standaloneImage",{name:Fn(a.path)})}):o?(0,N.jsx)("iframe",{ref:g,className:"block size-full border-0 bg-white",sandbox:"allow-scripts",srcDoc:(0,Fk.z)(j.content),title:f("standaloneHtml",{name:a.path})}):(0,N.jsx)(Fj.e,{path:a.path,content:j.content,size:j.size,savedState:null,onSaveState:()=>void 0,onEscape:e})})]})]})})}function Fp(){let{t:a}=(0,aa.Bd)("workbench");return(0,N.jsxs)("div",{className:"flex size-full items-center justify-center gap-2 text-sm text-muted-foreground",children:[(0,N.jsx)(ab.A,{className:"size-4 animate-spin"}),a("loadingFile")]})}var Fq=c(70914),Fr=c.n(Fq),Fs=c(794),Ft=c.n(Fs);let Fu=Fr()(async()=>{},{loadableGenerated:{modules:["client/l2_biz/workbench/file-workspace/l2-work-session-file-layout.tsx -> ./l2-file-workspace-view"]},ssr:!1});function Fv({workSession:a,runtime:b,gitRuntime:c,mobile:d,onOpenGitBranches:e,onOpenSidebar:f,children:g}){let{t:h}=(0,aa.Bd)("workbench");(0,O.useSyncExternalStore)(b.subscribe,b.getRevision,b.getRevision);let i=(0,O.useRef)(null),j=(0,ah.OG)(),k=(0,O.useRef)(null),l=(0,O.useRef)(null),m=(0,O.useRef)(null),n=(0,O.useRef)(null),o=(0,O.useRef)(null),[p,q]=(0,O.useState)(!1),{workId:r}=a,s=b.getWorkspace(r),t=s?.windowOpen===!0,u=`session-chat-pane-${r}`,v=`session-file-pane-${r}`,w=s?.chatWidthPercent??50,[x]=(0,O.useState)(()=>t?w:100),y=!!(s?.tabs.length||s?.activeDiff),z=p&&!d,A=z&&t,B=b.getExpandedWorkId()===r,C=t&&(A||s?.activePane==="files"),D=!C||A,E=a=>{o.current=a},F=()=>{if(!y)return;let a=b.getWorkspace(r)?.activePane==="files"?"chat":"files";E(a),"files"===a?b.showWindow(r):b.setActivePane(r,"chat")};return(0,N.jsx)("div",{ref:i,"data-testid":"session-file-layout","data-file-layout":A?"split":"single",className:"relative size-full min-h-0 min-w-0 overflow-hidden",onKeyDownCapture:a=>{"Tab"!==a.key||!a.ctrlKey||a.altKey||a.metaKey||a.repeat||a.nativeEvent.isComposing||!y||a.target instanceof Element&&a.target.closest('[role="menu"], [data-slot="app-dialog-content"]')||(a.preventDefault(),a.stopPropagation(),F())},children:(0,N.jsxs)(af.HK,{groupRef:j,className:(0,ag.cn)("pi-desk-workbench-resize-group relative size-full min-h-0 min-w-0",z?[E3().panelGroup,Ft().wide]:Ft().single),orientation:"horizontal",disabled:!A,resizeTargetMinimumSize:{fine:8,coarse:20},onLayoutChanged:(a,c)=>{if(!A||!c.isUserInteraction)return;let d=a[u];void 0!==d&&b.setChatWidthPercent(r,d)},children:[(0,N.jsx)(af.wV,{id:u,"data-pane":"chat",defaultSize:`${x}%`,minSize:320*!!A,"aria-hidden":!D||void 0,inert:!D||void 0,className:"flex min-h-0 min-w-0 !overflow-hidden",children:(0,N.jsx)("div",{ref:k,className:"size-full min-h-0 min-w-0",onPointerDownCapture:()=>b.setActivePane(r,"chat"),onFocusCapture:a=>{m.current=a.target,b.setActivePane(r,"chat")},children:g(D)})}),(0,N.jsx)(af.WM,{id:`session-file-divider-${r}`,"aria-label":h("resizeChatFile"),"aria-hidden":!A||void 0,disabled:!A,disableDoubleClick:!0,className:(0,ag.cn)("z-10 w-px cursor-col-resize bg-transparent aria-disabled:cursor-default",!A&&"hidden")}),(0,N.jsx)(af.wV,{id:v,"data-pane":"files",defaultSize:`${100-x}%`,minSize:320*!!A,maxSize:z&&!t?0:void 0,"aria-hidden":!C||void 0,inert:!C||void 0,className:"flex min-h-0 min-w-0 !overflow-hidden",children:(0,N.jsx)("div",{ref:l,className:"size-full min-h-0 min-w-0 overflow-hidden",onPointerDownCapture:()=>b.setActivePane(r,"files"),onFocusCapture:a=>{n.current=a.target,b.setActivePane(r,"files")},children:y&&!B?(0,N.jsx)(Fu,{workSession:a,runtime:b,gitRuntime:c,mobile:d,presentation:z?"split":"single",onOpenGitBranches:e,onOpenSidebar:f,onHide:()=>{E("chat"),b.hideWindow(r)},onExpand:()=>b.expandWindow(r),onSwitchPane:F},`${a.sessionId}:${a.branchId}`):null})})]})})}function Fw({workSessions:a,runtime:b,gitRuntime:c,mobile:d,onOpenGitBranches:e,onOpenSidebar:f,onOpenTerminal:g}){let{t:h}=(0,aa.Bd)("workbench");(0,O.useSyncExternalStore)(b.subscribe,b.getRevision,b.getRevision);let i=a.find(a=>a.workId===b.getExpandedWorkId());if(!i)return null;let j=()=>{d?b.hideWindow(i.workId):b.collapseExpandedWindow()},k=()=>{let a=document.querySelector(`[data-work-id="${CSS.escape(i.workId)}"] textarea`);a&&(b.hideWindow(i.workId),requestAnimationFrame(()=>a.focus({preventScroll:!0})))};return(0,N.jsx)(cf.YV,{open:!0,onOpenChange:a=>{a||j()},children:(0,N.jsxs)(cf.hA,{showCloseButton:!1,onKeyDownCapture:a=>{"Tab"!==a.key||!a.ctrlKey||a.altKey||a.metaKey||a.repeat||a.nativeEvent.isComposing||a.target instanceof Element&&a.target.closest('[role="menu"]')||(a.preventDefault(),a.stopPropagation(),k())},className:d?"inset-0 h-dvh max-h-none w-dvw max-w-none translate-x-0 translate-y-0 rounded-none border-0 ring-0":"h-[min(94dvh,1080px)] w-[min(96dvw,1600px)] max-w-none",finalFocus:()=>{let a=document.querySelector(`[data-work-id="${CSS.escape(i.workId)}"]`);return a?.querySelector("[data-file-expand-trigger]")??a?.querySelector('[data-testid="session-files-entry"]')??!1},children:[(0,N.jsx)(cf.YM,{className:"sr-only",children:h("fileViewer",{name:i.projectName})}),(0,N.jsx)(Fu,{workSession:i,runtime:b,gitRuntime:c,mobile:d,presentation:d?"single":"expanded",onOpenGitBranches:e,onOpenSidebar:()=>{b.collapseExpandedWindow(),f(i.workId)},onSwitchPane:k,onOpenTerminal:g,onHide:()=>b.hideWindow(i.workId),onExpand:j},`${i.workId}:${i.sessionId}:${i.branchId}`)]})})}var Fx=c(95186);let Fy=(0,ac.A)("earth",[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var Fz=c(35385),FA=c(9365),FB=c(49057);let FC=[];function FD(a,b){let c=b.trim().toLocaleLowerCase();return c?a.filter(a=>a.toLocaleLowerCase().includes(c)):[...a]}function FE({target:a,runtime:b,mobile:c,onClose:d}){let{t:e}=(0,aa.Bd)("workbench"),{locale:f}=(0,cF.i)();(0,O.useSyncExternalStore)(b.subscribe,b.getRevision,b.getRevision);let g=(0,bS.G)(),[h,i]=(0,O.useState)(null),[j,k]=(0,O.useState)(a?.repositoryRoot!==null),[l,m]=(0,O.useState)(""),[n,o]=(0,O.useState)(()=>({repositoryRoot:null,overrides:new Map})),[p,q]=(0,O.useState)(null),[r,s]=(0,O.useState)(!1),[t,u]=(0,O.useState)(""),[v,w]=(0,O.useState)(null),[x,y]=(0,O.useState)(null),z=b.getWorkspace(a?.cwd??null),A=z?.heads.repositories??FC,B=a?null!==a.repositoryRoot&&A.some(b=>b.root===a.repositoryRoot)?a.repositoryRoot:A.find(a=>""===a.root)?.root??A[0]?.root??null:null,C=h??B,D=A.find(a=>a.root===C)??null,E=null===C?null:z?.branches.get(C)??null,F=E?.data??null,G=null!==C&&!!z?.branchOperations.has(C),H=(0,O.useMemo)(()=>FD(F?.local??[],l),[F?.local,l]),I=(0,O.useMemo)(()=>FD(F?.remote??[],l),[F?.remote,l]),J=(0,O.useMemo)(()=>FD(F?.recent??[],l),[F?.recent,l]),K=(0,O.useMemo)(()=>(0,FB.oY)(H),[H]),L=(0,O.useMemo)(()=>(0,FB.oY)(I),[I]),M=F?.head.type==="branch"?F.head.name:null,P=(0,O.useMemo)(()=>{let a=new Set;if(!M?.includes("/"))return a;let b=M.split("/");for(let c=1;c<b.length;c+=1)a.add(`local:${b.slice(0,c).join("/")}`);return a},[M]);if(!a)return null;let Q=a=>{w(a),u(""),s(!0),q(null),y(null)},R=async(a,b)=>{y(null);try{await a(),g.success(b),d()}catch(a){y(a instanceof Error?a.message:e("gitOperationFailed"))}},S=A.length>1,T=1===A.length?e("repositorySummary",{name:(0,FB.Hj)(a.projectName,A[0].root),branch:"ready"===A[0].state?(0,FB.ws)(A[0].head):e("repositoryUnavailable")}):A.length>1?e("repositoryCount",{count:A.length}):e("readingRepos"),U=(c,d,f=c.name,g=0)=>{let h="local"===c.type&&c.name===M,i=p?.type===c.type&&p.name===c.name;return(0,N.jsxs)("div",{children:[(0,N.jsxs)("button",{type:"button","data-testid":"recent"===d?`git-branch-recent-${c.name}`:`git-branch-${c.type}-${c.name}`,className:(0,ag.cn)("grid min-h-9 w-full cursor-pointer grid-cols-[1rem_minmax(0,1fr)_auto] items-center gap-2 rounded-lg pr-2 text-left outline-none hover:bg-foreground/8 focus-visible:ring-2 focus-visible:ring-ring",h&&"font-medium text-foreground",i&&"bg-accent"),style:{paddingLeft:`${8+16*g}px`},title:c.name,onClick:()=>q(i?null:c),children:[(0,N.jsx)("span",{className:"text-muted-foreground",children:h?(0,N.jsx)(bB.A,{className:"size-4 text-foreground"}):"remote"===c.type?(0,N.jsx)(Fy,{className:"size-3.5"}):(0,N.jsx)(Fz.A,{className:"size-3.5"})}),(0,N.jsx)("span",{className:"truncate font-mono text-sm",children:f}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:h?e("current"):"recent"===d?e("recent"):""})]}),i?(0,N.jsxs)("div",{className:"flex flex-wrap gap-2 border-l-2 border-border py-2 pl-2",style:{marginLeft:`${32+16*g}px`},children:[h?null:(0,N.jsx)(ae.$,{type:"button",size:"sm",variant:"outline",disabled:G,onClick:()=>{null!==C&&!G&&R(()=>b.replaceBranch(a.cwd,C,c),e("remote"===c.type?"checkedOut":"switchedBranch",{name:c.name}))},children:e("remote"===c.type?"checkoutRemote":"switchGitBranch")}),(0,N.jsx)(ae.$,{type:"button",size:"sm",variant:"ghost",disabled:G,onClick:()=>Q(c),children:e("branchFromHere")})]}):null]},`${d}:${c.type}:${c.name}`)},V=(a,b)=>{let c=`${a}:${b}`;return(n.repositoryRoot===C?n.overrides.get(c):void 0)??P.has(c)},W=(a,b,c=0)=>a.map(a=>{if(0===a.children.length&&a.branchName)return U({type:b,name:a.branchName},b,a.name,c);let d=`${b}:${a.path}`,e=!!l.trim()||V(b,a.path);return(0,N.jsxs)("div",{children:[(0,N.jsxs)("button",{type:"button","data-testid":`git-branch-group-${b}-${a.path}`,"aria-expanded":e,className:"grid min-h-9 w-full cursor-pointer grid-cols-[1rem_1rem_minmax(0,1fr)] items-center gap-2 rounded-lg pr-2 text-left text-muted-foreground outline-none hover:bg-foreground/8 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",style:{paddingLeft:`${8+16*c}px`},title:a.path,onClick:()=>((a,b)=>{if(l.trim())return;let c=`${a}:${b}`,d=V(a,b);o(a=>{let b=a.repositoryRoot===C?new Map(a.overrides):new Map;return b.set(c,!d),{repositoryRoot:C,overrides:b}})})(b,a.path),children:[(0,N.jsx)(bA.A,{className:(0,ag.cn)("size-3 transition-transform",e&&"rotate-90")}),e?(0,N.jsx)(FA.A,{className:"size-4 text-muted-foreground"}):(0,N.jsx)(cp.A,{className:"size-4 text-muted-foreground"}),(0,N.jsx)("span",{className:"truncate font-mono text-sm",children:a.name})]}),e?W(a.children,b,c+1):null]},d)});return(0,N.jsx)(cf.YV,{open:!0,onOpenChange:a=>!a&&d(),children:(0,N.jsxs)(cf.hA,{"data-testid":"git-branch-picker",showCloseButton:!1,finalFocus:!1,className:"h-[min(40rem,calc(100dvh-2rem))] max-w-[45rem] gap-0",children:[(0,N.jsxs)("header",{className:"flex min-h-12 shrink-0 items-center gap-2 border-b px-3",children:[(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsx)(cf.YM,{children:e("gitBranches")}),(0,N.jsx)(cf.uX,{className:"truncate text-xs",children:T})]}),(0,N.jsx)(ae.$,{type:"button",size:"icon-sm",variant:"ghost","aria-label":e("refreshBranches"),disabled:z?.heads.status==="loading",onClick:()=>void b.refreshHeads(a.cwd),children:(0,N.jsx)(bW.A,{className:(0,ag.cn)("size-4",z?.heads.status==="loading"&&"animate-spin")})}),(0,N.jsx)(ae.$,{type:"button",size:"sm",variant:"ghost",onClick:d,children:e("close")})]}),(0,N.jsxs)("div",{className:(0,ag.cn)("grid min-h-0 flex-1",S&&!c?"grid-cols-[220px_minmax(0,1fr)]":"grid-cols-1"),children:[!S||c&&j?null:(0,N.jsxs)("aside",{className:"pi-desk-chat-scrollbar min-h-0 overflow-y-auto border-r bg-sidebar p-2 max-sm:border-r-0",children:[(0,N.jsx)("p",{className:"px-2 py-1 text-xs font-medium text-muted-foreground",children:e("repositories")}),A.map(b=>{let c=(0,FB.Hj)(a.projectName,b.root),d=b.root===C;return(0,N.jsxs)("button",{"data-testid":`git-branch-picker-repository-${b.root||"root"}`,type:"button",className:(0,ag.cn)("grid min-h-12 w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-2 rounded-lg px-2 text-left hover:bg-muted/70",d&&"bg-accent text-accent-foreground"),onClick:()=>{var a;i(a=b.root),k(!0),m(""),o({repositoryRoot:a,overrides:new Map}),q(null),s(!1),w(null),y(null)},children:[(0,N.jsxs)("span",{className:"min-w-0",children:[(0,N.jsx)("strong",{className:"block truncate text-sm font-medium",children:c}),(0,N.jsx)("span",{className:"mt-1 block truncate font-mono text-xs text-muted-foreground",children:b.root||"."})]}),(0,N.jsx)("span",{className:"flex flex-col items-end gap-1 text-xs text-muted-foreground",children:(0,N.jsx)("span",{className:"max-w-28 truncate",children:"ready"===b.state?(0,FB.ws)(b.head):e("unavailable")})})]},b.root)})]}),c&&S&&!j?null:(0,N.jsxs)("section",{className:"flex min-h-0 min-w-0 flex-col",children:[(0,N.jsxs)("div",{className:"flex min-h-13 shrink-0 items-center gap-2 border-b px-3",children:[c&&S?(0,N.jsx)(ae.$,{type:"button",size:"icon-sm",variant:"ghost","aria-label":e("backRepositories"),onClick:()=>k(!1),children:(0,N.jsx)(aj.A,{className:"size-4"})}):null,(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsxs)("p",{className:"truncate text-sm font-semibold",children:[D?(0,FB.Hj)(a.projectName,D.root):e("chooseRepository"),D?.state==="ready"?` \xb7 ${(0,FB.ws)(D.head)}`:""]}),(0,N.jsx)("p",{className:"mt-1 break-words font-mono text-xs text-muted-foreground",children:D?.root||"."})]}),(0,N.jsxs)(ae.$,{type:"button",size:"sm",variant:"outline",disabled:D?.state!=="ready"||G,onClick:()=>Q(null),children:[(0,N.jsx)(ay,{className:"size-3.5"})," ",e("createBranch")]})]}),z?.heads.status==="error"?(0,N.jsx)("p",{className:"border-b bg-muted px-3 py-2 text-sm text-destructive",children:z.heads.error}):null,x?(0,N.jsx)("p",{className:"border-b bg-muted px-3 py-2 text-sm text-destructive",children:x}):null,(0,N.jsx)("div",{className:"flex shrink-0 items-center gap-2 border-b p-2",children:r?(0,N.jsxs)("form",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",onSubmit:c=>{let d;c.preventDefault(),(d=t.trim())&&null!==C&&!G&&R(()=>b.addBranch(a.cwd,C,d,v),e("branchCreated",{name:d}))},children:[(0,N.jsx)(b4.p,{autoFocus:!0,value:t,onChange:a=>u(a.currentTarget.value),placeholder:e("newBranchName"),"aria-label":e("newBranchName"),className:"min-w-[12rem] flex-1"}),(0,N.jsxs)(ae.$,{type:"submit",size:"sm",disabled:!t.trim()||G,children:[G?(0,N.jsx)(ab.A,{className:"size-3.5 animate-spin"}):null,e("createAndSwitch")]}),(0,N.jsx)(ae.$,{type:"button",size:"sm",variant:"ghost",onClick:()=>{s(!1),w(null)},children:e("cancel")})]}):(0,N.jsx)(b4.p,{value:l,onChange:a=>m(a.currentTarget.value),placeholder:e("searchBranches"),"aria-label":e("searchBranches")})}),(0,N.jsx)("div",{className:"pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto p-2",children:D?.state==="unavailable"?(0,N.jsx)("p",{className:"p-5 text-center text-xs text-destructive",children:(0,cE.fD)(D.message,f)}):E?.status!=="loading"||F?E?.status==="error"?(0,N.jsxs)("div",{className:"flex min-h-24 flex-col items-center justify-center gap-2 text-center text-xs text-destructive",children:[(0,N.jsx)("p",{children:E.error}),null!==C?(0,N.jsx)(ae.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void b.loadBranches(a.cwd,C),children:e("retry")}):null]}):F?(0,N.jsxs)("div",{className:"space-y-3",children:[J.length>0?(0,N.jsxs)("section",{children:[(0,N.jsx)("p",{className:"px-2 py-1 text-xs font-medium text-muted-foreground",children:e("recentlyUsed")}),J.map(a=>U({type:"local",name:a},"recent"))]}):null,H.length>0?(0,N.jsxs)("section",{children:[(0,N.jsx)("p",{className:"px-2 py-1 text-xs font-medium text-muted-foreground",children:e("localBranches")}),W(K,"local")]}):null,I.length>0?(0,N.jsxs)("section",{children:[(0,N.jsx)("p",{className:"px-2 py-1 text-xs font-medium text-muted-foreground",children:e("remoteBranches")}),W(L,"remote")]}):null,0===J.length&&0===H.length&&0===I.length?(0,N.jsx)("p",{className:"p-5 text-center text-xs text-muted-foreground",children:e("noBranchMatches")}):null]}):null:(0,N.jsxs)("div",{className:"flex min-h-24 items-center justify-center gap-2 text-xs text-muted-foreground",children:[(0,N.jsx)(ab.A,{className:"size-4 animate-spin"})," ",e("loadingBranches")]})})]})]})]})})}function FF(a,b){return a instanceof DOMException&&"AbortError"===a.name?b:a instanceof Error?a.message:b}class FG{constructor(a,b){this.biz=a,this.onRepositoryChanged=b,this.listeners=new Set,this.workspaces=new Map,this.projectRefs=new Map,this.revision=0,this.subscribe=a=>(this.listeners.add(a),()=>this.listeners.delete(a)),this.getRevision=()=>this.revision}getWorkspace(a){return a?this.workspaces.get(a)??null:null}reconcileWorkSessions(a,b){let c=new Map,d=b?a.find(a=>a.workId===b)??null:null;for(let b of(d&&c.set(d.cwd,{workId:d.workId,cwd:d.cwd}),a))c.has(b.cwd)||c.set(b.cwd,{workId:b.workId,cwd:b.cwd});if(c.size!==this.projectRefs.size||[...c].some(([a,b])=>this.projectRefs.get(a)?.workId!==b.workId)){for(let[a,b]of(this.projectRefs.clear(),c))this.projectRefs.set(a,b);for(let[a,b]of this.workspaces)c.has(a)||(this.abortRequests(b),this.workspaces.delete(a))}}ensureSnapshot(a){let b=this.workspaceFor(a);return"ready"===b.snapshot.status||"loading"===b.snapshot.status?Promise.resolve():this.loadSnapshot(a,!1)}refreshSnapshot(a){return this.loadSnapshot(a,!0)}async refreshHeads(a){let b=this.workspaceFor(a);if(b.headsRequest||Date.now()-b.lastHeadsStartedAt<3e4)return;let c=this.projectRefs.get(a);if(!c){b.heads={...b.heads,status:"error",error:Fc("gitNoProjectStatus")},this.publish();return}let d=new AbortController,e={};b.headsRequest={controller:d,token:e},b.lastHeadsStartedAt=Date.now(),b.heads={...b.heads,status:"loading",error:null},this.publish();try{let a=await this.biz.getHeads(c,d.signal);if(b.headsRequest?.token!==e)return;b.headsRequest=null,b.heads={status:"ready",repositories:a.repositories,error:null},this.publish()}catch(a){if(b.headsRequest?.token!==e||(b.headsRequest=null,d.signal.aborted))return;b.heads={...b.heads,status:"error",error:FF(a,Fc("gitStatusReadFailed"))},this.publish()}}setLayout(a,b){let c=this.workspaceFor(a);c.layout!==b&&(c.layout=b,this.publish())}setChangesOnly(a,b){let c=this.workspaceFor(a);c.changesOnly!==b&&(c.changesOnly=b,this.publish())}toggleRepository(a,b){let c=this.workspaceFor(a);c.expandedRepositories.has(b)?c.expandedRepositories.delete(b):c.expandedRepositories.add(b),this.publish()}async loadBranches(a,b){let c=this.workspaceFor(a),d=this.projectRefs.get(a);if(!d){c.branches.set(b,{status:"error",data:null,error:Fc("gitNoProjectBranches")}),this.publish();return}c.branchRequests.get(b)?.controller.abort();let e=new AbortController,f={};c.branchRequests.set(b,{controller:e,token:f}),c.branches.set(b,{status:"loading",data:c.branches.get(b)?.data??null,error:null}),this.publish();try{let a=await this.biz.listBranches({...d,repositoryRoot:b},e.signal);if(c.branchRequests.get(b)?.token!==f)return;c.branchRequests.delete(b),c.branches.set(b,{status:"ready",data:a,error:null}),this.publish()}catch(a){if(c.branchRequests.get(b)?.token!==f||(c.branchRequests.delete(b),e.signal.aborted))return;c.branches.set(b,{status:"error",data:null,error:FF(a,Fc("gitBranchesReadFailed"))}),this.publish()}}async replaceBranch(a,b,c){let d=this.requireProject(a),e=this.workspaceFor(a);if(!e.branchOperations.has(b)){e.branchOperations.add(b),this.publish();try{let f=await this.biz.replaceBranch({...d,repositoryRoot:b,target:c});this.applyRepository(e,f.repository),this.clearBranches(e,b),this.onRepositoryChanged(a,b)}finally{e.branchOperations.delete(b),this.publish()}}}async addBranch(a,b,c,d){let e=this.requireProject(a),f=this.workspaceFor(a);if(!f.branchOperations.has(b)){f.branchOperations.add(b),this.publish();try{let g=await this.biz.addBranch({...e,repositoryRoot:b,name:c,startPoint:d});this.applyRepository(f,g.repository),this.clearBranches(f,b),this.onRepositoryChanged(a,b)}finally{f.branchOperations.delete(b),this.publish()}}}getDiff(a,b,c,d){return this.biz.getDiff({...this.requireProject(a),repositoryRoot:b,path:c},d)}dispose(){for(let a of this.workspaces.values())this.abortRequests(a);this.workspaces.clear(),this.projectRefs.clear(),this.listeners.clear()}async loadSnapshot(a,b){let c=this.workspaceFor(a);if(c.snapshotRequest&&!b)return;let d=this.projectRefs.get(a);if(!d){c.snapshot={status:"error",repositories:c.snapshot.repositories,error:Fc("gitNoProjectStatus")},this.publish();return}c.snapshotRequest?.controller.abort();let e=new AbortController,f={};c.snapshotRequest={controller:e,token:f},c.snapshot={status:"loading",repositories:c.snapshot.repositories,error:null},this.publish();try{let a=await this.biz.get(d,e.signal);if(c.snapshotRequest?.token!==f)return;c.snapshotRequest=null,c.snapshot={status:"ready",repositories:a.repositories,error:null};let b=new Set(a.repositories.map(a=>a.root));for(let d of(a.repositories.length>0&&!b.has("")&&b.add(""),[...c.expandedRepositories]))b.has(d)||c.expandedRepositories.delete(d);this.publish()}catch(a){if(c.snapshotRequest?.token!==f||(c.snapshotRequest=null,e.signal.aborted))return;c.snapshot={status:"error",repositories:c.snapshot.repositories,error:FF(a,Fc("gitStatusReadFailed"))},this.publish()}}requireProject(a){let b=this.projectRefs.get(a);if(!b)throw Error(Fc("gitNoProjectOperation"));return b}applyRepository(a,b){a.headsRequest?.controller.abort(),a.headsRequest=null,a.snapshotRequest?.controller.abort(),a.snapshotRequest=null;let c={root:b.root,state:b.state,head:b.head},d=[...a.heads.repositories],e=d.findIndex(a=>a.root===b.root);if(e>=0?d[e]=c:d.push(c),a.heads={status:"ready",repositories:d,error:null},a.lastHeadsStartedAt=Date.now(),"idle"===a.snapshot.status)return;let f="loading"===a.snapshot.status,g=[...a.snapshot.repositories],h=g.findIndex(a=>a.root===b.root);h>=0?g[h]=b:g.push(b),a.snapshot={status:"ready"===a.snapshot.status?"ready":"idle",repositories:g,error:null},f&&this.refreshSnapshot(a.cwd)}abortRequests(a){for(let b of(a.headsRequest?.controller.abort(),a.headsRequest=null,a.snapshotRequest?.controller.abort(),a.snapshotRequest=null,a.branchRequests.values()))b.controller.abort();a.branchRequests.clear()}clearBranches(a,b){a.branchRequests.get(b)?.controller.abort(),a.branchRequests.delete(b),a.branches.delete(b)}workspaceFor(a){let b=this.workspaces.get(a);if(b)return b;let c={cwd:a,heads:{status:"idle",repositories:[],error:null},headsRequest:null,lastHeadsStartedAt:0,snapshot:{status:"idle",repositories:[],error:null},snapshotRequest:null,branches:new Map,branchRequests:new Map,layout:"directory",changesOnly:!1,expandedRepositories:new Set,branchOperations:new Set};return this.workspaces.set(a,c),c}publish(){for(let a of(this.revision+=1,[...this.listeners]))a()}}var FH=c(18997);let FI=FH.y2,FJ=Q.Ik({workId:ET.eW,cwd:ET.ik}).strict(),FK=FH.Ww,FL=FH.cP,FM=FH.zp,FN=FH.u2;Q.Ik({repositories:Q.YO(FN).max(FI)}).strict();let FO=FJ.extend({repositoryRoot:FK}).strict(),FP=FH.zt,FQ=FJ.extend({repositoryRoot:FK,target:FP}).strict(),FR=FJ.extend({repositoryRoot:FK,name:FL,startPoint:FP.nullable()}).strict(),FS=Q.Ik({repository:FM}).strict(),FT=FJ.extend({repositoryRoot:FK,path:pb._g}).strict();var FU=c(45123);let FV=Object.freeze({messages:[],temporaryMessages:[],runtime:{extensionMode:"normal",presentationMode:"normal",initializationError:null,queues:{steering:[],followUp:[]},model:null,capabilityMode:null,contextUsage:null,plugins:{}}});function FW(a){let b=new Set;for(let[c,d]of a.entries()){if(d.location.index!==c||b.has(d.location.entryId))return null;b.add(d.location.entryId)}let c=a.at(-1);return c?{index:c.location.index,entryId:c.location.entryId}:null}var FX=c(92991);let FY="messages",FZ="source",F$="drafts",F_="outbox",F0="pi-super-chat",F1=null,F2=null;function F3(a){return Error((0,b2.B)({msg:FX.n["zh-CN"].common[a],i18n:{key:`common:${a}`}}))}function F4(a,b){a.objectStoreNames.contains(b)||a.createObjectStore(b,{keyPath:["sessionId","branchId"]})}function F5(){return new Promise((a,b)=>{let c=indexedDB.open(F0,2),d=!1,e=window.setTimeout(()=>{f(F3("dbOpenTimeout"))},1e4),f=a=>{d||(d=!0,window.clearTimeout(e),b(a))};c.addEventListener("upgradeneeded",()=>{let a=c.result;a.objectStoreNames.contains(FY)||a.createObjectStore(FY,{keyPath:["sessionId","branchId","index"]}).createIndex(FZ,["sessionId","branchId"],{unique:!1}),F4(a,F$),F4(a,F_)},{once:!0}),c.addEventListener("blocked",()=>{f(F3("dbOpenBlocked"))},{once:!0}),c.addEventListener("success",()=>{let b=c.result;d?b.close():(d=!0,window.clearTimeout(e),a(b))},{once:!0}),c.addEventListener("error",()=>f(c.error??F3("dbOpenFailed")),{once:!0})})}async function F6(){try{return await F5()}catch(a){if(!("object"==typeof a&&null!==a&&"name"in a&&"VersionError"===a.name))throw a;return console.warn("[Pi Desk][ChatIndexedDB] 本地数据库版本高于当前版本,清空全部本地聊天数据后重建",{databaseName:F0,requestedVersion:2}),await new Promise((a,b)=>{let c=indexedDB.deleteDatabase(F0),d=!1,e=window.setTimeout(()=>{f(F3("dbDeleteTimeout"))},1e4),f=a=>{d||(d=!0,window.clearTimeout(e),b(a))};c.addEventListener("blocked",()=>{f(F3("dbDeleteBlocked"))},{once:!0}),c.addEventListener("success",()=>{d||(d=!0,window.clearTimeout(e),a())},{once:!0}),c.addEventListener("error",()=>f(c.error??F3("dbDeleteFailed")),{once:!0})}),F5()}}function F7(){return F2?Promise.resolve(F2):F1||(F1=F6().then(a=>(F2=a,a.addEventListener("versionchange",()=>{a.close(),F2===a&&(F2=null,F1=null),console.warn("[Pi Desk][ChatIndexedDB] 数据库版本已变化,当前连接已关闭")}),a)).catch(a=>{throw F1=null,a}))}function F8(a){return new Promise((b,c)=>{a.addEventListener("success",()=>b(a.result),{once:!0}),a.addEventListener("error",()=>c(a.error??F3("dbRequestFailed")),{once:!0})})}function F9(a,b,c){let d=a.target;return d?.error??b.error??Error(c)}function Ga(a){return new Promise((b,c)=>{a.addEventListener("complete",()=>b(),{once:!0}),a.addEventListener("abort",b=>c(F9(b,a,F3("dbTransactionAborted").message)),{once:!0}),a.addEventListener("error",b=>c(F9(b,a,F3("dbTransactionFailed").message)),{once:!0})})}let Gb=Q.Ik({sessionId:Q.Yj().trim().min(1),branchId:Q.Yj().trim().min(1),index:Q.ai().int().nonnegative(),entryId:Q.Yj().trim().min(1),fixed:FU.ao,summary:FU.lV,detail:FU.wI.optional()}).strict();function Gc(a,b){return Gb.parse({sessionId:a.sessionId,branchId:a.branchId,index:b.location.index,entryId:b.location.entryId,fixed:b.fixed,summary:b.summary,...void 0===b.detail?{}:{detail:b.detail}})}function Gd(a){let b=Gb.parse(a);if("assistant"===b.fixed.type&&"pi-desk/assistant"===b.fixed.viewKey){if(!Object.hasOwn(b.summary,"errorMessage"))throw Error("Assistant Summary cache uses an outdated projection");FU.Y2.parse(b.summary),void 0!==b.detail&&FU.$f.parse(b.detail)}return FU.wR.parse({location:{index:b.index,entryId:b.entryId},fixed:b.fixed,summary:b.summary,...void 0===b.detail?{}:{detail:b.detail}})}function Ge(a,b){a.delete(IDBKeyRange.bound([b.sessionId,b.branchId,0],[b.sessionId,b.branchId,Number.MAX_SAFE_INTEGER]))}let Gf=Q.Yj().max(65536),Gg=Q.Ik({id:Q.Yj().uuid(),title:Gf,expiresAt:Q.ai().int().nonnegative().nullable()}),Gh=Q.gM("method",[Gg.extend({method:Q.eu("confirm"),message:Gf}).strict(),Gg.extend({method:Q.eu("select"),options:Q.YO(Gf).max(200)}).strict(),Gg.extend({method:Q.eu("input"),placeholder:Gf}).strict(),Gg.extend({method:Q.eu("editor"),prefill:Gf}).strict()]),Gi=Q.Ik({requests:Q.YO(Gh).max(32),statuses:Q.g1(Q.Yj().max(128),Gf),widgets:Q.g1(Q.Yj().max(128),Q.Ik({lines:Q.YO(Gf).max(200),placement:Q.k5(["aboveEditor","belowEditor"])}).strict())}).strict(),Gj=Q.Ik({id:Q.Yj().uuid(),value:Q.KC([Q.zM(),Gf,Q.ch()])}).strict(),Gk=Q.gM("type",[Q.Ik({type:Q.eu("snapshot"),snapshot:Gi}).strict(),Q.Ik({type:Q.eu("notify"),message:Gf,level:Q.k5(["info","warning","error"])}).strict(),Q.Ik({type:Q.eu("editor_text"),text:Gf,mode:Q.k5(["replace","paste"])}).strict()]),Gl=Q.Ik({source:u$.R}).strict(),Gm=Q.Ik({}).strict(),Gn=Object.freeze({subscribe:(0,R.Vc)({path:"pi/ui/subscribe",inputSchema:Gl,outputSchema:Gi}),unsubscribe:(0,R.Vc)({path:"pi/ui/unsubscribe",inputSchema:Gl,outputSchema:Gm}),respond:(0,R.Vc)({path:"pi/ui/respond",inputSchema:Gl.extend({response:Gj}).strict(),outputSchema:Gm}),event:(0,R._G)({path:"pi/ui/event",bodySchema:Gl.extend({event:Gk}).strict()})});function Go(a){return JSON.stringify([a.workId,a.sessionId,a.branchId])}class Gp{constructor(a){this.socket=a,this.records=new Map,this.listeners=new Set,this.notices=new Set,this.releasePush=null,this.connected=!1,this.epoch=0,this.subscribe=a=>(this.listeners.add(a),()=>this.listeners.delete(a))}onNotice(a){return this.notices.add(a),()=>this.notices.delete(a)}getState(a){return this.record(a).state}watch(a){this.releasePush||(this.releasePush=this.socket.subscribe(Gn.event,({source:a,event:b})=>{let c=this.records.get(Go(a));if(c&&this.connected)if("snapshot"===b.type)c.state.refreshing?c.latest=b.snapshot:this.apply(c,b.snapshot);else if("editor_text"===b.type)this.patch(c,{prefill:b});else for(let d of(this.appendNotice(c,b),this.notices))d(a,b)}));let b=this.record(a);!this.connected||b.state.ready||b.state.refreshing||this.refresh(b)}ready(a){for(let b of(this.reconcile(a),this.connected=!0,this.records.values()))this.refresh(b)}reconcile(a){let b=new Set(a.map(Go));for(let[a,c]of this.records)!b.has(a)&&(this.records.delete(a),this.connected&&this.socket.request(Gn.unsubscribe,{source:c.source}).catch(()=>void 0));this.emit()}disconnected(){for(let a of(this.connected=!1,this.epoch+=1,this.records.values()))a.latest=null,this.patch(a,{ready:!1,refreshing:!1,submitting:null,commandPending:null,unknown:a.state.submitting??a.state.unknown})}edit(a,b){this.patch(this.record(a),b)}refreshSource(a){return this.refresh(this.record(a))}async respond(a,b){let c=this.record(a);if(!c.state.ready||c.state.submitting||c.state.unknown)return;let d=this.epoch;this.patch(c,{submitting:b.id,error:null});try{await this.socket.request(Gn.respond,{source:a,response:b}),this.current(c,d)&&c.state.submitting===b.id&&this.patch(c,{submitting:null})}catch(e){if(!this.current(c,d)||!c.state.snapshot.requests.some(a=>a.id===b.id))return;let a=e instanceof Error&&"code"in e;this.patch(c,{submitting:null,unknown:a?null:b.id,error:a?e.message:Fc("nativeUiUnknown")}),this.connected&&await this.refresh(c,a)}}async executeCommand(a,b,c){let d=this.record(a);if(!d.state.ready||d.state.commandPending)return;let e=this.epoch;this.patch(d,{commandPending:`/${b}${c?` ${c}`:""}`});try{await this.socket.request(E9.QV.commandExecute,{source:a,command:b,args:c})}catch(a){this.current(d,e)&&this.appendNotice(d,{level:"error",message:a instanceof Error?a.message:Fc("operationFailed")})}finally{this.current(d,e)&&this.patch(d,{commandPending:null})}}dispose(){this.disconnected(),this.releasePush?.(),this.releasePush=null,this.records.clear(),this.listeners.clear(),this.notices.clear()}record(a){let b=Go(a),c=this.records.get(b);return c||(c={source:a,latest:null,state:{snapshot:{requests:[],statuses:{},widgets:{}},notices:[],commandPending:null,ready:!1,refreshing:!1,error:null,submitting:null,unknown:null,answers:{},collapsed:!1,prefill:null}},this.records.set(b,c)),c}current(a,b){return this.epoch===b&&this.records.get(Go(a.source))===a}async refresh(a,b=!1){if(!this.connected||a.state.refreshing)return;let c=this.epoch;a.latest=null,this.patch(a,{ready:!1,refreshing:!0});try{let d=await this.socket.request(Gn.subscribe,{source:a.source});if(!this.current(a,c))return;this.apply(a,a.latest??d),this.patch(a,{ready:!0,unknown:null,...!b?{error:null}:{}})}catch(b){this.current(a,c)&&this.patch(a,{ready:!1,error:b instanceof Error?b.message:Fc("nativeUiFailed")})}finally{this.current(a,c)&&(a.latest=null,this.patch(a,{refreshing:!1}))}}apply(a,b){let c=new Set(b.requests.map(a=>a.id)),d=Object.fromEntries(Object.entries(a.state.answers).filter(([a])=>c.has(a)));this.patch(a,{snapshot:b,answers:d,submitting:a.state.submitting&&c.has(a.state.submitting)?a.state.submitting:null,unknown:a.state.unknown&&c.has(a.state.unknown)?a.state.unknown:null,...b.requests[0]?.id!==a.state.snapshot.requests[0]?.id?{error:null}:{}})}appendNotice(a,b){let c=[...a.state.notices,{level:b.level,message:b.message.slice(0,65536)}].slice(-32),d=c.reduce((a,b)=>a+b.message.length,0);for(;d>65536&&c.length>1;)d-=c.shift().message.length;this.patch(a,{notices:c})}patch(a,b){a.state={...a.state,...b},this.emit()}emit(){for(let a of this.listeners)a()}}let Gq=Object.freeze({...FV,syncStatus:"loading"});function Gr(a){return FU.Pi.parse({workId:a.workId,sessionId:a.sessionId,branchId:a.branchId})}function Gs(a){return JSON.stringify([a.workId,a.sessionId,a.branchId])}function Gt(a,b){return a.workId===b.workId&&a.sessionId===b.sessionId&&a.branchId===b.branchId}let Gu={text:"",images:[]};function Gv(a){return[a.sessionId,a.branchId]}function Gw(a,b){return{sessionId:a.sessionId,branchId:a.branchId,text:b.text,images:b.images}}function Gx(a){if(!a||"object"!=typeof a||"string"!=typeof a.text||!Array.isArray(a.images))return null;let b=[];for(let c of a.images){if(!c||"object"!=typeof c||!(c.blob instanceof Blob)||"string"!=typeof c.mimeType||!Number.isSafeInteger(c.width)||c.width<=0||!Number.isSafeInteger(c.height)||c.height<=0||"boolean"!=typeof c.optimized)return null;b.push({blob:c.blob,mimeType:c.mimeType,width:c.width,height:c.height,optimized:c.optimized})}return{text:a.text,images:b}}function Gy(a,b){return b?{text:[a.text,b.text].filter(a=>a.trim()).join("\n\n"),images:[...a.images,...b.images]}:a}var Gz=c(60141);let GA=new Set(["image/jpeg","image/png","image/webp","image/gif","image/bmp"]),GB=new Set(["image/jpeg","image/png","image/webp","image/gif"]),GC=new Set([192,193,194,195,197,198,199,201,202,203,205,206,207]);function GD(a){return a.type.toLowerCase().split(";")[0]??""}async function GE(a){let b;try{b=await createImageBitmap(a,{imageOrientation:"from-image"})}catch{throw Error(Fc("imageDecodeFailed"))}if(!Number.isSafeInteger(b.width)||b.width<=0||b.height<=0)throw b.close(),Error(Fc("imageInvalidDimensions"));return{bitmap:b,width:b.width,height:b.height}}function GF(a,b,c){let d=Math.max(a,b);if(d<=c)return{width:a,height:b};let e=c/d;return{width:Math.max(1,Math.round(a*e)),height:Math.max(1,Math.round(b*e))}}function GG(a,b,c,d,e){let f=document.createElement("canvas");f.width=b,f.height=c;let g=f.getContext("2d");if(!g)throw Error(Fc("canvasUnavailable"));return g.drawImage(a,0,0,b,c),new Promise((a,b)=>{f.toBlob(c=>c?a(c):b(Error(Fc("imageCompressFailed"))),d,e)})}async function GH(a){let b=new Uint8Array(await a.slice(0,262144).arrayBuffer());if(b.length<4||255!==b[0]||216!==b[1])return null;let c=2;for(;c+3<b.length;){for(;c<b.length&&255!==b[c];)c+=1;for(;c<b.length&&255===b[c];)c+=1;if(c>=b.length)break;let a=b[c];if(c+=1,216===a||1===a||a>=208&&a<=215)continue;if(217===a||218===a||c+1>=b.length)break;let d=b[c]<<8|b[c+1];if(d<2||c+d>b.length)break;if(GC.has(a)&&d>=7)return{width:b[c+5]<<8|b[c+6],height:b[c+3]<<8|b[c+4]};c+=d}return null}async function GI(a){let b=GD(a);if(!GA.has(b))throw Error(Fc("imageTypeUnsupported"));let c=await GE(a);return c.bitmap.close(),{blob:a,mimeType:b,width:c.width,height:c.height,optimized:"image/gif"===b}}async function GJ(a){if(a.optimized){if(a.blob.size>0xa00000)throw Error(Fc("singleImageLimit"));return a}let b=await GE(a.blob);try{var c;let d=GF(b.width,b.height,2560),e=(c=a.mimeType,"image/jpeg"===c?"image/jpeg":"image/webp"),f=a.blob.size>5242880?.85:"image/jpeg"===e?.9:.92,g=await GG(b.bitmap,d.width,d.height,e,f),h=d.width,i=d.height,j=h!==b.width||i!==b.height,k="image/jpeg"===a.mimeType?await GH(a.blob):null,l="image/jpeg"===a.mimeType&&(null===k||k.width!==b.width||k.height!==b.height),m=GB.has(a.mimeType)&&!l;if(!j&&m&&g.size>=.9*a.blob.size&&(g=a.blob,h=b.width,i=b.height),g.size>0xa00000){let a=GF(b.width,b.height,2048);g=await GG(b.bitmap,a.width,a.height,e,.82),h=a.width,i=a.height}if(g.size>0xa00000)throw Error(Fc("compressedImageTooLarge"));let n=GD(g);if(!GB.has(n))throw Error(Fc("compressedTypeUnsupported"));return{blob:g,mimeType:n,width:h,height:i,optimized:!0}}finally{b.bitmap.close()}}async function GK(a){if(!a.optimized)throw Error(Fc("imagesPending"));let b=new Uint8Array(await a.blob.arrayBuffer()),c="";for(let a=0;a<b.length;a+=32768)c+=String.fromCharCode(...b.subarray(a,a+32768));return{mimeType:a.mimeType,width:a.width,height:a.height,data:btoa(c)}}function GL(a,b,c=a.optimized?"ready":"optimizing"){return{...a,localId:(0,Gz.y)(),objectUrl:URL.createObjectURL(a.blob),name:b,status:c,error:null}}function GM(a){URL.revokeObjectURL(a.objectUrl)}function GN(a){return JSON.stringify([a.workId,a.sessionId,a.branchId])}function GO(a){return{text:a.text,images:a.images.map(({blob:a,mimeType:b,width:c,height:d,optimized:e})=>({blob:a,mimeType:b,width:c,height:d,optimized:e}))}}function GP(a,b){return a instanceof Error&&a.message?a.message:b}function GQ(a,b){return[a,b].filter(a=>a.trim()).join("\n\n")}function GR(a,b,c){return`${GN(a)}\u0000temp\u0000${b}\u0000${c}`}function GS(a,b,c){return`${GN(a)}\u0000entry\u0000${b}\u0000${c}`}function GT(a){for(let b of a)GM(b)}let GU=(0,ac.A)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),GV=(0,ac.A)("heading",[["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M6 20V4",key:"1w1bmo"}],["path",{d:"M18 20V4",key:"o2hl4u"}]]),GW=(0,ac.A)("fingerprint-pattern",[["path",{d:"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4",key:"1nerag"}],["path",{d:"M14 13.12c0 2.38 0 6.38-1 8.88",key:"o46ks0"}],["path",{d:"M17.29 21.02c.12-.6.43-2.3.5-3.02",key:"ptglia"}],["path",{d:"M2 12a10 10 0 0 1 18-6",key:"ydlgp0"}],["path",{d:"M2 16h.01",key:"1gqxmh"}],["path",{d:"M21.8 16c.2-2 .131-5.354 0-6",key:"drycrb"}],["path",{d:"M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2",key:"1tidbn"}],["path",{d:"M8.65 22c.21-.66.45-1.32.57-2",key:"13wd9y"}],["path",{d:"M9 6.8a6 6 0 0 1 9 5.2v2",key:"1fr1j5"}]]),GX=(0,ac.A)("rotate-ccw-clock",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]),GY=(0,ac.A)("message-square-text",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]);function GZ(a){return a.replace(/[\\/]+$/,"").split(/[\\/]/).at(-1)||a}function G$(a){return a.trim().toLocaleLowerCase()}let G_=["title","user"],G0=[{value:"title",label:"scopeTitle"},{value:"user",label:"scopeUser"},{value:"assistant",label:"scopeAssistant"},{value:"sessionId",label:"Session ID"}];function G1(a,b,c){return"title"===a?c("scopeTitle"):"sessionId"===a?"Session ID":c("user"===a?"scopeUserMatches":"scopeAssistantMatches",{count:b})}function G2(a){switch(a){case"user":case"assistant":case"title":return"bg-muted text-foreground";case"sessionId":return"bg-muted text-muted-foreground"}}function G3(a){switch(a){case"user":case"assistant":case"title":return"bg-accent text-accent-foreground";case"sessionId":return"bg-muted-foreground/25 text-foreground"}}function G4({scope:a,className:b}){switch(a){case"user":return(0,N.jsx)(GU,{className:b});case"assistant":return(0,N.jsx)(cq,{className:b});case"title":return(0,N.jsx)(GV,{className:b});case"sessionId":return(0,N.jsx)(GW,{className:b})}}function G5(a,b,c="bg-primary/20 text-foreground"){if(!b)return a;let d=a.toLocaleLowerCase(),e=[],f=0,g=d.indexOf(b);for(;g>=0;){g>f&&e.push(a.slice(f,g));let h=g+b.length;e.push((0,N.jsx)("mark",{className:`rounded-sm px-px ${c}`,children:a.slice(g,h)},`${g}-${h}`)),f=h,g=d.indexOf(b,f)}return f<a.length&&e.push(a.slice(f)),e.length?e:a}function G6({open:a,pickerMode:b,pickerView:c,pickerCwd:d,directories:e,ignoredDirectories:f,directoryBrowser:g,historySessions:h,replacementTarget:i,unavailableSessionIds:j,error:k,loading:l,creatingCwd:m,replacingSessionId:n,updatingIgnoreCwd:o,onOpenChange:p,onBack:q,onSearchHistory:r,onListSessionUserMessages:s,onRefresh:t,onOpenIgnoredDirectories:u,onOpenDirectoryBrowser:v,onNavigateDirectory:w,onSelectBrowserDirectory:x,onReplaceDirectoryIgnore:y,onSelectDirectory:z,onSelectSession:A}){let{t:B}=(0,aa.Bd)("workbenchPicker"),{locale:C,timeZone:D}=(0,cF.i)(),E=(0,O.useMemo)(()=>new Intl.DateTimeFormat("en"===C?"en-US":"zh-CN",{timeZone:D,month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}),[C,D]),[F,G]=(0,O.useState)(""),[H,I]=(0,O.useState)(G_),[J,K]=(0,O.useState)(""),[L,M]=(0,O.useState)(null);(0,O.useRef)("");let P=(0,O.useRef)(0),Q=(0,O.useRef)(null),R=null!==m||null!==n||null!==o,S=(0,O.useMemo)(()=>new Set(j),[j]),T=G$(F),U=function(a){let b=a.trim();if(b.length<2)return b;let c=b.at(0);return('"'===c||"'"===c)&&b.at(-1)===c?b.slice(1,-1).trim():b}(J),V=/^(?:[A-Za-z]:[\\/]|[\\/]{2}|\/)/.test(U),W="ignored"===c?f:e,X=W.filter(a=>!T||G$(`${GZ(a.cwd)} ${a.cwd}`).includes(T)),Y=(g?.directories??[]).filter(a=>!T||G$(`${a.name} ${a.cwd}`).includes(T));H.join("\0");let Z=async(a,b,c,e)=>{if(!d)return;let f=++P.current;Q.current?.abort();let g=new AbortController;Q.current=g,M(c=>({sessionId:a,query:b,messages:e&&c?.sessionId===a?c.messages:[],page:e&&c?.sessionId===a?c.page:null,loading:!0,error:null}));try{let h=await s({cwd:d,sessionId:a,query:b,page:{index:c,size:20}},g.signal);if(P.current!==f)return;M(c=>({sessionId:a,query:b,messages:e&&c?.sessionId===a?[...c.messages,...h.messages]:h.messages,page:h.page,loading:!1,error:null}))}catch(c){if(P.current!==f||c instanceof Error&&"AbortError"===c.name)return;M(d=>({sessionId:a,query:b,messages:d?.sessionId===a?d.messages:[],page:d?.sessionId===a?d.page:null,loading:!1,error:c instanceof Error?c.message:B("loadUserFailed")}))}finally{Q.current===g&&(Q.current=null)}},$=a=>{if(L?.sessionId===a.sessionId){P.current+=1,Q.current?.abort(),Q.current=null,M(null);return}let b=a.matches?.some(a=>"user"===a.scope)?T:"";Z(a.sessionId,b,1,!1)},_="ignored"===c?B("ignoredRestoreTitle"):"browser"===c?B("browseOtherTitle"):"replace"===b?B("replaceTitle"):B("createTitle"),ab="ignored"===c?B("ignoredRestoreDescription"):"browser"===c?B("browseDescription"):"replace"===b?i?B("replaceDescription",{project:i.projectName,session:i.sessionTitle??B("newSession")}):B("replaceMissingDescription"):B("createDescription"),ac="history"===c?B("searchHistory"):"browser"===c?B("searchBrowser"):"ignored"===c?B("searchIgnored"):B("searchProjects"),ad="history"===c?h.length:"browser"===c?g?.directories.length??0:W.length,af=l&&("browser"===c?null===g:0===ad),ag="history"===c?B("currentProject",{path:d??""}):"ignored"===c?B("ignoredCount",{count:f.length}):"browser"===c?g?.cwd??B("rootChoose"):"replace"===b?B("replaceChooseFirst"):B("regularExcludesIgnored"),ah="history"===c?B("loadingHistory"):"ignored"===c?B("loadingIgnored"):"browser"===c?B("loadingBrowser"):B("loadingProjects"),ai=a=>{G(""),K(""),w(a)},ak=()=>{l||R||!V||(G(""),w(U))};return(0,N.jsx)(cf.YV,{open:a,onOpenChange:a=>{(a||!R)&&p(a)},children:(0,N.jsxs)(cf.hA,{className:"h-[min(44rem,calc(100dvh-2rem))] max-w-[45rem]",showCloseButton:!R,finalFocus:!1,children:[(0,N.jsx)(cf.Hl,{className:"border-b px-4 py-3 pr-12",children:(0,N.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:["directories"!==c?(0,N.jsx)("button",{type:"button",disabled:R,onClick:q,"aria-label":B("backFolders"),title:B("backFolders"),className:(0,ae.r)({variant:"ghost",size:"icon"}),children:(0,N.jsx)(aj.A,{className:"size-4"})}):(0,N.jsx)("span",{className:"flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted text-muted-foreground",children:(0,N.jsx)(cp.A,{className:"size-4"})}),(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsx)(cf.YM,{children:_}),(0,N.jsx)(cf.uX,{className:"mt-1 truncate",title:ab,children:ab})]})]})}),(0,N.jsxs)("div",{className:"shrink-0 border-b px-3 py-2.5 sm:px-4",children:["browser"===c?(0,N.jsxs)("div",{className:"mb-2",children:[(0,N.jsxs)("div",{className:"flex gap-2",children:[(0,N.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,N.jsx)(FA.A,{className:"pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-muted-foreground"}),(0,N.jsx)(b4.p,{value:J,onChange:a=>K(a.target.value),onKeyDown:a=>{"Enter"===a.key&&V&&(a.preventDefault(),ak())},placeholder:B("pastePath"),"aria-label":B("fullPath"),disabled:l||R,className:"pl-9"})]}),(0,N.jsx)("button",{"data-testid":"workbench-picker-open-directory-path",type:"button",disabled:l||R||!V,onClick:ak,title:V?B("openTyped"):B("enterAbsolute"),className:(0,ae.r)({variant:"outline"}),children:B("open")})]}),(0,N.jsx)("p",{className:"mt-1.5 px-0.5 text-sm text-muted-foreground",children:J.trim()&&!V?B("absoluteExample"):B("pasteHint")})]}):null,(0,N.jsxs)("div",{className:"relative",children:[(0,N.jsx)(b5.A,{className:"pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-muted-foreground"}),(0,N.jsx)(b4.p,{value:F,onChange:a=>G(a.target.value),placeholder:ac,"aria-label":ac,disabled:R,className:"pl-9"})]}),"history"===c?(0,N.jsxs)("fieldset",{className:"mt-2 flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1.5 px-0.5",children:[(0,N.jsx)("legend",{className:"mr-1 text-xs text-muted-foreground",children:B("searchScopes")}),G0.map(a=>{let b=H.includes(a.value);return(0,N.jsxs)("label",{className:"flex min-h-7 cursor-pointer items-center gap-2 text-sm text-muted-foreground has-[:focus-visible]:rounded-sm has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-ring",children:[(0,N.jsx)("input",{type:"checkbox",checked:b,disabled:R||b&&1===H.length,onChange:()=>{var b;return b=a.value,void I(a=>a.includes(b)?1===a.length?a:a.filter(a=>a!==b):[...a,b])},className:"size-4 accent-primary"}),(0,N.jsx)("span",{children:B(a.label)})]},a.value)})]}):null]}),(0,N.jsx)(cf._Y,{className:"max-h-none min-h-0",children:(0,N.jsxs)("div",{className:"p-2 sm:p-3","aria-busy":l||R,"aria-live":"polite",children:[k?(0,N.jsx)("p",{role:"alert",className:"mb-2 rounded-md bg-destructive/10 px-3 py-2 text-xs text-destructive",children:k}):null,"replace"===b&&null===i?(0,N.jsx)("p",{role:"alert",className:"mb-2 rounded-md bg-destructive/10 px-3 py-2 text-xs text-destructive",children:B("replaceTargetMissing")}):null,af?(0,N.jsxs)("div",{className:"flex min-h-36 flex-col items-center justify-center gap-3 text-center text-sm text-muted-foreground",children:[(0,N.jsx)(bW.A,{className:"size-5 animate-spin"}),(0,N.jsx)("p",{children:ah})]}):"history"===c?0===h.length?null===k?(0,N.jsx)("p",{className:"px-3 py-10 text-center text-sm text-muted-foreground",children:T?B("noHistoryMatches"):B("noReplaceHistory")}):null:(0,N.jsxs)(N.Fragment,{children:[T?(0,N.jsx)("p",{className:"px-3 pb-1 pt-0.5 text-xs text-muted-foreground",children:B("sessionFound",{count:h.length})}):null,(0,N.jsx)("div",{className:"divide-y",children:h.map(a=>{let b,c=a.name?.trim()||a.firstMessage.trim()||B("sessionFallback",{id:a.sessionId.slice(0,8)}),d=B("sessionMessages",{users:a.userMessageCount,total:a.messageCount,time:(b=a.updatedAt,E.format(b))}),e=i?.sessionId===a.sessionId,f=S.has(a.sessionId),g=n===a.sessionId,h=null===i,j=R||e||f||h,k=L?.sessionId===a.sessionId?L:null,l=a.matches??[],m=l.filter(a=>"title"!==a.scope),o=l.find(a=>"user"===a.scope),p=null===k&&m.length>0,q=`workbench-picker-user-message-panel-${a.sessionId}`,r=g?B("replacing"):e?B("current"):f?B("alreadyUsed"):h?B("targetUnavailable"):B("replace"),s=e?B("currentBound"):f?B("historyUsed"):h?B("replaceTargetUnavailable"):B("replaceWith",{name:c}),t=k?B("hideUserMessages"):o?B("viewMatching",{count:o.count}):B("viewUserMessages",{count:a.userMessageCount}),u=k?.page!==null&&null!==k&&k.messages.length<k.page.total;return(0,N.jsxs)("div",{className:"px-2 sm:px-3",children:[(0,N.jsxs)("div",{className:"flex min-h-15 items-center gap-2 py-2",children:[(0,N.jsx)(GX,{className:"size-4 shrink-0 text-muted-foreground"}),(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsx)("p",{className:"truncate text-sm font-medium",title:c,children:l.some(a=>"title"===a.scope)?G5(c,T,G3("title")):c}),(0,N.jsx)("p",{className:"mt-0.5 truncate text-xs text-muted-foreground",title:d,children:d})]}),a.userMessageCount>0?(0,N.jsx)("button",{"data-testid":`workbench-picker-user-messages-${a.sessionId}`,type:"button",disabled:R,"aria-label":t,"aria-expanded":null!==k,"aria-controls":q,onClick:()=>$(a),title:t,className:(0,ae.r)({variant:"ghost",size:"icon"}),children:(0,N.jsx)(cy.A,{className:`size-4 transition-transform${k?" rotate-180":""}`})}):null,(0,N.jsx)("button",{"data-testid":`workbench-picker-replace-${a.sessionId}`,type:"button",disabled:j,onClick:()=>A(a.sessionId),title:s,className:(0,ae.r)({variant:"outline"}),children:g?(0,N.jsx)(bW.A,{className:"size-3.5 animate-spin"}):r})]}),p?(0,N.jsx)("div",{className:"mb-2 ml-6 min-w-0 space-y-1.5 overflow-hidden",children:m.map(b=>{let c,d="user"===b.scope,e=(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(G4,{scope:b.scope,className:"mt-0.5 size-3.5 shrink-0"}),(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsxs)("div",{className:"flex min-w-0 items-center gap-2 text-xs leading-5",children:[(0,N.jsx)("span",{className:`shrink-0 rounded px-1.5 py-0.5 font-medium ${G2(b.scope)}`,children:G1(b.scope,b.count,B)}),null!==b.timestampMs?(0,N.jsx)("span",{className:"truncate text-muted-foreground",children:(c=b.timestampMs,E.format(c))}):null]}),(0,N.jsx)("p",{className:"mt-1 line-clamp-2 break-words text-sm leading-5 text-foreground",children:G5(b.preview,T,G3(b.scope))})]})]}),f=`flex w-full max-w-full min-w-0 items-start gap-2 overflow-hidden rounded-md px-2.5 py-2 text-left ${G2(b.scope)}`;return d?(0,N.jsx)("button",{"data-testid":`workbench-picker-user-message-preview-${a.sessionId}`,type:"button",disabled:R,onClick:()=>$(a),"aria-label":B("viewMatch",{label:G1(b.scope,b.count,B)}),className:`${f} outline-none transition-colors hover:brightness-95 focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50`,children:e},b.scope):(0,N.jsx)("div",{className:f,children:e},b.scope)})}):null,k?(0,N.jsxs)("div",{id:q,"data-testid":q,className:"mb-2 ml-6 rounded-md border bg-background px-3 py-2.5",children:[(0,N.jsxs)("div",{className:"flex min-w-0 items-center justify-between gap-2",children:[(0,N.jsxs)("p",{className:"flex min-w-0 items-center gap-1.5 text-xs font-medium",children:[(0,N.jsx)(GY,{className:"size-3.5 shrink-0 text-primary"}),(0,N.jsx)("span",{className:"truncate",children:k.query?B("matchingUserCount",{count:k.page?.total??0}):B("userCount",{count:k.page?.total??a.userMessageCount})})]}),k.query?(0,N.jsx)("button",{type:"button",disabled:k.loading||R,onClick:()=>void Z(a.sessionId,"",1,!1),className:(0,ae.r)({variant:"ghost",size:"sm"}),children:B("viewAll")}):null]}),k.error?(0,N.jsx)("p",{className:"mt-2 text-xs text-destructive",children:k.error}):null,k.loading&&0===k.messages.length?(0,N.jsx)("div",{className:"flex min-h-16 items-center justify-center text-muted-foreground",children:(0,N.jsx)(bW.A,{className:"size-4 animate-spin"})}):0===k.messages.length?(0,N.jsx)("p",{className:"py-4 text-center text-xs text-muted-foreground",children:B("noUserMessages")}):(0,N.jsx)("div",{className:"mt-2 divide-y",children:k.messages.map(a=>{let b;return(0,N.jsxs)("div",{className:"py-2 first:pt-0 last:pb-0",children:[(0,N.jsx)("p",{className:"text-xs tabular-nums text-muted-foreground",children:(b=a.timestampMs,E.format(b))}),(0,N.jsx)("p",{className:"mt-1 whitespace-pre-wrap break-words text-sm leading-6",children:a.text?G5(a.text,k.query):B("noText")})]},a.entryId)})}),u?(0,N.jsxs)("button",{type:"button",disabled:k.loading||R,onClick:()=>void Z(a.sessionId,k.query,(k.page?.index??0)+1,!0),className:(0,ae.r)({variant:"outline",className:"mt-2"}),children:[k.loading?(0,N.jsx)(bW.A,{className:"size-3.5 animate-spin"}):null,B("loadMore")]}):null]}):null]},a.sessionId)})})]}):"browser"===c?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("div",{className:"mb-2 flex min-h-10 items-center gap-2 rounded-md bg-muted/60 px-3 text-xs text-muted-foreground",children:[(0,N.jsx)(FA.A,{className:"size-4 shrink-0"}),(0,N.jsx)("span",{className:"truncate",title:g?.cwd??B("root"),children:g?.cwd??B("root")})]}),0===Y.length?null===k?(0,N.jsx)("p",{className:"px-3 py-10 text-center text-sm text-muted-foreground",children:(g?.directories.length??0)===0?g?.cwd?B("browserEmpty"):B("rootsEmpty"):B("subfoldersNoMatches")}):null:(0,N.jsx)("div",{className:"divide-y",children:Y.map(a=>(0,N.jsxs)("button",{type:"button",disabled:l||R,onClick:()=>ai(a.cwd),className:"group flex min-h-15 w-full items-center gap-3 rounded-md px-2 py-2 text-left outline-none transition-colors hover:bg-muted/70 focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-55 sm:px-3",children:[(0,N.jsx)(cp.A,{className:"size-4 shrink-0 text-muted-foreground group-hover:text-primary"}),(0,N.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,N.jsx)("span",{className:"block truncate text-sm font-medium",title:a.name,children:a.name}),(0,N.jsx)("span",{className:"mt-0.5 block truncate text-xs text-muted-foreground",title:a.cwd,children:a.cwd})]}),(0,N.jsx)(bA.A,{className:"size-4 shrink-0 text-muted-foreground group-hover:text-foreground"})]},a.cwd))})]}):0===X.length?null===k?(0,N.jsx)("p",{className:"px-3 py-10 text-center text-sm text-muted-foreground",children:0===W.length?"ignored"===c?B("ignoredEmpty"):B("projectsEmpty"):B("projectNoMatches")}):null:"ignored"===c?(0,N.jsx)("div",{className:"divide-y",children:X.map(a=>{let b=GZ(a.cwd),c=o===a.cwd;return(0,N.jsxs)("div",{className:"flex min-h-15 items-center gap-3 px-2 py-2 sm:px-3",children:[(0,N.jsx)(cp.A,{className:"size-4 shrink-0 text-muted-foreground"}),(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsx)("p",{className:"truncate text-sm font-medium",title:b,children:b}),(0,N.jsx)("p",{className:"mt-0.5 truncate text-xs text-muted-foreground",title:a.cwd,children:a.cwd})]}),(0,N.jsxs)("button",{"data-testid":`workbench-picker-restore-directory-${a.cwd}`,type:"button",disabled:R,onClick:()=>y(a.cwd,!1),"aria-label":B("restoreFolder",{name:b}),title:B("restoreTip"),className:(0,ae.r)({variant:"outline"}),children:[c?(0,N.jsx)(bW.A,{className:"size-3.5 animate-spin"}):(0,N.jsx)(vp,{className:"size-3.5"}),(0,N.jsx)("span",{children:B("restore")})]})]},a.cwd)})}):(0,N.jsx)("div",{className:"divide-y",children:X.map(a=>{let c,d=GZ(a.cwd),e=B("directorySessions",{count:a.sessionCount,time:(c=a.updatedAt,E.format(c))}),f=m===a.cwd,g=o===a.cwd;return(0,N.jsxs)("div",{className:"flex items-center gap-1",children:[(0,N.jsxs)("button",{"data-testid":`workbench-picker-directory-${a.cwd}`,type:"button",disabled:R,onClick:()=>z(a.cwd),className:"group flex min-h-15 min-w-0 flex-1 items-center gap-3 rounded-md px-2 py-2 text-left outline-none transition-colors hover:bg-muted/70 focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-55 sm:px-3",children:[(0,N.jsx)(cp.A,{className:"size-4 shrink-0 text-muted-foreground group-hover:text-primary"}),(0,N.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,N.jsx)("span",{className:"block truncate text-sm font-medium",title:d,children:d}),(0,N.jsx)("span",{className:"mt-0.5 block truncate text-xs text-muted-foreground",title:a.cwd,children:a.cwd})]}),f?(0,N.jsxs)("span",{className:"flex min-h-10 shrink-0 items-center gap-1.5 text-xs text-muted-foreground",children:[(0,N.jsx)(bW.A,{className:"size-3.5 animate-spin"}),B("creating")]}):(0,N.jsxs)("span",{className:"flex shrink-0 items-center gap-1 text-xs text-muted-foreground",title:e,children:[(0,N.jsx)("span",{children:B("directoryCount",{count:a.sessionCount})}),(0,N.jsx)(bA.A,{className:"size-4 group-hover:text-foreground"})]})]}),"create"===b?(0,N.jsx)("button",{"data-testid":`workbench-picker-ignore-directory-${a.cwd}`,type:"button",disabled:R,onClick:()=>y(a.cwd,!0),"aria-label":B("ignoreFolder",{name:d}),title:B("ignoreTip"),className:(0,ae.r)({variant:"ghost",size:"icon"}),children:g?(0,N.jsx)(bW.A,{className:"size-3.5 animate-spin"}):(0,N.jsx)(tZ.A,{className:"size-4"})}):null]},a.cwd)})})]})}),(0,N.jsxs)(cf.vu,{className:"flex-row flex-wrap items-center justify-between gap-2 px-3 py-2.5 sm:px-4",children:[(0,N.jsx)("p",{className:"min-w-24 flex-1 truncate text-xs text-muted-foreground",title:ag,children:ag}),(0,N.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:["create"===b&&"directories"===c?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("button",{type:"button",disabled:l||R,onClick:u,className:(0,ae.r)({variant:"outline"}),children:B("ignoredFolders")}),(0,N.jsx)("button",{type:"button",disabled:l||R,onClick:v,className:(0,ae.r)({variant:"outline"}),children:B("chooseOther")})]}):null,"browser"===c&&g?.cwd?(0,N.jsx)("button",{"data-testid":"workbench-picker-select-browser-directory",type:"button",disabled:l||R,onClick:()=>x(g.cwd),className:(0,ae.r)(),children:B("selectCurrent")}):null,"browser"===c&&g?.parentCwd?(0,N.jsx)("button",{type:"button",disabled:l||R,onClick:()=>ai(g.parentCwd),"aria-label":B("parentDirectory"),title:B("parentDirectory"),className:(0,ae.r)({variant:"outline",size:"icon"}),children:(0,N.jsx)(aj.A,{className:"size-4"})}):null,"browser"===c&&g?.cwd?(0,N.jsx)("button",{type:"button",disabled:l||R,onClick:()=>ai(null),"aria-label":B("backRoots"),title:B("backRoots"),className:(0,ae.r)({variant:"outline",size:"icon"}),children:(0,N.jsx)(FA.A,{className:"size-4"})}):null,(0,N.jsx)("button",{"data-testid":"workbench-picker-refresh",type:"button",disabled:l||R,onClick:()=>t(T,H),"aria-label":B("refreshList"),title:B("refreshList"),className:(0,ae.r)({variant:"outline",size:"icon"}),children:(0,N.jsx)(bW.A,{className:`size-4${l?" animate-spin":""}`})})]})]})]})})}function G7({variant:a,className:b,children:c}){let{t:d}=(0,aa.Bd)("workbench");return(0,N.jsx)("div",{className:(0,ag.cn)("@container/empty-state flex size-full min-h-0 flex-1 items-center justify-center overflow-hidden px-6 py-8 text-center",b),children:"select-session"===a?(0,N.jsxs)("div",{className:"relative",children:[c,(0,N.jsx)("h1",{className:"text-base font-medium text-muted-foreground",children:d("emptySelectSession")})]}):(0,N.jsxs)("div",{role:"status","aria-live":"polite",className:"flex flex-col items-center gap-3 animate-in fade-in-0 fill-mode-both delay-150 duration-150 motion-reduce:animate-none",children:[(0,N.jsx)(ab.A,{className:"size-5 animate-spin text-muted-foreground motion-reduce:animate-none"}),(0,N.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d("emptyLoading")})]})})}let G8=(0,ac.A)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),G9=(0,ac.A)("files",[["path",{d:"M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8",key:"14sh0y"}],["path",{d:"M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z",key:"1970lx"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]),Ha="u">typeof window?O.useLayoutEffect:O.useEffect;function Hb(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}class Hc extends O.Component{getSnapshotBeforeUpdate(a){let b=this.props.childRef.current;if(Db(b)&&a.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let a=b.offsetParent,c=Db(a)&&a.offsetWidth||0,d=Db(a)&&a.offsetHeight||0,e=getComputedStyle(b),f=this.props.sizeRef.current;f.height=parseFloat(e.height),f.width=parseFloat(e.width),f.top=b.offsetTop,f.left=b.offsetLeft,f.right=c-f.width-f.left,f.bottom=d-f.height-f.top,f.direction=e.direction}return null}componentDidUpdate(){}render(){return this.props.children}}function Hd({children:a,isPresent:b,anchorX:c,anchorY:d,root:e,pop:f}){let g=(0,O.useId)(),h=(0,O.useRef)(null),i=(0,O.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:j}=(0,O.useContext)(zU),k=function(...a){return O.useCallback(function(...a){return b=>{let c=!1,d=a.map(a=>{let d=Hb(a,b);return c||"function"!=typeof d||(c=!0),d});if(c)return()=>{for(let b=0;b<d.length;b++){let c=d[b];"function"==typeof c?c():Hb(a[b],null)}}}}(...a),a)}(h,!1!==f?a.props?.ref??a?.ref:void 0);return(0,O.useInsertionEffect)(()=>{let{width:a,height:k,top:l,left:m,right:n,bottom:o,direction:p}=i.current;if(b||!1===f||!h.current||!a||!k)return;let q="rtl"===p,r="left"===c?q?`right: ${n}`:`left: ${m}`:q?`left: ${m}`:`right: ${n}`,s="bottom"===d?`bottom: ${o}`:`top: ${l}`;h.current.dataset.motionPopId=g;let t=document.createElement("style");j&&(t.nonce=j);let u=e??document.head;return u.appendChild(t),t.sheet&&t.sheet.insertRule(`
585
585
  [data-motion-pop-id="${g}"] {
586
586
  position: absolute !important;