@auto-ai/agent 2.1.178 → 2.1.180

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 (82) hide show
  1. package/dist/safe-a/404/index.html +1 -1
  2. package/dist/safe-a/404.html +1 -1
  3. package/dist/safe-a/_next/static/chunks/044a195f3374d4b6.js +1 -0
  4. package/dist/safe-a/_next/static/chunks/12fa90667e8fb0e3.js +1 -0
  5. package/dist/safe-a/_next/static/chunks/4682815462207a37.js +1 -0
  6. package/dist/safe-a/_next/static/chunks/{1721252e79141fe8.js → 5434628aad5e5bc3.js} +1 -1
  7. package/dist/safe-a/_next/static/chunks/5b44bdce5e5ebd06.js +1 -0
  8. package/dist/safe-a/_next/static/chunks/5b50a8c524507ee0.js +1 -0
  9. package/dist/safe-a/_next/static/chunks/66cdfa3e49dc50f3.js +1 -0
  10. package/dist/safe-a/_next/static/chunks/79e8fd2602ccb6b6.js +1 -0
  11. package/dist/safe-a/_next/static/chunks/{d2db030aed120d83.js → 7f341bc0fb5ff708.js} +1 -1
  12. package/dist/safe-a/_next/static/chunks/{d704441569a382a1.js → 8f31f818efd25c0f.js} +1 -1
  13. package/dist/safe-a/_next/static/chunks/9edf76a11bf93bcc.js +1 -0
  14. package/dist/safe-a/_next/static/chunks/b63afdaa820ddad4.js +1 -0
  15. package/dist/safe-a/_next/static/chunks/b9590be9854a83fb.js +1 -0
  16. package/dist/safe-a/_next/static/chunks/baed816b83bbd5b5.js +1 -0
  17. package/dist/safe-a/_next/static/chunks/dc7a9ce680ab0ce4.css +1 -0
  18. package/dist/safe-a/_next/static/chunks/dd98ccfeaf6ec72e.js +1 -0
  19. package/dist/safe-a/_next/static/chunks/e847138f5b487d3d.js +1 -0
  20. package/dist/safe-a/_next/static/chunks/f3c9f6b778f4cf1a.js +1 -0
  21. package/dist/safe-a/_next/static/chunks/fa686b4028e991a5.js +1 -0
  22. package/dist/safe-a/index.html +2 -2
  23. package/dist/safe-a/index.txt +25 -24
  24. package/dist/safe-a/manage/about/index.html +2 -2
  25. package/dist/safe-a/manage/about/index.txt +9 -9
  26. package/dist/safe-a/manage/env/index.html +2 -2
  27. package/dist/safe-a/manage/env/index.txt +11 -11
  28. package/dist/safe-a/manage/geelib/index.html +2 -2
  29. package/dist/safe-a/manage/geelib/index.txt +11 -11
  30. package/dist/safe-a/manage/general/index.html +2 -2
  31. package/dist/safe-a/manage/general/index.txt +9 -9
  32. package/dist/safe-a/manage/git/index.html +2 -2
  33. package/dist/safe-a/manage/git/index.txt +11 -11
  34. package/dist/safe-a/manage/im/index.html +2 -2
  35. package/dist/safe-a/manage/im/index.txt +11 -11
  36. package/dist/safe-a/manage/index.html +2 -2
  37. package/dist/safe-a/manage/index.txt +6 -6
  38. package/dist/safe-a/manage/library/index.html +2 -2
  39. package/dist/safe-a/manage/library/index.txt +9 -9
  40. package/dist/safe-a/manage/mcp/index.html +2 -2
  41. package/dist/safe-a/manage/mcp/index.txt +9 -9
  42. package/dist/safe-a/manage/permissions/index.html +2 -2
  43. package/dist/safe-a/manage/permissions/index.txt +9 -9
  44. package/dist/safe-a/manage/skills/index.html +2 -2
  45. package/dist/safe-a/manage/skills/index.txt +9 -9
  46. package/dist/safe-a/manage/system/index.html +2 -2
  47. package/dist/safe-a/manage/system/index.txt +11 -11
  48. package/dist/safe-a/manage/task/index.html +2 -2
  49. package/dist/safe-a/manage/task/index.txt +9 -9
  50. package/dist/safe-a/manage/teams/index.html +2 -2
  51. package/dist/safe-a/manage/teams/index.txt +9 -9
  52. package/dist/safe-a/manage/tools/index.html +2 -2
  53. package/dist/safe-a/manage/tools/index.txt +9 -9
  54. package/dist/ws-test/ws-test.css +20 -0
  55. package/dist/ws-test/ws-test.js +55 -3
  56. package/mcps-runtime/claude-geelib-channel/.mcp.json +1 -1
  57. package/mcps-runtime/claude-tuitui-channel/.mcp.json +1 -1
  58. package/package.json +6 -6
  59. package/tools-runtime/code-tool/index.cjs +10 -0
  60. package/tools-runtime/code-tool/src/index.ts +10 -0
  61. package/tools-runtime/git-tool/index.cjs +3 -0
  62. package/tools-runtime/git-tool/src/index.ts +3 -0
  63. package/tools-runtime/schedule-tool/index.cjs +5 -0
  64. package/tools-runtime/schedule-tool/src/index.ts +5 -0
  65. package/dist/safe-a/_next/static/chunks/502da0e2a135cc22.js +0 -1
  66. package/dist/safe-a/_next/static/chunks/6d5e5ac594d15dfd.js +0 -1
  67. package/dist/safe-a/_next/static/chunks/7b13ca715faff5dc.js +0 -1
  68. package/dist/safe-a/_next/static/chunks/813a815fdbc5ebce.js +0 -1
  69. package/dist/safe-a/_next/static/chunks/86e1cbf0b14a37f8.js +0 -1
  70. package/dist/safe-a/_next/static/chunks/91e581bdbb23dee6.js +0 -1
  71. package/dist/safe-a/_next/static/chunks/9315f9edcdcc1021.js +0 -1
  72. package/dist/safe-a/_next/static/chunks/a279cf87db173848.js +0 -1
  73. package/dist/safe-a/_next/static/chunks/a844bb56dd3d3f9f.js +0 -1
  74. package/dist/safe-a/_next/static/chunks/a8500ff7cba0198b.js +0 -1
  75. package/dist/safe-a/_next/static/chunks/aee78ab0977d5e85.js +0 -1
  76. package/dist/safe-a/_next/static/chunks/bca3533d1768ff54.css +0 -1
  77. package/dist/safe-a/_next/static/chunks/d2f40ee7478ade79.js +0 -1
  78. package/dist/safe-a/_next/static/chunks/db2847a6d43bf625.js +0 -1
  79. package/dist/safe-a/_next/static/chunks/f7757520b309e691.js +0 -1
  80. /package/dist/safe-a/_next/static/{gFf2rYZ98YdyRGXddQWul → OKqXfffH_cAoxQZZNzqGW}/_buildManifest.js +0 -0
  81. /package/dist/safe-a/_next/static/{gFf2rYZ98YdyRGXddQWul → OKqXfffH_cAoxQZZNzqGW}/_clientMiddlewareManifest.json +0 -0
  82. /package/dist/safe-a/_next/static/{gFf2rYZ98YdyRGXddQWul → OKqXfffH_cAoxQZZNzqGW}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,12732,50052,e=>{"use strict";e.s(["extractMessageBody",()=>eR,"renderMd",()=>ej],12732);var t,n=e.i(99749);function r(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var s=r(),l={exec:()=>null};function i(e){let t=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),s=t[r];return s||(s=e(r),t[r]=s),s}}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n="string"==typeof e?e:e.source,r={replace:(e,t)=>{let s="string"==typeof t?t:t.source;return s=s.replace(c.caret,"$1"),n=n.replace(e,s),r},getRegex:()=>new RegExp(n,t)};return r}var o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{return!!RegExp("(?<=1)(?<!1)"+e)}catch(e){return!1}}(),c={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:RegExp("[\\p{L}\\p{N}]","u"),escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp("^( {0,3}".concat(e,")((?:[ ][^\\n]*)?(?:\\n|$))")),nextBulletRegex:i(e=>new RegExp("^ {0,".concat(e,"}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))"))),hrRegex:i(e=>new RegExp("^ {0,".concat(e,"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"))),fencesBeginRegex:i(e=>new RegExp("^ {0,".concat(e,"}(?:```|~~~)"))),headingBeginRegex:i(e=>new RegExp("^ {0,".concat(e,"}#"))),htmlBeginRegex:i(e=>RegExp("^ {0,".concat(e,"}<(?:[a-z].*>|!--)"),"i")),blockquoteBeginRegex:i(e=>new RegExp("^ {0,".concat(e,"}>")))},h=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,p=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,u=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,d=a(u).replace(/bull/g,p).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),g=a(u).replace(/bull/g,p).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),f=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,x=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,k=a(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",x).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),m=a(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,p).getRegex(),b="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",w=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,y=a("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",w).replace("tag",b).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),v=a(f).replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",b).getRegex(),S={blockquote:a(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",v).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:k,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:h,html:y,lheading:d,list:m,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:v,table:l,text:/^[^\n]+/},R=a("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",b).getRegex(),j={...S,lheading:g,table:R,paragraph:a(f).replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",R).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",b).getRegex()},T={...S,html:a("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",w).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:l,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:a(f).replace("hr",h).replace("heading"," *#{1,6} *[^\n]").replace("lheading",d).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},z=/^( {2,}|\\)\n(?!\s*$)/,A=RegExp("[\\p{P}\\p{S}]","u"),C=RegExp("[\\s\\p{P}\\p{S}]","u"),_=RegExp("[^\\s\\p{P}\\p{S}]","u"),$=a(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,C).getRegex(),N=RegExp("(?!~)[\\p{P}\\p{S}]","u"),P=RegExp("(?!~)[\\s\\p{P}\\p{S}]","u"),E=RegExp("(?:[^\\s\\p{P}\\p{S}]|~)","u"),L=a(/link|precode-code|html/,"g").replace("link",RegExp("\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)")).replace("precode-",o?"(?<!`)()":"(^^|[^`])").replace("code",RegExp("(?<b>`+)[^`]+\\k<b>(?!`)")).replace("html",/<(?! )[^<>]*?>/).getRegex(),I=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,B=a(I,"u").replace(/punct/g,A).getRegex(),q=a(I,"u").replace(/punct/g,N).getRegex(),D="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",F=a(D,"gu").replace(/notPunctSpace/g,_).replace(/punctSpace/g,C).replace(/punct/g,A).getRegex(),M=a(D,"gu").replace(/notPunctSpace/g,E).replace(/punctSpace/g,P).replace(/punct/g,N).getRegex(),Z=a("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,_).replace(/punctSpace/g,C).replace(/punct/g,A).getRegex(),Q=a(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,A).getRegex(),O=a("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,_).replace(/punctSpace/g,C).replace(/punct/g,A).getRegex(),H=a(/\\(punct)/,"gu").replace(/punct/g,A).getRegex(),U=a(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),G=a(w).replace("(?:-->|$)","-->").getRegex(),J=a("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",G).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),W=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,X=a(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",W).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),K=a(/^!?\[(label)\]\[(ref)\]/).replace("label",W).replace("ref",x).getRegex(),V=a(/^!?\[(ref)\](?:\[\])?/).replace("ref",x).getRegex(),Y=a("reflink|nolink(?!\\()","g").replace("reflink",K).replace("nolink",V).getRegex(),ee=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,et={_backpedal:l,anyPunctuation:H,autolink:U,blockSkip:L,br:z,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:l,delLDelim:l,delRDelim:l,emStrongLDelim:B,emStrongRDelimAst:F,emStrongRDelimUnd:Z,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:X,nolink:V,punctuation:$,reflink:K,reflinkSearch:Y,tag:J,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:l},en={...et,link:a(/^!?\[(label)\]\((.*?)\)/).replace("label",W).getRegex(),reflink:a(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W).getRegex()},er={...et,emStrongRDelimAst:M,emStrongLDelim:q,delLDelim:Q,delRDelim:O,url:a(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",ee).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:a(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",ee).getRegex()},es={...er,br:a(z).replace("{2,}","*").getRegex(),text:a(er.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},el={normal:S,gfm:j,pedantic:T},ei={normal:et,gfm:er,breaks:es,pedantic:en},ea={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},eo=e=>ea[e];function ec(e,t){if(t){if(c.escapeTest.test(e))return e.replace(c.escapeReplace,eo)}else if(c.escapeTestNoEncode.test(e))return e.replace(c.escapeReplaceNoEncode,eo);return e}function eh(e){try{e=encodeURI(e).replace(c.percentDecode,"%")}catch(e){return null}return e}function ep(e,t){var n;let r=e.replace(c.findPipe,(e,t,n)=>{let r=!1,s=t;for(;--s>=0&&"\\"===n[s];)r=!r;return r?"|":" |"}).split(c.splitPipe),s=0;if(r[0].trim()||r.shift(),!(r.length>0)||(null==(n=r.at(-1))?void 0:n.trim())||r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;s<r.length;s++)r[s]=r[s].trim().replace(c.slashPipe,"|");return r}function eu(e,t,n){let r=e.length;if(0===r)return"";let s=0;for(;s<r;){let l=e.charAt(r-s-1);if(l!==t||n)if(l!==t&&n)s++;else break;else s++}return e.slice(0,r-s)}function ed(e){let t=e.split("\n"),n=t.length-1;for(;n>=0&&c.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join("\n")}function eg(e,t,n,r,s){let l=t.href,i=t.title||null,a=e[1].replace(s.other.outputLinkReplace,"$1");r.state.inLink=!0;let o={type:"!"===e[0].charAt(0)?"image":"link",raw:n,href:l,title:i,text:a,tokens:r.inlineTokens(a)};return r.state.inLink=!1,o}var ef=class{space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:ed(t[0]),n=e.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e,codeBlockStyle:"indented",text:n}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=function(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(null===r)return t;let s=r[1];return t.split("\n").map(e=>{let t=e.match(n.other.beginningSpace);if(null===t)return e;let[r]=t;return r.length>=s.length?e.slice(s.length):e}).join("\n")}(e,t[3]||"",this.rules);return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=eu(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:"heading",raw:eu(t[0],"\n"),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:eu(t[0],"\n")}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=eu(t[0],"\n").split("\n"),n="",r="",s=[];for(;e.length>0;){let t=!1,l=[],i;for(i=0;i<e.length;i++)if(this.rules.other.blockquoteStart.test(e[i]))l.push(e[i]),t=!0;else if(t)break;else l.push(e[i]);e=e.slice(i);let a=l.join("\n"),o=a.replace(this.rules.other.blockquoteSetextReplace,"\n $1").replace(this.rules.other.blockquoteSetextReplace2,"");n=n?"".concat(n,"\n").concat(a):a,r=r?"".concat(r,"\n").concat(o):o;let c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(o,s,!0),this.lexer.state.top=c,0===e.length)break;let h=s.at(-1);if((null==h?void 0:h.type)==="code")break;if((null==h?void 0:h.type)==="blockquote"){let t=h.raw+"\n"+e.join("\n"),l=this.blockquote(t);s[s.length-1]=l,n=n.substring(0,n.length-h.raw.length)+l.raw,r=r.substring(0,r.length-h.text.length)+l.text;break}if((null==h?void 0:h.type)==="list"){let t=h.raw+"\n"+e.join("\n"),l=this.list(t);s[s.length-1]=l,n=n.substring(0,n.length-h.raw.length)+l.raw,r=r.substring(0,r.length-h.raw.length)+l.raw,e=t.substring(s.at(-1).raw.length).split("\n");continue}}return{type:"blockquote",raw:n,tokens:s,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,s={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?"\\d{1,9}\\".concat(n.slice(-1)):"\\".concat(n),this.options.pedantic&&(n=r?n:"[*+-]");let l=this.rules.other.listItemRegex(n),i=!1;for(;e;){let n=!1,r="",a="";if(!(t=l.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=t,r="";for(let t of e)if(" "===t){let e=4-n%4;r+=" ".repeat(e),n+=e}else r+=t,n++;return r}(t[2].split("\n",1)[0],t[1].length),c=e.split("\n",1)[0],h=!o.trim(),p=0;if(this.options.pedantic?(p=2,a=o.trimStart()):h?p=t[1].length+1:(p=(p=o.search(this.rules.other.nonSpaceChar))>4?1:p,a=o.slice(p),p+=t[1].length),h&&this.rules.other.blankLine.test(c)&&(r+=c+"\n",e=e.substring(c.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(p),n=this.rules.other.hrRegex(p),s=this.rules.other.fencesBeginRegex(p),l=this.rules.other.headingBeginRegex(p),i=this.rules.other.htmlBeginRegex(p),u=this.rules.other.blockquoteBeginRegex(p);for(;e;){let d=e.split("\n",1)[0],g;if(c=d,g=this.options.pedantic?c=c.replace(this.rules.other.listReplaceNesting," "):c.replace(this.rules.other.tabCharGlobal," "),s.test(c)||l.test(c)||i.test(c)||u.test(c)||t.test(c)||n.test(c))break;if(g.search(this.rules.other.nonSpaceChar)>=p||!c.trim())a+="\n"+g.slice(p);else{if(h||o.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||s.test(o)||l.test(o)||n.test(o))break;a+="\n"+c}h=!c.trim(),r+=d+"\n",e=e.substring(d.length+1),o=g.slice(p)}}s.loose||(i?s.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(i=!0)),s.items.push({type:"list_item",raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(a),loose:!1,text:a,tokens:[]}),s.raw+=r}let a=s.items.at(-1);if(!a)return;for(let e of(a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd(),s.raw=s.raw.trimEnd(),s.items)){this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]);let t=e.tokens[0];if(e.task&&((null==t?void 0:t.type)==="text"||(null==t?void 0:t.type)==="paragraph")){e.text=e.text.replace(this.rules.other.listReplaceTask,""),t.raw=t.raw.replace(this.rules.other.listReplaceTask,""),t.text=t.text.replace(this.rules.other.listReplaceTask,"");for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,"");break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:"checkbox",raw:n[0]+" ",checked:"[ ]"!==n[0]};e.checked=t.checked,s.loose?e.tokens[0]&&["paragraph","text"].includes(e.tokens[0].type)&&"tokens"in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:"paragraph",raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&(e.task=!1);if(!s.loose){let t=e.tokens.filter(e=>"space"===e.type);s.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(s.loose)for(let e of s.items)for(let t of(e.loose=!0,e.tokens))"text"===t.type&&(t.type="paragraph");return s}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=ed(t[0]);return{type:"html",block:!0,raw:e,pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:eu(t[0],"\n"),href:n,title:r}}}table(e){var t;let n=this.rules.block.table.exec(e);if(!n||!this.rules.other.tableDelimiter.test(n[2]))return;let r=ep(n[1]),s=n[2].replace(this.rules.other.tableAlignChars,"").split("|"),l=(null==(t=n[3])?void 0:t.trim())?n[3].replace(this.rules.other.tableRowBlankLine,"").split("\n"):[],i={type:"table",raw:eu(n[0],"\n"),header:[],align:[],rows:[]};if(r.length===s.length){for(let e of s)this.rules.other.tableAlignRight.test(e)?i.align.push("right"):this.rules.other.tableAlignCenter.test(e)?i.align.push("center"):this.rules.other.tableAlignLeft.test(e)?i.align.push("left"):i.align.push(null);for(let e=0;e<r.length;e++)i.header.push({text:r[e],tokens:this.lexer.inline(r[e]),header:!0,align:i.align[e]});for(let e of l)i.rows.push(ep(e,i.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:i.align[t]})));return i}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:"heading",raw:eu(t[0],"\n"),depth:"="===t[2].charAt(0)?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=eu(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{let e=function(e,t){if(-1===e.indexOf(")"))return -1;let n=0;for(let r=0;r<e.length;r++)if("\\"===e[r])r++;else if("("===e[r])n++;else if(e[r]===t[1]&&--n<0)return r;return n>0?-2:-1}(t[2],"()");if(-2===e)return;if(e>-1){let n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),eg(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return eg(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,s,l,i=n,a=0,o="*"===r[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(o.lastIndex=0,t=t.slice(-1*e.length+n);null!==(r=o.exec(t));){if(!(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6]))continue;if(l=[...s].length,r[3]||r[4]){i+=l;continue}if((r[5]||r[6])&&n%3&&!((n+l)%3)){a+=l;continue}if((i-=l)>0)continue;l=Math.min(l,l+i+a);let t=[...r[0]][0].length,o=e.slice(0,n+r.index+t+l);if(Math.min(n,l)%2){let e=o.slice(1,-1);return{type:"em",raw:o,text:e,tokens:this.lexer.inlineTokens(e)}}let c=o.slice(2,-2);return{type:"strong",raw:o,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,s,l,i=n,a=this.rules.inline.delRDelim;for(a.lastIndex=0,t=t.slice(-1*e.length+n);null!==(r=a.exec(t));){if(!(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])||(l=[...s].length)!==n)continue;if(r[3]||r[4]){i+=l;continue}if((i-=l)>0)continue;l=Math.min(l,l+i);let t=[...r[0]][0].length,a=e.slice(0,n+r.index+t+l),o=a.slice(n,-n);return{type:"del",raw:a,text:o,tokens:this.lexer.inlineTokens(o)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return n="@"===t[2]?"mailto:"+(e=t[1]):e=t[1],{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,s;if("@"===t[2])s="mailto:"+(e=t[0]);else{var n,r;let l;do l=t[0],t[0]=null!=(r=null==(n=this.rules.inline._backpedal.exec(t[0]))?void 0:n[0])?r:"";while(l!==t[0])e=t[0],s="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:s,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:e}}}constructor(e){(0,n._)(this,"options",void 0),(0,n._)(this,"rules",void 0),(0,n._)(this,"lexer",void 0),this.options=e||s}},ex=class e{static get rules(){return{block:el,inline:ei}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(c.carriageReturn,"\n"),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(c.tabCharGlobal," ").replace(c.spaceLine,""));let r=1/0;for(;e;){var s,l,i;let a;if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}if(null==(l=this.options.extensions)||null==(s=l.block)?void 0:s.some(n=>!!(a=n.call({lexer:this},e,t))&&(e=e.substring(a.raw.length),t.push(a),!0)))continue;if(a=this.tokenizer.space(e)){e=e.substring(a.raw.length);let n=t.at(-1);1===a.raw.length&&void 0!==n?n.raw+="\n":t.push(a);continue}if(a=this.tokenizer.code(e)){e=e.substring(a.raw.length);let n=t.at(-1);(null==n?void 0:n.type)==="paragraph"||(null==n?void 0:n.type)==="text"?(n.raw+=(n.raw.endsWith("\n")?"":"\n")+a.raw,n.text+="\n"+a.text,this.inlineQueue.at(-1).src=n.text):t.push(a);continue}if((a=this.tokenizer.fences(e))||(a=this.tokenizer.heading(e))||(a=this.tokenizer.hr(e))||(a=this.tokenizer.blockquote(e))||(a=this.tokenizer.list(e))||(a=this.tokenizer.html(e))){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.def(e)){e=e.substring(a.raw.length);let n=t.at(-1);(null==n?void 0:n.type)==="paragraph"||(null==n?void 0:n.type)==="text"?(n.raw+=(n.raw.endsWith("\n")?"":"\n")+a.raw,n.text+="\n"+a.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title},t.push(a));continue}if((a=this.tokenizer.table(e))||(a=this.tokenizer.lheading(e))){e=e.substring(a.raw.length),t.push(a);continue}let o=e;if(null==(i=this.options.extensions)?void 0:i.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{"number"==typeof(r=e.call({lexer:this},n))&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(o=e.substring(0,t+1))}if(this.state.top&&(a=this.tokenizer.paragraph(o))){let r=t.at(-1);n&&(null==r?void 0:r.type)==="paragraph"?(r.raw+=(r.raw.endsWith("\n")?"":"\n")+a.raw,r.text+="\n"+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(a),n=o.length!==e.length,e=e.substring(a.raw.length);continue}if(a=this.tokenizer.text(e)){e=e.substring(a.raw.length);let n=t.at(-1);(null==n?void 0:n.type)==="text"?(n.raw+=(n.raw.endsWith("\n")?"":"\n")+a.raw,n.text+="\n"+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e){var t,n,r,s,l,i;let a,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.tokenizer.lexer=this;let c=e,h=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;null!==(h=this.tokenizer.rules.inline.reflinkSearch.exec(c));)e.includes(h[0].slice(h[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,h.index)+"["+"a".repeat(h[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!==(h=this.tokenizer.rules.inline.anyPunctuation.exec(c));)c=c.slice(0,h.index)+"++"+c.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!==(h=this.tokenizer.rules.inline.blockSkip.exec(c));)a=h[2]?h[2].length:0,c=c.slice(0,h.index+a)+"["+"a".repeat(h[0].length-a-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);c=null!=(r=null==(n=this.options.hooks)||null==(t=n.emStrongMask)?void 0:t.call({lexer:this},c))?r:c;let p=!1,u="",d=1/0;for(;e;){let t;if(e.length<d)d=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}if(p||(u=""),p=!1,null==(l=this.options.extensions)||null==(s=l.inline)?void 0:s.some(n=>!!(t=n.call({lexer:this},e,o))&&(e=e.substring(t.raw.length),o.push(t),!0)))continue;if((t=this.tokenizer.escape(e))||(t=this.tokenizer.tag(e))||(t=this.tokenizer.link(e))){e=e.substring(t.raw.length),o.push(t);continue}if(t=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(t.raw.length);let n=o.at(-1);"text"===t.type&&(null==n?void 0:n.type)==="text"?(n.raw+=t.raw,n.text+=t.text):o.push(t);continue}if((t=this.tokenizer.emStrong(e,c,u))||(t=this.tokenizer.codespan(e))||(t=this.tokenizer.br(e))||(t=this.tokenizer.del(e,c,u))||(t=this.tokenizer.autolink(e))||!this.state.inLink&&(t=this.tokenizer.url(e))){e=e.substring(t.raw.length),o.push(t);continue}let n=e;if(null==(i=this.options.extensions)?void 0:i.startInline){let t=1/0,r=e.slice(1),s;this.options.extensions.startInline.forEach(e=>{"number"==typeof(s=e.call({lexer:this},r))&&s>=0&&(t=Math.min(t,s))}),t<1/0&&t>=0&&(n=e.substring(0,t+1))}if(t=this.tokenizer.inlineText(n)){e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(u=t.raw.slice(-1)),p=!0;let n=o.at(-1);(null==n?void 0:n.type)==="text"?(n.raw+=t.raw,n.text+=t.text):o.push(t);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return o}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw Error(t)}constructor(e){(0,n._)(this,"tokens",void 0),(0,n._)(this,"options",void 0),(0,n._)(this,"state",void 0),(0,n._)(this,"inlineQueue",void 0),(0,n._)(this,"tokenizer",void 0),this.tokens=[],this.tokens.links=Object.create(null),this.options=e||s,this.options.tokenizer=this.options.tokenizer||new ef,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:c,block:el.normal,inline:ei.normal};this.options.pedantic?(t.block=el.pedantic,t.inline=ei.pedantic):this.options.gfm&&(t.block=el.gfm,this.options.breaks?t.inline=ei.breaks:t.inline=ei.gfm),this.tokenizer.rules=t}},ek=class{space(e){return""}code(e){var t;let{text:n,lang:r,escaped:s}=e,l=null==(t=(r||"").match(c.notSpaceStart))?void 0:t[0],i=n.replace(c.endingNewline,"")+"\n";return l?'<pre><code class="language-'+ec(l)+'">'+(s?i:ec(i,!0))+"</code></pre>\n":"<pre><code>"+(s?i:ec(i,!0))+"</code></pre>\n"}blockquote(e){let{tokens:t}=e;return"<blockquote>\n".concat(this.parser.parse(t),"</blockquote>\n")}html(e){let{text:t}=e;return t}def(e){return""}heading(e){let{tokens:t,depth:n}=e;return"<h".concat(n,">").concat(this.parser.parseInline(t),"</h").concat(n,">\n")}hr(e){return"<hr>\n"}list(e){let t=e.ordered,n=e.start,r="";for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+">\n"+r+"</"+s+">\n"}listitem(e){return"<li>".concat(this.parser.parse(e.tokens),"</li>\n")}checkbox(e){let{checked:t}=e;return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph(e){let{tokens:t}=e;return"<p>".concat(this.parser.parseInline(t),"</p>\n")}table(e){let t="",n="";for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r="";for(let t=0;t<e.rows.length;t++){let s=e.rows[t];n="";for(let e=0;e<s.length;e++)n+=this.tablecell(s[e]);r+=this.tablerow({text:n})}return r&&(r="<tbody>".concat(r,"</tbody>")),"<table>\n<thead>\n"+t+"</thead>\n"+r+"</table>\n"}tablerow(e){let{text:t}=e;return"<tr>\n".concat(t,"</tr>\n")}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?"<".concat(n,' align="').concat(e.align,'">'):"<".concat(n,">"))+t+"</".concat(n,">\n")}strong(e){let{tokens:t}=e;return"<strong>".concat(this.parser.parseInline(t),"</strong>")}em(e){let{tokens:t}=e;return"<em>".concat(this.parser.parseInline(t),"</em>")}codespan(e){let{text:t}=e;return"<code>".concat(ec(t,!0),"</code>")}br(e){return"<br>"}del(e){let{tokens:t}=e;return"<del>".concat(this.parser.parseInline(t),"</del>")}link(e){let{href:t,title:n,tokens:r}=e,s=this.parser.parseInline(r),l=eh(t);if(null===l)return s;let i='<a href="'+(t=l)+'"';return n&&(i+=' title="'+ec(n)+'"'),i+=">"+s+"</a>"}image(e){let{href:t,title:n,text:r,tokens:s}=e;s&&(r=this.parser.parseInline(s,this.parser.textRenderer));let l=eh(t);if(null===l)return ec(r);t=l;let i='<img src="'.concat(t,'" alt="').concat(ec(r),'"');return n&&(i+=' title="'.concat(ec(n),'"')),i+=">"}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:ec(e.text)}constructor(e){(0,n._)(this,"options",void 0),(0,n._)(this,"parser",void 0),this.options=e||s}},em=class{strong(e){let{text:t}=e;return t}em(e){let{text:t}=e;return t}codespan(e){let{text:t}=e;return t}del(e){let{text:t}=e;return t}html(e){let{text:t}=e;return t}text(e){let{text:t}=e;return t}link(e){let{text:t}=e;return""+t}image(e){let{text:t}=e;return""+t}br(){return""}checkbox(e){let{raw:t}=e;return t}},eb=class e{static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t="";for(let s=0;s<e.length;s++){var n,r;let l=e[s];if(null==(r=this.options.extensions)||null==(n=r.renderers)?void 0:n[l.type]){let e=this.options.extensions.renderers[l.type].call({parser:this},l);if(!1!==e||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(l.type)){t+=e||"";continue}}switch(l.type){case"space":t+=this.renderer.space(l);break;case"hr":t+=this.renderer.hr(l);break;case"heading":t+=this.renderer.heading(l);break;case"code":t+=this.renderer.code(l);break;case"table":t+=this.renderer.table(l);break;case"blockquote":t+=this.renderer.blockquote(l);break;case"list":t+=this.renderer.list(l);break;case"checkbox":t+=this.renderer.checkbox(l);break;case"html":t+=this.renderer.html(l);break;case"def":t+=this.renderer.def(l);break;case"paragraph":t+=this.renderer.paragraph(l);break;case"text":t+=this.renderer.text(l);break;default:{let e='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return t}parseInline(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.renderer;this.renderer.parser=this;let n="";for(let l=0;l<e.length;l++){var r,s;let i=e[l];if(null==(s=this.options.extensions)||null==(r=s.renderers)?void 0:r[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(!1!==e||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){n+=e||"";continue}}switch(i.type){case"escape":case"text":n+=t.text(i);break;case"html":n+=t.html(i);break;case"link":n+=t.link(i);break;case"image":n+=t.image(i);break;case"checkbox":n+=t.checkbox(i);break;case"strong":n+=t.strong(i);break;case"em":n+=t.em(i);break;case"codespan":n+=t.codespan(i);break;case"br":n+=t.br(i);break;case"del":n+=t.del(i);break;default:{let e='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return n}constructor(e){(0,n._)(this,"options",void 0),(0,n._)(this,"renderer",void 0),(0,n._)(this,"textRenderer",void 0),this.options=e||s,this.options.renderer=this.options.renderer||new ek,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new em}},ew=(t=class{preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.block;return e?ex.lex:ex.lexInline}provideParser(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.block;return e?eb.parse:eb.parseInline}constructor(e){(0,n._)(this,"options",void 0),(0,n._)(this,"block",void 0),this.options=e||s}},(0,n._)(t,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),(0,n._)(t,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),t),ey=new class{walkTokens(e,t){let n=[];for(let l of e)switch(n=n.concat(t.call(this,l)),l.type){case"table":for(let e of l.header)n=n.concat(this.walkTokens(e.tokens,t));for(let e of l.rows)for(let r of e)n=n.concat(this.walkTokens(r.tokens,t));break;case"list":n=n.concat(this.walkTokens(l.items,t));break;default:{var r,s;let e=l;(null==(s=this.defaults.extensions)||null==(r=s.childTokens)?void 0:r[e.type])?this.defaults.extensions.childTokens[e.type].forEach(r=>{let s=e[r].flat(1/0);n=n.concat(this.walkTokens(s,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];let r=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(e=>{let t={...e};if(t.async=this.defaults.async||t.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error("extension name required");if("renderer"in e){let t=r.renderers[e.name];t?r.renderers[e.name]=function(){for(var n=arguments.length,r=Array(n),s=0;s<n;s++)r[s]=arguments[s];let l=e.renderer.apply(this,r);return!1===l&&(l=t.apply(this,r)),l}:r.renderers[e.name]=e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw Error("extension level must be 'block' or 'inline'");let t=r[e.level];t?t.unshift(e.tokenizer):r[e.level]=[e.tokenizer],e.start&&("block"===e.level?r.startBlock?r.startBlock.push(e.start):r.startBlock=[e.start]:"inline"===e.level&&(r.startInline?r.startInline.push(e.start):r.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(r.childTokens[e.name]=e.childTokens)}),t.extensions=r),e.renderer){let n=this.defaults.renderer||new ek(this.defaults);for(let t in e.renderer){if(!(t in n))throw Error("renderer '".concat(t,"' does not exist"));if(["options","parser"].includes(t))continue;let r=e.renderer[t],s=n[t];n[t]=function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let i=r.apply(n,t);return!1===i&&(i=s.apply(n,t)),i||""}}t.renderer=n}if(e.tokenizer){let n=this.defaults.tokenizer||new ef(this.defaults);for(let t in e.tokenizer){if(!(t in n))throw Error("tokenizer '".concat(t,"' does not exist"));if(["options","rules","lexer"].includes(t))continue;let r=e.tokenizer[t],s=n[t];n[t]=function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let i=r.apply(n,t);return!1===i&&(i=s.apply(n,t)),i}}t.tokenizer=n}if(e.hooks){let r=this.defaults.hooks||new ew;for(let t in e.hooks){var n=this;if(!(t in r))throw Error("hook '".concat(t,"' does not exist"));if(["options","block"].includes(t))continue;let s=e.hooks[t],l=r[t];ew.passThroughHooks.has(t)?r[t]=e=>{if(this.defaults.async&&ew.passThroughHooksRespectAsync.has(t))return(async()=>{let t=await s.call(r,e);return l.call(r,t)})();let n=s.call(r,e);return l.call(r,n)}:r[t]=function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(n.defaults.async)return(async()=>{let e=await s.apply(r,t);return!1===e&&(e=await l.apply(r,t)),e})();let a=s.apply(r,t);return!1===a&&(a=l.apply(r,t)),a}}t.hooks=r}if(e.walkTokens){let n=this.defaults.walkTokens,r=e.walkTokens;t.walkTokens=function(e){let t=[];return t.push(r.call(this,e)),n&&(t=t.concat(n.call(this,e))),t}}this.defaults={...this.defaults,...t}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return ex.lex(e,null!=t?t:this.defaults)}parser(e,t){return eb.parse(e,null!=t?t:this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},s={...this.defaults,...r},l=this.onError(!!s.silent,!!s.async);if(!0===this.defaults.async&&!1===r.async)return l(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||null===t)return l(Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return l(Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=e),s.async)return(async()=>{let n=s.hooks?await s.hooks.preprocess(t):t,r=await (s.hooks?await s.hooks.provideLexer(e):e?ex.lex:ex.lexInline)(n,s),l=s.hooks?await s.hooks.processAllTokens(r):r;s.walkTokens&&await Promise.all(this.walkTokens(l,s.walkTokens));let i=await (s.hooks?await s.hooks.provideParser(e):e?eb.parse:eb.parseInline)(l,s);return s.hooks?await s.hooks.postprocess(i):i})().catch(l);try{s.hooks&&(t=s.hooks.preprocess(t));let n=(s.hooks?s.hooks.provideLexer(e):e?ex.lex:ex.lexInline)(t,s);s.hooks&&(n=s.hooks.processAllTokens(n)),s.walkTokens&&this.walkTokens(n,s.walkTokens);let r=(s.hooks?s.hooks.provideParser(e):e?eb.parse:eb.parseInline)(n,s);return s.hooks&&(r=s.hooks.postprocess(r)),r}catch(e){return l(e)}}}onError(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){let e="<p>An error occurred:</p><pre>"+ec(n.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}constructor(...e){(0,n._)(this,"defaults",r()),(0,n._)(this,"options",this.setOptions),(0,n._)(this,"parse",this.parseMarkdown(!0)),(0,n._)(this,"parseInline",this.parseMarkdown(!1)),(0,n._)(this,"Parser",eb),(0,n._)(this,"Renderer",ek),(0,n._)(this,"TextRenderer",em),(0,n._)(this,"Lexer",ex),(0,n._)(this,"Tokenizer",ef),(0,n._)(this,"Hooks",ew),this.use(...e)}};function ev(e,t){return ey.parse(e,t)}ev.options=ev.setOptions=function(e){return ey.setOptions(e),ev.defaults=ey.defaults,s=ev.defaults,ev},ev.getDefaults=r,ev.defaults=s,ev.use=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return ey.use(...t),ev.defaults=ey.defaults,s=ev.defaults,ev},ev.walkTokens=function(e,t){return ey.walkTokens(e,t)},ev.parseInline=ey.parseInline,ev.Parser=eb,ev.parser=eb.parse,ev.Renderer=ek,ev.TextRenderer=em,ev.Lexer=ex,ev.lexer=ex.lex,ev.Tokenizer=ef,ev.Hooks=ew,ev.parse=ev,ev.options,ev.setOptions,ev.use,ev.walkTokens,ev.parseInline,eb.parse,ex.lex;var eS=e.i(92413);function eR(e){if(!e||"object"!=typeof e)return"";let t=e.type;if("user"===t||"assistant"===t){let t=e.message;if(t&&void 0!==t.content)return function(e){if(null==e)return"";if("string"==typeof e)return e;if(!Array.isArray(e))try{return JSON.stringify(e,null,2)}catch(t){return String(e)}let t=[];for(let n of e)if(n&&"object"==typeof n){if("text"===n.type&&"string"==typeof n.text)t.push(n.text);else if("tool_use"===n.type){let e=n.name||"tool",r="";try{r=JSON.stringify(n.input,null,2)}catch(e){r=String(n.input)}t.push("\n\n**`".concat(e,"`**\n\n```json\n").concat(r.slice(0,12e3),"\n```\n"))}else if("tool_result"===n.type){let e=n.content;if("string"!=typeof e)try{e=JSON.stringify(e,null,2)}catch(t){e=String(e)}t.push("\n\n```\n".concat(String(e).slice(0,8e3),"\n```\n"))}}return t.join("")}(t.content)}return"system"===t&&"string"==typeof e.content?e.content:""}function ej(e){if(!e)return"";try{return ev.parse(e,{async:!1})}catch(e){return"<pre>".concat((0,eS.escapeHtml)(String(e)),"</pre>")}}ev.setOptions({breaks:!0,gfm:!0}),e.s(["deleteRepoFile",()=>e_,"fetchRepoEntries",()=>eA,"fetchRepoFilePreview",()=>eC,"uploadWorkspaceFile",()=>e$],50052);var eT=e.i(29250),ez=e.i(36845);async function eA(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=await (0,eT.get)((0,ez.buildRepoEntriesUrl)(e,t,n,r));if(!s.entries)throw Error(s.message||"获取目录条目失败");return s.entries}async function eC(e,t,n,r){return(await (0,eT.bridgeFetch)((0,ez.buildRepoFileUrl)(e,t,n,r,!0),{method:"GET",raw:!0})).text()}async function e_(e,t,n,r){await (0,eT.del)((0,ez.buildRepoFileUrl)(e,t,n,r))}async function e$(e,t,n,r){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",l=new FormData;l.append("file",r),l.append("path",s);let i=await (0,eT.post)((0,ez.buildRepoUploadUrl)(e,t,n),l,{type:"file"}),a="string"==typeof i.path?i.path.trim():"";if(!a)throw Error(i.message||i.error||"上传失败:未返回文件路径");return{path:a}}},89197,e=>{"use strict";e.s(["LibraryView",()=>C],89197);var t=e.i(18050),n=e.i(71645),r=e.i(65934),s=e.i(13354),l=e.i(68499),i=e.i(56708),a=e.i(85413),o=e.i(94197),c=e.i(2839),h=e.i(72064),p=e.i(19455),u=e.i(93479),d=e.i(36845),g=e.i(75157);function f(e){let t=e.toLowerCase().split(".");return t.length>1?t[t.length-1]:""}function x(e){var t;if("dir"===e.type)return"文件夹";let n=f(e.name);return n?null!=(t=({doc:"Word",docx:"Word",xls:"Excel",xlsx:"Excel",ppt:"PPT",pptx:"PPT",pdf:"PDF",log:"Log",html:"HTML",htm:"HTML",md:"Markdown",markdown:"Markdown",json:"JSON",zip:"压缩包"})[n])?t:n.toUpperCase():"文件"}function k(e){let{currentPath:r,entriesLoading:s,currentEntries:l,fileSearchQuery:i,onFileSearchQueryChange:k,wsUrl:m,apiBase:b,agentId:w,deleting:y,onSelectDir:v,onSelectFile:S,onDeleteEntry:R}=e,j=(0,n.useMemo)(()=>{if(!l)return null;let e=i.trim().toLowerCase();return e?l.filter(t=>{let n=x(t).toLowerCase();return t.name.toLowerCase().includes(e)||t.path.toLowerCase().includes(e)||n.includes(e)}):l},[l,i]);return(0,t.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,t.jsx)("div",{className:"flex shrink-0 items-start justify-between gap-4 border-b px-5 py-4",children:(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h2",{className:"truncate text-lg font-semibold text-foreground",children:"文件列表"}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-1 border-b py-3 text-sm text-muted-foreground",children:[(0,t.jsx)("span",{children:"当前位置:"}),(0,t.jsx)(p.Button,{type:"button",variant:"plain",size:"sm",className:"h-auto border-0 bg-transparent px-1 py-0 text-sm font-medium text-foreground shadow-none hover:bg-transparent hover:text-[var(--ds-accent)]",onClick:()=>v(""),children:"workspace"}),r.split("/").filter(Boolean).map((e,n,r)=>{let s=r.slice(0,n+1).join("/");return(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{children:"/"}),(0,t.jsx)(p.Button,{type:"button",variant:"plain",size:"sm",className:"h-auto border-0 bg-transparent px-1 py-0 text-sm font-medium text-foreground shadow-none hover:bg-transparent hover:text-[var(--ds-accent)]",onClick:()=>v(s),children:e})]},s)})]})]})}),(0,t.jsx)("div",{className:"shrink-0 border-b px-5 py-3",children:(0,t.jsxs)("div",{className:"relative max-w-[260px]",children:[(0,t.jsx)(h.default,{name:"Search",size:14,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(u.Input,{size:"sm",value:i,onChange:e=>k(e.target.value),placeholder:"搜索文件名 / 类型",className:"bg-background/70 h-10 rounded-xl pl-9"})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:s?(0,t.jsx)(c.Loading,{text:"加载中…"}):null===l?(0,t.jsx)(a.Empty,{text:"暂无数据"}):(null==j?void 0:j.length)===0?(0,t.jsx)(a.Empty,{text:i.trim()?"未找到匹配文件":"当前目录为空"}):(0,t.jsxs)("table",{className:"w-full text-sm",children:[(0,t.jsx)("thead",{className:"bg-muted/30 border-b",children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{className:"px-5 py-3 text-left font-medium text-muted-foreground",children:"文件名称"}),(0,t.jsx)("th",{className:"w-28 px-3 py-3 text-left font-medium text-muted-foreground",children:"类型"}),(0,t.jsx)("th",{className:"w-24 shrink-0 px-3 py-3 text-right font-medium text-muted-foreground",children:"操作"})]})}),(0,t.jsx)("tbody",{children:null==j?void 0:j.map(e=>{var n;return(0,t.jsxs)("tr",{className:"hover:bg-accent/35 group cursor-pointer border-b transition-colors last:border-0",onClick:()=>{"dir"===e.type?v(e.path):S(e)},children:[(0,t.jsx)("td",{className:"px-5 py-3",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-xl bg-[var(--ds-item-bg-hover)] text-xs font-semibold text-[var(--ds-accent)]",children:(0,t.jsx)(h.default,{name:"dir"===e.type?"Folder":null!=(n=({xml:"Xml",gif:"Gif",html:"Html",htm:"Html",java:"Java",jpg:"Jpg",jpeg:"Jpg",js:"Js",json:"Json",pdf:"Pdf",svg:"Svg"})[f(e.name)])?n:"File",size:15,className:"dir"===e.type?"text-amber-700":"text-muted-foreground"})}),(0,t.jsx)("span",{className:(0,g.cn)("truncate font-medium","dir"===e.type?"font-medium text-[var(--ds-accent,hsl(var(--primary)))]":"text-foreground"),children:e.name})]})}),(0,t.jsx)("td",{className:"px-3 py-3 text-muted-foreground",children:x(e)}),(0,t.jsx)("td",{className:"w-24 shrink-0 px-3 py-2 text-right",onClick:e=>e.stopPropagation(),children:"file"===e.type&&(0,t.jsxs)("div",{className:"flex items-center justify-end gap-1 opacity-80 transition-opacity group-hover:opacity-100",children:[(0,t.jsx)("a",{href:(0,d.buildRepoFileUrl)(m,b,w,e.path),download:e.name,"aria-label":"下载 ".concat(e.name),className:"inline-flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:(0,t.jsx)(h.default,{name:"Download",size:14})}),(0,t.jsx)(o.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",disabled:y,onClick:()=>R(e)})]})})]},e.path)})})]})})]})}var m=e.i(12732);function b(e){let{entry:n,content:r,loading:s,downloadUrl:l,deleting:i,isMarkdownFile:a,onClose:u,onDelete:d}=e;return(0,t.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-2 border-b px-5 py-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)(p.Button,{type:"button",variant:"ghost",size:"icon",className:"h-auto border-0 bg-transparent px-1 py-0 text-sm font-medium text-foreground shadow-none hover:bg-transparent hover:text-[var(--ds-accent)]","aria-label":"返回列表",onClick:u,children:(0,t.jsx)(h.default,{name:"ChevronLeft",size:16})}),(0,t.jsx)("span",{className:"truncate text-base font-medium",children:n.name})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,t.jsx)(o.IconTooltipButton,{icon:"Download",label:"下载",onClick:()=>{let e=document.createElement("a");e.href=l,e.download=n.name,document.body.appendChild(e),e.click(),e.remove()}}),(0,t.jsx)(o.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",disabled:i,onClick:d})]})]}),(0,t.jsx)("div",{className:"relative flex-1 overflow-auto",children:s?(0,t.jsx)(c.Loading,{text:"加载中…"}):null===r?(0,t.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(h.default,{name:"File",size:32,className:"opacity-40"}),(0,t.jsx)("p",{children:"不支持页面内预览,请下载后查看。"})]}):a(n.name)?(0,t.jsx)("div",{className:"chat-md prose prose-sm dark:prose-invert max-w-none p-4",dangerouslySetInnerHTML:{__html:(0,m.renderMd)(r)}}):(0,t.jsx)("pre",{className:"min-h-full whitespace-pre-wrap break-all p-4 font-mono text-xs leading-relaxed",children:r})})]})}function w(e,t){var n;return(null!=(n=e.get(t))?n:[]).filter(e=>e.name&&("dir"===e.type||"file"===e.type)).slice().sort((e,t)=>e.type!==t.type?"dir"===e.type?-1:1:e.name.localeCompare(t.name))}function y(e){let{entry:n,depth:r,treeCache:s,currentPath:l,expandedPaths:i,loadingPaths:a,selectedFilePath:o,searchQuery:c,onSelectDir:u,onSelectFile:d,onToggleExpand:f}=e,x="file"===n.type,k=!x&&""===n.path,m=i.has(n.path),b=a.has(n.path),v=c.trim().toLowerCase(),S=x?[]:w(s,n.path).filter(e=>(function e(t,n,r){if(!r||""===n.path)return!0;let s=r.toLowerCase();return!!(n.name.toLowerCase().includes(s)||n.path.toLowerCase().includes(s))||"dir"===n.type&&w(t,n.path).some(n=>e(t,n,s))})(s,e,v)),R=!!x||s.has(n.path),j=!x&&(!R||S.length>0),T=!x&&l===n.path,z=x&&o===n.path;return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:(0,g.cn)("flex h-7 w-full cursor-pointer items-center gap-1 rounded px-1 text-base leading-none","hover:bg-accent/50",x&&"is-file",(T||z)&&"is-selected bg-[var(--surface-2)] text-accent-foreground"),style:{paddingLeft:"".concat(8+14*r,"px")},onClick:()=>{x?d(n):u(n.path)},children:[!x&&j?(0,t.jsx)(p.Button,{type:"button",variant:"plain",size:"icon",className:"flex h-[18px] w-[18px] shrink-0 items-center justify-center p-0 text-muted-foreground","aria-label":"展开/折叠",onClick:e=>{e.stopPropagation(),f(n.path)},children:b?(0,t.jsx)(h.default,{name:"Loader2",size:14,className:"animate-spin"}):(0,t.jsx)(h.default,{name:m?"ChevronDown":"ChevronRight",size:14})}):(0,t.jsx)("span",{className:"h-[18px] w-[18px] shrink-0"}),(0,t.jsx)("span",{className:"flex h-[18px] w-[18px] shrink-0 items-center justify-center",children:x?(0,t.jsx)(h.default,{name:"File",size:14,className:"text-muted-foreground"}):(0,t.jsx)(h.default,{name:m?"FolderOpen":"Folder",size:14,className:"text-amber-500"})}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate leading-7",children:k?"workspace":n.name}),!x&&R&&(0,t.jsx)("span",{className:"ml-2 shrink-0 text-xs font-medium text-muted-foreground",children:S.length})]}),!x&&j&&(m||!!v)&&S.map(e=>(0,t.jsx)(y,{entry:e,depth:r+1,treeCache:s,currentPath:l,expandedPaths:i,loadingPaths:a,selectedFilePath:o,searchQuery:c,onSelectDir:u,onSelectFile:d,onToggleExpand:f},e.path))]})}let v={name:"",path:"",type:"dir"};function S(e){let{treeCache:n,currentPath:r,expandedPaths:s,loadingPaths:l,selectedFilePath:i,searchQuery:a,onSearchQueryChange:o,onSelectDir:c,onSelectFile:p,onToggleExpand:d}=e;return(0,t.jsxs)("aside",{className:"flex h-full w-[300px] shrink-0 flex-col rounded-2xl shadow-sm",style:{border:"1px solid #e4e4e7",backgroundColor:"#fff"},"aria-label":"目录树",children:[(0,t.jsx)("div",{className:"flex shrink-0 items-start justify-between gap-3 px-4 pb-3 pt-4",children:(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h2",{className:"truncate text-base font-semibold text-foreground",children:"目录管理"}),(0,t.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:"按业务域组织资料"})]})}),(0,t.jsx)("div",{className:"px-4 pb-3",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(h.default,{name:"Search",size:14,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(u.Input,{size:"sm",value:a,onChange:e=>o(e.target.value),placeholder:"搜索目录",className:"bg-background/70 h-9 rounded-xl pl-9"})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-3 pb-3",children:(0,t.jsx)(y,{entry:v,depth:0,treeCache:n,currentPath:r,expandedPaths:s,loadingPaths:l,selectedFilePath:i,searchQuery:a,onSelectDir:c,onSelectFile:p,onToggleExpand:d})})]})}var R=e.i(50052);let j=new Set(["txt","md","markdown","json","yaml","yml","toml","ini","cfg","conf","xml","html","htm","css","js","ts","jsx","tsx","py","sh","bash","zsh","fish","rs","go","java","c","cpp","h","hpp","cs","rb","php","swift","kt","sql","graphql","dockerfile","env"]),T=new Set(["md","markdown"]);function z(e){let t=e.toLowerCase().split(".");return t.length>1?t[t.length-1]:""}function A(e){return T.has(z(e))}function C(){var e,a;let o=(0,r.useAppStore)(e=>e.wsUrl),c=(0,r.useAppStore)(e=>e.apiBase),h=(0,r.useAppStore)(e=>e.agentId),p=(0,r.useAppStore)(e=>e.agentSelectionResolved),[u,g]=(0,n.useState)(""),[f,x]=(0,n.useState)(()=>new Map),[m,w]=(0,n.useState)(()=>new Set([""])),[y,v]=(0,n.useState)(()=>new Set),[T,C]=(0,n.useState)(!1),[_,$]=(0,n.useState)(null),[N,P]=(0,n.useState)(!1),[E,L]=(0,n.useState)(""),[I,B]=(0,n.useState)(""),q=(0,n.useRef)(!1),D=(0,n.useRef)(""),F=(0,n.useCallback)(async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(h){t||C(!0);try{let t=await (0,R.fetchRepoEntries)(o,c,h,e);x(n=>{let r=new Map(n);return r.set(e,t),r})}catch(e){s.appToast.error("加载目录失败:".concat(e instanceof Error?e.message:String(e)))}finally{t||C(!1)}}},[o,c,h]),M=(0,n.useCallback)(async e=>{if(!(!h||f.has(e))){v(t=>new Set([...t,e]));try{let t=await (0,R.fetchRepoEntries)(o,c,h,e);x(n=>{let r=new Map(n);return r.set(e,t),r})}catch(e){s.appToast.error("加载目录失败:".concat(e instanceof Error?e.message:String(e)))}finally{v(t=>{let n=new Set(t);return n.delete(e),n})}}},[o,c,h,f]);(0,n.useEffect)(()=>{h&&h!==D.current&&(D.current=h,q.current=!1,x(new Map),g(""),w(new Set([""])),$(null))},[h]),(0,n.useEffect)(()=>{!q.current&&h&&p&&(q.current=!0,F(""))},[h,p,F]);let Z=(0,n.useCallback)(e=>{g(e),$(null),w(t=>{let n=new Set(t);for(let t of function(e){let t=[""],n=e.split("/").filter(Boolean),r="";for(let e of n)r=r?"".concat(r,"/").concat(e):e,t.push(r);return t}(e))n.add(t);return n}),F(e)},[F]),Q=(0,n.useCallback)(e=>{w(t=>{let n=new Set(t);return n.has(e)?n.delete(e):(n.add(e),M(e)),n})},[M]),O=(0,n.useCallback)(async e=>{if($({entry:e,content:null,loading:!0}),!function(e){let t=z(e);return j.has(t)||"dockerfile"===e.toLowerCase()}(e.name))return void $({entry:e,content:null,loading:!1});try{let t=await (0,R.fetchRepoFilePreview)(o,c,h,e.path);$({entry:e,content:t,loading:!1})}catch(t){s.appToast.error("预览失败:".concat(t instanceof Error?t.message:String(t))),$({entry:e,content:null,loading:!1})}},[o,c,h]),H=(0,n.useCallback)(()=>{$(null)},[]),U=(0,n.useCallback)(async e=>{if(await (0,l.confirmAlertDialog)({title:"删除文件",description:"确认删除「".concat(e.name,"」?此操作不可撤销。"),confirmText:"删除",cancelText:"取消"})){P(!0);try{await (0,R.deleteRepoFile)(o,c,h,e.path),s.appToast.success("已删除:".concat(e.name)),$(t=>(null==t?void 0:t.entry.path)===e.path?null:t);let t=e.path.includes("/")?e.path.substring(0,e.path.lastIndexOf("/")):"";x(e=>{let n=new Map(e);return n.delete(t),n}),await F(t)}catch(e){s.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}finally{P(!1)}}},[o,c,h,F]),G=(0,n.useCallback)(async()=>{_&&await U(_.entry)},[_,U]),J=null!=(e=f.get(u))?e:null,W=_?(0,d.buildRepoFileUrl)(o,c,h,_.entry.path):"";return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.ManageChromeHeaderActions,{}),(0,t.jsxs)("div",{className:"flex h-full gap-5 overflow-hidden",children:[(0,t.jsx)(S,{treeCache:f,currentPath:u,expandedPaths:m,loadingPaths:y,selectedFilePath:null!=(a=null==_?void 0:_.entry.path)?a:"",searchQuery:E,onSearchQueryChange:L,onSelectDir:Z,onSelectFile:O,onToggleExpand:Q}),(0,t.jsx)("section",{className:"flex min-w-0 flex-1 flex-col overflow-hidden rounded-2xl shadow-sm",style:{border:"1px solid #e4e4e7",backgroundColor:"#fff"},children:_?(0,t.jsx)(b,{entry:_.entry,content:_.content,loading:_.loading,downloadUrl:W,deleting:N,isMarkdownFile:A,onClose:H,onDelete:G}):(0,t.jsx)(k,{currentPath:u,entriesLoading:T,currentEntries:J,fileSearchQuery:I,onFileSearchQueryChange:B,wsUrl:o,apiBase:c,agentId:h,deleting:N,onSelectDir:Z,onSelectFile:O,onDeleteEntry:e=>void U(e)})})]})]})}}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,12732,50052,e=>{"use strict";e.s(["extractMessageBody",()=>eR,"renderMd",()=>ej],12732);var t,n=e.i(99749);function r(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var s=r(),l={exec:()=>null};function i(e){let t=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),s=t[r];return s||(s=e(r),t[r]=s),s}}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n="string"==typeof e?e:e.source,r={replace:(e,t)=>{let s="string"==typeof t?t:t.source;return s=s.replace(c.caret,"$1"),n=n.replace(e,s),r},getRegex:()=>new RegExp(n,t)};return r}var o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{return!!RegExp("(?<=1)(?<!1)"+e)}catch(e){return!1}}(),c={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:RegExp("[\\p{L}\\p{N}]","u"),escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp("^( {0,3}".concat(e,")((?:[ ][^\\n]*)?(?:\\n|$))")),nextBulletRegex:i(e=>new RegExp("^ {0,".concat(e,"}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))"))),hrRegex:i(e=>new RegExp("^ {0,".concat(e,"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"))),fencesBeginRegex:i(e=>new RegExp("^ {0,".concat(e,"}(?:```|~~~)"))),headingBeginRegex:i(e=>new RegExp("^ {0,".concat(e,"}#"))),htmlBeginRegex:i(e=>RegExp("^ {0,".concat(e,"}<(?:[a-z].*>|!--)"),"i")),blockquoteBeginRegex:i(e=>new RegExp("^ {0,".concat(e,"}>")))},h=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,p=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,u=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,d=a(u).replace(/bull/g,p).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),g=a(u).replace(/bull/g,p).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),f=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,x=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,k=a(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",x).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),m=a(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,p).getRegex(),b="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",w=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,y=a("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",w).replace("tag",b).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),v=a(f).replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",b).getRegex(),S={blockquote:a(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",v).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:k,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:h,html:y,lheading:d,list:m,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:v,table:l,text:/^[^\n]+/},R=a("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",b).getRegex(),j={...S,lheading:g,table:R,paragraph:a(f).replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",R).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",b).getRegex()},T={...S,html:a("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",w).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:l,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:a(f).replace("hr",h).replace("heading"," *#{1,6} *[^\n]").replace("lheading",d).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},z=/^( {2,}|\\)\n(?!\s*$)/,A=RegExp("[\\p{P}\\p{S}]","u"),C=RegExp("[\\s\\p{P}\\p{S}]","u"),_=RegExp("[^\\s\\p{P}\\p{S}]","u"),$=a(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,C).getRegex(),N=RegExp("(?!~)[\\p{P}\\p{S}]","u"),P=RegExp("(?!~)[\\s\\p{P}\\p{S}]","u"),E=RegExp("(?:[^\\s\\p{P}\\p{S}]|~)","u"),L=a(/link|precode-code|html/,"g").replace("link",RegExp("\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)")).replace("precode-",o?"(?<!`)()":"(^^|[^`])").replace("code",RegExp("(?<b>`+)[^`]+\\k<b>(?!`)")).replace("html",/<(?! )[^<>]*?>/).getRegex(),I=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,B=a(I,"u").replace(/punct/g,A).getRegex(),q=a(I,"u").replace(/punct/g,N).getRegex(),D="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",F=a(D,"gu").replace(/notPunctSpace/g,_).replace(/punctSpace/g,C).replace(/punct/g,A).getRegex(),M=a(D,"gu").replace(/notPunctSpace/g,E).replace(/punctSpace/g,P).replace(/punct/g,N).getRegex(),Z=a("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,_).replace(/punctSpace/g,C).replace(/punct/g,A).getRegex(),Q=a(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,A).getRegex(),O=a("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,_).replace(/punctSpace/g,C).replace(/punct/g,A).getRegex(),H=a(/\\(punct)/,"gu").replace(/punct/g,A).getRegex(),U=a(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),G=a(w).replace("(?:-->|$)","-->").getRegex(),J=a("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",G).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),W=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,X=a(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",W).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),K=a(/^!?\[(label)\]\[(ref)\]/).replace("label",W).replace("ref",x).getRegex(),V=a(/^!?\[(ref)\](?:\[\])?/).replace("ref",x).getRegex(),Y=a("reflink|nolink(?!\\()","g").replace("reflink",K).replace("nolink",V).getRegex(),ee=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,et={_backpedal:l,anyPunctuation:H,autolink:U,blockSkip:L,br:z,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:l,delLDelim:l,delRDelim:l,emStrongLDelim:B,emStrongRDelimAst:F,emStrongRDelimUnd:Z,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:X,nolink:V,punctuation:$,reflink:K,reflinkSearch:Y,tag:J,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:l},en={...et,link:a(/^!?\[(label)\]\((.*?)\)/).replace("label",W).getRegex(),reflink:a(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W).getRegex()},er={...et,emStrongRDelimAst:M,emStrongLDelim:q,delLDelim:Q,delRDelim:O,url:a(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",ee).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:a(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",ee).getRegex()},es={...er,br:a(z).replace("{2,}","*").getRegex(),text:a(er.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},el={normal:S,gfm:j,pedantic:T},ei={normal:et,gfm:er,breaks:es,pedantic:en},ea={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},eo=e=>ea[e];function ec(e,t){if(t){if(c.escapeTest.test(e))return e.replace(c.escapeReplace,eo)}else if(c.escapeTestNoEncode.test(e))return e.replace(c.escapeReplaceNoEncode,eo);return e}function eh(e){try{e=encodeURI(e).replace(c.percentDecode,"%")}catch(e){return null}return e}function ep(e,t){var n;let r=e.replace(c.findPipe,(e,t,n)=>{let r=!1,s=t;for(;--s>=0&&"\\"===n[s];)r=!r;return r?"|":" |"}).split(c.splitPipe),s=0;if(r[0].trim()||r.shift(),!(r.length>0)||(null==(n=r.at(-1))?void 0:n.trim())||r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;s<r.length;s++)r[s]=r[s].trim().replace(c.slashPipe,"|");return r}function eu(e,t,n){let r=e.length;if(0===r)return"";let s=0;for(;s<r;){let l=e.charAt(r-s-1);if(l!==t||n)if(l!==t&&n)s++;else break;else s++}return e.slice(0,r-s)}function ed(e){let t=e.split("\n"),n=t.length-1;for(;n>=0&&c.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join("\n")}function eg(e,t,n,r,s){let l=t.href,i=t.title||null,a=e[1].replace(s.other.outputLinkReplace,"$1");r.state.inLink=!0;let o={type:"!"===e[0].charAt(0)?"image":"link",raw:n,href:l,title:i,text:a,tokens:r.inlineTokens(a)};return r.state.inLink=!1,o}var ef=class{space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:ed(t[0]),n=e.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e,codeBlockStyle:"indented",text:n}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=function(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(null===r)return t;let s=r[1];return t.split("\n").map(e=>{let t=e.match(n.other.beginningSpace);if(null===t)return e;let[r]=t;return r.length>=s.length?e.slice(s.length):e}).join("\n")}(e,t[3]||"",this.rules);return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=eu(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:"heading",raw:eu(t[0],"\n"),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:eu(t[0],"\n")}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=eu(t[0],"\n").split("\n"),n="",r="",s=[];for(;e.length>0;){let t=!1,l=[],i;for(i=0;i<e.length;i++)if(this.rules.other.blockquoteStart.test(e[i]))l.push(e[i]),t=!0;else if(t)break;else l.push(e[i]);e=e.slice(i);let a=l.join("\n"),o=a.replace(this.rules.other.blockquoteSetextReplace,"\n $1").replace(this.rules.other.blockquoteSetextReplace2,"");n=n?"".concat(n,"\n").concat(a):a,r=r?"".concat(r,"\n").concat(o):o;let c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(o,s,!0),this.lexer.state.top=c,0===e.length)break;let h=s.at(-1);if((null==h?void 0:h.type)==="code")break;if((null==h?void 0:h.type)==="blockquote"){let t=h.raw+"\n"+e.join("\n"),l=this.blockquote(t);s[s.length-1]=l,n=n.substring(0,n.length-h.raw.length)+l.raw,r=r.substring(0,r.length-h.text.length)+l.text;break}if((null==h?void 0:h.type)==="list"){let t=h.raw+"\n"+e.join("\n"),l=this.list(t);s[s.length-1]=l,n=n.substring(0,n.length-h.raw.length)+l.raw,r=r.substring(0,r.length-h.raw.length)+l.raw,e=t.substring(s.at(-1).raw.length).split("\n");continue}}return{type:"blockquote",raw:n,tokens:s,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,s={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?"\\d{1,9}\\".concat(n.slice(-1)):"\\".concat(n),this.options.pedantic&&(n=r?n:"[*+-]");let l=this.rules.other.listItemRegex(n),i=!1;for(;e;){let n=!1,r="",a="";if(!(t=l.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=t,r="";for(let t of e)if(" "===t){let e=4-n%4;r+=" ".repeat(e),n+=e}else r+=t,n++;return r}(t[2].split("\n",1)[0],t[1].length),c=e.split("\n",1)[0],h=!o.trim(),p=0;if(this.options.pedantic?(p=2,a=o.trimStart()):h?p=t[1].length+1:(p=(p=o.search(this.rules.other.nonSpaceChar))>4?1:p,a=o.slice(p),p+=t[1].length),h&&this.rules.other.blankLine.test(c)&&(r+=c+"\n",e=e.substring(c.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(p),n=this.rules.other.hrRegex(p),s=this.rules.other.fencesBeginRegex(p),l=this.rules.other.headingBeginRegex(p),i=this.rules.other.htmlBeginRegex(p),u=this.rules.other.blockquoteBeginRegex(p);for(;e;){let d=e.split("\n",1)[0],g;if(c=d,g=this.options.pedantic?c=c.replace(this.rules.other.listReplaceNesting," "):c.replace(this.rules.other.tabCharGlobal," "),s.test(c)||l.test(c)||i.test(c)||u.test(c)||t.test(c)||n.test(c))break;if(g.search(this.rules.other.nonSpaceChar)>=p||!c.trim())a+="\n"+g.slice(p);else{if(h||o.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||s.test(o)||l.test(o)||n.test(o))break;a+="\n"+c}h=!c.trim(),r+=d+"\n",e=e.substring(d.length+1),o=g.slice(p)}}s.loose||(i?s.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(i=!0)),s.items.push({type:"list_item",raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(a),loose:!1,text:a,tokens:[]}),s.raw+=r}let a=s.items.at(-1);if(!a)return;for(let e of(a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd(),s.raw=s.raw.trimEnd(),s.items)){this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]);let t=e.tokens[0];if(e.task&&((null==t?void 0:t.type)==="text"||(null==t?void 0:t.type)==="paragraph")){e.text=e.text.replace(this.rules.other.listReplaceTask,""),t.raw=t.raw.replace(this.rules.other.listReplaceTask,""),t.text=t.text.replace(this.rules.other.listReplaceTask,"");for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,"");break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:"checkbox",raw:n[0]+" ",checked:"[ ]"!==n[0]};e.checked=t.checked,s.loose?e.tokens[0]&&["paragraph","text"].includes(e.tokens[0].type)&&"tokens"in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:"paragraph",raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&(e.task=!1);if(!s.loose){let t=e.tokens.filter(e=>"space"===e.type);s.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(s.loose)for(let e of s.items)for(let t of(e.loose=!0,e.tokens))"text"===t.type&&(t.type="paragraph");return s}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=ed(t[0]);return{type:"html",block:!0,raw:e,pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:eu(t[0],"\n"),href:n,title:r}}}table(e){var t;let n=this.rules.block.table.exec(e);if(!n||!this.rules.other.tableDelimiter.test(n[2]))return;let r=ep(n[1]),s=n[2].replace(this.rules.other.tableAlignChars,"").split("|"),l=(null==(t=n[3])?void 0:t.trim())?n[3].replace(this.rules.other.tableRowBlankLine,"").split("\n"):[],i={type:"table",raw:eu(n[0],"\n"),header:[],align:[],rows:[]};if(r.length===s.length){for(let e of s)this.rules.other.tableAlignRight.test(e)?i.align.push("right"):this.rules.other.tableAlignCenter.test(e)?i.align.push("center"):this.rules.other.tableAlignLeft.test(e)?i.align.push("left"):i.align.push(null);for(let e=0;e<r.length;e++)i.header.push({text:r[e],tokens:this.lexer.inline(r[e]),header:!0,align:i.align[e]});for(let e of l)i.rows.push(ep(e,i.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:i.align[t]})));return i}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:"heading",raw:eu(t[0],"\n"),depth:"="===t[2].charAt(0)?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=eu(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{let e=function(e,t){if(-1===e.indexOf(")"))return -1;let n=0;for(let r=0;r<e.length;r++)if("\\"===e[r])r++;else if("("===e[r])n++;else if(e[r]===t[1]&&--n<0)return r;return n>0?-2:-1}(t[2],"()");if(-2===e)return;if(e>-1){let n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),eg(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return eg(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,s,l,i=n,a=0,o="*"===r[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(o.lastIndex=0,t=t.slice(-1*e.length+n);null!==(r=o.exec(t));){if(!(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6]))continue;if(l=[...s].length,r[3]||r[4]){i+=l;continue}if((r[5]||r[6])&&n%3&&!((n+l)%3)){a+=l;continue}if((i-=l)>0)continue;l=Math.min(l,l+i+a);let t=[...r[0]][0].length,o=e.slice(0,n+r.index+t+l);if(Math.min(n,l)%2){let e=o.slice(1,-1);return{type:"em",raw:o,text:e,tokens:this.lexer.inlineTokens(e)}}let c=o.slice(2,-2);return{type:"strong",raw:o,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,s,l,i=n,a=this.rules.inline.delRDelim;for(a.lastIndex=0,t=t.slice(-1*e.length+n);null!==(r=a.exec(t));){if(!(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])||(l=[...s].length)!==n)continue;if(r[3]||r[4]){i+=l;continue}if((i-=l)>0)continue;l=Math.min(l,l+i);let t=[...r[0]][0].length,a=e.slice(0,n+r.index+t+l),o=a.slice(n,-n);return{type:"del",raw:a,text:o,tokens:this.lexer.inlineTokens(o)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return n="@"===t[2]?"mailto:"+(e=t[1]):e=t[1],{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,s;if("@"===t[2])s="mailto:"+(e=t[0]);else{var n,r;let l;do l=t[0],t[0]=null!=(r=null==(n=this.rules.inline._backpedal.exec(t[0]))?void 0:n[0])?r:"";while(l!==t[0])e=t[0],s="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:s,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:e}}}constructor(e){(0,n._)(this,"options",void 0),(0,n._)(this,"rules",void 0),(0,n._)(this,"lexer",void 0),this.options=e||s}},ex=class e{static get rules(){return{block:el,inline:ei}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(c.carriageReturn,"\n"),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(c.tabCharGlobal," ").replace(c.spaceLine,""));let r=1/0;for(;e;){var s,l,i;let a;if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}if(null==(l=this.options.extensions)||null==(s=l.block)?void 0:s.some(n=>!!(a=n.call({lexer:this},e,t))&&(e=e.substring(a.raw.length),t.push(a),!0)))continue;if(a=this.tokenizer.space(e)){e=e.substring(a.raw.length);let n=t.at(-1);1===a.raw.length&&void 0!==n?n.raw+="\n":t.push(a);continue}if(a=this.tokenizer.code(e)){e=e.substring(a.raw.length);let n=t.at(-1);(null==n?void 0:n.type)==="paragraph"||(null==n?void 0:n.type)==="text"?(n.raw+=(n.raw.endsWith("\n")?"":"\n")+a.raw,n.text+="\n"+a.text,this.inlineQueue.at(-1).src=n.text):t.push(a);continue}if((a=this.tokenizer.fences(e))||(a=this.tokenizer.heading(e))||(a=this.tokenizer.hr(e))||(a=this.tokenizer.blockquote(e))||(a=this.tokenizer.list(e))||(a=this.tokenizer.html(e))){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.def(e)){e=e.substring(a.raw.length);let n=t.at(-1);(null==n?void 0:n.type)==="paragraph"||(null==n?void 0:n.type)==="text"?(n.raw+=(n.raw.endsWith("\n")?"":"\n")+a.raw,n.text+="\n"+a.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title},t.push(a));continue}if((a=this.tokenizer.table(e))||(a=this.tokenizer.lheading(e))){e=e.substring(a.raw.length),t.push(a);continue}let o=e;if(null==(i=this.options.extensions)?void 0:i.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{"number"==typeof(r=e.call({lexer:this},n))&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(o=e.substring(0,t+1))}if(this.state.top&&(a=this.tokenizer.paragraph(o))){let r=t.at(-1);n&&(null==r?void 0:r.type)==="paragraph"?(r.raw+=(r.raw.endsWith("\n")?"":"\n")+a.raw,r.text+="\n"+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(a),n=o.length!==e.length,e=e.substring(a.raw.length);continue}if(a=this.tokenizer.text(e)){e=e.substring(a.raw.length);let n=t.at(-1);(null==n?void 0:n.type)==="text"?(n.raw+=(n.raw.endsWith("\n")?"":"\n")+a.raw,n.text+="\n"+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e){var t,n,r,s,l,i;let a,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.tokenizer.lexer=this;let c=e,h=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;null!==(h=this.tokenizer.rules.inline.reflinkSearch.exec(c));)e.includes(h[0].slice(h[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,h.index)+"["+"a".repeat(h[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!==(h=this.tokenizer.rules.inline.anyPunctuation.exec(c));)c=c.slice(0,h.index)+"++"+c.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!==(h=this.tokenizer.rules.inline.blockSkip.exec(c));)a=h[2]?h[2].length:0,c=c.slice(0,h.index+a)+"["+"a".repeat(h[0].length-a-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);c=null!=(r=null==(n=this.options.hooks)||null==(t=n.emStrongMask)?void 0:t.call({lexer:this},c))?r:c;let p=!1,u="",d=1/0;for(;e;){let t;if(e.length<d)d=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}if(p||(u=""),p=!1,null==(l=this.options.extensions)||null==(s=l.inline)?void 0:s.some(n=>!!(t=n.call({lexer:this},e,o))&&(e=e.substring(t.raw.length),o.push(t),!0)))continue;if((t=this.tokenizer.escape(e))||(t=this.tokenizer.tag(e))||(t=this.tokenizer.link(e))){e=e.substring(t.raw.length),o.push(t);continue}if(t=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(t.raw.length);let n=o.at(-1);"text"===t.type&&(null==n?void 0:n.type)==="text"?(n.raw+=t.raw,n.text+=t.text):o.push(t);continue}if((t=this.tokenizer.emStrong(e,c,u))||(t=this.tokenizer.codespan(e))||(t=this.tokenizer.br(e))||(t=this.tokenizer.del(e,c,u))||(t=this.tokenizer.autolink(e))||!this.state.inLink&&(t=this.tokenizer.url(e))){e=e.substring(t.raw.length),o.push(t);continue}let n=e;if(null==(i=this.options.extensions)?void 0:i.startInline){let t=1/0,r=e.slice(1),s;this.options.extensions.startInline.forEach(e=>{"number"==typeof(s=e.call({lexer:this},r))&&s>=0&&(t=Math.min(t,s))}),t<1/0&&t>=0&&(n=e.substring(0,t+1))}if(t=this.tokenizer.inlineText(n)){e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(u=t.raw.slice(-1)),p=!0;let n=o.at(-1);(null==n?void 0:n.type)==="text"?(n.raw+=t.raw,n.text+=t.text):o.push(t);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return o}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw Error(t)}constructor(e){(0,n._)(this,"tokens",void 0),(0,n._)(this,"options",void 0),(0,n._)(this,"state",void 0),(0,n._)(this,"inlineQueue",void 0),(0,n._)(this,"tokenizer",void 0),this.tokens=[],this.tokens.links=Object.create(null),this.options=e||s,this.options.tokenizer=this.options.tokenizer||new ef,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:c,block:el.normal,inline:ei.normal};this.options.pedantic?(t.block=el.pedantic,t.inline=ei.pedantic):this.options.gfm&&(t.block=el.gfm,this.options.breaks?t.inline=ei.breaks:t.inline=ei.gfm),this.tokenizer.rules=t}},ek=class{space(e){return""}code(e){var t;let{text:n,lang:r,escaped:s}=e,l=null==(t=(r||"").match(c.notSpaceStart))?void 0:t[0],i=n.replace(c.endingNewline,"")+"\n";return l?'<pre><code class="language-'+ec(l)+'">'+(s?i:ec(i,!0))+"</code></pre>\n":"<pre><code>"+(s?i:ec(i,!0))+"</code></pre>\n"}blockquote(e){let{tokens:t}=e;return"<blockquote>\n".concat(this.parser.parse(t),"</blockquote>\n")}html(e){let{text:t}=e;return t}def(e){return""}heading(e){let{tokens:t,depth:n}=e;return"<h".concat(n,">").concat(this.parser.parseInline(t),"</h").concat(n,">\n")}hr(e){return"<hr>\n"}list(e){let t=e.ordered,n=e.start,r="";for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+">\n"+r+"</"+s+">\n"}listitem(e){return"<li>".concat(this.parser.parse(e.tokens),"</li>\n")}checkbox(e){let{checked:t}=e;return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph(e){let{tokens:t}=e;return"<p>".concat(this.parser.parseInline(t),"</p>\n")}table(e){let t="",n="";for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r="";for(let t=0;t<e.rows.length;t++){let s=e.rows[t];n="";for(let e=0;e<s.length;e++)n+=this.tablecell(s[e]);r+=this.tablerow({text:n})}return r&&(r="<tbody>".concat(r,"</tbody>")),"<table>\n<thead>\n"+t+"</thead>\n"+r+"</table>\n"}tablerow(e){let{text:t}=e;return"<tr>\n".concat(t,"</tr>\n")}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?"<".concat(n,' align="').concat(e.align,'">'):"<".concat(n,">"))+t+"</".concat(n,">\n")}strong(e){let{tokens:t}=e;return"<strong>".concat(this.parser.parseInline(t),"</strong>")}em(e){let{tokens:t}=e;return"<em>".concat(this.parser.parseInline(t),"</em>")}codespan(e){let{text:t}=e;return"<code>".concat(ec(t,!0),"</code>")}br(e){return"<br>"}del(e){let{tokens:t}=e;return"<del>".concat(this.parser.parseInline(t),"</del>")}link(e){let{href:t,title:n,tokens:r}=e,s=this.parser.parseInline(r),l=eh(t);if(null===l)return s;let i='<a href="'+(t=l)+'"';return n&&(i+=' title="'+ec(n)+'"'),i+=">"+s+"</a>"}image(e){let{href:t,title:n,text:r,tokens:s}=e;s&&(r=this.parser.parseInline(s,this.parser.textRenderer));let l=eh(t);if(null===l)return ec(r);t=l;let i='<img src="'.concat(t,'" alt="').concat(ec(r),'"');return n&&(i+=' title="'.concat(ec(n),'"')),i+=">"}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:ec(e.text)}constructor(e){(0,n._)(this,"options",void 0),(0,n._)(this,"parser",void 0),this.options=e||s}},em=class{strong(e){let{text:t}=e;return t}em(e){let{text:t}=e;return t}codespan(e){let{text:t}=e;return t}del(e){let{text:t}=e;return t}html(e){let{text:t}=e;return t}text(e){let{text:t}=e;return t}link(e){let{text:t}=e;return""+t}image(e){let{text:t}=e;return""+t}br(){return""}checkbox(e){let{raw:t}=e;return t}},eb=class e{static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t="";for(let s=0;s<e.length;s++){var n,r;let l=e[s];if(null==(r=this.options.extensions)||null==(n=r.renderers)?void 0:n[l.type]){let e=this.options.extensions.renderers[l.type].call({parser:this},l);if(!1!==e||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(l.type)){t+=e||"";continue}}switch(l.type){case"space":t+=this.renderer.space(l);break;case"hr":t+=this.renderer.hr(l);break;case"heading":t+=this.renderer.heading(l);break;case"code":t+=this.renderer.code(l);break;case"table":t+=this.renderer.table(l);break;case"blockquote":t+=this.renderer.blockquote(l);break;case"list":t+=this.renderer.list(l);break;case"checkbox":t+=this.renderer.checkbox(l);break;case"html":t+=this.renderer.html(l);break;case"def":t+=this.renderer.def(l);break;case"paragraph":t+=this.renderer.paragraph(l);break;case"text":t+=this.renderer.text(l);break;default:{let e='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return t}parseInline(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.renderer;this.renderer.parser=this;let n="";for(let l=0;l<e.length;l++){var r,s;let i=e[l];if(null==(s=this.options.extensions)||null==(r=s.renderers)?void 0:r[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(!1!==e||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){n+=e||"";continue}}switch(i.type){case"escape":case"text":n+=t.text(i);break;case"html":n+=t.html(i);break;case"link":n+=t.link(i);break;case"image":n+=t.image(i);break;case"checkbox":n+=t.checkbox(i);break;case"strong":n+=t.strong(i);break;case"em":n+=t.em(i);break;case"codespan":n+=t.codespan(i);break;case"br":n+=t.br(i);break;case"del":n+=t.del(i);break;default:{let e='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return n}constructor(e){(0,n._)(this,"options",void 0),(0,n._)(this,"renderer",void 0),(0,n._)(this,"textRenderer",void 0),this.options=e||s,this.options.renderer=this.options.renderer||new ek,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new em}},ew=(t=class{preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.block;return e?ex.lex:ex.lexInline}provideParser(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.block;return e?eb.parse:eb.parseInline}constructor(e){(0,n._)(this,"options",void 0),(0,n._)(this,"block",void 0),this.options=e||s}},(0,n._)(t,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),(0,n._)(t,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),t),ey=new class{walkTokens(e,t){let n=[];for(let l of e)switch(n=n.concat(t.call(this,l)),l.type){case"table":for(let e of l.header)n=n.concat(this.walkTokens(e.tokens,t));for(let e of l.rows)for(let r of e)n=n.concat(this.walkTokens(r.tokens,t));break;case"list":n=n.concat(this.walkTokens(l.items,t));break;default:{var r,s;let e=l;(null==(s=this.defaults.extensions)||null==(r=s.childTokens)?void 0:r[e.type])?this.defaults.extensions.childTokens[e.type].forEach(r=>{let s=e[r].flat(1/0);n=n.concat(this.walkTokens(s,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];let r=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(e=>{let t={...e};if(t.async=this.defaults.async||t.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error("extension name required");if("renderer"in e){let t=r.renderers[e.name];t?r.renderers[e.name]=function(){for(var n=arguments.length,r=Array(n),s=0;s<n;s++)r[s]=arguments[s];let l=e.renderer.apply(this,r);return!1===l&&(l=t.apply(this,r)),l}:r.renderers[e.name]=e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw Error("extension level must be 'block' or 'inline'");let t=r[e.level];t?t.unshift(e.tokenizer):r[e.level]=[e.tokenizer],e.start&&("block"===e.level?r.startBlock?r.startBlock.push(e.start):r.startBlock=[e.start]:"inline"===e.level&&(r.startInline?r.startInline.push(e.start):r.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(r.childTokens[e.name]=e.childTokens)}),t.extensions=r),e.renderer){let n=this.defaults.renderer||new ek(this.defaults);for(let t in e.renderer){if(!(t in n))throw Error("renderer '".concat(t,"' does not exist"));if(["options","parser"].includes(t))continue;let r=e.renderer[t],s=n[t];n[t]=function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let i=r.apply(n,t);return!1===i&&(i=s.apply(n,t)),i||""}}t.renderer=n}if(e.tokenizer){let n=this.defaults.tokenizer||new ef(this.defaults);for(let t in e.tokenizer){if(!(t in n))throw Error("tokenizer '".concat(t,"' does not exist"));if(["options","rules","lexer"].includes(t))continue;let r=e.tokenizer[t],s=n[t];n[t]=function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let i=r.apply(n,t);return!1===i&&(i=s.apply(n,t)),i}}t.tokenizer=n}if(e.hooks){let r=this.defaults.hooks||new ew;for(let t in e.hooks){var n=this;if(!(t in r))throw Error("hook '".concat(t,"' does not exist"));if(["options","block"].includes(t))continue;let s=e.hooks[t],l=r[t];ew.passThroughHooks.has(t)?r[t]=e=>{if(this.defaults.async&&ew.passThroughHooksRespectAsync.has(t))return(async()=>{let t=await s.call(r,e);return l.call(r,t)})();let n=s.call(r,e);return l.call(r,n)}:r[t]=function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(n.defaults.async)return(async()=>{let e=await s.apply(r,t);return!1===e&&(e=await l.apply(r,t)),e})();let a=s.apply(r,t);return!1===a&&(a=l.apply(r,t)),a}}t.hooks=r}if(e.walkTokens){let n=this.defaults.walkTokens,r=e.walkTokens;t.walkTokens=function(e){let t=[];return t.push(r.call(this,e)),n&&(t=t.concat(n.call(this,e))),t}}this.defaults={...this.defaults,...t}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return ex.lex(e,null!=t?t:this.defaults)}parser(e,t){return eb.parse(e,null!=t?t:this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},s={...this.defaults,...r},l=this.onError(!!s.silent,!!s.async);if(!0===this.defaults.async&&!1===r.async)return l(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||null===t)return l(Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return l(Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=e),s.async)return(async()=>{let n=s.hooks?await s.hooks.preprocess(t):t,r=await (s.hooks?await s.hooks.provideLexer(e):e?ex.lex:ex.lexInline)(n,s),l=s.hooks?await s.hooks.processAllTokens(r):r;s.walkTokens&&await Promise.all(this.walkTokens(l,s.walkTokens));let i=await (s.hooks?await s.hooks.provideParser(e):e?eb.parse:eb.parseInline)(l,s);return s.hooks?await s.hooks.postprocess(i):i})().catch(l);try{s.hooks&&(t=s.hooks.preprocess(t));let n=(s.hooks?s.hooks.provideLexer(e):e?ex.lex:ex.lexInline)(t,s);s.hooks&&(n=s.hooks.processAllTokens(n)),s.walkTokens&&this.walkTokens(n,s.walkTokens);let r=(s.hooks?s.hooks.provideParser(e):e?eb.parse:eb.parseInline)(n,s);return s.hooks&&(r=s.hooks.postprocess(r)),r}catch(e){return l(e)}}}onError(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){let e="<p>An error occurred:</p><pre>"+ec(n.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}constructor(...e){(0,n._)(this,"defaults",r()),(0,n._)(this,"options",this.setOptions),(0,n._)(this,"parse",this.parseMarkdown(!0)),(0,n._)(this,"parseInline",this.parseMarkdown(!1)),(0,n._)(this,"Parser",eb),(0,n._)(this,"Renderer",ek),(0,n._)(this,"TextRenderer",em),(0,n._)(this,"Lexer",ex),(0,n._)(this,"Tokenizer",ef),(0,n._)(this,"Hooks",ew),this.use(...e)}};function ev(e,t){return ey.parse(e,t)}ev.options=ev.setOptions=function(e){return ey.setOptions(e),ev.defaults=ey.defaults,s=ev.defaults,ev},ev.getDefaults=r,ev.defaults=s,ev.use=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return ey.use(...t),ev.defaults=ey.defaults,s=ev.defaults,ev},ev.walkTokens=function(e,t){return ey.walkTokens(e,t)},ev.parseInline=ey.parseInline,ev.Parser=eb,ev.parser=eb.parse,ev.Renderer=ek,ev.TextRenderer=em,ev.Lexer=ex,ev.lexer=ex.lex,ev.Tokenizer=ef,ev.Hooks=ew,ev.parse=ev,ev.options,ev.setOptions,ev.use,ev.walkTokens,ev.parseInline,eb.parse,ex.lex;var eS=e.i(92413);function eR(e){if(!e||"object"!=typeof e)return"";let t=e.type;if("user"===t||"assistant"===t){let t=e.message;if(t&&void 0!==t.content)return function(e){if(null==e)return"";if("string"==typeof e)return e;if(!Array.isArray(e))try{return JSON.stringify(e,null,2)}catch(t){return String(e)}let t=[];for(let n of e)if(n&&"object"==typeof n){if("text"===n.type&&"string"==typeof n.text)t.push(n.text);else if("tool_use"===n.type){let e=n.name||"tool",r="";try{r=JSON.stringify(n.input,null,2)}catch(e){r=String(n.input)}t.push("\n\n**`".concat(e,"`**\n\n```json\n").concat(r.slice(0,12e3),"\n```\n"))}else if("tool_result"===n.type){let e=n.content;if("string"!=typeof e)try{e=JSON.stringify(e,null,2)}catch(t){e=String(e)}t.push("\n\n```\n".concat(String(e).slice(0,8e3),"\n```\n"))}}return t.join("")}(t.content)}return"system"===t&&"string"==typeof e.content?e.content:""}function ej(e){if(!e)return"";try{return ev.parse(e,{async:!1})}catch(e){return"<pre>".concat((0,eS.escapeHtml)(String(e)),"</pre>")}}ev.setOptions({breaks:!0,gfm:!0}),e.s(["deleteRepoFile",()=>e_,"fetchRepoEntries",()=>eA,"fetchRepoFilePreview",()=>eC,"uploadWorkspaceFile",()=>e$],50052);var eT=e.i(29250),ez=e.i(36845);async function eA(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=await (0,eT.get)((0,ez.buildRepoEntriesUrl)(e,t,n,r));if(!s.entries)throw Error(s.message||"获取目录条目失败");return s.entries}async function eC(e,t,n,r){return(await (0,eT.bridgeFetch)((0,ez.buildRepoFileUrl)(e,t,n,r,!0),{method:"GET",raw:!0})).text()}async function e_(e,t,n,r){await (0,eT.del)((0,ez.buildRepoFileUrl)(e,t,n,r))}async function e$(e,t,n,r){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",l=new FormData;l.append("file",r),l.append("path",s);let i=await (0,eT.post)((0,ez.buildRepoUploadUrl)(e,t,n),l,{type:"file"}),a="string"==typeof i.path?i.path.trim():"";if(!a)throw Error(i.message||i.error||"上传失败:未返回文件路径");return{path:a}}},89197,e=>{"use strict";e.s(["LibraryView",()=>C],89197);var t=e.i(18050),n=e.i(71645),r=e.i(65934),s=e.i(13354),l=e.i(68499),i=e.i(56708),a=e.i(85413),o=e.i(94197),c=e.i(2839),h=e.i(72064),p=e.i(19455),u=e.i(93479),d=e.i(36845),g=e.i(75157);function f(e){let t=e.toLowerCase().split(".");return t.length>1?t[t.length-1]:""}function x(e){var t;if("dir"===e.type)return"文件夹";let n=f(e.name);return n?null!=(t=({doc:"Word",docx:"Word",xls:"Excel",xlsx:"Excel",ppt:"PPT",pptx:"PPT",pdf:"PDF",log:"Log",html:"HTML",htm:"HTML",md:"Markdown",markdown:"Markdown",json:"JSON",zip:"压缩包"})[n])?t:n.toUpperCase():"文件"}function k(e){let{currentPath:r,entriesLoading:s,currentEntries:l,fileSearchQuery:i,onFileSearchQueryChange:k,wsUrl:m,apiBase:b,agentId:w,deleting:y,onSelectDir:v,onSelectFile:S,onDeleteEntry:R}=e,j=(0,n.useMemo)(()=>{if(!l)return null;let e=i.trim().toLowerCase();return e?l.filter(t=>{let n=x(t).toLowerCase();return t.name.toLowerCase().includes(e)||t.path.toLowerCase().includes(e)||n.includes(e)}):l},[l,i]);return(0,t.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,t.jsx)("div",{className:"flex shrink-0 items-start justify-between gap-4 border-b px-5 py-4",children:(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h2",{className:"truncate text-lg font-semibold text-foreground",children:"文件列表"}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-1 border-b py-3 text-sm text-muted-foreground",children:[(0,t.jsx)("span",{children:"当前位置:"}),(0,t.jsx)(p.Button,{type:"button",variant:"plain",size:"sm",className:"h-auto border-0 bg-transparent px-1 py-0 text-sm font-medium text-foreground shadow-none hover:bg-transparent hover:text-[var(--ds-accent)]",onClick:()=>v(""),children:"workspace"}),r.split("/").filter(Boolean).map((e,n,r)=>{let s=r.slice(0,n+1).join("/");return(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{children:"/"}),(0,t.jsx)(p.Button,{type:"button",variant:"plain",size:"sm",className:"h-auto border-0 bg-transparent px-1 py-0 text-sm font-medium text-foreground shadow-none hover:bg-transparent hover:text-[var(--ds-accent)]",onClick:()=>v(s),children:e})]},s)})]})]})}),(0,t.jsx)("div",{className:"shrink-0 border-b px-5 py-3",children:(0,t.jsxs)("div",{className:"relative max-w-[260px]",children:[(0,t.jsx)(h.default,{name:"Search",size:14,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(u.Input,{size:"sm",value:i,onChange:e=>k(e.target.value),placeholder:"搜索文件名 / 类型",className:"bg-background/70 h-10 rounded-xl pl-9"})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:s?(0,t.jsx)(c.Loading,{text:"加载中…"}):null===l?(0,t.jsx)(a.Empty,{text:"暂无数据"}):(null==j?void 0:j.length)===0?(0,t.jsx)(a.Empty,{text:i.trim()?"未找到匹配文件":"当前目录为空"}):(0,t.jsxs)("table",{className:"w-full text-sm",children:[(0,t.jsx)("thead",{className:"bg-muted/30 border-b",children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{className:"px-5 py-3 text-left font-medium text-muted-foreground",children:"文件名称"}),(0,t.jsx)("th",{className:"w-28 px-3 py-3 text-left font-medium text-muted-foreground",children:"类型"}),(0,t.jsx)("th",{className:"w-24 shrink-0 px-3 py-3 text-right font-medium text-muted-foreground",children:"操作"})]})}),(0,t.jsx)("tbody",{children:null==j?void 0:j.map(e=>{var n;return(0,t.jsxs)("tr",{className:"hover:bg-accent/35 group cursor-pointer border-b transition-colors last:border-0",onClick:()=>{"dir"===e.type?v(e.path):S(e)},children:[(0,t.jsx)("td",{className:"px-5 py-3",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-xl bg-[var(--ds-item-bg-hover)] text-xs font-semibold text-[var(--ds-accent)]",children:(0,t.jsx)(h.default,{name:"dir"===e.type?"Folder":null!=(n=({xml:"Xml",gif:"Gif",html:"Html",htm:"Html",java:"Java",jpg:"Jpg",jpeg:"Jpg",js:"Js",json:"Json",pdf:"Pdf",svg:"Svg"})[f(e.name)])?n:"File",size:15,className:"dir"===e.type?"text-amber-700":"text-muted-foreground"})}),(0,t.jsx)("span",{className:(0,g.cn)("truncate font-medium","dir"===e.type?"font-medium text-[var(--ds-accent,hsl(var(--primary)))]":"text-foreground"),children:e.name})]})}),(0,t.jsx)("td",{className:"px-3 py-3 text-muted-foreground",children:x(e)}),(0,t.jsx)("td",{className:"w-24 shrink-0 px-3 py-2 text-right",onClick:e=>e.stopPropagation(),children:"file"===e.type&&(0,t.jsxs)("div",{className:"flex items-center justify-end gap-1 opacity-80 transition-opacity group-hover:opacity-100",children:[(0,t.jsx)("a",{href:(0,d.buildRepoFileUrl)(m,b,w,e.path),download:e.name,"aria-label":"下载 ".concat(e.name),className:"inline-flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:(0,t.jsx)(h.default,{name:"Download",size:14})}),(0,t.jsx)(o.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",disabled:y,onClick:()=>R(e)})]})})]},e.path)})})]})})]})}var m=e.i(12732);function b(e){let{entry:n,content:r,loading:s,downloadUrl:l,deleting:i,isMarkdownFile:a,onClose:u,onDelete:d}=e;return(0,t.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-2 border-b px-5 py-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)(p.Button,{type:"button",variant:"ghost",size:"icon",className:"h-auto border-0 bg-transparent px-1 py-0 text-sm font-medium text-foreground shadow-none hover:bg-transparent hover:text-[var(--ds-accent)]","aria-label":"返回列表",onClick:u,children:(0,t.jsx)(h.default,{name:"ChevronLeft",size:16})}),(0,t.jsx)("span",{className:"truncate text-base font-medium",children:n.name})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,t.jsx)(o.IconTooltipButton,{icon:"Download",label:"下载",onClick:()=>{let e=document.createElement("a");e.href=l,e.download=n.name,document.body.appendChild(e),e.click(),e.remove()}}),(0,t.jsx)(o.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",disabled:i,onClick:d})]})]}),(0,t.jsx)("div",{className:"relative flex-1 overflow-auto",children:s?(0,t.jsx)(c.Loading,{text:"加载中…"}):null===r?(0,t.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(h.default,{name:"File",size:32,className:"opacity-40"}),(0,t.jsx)("p",{children:"不支持页面内预览,请下载后查看。"})]}):a(n.name)?(0,t.jsx)("div",{className:"chat-md prose prose-sm dark:prose-invert max-w-none p-4",dangerouslySetInnerHTML:{__html:(0,m.renderMd)(r)}}):(0,t.jsx)("pre",{className:"min-h-full whitespace-pre-wrap break-all p-4 font-mono text-xs leading-relaxed",children:r})})]})}function w(e,t){var n;return(null!=(n=e.get(t))?n:[]).filter(e=>e.name&&("dir"===e.type||"file"===e.type)).slice().sort((e,t)=>e.type!==t.type?"dir"===e.type?-1:1:e.name.localeCompare(t.name))}function y(e){let{entry:n,depth:r,treeCache:s,currentPath:l,expandedPaths:i,loadingPaths:a,selectedFilePath:o,searchQuery:c,onSelectDir:u,onSelectFile:d,onToggleExpand:f}=e,x="file"===n.type,k=!x&&""===n.path,m=i.has(n.path),b=a.has(n.path),v=c.trim().toLowerCase(),S=x?[]:w(s,n.path).filter(e=>(function e(t,n,r){if(!r||""===n.path)return!0;let s=r.toLowerCase();return!!(n.name.toLowerCase().includes(s)||n.path.toLowerCase().includes(s))||"dir"===n.type&&w(t,n.path).some(n=>e(t,n,s))})(s,e,v)),R=!!x||s.has(n.path),j=!x&&(!R||S.length>0),T=!x&&l===n.path,z=x&&o===n.path;return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:(0,g.cn)("flex h-8 w-full cursor-pointer items-center gap-2 rounded px-1 text-base leading-none","hover:bg-accent/50",x&&"is-file",(T||z)&&"is-selected bg-[var(--surface-2)] text-accent-foreground"),style:{paddingLeft:"".concat(8+14*r,"px")},onClick:()=>{x?d(n):u(n.path)},children:[!x&&j?(0,t.jsx)(p.Button,{type:"button",variant:"plain",size:"icon",className:"flex h-[18px] w-[18px] shrink-0 items-center justify-center p-0 text-muted-foreground","aria-label":"展开/折叠",onClick:e=>{e.stopPropagation(),f(n.path)},children:b?(0,t.jsx)(h.default,{name:"Loader2",size:14,className:"animate-spin"}):(0,t.jsx)(h.default,{name:m?"ChevronDown":"ChevronRight",size:14})}):(0,t.jsx)("span",{className:"h-[18px] w-[18px] shrink-0"}),(0,t.jsx)("span",{className:"flex h-[18px] w-[18px] shrink-0 items-center justify-center",children:x?(0,t.jsx)(h.default,{name:"File",size:14,className:"text-muted-foreground"}):(0,t.jsx)(h.default,{name:m?"FolderOpen":"Folder",size:14,className:"text-amber-500"})}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate leading-7",children:k?"workspace":n.name}),!x&&R&&(0,t.jsx)("span",{className:"ml-2 shrink-0 text-xs font-medium text-muted-foreground",children:S.length})]}),!x&&j&&(m||!!v)&&S.map(e=>(0,t.jsx)(y,{entry:e,depth:r+1,treeCache:s,currentPath:l,expandedPaths:i,loadingPaths:a,selectedFilePath:o,searchQuery:c,onSelectDir:u,onSelectFile:d,onToggleExpand:f},e.path))]})}let v={name:"",path:"",type:"dir"};function S(e){let{treeCache:n,currentPath:r,expandedPaths:s,loadingPaths:l,selectedFilePath:i,searchQuery:a,onSearchQueryChange:o,onSelectDir:c,onSelectFile:p,onToggleExpand:d}=e;return(0,t.jsxs)("aside",{className:"flex h-full w-[300px] shrink-0 flex-col rounded-2xl shadow-sm",style:{border:"1px solid #e4e4e7",backgroundColor:"#fff"},"aria-label":"目录树",children:[(0,t.jsx)("div",{className:"flex shrink-0 items-start justify-between gap-3 px-4 pb-3 pt-4",children:(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h2",{className:"truncate text-base font-semibold text-foreground",children:"目录管理"}),(0,t.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:"按业务域组织资料"})]})}),(0,t.jsx)("div",{className:"px-4 pb-3",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(h.default,{name:"Search",size:14,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(u.Input,{size:"sm",value:a,onChange:e=>o(e.target.value),placeholder:"搜索目录",className:"bg-background/70 h-9 rounded-xl pl-9"})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-3 pb-3",children:(0,t.jsx)(y,{entry:v,depth:0,treeCache:n,currentPath:r,expandedPaths:s,loadingPaths:l,selectedFilePath:i,searchQuery:a,onSelectDir:c,onSelectFile:p,onToggleExpand:d})})]})}var R=e.i(50052);let j=new Set(["txt","md","markdown","json","yaml","yml","toml","ini","cfg","conf","xml","html","htm","css","js","ts","jsx","tsx","py","sh","bash","zsh","fish","rs","go","java","c","cpp","h","hpp","cs","rb","php","swift","kt","sql","graphql","dockerfile","env"]),T=new Set(["md","markdown"]);function z(e){let t=e.toLowerCase().split(".");return t.length>1?t[t.length-1]:""}function A(e){return T.has(z(e))}function C(){var e,a;let o=(0,r.useAppStore)(e=>e.wsUrl),c=(0,r.useAppStore)(e=>e.apiBase),h=(0,r.useAppStore)(e=>e.agentId),p=(0,r.useAppStore)(e=>e.agentSelectionResolved),[u,g]=(0,n.useState)(""),[f,x]=(0,n.useState)(()=>new Map),[m,w]=(0,n.useState)(()=>new Set([""])),[y,v]=(0,n.useState)(()=>new Set),[T,C]=(0,n.useState)(!1),[_,$]=(0,n.useState)(null),[N,P]=(0,n.useState)(!1),[E,L]=(0,n.useState)(""),[I,B]=(0,n.useState)(""),q=(0,n.useRef)(!1),D=(0,n.useRef)(""),F=(0,n.useCallback)(async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(h){t||C(!0);try{let t=await (0,R.fetchRepoEntries)(o,c,h,e);x(n=>{let r=new Map(n);return r.set(e,t),r})}catch(e){s.appToast.error("加载目录失败:".concat(e instanceof Error?e.message:String(e)))}finally{t||C(!1)}}},[o,c,h]),M=(0,n.useCallback)(async e=>{if(!(!h||f.has(e))){v(t=>new Set([...t,e]));try{let t=await (0,R.fetchRepoEntries)(o,c,h,e);x(n=>{let r=new Map(n);return r.set(e,t),r})}catch(e){s.appToast.error("加载目录失败:".concat(e instanceof Error?e.message:String(e)))}finally{v(t=>{let n=new Set(t);return n.delete(e),n})}}},[o,c,h,f]);(0,n.useEffect)(()=>{h&&h!==D.current&&(D.current=h,q.current=!1,x(new Map),g(""),w(new Set([""])),$(null))},[h]),(0,n.useEffect)(()=>{!q.current&&h&&p&&(q.current=!0,F(""))},[h,p,F]);let Z=(0,n.useCallback)(e=>{g(e),$(null),w(t=>{let n=new Set(t);for(let t of function(e){let t=[""],n=e.split("/").filter(Boolean),r="";for(let e of n)r=r?"".concat(r,"/").concat(e):e,t.push(r);return t}(e))n.add(t);return n}),F(e)},[F]),Q=(0,n.useCallback)(e=>{w(t=>{let n=new Set(t);return n.has(e)?n.delete(e):(n.add(e),M(e)),n})},[M]),O=(0,n.useCallback)(async e=>{if($({entry:e,content:null,loading:!0}),!function(e){let t=z(e);return j.has(t)||"dockerfile"===e.toLowerCase()}(e.name))return void $({entry:e,content:null,loading:!1});try{let t=await (0,R.fetchRepoFilePreview)(o,c,h,e.path);$({entry:e,content:t,loading:!1})}catch(t){s.appToast.error("预览失败:".concat(t instanceof Error?t.message:String(t))),$({entry:e,content:null,loading:!1})}},[o,c,h]),H=(0,n.useCallback)(()=>{$(null)},[]),U=(0,n.useCallback)(async e=>{if(await (0,l.confirmAlertDialog)({title:"删除文件",description:"确认删除「".concat(e.name,"」?此操作不可撤销。"),confirmText:"删除",cancelText:"取消"})){P(!0);try{await (0,R.deleteRepoFile)(o,c,h,e.path),s.appToast.success("已删除:".concat(e.name)),$(t=>(null==t?void 0:t.entry.path)===e.path?null:t);let t=e.path.includes("/")?e.path.substring(0,e.path.lastIndexOf("/")):"";x(e=>{let n=new Map(e);return n.delete(t),n}),await F(t)}catch(e){s.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}finally{P(!1)}}},[o,c,h,F]),G=(0,n.useCallback)(async()=>{_&&await U(_.entry)},[_,U]),J=null!=(e=f.get(u))?e:null,W=_?(0,d.buildRepoFileUrl)(o,c,h,_.entry.path):"";return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.ManageChromeHeaderActions,{}),(0,t.jsxs)("div",{className:"flex h-full gap-5 overflow-hidden",children:[(0,t.jsx)(S,{treeCache:f,currentPath:u,expandedPaths:m,loadingPaths:y,selectedFilePath:null!=(a=null==_?void 0:_.entry.path)?a:"",searchQuery:E,onSearchQueryChange:L,onSelectDir:Z,onSelectFile:O,onToggleExpand:Q}),(0,t.jsx)("section",{className:"flex min-w-0 flex-1 flex-col overflow-hidden rounded-2xl shadow-sm",style:{border:"1px solid #e4e4e7",backgroundColor:"#fff"},children:_?(0,t.jsx)(b,{entry:_.entry,content:_.content,loading:_.loading,downloadUrl:W,deleting:N,isMarkdownFile:A,onClose:H,onDelete:G}):(0,t.jsx)(k,{currentPath:u,entriesLoading:T,currentEntries:J,fileSearchQuery:I,onFileSearchQueryChange:B,wsUrl:o,apiBase:c,agentId:h,deleting:N,onSelectDir:Z,onSelectFile:O,onDeleteEntry:e=>void U(e)})})]})]})}}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36413,e=>{"use strict";e.s(["StatusBadge",()=>i],36413);var t=e.i(18050),r=e.i(25913),a=e.i(75157);let l=(0,r.cva)("inline-flex shrink-0 items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-colors focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-white",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function n(e){let{className:r,variant:n,...s}=e;return(0,t.jsx)("span",{"data-slot":"badge",className:(0,a.cn)(l({variant:n}),r),...s})}let s={success:{root:"border-transparent bg-[var(--green-light)] text-[var(--green-dark)]",dot:"bg-[var(--ds-ok)]"},danger:{root:"border-transparent bg-[#fef2f2] text-[var(--ds-danger)]",dot:"bg-[var(--ds-danger)]"},default:{root:"border-transparent bg-[var(--surface-2)] text-[var(--ds-muted)]",dot:"bg-[var(--ds-muted)]"},progress:{root:"border-transparent bg-[color-mix(in_srgb,var(--blue)_12%,var(--surface-1))] text-[var(--blue)]",dot:"bg-[var(--blue)]"},warning:{root:"border-transparent bg-[color-mix(in_srgb,var(--amber)_14%,var(--surface-1))] text-[var(--amber)]",dot:"bg-[var(--amber)]"}};function i(e){let{tone:r="default",showDot:l=!0,dotClassName:i,className:o,children:c,...d}=e,u=s[r];return(0,t.jsxs)(n,{variant:"outline",className:(0,a.cn)("gap-1.5",u.root,o),...d,children:[l?(0,t.jsx)("span",{className:(0,a.cn)("size-1.5 shrink-0 rounded-full",u.dot,i),"aria-hidden":!0}):null,c]})}},92715,e=>{"use strict";e.s(["AppTable",()=>u],92715);var t=e.i(18050),r=e.i(85413),a=e.i(71645),l=e.i(75157);let n=a.forwardRef((e,r)=>{let{className:a,...n}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:r,className:(0,l.cn)("w-full caption-bottom border-collapse",a),...n})})});n.displayName="Table";let s=a.forwardRef((e,r)=>{let{className:a,...n}=e;return(0,t.jsx)("thead",{ref:r,className:(0,l.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",a),...n})});s.displayName="TableHeader";let i=a.forwardRef((e,r)=>{let{className:n,viewportFit:s=!0,viewportReserveBottom:i=16,viewportPaginationReserve:o=0,style:c,...d}=e,u=a.useRef(null),m=a.useCallback(e=>{u.current=e,"function"==typeof r?r(e):r&&(r.current=e)},[r]),[p,f]=a.useState(void 0);return a.useLayoutEffect(()=>{var e,t;if(!s)return void f(void 0);let r=()=>{var e,t;let r=u.current;if(!r)return;let a=r.getBoundingClientRect().top;f(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-a-(i+o))))};r();let a=new ResizeObserver(()=>{r()});try{a.observe(document.body)}catch(e){}return window.addEventListener("resize",r),null==(e=window.visualViewport)||e.addEventListener("resize",r),null==(t=window.visualViewport)||t.addEventListener("scroll",r),window.addEventListener("scroll",r,!0),()=>{var e,t;a.disconnect(),window.removeEventListener("resize",r),null==(e=window.visualViewport)||e.removeEventListener("resize",r),null==(t=window.visualViewport)||t.removeEventListener("scroll",r),window.removeEventListener("scroll",r,!0)}},[s,i,o]),(0,t.jsx)("tbody",{ref:m,className:(0,l.cn)("block overflow-y-auto [&_tr:last-child]:border-b-0 [&_tr:last-child_td]:border-b-0 [&_tr]:table [&_tr]:w-full [&_tr]:table-fixed",n),style:s&&void 0!==p?{...c,maxHeight:p}:c,...d})});i.displayName="TableBody";let o=a.forwardRef((e,r)=>{let{className:a,hoverable:n=!0,...s}=e;return(0,t.jsx)("tr",{ref:r,className:(0,l.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",n&&"group/table-row",a),...s})});o.displayName="TableRow";let c=a.forwardRef((e,r)=>{let{className:a,...n}=e;return(0,t.jsx)("th",{ref:r,className:(0,l.cn)("h-10 border-b border-[var(--border-subtle)] bg-[var(--surface-2)] px-3 text-left align-middle text-[14px] font-medium !text-[var(--ds-text)] text-muted-foreground",a),...n})});c.displayName="TableHead";let d=a.forwardRef((e,r)=>{let{className:a,...n}=e;return(0,t.jsx)("td",{ref:r,className:(0,l.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle transition-colors group-has-[td:hover]/table-row:!bg-[var(--ds-item-hover)]",a),...n})});function u(e){let{rows:a,columns:u,getRowKey:m,className:p,rowClassName:f,headerRowClassName:b,emptyText:g,emptyNode:v,bodyProps:x}=e;return(0,t.jsx)("div",{className:(0,l.cn)("overflow-hidden border border-[var(--ds-border)]",p),children:(0,t.jsxs)(n,{children:[(0,t.jsx)(s,{children:(0,t.jsx)(o,{className:(0,l.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",b),children:u.map(e=>(0,t.jsx)(c,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(i,{...x,children:a.length?a.map(e=>(0,t.jsx)(o,{className:"function"==typeof f?f(e):f,children:u.map(r=>(0,t.jsx)(d,{className:r.cellClassName,children:r.render(e)},r.key))},m(e))):(0,t.jsx)(o,{hoverable:!1,children:(0,t.jsx)(d,{colSpan:u.length,className:"py-6",children:null!=v?v:(0,t.jsx)(r.Empty,{text:g})})})})]})})}d.displayName="TableCell"},62427,e=>{"use strict";e.s(["clearRuntimeMcpItemConfig",()=>w,"deleteRuntimeMcp",()=>m,"deleteRuntimeSkill",()=>j,"deleteRuntimeTool",()=>u,"exportRuntimeMcpUrl",()=>f,"exportRuntimeSkillUrl",()=>k,"exportRuntimeToolUrl",()=>p,"importRuntimeMcp",()=>g,"importRuntimeTool",()=>b,"installCloudSkill",()=>C,"listBaseSkills",()=>n,"listCloudSkillCatalog",()=>N,"listInstalledSkills",()=>s,"listInstalledTools",()=>l,"listMcpServers",()=>a,"listRuntimeMcpPackages",()=>d,"listRuntimeTools",()=>c,"loadBaseSkillMd",()=>i,"loadRemoteMcpJson",()=>v,"loadRuntimeMcpItemConfig",()=>h,"saveBaseSkillMd",()=>o,"saveRemoteMcpJson",()=>x,"saveRuntimeMcpItemConfig",()=>y]);var t=e.i(29250),r=e.i(36845);async function a(e,a,l){let n=await (0,t.get)((0,r.buildMcpServersListUrl)(e,a,l));return{servers:Array.isArray(n.servers)?n.servers:[]}}async function l(e,a,l){let n=await (0,t.get)((0,r.buildToolInstalledListUrl)(e,a,l));return{tools:Array.isArray(n.tools)?n.tools:[]}}async function n(e,a,l){let n=await (0,t.get)((0,r.buildSkillBaseListUrl)(e,a,l));return{skills:Array.isArray(n.skills)?n.skills:[]}}async function s(e,a,l){let n=await (0,t.get)((0,r.buildSkillInstalledListUrl)(e,a,l));return{skills:Array.isArray(n.skills)?n.skills:[]}}async function i(e,a,l,n){return(0,t.get)((0,r.buildBaseSkillMdUrl)(e,a,l,n))}async function o(e,a,l,n,s){await (0,t.put)((0,r.buildBaseSkillMdUrl)(e,a,l,n),{content:s})}async function c(e,a,l){let n=await (0,t.get)((0,r.buildToolsRuntimeFilesUrl)(e,a,l));return{runtimeToolsDir:"string"==typeof n.runtimeToolsDir?n.runtimeToolsDir:"",items:Array.isArray(n.items)?n.items.filter(e=>!!(e&&e.id)):[]}}async function d(e,a,l){let n=await (0,t.get)((0,r.buildMcpRuntimeFilesUrl)(e,a,l));return{mcpRuntimeDir:"string"==typeof n.mcpRuntimeDir?n.mcpRuntimeDir:"",items:Array.isArray(n.items)?n.items.filter(e=>!!(e&&e.id)):[]}}async function u(e,a,l,n){return(0,t.del)((0,r.buildToolsRuntimeDeleteUrl)(e,a,l,n))}async function m(e,a,l,n){return(0,t.del)((0,r.buildMcpRuntimeDeleteUrl)(e,a,l,n))}function p(e,t,a,l){return(0,r.buildToolsRuntimeExportUrl)(e,t,a,l)}function f(e,t,a,l){return(0,r.buildMcpRuntimeExportUrl)(e,t,a,l)}async function b(e,a,l,n){let s=new FormData;return s.append("file",n),(0,t.post)((0,r.buildToolsRuntimeImportUrl)(e,a,l),s,{type:"file"})}async function g(e,a,l,n){let s=new FormData;return s.append("file",n),(0,t.post)((0,r.buildMcpRuntimeImportUrl)(e,a,l),s,{type:"file"})}async function v(e,a,l){return(0,t.get)((0,r.buildRemoteMcpJsonUrl)(e,a,l))}async function x(e,a,l,n){await (0,t.post)((0,r.buildRemoteMcpJsonUrl)(e,a,l),{content:n})}async function h(e,a,l,n,s){return(0,t.get)((0,r.buildRuntimeMcpItemConfigUrl)(e,a,l,n,s))}async function y(e,a,l,n,s,i){await (0,t.put)((0,r.buildRuntimeMcpItemConfigUrl)(e,a,l,n,s),{server:i})}async function w(e,a,l,n,s){await (0,t.del)((0,r.buildRuntimeMcpItemConfigUrl)(e,a,l,n,s))}async function j(e,a,l,n){return(0,t.del)((0,r.buildSkillsRuntimeDeleteUrl)(e,a,l,n))}function k(e,t,a,l){return(0,r.buildSkillsRuntimeExportUrl)(e,t,a,l)}async function N(e,a,l,n,s,i){let o=await (0,t.get)((0,r.buildCloudSkillCatalogUrl)(e,a,l,n,s,i));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function C(e,a,l,n){await (0,t.post)((0,r.buildCloudSkillInstallUrl)(e,a,l),{id:n})}},53925,e=>{"use strict";e.s(["ResourceImportDialog",()=>u],53925);var t=e.i(18050),r=e.i(71645),a=e.i(72064),l=e.i(75157),n=e.i(19455);function s(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}function i(e){let{uploadUrl:i,accept:o,disabled:c=!1,multiple:d=!1,maxFileSize:u=0x3200000,autoUpload:m=!1,method:p="POST",transport:f="xhr",fieldName:b="file",headers:g,extraFormData:v,autoRetryTimes:x=0,autoRetryDelayMs:h=800,selectionOnly:y=!1,className:w,emptyTitle:j="点击或拖拽文件到此处",emptyHint:k="支持上传文件",onFilesChange:N,onUploadSuccess:C,onUploadError:R,onValidationError:T}=e,S=r.useId(),U=r.useRef(null),M=r.useRef(new Map),A=r.useRef(new Map),D=r.useRef([]),[z,B]=r.useState(!1),[I,E]=r.useState([]),L=r.useMemo(()=>o?o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean):[],[o]);r.useEffect(()=>{D.current=I,null==N||N(I)},[I,N]),r.useEffect(()=>()=>{for(let e of M.current.values())e.abort();for(let e of A.current.values())e.abort();for(let e of D.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)},[]);let _=r.useCallback((e,t)=>{E(r=>r.map(r=>r.id===e?{...r,...t}:r))},[]),O=r.useCallback(async(e,t)=>{let r=D.current.find(t=>t.id===e);if(!r||c)return;_(e,{status:t>0?"retrying":"uploading",progress:0,error:"",retryCount:t});let a=new FormData;if(v)for(let[e,t]of Object.entries(v))a.append(e,t);a.append(b,r.file);try{let t="";if("fetch"===f){let r=new AbortController;A.current.set(e,r);let l=await fetch(i,{method:p,headers:g,body:a,signal:r.signal}),n=await l.text();try{t=n?JSON.parse(n):""}catch(e){t=n}if(!l.ok)throw Error("上传失败:".concat(l.status," ").concat(l.statusText))}else t=await new Promise((t,r)=>{let l=new XMLHttpRequest;if(M.current.set(e,l),l.open(p,i,!0),g)for(let[e,t]of Object.entries(g))l.setRequestHeader(e,t);l.upload.onprogress=t=>{if(!t.lengthComputable)return;let r=Math.min(100,Math.round(t.loaded/t.total*100));_(e,{progress:r})},l.onerror=()=>r(Error("网络异常,上传失败")),l.onabort=()=>r(Error("__ABORTED__")),l.onload=()=>{l.status>=200&&l.status<300?t(function(e){let t=e.responseText||"";try{return JSON.parse(t)}catch(e){return t}}(l)):r(Error("上传失败:".concat(l.status," ").concat(l.statusText)))},l.send(a)});_(e,{status:"success",progress:100,error:""});let r=D.current.find(t=>t.id===e);r&&(null==C||C(r,t))}catch(l){let r=l instanceof Error?l.message:String(l);if("__ABORTED__"===r)return void _(e,{status:"selected",progress:0,error:""});if(t<x){_(e,{status:"retrying",error:"重试中(".concat(t+1,"/").concat(x,")")}),await new Promise(e=>window.setTimeout(e,h)),await O(e,t+1);return}_(e,{status:"error",error:r});let a=D.current.find(t=>t.id===e);a&&(null==R||R(a,r))}finally{M.current.delete(e),A.current.delete(e)}},[h,x,c,v,b,g,p,R,C,f,_,i]),F=r.useCallback(e=>{O(e,0)},[O]),P=r.useCallback(e=>{var t,r;null==(t=M.current.get(e))||t.abort(),null==(r=A.current.get(e))||r.abort()},[]),H=r.useCallback(()=>{for(let e of D.current)("selected"===e.status||"error"===e.status)&&F(e.id)},[F]),V=r.useCallback(e=>{if(c||!e.length)return;let t=new Set(D.current.map(e=>"".concat(e.file.name,"::").concat(e.file.size))),r=[];for(let a of e){let e="".concat(a.name,"::").concat(a.size);if(!t.has(e)){if(!function(e,t){if(!t.length)return!0;let r=e.name.toLowerCase(),a=(e.type||"").toLowerCase();return t.some(e=>e.startsWith(".")?r.endsWith(e):e.endsWith("/*")?a.startsWith("".concat(e.slice(0,-1))):a===e)}(a,L)){null==T||T("文件类型不支持:".concat(a.name));continue}if(a.size>u){null==T||T("文件过大(最大 ".concat(s(u),"):").concat(a.name));continue}t.add(e),r.push({id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),file:a,status:"selected",progress:0,error:"",retryCount:0,previewUrl:a.type.startsWith("image/")?URL.createObjectURL(a):""})}}if(!r.length)return;let a=d?[...D.current,...r]:[r[r.length-1]];if(!d)for(let e of D.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);if(E(a),m&&!y)for(let e of r)F(e.id)},[L,m,c,u,d,T,y,F]),J=r.useCallback(e=>{let t=e.target.files;t&&(V(Array.from(t)),e.target.value="")},[V]),K=r.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),B(!1),c||V(Array.from(null!=(t=e.dataTransfer.files)?t:[]))},[V,c]);return(0,t.jsxs)("div",{className:(0,l.cn)("flex min-h-0 w-full flex-col gap-3",w),children:[(0,t.jsx)("input",{ref:U,id:S,type:"file",hidden:!0,accept:o,multiple:d,disabled:c,onChange:J}),(0,t.jsxs)("label",{htmlFor:S,onDragOver:e=>{e.preventDefault(),c||B(!0)},onDragLeave:e=>{e.preventDefault(),B(!1)},onDrop:K,className:(0,l.cn)("flex min-h-[124px] cursor-pointer flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-[var(--ds-border)] px-4 py-6 text-center transition-colors hover:border-[var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",z&&"bg-[var(--ds-accent)]/5 border-[var(--ds-accent)]",c&&"cursor-not-allowed opacity-60"),children:[(0,t.jsx)(a.default,{name:"Upload",size:20,className:"text-[var(--ds-muted)]"}),(0,t.jsx)("div",{className:"text-[var(--ds-text)]",children:j}),(0,t.jsx)("div",{className:"text-[var(--ds-muted)]",children:k})]}),I.length?(0,t.jsx)("div",{className:"space-y-2",children:I.map(e=>(0,t.jsx)("div",{className:"rounded-md border border-[var(--ds-border)] p-2.5",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-[var(--ds-text)]",children:e.file.name}),(0,t.jsx)("div",{className:"text-[var(--ds-muted)]",children:s(e.file.size)}),e.previewUrl?(0,t.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"mt-2 h-14 w-14 rounded object-cover"}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsx)("div",{className:"mt-2 h-1.5 w-full overflow-hidden rounded bg-[var(--ds-main-tint)]",children:(0,t.jsx)("div",{className:"h-full bg-[var(--ds-accent)] transition-all",style:{width:"".concat(e.progress,"%")}})}):null,"error"===e.status?(0,t.jsx)("div",{className:"mt-1 text-[var(--ds-danger)]",children:e.error||"上传失败"}):null]}),y?null:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:["success"===e.status?(0,t.jsx)(a.default,{name:"CheckCircle2",size:16,className:"text-[var(--ds-accent)]"}):null,"selected"===e.status||"error"===e.status?(0,t.jsxs)(n.Button,{type:"button",size:"sm",variant:"outline",disabled:c,onClick:()=>F(e.id),children:["error"===e.status?(0,t.jsx)(a.default,{name:"RefreshCw",size:14,className:"mr-1"}):null,"error"===e.status?"重试":"上传"]}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsxs)(n.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>P(e.id),children:[(0,t.jsx)(a.default,{name:"XCircle",size:14,className:"mr-1"}),"取消"]}):null]})]})},e.id))}):null,!y&&!m&&I.some(e=>"selected"===e.status||"error"===e.status)?(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(n.Button,{type:"button",size:"sm",onClick:H,disabled:c,children:"上传"})}):null]})}var o=e.i(76639),c=e.i(13354),d=e.i(29250);function u(e){let{open:a,onOpenChange:l,title:s,description:u,uploadUrl:m,resetKey:p}=e,[f,b]=(0,r.useState)(!1),[g,v]=(0,r.useState)(null),x=(0,r.useCallback)(()=>{l(!1),v(null)},[l]),h=(0,r.useCallback)(async()=>{if(!g)return void c.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",g),b(!0);try{let t=await (0,d.bridgeFetch)(m,{method:"POST",body:e}),r=Number(t.imported||0),a=Number(t.overwritten||0),l=Array.isArray(t.rejected)?t.rejected.length:0;c.appToast.success("导入完成:导入 ".concat(r,",覆盖 ").concat(a)+(l>0?",拒绝 ".concat(l):"")),x()}catch(e){c.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{b(!1)}},[x,g,m]);return(0,t.jsx)(o.Dialog,{open:a,onOpenChange:e=>{l(e),e||v(null)},children:(0,t.jsxs)(o.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.DialogTitle,{children:s}),(0,t.jsx)(o.DialogDescription,{children:u})]}),(0,t.jsx)(o.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:x,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(i,{uploadUrl:m,accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:f,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,r;v(null!=(r=null==(t=e[0])?void 0:t.file)?r:null)},onValidationError:e=>{c.appToast.info(e)}},"".concat(a?"open":"closed","-").concat(null!=p?p:m)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(n.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:x,children:"取消"}),(0,t.jsx)(n.Button,{type:"button",size:"lg",variant:"default",disabled:f||null==g,onClick:()=>void h(),children:f?"导入中…":"确定"})]})]})]})})}},19573,e=>{"use strict";e.s(["ToolsManageView",()=>j],19573);var t=e.i(18050),r=e.i(71645),a=e.i(65934),l=e.i(87243),n=e.i(13354),s=e.i(50711),i=e.i(19455),o=e.i(94055),c=e.i(94197),d=e.i(92715),u=e.i(36413);function m(e){let{items:r,saveBusy:a,onToggle:l,onExport:n,onRemove:s,className:i}=e,m=[{key:"name",title:"名称",headerClassName:"",cellClassName:"",render:e=>{let r=e.label||e.name;return(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)("span",{children:r}),(0,t.jsx)(u.StatusBadge,{tone:e.enabled?"success":"default",children:e.enabled?"启用":"未启用"})]})}},{key:"layer",title:"层级",headerClassName:"w-[88px]",cellClassName:"w-[88px] whitespace-nowrap text-[var(--ds-text)]",render:e=>"system"===e.layer?"系统":"agent"===e.layer?"Agent":"-"},{key:"description",title:"详情",headerClassName:"",cellClassName:"",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"",cellClassName:"whitespace-nowrap text-[var(--ds-text)]",render:e=>(0,t.jsx)("span",{className:"inline-flex items-center gap-2",children:(0,t.jsx)(o.AccentSwitch,{checked:!!e.enabled,disabled:a,onCheckedChange:t=>l(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] ",cellClassName:"w-[128px]",render:e=>{let r=!0===e.canManage;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(c.IconTooltipButton,{icon:"Download",label:r?"导出":"系统内置工具不可导出",ariaLabel:"导出 ".concat(e.label||e.name),disabled:a||!r,onClick:()=>n(e.name)}),(0,t.jsx)(c.IconTooltipButton,{icon:"Trash2",label:r?"删除":"系统内置工具不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label||e.name),disabled:a||!r,onClick:()=>{s(e.name)}})]})}}];return(0,t.jsx)(d.AppTable,{rows:r,columns:m,getRowKey:e=>"tools:".concat(e.name),className:i})}var p=e.i(36845),f=e.i(53925);function b(e){let{open:r,onOpenChange:a,wsUrl:l,apiBase:n,agent:s}=e;return(0,t.jsx)(f.ResourceImportDialog,{open:r,onOpenChange:a,title:"导入工具 zip",description:"选择一个 zip 文件并导入到 tools-runtime。",uploadUrl:(0,p.buildToolsRuntimeImportUrl)(l,n,s),resetKey:s})}var g=e.i(68499),v=e.i(72064),x=e.i(56708),h=e.i(62427);function y(e){return(null!=e.packageId?String(e.packageId).trim():"")||e.name}function w(e){let t=null!=e.packageId?String(e.packageId).trim():"";return!0===e.deletable&&t.length>0}function j(){let e=(0,a.useAppStore)(e=>e.wsUrl),o=(0,a.useAppStore)(e=>e.apiBase),c=(0,a.useAppStore)(e=>e.agentConfig),d=(0,a.useAppStore)(e=>e.patchAgentConfig),{currentAgent:u,loadAgentConfig:p}=(0,l.useSession)(),f=(0,s.usePersistAgentConfigField)("tools"),j=c.tools,[k,N]=(0,r.useState)([]),[C,R]=(0,r.useState)(!1),[T,S]=(0,r.useState)(!1),[U,M]=(0,r.useState)(!1);(0,r.useEffect)(()=>{p()},[p]);let A=(0,r.useCallback)(async(e,t)=>{S(!0);try{await f(e,{silent:t})}finally{S(!1)}},[f]),D=(0,r.useCallback)(async()=>{N([]),R(!0);try{var t;let r=await (0,h.listInstalledTools)(e,o,u());N(null!=(t=r.tools)?t:[])}catch(e){N([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{R(!1)}},[e,o,u]);(0,r.useEffect)(()=>{D()},[D]);let z=(0,r.useCallback)(e=>k.find(t=>t.name===e),[k]),B=(0,r.useMemo)(()=>k.slice().sort((e,t)=>e.name.localeCompare(t.name)).map(e=>(function(e,t){var r;let a=null!=e.packageName?String(e.packageName).trim():"";return{name:e.name,label:(e.displayName&&e.displayName!==e.name?"".concat(e.displayName," · "):"")+e.name,description:null!=(r=e.searchHint)?r:"",enabled:t,packageId:a,canManage:w({deletable:e.deletable,packageId:a}),layer:e.layer}})(e,j.includes(e.name))),[k,j]),I=(0,r.useCallback)(async t=>{let r=z(t);if(!r||!w({deletable:r.deletable,packageId:r.packageName}))return void n.appToast.error("系统内置工具不可删除");if(await (0,g.confirmAlertDialog)({title:"确认删除工具包?",description:"工具名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,h.deleteRuntimeTool)(e,o,u(),y({packageId:r.packageName,name:r.name}));let a=j.filter(e=>e!==t);d({tools:a}),await A(a,!0),await D()}catch(e){n.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[z,e,o,u,j,d,A,D]),E=(0,r.useCallback)(t=>{let r=z(t);if(!r||!w({deletable:r.deletable,packageId:r.packageName}))return void n.appToast.error("系统内置工具不可导出");window.open((0,h.exportRuntimeToolUrl)(e,o,u(),y({packageId:r.packageName,name:r.name})),"_blank","noopener")},[z,e,o,u]),L=(0,r.useCallback)((e,t)=>{let r=t?[...new Set([...j,e])].sort():j.filter(t=>t!==e).sort();d({tools:r}),A(r,!0)},[j,d,A]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.ManageChromeHeaderActions,{children:(0,t.jsxs)(i.Button,{id:"btnAgentPickerToolImport",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>M(!0),children:[(0,t.jsx)(v.default,{name:"Import",size:16,className:"align-middle"}),"导入自定义工具"]})}),C?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(m,{items:B,saveBusy:T,onToggle:L,onExport:E,onRemove:I}),(0,t.jsx)(b,{open:U,onOpenChange:e=>{M(e),e||D()},wsUrl:e,apiBase:o,agent:u()})]})}}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36413,e=>{"use strict";e.s(["StatusBadge",()=>i],36413);var t=e.i(18050),r=e.i(25913),a=e.i(75157);let l=(0,r.cva)("inline-flex shrink-0 items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-colors focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-white",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function n(e){let{className:r,variant:n,...s}=e;return(0,t.jsx)("span",{"data-slot":"badge",className:(0,a.cn)(l({variant:n}),r),...s})}let s={success:{root:"border-transparent bg-[var(--green-light)] text-[var(--green-dark)]",dot:"bg-[var(--ds-ok)]"},danger:{root:"border-transparent bg-[#fef2f2] text-[var(--ds-danger)]",dot:"bg-[var(--ds-danger)]"},default:{root:"border-transparent bg-[var(--surface-2)] text-[var(--ds-muted)]",dot:"bg-[var(--ds-muted)]"},progress:{root:"border-transparent bg-[color-mix(in_srgb,var(--blue)_12%,var(--surface-1))] text-[var(--blue)]",dot:"bg-[var(--blue)]"},warning:{root:"border-transparent bg-[color-mix(in_srgb,var(--amber)_14%,var(--surface-1))] text-[var(--amber)]",dot:"bg-[var(--amber)]"}};function i(e){let{tone:r="default",showDot:l=!0,dotClassName:i,className:o,children:c,...d}=e,u=s[r];return(0,t.jsxs)(n,{variant:"outline",className:(0,a.cn)("gap-1.5",u.root,o),...d,children:[l?(0,t.jsx)("span",{className:(0,a.cn)("size-1.5 shrink-0 rounded-full",u.dot,i),"aria-hidden":!0}):null,c]})}},92715,e=>{"use strict";e.s(["AppTable",()=>u],92715);var t=e.i(18050),r=e.i(85413),a=e.i(71645),l=e.i(75157);let n=a.forwardRef((e,r)=>{let{className:a,...n}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:r,className:(0,l.cn)("w-full caption-bottom border-collapse",a),...n})})});n.displayName="Table";let s=a.forwardRef((e,r)=>{let{className:a,...n}=e;return(0,t.jsx)("thead",{ref:r,className:(0,l.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",a),...n})});s.displayName="TableHeader";let i=a.forwardRef((e,r)=>{let{className:n,viewportFit:s=!0,viewportReserveBottom:i=16,viewportPaginationReserve:o=0,style:c,...d}=e,u=a.useRef(null),m=a.useCallback(e=>{u.current=e,"function"==typeof r?r(e):r&&(r.current=e)},[r]),[p,f]=a.useState(void 0);return a.useLayoutEffect(()=>{var e,t;if(!s)return void f(void 0);let r=()=>{var e,t;let r=u.current;if(!r)return;let a=r.getBoundingClientRect().top;f(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-a-(i+o))))};r();let a=new ResizeObserver(()=>{r()});try{a.observe(document.body)}catch(e){}return window.addEventListener("resize",r),null==(e=window.visualViewport)||e.addEventListener("resize",r),null==(t=window.visualViewport)||t.addEventListener("scroll",r),window.addEventListener("scroll",r,!0),()=>{var e,t;a.disconnect(),window.removeEventListener("resize",r),null==(e=window.visualViewport)||e.removeEventListener("resize",r),null==(t=window.visualViewport)||t.removeEventListener("scroll",r),window.removeEventListener("scroll",r,!0)}},[s,i,o]),(0,t.jsx)("tbody",{ref:m,className:(0,l.cn)("block overflow-y-auto [&_tr:last-child]:border-b-0 [&_tr:last-child_td]:border-b-0 [&_tr]:table [&_tr]:w-full [&_tr]:table-fixed",n),style:s&&void 0!==p?{...c,maxHeight:p}:c,...d})});i.displayName="TableBody";let o=a.forwardRef((e,r)=>{let{className:a,hoverable:n=!0,...s}=e;return(0,t.jsx)("tr",{ref:r,className:(0,l.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",n&&"group/table-row",a),...s})});o.displayName="TableRow";let c=a.forwardRef((e,r)=>{let{className:a,...n}=e;return(0,t.jsx)("th",{ref:r,className:(0,l.cn)("h-10 border-b border-[var(--border-subtle)] bg-[var(--surface-2)] px-3 text-left align-middle text-[14px] font-medium !text-[var(--ds-text)] text-muted-foreground",a),...n})});c.displayName="TableHead";let d=a.forwardRef((e,r)=>{let{className:a,...n}=e;return(0,t.jsx)("td",{ref:r,className:(0,l.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle transition-colors group-has-[td:hover]/table-row:!bg-[var(--ds-item-hover)]",a),...n})});function u(e){let{rows:a,columns:u,getRowKey:m,className:p,rowClassName:f,headerRowClassName:b,emptyText:g,emptyNode:v,bodyProps:x}=e;return(0,t.jsx)("div",{className:(0,l.cn)("overflow-hidden border border-[var(--ds-border)]",p),children:(0,t.jsxs)(n,{children:[(0,t.jsx)(s,{children:(0,t.jsx)(o,{className:(0,l.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",b),children:u.map(e=>(0,t.jsx)(c,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(i,{...x,children:a.length?a.map(e=>(0,t.jsx)(o,{className:"function"==typeof f?f(e):f,children:u.map(r=>(0,t.jsx)(d,{className:r.cellClassName,children:r.render(e)},r.key))},m(e))):(0,t.jsx)(o,{hoverable:!1,children:(0,t.jsx)(d,{colSpan:u.length,className:"py-6",children:null!=v?v:(0,t.jsx)(r.Empty,{text:g})})})})]})})}d.displayName="TableCell"},62427,e=>{"use strict";e.s(["clearRuntimeMcpItemConfig",()=>w,"deleteRuntimeMcp",()=>m,"deleteRuntimeSkill",()=>j,"deleteRuntimeTool",()=>u,"exportRuntimeMcpUrl",()=>f,"exportRuntimeSkillUrl",()=>N,"exportRuntimeToolUrl",()=>p,"importRuntimeMcp",()=>g,"importRuntimeTool",()=>b,"installCloudSkill",()=>C,"listBaseSkills",()=>n,"listCloudSkillCatalog",()=>k,"listInstalledSkills",()=>s,"listInstalledTools",()=>l,"listMcpServers",()=>a,"listRuntimeMcpPackages",()=>d,"listRuntimeTools",()=>c,"loadBaseSkillMd",()=>i,"loadRemoteMcpJson",()=>v,"loadRuntimeMcpItemConfig",()=>h,"saveBaseSkillMd",()=>o,"saveRemoteMcpJson",()=>x,"saveRuntimeMcpItemConfig",()=>y]);var t=e.i(29250),r=e.i(36845);async function a(e,a,l){let n=await (0,t.get)((0,r.buildMcpServersListUrl)(e,a,l));return{servers:Array.isArray(n.servers)?n.servers:[]}}async function l(e,a,l){let n=await (0,t.get)((0,r.buildToolInstalledListUrl)(e,a,l));return{tools:Array.isArray(n.tools)?n.tools:[]}}async function n(e,a,l){let n=await (0,t.get)((0,r.buildSkillBaseListUrl)(e,a,l));return{skills:Array.isArray(n.skills)?n.skills:[]}}async function s(e,a,l){let n=await (0,t.get)((0,r.buildSkillInstalledListUrl)(e,a,l));return{skills:Array.isArray(n.skills)?n.skills:[]}}async function i(e,a,l,n){return(0,t.get)((0,r.buildBaseSkillMdUrl)(e,a,l,n))}async function o(e,a,l,n,s){await (0,t.put)((0,r.buildBaseSkillMdUrl)(e,a,l,n),{content:s})}async function c(e,a,l){let n=await (0,t.get)((0,r.buildToolsRuntimeFilesUrl)(e,a,l));return{runtimeToolsDir:"string"==typeof n.runtimeToolsDir?n.runtimeToolsDir:"",items:Array.isArray(n.items)?n.items.filter(e=>!!(e&&e.id)):[]}}async function d(e,a,l){let n=await (0,t.get)((0,r.buildMcpRuntimeFilesUrl)(e,a,l));return{mcpRuntimeDir:"string"==typeof n.mcpRuntimeDir?n.mcpRuntimeDir:"",items:Array.isArray(n.items)?n.items.filter(e=>!!(e&&e.id)):[]}}async function u(e,a,l,n){return(0,t.del)((0,r.buildToolsRuntimeDeleteUrl)(e,a,l,n))}async function m(e,a,l,n){return(0,t.del)((0,r.buildMcpRuntimeDeleteUrl)(e,a,l,n))}function p(e,t,a,l){return(0,r.buildToolsRuntimeExportUrl)(e,t,a,l)}function f(e,t,a,l){return(0,r.buildMcpRuntimeExportUrl)(e,t,a,l)}async function b(e,a,l,n){let s=new FormData;return s.append("file",n),(0,t.post)((0,r.buildToolsRuntimeImportUrl)(e,a,l),s,{type:"file"})}async function g(e,a,l,n){let s=new FormData;return s.append("file",n),(0,t.post)((0,r.buildMcpRuntimeImportUrl)(e,a,l),s,{type:"file"})}async function v(e,a,l){return(0,t.get)((0,r.buildRemoteMcpJsonUrl)(e,a,l))}async function x(e,a,l,n){await (0,t.post)((0,r.buildRemoteMcpJsonUrl)(e,a,l),{content:n})}async function h(e,a,l,n,s){return(0,t.get)((0,r.buildRuntimeMcpItemConfigUrl)(e,a,l,n,s))}async function y(e,a,l,n,s,i){await (0,t.put)((0,r.buildRuntimeMcpItemConfigUrl)(e,a,l,n,s),{server:i})}async function w(e,a,l,n,s){await (0,t.del)((0,r.buildRuntimeMcpItemConfigUrl)(e,a,l,n,s))}async function j(e,a,l,n){return(0,t.del)((0,r.buildSkillsRuntimeDeleteUrl)(e,a,l,n))}function N(e,t,a,l){return(0,r.buildSkillsRuntimeExportUrl)(e,t,a,l)}async function k(e,a,l,n,s,i){let o=await (0,t.get)((0,r.buildCloudSkillCatalogUrl)(e,a,l,n,s,i));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function C(e,a,l,n){await (0,t.post)((0,r.buildCloudSkillInstallUrl)(e,a,l),{id:n})}},53925,e=>{"use strict";e.s(["ResourceImportDialog",()=>u],53925);var t=e.i(18050),r=e.i(71645),a=e.i(72064),l=e.i(75157),n=e.i(19455);function s(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}function i(e){let{uploadUrl:i,accept:o,disabled:c=!1,multiple:d=!1,maxFileSize:u=0x3200000,autoUpload:m=!1,method:p="POST",transport:f="xhr",fieldName:b="file",headers:g,extraFormData:v,autoRetryTimes:x=0,autoRetryDelayMs:h=800,selectionOnly:y=!1,className:w,emptyTitle:j="点击或拖拽文件到此处",emptyHint:N="支持上传文件",onFilesChange:k,onUploadSuccess:C,onUploadError:R,onValidationError:T}=e,S=r.useId(),U=r.useRef(null),M=r.useRef(new Map),A=r.useRef(new Map),D=r.useRef([]),[z,I]=r.useState(!1),[B,E]=r.useState([]),L=r.useMemo(()=>o?o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean):[],[o]);r.useEffect(()=>{D.current=B,null==k||k(B)},[B,k]),r.useEffect(()=>()=>{for(let e of M.current.values())e.abort();for(let e of A.current.values())e.abort();for(let e of D.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)},[]);let _=r.useCallback((e,t)=>{E(r=>r.map(r=>r.id===e?{...r,...t}:r))},[]),O=r.useCallback(async(e,t)=>{let r=D.current.find(t=>t.id===e);if(!r||c)return;_(e,{status:t>0?"retrying":"uploading",progress:0,error:"",retryCount:t});let a=new FormData;if(v)for(let[e,t]of Object.entries(v))a.append(e,t);a.append(b,r.file);try{let t="";if("fetch"===f){let r=new AbortController;A.current.set(e,r);let l=await fetch(i,{method:p,headers:g,body:a,signal:r.signal}),n=await l.text();try{t=n?JSON.parse(n):""}catch(e){t=n}if(!l.ok)throw Error("上传失败:".concat(l.status," ").concat(l.statusText))}else t=await new Promise((t,r)=>{let l=new XMLHttpRequest;if(M.current.set(e,l),l.open(p,i,!0),g)for(let[e,t]of Object.entries(g))l.setRequestHeader(e,t);l.upload.onprogress=t=>{if(!t.lengthComputable)return;let r=Math.min(100,Math.round(t.loaded/t.total*100));_(e,{progress:r})},l.onerror=()=>r(Error("网络异常,上传失败")),l.onabort=()=>r(Error("__ABORTED__")),l.onload=()=>{l.status>=200&&l.status<300?t(function(e){let t=e.responseText||"";try{return JSON.parse(t)}catch(e){return t}}(l)):r(Error("上传失败:".concat(l.status," ").concat(l.statusText)))},l.send(a)});_(e,{status:"success",progress:100,error:""});let r=D.current.find(t=>t.id===e);r&&(null==C||C(r,t))}catch(l){let r=l instanceof Error?l.message:String(l);if("__ABORTED__"===r)return void _(e,{status:"selected",progress:0,error:""});if(t<x){_(e,{status:"retrying",error:"重试中(".concat(t+1,"/").concat(x,")")}),await new Promise(e=>window.setTimeout(e,h)),await O(e,t+1);return}_(e,{status:"error",error:r});let a=D.current.find(t=>t.id===e);a&&(null==R||R(a,r))}finally{M.current.delete(e),A.current.delete(e)}},[h,x,c,v,b,g,p,R,C,f,_,i]),F=r.useCallback(e=>{O(e,0)},[O]),P=r.useCallback(e=>{var t,r;null==(t=M.current.get(e))||t.abort(),null==(r=A.current.get(e))||r.abort()},[]),H=r.useCallback(()=>{for(let e of D.current)("selected"===e.status||"error"===e.status)&&F(e.id)},[F]),V=r.useCallback(e=>{if(c||!e.length)return;let t=new Set(D.current.map(e=>"".concat(e.file.name,"::").concat(e.file.size))),r=[];for(let a of e){let e="".concat(a.name,"::").concat(a.size);if(!t.has(e)){if(!function(e,t){if(!t.length)return!0;let r=e.name.toLowerCase(),a=(e.type||"").toLowerCase();return t.some(e=>e.startsWith(".")?r.endsWith(e):e.endsWith("/*")?a.startsWith("".concat(e.slice(0,-1))):a===e)}(a,L)){null==T||T("文件类型不支持:".concat(a.name));continue}if(a.size>u){null==T||T("文件过大(最大 ".concat(s(u),"):").concat(a.name));continue}t.add(e),r.push({id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),file:a,status:"selected",progress:0,error:"",retryCount:0,previewUrl:a.type.startsWith("image/")?URL.createObjectURL(a):""})}}if(!r.length)return;let a=d?[...D.current,...r]:[r[r.length-1]];if(!d)for(let e of D.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);if(E(a),m&&!y)for(let e of r)F(e.id)},[L,m,c,u,d,T,y,F]),J=r.useCallback(e=>{let t=e.target.files;t&&(V(Array.from(t)),e.target.value="")},[V]),K=r.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),I(!1),c||V(Array.from(null!=(t=e.dataTransfer.files)?t:[]))},[V,c]);return(0,t.jsxs)("div",{className:(0,l.cn)("flex min-h-0 w-full flex-col gap-3",w),children:[(0,t.jsx)("input",{ref:U,id:S,type:"file",hidden:!0,accept:o,multiple:d,disabled:c,onChange:J}),(0,t.jsxs)("label",{htmlFor:S,onDragOver:e=>{e.preventDefault(),c||I(!0)},onDragLeave:e=>{e.preventDefault(),I(!1)},onDrop:K,className:(0,l.cn)("flex min-h-[124px] cursor-pointer flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-[var(--ds-border)] px-4 py-6 text-center transition-colors hover:border-[var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",z&&"bg-[var(--ds-accent)]/5 border-[var(--ds-accent)]",c&&"cursor-not-allowed opacity-60"),children:[(0,t.jsx)(a.default,{name:"Upload",size:20,className:"text-[var(--ds-muted)]"}),(0,t.jsx)("div",{className:"text-[var(--ds-text)]",children:j}),(0,t.jsx)("div",{className:"text-[var(--ds-muted)]",children:N})]}),B.length?(0,t.jsx)("div",{className:"space-y-2",children:B.map(e=>(0,t.jsx)("div",{className:"rounded-md border border-[var(--ds-border)] p-2.5",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-[var(--ds-text)]",children:e.file.name}),(0,t.jsx)("div",{className:"text-[var(--ds-muted)]",children:s(e.file.size)}),e.previewUrl?(0,t.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"mt-2 h-14 w-14 rounded object-cover"}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsx)("div",{className:"mt-2 h-1.5 w-full overflow-hidden rounded bg-[var(--ds-main-tint)]",children:(0,t.jsx)("div",{className:"h-full bg-[var(--ds-accent)] transition-all",style:{width:"".concat(e.progress,"%")}})}):null,"error"===e.status?(0,t.jsx)("div",{className:"mt-1 text-[var(--ds-danger)]",children:e.error||"上传失败"}):null]}),y?null:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:["success"===e.status?(0,t.jsx)(a.default,{name:"CheckCircle2",size:16,className:"text-[var(--ds-accent)]"}):null,"selected"===e.status||"error"===e.status?(0,t.jsxs)(n.Button,{type:"button",size:"sm",variant:"outline",disabled:c,onClick:()=>F(e.id),children:["error"===e.status?(0,t.jsx)(a.default,{name:"RefreshCw",size:14,className:"mr-1"}):null,"error"===e.status?"重试":"上传"]}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsxs)(n.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>P(e.id),children:[(0,t.jsx)(a.default,{name:"XCircle",size:14,className:"mr-1"}),"取消"]}):null]})]})},e.id))}):null,!y&&!m&&B.some(e=>"selected"===e.status||"error"===e.status)?(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(n.Button,{type:"button",size:"sm",onClick:H,disabled:c,children:"上传"})}):null]})}var o=e.i(76639),c=e.i(13354),d=e.i(29250);function u(e){let{open:a,onOpenChange:l,title:s,description:u,uploadUrl:m,resetKey:p}=e,[f,b]=(0,r.useState)(!1),[g,v]=(0,r.useState)(null),x=(0,r.useCallback)(()=>{l(!1),v(null)},[l]),h=(0,r.useCallback)(async()=>{if(!g)return void c.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",g),b(!0);try{let t=await (0,d.bridgeFetch)(m,{method:"POST",body:e}),r=Number(t.imported||0),a=Number(t.overwritten||0),l=Array.isArray(t.rejected)?t.rejected.length:0;c.appToast.success("导入完成:导入 ".concat(r,",覆盖 ").concat(a)+(l>0?",拒绝 ".concat(l):"")),x()}catch(e){c.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{b(!1)}},[x,g,m]);return(0,t.jsx)(o.Dialog,{open:a,onOpenChange:e=>{l(e),e||v(null)},children:(0,t.jsxs)(o.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.DialogTitle,{children:s}),(0,t.jsx)(o.DialogDescription,{children:u})]}),(0,t.jsx)(o.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:x,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(i,{uploadUrl:m,accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:f,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,r;v(null!=(r=null==(t=e[0])?void 0:t.file)?r:null)},onValidationError:e=>{c.appToast.info(e)}},"".concat(a?"open":"closed","-").concat(null!=p?p:m)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(n.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:x,children:"取消"}),(0,t.jsx)(n.Button,{type:"button",size:"lg",variant:"default",disabled:f||null==g,onClick:()=>void h(),children:f?"导入中…":"确定"})]})]})]})})}},19573,e=>{"use strict";e.s(["ToolsManageView",()=>N],19573);var t=e.i(18050),r=e.i(71645),a=e.i(65934),l=e.i(87243),n=e.i(13354),s=e.i(50711),i=e.i(19455),o=e.i(94055),c=e.i(94197),d=e.i(92715),u=e.i(36413),m=e.i(72064),p=e.i(93479);function f(e){let{items:a,saveBusy:l,onToggle:n,onExport:s,onRemove:i,className:f}=e,[b,g]=(0,r.useState)(""),v=(0,r.useMemo)(()=>a.filter(e=>(function(e,t){var r,a;let l=t.trim().toLowerCase();if(!l)return!0;let n="system"===e.layer?"系统":"agent"===e.layer?"Agent":"";return"".concat(e.name," ").concat(null!=(r=e.label)?r:""," ").concat(null!=(a=e.description)?a:""," ").concat(n).toLowerCase().includes(l)})(e,b)),[a,b]),x=[{key:"name",title:"名称",headerClassName:"",cellClassName:"",render:e=>{let r=e.label||e.name;return(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)("span",{children:r}),(0,t.jsx)(u.StatusBadge,{tone:e.enabled?"success":"default",children:e.enabled?"启用":"未启用"})]})}},{key:"layer",title:"层级",headerClassName:"w-[88px]",cellClassName:"w-[88px] whitespace-nowrap text-[var(--ds-text)]",render:e=>"system"===e.layer?"系统":"agent"===e.layer?"Agent":"-"},{key:"description",title:"详情",headerClassName:"",cellClassName:"",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"",cellClassName:"whitespace-nowrap text-[var(--ds-text)]",render:e=>(0,t.jsx)("span",{className:"inline-flex items-center gap-2",children:(0,t.jsx)(o.AccentSwitch,{checked:!!e.enabled,disabled:l,onCheckedChange:t=>n(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] ",cellClassName:"w-[128px]",render:e=>{let r=!0===e.canManage;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(c.IconTooltipButton,{icon:"Download",label:r?"导出":"系统内置工具不可导出",ariaLabel:"导出 ".concat(e.label||e.name),disabled:l||!r,onClick:()=>s(e.name)}),(0,t.jsx)(c.IconTooltipButton,{icon:"Trash2",label:r?"删除":"系统内置工具不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label||e.name),disabled:l||!r,onClick:()=>{i(e.name)}})]})}}],h=b.trim();return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(p.Input,{type:"search",value:b,onChange:e=>g(e.target.value),placeholder:"搜索名称 / 详情 / 层级",className:"h-8 pl-8","aria-label":"搜索工具"}),(0,t.jsx)(m.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[var(--ds-muted)]"})]}),(0,t.jsx)(d.AppTable,{rows:v,columns:x,getRowKey:e=>"tools:".concat(e.name),className:f,emptyText:h?"未找到匹配工具":void 0})]})}var b=e.i(36845),g=e.i(53925);function v(e){let{open:r,onOpenChange:a,wsUrl:l,apiBase:n,agent:s}=e;return(0,t.jsx)(g.ResourceImportDialog,{open:r,onOpenChange:a,title:"导入工具 zip",description:"选择一个 zip 文件并导入到 tools-runtime。",uploadUrl:(0,b.buildToolsRuntimeImportUrl)(l,n,s),resetKey:s})}var x=e.i(68499),h=e.i(56708),y=e.i(62427);function w(e){return(null!=e.packageId?String(e.packageId).trim():"")||e.name}function j(e){let t=null!=e.packageId?String(e.packageId).trim():"";return!0===e.deletable&&t.length>0}function N(){let e=(0,a.useAppStore)(e=>e.wsUrl),o=(0,a.useAppStore)(e=>e.apiBase),c=(0,a.useAppStore)(e=>e.agentConfig),d=(0,a.useAppStore)(e=>e.patchAgentConfig),{currentAgent:u,loadAgentConfig:p}=(0,l.useSession)(),b=(0,s.usePersistAgentConfigField)("tools"),g=c.tools,[N,k]=(0,r.useState)([]),[C,R]=(0,r.useState)(!1),[T,S]=(0,r.useState)(!1),[U,M]=(0,r.useState)(!1);(0,r.useEffect)(()=>{p()},[p]);let A=(0,r.useCallback)(async(e,t)=>{S(!0);try{await b(e,{silent:t})}finally{S(!1)}},[b]),D=(0,r.useCallback)(async()=>{k([]),R(!0);try{var t;let r=await (0,y.listInstalledTools)(e,o,u());k(null!=(t=r.tools)?t:[])}catch(e){k([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{R(!1)}},[e,o,u]);(0,r.useEffect)(()=>{D()},[D]);let z=(0,r.useCallback)(e=>N.find(t=>t.name===e),[N]),I=(0,r.useMemo)(()=>N.slice().sort((e,t)=>e.name.localeCompare(t.name)).map(e=>(function(e,t){var r;let a=null!=e.packageName?String(e.packageName).trim():"";return{name:e.name,label:(e.displayName&&e.displayName!==e.name?"".concat(e.displayName," · "):"")+e.name,description:null!=(r=e.searchHint)?r:"",enabled:t,packageId:a,canManage:j({deletable:e.deletable,packageId:a}),layer:e.layer}})(e,g.includes(e.name))),[N,g]),B=(0,r.useCallback)(async t=>{let r=z(t);if(!r||!j({deletable:r.deletable,packageId:r.packageName}))return void n.appToast.error("系统内置工具不可删除");if(await (0,x.confirmAlertDialog)({title:"确认删除工具包?",description:"工具名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,y.deleteRuntimeTool)(e,o,u(),w({packageId:r.packageName,name:r.name}));let a=g.filter(e=>e!==t);d({tools:a}),await A(a,!0),await D()}catch(e){n.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[z,e,o,u,g,d,A,D]),E=(0,r.useCallback)(t=>{let r=z(t);if(!r||!j({deletable:r.deletable,packageId:r.packageName}))return void n.appToast.error("系统内置工具不可导出");window.open((0,y.exportRuntimeToolUrl)(e,o,u(),w({packageId:r.packageName,name:r.name})),"_blank","noopener")},[z,e,o,u]),L=(0,r.useCallback)((e,t)=>{let r=t?[...new Set([...g,e])].sort():g.filter(t=>t!==e).sort();d({tools:r}),A(r,!0)},[g,d,A]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(h.ManageChromeHeaderActions,{children:(0,t.jsxs)(i.Button,{id:"btnAgentPickerToolImport",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>M(!0),children:[(0,t.jsx)(m.default,{name:"Import",size:16,className:"align-middle"}),"导入自定义工具"]})}),C?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(f,{items:I,saveBusy:T,onToggle:L,onExport:E,onRemove:B}),(0,t.jsx)(v,{open:U,onOpenChange:e=>{M(e),e||D()},wsUrl:e,apiBase:o,agent:u()})]})}}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94197,e=>{"use strict";e.s(["IconTooltipButton",()=>o]);var t=e.i(18050),r=e.i(72064),n=e.i(19455),i=e.i(46798),a=e.i(75157);let l={muted:"text-[var(--ds-muted)] hover:text-[var(--ds-text)]",danger:"text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800"};function o(e){let{icon:o,label:s,ariaLabel:d,tone:u="muted",disabled:c,className:f,iconClassName:p,onClick:m}=e;return(0,t.jsx)(i.TooltipProvider,{delayDuration:150,children:(0,t.jsxs)(i.Tooltip,{children:[(0,t.jsx)(i.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(n.Button,{type:"button",variant:"plain",size:"icon",className:(0,a.cn)("icon-tooltip-btn","h-4 w-4 border-none p-0",l[u],f),disabled:c,"aria-label":null!=d?d:s,onClick:m,children:(0,t.jsx)(r.default,{name:o,size:16,className:p})})}),(0,t.jsx)(i.TooltipContent,{side:"bottom",align:"center",className:"",children:s})]})})}},56708,e=>{"use strict";e.s(["ManageChromeHeaderActions",()=>o,"ManageFeatureChrome",()=>l]);var t=e.i(18050),r=e.i(71645),n=e.i(74080),i=e.i(72064);let a=(0,r.createContext)(null);function l(e){let{title:n,description:l,children:o,showTitle:s=!0,headerIcon:d}=e,[u,c]=(0,r.useState)(null);return(0,t.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-[var(--space-4)] pb-[var(--space-4)]",children:[s?(0,t.jsxs)("div",{className:"manage-page-title-block flex items-center",children:[d&&(0,t.jsx)("div",{className:"mr-[16px] rounded-md bg-[var(--green-light)] px-4 py-3",children:(0,t.jsx)(i.default,{name:d,size:24,className:"text-[var(--green-dark)]",strokeWidth:1.5})}),(0,t.jsxs)("div",{className:"pt-2",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:n}),(0,t.jsx)("p",{className:"manage-page-desc",children:l})]})]}):null,(0,t.jsx)("div",{ref:c,className:"manage-page-header-actions self-start"})]}),(0,t.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col",children:(0,t.jsx)(a.Provider,{value:u,children:o})})]})}function o(e){let{children:t}=e,i=(0,r.useContext)(a);return(0,r.useSyncExternalStore)(()=>()=>{},()=>!0,()=>!1)&&i?(0,n.createPortal)(t,i):null}},44039,99650,e=>{"use strict";e.s(["buildGroupAgentEnvFieldValues",()=>o,"buildProjectEnvFormDefaults",()=>n,"groupAgentEnvSchemaByGroup",()=>i,"mergeGroupEnvIntoAgentEnv",()=>l,"normalizeAgentEnvSchema",()=>r,"schemaKeySet",()=>a],44039);let t=["llm","git","geelib","tutui","system"];function r(e){if(!Array.isArray(e))return[];let r=[];for(let n of e){if(!n||"object"!=typeof n)continue;let e="string"==typeof n.key?n.key.trim():"",i="string"==typeof n.group?n.group.trim():"";e&&t.includes(i)&&r.push({key:e,group:i,label:"string"==typeof n.label&&n.label.trim()?n.label.trim():e,placeholder:"string"==typeof n.placeholder?n.placeholder:""})}return r}function n(e,t){let r={};for(let i of e){var n;r[i.key]=null!=(n=t[i.key])?n:""}return r}function i(e){let r={};for(let e of t)r[e]=[];for(let n of e)t.includes(n.group)&&r[n.group].push(n);return r}function a(e){return new Set(e.map(e=>e.key))}function l(e,t,r){let n={...e};for(let e of t){var i;let t=String(null!=(i=r[e.key])?i:"").trim();t?n[e.key]=t:delete n[e.key]}return n}function o(e,t,r){let n={};for(let i of t){let t=e[i.key];if("string"==typeof t&&t.length>0){n[i.key]=t;continue}let a=r[i.key];n[i.key]="string"==typeof a?a:""}return n}e.s(["persistAgentEnv",()=>f],99650);var s=e.i(13354),d=e.i(70074),u=e.i(82136),c=e.i(65934);async function f(e,t,r,n,i,a){var l,o,f,p;let m=c.useAppStore.getState(),g={tools:m.agentConfig.tools.slice(),disallowedTools:m.agentConfig.disallowedTools.slice(),mcpServers:m.agentConfig.mcpServers.slice(),skills:m.agentConfig.skills.slice(),agentTeams:m.agentConfig.agentTeams.slice(),model:m.agentConfig.model,rules:m.agentConfig.rules.slice(),effort:null!=(l=m.agentConfig.effort)?l:null,background:null!=(o=m.agentConfig.background)&&o,isolation:null!=(f=m.agentConfig.isolation)?f:"",whentouse:null!=(p=m.agentConfig.whentouse)?p:"",env:n,llmProviders:m.agentConfig.llmProviders.map(e=>({...e,models:e.models.map(e=>({...e}))})),...a};await (0,u.saveAgentConfig)(e,t,r,g),m.setAgentConfig({...g,env:{...n}}),c.useAppStore.getState().wsConnected&&i();let h=c.useAppStore.getState();h.setStatus("环境变量已保存"+(h.wsConnected?",已请求 worker 重新加载配置":""),(0,d.resolveInfoStatusClass)(h.bridgeReady,h.wsConnected)),s.appToast.success(h.wsConnected?"已保存到 agent.json,并已请求 worker 重新加载配置。":"已保存到 agent.json。重连 WebSocket 后子进程环境将同步。")}},2839,e=>{"use strict";e.s(["Loading",()=>l],2839);var t=e.i(18050),r=e.i(57688);let n={src:e.i(51239).default,width:951,height:482,blurWidth:8,blurHeight:4,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAAj0lEQVR42gGEAHv/AAAAAAANERAObXJwYaGko5N/gYBwDg8PCgAAAAAAAAAAAAMEBAJic2xp2+3m7fL8+P7l6ujjUlhWTAYGBgUAAAAAADM3NTG6x8LB7fr1/vD89/7f9+3+wNXNzycpKB4AAAAAAJ+qpozL2dO/0NvWx9Td2c6gzrzRpcq8u2FpZk8CAgIBCRI7kCfNfAcAAAAASUVORK5CYII="};var i=e.i(87968),a=e.i(75157);function l(e){let{text:l="加载中",className:o,showImage:s=!0,imageSrc:d=n,imageAlt:u="加载中",imageSize:c=180,imageClassName:f}=e,p="string"==typeof d?{width:c,height:c}:{width:d.width,height:d.height};return(0,t.jsxs)("div",{className:(0,a.cn)("flex min-h-[180px] w-full flex-col items-center justify-center gap-2 py-4 text-[var(--ds-muted)]",o),role:"status","aria-live":"polite",children:[s?(0,t.jsx)("span",{className:(0,a.cn)("block shrink-0",f),style:{width:c},children:(0,t.jsx)(r.default,{src:d,alt:u,width:p.width,height:p.height,unoptimized:!0,draggable:!1,sizes:"".concat(c,"px"),className:"h-auto w-full object-contain"})}):null,(0,t.jsxs)("span",{className:"flex items-center",children:[(0,t.jsx)(i.Spinner,{className:"mr-2"}),l]})]})}},96920,e=>{e.v("/app/_next/static/media/no-data.48c973b9.png")},51239,e=>{e.v("/app/_next/static/media/data-loading.be8d921a.png")},93479,e=>{"use strict";e.s(["Input",()=>n]);var t=e.i(18050),r=e.i(75157);function n(e){let{className:n,type:i="text",size:a="default",...l}=e;return(0,t.jsx)("input",{type:i,"data-slot":"input","data-size":a,className:(0,r.cn)("h-9 w-full appearance-none rounded-md border border-solid border-border bg-transparent px-3 text-sm outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[var(--border-hover)] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none] data-[size=default]:h-9 data-[size=lg]:h-10 data-[size=sm]:h-7",n),...l})}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(71645);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=a(e,n)),t&&(i.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},88143,(e,t,r)=>{"use strict";function n(e){let{widthInt:t,heightInt:r,blurWidth:n,blurHeight:i,blurDataURL:a,objectFit:l}=e,o=n?40*n:t,s=i?40*i:r,d=o&&s?"viewBox='0 0 "+o+" "+s+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+d+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(d?"none":"contain"===l?"xMidYMid":"cover"===l?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+a+"'/%3E%3C/svg%3E"}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},87690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{VALID_LOADERS:function(){return n},imageConfigDefault:function(){return i}});let n=["default","imgix","cloudinary","akamai","custom"],i={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumResponseBody:5e7,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},8927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return s}}),e.r(33525);let n=e.r(88143),i=e.r(87690),a=["-moz-initial","fill","none","scale-down",void 0];function l(e){return void 0!==e.default}function o(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function s(e,t){var r,s;let d,u,c,{src:f,sizes:p,unoptimized:m=!1,priority:g=!1,loading:h,className:v,quality:b,width:y,height:x,fill:A=!1,style:j,overrideSrc:w,onLoad:C,onLoadingComplete:S,placeholder:k="empty",blurDataURL:_,fetchPriority:E,decoding:N="async",layout:O,objectFit:P,objectPosition:z,lazyBoundary:R,lazyRoot:T,...M}=e,{imgConf:I,showAltText:D,blurComplete:B,defaultLoader:U}=t,L=I||i.imageConfigDefault;if("allSizes"in L)d=L;else{let e=[...L.deviceSizes,...L.imageSizes].sort((e,t)=>e-t),t=L.deviceSizes.sort((e,t)=>e-t),n=null==(r=L.qualities)?void 0:r.sort((e,t)=>e-t);d={...L,allSizes:e,deviceSizes:t,qualities:n}}if(void 0===U)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let G=M.loader||U;delete M.loader,delete M.srcSet;let q="__next_img_default"in G;if(q){if("custom"===d.loader)throw Object.defineProperty(Error('Image with src "'+f+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=G;G=t=>{let{config:r,...n}=t;return e(n)}}if(O){"fill"===O&&(A=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[O];e&&(j={...j,...e});let t={responsive:"100vw",fill:"100vw"}[O];t&&!p&&(p=t)}let F="",K=o(y),V=o(x);if((s=f)&&"object"==typeof s&&(l(s)||void 0!==s.src)){let e=l(f)?f.default:f;if(!e.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!e.height||!e.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(u=e.blurWidth,c=e.blurHeight,_=_||e.blurDataURL,F=e.src,!A)if(K||V){if(K&&!V){let t=K/e.width;V=Math.round(e.height*t)}else if(!K&&V){let t=V/e.height;K=Math.round(e.width*t)}}else K=e.width,V=e.height}let H=!g&&("lazy"===h||void 0===h);(!(f="string"==typeof f?f:F)||f.startsWith("data:")||f.startsWith("blob:"))&&(m=!0,H=!1),d.unoptimized&&(m=!0),q&&!d.dangerouslyAllowSVG&&f.split("?",1)[0].endsWith(".svg")&&(m=!0);let W=o(b),J=Object.assign(A?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:P,objectPosition:z}:{},D?{}:{color:"transparent"},j),Y=B||"empty"===k?null:"blur"===k?'url("data:image/svg+xml;charset=utf-8,'+(0,n.getImageBlurSvg)({widthInt:K,heightInt:V,blurWidth:u,blurHeight:c,blurDataURL:_||"",objectFit:J.objectFit})+'")':'url("'+k+'")',X=a.includes(J.objectFit)?"fill"===J.objectFit?"100% 100%":"cover":J.objectFit,Q=Y?{backgroundSize:X,backgroundPosition:J.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},$=function(e){let{config:t,src:r,unoptimized:n,width:i,quality:a,sizes:l,loader:o}=e;if(n)return{src:r,srcSet:void 0,sizes:void 0};let{widths:s,kind:d}=function(e,t,r){let{deviceSizes:n,allSizes:i}=e;if(r){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let n;n=e.exec(r);)t.push(parseInt(n[2]));if(t.length){let e=.01*Math.min(...t);return{widths:i.filter(t=>t>=n[0]*e),kind:"w"}}return{widths:i,kind:"w"}}return"number"!=typeof t?{widths:n,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>i.find(t=>t>=e)||i[i.length-1]))],kind:"x"}}(t,i,l),u=s.length-1;return{sizes:l||"w"!==d?l:"100vw",srcSet:s.map((e,n)=>o({config:t,src:r,quality:a,width:e})+" "+("w"===d?e:n+1)+d).join(", "),src:o({config:t,src:r,quality:a,width:s[u]})}}({config:d,src:f,unoptimized:m,width:K,quality:W,sizes:p,loader:G});return{props:{...M,loading:H?"lazy":h,fetchPriority:E,width:K,height:V,decoding:N,className:v,style:{...J,...Q},sizes:$.sizes,srcSet:$.srcSet,src:w||$.src},meta:{unoptimized:m,priority:g,placeholder:k,fill:A}}}},98879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(71645),i="undefined"==typeof window,a=i?()=>{}:n.useLayoutEffect,l=i?()=>{}:n.useEffect;function o(e){let{headManager:t,reduceComponentsToState:r}=e;function o(){if(t&&t.mountedInstances){let i=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(i,e))}}if(i){var s;null==t||null==(s=t.mountedInstances)||s.add(e.children),o()}return a(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),a(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),l(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},58908,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext({})},15986,(e,t,r)=>{"use strict";function n(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isInAmpMode",{enumerable:!0,get:function(){return n}})},25633,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return g},defaultHead:function(){return c}});let n=e.r(55682),i=e.r(90809),a=e.r(18050),l=i._(e.r(71645)),o=n._(e.r(98879)),s=e.r(58908),d=e.r(42732),u=e.r(15986);function c(e){void 0===e&&(e=!1);let t=[(0,a.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,a.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(33525);let p=["name","httpEquiv","charSet","itemProp"];function m(e,t){let{inAmpMode:r}=t;return e.reduce(f,[]).reverse().concat(c(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return i=>{let a=!0,l=!1;if(i.key&&"number"!=typeof i.key&&i.key.indexOf("$")>0){l=!0;let t=i.key.slice(i.key.indexOf("$")+1);e.has(t)?a=!1:e.add(t)}switch(i.type){case"title":case"base":t.has(i.type)?a=!1:t.add(i.type);break;case"meta":for(let e=0,t=p.length;e<t;e++){let t=p[e];if(i.props.hasOwnProperty(t))if("charSet"===t)r.has(t)?a=!1:r.add(t);else{let e=i.props[t],r=n[t]||new Set;("name"!==t||!l)&&r.has(e)?a=!1:(r.add(e),n[t]=r)}}}return a}}()).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let g=function(e){let{children:t}=e,r=(0,l.useContext)(s.AmpStateContext),n=(0,l.useContext)(d.HeadManagerContext);return(0,a.jsx)(o.default,{reduceComponentsToState:m,headManager:n,inAmpMode:(0,u.isInAmpMode)(r),children:t})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18556,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=e.r(55682)._(e.r(71645)),i=e.r(87690),a=n.default.createContext(i.imageConfigDefault)},65856,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext(null)},1948,(e,t,r)=>{"use strict";function n(e){var t;let{config:r,src:n,width:i,quality:a}=e,l=a||(null==(t=r.qualities)?void 0:t.reduce((e,t)=>Math.abs(t-75)<Math.abs(e-75)?t:e))||75;return r.path+"?url="+encodeURIComponent(n)+"&w="+i+"&q="+l+(n.startsWith("/_next/static/media/"),"")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return i}}),n.__next_img_default=!0;let i=n},5500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return x}});let n=e.r(55682),i=e.r(90809),a=e.r(18050),l=i._(e.r(71645)),o=n._(e.r(74080)),s=n._(e.r(25633)),d=e.r(8927),u=e.r(87690),c=e.r(18556);e.r(33525);let f=e.r(65856),p=n._(e.r(1948)),m=e.r(18581),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/app/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function h(e,t,r,n,i,a,l){let o=null==e?void 0:e.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),null==r?void 0:r.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}(null==n?void 0:n.current)&&n.current(e)}}))}function v(e){return l.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,l.forwardRef)((e,t)=>{let{src:r,srcSet:n,sizes:i,height:o,width:s,decoding:d,className:u,style:c,fetchPriority:f,placeholder:p,loading:g,unoptimized:b,fill:y,onLoadRef:x,onLoadingCompleteRef:A,setBlurComplete:j,setShowAltText:w,sizesInput:C,onLoad:S,onError:k,..._}=e,E=(0,l.useCallback)(e=>{e&&(k&&(e.src=e.src),e.complete&&h(e,p,x,A,j,b,C))},[r,p,x,A,j,k,b,C]),N=(0,m.useMergedRef)(t,E);return(0,a.jsx)("img",{..._,...v(f),loading:g,width:s,height:o,decoding:d,"data-nimg":y?"fill":"1",className:u,style:c,sizes:i,srcSet:n,src:r,ref:N,onLoad:e=>{h(e.currentTarget,p,x,A,j,b,C)},onError:e=>{w(!0),"empty"!==p&&j(!0),k&&k(e)}})});function y(e){let{isAppRouter:t,imgAttributes:r}=e,n={as:"image",imageSrcSet:r.srcSet,imageSizes:r.sizes,crossOrigin:r.crossOrigin,referrerPolicy:r.referrerPolicy,...v(r.fetchPriority)};return t&&o.default.preload?(o.default.preload(r.src,n),null):(0,a.jsx)(s.default,{children:(0,a.jsx)("link",{rel:"preload",href:r.srcSet?void 0:r.src,...n},"__nimg-"+r.src+r.srcSet+r.sizes)})}let x=(0,l.forwardRef)((e,t)=>{let r=(0,l.useContext)(f.RouterContext),n=(0,l.useContext)(c.ImageConfigContext),i=(0,l.useMemo)(()=>{var e;let t=g||n||u.imageConfigDefault,r=[...t.deviceSizes,...t.imageSizes].sort((e,t)=>e-t),i=t.deviceSizes.sort((e,t)=>e-t),a=null==(e=t.qualities)?void 0:e.sort((e,t)=>e-t);return{...t,allSizes:r,deviceSizes:i,qualities:a}},[n]),{onLoad:o,onLoadingComplete:s}=e,m=(0,l.useRef)(o);(0,l.useEffect)(()=>{m.current=o},[o]);let h=(0,l.useRef)(s);(0,l.useEffect)(()=>{h.current=s},[s]);let[v,x]=(0,l.useState)(!1),[A,j]=(0,l.useState)(!1),{props:w,meta:C}=(0,d.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:v,showAltText:A});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(b,{...w,unoptimized:C.unoptimized,placeholder:C.placeholder,fill:C.fill,onLoadRef:m,onLoadingCompleteRef:h,setBlurComplete:x,setShowAltText:j,sizesInput:e.sizes,ref:t}),C.priority?(0,a.jsx)(y,{isAppRouter:!r,imgAttributes:w}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return s},getImageProps:function(){return o}});let n=e.r(55682),i=e.r(8927),a=e.r(5500),l=n._(e.r(1948));function o(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/app/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let s=a.Image},57688,(e,t,r)=>{t.exports=e.r(94909)},85413,e=>{"use strict";e.s(["Empty",()=>a],85413);var t=e.i(18050),r=e.i(57688);let n={src:e.i(96920).default,width:973,height:482,blurWidth:8,blurHeight:4,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAAj0lEQVR42gGEAHv/AAAAAAATGRcXg4uIgcjJycORlJOKDxEQDAAAAAAAAAAAAAQEBANfa2Zj5fTu9ff9+/7q8u7uc3p3cgoLCwkAAAAAAEJGRELH1M/S4/jw/tD25v7U9ef+1ubf4jg8OjAAAAAAAHqBfmqxvLiisMG7rK7GvLKxxb2wpbKtoVNYVlADAwMC5U08HYgBOJwAAAAASUVORK5CYII="};var i=e.i(75157);function a(e){let{text:a="暂无数据",className:l,showImage:o=!0,imageSrc:s=n,imageAlt:d="暂无数据",imageSize:u=180,imageClassName:c}=e,f="string"==typeof s?{width:u,height:u}:{width:s.width,height:s.height};return(0,t.jsxs)("div",{className:(0,i.cn)("flex min-h-[180px] w-full flex-col items-center justify-center gap-2 py-4 text-[var(--ds-muted)]",l),role:"status","aria-live":"polite",children:[o?(0,t.jsx)("span",{className:(0,i.cn)("block shrink-0",c),style:{width:u},children:(0,t.jsx)(r.default,{src:s,alt:d,width:f.width,height:f.height,unoptimized:!0,draggable:!1,sizes:"".concat(u,"px"),className:"h-auto w-full object-contain"})}):null,(0,t.jsx)("span",{children:a})]})}},69051,e=>{"use strict";e.s(["loadDemoSingleMessage",()=>l,"loadSystemEnv",()=>n,"saveSystemEnv",()=>i,"saveSystemMcpJson",()=>a]);var t=e.i(29250),r=e.i(36845);async function n(e,n,i){return(0,t.get)((0,r.buildSystemEnvApiUrl)(e,n,i))}async function i(e,n,i,a){await (0,t.patch)((0,r.buildSystemEnvApiUrl)(e,n,i),{content:a})}async function a(e,n,i,a){await (0,t.patch)((0,r.buildSystemMcpJsonApiUrl)(e,n,i),{content:a})}async function l(){return(0,t.get)("/api/demo/single-message")}},62849,e=>{"use strict";e.s(["EnvManageView",()=>E],62849);var t=e.i(18050),r=e.i(71645),n=e.i(56708),i=e.i(19455),a=e.i(72064),l=e.i(2839),o=e.i(76639),s=e.i(93479),d=e.i(13354),u=e.i(87243),c=e.i(67327),f=e.i(44039),p=e.i(99650),m=e.i(94606),g=e.i(75157),h=e.i(69051),v=e.i(65934);let b=[{key:"name",name:"名称",required:!0,placeholder:"例如 OpenAI 主站"},{key:"id",name:"服务商 ID(slug)",required:!0,placeholder:"例如 openai-main"},{key:"provider",name:"协议类型",required:!0,options:[{label:"openai",value:"openai"},{label:"anthropic",value:"anthropic"}]},{key:"baseUrl",name:"接口地址",required:!0,placeholder:"例如 https://api.openai.com/v1"},{key:"apiKey",name:"API秘钥",required:!0,inputType:"password"},{key:"authToken",name:"认证变量",inputType:"password"},{key:"modelId",name:"模型 ID",required:!0,placeholder:"例如 gpt-4o"},{key:"modelLabel",name:"模型展示名(可选)"}],y=new Set(["description"]),x=/^[A-Za-z0-9_-]+$/;function A(){return Object.fromEntries(b.map(e=>{var t,r,n;return[e.key,null!=(n=null==(r=e.options)||null==(t=r[0])?void 0:t.value)?n:""]}))}function j(e){let{open:n,onOpenChange:a,onSaved:j}=e,w=(0,r.useId)(),C=(0,v.useAppStore)(e=>e.wsUrl),S=(0,v.useAppStore)(e=>e.apiBase),k=(0,v.useAppStore)(e=>e.agentConfig),{currentAgent:_,loadAgentConfig:E}=(0,u.useSession)(),{sendReloadAgentConfig:N}=(0,c.useWebSocketSender)(),[O,P]=(0,r.useState)(!0),[z,R]=(0,r.useState)(!1),[T,M]=(0,r.useState)(!1),[I,D]=(0,r.useState)([]),[B,U]=(0,r.useState)(A),L=(0,r.useMemo)(()=>(0,f.schemaKeySet)(I),[I]),G=(0,r.useCallback)(e=>{let t=A();for(let r of b)y.has(r.key)||"string"==typeof e[r.key]&&(t[r.key]=e[r.key]);U(t),M(!1)},[]),q=(0,r.useCallback)(async()=>{try{let e=await (0,h.loadSystemEnv)(C,S,_()),t=(0,f.normalizeAgentEnvSchema)(e.schema);D(t)}catch(e){d.appToast.error("加载环境变量表单配置失败:".concat(e instanceof Error?e.message:String(e))),D([])}},[C,S,_]);(0,r.useEffect)(()=>{n&&(P(!0),Promise.all([E(),q()]).finally(()=>{P(!1)}))},[n,E,q]),(0,r.useEffect)(()=>{n&&!O&&G({...k.env})},[n,k.env,G,O]);let F=(0,r.useCallback)((e,t)=>{M(!0),U(r=>({...r,[e]:t}))},[]),K=(0,r.useCallback)(async e=>{if(e)return void a(!0);(!T||await (0,m.confirmDiscardFlyoutChanges)())&&a(!1)},[T,a]),V=(0,r.useCallback)(async()=>{let e=function(e){for(let r of b){var t;if(r.required&&!String(null!=(t=e[r.key])?t:"").trim())return{ok:!1,message:"请填写".concat(r.name)}}return{ok:!0}}(B);if(!e.ok)return void d.appToast.info(e.message);let t=function(e,t){let r={};for(let i of b){var n;if(y.has(i.key))continue;let a=i.key.trim(),l=String(null!=(n=e[i.key])?n:"");if(l.trim()){if(t.has(a))return{ok:!1,message:"自定义变量不能与固定表单重复:".concat(a)};r[a]=l}}return{ok:!0,env:r}}(B,L);if(!t.ok)return void d.appToast.info(t.message);let r=function(e,t){let r={...e};for(let e of b){var n;if(y.has(e.key))continue;let i=e.key.trim(),a=String(null!=(n=t[e.key])?n:"").trim();a?r[i]=a:delete r[i]}return r}(v.useAppStore.getState().agentConfig.env,B);R(!0);try{await (0,p.persistAgentEnv)(C,S,_(),r,N),M(!1),await (null==j?void 0:j()),a(!1)}catch(e){d.appToast.error("保存环境变量失败:".concat(e instanceof Error?e.message:String(e)))}finally{R(!1)}},[B,L,C,S,_,N,a,j]),H=(0,r.useCallback)(async()=>{let e=v.useAppStore.getState().agentConfig,t=function(e,t){var r,n,i,a,l,o,s;let d=String(null!=(r=e.id)?r:"").trim(),u=String(null!=(n=e.name)?n:"").trim(),c="anthropic"===e.provider?"anthropic":"openai",f=String(null!=(i=e.baseUrl)?i:"").trim(),p=String(null!=(a=e.apiKey)?a:"").trim(),m=String(null!=(l=e.authToken)?l:"").trim(),g=String(null!=(o=e.modelId)?o:"").trim(),h=String(null!=(s=e.modelLabel)?s:"").trim();return d?x.test(d)?t.some(e=>e.id.trim()===d)?{ok:!1,message:"服务商 id 已存在: ".concat(d)}:u?f?p||m?g?{ok:!0,entry:{id:d,name:u,baseUrl:f,apiKey:p,authToken:m,provider:c,models:[{id:g,label:h}],defaultModel:g}}:{ok:!1,message:"请填写模型 ID"}:{ok:!1,message:"API Key 与 Auth Token 至少填写一项"}:{ok:!1,message:"请填写 Base URL"}:{ok:!1,message:"请填写展示名称"}:{ok:!1,message:"服务商 id 仅允许字母数字下划线中划线"}:{ok:!1,message:"请填写服务商 ID"}}(B,e.llmProviders);if(!t.ok)return void d.appToast.info(t.message);R(!0);try{await (0,p.persistAgentEnv)(C,S,_(),e.env,N,{llmProviders:[...e.llmProviders.map(e=>({...e,models:e.models.map(e=>({...e}))})),t.entry]}),U(A()),M(!1),await (null==j?void 0:j())}catch(e){d.appToast.error("添加服务商失败:".concat(e instanceof Error?e.message:String(e)))}finally{R(!1)}},[B,C,S,_,N,j]);return(0,t.jsx)(o.Dialog,{open:n,onOpenChange:e=>void K(e),children:(0,t.jsxs)(o.DialogContent,{"aria-labelledby":w,className:"max-w-4xl",children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsx)("div",{className:"min-w-0 flex-1",children:(0,t.jsx)(o.DialogTitle,{id:w,children:"添加服务商"})}),(0,t.jsx)(o.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(o.DialogBody,{className:"flex min-h-[420px] flex-col overflow-hidden !py-4",children:O?(0,t.jsx)(l.Loading,{text:"加载中",showImage:!1,className:"min-h-0 flex-1"}):(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"divide-y divide-[var(--ds-border)]",children:b.map(e=>{var r,n;let i="custom-env-field-".concat(e.key),a="string"==typeof B[e.key]?B[e.key]:"";return(0,t.jsxs)("div",{className:"flex flex-col gap-2 py-4 first:pt-0",children:[(0,t.jsxs)("label",{className:"text-[var(--ds-text)]",htmlFor:i,children:[e.name,e.required?(0,t.jsx)("span",{className:"ml-0.5 text-destructive",children:"*"}):null]}),e.options?(0,t.jsx)("select",{id:i,className:(0,g.cn)("h-8 rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] px-3 text-sm text-[var(--ds-text)] outline-none focus-visible:border-[var(--ds-accent)] focus-visible:ring-2 focus-visible:ring-[color-mix(in_srgb,var(--ds-accent)_18%,transparent)]",e.className),value:a,onChange:t=>F(e.key,t.target.value),children:e.options.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))}):(0,t.jsx)(s.Input,{id:i,type:null!=(r=e.inputType)?r:"text",spellCheck:!1,autoComplete:"off",placeholder:null!=(n=e.placeholder)?n:"请输入".concat(e.name),className:(0,g.cn)("border-[var(--ds-border)] bg-[var(--ds-bg)] placeholder:text-[var(--text-placeholder)]",e.className),value:a,onChange:t=>F(e.key,t.target.value)})]},e.key)})}),(0,t.jsx)("div",{className:"flex justify-end pt-4",children:(0,t.jsx)(i.Button,{type:"button",size:"lg",disabled:O||z,onClick:()=>void H(),className:"cursor-pointer",children:z?"添加中…":"添加"})})]})})}),(0,t.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:[(0,t.jsx)(i.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:O||z,onClick:()=>void K(!1),className:"cursor-pointer",children:"取消"}),(0,t.jsx)(i.Button,{type:"button",size:"lg",disabled:O||z,onClick:()=>void V(),className:"cursor-pointer",children:z?"保存中…":"保存"})]})]})})}var w=e.i(85413),C=e.i(94197);function S(e){return e.map((e,t)=>{let r=e.models[0];return{id:e.id,name:e.name||e.id,baseUrl:e.baseUrl,model:e.defaultModel||(null==r?void 0:r.label)||(null==r?void 0:r.id)||"",isDefault:0===t}})}function k(e){let{row:r,onSetDefault:n,onTest:a,onEdit:l,onDelete:o}=e,s="".concat(r.baseUrl," · ").concat(r.model);return(0,t.jsxs)("article",{className:(0,g.cn)("group flex w-full items-center gap-4 rounded-xl border border-solid bg-[var(--ds-bg)] px-4 py-3.5 transition-[border-color,box-shadow]",r.isDefault?"border-[color:var(--ds-ok)]":"border-[color:var(--ds-border)] hover:shadow-[0_2px_12px_rgba(0,0,0,0.06)]"),children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)("span",{className:(0,g.cn)("size-2 shrink-0 rounded-full",r.isDefault?"bg-[var(--ds-ok)]":"bg-[var(--ds-muted)]"),"aria-hidden":"true"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h3",{className:"truncate font-semibold text-[var(--ds-text)]",children:r.name}),(0,t.jsx)("p",{className:"mt-1 truncate text-[var(--ds-muted)]",title:s,children:s})]})]}),(0,t.jsxs)("div",{className:"pointer-events-none invisible flex shrink-0 items-center opacity-0 transition-opacity group-focus-within:pointer-events-auto group-focus-within:visible group-focus-within:opacity-100 group-hover:pointer-events-auto group-hover:visible group-hover:opacity-100",children:[(0,t.jsx)(i.Button,{type:"button",variant:"plain",size:"sm",disabled:r.isDefault,className:"h-8 cursor-pointer !px-0 text-[var(--ds-text)] hover:text-[var(--ds-accent)] disabled:cursor-not-allowed disabled:text-[var(--ds-muted)] disabled:opacity-60",onClick:()=>n(r.id),children:"设为默认"}),(0,t.jsx)(i.Button,{type:"button",variant:"plain",size:"sm",className:"h-8 cursor-pointer px-2 text-[var(--ds-text)] hover:text-[var(--ds-accent)]",onClick:()=>a(r.id),children:"测试"}),(0,t.jsx)(C.IconTooltipButton,{icon:"Edit",label:"编辑",ariaLabel:"编辑 ".concat(r.name),onClick:()=>l(r.id)}),(0,t.jsx)(C.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",ariaLabel:"删除 ".concat(r.name),onClick:()=>o(r.id)})]})]})}function _(){let e=(0,v.useAppStore)(e=>e.agentConfig.llmProviders),[n,i]=(0,r.useState)(()=>S(e));(0,r.useEffect)(()=>{i(S(e))},[e]);let a=(0,r.useCallback)(e=>{i(t=>t.map(t=>({...t,isDefault:t.id===e}))),d.appToast.success("已设为默认服务商")},[]),l=(0,r.useCallback)(e=>{var t;let r=n.find(t=>t.id===e);d.appToast.info("正在测试「".concat(null!=(t=null==r?void 0:r.name)?t:e,"」连接…"))},[n]),o=(0,r.useCallback)(e=>{var t;let r=n.find(t=>t.id===e);d.appToast.info("编辑「".concat(null!=(t=null==r?void 0:r.name)?t:e,"」功能开发中"))},[n]),s=(0,r.useCallback)(e=>{n.find(t=>t.id===e)&&(i(t=>t.filter(t=>t.id!==e).map((e,t)=>({...e,isDefault:0===t}))),d.appToast.success("已删除服务商"))},[n]);return(0,t.jsx)("div",{className:"mt-4 flex flex-col gap-3",children:0===n.length?(0,t.jsx)(w.Empty,{text:"暂无服务商"}):n.map(e=>(0,t.jsx)(k,{row:e,onSetDefault:a,onTest:l,onEdit:o,onDelete:s},e.id))})}function E(){let[e,l]=(0,r.useState)(!1);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.ManageChromeHeaderActions,{children:(0,t.jsx)("div",{className:"flex flex-wrap items-center",children:(0,t.jsxs)(i.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:()=>l(!0),className:"mr-[12px]",children:[(0,t.jsx)(a.default,{name:"Create",size:16,className:"align-middle"}),"添加服务商"]})})}),(0,t.jsx)(_,{}),(0,t.jsx)(j,{open:e,onOpenChange:l})]})}}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,56708,e=>{"use strict";e.s(["ManageChromeHeaderActions",()=>i,"ManageFeatureChrome",()=>n]);var r=e.i(18050),o=e.i(71645),t=e.i(74080),a=e.i(72064);let s=(0,o.createContext)(null);function n(e){let{title:t,description:n,children:i,showTitle:l=!0,headerIcon:d}=e,[c,u]=(0,o.useState)(null);return(0,r.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,r.jsxs)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-[var(--space-4)] pb-[var(--space-4)]",children:[l?(0,r.jsxs)("div",{className:"manage-page-title-block flex items-center",children:[d&&(0,r.jsx)("div",{className:"mr-[16px] rounded-md bg-[var(--green-light)] px-4 py-3",children:(0,r.jsx)(a.default,{name:d,size:24,className:"text-[var(--green-dark)]",strokeWidth:1.5})}),(0,r.jsxs)("div",{className:"pt-2",children:[(0,r.jsx)("h1",{className:"manage-page-title",children:t}),(0,r.jsx)("p",{className:"manage-page-desc",children:n})]})]}):null,(0,r.jsx)("div",{ref:u,className:"manage-page-header-actions self-start"})]}),(0,r.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col",children:(0,r.jsx)(s.Provider,{value:c,children:i})})]})}function i(e){let{children:r}=e,a=(0,o.useContext)(s);return(0,o.useSyncExternalStore)(()=>()=>{},()=>!0,()=>!1)&&a?(0,t.createPortal)(r,a):null}},93479,e=>{"use strict";e.s(["Input",()=>t]);var r=e.i(18050),o=e.i(75157);function t(e){let{className:t,type:a="text",size:s="default",...n}=e;return(0,r.jsx)("input",{type:a,"data-slot":"input","data-size":s,className:(0,o.cn)("h-9 w-full appearance-none rounded-md border border-solid border-border bg-transparent px-3 text-sm outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[var(--border-hover)] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none] data-[size=default]:h-9 data-[size=lg]:h-10 data-[size=sm]:h-7",t),...n})}},94197,e=>{"use strict";e.s(["IconTooltipButton",()=>i]);var r=e.i(18050),o=e.i(72064),t=e.i(19455),a=e.i(46798),s=e.i(75157);let n={muted:"text-[var(--ds-muted)] hover:text-[var(--ds-text)]",danger:"text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800"};function i(e){let{icon:i,label:l,ariaLabel:d,tone:c="muted",disabled:u,className:b,iconClassName:x,onClick:f}=e;return(0,r.jsx)(a.TooltipProvider,{delayDuration:150,children:(0,r.jsxs)(a.Tooltip,{children:[(0,r.jsx)(a.TooltipTrigger,{asChild:!0,children:(0,r.jsx)(t.Button,{type:"button",variant:"plain",size:"icon",className:(0,s.cn)("icon-tooltip-btn","h-4 w-4 border-none p-0",n[c],b),disabled:u,"aria-label":null!=d?d:l,onClick:f,children:(0,r.jsx)(o.default,{name:i,size:16,className:x})})}),(0,r.jsx)(a.TooltipContent,{side:"bottom",align:"center",className:"",children:l})]})})}},24687,e=>{"use strict";e.s(["Textarea",()=>t]);var r=e.i(18050),o=e.i(75157);function t(e){let{className:t,...a}=e;return(0,r.jsx)("textarea",{"data-slot":"textarea",className:(0,o.cn)("flex min-h-20 w-full rounded-md border border-solid border-border bg-transparent px-3 py-2 text-sm outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[var(--border-hover)] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none]",t),...a})}},20783,e=>{"use strict";e.s(["composeRefs",()=>t,"useComposedRefs",()=>a]);var r=e.i(71645);function o(e,r){if("function"==typeof e)return e(r);null!=e&&(e.current=r)}function t(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];return e=>{let t=!1,a=r.map(r=>{let a=o(r,e);return t||"function"!=typeof a||(t=!0),a});if(t)return()=>{for(let e=0;e<a.length;e++){let t=a[e];"function"==typeof t?t():o(r[e],null)}}}}function a(){for(var e=arguments.length,o=Array(e),a=0;a<e;a++)o[a]=arguments[a];return r.useCallback(t(...o),o)}}]);