@jetcrab/pi-desk 1.1.0 → 1.1.1

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 (36) hide show
  1. package/package.json +1 -1
  2. package/src/server/l4_foundation/model-settings/l4-model-settings-store.ts +3 -5
  3. package/src/server/l4_foundation/pi/l4-pi-session-catalog.ts +22 -63
  4. package/src/server/l4_foundation/pi/l4-pi-session-discovery.ts +139 -0
  5. package/src/server/l4_foundation/pi/l4-pi-session-history-catalog.ts +36 -7
  6. package/temp/build/pi-desk/release/.next/BUILD_ID +1 -1
  7. package/temp/build/pi-desk/release/.next/build-manifest.json +2 -2
  8. package/temp/build/pi-desk/release/.next/prerender-manifest.json +3 -3
  9. package/temp/build/pi-desk/release/.next/required-server-files.js +2 -2
  10. package/temp/build/pi-desk/release/.next/required-server-files.json +2 -2
  11. package/temp/build/pi-desk/release/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/temp/build/pi-desk/release/.next/server/app/_global-error.html +1 -1
  13. package/temp/build/pi-desk/release/.next/server/app/_global-error.rsc +1 -1
  14. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  15. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  16. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/temp/build/pi-desk/release/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/temp/build/pi-desk/release/.next/server/app/api/health/route.js +1 -1
  19. package/temp/build/pi-desk/release/.next/server/app/api/model-catalog/list/route.js +1 -1
  20. package/temp/build/pi-desk/release/.next/server/app/api/model-settings/get/route.js +1 -1
  21. package/temp/build/pi-desk/release/.next/server/app/api/model-settings/replace/route.js +1 -1
  22. package/temp/build/pi-desk/release/.next/server/app/api/project-model-default/get/route.js +1 -1
  23. package/temp/build/pi-desk/release/.next/server/app/api/project-model-default/replace/route.js +1 -1
  24. package/temp/build/pi-desk/release/.next/server/app/login/page_client-reference-manifest.js +1 -1
  25. package/temp/build/pi-desk/release/.next/server/app/page.js +1 -1
  26. package/temp/build/pi-desk/release/.next/server/app/page_client-reference-manifest.js +1 -1
  27. package/temp/build/pi-desk/release/.next/server/chunks/25406.js +6 -6
  28. package/temp/build/pi-desk/release/.next/server/chunks/3108.js +3 -3
  29. package/temp/build/pi-desk/release/.next/server/chunks/78262.js +3 -3
  30. package/temp/build/pi-desk/release/.next/server/middleware-build-manifest.js +1 -1
  31. package/temp/build/pi-desk/release/.next/server/pages/500.html +1 -1
  32. package/temp/build/pi-desk/release/.next/server/server-reference-manifest.json +1 -1
  33. package/temp/build/pi-desk/release/.next/static/chunks/app/{page-a659ca2be4d0f904.js → page-39b146293b6eb488.js} +1 -1
  34. package/temp/build/pi-desk/release/.next/trace-build +1 -1
  35. /package/temp/build/pi-desk/release/.next/static/{nyIG3F2lwWYn5hTFPNrHZ → STVrBHA3z9KPtvBE4WcE2}/_buildManifest.js +0 -0
  36. /package/temp/build/pi-desk/release/.next/static/{nyIG3F2lwWYn5hTFPNrHZ → STVrBHA3z9KPtvBE4WcE2}/_ssgManifest.js +0 -0
@@ -639,7 +639,7 @@ XID_Continue XIDC
639
639
  XID_Start XIDS`.split(/\s/).map(a=>[h2(a),a])),iF=new Map([["s",is(383)],[is(383),"s"]]),iG=new Map([[is(223),is(7838)],[is(107),is(8490)],[is(229),is(8491)],[is(969),is(8486)]]),iH=new Map([iJ(453),iJ(456),iJ(459),iJ(498),...iK(8072,8079),...iK(8088,8095),...iK(8104,8111),iJ(8124),iJ(8140),iJ(8188)]),iI=new Map([["alnum",it`[\p{Alpha}\p{Nd}]`],["alpha",it`\p{Alpha}`],["ascii",it`\p{ASCII}`],["blank",it`[\p{Zs}\t]`],["cntrl",it`\p{Cc}`],["digit",it`\p{Nd}`],["graph",it`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],["lower",it`\p{Lower}`],["print",it`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",it`[\p{P}\p{S}]`],["space",it`\p{space}`],["upper",it`\p{Upper}`],["word",it`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",it`\p{AHex}`]]);function iJ(a){let b=is(a);return[b.toLowerCase(),b]}function iK(a,b){return(function(a,b){let c=[];for(let d=a;d<=b;d++)c.push(d);return c})(a,b).map(a=>iJ(a))}var iL=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]),iM={AbsenceFunction({node:a,parent:b,replaceWith:c}){let{body:d,kind:e}=a;if("repeater"===e){let a=hV();a.body[0].body.push(hW({negate:!0,body:d}),hZ("Any"));let e=hV();e.body[0].body.push(hX("greedy",0,1/0,a)),c(iY(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++)ix(d,b.body[a],[]).push(...e)},exit({node:a},{flagDirectivesByAlt:b}){if(b.get(a)?.length){let c=iS(b.get(a));if(c){let b=hV({flags:c});b.body[0].body=a.body,a.body=[iY(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(iY(hW({body:[hO({body:[hP("string_end")]}),hO({body:[hS(10)]})]}),b));else if("line_start"===i)g(iY(iV(it`(?<=\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(iY(hW({negate:!0}),b));else if(l)throw Error(it`Uses "\G" in a way that requires a subclass`);else g(iX(hP("string_start"),b)),h.strategy="clip_search"}else if("string_end"===i||"string_start"===i);else if("string_end_newline"===i)g(iY(iV(it`(?=\n?\z)`),b));else if("word_boundary"===i){if(!n&&!k){let a=`(?:(?<=${iC})(?!${iC})|(?<!${iC})(?=${iC}))`,c=`(?:(?<=${iC})(?=${iC})|(?<!${iC})(?!${iC}))`;g(iY(iV(j?c:a),b))}}else throw Error(`Unexpected assertion kind "${i}"`)},Backreference({node:a},{jsGroupNameMap:b}){let{ref:c}=a;"string"!=typeof c||iU(c)||(a.ref=c=iR(c,b))},CapturingGroup({node:a},{jsGroupNameMap:b,subroutineRefMap:c}){let{name:d}=a;d&&!iU(d)&&(a.name=d=iR(d,b)),c.set(a.number,a),d&&c.set(d,a)},CharacterClassRange({node:a,parent:b,replaceWith:c}){"intersection"===b.kind&&c(iY(hT({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(iX(hU("digit",{negate:j}),b));if(g&&("space"===i||"space"===k))return void c(iY(iW(iV("[ -\r ]"),j),b));if(h&&("word"===i||"word"===k))return void c(iX(hU("word",{negate:j}),b));if("any"===i)c(iX(hZ("Any"),b));else if("digit"===i)c(iX(hZ("Nd",{negate:j}),b));else if("dot"===i);else if("text_segment"===i){if("strict"===d)throw Error(it`Use of "\X" requires non-strict accuracy`);let a="\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?",f=it`\p{RI}{2}|${a}(?:\u200D${a})*`;c(iY(iV(it`(?>\r\n|${e?it`\p{RGI_Emoji}`:f}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),b))}else if("hex"===i)c(iX(hZ("AHex",{negate:j}),b));else if("newline"===i)c(iY(iV(j?"[^\n]":"(?>\r\n?|[\n\v\f\x85\u2028\u2029])"),b));else if("posix"===i)if(e||"graph"!==k&&"print"!==k)c(iY(iW(iV(iI.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-${is(a.codePointAt(0)-1)}${is(a.codePointAt(2)+1)}-\u{10FFFF}`),c(iY(iV(`[${a}]`),b))}else if("property"===i)iE.has(h2(k))||(a.key="sc");else if("space"===i)c(iX(hZ("space",{negate:j}),b));else if("word"===i)c(iY(iW(iV(iC),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=hV({flags:i});a.body[0].body=g(),e(iY(a,b),{traverse:!0})}else d();else if("keep"===h){let a=c.body[0],d=1===c.body.length&&hL(a,{type:"Group"})&&1===a.body[0].body.length?a.body[0]:c;if(b.parent!==d||d.body.length>1)throw Error(it`Uses "\K" in a way that's unsupported`);let g=hW({behind:!0});g.body[0].body=f(),e(iY(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(iY(hW({negate:!0}),b));else throw Error(`Unsupported named callout "(*${d.toUpperCase()}"`)},Quantifier({node:a}){if("Quantifier"===a.body.type){let b=hV();b.body[0].body.push(a.body),a.body=iY(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&&hL(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(it`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:a},{jsGroupNameMap:b}){let{ref:c}=a;"string"!=typeof c||iU(c)||(a.ref=c=iR(c,b))}},iN={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=iX(iQ(a.number),b);i.set(d,h.get(a.number)),c(d);return}h.set(a.number,a),g.set(a.number,[]),a.name&&ix(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=ix(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=iw(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?iQ(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=iS(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?iw(d.globalFlags,a):d.globalFlags;k=b,l=d.currentFlags,(k.dotAll!==l.dotAll||k.ignoreCase!==l.ignoreCase)&&(j=hV({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(iY(j,b),{traverse:!h})}},iO={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 iT(c.parent)){if(b===c)break;if(b===a||function a(b,c){for(let d of iT(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(iY(hV({atomic:!0,body:e.reverse().map(a=>hO({body:[hQ(a.number)]}))}),b)):a.ref=e[0].number:c(iY(hW({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=hR();a.body.at(-1).body.push(b)}}},Subroutine({node:a},b){a.isRecursive&&0!==a.ref&&(a.ref=b.reffedNodesByReferencer.get(a).number)}};function iP(a){h5(a,{"*"({node:a,parent:b}){a.parent=b}})}function iQ(a){let b=hY(a);return b.isRecursive=!0,b}function iR(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 iS(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 iT(a){if(!a)throw Error("Node expected");let{body:b}=a;return Array.isArray(b)?b:b?[b]:null}function iU(a){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(a)}function iV(a,b){let c=hN(a,{...b,unicodePropertyMap:iE}).body;return c.length>1||c[0].body.length>1?hV({body:c}):c[0].body[0]}function iW(a,b){return a.negate=b,a}function iX(a,b){return a.parent=b,a}function iY(a,b){return iP(a),a.parent=b,a}var iZ={"*":{enter({node:a},b){if(i7(a)){let c=b.getCurrentModI();b.pushModI(a.flags?iw({ignoreCase:c},a.flags).ignoreCase:c)}},exit({node:a},b){i7(a)&&b.popModI()}},Backreference(a,b){b.setHasCasedChar()},Character({node:a},b){i4(is(a.value))&&b.setHasCasedChar()},CharacterClassRange({node:a,skip:b},c){b(),i5(a,{firstOnly:!0}).length&&c.setHasCasedChar()},CharacterSet({node:a},b){"property"===a.kind&&iL.has(a.value)&&b.setHasCasedChar()}},i$={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?it`\B`:it`\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=is(a),d=i6(a,{escDigit:"Backreference"===b.lastNode.type,inCharClass:b.inCharClass,useFlagV:b.useFlagV});if(d!==c)return d;if(b.useAppliedIgnoreCase&&b.currentFlags.ignoreCase&&i4(c)){let a=iD(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");iu.bugFlagVLiteralHyphenIsRange&&b.useFlagV&&g.some(i8)&&(g=[hS(45),...g.filter(a=>!i8(a))]);let h=()=>`[${e?"^":""}${g.map(c).join("intersection"===d?"&&":"")}]`;if(!b.inCharClass){if((!b.useFlagV||iu.bugNestedClassIgnoresNegation)&&!e){let b=g.filter(a=>"CharacterClass"===a.type&&"union"===a.kind&&a.negate);if(b.length){let d=hV(),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=hO({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&&!(iu.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=i6(c,e),g=i6(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})(i5(a)).forEach(a=>{h.add(Array.isArray(a)?`${i6(a[0],e)}-${i6(a[1],e)}`:i6(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?".":"[^]":it`[^\n]`;if("digit"===a)return b?it`\D`:it`\d`;if("property"===a){if(e.useAppliedIgnoreCase&&e.currentFlags.ignoreCase&&iL.has(c))throw Error(`Unicode property "${c}" can't be case-insensitive when other chars have specific case`);return`${b?it`\P`:it`\p`}{${d?`${d}=`:""}${c}}`}if("word"===a)return b?it`\W`:it`\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=iw(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})`:it`\g<${b}&R=${d}>`}},i_=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),i0=new Set(["-","\\","]","^","["]),i1=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),i2=new Map([[9,it`\t`],[10,it`\n`],[11,it`\v`],[12,it`\f`],[13,it`\r`],[8232,it`\u2028`],[8233,it`\u2029`],[65279,it`\uFEFF`]]),i3=/^\p{Cased}$/u;function i4(a){return i3.test(a)}function i5(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=is(a);if(!i4(b))continue;let g=iD(b).filter(a=>{let b=a.codePointAt(0);return b<d||b>e});if(g.length&&(f.push(...g),c))break}return f}function i6(a,{escDigit:b,inCharClass:c,useFlagV:d}){var e;if(i2.has(a))return i2.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=is(a);return((c?d?i1:i0:i_).has(f)?"\\":"")+f}function i7({type:a}){return"CapturingGroup"===a||"Group"===a||"LookaroundAssertion"===a}function i8({type:a,value:b}){return"Character"===a&&45===b}var i9=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)ix(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 ja{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 jb=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=iA(b),i=(c=hN(a,{flags:h.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:h.rules.captureGroup,singleline:h.rules.singleline},skipBackrefValidation:h.rules.allowOrphanBackrefs,unicodePropertyMap:iE}),d={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...{accuracy:h.accuracy,asciiWordBoundaries:h.rules.asciiWordBoundaries,avoidSubclass:h.avoidSubclass,bestEffortTarget:h.target}},iP(c),e={accuracy:d.accuracy,asciiWordBoundaries:d.asciiWordBoundaries,avoidSubclass:d.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:iy[d.bestEffortTarget]>=iy.ES2024,passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:c.flags.digitIsAscii,spaceIsAscii:c.flags.spaceIsAscii,wordIsAscii:c.flags.wordIsAscii},h5(c,iM,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},h5(c,iN,g),h5(c,iO,{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=iA(b),d=iy[c.target]>=iy.ES2024,e=iy[c.target]>=iy.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];h5(a,iZ,{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})(i$[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&&ix(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(ii,"su").test(a))return{pattern:a,captureTransfers:f,hiddenCaptures:d};if("plugin"===e&&ib(a,ig`\(\?\(DEFINE\)`,h9.DEFAULT))throw Error("DEFINE groups cannot be used with recursion");let g=[],h=ib(a,ig`\\[1-9]`,h9.DEFAULT),i=new Map,j=[],k=!1,l=0,m=0;for(il.lastIndex=0;c=il.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(io(o),k)throw Error(im);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(il.lastIndex);if(ib(i,ii,h9.DEFAULT))throw Error(im);let j=o-1;a=ip(b,i,j,!1,d,g,m),f=ir(f,b,j,g.length,0,m);break}else if(p){io(q);let l=!1;for(let a of j)if(a.name===p||a.num===+p){if(l=!0,a.hasRecursedWithin)throw Error(im);break}if(!l)throw Error(ig`Recursive \g cannot be used outside the referenced group "${"external"===e?p:ig`\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&&ib(o,ig`${ij}|\((?!\?)`,h9.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=ip(r,s,u,!0,d,g,m);f=ir(f,r,u,g.length-t,t,m);let w=a.slice(0,n),x=a.slice(n+o.length);a=`${w}${v}${x}`,il.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),il.lastIndex),i.set(n,il.lastIndex),j.push({num:m,name:n});else if("("===b[0]){let a="("===b;a&&(m++,i.set(String(m),il.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(ic.lastIndex=Number.isNaN(k)?0:k+f.length;b=ic.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=ia(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}`},h9.DEFAULT),captureTransfers:e,hiddenCaptures:d}}(function(a){let b;if(!RegExp(`${id}\\+`).test(a))return{pattern:a};let c=[],d=null,e=null,f="",g=0;for(ie.lastIndex=0;b=ie.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}ie.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 i9(c.pattern,c.flags,c.options):new RegExp(c.pattern,c.flags)},{createScanner:a=>new ja(a,b),createString:a=>({content:a})}}({forgiving:!0}),jc=Object.fromEntries(eK.flatMap(a=>{var b;return(null!=(b=a.aliases)?b:[]).map(b=>[b,a.id])})),jd=new Set(Object.keys(eN)),je=a=>{let b=a.trim().toLowerCase();return jc[b]||(jd.has(b),b)},jf=new Map,jg=new Map,jh=new Map,ji=a=>{var b;return"string"==typeof a?a:null!=(b=a.name)?b:"custom"},jj=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=je(a);return jd.has(b)},getSupportedLanguages:()=>Array.from(jd),getThemes:()=>c,highlight({code:a,language:b,themes:c},d){let e,f,g=je(b),h=[ji(c[0]),ji(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 jg.has(i)?jg.get(i):(d&&(jh.has(i)||jh.set(i,new Set),jh.get(i).add(d)),((a,b)=>{let c=`${a}-${ji(b[0])}-${ji(b[1])}`;if(jf.has(c))return jf.get(c);let d=hp({themes:b,langs:[a],engine:jb});return jf.set(c,d),d})(jd.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]}});jg.set(i,d);let e=jh.get(i);if(e){for(let a of e)a(d);jh.delete(i)}}).catch(a=>{console.error("[Streamdown Code] Failed to highlight code:",a),jh.delete(i)}),null)}}}(),jk=c(75367),jl=c(13010),jm=c(64264),jn=c(23759);let jo={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"}},jp=/-[a-z]/g,jq=/%c(?:([-+])(\d+))?/g,jr=/%x/g,js={2:!0,1:!1,0:null},jt={};function ju(a){return a.charAt(1).toUpperCase()}var jv=c(10261);let jw=function(a,b,c){let d=(0,jv.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]},jx=function(a){if(null==a)return jz;if("string"==typeof a){var b;return b=a,jy(function(a){return a.tagName===b})}if("object"==typeof a){var c=a;let b=[],d=-1;for(;++d<c.length;)b[d]=jx(c[d]);return jy(function(...a){let c=-1;for(;++c<b.length;)if(b[c].apply(this,a))return!0;return!1})}if("function"==typeof a)return jy(a);throw Error("Expected function, string, or array as `test`")};function jy(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 jz(a){return!!(a&&"object"==typeof a&&"type"in a&&"element"===a.type&&"tagName"in a&&"string"==typeof a.tagName)}let jA=/\n/g,jB=/[\t ]+/g,jC=jx("br"),jD=jx(function(a){return"td"===a.tagName||"th"===a.tagName}),jE=jx("p"),jF=jx("tr"),jG=jx(["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}]),jH=jx(["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 jI(a,b){let c,d=String(a.value),e=[],f=[],g=0;for(;g<=d.length;){jA.lastIndex=g;let a=jA.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;){jB.lastIndex=f;let c=jB.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 jJ(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 jK=c(15573),jL=c(46379);let jM={},jN=[];function jO(a){let b=a||jM;return function(a,c){(0,jL.VG)(a,"element",function(a,d){let e,f=Array.isArray(a.properties.className)?a.properties.className:jN,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=jH(a),f=jJ(a,{whitespace:(b||{}).whitespace||"normal",breakBefore:!1,breakAfter:!1}),g=[];("text"===a.type||"comment"===a.type)&&g.push(...jI(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=jJ(b,d),h=b.children||[],i=-1,j=[];if(jG(b))return j;for(jC(b)||jF(b)&&jw(c,b,jF)?f="\n":jE(b)?(e=2,f=2):jH(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?jC(h[i+1]):f}));return jD(b)&&jw(c,b,jD)&&j.push(" "),e&&j.unshift(e),f&&j.push(f),j}(b,c,d):"text"===b.type?"normal"===d.whitespace?jI(b,d):[String(b.value)]:[]}(d[h],a,{whitespace:f,breakBefore:h?void 0:e,breakAfter:h<d.length-1?jC(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=jK.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=jK.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||jt).onerror,c=o instanceof jm.T?o:new jm.T(o),f=(a.fragment?jl.oH:jl.qg)(d=String(c),{sourceCodeLocationInfo:!0,onParseError:a.onerror?function(e){let f=e.code,g=f.replace(jp,ju),h=a[g],i=null==h||h,j="number"==typeof i?i:+!!i;if(j){let a=jo[g];(0,dD.ok)(a,"expected known error from `parse5`");let d=new jn.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=js[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,dD.ok)(b,"`internalOnerror` is not passed if `onerror` is not set"),b(d)}function k(a){return a.replace(jq,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(jr,function(){return"0x"+d.charCodeAt(e.startOffset).toString(16).toUpperCase()})}}:null,scriptingEnabled:!1}),g=(0,jk.D)(f,{file:c,space:a.space,verbose:a.verbose}),(0,eG.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),jL._Z})}}var jP=c(93310),jQ=c(82245);let jR={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,jQ.N)(a,h,"whitespace")(d))}(b)};function h(b){return null===b||(0,d$.HP)(b)?i(b):(a.enter("mathFlowFenceMeta"),a.enter("chunkString",{contentType:"string"}),function b(d){return null===d||(0,d$.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(jS,j,m)(c)}function j(b){return a.attempt({tokenize:n,partial:!0},m,k)(b)}function k(b){return(f?(0,jQ.N)(a,l,"linePrefix",f+1):l)(b)}function l(b){return null===b?m(b):(0,d$.HP)(b)?a.attempt(jS,j,m)(b):(a.enter("mathFlowValue"),function b(c){return null===c||(0,d$.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,jQ.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,jQ.N)(a,f,"whitespace")(d))}(b)},"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function f(d){return null===d||(0,d$.HP)(d)?(a.exit("mathFlowFence"),b(d)):c(d)}}},concrete:!0,name:"mathFlow"},jS={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 jT(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 jU(a){return 36!==a||"characterEscape"===this.events[this.events.length-1][1].type}let jV={};function jW(a){let b,c=a||jV,d=this.data(),e=d.micromarkExtensions||(d.micromarkExtensions=[]),f=d.fromMarkdownExtensions||(d.fromMarkdownExtensions=[]),g=d.toMarkdownExtensions||(d.toMarkdownExtensions=[]);e.push({flow:{36:jR},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,d$.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,d$.HP)(b)?(a.exit("mathTextData"),h(b)):(a.consume(b),i)}},resolve:jT,previous:jU,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,dD.ok)("math"===c.type),this.exit(a),c.value=b;let d=c.data.hChildren[0];(0,dD.ok)("element"===d.type),(0,dD.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,dD.ok)("math"===b.type),b.meta=a},mathFlowValue:a,mathText:function(a){let b=this.resume(),c=this.stack[this.stack.length-1];(0,dD.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,jP.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 jX=function(a={}){var b,c;return{name:"katex",type:"math",remarkPlugin:[jW,{singleDollarTextMath:null!=(b=a.singleDollarTextMath)&&b}],rehypePlugin:[jO,{errorColor:null!=(c=a.errorColor)?c:"var(--color-muted-foreground)"}],getStyles:()=>"katex/dist/katex.min.css"}}(),jY=c(15407),jZ=c(26775),j$=c(88131);c(38863),c(35705),c(92471),c(52600),c(25668),c(67961);var j_=c(52072),j0=c(18767),j1=c(4629),j2=c(44272),j3=c(36122),j4=c(3117),j5=c(31519),j6="comm",j7="rule",j8="decl",j9="@keyframes",ka="@layer",kb=Math.abs,kc=String.fromCharCode;function kd(a,b,c){return a.replace(b,c)}function ke(a,b){return 0|a.charCodeAt(b)}function kf(a,b,c){return a.slice(b,c)}function kg(a){return a.length}function kh(a,b){return b.push(a),a}function ki(a,b){for(var c="",d=0;d<a.length;d++)c+=b(a[d],d,a,b)||"";return c}function kj(a,b,c,d){switch(a.type){case ka:if(a.children.length)break;case"@import":case"@namespace":case j8:return a.return=a.return||a.value;case j6:return"";case j9:return a.return=a.value+"{"+ki(a.children,d)+"}";case j7:if(!kg(a.value=a.props.join(",")))return""}return kg(c=ki(a.children,d))?a.return=a.value+"{"+c+"}":""}var kk=1,kl=1,km=0,kn=0,ko=0,kp="";function kq(a,b,c,d,e,f,g,h){return{value:a,root:b,parent:c,type:d,props:e,children:f,line:kk,column:kl,length:g,return:"",siblings:h}}function kr(){return ko=kn<km?ke(kp,kn++):0,kl++,10===ko&&(kl=1,kk++),ko}function ks(){return ke(kp,kn)}function kt(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 ku(a){var b,c;return(b=kn-1,c=function a(b){for(;kr();)switch(ko){case b:return kn;case 34:case 39:34!==b&&39!==b&&a(ko);break;case 40:41===b&&a(b);break;case 92:kr()}return kn}(91===a?a+2:40===a?a+1:a),kf(kp,b,c)).trim()}function kv(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=kf(a,m+1,m=kb(q=g[p])),u=a;s<o;++s)(u=(q>0?n[s]+" "+t:kd(t,/&\f/g,n[s])).trim())&&(i[r++]=u);return kq(a,b,c,0===e?j7:h,i,j,k,l)}function kw(a,b,c,d,e){return kq(a,b,c,j8,kf(a,0,d),kf(a,d+1,-1),d,e)}var kx=c(13308),ky=c(19929),kz=c(1640),kA=c(24415),kB=c(76482);function kC(a){if(null==a)return!0;if((0,kz.X)(a))return("function"==typeof a.splice||"string"==typeof a||!!(0,ky.P)(a)||!!(0,kB.i)(a)||!!(0,kA.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 kD={id:"c4",detector:(0,j3.K)(a=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(a),"detector"),loader:(0,j3.K)(async()=>{let{diagram:a}=await c.e(55397).then(c.bind(c,55397));return{id:"c4",diagram:a}},"loader")},kE="flowchart",kF=(0,j3.K)((a,b)=>b?.flowchart?.defaultRenderer!=="dagre-wrapper"&&b?.flowchart?.defaultRenderer!=="elk"&&/^\s*graph/.test(a),"detector"),kG=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(72169),c.e(24419)]).then(c.bind(c,24419));return{id:kE,diagram:a}},"loader"),kH={id:kE,detector:kF,loader:kG},kI="flowchart-v2",kJ=(0,j3.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"),kK=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(72169),c.e(24419)]).then(c.bind(c,24419));return{id:kI,diagram:a}},"loader"),kL={id:kI,detector:kJ,loader:kK},kM="swimlane",kN=(0,j3.K)(a=>/^\s*swimlane-beta\b/.test(a),"detector"),kO=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(72169),c.e(67336)]).then(c.bind(c,67336));return{id:kM,diagram:a}},"loader"),kP={id:kM,detector:kN,loader:kO},kQ={id:"er",detector:(0,j3.K)(a=>/^\s*erDiagram/.test(a),"detector"),loader:(0,j3.K)(async()=>{let{diagram:a}=await c.e(71633).then(c.bind(c,71633));return{id:"er",diagram:a}},"loader")},kR="gitGraph",kS=(0,j3.K)(a=>/^\s*gitGraph/.test(a),"detector"),kT=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(43218)]).then(c.bind(c,43218));return{id:kR,diagram:a}},"loader"),kU={id:kR,detector:kS,loader:kT},kV="gantt",kW=(0,j3.K)(a=>/^\s*gantt/.test(a),"detector"),kX=(0,j3.K)(async()=>{let{diagram:a}=await c.e(68592).then(c.bind(c,68592));return{id:kV,diagram:a}},"loader"),kY={id:kV,detector:kW,loader:kX},kZ="info",k$=(0,j3.K)(a=>/^\s*info/.test(a),"detector"),k_=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(51491)]).then(c.bind(c,51491));return{id:kZ,diagram:a}},"loader"),k0={id:kZ,detector:k$,loader:k_},k1={id:"pie",detector:(0,j3.K)(a=>/^\s*pie/.test(a),"detector"),loader:(0,j3.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")},k2="quadrantChart",k3=(0,j3.K)(a=>/^\s*quadrantChart/.test(a),"detector"),k4=(0,j3.K)(async()=>{let{diagram:a}=await c.e(37861).then(c.bind(c,37861));return{id:k2,diagram:a}},"loader"),k5={id:k2,detector:k3,loader:k4},k6="xychart",k7=(0,j3.K)(a=>/^\s*xychart(-beta)?/.test(a),"detector"),k8=(0,j3.K)(async()=>{let{diagram:a}=await c.e(50825).then(c.bind(c,50825));return{id:k6,diagram:a}},"loader"),k9={id:k6,detector:k7,loader:k8},la="requirement",lb=(0,j3.K)(a=>/^\s*requirement(Diagram)?/.test(a),"detector"),lc=(0,j3.K)(async()=>{let{diagram:a}=await c.e(3392).then(c.bind(c,3392));return{id:la,diagram:a}},"loader"),ld={id:la,detector:lb,loader:lc},le="sequence",lf=(0,j3.K)(a=>/^\s*sequenceDiagram/.test(a),"detector"),lg=(0,j3.K)(async()=>{let{diagram:a}=await c.e(20129).then(c.bind(c,20129));return{id:le,diagram:a}},"loader"),lh={id:le,detector:lf,loader:lg},li="class",lj=(0,j3.K)((a,b)=>b?.class?.defaultRenderer!=="dagre-wrapper"&&/^\s*classDiagram/.test(a),"detector"),lk=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(25726),c.e(19010)]).then(c.bind(c,19010));return{id:li,diagram:a}},"loader"),ll={id:li,detector:lj,loader:lk},lm="classDiagram",ln=(0,j3.K)((a,b)=>!!/^\s*classDiagram/.test(a)&&b?.class?.defaultRenderer==="dagre-wrapper"||/^\s*classDiagram-v2/.test(a),"detector"),lo=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(25726),c.e(25279)]).then(c.bind(c,25279));return{id:lm,diagram:a}},"loader"),lp={id:lm,detector:ln,loader:lo},lq="state",lr=(0,j3.K)((a,b)=>b?.state?.defaultRenderer!=="dagre-wrapper"&&/^\s*stateDiagram/.test(a),"detector"),ls=(0,j3.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:lq,diagram:a}},"loader"),lt={id:lq,detector:lr,loader:ls},lu="stateDiagram",lv=(0,j3.K)((a,b)=>!!(/^\s*stateDiagram-v2/.test(a)||/^\s*stateDiagram/.test(a)&&b?.state?.defaultRenderer==="dagre-wrapper"),"detector"),lw=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(97395),c.e(25601)]).then(c.bind(c,25601));return{id:lu,diagram:a}},"loader"),lx={id:lu,detector:lv,loader:lw},ly="journey",lz=(0,j3.K)(a=>/^\s*journey/.test(a),"detector"),lA=(0,j3.K)(async()=>{let{diagram:a}=await c.e(55083).then(c.bind(c,55083));return{id:ly,diagram:a}},"loader"),lB={id:ly,detector:lz,loader:lA},lC={draw:(0,j3.K)((a,b,c)=>{j2.R.debug("rendering svg for syntax error\n");let d=(0,jY.D)(b),e=d.append("g");d.attr("viewBox","0 0 2412 512"),(0,j1.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")},lD={db:{},renderer:lC,parser:{parse:(0,j3.K)(()=>{},"parse")}},lE="flowchart-elk",lF=(0,j3.K)((a,b={})=>!!(/^\s*flowchart-elk/.test(a)||/^\s*(flowchart|graph)/.test(a)&&b?.flowchart?.defaultRenderer==="elk")&&(b.layout="elk",!0),"detector"),lG=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(72169),c.e(24419)]).then(c.bind(c,24419));return{id:lE,diagram:a}},"loader"),lH={id:lE,detector:lF,loader:lG},lI="timeline",lJ=(0,j3.K)(a=>/^\s*timeline/.test(a),"detector"),lK=(0,j3.K)(async()=>{let{diagram:a}=await c.e(39751).then(c.bind(c,39751));return{id:lI,diagram:a}},"loader"),lL={id:lI,detector:lJ,loader:lK},lM="mindmap",lN=(0,j3.K)(a=>/^\s*mindmap/.test(a),"detector"),lO=(0,j3.K)(async()=>{let{diagram:a}=await c.e(65729).then(c.bind(c,65729));return{id:lM,diagram:a}},"loader"),lP={id:lM,detector:lN,loader:lO},lQ="kanban",lR=(0,j3.K)(a=>/^\s*kanban/.test(a),"detector"),lS=(0,j3.K)(async()=>{let{diagram:a}=await c.e(17683).then(c.bind(c,40064));return{id:lQ,diagram:a}},"loader"),lT={id:lQ,detector:lR,loader:lS},lU="sankey",lV=(0,j3.K)(a=>/^\s*sankey(-beta)?/.test(a),"detector"),lW=(0,j3.K)(async()=>{let{diagram:a}=await c.e(96686).then(c.bind(c,96686));return{id:lU,diagram:a}},"loader"),lX={id:lU,detector:lV,loader:lW},lY="packet",lZ=(0,j3.K)(a=>/^\s*packet(-beta)?/.test(a),"detector"),l$=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(63309)]).then(c.bind(c,63309));return{id:lY,diagram:a}},"loader"),l_={id:lY,detector:lZ,loader:l$},l0="radar",l1=(0,j3.K)(a=>/^\s*radar-beta/.test(a),"detector"),l2=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(34410)]).then(c.bind(c,34410));return{id:l0,diagram:a}},"loader"),l3={id:l0,detector:l1,loader:l2},l4="block",l5=(0,j3.K)(a=>/^\s*block(-beta)?/.test(a),"detector"),l6=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(21723),c.e(80578)]).then(c.bind(c,80578));return{id:l4,diagram:a}},"loader"),l7={id:l4,detector:l5,loader:l6},l8="treeView",l9=(0,j3.K)(a=>/^\s*treeView-beta/.test(a),"detector"),ma=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(59812)]).then(c.bind(c,59812));return{id:l8,diagram:a}},"loader"),mb={id:l8,detector:l9,loader:ma},mc="architecture",md=(0,j3.K)(a=>/^\s*architecture/.test(a),"detector"),me=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(41),c.e(39750)]).then(c.bind(c,39750));return{id:mc,diagram:a}},"loader"),mf={id:mc,detector:md,loader:me},mg="eventmodeling",mh=(0,j3.K)(a=>/^\s*eventmodeling/.test(a),"detector"),mi=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(53056)]).then(c.bind(c,53056));return{id:mg,diagram:a}},"loader"),mj={id:mg,detector:mh,loader:mi},mk="ishikawa",ml=(0,j3.K)(a=>/^\s*ishikawa(-beta)?\b/i.test(a),"detector"),mm=(0,j3.K)(async()=>{let{diagram:a}=await c.e(39839).then(c.bind(c,39839));return{id:mk,diagram:a}},"loader"),mn={id:mk,detector:ml,loader:mm},mo="venn",mp=(0,j3.K)(a=>/^\s*venn-beta/.test(a),"detector"),mq=(0,j3.K)(async()=>{let{diagram:a}=await c.e(69149).then(c.bind(c,69149));return{id:mo,diagram:a}},"loader"),mr={id:mo,detector:mp,loader:mq},ms="treemap",mt=(0,j3.K)(a=>/^\s*treemap/.test(a),"detector"),mu=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(42818)]).then(c.bind(c,42818));return{id:ms,diagram:a}},"loader"),mv={id:ms,detector:mt,loader:mu},mw="wardley",mx=(0,j3.K)(a=>/^\s*wardley-beta/i.test(a),"detector"),my=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(81295)]).then(c.bind(c,81295));return{id:mw,diagram:a}},"loader"),mz={id:mw,detector:mx,loader:my},mA="cynefin",mB=(0,j3.K)(a=>/^\s*cynefin-beta(?:[\s:]|$)/.test(a),"detector"),mC=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(88329)]).then(c.bind(c,88329));return{id:mA,diagram:a}},"loader"),mD={id:mA,detector:mB,loader:mC},mE="railroad",mF=(0,j3.K)(a=>/^\s*railroad-beta/i.test(a),"detector"),mG=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(66066),c.e(53275)]).then(c.bind(c,53275));return{id:mE,diagram:a}},"loader"),mH={id:mE,detector:mF,loader:mG},mI="railroadEbnf",mJ=(0,j3.K)(a=>/^\s*railroad-ebnf-beta/i.test(a),"detector"),mK=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(66066),c.e(96276)]).then(c.bind(c,96276));return{id:mI,diagram:a}},"loader"),mL={id:mI,detector:mJ,loader:mK},mM="railroadAbnf",mN=(0,j3.K)(a=>/^\s*railroad-abnf-beta/i.test(a),"detector"),mO=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(66066),c.e(95492)]).then(c.bind(c,95492));return{id:mM,diagram:a}},"loader"),mP={id:mM,detector:mN,loader:mO},mQ="railroadPeg",mR=(0,j3.K)(a=>/^\s*railroad-peg-beta/i.test(a),"detector"),mS=(0,j3.K)(async()=>{let{diagram:a}=await Promise.all([c.e(26667),c.e(66066),c.e(69648)]).then(c.bind(c,69648));return{id:mQ,diagram:a}},"loader"),mT={id:mQ,detector:mR,loader:mS},mU=!1,mV=(0,j3.K)(()=>{mU||(mU=!0,(0,j1.Js)("error",lD,a=>"error"===a.toLowerCase().trim()),(0,j1.Js)("---",{db:{clear:(0,j3.K)(()=>{},"clear")},styles:{},renderer:{draw:(0,j3.K)(()=>{},"draw")},parser:{parse:(0,j3.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,j3.K)(()=>null,"init")},a=>a.toLowerCase().trimStart().startsWith("---")),(0,j1.Xd)(lH,lP,mf),(0,j1.Xd)(kD,lT,lp,ll,kQ,kY,k0,k1,ld,lh,kP,kL,kH,lL,kU,lx,lt,lB,k5,lX,l_,k9,l7,mj,mb,l3,mn,mv,mH,mL,mP,mT,mr,mz,mD))},"addDiagrams"),mW=(0,j3.K)(async()=>{j2.R.debug("Loading registered diagrams");let a=(await Promise.allSettled(Object.entries(j1.mW).map(async([a,{detector:b,loader:c}])=>{if(c)try{(0,j1.Gs)(a)}catch{try{let{diagram:a,id:d}=await c();(0,j1.Js)(d,a,b)}catch(b){throw j2.R.error(`Failed to load external diagram with key ${a}. Removing from detectors.`),delete j1.mW[a],b}}}))).filter(a=>"rejected"===a.status);if(a.length>0){for(let b of(j2.R.error(`Failed to load ${a.length} external diagrams`),a))j2.R.error(b);throw Error(`Failed to load ${a.length} external diagrams`)}},"loadRegisteredDiagrams");function mX(a,b){a.attr("role","graphics-document document"),""!==b&&a.attr("aria-roledescription",b)}function mY(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,j3.K)(mX,"setA11yDiagramInfo"),(0,j3.K)(mY,"addSVGa11yTitleDescription");var mZ=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,j3.K)(this,"Diagram")}static async fromText(b,c={}){let d=(0,j1.zj)(),e=(0,j1.Ch)(b,d);b=(0,j0.C4)(b)+"\n";try{(0,j1.Gs)(e)}catch{let a=(0,j1.J$)(e);if(!a)throw new j1.C0(`Diagram ${e} not found.`);let{id:b,diagram:c}=await a();(0,j1.Js)(b,c)}let{db:f,parser:g,renderer:h,init:i}=(0,j1.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}},m$=[],m_=(0,j3.K)(()=>{m$.forEach(a=>{a()}),m$=[]},"attachFunctions"),m0=(0,j3.K)(a=>a.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function m1(a){let b=a.match(j1.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,jZ.H)(d,{schema:jZ.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,j3.K)(m1,"extractFrontMatter");var m2=(0,j3.K)(a=>a.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,(a,b,c)=>"<"+b+c.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),m3=(0,j3.K)(a=>{let{text:b,metadata:c}=m1(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"),m4=(0,j3.K)(a=>{let b=j0._K.detectInit(a)??{},c=j0._K.detectDirective(a,"wrap");return Array.isArray(c)?b.wrap=c.some(({type:a})=>"wrap"===a):c?.type==="wrap"&&(b.wrap=!0),{text:(0,j0.vU)(a),directive:b}},"processDirectives");function m5(a){let b=m3(m2(a)),c=m4(b.text),d=(0,j0.$t)(b.config,c.directive);return{code:a=m0(c.text),title:b.title,config:d}}function m6(a){return btoa(Array.from(new TextEncoder().encode(a),a=>String.fromCodePoint(a)).join(""))}(0,j3.K)(m5,"preprocessDiagram"),(0,j3.K)(m6,"toBase64");var m7=["foreignobject"],m8=["dominant-baseline"];function m9(a){let b=m5(a);return(0,j1.cL)(),(0,j1.xA)(b.config??{}),b}async function na(a,b){mV();try{let{code:b,config:c}=m9(a);return{diagramType:(await nm(b)).type,config:c}}catch(a){if(b?.suppressErrors)return!1;throw a}}(0,j3.K)(m9,"processAndSetConfigs"),(0,j3.K)(na,"parse");var nb=(0,j3.K)((a,b,c=[])=>{let d=(0,j1.Df)(`{ ${c.join(" !important; ")} !important; }`);return`.${a} ${b} ${d}`},"cssImportantStyles"),nc=(0,j3.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,j1.E)(a)?["> *","span"]:["rect","polygon","ellipse","circle","path"];b.forEach(a=>{kC(a.styles)||d.forEach(b=>{c.insertRule(nb(a.id,b,a.styles),c.cssRules.length)}),kC(a.textStyles)||c.insertRule(nb(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,j1.KG)(b)+"\n"}else d+=`${a.themeCSS}
640
640
  `;return d+(0,j1.KG)(c)},"createCssStyles"),nd=(0,j3.K)((a,b)=>{var c,d,e,f,g;return ki((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=kr()){case 40:108!=t&&58==ke(D,q-1)?(x++,D+="("):D+=ku(y);break;case 41:x--,D+=")";break;case 34:case 39:case 91:D+=ku(y);break;case 9:case 10:case 13:case 32:if(x>0){D+=kc(y);break}D+=function(a){for(;ko=ks();)if(ko<33)kr();else break;return kt(a)>2||kt(ko)>3?"":" "}(t);break;case 92:D+=function(a,b){for(var c;--b&&kr()&&!(ko<48)&&!(ko>102)&&(!(ko>57)||!(ko<65))&&(!(ko>70)||!(ko<97)););return c=kn+(b<6&&32==ks()&&32==kr()),kf(kp,a,c)}(kn-1,7);continue;case 47:switch(ks()){case 42:case 47:kh((k=function(a,b){for(;kr();)if(a+ko===57)break;else if(a+ko===84&&47===ks())break;return"/*"+kf(kp,b,kn-1)+"*"+kc(47===a?a:kr())}(kr(),kn),l=c,m=d,n=j,kq(k,l,m,j6,kc(ko),kf(k,2,-2),0,n)),j),(5==kt(t||1)||5==kt(ks()||1))&&kg(D)&&" "!==kf(D,-1,void 0)&&(D+=" ");break;default:D+="/"}break;case 123*u:i[o++]=kg(D)*w;case 125*u:case 59:case 0:if(x>0&&y){D+=kc(y);break}switch(y){case 0:case 125:v=0;case 59+p:-1==w&&(D=kd(D,/\f/g,"")),s>0&&(kg(D)-q||0===u)&&kh(s>32?kw(D+";",e,d,q-1,j):kw(kd(D," ","")+";",e,d,q-2,j),j);break;case 59:D+=";";default:if(kh(C=kv(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===ke(D,3))break;case 108:if(97===ke(D,2))break;default:p=0;case 100:case 109:case 115:}p?a(b,C,C,e&&kh(kv(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+kg(D),s=t;default:if(u<1){if(123==y)--u;else if(125==y&&0==u++&&125==(ko=kn>0?ke(kp,--kn):0,kl--,10===ko&&(kl=1,kk--),ko))continue}switch(D+=kc(y),y*u){case 38:w=p>0?1:(D+="\f",-1);break;case 44:if(x>0)break;i[o++]=(kg(D)-1)*w,w=1;break;case 64:45===ks()&&(D+=ku(kr())),r=ks(),p=q=kg(z=D+=function(a){for(;!kt(ks());)kr();return kf(kp,a,kn)}(kn)),y++;break;case 45:45===t&&2==kg(D)&&(u=0)}}return g}("",null,null,null,[""],(d=c=`${a}{${b}}`,kk=kl=1,km=kg(kp=d),kn=0,c=[]),0,[0],c),kp="",e),(g=(f=[(0,j3.K)(function(b,c,d,e){"rule"===b.type&&Array.isArray(b.props)?b.parent&&b.parent.type===j9||(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",ka,"@scope","@container","@starting-style",j9].includes(b.type)||(j2.R.warn(`Removing unsupported at-rule ${b.type} from CSS`),b.type=j6))},"addNamespace"),kj]).length,function(a,b,c,d){for(var e="",h=0;h<g;h++)e+=f[h](a,b,c,d)||"";return e}))},"compileCSS"),ne=(0,j3.K)((a,b,c,d)=>{let e=nc(a,c),f=(0,j1.tM)(b,e,{...a.themeVariables,theme:a.theme,look:a.look},d);return nd(d,f)},"createUserStyles"),nf=(0,j3.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,j0.Sm)(d)).replace(/<br>/g,"<br/>")},"cleanUpSvgCode"),ng=(0,j3.K)((a="",b)=>{let c=b?.viewBox?.baseVal?.height?b.viewBox.baseVal.height+"px":"100%",d=m6(`<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">
641
641
  The "iframe" tag is not supported by your browser.
642
- </iframe>`},"putIntoIFrame"),nh=(0,j3.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 ni(a,b){return a.append("iframe").attr("id",b).attr("style","width: 100%; height: 100%;").attr("sandbox","")}(0,j3.K)(ni,"sandboxedIframe");var nj=(0,j3.K)((a,b,c,d)=>{a.getElementById(b)?.remove(),a.getElementById(c)?.remove(),a.getElementById(d)?.remove()},"removeExistingElements"),nk=(0,j3.K)(async function(a,b,c){let d,e;mV();let f=m9(b);b=f.code;let g=(0,j1.zj)();j2.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,j3.K)(()=>{let a=o?j:l,b=(0,j5.Ltv)(a).node();b&&"remove"in b&&b.remove()},"removeTempElements"),n=(0,j5.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=ni((0,j5.Ltv)(c),i);(n=(0,j5.Ltv)(a.nodes()[0].contentDocument.body)).node().style.margin="0"}else n=(0,j5.Ltv)(c);nh(n,a,k,`font-family: ${q}`,"http://www.w3.org/1999/xlink")}else{if(nj(document,a,k,i),o){let a=ni((0,j5.Ltv)(document.body),i);(n=(0,j5.Ltv)(a.nodes()[0].contentDocument.body)).node().style.margin="0"}else n=(0,j5.Ltv)("body");nh(n,a,k)}try{d=await mZ.fromText(b,{title:f.title})}catch(a){if(g.suppressErrorRendering)throw m(),a;d=await mZ.fromText("error"),e=a}let r=n.select(l).node(),s=d.type,t=r.firstChild,u=t.firstChild,v=ne(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():lC.draw(b,a,"11.16.1"),c}nn(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(j2.R.debug("config.arrowMarkerAbsolute",g.arrowMarkerAbsolute),x=nf(x,o,(0,j1._3)(g.arrowMarkerAbsolute)),o?x=ng(x,n.select(l+" svg").node()):p||(x=kx.A.sanitize(x,{ADD_TAGS:m7,ADD_ATTR:m8,HTML_INTEGRATION_POINTS:{foreignobject:!0}})),m_(),e)throw e;return m(),{diagramType:s,svg:x,bindFunctions:d.db.bindFunctions}},"render");function nl(a={}){let b=(0,j1.hH)({},a);b?.fontFamily&&!b.themeVariables?.fontFamily&&(b.themeVariables||(b.themeVariables={}),b.themeVariables.fontFamily=b.fontFamily),(0,j1.wZ)(b),b?.theme&&b.theme in j1.H$?b.themeVariables=j1.H$[b.theme].getThemeVariables(b.themeVariables):b&&(b.themeVariables=j1.H$.default.getThemeVariables(b.themeVariables));let c="object"==typeof b?(0,j1.UU)(b):(0,j1.Q2)();(0,j2.H)(c.logLevel),mV()}(0,j3.K)(nl,"initialize");var nm=(0,j3.K)((a,b={})=>{let{code:c}=m5(a);return mZ.fromText(c,b)},"getDiagramFromText");function nn(a,b,c,d){mX(b,a),mY(b,c,d,b.attr("id"))}(0,j3.K)(nn,"addA11yInfo");var no=Object.freeze({render:nk,parse:na,getDiagramFromText:nm,initialize:nl,getConfig:j1.zj,setConfig:j1.Nk,getSiteConfig:j1.Q2,updateSiteConfig:j1.B6,reset:(0,j3.K)(()=>{(0,j1.cL)()},"reset"),globalReset:(0,j3.K)(()=>{(0,j1.cL)(j1.sb)},"globalReset"),defaultConfig:j1.sb});(0,j2.H)((0,j1.zj)().logLevel),(0,j1.cL)((0,j1.zj)());var np=(0,j3.K)((a,b,c)=>{j2.R.warn(a),(0,j0.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"),nq=(0,j3.K)(async function(a={querySelector:".mermaid"}){try{await nr(a)}catch(b){if((0,j0.dq)(b)&&j2.R.error(b.str),nD.parseError&&nD.parseError(b),!a.suppressErrors)throw j2.R.error("Use the suppressErrors option to suppress these errors"),b}},"run"),nr=(0,j3.K)(async function({postRenderCallback:a,querySelector:b,nodes:c}={querySelector:".mermaid"}){let d,e,f=no.getConfig();if(j2.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");j2.R.debug(`Found ${d.length} diagrams`),f?.startOnLoad!==void 0&&(j2.R.debug("Start On Load: "+f?.startOnLoad),no.updateSiteConfig({startOnLoad:f?.startOnLoad}));let g=new j0._K.InitIDGenerator(f.deterministicIds,f.deterministicIDSeed),h=[];for(let b of Array.from(d)){if(j2.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,j4.T)(j0._K.entityDecode(e)).trim().replace(/<br\s*\/?>/gi,"<br/>");let d=j0._K.detectInit(e);d&&j2.R.debug("Detected early reinit: ",d);try{let{svg:d,bindFunctions:f}=await nB(c,e,b);b.innerHTML=d,a&&await a(c),f&&f(b)}catch(a){np(a,h,nD.parseError)}}if(h.length>0)throw h[0]},"runThrowsErrors"),ns=(0,j3.K)(function(a){no.initialize(a)},"initialize"),nt=(0,j3.K)(async function(a,b,c){j2.R.warn("mermaid.init is deprecated. Please use run instead."),a&&ns(a);let d={postRenderCallback:c,querySelector:".mermaid"};"string"==typeof b?d.querySelector=b:b&&(b instanceof HTMLElement?d.nodes=[b]:d.nodes=b),await nq(d)},"init"),nu=(0,j3.K)(async(a,{lazyLoad:b=!0}={})=>{mV(),(0,j1.Xd)(...a),!1===b&&await mW()},"registerExternalDiagrams"),nv=(0,j3.K)(function(){if(nD.startOnLoad){let{startOnLoad:a}=no.getConfig();a&&nD.run().catch(a=>j2.R.error("Mermaid failed to initialize",a))}},"contentLoaded");"u">typeof document&&window.addEventListener("load",nv,!1);var nw=(0,j3.K)(function(a){nD.parseError=a},"setParseErrorHandler"),nx=[],ny=!1,nz=(0,j3.K)(async()=>{if(!ny){for(ny=!0;nx.length>0;){let a=nx.shift();if(a)try{await a()}catch(a){j2.R.error("Error executing queue",a)}}ny=!1}},"executeQueue"),nA=(0,j3.K)(async(a,b)=>new Promise((c,d)=>{let e=(0,j3.K)(()=>new Promise((e,f)=>{no.parse(a,b).then(a=>{e(a),c(a)},a=>{j2.R.error("Error parsing",a),nD.parseError?.(a),f(a),d(a)})}),"performCall");nx.push(e),nz().catch(d)}),"parse"),nB=(0,j3.K)((a,b,c)=>new Promise((d,e)=>{let f=(0,j3.K)(()=>new Promise((f,g)=>{no.render(a,b,c).then(a=>{f(a),d(a)},a=>{j2.R.error("Error parsing",a),nD.parseError?.(a),g(a),e(a)})}),"performCall");nx.push(f),nz().catch(e)}),"render"),nC=(0,j3.K)(()=>Object.keys(j1.mW).map(a=>({id:a})),"getRegisteredDiagramsMetadata"),nD={startOnLoad:!0,mermaidAPI:no,parse:nA,render:nB,init:nt,run:nq,registerExternalDiagrams:nu,registerLayoutLoaders:j$.sO,initialize:ns,parseError:void 0,contentLoaded:nv,setParseErrorHandler:nw,detectType:j1.Ch,registerIconPacks:j_.pC,getRegisteredDiagramsMetadata:nC},nE={startOnLoad:!1,theme:"default",securityLevel:"strict",fontFamily:"monospace",suppressErrorRendering:!0},nF=function(a={}){let b=!1,c={...nE,...a.config},d={initialize(d){c={...nE,...a.config,...d},nD.initialize(c),b=!0},render:async(a,d)=>(b||(nD.initialize(c),b=!0),await nD.render(a,d))};return{name:"mermaid",type:"diagram",language:"mermaid",getMermaid:a=>(a&&d.initialize(a),d)}}(),nG=c(38740);let nH=({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}),nI=({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}),nJ=({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)(dA.Bc,{children:(0,N.jsxs)(dA.m_,{children:[(0,N.jsx)(dA.k$,{render:g}),(0,N.jsx)(dA.ZI,{children:(0,N.jsx)("p",{children:a})})]})}):g},nK={cjk:eJ,code:jj,math:jX,mermaid:nF},nL=(0,O.memo)(({className:a,...b})=>(0,N.jsx)(nG.C,{className:(0,ag.cn)("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",a),plugins:nK,...b}),(a,b)=>a.children===b.children&&b.isAnimating===a.isAnimating);nL.displayName="MessageResponse";let nM=({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 nN({readme:a}){let{t:b}=(0,aa.Bd)("pluginManagement"),{locale:c}=(0,cE.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,cD.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)("label",{className:"flex items-center gap-2 text-sm",children:[b("readmeLanguage"),(0,N.jsxs)("select",{value:h??"",onChange:a=>e(a.target.value||null),className:"min-h-8 rounded-lg border border-input bg-background px-2 outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,N.jsx)("option",{value:"",children:b("defaultLanguage")}),g.map(a=>(0,N.jsx)("option",{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)(nL,{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 nO(a){if(!a)return null;try{let b=new URL(a);return["https:","http:"].includes(b.protocol)?b.href:null}catch{return null}}function nP(a){let{t:b}=(0,aa.Bd)("pluginManagement"),{locale:c}=(0,cE.i)(),d=a.detail,e=a.installed&&a.installedVersion===d.version,f=nO(d.homepage),g=nO(d.repository);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:[d.official?(0,N.jsx)("span",{className:"rounded-md bg-secondary px-2 py-1 text-secondary-foreground",children:b("official")}):null,(0,N.jsx)("span",{children:b(`kind_${d.kind}`)}),(0,N.jsx)("span",{className:"[overflow-wrap:anywhere]",children:d.publisher??b("unknownPublisher")})]}),(0,N.jsx)("p",{className:"text-sm text-muted-foreground [overflow-wrap:anywhere]",children:d.description?(0,cD.fD)(d.description,c):b("noPluginDescription")}),(0,N.jsxs)("label",{className:"flex flex-wrap items-center gap-2 text-sm",children:[b("version"),(0,N.jsx)("select",{value:d.version,onChange:b=>a.onVersion(b.target.value),className:"min-h-8 min-w-0 max-w-full rounded-lg border border-input bg-background px-2 outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[...new Set([d.version,...d.versions])].map(a=>(0,N.jsx)("option",{value:a,children:a},a))})]}),(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:b(!0===d.compatible?"compatible":!1===d.compatible?"incompatible":"compatibilityUnknown")}),d.compatibilityNote?(0,N.jsx)("p",{className:"text-sm text-muted-foreground [overflow-wrap:anywhere]",children:d.compatibilityNote}):null,(0,N.jsxs)("div",{className:"flex flex-wrap gap-3 text-sm",children:[f?(0,N.jsx)("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-4",children:b("homepage")}):null,g?(0,N.jsx)("a",{href:g,target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-4",children:b("repository")}):null]}),e?null:(0,N.jsx)(db,{id:"plugin-detail-download",mode:a.downloadMode,registry:a.downloadRegistry,override:!0,onMode:a.onDownloadMode,onRegistry:a.onDownloadRegistry}),(0,N.jsx)("div",{className:"flex flex-wrap items-center gap-2",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",variant:"outline",disabled:a.disabled,onClick:a.onUpdate,children:b("update")}):null]}):(0,N.jsx)(ae.$,{size:"sm",disabled:a.disabled,onClick:a.onInstall,children:b(a.installed?"installVersion":"install")})}),a.error?(0,N.jsx)("p",{role:"alert",className:"text-sm text-destructive [overflow-wrap:anywhere]",children:a.error}):null]}),(0,N.jsx)("div",{className:"border-t pt-4",children:(0,N.jsx)(nN,{readme:d.readme},`${d.name}@${d.version}`)})]})}var nQ=c(13221);function nR(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)(nQ.T,{id:"plugin-direct-source",value:a.source,placeholder:b("batchSourcePlaceholder"),rows:3,onChange:b=>a.onSource(b.target.value)}),a.isNpm||a.multiple?(0,N.jsxs)(N.Fragment,{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)(dv,{value:a.tag,label:b("installChannel"),placeholder:b("defaultChannel"),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)(bZ.l6,{value:a.selectedVersion,disabled:a.loading,items:[{value:"",label:b("automaticVersion")},...[...new Set([a.detail.version,...a.detail.versions])].map(a=>({value:a,label:a}))],onValueChange:b=>{null!==b&&a.onVersion(b)},children:[(0,N.jsx)(bZ.bq,{"aria-label":b("version"),className:"max-w-full",children:(0,N.jsx)(bZ.yv,{})}),(0,N.jsxs)(bZ.gC,{positionerClassName:"z-[160]",children:[(0,N.jsx)(bZ.eb,{value:"",children:b("automaticVersion")}),[...new Set([a.detail.version,...a.detail.versions])].map(a=>(0,N.jsx)(bZ.eb,{value:a,children:a},a))]})]}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:b("targetVersion",{version:a.detail.version})})]}):null,(0,N.jsx)(db,{id:"plugin-direct-download",mode:a.override,registry:a.registry,override:!0,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 nS({open:a,title:b,confirmation:c,onClose:d,onConfirm:e,children:f}){let{t:g}=(0,aa.Bd)("pluginManagement"),h=c?g(c_(c)):null;return(0,N.jsx)(ce.YV,{open:a,onOpenChange:a=>{a||d()},children:(0,N.jsxs)(ce.hA,{finalFocus:!0,className:c?"max-w-lg":"h-[min(85dvh,52rem)] max-w-3xl",children:[(0,N.jsxs)(ce.Hl,{className:"p-4 pr-12",children:[(0,N.jsx)(ce.YM,{className:"min-w-0 [overflow-wrap:anywhere]",children:c?g("confirmAction",{action:h}):b}),(0,N.jsx)(ce.uX,{children:g(c?"del"===c.kind||"batch"===c.kind&&"del"===c.input.action?"removeDescription":"add"===c.kind||"batch"===c.kind&&"add"===c.input.action?"thirdPartyDescription":"reload"===c.kind?"normal"===c.mode?"restartNormalDescription":"restartDescription":"confirmChange":"pluginDetails")})]}),(0,N.jsx)(ce._Y,{className:"min-h-0",children:(0,N.jsx)("div",{className:"min-w-0 p-4 pt-0",children:c?"batch"===c.kind?(0,N.jsx)("ul",{className:"space-y-2 text-sm",children:("add"===c.input.action?c.input.items.map(a=>a.source):c.input.sources).map(a=>(0,N.jsx)("li",{className:"font-medium [overflow-wrap:anywhere]",children:a},a))}):"add"===c.kind?(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:g("packageName")}),(0,N.jsx)("dd",{className:"mt-1 font-medium [overflow-wrap:anywhere]",children:c.package?.name??c.input.source})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:g("version")}),(0,N.jsx)("dd",{className:"[overflow-wrap:anywhere]",children:c.package?.version??cY(c.input.source)?.version??g("fromSource")})]}),c.input.tag?(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:g("installChannel")}),(0,N.jsx)("dd",{children:c.input.tag})]}):null,(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:g("publisher")}),(0,N.jsx)("dd",{className:"[overflow-wrap:anywhere]",children:c.package?.publisher??g("unknownPublisher")})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:g("source")}),(0,N.jsx)("dd",{className:"[overflow-wrap:anywhere]",children:c.input.registry??c.package?.registry??c.input.source})]})]}):"reload"!==c.kind?(0,N.jsx)("p",{className:"text-sm font-medium [overflow-wrap:anywhere]",children:c.source}):null:f})}),c?(0,N.jsxs)(ce.vu,{children:[(0,N.jsx)(ae.$,{size:"sm",variant:"outline",onClick:d,children:g("cancel")}),(0,N.jsx)(ae.$,{size:"sm",variant:"del"===c.kind||"batch"===c.kind&&"del"===c.input.action?"destructive":"default",onClick:()=>e(c),children:h})]}):null]})})}function nT({basicMode:a=!1,snapshot:b,biz:c,onSnapshot:d,onRestartScheduled:e}){let{t:f}=(0,aa.Bd)("pluginManagement"),{locale:g}=(0,cE.i)(),[h,i]=(0,O.useState)("installed"),[j,k]=(0,O.useState)(""),[l,m]=(0,O.useState)(""),[n,o]=(0,O.useState)(()=>new Set),[p,q]=(0,O.useState)(""),[r,s]=(0,O.useState)(!1),t=function({biz:a,snapshot:b,onSnapshot:c,onRestartScheduled:d}){let{t:e}=(0,aa.Bd)("pluginManagement"),f=(0,bQ.t4)();(0,bQ.So)();let[g,h]=(0,O.useState)(!1),[i,j]=(0,O.useState)(()=>new Set),k=(0,O.useRef)(new Set),[l,m]=(0,O.useState)(null),[n,o]=(0,O.useState)({}),[p,q]=(0,O.useState)(null),[r,s]=(0,O.useState)(null),[t,u]=(0,O.useState)(!1),[v,w]=(0,O.useState)(null),x=(0,O.useRef)(0),y=(0,O.useRef)(0),z=(0,O.useRef)(!0),A=(a,b)=>{b?k.current.add(a):k.current.delete(a),z.current&&j(new Set(k.current))},B=(a,b)=>{z.current&&o(c=>{let d={...c};return b?d[a]=b:delete d[a],d})},C=a=>{let c=c$(a);return k.current.has(c)||!!b?.plugins.some(a=>c$(a.source)===c&&a.operation&&"failed"!==a.operation.phase)},D=async(b=!1)=>{let d=++y.current,e=await a.list(b);z.current&&d===y.current&&c(e)},E=async b=>{let d="add"===b.action?b.items.map(a=>a.source):b.sources,f=d.filter(a=>!C(a));if(d.filter(C).forEach(a=>B(c$(a),e("sourceBusy"))),!f.length)return;let g=f.map(c$);g.forEach(a=>{A(a,!0),B(a,null)}),m(null);try{let d="add"===b.action?{...b,items:b.items.filter(a=>f.includes(a.source))}:{...b,sources:f},e=await a.batch(d);if(!z.current)return;y.current+=1,c(e.snapshot),e.results.forEach(a=>B(c$(a.source),a.error))}catch(b){let a=b instanceof Error?b.message:e("batchFailed");g.forEach(b=>B(b,a))}finally{g.forEach(a=>A(a,!1))}},F=async b=>{if("batch"===b.kind)return void await E(b.input);if("reload"!==b.kind&&C("add"===b.kind?b.input.source:b.source))return;let f="reload"===b.kind?"reload":c$("add"===b.kind?b.input.source:b.source);if(!k.current.has(f)){A(f,!0),m(null),B(f,null);try{let e="add"===b.kind?await a.add(b.input):"update"===b.kind?await a.update(b.source):"del"===b.kind?await a.del(b.source):"enable"===b.kind||"disable"===b.kind?await a.setEnabled(b.source,"enable"===b.kind):await a.reload(b.mode);if(!z.current)return;y.current+=1,c(e),"reload"===b.kind?d():await D()}catch(a){B(f,a instanceof Error?a.message:e("actionFailed",{action:e(c_(b))}))}finally{A(f,!1)}}},G=(a,b)=>{let c={kind:"add",input:a,package:b};b?.official===!0?F(c):m(c)},H=async b=>{let d=b?.[0]?c$(b[0]):"apply";if(!k.current.has(d)){A(d,!0),B(d,null);try{let d=await a.apply(b);z.current&&(y.current+=1,c(d),await D())}catch(a){B(d,a instanceof Error?a.message:e("actionFailed",{action:e("reloadOne")}))}finally{A(d,!1)}}},I=async(a,b)=>{if(!k.current.has(a)){A(a,!0),B(a,null);try{await b()}catch(b){B(a,b instanceof Error?b.message:e("retryFailed"))}finally{A(a,!1)}}},J=async b=>{let c=++x.current;u(!0),w(null);try{let d=await a.get(b);z.current&&c===x.current&&s(d)}catch(a){z.current&&c===x.current&&w(a instanceof Error?a.message:e("detailFailed"))}finally{z.current&&c===x.current&&u(!1)}};return{loading:g,requests:i,confirmation:l,setConfirmation:m,errors:n,detailSource:p,detail:r,detailLoading:t,detailError:v,pluginHost:f,refresh:async(a,c)=>{if(k.current.has("check"))return;let d=a??b?.plugins.filter(a=>"package"===a.kind&&(!c||a.updateTag===c)).map(a=>a.source)??[],f=d.filter(C),g=d.filter(a=>!C(a));if(f.forEach(a=>B(c$(a),e("sourceBusy"))),!g.length)return;if(f.length&&g.length>32)return void B("list",e("batchLimit"));let i=g.map(c$);A("check",!0),i.forEach(a=>A(a,!0)),h(!0),B("list",null);try{await D({checkUpdates:!0,...a||f.length?{sources:g}:{},...c?{tag:c}:{}})}catch(a){B("list",a instanceof Error?a.message:e("updateCheckFailed"))}finally{A("check",!1),i.forEach(a=>A(a,!1)),z.current&&h(!1)}},executeBatch:E,execute:F,requestInstall:G,applyChanges:H,loadDetail:J,openDetail:a=>{q(a),s(null),J(a)},closeDetail:()=>{x.current+=1,q(null),s(null),w(null),u(!1)},handleControlAction:(a,b)=>{switch(b){case"reload":H([a.source]);break;case"update":F({kind:"update",source:a.source});break;case"remove":m({kind:"del",source:a.source});break;case"enable":case"disable":F({kind:b,source:a.source});break;case"retry-browser":a.pluginName&&I(`entry:${a.pluginName}`,()=>f.retryEntry(a.pluginName));break;case"retry":{let b=a.operation?.action;"apply"===b?H([a.source]):"add"===b?G({source:a.source}):b&&F({kind:b,source:a.source})}}},refreshEntries:()=>I("entries",()=>f.refreshEntries())}}({biz:c,snapshot:b,onSnapshot:d,onRestartScheduled:e}),u=b?.plugins.filter(a=>n.has(c$(a.source))).map(a=>a.source)??[],v=u.filter(a=>a.startsWith("npm:")),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),B(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?c1.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),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:c2.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){let{t:b}=(0,aa.Bd)("pluginManagement"),[c,d]=(0,O.useState)(null),[e,f]=(0,O.useState)("auto"),[g,h]=(0,O.useState)(""),[i,j]=(0,O.useState)(!1),[k,l]=(0,O.useState)(!1),[m,n]=(0,O.useState)(null),o=(0,O.useRef)(!0),p=(0,O.useRef)(!1),q=(0,O.useRef)(0),r=(0,O.useRef)("load"),s=async()=>{let c=q.current;j(!0),n(null);try{let b=await a.getCatalogSettings();if(!o.current)return;c===q.current?(d(b),f(b.downloadSource.mode),"custom"===b.downloadSource.mode&&h(b.downloadSource.registry)):d(a=>a??b)}catch(a){r.current="load",o.current&&n(a instanceof Error?a.message:b("settingsFailed"))}finally{o.current&&j(!1)}},t=async(c=e)=>{if(p.current)return;let h=c2.safeParse("custom"===c?{mode:c,registry:g}:{mode:c});if(!h.success){r.current="save",n(b("invalidRegistry"));return}p.current=!0,l(!0),n(null);try{let b=await a.saveCatalogSettings(h.data);o.current&&(d(b),f(b.downloadSource.mode))}catch(a){r.current="save",o.current&&n(a instanceof Error?a.message:b("settingsFailed"))}finally{p.current=!1,o.current&&l(!1)}};return{settings:c,mode:e,registry:g,setRegistry:a=>{q.current+=1,h(a)},loading:i,saving:k,error:m,load:s,save:t,changeMode:a=>{q.current+=1,f(a),"custom"!==a&&t(a)},retry:()=>"save"===r.current?t():s()}}(c),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?cY(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=>cY(a.source)?.name===y.name)?.updateTag,g=y.version??(h||f||"latest"),i=""===d?g:d??j??g;if("custom"===r){let a=c1.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:c2.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(cY);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||t.requests.has("reload"),A=new Map(t.pluginHost.getFailedEntries().map(a=>[a.pluginName,a.error.message])),B=t.pluginHost.getEntryListError(),C=b?.plugins.find(a=>a.source===t.detailSource),D=w.selection?b?.plugins.find(a=>a.source.startsWith("npm:")&&cY(a.source)?.name===w.selection?.name):void 0,E=w.selection?c$(`npm:${w.selection.name}`):"",F=c$(y.detail?`npm:${y.detail.name}`:y.spec?`npm:${y.spec.name}`:y.source.trim()),G=b?.plugins.find(a=>c$(a.source)===F),H=t.requests.has(E)||!!(D?.operation&&"failed"!==D.operation.phase),I=y.sources.length>0&&y.sources.every(a=>{let c=c$(a),d=b?.plugins.find(a=>c$(a.source)===c);return t.requests.has(c)||!!(d?.operation&&"failed"!==d.operation.phase)}),J=y.sources.map(a=>{let c=c$(a),d=b?.plugins.find(a=>c$(a.source)===c),e=t.errors[c]??(d?.operation?.phase==="failed"?d.operation.message:null);return e?`${a}: ${e}`:null}).filter(Boolean).join("\n"),K=a=>{let c=b?.plugins.find(b=>cY(b.source)?.name===a.name),d=p||c?.updateTag;return d?{...a,version:d}:a},L=a=>a?f(`phase_${a}`):null;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:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,N.jsx)("h2",{className:"text-xl font-semibold",children:f("title")}),(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,N.jsxs)(cF.AM,{children:[(0,N.jsxs)(cF.Wv,{render:(0,N.jsx)(ae.$,{size:"sm",variant:"outline"}),children:[f("downloadSource"),":",x.loading&&!x.settings?f("loading"):f(`download_${x.settings?.downloadSource.mode??x.mode}`),(0,N.jsx)(cx.A,{className:"size-4"})]}),(0,N.jsx)(cF.hl,{align:"end",positionerClassName:"z-[150]",children:(0,N.jsx)(db,{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:t.requests.has("reload"),onClick:()=>t.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,cD.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:t.requests.has("entries"),onClick:()=>void t.refreshEntries(),children:f("retry")})]}):null]}):null,t.errors.reload||t.errors.entries?(0,N.jsx)("p",{role:"alert",className:"text-sm text-destructive [overflow-wrap:anywhere]",children:t.errors.reload??t.errors.entries}):null]}),(0,N.jsx)("div",{role:"tablist","aria-label":f("title"),className:"flex shrink-0 gap-1 border-b px-4 pt-2 sm:px-6",children:["installed","search"].map(a=>(0,N.jsx)("button",{id:`plugin-tab-${a}`,type:"button",role:"tab","aria-selected":h===a,"aria-controls":`plugin-panel-${a}`,tabIndex:h===a?0:-1,className:`min-h-9 border-b-2 px-3 text-sm font-medium outline-none transition-colors focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring ${h===a?"border-primary text-foreground":"border-transparent text-muted-foreground hover:bg-accent"}`,onClick:()=>i(a),onKeyDown:a=>{if(["ArrowLeft","ArrowRight","Home","End"].includes(a.key)){a.preventDefault();let b="Home"===a.key?"installed":"End"===a.key||"installed"===h?"search":"installed";i(b),document.getElementById(`plugin-tab-${b}`)?.focus()}},children:f("installed"===a?"installedTab":"searchPlugins")},a))}),(0,N.jsx)("div",{id:"plugin-panel-installed",role:"tabpanel","aria-labelledby":"plugin-tab-installed",tabIndex:0,hidden:"installed"!==h,className:`pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto p-4 outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring sm:p-6 ${"installed"!==h?"hidden":""}`,children:(0,N.jsxs)("div",{className:"space-y-4",children:[y.open?(0,N.jsx)(nR,{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:I,disabled:z,error:y.error??(J||null)??(G?.operation?.phase==="failed"?G.operation.message:null),operationMessage:I?L(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(t.requestInstall,a=>t.setConfirmation({kind:"batch",input:{action:"add",items:a}})),onClose:()=>y.setOpen(!1)}):null,(0,N.jsx)(dw,{snapshot:b,loading:t.loading,filter:j,channel:l,selected:n,onChannel:m,onSelect:(a,b)=>{o(c=>{let d=new Set(c);return a.forEach(a=>{b?d.add(a):d.delete(a)}),d})},onCheckSelected:()=>void t.refresh(v),onUpdateSelected:()=>void t.executeBatch({action:"update",sources:u}),onRemoveSelected:()=>t.setConfirmation({kind:"batch",input:{action:"del",sources:u}}),onTagSelected:a=>void t.executeBatch({action:"tag",sources:v,tag:a}),disabled:z,requests:t.requests,errors:t.errors,browserErrors:A,onFilter:k,onDetail:a=>{w.closeDetail(),t.openDetail(a)},onAction:t.handleControlAction,onDirectInstall:()=>y.setOpen(!0),onRefresh:()=>void t.refresh(void 0,l||void 0)})]})}),(0,N.jsx)("div",{id:"plugin-panel-search",role:"tabpanel","aria-labelledby":"plugin-tab-search",tabIndex:0,hidden:"search"!==h,className:`pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto p-4 outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring sm:p-6 ${"search"!==h?"hidden":""}`,children:(0,N.jsx)(dx,{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:t.requests,preparing:w.preparing,errors:t.errors,installErrors:w.installErrors,onQuery:w.setQuery,onCompositionStart:w.beginComposition,onCompositionEnd:w.endComposition,onKind:w.setKind,onSearchSource:w.setSearchSource,onRegistry:w.setRegistry,onDetail:a=>{t.closeDetail(),s(!1),w.openDetail(K(a))},onInstall:a=>{w.prepareInstall(K(a),a=>t.requestInstall({source:`npm:${a.name}`,registry:a.registry,...p?{tag:p}:{}},a))},onUpdate:a=>void t.execute({kind:"update",source:a}),onMore:w.loadMore,onRetry:w.retry})}),(0,N.jsx)(nS,{open:!!(t.confirmation||t.detailSource||w.selection),title:C?cZ(C):w.selection?.name??f("details"),confirmation:t.confirmation,onClose:()=>{t.confirmation?t.setConfirmation(null):(t.closeDetail(),w.closeDetail())},onConfirm:a=>void t.execute(a),children:C?(0,N.jsxs)("div",{className:"min-w-0 space-y-5",children:[t.detail?.readme?(0,N.jsx)(nN,{readme:t.detail.readme},C.source):null,(0,N.jsx)(cX,{plugin:C,detail:t.detail,detailLoading:t.detailLoading,detailError:t.detailError,browserContributions:C.pluginName?t.pluginHost.getRegisteredBrowserDescriptors().find(a=>a.pluginName===C.pluginName)?.contributions??[]:[],onRetry:()=>void t.loadDetail(C.source)})]}):w.selection?w.detailLoading?(0,N.jsx)("p",{role:"status",className:"py-4 text-sm text-muted-foreground",children:f("loadingPackage")}):w.detailError?(0,N.jsxs)("div",{role:"alert",className:"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")})]}):w.detail?(0,N.jsxs)("div",{className:"min-w-0 space-y-4",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,N.jsx)("span",{children:f("installChannel")}),(0,N.jsx)(dv,{value:p,label:f("installChannel"),placeholder:f("defaultChannel"),disabled:H,onChange:a=>{q(a),s(!1),w.loadDetail(w.selection,a||D?.updateTag||"latest")}})]}),(0,N.jsx)(nP,{detail:w.detail,disabled:z,pending:H,installed:!!(D&&(D.operation?.action!=="add"||"failed"!==D.operation.phase)),installedVersion:D?.version??null,updateAvailable:!!D?.updateAvailable,error:w.installErrors[w.detail.name]??t.errors[E]??(D?.operation?.phase==="failed"?D.operation.message:null),operationMessage:L(D?.operation?.phase),downloadMode:w.downloadMode,downloadRegistry:w.downloadRegistry,onDownloadMode:w.setDownloadMode,onDownloadRegistry:w.setDownloadRegistry,onVersion:a=>{s(!0),w.loadDetail(w.selection,a)},onInstall:()=>w.installDetail((a,b)=>t.requestInstall({...a,source:r?a.source:`npm:${b.name}`,...p?{tag:p}:{}},b)),onUpdate:()=>{D&&t.execute({kind:"update",source:D.source})}})]}):null:t.detailSource?(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:f("pluginRemoved")}):null})]})}var nU=c(98945);let nV=Q.Yj().trim().min(1).max(2048),nW=Q.YO(nV).min(1).max(32),nX=Q.Ik({phase:Q.k5(["package","entry","setup","resources","resolve","native"]),message:cD.qf.refine(a=>"string"==typeof a?a.length>0:a.default.length>0)}).strict(),nY=Q.Yj().trim().min(1).max(4096),nZ=Q.Yj().trim().min(1).max(256),n$=Q.Yj().max(32768),n_=Q.Ik({name:nZ,label:n$,state:Q.k5(["active","inactive","shadowed"]),description:n$,promptSnippet:n$.nullable(),promptGuidelineCount:Q.ai().int().nonnegative(),promptGuidelinePreview:n$.nullable()}).strict(),n0=Q.Ik({name:nZ,label:n$,state:Q.k5(["active","inactive","shadowed"]),description:n$,parameters:nU.Dz,promptSnippet:n$.nullable(),promptGuidelines:Q.YO(n$)}).strict(),n1=Q.Ik({path:nY,events:Q.YO(Q.Ik({name:nZ,count:Q.ai().int().positive()}).strict()),commands:Q.YO(Q.Ik({name:nZ,description:n$.nullable()}).strict()),shortcuts:Q.YO(Q.Ik({shortcut:nZ,description:n$.nullable()}).strict()),flags:Q.YO(Q.Ik({name:nZ,type:Q.k5(["boolean","string"]),description:n$.nullable(),default:Q.KC([Q.zM(),Q.Yj(),Q.ch()])}).strict()),messageRenderers:Q.YO(nZ),entryRenderers:Q.YO(nZ)}).strict(),n2=Q.Ik({name:nZ,description:n$,path:nY}).strict(),n3=n2.extend({modelVisible:Q.zM()}).strict(),n4=n2.extend({content:Q.Yj().max(65536),truncated:Q.zM()}).strict(),n5=n4.extend({modelVisible:Q.zM()}).strict(),n6=Q.Ik({name:nZ,path:nY}).strict(),n7=Q.Ik({name:nZ,kind:Q.k5(["config","native"])}).strict(),n8=Q.Ik({methods:Q.YO(Q.Ik({pluginName:nZ,method:nZ}).strict()),browserEntries:Q.YO(Q.Ik({pluginName:nZ}).strict()),messageDeclarations:Q.YO(Q.Ik({pluginName:nZ,declarationName:nZ,priority:Q.ai().int().safe()}).strict())}).strict(),n9=Q.Ik({error:cD.qf.refine(a=>"string"==typeof a?a.length<=32768:[a.default,...Object.values(a.translations)].every(a=>a.length<=32768)).nullable(),extensions:Q.YO(n1),tools:Q.YO(n_),skills:Q.YO(n3),prompts:Q.YO(n2),themes:Q.YO(n6),providers:Q.YO(n7),piDesk:n8}).strict(),oa=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(),ob=(0,R._G)({path:"plugins/management-update",bodySchema:Q.Ik({}).strict()}),oc=Q.Ik({source:nV,kind:Q.k5(["package","extension"]).default("package"),operation:oa.nullable().default(null),pluginName:Q.Yj().trim().min(1).nullable(),description:cD.qf.nullable().default(null),version:Q.Yj().trim().min(1).nullable(),updateAvailable:Q.zM().nullable(),updateTag:c0.nullable().optional(),availableVersion:Q.Yj().min(1).nullable().optional(),updateError:Q.Yj().max(4e3).nullable().optional(),status:Q.k5(["ready","available","disabled","failed"]),error:nX.nullable(),capabilities:n9}).strict(),od=Q.Ik({source:nV,readme:cD.qf.nullable().default(null),tools:Q.YO(n0),skills:Q.YO(n5),prompts:Q.YO(n4)}).strict(),oe=Q.Ik({plugins:Q.YO(oc),restartRequired:Q.zM(),loadError:cD.qf.refine(a=>"string"==typeof a?a.length>0:a.default.length>0).nullable()}).strict(),of=Q.Ik({sources:Q.YO(nV).min(1).max(32).optional()}).strict(),og=Q.Ik({}).strict().extend({mode:Q.k5(["normal","basic"]).optional()}).strict(),oh=Q.Ik({checkUpdates:Q.zM().optional(),sources:nW.optional(),tag:c0.optional()}).strict(),oi=Q.Ik({source:nV}).strict(),oj=oi.extend({downloadSource:c2.optional(),registry:c1.optional(),tag:c0.optional()}).strict(),ok=Q.gM("action",[Q.Ik({action:Q.eu("add"),items:Q.YO(oj).min(1).max(32)}).strict(),Q.Ik({action:Q.eu("update"),sources:nW}).strict(),Q.Ik({action:Q.eu("del"),sources:nW}).strict(),Q.Ik({action:Q.eu("tag"),sources:nW,tag:c0}).strict()]),ol=Q.Ik({snapshot:oe,results:Q.YO(Q.Ik({source:nV,error:Q.Yj().max(4e3).nullable()}).strict()).max(32)}).strict(),om=oi.extend({enabled:Q.zM()}).strict();async function on(a,b,c,d){return b2(a,b,c,d,{fallbackMessage:"插件管理请求失败"})}function oo({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)(cA,{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 op({pluginName:a,descriptor:b,onClose:c,onBeforeLeaveChange:d}){let e=(0,bQ.t4)();(0,bQ.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)(cA,{pluginName:a,kind:"settings-page",contributionName:b.contributionName,target:g,className:"pi-desk-chat-scrollbar h-full min-h-0 overflow-auto"})}let oq=(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 or=c(91477);let os=(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 ot=c(9665),ou=c(60816);let ov="1.1.0".trim()||"未知",ow="2026-10-09T21:13:39+08:00".trim()||null;var ox=c(68578);let oy={current:null},oz={current:!1},oA="u">typeof window;function oB(){if(oz.current=!0,oA)if(window.matchMedia){let a=window.matchMedia("(prefers-reduced-motion)"),b=()=>oy.current=a.matches;a.addEventListener("change",b),b()}else oy.current=!1}function oC(){oz.current||oB();let[a]=(0,O.useState)(oy.current);return a}let oD="pi-desk:power-saving",oE="pi-desk:power-saving-change",oF=null;function oG(){if(null!==oF)return oF;try{oF="true"===window.localStorage.getItem(oD)}catch{oF=!1}return oF}function oH(a){let b=b=>{(null===b.key||b.key===oD)&&(oF=null,a())};return window.addEventListener(oE,a),window.addEventListener("storage",b),()=>{window.removeEventListener(oE,a),window.removeEventListener("storage",b)}}function oI(){return(0,O.useSyncExternalStore)(oH,oG,()=>!1)}function oJ(a,b){oC(),oI(),(0,O.useRef)(null)}var oK=c(22207),oL=c(57537),oM=c(5090),oN=c(96478),oO=c(23423),oP=c(51949);let oQ=Q.Yj().min(1).max(oP.uV).refine(a=>!a.includes("\0")&&(a.startsWith("/")||a.startsWith("\\\\")||/^[a-zA-Z]:[\\/]/.test(a)),"必须是绝对路径"),oR=Q.Ik({cwd:oO.m4.nullable()}).strict(),oS=Q.Ik({skillPath:oQ,name:Q.Yj().min(1),description:Q.Yj(),packageSource:Q.Yj().nullable()}).strict(),oT=Q.Ik({skills:Q.YO(oS),diagnostics:Q.YO(Q.Ik({path:Q.Yj(),message:cD.qf}).strict())}).strict(),oU=oR.extend({skillPath:oQ}),oV=oU.extend({path:oP.rh}).strict(),oW=Q.Ik({entries:Q.YO(Q.Ik({name:Q.Yj().min(1),type:Q.k5(["directory","file"])}).strict()).max(oP.xm),truncated:Q.zM()}).strict(),oX=oU.extend({path:oP._g}).strict(),oY=Q.gM("kind",[Q.Ik({kind:Q.eu("text"),content:Q.Yj(),size:Q.ai().int().nonnegative().max(oP.NL),readOnlyReason:cD.qf.nullable()}).strict(),Q.Ik({kind:Q.eu("image"),mimeType:oP.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()]),oZ=oX.extend({content:Q.Yj().max(oP.NL)}).strict(),o$=Q.Ik({}).strict(),o_={path:"/api/skills/list",request:oR,response:oT},o0={path:"/api/skill-files/list",request:oV,response:oW},o1={path:"/api/skill-files/get",request:oX,response:oY},o2={path:"/api/skill-files/replace",request:oZ,response:o$},o3=Q.Ik({code:Q.ai(),msg:Q.Yj(),data:Q.L5(),i18n:oM.N.optional()});async function o4(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=o3.parse(await e.json());if(!e.ok||0!==f.code||null===f.data)throw Error(f.msg?(0,b1.B)(f):"Skills 请求失败");return b.response.parse(f.data)}function o5(a){(0,oN.ZQ)({wrapLines:a})}async function o6(a){let b=a.skillPath.replaceAll("\\","/");await navigator.clipboard.writeText(b.slice(0,b.lastIndexOf("/")+1)+a.path)}var o7=c(60632);function o8(a){return(0,b1.B)({msg:o7.P["zh-CN"][a],i18n:{key:`skills:${a}`}})}function o9(a){return JSON.stringify(a)}function pa(a){return JSON.stringify([a.cwd,a.skillPath,a.path])}function pb(a){return a.replace(/\r\n|\r/g,"\n")}function pc(a){return a?.file?.kind==="text"&&a.draft!==pb(a.file.content)}let pd=(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"}]]),pe=(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 pf=c(51314);function pg(a){let{t:b}=(0,aa.Bd)("common"),{wrapLines:c}=(0,oN.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 ph=c(85544);function pi({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)(ph.k,{mode:"inline",slides:d,className:"h-full w-full",ariaLabel:c("imagePreview")})}function pj(a){let{document:b,skill:c,dirty:d,loading:e,saving:f,opening:g}=a,{t:h}=(0,aa.Bd)("skills"),{locale:i}=(0,cE.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)(pd,{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)(pe,{className:"size-3.5"}):(0,N.jsx)(bA.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)(bT.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)(bS,{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)(pe,{className:"mt-0.5 size-3.5 shrink-0"}),(0,N.jsx)("p",{children:(0,cD.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)(pg,{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)(pi,{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)(pd,{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)(pf.A,{className:"size-3.5"}),h("wrapLines")]})]})]})}function pk({open:a,saving:b,path:c,error:d,onDecide:e}){let{t:f}=(0,aa.Bd)("skills");return(0,N.jsx)(ce.YV,{open:a,onOpenChange:a=>{a||b||e("cancel")},children:(0,N.jsxs)(ce.hA,{className:"z-[150]",showCloseButton:!b,children:[(0,N.jsxs)(ce.Hl,{className:"p-4 pr-12",children:[(0,N.jsx)(ce.YM,{children:f("saveChangesTitle")}),(0,N.jsx)(ce.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)(ce.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 pl=c(5782);let pm=(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 pn=c(89101);function po(a,b){return!!(a&&a.cwd===b.cwd&&a.skillPath===b.skillPath&&a.path===b.path)}function pp({target:a,props:b,depth:c=0,skillName:d}){let{t:e}=(0,aa.Bd)("skills"),f=b.directories[pa(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)(pq,{target:h,props:b,depth:c,name:f.name,skillName:d},g);let i=po(b.selected,h),j=po(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)(pl.A,{className:"size-3.5 shrink-0"}):(0,N.jsx)(pd,{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 pq({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)(cx.A,{className:"size-3.5 shrink-0"}):(0,N.jsx)(bz.A,{className:"size-3.5 shrink-0"}),(0,N.jsx)(co.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)(pp,{target:a,props:b,depth:c+1,skillName:e})})]})}function pr({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}
642
+ </iframe>`},"putIntoIFrame"),nh=(0,j3.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 ni(a,b){return a.append("iframe").attr("id",b).attr("style","width: 100%; height: 100%;").attr("sandbox","")}(0,j3.K)(ni,"sandboxedIframe");var nj=(0,j3.K)((a,b,c,d)=>{a.getElementById(b)?.remove(),a.getElementById(c)?.remove(),a.getElementById(d)?.remove()},"removeExistingElements"),nk=(0,j3.K)(async function(a,b,c){let d,e;mV();let f=m9(b);b=f.code;let g=(0,j1.zj)();j2.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,j3.K)(()=>{let a=o?j:l,b=(0,j5.Ltv)(a).node();b&&"remove"in b&&b.remove()},"removeTempElements"),n=(0,j5.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=ni((0,j5.Ltv)(c),i);(n=(0,j5.Ltv)(a.nodes()[0].contentDocument.body)).node().style.margin="0"}else n=(0,j5.Ltv)(c);nh(n,a,k,`font-family: ${q}`,"http://www.w3.org/1999/xlink")}else{if(nj(document,a,k,i),o){let a=ni((0,j5.Ltv)(document.body),i);(n=(0,j5.Ltv)(a.nodes()[0].contentDocument.body)).node().style.margin="0"}else n=(0,j5.Ltv)("body");nh(n,a,k)}try{d=await mZ.fromText(b,{title:f.title})}catch(a){if(g.suppressErrorRendering)throw m(),a;d=await mZ.fromText("error"),e=a}let r=n.select(l).node(),s=d.type,t=r.firstChild,u=t.firstChild,v=ne(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():lC.draw(b,a,"11.16.1"),c}nn(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(j2.R.debug("config.arrowMarkerAbsolute",g.arrowMarkerAbsolute),x=nf(x,o,(0,j1._3)(g.arrowMarkerAbsolute)),o?x=ng(x,n.select(l+" svg").node()):p||(x=kx.A.sanitize(x,{ADD_TAGS:m7,ADD_ATTR:m8,HTML_INTEGRATION_POINTS:{foreignobject:!0}})),m_(),e)throw e;return m(),{diagramType:s,svg:x,bindFunctions:d.db.bindFunctions}},"render");function nl(a={}){let b=(0,j1.hH)({},a);b?.fontFamily&&!b.themeVariables?.fontFamily&&(b.themeVariables||(b.themeVariables={}),b.themeVariables.fontFamily=b.fontFamily),(0,j1.wZ)(b),b?.theme&&b.theme in j1.H$?b.themeVariables=j1.H$[b.theme].getThemeVariables(b.themeVariables):b&&(b.themeVariables=j1.H$.default.getThemeVariables(b.themeVariables));let c="object"==typeof b?(0,j1.UU)(b):(0,j1.Q2)();(0,j2.H)(c.logLevel),mV()}(0,j3.K)(nl,"initialize");var nm=(0,j3.K)((a,b={})=>{let{code:c}=m5(a);return mZ.fromText(c,b)},"getDiagramFromText");function nn(a,b,c,d){mX(b,a),mY(b,c,d,b.attr("id"))}(0,j3.K)(nn,"addA11yInfo");var no=Object.freeze({render:nk,parse:na,getDiagramFromText:nm,initialize:nl,getConfig:j1.zj,setConfig:j1.Nk,getSiteConfig:j1.Q2,updateSiteConfig:j1.B6,reset:(0,j3.K)(()=>{(0,j1.cL)()},"reset"),globalReset:(0,j3.K)(()=>{(0,j1.cL)(j1.sb)},"globalReset"),defaultConfig:j1.sb});(0,j2.H)((0,j1.zj)().logLevel),(0,j1.cL)((0,j1.zj)());var np=(0,j3.K)((a,b,c)=>{j2.R.warn(a),(0,j0.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"),nq=(0,j3.K)(async function(a={querySelector:".mermaid"}){try{await nr(a)}catch(b){if((0,j0.dq)(b)&&j2.R.error(b.str),nD.parseError&&nD.parseError(b),!a.suppressErrors)throw j2.R.error("Use the suppressErrors option to suppress these errors"),b}},"run"),nr=(0,j3.K)(async function({postRenderCallback:a,querySelector:b,nodes:c}={querySelector:".mermaid"}){let d,e,f=no.getConfig();if(j2.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");j2.R.debug(`Found ${d.length} diagrams`),f?.startOnLoad!==void 0&&(j2.R.debug("Start On Load: "+f?.startOnLoad),no.updateSiteConfig({startOnLoad:f?.startOnLoad}));let g=new j0._K.InitIDGenerator(f.deterministicIds,f.deterministicIDSeed),h=[];for(let b of Array.from(d)){if(j2.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,j4.T)(j0._K.entityDecode(e)).trim().replace(/<br\s*\/?>/gi,"<br/>");let d=j0._K.detectInit(e);d&&j2.R.debug("Detected early reinit: ",d);try{let{svg:d,bindFunctions:f}=await nB(c,e,b);b.innerHTML=d,a&&await a(c),f&&f(b)}catch(a){np(a,h,nD.parseError)}}if(h.length>0)throw h[0]},"runThrowsErrors"),ns=(0,j3.K)(function(a){no.initialize(a)},"initialize"),nt=(0,j3.K)(async function(a,b,c){j2.R.warn("mermaid.init is deprecated. Please use run instead."),a&&ns(a);let d={postRenderCallback:c,querySelector:".mermaid"};"string"==typeof b?d.querySelector=b:b&&(b instanceof HTMLElement?d.nodes=[b]:d.nodes=b),await nq(d)},"init"),nu=(0,j3.K)(async(a,{lazyLoad:b=!0}={})=>{mV(),(0,j1.Xd)(...a),!1===b&&await mW()},"registerExternalDiagrams"),nv=(0,j3.K)(function(){if(nD.startOnLoad){let{startOnLoad:a}=no.getConfig();a&&nD.run().catch(a=>j2.R.error("Mermaid failed to initialize",a))}},"contentLoaded");"u">typeof document&&window.addEventListener("load",nv,!1);var nw=(0,j3.K)(function(a){nD.parseError=a},"setParseErrorHandler"),nx=[],ny=!1,nz=(0,j3.K)(async()=>{if(!ny){for(ny=!0;nx.length>0;){let a=nx.shift();if(a)try{await a()}catch(a){j2.R.error("Error executing queue",a)}}ny=!1}},"executeQueue"),nA=(0,j3.K)(async(a,b)=>new Promise((c,d)=>{let e=(0,j3.K)(()=>new Promise((e,f)=>{no.parse(a,b).then(a=>{e(a),c(a)},a=>{j2.R.error("Error parsing",a),nD.parseError?.(a),f(a),d(a)})}),"performCall");nx.push(e),nz().catch(d)}),"parse"),nB=(0,j3.K)((a,b,c)=>new Promise((d,e)=>{let f=(0,j3.K)(()=>new Promise((f,g)=>{no.render(a,b,c).then(a=>{f(a),d(a)},a=>{j2.R.error("Error parsing",a),nD.parseError?.(a),g(a),e(a)})}),"performCall");nx.push(f),nz().catch(e)}),"render"),nC=(0,j3.K)(()=>Object.keys(j1.mW).map(a=>({id:a})),"getRegisteredDiagramsMetadata"),nD={startOnLoad:!0,mermaidAPI:no,parse:nA,render:nB,init:nt,run:nq,registerExternalDiagrams:nu,registerLayoutLoaders:j$.sO,initialize:ns,parseError:void 0,contentLoaded:nv,setParseErrorHandler:nw,detectType:j1.Ch,registerIconPacks:j_.pC,getRegisteredDiagramsMetadata:nC},nE={startOnLoad:!1,theme:"default",securityLevel:"strict",fontFamily:"monospace",suppressErrorRendering:!0},nF=function(a={}){let b=!1,c={...nE,...a.config},d={initialize(d){c={...nE,...a.config,...d},nD.initialize(c),b=!0},render:async(a,d)=>(b||(nD.initialize(c),b=!0),await nD.render(a,d))};return{name:"mermaid",type:"diagram",language:"mermaid",getMermaid:a=>(a&&d.initialize(a),d)}}(),nG=c(38740);let nH=({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}),nI=({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}),nJ=({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)(dA.Bc,{children:(0,N.jsxs)(dA.m_,{children:[(0,N.jsx)(dA.k$,{render:g}),(0,N.jsx)(dA.ZI,{children:(0,N.jsx)("p",{children:a})})]})}):g},nK={cjk:eJ,code:jj,math:jX,mermaid:nF},nL=(0,O.memo)(({className:a,...b})=>(0,N.jsx)(nG.C,{className:(0,ag.cn)("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",a),plugins:nK,...b}),(a,b)=>a.children===b.children&&b.isAnimating===a.isAnimating);nL.displayName="MessageResponse";let nM=({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 nN({readme:a}){let{t:b}=(0,aa.Bd)("pluginManagement"),{locale:c}=(0,cE.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,cD.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)("label",{className:"flex items-center gap-2 text-sm",children:[b("readmeLanguage"),(0,N.jsxs)("select",{value:h??"",onChange:a=>e(a.target.value||null),className:"min-h-8 rounded-lg border border-input bg-background px-2 outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,N.jsx)("option",{value:"",children:b("defaultLanguage")}),g.map(a=>(0,N.jsx)("option",{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)(nL,{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 nO(a){if(!a)return null;try{let b=new URL(a);return["https:","http:"].includes(b.protocol)?b.href:null}catch{return null}}function nP(a){let{t:b}=(0,aa.Bd)("pluginManagement"),{locale:c}=(0,cE.i)(),d=a.detail,e=a.installed&&a.installedVersion===d.version,f=nO(d.homepage),g=nO(d.repository);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:[d.official?(0,N.jsx)("span",{className:"rounded-md bg-secondary px-2 py-1 text-secondary-foreground",children:b("official")}):null,(0,N.jsx)("span",{children:b(`kind_${d.kind}`)}),(0,N.jsx)("span",{className:"[overflow-wrap:anywhere]",children:d.publisher??b("unknownPublisher")})]}),(0,N.jsx)("p",{className:"text-sm text-muted-foreground [overflow-wrap:anywhere]",children:d.description?(0,cD.fD)(d.description,c):b("noPluginDescription")}),(0,N.jsxs)("label",{className:"flex flex-wrap items-center gap-2 text-sm",children:[b("version"),(0,N.jsx)("select",{value:d.version,onChange:b=>a.onVersion(b.target.value),className:"min-h-8 min-w-0 max-w-full rounded-lg border border-input bg-background px-2 outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[...new Set([d.version,...d.versions])].map(a=>(0,N.jsx)("option",{value:a,children:a},a))})]}),(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:b(!0===d.compatible?"compatible":!1===d.compatible?"incompatible":"compatibilityUnknown")}),d.compatibilityNote?(0,N.jsx)("p",{className:"text-sm text-muted-foreground [overflow-wrap:anywhere]",children:d.compatibilityNote}):null,(0,N.jsxs)("div",{className:"flex flex-wrap gap-3 text-sm",children:[f?(0,N.jsx)("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-4",children:b("homepage")}):null,g?(0,N.jsx)("a",{href:g,target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-4",children:b("repository")}):null]}),e?null:(0,N.jsx)(db,{id:"plugin-detail-download",mode:a.downloadMode,registry:a.downloadRegistry,override:!0,onMode:a.onDownloadMode,onRegistry:a.onDownloadRegistry}),(0,N.jsx)("div",{className:"flex flex-wrap items-center gap-2",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",variant:"outline",disabled:a.disabled,onClick:a.onUpdate,children:b("update")}):null]}):(0,N.jsx)(ae.$,{size:"sm",disabled:a.disabled,onClick:a.onInstall,children:b(a.installed?"installVersion":"install")})}),a.error?(0,N.jsx)("p",{role:"alert",className:"text-sm text-destructive [overflow-wrap:anywhere]",children:a.error}):null]}),(0,N.jsx)("div",{className:"border-t pt-4",children:(0,N.jsx)(nN,{readme:d.readme},`${d.name}@${d.version}`)})]})}var nQ=c(13221);function nR(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)(nQ.T,{id:"plugin-direct-source",value:a.source,placeholder:b("batchSourcePlaceholder"),rows:3,onChange:b=>a.onSource(b.target.value)}),a.isNpm||a.multiple?(0,N.jsxs)(N.Fragment,{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)(dv,{value:a.tag,label:b("installChannel"),placeholder:b("defaultChannel"),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)(bZ.l6,{value:a.selectedVersion,disabled:a.loading,items:[{value:"",label:b("automaticVersion")},...[...new Set([a.detail.version,...a.detail.versions])].map(a=>({value:a,label:a}))],onValueChange:b=>{null!==b&&a.onVersion(b)},children:[(0,N.jsx)(bZ.bq,{"aria-label":b("version"),className:"max-w-full",children:(0,N.jsx)(bZ.yv,{})}),(0,N.jsxs)(bZ.gC,{positionerClassName:"z-[160]",children:[(0,N.jsx)(bZ.eb,{value:"",children:b("automaticVersion")}),[...new Set([a.detail.version,...a.detail.versions])].map(a=>(0,N.jsx)(bZ.eb,{value:a,children:a},a))]})]}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:b("targetVersion",{version:a.detail.version})})]}):null,(0,N.jsx)(db,{id:"plugin-direct-download",mode:a.override,registry:a.registry,override:!0,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 nS({open:a,title:b,confirmation:c,onClose:d,onConfirm:e,children:f}){let{t:g}=(0,aa.Bd)("pluginManagement"),h=c?g(c_(c)):null;return(0,N.jsx)(ce.YV,{open:a,onOpenChange:a=>{a||d()},children:(0,N.jsxs)(ce.hA,{finalFocus:!0,className:c?"max-w-lg":"h-[min(85dvh,52rem)] max-w-3xl",children:[(0,N.jsxs)(ce.Hl,{className:"p-4 pr-12",children:[(0,N.jsx)(ce.YM,{className:"min-w-0 [overflow-wrap:anywhere]",children:c?g("confirmAction",{action:h}):b}),(0,N.jsx)(ce.uX,{children:g(c?"del"===c.kind||"batch"===c.kind&&"del"===c.input.action?"removeDescription":"add"===c.kind||"batch"===c.kind&&"add"===c.input.action?"thirdPartyDescription":"reload"===c.kind?"normal"===c.mode?"restartNormalDescription":"restartDescription":"confirmChange":"pluginDetails")})]}),(0,N.jsx)(ce._Y,{className:"min-h-0",children:(0,N.jsx)("div",{className:"min-w-0 p-4 pt-0",children:c?"batch"===c.kind?(0,N.jsx)("ul",{className:"space-y-2 text-sm",children:("add"===c.input.action?c.input.items.map(a=>a.source):c.input.sources).map(a=>(0,N.jsx)("li",{className:"font-medium [overflow-wrap:anywhere]",children:a},a))}):"add"===c.kind?(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:g("packageName")}),(0,N.jsx)("dd",{className:"mt-1 font-medium [overflow-wrap:anywhere]",children:c.package?.name??c.input.source})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:g("version")}),(0,N.jsx)("dd",{className:"[overflow-wrap:anywhere]",children:c.package?.version??cY(c.input.source)?.version??g("fromSource")})]}),c.input.tag?(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:g("installChannel")}),(0,N.jsx)("dd",{children:c.input.tag})]}):null,(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:g("publisher")}),(0,N.jsx)("dd",{className:"[overflow-wrap:anywhere]",children:c.package?.publisher??g("unknownPublisher")})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{className:"text-muted-foreground",children:g("source")}),(0,N.jsx)("dd",{className:"[overflow-wrap:anywhere]",children:c.input.registry??c.package?.registry??c.input.source})]})]}):"reload"!==c.kind?(0,N.jsx)("p",{className:"text-sm font-medium [overflow-wrap:anywhere]",children:c.source}):null:f})}),c?(0,N.jsxs)(ce.vu,{children:[(0,N.jsx)(ae.$,{size:"sm",variant:"outline",onClick:d,children:g("cancel")}),(0,N.jsx)(ae.$,{size:"sm",variant:"del"===c.kind||"batch"===c.kind&&"del"===c.input.action?"destructive":"default",onClick:()=>e(c),children:h})]}):null]})})}function nT({basicMode:a=!1,snapshot:b,biz:c,onSnapshot:d,onRestartScheduled:e}){let{t:f}=(0,aa.Bd)("pluginManagement"),{locale:g}=(0,cE.i)(),[h,i]=(0,O.useState)("installed"),[j,k]=(0,O.useState)(""),[l,m]=(0,O.useState)(""),[n,o]=(0,O.useState)(()=>new Set),[p,q]=(0,O.useState)(""),[r,s]=(0,O.useState)(!1),t=function({biz:a,snapshot:b,onSnapshot:c,onRestartScheduled:d}){let{t:e}=(0,aa.Bd)("pluginManagement"),f=(0,bQ.t4)();(0,bQ.So)();let[g,h]=(0,O.useState)(!1),[i,j]=(0,O.useState)(()=>new Set),k=(0,O.useRef)(new Set),[l,m]=(0,O.useState)(null),[n,o]=(0,O.useState)({}),[p,q]=(0,O.useState)(null),[r,s]=(0,O.useState)(null),[t,u]=(0,O.useState)(!1),[v,w]=(0,O.useState)(null),x=(0,O.useRef)(0),y=(0,O.useRef)(0),z=(0,O.useRef)(!0),A=(a,b)=>{b?k.current.add(a):k.current.delete(a),z.current&&j(new Set(k.current))},B=(a,b)=>{z.current&&o(c=>{let d={...c};return b?d[a]=b:delete d[a],d})},C=a=>{let c=c$(a);return k.current.has(c)||!!b?.plugins.some(a=>c$(a.source)===c&&a.operation&&"failed"!==a.operation.phase)},D=async(b=!1)=>{let d=++y.current,e=await a.list(b);z.current&&d===y.current&&c(e)},E=async b=>{let d="add"===b.action?b.items.map(a=>a.source):b.sources,f=d.filter(a=>!C(a));if(d.filter(C).forEach(a=>B(c$(a),e("sourceBusy"))),!f.length)return;let g=f.map(c$);g.forEach(a=>{A(a,!0),B(a,null)}),m(null);try{let d="add"===b.action?{...b,items:b.items.filter(a=>f.includes(a.source))}:{...b,sources:f},e=await a.batch(d);if(!z.current)return;y.current+=1,c(e.snapshot),e.results.forEach(a=>B(c$(a.source),a.error))}catch(b){let a=b instanceof Error?b.message:e("batchFailed");g.forEach(b=>B(b,a))}finally{g.forEach(a=>A(a,!1))}},F=async b=>{if("batch"===b.kind)return void await E(b.input);if("reload"!==b.kind&&C("add"===b.kind?b.input.source:b.source))return;let f="reload"===b.kind?"reload":c$("add"===b.kind?b.input.source:b.source);if(!k.current.has(f)){A(f,!0),m(null),B(f,null);try{let e="add"===b.kind?await a.add(b.input):"update"===b.kind?await a.update(b.source):"del"===b.kind?await a.del(b.source):"enable"===b.kind||"disable"===b.kind?await a.setEnabled(b.source,"enable"===b.kind):await a.reload(b.mode);if(!z.current)return;y.current+=1,c(e),"reload"===b.kind?d():await D()}catch(a){B(f,a instanceof Error?a.message:e("actionFailed",{action:e(c_(b))}))}finally{A(f,!1)}}},G=(a,b)=>{let c={kind:"add",input:a,package:b};b?.official===!0?F(c):m(c)},H=async b=>{let d=b?.[0]?c$(b[0]):"apply";if(!k.current.has(d)){A(d,!0),B(d,null);try{let d=await a.apply(b);z.current&&(y.current+=1,c(d),await D())}catch(a){B(d,a instanceof Error?a.message:e("actionFailed",{action:e("reloadOne")}))}finally{A(d,!1)}}},I=async(a,b)=>{if(!k.current.has(a)){A(a,!0),B(a,null);try{await b()}catch(b){B(a,b instanceof Error?b.message:e("retryFailed"))}finally{A(a,!1)}}},J=async b=>{let c=++x.current;u(!0),w(null);try{let d=await a.get(b);z.current&&c===x.current&&s(d)}catch(a){z.current&&c===x.current&&w(a instanceof Error?a.message:e("detailFailed"))}finally{z.current&&c===x.current&&u(!1)}};return{loading:g,requests:i,confirmation:l,setConfirmation:m,errors:n,detailSource:p,detail:r,detailLoading:t,detailError:v,pluginHost:f,refresh:async(a,c)=>{if(k.current.has("check"))return;let d=a??b?.plugins.filter(a=>"package"===a.kind&&(!c||a.updateTag===c)).map(a=>a.source)??[],f=d.filter(C),g=d.filter(a=>!C(a));if(f.forEach(a=>B(c$(a),e("sourceBusy"))),!g.length)return;if(f.length&&g.length>32)return void B("list",e("batchLimit"));let i=g.map(c$);A("check",!0),i.forEach(a=>A(a,!0)),h(!0),B("list",null);try{await D({checkUpdates:!0,...a||f.length?{sources:g}:{},...c?{tag:c}:{}})}catch(a){B("list",a instanceof Error?a.message:e("updateCheckFailed"))}finally{A("check",!1),i.forEach(a=>A(a,!1)),z.current&&h(!1)}},executeBatch:E,execute:F,requestInstall:G,applyChanges:H,loadDetail:J,openDetail:a=>{q(a),s(null),J(a)},closeDetail:()=>{x.current+=1,q(null),s(null),w(null),u(!1)},handleControlAction:(a,b)=>{switch(b){case"reload":H([a.source]);break;case"update":F({kind:"update",source:a.source});break;case"remove":m({kind:"del",source:a.source});break;case"enable":case"disable":F({kind:b,source:a.source});break;case"retry-browser":a.pluginName&&I(`entry:${a.pluginName}`,()=>f.retryEntry(a.pluginName));break;case"retry":{let b=a.operation?.action;"apply"===b?H([a.source]):"add"===b?G({source:a.source}):b&&F({kind:b,source:a.source})}}},refreshEntries:()=>I("entries",()=>f.refreshEntries())}}({biz:c,snapshot:b,onSnapshot:d,onRestartScheduled:e}),u=b?.plugins.filter(a=>n.has(c$(a.source))).map(a=>a.source)??[],v=u.filter(a=>a.startsWith("npm:")),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),B(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?c1.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),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:c2.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){let{t:b}=(0,aa.Bd)("pluginManagement"),[c,d]=(0,O.useState)(null),[e,f]=(0,O.useState)("auto"),[g,h]=(0,O.useState)(""),[i,j]=(0,O.useState)(!1),[k,l]=(0,O.useState)(!1),[m,n]=(0,O.useState)(null),o=(0,O.useRef)(!0),p=(0,O.useRef)(!1),q=(0,O.useRef)(0),r=(0,O.useRef)("load"),s=async()=>{let c=q.current;j(!0),n(null);try{let b=await a.getCatalogSettings();if(!o.current)return;c===q.current?(d(b),f(b.downloadSource.mode),"custom"===b.downloadSource.mode&&h(b.downloadSource.registry)):d(a=>a??b)}catch(a){r.current="load",o.current&&n(a instanceof Error?a.message:b("settingsFailed"))}finally{o.current&&j(!1)}},t=async(c=e)=>{if(p.current)return;let h=c2.safeParse("custom"===c?{mode:c,registry:g}:{mode:c});if(!h.success){r.current="save",n(b("invalidRegistry"));return}p.current=!0,l(!0),n(null);try{let b=await a.saveCatalogSettings(h.data);o.current&&(d(b),f(b.downloadSource.mode))}catch(a){r.current="save",o.current&&n(a instanceof Error?a.message:b("settingsFailed"))}finally{p.current=!1,o.current&&l(!1)}};return{settings:c,mode:e,registry:g,setRegistry:a=>{q.current+=1,h(a)},loading:i,saving:k,error:m,load:s,save:t,changeMode:a=>{q.current+=1,f(a),"custom"!==a&&t(a)},retry:()=>"save"===r.current?t():s()}}(c),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?cY(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=>cY(a.source)?.name===y.name)?.updateTag,g=y.version??(h||f||"latest"),i=""===d?g:d??j??g;if("custom"===r){let a=c1.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:c2.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(cY);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||t.requests.has("reload"),A=new Map(t.pluginHost.getFailedEntries().map(a=>[a.pluginName,a.error.message])),B=t.pluginHost.getEntryListError(),C=b?.plugins.find(a=>a.source===t.detailSource),D=w.selection?b?.plugins.find(a=>a.source.startsWith("npm:")&&cY(a.source)?.name===w.selection?.name):void 0,E=w.selection?c$(`npm:${w.selection.name}`):"",F=c$(y.detail?`npm:${y.detail.name}`:y.spec?`npm:${y.spec.name}`:y.source.trim()),G=b?.plugins.find(a=>c$(a.source)===F),H=t.requests.has(E)||!!(D?.operation&&"failed"!==D.operation.phase),I=y.sources.length>0&&y.sources.every(a=>{let c=c$(a),d=b?.plugins.find(a=>c$(a.source)===c);return t.requests.has(c)||!!(d?.operation&&"failed"!==d.operation.phase)}),J=y.sources.map(a=>{let c=c$(a),d=b?.plugins.find(a=>c$(a.source)===c),e=t.errors[c]??(d?.operation?.phase==="failed"?d.operation.message:null);return e?`${a}: ${e}`:null}).filter(Boolean).join("\n"),K=a=>{let c=b?.plugins.find(b=>cY(b.source)?.name===a.name),d=p||c?.updateTag;return d?{...a,version:d}:a},L=a=>a?f(`phase_${a}`):null;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:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,N.jsx)("h2",{className:"text-xl font-semibold",children:f("title")}),(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,N.jsxs)(cF.AM,{children:[(0,N.jsxs)(cF.Wv,{render:(0,N.jsx)(ae.$,{size:"sm",variant:"outline"}),children:[f("downloadSource"),":",x.loading&&!x.settings?f("loading"):f(`download_${x.settings?.downloadSource.mode??x.mode}`),(0,N.jsx)(cx.A,{className:"size-4"})]}),(0,N.jsx)(cF.hl,{align:"end",positionerClassName:"z-[150]",children:(0,N.jsx)(db,{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:t.requests.has("reload"),onClick:()=>t.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,cD.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:t.requests.has("entries"),onClick:()=>void t.refreshEntries(),children:f("retry")})]}):null]}):null,t.errors.reload||t.errors.entries?(0,N.jsx)("p",{role:"alert",className:"text-sm text-destructive [overflow-wrap:anywhere]",children:t.errors.reload??t.errors.entries}):null]}),(0,N.jsx)("div",{role:"tablist","aria-label":f("title"),className:"flex shrink-0 gap-1 border-b px-4 pt-2 sm:px-6",children:["installed","search"].map(a=>(0,N.jsx)("button",{id:`plugin-tab-${a}`,type:"button",role:"tab","aria-selected":h===a,"aria-controls":`plugin-panel-${a}`,tabIndex:h===a?0:-1,className:`min-h-9 border-b-2 px-3 text-sm font-medium outline-none transition-colors focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring ${h===a?"border-primary text-foreground":"border-transparent text-muted-foreground hover:bg-accent"}`,onClick:()=>i(a),onKeyDown:a=>{if(["ArrowLeft","ArrowRight","Home","End"].includes(a.key)){a.preventDefault();let b="Home"===a.key?"installed":"End"===a.key||"installed"===h?"search":"installed";i(b),document.getElementById(`plugin-tab-${b}`)?.focus()}},children:f("installed"===a?"installedTab":"searchPlugins")},a))}),(0,N.jsx)("div",{id:"plugin-panel-installed",role:"tabpanel","aria-labelledby":"plugin-tab-installed",tabIndex:0,hidden:"installed"!==h,className:`pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto p-4 outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring sm:p-6 ${"installed"!==h?"hidden":""}`,children:(0,N.jsxs)("div",{className:"space-y-4",children:[y.open?(0,N.jsx)(nR,{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:I,disabled:z,error:y.error??(J||null)??(G?.operation?.phase==="failed"?G.operation.message:null),operationMessage:I?L(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(t.requestInstall,a=>t.setConfirmation({kind:"batch",input:{action:"add",items:a}})),onClose:()=>y.setOpen(!1)}):null,(0,N.jsx)(dw,{snapshot:b,loading:t.loading,filter:j,channel:l,selected:n,onChannel:m,onSelect:(a,b)=>{o(c=>{let d=new Set(c);return a.forEach(a=>{b?d.add(a):d.delete(a)}),d})},onCheckSelected:()=>void t.refresh(v),onUpdateSelected:()=>void t.executeBatch({action:"update",sources:u}),onRemoveSelected:()=>t.setConfirmation({kind:"batch",input:{action:"del",sources:u}}),onTagSelected:a=>void t.executeBatch({action:"tag",sources:v,tag:a}),disabled:z,requests:t.requests,errors:t.errors,browserErrors:A,onFilter:k,onDetail:a=>{w.closeDetail(),t.openDetail(a)},onAction:t.handleControlAction,onDirectInstall:()=>y.setOpen(!0),onRefresh:()=>void t.refresh(void 0,l||void 0)})]})}),(0,N.jsx)("div",{id:"plugin-panel-search",role:"tabpanel","aria-labelledby":"plugin-tab-search",tabIndex:0,hidden:"search"!==h,className:`pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto p-4 outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring sm:p-6 ${"search"!==h?"hidden":""}`,children:(0,N.jsx)(dx,{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:t.requests,preparing:w.preparing,errors:t.errors,installErrors:w.installErrors,onQuery:w.setQuery,onCompositionStart:w.beginComposition,onCompositionEnd:w.endComposition,onKind:w.setKind,onSearchSource:w.setSearchSource,onRegistry:w.setRegistry,onDetail:a=>{t.closeDetail(),s(!1),w.openDetail(K(a))},onInstall:a=>{w.prepareInstall(K(a),a=>t.requestInstall({source:`npm:${a.name}`,registry:a.registry,...p?{tag:p}:{}},a))},onUpdate:a=>void t.execute({kind:"update",source:a}),onMore:w.loadMore,onRetry:w.retry})}),(0,N.jsx)(nS,{open:!!(t.confirmation||t.detailSource||w.selection),title:C?cZ(C):w.selection?.name??f("details"),confirmation:t.confirmation,onClose:()=>{t.confirmation?t.setConfirmation(null):(t.closeDetail(),w.closeDetail())},onConfirm:a=>void t.execute(a),children:C?(0,N.jsxs)("div",{className:"min-w-0 space-y-5",children:[t.detail?.readme?(0,N.jsx)(nN,{readme:t.detail.readme},C.source):null,(0,N.jsx)(cX,{plugin:C,detail:t.detail,detailLoading:t.detailLoading,detailError:t.detailError,browserContributions:C.pluginName?t.pluginHost.getRegisteredBrowserDescriptors().find(a=>a.pluginName===C.pluginName)?.contributions??[]:[],onRetry:()=>void t.loadDetail(C.source)})]}):w.selection?w.detailLoading?(0,N.jsx)("p",{role:"status",className:"py-4 text-sm text-muted-foreground",children:f("loadingPackage")}):w.detailError?(0,N.jsxs)("div",{role:"alert",className:"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")})]}):w.detail?(0,N.jsxs)("div",{className:"min-w-0 space-y-4",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,N.jsx)("span",{children:f("installChannel")}),(0,N.jsx)(dv,{value:p,label:f("installChannel"),placeholder:f("defaultChannel"),disabled:H,onChange:a=>{q(a),s(!1),w.loadDetail(w.selection,a||D?.updateTag||"latest")}})]}),(0,N.jsx)(nP,{detail:w.detail,disabled:z,pending:H,installed:!!(D&&(D.operation?.action!=="add"||"failed"!==D.operation.phase)),installedVersion:D?.version??null,updateAvailable:!!D?.updateAvailable,error:w.installErrors[w.detail.name]??t.errors[E]??(D?.operation?.phase==="failed"?D.operation.message:null),operationMessage:L(D?.operation?.phase),downloadMode:w.downloadMode,downloadRegistry:w.downloadRegistry,onDownloadMode:w.setDownloadMode,onDownloadRegistry:w.setDownloadRegistry,onVersion:a=>{s(!0),w.loadDetail(w.selection,a)},onInstall:()=>w.installDetail((a,b)=>t.requestInstall({...a,source:r?a.source:`npm:${b.name}`,...p?{tag:p}:{}},b)),onUpdate:()=>{D&&t.execute({kind:"update",source:D.source})}})]}):null:t.detailSource?(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:f("pluginRemoved")}):null})]})}var nU=c(98945);let nV=Q.Yj().trim().min(1).max(2048),nW=Q.YO(nV).min(1).max(32),nX=Q.Ik({phase:Q.k5(["package","entry","setup","resources","resolve","native"]),message:cD.qf.refine(a=>"string"==typeof a?a.length>0:a.default.length>0)}).strict(),nY=Q.Yj().trim().min(1).max(4096),nZ=Q.Yj().trim().min(1).max(256),n$=Q.Yj().max(32768),n_=Q.Ik({name:nZ,label:n$,state:Q.k5(["active","inactive","shadowed"]),description:n$,promptSnippet:n$.nullable(),promptGuidelineCount:Q.ai().int().nonnegative(),promptGuidelinePreview:n$.nullable()}).strict(),n0=Q.Ik({name:nZ,label:n$,state:Q.k5(["active","inactive","shadowed"]),description:n$,parameters:nU.Dz,promptSnippet:n$.nullable(),promptGuidelines:Q.YO(n$)}).strict(),n1=Q.Ik({path:nY,events:Q.YO(Q.Ik({name:nZ,count:Q.ai().int().positive()}).strict()),commands:Q.YO(Q.Ik({name:nZ,description:n$.nullable()}).strict()),shortcuts:Q.YO(Q.Ik({shortcut:nZ,description:n$.nullable()}).strict()),flags:Q.YO(Q.Ik({name:nZ,type:Q.k5(["boolean","string"]),description:n$.nullable(),default:Q.KC([Q.zM(),Q.Yj(),Q.ch()])}).strict()),messageRenderers:Q.YO(nZ),entryRenderers:Q.YO(nZ)}).strict(),n2=Q.Ik({name:nZ,description:n$,path:nY}).strict(),n3=n2.extend({modelVisible:Q.zM()}).strict(),n4=n2.extend({content:Q.Yj().max(65536),truncated:Q.zM()}).strict(),n5=n4.extend({modelVisible:Q.zM()}).strict(),n6=Q.Ik({name:nZ,path:nY}).strict(),n7=Q.Ik({name:nZ,kind:Q.k5(["config","native"])}).strict(),n8=Q.Ik({methods:Q.YO(Q.Ik({pluginName:nZ,method:nZ}).strict()),browserEntries:Q.YO(Q.Ik({pluginName:nZ}).strict()),messageDeclarations:Q.YO(Q.Ik({pluginName:nZ,declarationName:nZ,priority:Q.ai().int().safe()}).strict())}).strict(),n9=Q.Ik({error:cD.qf.refine(a=>"string"==typeof a?a.length<=32768:[a.default,...Object.values(a.translations)].every(a=>a.length<=32768)).nullable(),extensions:Q.YO(n1),tools:Q.YO(n_),skills:Q.YO(n3),prompts:Q.YO(n2),themes:Q.YO(n6),providers:Q.YO(n7),piDesk:n8}).strict(),oa=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(),ob=(0,R._G)({path:"plugins/management-update",bodySchema:Q.Ik({}).strict()}),oc=Q.Ik({source:nV,kind:Q.k5(["package","extension"]).default("package"),operation:oa.nullable().default(null),pluginName:Q.Yj().trim().min(1).nullable(),description:cD.qf.nullable().default(null),version:Q.Yj().trim().min(1).nullable(),updateAvailable:Q.zM().nullable(),updateTag:c0.nullable().optional(),availableVersion:Q.Yj().min(1).nullable().optional(),updateError:Q.Yj().max(4e3).nullable().optional(),status:Q.k5(["ready","available","disabled","failed"]),error:nX.nullable(),capabilities:n9}).strict(),od=Q.Ik({source:nV,readme:cD.qf.nullable().default(null),tools:Q.YO(n0),skills:Q.YO(n5),prompts:Q.YO(n4)}).strict(),oe=Q.Ik({plugins:Q.YO(oc),restartRequired:Q.zM(),loadError:cD.qf.refine(a=>"string"==typeof a?a.length>0:a.default.length>0).nullable()}).strict(),of=Q.Ik({sources:Q.YO(nV).min(1).max(32).optional()}).strict(),og=Q.Ik({}).strict().extend({mode:Q.k5(["normal","basic"]).optional()}).strict(),oh=Q.Ik({checkUpdates:Q.zM().optional(),sources:nW.optional(),tag:c0.optional()}).strict(),oi=Q.Ik({source:nV}).strict(),oj=oi.extend({downloadSource:c2.optional(),registry:c1.optional(),tag:c0.optional()}).strict(),ok=Q.gM("action",[Q.Ik({action:Q.eu("add"),items:Q.YO(oj).min(1).max(32)}).strict(),Q.Ik({action:Q.eu("update"),sources:nW}).strict(),Q.Ik({action:Q.eu("del"),sources:nW}).strict(),Q.Ik({action:Q.eu("tag"),sources:nW,tag:c0}).strict()]),ol=Q.Ik({snapshot:oe,results:Q.YO(Q.Ik({source:nV,error:Q.Yj().max(4e3).nullable()}).strict()).max(32)}).strict(),om=oi.extend({enabled:Q.zM()}).strict();async function on(a,b,c,d){return b2(a,b,c,d,{fallbackMessage:"插件管理请求失败"})}function oo({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)(cA,{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 op({pluginName:a,descriptor:b,onClose:c,onBeforeLeaveChange:d}){let e=(0,bQ.t4)();(0,bQ.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)(cA,{pluginName:a,kind:"settings-page",contributionName:b.contributionName,target:g,className:"pi-desk-chat-scrollbar h-full min-h-0 overflow-auto"})}let oq=(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 or=c(91477);let os=(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 ot=c(9665),ou=c(60816);let ov="1.1.1".trim()||"未知",ow="2026-10-09T23:49:04+08:00".trim()||null;var ox=c(68578);let oy={current:null},oz={current:!1},oA="u">typeof window;function oB(){if(oz.current=!0,oA)if(window.matchMedia){let a=window.matchMedia("(prefers-reduced-motion)"),b=()=>oy.current=a.matches;a.addEventListener("change",b),b()}else oy.current=!1}function oC(){oz.current||oB();let[a]=(0,O.useState)(oy.current);return a}let oD="pi-desk:power-saving",oE="pi-desk:power-saving-change",oF=null;function oG(){if(null!==oF)return oF;try{oF="true"===window.localStorage.getItem(oD)}catch{oF=!1}return oF}function oH(a){let b=b=>{(null===b.key||b.key===oD)&&(oF=null,a())};return window.addEventListener(oE,a),window.addEventListener("storage",b),()=>{window.removeEventListener(oE,a),window.removeEventListener("storage",b)}}function oI(){return(0,O.useSyncExternalStore)(oH,oG,()=>!1)}function oJ(a,b){oC(),oI(),(0,O.useRef)(null)}var oK=c(22207),oL=c(57537),oM=c(5090),oN=c(96478),oO=c(23423),oP=c(51949);let oQ=Q.Yj().min(1).max(oP.uV).refine(a=>!a.includes("\0")&&(a.startsWith("/")||a.startsWith("\\\\")||/^[a-zA-Z]:[\\/]/.test(a)),"必须是绝对路径"),oR=Q.Ik({cwd:oO.m4.nullable()}).strict(),oS=Q.Ik({skillPath:oQ,name:Q.Yj().min(1),description:Q.Yj(),packageSource:Q.Yj().nullable()}).strict(),oT=Q.Ik({skills:Q.YO(oS),diagnostics:Q.YO(Q.Ik({path:Q.Yj(),message:cD.qf}).strict())}).strict(),oU=oR.extend({skillPath:oQ}),oV=oU.extend({path:oP.rh}).strict(),oW=Q.Ik({entries:Q.YO(Q.Ik({name:Q.Yj().min(1),type:Q.k5(["directory","file"])}).strict()).max(oP.xm),truncated:Q.zM()}).strict(),oX=oU.extend({path:oP._g}).strict(),oY=Q.gM("kind",[Q.Ik({kind:Q.eu("text"),content:Q.Yj(),size:Q.ai().int().nonnegative().max(oP.NL),readOnlyReason:cD.qf.nullable()}).strict(),Q.Ik({kind:Q.eu("image"),mimeType:oP.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()]),oZ=oX.extend({content:Q.Yj().max(oP.NL)}).strict(),o$=Q.Ik({}).strict(),o_={path:"/api/skills/list",request:oR,response:oT},o0={path:"/api/skill-files/list",request:oV,response:oW},o1={path:"/api/skill-files/get",request:oX,response:oY},o2={path:"/api/skill-files/replace",request:oZ,response:o$},o3=Q.Ik({code:Q.ai(),msg:Q.Yj(),data:Q.L5(),i18n:oM.N.optional()});async function o4(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=o3.parse(await e.json());if(!e.ok||0!==f.code||null===f.data)throw Error(f.msg?(0,b1.B)(f):"Skills 请求失败");return b.response.parse(f.data)}function o5(a){(0,oN.ZQ)({wrapLines:a})}async function o6(a){let b=a.skillPath.replaceAll("\\","/");await navigator.clipboard.writeText(b.slice(0,b.lastIndexOf("/")+1)+a.path)}var o7=c(60632);function o8(a){return(0,b1.B)({msg:o7.P["zh-CN"][a],i18n:{key:`skills:${a}`}})}function o9(a){return JSON.stringify(a)}function pa(a){return JSON.stringify([a.cwd,a.skillPath,a.path])}function pb(a){return a.replace(/\r\n|\r/g,"\n")}function pc(a){return a?.file?.kind==="text"&&a.draft!==pb(a.file.content)}let pd=(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"}]]),pe=(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 pf=c(51314);function pg(a){let{t:b}=(0,aa.Bd)("common"),{wrapLines:c}=(0,oN.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 ph=c(85544);function pi({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)(ph.k,{mode:"inline",slides:d,className:"h-full w-full",ariaLabel:c("imagePreview")})}function pj(a){let{document:b,skill:c,dirty:d,loading:e,saving:f,opening:g}=a,{t:h}=(0,aa.Bd)("skills"),{locale:i}=(0,cE.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)(pd,{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)(pe,{className:"size-3.5"}):(0,N.jsx)(bA.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)(bT.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)(bS,{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)(pe,{className:"mt-0.5 size-3.5 shrink-0"}),(0,N.jsx)("p",{children:(0,cD.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)(pg,{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)(pi,{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)(pd,{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)(pf.A,{className:"size-3.5"}),h("wrapLines")]})]})]})}function pk({open:a,saving:b,path:c,error:d,onDecide:e}){let{t:f}=(0,aa.Bd)("skills");return(0,N.jsx)(ce.YV,{open:a,onOpenChange:a=>{a||b||e("cancel")},children:(0,N.jsxs)(ce.hA,{className:"z-[150]",showCloseButton:!b,children:[(0,N.jsxs)(ce.Hl,{className:"p-4 pr-12",children:[(0,N.jsx)(ce.YM,{children:f("saveChangesTitle")}),(0,N.jsx)(ce.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)(ce.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 pl=c(5782);let pm=(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 pn=c(89101);function po(a,b){return!!(a&&a.cwd===b.cwd&&a.skillPath===b.skillPath&&a.path===b.path)}function pp({target:a,props:b,depth:c=0,skillName:d}){let{t:e}=(0,aa.Bd)("skills"),f=b.directories[pa(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)(pq,{target:h,props:b,depth:c,name:f.name,skillName:d},g);let i=po(b.selected,h),j=po(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)(pl.A,{className:"size-3.5 shrink-0"}):(0,N.jsx)(pd,{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 pq({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)(cx.A,{className:"size-3.5 shrink-0"}):(0,N.jsx)(bz.A,{className:"size-3.5 shrink-0"}),(0,N.jsx)(co.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)(pp,{target:a,props:b,depth:c+1,skillName:e})})]})}function pr({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}
643
643
  ${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)(cx.A,{className:"size-3.5 shrink-0 text-muted-foreground"}):(0,N.jsx)(bz.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)(pm,{"aria-label":d("packageSkill"),className:"size-3.5 shrink-0 text-muted-foreground"}):null]}),i&&(0,N.jsx)(pp,{target:{cwd:a,skillPath:b.skillPath,path:""},props:c,skillName:b.name})]})}function ps({cwd:a,name:b,props:c}){let{t:d}=(0,aa.Bd)("skills"),{locale:e}=(0,cE.i)(),f=c.selected?.cwd===a||c.pending?.cwd===a,[g,h]=(0,O.useState)(null),{onLoadScope:i}=c,j=c.scopes[o9(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)(cx.A,{className:"size-4 shrink-0"}):(0,N.jsx)(bz.A,{className:"size-4 shrink-0"}),p?(0,N.jsx)(cs,{className:"size-4 shrink-0 text-primary"}):(0,N.jsx)(co.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)(pr,{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,cD.fD)(a.message,e)}),(0,N.jsx)("p",{className:"mt-1 break-all text-xs",children:a.path})]},`${a.path}:${b}`))})]})]})]})}function pt(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)(pn.MG,{children:[(0,N.jsx)(pn.Sq,{children:(0,N.jsx)(b4.A,{className:"size-4"})}),(0,N.jsx)(pn.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)(ps,{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)(ps,{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 pu({projects:a,focusedCwd:b,onBeforeLeaveChange:c}){let{t:d}=(0,aa.Bd)("skills"),{clientId:e}=(0,bY.gM)(),f=(0,bR.G)(),g=(0,O.useMemo)(()=>({list:(a,b)=>o4(e,o_,a,b),listFiles:(a,b)=>o4(e,o0,a,b),getFile:(a,b)=>o4(e,o1,a,b),async replaceFile(a){await o4(e,o2,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=o9(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:o8("skillsReadFailed")}}))}finally{g.current.get(e)===f&&g.current.delete(e)}},[a]),j=(0,O.useCallback)(async b=>{let c=pa(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:o8("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,oN.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(!pc(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:o8("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(!pc(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()||pc(f.current)))return;if("discard"===a){let a=f.current;a?.file?.kind==="text"&&t({...a,draft:pb(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?pb(d.content):"",error:null}),!0}catch(a){if(!c.signal.aborted){let c=f.current,d=a instanceof Error?a.message:o8("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=pc(d);return{document:d,dirty:z,loading:h,openingTarget:j,saving:l,confirmOpen:q,wrapLines:c,setWrapLines:o5,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 o6(j.document.target),f.success(d("pathCopied"))}catch{f.error(d("copyFailed"))}},u=j.document?.target??null,v=u?h.scopes[o9(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)(ot.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)(oK.A,{className:"size-4"}):(0,N.jsx)(oL.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)(bV.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)(pt,{...x})}),(0,N.jsx)("main",{className:"min-h-0 min-w-0 flex-1",children:(0,N.jsx)(pj,{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)(ce.YV,{open:o,onOpenChange:p,children:(0,N.jsxs)(ce.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)(ce.Hl,{className:"shrink-0 border-b px-4 py-3 pr-12",children:(0,N.jsx)(ce.YM,{children:d("skillsFolderTitle")})}),(0,N.jsx)("div",{className:"min-h-0 flex-1",children:(0,N.jsx)(pt,{...x})})]})}),(0,N.jsx)(pk,{open:j.confirmOpen,saving:j.saving,path:u?.path??null,error:j.document?.error??null,onDecide:j.decide})]})}let pv=(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"}]]),pw=(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 px=c(99022);function py(){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)(ce.YV,{open:!0,onOpenChange:a=>{a||f(!1)},children:(0,N.jsxs)(ce.hA,{initialFocus:e,className:"z-[130] max-w-[27.5rem]",children:[(0,N.jsxs)(ce.Hl,{className:"p-4 pr-12",children:[(0,N.jsx)(ce.YM,{children:b.title}),(0,N.jsx)(ce.uX,{className:"break-words",children:b.description})]}),(0,N.jsxs)(ce.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 pz=c(76499);async function pA(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,b1.B)({msg:"登录保护设置处理失败",i18n:{key:"auth:settingsFailed"}}):(0,b1.B)(g));return d.parse(g.data)}async function pB(a){await pA(a,"/api/auth/logout",{},pz.Xm),window.location.replace("/login")}async function pC(a,b){let c=pz.uZ.safeParse(b);if(!c.success)throw Error((0,b1.B)({msg:"请填写至少 8 位密码",i18n:{key:"auth:settingsInvalid"}}));await pA(a,"/api/auth-settings/replace",c.data,pz.Kc),window.location.replace(null===b.password?"/":"/login")}function pD(){let{t:a}=(0,aa.Bd)("auth"),b=function(){let{t:a}=(0,aa.Bd)("auth"),{clientId:b}=(0,bY.gM)(),{confirm:c,dialog:d}=py(),[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 pC(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 pC(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 pB(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?bW:pv,{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)(pw,{"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)(px.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)(bz.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 pE=c(82589),pF=c(26213);let pG=Object.freeze({apply:(0,R.Vc)({path:"app-runtime/apply",inputSchema:pF.$C,outputSchema:pF.Pq}),update:(0,R._G)({path:"app-runtime/update",bodySchema:pF.YT})});var pH=c(37222);async function pI(a,b,c,d){let e=(0,pH.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(pG.apply,{key:"settings",update:{region:{locale:a}}})}catch{return"save-failed"}return f&&window.location.reload(),"changed"}async function pJ(a,b){try{return await b.request(pG.apply,{key:"settings",update:{region:{timeZone:a}}}),!0}catch{return!1}}function pK({canLeave:a}){let{t:b}=(0,aa.Bd)("settings"),c=(0,cE.i)(),{appSocket:d}=(0,bY.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 pI(c,b("common:reloadConfirm"),d,a);"save-failed"===e&&f(b("common:localeError")),"blocked"===e&&f(b("common:reloadBlocked"))},k=async a=>{f(await pJ(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)(bZ.l6,{value:c.localePreference,onValueChange:a=>{("zh-CN"===a||"en"===a)&&j(a)},children:[(0,N.jsx)(bZ.bq,{id:"region-language",className:"w-full",children:(0,N.jsx)(bZ.yv,{children:"zh-CN"===c.localePreference?b("common:chinese"):"English"})}),(0,N.jsxs)(bZ.gC,{positionerClassName:"z-[120]",children:[(0,N.jsx)(bZ.eb,{value:"zh-CN",children:b("common:chinese")}),(0,N.jsx)(bZ.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)(pE.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 pL=(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"}]]),pM=(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"}]]),pN=(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 pO=c(84524);function pP({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)(bA.A,{"aria-hidden":"true",className:(0,ag.cn)("size-4 shrink-0",!h&&"invisible")}):null]},a.value)})})}var pQ=c(72062),pR=c(2191),pS=c(84074),pT=c(96436),pU=c(47836),pV=c.n(pU);let pW={code:{copy:!0,download:!1}};function pX({href:a,children:b,...c}){return delete c.node,(0,N.jsx)("a",{...c,href:a,target:"_blank",rel:"noopener noreferrer",children:b})}function pY({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:pV().imageFallback,children:f("imageUnavailable")});let m=l[0].src;return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:pV().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)(pV().image,c),onError:a=>{j(!0),d?.(a)}}),(0,N.jsx)("span",{className:pV().imageAction,"aria-hidden":"true",children:(0,N.jsx)(at.A,{className:"size-4"})})]}),g?(0,N.jsx)(ph.k,{mode:"modal",open:!0,slides:l,ariaLabel:f("imagePreview"),onClose:()=>h(!1)}):null]})}function pZ({className:a,isAnimating:b,components:c,...d}){let e=(0,bR.G)(),{t:f}=(0,aa.Bd)("conversation"),{locale:g}=(0,cE.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,cG.x)(b).then(a=>{a||e.error(f("codeCopyFailed"))}))},children:(0,N.jsx)(nL,{className:(0,ag.cn)("space-y-0",pV().markdown,a),controls:pW,isAnimating:b,lineNumbers:!1,components:{...c,a:pX,img:pY},...d,translations:"zh-CN"===g?pT.X:void 0})})}let p$=[{value:"system",label:"common:system",icon:pL},{value:"light",label:"themeLight",icon:pM},{value:"dark",label:"themeDark",icon:pN}],p_=[{value:"compact",label:"sizeCompact"},{value:"standard",label:"sizeStandard"},{value:"large",label:"sizeLarge"}];function p0(){let{t:a}=(0,aa.Bd)("settings"),b=(0,O.useSyncExternalStore)(pQ.Cy,pQ.Is,()=>pO.Pl),c=oI(),d=(0,O.useSyncExternalStore)(pS.wm,pS.Ev,()=>pR.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)(pP,{label:a("theme"),layout:"segmented",value:b,options:p$.map(b=>({...b,label:a(b.label)})),onChange:pQ.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)(pP,{label:a("displaySize"),layout:"segmented",value:d,options:p_.map(b=>({...b,label:a(b.label)})),onChange:pS.$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)(pP,{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){oF=a;try{window.localStorage.setItem(oD,String(a))}catch(a){console.warn("[Pi Desk][Appearance] 省电模式保存失败,仅当前页面生效",a)}window.dispatchEvent(new Event(oE))})("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)(pZ,{mode:"static",isAnimating:!1,children:a("displayPreviewContent")})})]})]})]})}let p1=(0,ac.A)("circle-minus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),p2=(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"}]]),p3=(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"}]]),p4=(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 p5=c(3935),p6=c(52660);let p7=new Set,p8="activate";function p9(){}function qa(){return p9(),p8}function qb(a){if(p9(),p8!==a){p8=a;try{window.localStorage.setItem("pi-super:new-work-session-behavior",a)}catch{}for(let a of[...p7])a()}}function qc(a){return p7.add(a),()=>p7.delete(a)}let qd=[{value:"none",label:"behaviorNone",description:"behaviorNoneDescription",icon:p1,testId:"new-work-session-behavior-none"},{value:"activate",label:"behaviorActivate",description:"behaviorActivateDescription",icon:p2,testId:"new-work-session-behavior-activate"},{value:"pin",label:"behaviorPin",description:"behaviorPinDescription",icon:p3,testId:"new-work-session-behavior-pin"}],qe=[{value:"compressed",label:"imageCompressed",description:"imageCompressedDescription",icon:p4,testId:"image-preview-mode-compressed"},{value:"original",label:"imageOriginal",description:"imageOriginalDescription",icon:p5.A,testId:"image-preview-mode-original"}];function qf(){let{t:a}=(0,aa.Bd)("settings"),b=(0,O.useSyncExternalStore)(qc,qa,qa),c=(0,O.useSyncExternalStore)(p6.ku,p6.Wq,p6.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)(pP,{label:a("newSessionBehavior"),value:b,options:qd.map(b=>({...b,label:a(b.label),description:a(b.description)})),onChange:qb}),(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)(pP,{label:a("imagePreviewMode"),value:c,options:qe.map(b=>({...b,label:a(b.label),description:a(b.description)})),onChange:p6.lU}),(0,N.jsx)("p",{className:"mt-3 text-sm text-muted-foreground",children:a("imagePreviewApply")})]})]})]})}let qg=(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 qh=c(175),qi=c(41994);let qj=Q.Yj().trim().min(1).max(128),qk=Q.Yj().trim().min(1).max(256),ql=Q.Yj().trim().min(1).max(256),qm=Q.Yj().trim().min(1).nullable(),qn=Q.g1(Q.Yj().trim().min(1),Q.Yj()),qo=Q.Yj().trim().min(1).max(128),qp=Q.g1(Q.Yj(),Q.Pq()),qq=Q.Ik({level:qh.$,providerValue:Q.Yj().trim().min(1).nullable()}).strict(),qr=Q.Ik({input:Q.ai().nonnegative().finite(),output:Q.ai().nonnegative().finite(),cacheRead:Q.ai().nonnegative().finite(),cacheWrite:Q.ai().nonnegative().finite()}).strict(),qs=Q.Ik({supportsDeveloperRole:Q.zM().nullable(),thinkingFormat:Q.Yj().trim().min(1).max(128).nullable(),requiresReasoningContentOnAssistantMessages:Q.zM().nullable()}).strict(),qt=Q.Ik({modelId:qk,name:ql,api:qo.nullable(),baseUrl:qm,reasoning:Q.zM(),thinkingLevels:Q.YO(qq).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:qr.nullable(),headers:qn,compat:qs.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 思考等级"})}),qu=Q.Ik({provider:qj,name:qm,baseUrl:qm,api:qo.nullable(),apiKey:Q.Yj().nullable(),authHeader:Q.zM().nullable(),headers:qn,models:Q.YO(qt)}).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)}),qv=Q.Ik({provider:qj,modelId:qk,thinkingLevel:qh.$,color:Q.Yj().regex(/^#[0-9a-fA-F]{6}$/).nullable()}).strict(),qw=Q.Ik({provider:qj,modelId:qk,name:ql,input:Q.YO(Q.k5(["text","image"])).min(1).max(2),contextWindow:Q.ai().int().positive().max(Number.MAX_SAFE_INTEGER),thinkingLevels:Q.YO(qh.$).min(1).max(7)}).strict(),qx=Q.Ik({provider:qj,modelId:qk,thinkingLevel:qh.$}).strict(),qy=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:qr.partial().optional()}).strict(),qz=Q.Ik({provider:qj,modelId:qk,overrides:qy}).strict(),qA=Q.Ik({provider:qj,name:ql,loggedIn:Q.zM(),subscription:Q.zM(),models:Q.YO(qt)}).strict();Q.Ik({}).strict();let qB=Q.Ik({providers:Q.YO(qu),presets:Q.YO(qv),models:Q.YO(qw),nativeConfig:qp,accountModels:Q.YO(qz),accounts:Q.YO(qA)}).strict(),qC=Q.Ik({providers:Q.YO(qu).optional(),presets:Q.YO(qv).optional(),accountModels:Q.YO(qz).optional()}).strict().refine(a=>void 0!==a.providers||void 0!==a.presets||void 0!==a.accountModels,{message:"请提交需要保存的模型配置"}),qD=Q.KC([qC,Q.Ik({nativeConfig:qp}).strict()]),qE=Q.Ik({}).strict(),qF=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(),qG=Q.Ik({reasoning:Q.zM(),thinkingLevels:Q.YO(qq).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:qr.nullable()}).strict(),qH=Q.Ik({provider:qj,providerName:ql,modelId:qk,official:Q.zM(),defaults:qG}).strict(),qI=Q.Ik({referenceId:Q.Yj().trim().min(1).max(512),name:ql,match:Q.k5(["exact","similar"]).nullable(),sources:Q.YO(qH).min(1)}).strict(),qJ=Q.Ik({updatedAt:qi.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(qI)}).strict();Q.Ik({cwd:oO.m4}).strict();let qK=Q.Ik({cwd:oO.m4,default:qx.nullable(),models:Q.YO(qw)}).strict(),qL=Q.Ik({cwd:oO.m4,default:qx.nullable()}).strict(),qM=Q.Ik({}).strict(),qN=Q.Ik({cwd:oO.m4,sessionCount:Q.ai().int().nonnegative(),updatedAt:qi.k}).strict();Q.Ik({forceRefresh:Q.zM().default(!1)}).strict();let qO=Q.Ik({directories:Q.YO(qN)}).strict();Q.Ik({cwd:oO.m4,ignored:Q.zM()}).strict(),Q.Ik({}).strict();let qP=Q.Ik({cwd:oO.m4,name:Q.Yj().trim().min(1)}).strict();Q.Ik({cwd:oO.m4.nullable()}).strict();let qQ=Q.Ik({cwd:oO.m4.nullable(),parentCwd:oO.m4.nullable(),directories:Q.YO(qP)}).strict(),qR=Q.k5(["title","user","assistant","sessionId"]),qS=Q.Ik({scope:qR,count:Q.ai().int().positive(),entryId:oO.Rv.nullable(),timestampMs:qi.k.nullable(),preview:Q.Yj().min(1).max(160)}).strict(),qT=Q.Ik({sessionId:oO.$E,cwd:oO.m4,name:Q.Yj().nullable(),createdAt:qi.k,updatedAt:qi.k,messageCount:Q.ai().int().nonnegative(),userMessageCount:Q.ai().int().nonnegative(),firstMessage:Q.Yj().max(160),matches:Q.YO(qS).min(1).max(4).nullable()}).strict();Q.Ik({cwd:oO.m4,query:Q.Yj().trim().max(120).default(""),forceRefresh:Q.zM().default(!1),searchIn:Q.YO(qR).min(1).max(4).default(["title","user"])}).strict(),Q.Ik({cwd:oO.m4,sessions:Q.YO(qT)}).strict(),Q.Ik({cwd:oO.m4,sessionId:oO.$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 qU=Q.Ik({entryId:oO.Rv,timestampMs:qi.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(qU)}).strict();let qV=null,qW=null,qX=new Map;function qY(a){if(null===a)return"<root>";let b=a.replaceAll("\\","/");return/^[A-Za-z]:\//.test(b)?b.toLowerCase():b}function qZ(){}function q$(a,b){try{window.localStorage.setItem(a,JSON.stringify(b))}catch{}}function q_(a){qV=a,q$("pi-desk:pi-directories",a)}function q0(){}function q1(a){return q0(),qX.get(qY(a))??null}let q2=new Map;function q3(a){let b,c=qK.safeParse(a);if(!c.success)return;let d=(b=c.data.cwd.replaceAll("\\","/"),/^[A-Za-z]:\//.test(b)?b.toLowerCase():b);for(q2.delete(d),q2.set(d,c.data);q2.size>64;){let a=q2.keys().next().value;if(void 0===a)break;q2.delete(a)}try{window.localStorage.setItem("pi-desk:project-model-defaults",JSON.stringify(Object.fromEntries(q2)))}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 q4({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)(ce.YV,{open:a,onOpenChange:a=>{a||g()},children:(0,N.jsxs)(ce.hA,{className:"max-w-[52rem]",initialFocus:!1,showCloseButton:!d,children:[(0,N.jsxs)(ce.Hl,{className:"border-b px-4 py-4 pr-12",children:[(0,N.jsx)(ce.YM,{children:i("nativeConfig")}),(0,N.jsx)(ce.uX,{children:i("nativeConfigScope")})]}),(0,N.jsx)(ce._Y,{className:"max-h-[70dvh]",children:(0,N.jsxs)("div",{className:"space-y-3 p-4",children:[(0,N.jsx)(nQ.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)(ce.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 q5=c(71794);let q6="u">typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function q7(a){let b=Object.prototype.toString.call(a);return"[object Window]"===b||"[object global]"===b}function q8(a){return"nodeType"in a}function q9(a){var b,c;return a?q7(a)?a:q8(a)&&null!=(b=null==(c=a.ownerDocument)?void 0:c.defaultView)?b:window:window}function ra(a){let{Document:b}=q9(a);return a instanceof b}function rb(a){return!q7(a)&&a instanceof q9(a).HTMLElement}function rc(a){return a instanceof q9(a).SVGElement}function rd(a){return a?q7(a)?a.document:q8(a)?ra(a)?a:rb(a)||rc(a)?a.ownerDocument:document:document:document}let re=q6?O.useLayoutEffect:O.useEffect;function rf(a){let b=(0,O.useRef)(a);return re(()=>{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 rg(a,b){void 0===b&&(b=[a]);let c=(0,O.useRef)(a);return re(()=>{c.current!==a&&(c.current=a)},b),c}function rh(a,b){let c=(0,O.useRef)();return(0,O.useMemo)(()=>{let b=a(c.current);return c.current=b,b},[...b])}function ri(a){let b=rf(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 rj(a){let b=(0,O.useRef)();return(0,O.useEffect)(()=>{b.current=a},[a]),b.current}let rk={};function rl(a,b){return(0,O.useMemo)(()=>{if(b)return b;let c=null==rk[a]?0:rk[a]+1;return rk[a]=c,a+"-"+c},[a,b])}function rm(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 rn=rm(1),ro=rm(-1);function rp(a){if(!a)return!1;let{KeyboardEvent:b}=q9(a.target);return b&&a instanceof b}function rq(a){if(function(a){if(!a)return!1;let{TouchEvent:b}=q9(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 rr=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[rr.Translate.toString(a),rr.Scale.toString(a)].join(" ")}},Transition:{toString(a){let{property:b,duration:c,easing:d}=a;return b+" "+c+"ms "+d}}}),rs="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]",rt={display:"none"};function ru(a){let{id:b,value:c}=a;return P().createElement("div",{id:b,style:rt},c)}function rv(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 rw=(0,O.createContext)(null),rx={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 "},ry={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 rz(a){var b;let c,{announcements:d=ry,container:e,hiddenTextDescribedById:f,screenReaderInstructions:g=rx}=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=rl("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)(rw),(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(ru,{id:f,value:g.draggable}),P().createElement(rv,{id:j,announcement:i}));return e?(0,q5.createPortal)(m,e):m}function rA(){}function rB(a,b){return(0,O.useMemo)(()=>({sensor:a,options:null!=b?b:{}}),[a,b])}function rC(){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 rD=Object.freeze({x:0,y:0});function rE(a,b){return Math.sqrt(Math.pow(a.x-b.x,2)+Math.pow(a.y-b.y,2))}function rF(a,b){let{data:{value:c}}=a,{data:{value:d}}=b;return c-d}function rG(a,b){let{data:{value:c}}=a,{data:{value:d}}=b;return d-c}function rH(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 rI(a,b){if(!a||0===a.length)return null;let[c]=a;return b?c[b]:c}function rJ(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 rK=a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=rJ(b,b.left,b.top),f=[];for(let a of d){let{id:b}=a,d=c.get(b);if(d){let c=rE(rJ(d),e);f.push({id:b,data:{droppableContainer:a,value:c}})}}return f.sort(rF)},rL=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(rG)};function rM(a,b){return a&&b?{x:a.left-b.left,y:a.top-b.top}:rD}let rN=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})},rO={ignoreTransform:!1};function rP(a,b){void 0===b&&(b=rO);let c=a.getBoundingClientRect();if(b.ignoreTransform){let{transform:b,transformOrigin:d}=q9(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 rQ(a){return rP(a,{ignoreTransform:!0})}function rR(a,b){let c=[];return a?function d(e){var f,g;let h;if(null!=b&&c.length>=b||!e)return c;if(ra(e)&&null!=e.scrollingElement&&!c.includes(e.scrollingElement))return c.push(e.scrollingElement),c;if(!rb(e)||rc(e)||c.includes(e))return c;let i=q9(a).getComputedStyle(e);return(e!==a&&(void 0===(f=i)&&(f=q9(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=q9(e).getComputedStyle(e)),"fixed"===g.position)?c:d(e.parentNode)}(a):c}function rS(a){let[b]=rR(a,1);return null!=b?b:null}function rT(a){return q6&&a?q7(a)?a:q8(a)?ra(a)||a===rd(a).scrollingElement?window:rb(a)?a:null:null:null}function rU(a){return q7(a)?a.scrollX:a.scrollLeft}function rV(a){return q7(a)?a.scrollY:a.scrollTop}function rW(a){return{x:rU(a),y:rV(a)}}function rX(a){return!!q6&&!!a&&a===document.scrollingElement}function rY(a){let b={x:0,y:0},c=rX(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 rZ={x:.2,y:.2};function r$(a){return a.reduce((a,b)=>rn(a,rW(b)),rD)}let r_=[["x",["left","right"],function(a){return a.reduce((a,b)=>a+rU(b),0)}],["y",["top","bottom"],function(a){return a.reduce((a,b)=>a+rV(b),0)}]];class r0{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=rR(b),d=r$(c);for(const[b,e,f]of(this.rect={...a},this.width=a.width,this.height=a.height,r_))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 r1{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 r2(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 r3(a){a.preventDefault()}function r4(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 r5={start:[G.Space,G.Enter],cancel:[G.Esc],end:[G.Space,G.Enter,G.Tab]},r6=(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 r7{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 r1(rd(b)),this.windowListeners=new r1(q9(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=rP),!a)return;let{top:c,left:d,bottom:e,right:f}=b(a);rS(a)&&(e<=0||f<=0||c>=window.innerHeight||d>=window.innerWidth)&&a.scrollIntoView({block:"center",inline:"center"})}(c),b(rD)}handleKeyDown(a){if(rp(a)){let{active:b,context:c,options:d}=this.props,{keyboardCodes:e=r5,coordinateGetter:f=r6,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}:rD;this.referenceCoordinates||(this.referenceCoordinates=j);let k=f(a,{active:b,context:c.current,currentCoordinates:j});if(k){let b=ro(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}=rY(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,rn(ro(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 r8(a){return!!(a&&"distance"in a)}function r9(a){return!!(a&&"delay"in a)}r7.activators=[{eventName:"onKeyDown",handler:(a,b,c)=>{let{keyboardCodes:d=r5,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 sa{constructor(a,b,c){var d;void 0===c&&(c=function(a){let{EventTarget:b}=q9(a);return a instanceof b?a:rd(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=rd(f),this.documentListeners=new r1(this.document),this.listeners=new r1(c),this.windowListeners=new r1(q9(f)),this.initialCoordinates=null!=(d=rq(e))?d:rD,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,r3),this.windowListeners.add(F.VisibilityChange,this.handleCancel),this.windowListeners.add(F.ContextMenu,r3),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(r9(b)){this.timeoutId=setTimeout(this.handleStart,b.delay),this.handlePending(b);return}if(r8(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,r4,{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=rq(a))?b:rD,i=ro(d,h);if(!c&&g){if(r8(g)){if(null!=g.tolerance&&r2(i,g.tolerance))return this.handleCancel();if(r2(i,g.distance))return this.handleStart()}return r9(g)&&r2(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 sb={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class sc extends sa{constructor(a){const{event:b}=a;super(a,sb,rd(b.target))}}sc.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 sd={move:{name:"mousemove"},end:{name:"mouseup"}};(y=H||(H={}))[y.RightClick=2]="RightClick";class se extends sa{constructor(a){super(a,sd,rd(a.event.target))}}se.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 sf={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class sg extends sa{constructor(a){super(a,sf)}static setup(){return window.addEventListener(sf.move.name,a,{capture:!1,passive:!1}),function(){window.removeEventListener(sf.move.name,a)};function a(){}}}sg.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 sh={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 si=new Map;function sj(a,b){return rh(c=>a?c||("function"==typeof b?b(a):a):null,[b,a])}function sk(a){let{callback:b,disabled:c}=a,d=rf(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 sl(a){return new r0(rP(a),a)}function sm(a,b,c){void 0===b&&(b=sl);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=rf(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=sk({callback:f});return re(()=>{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 sn=[];function so(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!==rD;b&&!c.current&&(c.current=a),!b&&c.current&&(c.current=null)},[a]),c.current?ro(a,c.current):rD}function sp(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 sq=[],sr=[{sensor:sc,options:{}},{sensor:r7,options:{}}],ss={current:{}},st={draggable:{measure:rQ},droppable:{measure:rQ,strategy:K.WhileDragging,frequency:L.Optimized},dragOverlay:{measure:rP}};class su 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 sv={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new su,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:rA},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:st,measureDroppableContainers:rA,windowRect:null,measuringScheduled:!1},sw={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:rA,draggableNodes:new Map,over:null,measureDroppableContainers:rA},sx=(0,O.createContext)(sw),sy=(0,O.createContext)(sv);function sz(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new su}}}function sA(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 su(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 su(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 su(a.droppable.containers);return f.delete(c),{...a,droppable:{...a.droppable,containers:f}}}default:return a}}function sB(a){let{disabled:b}=a,{active:c,activatorEvent:d,draggableNodes:e}=(0,O.useContext)(sx),f=rj(d),g=rj(null==c?void 0:c.id);return(0,O.useEffect)(()=>{if(!b&&!d&&f&&null!=g){if(!rp(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(rs)?a:a.querySelector(rs);if(b){b.focus();break}}})}},[d,b,e,g,f]),null}let sC=(0,O.createContext)({...rD,scaleX:1,scaleY:1});(C=M||(M={}))[C.Uninitialized=0]="Uninitialized",C[C.Initializing=1]="Initializing",C[C.Initialized=2]="Initialized";let sD=(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=sr,collisionDetection:w=rL,measuring:x,modifiers:y,...z}=a,[A,B]=(0,O.useReducer)(sA,void 0,sz),[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:ss,rect:U}:null},[N,T]),W=(0,O.useRef)(null),[X,Y]=(0,O.useState)(null),[Z,$]=(0,O.useState)(null),_=rg(z,Object.values(z)),aa=rl("DndDescribedBy",r),ab=(0,O.useMemo)(()=>S.getEnabled(),[S]),ac=(0,O.useMemo)(()=>({draggable:{...st.draggable,...null==x?void 0:x.draggable},droppable:{...st.droppable,...null==x?void 0:x.droppable},dragOverlay:{...st.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=rg(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=rh(b=>{if(l&&!c)return si;if(!b||b===si||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 r0(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=rh(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?rq(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=sj(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;re(()=>{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=rM(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=rS(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=sm(ag,ac.draggable.measure,aj),al=sm(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=sk({callback:(0,O.useCallback)(a=>{for(let{target:c}of a)if(rb(c)){d(a=>{let d=b(c);return a?{...a,width:d.width,height:d.height}:d});break}},[b])}),[f,g]=ri((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 rb(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=sj(f=ar?null:ak),rM(f,o)),at=sp(ap?q9(ap):null),au=(g=L?null!=an?an:ag:null,p=(0,O.useRef)(g),q=rh(a=>g?a&&a!==sn&&g&&p.current&&g.parentNode===p.current.parentNode?a:rR(g):sn,[g]),(0,O.useEffect)(()=>{p.current=g},[g]),q),av=function(a,b){void 0===b&&(b=rP);let[c]=a,d=sp(c?q9(c):null),[e,f]=(0,O.useState)(sq);function g(){f(()=>a.length?a.map(a=>rX(a)?d:new r0(b(a),a)):sq)}let h=sk({callback:g});return re(()=>{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?rn(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=rT(a.target);b&&c(a=>a?(a.set(b,rW(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=rT(a);return b?(b.addEventListener("scroll",e,{passive:!0}),[b,rW(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=rT(a);null==b||b.removeEventListener("scroll",e)})}},[e,a]),(0,O.useMemo)(()=>a.length?b?Array.from(b.values()).reduce((a,b)=>rn(a,b),rD):r$(a):rD,[a,b])}(au),az=so(ay),aA=so(ay,[ak]),aB=rn(aw,az),aC=aq?rN(aq,aw):null,aD=V&&aC?w({active:V,collisionRect:aC,droppableRects:ad,droppableContainers:ab,pointerCoordinates:ax}):null,aE=rI(aD,"id"),[aF,aG]=(0,O.useState)(null),aH=(h=ar?aw:rn(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,q5.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,q5.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(!q6)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})),re(()=>{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,q5.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,q5.unstable_batchedUpdates)(()=>{aG(h),null==f||f(i),C({type:"onDragOver",event:i})})},[aE]),re(()=>{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=rj(b);return rh(a=>{if(c||!d||!a)return sh;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=rZ);let{isTop:j,isBottom:k,isLeft:l,isRight:m}=rY(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(rw.Provider,{value:F},P().createElement(sx.Provider,{value:aN},P().createElement(sy.Provider,{value:aM},P().createElement(sC.Provider,{value:aH},u)),P().createElement(sB,{disabled:(null==s?void 0:s.restoreFocus)===!1})),P().createElement(rz,{...s,hiddenTextDescribedById:aa}))}),sE=(0,O.createContext)(null),sF="button",sG={timeout:25};function sH(a,b,c){let d=a.slice();return d.splice(c<0?d.length+c:c,0,d.splice(b,1)[0]),d}function sI(a){return null!==a&&a>=0}let sJ=a=>{let{rects:b,activeIndex:c,overIndex:d,index:e}=a,f=sH(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},sK={scaleX:1,scaleY:1},sL=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,...sK}: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,...sK}:k<i&&k>=m?{x:0,y:n.height+o,...sK}:{x:0,y:0,...sK}},sM="Sortable",sN=P().createContext({activeIndex:-1,containerId:sM,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:sJ,disabled:{draggable:!1,droppable:!1}});function sO(a){let{children:b,id:c,items:d,strategy:e=sJ,disabled:f=!1}=a,{active:g,dragOverlay:h,droppableRects:i,over:j,measureDroppableContainers:k}=(0,O.useContext)(sy),l=rl(sM,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;re(()=>{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(sN.Provider,{value:v},b)}let sP=a=>{let{id:b,items:c,activeIndex:d,overIndex:e}=a;return sH(c,d,e).indexOf(b)},sQ=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)},sR={duration:200,easing:"ease"},sS="transform",sT=rr.Transition.toString({property:sS,duration:0,easing:"linear"}),sU={roleDescription:"sortable"};function sV(a){var b,c,d,e;let{animateLayoutChanges:f=sQ,attributes:g,disabled:h,data:i,getNewIndex:j=sP,id:k,strategy:l,resizeObserverConfig:m,transition:n=sR}=a,{items:o,containerId:p,activeIndex:q,disabled:r,disableTransforms:s,sortedRects:t,overIndex:u,useDragOverlay:v,strategy:w}=(0,O.useContext)(sN),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=rl("Droppable"),{active:g,dispatch:h,over:i,measureDroppableContainers:j}=(0,O.useContext)(sx),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}={...sG,...e},r=rg(null!=p?p:d),s=sk({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]=ri((0,O.useCallback)((a,b)=>{s&&(b&&(s.unobserve(b),l.current=!1),a&&s.observe(a))},[s])),v=rg(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=rl("Draggable"),{activators:g,activatorEvent:h,active:i,activeNodeRect:j,ariaDescribedById:k,draggableNodes:l,over:m}=(0,O.useContext)(sx),{role:n=sF,roleDescription:o="draggable",tabIndex:p=0}=null!=e?e:{},q=(null==i?void 0:i.id)===b,r=(0,O.useContext)(q?sC:sE),[s,t]=ri(),[u,v]=ri(),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=rg(c);return re(()=>(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===sF||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:{...sU,...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&&sI(q)&&sI(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=sI(q)&&sI(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 re(()=>{if(!b&&c!==h.current&&d.current){let a=e.current;if(a){let b=rP(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?sT:(!U||rp(H))&&n&&(S||_)?rr.Transition.toString({...n,property:sS}):void 0}}function sW(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 sX=[G.Down,G.Right,G.Up,G.Left],sY=(a,b)=>{let{context:{active:c,collisionRect:d,droppableRects:e,droppableContainers:f,over:g,scrollableAncestors:h}}=b;if(sX.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=rH(b),f=[];for(let a of d){let{id:b}=a,d=c.get(b);if(d){let c=rH(d),g=Number((e.reduce((a,b,d)=>a+rE(c[d],b),0)/4).toFixed(4));f.push({id:b,data:{droppableContainer:a,value:g}})}}return f.sort(rF)})({active:c,collisionRect:d,droppableRects:e,droppableContainers:b,pointerCoordinates:null}),l=rI(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=rR(k).some((a,b)=>h[b]!==a),e=sZ(a,b),f=(i=a,j=b,!!sW(i)&&!!sW(j)&&!!sZ(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:ro(m,l)}}}};function sZ(a,b){return!!sW(a)&&!!sW(b)&&a.data.current.sortable.containerId===b.data.current.sortable.containerId}let s$=(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 s_=c(9913);let s0=(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"}]]),s1=[{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 s2(a){return s1.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 s3=["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"],s4=["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:s3[b]})),s5=["openai","openrouter","together","deepseek","zai","qwen","chat-template","qwen-chat-template","string-thinking","ant-ling","baseten"];function s6(a){return Object.entries(a).map(([a,b])=>`${a}: ${b}`).join("\n")}function s7({headers:a,onChange:b,placeholder:c}){let[d,e]=(0,O.useState)(null);return(0,N.jsx)(nQ.T,{value:d??s6(a),onFocus:()=>e(s6(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 s8(a){let b=Math.floor(a/1e3),c=a%1e3;return c?`${b}.${String(c).padStart(3,"0").replace(/0+$/,"")}`:String(b)}function s9(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 ta({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 tb="__pi-desk_empty__";function tc({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?tb:b[0]?.value??null),k=!!a&&!b.some(b=>b.value===a);return(0,N.jsxs)(bZ.l6,{value:j,onValueChange:a=>c(a===tb||null===a?"":a),children:[(0,N.jsx)(bZ.bq,{"aria-label":d,className:(0,ag.cn)("w-full",g),children:(0,N.jsx)(bZ.yv,{children:b.find(b=>b.value===a)?.label??(a||i)})}),(0,N.jsxs)(bZ.gC,{positionerClassName:"z-[120]",children:[f?(0,N.jsx)(bZ.eb,{value:tb,children:i}):null,k?(0,N.jsx)(bZ.eb,{value:a,children:a}):null,b.map(a=>(0,N.jsx)(bZ.eb,{value:a.value,children:a.label},a.value))]})]})}function td({value:a,onChange:b,ariaLabel:c}){let{t:d}=(0,aa.Bd)("settings");return(0,N.jsx)(tc,{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 te={off:"thinkingOff",minimal:"thinkingMinimal",low:"thinkingLow",medium:"thinkingMedium",high:"thinkingHigh",xhigh:"thinkingXhigh",max:"thinkingMax"};function tf(a,b){return JSON.stringify([a,b])}function tg(a,b){return JSON.stringify([a.provider,a.modelId,a.thinkingLevel,b])}function th(a){return a.map(a=>({value:tf(a.provider,a.modelId),label:a.name||a.modelId,description:a.provider}))}function ti(a,b){return(a?.thinkingLevels??[]).map(a=>({value:a,label:b(te[a])}))}function tj({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}=sV({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=s1.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")}]:[],...s1.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)(s$,{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)(s_.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)(cx.A,{className:"size-4"})})]})]}),(0,N.jsx)(ta,{label:k("modelsHeading"),children:(0,N.jsx)(pE.b,{value:tf(b.provider,b.modelId),options:th(d),ariaLabel:k("presetModel"),searchPlaceholder:k("modelSearch"),onChange:a=>{let c=d.find(b=>tf(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)(ta,{label:k("thinkingLevel"),children:(0,N.jsx)(tc,{value:b.thinkingLevel,options:ti(c,k),ariaLabel:k("presetThinking"),allowEmpty:!1,onChange:a=>g({...b,thinkingLevel:a})})}),(0,N.jsx)(ta,{label:k("presetColor"),children:(0,N.jsxs)(bZ.l6,{value:t,onValueChange:a=>{null!==a&&g({...b,color:"none"===a?null:a})},children:[(0,N.jsx)(bZ.bq,{"aria-label":k("presetColorLabel"),className:"w-16",children:(0,N.jsxs)(bZ.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)(s0,{"aria-hidden":"true",className:"size-4 text-muted-foreground"}),(0,N.jsx)("span",{className:"sr-only",children:v})]})}),(0,N.jsx)(bZ.gC,{positionerClassName:"z-[120]",className:"w-40 min-w-40",align:"end",alignItemWithTrigger:!1,children:(0,N.jsx)(bZ.s3,{className:"grid grid-cols-4 gap-1 p-2",children:w.map(a=>(0,N.jsx)(bZ.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)(s0,{"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)(bU,{})})]})}function tk({presets:a,models:b,onChange:c}){let{t:d}=(0,aa.Bd)("settings"),[e,f]=(0,O.useState)(()=>b[0]?tf(b[0].provider,b[0].modelId):""),g=b.find(a=>tf(a.provider,a.modelId)===e),[h,i]=(0,O.useState)(g?.thinkingLevels[0]??"off"),j=rC(rB(sc,{activationConstraint:{distance:6}}),rB(r7,{coordinateGetter:sY})),k=(0,O.useMemo)(()=>a.map(tg),[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)(ta,{label:d("modelsHeading"),children:(0,N.jsx)(pE.b,{value:e,options:th(b),ariaLabel:d("presetModelNew"),searchPlaceholder:d("modelSearch"),disabled:0===b.length,onChange:a=>{f(a);let c=b.find(b=>tf(b.provider,b.modelId)===a);c&&i(c.thinkingLevels[0])}})}),(0,N.jsx)(ta,{label:d("thinkingLevel"),children:(0,N.jsx)(tc,{value:h,options:ti(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=>tf(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:s2(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)(sD,{sensors:j,collisionDetection:rK,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(sH(a,d,e))},children:(0,N.jsx)(sO,{items:k,strategy:sL,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)(tj,{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(sH(a,e,e-1)),onMoveDown:()=>c(sH(a,e,e+1))},k[e])})})})})]})}let tl=(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"}]]),tm=(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 tn=c(99451),to=c(9860);function tp(a){return 100*!!a.official+10*!!a.defaults.cost}let tq=[["off","thinkingOff"],["minimal","thinkingMinimal"],["low","thinkingLow"],["medium","thinkingMedium"],["high","thinkingHigh"],["xhigh","thinkingXhigh"],["max","thinkingMax"]],tr=[["input","inputPrice"],["output","outputPrice"],["cacheRead","cacheReadPrice"],["cacheWrite","cacheWritePrice"]];function ts(a){return{input:String(a.cost?.input??""),output:String(a.cost?.output??""),cacheRead:String(a.cost?.cacheRead??""),cacheWrite:String(a.cost?.cacheWrite??"")}}function tt(a,b){return Object.values(a).some(a=>null===s9(a))||Object.values(b).some(a=>""!==a&&(!Number.isFinite(Number(a))||0>Number(a)))}function tu({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:s8(c.contextWindow),maxTokens:s8(c.maxTokens)}),[j,k]=(0,O.useState)(()=>ts(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,bR.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)=>tp(b)-tp(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=s4.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)(to.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)(to.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)(cF.AM,{open:n,onOpenChange:a=>{o(a),a&&t(!1)},children:[(0,N.jsx)(cF.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)(tn.A,{})})}),(0,N.jsx)(cF.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)(to.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)(to.xL,{className:"py-6 text-sm",children:f("noCatalogMatches")}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(to.L$,{className:"p-0",children:r.map(a=>(0,N.jsx)(to.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:s8(g.contextWindow),maxTokens:s8(g.maxTokens)}),k(ts(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:`${s8(a.source.defaults.contextWindow)}K`,output:`${s8(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)(ta,{label:f("modelName"),className:"@[32rem]/model-editor:col-span-2",children:[(0,N.jsx)(b3.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===s9(h[a]);return(0,N.jsxs)(ta,{label:f(b),children:[(0,N.jsxs)(pn.MG,{children:[(0,N.jsx)(pn.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=tt(d,j),invalid:f}),void(null!==(g=s9(c))&&y({[a]:g}))}}),(0,N.jsx)(pn.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)(bA.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)(bA.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:tq.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)(bA.A,{}):null,f(b)]}),(0,N.jsx)(b3.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:[tr.map(([a,b])=>{let d=""!==j[a]&&(!Number.isFinite(Number(j[a]))||0>Number(j[a]));return(0,N.jsxs)(ta,{label:f(b),children:[(0,N.jsx)(b3.p,{inputMode:"decimal",value:j[a],"aria-invalid":d,onChange:b=>(function(a,b){let d={...j,[a]:b};k(d);let f=tt(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:tt(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)(ta,{label:f("apiOverride"),className:"@[32rem]/model-editor:col-span-2",children:(0,N.jsx)(tc,{value:c.api??"",ariaLabel:f("apiOverride"),options:s4,placeholder:x?f("inheritServiceValue",{value:x}):f("inheritService"),onChange:a=>y({api:a||null})})}),(0,N.jsx)(ta,{label:f("baseUrlOverride"),className:"@[32rem]/model-editor:col-span-2",children:(0,N.jsx)(b3.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)(ta,{label:f("modelHeaders"),className:"@[32rem]/model-editor:col-span-2",children:(0,N.jsx)(s7,{headers:c.headers,onChange:a=>y({headers:a}),placeholder:f("headerPlaceholder")})}),(0,N.jsx)(ta,{label:f("developerRole"),children:(0,N.jsx)(td,{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)(ta,{label:"Thinking Format",children:(0,N.jsx)(tc,{value:c.compat?.thinkingFormat??"",ariaLabel:"Thinking Format",options:s5.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)(ta,{label:f("replayReasoning"),children:(0,N.jsx)(td,{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 tv=c(72175),tw=c(24811);function tx({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)(b3.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)(tv.A,{className:"size-3.5"}):(0,N.jsx)(tw.A,{className:"size-3.5"})})]})}function ty({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}=py(),[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)(ce.YV,{open:!0,onOpenChange:a=>{a||q()},children:(0,N.jsxs)(ce.hA,{className:"max-w-[40rem]",initialFocus:!1,children:[(0,N.jsxs)(ce.Hl,{className:"border-b px-4 py-4 pr-12",children:[(0,N.jsx)(ce.YM,{children:h("serviceConnection")}),(0,N.jsx)(ce.uX,{children:h("serviceDraftScope",{count:a.models.length})})]}),(0,N.jsx)(ce._Y,{className:"max-h-[65dvh]",children:(0,N.jsxs)("div",{className:"space-y-5 p-4",children:[(0,N.jsxs)(ta,{label:h("serviceId"),children:[(0,N.jsx)(b3.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)(ta,{label:h("serviceAddress"),children:(0,N.jsx)(b3.p,{value:k.baseUrl??"",placeholder:"https://api.example.com/v1",onChange:a=>p({baseUrl:a.target.value||null})})}),(0,N.jsx)(ta,{label:h("providerApiType"),children:(0,N.jsx)(tc,{value:k.api??"",ariaLabel:h("providerApiType"),options:s4,onChange:a=>p({api:a||null})})}),(0,N.jsx)(ta,{label:h("serviceKey"),children:(0,N.jsx)(tx,{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)(ta,{label:h("providerAuthHeader"),children:(0,N.jsx)(td,{value:k.authHeader,ariaLabel:h("providerAuthHeader"),onChange:a=>p({authHeader:a})})}),(0,N.jsx)(ta,{label:h("providerHeaders"),children:(0,N.jsx)(s7,{headers:k.headers,onChange:a=>p({headers:a}),placeholder:h("headerPlaceholder")})})]})]})]})}),(0,N.jsxs)(ce.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)(bU,{}),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 tz=Q.Ik({}).strict(),tA=Q.Yj().trim().min(1).max(128),tB=Q.Yj().max(32768),tC=Q.Ik({url:tB,label:tB.optional()}).strict(),tD=Q.Ik({provider:tA,name:tB,loggedIn:Q.zM(),conflict:Q.Yj().nullable()}).strict(),tE=Q.Ik({id:Q.Yj().uuid(),type:Q.k5(["text","secret","select","manual_code"]),message:tB,placeholder:tB.optional(),options:Q.YO(Q.Ik({id:tB,label:tB,description:tB.optional()}).strict()).optional()}).strict(),tF=Q.gM("type",[Q.Ik({type:Q.eu("auth_url"),url:tB,instructions:tB.optional()}).strict(),Q.Ik({type:Q.eu("device_code"),userCode:tB,verificationUri:tB}).strict(),Q.Ik({type:Q.eu("info"),message:tB,links:Q.YO(tC).optional()}).strict(),Q.Ik({type:Q.eu("progress"),message:tB}).strict()]),tG=Q.Ik({loginId:Q.Yj().uuid(),provider:tA,status:Q.k5(["running","completed","cancelled","error"]),notice:tF.nullable(),prompt:tE.nullable(),message:Q.Yj().nullable()}).strict(),tH=Object.freeze({list:(0,R.Vc)({path:"model-auth/list",inputSchema:tz,outputSchema:Q.Ik({providers:Q.YO(tD)}).strict()}),start:(0,R.Vc)({path:"model-auth/start",inputSchema:Q.Ik({loginId:Q.Yj().uuid(),provider:tA}).strict(),outputSchema:tz}),respond:(0,R.Vc)({path:"model-auth/respond",inputSchema:Q.Ik({loginId:Q.Yj().uuid(),promptId:Q.Yj().uuid(),value:tB}).strict(),outputSchema:tz}),cancel:(0,R.Vc)({path:"model-auth/cancel",inputSchema:Q.Ik({loginId:Q.Yj().uuid()}).strict(),outputSchema:tz}),logout:(0,R.Vc)({path:"model-auth/logout",inputSchema:Q.Ik({provider:tA}).strict(),outputSchema:tz}),state:(0,R._G)({path:"model-auth/state",bodySchema:tG})});function tI(a){try{let b=new URL(a);return"http:"===b.protocol||"https:"===b.protocol?b.href:null}catch{return null}}function tJ(a){let b=tI(a);b&&window.open(b,"_blank","noopener,noreferrer")}async function tK(a){await navigator.clipboard.writeText(a)}function tL({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)(ta,{label:a.message,children:"select"===a.type?(0,N.jsx)(tc,{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)(tx,{value:e,placeholder:a.placeholder,disabled:b,onChange:a=>f(a.target.value)}):(0,N.jsx)(b3.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 tM({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)=>tI(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 tN({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)(ce.YV,{open:a,onOpenChange:a=>{a||h()},children:(0,N.jsxs)(ce.hA,{className:"max-w-lg",children:[(0,N.jsx)(ce.Hl,{className:"border-b p-4 pr-12",children:(0,N.jsx)(ce.YM,{children:d?c.find(a=>a.provider===d.provider)?.name??d.provider:n("accountLogin")})}),(0,N.jsx)(ce._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)(tM,{notice:d.notice,onCopy:k,onOpenUrl:l}):null,o&&d.prompt?(0,N.jsx)(tL,{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)(ce.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 tO({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)(ce.YV,{open:!0,onOpenChange:a=>{a||d()},children:(0,N.jsxs)(ce.hA,{className:"max-w-xl",children:[(0,N.jsx)(ce.Hl,{className:"border-b p-4 pr-12",children:(0,N.jsx)(ce.YM,{children:e("modelAddToService",{name:a.name})})}),(0,N.jsx)("div",{className:"p-4 pb-2",children:(0,N.jsx)(b3.p,{value:f,"aria-label":e("accountModelSearch"),placeholder:e("accountModelSearch"),onChange:a=>g(a.target.value)})}),(0,N.jsx)(ce._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 ",s8(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)(ce.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 tP=[["input","inputPrice"],["output","outputPrice"],["cacheRead","cacheReadPrice"],["cacheWrite","cacheWritePrice"]];function tQ({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?"":s8(c.contextWindow),maxTokens:void 0===c.maxTokens?"":s8(c.maxTokens),...Object.fromEntries(tP.map(([a])=>[a,c.cost?.[a]===void 0?"":String(c.cost[a])]))})),i=a=>""!==a&&null===s9(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)||tP.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]=s9(b),d(e)}else{if(tP.some(([a])=>j(f[a])))return;let a={...c};tP.every(([a])=>""===f[a])?delete a.cost:a.cost=Object.fromEntries(tP.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:[s8(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:[s8(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?tP.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)(ta,{label:`${f("contextWindow"===b?"contextLength":"maximumOutput")} (K)`,children:[(0,N.jsx)(b3.p,{value:g[b],placeholder:s8(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:tP.map(([b,c])=>(0,N.jsxs)(ta,{label:f(c),children:[(0,N.jsx)(b3.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 tR=(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 tS({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)(tR,{})});function l(a){j(!1),a()}return b?(0,N.jsxs)(cF.AM,{open:i,onOpenChange:j,children:[(0,N.jsx)(cF.Wv,{render:k}),(0,N.jsxs)(cF.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 tT({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)(ci,{"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)(tS,{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?`${s8(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)(tm,{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 tU={off:"thinkingOff",minimal:"thinkingMinimal",low:"thinkingLow",medium:"thinkingMedium",high:"thinkingHigh",xhigh:"thinkingXhigh",max:"thinkingMax"};function tV({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}=py(),s=(0,bR.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,bY.gM)(),d=(0,O.useMemo)(()=>({list:async()=>(await c.request(tH.list,{})).providers,async start(a,b){await c.request(tH.start,{loginId:a,provider:b})},async respond(a,b,d){await c.request(tH.respond,{loginId:a,promptId:b,value:d})},async cancel(a){await c.request(tH.cancel,{loginId:a})},async logout(a){await c.request(tH.logout,{provider:a})},subscribe:a=>c.subscribe(tH.state,a)}),[c]),{t:e}=(0,aa.Bd)("settings"),f=(0,bR.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 tK(a),f.success(e("accountCopied"))}catch{f.error(e("accountCopyFailed"))}},openUrl:tJ}}(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)(b3.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)(tT,{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)(tl,{}),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)(tS,{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)(tm,{}),p("addModelPreset")]}),(0,N.jsxs)(dA.m_,{children:[(0,N.jsx)(dA.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)(bU,{})})}),(0,N.jsx)(dA.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)(tQ,{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)(tu,{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)(cr,{className:"size-6"}),p("selectModelToEdit")]})})]}),(0,N.jsx)(tN,{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)(tO,{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)(ty,{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)(ce.YV,{open:M,onOpenChange:P,children:(0,N.jsxs)(ce.hA,{children:[(0,N.jsx)(ce.Hl,{className:"border-b px-4 py-4 pr-12",children:(0,N.jsx)(ce.YM,{children:p("addModelPreset")})}),(0,N.jsx)(ce._Y,{children:(0,N.jsx)("div",{className:"p-4",children:(0,N.jsx)(ta,{label:p("thinkingLevel"),children:(0,N.jsx)(tc,{value:Q,allowEmpty:!1,ariaLabel:p("presetThinkingNew"),options:(an?.thinkingLevels??[]).map(a=>({value:a,label:p(tU[a])})),onChange:a=>R(a)})})})}),(0,N.jsxs)(ce.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:s2(j)}]),P(!1))},disabled:!an,children:p("presetAdd")})]})]})}),r]})}let tW={off:"thinkingOff",minimal:"thinkingMinimal",low:"thinkingLow",medium:"thinkingMedium",high:"thinkingHigh",xhigh:"thinkingXhigh",max:"thinkingMax"};function tX(a,b){return JSON.stringify([a,b])}function tY(a){return a.replace(/[\\/]+$/,"").split(/[\\/]/).at(-1)||a}function tZ({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,bR.G)(),{confirm:e,dialog:f}=py(),[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,J=(0,O.useRef)(!1);(0,O.useRef)("");let K=(0,O.useCallback)(a=>{J.current=a,b?.(a)},[b]);async function L(a){return!w&&(a===i||(!J.current||!!await e({title:c("discardModelTitle"),description:c("discardModelDescription"),confirmLabel:c("discardModelConfirm")}))&&(j(a),!0))}async function M(){if(i&&I&&!s&&!u&&!w&&(!o||m)){x(!0);try{await a.replaceProjectDefault({cwd:i,default:o?m:null}),q3({cwd:i,default:o?m:null,models:k}),K(!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,models:k,selection:m,fixed:o,directoriesLoading:q,projectLoading:s,projectRefreshing:u,saving:w,projectReady:I,directoriesError:A,projectError:C,dialog:f,selectProject:L,changeFixed:function(a){K(!0),p(a)},selectModel:function(a){K(!0),n({provider:a.provider,modelId:a.modelId,thinkingLevel:a.thinkingLevels[0]})},selectThinking:function(a){let b=k.find(a=>a.provider===m?.provider&&a.modelId===m.modelId),c=b?.thinkingLevels.find(b=>b===a);m&&c&&(K(!0),n({...m,thinkingLevel:c}))},applyPreset:function(a){K(!0),n({provider:a.provider,modelId:a.modelId,thinkingLevel:a.thinkingLevel})},retryDirectories:function(){F(a=>a+1)},retryProject:function(){H(a=>a+1)},save:M}}(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:tX(a.provider,a.modelId),label:a.name||a.modelId,description:a.provider})),n=e.projectLoading||e.projectRefreshing||e.saving;async function o(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)(b3.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:()=>{o(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:tY(a.cwd)}),b?(0,N.jsx)(bA.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.jsx)("h3",{className:"break-all text-lg font-semibold",children:tY(e.cwd)}),(0,N.jsx)("p",{className:"break-all text-sm text-muted-foreground",children:e.cwd}),e.projectLoading&&!e.projectReady?(0,N.jsxs)("p",{role:"status",className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,N.jsx)(ab.A,{"aria-hidden":"true",className:"size-3.5 animate-spin"}),d("projectLoading")]}):null]}),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,children:d("retry",{ns:"common"})})]}):e.projectReady?(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)(pP,{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)(ta,{label:d("projectDefaultModel"),children:(0,N.jsx)(pE.b,{value:e.selection?tX(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=>tX(b.provider,b.modelId)===a);b&&e.selectModel(b)}})}),(0,N.jsx)(ta,{label:d("thinkingLevel"),children:(0,N.jsx)(tc,{value:e.selection?.thinkingLevel??"",options:(j?.thinkingLevels??[]).map(a=>({value:a,label:d(tW[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",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(tW[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)(bS,{"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)(co.A,{"aria-hidden":"true",className:"size-6 shrink-0"}),d("selectProjectToConfigure")]})})]}),e.dialog]})}let t$=[{value:"providers",label:"modelProviders"},{value:"presets",label:"modelPresets"},{value:"project-default",label:"projectDefault"}];function t_({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 t0({onBeforeLeaveChange:a,connectionReady:b=!1,initialTab:c}){let{t:d}=(0,aa.Bd)("settings"),{locale:e,timeZone:f}=(0,cE.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,bY.gM)(),d=(0,bR.G)(),{confirm:e,dialog:f}=py(),g=(0,O.useMemo)(()=>{let a;return a=null,{parseNativeConfig(a){let b=JSON.parse(a);return qp.parse(b)},getSettings:()=>(a||(a=b2(c,"/api/model-settings/get",{},qB).finally(()=>{a=null})),a),async replaceSettings(a){let b=qD.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 b2(c,"/api/model-settings/replace",b.data,qE)},listCatalog:a=>b2(c,"/api/model-catalog/list",qF.parse(a),qJ),async listDirectories(){let a=await b2(c,"/api/pi/directories/list",{forceRefresh:!1},qO);return q_(a),a},async getProjectDefault(a){let b=await b2(c,"/api/project-model-default/get",{cwd:a},qK);return q3(b),b},async replaceProjectDefault(a){await b2(c,"/api/project-model-default/replace",qL.parse(a),qM)}}},[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)(pP,{label:d("models"),layout:"segmented",value:j,options:t$.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)(qg,{}),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)(bV.A,{className:(0,ag.cn)(H&&"animate-spin")}),H?d("refreshingCatalog"):d("refreshCatalog")]})]}),(0,N.jsxs)(cF.AM,{open:g,onOpenChange:h,children:[(0,N.jsx)(cF.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)(cF.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)(qg,{}),d("nativeConfig")]}),(0,N.jsxs)(ae.$,{type:"button",variant:"ghost",className:"justify-start",disabled:H,onClick:()=>{h(!1),S()},children:[(0,N.jsx)(bV.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)(tZ,{biz:i,presets:k?.presets??[],onDirtyChange:L}):k?null:(0,N.jsx)(t_,{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)(tV,{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)(tk,{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)(bS,{}),G?d("savingModels"):d("saveModels")]})]})]}):null,(0,N.jsx)(q4,{open:u,text:v,error:w,saving:G,dirty:x,onChange:y,onClose:A,onSave:B}),K]})}function t1({render:a,input:b}){return a(b)}let t2=[{id:"appearance",label:"appearance",icon:oq},{id:"region",label:"region",icon:or.A},{id:"habits",label:"habits",icon:os},{id:"models",label:"models",icon:cp},{id:"mcp-settings",label:"mcpSettings",icon:ch},{id:"capability-modes",label:"capabilityModes",icon:b5.A},{id:"skills",label:"skills",icon:ot.A},{id:"plugins",label:"plugins",icon:ch},{id:"auth",label:"loginProtection",icon:bW},{id:"about",label:"about",icon:ou.A}];function t3(a,b){return`plugin:${a}:${b}`}function t4(){let{t:a}=(0,aa.Bd)("settings"),b=(0,cE.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)(ox.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",ov]})]}),(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)}(ow,"en"===b.locale?"en-US":"zh-CN",b.timeZone,a("common:unavailable"))})]})]})]})}function t5({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,bQ.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=>t3(a.pluginName,a.descriptor.contributionName)===q),z=q.startsWith("plugin:")&&!y?"appearance":q,A=t2.find(a=>a.id===z),B=A?.icon,C=(0,O.useRef)(null);oJ(C,a&&!y?z:null);let D=(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)}}},[]),E=(0,O.useCallback)(()=>{D(()=>k(!1))},[k,D]),F=(0,O.useCallback)(a=>{w.current=a},[]),G=a=>{a!==z&&D(()=>r(a))};return(0,N.jsx)(ce.YV,{open:a,onOpenChange:(a,b)=>{a?k(!0):"focus-out"!==b.reason&&E()},children:(0,N.jsxs)(ce.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)(ce.Hl,{className:"border-b px-4 py-3 pr-12",children:(0,N.jsx)(ce.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)(bZ.l6,{value:z,disabled:u,onValueChange:a=>{if("string"!=typeof a)return;let b=t2.find(b=>b.id===a);if(b)return void G(b.id);let c=p.find(b=>t3(b.pluginName,b.descriptor.contributionName)===a);c&&G(t3(c.pluginName,c.descriptor.contributionName))},children:[(0,N.jsx)(bZ.bq,{"aria-label":m("category"),className:"w-full",children:(0,N.jsx)(bZ.yv,{children:y?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(cv,{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)(bZ.gC,{positionerClassName:"z-[120]",align:"start",children:[t2.map(a=>{let b=a.icon;return(0,N.jsxs)(bZ.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)(bZ.s3,{children:[(0,N.jsx)(bZ.TR,{children:m("pluginSettings")}),p.map(a=>{let b=t3(a.pluginName,a.descriptor.contributionName);return(0,N.jsxs)(bZ.eb,{value:b,children:[(0,N.jsx)(cv,{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:t2.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:()=>G(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)(cy.Nt,{open:s||!!y,onOpenChange:t,className:"mt-2 border-t pt-2",children:[(0,N.jsxs)(cy.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)(cx.A,{className:(0,ag.cn)("size-3.5 transition-transform",s||y?"rotate-180":null)})]}),(0,N.jsx)(cy.Ke,{children:(0,N.jsx)("div",{className:"mt-1 grid grid-cols-1 gap-1",children:p.map(a=>{let b=t3(a.pluginName,a.descriptor.contributionName),c=b===z;return(0,N.jsxs)(ae.$,{variant:"ghost",disabled:u,"aria-current":c?"page":void 0,onClick:()=>G(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)(cv,{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)(t1,{render:j,input:{pluginName:y.pluginName,descriptor:y.descriptor,onClose:E,onBeforeLeaveChange:F}})}):"skills"===z?(0,N.jsx)("div",{ref:C,className:"min-h-0 flex-1 overflow-hidden",children:a&&(0,N.jsx)(pu,{projects:o,focusedCwd:e,onBeforeLeaveChange:F})}):"mcp-settings"===z?(0,N.jsx)("div",{ref:C,className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:a&&(0,N.jsx)(t1,{render:h,input:{onBeforeLeaveChange:F}})}):"capability-modes"===z?(0,N.jsx)("div",{ref:C,className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:a&&(0,N.jsx)(t1,{render:i,input:{onBeforeLeaveChange:F}})}):"models"===z?(0,N.jsx)("div",{ref:C,className:"min-h-0 flex-1 overflow-hidden",children:a&&(0,N.jsx)(t0,{connectionReady:b,initialTab:c,onBeforeLeaveChange:F})}):"plugins"===z?(0,N.jsx)("div",{ref:C,className:"min-h-0 flex-1 overflow-hidden",children:g()}):(0,N.jsx)(ce._Y,{className:"min-w-0 max-h-none",children:(0,N.jsx)("div",{ref:C,className:"p-4 sm:p-6",children:"appearance"===z?(0,N.jsx)(p0,{}):"habits"===z?(0,N.jsx)(qf,{}):"auth"===z?a&&(0,N.jsx)(pD,{}):"region"===z?(0,N.jsx)(pK,{canLeave:l}):(0,N.jsx)(t4,{})})})]})]})})}let t6=Q.Ik({cwd:Q.Yj().trim().min(1).nullable()}).strict(),t7=Q.g1(Q.Yj(),Q.Pq()),t8=Q.g1(Q.Yj().min(1).max(128),t7),t9=Q.Ik({local:t8,inherited:t8,projectTrusted:Q.zM().nullable(),diagnostics:Q.YO(Q.Ik({name:Q.Yj().nullable(),message:Q.Yj()}).strict())}).strict();t6.extend({servers:t8}).strict(),t6.extend({name:Q.Yj().min(1).max(128)}).strict();let ua=Q.Ik({output:Q.Yj()}).strict(),ub=Q.Ik({}).strict(),uc=["command","args","url","type","description","enabled","exposure"];function ud(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&Object.values(a).every(a=>"string"==typeof a)}function ue(a){return ud(a)?Object.entries(a).map(([a,b])=>({key:a,value:b})):[]}function uf(a){return!("command"in a)&&!("url"in a)&&!("type"in a)}function ug(a,b){let c=b??{};return{originalName:a,name:a??"",transport:b&&uf(b)?"inherit":"url"in c?"http":"stdio",command:"string"==typeof c.command?c.command:"",args:Array.isArray(c.args)?c.args.join("\n"):"",env:ue(c.env),headers:ue(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])=>!uc.includes(a)&&!(["env","headers"].includes(a)&&ud(b)))),null,2)}}class uh extends Error{constructor(a,b){super(b),this.field=a}}function ui(a){return"string"==typeof a.url?a.url:"string"==typeof a.command?a.command:"继承全局连接"}let uj={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 uk(){let{locale:a}=(0,cE.i)();return b=>"en"===a?uj[b]??b:b}function ul(a){return a instanceof Error?a.message:"请求失败,请重试。"}function um({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)(bZ.l6,{value:c,disabled:e,onValueChange:a=>{"string"==typeof a&&f(a)},children:[(0,N.jsx)(bZ.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)(bZ.yv,{children:d.find(a=>a.value===c)?.label??c})}),(0,N.jsx)(bZ.gC,{positionerClassName:"z-[125]",align:"start",children:d.map(a=>(0,N.jsx)(bZ.eb,{value:a.value,className:"[&_span]:whitespace-normal [&_span]:break-all",children:a.label},a.value))})]})]})}function un({trigger:a,children:b}){return(0,N.jsxs)(bB,{children:[(0,N.jsx)(bD,{render:a}),(0,N.jsx)(bC,{children:(0,N.jsx)(a8.y,{sideOffset:4,align:"end",className:"z-[125] outline-none",children:(0,N.jsx)(a9._,{className:by.hD,children:b})})})]})}function uo({message:a,id:b}){let c=uk();return a?(0,N.jsx)("p",{id:b,role:"alert",className:"break-words text-sm text-destructive",children:c(a)}):null}function up({rows:a,selectedName:b,pending:c,onSelect:d}){let e=uk();return(0,N.jsx)("ul",{"aria-label":e("服务列表"),className:"divide-y",children:a.map(a=>{let f="string"==typeof a.config.url?cs: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 disabled:opacity-50",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:ui(a.config)})]}),(0,N.jsx)(bz.A,{"aria-hidden":"true",className:"size-4 shrink-0 text-muted-foreground"})]})},a.name)})})}function uq({id:a,label:b,rows:c,disabled:d,error:e,onChange:f}){let g=uk();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)(b3.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)(b3.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)(bU,{"aria-hidden":"true"})})]},i)),(0,N.jsx)(uo,{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 ur=c(69391);function us({check:a,onRetry:b,onDismiss:c}){let d=uk(),e=a.loading?ab.A:a.error?aw.A:ur.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)(uo,{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 ut({editor:a,scopeLabel:b,project:c,projectTrusted:d,check:e,local:f,inherited:g,pending:h,error:i,onDraft:j,onJson:k,onPreview:l,onOverwrite:m,onSave:n,onCancel:o,onRemove:p,onDismissCheck:q}){let r=uk(),s=(0,O.useId)(),t=(0,O.useRef)(null),[u,v]=(0,O.useState)(!1),w=a=>`${s}-${a}`,x="manual"===a.kind?a.draft:null,y="json"===a.kind&&a.preview?Object.keys(a.preview).filter(a=>Object.hasOwn(f,a)):[],z="json"===a.kind?"导入 JSON":x?.originalName?"服务配置":"添加服务",A=x?.originalName,B=!!(A&&Object.hasOwn(f,A)),C=!!(c&&A&&Object.hasOwn(g,A)),D=(a,b,c)=>(0,N.jsxs)("div",{className:"space-y-1",children:[(0,N.jsx)("label",{htmlFor:w(a),className:"text-sm font-medium",children:r(b)}),c,(0,N.jsx)(uo,{id:w(`${a}-error`),message:i?.field===a?i.message:null})]}),E=(a,b)=>D(a,b,(0,N.jsx)(b3.p,{id:w(a),value:x?.[a]??"",disabled:h||"name"===a&&!!x?.originalName,"aria-invalid":i?.field===a,"aria-describedby":i?.field===a?w(`${a}-error`):void 0,onChange:b=>j({[a]:b.target.value})}));return(0,N.jsxs)("form",{ref:t,"aria-label":r(z),className:"flex min-h-0 min-w-0 flex-1 flex-col",onSubmit:a=>{a.preventDefault(),n()},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":r("返回服务列表"),disabled:h,onClick:o,children:(0,N.jsx)(aj.A,{"aria-hidden":"true"})}),(0,N.jsx)("h3",{className:"min-w-0 flex-1 text-sm font-semibold",children:r(z)}),B&&A&&(0,N.jsx)(un,{trigger:(0,N.jsx)(ae.$,{type:"button",variant:"ghost",size:"icon","aria-label":r("服务操作"),disabled:h,children:(0,N.jsx)(az,{"aria-hidden":"true"})}),children:(0,N.jsx)(bH,{variant:C?"default":"destructive",onClick:()=>p(A),children:r(C?"恢复全局配置":"删除服务")})})]}),c&&(0,N.jsxs)("p",{className:"break-all text-xs text-muted-foreground",children:[r("保存范围"),":",b]})]}),(0,N.jsxs)("div",{className:"pi-desk-chat-scrollbar min-h-0 flex-1 overflow-y-auto p-4 sm:p-6",children:[x?(0,N.jsxs)("div",{className:"max-w-[40rem] space-y-4",children:[e&&(0,N.jsx)(us,{check:e,onRetry:()=>n(!0),onDismiss:q}),E("name","服务名称"),"inherit"===x.transport?(0,N.jsxs)("div",{className:"space-y-1",children:[(0,N.jsx)("p",{className:"text-sm font-medium",children:r("继承全局连接")}),A&&g[A]&&(0,N.jsx)("p",{className:"break-all font-mono text-sm text-muted-foreground",children:ui(g[A])}),(0,N.jsx)("p",{className:"text-xs text-muted-foreground",children:r("连接参数沿用全局,仅保存本项目的启用和工具设置。")})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(um,{id:w("transport"),label:r("连接方式"),value:x.transport,disabled:h,options:[{value:"stdio",label:r("本地程序")},{value:"http",label:r("HTTP 地址")}],onChange:a=>j({transport:"http"===a?"http":"stdio"})}),"stdio"===x.transport?(0,N.jsxs)(N.Fragment,{children:[E("command","启动程序"),D("args","参数(每行一个)",(0,N.jsx)(nQ.T,{id:w("args"),className:"min-h-24 font-mono",value:x.args,disabled:h,onChange:a=>j({args:a.target.value})}))]}):E("url","HTTP 地址"),("stdio"===x.transport||i?.field==="env")&&(0,N.jsx)(uq,{id:w("env"),label:r("环境变量"),rows:x.env,disabled:h,error:i?.field==="env"?i.message:null,onChange:a=>j({env:a})}),("http"===x.transport||i?.field==="headers")&&(0,N.jsx)(uq,{id:w("headers"),label:r("请求头"),rows:x.headers,disabled:h,error:i?.field==="headers"?i.message:null,onChange:a=>j({headers:a})}),c&&(0,N.jsx)("p",{className:"text-xs text-muted-foreground",children:r("本项目的完整定义会整体替换同名全局配置。")})]}),(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:x.enabled,disabled:h,onChange:a=>j({enabled:a.target.checked}),className:"size-4 shrink-0 accent-primary"}),r("已启用")]}),(0,N.jsxs)(cy.Nt,{open:u||i?.field==="advanced",onOpenChange:v,children:[(0,N.jsxs)(cy.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)(cx.A,{"aria-hidden":"true",className:"size-4 transition-transform group-data-panel-open:rotate-180"}),r("高级设置")]}),(0,N.jsxs)(cy.Ke,{className:"space-y-3 pt-3",children:["inherit"!==x.transport&&E("description","服务说明(可选)"),(0,N.jsx)(um,{id:w("exposure"),label:r("工具使用方式"),value:x.exposure,disabled:h,options:[{value:"",label:r("沿用默认")},{value:"codemode",label:r("通过脚本调用")},{value:"deferred",label:r("按需发现")},{value:"direct",label:r("直接使用")},{value:"hidden",label:r("隐藏")},...["","codemode","deferred","direct","hidden"].includes(x.exposure)?[]:[{value:x.exposure,label:x.exposure}]],onChange:a=>j({exposure:a})}),(0,N.jsx)("label",{htmlFor:w("advanced"),className:"block text-sm font-medium",children:r("其他配置(JSON)")}),(0,N.jsx)(nQ.T,{id:w("advanced"),onFocus:()=>v(!0),value:x.advanced,disabled:h,className:"min-h-40 font-mono",spellCheck:!1,"aria-invalid":i?.field==="advanced","aria-describedby":i?.field==="advanced"?w("advanced-error"):void 0,onChange:a=>j({advanced:a.target.value})}),(0,N.jsx)(uo,{id:w("advanced-error"),message:i?.field==="advanced"?i.message:null})]})]})]}):"json"===a.kind?(0,N.jsxs)("div",{className:"space-y-3",children:[D("json","配置 JSON",(0,N.jsx)(nQ.T,{id:w("json"),value:a.text,disabled:h,"aria-invalid":i?.field==="json","aria-describedby":i?.field==="json"?w("json-error"):void 0,spellCheck:!1,className:"min-h-48 font-mono",placeholder:'{ "mcpServers": { "docs": { "url": "https://example.com/mcp" } } }',onChange:a=>k(a.target.value)})),(0,N.jsx)("p",{className:"text-xs text-muted-foreground",children:r("仅接受包含 mcpServers 的标准 JSON。")}),(0,N.jsx)(ae.$,{type:"button",variant:"outline",onClick:l,disabled:h||!a.text.trim(),children:r("解析预览")}),a.preview&&(0,N.jsxs)("section",{"aria-label":r("待保存服务"),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:r(uf(b)?"继承全局连接":"url"in b?"HTTP 地址":"本地程序")}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:r(Object.hasOwn(f,a)?"替换已有配置":Object.hasOwn(g,a)?"覆盖全局(仅本项目)":"新增")}),(0,N.jsx)("span",{className:"text-xs text-muted-foreground",children:r(!1===b.enabled?"已停用":"已启用")})]},a))}),y.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=>m(a.target.checked)}),(0,N.jsx)("span",{children:r("允许替换以上同名已有配置")})]})]})]}):null,(0,N.jsx)("div",{className:"mt-3",children:(0,N.jsx)(uo,{message:i?.field==="save"?i.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:o,children:r("取消")}),x&&(0,N.jsx)(ae.$,{type:"button",variant:"outline",disabled:h||!x.enabled||!1===d,onClick:()=>n(!0),children:r("保存并测试")}),(0,N.jsx)(ae.$,{type:"submit",disabled:h||"json"===a.kind&&(!a.preview||y.length>0&&!a.overwrite),children:r(e?.loading?"正在测试连接…":h?"保存中…":"保存")})]})]})}function uu({pending:a,onAdd:b,onImport:c}){let d=uk();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)(ch,{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)(cs,{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 uv({projects:a,focusedCwd:b,onBeforeLeaveChange:c}){let{clientId:d}=(0,bY.gM)(),e=function(a){let b=uk(),c=(0,O.useMemo)(()=>({getMcp:(b,c)=>b2(a,"/api/mcp-settings/get",{cwd:b},t9,{signal:c}),replaceMcp:(b,c)=>b2(a,"/api/mcp-settings/replace",b,ub,{signal:c}),deleteMcp:(b,c,d)=>b2(a,"/api/mcp-settings/del",{cwd:b,name:c},ub,{signal:d}),checkMcp:(b,c,d)=>b2(a,"/api/mcp-check/get",{cwd:b,name:c},ua,{signal:d})}),[a]),{confirm:d,dialog:e}=py(),[f,g]=(0,O.useState)(null),[h,i]=(0,O.useState)(null),[j,k]=(0,O.useState)(null),[l,m]=(0,O.useState)(!0),[n,o]=(0,O.useState)(!1),[p,q]=(0,O.useState)(null),[r,s]=(0,O.useState)(null),[t,u]=(0,O.useState)(null),[v,w]=(0,O.useState)(null),x=(0,O.useRef)(null),y=(0,O.useRef)(0),z=(0,O.useRef)(0),A=(0,O.useRef)(d),B=(0,O.useRef)(b),C=j?.kind==="manual"&&JSON.stringify(j.draft)!==j.initial||j?.kind==="json"&&!!j.text,D=(0,O.useCallback)(()=>{k(null),s(null)},[]),E=(0,O.useCallback)(async()=>{if(n||v?.loading)return!1;if(!C)return!0;let a=await A.current({title:B.current("放弃未保存的修改?"),description:B.current("当前修改尚未保存。放弃后将保留已保存的配置。"),confirmLabel:B.current("放弃修改")});return a&&D(),a},[C,D,n,v?.loading]),F=(0,O.useCallback)(async(a,b)=>{m(!0),q(null);try{let d=await c.getMcp(f,a);a.aborted||y.current!==b||i(d)}catch(c){a.aborted||y.current!==b||q(ul(c))}finally{a.aborted||y.current!==b||m(!1)}},[c,f]),G=async a=>{await E()&&(D(),u(null),a())},H=(a,b)=>{let c=ug(a,b);s(null),u(null),w(null),k({kind:"manual",draft:c,initial:JSON.stringify(c)})},I=async(a,b)=>{let c=x.current?.signal;if(!c||n||v?.loading)return!1;let d=y.current;o(!0),s(null),u(null);try{if(await a(c),c.aborted||y.current!==d)return!1;return b(),w(null),u("已保存。新会话使用新配置;已有会话需重载 Pi 配置。"),i(null),await F(c,d),!c.aborted&&y.current===d}catch(a){return c.aborted||y.current!==d||s({field:a instanceof uh?a.field:"save",message:ul(a)}),!1}finally{c.aborted||y.current!==d||o(!1)}},J=async(a=!1)=>{if(!(!j||!h||n||v?.loading)&&(!a||"manual"===j.kind&&j.draft.enabled&&!1!==h.projectTrusted))try{let b="manual"===j.kind?function(a,b){let c,d=a.name.trim();if(!d||d.length>128)throw new uh("name","服务名称需要 1–128 个字符。");try{c=t7.parse(JSON.parse(a.advanced))}catch{throw new uh("advanced","高级配置需要是 JSON 对象。")}if(uc.some(a=>a in c))throw new uh("advanced","连接、说明、启用和曝光字段请在上方表单中填写。");if("inherit"===a.transport&&Object.keys(c).some(a=>"toolExposure"!==a))throw new uh("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||ud(b?.[d])){if(d in c)throw new uh("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 uh(b,"请填写名称,或删除空白行。");let a=e.key.trim(),f="headers"===b?a.toLowerCase():a;if(d.has(f))throw new uh(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 uh("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 uh("url","请输入有效的 HTTP 或 HTTPS 地址。")}e.url=a.url.trim(),(b?.type!==void 0||!b||"command"in b)&&(e.type="http")}return{[d]:e}}(j.draft,j.draft.originalName?h.local[j.draft.originalName]:void 0):j.preview;if(!b)return;let d=Object.keys(b).filter(a=>Object.hasOwn(h.local,a));if("json"===j.kind&&d.length&&!j.overwrite)throw new uh("json","请明确勾选替换已有配置。");if("manual"===j.kind&&d.some(a=>a!==j.draft.originalName))throw new uh("name","该名称已存在,请编辑已有服务或使用其他名称。");if(await I(a=>c.replaceMcp({cwd:f,servers:b},a),()=>{if("json"===j.kind)k(null);else{let a=j.draft.name.trim(),c=ug(a,b[a]);k({kind:"manual",draft:c,initial:JSON.stringify(c)})}})&&a&&"manual"===j.kind){let a=await L(j.draft.name.trim());x.current?.signal.aborted||u(a?"已保存,连接测试通过。":"已保存,连接测试失败。")}}catch(a){s({field:a instanceof uh?a.field:"save",message:ul(a)})}},K=async a=>{if(!h||!Object.hasOwn(h.local,a))return;let b=null!==f&&Object.hasOwn(h.inherited,a);await A.current({title:`${B.current(b?"恢复全局配置":"删除服务")} \xb7 ${a}`,description:B.current(b?"删除本项目配置后,将恢复使用同名全局配置。":"此范围内的服务配置将被删除。"),confirmLabel:B.current(b?"恢复全局配置":"删除服务")})&&await I(b=>c.deleteMcp(f,a,b),()=>k(null))},L=async a=>{let b=x.current?.signal;if(!b||!h||!1===h.projectTrusted||v?.loading)return!1;let d=++z.current;w({name:a,loading:!0,output:null,error:null});try{let e=await c.checkMcp(f,a,b);return b.aborted||z.current!==d||w({name:a,loading:!1,output:e.output.slice(0,32768),error:null}),!0}catch(c){return b.aborted||z.current!==d||w({name:a,loading:!1,output:null,error:ul(c)}),!1}},M=h?[...new Set([...Object.keys(h.inherited),...Object.keys(h.local)])].map(a=>{let b=h.local[a],c=h.inherited[a],d=!!(b&&c&&uf(b));return{name:a,config:d?{...c,...b}:b??c,local:b??null,source:null===f?"全局":b?d?"项目配置 \xb7 继承全局连接":"项目配置":"继承全局"}}):[];return{cwd:f,mcp:h,editor:j,setEditor:k,loading:l,pending:n,loadError:p,error:r,notice:t,check:v,rows:M,dirty:C,dialog:e,retry:()=>{x.current&&F(x.current.signal,y.current)},navigate:G,setCwd:a=>{i(null),w(null),q(null),m(!0),g(a)},startManual:H,startInherited:(a,b)=>{H(a,{enabled:!1!==b.enabled})},updateDraft:a=>{k(b=>b?.kind==="manual"?{...b,draft:{...b.draft,...a}}:b),s(null),u(null),w(null)},updateJson:a=>{k({kind:"json",text:a,preview:null,overwrite:!1}),s(null)},previewJson:()=>{if(j?.kind==="json"&&h)try{let b=function(a){let b;try{b=JSON.parse(a)}catch{throw Error("请输入有效的 JSON。")}let c=Q.Ik({mcpServers:t8}).strict().safeParse(b);if(!c.success)throw Error("仅接受包含 mcpServers 的标准配置,不允许其他根级字段。");if(0===Object.keys(c.data.mcpServers).length)throw Error("配置中至少需要一个服务。");return c.data.mcpServers}(j.text);var a=h.inherited;for(let[c,d]of Object.entries(b)){if(!c.trim()||c!==c.trim())throw new uh("json","服务名称不能为空或带有首尾空格。");if(uf(d)){if(null===f||!Object.hasOwn(a,c)||Object.keys(d).some(a=>!["enabled","exposure","toolExposure"].includes(a)))throw new uh("json",`${c}:继承配置需要同名全局服务,且只允许启用和曝光设置。`)}else if("sse"===d.type)throw new uh("json",`${c}:不支持 SSE,请使用 HTTP 连接。`);else if("string"!=typeof d.command&&"string"!=typeof d.url)throw new uh("json",`${c}:请提供启动程序或服务地址。`)}k({...j,preview:b,overwrite:!1}),s(null)}catch(a){s({field:"json",message:ul(a)})}},saveEditor:J,remove:K,dismissCheck:()=>{w(null)},beforeLeave:E}}(d),f=uk(),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.cwd?f("全局"):`${h.find(a=>a.cwd===e.cwd)?.projectName??f("当前项目")} \xb7 ${e.cwd}`,j=!!(e.editor&&e.mcp),k=!!(e.mcp&&!e.loading&&!e.loadError&&!j&&0===e.rows.length),l=e.pending||!!e.check?.loading,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:(0,ag.cn)("grid shrink-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-3 border-b p-4",!k&&"@min-[40rem]/mcp:grid-cols-[auto_minmax(0,1fr)_auto]"),children:[(0,N.jsx)("h2",{className:"text-xl font-semibold",children:"MCP"}),!k&&(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||e.loading||!e.mcp,onClick:n,children:[(0,N.jsx)(ay,{"aria-hidden":"true"}),f("添加服务")]}),(0,N.jsx)(ae.$,{variant:"outline",disabled:l||e.loading||!e.mcp,onClick:o,children:f("导入 JSON")})]}),(0,N.jsx)("div",{className:(0,ag.cn)("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",k&&"@min-[40rem]/mcp:w-56"),children:(0,N.jsx)(um,{id:`${g}-scope`,label:f("配置范围"),value:e.cwd??"",disabled:l,options:[{value:"",label:f("全局")},...h.map(a=>({value:a.cwd,label:`${a.projectName}${a.cwd===b?` \xb7 ${f("当前项目")}`:""}`}))],onChange:a=>{a!==(e.cwd??"")&&e.navigate(()=>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)(uo,{message:`${a.name?`${a.name}:`:""}${a.message}`},b))}),e.loadError?(0,N.jsxs)("div",{className:"space-y-3 p-4",children:[(0,N.jsx)(uo,{message:e.loadError}),(0,N.jsx)(ae.$,{variant:"outline",onClick:e.retry,disabled:e.loading,children:f("重试")})]}):e.loading&&!j?(0,N.jsx)("p",{role:"status",className:"p-4 text-sm text-muted-foreground",children:f("正在读取配置…")}):e.mcp?(0,N.jsxs)("div",{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)(uo,{message:e.error.message})}),(0,N.jsx)(up,{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)(ut,{editor:e.editor,scopeLabel:i,project:null!==e.cwd,projectTrusted:e.mcp.projectTrusted,local:e.mcp.local,inherited:e.mcp.inherited,pending:l,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)(uu,{pending:l,onAdd:n,onImport:o}):null]}):null]})}var uw=c(3035),ux=c(4543),uy=c(59776);let uz=Q.Yj().trim().min(1).max(200),uA=Q.Yj().trim().min(1).max(100).nullable(),uB=Q.Yj().trim().min(1).max(100).nullable(),uC=Q.Yj().trim().min(1).max(200),uD=Q.Ik({label:Q.Yj().trim().min(1).max(64),value:Q.Yj().trim().min(1).max(500)}).strict(),uE=Q.Yj().trim().min(1).max(300).nullable(),uF=Q.k5(["running","completed","failed","stopped","interrupted"]),uG=Q.Ik({taskId:uz,taskKind:uA,taskType:uB,title:uC,info:Q.YO(uD).max(12),status:uF,activity:uE,startedAt:qi.k,endedAt:qi.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"]})}),uH=Q.Ik({tasks:Q.YO(uG)}).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)}),uI=Q.Ik({kind:Q.eu("text"),text:Q.Yj(),truncated:Q.zM()}).strict(),uJ=ux.RX.extend({kind:Q.eu("conversation"),truncated:Q.zM()}).strict(),uK=Q.KC([Q.ch(),uI,uJ]),uL=Q.Ik({taskId:uz,canInterrupt:Q.zM(),body:uK}).strict(),uM=uy.mv,uN=Q.KC([Q.Ik({type:Q.eu("snapshot"),snapshot:uL}).strict(),Q.Ik({type:Q.eu("text_append"),text:Q.Yj().min(1)}).strict(),Q.Ik({type:Q.eu("conversation_event"),event:uM}).strict(),Q.Ik({type:Q.eu("unavailable")}).strict()]);Q.Ik({source:uw.R,taskId:uz,entryId:oO.Rv}).strict().extend({imageIndex:Q.ai().int().nonnegative()}).strict();let uO=Q.Ik({source:uw.R,taskId:uz.nullable()}).strict(),uP=Q.Ik({snapshot:uL.nullable()}).strict(),uQ=Q.Ik({source:uw.R,taskId:uz}).strict(),uR=Q.Ik({}).strict(),uS=Q.Ik({source:uw.R,taskId:uz,event:uN}).strict(),uT=Object.freeze({detailWatch:(0,R.Vc)({path:"task-center/detail-watch",inputSchema:uO,outputSchema:uP}),interrupt:(0,R.Vc)({path:"task-center/interrupt",inputSchema:uQ,outputSchema:uR}),detailEvent:(0,R._G)({path:"task-center/detail-event",bodySchema:uS})}),uU=(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"}]]),uV=(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"}]]),uW=(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"}]]),uX=(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"}]]),uY=(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"}]]),uZ={damping:.7,stiffness:.05,mass:1.25},u$=1e3/60,u_=!1;globalThis.document?.addEventListener("mousedown",()=>{u_=!0}),globalThis.document?.addEventListener("mouseup",()=>{u_=!1}),globalThis.document?.addEventListener("click",()=>{u_=!1});let u0=(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(!u_)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=u3(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))/u$;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:u3(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=u1(a=>{q.current?.removeEventListener("scroll",o),q.current?.removeEventListener("wheel",p),a?.addEventListener("scroll",o,{passive:!0}),a?.addEventListener("wheel",p,{passive:!0})},[]),r=u1(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=u3(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 u1(a,b){let c=(0,O.useCallback)(b=>(c.current=b,a(b)),b);return c}let u2=new Map;function u3(...a){let b={...uZ},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 u2.has(d)||u2.set(d,Object.freeze(b)),c?"instant":u2.get(d)}let u4=(0,O.createContext)(null),u5="u">typeof window?O.useLayoutEffect:O.useEffect;function u6({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=u0({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]),u5(()=>{m.current&&"visible"===getComputedStyle(m.current).overflow&&(m.current.style.overflow="auto")},[]),O.createElement(u4.Provider,{value:t},O.createElement("div",{...j},"function"==typeof b?b(t):b))}function u7(){let a=(0,O.useContext)(u4);if(!a)throw Error("use-stick-to-bottom component context must be used within a StickToBottom component");return a}(u6||(u6={})).Content=function({children:a,scrollClassName:b,...c}){let d=u7();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 u8=({className:a,...b})=>(0,N.jsx)(u6,{className:(0,ag.cn)("relative flex-1 overflow-y-hidden",a),initial:"smooth",resize:"smooth",role:"log",...b}),u9=({className:a,...b})=>(0,N.jsx)(u6.Content,{className:(0,ag.cn)("flex flex-col gap-8 p-4",a),...b});var va=c(81266);let vb=O.createContext(void 0);function vc(a){let b=O.useContext(vb);if(void 0===b&&!a)throw Error((0,aC.A)(50));return b}var vd=c(69434),ve=c(21574),vf=c(56278);function vg(a,b,c,d){return{left:a,top:b,right:c,bottom:d,x:a,y:b,width:c-a,height:d-b}}function vh(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:vg(d,e,f,g)}}function vi(a,b,c){return a.findIndex(a=>b>a.left-2&&b<a.right+2&&c>a.top-2&&c<a.bottom+2)}function vj(a){return vg(a.left,a.top,a.right,a.bottom)}function vk(a,b,c,d){let e=function(a,b,c){let{lines:d}=vh(a.getClientRects());if(d.length<2)return;let e=vi(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 vl={...ve.ol,instantType:a=>a.instantType,adaptiveOrigin:a=>a.adaptiveOrigin,closeDelay:a=>a.closeDelay};class vm extends vd.H{constructor(a,b,c){const d=new vf.Z;super(function(a,b,c,d=!1){let e={...(0,ve.rJ)(),instantType:void 0,adaptiveOrigin:void 0,closeDelay:300,...a};return e.floatingRootContext=(0,ve.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),vl)}setOpen=(a,b)=>{let{inlineRectCoordsRef:c}=this.context;(0,a_.DU)(this,a,b,{onBeforeDispatch(){let d=b.event;a&&b.reason===a2.N7&&b.trigger&&"clientX"in d&&"clientY"in d&&c.current?.element!==b.trigger&&vk(c,b.trigger,d.clientX,d.clientY)}})}}function vn(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,a_.xp)((a,d)=>new vm({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,a_.tr)(k,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:p}=(0,a_.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,bs.d)(a2.zJ))}),[p,k]);let q=l||n;return(0,N.jsxs)(vb.Provider,{value:k,children:[g&&(0,N.jsx)(a_.Ae,{handle:g,store:k}),q&&(0,N.jsx)(vo,{store:k}),"function"==typeof j?j({payload:o}):j]})}function vo({store:a}){let b=a.useState("floatingRootContext"),c=(0,va.s)(b);return(0,a_.i6)(a,{activeTriggerProps:c.reference,inactiveTriggerProps:c.trigger,popupProps:c.floating}),null}let vp=(0,aF.G1)(function(a){return vc(!0)?(0,N.jsx)(vn,{...a}):(0,N.jsx)(aJ.P6,{children:(0,N.jsx)(vn,{...a})})}),vq=(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=vc(!0),m=(0,a$.f)(i)??l;if(!m)throw Error((0,aC.A)(89));let n=(0,a1.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,a_.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||vk(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})}),vr=O.createContext(void 0);var vs=c(97894);let vt=O.forwardRef(function(a,b){let{keepMounted:c=!1,...d}=a;return vc().useState("mounted")||c?(0,N.jsx)(vr.Provider,{value:c,children:(0,N.jsx)(vs.F,{ref:b,...d})}):null}),vu=O.createContext(void 0);var vv=c(65913),vw=c(91259);let vx=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=a4.Pe,style:q,...r}=a,s=vc(),t=function(){let a=O.useContext(vr);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,vv.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,de.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}=vh(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 vj(d[c.lineIndex]);if(null!=f&&null!=g){let a=vi(d,f,g);if(-1!==a)return vj(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 vg(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 vg(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,vw.i)(a,E,{styles:C.positionerStyles,transitionStatus:z,props:r,refs:[b,s.useStateSetter("positionerElement")],hidden:!w,inert:!v});return(0,N.jsx)(vu.Provider,{value:C,children:(0,N.jsx)(aJ.$c,{id:u,children:F})})});var vy=c(69833),vz=c(43598);let vA=O.forwardRef(function(a,b){let{className:c,render:d,style:e,...f}=a,g=vc(),{side:h,align:i}=function(){let a=O.useContext(vu);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,bv.v)({open:j,ref:g.context.popupRef,onComplete(){j&&g.context.onOpenChangeComplete?.(!0)}}),(0,vz.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:[a_.Ls,m,(0,vy.d)(l),f],stateAttributesMapping:aR.LM})});function vB({...a}){return(0,N.jsx)(vp,{"data-slot":"hover-card",...a})}function vC({...a}){return(0,N.jsx)(vq,{"data-slot":"hover-card-trigger",...a})}function vD({className:a,side:b="bottom",sideOffset:c=4,align:d="center",alignOffset:e=4,...f}){return(0,N.jsx)(vt,{"data-slot":"hover-card-portal",children:(0,N.jsx)(vx,{align:d,alignOffset:e,side:b,sideOffset:c,className:"isolate z-50",children:(0,N.jsx)(vA,{"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 vE=({className:a,...b})=>(0,N.jsx)(pn.Sq,{align:"block-end",className:(0,ag.cn)("justify-between gap-1",a),...b}),vF=({className:a,...b})=>(0,N.jsx)("div",{className:(0,ag.cn)("flex min-w-0 items-center gap-1",a),...b}),vG=({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)(pn.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)(dA.m_,{children:[(0,N.jsx)(dA.k$,{render:g}),(0,N.jsxs)(dA.ZI,{side:j,children:[h,i&&(0,N.jsx)("span",{className:"ml-2 text-muted-foreground",children:i})]})]})},vH=Q.Ik({input:Q.g1(Q.Yj(),Q.Pq())}).strict(),vI=Q.Ik({output:Q.Yj()}).strict(),vJ="pideskHelp",vK=/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/,vL=/^(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 vM(a){return/^[a-zA-Z0-9_./:@=+-]+$/.test(a)?a:JSON.stringify(a)}let vN=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:cD.qf}).strict().nullish()}).strict(),vO=Q.Ik({plugins:Q.YO(vN),restartRequired:Q.zM(),loadError:cD.qf.nullish()}).strict(),vP=vN.extend({detail:Q.g1(Q.Yj(),Q.Pq())}).strict(),vQ=Q.Ik({version:Q.Yj(),environment:Q.k5(["development","production"]),mode:Q.k5(["basic","normal"]),cwd:Q.Yj(),agentDir:Q.Yj(),skillDirectory:Q.Yj()}).strict(),vR=null,vS=new WeakMap,vT=new WeakMap,vU=new WeakMap;function vV(a){switch(a.fixed.type){case"user":{let b=ux.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?ux.Er.safeParse(a.summary):null,c=b?.success?b.data:{text:"",errorMessage:null},d="pi-desk/assistant"===a.fixed.viewKey?ux.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=ux.UT.safeParse(a.summary),e=d.success?d.data:b,f=ux.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=vH.safeParse(a.summary),e=d.success?d.data:{input:{}},f=vI.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=ux.Qi.safeParse(a.summary),e=d.success?d.data:{...b,timing:null},f=ux.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=ux.Gx.safeParse(a.summary),e=d.success?d.data:{...b,path:null},f=ux.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=ux.aV.safeParse(a.summary),e=d.success?d.data:{...b,path:null},f=ux.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=ux.bN.safeParse(a.summary),e=d.success?d.data:{...b,path:null},f=ux.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=ux.Px.safeParse(a.summary),e=d.success?d.data:b,f=ux.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=ux.ai.safeParse(a.summary),c=b.success?b.data:{command:a.fixed.viewKey},d=ux.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=ux.sL.safeParse(a.detail);return{summary:{type:"compaction",hasDetail:a.fixed.hasDetail},detail:b.success?{type:"compaction",...b.data}:void 0}}let b=ux.Rt.safeParse(a.summary);return{summary:{type:"custom",text:(b.success?b.data:{text:""}).text,hasDetail:!1},detail:void 0}}}}function vW(a){return a.temporary||"status"in a.summary&&"running"===a.summary.status}function vX(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 vY(a,b,c){if("compaction"===c.summary.type){vZ(a,b),a.push({identity:c.identity,user:null,processItems:[],finalAssistant:null,compaction:c,running:vW(c),toolCount:0});return}"user"!==c.summary.type?b.body.push(c):(vZ(a,b),b.user=c)}function vZ(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||vX(b))&&f.push({message:b,hideAssistantText:!1});continue}vX(b)&&f.push({message:b,hideAssistantText:!0})}return{identity:a,user:b,processItems:f,finalAssistant:e,compaction:null,running:c.some(vW),toolCount:c.filter(a=>"tool"===a.summary.type||"bash"===a.summary.type).length}}(c,b.user,b.body)),b.user=null,b.body=[]}function v$(a,b=!1){let c=function(a){let b=vU.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=vS.get(a);if(b)return b;let c=vV(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 vS.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)),vY(c,d,a)}let h={turns:c,user:d.user,body:d.body};return vU.set(a,h),h}(a.messages),d=[...c.turns],e={user:c.user,body:[...c.body]};for(let[b,c]of a.temporaryMessages.entries())vY(d,e,function(a,b){let c=vT.get(a);if(c?.position===b)return c.message;let d=vV(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 vT.set(a,{position:b,message:e}),e}(c,a.messages.length+b));vZ(d,e);let f=d.at(-1);return b&&f&&!f.compaction&&(f.running=!0),d}function v_(a){return a<1e3?String(a):a<1e6?`${(a/1e3).toFixed(1).replace(/\.0$/,"")}k`:`${(a/1e6).toFixed(1).replace(/\.0$/,"")}m`}function v0(a){return 0===a?"$0":a<1e-4?"<$0.0001":`$${a.toFixed(4).replace(/0+$/,"").replace(/\.$/,"")}`}function v1(a,b=Date.now(),c="en",d="UTC"){let e=new Date(a),f=new Date(b),g=function(a,b){if(vR?.locale===a&&vR.timeZone===b)return vR;let c="en"===a?"en-US":"zh-CN";return vR={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 v2(a,b,c={}){}function v3(a){for(let b of a.querySelectorAll("[data-chat-tail-space]"))v2("tail:clear:start",a),b.style.removeProperty("min-height"),delete b.dataset.chatTailSpace,delete b.dataset.chatTailAnchor,delete b.dataset.chatTailOffset,v2("tail:clear:end",a)}function v4({active:a=!0}){let{scrollRef:b,state:c}=u7();return null}function v5(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 v6(a,b,c){let d=0;for(let e=b;e<c;e+=1)a[e]?.user&&(d+=1);return d}function v7(a,b){let c=Math.max(0,Math.min(a.length,b)),d=Math.min(2,v6(a,0,c)),e=c,f=0,g=0,h=0;for(;e>0;){let b=a[e-1],c=v5(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 v8(a,b){let c=Math.max(0,Math.min(a.length,b)),d=Math.min(2,v6(a,c,a.length)),e=c,f=0,g=0,h=0;for(;e<a.length;){let b=a[e],c=v5(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 v9(a){return{startIndex:v7(a,a.length),endIndex:a.length}}function wa(a,b){let c,d;if(0===a.length)return{startIndex:0,endIndex:0};if(!b)return v9(a);let e=(d=(c=b.lastIndexOf(":"))>0?b.slice(0,c):b,a.findIndex(a=>v5(a).some(a=>a.identity===d)));if(e<0)return v9(a);let f=Math.min(a.length,e+1+10);return{startIndex:v7(a,f),endIndex:f}}function wb({active:a=!0,turns:b,focusTurnIdentity:c,initialAnchor:d,children:e}){let{scrollRef:f}=u7(),[g,h]=(0,O.useState)(()=>({...wa(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 v9(b);if(0===g.turnCount&&0===g.endIndex)return wa(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=v7(b,k.startIndex);if(a>=k.startIndex)return;m();let c=f.current;c&&v2("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=v8(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,v7(b,a+1))}):l({...k,endIndex:Math.max(a+1,v8(b,a))}))},[l,k,b]),o=(0,O.useCallback)(()=>{l(v9(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 wc={canMoveUp:!1,canMoveDown:!1,hasNextMessage:!1};function wd(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 we(a){return a.user?`${a.user.identity}:user`:null}function wf(a,b,c){var d;let e,f,g=Array.from(a.querySelectorAll("[data-chat-user-message]")),h=a.getBoundingClientRect().top+12,i=wd(g,h,-2,!0),j=wd(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 v2("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 wg({turns:a,window:b}){let{t:c}=(0,aa.Bd)("conversation"),{scrollRef:d,scrollToBottom:e,stopScroll:f}=u7(),g=(0,O.useMemo)(()=>a.flatMap((a,b)=>a.user?[b]:[]),[a]),[h,i]=(0,O.useState)(!1),[j,k]=(0,O.useState)(wc),[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=wf(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(wc),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=wf(i,b,g),l="up"===c?j.previousMessage:j.atBottom?null:j.nextMessage;if(l){let c=g.findIndex(b=>we(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;v2("position:start",a,{target:b.dataset.chatScrollAnchor??null,offset:12,addTailSpace:c}),v3(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),v2("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,v2("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=we(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||(v2("navigation:bottom:start",i,{containsTail:b.containsTail}),s.current=!0,v3(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)(dz,{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 wh=(0,O.createContext)({basic:!1});function wi({basic:a,onRecover:b,children:c}){let d=(0,O.useMemo)(()=>({basic:a,recover:b}),[a,b]);return(0,N.jsx)(wh.Provider,{value:d,children:c})}function wj(a){return{location:a.snapshot.location,fixed:a.snapshot.fixed,summary:a.snapshot.summary,...void 0===a.snapshot.detail?{}:{detail:a.snapshot.detail}}}class wk{constructor(a,b){this.listeners=new Set,this.pending=null,this.requestEpoch=0,this.disposed=!1,this.basic=!1,this.message=a,this.snapshot=wj(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=wj(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 wl({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)(wh),[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)(cw.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)(cz,{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)(bV.A,{}),i("retry")]}):null]})]})})]})}function wm({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 wn({message:a,loadDetail:b,defaultView:c}){let{t:d}=(0,aa.Bd)("conversation"),e=(0,bQ.t4)();(0,bQ.So)();let f=(0,O.useContext)(wh),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 wk(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)(wl,{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)(wm,{message:a});if(n?.status==="conflict")return(0,N.jsx)(wl,{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)(wm,{message:a}):(0,N.jsx)(wl,{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)(wl,{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)(wm,{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 wo=(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"}]]),wp=(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"}]]),wq=(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"}]]),wr=(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"}]]),ws=(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 wt=c(97993);let wu={src:"/_next/static/media/console.fdac8a18.svg",height:16,width:16,blurWidth:0,blurHeight:0},wv={src:"/_next/static/media/docker.1e10aab8.svg",height:24,width:24,blurWidth:0,blurHeight:0},ww={src:"/_next/static/media/git.f893cb5f.svg",height:32,width:32,blurWidth:0,blurHeight:0},wx={src:"/_next/static/media/html.97f145d3.svg",height:32,width:32,blurWidth:0,blurHeight:0},wy={src:"/_next/static/media/image.69ad851c.svg",height:16,width:16,blurWidth:0,blurHeight:0},wz={src:"/_next/static/media/javascript.9ef61c53.svg",height:16,width:16,blurWidth:0,blurHeight:0},wA={src:"/_next/static/media/json.eb8fe488.svg",height:960,width:960,blurWidth:0,blurHeight:0},wB={src:"/_next/static/media/markdown.ee1bbe18.svg",height:32,width:32,blurWidth:0,blurHeight:0},wC={src:"/_next/static/media/nodejs.2f5d7983.svg",height:32,width:32,blurWidth:0,blurHeight:0},wD={src:"/_next/static/media/typescript.cd97905b.svg",height:16,width:16,blurWidth:0,blurHeight:0},wE={src:"/_next/static/media/yaml.8927dd24.svg",height:24,width:24,blurWidth:0,blurHeight:0},wF=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":wC,"package-lock.json":wC,"npm-shrinkwrap.json":wC,dockerfile:wv,".dockerignore":wv,".gitignore":ww,".gitattributes":ww,".gitmodules":ww})),wG=new Map(Object.entries({ts:wD,mts:wD,cts:wD,tsx:{src:"/_next/static/media/react_ts.3d16336c.svg",height:32,width:32,blurWidth:0,blurHeight:0},js:wz,mjs:wz,cjs:wz,jsx:{src:"/_next/static/media/react.b5a87f7d.svg",height:32,width:32,blurWidth:0,blurHeight:0},json:wA,jsonc:wA,jsonl:wA,yaml:wE,yml:wE,md:wB,mdx:wB,png:wy,jpg:wy,jpeg:wy,gif:wy,webp:wy,avif:wy,bmp:wy,ico:wy,svg:{src:"/_next/static/media/svg.4aa98763.svg",height:32,width:32,blurWidth:0,blurHeight:0},sh:wu,bash:wu,zsh:wu,fish:wu,ps1:wu,bat:wu,cmd:wu,html:wx,htm:wx,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 wH({path:a,className:b}){let c=a.replaceAll("\\","/").split("/").at(-1)?.toLowerCase()??"",d=c.includes(".")?c.slice(c.lastIndexOf(".")+1):"",e=wF.get(c)??(c.startsWith("dockerfile.")?wv:void 0)??wG.get(d);return e?(0,N.jsx)(wt.default,{src:e,alt:"","aria-hidden":"true",width:16,height:16,className:b,unoptimized:!0}):(0,N.jsx)(pl.A,{className:b,"aria-hidden":"true"})}var wI=c(72482);let wJ=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],wK=new Set([...wJ,"pathRotation"]),wL=(a,b,c)=>c>b?b:c<a?a:c,wM={test:a=>"number"==typeof a,parse:parseFloat,transform:a=>a},wN={...wM,transform:a=>wL(0,1,a)},wO={...wM,default:1},wP=a=>Math.round(1e5*a)/1e5,wQ=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu,wR=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,wS=(a,b)=>c=>!!("string"==typeof c&&wR.test(c)&&c.startsWith(a)||b&&null!=c&&Object.prototype.hasOwnProperty.call(c,b)),wT=(a,b,c)=>d=>{if("string"!=typeof d)return d;let[e,f,g,h]=d.match(wQ);return{[a]:parseFloat(e),[b]:parseFloat(f),[c]:parseFloat(g),alpha:void 0!==h?parseFloat(h):1}},wU={...wM,transform:a=>Math.round(wL(0,255,a))},wV={test:wS("rgb","red"),parse:wT("red","green","blue"),transform:({red:a,green:b,blue:c,alpha:d=1})=>"rgba("+wU.transform(a)+", "+wU.transform(b)+", "+wU.transform(c)+", "+wP(wN.transform(d))+")"},wW={test:wS("#"),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:wV.transform},wX=a=>({test:b=>"string"==typeof b&&b.endsWith(a)&&1===b.split(" ").length,parse:parseFloat,transform:b=>`${b}${a}`}),wY=wX("deg"),wZ=wX("%"),w$=wX("px"),w_=wX("vh"),w0=wX("vw"),w1={...wZ,parse:a=>wZ.parse(a)/100,transform:a=>wZ.transform(100*a)},w2={test:wS("hsl","hue"),parse:wT("hue","saturation","lightness"),transform:({hue:a,saturation:b,lightness:c,alpha:d=1})=>"hsla("+Math.round(a)+", "+wZ.transform(wP(b))+", "+wZ.transform(wP(c))+", "+wP(wN.transform(d))+")"},w3={test:a=>wV.test(a)||wW.test(a)||w2.test(a),parse:a=>wV.test(a)?wV.parse(a):w2.test(a)?w2.parse(a):wW.parse(a),transform:a=>"string"==typeof a?a:a.hasOwnProperty("red")?wV.transform(a):w2.transform(a),getAnimatableNone:a=>{let b=w3.parse(a);return b.alpha=0,w3.transform(b)}},w4=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu,w5="number",w6="color",w7=/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 w8(a){let b=a.toString(),c=[],d={color:[],number:[],var:[]},e=[],f=0,g=b.replace(w7,a=>(w3.test(a)?(d.color.push(f),e.push(w6),c.push(w3.parse(a))):a.startsWith("var(")?(d.var.push(f),e.push("var"),c.push(a)):(d.number.push(f),e.push(w5),c.push(parseFloat(a))),++f,"${}")).split("${}");return{values:c,split:g,indexes:d,types:e}}function w9({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===w5?e+=wP(d[f]):a===w6?e+=w3.transform(d[f]):e+=d[f]}return e}}let xa={test:function(a){return isNaN(a)&&"string"==typeof a&&(a.match(wQ)?.length||0)+(a.match(w4)?.length||0)>0},parse:function(a){return w8(a).values},createTransformer:function(a){return w9(w8(a))},getAnimatableNone:function(a){let b=w8(a);return w9(b)(b.values.map((a,c)=>((a,b)=>"number"==typeof a?b?.trim().endsWith("/")?a:0:"number"==typeof a?0:w3.test(a)?w3.getAnimatableNone(a):a)(a,b.split[c])))}},xb=new Set(["brightness","contrast","saturate","opacity"]);function xc(a){let[b,c]=a.slice(0,-1).split("(");if("drop-shadow"===b)return a;let[d]=c.match(wQ)||[];if(!d)return a;let e=c.replace(d,""),f=+!!xb.has(b);return d!==c&&(f*=100),b+"("+f+e+")"}let xd=/\b([a-z-]*)\(.*?\)/gu,xe={...xa,getAnimatableNone:a=>{let b=a.match(xd);return b?b.map(xc).join(" "):a}},xf={...xa,getAnimatableNone:a=>{let b=xa.parse(a);return xa.createTransformer(a)(b.map(a=>"number"==typeof a?0:"object"==typeof a?{...a,alpha:1}:a))}},xg={...wM,transform:Math.round},xh={borderWidth:w$,borderTopWidth:w$,borderRightWidth:w$,borderBottomWidth:w$,borderLeftWidth:w$,borderRadius:w$,borderTopLeftRadius:w$,borderTopRightRadius:w$,borderBottomRightRadius:w$,borderBottomLeftRadius:w$,width:w$,maxWidth:w$,height:w$,maxHeight:w$,top:w$,right:w$,bottom:w$,left:w$,inset:w$,insetBlock:w$,insetBlockStart:w$,insetBlockEnd:w$,insetInline:w$,insetInlineStart:w$,insetInlineEnd:w$,padding:w$,paddingTop:w$,paddingRight:w$,paddingBottom:w$,paddingLeft:w$,paddingBlock:w$,paddingBlockStart:w$,paddingBlockEnd:w$,paddingInline:w$,paddingInlineStart:w$,paddingInlineEnd:w$,margin:w$,marginTop:w$,marginRight:w$,marginBottom:w$,marginLeft:w$,marginBlock:w$,marginBlockStart:w$,marginBlockEnd:w$,marginInline:w$,marginInlineStart:w$,marginInlineEnd:w$,fontSize:w$,backgroundPositionX:w$,backgroundPositionY:w$,rotate:wY,pathRotation:wY,rotateX:wY,rotateY:wY,rotateZ:wY,scale:wO,scaleX:wO,scaleY:wO,scaleZ:wO,skew:wY,skewX:wY,skewY:wY,distance:w$,translateX:w$,translateY:w$,translateZ:w$,x:w$,y:w$,z:w$,perspective:w$,transformPerspective:w$,opacity:wN,originX:w1,originY:w1,originZ:w$,zIndex:xg,fillOpacity:wN,strokeOpacity:wN,numOctaves:xg},xi={...xh,color:w3,backgroundColor:w3,outlineColor:w3,fill:w3,stroke:w3,borderColor:w3,borderTopColor:w3,borderRightColor:w3,borderBottomColor:w3,borderLeftColor:w3,filter:xe,WebkitFilter:xe,mask:xf,WebkitMask:xf},xj=a=>xi[a],xk=()=>({translate:0,scale:1,origin:0,originPoint:0}),xl=()=>({x:xk(),y:xk()}),xm=()=>({min:0,max:0}),xn=()=>({x:xm(),y:xm()}),xo=a=>!!(a&&a.getVelocity),xp=new Set(["width","height","top","left","right","bottom",...wJ]),xq=a=>b=>b.test(a),xr=[wM,w$,wZ,wY,w0,w_,{test:a=>"auto"===a,parse:a=>a}],xs=a=>xr.find(xq(a)),xt=()=>{},xu=()=>{},xv=a=>b=>"string"==typeof b&&b.startsWith(a),xw=xv("--"),xx=xv("var(--"),xy=a=>!!xx(a)&&xz.test(a.split("/*")[0].trim()),xz=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function xA(a){return"string"==typeof a&&a.split("/*")[0].includes("var(--")}let xB=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u,xC=a=>180*a/Math.PI,xD=a=>xF(xC(Math.atan2(a[1],a[0]))),xE={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:a=>(Math.abs(a[0])+Math.abs(a[3]))/2,rotate:xD,rotateZ:xD,skewX:a=>xC(Math.atan(a[1])),skewY:a=>xC(Math.atan(a[2])),skew:a=>(Math.abs(a[1])+Math.abs(a[2]))/2},xF=a=>((a%=360)<0&&(a+=360),a),xG=a=>Math.sqrt(a[0]*a[0]+a[1]*a[1]),xH=a=>Math.sqrt(a[4]*a[4]+a[5]*a[5]),xI={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:xG,scaleY:xH,scale:a=>(xG(a)+xH(a))/2,rotateX:a=>xF(xC(Math.atan2(a[6],a[5]))),rotateY:a=>xF(xC(Math.atan2(-a[2],a[0]))),rotateZ:xD,rotate:xD,skewX:a=>xC(Math.atan(a[4])),skewY:a=>xC(Math.atan(a[1])),skew:a=>(Math.abs(a[1])+Math.abs(a[4]))/2};function xJ(a){return+!!a.includes("scale")}function xK(a,b){let c,d;if(!a||"none"===a)return xJ(b);let e=a.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);if(e)c=xI,d=e;else{let b=a.match(/^matrix\(([-\d.e\s,]+)\)$/u);c=xE,d=b}if(!d)return xJ(b);let f=c[b],g=d[1].split(",").map(xL);return"function"==typeof f?f(g):g[f]}function xL(a){return parseFloat(a.trim())}let xM=a=>a===wM||a===w$,xN=new Set(["x","y","z"]),xO=wJ.filter(a=>!xN.has(a)),xP={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})=>xK(b,"x"),y:(a,{transform:b})=>xK(b,"y")};xP.translateX=xP.x,xP.translateY=xP.y;let xQ=a=>a,xR={},xS=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function xT(a,b){let c=!1,d=!0,e={delta:0,timestamp:0,isProcessing:!1},f=()=>c=!0,g=xS.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=xR.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:xS.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<xS.length;b++)g[xS[b]].cancel(a)},state:e,steps:g}}let{schedule:xU,cancel:xV,state:xW,steps:xX}=xT("u">typeof requestAnimationFrame?requestAnimationFrame:xQ,!0),xY=new Set,xZ=!1,x$=!1,x_=!1;function x0(){if(x$){let a=Array.from(xY).filter(a=>a.needsMeasurement),b=new Set(a.map(a=>a.element)),c=new Map;b.forEach(a=>{let b,d=(b=[],xO.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)})}x$=!1,xZ=!1,xY.forEach(a=>a.complete(x_)),xY.clear()}function x1(){xY.forEach(a=>{a.readKeyframes(),a.needsMeasurement&&(x$=!0)})}class x2{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?(xY.add(this),xZ||(xZ=!0,xU.read(x1),xU.resolveKeyframes(x0))):(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),xY.delete(this)}cancel(){"scheduled"===this.state&&(xY.delete(this),this.state="pending")}resume(){"pending"===this.state&&this.scheduleResolve()}}let x3=new Set([xe,xf]);function x4(a,b){let c=xj(a);return x3.has(c)||(c=xa),c.getAnimatableNone?c.getAnimatableNone(b):void 0}let x5=new Set(["auto","none","0"]);class x6 extends x2{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&&xy(d=d.trim())){let e=function a(b,c,d=1){xu(`Max CSS variable fallback depth detected in property "${b}". This may indicate a circular fallback dependency.`);let[e,f]=function(a){let b=xB.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 xy(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(),!xp.has(c)||2!==a.length)return;let[d,e]=a,f=xs(d),g=xs(e);if(xA(d)!==xA(e)&&xP[c]){this.needsMeasurement=!0;return}if(f!==g)if(xM(f)&&xM(g))for(let b=0;b<a.length;b++){let c=a[b];"string"==typeof c&&(a[b]=parseFloat(c))}else xP[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&&!x5.has(b)&&w8(b).values.length&&(d=a[e]),e++}if(d&&c)for(let e of b)a[e]=x4(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=xP[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]=xP[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 x7=a=>1e3*a;function x8(a,b){-1===a.indexOf(b)&&a.push(b)}function x9(a,b){let c=a.indexOf(b);c>-1&&a.splice(c,1)}class ya{constructor(){this.subscriptions=[]}add(a){return x8(this.subscriptions,a),()=>x9(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 yb(a,b,c){b.startsWith("--")?a.style.setProperty(b,c):a.style[b]=c}function yc(a){let b;return()=>(void 0===b&&(b=a()),b)}let yd={};function ye(a,b){let c=yc(a);return()=>yd[b]??c()}let yf=ye(()=>void 0!==window.ScrollTimeline,"scrollTimeline"),yg=a=>null!==a;function yh(a,{repeat:b,repeatType:c="loop"},d,e=1){let f=a.filter(yg),g=e<0||b&&"loop"!==c&&b%2==1?0:f.length-1;return g&&void 0!==d?d:f[g]}class yi{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 yj=a=>Array.isArray(a)&&"number"==typeof a[0],yk=ye(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(a){return!1}return!0},"linearEasing"),yl=(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)})`},ym=([a,b,c,d])=>`cubic-bezier(${a}, ${b}, ${c}, ${d})`,yn={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:ym([0,.65,.55,1]),circOut:ym([.55,0,1,.45]),backIn:ym([.31,.01,.66,-.59]),backOut:ym([.33,1.53,.69,.99])};function yo(a){return"function"==typeof a&&"applyToOptions"in a}class yp extends yi{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,xu(a.type);const i=function({type:a,...b}){return yo(a)&&yk()?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?yk()?yl(b,c):"ease-out":yj(b)?ym(b):Array.isArray(b)?b.map(b=>a(b,c)||yn.easeOut):yn[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=yh(d,this.options,g,this.speed);this.updateMotionValue&&this.updateMotionValue(a),yb(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=x7(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&&yf())?(this.animation.timeline=a,b&&(this.animation.rangeStart=b),c&&(this.animation.rangeEnd=c),xQ):d(this)}}let yq=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),{schedule:yr}=xT(queueMicrotask,!1);function ys(){g=void 0}let yt={now:()=>(void 0===g&&yt.set(xW.isProcessing||xR.useManualTiming?xW.timestamp:performance.now()),g),set:a=>{g=a,queueMicrotask(ys)}},yu=(a,b)=>b?1e3/b*a:0,yv;class yw{constructor(a,b={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=a=>{let b=yt.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=yt.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 ya);let c=this.events[a].add(b);return"change"===a?()=>{c(),xU.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 yv&&yv.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let a=yt.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||a-this.updatedAt>30)return 0;let b=Math.min(this.updatedAt-this.prevUpdatedAt,30);return yu(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 yx(a,b){return new yw(a,b)}let yy=[...xr,w3,xa],yz=new WeakMap;function yA(a){return null!==a&&"object"==typeof a&&"function"==typeof a.start}function yB(a){return"string"==typeof a||Array.isArray(a)}let yC=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],yD=["initial",...yC];function yE(a){return yA(a.animate)||yD.some(b=>yB(a[b]))}function yF(a){return!!(yE(a)||a.variants)}function yG(a){let b=[{},{}];return a?.values.forEach((a,c)=>{b[0][c]=a.get(),b[1][c]=a.getVelocity()}),b}function yH(a,b,c,d){if("function"==typeof b){let[e,f]=yG(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]=yG(d);b=b(void 0!==c?c:a.custom,e,f)}return b}let yI=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],yJ={};class yK{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=x2,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=yt.now();this.renderScheduledAt<a&&(this.renderScheduledAt=a,xU.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=yE(b),this.isVariantNode=yF(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]&&xo(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,yz.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:(oz.current||oB(),this.shouldReduceMotion=oy.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(),xV(this.notifyUpdate),xV(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&&yq.has(a)&&this.current instanceof HTMLElement){let{factory:c,keyframes:d,times:e,ease:f,duration:g}=b.accelerate,h=new yp({element:this.current,name:a,keyframes:d,times:e,ease:f,duration:x7(g)}),i=c(h);this.valueSubscriptions.set(a,()=>{i(),h.cancel()});return}let d=wK.has(a);d&&this.onBindTransform&&this.onBindTransform();let e=b.on("change",b=>{this.latestValues[a]=b,this.props.onUpdate&&xU.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 yJ){let b=yJ[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):xn()}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<yI.length;b++){let c=yI[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(xo(e))a.addValue(d,e);else if(xo(f))a.addValue(d,yx(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,yx(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=yx(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,!yy.find(xq(d))&&xa.test(b)&&(c=x4(a,b))}this.setBaseTarget(a,xo(c)?c.get():c)}return xo(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=yH(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||xo(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 ya),this.events[a].add(b)}notify(a,...b){this.events[a]&&this.events[a].notify(...b)}scheduleRenderMicrotask(){yr.render(this.render)}}class yL extends yK{constructor(){super(...arguments),this.KeyframeResolver=x6}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;xo(a)&&(this.childSubscription=a.on("change",a=>{this.current&&(this.current.textContent=`${a}`)}))}}function yM(a){return a.replace(/([A-Z])/g,a=>`-${a.toLowerCase()}`)}let yN=(a,b)=>b&&"number"==typeof a?b.transform(a):a,yO={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},yP=wJ.length;function yQ(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(wK.has(a)){g=!0;continue}if(xw(a)){e[a]=c;continue}{let b=yN(c,xh[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<yP;f++){let g=wJ[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=yN(h,xh[g]);if(!i){e=!1;let b=yO[g]||g;d+=`${b}(${a}) `}c&&(b[g]=a)}}let f=a.pathRotation;return f&&(e=!1,d+=`rotate(${yN(f,xh.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 yR={offset:"stroke-dashoffset",array:"stroke-dasharray"},yS={offset:"strokeDashoffset",array:"strokeDasharray"},yT=["transform","opacity","offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function yU(a,{attrX:b,attrY:c,attrScale:d,pathLength:e,pathSpacing:f=1,pathOffset:g=0,...h},i,j,k){if(yQ(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 yT)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?yR:yS;a[f.offset]=`${-d}`,a[f.array]=`${b} ${c}`}(l,e,f,g,!1)}let yV=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"]),yW=a=>"string"==typeof a&&"svg"===a.toLowerCase();function yX(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 yY=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"];function yZ(a,b){return b.max===b.min?0:a/(b.max-b.min)*100}let y$={correct:(a,b)=>{if(!b.target)return a;if("string"==typeof a)if(!w$.test(a))return a;else a=parseFloat(a);let c=yZ(a,b.target.x),d=yZ(a,b.target.y);return`${c}% ${d}%`}},y_=(a,b,c)=>a+(b-a)*c,y0={borderRadius:{...y$,applyTo:[...yY]},borderTopLeftRadius:y$,borderTopRightRadius:y$,borderBottomLeftRadius:y$,borderBottomRightRadius:y$,boxShadow:{correct:(a,{treeScale:b,projectionDelta:c})=>{let d=xa.parse(a);if(d.length>5)return a;let e=xa.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=y_(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 y1(a,{layout:b,layoutId:c}){return wK.has(a)||a.startsWith("origin")||(b||void 0!==c)&&(!!y0[a]||"opacity"===a)}function y2(a,b,c){let d=a.style,e=b?.style,f={};if(!d)return f;for(let b in d)(xo(d[b])||e&&xo(e[b])||y1(b,a)||c?.getValue(b)?.liveStyle!==void 0)&&(f[b]=d[b]);return f}function y3(a,b,c){let d=y2(a,b,c);for(let c in a)(xo(a[c])||xo(b[c]))&&(d[-1!==wJ.indexOf(c)?"attr"+c.charAt(0).toUpperCase()+c.substring(1):c]=a[c]);return d}class y4 extends yL{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=xn}getBaseTargetFromProps(a,b){return a[b]}readValueFromInstance(a,b){if(wK.has(b)){let a=xj(b);return a&&a.default||0}if(yT.includes(b)){let c=getComputedStyle(a)[b];if("string"==typeof c&&c)return c.trim()}return b=yV.has(b)?b:yM(b),a.getAttribute(b)}scrapeMotionValuesFromProps(a,b,c){return y3(a,b,c)}build(a,b,c){yU(a,b,this.isSVGTag,c.transformTemplate,c.style)}renderInstance(a,b,c,d){for(let c in yX(a,b,void 0,d),b.attrs)a.setAttribute(yV.has(c)?c:yM(c),b.attrs[c])}mount(a){this.isSVGTag=yW(a.tagName),super.mount(a)}}function y5({top:a,left:b,right:c,bottom:d}){return{x:{min:b,max:c},y:{min:a,max:d}}}function y6(a){return void 0===a||1===a}function y7({scale:a,scaleX:b,scaleY:c}){return!y6(a)||!y6(b)||!y6(c)}function y8(a){return y7(a)||y9(a)||a.z||a.rotate||a.rotateX||a.rotateY||a.skewX||a.skewY}function y9(a){var b,c;return(b=a.x)&&"0%"!==b||(c=a.y)&&"0%"!==c}function za(a,b,c,d,e){return void 0!==e&&(a=d+e*(a-d)),d+c*(a-d)+b}function zb(a,b=0,c=1,d,e){a.min=za(a.min,b,c,d,e),a.max=za(a.max,b,c,d,e)}function zc(a,{x:b,y:c}){zb(a.x,b.translate,b.scale,b.originPoint),zb(a.y,c.translate,c.scale,c.originPoint)}function zd(a,b){a.min+=b,a.max+=b}function ze(a,b,c,d,e=.5){let f=y_(a.min,a.max,e);zb(a,b,c,f,d)}function zf(a,b){return"string"==typeof a?parseFloat(a)/100*(b.max-b.min):a}function zg(a,b,c){let d=c??a;ze(a.x,zf(b.x,d.x),b.scaleX,b.scale,b.originX),ze(a.y,zf(b.y,d.y),b.scaleY,b.scale,b.originY)}function zh(a,b){return y5(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 zi extends yL{constructor(){super(...arguments),this.type="html",this.renderInstance=yX}mount(a){xu(a.style),super.mount(a)}readValueFromInstance(a,b){if(wK.has(b))return this.projection?.isProjecting?xJ(b):((a,b)=>{let{transform:c="none"}=getComputedStyle(a);return xK(c,b)})(a,b);{let c=window.getComputedStyle(a),d=(xw(b)?c.getPropertyValue(b):c[b])||0;return"string"==typeof d?d.trim():d}}measureInstanceViewportBox(a,{transformPagePoint:b}){return zh(a,b)}build(a,b,c){yQ(a,b,c.transformTemplate)}scrapeMotionValuesFromProps(a,b,c){return y2(a,b,c)}}let zj=["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 zk(a){if("string"!=typeof a||a.includes("-"));else if(zj.indexOf(a)>-1||/[A-Z]/u.test(a))return!0;return!1}let zl=(0,O.createContext)({}),zm=(0,O.createContext)({transformPagePoint:a=>a,isStatic:!1,reducedMotion:"never"}),zn=(0,O.createContext)({});function zo(a){return Array.isArray(a)?a.join(" "):a}let zp=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function zq(a,b,c){for(let d in b)xo(b[d])||y1(d,c)||(a[d]=b[d])}let zr=()=>({...zp(),attrs:{}}),zs=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 zt(a){return a.startsWith("while")||a.startsWith("drag")&&"draggable"!==a||a.startsWith("layout")||a.startsWith("onTap")||a.startsWith("onPan")||a.startsWith("onLayout")||zs.has(a)}function zu(a){return xo(a)?a.get():a}let zv=(0,O.createContext)(null);function zw(a){let b=(0,O.useRef)(null);return null===b.current&&(b.current=a()),b.current}let zx=a=>(b,c)=>{let d=(0,O.useContext)(zn),e=(0,O.useContext)(zv),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]=zu(f[a]);let{initial:g,animate:h}=a,i=yE(a),j=yF(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&&!yA(l)){let b=Array.isArray(l)?l:[l];for(let c=0;c<b.length;c++){let d=yH(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():zw(f)},zy=zx({scrapeMotionValuesFromProps:y2,createRenderState:zp}),zz=zx({scrapeMotionValuesFromProps:y3,createRenderState:zr}),zA={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"]},zB=!1,zC=Symbol.for("motionComponentSymbol");function zD(a,{forwardMotionProps:b=!1,type:c}={},d,e){d&&function(a){let b=(!function(){if(zB)return;let a={};for(let b in zA)a[b]={isEnabled:a=>zA[b].some(b=>!!a[b])};yJ=a,zB=!0}(),yJ);for(let c in a)b[c]={...b[c],...a[c]};yJ=b}(d);let f=c?"svg"===c:zk(a),g=f?zz:zy;function h(c,d){var e;let h,i,j,k={...(0,O.useContext)(zm),...c,layoutId:function({layoutId:a}){let b=(0,O.useContext)(zl).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(yE(a)){let{initial:b,animate:c}=a;return{initial:!1===b||yB(b)?b:void 0,animate:yB(c)?c:void 0}}return!1!==a.inherit?b:{}}(a,(0,O.useContext)(zn));return(0,O.useMemo)(()=>({initial:b,animate:c}),[zo(b),zo(c)])}(c),o=g(c,l);return(0,N.jsxs)(zn.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??zk(a)?function(a,b,c,d){let e=(0,O.useMemo)(()=>{let c=zr();return yU(c,b,yW(d),a.transformTemplate,a.style),{...c.attrs,style:{...c.style}}},[b]);if(a.style){let b={};zq(b,a.style,a),e.style={...b,...e.style}}return e}:function(a,b){let c,d,e={},f=(c=a.style||{},zq(d={},c,a),Object.assign(d,function({transformTemplate:a},b){return(0,O.useMemo)(()=>{let c=zp();return yQ(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)&&!xo(a[f])&&((f.startsWith("on")?!zt(f):d?.(f)??!zt(f))||!0===c&&zt(f)||!b&&!zt(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)(()=>xo(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[zC]=a,i}class zE{constructor(a){this.isMounted=!1,this.node=a}update(){}}function zF(a,b,c){let d=a.getProps();return yH(d,b,void 0!==c?c:d.custom,a)}function zG(a,b){if(a?.inherit&&b){let{inherit:c,...d}=a;return{...b,...d}}return a}function zH(a,b){let c=a?.[b]??a?.default??a;return c!==a?zG(c,a):c}let zI=a=>Array.isArray(a);function zJ(a,b){let c=a.getValue("willChange");if(xo(c)&&c.add)return c.add(b);if(!c&&xR.WillChange){let c=new xR.WillChange("auto");a.addValue("willChange",c),c.add(b)}}let zK="data-"+yM("framerAppearId"),zL=(...a)=>a.reduce((a,b)=>c=>b(a(c)));function zM(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 zN(a,b){return c=>c>0?b:a}let zO=(a,b,c)=>{let d=a*a,e=c*(b*b-d)+d;return e<0?0:Math.sqrt(e)},zP=[wW,wV,w2];function zQ(a){let b=zP.find(b=>b.test(a));if(xt(`'${a}' is not an animatable color. Use the equivalent color code instead.`),!b)return!1;let c=b.parse(a);return b===w2&&(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=zM(h,d,a+1/3),f=zM(h,d,a),g=zM(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 zR=(a,b)=>{let c=zQ(a),d=zQ(b);if(!c||!d)return zN(a,b);let e={...c};return a=>(e.red=zO(c.red,d.red,a),e.green=zO(c.green,d.green,a),e.blue=zO(c.blue,d.blue,a),e.alpha=y_(c.alpha,d.alpha,a),wV.transform(e))},zS=new Set(["none","hidden"]);function zT(a,b){return c=>y_(a,b,c)}function zU(a){return"number"==typeof a?zT:"string"==typeof a?xy(a)?zN:w3.test(a)?zR:zX:Array.isArray(a)?zV:"object"==typeof a?w3.test(a)?zR:zW:zN}function zV(a,b){let c=[...a],d=c.length,e=a.map((a,c)=>zU(a)(a,b[c]));return a=>{for(let b=0;b<d;b++)c[b]=e[b](a);return c}}function zW(a,b){let c={...a,...b},d={};for(let e in c)void 0!==a[e]&&void 0!==b[e]&&(d[e]=zU(a[e])(a[e],b[e]));return a=>{for(let b in d)c[b]=d[b](a);return c}}let zX=(a,b)=>{let c=xa.createTransformer(b),d=w8(a),e=w8(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 xt(`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.`),zN(a,b);if(zS.has(a)&&!e.values.length||zS.has(b)&&!d.values.length)return zS.has(a)?c=>c<=0?a:b:c=>c>=1?b:a;return zL(zV(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 zY(a,b,c){return"number"==typeof a&&"number"==typeof b&&"number"==typeof c?y_(a,b,c):zU(a)(a,b)}let zZ=a=>{let b=({timestamp:b})=>a(b);return{start:(a=!0)=>xU.update(b,a),stop:()=>xV(b),now:()=>xW.isProcessing?xW.timestamp:yt.now()}};function z$(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 z_=.01,z0=2,z1=.005,z2=.5;function z3(a,b){return a*Math.sqrt(1-b*b)}let z4=["duration","bounce"],z5=["stiffness","damping","mass"];function z6(a,b){return b.some(b=>void 0!==a[b])}function z7(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(!z6(a,z5)&&z6(a,z4))if(b.velocity=0,a.visualDuration){let c=2*Math.PI/(1.2*a.visualDuration),d=c*c,e=2*wL(.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;xt(x7(10));let g=1-b;g=wL(.05,1,g),a=wL(.01,10,a/1e3),g<1?(e=b=>{let d=b*g,e=d*a;return .001-(d-c)/z3(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=z3(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=x7(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?z_:z0),k||(k=y?z1:z2),v<1)e=z3(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=>x7(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(x7(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(x7(d(a)))<=j&&Math.abs(m-b)<=k,n.value=n.done?m:b,n},toString:()=>{let a=Math.min(z$(z),2e4),b=yl(b=>z.next(a*b).value,a,30);return a+"ms "+b},toTransition:()=>{}};return z}function z8(a,b,c){let d=Math.max(b-5,0);return yu(c-a(d),b-d)}function z9({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=z7({keyframes:[o.value,(c=o.value,void 0===h?i:void 0===i||Math.abs(h-c)<Math.abs(i-c)?h:i)],velocity:z8(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)}}}z7.applyToOptions=a=>{let b=function(a,b=100,c){let d=c({...a,keyframes:[0,b]}),e=Math.min(z$(d),2e4);return{type:"keyframes",ease:a=>d.next(e*a).value/b,duration:e/1e3}}(a,100,z7);return a.ease=b.ease,a.duration=x7(b.duration),a.type="keyframes",a};let Aa=(a,b,c)=>(((1-3*c+3*b)*a+(3*c-6*b))*a+3*b)*a;function Ab(a,b,c,d){return a===b&&c===d?xQ:e=>0===e||1===e?e:Aa(function(a,b,c,d,e){let f,g,h=0;do(f=Aa(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 Ac=Ab(.42,0,1,1),Ad=Ab(0,0,.58,1),Ae=Ab(.42,0,.58,1),Af=a=>b=>b<=.5?a(2*b)/2:(2-a(2*(1-b)))/2,Ag=a=>b=>1-a(1-b),Ah=Ab(.33,1.53,.69,.99),Ai=Ag(Ah),Aj=Af(Ai),Ak=a=>a>=1?1:(a*=2)<1?.5*Ai(a):.5*(2-Math.pow(2,-10*(a-1))),Al=a=>1-Math.sin(Math.acos(a)),Am=Ag(Al),An=Af(Al),Ao={linear:xQ,easeIn:Ac,easeInOut:Ae,easeOut:Ad,circIn:Al,circInOut:An,circOut:Am,backIn:Ai,backInOut:Aj,backOut:Ah,anticipate:Ak},Ap=a=>{if(yj(a)){xu(a.length);let[b,c,d,e]=a;return Ab(b,c,d,e)}return"string"==typeof a?(xu(Ao[a],`Invalid easing type '${a}'`),Ao[a]):a},Aq=(a,b,c)=>{let d=b-a;return d?(c-a)/d:1};function Ar({duration:a=300,keyframes:b,times:c,ease:d="easeInOut"}){var e;let f,g=Array.isArray(d)&&"number"!=typeof d[0]?d.map(Ap):Ap(d),h={done:!1,value:b[0]},i=function(a,b,{clamp:c=!0,ease:d,mixer:e}={}){let f=a.length;if(xu(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||xR.mix||zY,f=a.length-1;for(let c=0;c<f;c++){let f=e(a[c],a[c+1]);b&&(f=zL(Array.isArray(b)?b[c]||xQ: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=Aq(a[d],a[d+1],c);return h[d](e)};return c?b=>j(wL(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=Aq(0,b,d);a.push(y_(c,1,e))}}(f=[0],b.length-1),f),e.map(b=>b*a)),b,{ease:Array.isArray(g)?g:b.map(()=>g||Ae).splice(0,b.length-1)});return{calculatedDuration:a,next:b=>(h.value=i(b),h.done=b>=a,h)}}let As={decay:z9,inertia:z9,tween:Ar,keyframes:Ar,spring:z7};function At(a){"string"==typeof a.type&&(a.type=As[a.type])}let Au=a=>a/100;class Av extends yi{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!==yt.now()&&this.tick(yt.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;At(a);let{type:b=Ar,repeat:c=0,repeatDelay:d=0,repeatType:e,velocity:f=0}=a,{keyframes:g}=a,h=b||Ar;h!==Ar&&"number"!=typeof g[0]&&(this.mixKeyframes=zL(Au,zY(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=z$(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=wL(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!==z9&&(c.value=yh(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=x7(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 z8(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(yt.now()),this.playbackSpeed=a,b&&this.driver&&(this.time=this.currentTime/1e3)}play(){if(this.isStopped)return;let{driver:a=zZ,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(yt.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 Aw={anticipate:Ak,backInOut:Aj,circInOut:An};class Ax extends yp{constructor(a){!function(a){"string"==typeof a.ease&&a.ease in Aw&&(a.ease=Aw[a.ease])}(a),At(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 Av({...f,autoplay:!1}),h=Math.max(10,yt.now()-this.startTime),i=wL(0,10,h-10),j=g.sample(h).value,{name:k}=this.options;e&&k&&yb(e,k,j),b.setWithVelocity(g.sample(Math.max(0,h-i)).value,j,i),g.stop()}}let Ay=(a,b)=>"zIndex"!==b&&!!("number"==typeof a||Array.isArray(a)||"string"==typeof a&&(xa.test(a)||"0"===a)&&!a.startsWith("url("));function Az(a){a.duration=0,a.type="keyframes"}let AA=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/,AB=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),AC=yc(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));class AD extends yi{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=yt.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||x2;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=yt.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=Ay(e,b),h=Ay(f,b);return xt(`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||yo(c))&&d)}(a,f,g,h)&&(l=!1,(xR.instantAnimations||!i)&&k?.(yh(a,c,b)),a[0]=a[a.length-1],Az(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 AC()&&c&&(yq.has(c)||AB.has(c)&&function(a){for(let b=0;b<a.length;b++)if("string"==typeof a[b]&&AA.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 Ax({...m,element:o})}catch{e=new Av(m)}else e=new Av(m);e.finished.then(()=>{this.notifyFinished()}).catch(xQ),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(),x_=!0,x1(),x0(),x_=!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 AE={type:"spring",stiffness:500,damping:25,restSpeed:10},AF={type:"keyframes",duration:.8},AG={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},AH=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]),AI=(a,b,c,d={},e,f)=>g=>{let h=zH(d,a)||{},i=h.delay||d.delay||0,{elapsed:j=0}=d;j-=x7(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(!AH.has(b))return!0;return!1}(h)&&Object.assign(k,((a,{keyframes:b})=>b.length>2?AF:wK.has(a)?a.startsWith("scale")?{type:"spring",stiffness:550,damping:0===b[1]?2*Math.sqrt(550):30,restSpeed:10}:AE:AG)(a,k)),k.duration&&(k.duration=x7(k.duration)),k.repeatDelay&&(k.repeatDelay=x7(k.repeatDelay)),void 0!==k.from&&(k.keyframes[0]=k.from);let l=!1;if(!1!==k.type&&(0!==k.duration||k.repeatDelay)||(Az(k),0===k.delay&&(l=!0)),(xR.instantAnimations||xR.skipAnimations||e?.shouldSkipAnimations||h.skipAnimations)&&(l=!0,Az(k),k.delay=0),k.allowFlatten=!h.type&&!h.ease,l&&!f&&void 0!==b.get()){let a=yh(k.keyframes,h);if(void 0!==a)return void xU.update(()=>{k.onUpdate(a),k.onComplete()})}return h.isSync?new Av(k):new AD(k)};function AJ(a,b,{delay:c=0,transitionOverride:d,type:e}={}){let{transition:f,transitionEnd:g,...h}=b,i=a.getDefaultTransition();f=f?zG(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,...zH(f||{},b)};k&&(g.skipAnimations=!0);let i=d.get();if(void 0!==i&&!d.isAnimating()&&!Array.isArray(e)&&e===i&&!g.velocity){xU.update(()=>d.set(e));continue}let n=!1;if(window.MotionHandoffAnimation){let c=a.props[zK];if(c){let a=window.MotionHandoffAnimation(c,b,xU);null!==a&&(g.startTime=a,n=!0)}}zJ(a,b);let o=j??a.shouldReduceMotion;d.start(AI(b,d,e,o&&xp.has(b)?{type:!1}:g,a,n));let p=d.animation;p&&l.push(p)}if(g){let b=()=>xU.update(()=>{g&&function(a,b){let{transitionEnd:c={},transition:d={},...e}=zF(a,b)||{};for(let b in e={...e,...c}){var f;let c=zI(f=e[b])?f[f.length-1]||0:f;a.hasValue(b)?a.getValue(b).set(c):a.addValue(b,yx(c))}}(a,g)});l.length?Promise.all(l).then(b):b()}return l}function AK(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 AL(a,b,c={}){let d=zF(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(AJ(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(AL(i,b,{...g,delay:c+("function"==typeof d?0:d)+AK(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 AM=yD.length;function AN(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 AO=[...yC].reverse(),AP=yC.length;function AQ(a=!1){return{isActive:a,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function AR(){return{animate:AQ(!0),whileInView:AQ(),whileHover:AQ(),whileTap:AQ(),whileDrag:AQ(),whileFocus:AQ(),exit:AQ()}}class AS extends zE{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=>AL(a,b,c)));else if("string"==typeof b)d=AL(a,b,c);else{let e="function"==typeof b?zF(a,b,c.custom):b;d=Promise.all(AJ(a,e,c))}return d.then(()=>{a.notify("AnimationComplete",b)})})(a,b,c))),c=AR(),d=!0,e=!1,f=b=>(c,d)=>{let e=zF(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<AM;a++){let d=yD[a],e=b.props[d];(yB(e)||!1===e)&&(c[d]=e)}return c}(a.parent)||{},j=[],k=new Set,l={},m=1/0;for(let b=0;b<AP;b++){var n,o;let p=AO[b],q=c[p],r=void 0!==h[p]?h[p]:i[p],s=yB(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||yA(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)&&!AN(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))(zI(b)&&zI(c)?!AN(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=zF(d,b);if(d.enteringChildren&&e){let{delayChildren:b}=e.transition||{};c.delay=AK(d.enteringChildren,a,b)}}return{animation:b,options:c}}))}if(k.size){let b={};if("boolean"!=typeof h.initial){let c=zF(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=AR(),e=!0}}}(a))}updateAnimationControlsSubscription(){let{animate:a}=this.node.getProps();yA(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 AT=0;class AU extends zE{constructor(){super(...arguments),this.id=AT++,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=zF(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 AV={x:!1,y:!1};function AW(a){return[a("x"),a("y")]}function AX(a){return a.max-a.min}function AY(a,b,c,d=.5){a.origin=d,a.originPoint=y_(b.min,b.max,a.origin),a.scale=AX(c)/AX(b),a.translate=y_(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 AZ(a,b,c,d){AY(a.x,b.x,c.x,d?d.originX:void 0),AY(a.y,b.y,c.y,d?d.originY:void 0)}function A$(a,b,c,d=0){a.min=(d?y_(c.min,c.max,d):c.min)+b.min,a.max=a.min+AX(b)}function A_(a,b,c,d=0){let e=d?y_(c.min,c.max,d):c.min;a.min=b.min-e,a.max=a.min+AX(b)}function A0(a,b,c,d){A_(a.x,b.x,c.x,d?.x),A_(a.y,b.y,c.y,d?.y)}let A1=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]),A2=new Set(["INPUT","SELECT","TEXTAREA"]);function A3(a,b,c,d={passive:!0}){return a.addEventListener(b,c,d),()=>a.removeEventListener(b,c,d)}let A4=a=>"object"==typeof a&&null!==a;function A5(a){return A4(a)&&"ownerSVGElement"in a}function A6(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 A7=new WeakMap,A8=(a,b,c)=>(d,e)=>e&&e[0]?e[0][a+"Size"]:A5(d)&&"getBBox"in d?d.getBBox()[b]:d[c],A9=A8("inline","width","offsetWidth"),Ba=A8("block","height","offsetHeight");function Bb({target:a,borderBoxSize:b}){A7.get(a)?.forEach(c=>{c(a,{get width(){return A9(a,b)},get height(){return Ba(a,b)}})})}function Bc(a){a.forEach(Bb)}let Bd=new Set;function Be(a,b){let c;return"function"==typeof a?(Bd.add(a),i||(i=()=>{let a={get width(){return window.innerWidth},get height(){return window.innerHeight}};Bd.forEach(b=>b(a))},window.addEventListener("resize",i)),()=>{Bd.delete(a),Bd.size||"function"!=typeof i||(window.removeEventListener("resize",i),i=void 0)}):(!h&&"u">typeof ResizeObserver&&(h=new ResizeObserver(Bc)),(c=A6(a)).forEach(a=>{let c=A7.get(a);c||(c=new Set,A7.set(a,c)),c.add(b),h?.observe(a)}),()=>{c.forEach(a=>{let c=A7.get(a);c?.delete(b),c?.size||h?.unobserve(a)})})}let Bf=a=>"mouse"===a.pointerType?"number"!=typeof a.button||a.button<=0:!1!==a.isPrimary;function Bg(a){return{point:{x:a.pageX,y:a.pageY}}}function Bh(a,b,c,d){return A3(a,b,a=>Bf(a)&&c(a,Bg(a)),d)}let Bi=({current:a})=>a?a.ownerDocument.defaultView:null;function Bj(a){return a&&"object"==typeof a&&Object.prototype.hasOwnProperty.call(a,"current")}let Bk=(a,b)=>Math.abs(a-b),Bl=new Set(["auto","scroll"]);class Bm{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=Bn(this.lastRawMoveEventInfo,this.transformPagePoint));let c=Bp(this.lastMoveEventInfo,this.history),d=null!==this.startEvent,e=(a=c.offset,b={x:0,y:0},Math.sqrt(Bk(a.x,b.x)**2+Bk(a.y,b.y)**2)>=this.distanceThreshold);if(!d&&!e)return;let{point:f}=c,{timestamp:g}=xW;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=Bn(b,this.transformPagePoint),xU.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=Bp("pointercancel"===a.type?this.lastMoveEventInfo:Bn(b,this.transformPagePoint),this.history);this.startEvent&&c&&c(a,f),d&&d(a,f)},!Bf(a))return;this.dragSnapToOrigin=e,this.handlers=b,this.transformPagePoint=c,this.distanceThreshold=f,this.contextWindow=d||window;const h=Bn(Bg(a),this.transformPagePoint),{point:i}=h,{timestamp:j}=xW;this.history=[{...i,timestamp:j}];const{onSessionStart:k}=b;k&&k(a,Bp(h,this.history));const l={passive:!0,capture:!0};this.removeListeners=zL(Bh(this.contextWindow,"pointermove",this.handlePointerMove,l),Bh(this.contextWindow,"pointerup",this.handlePointerUp,l),Bh(this.contextWindow,"pointercancel",this.handlePointerUp,l)),g&&this.startScrollTracking(g)}startScrollTracking(a){let b=a.parentElement;for(;b;){let a=getComputedStyle(b);(Bl.has(a.overflowX)||Bl.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),xU.update(this.updatePoint,!0))}updateHandlers(a){this.handlers=a}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),xV(this.updatePoint)}}function Bn(a,b){return b?{point:b(a.point)}:a}function Bo(a,b){return{x:a.x-b.x,y:a.y-b.y}}function Bp({point:a},b){return{point:a,delta:Bo(a,Bq(b)),offset:Bo(a,b[0]),velocity:function(a){if(a.length<2)return{x:0,y:0};let b=a.length-1,c=null,d=Bq(a);for(;b>=0&&(c=a[b],!(d.timestamp-c.timestamp>x7(.1)));)b--;if(!c)return{x:0,y:0};c===a[0]&&a.length>2&&d.timestamp-c.timestamp>2*x7(.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 Bq(a){return a[a.length-1]}function Br(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 Bs(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 Bt(a,b,c){return{min:Bu(a,b),max:Bu(a,c)}}function Bu(a,b){return"number"==typeof a?a:a[b]||0}let Bv=new WeakMap;class Bw{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=xn(),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(Bg(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(AV[a])return null;else return AV[a]=!0,()=>{AV[a]=!1};return AV.x||AV.y?null:(AV.x=AV.y=!0,()=>{AV.x=AV.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),AW(a=>{let b=this.getAxisMotionValue(a).get()||0;if(wZ.test(b)){let{projection:c}=this.visualElement;if(c&&c.layout){let d=c.layout.layoutBox[a];d&&(b=AX(d)*(parseFloat(b)/100))}}this.originPoint[a]=b}),e&&xU.update(()=>e(a,b),!1,!0),zJ(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&&xU.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 Bm(a,{onSessionStart:e,onStart:f,onMove:g,onSessionEnd:h,resumeAnimation:i},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:j,distanceThreshold:c,contextWindow:Bi(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&&xU.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||!By(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?y_(b,a,d.min):Math.max(a,b):void 0!==c&&a>c&&(a=d?y_(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&&Bj(a)?this.constraints||(this.constraints=this.resolveRefConstraints()):a&&c?this.constraints=function(a,{top:b,left:c,bottom:d,right:e}){return{x:Br(a.x,c,e),y:Br(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:Bt(a,"left","right"),y:Bt(a,"top","bottom")}}(b),d!==this.constraints&&!Bj(a)&&c&&this.constraints&&!this.hasMutatedConstraints&&AW(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||!Bj(b))return!1;let d=b.current;xu();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=zh(a,c),{scroll:e}=b;return e&&(zd(d.x,e.offset.x),zd(d.y,e.offset.y)),d}(d,e.root,this.visualElement.getTransformPagePoint()),g=(a=e.layout.layoutBox,{x:Bs(a.x,f.x),y:Bs(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=y5(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(AW(g=>{if(!By(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 zJ(this.visualElement,a),c.start(AI(a,c,0,b,this.visualElement,!1))}stopAnimation(){AW(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){AW(b=>{let{drag:c}=this.getProps();if(!By(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]-y_(c,f,.5)+g)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:a,dragConstraints:b}=this.getProps(),{projection:c}=this.visualElement;if(!Bj(b)||!c||!this.constraints)return;this.stopAnimation();let d={x:0,y:0};AW(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=AX(c),(h=AX(e))>g?f=Aq(e.min,e.max-g,c.min):g>h&&(f=Aq(c.min,c.max-h,e.min)),wL(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(),AW(b=>{if(!By(b,a,null))return;let c=this.getAxisMotionValue(b),{min:e,max:f}=this.constraints[b];c.set(y_(e,f,d[b]))}),this.visualElement.render()}addListeners(){let a;if(!this.visualElement.current)return;Bv.set(this.visualElement,this);let b=this.visualElement.current,c=Bh(b,"pointerdown",a=>{let{drag:c,dragListener:d=!0}=this.getProps(),e=a.target,f=e!==b&&(A2.has(e.tagName)||!0===e.isContentEditable);c&&d&&!f&&this.start(a)}),d=()=>{var c,d,e;let f,g,{dragConstraints:h}=this.getProps();Bj(h)&&h.current&&(this.constraints=this.resolveRefConstraints(),a||(c=b,d=h.current,f=Be(c,Bx(e=()=>this.scalePositionWithinConstraints())),g=Be(d,Bx(e)),a=()=>{f(),g()}))},{projection:e}=this.visualElement,f=e.addEventListener("measure",d);e&&!e.layout&&(e.root&&e.root.updateScroll(),e.updateLayout()),xU.read(d);let g=A3(window,"resize",()=>this.scalePositionWithinConstraints()),h=e.addEventListener("didUpdate",({delta:a,hasLayoutChanged:b})=>{this.isDragging&&b&&(AW(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 Bx(a){let b=!0;return()=>{if(b){b=!1;return}a()}}function By(a,b,c){return(!0===b||b===a)&&(null===c||c===a)}class Bz extends zE{constructor(a){super(a),this.removeGroupControls=xQ,this.removeListeners=xQ,this.controls=new Bw(a)}mount(){let{dragControls:a}=this.node.getProps();a&&(this.removeGroupControls=a.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||xQ}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 BA=a=>(b,c)=>{a&&xU.update(()=>a(b,c),!1,!0)};class BB extends zE{constructor(){super(...arguments),this.removePointerDownListener=xQ}onPointerDown(a){this.session=new Bm(a,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Bi(this.node)})}createPanHandlers(){let{onPanSessionStart:a,onPanStart:b,onPan:c,onPanEnd:d}=this.node.getProps();return{onSessionStart:BA(a),onStart:BA(b),onMove:BA(c),onEnd:(a,b)=>{delete this.session,d&&xU.postRender(()=>d(a,b))}}}mount(){this.removePointerDownListener=Bh(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 BC={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function BD(a=!0){let b=(0,O.useContext)(zv);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 BE(){var a;return null===(a=(0,O.useContext)(zv))||a.isPresent}let BF=(0,O.createContext)({}),BG=!1;class BH 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),BG&&e.root.didUpdate(),e.addEventListener("animationComplete",()=>{this.safeToRemove()}),e.setOptions({...e.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),BC.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}),BG=!0,d||a.layoutDependency!==b||void 0===b||a.isPresent!==e?f.willUpdate():this.safeToRemove(),a.isPresent!==e&&(e?f.promote():f.relegate()||xU.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(),yr.postRender(()=>{!c.currentAnimation&&c.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:a,layoutGroup:b,switchLayoutGroup:c}=this.props,{projection:d}=a;BG=!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 BI(a){let[b,c]=BD(),d=(0,O.useContext)(zl);return(0,N.jsx)(BH,{...a,layoutGroup:d,switchLayoutGroup:(0,O.useContext)(BF),isPresent:b,safeToRemove:c})}let BJ=yY.length,BK=a=>"string"==typeof a?parseFloat(a):a,BL=a=>"number"==typeof a||w$.test(a);function BM(a,b){return void 0!==a[b]?a[b]:a.borderRadius}let BN=BP(0,.5,Am),BO=BP(.5,.95,xQ);function BP(a,b,c){return d=>d<a?0:d>b?1:c(Aq(a,b,d))}function BQ(a,b){a.min=b.min,a.max=b.max}function BR(a,b){BQ(a.x,b.x),BQ(a.y,b.y)}function BS(a,b){a.translate=b.translate,a.scale=b.scale,a.originPoint=b.originPoint,a.origin=b.origin}function BT(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 BU(a,b,[c,d,e],f,g){!function(a,b=0,c=1,d=.5,e,f=a,g=a){if(wZ.test(b)&&(b=parseFloat(b),b=y_(g.min,g.max,b/100)-g.min),"number"!=typeof b)return;let h=y_(f.min,f.max,d);a===f&&(h-=b),a.min=BT(a.min,b,c,h,e),a.max=BT(a.max,b,c,h,e)}(a,b[c],b[d],b[e],b.scale,f,g)}let BV=["x","scaleX","originX"],BW=["y","scaleY","originY"];function BX(a,b,c,d){BU(a.x,b,BV,c?c.x:void 0,d?d.x:void 0),BU(a.y,b,BW,c?c.y:void 0,d?d.y:void 0)}function BY(a){return 0===a.translate&&1===a.scale}function BZ(a){return BY(a.x)&&BY(a.y)}function B$(a,b){return a.min===b.min&&a.max===b.max}function B_(a,b){return Math.round(a.min)===Math.round(b.min)&&Math.round(a.max)===Math.round(b.max)}function B0(a,b){return B_(a.x,b.x)&&B_(a.y,b.y)}function B1(a){return AX(a.x)/AX(a.y)}function B2(a,b){return a.translate===b.translate&&a.scale===b.scale&&a.originPoint===b.originPoint}class B3{constructor(){this.members=[]}add(a){x8(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||(x9(this.members,c),c.unmount())}a.scheduleRender()}remove(a){if(x9(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 B4=(a,b)=>a.depth-b.depth;class B5{constructor(){this.children=[],this.isDirty=!1}add(a){x8(this.children,a),this.isDirty=!0}remove(a){x9(this.children,a),this.isDirty=!0}forEach(a){this.isDirty&&this.children.sort(B4),this.isDirty=!1,this.children.forEach(a)}}let B6=["","X","Y","Z"],B7=0;function B8(a,b,c,d){let{latestValues:e}=b;e[a]&&(c[a]=e[a],b.setStaticValue(a,0),d&&(d[a]=0))}function B9({attachResizeListener:a,defaultParent:b,measureScroll:c,checkIsScrollRoot:d,resetTransform:e}){return class{constructor(a={},c=b?.()){this.id=B7++,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(Cc),this.nodes.forEach(Cl),this.nodes.forEach(Cm),this.nodes.forEach(Cd)},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 B5)}addEventListener(a,b){return this.eventHandlers.has(a)||this.eventHandlers.set(a,new ya),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=A5(b)&&!(A5(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;xU.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=yt.now(),f=({timestamp:a})=>{let c=a-b;c>=250&&(xV(f),e())},xU.setup(f,!0),c=()=>xV(f),BC.hasAnimatedSinceResize&&(BC.hasAnimatedSinceResize=!1,this.nodes.forEach(Ck))}})}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()||Cs,{onLayoutAnimationStart:g,onLayoutAnimationComplete:h}=e.getProps(),i=!this.targetLayout||!B0(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={...zH(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||Ck(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(),xV(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(Cn),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[zK];if(window.MotionHasOptimisedAnimation(d,"transform")){let{layout:a,layoutId:c}=b.options;window.MotionCancelOptimisedAnimation(d,"transform",xU,!(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(Cg),this.nodes.forEach(Cf);return}if(this.animationId<=this.animationCommitId)return void this.nodes.forEach(Ch);this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(Ci),this.nodes.forEach(Cj),this.nodes.forEach(Ca),this.nodes.forEach(Cb)):this.nodes.forEach(Ch),this.clearAllSnapshots();let a=yt.now();xW.delta=wL(0,1e3/60,a-xW.timestamp),xW.timestamp=a,xW.isProcessing=!0,xX.update.process(xW),xX.preRender.process(xW),xX.render.process(xW),xW.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,yr.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Ce),this.sharedNodes.forEach(Co)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,xU.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){xU.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure(),!this.snapshot||AX(this.snapshot.measuredBox.x)||AX(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=xn()),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&&!BZ(this.projectionDelta),c=this.getTransformTemplate(),d=c?c(this.latestValues,""):void 0,f=d!==this.prevTransformTemplateValue;a&&this.instance&&(b||y8(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)),Cv((b=d).x),Cv(b.y),{animationId:this.root.animationId,measuredBox:c,layoutBox:d,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:a}=this.options;if(!a)return xn();let b=a.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(Cx))){let{scroll:a}=this.root;a&&(zd(b.x,a.offset.x),zd(b.y,a.offset.y))}return b}removeElementScroll(a){let b=xn();if(BR(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&&BR(b,a),zd(b.x,e.offset.x),zd(b.y,e.offset.y))}return b}applyTransform(a,b=!1,c){let d=c||xn();BR(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&&(zd(d.x,-c.scroll.offset.x),zd(d.y,-c.scroll.offset.y)),y8(c.latestValues)&&zg(d,c.latestValues,c.layout?.layoutBox)}return y8(this.latestValues)&&zg(d,this.latestValues,this.layout?.layoutBox),d}removeTransform(a){let b=xn();BR(b,a);for(let a=0;a<this.path.length;a++){let c,d=this.path[a];y8(d.latestValues)&&(d.instance&&(y7(d.latestValues)&&d.updateSnapshot(),BR(c=xn(),d.measurePageBox())),BX(b,d.latestValues,d.snapshot?.layoutBox,c))}return y8(this.latestValues)&&BX(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!==xW.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=xW.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=xn(),this.targetWithTransforms=xn()),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,A$(g.x,h.x,i.x,j?.x),A$(g.y,h.y,i.y,j?.y)}else this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):BR(this.target,this.layout.layoutBox),zc(this.target,this.targetDelta)):BR(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||y7(this.parent.latestValues)||y9(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=xn(),this.relativeTargetOrigin=xn(),A0(this.relativeTargetOrigin,b,c,this.options.layoutAnchor||void 0),BR(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===xW.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;BR(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&&(zd(a.x,-e.scroll.offset.x),zd(a.y,-e.scroll.offset.y)),f&&(b.x*=f.x.scale,b.y*=f.y.scale,zc(a,f)),d&&y8(e.latestValues)&&zg(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=xn());let{target:h}=a;if(!h){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}this.projectionDelta&&this.prevProjectionDelta?(BS(this.prevProjectionDelta.x,this.projectionDelta.x),BS(this.prevProjectionDelta.y,this.projectionDelta.y)):this.createProjectionDeltas(),AZ(this.projectionDelta,this.layoutCorrected,h,this.latestValues),this.treeScale.x===f&&this.treeScale.y===g&&B2(this.projectionDelta.x,this.prevProjectionDelta.x)&&B2(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=xl(),this.projectionDelta=xl(),this.projectionDeltaWithTransform=xl()}setAnimationOrigin(a,b=!1,c){let d,e=this.snapshot,f=e?e.latestValues:{},g={...this.latestValues},h=xl();this.relativeParent&&this.relativeParent.options.layoutRoot||(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!b;let i=xn(),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(Cr));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=y_(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=y_(a.y.scale,1,c),h.y.origin=a.y.origin,h.y.originPoint=a.y.originPoint):(Cp(h.x,a.x,c),Cp(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;A0(i,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),p=this.relativeTarget,q=this.relativeTargetOrigin,r=i,s=c,Cq(p.x,q.x,r.x,s),Cq(p.y,q.y,r.y,s),d&&(k=this.relativeTarget,o=d,B$(k.x,o.x)&&B$(k.y,o.y))&&(this.isProjectionDirty=!1),d||(d=xn()),BR(d,this.relativeTarget)}j&&(this.animationValues=g,function(a,b,c,d,e,f){e?(a.opacity=y_(0,c.opacity??1,BN(d)),a.opacityExit=y_(b.opacity??1,0,BO(d))):f&&(a.opacity=y_(b.opacity??1,c.opacity??1,d));for(let e=0;e<BJ;e++){let f=yY[e],g=BM(b,f),h=BM(c,f);(void 0!==g||void 0!==h)&&(g||(g=0),h||(h=0),0===g||0===h||BL(g)===BL(h)?(a[f]=Math.max(y_(BK(g),BK(h),d),0),(wZ.test(h)||wZ.test(g))&&(a[f]+="%")):a[f]=h)}(b.rotate||c.rotate)&&(a.rotate=y_(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&&(xV(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=xU.update(()=>{var b,c,d;let e;BC.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=yx(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=xo(b)?b:yx(b)).start(AI("",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&&Cw(this.options.animationType,this.layout.layoutBox,d.layoutBox)){c=this.target||xn();let b=AX(this.layout.layoutBox.x);c.x.min=a.target.x.min,c.x.max=c.x.min+b;let d=AX(this.layout.layoutBox.y);c.y.min=a.target.y.min,c.y.max=c.y.min+d}BR(b,c),zg(b,e),AZ(this.projectionDeltaWithTransform,this.layoutCorrected,b,e)}}registerSharedNode(a,b){this.sharedNodes.has(a)||this.sharedNodes.set(a,new B3),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&&B8("z",a,d,this.animationValues);for(let b=0;b<B6.length;b++)B8(`rotate${B6[b]}`,a,d,this.animationValues),B8(`skew${B6[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=zu(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=zu(b?.pointerEvents)||""),this.hasProjected&&!y8(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,y0){if(void 0===e[b])continue;let{correct:c,applyTo:g,isCSSVariable:h}=y0[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?zu(b?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(a=>a.currentAnimation?.stop()),this.root.nodes.forEach(Cf),this.root.sharedNodes.clear()}}}function Ca(a){a.updateLayout()}function Cb(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)AW(a=>{let d=f?b.measuredBox[a]:b.layoutBox[a],e=AX(d);d.min=c[a].min,d.max=d.min+e});else if("x"===e||"y"===e){let a="x"===e?"y":"x";BQ(f?b.measuredBox[a]:b.layoutBox[a],c[a])}else Cw(e,b.layoutBox,c)&&AW(d=>{let e=f?b.measuredBox[d]:b.layoutBox[d],g=AX(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=xl();AZ(g,c,b.layoutBox);let h=xl();f?AZ(h,a.applyTransform(d,!0),b.measuredBox):AZ(h,c,b.layoutBox);let i=!BZ(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=xn();A0(h,b.layoutBox,e.layoutBox,g);let i=xn();A0(i,c,f.layoutBox,g),B0(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 Cc(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 Cd(a){a.isProjectionDirty=a.isSharedProjectionDirty=a.isTransformDirty=!1}function Ce(a){a.clearSnapshot()}function Cf(a){a.clearMeasurements()}function Cg(a){a.isLayoutDirty=!0,a.updateLayout()}function Ch(a){a.isLayoutDirty=!1}function Ci(a){a.isAnimationBlocked&&a.layout&&!a.isLayoutDirty&&(a.snapshot=a.layout,a.isLayoutDirty=!0)}function Cj(a){let{visualElement:b}=a.options;b&&b.getProps().onBeforeLayoutMeasure&&b.notify("BeforeLayoutMeasure"),a.resetTransform()}function Ck(a){a.finishAnimation(),a.targetDelta=a.relativeTarget=a.target=void 0,a.isProjectionDirty=!0}function Cl(a){a.resolveTargetDelta()}function Cm(a){a.calcProjection()}function Cn(a){a.resetSkewAndRotation()}function Co(a){a.removeLeadSnapshot()}function Cp(a,b,c){a.translate=y_(b.translate,0,c),a.scale=y_(b.scale,1,c),a.origin=b.origin,a.originPoint=b.originPoint}function Cq(a,b,c,d){a.min=y_(b.min,c.min,d),a.max=y_(b.max,c.max,d)}function Cr(a){return a.animationValues&&void 0!==a.animationValues.opacityExit}let Cs={duration:.45,ease:[.4,0,.1,1]},Ct=a=>"u">typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(a),Cu=Ct("applewebkit/")&&!Ct("chrome/")?Math.round:xQ;function Cv(a){a.min=Cu(a.min),a.max=Cu(a.max)}function Cw(a,b,c){return"position"===a||"preserve-aspect"===a&&!(.2>=Math.abs(B1(b)-B1(c)))}function Cx(a){return a!==a.root&&a.scroll?.wasRoot}let Cy=B9({attachResizeListener:(a,b)=>A3(a,"resize",b),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),Cz={current:void 0},CA=B9({measureScroll:a=>({x:a.scrollLeft,y:a.scrollTop}),defaultParent:()=>{if(!Cz.current){let a=new Cy({});a.mount(window),a.setOptions({layoutScroll:!0}),Cz.current=a}return Cz.current},resetTransform:(a,b)=>{a.style.transform=void 0!==b?b:"none"},checkIsScrollRoot:a=>"fixed"===window.getComputedStyle(a).position});function CB(a,b){let c=A6(a),d=new AbortController;return[c,{passive:!0,...b,signal:d.signal},()=>d.abort()]}function CC(a,b,c){let{props:d}=a;a.animationState&&d.whileHover&&a.animationState.setActive("whileHover","Start"===c);let e=d["onHover"+c];e&&xU.postRender(()=>e(b,Bg(b)))}class CD extends zE{mount(){let{current:a}=this.node;a&&(this.unmount=function(a,b,c={}){let[d,e,f]=CB(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||AV.x||AV.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)=>(CC(this.node,b,"Start"),a=>CC(this.node,a,"End"))))}unmount(){}}class CE extends zE{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=zL(A3(this.node.current,"focus",()=>this.onFocus()),A3(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function CF(a){return A4(a)&&"offsetHeight"in a&&!("ownerSVGElement"in a)}let CG=(a,b)=>!!b&&(a===b||CG(a,b.parentElement)),CH=new WeakSet;function CI(a){return b=>{"Enter"===b.key&&a(b)}}function CJ(a,b){a.dispatchEvent(new PointerEvent("pointer"+b,{isPrimary:!0,bubbles:!0}))}function CK(a){return Bf(a)&&!(AV.x||AV.y)}let CL=new WeakSet;function CM(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&&xU.postRender(()=>e(b,Bg(b)))}class CN extends zE{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]=CB(a,c),g=a=>{let d=a.currentTarget;if(!CK(a)||CL.has(a))return;CH.add(d),c.stopPropagation&&CL.add(a);let f=b(d,a),g={...e,capture:!0},h=(a,b)=>{window.removeEventListener("pointerup",i,g),window.removeEventListener("pointercancel",j,g),CH.has(d)&&CH.delete(d),CK(a)&&"function"==typeof f&&f(a,{success:b})},i=a=>{h(a,d===window||d===document||c.useGlobalTarget||CG(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),CF(a))&&(a.addEventListener("focus",a=>((a,b)=>{let c=a.currentTarget;if(!c)return;let d=CI(()=>{if(CH.has(c))return;CJ(c,"down");let a=CI(()=>{CJ(c,"up")});c.addEventListener("keyup",a,b),c.addEventListener("blur",()=>CJ(c,"cancel"),b)});c.addEventListener("keydown",d,b),c.addEventListener("blur",()=>c.removeEventListener("keydown",d),b)})(a,e)),A1.has(a.tagName)||!0===a.isContentEditable||a.hasAttribute("tabindex")||(a.tabIndex=0))}),f}(a,(a,b)=>(CM(this.node,b,"Start"),(a,{success:b})=>CM(this.node,a,b?"End":"Cancel")),{useGlobalTarget:b,stopPropagation:c?.tap===!1})}unmount(){}}let CO=new WeakMap,CP=new WeakMap,CQ=a=>{let b=CO.get(a.target);b&&b(a)},CR=a=>{a.forEach(CQ)},CS={some:0,all:1};class CT extends zE{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:CS[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;CP.has(c)||CP.set(c,{});let d=CP.get(c),e=JSON.stringify(b);return d[e]||(d[e]=new IntersectionObserver(CR,{root:a,...b})),d[e]}(h),CO.set(a,i),b.observe(a),()=>{CO.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 CU=function(a,b){if("u"<typeof Proxy)return zD;let c=new Map,d=(c,d)=>zD(c,d,a,b);return new Proxy((a,b)=>d(a,b),{get:(e,f)=>"create"===f?d:(c.has(f)||c.set(f,zD(f,void 0,a,b)),c.get(f))})}({animation:{Feature:AS},exit:{Feature:AU},inView:{Feature:CT},tap:{Feature:CN},focus:{Feature:CE},hover:{Feature:CD},pan:{Feature:BB},drag:{Feature:Bz,ProjectionNode:CA,MeasureLayout:BI},layout:{ProjectionNode:CA,MeasureLayout:BI}},(a,b)=>b.isSVG??zk(a)?new y4(b):new zi(b,{allowProjection:a!==O.Fragment})),CV=new Map,CW=(0,O.memo)(({children:a,as:b="p",className:c,duration:d=2,spread:e=2})=>{let f,g=((f=CV.get(b))||(f=CU.create(b),CV.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})}),CX=(0,O.createContext)(null),CY=(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,wI.i)({defaultProp:i,onChange:e,prop:c}),[m,n]=(0,wI.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)(CX.Provider,{value:t,children:(0,N.jsx)(cy.Nt,{className:(0,ag.cn)("not-prose mb-4",a),onOpenChange:s,open:k,...h,children:g})})}),CZ=(a,b)=>a||0===b?(0,N.jsx)(CW,{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"]}),C$=(0,O.memo)(({className:a,children:b,getThinkingMessage:c=CZ,...d})=>{let{isStreaming:e,isOpen:f,duration:g}=(()=>{let a=(0,O.useContext)(CX);if(!a)throw Error("Reasoning components must be used within Reasoning");return a})();return(0,N.jsx)(cy.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)(wo,{className:"size-4"}),c(e,g),(0,N.jsx)(cx.A,{className:(0,ag.cn)("size-4 transition-transform",f?"rotate-180":"rotate-0")})]})})}),C_={cjk:eJ,code:jj,math:jX,mermaid:nF},C0=(0,O.memo)(({className:a,children:b,...c})=>(0,N.jsx)(cy.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)(nG.C,{plugins:C_,children:b})}));CY.displayName="Reasoning",C$.displayName="ReasoningTrigger",C0.displayName="ReasoningContent";var C1=c(10588),C2=c.n(C1);function C3({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)(null),k=(0,O.useRef)(!1);return(0,N.jsxs)(cF.AM,{open:e,onOpenChange:(a,b)=>{if(!a&&"trigger-press"===b.reason&&k.current){k.current=!1,b.cancel();return}a&&"trigger-hover"===b.reason&&g||!a&&"trigger-hover"===b.reason&&(!k.current||j.current?.contains(document.activeElement))?b.cancel():(a?k.current="trigger-hover"===b.reason:"trigger-hover"!==b.reason&&(k.current=!1,h(!0)),f(a))},children:[(0,N.jsx)(cF.Wv,{ref:i,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)(cF.hl,{ref:j,align:"start",side:"top",initialFocus:()=>!k.current,finalFocus:()=>!k.current&&i.current,className:(0,ag.cn)(C2().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)(cF.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:()=>{k.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:C2().table,children:[(0,N.jsxs)("div",{className:(0,ag.cn)(C2().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:C2().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:v_(e.inputTokens)}),(0,N.jsx)("span",{children:v_(e.outputTokens)}),(0,N.jsx)("span",{children:v_(e.cacheReadTokens)}),(0,N.jsx)("span",{children:v0(e.costUsd)})]},a.durable.location.entryId)})]})}):null]})]})}function C4({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 C5({plugin:a}){let{t:b}=(0,aa.Bd)("conversation"),{locale:c}=(0,cE.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,cD.fD)(a.error.message,c)]}):null]})}function C6({result:a}){let{t:b}=(0,aa.Bd)("conversation"),{locale:c}=(0,cE.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)(C5,{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,cD.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)(C5,{plugin:a},`${a.source}:${b}`))}):(0,N.jsx)("p",{className:"text-muted-foreground",children:b("pidesk.noPlugins")})]})}function C7({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=vO.safeParse(c);return a.success?{kind:"plugins",data:a.data}:null}case"pideskShowPlugin":{let a=vP.safeParse(c);return a.success?{kind:"plugin",data:a.data}:null}case"pideskInfo":{let a=vQ.safeParse(c);return a.success?{kind:"info",data:a.data}:null}default:return null}}(b.label,c);return(0,N.jsxs)(cy.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)(cy.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)(pL,{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)(cx.A,{className:(0,ag.cn)("size-4 shrink-0 text-muted-foreground transition-transform",e&&"rotate-180"),"aria-hidden":"true"}):null]}),(0,N.jsx)(cy.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)(C6,{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 C8=c(11113),C9=c.n(C8);let Da="max-h-[min(20rem,45dvh)] overflow-auto [scrollbar-gutter:stable]",Db=(0,O.createContext)(()=>void 0),Dc=(0,O.createContext)(null),Dd=(0,O.createContext)(null),De="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 Df({children:a}){let{isAtBottom:b,stopScroll:c}=u7(),d=(0,O.useRef)(b),e=(0,O.useRef)(c),f=(0,O.useCallback)(()=>{d.current&&e.current()},[]);return(0,N.jsx)(Db.Provider,{value:f,children:a})}function Dg(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 Dh(a,b){let[c,d]=(0,O.useState)(!1),e=(0,O.useContext)(Db),{loading:f,error:g,load:h}=Dg(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 Di({timestampMs:a}){let{locale:b,timeZone:c}=(0,cE.i)(),d=v1(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 Dj({text:a,copyLabel:b,alwaysVisible:c=!1}){let{t:d}=(0,aa.Bd)("conversation"),e=(0,bR.G)(),[f,g]=(0,O.useState)(!1),h=(0,O.useRef)(null),i=(0,O.useCallback)(async()=>{let b=!1;try{b=await (0,cG.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)(nJ,{tooltip:j,label:j,size:"icon-sm",className:(0,ag.cn)(!c&&C9().messageCopyAction,"text-muted-foreground"),onClick:()=>void i(),children:f?(0,N.jsx)(bA.A,{className:"size-3.5"}):(0,N.jsx)(bT.A,{className:"size-3.5"})})}function Dk({usage:a,compactOnly:b=!1}){let{t:c}=(0,aa.Bd)("conversation"),d=v_(a.inputTokens),e=v_(a.outputTokens),f=v_(a.cacheReadTokens),g=v0(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:C9().usageLabeled,children:h}),(0,N.jsx)("span",{className:C9().usageCompact,children:i})]})}function Dl({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)(nM,{className:(0,ag.cn)(C9().usageToolbar,"mt-1 flex-wrap gap-x-3 gap-y-1 text-xs text-muted-foreground"),children:[a.usageCalls?.length?(0,N.jsx)(C3,{messages:a.usageCalls,incomplete:a.usageIncomplete??!1,children:(0,N.jsx)(Dk,{usage:a.summary.usage})},a.durable.location.entryId):(0,N.jsx)(Dk,{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)(Dj,{text:b}),null===a.timestampMs?null:(0,N.jsx)(Di,{timestampMs:a.timestampMs})]})]})}function Dm({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)(ph.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 Dn({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)(Db),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&&C9().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)(cx.A,{className:(0,ag.cn)("size-3.5 transition-transform",d&&"rotate-180"),"aria-hidden":"true"})]}):null]})}function Do({message:a,onAcquireImage:b}){if("user"!==a.summary.type)throw Error("UserMessage requires a user summary");return(0,N.jsxs)(nH,{from:"user","data-message-id":a.identity,"data-chat-scroll-anchor":`${a.identity}:user`,"data-chat-user-message":"",className:(0,ag.cn)(C9().copyableMessage,"max-w-[92%] sm:max-w-[84%]"),children:[(0,N.jsxs)(nI,{className:(0,ag.cn)(C9().userText,"group-[.is-user]:px-3 group-[.is-user]:py-2"),children:[a.summary.images.length>0?(0,N.jsx)(Dm,{message:a,onAcquireImage:b},`${a.tempId}:${a.durable?.location.entryId??"temporary"}`):null,a.summary.text?(0,N.jsx)(Dn,{text:a.summary.text}):null]}),null===a.timestampMs?null:(0,N.jsxs)(nM,{className:"mt-0 justify-end gap-1 text-xs text-muted-foreground",children:[(0,N.jsx)(Dj,{text:a.summary.text}),(0,N.jsx)(Di,{timestampMs:a.timestampMs})]})]})}function Dp({message:a,text:b}){let c=a.temporary&&"assistant"===a.summary.type&&"running"===a.summary.status;return(0,N.jsxs)(nH,{from:"assistant","data-message-id":a.identity,"data-chat-scroll-anchor":`${a.identity}:text`,className:(0,ag.cn)(C9().copyableMessage,"max-w-full gap-1"),children:[(0,N.jsx)(nI,{className:"w-full",children:(0,N.jsx)(pZ,{isAnimating:c,mode:c?"streaming":"static",children:b})}),(0,N.jsx)(Dl,{message:a})]})}function Dq(){let{t:a}=(0,aa.Bd)("conversation");return(0,N.jsxs)("div",{role:"status",className:(0,ag.cn)(C9().detailText,"flex min-h-9 w-full items-center gap-2 py-1 text-muted-foreground"),children:[(0,N.jsx)(wo,{className:"size-4","aria-hidden":"true"}),(0,N.jsx)(CW,{as:"span",duration:1,children:a("thinking")})]})}function Dr({content:a,streaming:b}){let{scrollRef:c,contentRef:d}=u0({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)(pZ,{isAnimating:b,mode:b?"streaming":"static",children:a})})})}function Ds({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)(CY,{className:"mb-0 w-full",isStreaming:k,onOpenChange:a=>{a&&f()},children:[(0,N.jsx)(C$,{className:(0,ag.cn)(C9().detailText,"min-h-9 justify-start py-1"),getThinkingMessage:a=>a?(0,N.jsx)(CW,{as:"span",duration:1,children:c("thinking")}):(0,N.jsx)("span",{children:c("thinkingProcess")})}),(0,N.jsx)(cy.Ke,{className:(0,ag.cn)(De,"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)(Dr,{content:l,streaming:k})})})})]})}function Dt({message:a}){let{t:b}=(0,aa.Bd)("conversation"),{locale:c}=(0,cE.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 pT.W[b].streamInterrupted;case"request timed out":case"request timed out.":return pT.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)(C9().toolOutput,"whitespace-pre-wrap break-words rounded-lg border border-destructive/40 bg-muted p-3 font-sans text-destructive"),children:d}):null}function Du({item:a,onLoadDetail:b}){let{message:c,hideAssistantText:d}=a,e=Dg(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)(Ds,{message:c,detailLoad:e}),d||!c.summary.text.trim()?null:(0,N.jsx)(Dp,{message:c,text:c.summary.text}),(0,N.jsx)(Dt,{message:c})]})}function Dv({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)(wH,{path:b,...e}):(0,N.jsx)(pl.A,{...e});case"write":return(0,N.jsx)(wp,{...e});case"edit":return(0,N.jsx)(wq,{...e});case"bash":return(0,N.jsx)(ad,{...e});case"grep":case"find":return(0,N.jsx)(b4.A,{...e});case"ls":return(0,N.jsx)(co.A,{...e});case"agent":case"agent_resume":return(0,N.jsx)(cp,{...e});default:return(0,N.jsx)(cq,{...e})}}function Dw(a){let b=a.replaceAll("\\","/");return"/"===b||/^[A-Za-z]:\/$/.test(b)?b:b.replace(/\/+$/,"")}function Dx({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 Dy({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)(Dc),h=(0,O.useContext)(Dd),i=!a.temporary&&"tool"===a.summary.type&&!!a.summary.images?.length,{open:j,expandable:k,loading:l,error:m,handleOpenChange:n}=Dh(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=Dw(a);if(!b)return{compactPath:c,fullPath:c};let d=Dw(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)(cy.Nt,{open:k&&j,onOpenChange:n,className:(0,ag.cn)(C9().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)(cy.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)(Dv,{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)(Dk,{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)(cx.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)(C9().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)(C9().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)(Dx,{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)(wr,{className:"size-4","aria-hidden":"true"})}):null]}),(0,N.jsx)(cy.Ke,{className:De,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)(Dm,{message:a,onAcquireImage:h})}):null,e({loading:l,error:m})]})})]})}function Dz({children:a,destructive:b=!1}){return(0,N.jsx)("p",{className:(0,ag.cn)(C9().detailText,"px-3 py-3",b?"text-destructive":"text-muted-foreground"),children:a})}function DA({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)(Dz,{children:d("loadingResult")}):c?(0,N.jsx)(Dz,{destructive:!0,children:c}):f?(0,N.jsx)("pre",{role:"region","aria-label":d("toolOutput"),tabIndex:0,className:(0,ag.cn)(Da,C9().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)(Dz,{children:d("emptyResult")})}function DB({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)(Dz,{children:d("loadingRead")}):c?(0,N.jsx)(Dz,{destructive:!0,children:c}):e?e.content?(0,N.jsx)("pre",{role:"region","aria-label":d("readContent"),tabIndex:0,className:(0,ag.cn)(Da,C9().toolOutput,C9().toolCode,"px-3 py-3 font-mono"),children:e.content}):(0,N.jsx)(Dz,{children:d("readEmpty")}):"tool"===a.summary.type&&a.summary.images?.length?(0,N.jsx)(N.Fragment,{}):(0,N.jsx)(Dz,{children:d("readUnavailable")})}function DC({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)(Da,C9().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)(C9().toolCode,C9().toolCodeLine,"block px-3",c),children:a||" "},b)})})}function DD({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)(Dz,{children:d("loadingDiff")}):c?(0,N.jsx)(Dz,{destructive:!0,children:c}):e?"diff"===e.contentKind?(0,N.jsx)(DC,{content:e.content}):(0,N.jsx)("pre",{role:"region","aria-label":d("editResult"),tabIndex:0,className:(0,ag.cn)(Da,C9().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)(Dz,{children:d("diffUnavailable")})}function DE({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)(Dz,{children:d("loadingWrite")}):c?(0,N.jsx)(Dz,{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)(Da,C9().toolOutput,"px-3 py-3 font-mono","content"===e.contentKind?C9().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)(Dz,{children:d("writeEmpty")}):(0,N.jsx)(Dz,{children:d("writeUnavailable")})}function DF({message:a,onLoadDetail:b}){let{t:c}=(0,aa.Bd)("conversation"),{open:d,expandable:e,loading:f,error:g,handleOpenChange:h}=Dh(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(vM)].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:vJ};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:vJ};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&&vL.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&&vK.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)(C7,{identity:a.identity,command:i,output:j,expandable:e,open:d,loading:f,error:g,onOpenChange:h,commandAction:(0,N.jsx)(Dj,{text:i.command,copyLabel:c("pidesk.copyCommand"),alwaysVisible:!0}),outputAction:j?(0,N.jsx)(Dj,{text:j,copyLabel:c("pidesk.copyOutput"),alwaysVisible:!0}):null})}function DG({message:a,onLoadDetail:b}){return(0,N.jsx)(Dy,{message:a,onLoadDetail:b,previewPath:null,renderDetail:b=>(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(DA,{message:a,...b}),a.detail?.type==="tool"&&"codemode"===a.detail.kind&&a.detail.nestedCalls?(0,N.jsx)(C4,{nestedCalls:a.detail.nestedCalls}):null]})})}function DH({message:a,onLoadDetail:b}){return(0,N.jsx)(DG,{message:a,onLoadDetail:b})}function DI({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)(Dy,{message:a,onLoadDetail:b,previewPath:a.summary.path,onPreviewFile:c,renderDetail:b=>(0,N.jsx)(DB,{message:a,...b})})}function DJ({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)(Dy,{message:a,onLoadDetail:b,previewPath:a.summary.path,onPreviewFile:c,renderDetail:b=>(0,N.jsx)(DD,{message:a,...b})})}function DK({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)(Dy,{message:a,onLoadDetail:b,previewPath:a.summary.path,onPreviewFile:c,renderDetail:b=>(0,N.jsx)(DE,{message:a,...b})})}function DL({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)(C9().toolOutput,"rounded-lg border-l-2 bg-muted px-3 py-2 text-muted-foreground"),children:a.summary.text||b("emptyMessage")})}function DM({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}=Dh(a,b),i=a.detail?.type==="compaction"?a.detail:null;return(0,N.jsxs)(cy.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)(cy.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)(ws,{className:"size-3.5","aria-hidden":"true"}),(0,N.jsx)("span",{children:c(a.temporary?"compactionRunning":"compactionComplete")}),e?(0,N.jsx)(cx.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)(cy.Ke,{className:De,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)(pZ,{isAnimating:!1,mode:"static",children:i.text}):(0,N.jsx)("p",{className:"text-sm text-muted-foreground",children:c("compactionUnavailable")})})})})})]})}let DN=(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)(Du,{item:a,onLoadDetail:b});case"tool":switch(a.message.summary.kind){case"pidesk":return(0,N.jsx)(DF,{message:a.message,onLoadDetail:b});case"read":return(0,N.jsx)(DI,{message:a.message,onLoadDetail:b,onPreviewFile:d});case"edit":return(0,N.jsx)(DJ,{message:a.message,onLoadDetail:b,onPreviewFile:d});case"write":return(0,N.jsx)(DK,{message:a.message,onLoadDetail:b,onPreviewFile:d});case"bash":case"codemode":case"generic":return(0,N.jsx)(DG,{message:a.message,onLoadDetail:b})}case"bash":return(0,N.jsx)(DH,{message:a.message,onLoadDetail:b});case"custom":return(0,N.jsx)(DL,{message:a.message});case"compaction":return(0,N.jsx)(DM,{message:a.message,onLoadDetail:b});case"user":return(0,N.jsx)(Do,{message:a.message,onAcquireImage:c})}})();return(0,N.jsx)(wn,{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&&DQ(a.item.message,b.item.message));function DO({items:a,onLoadDetail:b,onAcquireImage:c,onPreviewFile:d}){let{scrollRef:e}=u7(),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)(DN,{item:e,onLoadDetail:b,onAcquireImage:c,onPreviewFile:d})},e.message.identity)})]})}let DP=(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)(Db),i=(0,bQ.t4)();(0,bQ.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)(cy.Nt,{open:k,onOpenChange:l,className:"w-full",children:[(0,N.jsxs)(cy.R6,{className:(0,ag.cn)(C9().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)(cx.A,{className:(0,ag.cn)("size-4 transition-transform",k&&"rotate-180")})]}),(0,N.jsx)(cy.Ke,{className:De,children:(0,N.jsx)("div",{className:"pt-2",children:(0,N.jsx)(DO,{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&&DR(a.turn.processItems,b.turn.processItems));function DQ(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 DR(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&&DQ(a.message,d.message)})}let DS=(0,O.memo)(function({message:a,onLoadDetail:b,onAcquireImage:c}){return(0,N.jsx)(wn,{message:a,loadDetail:b,defaultView:(0,N.jsx)(Do,{message:a,onAcquireImage:c})})},(a,b)=>a.onLoadDetail===b.onLoadDetail&&a.onAcquireImage===b.onAcquireImage&&DQ(a.message,b.message)),DT=(0,O.memo)(function({message:a,onLoadDetail:b}){return"assistant"!==a.summary.type?null:(0,N.jsx)(wn,{message:a,loadDetail:b,defaultView:(0,N.jsx)(Dp,{message:a,text:a.summary.text})})},(a,b)=>a.onLoadDetail===b.onLoadDetail&&DQ(a.message,b.message)),DU=(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)(wn,{message:a.compaction,loadDetail:d,defaultView:(0,N.jsx)(DM,{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)(DS,{message:a.user,onLoadDetail:d,onAcquireImage:e}):null,(0,N.jsx)(Dd.Provider,{value:e,children:(0,N.jsx)(Dc.Provider,{value:b,children:(0,N.jsx)(DP,{turn:a,onLoadDetail:d,onAcquireImage:e,onPreviewFile:f})})}),g?(0,N.jsx)(Dq,{}):null,a.finalAssistant?(0,N.jsx)(DT,{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&&DQ(c.user,d.user)&&DQ(c.finalAssistant,d.finalAssistant)&&DQ(c.compaction,d.compaction)&&DR(c.processItems,d.processItems))});DU.displayName="L3ConversationTurnView";let DV={running:"statusRunning",completed:"statusCompleted",failed:"statusFailed",stopped:"statusStopped",interrupted:"statusInterrupted"};function DW(a,b){return null!==a&&a.workId===b.workId&&a.sessionId===b.sessionId&&a.branchId===b.branchId}function DX(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 DY(a){return[a.taskKind,a.taskType].filter(a=>!!a).join(" / ")}function DZ(a){switch(a){case"running":return(0,N.jsx)(ab.A,{className:"size-4 animate-spin text-foreground"});case"completed":return(0,N.jsx)(ur.A,{className:"size-4 text-status-success"});case"failed":return(0,N.jsx)(uU,{className:"size-4 text-destructive"});case"interrupted":return(0,N.jsx)(uV,{className:"size-4 text-status-warning"});case"stopped":return(0,N.jsx)(uW,{className:"size-4 text-muted-foreground"})}}function D$({info:a}){let{t:b}=(0,aa.Bd)("taskCenter"),c=(0,bR.G)(),[d,e]=(0,O.useState)(null);if(0===a.length)return null;let f=(a,d)=>{(0,cG.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)(bA.A,{className:"size-3.5 text-status-success"}):(0,N.jsx)(bT.A,{className:"size-3.5"})})]},`${a.label}:${c}`)})})})}function D_({snapshot:a,running:b,runtime:c,cwd:d}){let{t:e}=(0,aa.Bd)("taskCenter"),f=(0,O.useMemo)(()=>v$(a,b),[b,a]),g=f.findLast(a=>null!==a.user)??null;return(0,N.jsx)(u8,{className:"h-full min-h-0",initial:"instant",resize:"instant","aria-label":e("conversationDetails"),children:(0,N.jsx)(wb,{turns:f,focusTurnIdentity:g?.identity??null,initialAnchor:null,children:a=>(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(v4,{}),(0,N.jsx)(Df,{children:(0,N.jsxs)(u9,{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)(DU,{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)(wg,{turns:f,window:a})]})})})}function D0({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=DY(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:DZ(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(DV[a.status])}),(0,N.jsx)("span",{className:"text-muted-foreground",children:DX(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)(uW,{}),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)(D$,{info:a.info})}):null,(0,N.jsxs)("div",{className:"relative min-h-0 flex-1",children:[f?.body?.kind==="conversation"?(0,N.jsx)(D_,{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)(uX,{}),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 D1({source:a,tasks:b,runtime:c,cwd:d}){let{t:e}=(0,aa.Bd)("taskCenter"),{locale:f,timeZone:g}=(0,cE.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&&DW(i.source,a),q=(0,O.useRef)(null),r=(0,O.useRef)(null);return(oJ(q,p&&!o?"task-list":null),oJ(r,p?`${i.selectedTaskId??"no-task"}:${o}`:null),i.open&&DW(i.source,a)&&!("u"<typeof document))?(0,N.jsx)(ce.YV,{open:!0,onOpenChange:a=>{a||c.close()},children:(0,N.jsxs)(ce.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)(uY,{className:"size-5 text-muted-foreground"}),(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsx)(ce.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=DY(a),d=DX(a,(a,b)=>e(a,{count:b})),h=v1(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:DZ(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)(bz.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)(D0,{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 D2({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)(vG,{tooltip:f("title"),"aria-label":f("open"),onClick:i,children:(0,N.jsx)(uY,{className:"size-4"})}):(0,N.jsx)(N.Fragment,{}):"menu"===e?(0,N.jsxs)(bH,{onClick:i,children:[(0,N.jsx)(uY,{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)(bz.A,{className:"size-3.5 shrink-0"})]}):null,(0,N.jsx)(D1,{source:a,tasks:c,runtime:d,cwd:b})]})}function D3({source:a,cwd:b,pluginState:c,runtime:d,variant:e}){let f=(0,O.useMemo)(()=>{let a=uH.safeParse(c);return a.success?a.data.tasks:[]},[c]);return(0,N.jsx)(D2,{source:a,cwd:b,tasks:f,runtime:d,variant:e})}var D4=c(43115),D5=c(50146);function D6(a){return`${a.location.index}:${a.location.entryId}`}let D7={user:["viewKey","hasDetail"],assistant:["viewKey","status","hasDetail","usage"],tool:["viewKey","status","hasDetail","usage"],bash:["viewKey","status","hasDetail"],custom:["viewKey","hasDetail"]};function D8(a,b,c){if(!b)return a;let d={...a,...b};return"summary"===c?ux.Hf.parse(d):ux.D8.parse(d)}function D9(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 Ea(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 D9(e,`${e.value}${c}`),ux.Hf.parse(d)}if(!Array.isArray(e.value))throw Error("Increment target is not an array");return D9(e,[...e.value,...c]),ux.Hf.parse(d)}function Eb(a,b,c){let d=new Map(a.messages.filter(a=>void 0!==a.detail).map(a=>[D6(a),a]));return{messages:b.map(a=>{let b=d.get(D6(a));return a.fixed.hasDetail&&b&&b.fixed.type===a.fixed.type&&b.fixed.viewKey===a.fixed.viewKey&&void 0!==b.detail?ux.mj.parse({...a,detail:b.detail}):a}),temporaryMessages:[...c]}}function Ec(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,D7[c.type],`${c.type} fixed`),ux.q5.parse({...c,...d})):c),f=D8(a.summary,b.summary,"summary"),g=a.detail;if(void 0!==b.detail||Object.keys(b.increments??{}).some(a=>"detail"===(0,D5.U)(a).root)){if(b.fixed?.hasDetail===!1)throw Error("Realtime detail cannot be updated while explicitly clearing hasDetail");e.hasDetail||(e=ux.q5.parse({...e,hasDetail:!0}))}for(let[a,c]of(b.detail&&(g=D8(g??{},b.detail,"detail")),Object.entries(b.increments??{}))){let b=(0,D5.U)(a);"summary"===b.root?f=Ea(f,b.segments,c):g=Ea(g??{},b.segments,c)}return e.hasDetail||(g=void 0),ux.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=ux.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 Ed(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]=ux.mj.parse({...d,...null===b.detail?{detail:void 0}:{detail:b.detail}}),{...a,messages:e}}function Ee(a,b){return a.taskId!==b.taskId||a.body?.kind!=="conversation"||b.body?.kind!=="conversation"?b:uL.parse({...b,body:{kind:"conversation",truncated:b.body.truncated,...Eb(a.body,b.body.messages,b.body.temporaryMessages)}})}var Ef=c(28661);function Eg(a){return(0,b1.B)({msg:D4.U["zh-CN"][a],i18n:{key:`taskCenter:${a}`}})}let Eh=Object.freeze({open:!1,source:null,selectedTaskId:null,details:{},loading:!1,refreshing:!1,error:null});function Ei(a,b){return a===b||null!==a&&null!==b&&a.workId===b.workId&&a.sessionId===b.sessionId&&a.branchId===b.branchId}var Ej=c(94283),Ek=c(17983);let El=oP.rh,Em=oP._g,En=oP.eC,Eo=Q.Ik({workId:Ej.eW,cwd:Ej.ik}).strict(),Ep=Eo.extend({path:El}).strict(),Eq=Eo.extend({query:Q.Yj().trim().min(1).max(200)}).strict(),Er=Ek.Ot.request.safeExtend({workId:Ej.eW});Ek.Ot.response;let Es=oP.p$,Et=Eo.extend({path:En,imagePreviewMode:Es}).strict();var Eu=c(74349),Ev=c.n(Eu);function Ew({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)(Ev().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)(Ev().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}),d]}):(0,N.jsxs)(af.HK,{orientation:"horizontal",disableCursor:!0,className:(0,ag.cn)(Ev().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 Ex=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 Ey=c(18513),Ez=c(10905),EA=c(8579),EB=c(38974),EC=c(92494),ED=c(38273);function EE(a,b){return(0,b1.B)({msg:ED.R["zh-CN"][a],i18n:{key:`workbench:${a}`,...b?{params:b}:{}}})}function EF(a){let{workId:b,sessionId:c,branchId:d}=a.source;return JSON.stringify([b,c,d,a.cwd])}function EG(a,b,c){return`${EF(a)}\u0000${c}\u0000${b}`}class EH{peek(a,b,c){let d=this.images.get(EG(a,b,c));return!d||0===d.references&&Date.now()-d.unusedAt>=6e4?null:d.url}get(a,b,c){this.trim();let d=EG(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(EF(a)))throw Error("工作会话来源已变化");let e=EG(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(EG(a,b,c))}reconcileWorkSessions(a){for(let b of(this.validSources=new Set(a.map(a=>EF({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 EI{constructor(a,b,c=()=>void 0){this.biz=a,this.gitBiz=b,this.onNotice=c,this.standaloneImages=new EH,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(EE("sourceChanged"));let c=this.workspaces.get(a);if(c)return c;let d={workId:a,cwd:b.cwd},e=new EC.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:p6.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 EJ=c(74816);function EK({workId:a,cwd:b,projectName:c,runtime:d,gitRuntime:e,onOpenGitBranches:f,onFileOpened:g}){return(0,N.jsx)(EJ.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 EL=c(23008),EM=c(45694);let EN='data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="1" height="1"/%3E';function EO({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,p6.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)(ph.k,{mode:"inline",thumbnails:!1,slides:b.map(a=>{let b=h[a];return{src:b?.status==="ready"?b.objectUrl:a===j?m??EN:EN,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,p6.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 EP(a){return a.replaceAll("\\","/").split("/").at(-1)??a}function EQ({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,p6.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)(ce.YV,{open:!0,onOpenChange:a=>{a||e()},children:(0,N.jsxs)(ce.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)(ce.YM,{className:"sr-only",children:EP(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:EP(n),children:EP(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)(EO,{target:a,paths:a.imagePaths,index:l,onIndexChange:m,biz:b,images:c}):"loading"===j.status?(0,N.jsx)(ER,{}):"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,p6.Wq)()),k({status:"loading"}),i(a=>a+1)},children:f("reloadFile")})]}):"image"===j.status?(0,N.jsx)(ph.k,{mode:"inline",slides:[{src:j.objectUrl,alt:a.path}],ariaLabel:f("standaloneImage",{name:EP(a.path)})}):o?(0,N.jsx)("iframe",{ref:g,className:"block size-full border-0 bg-white",sandbox:"allow-scripts",srcDoc:(0,EM.z)(j.content),title:f("standaloneHtml",{name:a.path})}):(0,N.jsx)(EL.e,{path:a.path,content:j.content,size:j.size,savedState:null,onSaveState:()=>void 0,onEscape:e})})]})]})})}function ER(){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 ES=c(70914),ET=c.n(ES),EU=c(794),EV=c.n(EU);let EW=ET()(async()=>{},{loadableGenerated:{modules:["client/l2_biz/workbench/file-workspace/l2-work-session-file-layout.tsx -> ./l2-file-workspace-view"]},ssr:!1});function EX({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?[Ev().panelGroup,EV().wide]:EV().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)(EW,{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 EY({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=()=>{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)(ce.YV,{open:!0,onOpenChange:a=>{a||b.collapseExpandedWindow()},children:(0,N.jsxs)(ce.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(),j())},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)(ce.YM,{className:"sr-only",children:h("fileViewer",{name:i.projectName})}),(0,N.jsx)(EW,{workSession:i,runtime:b,gitRuntime:c,mobile:d,presentation:d?"single":"expanded",onOpenGitBranches:e,onOpenSidebar:()=>{b.collapseExpandedWindow(),f(i.workId)},onSwitchPane:j,onOpenTerminal:g,onHide:()=>b.hideWindow(i.workId),onExpand:()=>b.collapseExpandedWindow()},`${i.workId}:${i.sessionId}:${i.branchId}`)]})})}var EZ=c(95186);let E$=(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 E_=c(35385),E0=c(9365),E1=c(49057);let E2=[];function E3(a,b){let c=b.trim().toLocaleLowerCase();return c?a.filter(a=>a.toLocaleLowerCase().includes(c)):[...a]}function E4({target:a,runtime:b,mobile:c,onClose:d}){let{t:e}=(0,aa.Bd)("workbench"),{locale:f}=(0,cE.i)();(0,O.useSyncExternalStore)(b.subscribe,b.getRevision,b.getRevision);let g=(0,bR.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??E2,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)(()=>E3(F?.local??[],l),[F?.local,l]),I=(0,O.useMemo)(()=>E3(F?.remote??[],l),[F?.remote,l]),J=(0,O.useMemo)(()=>E3(F?.recent??[],l),[F?.recent,l]),K=(0,O.useMemo)(()=>(0,E1.oY)(H),[H]),L=(0,O.useMemo)(()=>(0,E1.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,E1.Hj)(a.projectName,A[0].root),branch:"ready"===A[0].state?(0,E1.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)(bA.A,{className:"size-4 text-foreground"}):"remote"===c.type?(0,N.jsx)(E$,{className:"size-3.5"}):(0,N.jsx)(E_.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)(bz.A,{className:(0,ag.cn)("size-3 transition-transform",e&&"rotate-90")}),e?(0,N.jsx)(E0.A,{className:"size-4 text-muted-foreground"}):(0,N.jsx)(co.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)(ce.YV,{open:!0,onOpenChange:a=>!a&&d(),children:(0,N.jsxs)(ce.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)(ce.YM,{children:e("gitBranches")}),(0,N.jsx)(ce.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)(bV.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,E1.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,E1.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,E1.Hj)(a.projectName,D.root):e("chooseRepository"),D?.state==="ready"?` \xb7 ${(0,E1.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)(b3.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)(b3.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,cD.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 E5(a,b){return a instanceof DOMException&&"AbortError"===a.name?b:a instanceof Error?a.message:b}class E6{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:EE("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:E5(a,EE("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:EE("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:E5(a,EE("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:EE("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:E5(a,EE("gitStatusReadFailed"))},this.publish()}}requireProject(a){let b=this.projectRefs.get(a);if(!b)throw Error(EE("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 E7=c(18997);let E8=E7.y2,E9=Q.Ik({workId:Ej.eW,cwd:Ej.ik}).strict(),Fa=E7.Ww,Fb=E7.cP,Fc=E7.zp,Fd=E7.u2;Q.Ik({repositories:Q.YO(Fd).max(E8)}).strict();let Fe=E9.extend({repositoryRoot:Fa}).strict(),Ff=E7.zt,Fg=E9.extend({repositoryRoot:Fa,target:Ff}).strict(),Fh=E9.extend({repositoryRoot:Fa,name:Fb,startPoint:Ff.nullable()}).strict(),Fi=Q.Ik({repository:Fc}).strict(),Fj=E9.extend({repositoryRoot:Fa,path:oP._g}).strict();var Fk=c(45123);let Fl=Object.freeze({messages:[],temporaryMessages:[],runtime:{extensionMode:"normal",presentationMode:"normal",initializationError:null,queues:{steering:[],followUp:[]},model:null,capabilityMode:null,contextUsage:null,plugins:{}}});function Fm(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 Fn=c(92991);let Fo="messages",Fp="source",Fq="drafts",Fr="outbox",Fs="pi-super-chat",Ft=null,Fu=null;function Fv(a){return Error((0,b1.B)({msg:Fn.n["zh-CN"].common[a],i18n:{key:`common:${a}`}}))}function Fw(a,b){a.objectStoreNames.contains(b)||a.createObjectStore(b,{keyPath:["sessionId","branchId"]})}function Fx(){return new Promise((a,b)=>{let c=indexedDB.open(Fs,2),d=!1,e=window.setTimeout(()=>{f(Fv("dbOpenTimeout"))},1e4),f=a=>{d||(d=!0,window.clearTimeout(e),b(a))};c.addEventListener("upgradeneeded",()=>{let a=c.result;a.objectStoreNames.contains(Fo)||a.createObjectStore(Fo,{keyPath:["sessionId","branchId","index"]}).createIndex(Fp,["sessionId","branchId"],{unique:!1}),Fw(a,Fq),Fw(a,Fr)},{once:!0}),c.addEventListener("blocked",()=>{f(Fv("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??Fv("dbOpenFailed")),{once:!0})})}async function Fy(){try{return await Fx()}catch(a){if(!("object"==typeof a&&null!==a&&"name"in a&&"VersionError"===a.name))throw a;return console.warn("[Pi Desk][ChatIndexedDB] 本地数据库版本高于当前版本,清空全部本地聊天数据后重建",{databaseName:Fs,requestedVersion:2}),await new Promise((a,b)=>{let c=indexedDB.deleteDatabase(Fs),d=!1,e=window.setTimeout(()=>{f(Fv("dbDeleteTimeout"))},1e4),f=a=>{d||(d=!0,window.clearTimeout(e),b(a))};c.addEventListener("blocked",()=>{f(Fv("dbDeleteBlocked"))},{once:!0}),c.addEventListener("success",()=>{d||(d=!0,window.clearTimeout(e),a())},{once:!0}),c.addEventListener("error",()=>f(c.error??Fv("dbDeleteFailed")),{once:!0})}),Fx()}}function Fz(){return Fu?Promise.resolve(Fu):Ft||(Ft=Fy().then(a=>(Fu=a,a.addEventListener("versionchange",()=>{a.close(),Fu===a&&(Fu=null,Ft=null),console.warn("[Pi Desk][ChatIndexedDB] 数据库版本已变化,当前连接已关闭")}),a)).catch(a=>{throw Ft=null,a}))}function FA(a){return new Promise((b,c)=>{a.addEventListener("success",()=>b(a.result),{once:!0}),a.addEventListener("error",()=>c(a.error??Fv("dbRequestFailed")),{once:!0})})}function FB(a,b,c){let d=a.target;return d?.error??b.error??Error(c)}function FC(a){return new Promise((b,c)=>{a.addEventListener("complete",()=>b(),{once:!0}),a.addEventListener("abort",b=>c(FB(b,a,Fv("dbTransactionAborted").message)),{once:!0}),a.addEventListener("error",b=>c(FB(b,a,Fv("dbTransactionFailed").message)),{once:!0})})}let FD=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:Fk.ao,summary:Fk.lV,detail:Fk.wI.optional()}).strict();function FE(a,b){return FD.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 FF(a){let b=FD.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");Fk.Y2.parse(b.summary),void 0!==b.detail&&Fk.$f.parse(b.detail)}return Fk.wR.parse({location:{index:b.index,entryId:b.entryId},fixed:b.fixed,summary:b.summary,...void 0===b.detail?{}:{detail:b.detail}})}function FG(a,b){a.delete(IDBKeyRange.bound([b.sessionId,b.branchId,0],[b.sessionId,b.branchId,Number.MAX_SAFE_INTEGER]))}let FH=Q.Yj().max(65536),FI=Q.Ik({id:Q.Yj().uuid(),title:FH,expiresAt:Q.ai().int().nonnegative().nullable()}),FJ=Q.gM("method",[FI.extend({method:Q.eu("confirm"),message:FH}).strict(),FI.extend({method:Q.eu("select"),options:Q.YO(FH).max(200)}).strict(),FI.extend({method:Q.eu("input"),placeholder:FH}).strict(),FI.extend({method:Q.eu("editor"),prefill:FH}).strict()]),FK=Q.Ik({requests:Q.YO(FJ).max(32),statuses:Q.g1(Q.Yj().max(128),FH),widgets:Q.g1(Q.Yj().max(128),Q.Ik({lines:Q.YO(FH).max(200),placement:Q.k5(["aboveEditor","belowEditor"])}).strict())}).strict(),FL=Q.Ik({id:Q.Yj().uuid(),value:Q.KC([Q.zM(),FH,Q.ch()])}).strict(),FM=Q.gM("type",[Q.Ik({type:Q.eu("snapshot"),snapshot:FK}).strict(),Q.Ik({type:Q.eu("notify"),message:FH,level:Q.k5(["info","warning","error"])}).strict(),Q.Ik({type:Q.eu("editor_text"),text:FH,mode:Q.k5(["replace","paste"])}).strict()]),FN=Q.Ik({source:uw.R}).strict(),FO=Q.Ik({}).strict(),FP=Object.freeze({subscribe:(0,R.Vc)({path:"pi/ui/subscribe",inputSchema:FN,outputSchema:FK}),unsubscribe:(0,R.Vc)({path:"pi/ui/unsubscribe",inputSchema:FN,outputSchema:FO}),respond:(0,R.Vc)({path:"pi/ui/respond",inputSchema:FN.extend({response:FL}).strict(),outputSchema:FO}),event:(0,R._G)({path:"pi/ui/event",bodySchema:FN.extend({event:FM}).strict()})});function FQ(a){return JSON.stringify([a.workId,a.sessionId,a.branchId])}class FR{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(FP.event,({source:a,event:b})=>{let c=this.records.get(FQ(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(FQ));for(let[a,c]of this.records)!b.has(a)&&(this.records.delete(a),this.connected&&this.socket.request(FP.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(FP.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:EE("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(EB.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:EE("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=FQ(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(FQ(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(FP.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:EE("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 FS=Object.freeze({...Fl,syncStatus:"loading"});function FT(a){return Fk.Pi.parse({workId:a.workId,sessionId:a.sessionId,branchId:a.branchId})}function FU(a){return JSON.stringify([a.workId,a.sessionId,a.branchId])}function FV(a,b){return a.workId===b.workId&&a.sessionId===b.sessionId&&a.branchId===b.branchId}let FW={text:"",images:[]};function FX(a){return[a.sessionId,a.branchId]}function FY(a,b){return{sessionId:a.sessionId,branchId:a.branchId,text:b.text,images:b.images}}function FZ(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 F$(a,b){return b?{text:[a.text,b.text].filter(a=>a.trim()).join("\n\n"),images:[...a.images,...b.images]}:a}var F_=c(60141);let F0=new Set(["image/jpeg","image/png","image/webp","image/gif","image/bmp"]),F1=new Set(["image/jpeg","image/png","image/webp","image/gif"]),F2=new Set([192,193,194,195,197,198,199,201,202,203,205,206,207]);function F3(a){return a.type.toLowerCase().split(";")[0]??""}async function F4(a){let b;try{b=await createImageBitmap(a,{imageOrientation:"from-image"})}catch{throw Error(EE("imageDecodeFailed"))}if(!Number.isSafeInteger(b.width)||b.width<=0||b.height<=0)throw b.close(),Error(EE("imageInvalidDimensions"));return{bitmap:b,width:b.width,height:b.height}}function F5(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 F6(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(EE("canvasUnavailable"));return g.drawImage(a,0,0,b,c),new Promise((a,b)=>{f.toBlob(c=>c?a(c):b(Error(EE("imageCompressFailed"))),d,e)})}async function F7(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(F2.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 F8(a){let b=F3(a);if(!F0.has(b))throw Error(EE("imageTypeUnsupported"));let c=await F4(a);return c.bitmap.close(),{blob:a,mimeType:b,width:c.width,height:c.height,optimized:"image/gif"===b}}async function F9(a){if(a.optimized){if(a.blob.size>0xa00000)throw Error(EE("singleImageLimit"));return a}let b=await F4(a.blob);try{var c;let d=F5(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 F6(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 F7(a.blob):null,l="image/jpeg"===a.mimeType&&(null===k||k.width!==b.width||k.height!==b.height),m=F1.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=F5(b.width,b.height,2048);g=await F6(b.bitmap,a.width,a.height,e,.82),h=a.width,i=a.height}if(g.size>0xa00000)throw Error(EE("compressedImageTooLarge"));let n=F3(g);if(!F1.has(n))throw Error(EE("compressedTypeUnsupported"));return{blob:g,mimeType:n,width:h,height:i,optimized:!0}}finally{b.bitmap.close()}}async function Ga(a){if(!a.optimized)throw Error(EE("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 Gb(a,b,c=a.optimized?"ready":"optimizing"){return{...a,localId:(0,F_.y)(),objectUrl:URL.createObjectURL(a.blob),name:b,status:c,error:null}}function Gc(a){URL.revokeObjectURL(a.objectUrl)}function Gd(a){return JSON.stringify([a.workId,a.sessionId,a.branchId])}function Ge(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 Gf(a,b){return a instanceof Error&&a.message?a.message:b}function Gg(a,b){return[a,b].filter(a=>a.trim()).join("\n\n")}function Gh(a,b,c){return`${Gd(a)}\u0000temp\u0000${b}\u0000${c}`}function Gi(a,b,c){return`${Gd(a)}\u0000entry\u0000${b}\u0000${c}`}function Gj(a){for(let b of a)Gc(b)}let Gk=(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"}]]),Gl=(0,ac.A)("heading",[["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M6 20V4",key:"1w1bmo"}],["path",{d:"M18 20V4",key:"o2hl4u"}]]),Gm=(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"}]]),Gn=(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"}]]),Go=(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 Gp(a){return a.replace(/[\\/]+$/,"").split(/[\\/]/).at(-1)||a}function Gq(a){return a.trim().toLocaleLowerCase()}let Gr=["title","user"],Gs=[{value:"title",label:"scopeTitle"},{value:"user",label:"scopeUser"},{value:"assistant",label:"scopeAssistant"},{value:"sessionId",label:"Session ID"}];function Gt(a,b,c){return"title"===a?c("scopeTitle"):"sessionId"===a?"Session ID":c("user"===a?"scopeUserMatches":"scopeAssistantMatches",{count:b})}function Gu(a){switch(a){case"user":case"assistant":case"title":return"bg-muted text-foreground";case"sessionId":return"bg-muted text-muted-foreground"}}function Gv(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 Gw({scope:a,className:b}){switch(a){case"user":return(0,N.jsx)(Gk,{className:b});case"assistant":return(0,N.jsx)(cp,{className:b});case"title":return(0,N.jsx)(Gl,{className:b});case"sessionId":return(0,N.jsx)(Gm,{className:b})}}function Gx(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 Gy({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,cE.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)(Gr),[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=Gq(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||Gq(`${Gp(a.cwd)} ${a.cwd}`).includes(T)),Y=(g?.directories??[]).filter(a=>!T||Gq(`${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)(ce.YV,{open:a,onOpenChange:a=>{(a||!R)&&p(a)},children:(0,N.jsxs)(ce.hA,{className:"h-[min(44rem,calc(100dvh-2rem))] max-w-[45rem]",showCloseButton:!R,finalFocus:!1,children:[(0,N.jsx)(ce.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)(co.A,{className:"size-4"})}),(0,N.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,N.jsx)(ce.YM,{children:_}),(0,N.jsx)(ce.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)(E0.A,{className:"pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-muted-foreground"}),(0,N.jsx)(b3.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)(b4.A,{className:"pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-muted-foreground"}),(0,N.jsx)(b3.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")}),Gs.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)(ce._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)(bV.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)(Gn,{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)?Gx(c,T,Gv("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)(cx.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)(bV.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)(Gw,{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 ${Gu(b.scope)}`,children:Gt(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:Gx(b.preview,T,Gv(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 ${Gu(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:Gt(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)(Go,{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)(bV.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?Gx(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)(bV.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)(E0.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)(co.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)(bz.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=Gp(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)(co.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)(bV.A,{className:"size-3.5 animate-spin"}):(0,N.jsx)(uX,{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=Gp(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)(co.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)(bV.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)(bz.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)(bV.A,{className:"size-3.5 animate-spin"}):(0,N.jsx)(tv.A,{className:"size-4"})}):null]},a.cwd)})})]})}),(0,N.jsxs)(ce.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)(E0.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)(bV.A,{className:`size-4${l?" animate-spin":""}`})})]})]})]})})}function Gz({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 GA=(0,ac.A)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),GB=(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"}]]),GC="u">typeof window?O.useLayoutEffect:O.useEffect;function GD(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}class GE extends O.Component{getSnapshotBeforeUpdate(a){let b=this.props.childRef.current;if(CF(b)&&a.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let a=b.offsetParent,c=CF(a)&&a.offsetWidth||0,d=CF(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 GF({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)(zm),k=function(...a){return O.useCallback(function(...a){return b=>{let c=!1,d=a.map(a=>{let d=GD(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():GD(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(`
644
644
  [data-motion-pop-id="${g}"] {
645
645
  position: absolute !important;