nex-code 0.3.5 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -1
- package/dist/bundle.js +505 -0
- package/dist/nex-code.js +485 -0
- package/package.json +8 -6
- package/bin/nex-code.js +0 -99
- package/cli/agent.js +0 -835
- package/cli/compactor.js +0 -85
- package/cli/context-engine.js +0 -507
- package/cli/context.js +0 -98
- package/cli/costs.js +0 -290
- package/cli/diff.js +0 -366
- package/cli/file-history.js +0 -94
- package/cli/format.js +0 -211
- package/cli/fuzzy-match.js +0 -270
- package/cli/git.js +0 -211
- package/cli/hooks.js +0 -173
- package/cli/index.js +0 -1289
- package/cli/mcp.js +0 -284
- package/cli/memory.js +0 -170
- package/cli/ollama.js +0 -130
- package/cli/permissions.js +0 -124
- package/cli/picker.js +0 -201
- package/cli/planner.js +0 -282
- package/cli/providers/anthropic.js +0 -333
- package/cli/providers/base.js +0 -116
- package/cli/providers/gemini.js +0 -239
- package/cli/providers/local.js +0 -249
- package/cli/providers/ollama.js +0 -228
- package/cli/providers/openai.js +0 -237
- package/cli/providers/registry.js +0 -454
- package/cli/render.js +0 -495
- package/cli/safety.js +0 -241
- package/cli/session.js +0 -133
- package/cli/skills.js +0 -412
- package/cli/spinner.js +0 -371
- package/cli/sub-agent.js +0 -441
- package/cli/tasks.js +0 -179
- package/cli/tool-tiers.js +0 -164
- package/cli/tool-validator.js +0 -138
- package/cli/tools.js +0 -1050
- package/cli/ui.js +0 -93
package/dist/bundle.js
ADDED
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
var _=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var aa=_(($0,Bd)=>{Bd.exports={name:"nex-code",version:"0.3.5",description:"Nex Code \u2014 Agentic Coding CLI with Multi-Provider Support",bin:{"nex-code":"./bin/nex-code.js"},files:["bin/","cli/","README.md","LICENSE"],engines:{node:">=18.0.0"},scripts:{start:"node bin/nex-code.js",test:"jest --coverage","test:watch":"jest --watch",format:"prettier --write .","install-hooks":"ln -sf ../../hooks/pre-push .git/hooks/pre-push && chmod +x .git/hooks/pre-push && ln -sf ../../hooks/post-merge .git/hooks/post-merge && chmod +x .git/hooks/post-merge && echo 'Hooks installed (pre-push, post-merge).'",prepublishOnly:"npm test"},keywords:["cli","coding","agent","ai","llm","multi-provider","openai","anthropic","gemini","google","ollama"],repository:{type:"git",url:"https://github.com/hybridpicker/nex-code.git"},bugs:{url:"https://github.com/hybridpicker/nex-code/issues"},homepage:"https://github.com/hybridpicker/nex-code#readme",license:"MIT",dependencies:{axios:"^1.7.0",dotenv:"^16.4.0"},devDependencies:{esbuild:"^0.27.3",jest:"^29.7.0"}}});var ua=_((w0,pa)=>{var P={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",white:"\x1B[37m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",gray:"\x1B[90m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",brightCyan:"\x1B[96m",brightMagenta:"\x1B[95m",brightBlue:"\x1B[94m"},ra=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],ca=["\u273D","\u2726","\u2727","\u2726"],Us=class{constructor(t="Thinking..."){this.text=t,this.frame=0,this.interval=null,this.startTime=null}_render(){if(this._stopped)return;let t=ra[this.frame%ra.length],n="";if(this.startTime){let s=Math.floor((Date.now()-this.startTime)/1e3);if(s>=60){let o=Math.floor(s/60),i=s%60;n=` ${P.dim}${o}m ${String(i).padStart(2,"0")}s${P.reset}`}else s>=1&&(n=` ${P.dim}${s}s${P.reset}`)}process.stderr.write(`\x1B[2K\r${P.cyan}${t}${P.reset} ${P.dim}${this.text}${P.reset}${n}`),this.frame++}start(){this._stopped=!1,this.startTime=Date.now(),process.stderr.write("\x1B[?25l"),this._render(),this.interval=setInterval(()=>this._render(),80)}update(t){this.text=t}stop(){this._stopped=!0,this.interval&&(clearInterval(this.interval),this.interval=null),process.stderr.write("\x1B[2K\r\x1B[?25h"),this.startTime=null}},la=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Bs=class{constructor(t){this.labels=t,this.statuses=t.map(()=>"running"),this.frame=0,this.interval=null,this.startTime=null,this.lineCount=t.length}_formatElapsed(){if(!this.startTime)return"";let t=Math.floor((Date.now()-this.startTime)/1e3);if(t<1)return"";let n=Math.floor(t/60),s=t%60;return n>0?`${n}m ${String(s).padStart(2,"0")}s`:`${s}s`}_render(){if(this._stopped)return;let t=la[this.frame%la.length],n=this._formatElapsed(),s=n?` ${P.dim}${n}${P.reset}`:"",o="";for(let i=0;i<this.labels.length;i++){let a,c;switch(this.statuses[i]){case"done":a=`${P.green}\u2713${P.reset}`,c=P.dim;break;case"error":a=`${P.red}\u2717${P.reset}`,c=P.dim;break;default:a=`${P.cyan}${t}${P.reset}`,c=""}let p=i===this.labels.length-1?s:"";o+=`\x1B[2K ${a} ${c}${this.labels[i]}${P.reset}${p}
|
|
2
|
+
`}this.lineCount>0&&(o+=`\x1B[${this.lineCount}A`),process.stderr.write(o),this.frame++}start(){this._stopped=!1,this.startTime=Date.now();let t="\x1B[?25l";for(let n=0;n<this.lineCount;n++)t+=`
|
|
3
|
+
`;this.lineCount>0&&(t+=`\x1B[${this.lineCount}A`),process.stderr.write(t),this._render(),this.interval=setInterval(()=>this._render(),80)}update(t,n){t>=0&&t<this.statuses.length&&(this.statuses[t]=n)}stop(){this._stopped=!0,this.interval&&(clearInterval(this.interval),this.interval=null),this._renderFinal(),process.stderr.write("\x1B[?25h")}_renderFinal(){let t=this._formatElapsed(),n=t?` ${P.dim}${t}${P.reset}`:"",s="";for(let o=0;o<this.labels.length;o++){let i;switch(this.statuses[o]){case"done":i=`${P.green}\u2713${P.reset}`;break;case"error":i=`${P.red}\u2717${P.reset}`;break;default:i=`${P.yellow}\u25CB${P.reset}`}let a=o===this.labels.length-1?n:"";s+=`\x1B[2K ${i} ${P.dim}${this.labels[o]}${P.reset}${a}
|
|
4
|
+
`}process.stderr.write(s)}},Cn={done:"\u2714",in_progress:"\u25FC",pending:"\u25FB",failed:"\u2717"},An={done:P.green,in_progress:P.cyan,pending:P.dim,failed:P.red},Qe=null,zs=class{constructor(t,n){this.name=t,this.tasks=n.map(s=>({id:s.id,description:s.description,status:s.status||"pending"})),this.frame=0,this.interval=null,this.startTime=null,this.tokens=0,this.lineCount=1+this.tasks.length,this._paused=!1}_formatElapsed(){if(!this.startTime)return"";let t=Math.floor((Date.now()-this.startTime)/1e3);if(t<1)return"";let n=Math.floor(t/60),s=t%60;return n>0?`${n}m ${String(s).padStart(2,"0")}s`:`${s}s`}_formatTokens(){return this.tokens<=0?"":this.tokens>=1e3?`${(this.tokens/1e3).toFixed(1)}k`:String(this.tokens)}_render(){if(this._stopped)return;let t=ca[this.frame%ca.length],n=this._formatElapsed(),s=this._formatTokens(),o=[n,s?`\u2193 ${s} tokens`:""].filter(Boolean).join(" \xB7 "),i=o?` ${P.dim}(${o})${P.reset}`:"",a=`\x1B[2K${P.cyan}${t}${P.reset} ${this.name}\u2026${i}
|
|
5
|
+
`;for(let c=0;c<this.tasks.length;c++){let p=this.tasks[c],u=c===0?"\u23BF":" ",l=Cn[p.status]||Cn.pending,d=An[p.status]||An.pending,m=p.description.length>55?p.description.substring(0,52)+"...":p.description;a+=`\x1B[2K ${P.dim}${u}${P.reset} ${d}${l}${P.reset} ${m}
|
|
6
|
+
`}a+=`\x1B[${this.lineCount}A`,process.stderr.write(a),this.frame++}start(){this._stopped=!1,this.startTime=Date.now(),this._paused=!1;let t="\x1B[?25l";for(let n=0;n<this.lineCount;n++)t+=`
|
|
7
|
+
`;t+=`\x1B[${this.lineCount}A`,process.stderr.write(t),this._render(),this.interval=setInterval(()=>this._render(),120),Qe=this}stop(){this._stopped=!0,this.interval&&(clearInterval(this.interval),this.interval=null),this._paused||this._renderFinal(),process.stderr.write("\x1B[?25h"),this._paused=!1,Qe===this&&(Qe=null)}pause(){if(this._paused)return;this.interval&&(clearInterval(this.interval),this.interval=null);let t="";for(let n=0;n<this.lineCount;n++)t+=`\x1B[2K
|
|
8
|
+
`;t+=`\x1B[${this.lineCount}A`,process.stderr.write(t),this._paused=!0}resume(){if(!this._paused)return;this._paused=!1;let t="\x1B[?25l";for(let n=0;n<this.lineCount;n++)t+=`
|
|
9
|
+
`;t+=`\x1B[${this.lineCount}A`,process.stderr.write(t),this._render(),this.interval=setInterval(()=>this._render(),120)}updateTask(t,n){let s=this.tasks.find(o=>o.id===t);s&&(s.status=n)}setStats({tokens:t}){t!==void 0&&(this.tokens=t)}isActive(){return this.interval!==null||this._paused}_renderFinal(){let t=this._formatElapsed(),n=this.tasks.filter(c=>c.status==="done").length,s=this.tasks.filter(c=>c.status==="failed").length,o=this.tasks.length,i=s>0?`${n}/${o} done, ${s} failed`:`${n}/${o} done`,a=`\x1B[2K${P.green}\u2714${P.reset} ${this.name} ${P.dim}(${t} \xB7 ${i})${P.reset}
|
|
10
|
+
`;for(let c=0;c<this.tasks.length;c++){let p=this.tasks[c],u=c===0?"\u23BF":" ",l=Cn[p.status]||Cn.pending,d=An[p.status]||An.pending,m=p.description.length>55?p.description.substring(0,52)+"...":p.description;a+=`\x1B[2K ${P.dim}${u}${P.reset} ${d}${l}${P.reset} ${P.dim}${m}${P.reset}
|
|
11
|
+
`}process.stderr.write(a)}};function zd(e){Qe=e}function Wd(){return Qe}function Hd(){Qe&&(Qe.stop(),Qe=null),process.stderr.write("\x1B[?25h\x1B[2K\r")}pa.exports={C:P,Spinner:Us,MultiProgress:Bs,TaskProgress:zs,setActiveTaskProgress:zd,getActiveTaskProgress:Wd,cleanupTerminal:Hd}});var ma=_((k0,da)=>{var ae={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",white:"\x1B[37m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",gray:"\x1B[90m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",brightCyan:"\x1B[96m",brightMagenta:"\x1B[95m",brightBlue:"\x1B[94m"};function Gd(e,t){let n;switch(e){case"write_file":n=`path=${t.path} (${(t.content||"").length} chars)`;break;case"edit_file":n=`path=${t.path}`;break;case"bash":n=t.command?.substring(0,100)||"";break;default:n=JSON.stringify(t).substring(0,120)}return`${ae.yellow} \u25B8 ${e}${ae.reset} ${ae.dim}${n}${ae.reset}`}function Kd(e,t=8){let n=e.split(`
|
|
12
|
+
`),s=n.slice(0,t),o=n.length-t,i=s.map(a=>`${ae.green} ${a}${ae.reset}`).join(`
|
|
13
|
+
`);return o>0&&(i+=`
|
|
14
|
+
${ae.gray} ...+${o} more lines${ae.reset}`),i}function Jd(e,t){switch(e){case"bash":case"ask_user":case"write_file":case"edit_file":case"patch_file":case"task_list":case"spawn_agents":return null;case"read_file":return`Reading: ${t.path||"file"}`;case"list_directory":return`Listing: ${t.path||"."}`;case"search_files":return`Searching: ${t.pattern||"..."}`;case"glob":return`Glob: ${t.pattern||"..."}`;case"grep":return`Grep: ${t.pattern||"..."}`;case"web_fetch":return`Fetching: ${(t.url||"").substring(0,60)}`;case"web_search":return`Searching web: ${(t.query||"").substring(0,50)}`;case"git_status":return"Git status...";case"git_diff":return`Git diff${t.file?`: ${t.file}`:""}...`;case"git_log":return`Git log${t.file?`: ${t.file}`:""}...`;default:return`Running: ${e}`}}function Vd(e,t,n,s){let o=String(n||""),i=s?`${ae.red}\u2717${ae.reset}`:`${ae.green}\u2713${ae.reset}`;if(s){let c=o.split(`
|
|
15
|
+
`)[0].replace(/^ERROR:\s*/i,"").substring(0,60);return` ${i} ${ae.dim}${e}${ae.reset} ${ae.red}\u2192 ${c}${ae.reset}`}let a;switch(e){case"read_file":{let c=o.split(`
|
|
16
|
+
`).filter(Boolean),p=c.length,u=c[c.length-1],l=u?parseInt(u.match(/^(\d+):/)?.[1]||"0"):0;(t.line_start||t.line_end)&&l>p?a=`${t.path||"file"} (lines ${t.line_start||1}-${l})`:a=`${t.path||"file"} (${p} lines)`;break}case"write_file":{let c=(t.content||"").length;a=`${t.path||"file"} (${c} chars)`;break}case"edit_file":a=`${t.path||"file"} \u2192 edited`;break;case"patch_file":{let c=(t.patches||[]).length;a=`${t.path||"file"} (${c} patches)`;break}case"bash":{let c=(t.command||"").substring(0,40),p=(t.command||"").length>40?"...":"",u=o.match(/^EXIT (\d+)/);u?a=`${c}${p} \u2192 exit ${u[1]}`:a=`${c}${p} \u2192 ok`;break}case"grep":case"search_files":{if(o.includes("(no matches)")||o==="no matches")a=`${t.pattern||"..."} \u2192 no matches`;else{let c=o.split(`
|
|
17
|
+
`).filter(Boolean).length;a=`${t.pattern||"..."} \u2192 ${c} matches`}break}case"glob":{if(o==="(no matches)")a=`${t.pattern||"..."} \u2192 no matches`;else{let c=o.split(`
|
|
18
|
+
`).filter(Boolean).length;a=`${t.pattern||"..."} \u2192 ${c} files`}break}case"list_directory":{let c=o==="(empty)"?0:o.split(`
|
|
19
|
+
`).filter(Boolean).length;a=`${t.path||"."} \u2192 ${c} entries`;break}case"git_status":{let c=o.match(/Branch:\s*(\S+)/),p=o.split(`
|
|
20
|
+
`).filter(u=>/^\s*[MADRCU?!]/.test(u)).length;a=c?`${c[1]}, ${p} changes`:"done";break}case"git_diff":case"git_log":a="done";break;case"web_fetch":a=`${(t.url||"").substring(0,50)} \u2192 fetched`;break;case"web_search":{let c=o.split(`
|
|
21
|
+
|
|
22
|
+
`).filter(Boolean).length;a=`${(t.query||"").substring(0,40)} \u2192 ${c} results`;break}case"task_list":a=`${t.action||"list"} \u2192 done`;break;case"spawn_agents":{let c=(t.agents||[]).length,p=(o.match(/✓ Agent/g)||[]).length,u=(o.match(/✗ Agent/g)||[]).length;u>0?a=`${c} agents \u2192 ${p}\u2713 ${u}\u2717`:a=`${c} agents \u2192 done`;break}default:a="done"}return` ${i} ${ae.dim}${e} ${a}${ae.reset}`}da.exports={C:ae,formatToolCall:Gd,formatResult:Kd,getToolSpinnerText:Jd,formatToolSummary:Vd}});var pe=_((_0,fa)=>{var Et={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",white:"\x1B[37m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",gray:"\x1B[90m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",brightCyan:"\x1B[96m",brightMagenta:"\x1B[95m",brightBlue:"\x1B[94m"};function Yd(e,t){return[...e].map(n=>n===" "?n:`\x1B[38;2;${t[0]};${t[1]};${t[2]}m${n}`).join("")+Et.reset}function Xd(e,t){let n=(e.length-1)*t,s=Math.min(Math.floor(n),e.length-2),o=n-s;return[Math.round(e[s][0]+(e[s+1][0]-e[s][0])*o),Math.round(e[s][1]+(e[s+1][1]-e[s][1])*o),Math.round(e[s][2]+(e[s+1][2]-e[s][2])*o)]}function Qd(e,t,n={}){let s=Et.bold,o=Et.dim,i=Et.reset,a=["\u2588\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557 \u2501 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557","\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u255A\u2588\u2588\u2557\u2588\u2588\u2554\u255D \u2501 \u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D","\u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u255A\u2588\u2588\u2588\u2554\u255D \u2501 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557","\u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2554\u2588\u2588\u2557 \u2501 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255D","\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2554\u255D \u2588\u2588\u2557 \u2501 \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557","\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D \u2501 \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D"],c=[[220,240,255],[80,200,255],[40,100,220]],p=a.map((l,d)=>{let m=d/(a.length-1||1);return Yd(l,Xd(c,m))}).join(`
|
|
23
|
+
`),u=n.yolo?` ${s}${Et.yellow}\u26A1 YOLO${i}`:"";console.log(`
|
|
24
|
+
${p}
|
|
25
|
+
${o}Agentic Coding CLI v${aa().version}${i}
|
|
26
|
+
${o}Model: ${e}${i} ${o}\xB7 /help${i}${u}
|
|
27
|
+
`)}var{Spinner:Zd,MultiProgress:em,TaskProgress:tm,setActiveTaskProgress:nm,getActiveTaskProgress:sm,cleanupTerminal:om}=ua(),{formatToolCall:im,formatResult:am,getToolSpinnerText:rm,formatToolSummary:cm}=ma();fa.exports={C:Et,banner:Qd,Spinner:Zd,MultiProgress:em,TaskProgress:tm,setActiveTaskProgress:nm,getActiveTaskProgress:sm,cleanupTerminal:om,formatToolCall:im,formatResult:am,getToolSpinnerText:rm,formatToolSummary:cm}});var xa=_((S0,ga)=>{var ha=require("stream").Stream,lm=require("util");ga.exports=qe;function qe(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}lm.inherits(qe,ha);qe.create=function(e,t){var n=new this;t=t||{};for(var s in t)n[s]=t[s];n.source=e;var o=e.emit;return e.emit=function(){return n._handleEmit(arguments),o.apply(e,arguments)},e.on("error",function(){}),n.pauseStream&&e.pause(),n};Object.defineProperty(qe.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});qe.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};qe.prototype.resume=function(){this._released||this.release(),this.source.resume()};qe.prototype.pause=function(){this.source.pause()};qe.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(e){this.emit.apply(this,e)}.bind(this)),this._bufferedEvents=[]};qe.prototype.pipe=function(){var e=ha.prototype.pipe.apply(this,arguments);return this.resume(),e};qe.prototype._handleEmit=function(e){if(this._released){this.emit.apply(this,e);return}e[0]==="data"&&(this.dataSize+=e[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(e)};qe.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var e="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(e))}}});var $a=_((E0,ya)=>{var pm=require("util"),va=require("stream").Stream,ba=xa();ya.exports=X;function X(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2*1024*1024,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}pm.inherits(X,va);X.create=function(e){var t=new this;e=e||{};for(var n in e)t[n]=e[n];return t};X.isStreamLike=function(e){return typeof e!="function"&&typeof e!="string"&&typeof e!="boolean"&&typeof e!="number"&&!Buffer.isBuffer(e)};X.prototype.append=function(e){var t=X.isStreamLike(e);if(t){if(!(e instanceof ba)){var n=ba.create(e,{maxDataSize:1/0,pauseStream:this.pauseStreams});e.on("data",this._checkDataSize.bind(this)),e=n}this._handleErrors(e),this.pauseStreams&&e.pause()}return this._streams.push(e),this};X.prototype.pipe=function(e,t){return va.prototype.pipe.call(this,e,t),this.resume(),e};X.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}};X.prototype._realGetNext=function(){var e=this._streams.shift();if(typeof e>"u"){this.end();return}if(typeof e!="function"){this._pipeNext(e);return}var t=e;t(function(n){var s=X.isStreamLike(n);s&&(n.on("data",this._checkDataSize.bind(this)),this._handleErrors(n)),this._pipeNext(n)}.bind(this))};X.prototype._pipeNext=function(e){this._currentStream=e;var t=X.isStreamLike(e);if(t){e.on("end",this._getNext.bind(this)),e.pipe(this,{end:!1});return}var n=e;this.write(n),this._getNext()};X.prototype._handleErrors=function(e){var t=this;e.on("error",function(n){t._emitError(n)})};X.prototype.write=function(e){this.emit("data",e)};X.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};X.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function"&&this._currentStream.resume(),this.emit("resume")};X.prototype.end=function(){this._reset(),this.emit("end")};X.prototype.destroy=function(){this._reset(),this.emit("close")};X.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};X.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var e="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(e))}};X.prototype._updateDataSize=function(){this.dataSize=0;var e=this;this._streams.forEach(function(t){t.dataSize&&(e.dataSize+=t.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};X.prototype._emitError=function(e){this._reset(),this.emit("error",e)}});var wa=_((T0,um)=>{um.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var _a=_((R0,ka)=>{ka.exports=wa()});var Ta=_(_e=>{"use strict";var On=_a(),dm=require("path").extname,Sa=/^\s*([^;\s]*)(?:;|\s|$)/,mm=/^text\//i;_e.charset=Ea;_e.charsets={lookup:Ea};_e.contentType=fm;_e.extension=hm;_e.extensions=Object.create(null);_e.lookup=gm;_e.types=Object.create(null);xm(_e.extensions,_e.types);function Ea(e){if(!e||typeof e!="string")return!1;var t=Sa.exec(e),n=t&&On[t[1].toLowerCase()];return n&&n.charset?n.charset:t&&mm.test(t[1])?"UTF-8":!1}function fm(e){if(!e||typeof e!="string")return!1;var t=e.indexOf("/")===-1?_e.lookup(e):e;if(!t)return!1;if(t.indexOf("charset")===-1){var n=_e.charset(t);n&&(t+="; charset="+n.toLowerCase())}return t}function hm(e){if(!e||typeof e!="string")return!1;var t=Sa.exec(e),n=t&&_e.extensions[t[1].toLowerCase()];return!n||!n.length?!1:n[0]}function gm(e){if(!e||typeof e!="string")return!1;var t=dm("x."+e).toLowerCase().substr(1);return t&&_e.types[t]||!1}function xm(e,t){var n=["nginx","apache",void 0,"iana"];Object.keys(On).forEach(function(o){var i=On[o],a=i.extensions;if(!(!a||!a.length)){e[o]=a;for(var c=0;c<a.length;c++){var p=a[c];if(t[p]){var u=n.indexOf(On[t[p]].source),l=n.indexOf(i.source);if(t[p]!=="application/octet-stream"&&(u>l||u===l&&t[p].substr(0,12)==="application/"))continue}t[p]=o}}})}});var Ca=_((A0,Ra)=>{Ra.exports=bm;function bm(e){var t=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;t?t(e):setTimeout(e,0)}});var Ws=_((O0,Oa)=>{var Aa=Ca();Oa.exports=vm;function vm(e){var t=!1;return Aa(function(){t=!0}),function(s,o){t?e(s,o):Aa(function(){e(s,o)})}}});var Hs=_((j0,ja)=>{ja.exports=ym;function ym(e){Object.keys(e.jobs).forEach($m.bind(e)),e.jobs={}}function $m(e){typeof this.jobs[e]=="function"&&this.jobs[e]()}});var Gs=_((P0,Na)=>{var Pa=Ws(),wm=Hs();Na.exports=km;function km(e,t,n,s){var o=n.keyedList?n.keyedList[n.index]:n.index;n.jobs[o]=_m(t,o,e[o],function(i,a){o in n.jobs&&(delete n.jobs[o],i?wm(n):n.results[o]=a,s(i,n.results))})}function _m(e,t,n,s){var o;return e.length==2?o=e(n,Pa(s)):o=e(n,t,Pa(s)),o}});var Ks=_((N0,La)=>{La.exports=Sm;function Sm(e,t){var n=!Array.isArray(e),s={index:0,keyedList:n||t?Object.keys(e):null,jobs:{},results:n?{}:[],size:n?Object.keys(e).length:e.length};return t&&s.keyedList.sort(n?t:function(o,i){return t(e[o],e[i])}),s}});var Js=_((L0,qa)=>{var Em=Hs(),Tm=Ws();qa.exports=Rm;function Rm(e){Object.keys(this.jobs).length&&(this.index=this.size,Em(this),Tm(e)(null,this.results))}});var Fa=_((q0,Ma)=>{var Cm=Gs(),Am=Ks(),Om=Js();Ma.exports=jm;function jm(e,t,n){for(var s=Am(e);s.index<(s.keyedList||e).length;)Cm(e,t,s,function(o,i){if(o){n(o,i);return}if(Object.keys(s.jobs).length===0){n(null,s.results);return}}),s.index++;return Om.bind(s,n)}});var Vs=_((M0,jn)=>{var Ia=Gs(),Pm=Ks(),Nm=Js();jn.exports=Lm;jn.exports.ascending=Da;jn.exports.descending=qm;function Lm(e,t,n,s){var o=Pm(e,n);return Ia(e,t,o,function i(a,c){if(a){s(a,c);return}if(o.index++,o.index<(o.keyedList||e).length){Ia(e,t,o,i);return}s(null,o.results)}),Nm.bind(o,s)}function Da(e,t){return e<t?-1:e>t?1:0}function qm(e,t){return-1*Da(e,t)}});var Ba=_((F0,Ua)=>{var Mm=Vs();Ua.exports=Fm;function Fm(e,t,n){return Mm(e,t,null,n)}});var Wa=_((I0,za)=>{za.exports={parallel:Fa(),serial:Ba(),serialOrdered:Vs()}});var Ys=_((D0,Ha)=>{"use strict";Ha.exports=Object});var Ka=_((U0,Ga)=>{"use strict";Ga.exports=Error});var Va=_((B0,Ja)=>{"use strict";Ja.exports=EvalError});var Xa=_((z0,Ya)=>{"use strict";Ya.exports=RangeError});var Za=_((W0,Qa)=>{"use strict";Qa.exports=ReferenceError});var tr=_((H0,er)=>{"use strict";er.exports=SyntaxError});var Pn=_((G0,nr)=>{"use strict";nr.exports=TypeError});var or=_((K0,sr)=>{"use strict";sr.exports=URIError});var ar=_((J0,ir)=>{"use strict";ir.exports=Math.abs});var cr=_((V0,rr)=>{"use strict";rr.exports=Math.floor});var pr=_((Y0,lr)=>{"use strict";lr.exports=Math.max});var dr=_((X0,ur)=>{"use strict";ur.exports=Math.min});var fr=_((Q0,mr)=>{"use strict";mr.exports=Math.pow});var gr=_((Z0,hr)=>{"use strict";hr.exports=Math.round});var br=_((ek,xr)=>{"use strict";xr.exports=Number.isNaN||function(t){return t!==t}});var yr=_((tk,vr)=>{"use strict";var Im=br();vr.exports=function(t){return Im(t)||t===0?t:t<0?-1:1}});var wr=_((nk,$r)=>{"use strict";$r.exports=Object.getOwnPropertyDescriptor});var Xs=_((sk,kr)=>{"use strict";var Nn=wr();if(Nn)try{Nn([],"length")}catch{Nn=null}kr.exports=Nn});var Sr=_((ok,_r)=>{"use strict";var Ln=Object.defineProperty||!1;if(Ln)try{Ln({},"a",{value:1})}catch{Ln=!1}_r.exports=Ln});var Qs=_((ik,Er)=>{"use strict";Er.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},n=Symbol("test"),s=Object(n);if(typeof n=="string"||Object.prototype.toString.call(n)!=="[object Symbol]"||Object.prototype.toString.call(s)!=="[object Symbol]")return!1;var o=42;t[n]=o;for(var i in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var a=Object.getOwnPropertySymbols(t);if(a.length!==1||a[0]!==n||!Object.prototype.propertyIsEnumerable.call(t,n))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var c=Object.getOwnPropertyDescriptor(t,n);if(c.value!==o||c.enumerable!==!0)return!1}return!0}});var Cr=_((ak,Rr)=>{"use strict";var Tr=typeof Symbol<"u"&&Symbol,Dm=Qs();Rr.exports=function(){return typeof Tr!="function"||typeof Symbol!="function"||typeof Tr("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:Dm()}});var Zs=_((rk,Ar)=>{"use strict";Ar.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var eo=_((ck,Or)=>{"use strict";var Um=Ys();Or.exports=Um.getPrototypeOf||null});var Nr=_((lk,Pr)=>{"use strict";var Bm="Function.prototype.bind called on incompatible ",zm=Object.prototype.toString,Wm=Math.max,Hm="[object Function]",jr=function(t,n){for(var s=[],o=0;o<t.length;o+=1)s[o]=t[o];for(var i=0;i<n.length;i+=1)s[i+t.length]=n[i];return s},Gm=function(t,n){for(var s=[],o=n||0,i=0;o<t.length;o+=1,i+=1)s[i]=t[o];return s},Km=function(e,t){for(var n="",s=0;s<e.length;s+=1)n+=e[s],s+1<e.length&&(n+=t);return n};Pr.exports=function(t){var n=this;if(typeof n!="function"||zm.apply(n)!==Hm)throw new TypeError(Bm+n);for(var s=Gm(arguments,1),o,i=function(){if(this instanceof o){var l=n.apply(this,jr(s,arguments));return Object(l)===l?l:this}return n.apply(t,jr(s,arguments))},a=Wm(0,n.length-s.length),c=[],p=0;p<a;p++)c[p]="$"+p;if(o=Function("binder","return function ("+Km(c,",")+"){ return binder.apply(this,arguments); }")(i),n.prototype){var u=function(){};u.prototype=n.prototype,o.prototype=new u,u.prototype=null}return o}});var Vt=_((pk,Lr)=>{"use strict";var Jm=Nr();Lr.exports=Function.prototype.bind||Jm});var qn=_((uk,qr)=>{"use strict";qr.exports=Function.prototype.call});var to=_((dk,Mr)=>{"use strict";Mr.exports=Function.prototype.apply});var Ir=_((mk,Fr)=>{"use strict";Fr.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var Ur=_((fk,Dr)=>{"use strict";var Vm=Vt(),Ym=to(),Xm=qn(),Qm=Ir();Dr.exports=Qm||Vm.call(Xm,Ym)});var zr=_((hk,Br)=>{"use strict";var Zm=Vt(),ef=Pn(),tf=qn(),nf=Ur();Br.exports=function(t){if(t.length<1||typeof t[0]!="function")throw new ef("a function is required");return nf(Zm,tf,t)}});var Vr=_((gk,Jr)=>{"use strict";var sf=zr(),Wr=Xs(),Gr;try{Gr=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!="object"||!("code"in e)||e.code!=="ERR_PROTO_ACCESS")throw e}var no=!!Gr&&Wr&&Wr(Object.prototype,"__proto__"),Kr=Object,Hr=Kr.getPrototypeOf;Jr.exports=no&&typeof no.get=="function"?sf([no.get]):typeof Hr=="function"?function(t){return Hr(t==null?t:Kr(t))}:!1});var ec=_((xk,Zr)=>{"use strict";var Yr=Zs(),Xr=eo(),Qr=Vr();Zr.exports=Yr?function(t){return Yr(t)}:Xr?function(t){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("getProto: not an object");return Xr(t)}:Qr?function(t){return Qr(t)}:null});var Mn=_((bk,tc)=>{"use strict";var of=Function.prototype.call,af=Object.prototype.hasOwnProperty,rf=Vt();tc.exports=rf.call(of,af)});var cc=_((vk,rc)=>{"use strict";var I,cf=Ys(),lf=Ka(),pf=Va(),uf=Xa(),df=Za(),At=tr(),Ct=Pn(),mf=or(),ff=ar(),hf=cr(),gf=pr(),xf=dr(),bf=fr(),vf=gr(),yf=yr(),ic=Function,so=function(e){try{return ic('"use strict"; return ('+e+").constructor;")()}catch{}},Yt=Xs(),$f=Sr(),oo=function(){throw new Ct},wf=Yt?(function(){try{return arguments.callee,oo}catch{try{return Yt(arguments,"callee").get}catch{return oo}}})():oo,Tt=Cr()(),ue=ec(),kf=eo(),_f=Zs(),ac=to(),Xt=qn(),Rt={},Sf=typeof Uint8Array>"u"||!ue?I:ue(Uint8Array),at={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?I:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?I:ArrayBuffer,"%ArrayIteratorPrototype%":Tt&&ue?ue([][Symbol.iterator]()):I,"%AsyncFromSyncIteratorPrototype%":I,"%AsyncFunction%":Rt,"%AsyncGenerator%":Rt,"%AsyncGeneratorFunction%":Rt,"%AsyncIteratorPrototype%":Rt,"%Atomics%":typeof Atomics>"u"?I:Atomics,"%BigInt%":typeof BigInt>"u"?I:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?I:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?I:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?I:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":lf,"%eval%":eval,"%EvalError%":pf,"%Float16Array%":typeof Float16Array>"u"?I:Float16Array,"%Float32Array%":typeof Float32Array>"u"?I:Float32Array,"%Float64Array%":typeof Float64Array>"u"?I:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?I:FinalizationRegistry,"%Function%":ic,"%GeneratorFunction%":Rt,"%Int8Array%":typeof Int8Array>"u"?I:Int8Array,"%Int16Array%":typeof Int16Array>"u"?I:Int16Array,"%Int32Array%":typeof Int32Array>"u"?I:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Tt&&ue?ue(ue([][Symbol.iterator]())):I,"%JSON%":typeof JSON=="object"?JSON:I,"%Map%":typeof Map>"u"?I:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Tt||!ue?I:ue(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":cf,"%Object.getOwnPropertyDescriptor%":Yt,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?I:Promise,"%Proxy%":typeof Proxy>"u"?I:Proxy,"%RangeError%":uf,"%ReferenceError%":df,"%Reflect%":typeof Reflect>"u"?I:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?I:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Tt||!ue?I:ue(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?I:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Tt&&ue?ue(""[Symbol.iterator]()):I,"%Symbol%":Tt?Symbol:I,"%SyntaxError%":At,"%ThrowTypeError%":wf,"%TypedArray%":Sf,"%TypeError%":Ct,"%Uint8Array%":typeof Uint8Array>"u"?I:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?I:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?I:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?I:Uint32Array,"%URIError%":mf,"%WeakMap%":typeof WeakMap>"u"?I:WeakMap,"%WeakRef%":typeof WeakRef>"u"?I:WeakRef,"%WeakSet%":typeof WeakSet>"u"?I:WeakSet,"%Function.prototype.call%":Xt,"%Function.prototype.apply%":ac,"%Object.defineProperty%":$f,"%Object.getPrototypeOf%":kf,"%Math.abs%":ff,"%Math.floor%":hf,"%Math.max%":gf,"%Math.min%":xf,"%Math.pow%":bf,"%Math.round%":vf,"%Math.sign%":yf,"%Reflect.getPrototypeOf%":_f};if(ue)try{null.error}catch(e){nc=ue(ue(e)),at["%Error.prototype%"]=nc}var nc,Ef=function e(t){var n;if(t==="%AsyncFunction%")n=so("async function () {}");else if(t==="%GeneratorFunction%")n=so("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=so("async function* () {}");else if(t==="%AsyncGenerator%"){var s=e("%AsyncGeneratorFunction%");s&&(n=s.prototype)}else if(t==="%AsyncIteratorPrototype%"){var o=e("%AsyncGenerator%");o&&ue&&(n=ue(o.prototype))}return at[t]=n,n},sc={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Qt=Vt(),Fn=Mn(),Tf=Qt.call(Xt,Array.prototype.concat),Rf=Qt.call(ac,Array.prototype.splice),oc=Qt.call(Xt,String.prototype.replace),In=Qt.call(Xt,String.prototype.slice),Cf=Qt.call(Xt,RegExp.prototype.exec),Af=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Of=/\\(\\)?/g,jf=function(t){var n=In(t,0,1),s=In(t,-1);if(n==="%"&&s!=="%")throw new At("invalid intrinsic syntax, expected closing `%`");if(s==="%"&&n!=="%")throw new At("invalid intrinsic syntax, expected opening `%`");var o=[];return oc(t,Af,function(i,a,c,p){o[o.length]=c?oc(p,Of,"$1"):a||i}),o},Pf=function(t,n){var s=t,o;if(Fn(sc,s)&&(o=sc[s],s="%"+o[0]+"%"),Fn(at,s)){var i=at[s];if(i===Rt&&(i=Ef(s)),typeof i>"u"&&!n)throw new Ct("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:o,name:s,value:i}}throw new At("intrinsic "+t+" does not exist!")};rc.exports=function(t,n){if(typeof t!="string"||t.length===0)throw new Ct("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new Ct('"allowMissing" argument must be a boolean');if(Cf(/^%?[^%]*%?$/,t)===null)throw new At("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var s=jf(t),o=s.length>0?s[0]:"",i=Pf("%"+o+"%",n),a=i.name,c=i.value,p=!1,u=i.alias;u&&(o=u[0],Rf(s,Tf([0,1],u)));for(var l=1,d=!0;l<s.length;l+=1){var m=s[l],h=In(m,0,1),f=In(m,-1);if((h==='"'||h==="'"||h==="`"||f==='"'||f==="'"||f==="`")&&h!==f)throw new At("property names with quotes must have matching quotes");if((m==="constructor"||!d)&&(p=!0),o+="."+m,a="%"+o+"%",Fn(at,a))c=at[a];else if(c!=null){if(!(m in c)){if(!n)throw new Ct("base intrinsic for "+t+" exists, but the property is not available.");return}if(Yt&&l+1>=s.length){var x=Yt(c,m);d=!!x,d&&"get"in x&&!("originalValue"in x.get)?c=x.get:c=c[m]}else d=Fn(c,m),c=c[m];d&&!p&&(at[a]=c)}}return c}});var pc=_((yk,lc)=>{"use strict";var Nf=Qs();lc.exports=function(){return Nf()&&!!Symbol.toStringTag}});var mc=_(($k,dc)=>{"use strict";var Lf=cc(),uc=Lf("%Object.defineProperty%",!0),qf=pc()(),Mf=Mn(),Ff=Pn(),Dn=qf?Symbol.toStringTag:null;dc.exports=function(t,n){var s=arguments.length>2&&!!arguments[2]&&arguments[2].force,o=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof s<"u"&&typeof s!="boolean"||typeof o<"u"&&typeof o!="boolean")throw new Ff("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");Dn&&(s||!Mf(t,Dn))&&(uc?uc(t,Dn,{configurable:!o,enumerable:!1,value:n,writable:!1}):t[Dn]=n)}});var hc=_((wk,fc)=>{"use strict";fc.exports=function(e,t){return Object.keys(t).forEach(function(n){e[n]=e[n]||t[n]}),e}});var xc=_((kk,gc)=>{"use strict";var co=$a(),If=require("util"),io=require("path"),Df=require("http"),Uf=require("https"),Bf=require("url").parse,zf=require("fs"),Wf=require("stream").Stream,Hf=require("crypto"),ao=Ta(),Gf=Wa(),Kf=mc(),Ze=Mn(),ro=hc();function D(e){if(!(this instanceof D))return new D(e);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],co.call(this),e=e||{};for(var t in e)this[t]=e[t]}If.inherits(D,co);D.LINE_BREAK=`\r
|
|
28
|
+
`;D.DEFAULT_CONTENT_TYPE="application/octet-stream";D.prototype.append=function(e,t,n){n=n||{},typeof n=="string"&&(n={filename:n});var s=co.prototype.append.bind(this);if((typeof t=="number"||t==null)&&(t=String(t)),Array.isArray(t)){this._error(new Error("Arrays are not supported."));return}var o=this._multiPartHeader(e,t,n),i=this._multiPartFooter();s(o),s(t),s(i),this._trackLength(o,t,n)};D.prototype._trackLength=function(e,t,n){var s=0;n.knownLength!=null?s+=Number(n.knownLength):Buffer.isBuffer(t)?s=t.length:typeof t=="string"&&(s=Buffer.byteLength(t)),this._valueLength+=s,this._overheadLength+=Buffer.byteLength(e)+D.LINE_BREAK.length,!(!t||!t.path&&!(t.readable&&Ze(t,"httpVersion"))&&!(t instanceof Wf))&&(n.knownLength||this._valuesToMeasure.push(t))};D.prototype._lengthRetriever=function(e,t){Ze(e,"fd")?e.end!=null&&e.end!=1/0&&e.start!=null?t(null,e.end+1-(e.start?e.start:0)):zf.stat(e.path,function(n,s){if(n){t(n);return}var o=s.size-(e.start?e.start:0);t(null,o)}):Ze(e,"httpVersion")?t(null,Number(e.headers["content-length"])):Ze(e,"httpModule")?(e.on("response",function(n){e.pause(),t(null,Number(n.headers["content-length"]))}),e.resume()):t("Unknown stream")};D.prototype._multiPartHeader=function(e,t,n){if(typeof n.header=="string")return n.header;var s=this._getContentDisposition(t,n),o=this._getContentType(t,n),i="",a={"Content-Disposition":["form-data",'name="'+e+'"'].concat(s||[]),"Content-Type":[].concat(o||[])};typeof n.header=="object"&&ro(a,n.header);var c;for(var p in a)if(Ze(a,p)){if(c=a[p],c==null)continue;Array.isArray(c)||(c=[c]),c.length&&(i+=p+": "+c.join("; ")+D.LINE_BREAK)}return"--"+this.getBoundary()+D.LINE_BREAK+i+D.LINE_BREAK};D.prototype._getContentDisposition=function(e,t){var n;if(typeof t.filepath=="string"?n=io.normalize(t.filepath).replace(/\\/g,"/"):t.filename||e&&(e.name||e.path)?n=io.basename(t.filename||e&&(e.name||e.path)):e&&e.readable&&Ze(e,"httpVersion")&&(n=io.basename(e.client._httpMessage.path||"")),n)return'filename="'+n+'"'};D.prototype._getContentType=function(e,t){var n=t.contentType;return!n&&e&&e.name&&(n=ao.lookup(e.name)),!n&&e&&e.path&&(n=ao.lookup(e.path)),!n&&e&&e.readable&&Ze(e,"httpVersion")&&(n=e.headers["content-type"]),!n&&(t.filepath||t.filename)&&(n=ao.lookup(t.filepath||t.filename)),!n&&e&&typeof e=="object"&&(n=D.DEFAULT_CONTENT_TYPE),n};D.prototype._multiPartFooter=function(){return function(e){var t=D.LINE_BREAK,n=this._streams.length===0;n&&(t+=this._lastBoundary()),e(t)}.bind(this)};D.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+D.LINE_BREAK};D.prototype.getHeaders=function(e){var t,n={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(t in e)Ze(e,t)&&(n[t.toLowerCase()]=e[t]);return n};D.prototype.setBoundary=function(e){if(typeof e!="string")throw new TypeError("FormData boundary must be a string");this._boundary=e};D.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};D.prototype.getBuffer=function(){for(var e=new Buffer.alloc(0),t=this.getBoundary(),n=0,s=this._streams.length;n<s;n++)typeof this._streams[n]!="function"&&(Buffer.isBuffer(this._streams[n])?e=Buffer.concat([e,this._streams[n]]):e=Buffer.concat([e,Buffer.from(this._streams[n])]),(typeof this._streams[n]!="string"||this._streams[n].substring(2,t.length+2)!==t)&&(e=Buffer.concat([e,Buffer.from(D.LINE_BREAK)])));return Buffer.concat([e,Buffer.from(this._lastBoundary())])};D.prototype._generateBoundary=function(){this._boundary="--------------------------"+Hf.randomBytes(12).toString("hex")};D.prototype.getLengthSync=function(){var e=this._overheadLength+this._valueLength;return this._streams.length&&(e+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error("Cannot calculate proper length in synchronous way.")),e};D.prototype.hasKnownLength=function(){var e=!0;return this._valuesToMeasure.length&&(e=!1),e};D.prototype.getLength=function(e){var t=this._overheadLength+this._valueLength;if(this._streams.length&&(t+=this._lastBoundary().length),!this._valuesToMeasure.length){process.nextTick(e.bind(this,null,t));return}Gf.parallel(this._valuesToMeasure,this._lengthRetriever,function(n,s){if(n){e(n);return}s.forEach(function(o){t+=o}),e(null,t)})};D.prototype.submit=function(e,t){var n,s,o={method:"post"};return typeof e=="string"?(e=Bf(e),s=ro({port:e.port,path:e.pathname,host:e.hostname,protocol:e.protocol},o)):(s=ro(e,o),s.port||(s.port=s.protocol==="https:"?443:80)),s.headers=this.getHeaders(e.headers),s.protocol==="https:"?n=Uf.request(s):n=Df.request(s),this.getLength(function(i,a){if(i&&i!=="Unknown stream"){this._error(i);return}if(a&&n.setHeader("Content-Length",a),this.pipe(n),t){var c,p=function(u,l){return n.removeListener("error",p),n.removeListener("response",c),t.call(this,u,l)};c=p.bind(this,null),n.on("error",p),n.on("response",c)}}.bind(this)),n};D.prototype._error=function(e){this.error||(this.error=e,this.pause(),this.emit("error",e))};D.prototype.toString=function(){return"[object FormData]"};Kf(D.prototype,"FormData");gc.exports=D});var vc=_(bc=>{"use strict";var Jf=require("url").parse,Vf={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},Yf=String.prototype.endsWith||function(e){return e.length<=this.length&&this.indexOf(e,this.length-e.length)!==-1};function Xf(e){var t=typeof e=="string"?Jf(e):e||{},n=t.protocol,s=t.host,o=t.port;if(typeof s!="string"||!s||typeof n!="string"||(n=n.split(":",1)[0],s=s.replace(/:\d*$/,""),o=parseInt(o)||Vf[n]||0,!Qf(s,o)))return"";var i=Ot("npm_config_"+n+"_proxy")||Ot(n+"_proxy")||Ot("npm_config_proxy")||Ot("all_proxy");return i&&i.indexOf("://")===-1&&(i=n+"://"+i),i}function Qf(e,t){var n=(Ot("npm_config_no_proxy")||Ot("no_proxy")).toLowerCase();return n?n==="*"?!1:n.split(/[,\s]/).every(function(s){if(!s)return!0;var o=s.match(/^(.+):(\d+)$/),i=o?o[1]:s,a=o?parseInt(o[2]):0;return a&&a!==t?!0:/^[.*]/.test(i)?(i.charAt(0)==="*"&&(i=i.slice(1)),!Yf.call(e,i)):e!==i}):!0}function Ot(e){return process.env[e.toLowerCase()]||process.env[e.toUpperCase()]||""}bc.getProxyForUrl=Xf});var $c=_((Sk,yc)=>{var jt=1e3,Pt=jt*60,Nt=Pt*60,rt=Nt*24,Zf=rt*7,eh=rt*365.25;yc.exports=function(e,t){t=t||{};var n=typeof e;if(n==="string"&&e.length>0)return th(e);if(n==="number"&&isFinite(e))return t.long?sh(e):nh(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function th(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var n=parseFloat(t[1]),s=(t[2]||"ms").toLowerCase();switch(s){case"years":case"year":case"yrs":case"yr":case"y":return n*eh;case"weeks":case"week":case"w":return n*Zf;case"days":case"day":case"d":return n*rt;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Nt;case"minutes":case"minute":case"mins":case"min":case"m":return n*Pt;case"seconds":case"second":case"secs":case"sec":case"s":return n*jt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function nh(e){var t=Math.abs(e);return t>=rt?Math.round(e/rt)+"d":t>=Nt?Math.round(e/Nt)+"h":t>=Pt?Math.round(e/Pt)+"m":t>=jt?Math.round(e/jt)+"s":e+"ms"}function sh(e){var t=Math.abs(e);return t>=rt?Un(e,t,rt,"day"):t>=Nt?Un(e,t,Nt,"hour"):t>=Pt?Un(e,t,Pt,"minute"):t>=jt?Un(e,t,jt,"second"):e+" ms"}function Un(e,t,n,s){var o=t>=n*1.5;return Math.round(e/n)+" "+s+(o?"s":"")}});var lo=_((Ek,wc)=>{function oh(e){n.debug=n,n.default=n,n.coerce=p,n.disable=a,n.enable=o,n.enabled=c,n.humanize=$c(),n.destroy=u,Object.keys(e).forEach(l=>{n[l]=e[l]}),n.names=[],n.skips=[],n.formatters={};function t(l){let d=0;for(let m=0;m<l.length;m++)d=(d<<5)-d+l.charCodeAt(m),d|=0;return n.colors[Math.abs(d)%n.colors.length]}n.selectColor=t;function n(l){let d,m=null,h,f;function x(...b){if(!x.enabled)return;let v=x,$=Number(new Date),T=$-(d||$);v.diff=T,v.prev=d,v.curr=$,d=$,b[0]=n.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let w=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(S,E)=>{if(S==="%%")return"%";w++;let C=n.formatters[E];if(typeof C=="function"){let M=b[w];S=C.call(v,M),b.splice(w,1),w--}return S}),n.formatArgs.call(v,b),(v.log||n.log).apply(v,b)}return x.namespace=l,x.useColors=n.useColors(),x.color=n.selectColor(l),x.extend=s,x.destroy=n.destroy,Object.defineProperty(x,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(h!==n.namespaces&&(h=n.namespaces,f=n.enabled(l)),f),set:b=>{m=b}}),typeof n.init=="function"&&n.init(x),x}function s(l,d){let m=n(this.namespace+(typeof d>"u"?":":d)+l);return m.log=this.log,m}function o(l){n.save(l),n.namespaces=l,n.names=[],n.skips=[];let d=(typeof l=="string"?l:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let m of d)m[0]==="-"?n.skips.push(m.slice(1)):n.names.push(m)}function i(l,d){let m=0,h=0,f=-1,x=0;for(;m<l.length;)if(h<d.length&&(d[h]===l[m]||d[h]==="*"))d[h]==="*"?(f=h,x=m,h++):(m++,h++);else if(f!==-1)h=f+1,x++,m=x;else return!1;for(;h<d.length&&d[h]==="*";)h++;return h===d.length}function a(){let l=[...n.names,...n.skips.map(d=>"-"+d)].join(",");return n.enable(""),l}function c(l){for(let d of n.skips)if(i(l,d))return!1;for(let d of n.names)if(i(l,d))return!0;return!1}function p(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}wc.exports=oh});var kc=_((Se,Bn)=>{Se.formatArgs=ah;Se.save=rh;Se.load=ch;Se.useColors=ih;Se.storage=lh();Se.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Se.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function ih(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function ah(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+Bn.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let n=0,s=0;e[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(n++,o==="%c"&&(s=n))}),e.splice(s,0,t)}Se.log=console.debug||console.log||(()=>{});function rh(e){try{e?Se.storage.setItem("debug",e):Se.storage.removeItem("debug")}catch{}}function ch(){let e;try{e=Se.storage.getItem("debug")||Se.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function lh(){try{return localStorage}catch{}}Bn.exports=lo()(Se);var{formatters:ph}=Bn.exports;ph.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Sc=_((Tk,_c)=>{"use strict";_c.exports=(e,t=process.argv)=>{let n=e.startsWith("-")?"":e.length===1?"-":"--",s=t.indexOf(n+e),o=t.indexOf("--");return s!==-1&&(o===-1||s<o)}});var Rc=_((Rk,Tc)=>{"use strict";var uh=require("os"),Ec=require("tty"),Pe=Sc(),{env:de}=process,et;Pe("no-color")||Pe("no-colors")||Pe("color=false")||Pe("color=never")?et=0:(Pe("color")||Pe("colors")||Pe("color=true")||Pe("color=always"))&&(et=1);"FORCE_COLOR"in de&&(de.FORCE_COLOR==="true"?et=1:de.FORCE_COLOR==="false"?et=0:et=de.FORCE_COLOR.length===0?1:Math.min(parseInt(de.FORCE_COLOR,10),3));function po(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function uo(e,t){if(et===0)return 0;if(Pe("color=16m")||Pe("color=full")||Pe("color=truecolor"))return 3;if(Pe("color=256"))return 2;if(e&&!t&&et===void 0)return 0;let n=et||0;if(de.TERM==="dumb")return n;if(process.platform==="win32"){let s=uh.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in de)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(s=>s in de)||de.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in de)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(de.TEAMCITY_VERSION)?1:0;if(de.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in de){let s=parseInt((de.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(de.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(de.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(de.TERM)||"COLORTERM"in de?1:n}function dh(e){let t=uo(e,e&&e.isTTY);return po(t)}Tc.exports={supportsColor:dh,stdout:po(uo(!0,Ec.isatty(1))),stderr:po(uo(!0,Ec.isatty(2)))}});var Ac=_((me,Wn)=>{var mh=require("tty"),zn=require("util");me.init=yh;me.log=xh;me.formatArgs=hh;me.save=bh;me.load=vh;me.useColors=fh;me.destroy=zn.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");me.colors=[6,2,3,4,5,1];try{let e=Rc();e&&(e.stderr||e).level>=2&&(me.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}me.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let n=t.substring(6).toLowerCase().replace(/_([a-z])/g,(o,i)=>i.toUpperCase()),s=process.env[t];return/^(yes|on|true|enabled)$/i.test(s)?s=!0:/^(no|off|false|disabled)$/i.test(s)?s=!1:s==="null"?s=null:s=Number(s),e[n]=s,e},{});function fh(){return"colors"in me.inspectOpts?!!me.inspectOpts.colors:mh.isatty(process.stderr.fd)}function hh(e){let{namespace:t,useColors:n}=this;if(n){let s=this.color,o="\x1B[3"+(s<8?s:"8;5;"+s),i=` ${o};1m${t} \x1B[0m`;e[0]=i+e[0].split(`
|
|
29
|
+
`).join(`
|
|
30
|
+
`+i),e.push(o+"m+"+Wn.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=gh()+t+" "+e[0]}function gh(){return me.inspectOpts.hideDate?"":new Date().toISOString()+" "}function xh(...e){return process.stderr.write(zn.formatWithOptions(me.inspectOpts,...e)+`
|
|
31
|
+
`)}function bh(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function vh(){return process.env.DEBUG}function yh(e){e.inspectOpts={};let t=Object.keys(me.inspectOpts);for(let n=0;n<t.length;n++)e.inspectOpts[t[n]]=me.inspectOpts[t[n]]}Wn.exports=lo()(me);var{formatters:Cc}=Wn.exports;Cc.o=function(e){return this.inspectOpts.colors=this.useColors,zn.inspect(e,this.inspectOpts).split(`
|
|
32
|
+
`).map(t=>t.trim()).join(" ")};Cc.O=function(e){return this.inspectOpts.colors=this.useColors,zn.inspect(e,this.inspectOpts)}});var Oc=_((Ck,mo)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?mo.exports=kc():mo.exports=Ac()});var Pc=_((Ak,jc)=>{var Zt;jc.exports=function(){if(!Zt){try{Zt=Oc()("follow-redirects")}catch{}typeof Zt!="function"&&(Zt=function(){})}Zt.apply(null,arguments)}});var Fc=_((Ok,So)=>{var tn=require("url"),en=tn.URL,$h=require("http"),wh=require("https"),bo=require("stream").Writable,vo=require("assert"),Nc=Pc();(function(){var t=typeof process<"u",n=typeof window<"u"&&typeof document<"u",s=lt(Error.captureStackTrace);!t&&(n||!s)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var yo=!1;try{vo(new en(""))}catch(e){yo=e.code==="ERR_INVALID_URL"}var kh=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],$o=["abort","aborted","connect","error","socket","timeout"],wo=Object.create(null);$o.forEach(function(e){wo[e]=function(t,n,s){this._redirectable.emit(e,t,n,s)}});var ho=nn("ERR_INVALID_URL","Invalid URL",TypeError),go=nn("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),_h=nn("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",go),Sh=nn("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),Eh=nn("ERR_STREAM_WRITE_AFTER_END","write after end"),Th=bo.prototype.destroy||qc;function Ee(e,t){bo.call(this),this._sanitizeOptions(e),this._options=e,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],t&&this.on("response",t);var n=this;this._onNativeResponse=function(s){try{n._processResponse(s)}catch(o){n.emit("error",o instanceof go?o:new go({cause:o}))}},this._performRequest()}Ee.prototype=Object.create(bo.prototype);Ee.prototype.abort=function(){_o(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Ee.prototype.destroy=function(e){return _o(this._currentRequest,e),Th.call(this,e),this};Ee.prototype.write=function(e,t,n){if(this._ending)throw new Eh;if(!ct(e)&&!Ah(e))throw new TypeError("data should be a string, Buffer or Uint8Array");if(lt(t)&&(n=t,t=null),e.length===0){n&&n();return}this._requestBodyLength+e.length<=this._options.maxBodyLength?(this._requestBodyLength+=e.length,this._requestBodyBuffers.push({data:e,encoding:t}),this._currentRequest.write(e,t,n)):(this.emit("error",new Sh),this.abort())};Ee.prototype.end=function(e,t,n){if(lt(e)?(n=e,e=t=null):lt(t)&&(n=t,t=null),!e)this._ended=this._ending=!0,this._currentRequest.end(null,null,n);else{var s=this,o=this._currentRequest;this.write(e,t,function(){s._ended=!0,o.end(null,null,n)}),this._ending=!0}};Ee.prototype.setHeader=function(e,t){this._options.headers[e]=t,this._currentRequest.setHeader(e,t)};Ee.prototype.removeHeader=function(e){delete this._options.headers[e],this._currentRequest.removeHeader(e)};Ee.prototype.setTimeout=function(e,t){var n=this;function s(a){a.setTimeout(e),a.removeListener("timeout",a.destroy),a.addListener("timeout",a.destroy)}function o(a){n._timeout&&clearTimeout(n._timeout),n._timeout=setTimeout(function(){n.emit("timeout"),i()},e),s(a)}function i(){n._timeout&&(clearTimeout(n._timeout),n._timeout=null),n.removeListener("abort",i),n.removeListener("error",i),n.removeListener("response",i),n.removeListener("close",i),t&&n.removeListener("timeout",t),n.socket||n._currentRequest.removeListener("socket",o)}return t&&this.on("timeout",t),this.socket?o(this.socket):this._currentRequest.once("socket",o),this.on("socket",s),this.on("abort",i),this.on("error",i),this.on("response",i),this.on("close",i),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(e){Ee.prototype[e]=function(t,n){return this._currentRequest[e](t,n)}});["aborted","connection","socket"].forEach(function(e){Object.defineProperty(Ee.prototype,e,{get:function(){return this._currentRequest[e]}})});Ee.prototype._sanitizeOptions=function(e){if(e.headers||(e.headers={}),e.host&&(e.hostname||(e.hostname=e.host),delete e.host),!e.pathname&&e.path){var t=e.path.indexOf("?");t<0?e.pathname=e.path:(e.pathname=e.path.substring(0,t),e.search=e.path.substring(t))}};Ee.prototype._performRequest=function(){var e=this._options.protocol,t=this._options.nativeProtocols[e];if(!t)throw new TypeError("Unsupported protocol "+e);if(this._options.agents){var n=e.slice(0,-1);this._options.agent=this._options.agents[n]}var s=this._currentRequest=t.request(this._options,this._onNativeResponse);s._redirectable=this;for(var o of $o)s.on(o,wo[o]);if(this._currentUrl=/^\//.test(this._options.path)?tn.format(this._options):this._options.path,this._isRedirect){var i=0,a=this,c=this._requestBodyBuffers;(function p(u){if(s===a._currentRequest)if(u)a.emit("error",u);else if(i<c.length){var l=c[i++];s.finished||s.write(l.data,l.encoding,p)}else a._ended&&s.end()})()}};Ee.prototype._processResponse=function(e){var t=e.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:e.headers,statusCode:t});var n=e.headers.location;if(!n||this._options.followRedirects===!1||t<300||t>=400){e.responseUrl=this._currentUrl,e.redirects=this._redirects,this.emit("response",e),this._requestBodyBuffers=[];return}if(_o(this._currentRequest),e.destroy(),++this._redirectCount>this._options.maxRedirects)throw new _h;var s,o=this._options.beforeRedirect;o&&(s=Object.assign({Host:e.req.getHeader("host")},this._options.headers));var i=this._options.method;((t===301||t===302)&&this._options.method==="POST"||t===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],fo(/^content-/i,this._options.headers));var a=fo(/^host$/i,this._options.headers),c=ko(this._currentUrl),p=a||c.host,u=/^\w+:/.test(n)?this._currentUrl:tn.format(Object.assign(c,{host:p})),l=Rh(n,u);if(Nc("redirecting to",l.href),this._isRedirect=!0,xo(l,this._options),(l.protocol!==c.protocol&&l.protocol!=="https:"||l.host!==p&&!Ch(l.host,p))&&fo(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),lt(o)){var d={headers:e.headers,statusCode:t},m={url:u,method:i,headers:s};o(this._options,d,m),this._sanitizeOptions(this._options)}this._performRequest()};function Lc(e){var t={maxRedirects:21,maxBodyLength:10485760},n={};return Object.keys(e).forEach(function(s){var o=s+":",i=n[o]=e[s],a=t[s]=Object.create(i);function c(u,l,d){return Oh(u)?u=xo(u):ct(u)?u=xo(ko(u)):(d=l,l=Mc(u),u={protocol:o}),lt(l)&&(d=l,l=null),l=Object.assign({maxRedirects:t.maxRedirects,maxBodyLength:t.maxBodyLength},u,l),l.nativeProtocols=n,!ct(l.host)&&!ct(l.hostname)&&(l.hostname="::1"),vo.equal(l.protocol,o,"protocol mismatch"),Nc("options",l),new Ee(l,d)}function p(u,l,d){var m=a.request(u,l,d);return m.end(),m}Object.defineProperties(a,{request:{value:c,configurable:!0,enumerable:!0,writable:!0},get:{value:p,configurable:!0,enumerable:!0,writable:!0}})}),t}function qc(){}function ko(e){var t;if(yo)t=new en(e);else if(t=Mc(tn.parse(e)),!ct(t.protocol))throw new ho({input:e});return t}function Rh(e,t){return yo?new en(e,t):ko(tn.resolve(t,e))}function Mc(e){if(/^\[/.test(e.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(e.hostname))throw new ho({input:e.href||e});if(/^\[/.test(e.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(e.host))throw new ho({input:e.href||e});return e}function xo(e,t){var n=t||{};for(var s of kh)n[s]=e[s];return n.hostname.startsWith("[")&&(n.hostname=n.hostname.slice(1,-1)),n.port!==""&&(n.port=Number(n.port)),n.path=n.search?n.pathname+n.search:n.pathname,n}function fo(e,t){var n;for(var s in t)e.test(s)&&(n=t[s],delete t[s]);return n===null||typeof n>"u"?void 0:String(n).trim()}function nn(e,t,n){function s(o){lt(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,o||{}),this.code=e,this.message=this.cause?t+": "+this.cause.message:t}return s.prototype=new(n||Error),Object.defineProperties(s.prototype,{constructor:{value:s,enumerable:!1},name:{value:"Error ["+e+"]",enumerable:!1}}),s}function _o(e,t){for(var n of $o)e.removeListener(n,wo[n]);e.on("error",qc),e.destroy(t)}function Ch(e,t){vo(ct(e)&&ct(t));var n=e.length-t.length-1;return n>0&&e[n]==="."&&e.endsWith(t)}function ct(e){return typeof e=="string"||e instanceof String}function lt(e){return typeof e=="function"}function Ah(e){return typeof e=="object"&&"length"in e}function Oh(e){return en&&e instanceof en}So.exports=Lc({http:$h,https:wh});So.exports.wrap=Lc});var ft=_((jk,Ol)=>{"use strict";var jh=xc(),Ph=require("crypto"),Nh=require("url"),Lh=vc(),qh=require("http"),Mh=require("https"),Fh=require("http2"),Ih=require("util"),Dh=Fc(),Uh=require("zlib"),rl=require("stream"),Bh=require("events");function Me(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var cl=Me(jh),zh=Me(Ph),Wh=Me(Nh),Hh=Me(Lh),Gh=Me(qh),Kh=Me(Mh),ll=Me(Fh),Bo=Me(Ih),Jh=Me(Dh),tt=Me(Uh),Ue=Me(rl);function pl(e,t){return function(){return e.apply(t,arguments)}}var{toString:Vh}=Object.prototype,{getPrototypeOf:zo}=Object,{iterator:Zn,toStringTag:ul}=Symbol,es=(e=>t=>{let n=Vh.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Fe=e=>(e=e.toLowerCase(),t=>es(t)===e),ts=e=>t=>typeof t===e,{isArray:Dt}=Array,qt=ts("undefined");function an(e){return e!==null&&!qt(e)&&e.constructor!==null&&!qt(e.constructor)&&Te(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var dl=Fe("ArrayBuffer");function Yh(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&dl(e.buffer),t}var Xh=ts("string"),Te=ts("function"),ml=ts("number"),rn=e=>e!==null&&typeof e=="object",Qh=e=>e===!0||e===!1,Gn=e=>{if(es(e)!=="object")return!1;let t=zo(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(ul in e)&&!(Zn in e)},Zh=e=>{if(!rn(e)||an(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},eg=Fe("Date"),tg=Fe("File"),ng=Fe("Blob"),sg=Fe("FileList"),og=e=>rn(e)&&Te(e.pipe),ig=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Te(e.append)&&((t=es(e))==="formdata"||t==="object"&&Te(e.toString)&&e.toString()==="[object FormData]"))},ag=Fe("URLSearchParams"),[rg,cg,lg,pg]=["ReadableStream","Request","Response","Headers"].map(Fe),ug=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function cn(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let s,o;if(typeof e!="object"&&(e=[e]),Dt(e))for(s=0,o=e.length;s<o;s++)t.call(null,e[s],s,e);else{if(an(e))return;let i=n?Object.getOwnPropertyNames(e):Object.keys(e),a=i.length,c;for(s=0;s<a;s++)c=i[s],t.call(null,e[c],c,e)}}function fl(e,t){if(an(e))return null;t=t.toLowerCase();let n=Object.keys(e),s=n.length,o;for(;s-- >0;)if(o=n[s],t===o.toLowerCase())return o;return null}var pt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,hl=e=>!qt(e)&&e!==pt;function Oo(){let{caseless:e,skipUndefined:t}=hl(this)&&this||{},n={},s=(o,i)=>{if(i==="__proto__"||i==="constructor"||i==="prototype")return;let a=e&&fl(n,i)||i;Gn(n[a])&&Gn(o)?n[a]=Oo(n[a],o):Gn(o)?n[a]=Oo({},o):Dt(o)?n[a]=o.slice():(!t||!qt(o))&&(n[a]=o)};for(let o=0,i=arguments.length;o<i;o++)arguments[o]&&cn(arguments[o],s);return n}var dg=(e,t,n,{allOwnKeys:s}={})=>(cn(t,(o,i)=>{n&&Te(o)?Object.defineProperty(e,i,{value:pl(o,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,i,{value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:s}),e),mg=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),fg=(e,t,n,s)=>{e.prototype=Object.create(t.prototype,s),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},hg=(e,t,n,s)=>{let o,i,a,c={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],(!s||s(a,e,t))&&!c[a]&&(t[a]=e[a],c[a]=!0);e=n!==!1&&zo(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},gg=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let s=e.indexOf(t,n);return s!==-1&&s===n},xg=e=>{if(!e)return null;if(Dt(e))return e;let t=e.length;if(!ml(t))return null;let n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},bg=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&zo(Uint8Array)),vg=(e,t)=>{let s=(e&&e[Zn]).call(e),o;for(;(o=s.next())&&!o.done;){let i=o.value;t.call(e,i[0],i[1])}},yg=(e,t)=>{let n,s=[];for(;(n=e.exec(t))!==null;)s.push(n);return s},$g=Fe("HTMLFormElement"),wg=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,s,o){return s.toUpperCase()+o}),Ic=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),kg=Fe("RegExp"),gl=(e,t)=>{let n=Object.getOwnPropertyDescriptors(e),s={};cn(n,(o,i)=>{let a;(a=t(o,i,e))!==!1&&(s[i]=a||o)}),Object.defineProperties(e,s)},_g=e=>{gl(e,(t,n)=>{if(Te(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;let s=e[n];if(Te(s)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Sg=(e,t)=>{let n={},s=o=>{o.forEach(i=>{n[i]=!0})};return Dt(e)?s(e):s(String(e).split(t)),n},Eg=()=>{},Tg=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Rg(e){return!!(e&&Te(e.append)&&e[ul]==="FormData"&&e[Zn])}var Cg=e=>{let t=new Array(10),n=(s,o)=>{if(rn(s)){if(t.indexOf(s)>=0)return;if(an(s))return s;if(!("toJSON"in s)){t[o]=s;let i=Dt(s)?[]:{};return cn(s,(a,c)=>{let p=n(a,o+1);!qt(p)&&(i[c]=p)}),t[o]=void 0,i}}return s};return n(e,0)},Ag=Fe("AsyncFunction"),Og=e=>e&&(rn(e)||Te(e))&&Te(e.then)&&Te(e.catch),xl=((e,t)=>e?setImmediate:t?((n,s)=>(pt.addEventListener("message",({source:o,data:i})=>{o===pt&&i===n&&s.length&&s.shift()()},!1),o=>{s.push(o),pt.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Te(pt.postMessage)),jg=typeof queueMicrotask<"u"?queueMicrotask.bind(pt):typeof process<"u"&&process.nextTick||xl,Pg=e=>e!=null&&Te(e[Zn]),g={isArray:Dt,isArrayBuffer:dl,isBuffer:an,isFormData:ig,isArrayBufferView:Yh,isString:Xh,isNumber:ml,isBoolean:Qh,isObject:rn,isPlainObject:Gn,isEmptyObject:Zh,isReadableStream:rg,isRequest:cg,isResponse:lg,isHeaders:pg,isUndefined:qt,isDate:eg,isFile:tg,isBlob:ng,isRegExp:kg,isFunction:Te,isStream:og,isURLSearchParams:ag,isTypedArray:bg,isFileList:sg,forEach:cn,merge:Oo,extend:dg,trim:ug,stripBOM:mg,inherits:fg,toFlatObject:hg,kindOf:es,kindOfTest:Fe,endsWith:gg,toArray:xg,forEachEntry:vg,matchAll:yg,isHTMLForm:$g,hasOwnProperty:Ic,hasOwnProp:Ic,reduceDescriptors:gl,freezeMethods:_g,toObjectSet:Sg,toCamelCase:wg,noop:Eg,toFiniteNumber:Tg,findKey:fl,global:pt,isContextDefined:hl,isSpecCompliantForm:Rg,toJSONObject:Cg,isAsyncFn:Ag,isThenable:Og,setImmediate:xl,asap:jg,isIterable:Pg},ve=class e extends Error{static from(t,n,s,o,i,a){let c=new e(t.message,n||t.code,s,o,i);return c.cause=t,c.name=t.name,a&&Object.assign(c,a),c}constructor(t,n,s,o,i){super(t),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),s&&(this.config=s),o&&(this.request=o),i&&(this.response=i,this.status=i.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:g.toJSONObject(this.config),code:this.code,status:this.status}}};ve.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";ve.ERR_BAD_OPTION="ERR_BAD_OPTION";ve.ECONNABORTED="ECONNABORTED";ve.ETIMEDOUT="ETIMEDOUT";ve.ERR_NETWORK="ERR_NETWORK";ve.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";ve.ERR_DEPRECATED="ERR_DEPRECATED";ve.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";ve.ERR_BAD_REQUEST="ERR_BAD_REQUEST";ve.ERR_CANCELED="ERR_CANCELED";ve.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";ve.ERR_INVALID_URL="ERR_INVALID_URL";var A=ve;function jo(e){return g.isPlainObject(e)||g.isArray(e)}function bl(e){return g.endsWith(e,"[]")?e.slice(0,-2):e}function Dc(e,t,n){return e?e.concat(t).map(function(o,i){return o=bl(o),!n&&i?"["+o+"]":o}).join(n?".":""):t}function Ng(e){return g.isArray(e)&&!e.some(jo)}var Lg=g.toFlatObject(g,{},null,function(t){return/^is[A-Z]/.test(t)});function ns(e,t,n){if(!g.isObject(e))throw new TypeError("target must be an object");t=t||new(cl.default||FormData),n=g.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(x,b){return!g.isUndefined(b[x])});let s=n.metaTokens,o=n.visitor||l,i=n.dots,a=n.indexes,p=(n.Blob||typeof Blob<"u"&&Blob)&&g.isSpecCompliantForm(t);if(!g.isFunction(o))throw new TypeError("visitor must be a function");function u(f){if(f===null)return"";if(g.isDate(f))return f.toISOString();if(g.isBoolean(f))return f.toString();if(!p&&g.isBlob(f))throw new A("Blob is not supported. Use a Buffer instead.");return g.isArrayBuffer(f)||g.isTypedArray(f)?p&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function l(f,x,b){let v=f;if(f&&!b&&typeof f=="object"){if(g.endsWith(x,"{}"))x=s?x:x.slice(0,-2),f=JSON.stringify(f);else if(g.isArray(f)&&Ng(f)||(g.isFileList(f)||g.endsWith(x,"[]"))&&(v=g.toArray(f)))return x=bl(x),v.forEach(function(T,w){!(g.isUndefined(T)||T===null)&&t.append(a===!0?Dc([x],w,i):a===null?x:x+"[]",u(T))}),!1}return jo(f)?!0:(t.append(Dc(b,x,i),u(f)),!1)}let d=[],m=Object.assign(Lg,{defaultVisitor:l,convertValue:u,isVisitable:jo});function h(f,x){if(!g.isUndefined(f)){if(d.indexOf(f)!==-1)throw Error("Circular reference detected in "+x.join("."));d.push(f),g.forEach(f,function(v,$){(!(g.isUndefined(v)||v===null)&&o.call(t,v,g.isString($)?$.trim():$,x,m))===!0&&h(v,x?x.concat($):[$])}),d.pop()}}if(!g.isObject(e))throw new TypeError("data must be an object");return h(e),t}function Uc(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(s){return t[s]})}function vl(e,t){this._pairs=[],e&&ns(e,this,t)}var yl=vl.prototype;yl.append=function(t,n){this._pairs.push([t,n])};yl.toString=function(t){let n=t?function(s){return t.call(this,s,Uc)}:Uc;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function qg(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Wo(e,t,n){if(!t)return e;let s=n&&n.encode||qg,o=g.isFunction(n)?{serialize:n}:n,i=o&&o.serialize,a;if(i?a=i(t,o):a=g.isURLSearchParams(t)?t.toString():new vl(t,o).toString(s),a){let c=e.indexOf("#");c!==-1&&(e=e.slice(0,c)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var Po=class{constructor(){this.handlers=[]}use(t,n,s){return this.handlers.push({fulfilled:t,rejected:n,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){g.forEach(this.handlers,function(s){s!==null&&t(s)})}},Bc=Po,ss={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},Mg=Wh.default.URLSearchParams,Eo="abcdefghijklmnopqrstuvwxyz",zc="0123456789",$l={DIGIT:zc,ALPHA:Eo,ALPHA_DIGIT:Eo+Eo.toUpperCase()+zc},Fg=(e=16,t=$l.ALPHA_DIGIT)=>{let n="",{length:s}=t,o=new Uint32Array(e);zh.default.randomFillSync(o);for(let i=0;i<e;i++)n+=t[o[i]%s];return n},Ig={isNode:!0,classes:{URLSearchParams:Mg,FormData:cl.default,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:$l,generateString:Fg,protocols:["http","https","file","data"]},Ho=typeof window<"u"&&typeof document<"u",No=typeof navigator=="object"&&navigator||void 0,Dg=Ho&&(!No||["ReactNative","NativeScript","NS"].indexOf(No.product)<0),Ug=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Bg=Ho&&window.location.href||"http://localhost",zg=Object.freeze({__proto__:null,hasBrowserEnv:Ho,hasStandardBrowserWebWorkerEnv:Ug,hasStandardBrowserEnv:Dg,navigator:No,origin:Bg}),Q={...zg,...Ig};function Wg(e,t){return ns(e,new Q.classes.URLSearchParams,{visitor:function(n,s,o,i){return Q.isNode&&g.isBuffer(n)?(this.append(s,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function Hg(e){return g.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Gg(e){let t={},n=Object.keys(e),s,o=n.length,i;for(s=0;s<o;s++)i=n[s],t[i]=e[i];return t}function wl(e){function t(n,s,o,i){let a=n[i++];if(a==="__proto__")return!0;let c=Number.isFinite(+a),p=i>=n.length;return a=!a&&g.isArray(o)?o.length:a,p?(g.hasOwnProp(o,a)?o[a]=[o[a],s]:o[a]=s,!c):((!o[a]||!g.isObject(o[a]))&&(o[a]=[]),t(n,s,o[a],i)&&g.isArray(o[a])&&(o[a]=Gg(o[a])),!c)}if(g.isFormData(e)&&g.isFunction(e.entries)){let n={};return g.forEachEntry(e,(s,o)=>{t(Hg(s),o,n,0)}),n}return null}function Kg(e,t,n){if(g.isString(e))try{return(t||JSON.parse)(e),g.trim(e)}catch(s){if(s.name!=="SyntaxError")throw s}return(n||JSON.stringify)(e)}var Go={transitional:ss,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){let s=n.getContentType()||"",o=s.indexOf("application/json")>-1,i=g.isObject(t);if(i&&g.isHTMLForm(t)&&(t=new FormData(t)),g.isFormData(t))return o?JSON.stringify(wl(t)):t;if(g.isArrayBuffer(t)||g.isBuffer(t)||g.isStream(t)||g.isFile(t)||g.isBlob(t)||g.isReadableStream(t))return t;if(g.isArrayBufferView(t))return t.buffer;if(g.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(i){if(s.indexOf("application/x-www-form-urlencoded")>-1)return Wg(t,this.formSerializer).toString();if((c=g.isFileList(t))||s.indexOf("multipart/form-data")>-1){let p=this.env&&this.env.FormData;return ns(c?{"files[]":t}:t,p&&new p,this.formSerializer)}}return i||o?(n.setContentType("application/json",!1),Kg(t)):t}],transformResponse:[function(t){let n=this.transitional||Go.transitional,s=n&&n.forcedJSONParsing,o=this.responseType==="json";if(g.isResponse(t)||g.isReadableStream(t))return t;if(t&&g.isString(t)&&(s&&!this.responseType||o)){let a=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t,this.parseReviver)}catch(c){if(a)throw c.name==="SyntaxError"?A.from(c,A.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Q.classes.FormData,Blob:Q.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};g.forEach(["delete","get","head","post","put","patch"],e=>{Go.headers[e]={}});var Ko=Go,Jg=g.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Vg=e=>{let t={},n,s,o;return e&&e.split(`
|
|
33
|
+
`).forEach(function(a){o=a.indexOf(":"),n=a.substring(0,o).trim().toLowerCase(),s=a.substring(o+1).trim(),!(!n||t[n]&&Jg[n])&&(n==="set-cookie"?t[n]?t[n].push(s):t[n]=[s]:t[n]=t[n]?t[n]+", "+s:s)}),t},Wc=Symbol("internals");function sn(e){return e&&String(e).trim().toLowerCase()}function Kn(e){return e===!1||e==null?e:g.isArray(e)?e.map(Kn):String(e)}function Yg(e){let t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,s;for(;s=n.exec(e);)t[s[1]]=s[2];return t}var Xg=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function To(e,t,n,s,o){if(g.isFunction(s))return s.call(this,t,n);if(o&&(t=n),!!g.isString(t)){if(g.isString(s))return t.indexOf(s)!==-1;if(g.isRegExp(s))return s.test(t)}}function Qg(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,s)=>n.toUpperCase()+s)}function Zg(e,t){let n=g.toCamelCase(" "+t);["get","set","has"].forEach(s=>{Object.defineProperty(e,s+n,{value:function(o,i,a){return this[s].call(this,t,o,i,a)},configurable:!0})})}var Mt=class{constructor(t){t&&this.set(t)}set(t,n,s){let o=this;function i(c,p,u){let l=sn(p);if(!l)throw new Error("header name must be a non-empty string");let d=g.findKey(o,l);(!d||o[d]===void 0||u===!0||u===void 0&&o[d]!==!1)&&(o[d||p]=Kn(c))}let a=(c,p)=>g.forEach(c,(u,l)=>i(u,l,p));if(g.isPlainObject(t)||t instanceof this.constructor)a(t,n);else if(g.isString(t)&&(t=t.trim())&&!Xg(t))a(Vg(t),n);else if(g.isObject(t)&&g.isIterable(t)){let c={},p,u;for(let l of t){if(!g.isArray(l))throw TypeError("Object iterator must return a key-value pair");c[u=l[0]]=(p=c[u])?g.isArray(p)?[...p,l[1]]:[p,l[1]]:l[1]}a(c,n)}else t!=null&&i(n,t,s);return this}get(t,n){if(t=sn(t),t){let s=g.findKey(this,t);if(s){let o=this[s];if(!n)return o;if(n===!0)return Yg(o);if(g.isFunction(n))return n.call(this,o,s);if(g.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=sn(t),t){let s=g.findKey(this,t);return!!(s&&this[s]!==void 0&&(!n||To(this,this[s],s,n)))}return!1}delete(t,n){let s=this,o=!1;function i(a){if(a=sn(a),a){let c=g.findKey(s,a);c&&(!n||To(s,s[c],c,n))&&(delete s[c],o=!0)}}return g.isArray(t)?t.forEach(i):i(t),o}clear(t){let n=Object.keys(this),s=n.length,o=!1;for(;s--;){let i=n[s];(!t||To(this,this[i],i,t,!0))&&(delete this[i],o=!0)}return o}normalize(t){let n=this,s={};return g.forEach(this,(o,i)=>{let a=g.findKey(s,i);if(a){n[a]=Kn(o),delete n[i];return}let c=t?Qg(i):String(i).trim();c!==i&&delete n[i],n[c]=Kn(o),s[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let n=Object.create(null);return g.forEach(this,(s,o)=>{s!=null&&s!==!1&&(n[o]=t&&g.isArray(s)?s.join(", "):s)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
|
|
34
|
+
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){let s=new this(t);return n.forEach(o=>s.set(o)),s}static accessor(t){let s=(this[Wc]=this[Wc]={accessors:{}}).accessors,o=this.prototype;function i(a){let c=sn(a);s[c]||(Zg(o,a),s[c]=!0)}return g.isArray(t)?t.forEach(i):i(t),this}};Mt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);g.reduceDescriptors(Mt.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(s){this[n]=s}}});g.freezeMethods(Mt);var Re=Mt;function Ro(e,t){let n=this||Ko,s=t||n,o=Re.from(s.headers),i=s.data;return g.forEach(e,function(c){i=c.call(n,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function kl(e){return!!(e&&e.__CANCEL__)}var Lo=class extends A{constructor(t,n,s){super(t??"canceled",A.ERR_CANCELED,n,s),this.name="CanceledError",this.__CANCEL__=!0}},dt=Lo;function Lt(e,t,n){let s=n.config.validateStatus;!n.status||!s||s(n.status)?e(n):t(new A("Request failed with status code "+n.status,[A.ERR_BAD_REQUEST,A.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function ex(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function tx(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Jo(e,t,n){let s=!ex(t);return e&&(s||n==!1)?tx(e,t):t}var Yn="1.13.5";function _l(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var nx=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function sx(e,t,n){let s=n&&n.Blob||Q.classes.Blob,o=_l(e);if(t===void 0&&s&&(t=!0),o==="data"){e=o.length?e.slice(o.length+1):e;let i=nx.exec(e);if(!i)throw new A("Invalid URL",A.ERR_INVALID_URL);let a=i[1],c=i[2],p=i[3],u=Buffer.from(decodeURIComponent(p),c?"base64":"utf8");if(t){if(!s)throw new A("Blob is not supported",A.ERR_NOT_SUPPORT);return new s([u],{type:a})}return u}throw new A("Unsupported protocol "+o,A.ERR_NOT_SUPPORT)}var Co=Symbol("internals"),qo=class extends Ue.default.Transform{constructor(t){t=g.toFlatObject(t,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(s,o)=>!g.isUndefined(o[s])),super({readableHighWaterMark:t.chunkSize});let n=this[Co]={timeWindow:t.timeWindow,chunkSize:t.chunkSize,maxRate:t.maxRate,minChunkSize:t.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",s=>{s==="progress"&&(n.isCaptured||(n.isCaptured=!0))})}_read(t){let n=this[Co];return n.onReadCallback&&n.onReadCallback(),super._read(t)}_transform(t,n,s){let o=this[Co],i=o.maxRate,a=this.readableHighWaterMark,c=o.timeWindow,p=1e3/c,u=i/p,l=o.minChunkSize!==!1?Math.max(o.minChunkSize,u*.01):0,d=(h,f)=>{let x=Buffer.byteLength(h);o.bytesSeen+=x,o.bytes+=x,o.isCaptured&&this.emit("progress",o.bytesSeen),this.push(h)?process.nextTick(f):o.onReadCallback=()=>{o.onReadCallback=null,process.nextTick(f)}},m=(h,f)=>{let x=Buffer.byteLength(h),b=null,v=a,$,T=0;if(i){let w=Date.now();(!o.ts||(T=w-o.ts)>=c)&&(o.ts=w,$=u-o.bytes,o.bytes=$<0?-$:0,T=0),$=u-o.bytes}if(i){if($<=0)return setTimeout(()=>{f(null,h)},c-T);$<v&&(v=$)}v&&x>v&&x-v>l&&(b=h.subarray(v),h=h.subarray(0,v)),d(h,b?()=>{process.nextTick(f,null,b)}:f)};m(t,function h(f,x){if(f)return s(f);x?m(x,h):s(null)})}},Hc=qo,{asyncIterator:Gc}=Symbol,ox=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[Gc]?yield*e[Gc]():yield e},Sl=ox,ix=Q.ALPHABET.ALPHA_DIGIT+"-_",on=typeof TextEncoder=="function"?new TextEncoder:new Bo.default.TextEncoder,ut=`\r
|
|
35
|
+
`,ax=on.encode(ut),rx=2,Mo=class{constructor(t,n){let{escapeName:s}=this.constructor,o=g.isString(n),i=`Content-Disposition: form-data; name="${s(t)}"${!o&&n.name?`; filename="${s(n.name)}"`:""}${ut}`;o?n=on.encode(String(n).replace(/\r?\n|\r\n?/g,ut)):i+=`Content-Type: ${n.type||"application/octet-stream"}${ut}`,this.headers=on.encode(i+ut),this.contentLength=o?n.byteLength:n.size,this.size=this.headers.byteLength+this.contentLength+rx,this.name=t,this.value=n}async*encode(){yield this.headers;let{value:t}=this;g.isTypedArray(t)?yield t:yield*Sl(t),yield ax}static escapeName(t){return String(t).replace(/[\r\n"]/g,n=>({"\r":"%0D","\n":"%0A",'"':"%22"})[n])}},cx=(e,t,n)=>{let{tag:s="form-data-boundary",size:o=25,boundary:i=s+"-"+Q.generateString(o,ix)}=n||{};if(!g.isFormData(e))throw TypeError("FormData instance required");if(i.length<1||i.length>70)throw Error("boundary must be 10-70 characters long");let a=on.encode("--"+i+ut),c=on.encode("--"+i+"--"+ut),p=c.byteLength,u=Array.from(e.entries()).map(([d,m])=>{let h=new Mo(d,m);return p+=h.size,h});p+=a.byteLength*u.length,p=g.toFiniteNumber(p);let l={"Content-Type":`multipart/form-data; boundary=${i}`};return Number.isFinite(p)&&(l["Content-Length"]=p),t&&t(l),rl.Readable.from((async function*(){for(let d of u)yield a,yield*d.encode();yield c})())},lx=cx,Fo=class extends Ue.default.Transform{__transform(t,n,s){this.push(t),s()}_transform(t,n,s){if(t.length!==0&&(this._transform=this.__transform,t[0]!==120)){let o=Buffer.alloc(2);o[0]=120,o[1]=156,this.push(o,n)}this.__transform(t,n,s)}},px=Fo,ux=(e,t)=>g.isAsyncFn(e)?function(...n){let s=n.pop();e.apply(this,n).then(o=>{try{t?s(null,...t(o)):s(null,o)}catch(i){s(i)}},s)}:e,dx=ux;function mx(e,t){e=e||10;let n=new Array(e),s=new Array(e),o=0,i=0,a;return t=t!==void 0?t:1e3,function(p){let u=Date.now(),l=s[i];a||(a=u),n[o]=p,s[o]=u;let d=i,m=0;for(;d!==o;)m+=n[d++],d=d%e;if(o=(o+1)%e,o===i&&(i=(i+1)%e),u-a<t)return;let h=l&&u-l;return h?Math.round(m*1e3/h):void 0}}function fx(e,t){let n=0,s=1e3/t,o,i,a=(u,l=Date.now())=>{n=l,o=null,i&&(clearTimeout(i),i=null),e(...u)};return[(...u)=>{let l=Date.now(),d=l-n;d>=s?a(u,l):(o=u,i||(i=setTimeout(()=>{i=null,a(o)},s-d)))},()=>o&&a(o)]}var Ft=(e,t,n=3)=>{let s=0,o=mx(50,250);return fx(i=>{let a=i.loaded,c=i.lengthComputable?i.total:void 0,p=a-s,u=o(p),l=a<=c;s=a;let d={loaded:a,total:c,progress:c?a/c:void 0,bytes:p,rate:u||void 0,estimated:u&&c&&l?(c-a)/u:void 0,event:i,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(d)},n)},Xn=(e,t)=>{let n=e!=null;return[s=>t[0]({lengthComputable:n,total:e,loaded:s}),t[1]]},Qn=e=>(...t)=>g.asap(()=>e(...t));function hx(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;let t=e.indexOf(",");if(t<0)return 0;let n=e.slice(5,t),s=e.slice(t+1);if(/;base64/i.test(n)){let i=s.length,a=s.length;for(let m=0;m<a;m++)if(s.charCodeAt(m)===37&&m+2<a){let h=s.charCodeAt(m+1),f=s.charCodeAt(m+2);(h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102)&&(f>=48&&f<=57||f>=65&&f<=70||f>=97&&f<=102)&&(i-=2,m+=2)}let c=0,p=a-1,u=m=>m>=2&&s.charCodeAt(m-2)===37&&s.charCodeAt(m-1)===51&&(s.charCodeAt(m)===68||s.charCodeAt(m)===100);p>=0&&(s.charCodeAt(p)===61?(c++,p--):u(p)&&(c++,p-=3)),c===1&&p>=0&&(s.charCodeAt(p)===61||u(p))&&c++;let d=Math.floor(i/4)*3-(c||0);return d>0?d:0}return Buffer.byteLength(s,"utf8")}var Kc={flush:tt.default.constants.Z_SYNC_FLUSH,finishFlush:tt.default.constants.Z_SYNC_FLUSH},gx={flush:tt.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:tt.default.constants.BROTLI_OPERATION_FLUSH},Jc=g.isFunction(tt.default.createBrotliDecompress),{http:xx,https:bx}=Jh.default,vx=/https:?/,Vc=Q.protocols.map(e=>e+":"),Yc=(e,[t,n])=>(e.on("end",n).on("error",n),t),Io=class{constructor(){this.sessions=Object.create(null)}getSession(t,n){n=Object.assign({sessionTimeout:1e3},n);let s=this.sessions[t];if(s){let l=s.length;for(let d=0;d<l;d++){let[m,h]=s[d];if(!m.destroyed&&!m.closed&&Bo.default.isDeepStrictEqual(h,n))return m}}let o=ll.default.connect(t,n),i,a=()=>{if(i)return;i=!0;let l=s,d=l.length,m=d;for(;m--;)if(l[m][0]===o){d===1?delete this.sessions[t]:l.splice(m,1);return}},c=o.request,{sessionTimeout:p}=n;if(p!=null){let l,d=0;o.request=function(){let m=c.apply(this,arguments);return d++,l&&(clearTimeout(l),l=null),m.once("close",()=>{--d||(l=setTimeout(()=>{l=null,a()},p))}),m}}o.once("close",a);let u=[o,n];return s?s.push(u):s=this.sessions[t]=[u],o}},yx=new Io;function $x(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function El(e,t,n){let s=t;if(!s&&s!==!1){let o=Hh.default.getProxyForUrl(n);o&&(s=new URL(o))}if(s){if(s.username&&(s.auth=(s.username||"")+":"+(s.password||"")),s.auth){if(!!(s.auth.username||s.auth.password))s.auth=(s.auth.username||"")+":"+(s.auth.password||"");else if(typeof s.auth=="object")throw new A("Invalid proxy authorization",A.ERR_BAD_OPTION,{proxy:s});let a=Buffer.from(s.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+a}e.headers.host=e.hostname+(e.port?":"+e.port:"");let o=s.hostname||s.host;e.hostname=o,e.host=o,e.port=s.port,e.path=n,s.protocol&&(e.protocol=s.protocol.includes(":")?s.protocol:`${s.protocol}:`)}e.beforeRedirects.proxy=function(i){El(i,t,i.href)}}var wx=typeof process<"u"&&g.kindOf(process)==="process",kx=e=>new Promise((t,n)=>{let s,o,i=(p,u)=>{o||(o=!0,s&&s(p,u))},a=p=>{i(p),t(p)},c=p=>{i(p,!0),n(p)};e(a,c,p=>s=p).catch(c)}),_x=({address:e,family:t})=>{if(!g.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},Xc=(e,t)=>_x(g.isObject(e)?e:{address:e,family:t}),Sx={request(e,t){let n=e.protocol+"//"+e.hostname+":"+(e.port||(e.protocol==="https:"?443:80)),{http2Options:s,headers:o}=e,i=yx.getSession(n,s),{HTTP2_HEADER_SCHEME:a,HTTP2_HEADER_METHOD:c,HTTP2_HEADER_PATH:p,HTTP2_HEADER_STATUS:u}=ll.default.constants,l={[a]:e.protocol.replace(":",""),[c]:e.method,[p]:e.path};g.forEach(o,(m,h)=>{h.charAt(0)!==":"&&(l[h]=m)});let d=i.request(l);return d.once("response",m=>{let h=d;m=Object.assign({},m);let f=m[u];delete m[u],h.headers=m,h.statusCode=+f,t(h)}),d}},Ex=wx&&function(t){return kx(async function(s,o,i){let{data:a,lookup:c,family:p,httpVersion:u=1,http2Options:l}=t,{responseType:d,responseEncoding:m}=t,h=t.method.toUpperCase(),f,x=!1,b;if(u=+u,Number.isNaN(u))throw TypeError(`Invalid protocol version: '${t.httpVersion}' is not a number`);if(u!==1&&u!==2)throw TypeError(`Unsupported protocol version '${u}'`);let v=u===2;if(c){let N=dx(c,O=>g.isArray(O)?O:[O]);c=(O,U,le)=>{N(O,U,(H,ke,j)=>{if(H)return le(H);let L=g.isArray(ke)?ke.map(je=>Xc(je)):[Xc(ke,j)];U.all?le(H,L):le(H,L[0].address,L[0].family)})}}let $=new Bh.EventEmitter;function T(N){try{$.emit("abort",!N||N.type?new dt(null,t,b):N)}catch(O){console.warn("emit error",O)}}$.once("abort",o);let w=()=>{t.cancelToken&&t.cancelToken.unsubscribe(T),t.signal&&t.signal.removeEventListener("abort",T),$.removeAllListeners()};(t.cancelToken||t.signal)&&(t.cancelToken&&t.cancelToken.subscribe(T),t.signal&&(t.signal.aborted?T():t.signal.addEventListener("abort",T))),i((N,O)=>{if(f=!0,O){x=!0,w();return}let{data:U}=N;if(U instanceof Ue.default.Readable||U instanceof Ue.default.Duplex){let le=Ue.default.finished(U,()=>{le(),w()})}else w()});let R=Jo(t.baseURL,t.url,t.allowAbsoluteUrls),S=new URL(R,Q.hasBrowserEnv?Q.origin:void 0),E=S.protocol||Vc[0];if(E==="data:"){if(t.maxContentLength>-1){let O=String(t.url||R||"");if(hx(O)>t.maxContentLength)return o(new A("maxContentLength size of "+t.maxContentLength+" exceeded",A.ERR_BAD_RESPONSE,t))}let N;if(h!=="GET")return Lt(s,o,{status:405,statusText:"method not allowed",headers:{},config:t});try{N=sx(t.url,d==="blob",{Blob:t.env&&t.env.Blob})}catch(O){throw A.from(O,A.ERR_BAD_REQUEST,t)}return d==="text"?(N=N.toString(m),(!m||m==="utf8")&&(N=g.stripBOM(N))):d==="stream"&&(N=Ue.default.Readable.from(N)),Lt(s,o,{data:N,status:200,statusText:"OK",headers:new Re,config:t})}if(Vc.indexOf(E)===-1)return o(new A("Unsupported protocol "+E,A.ERR_BAD_REQUEST,t));let C=Re.from(t.headers).normalize();C.set("User-Agent","axios/"+Yn,!1);let{onUploadProgress:M,onDownloadProgress:F}=t,B=t.maxRate,W,ne;if(g.isSpecCompliantForm(a)){let N=C.getContentType(/boundary=([-_\w\d]{10,70})/i);a=lx(a,O=>{C.set(O)},{tag:`axios-${Yn}-boundary`,boundary:N&&N[1]||void 0})}else if(g.isFormData(a)&&g.isFunction(a.getHeaders)){if(C.set(a.getHeaders()),!C.hasContentLength())try{let N=await Bo.default.promisify(a.getLength).call(a);Number.isFinite(N)&&N>=0&&C.setContentLength(N)}catch{}}else if(g.isBlob(a)||g.isFile(a))a.size&&C.setContentType(a.type||"application/octet-stream"),C.setContentLength(a.size||0),a=Ue.default.Readable.from(Sl(a));else if(a&&!g.isStream(a)){if(!Buffer.isBuffer(a))if(g.isArrayBuffer(a))a=Buffer.from(new Uint8Array(a));else if(g.isString(a))a=Buffer.from(a,"utf-8");else return o(new A("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",A.ERR_BAD_REQUEST,t));if(C.setContentLength(a.length,!1),t.maxBodyLength>-1&&a.length>t.maxBodyLength)return o(new A("Request body larger than maxBodyLength limit",A.ERR_BAD_REQUEST,t))}let se=g.toFiniteNumber(C.getContentLength());g.isArray(B)?(W=B[0],ne=B[1]):W=ne=B,a&&(M||W)&&(g.isStream(a)||(a=Ue.default.Readable.from(a,{objectMode:!1})),a=Ue.default.pipeline([a,new Hc({maxRate:g.toFiniteNumber(W)})],g.noop),M&&a.on("progress",Yc(a,Xn(se,Ft(Qn(M),!1,3)))));let ge;if(t.auth){let N=t.auth.username||"",O=t.auth.password||"";ge=N+":"+O}if(!ge&&S.username){let N=S.username,O=S.password;ge=N+":"+O}ge&&C.delete("authorization");let oe;try{oe=Wo(S.pathname+S.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch(N){let O=new Error(N.message);return O.config=t,O.url=t.url,O.exists=!0,o(O)}C.set("Accept-Encoding","gzip, compress, deflate"+(Jc?", br":""),!1);let Z={path:oe,method:h,headers:C.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:ge,protocol:E,family:p,beforeRedirect:$x,beforeRedirects:{},http2Options:l};!g.isUndefined(c)&&(Z.lookup=c),t.socketPath?Z.socketPath=t.socketPath:(Z.hostname=S.hostname.startsWith("[")?S.hostname.slice(1,-1):S.hostname,Z.port=S.port,El(Z,t.proxy,E+"//"+S.hostname+(S.port?":"+S.port:"")+Z.path));let ce,Ge=vx.test(Z.protocol);if(Z.agent=Ge?t.httpsAgent:t.httpAgent,v?ce=Sx:t.transport?ce=t.transport:t.maxRedirects===0?ce=Ge?Kh.default:Gh.default:(t.maxRedirects&&(Z.maxRedirects=t.maxRedirects),t.beforeRedirect&&(Z.beforeRedirects.config=t.beforeRedirect),ce=Ge?bx:xx),t.maxBodyLength>-1?Z.maxBodyLength=t.maxBodyLength:Z.maxBodyLength=1/0,t.insecureHTTPParser&&(Z.insecureHTTPParser=t.insecureHTTPParser),b=ce.request(Z,function(O){if(b.destroyed)return;let U=[O],le=g.toFiniteNumber(O.headers["content-length"]);if(F||ne){let L=new Hc({maxRate:g.toFiniteNumber(ne)});F&&L.on("progress",Yc(L,Xn(le,Ft(Qn(F),!0,3)))),U.push(L)}let H=O,ke=O.req||b;if(t.decompress!==!1&&O.headers["content-encoding"])switch((h==="HEAD"||O.statusCode===204)&&delete O.headers["content-encoding"],(O.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":U.push(tt.default.createUnzip(Kc)),delete O.headers["content-encoding"];break;case"deflate":U.push(new px),U.push(tt.default.createUnzip(Kc)),delete O.headers["content-encoding"];break;case"br":Jc&&(U.push(tt.default.createBrotliDecompress(gx)),delete O.headers["content-encoding"])}H=U.length>1?Ue.default.pipeline(U,g.noop):U[0];let j={status:O.statusCode,statusText:O.statusMessage,headers:new Re(O.headers),config:t,request:ke};if(d==="stream")j.data=H,Lt(s,o,j);else{let L=[],je=0;H.on("data",function(G){L.push(G),je+=G.length,t.maxContentLength>-1&&je>t.maxContentLength&&(x=!0,H.destroy(),T(new A("maxContentLength size of "+t.maxContentLength+" exceeded",A.ERR_BAD_RESPONSE,t,ke)))}),H.on("aborted",function(){if(x)return;let G=new A("stream has been aborted",A.ERR_BAD_RESPONSE,t,ke);H.destroy(G),o(G)}),H.on("error",function(G){b.destroyed||o(A.from(G,null,t,ke))}),H.on("end",function(){try{let G=L.length===1?L[0]:Buffer.concat(L);d!=="arraybuffer"&&(G=G.toString(m),(!m||m==="utf8")&&(G=g.stripBOM(G))),j.data=G}catch(G){return o(A.from(G,null,t,j.request,j))}Lt(s,o,j)})}$.once("abort",L=>{H.destroyed||(H.emit("error",L),H.destroy())})}),$.once("abort",N=>{b.close?b.close():b.destroy(N)}),b.on("error",function(O){o(A.from(O,null,t,b))}),b.on("socket",function(O){O.setKeepAlive(!0,1e3*60)}),t.timeout){let N=parseInt(t.timeout,10);if(Number.isNaN(N)){T(new A("error trying to parse `config.timeout` to int",A.ERR_BAD_OPTION_VALUE,t,b));return}b.setTimeout(N,function(){if(f)return;let U=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",le=t.transitional||ss;t.timeoutErrorMessage&&(U=t.timeoutErrorMessage),T(new A(U,le.clarifyTimeoutError?A.ETIMEDOUT:A.ECONNABORTED,t,b))})}else b.setTimeout(0);if(g.isStream(a)){let N=!1,O=!1;a.on("end",()=>{N=!0}),a.once("error",U=>{O=!0,b.destroy(U)}),a.on("close",()=>{!N&&!O&&T(new dt("Request stream has been aborted",t,b))}),a.pipe(b)}else a&&b.write(a),b.end()})},Tx=Q.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Q.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Q.origin),Q.navigator&&/(msie|trident)/i.test(Q.navigator.userAgent)):()=>!0,Rx=Q.hasStandardBrowserEnv?{write(e,t,n,s,o,i,a){if(typeof document>"u")return;let c=[`${e}=${encodeURIComponent(t)}`];g.isNumber(n)&&c.push(`expires=${new Date(n).toUTCString()}`),g.isString(s)&&c.push(`path=${s}`),g.isString(o)&&c.push(`domain=${o}`),i===!0&&c.push("secure"),g.isString(a)&&c.push(`SameSite=${a}`),document.cookie=c.join("; ")},read(e){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}},Qc=e=>e instanceof Re?{...e}:e;function mt(e,t){t=t||{};let n={};function s(u,l,d,m){return g.isPlainObject(u)&&g.isPlainObject(l)?g.merge.call({caseless:m},u,l):g.isPlainObject(l)?g.merge({},l):g.isArray(l)?l.slice():l}function o(u,l,d,m){if(g.isUndefined(l)){if(!g.isUndefined(u))return s(void 0,u,d,m)}else return s(u,l,d,m)}function i(u,l){if(!g.isUndefined(l))return s(void 0,l)}function a(u,l){if(g.isUndefined(l)){if(!g.isUndefined(u))return s(void 0,u)}else return s(void 0,l)}function c(u,l,d){if(d in t)return s(u,l);if(d in e)return s(void 0,u)}let p={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:c,headers:(u,l,d)=>o(Qc(u),Qc(l),d,!0)};return g.forEach(Object.keys({...e,...t}),function(l){if(l==="__proto__"||l==="constructor"||l==="prototype")return;let d=g.hasOwnProp(p,l)?p[l]:o,m=d(e[l],t[l],l);g.isUndefined(m)&&d!==c||(n[l]=m)}),n}var Tl=e=>{let t=mt({},e),{data:n,withXSRFToken:s,xsrfHeaderName:o,xsrfCookieName:i,headers:a,auth:c}=t;if(t.headers=a=Re.from(a),t.url=Wo(Jo(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),g.isFormData(n)){if(Q.hasStandardBrowserEnv||Q.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(g.isFunction(n.getHeaders)){let p=n.getHeaders(),u=["content-type","content-length"];Object.entries(p).forEach(([l,d])=>{u.includes(l.toLowerCase())&&a.set(l,d)})}}if(Q.hasStandardBrowserEnv&&(s&&g.isFunction(s)&&(s=s(t)),s||s!==!1&&Tx(t.url))){let p=o&&i&&Rx.read(i);p&&a.set(o,p)}return t},Cx=typeof XMLHttpRequest<"u",Ax=Cx&&function(e){return new Promise(function(n,s){let o=Tl(e),i=o.data,a=Re.from(o.headers).normalize(),{responseType:c,onUploadProgress:p,onDownloadProgress:u}=o,l,d,m,h,f;function x(){h&&h(),f&&f(),o.cancelToken&&o.cancelToken.unsubscribe(l),o.signal&&o.signal.removeEventListener("abort",l)}let b=new XMLHttpRequest;b.open(o.method.toUpperCase(),o.url,!0),b.timeout=o.timeout;function v(){if(!b)return;let T=Re.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),R={data:!c||c==="text"||c==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:T,config:e,request:b};Lt(function(E){n(E),x()},function(E){s(E),x()},R),b=null}"onloadend"in b?b.onloadend=v:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(v)},b.onabort=function(){b&&(s(new A("Request aborted",A.ECONNABORTED,e,b)),b=null)},b.onerror=function(w){let R=w&&w.message?w.message:"Network Error",S=new A(R,A.ERR_NETWORK,e,b);S.event=w||null,s(S),b=null},b.ontimeout=function(){let w=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",R=o.transitional||ss;o.timeoutErrorMessage&&(w=o.timeoutErrorMessage),s(new A(w,R.clarifyTimeoutError?A.ETIMEDOUT:A.ECONNABORTED,e,b)),b=null},i===void 0&&a.setContentType(null),"setRequestHeader"in b&&g.forEach(a.toJSON(),function(w,R){b.setRequestHeader(R,w)}),g.isUndefined(o.withCredentials)||(b.withCredentials=!!o.withCredentials),c&&c!=="json"&&(b.responseType=o.responseType),u&&([m,f]=Ft(u,!0),b.addEventListener("progress",m)),p&&b.upload&&([d,h]=Ft(p),b.upload.addEventListener("progress",d),b.upload.addEventListener("loadend",h)),(o.cancelToken||o.signal)&&(l=T=>{b&&(s(!T||T.type?new dt(null,e,b):T),b.abort(),b=null)},o.cancelToken&&o.cancelToken.subscribe(l),o.signal&&(o.signal.aborted?l():o.signal.addEventListener("abort",l)));let $=_l(o.url);if($&&Q.protocols.indexOf($)===-1){s(new A("Unsupported protocol "+$+":",A.ERR_BAD_REQUEST,e));return}b.send(i||null)})},Ox=(e,t)=>{let{length:n}=e=e?e.filter(Boolean):[];if(t||n){let s=new AbortController,o,i=function(u){if(!o){o=!0,c();let l=u instanceof Error?u:this.reason;s.abort(l instanceof A?l:new dt(l instanceof Error?l.message:l))}},a=t&&setTimeout(()=>{a=null,i(new A(`timeout of ${t}ms exceeded`,A.ETIMEDOUT))},t),c=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(i):u.removeEventListener("abort",i)}),e=null)};e.forEach(u=>u.addEventListener("abort",i));let{signal:p}=s;return p.unsubscribe=()=>g.asap(c),p}},jx=Ox,Px=function*(e,t){let n=e.byteLength;if(!t||n<t){yield e;return}let s=0,o;for(;s<n;)o=s+t,yield e.slice(s,o),s=o},Nx=async function*(e,t){for await(let n of Lx(e))yield*Px(n,t)},Lx=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:n,value:s}=await t.read();if(n)break;yield s}}finally{await t.cancel()}},Zc=(e,t,n,s)=>{let o=Nx(e,t),i=0,a,c=p=>{a||(a=!0,s&&s(p))};return new ReadableStream({async pull(p){try{let{done:u,value:l}=await o.next();if(u){c(),p.close();return}let d=l.byteLength;if(n){let m=i+=d;n(m)}p.enqueue(new Uint8Array(l))}catch(u){throw c(u),u}},cancel(p){return c(p),o.return()}},{highWaterMark:2})},el=64*1024,{isFunction:Hn}=g,qx=(({Request:e,Response:t})=>({Request:e,Response:t}))(g.global),{ReadableStream:tl,TextEncoder:nl}=g.global,sl=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Mx=e=>{e=g.merge.call({skipUndefined:!0},qx,e);let{fetch:t,Request:n,Response:s}=e,o=t?Hn(t):typeof fetch=="function",i=Hn(n),a=Hn(s);if(!o)return!1;let c=o&&Hn(tl),p=o&&(typeof nl=="function"?(f=>x=>f.encode(x))(new nl):async f=>new Uint8Array(await new n(f).arrayBuffer())),u=i&&c&&sl(()=>{let f=!1,x=new n(Q.origin,{body:new tl,method:"POST",get duplex(){return f=!0,"half"}}).headers.has("Content-Type");return f&&!x}),l=a&&c&&sl(()=>g.isReadableStream(new s("").body)),d={stream:l&&(f=>f.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(f=>{!d[f]&&(d[f]=(x,b)=>{let v=x&&x[f];if(v)return v.call(x);throw new A(`Response type '${f}' is not supported`,A.ERR_NOT_SUPPORT,b)})});let m=async f=>{if(f==null)return 0;if(g.isBlob(f))return f.size;if(g.isSpecCompliantForm(f))return(await new n(Q.origin,{method:"POST",body:f}).arrayBuffer()).byteLength;if(g.isArrayBufferView(f)||g.isArrayBuffer(f))return f.byteLength;if(g.isURLSearchParams(f)&&(f=f+""),g.isString(f))return(await p(f)).byteLength},h=async(f,x)=>{let b=g.toFiniteNumber(f.getContentLength());return b??m(x)};return async f=>{let{url:x,method:b,data:v,signal:$,cancelToken:T,timeout:w,onDownloadProgress:R,onUploadProgress:S,responseType:E,headers:C,withCredentials:M="same-origin",fetchOptions:F}=Tl(f),B=t||fetch;E=E?(E+"").toLowerCase():"text";let W=jx([$,T&&T.toAbortSignal()],w),ne=null,se=W&&W.unsubscribe&&(()=>{W.unsubscribe()}),ge;try{if(S&&u&&b!=="get"&&b!=="head"&&(ge=await h(C,v))!==0){let O=new n(x,{method:"POST",body:v,duplex:"half"}),U;if(g.isFormData(v)&&(U=O.headers.get("content-type"))&&C.setContentType(U),O.body){let[le,H]=Xn(ge,Ft(Qn(S)));v=Zc(O.body,el,le,H)}}g.isString(M)||(M=M?"include":"omit");let oe=i&&"credentials"in n.prototype,Z={...F,signal:W,method:b.toUpperCase(),headers:C.normalize().toJSON(),body:v,duplex:"half",credentials:oe?M:void 0};ne=i&&new n(x,Z);let ce=await(i?B(ne,F):B(x,Z)),Ge=l&&(E==="stream"||E==="response");if(l&&(R||Ge&&se)){let O={};["status","statusText","headers"].forEach(ke=>{O[ke]=ce[ke]});let U=g.toFiniteNumber(ce.headers.get("content-length")),[le,H]=R&&Xn(U,Ft(Qn(R),!0))||[];ce=new s(Zc(ce.body,el,le,()=>{H&&H(),se&&se()}),O)}E=E||"text";let N=await d[g.findKey(d,E)||"text"](ce,f);return!Ge&&se&&se(),await new Promise((O,U)=>{Lt(O,U,{data:N,headers:Re.from(ce.headers),status:ce.status,statusText:ce.statusText,config:f,request:ne})})}catch(oe){throw se&&se(),oe&&oe.name==="TypeError"&&/Load failed|fetch/i.test(oe.message)?Object.assign(new A("Network Error",A.ERR_NETWORK,f,ne,oe&&oe.response),{cause:oe.cause||oe}):A.from(oe,oe&&oe.code,f,ne,oe&&oe.response)}}},Fx=new Map,Rl=e=>{let t=e&&e.env||{},{fetch:n,Request:s,Response:o}=t,i=[s,o,n],a=i.length,c=a,p,u,l=Fx;for(;c--;)p=i[c],u=l.get(p),u===void 0&&l.set(p,u=c?new Map:Mx(t)),l=u;return u};Rl();var Vo={http:Ex,xhr:Ax,fetch:{get:Rl}};g.forEach(Vo,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var ol=e=>`- ${e}`,Ix=e=>g.isFunction(e)||e===null||e===!1;function Dx(e,t){e=g.isArray(e)?e:[e];let{length:n}=e,s,o,i={};for(let a=0;a<n;a++){s=e[a];let c;if(o=s,!Ix(s)&&(o=Vo[(c=String(s)).toLowerCase()],o===void 0))throw new A(`Unknown adapter '${c}'`);if(o&&(g.isFunction(o)||(o=o.get(t))))break;i[c||"#"+a]=o}if(!o){let a=Object.entries(i).map(([p,u])=>`adapter ${p} `+(u===!1?"is not supported by the environment":"is not available in the build")),c=n?a.length>1?`since :
|
|
36
|
+
`+a.map(ol).join(`
|
|
37
|
+
`):" "+ol(a[0]):"as no adapter specified";throw new A("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return o}var Cl={getAdapter:Dx,adapters:Vo};function Ao(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new dt(null,e)}function il(e){return Ao(e),e.headers=Re.from(e.headers),e.data=Ro.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Cl.getAdapter(e.adapter||Ko.adapter,e)(e).then(function(s){return Ao(e),s.data=Ro.call(e,e.transformResponse,s),s.headers=Re.from(s.headers),s},function(s){return kl(s)||(Ao(e),s&&s.response&&(s.response.data=Ro.call(e,e.transformResponse,s.response),s.response.headers=Re.from(s.response.headers))),Promise.reject(s)})}var os={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{os[e]=function(s){return typeof s===e||"a"+(t<1?"n ":" ")+e}});var al={};os.transitional=function(t,n,s){function o(i,a){return"[Axios v"+Yn+"] Transitional option '"+i+"'"+a+(s?". "+s:"")}return(i,a,c)=>{if(t===!1)throw new A(o(a," has been removed"+(n?" in "+n:"")),A.ERR_DEPRECATED);return n&&!al[a]&&(al[a]=!0,console.warn(o(a," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,a,c):!0}};os.spelling=function(t){return(n,s)=>(console.warn(`${s} is likely a misspelling of ${t}`),!0)};function Ux(e,t,n){if(typeof e!="object")throw new A("options must be an object",A.ERR_BAD_OPTION_VALUE);let s=Object.keys(e),o=s.length;for(;o-- >0;){let i=s[o],a=t[i];if(a){let c=e[i],p=c===void 0||a(c,i,e);if(p!==!0)throw new A("option "+i+" must be "+p,A.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new A("Unknown option "+i,A.ERR_BAD_OPTION)}}var Jn={assertOptions:Ux,validators:os},Ne=Jn.validators,It=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Bc,response:new Bc}}async request(t,n){try{return await this._request(t,n)}catch(s){if(s instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;let i=o.stack?o.stack.replace(/^.+\n/,""):"";try{s.stack?i&&!String(s.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(s.stack+=`
|
|
38
|
+
`+i):s.stack=i}catch{}}throw s}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=mt(this.defaults,n);let{transitional:s,paramsSerializer:o,headers:i}=n;s!==void 0&&Jn.assertOptions(s,{silentJSONParsing:Ne.transitional(Ne.boolean),forcedJSONParsing:Ne.transitional(Ne.boolean),clarifyTimeoutError:Ne.transitional(Ne.boolean),legacyInterceptorReqResOrdering:Ne.transitional(Ne.boolean)},!1),o!=null&&(g.isFunction(o)?n.paramsSerializer={serialize:o}:Jn.assertOptions(o,{encode:Ne.function,serialize:Ne.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Jn.assertOptions(n,{baseUrl:Ne.spelling("baseURL"),withXsrfToken:Ne.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=i&&g.merge(i.common,i[n.method]);i&&g.forEach(["delete","get","head","post","put","patch","common"],f=>{delete i[f]}),n.headers=Re.concat(a,i);let c=[],p=!0;this.interceptors.request.forEach(function(x){if(typeof x.runWhen=="function"&&x.runWhen(n)===!1)return;p=p&&x.synchronous;let b=n.transitional||ss;b&&b.legacyInterceptorReqResOrdering?c.unshift(x.fulfilled,x.rejected):c.push(x.fulfilled,x.rejected)});let u=[];this.interceptors.response.forEach(function(x){u.push(x.fulfilled,x.rejected)});let l,d=0,m;if(!p){let f=[il.bind(this),void 0];for(f.unshift(...c),f.push(...u),m=f.length,l=Promise.resolve(n);d<m;)l=l.then(f[d++],f[d++]);return l}m=c.length;let h=n;for(;d<m;){let f=c[d++],x=c[d++];try{h=f(h)}catch(b){x.call(this,b);break}}try{l=il.call(this,h)}catch(f){return Promise.reject(f)}for(d=0,m=u.length;d<m;)l=l.then(u[d++],u[d++]);return l}getUri(t){t=mt(this.defaults,t);let n=Jo(t.baseURL,t.url,t.allowAbsoluteUrls);return Wo(n,t.params,t.paramsSerializer)}};g.forEach(["delete","get","head","options"],function(t){It.prototype[t]=function(n,s){return this.request(mt(s||{},{method:t,url:n,data:(s||{}).data}))}});g.forEach(["post","put","patch"],function(t){function n(s){return function(i,a,c){return this.request(mt(c||{},{method:t,headers:s?{"Content-Type":"multipart/form-data"}:{},url:i,data:a}))}}It.prototype[t]=n(),It.prototype[t+"Form"]=n(!0)});var Vn=It,Do=class e{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i});let s=this;this.promise.then(o=>{if(!s._listeners)return;let i=s._listeners.length;for(;i-- >0;)s._listeners[i](o);s._listeners=null}),this.promise.then=o=>{let i,a=new Promise(c=>{s.subscribe(c),i=c}).then(o);return a.cancel=function(){s.unsubscribe(i)},a},t(function(i,a,c){s.reason||(s.reason=new dt(i,a,c),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){let t=new AbortController,n=s=>{t.abort(s)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new e(function(o){t=o}),cancel:t}}},Bx=Do;function zx(e){return function(n){return e.apply(null,n)}}function Wx(e){return g.isObject(e)&&e.isAxiosError===!0}var Uo={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Uo).forEach(([e,t])=>{Uo[t]=e});var Hx=Uo;function Al(e){let t=new Vn(e),n=pl(Vn.prototype.request,t);return g.extend(n,Vn.prototype,t,{allOwnKeys:!0}),g.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return Al(mt(e,o))},n}var ie=Al(Ko);ie.Axios=Vn;ie.CanceledError=dt;ie.CancelToken=Bx;ie.isCancel=kl;ie.VERSION=Yn;ie.toFormData=ns;ie.AxiosError=A;ie.Cancel=ie.CanceledError;ie.all=function(t){return Promise.all(t)};ie.spread=zx;ie.isAxiosError=Wx;ie.mergeConfig=mt;ie.AxiosHeaders=Re;ie.formToJSON=e=>wl(g.isHTMLForm(e)?new FormData(e):e);ie.getAdapter=Cl.getAdapter;ie.HttpStatusCode=Hx;ie.default=ie;Ol.exports=ie});var Ut=_((Pk,jl)=>{var Yo=class e{constructor(t={}){if(new.target===e)throw new Error("BaseProvider is abstract \u2014 use a concrete provider");this.name=t.name||"unknown",this.baseUrl=t.baseUrl||"",this.models=t.models||{},this.defaultModel=t.defaultModel||null}isConfigured(){throw new Error(`${this.name}: isConfigured() not implemented`)}getApiKey(){return null}getModels(){return this.models}getModelNames(){return Object.keys(this.models)}getModel(t){return this.models[t]||null}async chat(t,n,s={}){throw new Error(`${this.name}: chat() not implemented`)}async stream(t,n,s={}){throw new Error(`${this.name}: stream() not implemented`)}formatMessages(t){return{messages:t}}formatTools(t){return t}normalizeResponse(t){throw new Error(`${this.name}: normalizeResponse() not implemented`)}};jl.exports={BaseProvider:Yo}});var Ll=_((Nk,Nl)=>{var Xo=ft(),{BaseProvider:Gx}=Ut(),Pl={"qwen3-coder:480b":{id:"qwen3-coder:480b",name:"Qwen3 Coder 480B",maxTokens:16384,contextWindow:131072},"qwen3-coder-next":{id:"qwen3-coder-next",name:"Qwen3 Coder Next",maxTokens:16384,contextWindow:131072},"devstral-2:123b":{id:"devstral-2:123b",name:"Devstral 2 123B",maxTokens:16384,contextWindow:131072},"devstral-small-2:24b":{id:"devstral-small-2:24b",name:"Devstral Small 2 24B",maxTokens:16384,contextWindow:131072},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",maxTokens:16384,contextWindow:256e3},"kimi-k2:1t":{id:"kimi-k2:1t",name:"Kimi K2 1T",maxTokens:16384,contextWindow:256e3},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",maxTokens:16384,contextWindow:256e3},"deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek V3.2",maxTokens:16384,contextWindow:131072},"deepseek-v3.1:671b":{id:"deepseek-v3.1:671b",name:"DeepSeek V3.1 671B",maxTokens:16384,contextWindow:131072},"cogito-2.1:671b":{id:"cogito-2.1:671b",name:"Cogito 2.1 671B",maxTokens:16384,contextWindow:131072},"qwen3-next:80b":{id:"qwen3-next:80b",name:"Qwen3 Next 80B",maxTokens:16384,contextWindow:131072},"qwen3.5:397b":{id:"qwen3.5:397b",name:"Qwen3.5 397B",maxTokens:16384,contextWindow:131072},"mistral-large-3:675b":{id:"mistral-large-3:675b",name:"Mistral Large 3 675B",maxTokens:16384,contextWindow:131072},"gpt-oss:120b":{id:"gpt-oss:120b",name:"GPT-OSS 120B",maxTokens:16384,contextWindow:131072},"minimax-m2.5":{id:"minimax-m2.5",name:"MiniMax M2.5",maxTokens:16384,contextWindow:131072},"glm-5":{id:"glm-5",name:"GLM 5",maxTokens:16384,contextWindow:128e3},"glm-4.7":{id:"glm-4.7",name:"GLM 4.7",maxTokens:16384,contextWindow:128e3},"gemma3:27b":{id:"gemma3:27b",name:"Gemma 3 27B",maxTokens:8192,contextWindow:131072},"gemma3:12b":{id:"gemma3:12b",name:"Gemma 3 12B",maxTokens:8192,contextWindow:131072},"gemma3:4b":{id:"gemma3:4b",name:"Gemma 3 4B",maxTokens:8192,contextWindow:131072},"ministral-3:14b":{id:"ministral-3:14b",name:"Ministral 3 14B",maxTokens:8192,contextWindow:131072},"ministral-3:8b":{id:"ministral-3:8b",name:"Ministral 3 8B",maxTokens:8192,contextWindow:131072},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",maxTokens:16384,contextWindow:131072}},Qo=class extends Gx{constructor(t={}){super({name:"ollama",baseUrl:t.baseUrl||"https://ollama.com",models:t.models||Pl,defaultModel:t.defaultModel||"qwen3-coder:480b",...t}),this.timeout=t.timeout||18e4,this.temperature=t.temperature??.2,this._discovered=!1}async discoverModels(){if(!this._discovered){this._discovered=!0;try{let n=(await Xo.get(`${this.baseUrl}/api/tags`,{timeout:5e3,headers:this._getHeaders()})).data?.models||[];for(let s of n){let o=(s.name||s.model||"").replace(/:latest$/,"");!o||this.models[o]||(this.models[o]={id:o,name:s.name||o,maxTokens:16384,contextWindow:131072})}}catch{}}}isConfigured(){return!!this.getApiKey()}getApiKey(){return process.env.OLLAMA_API_KEY||null}_getHeaders(){let t=this.getApiKey();if(!t)throw new Error("OLLAMA_API_KEY not set");return{Authorization:`Bearer ${t}`}}async chat(t,n,s={}){await this.discoverModels();let o=s.model||this.defaultModel,i=this.getModel(o),a=s.maxTokens||i?.maxTokens||16384,c=await Xo.post(`${this.baseUrl}/api/chat`,{model:o,messages:t,tools:n&&n.length>0?n:void 0,stream:!1,options:{temperature:s.temperature??this.temperature,num_predict:a}},{timeout:s.timeout||this.timeout,headers:this._getHeaders()});return this.normalizeResponse(c.data)}async stream(t,n,s={}){await this.discoverModels();let o=s.model||this.defaultModel,i=this.getModel(o),a=s.maxTokens||i?.maxTokens||16384,c=s.onToken||(()=>{}),p;try{p=await Xo.post(`${this.baseUrl}/api/chat`,{model:o,messages:t,tools:n&&n.length>0?n:void 0,stream:!0,options:{temperature:s.temperature??this.temperature,num_predict:a}},{timeout:s.timeout||this.timeout,headers:this._getHeaders(),responseType:"stream",signal:s.signal})}catch(u){if(u.name==="CanceledError"||u.name==="AbortError"||u.code==="ERR_CANCELED")throw u;let l=u.response?.data?.error||u.message;throw new Error(`API Error: ${l}`)}return new Promise((u,l)=>{let d="",m=[],h="";s.signal&&s.signal.addEventListener("abort",()=>{p.data.destroy(),l(new DOMException("The operation was aborted","AbortError"))},{once:!0}),p.data.on("data",f=>{h+=f.toString();let x=h.split(`
|
|
39
|
+
`);h=x.pop()||"";for(let b of x){if(!b.trim())continue;let v;try{v=JSON.parse(b)}catch{continue}if(v.message?.content&&(c(v.message.content),d+=v.message.content),v.message?.tool_calls&&(m=m.concat(v.message.tool_calls)),v.done){u({content:d,tool_calls:this._normalizeToolCalls(m)});return}}}),p.data.on("error",f=>{s.signal?.aborted||l(new Error(`Stream error: ${f.message}`))}),p.data.on("end",()=>{if(h.trim())try{let f=JSON.parse(h);f.message?.content&&(c(f.message.content),d+=f.message.content),f.message?.tool_calls&&(m=m.concat(f.message.tool_calls))}catch{}u({content:d,tool_calls:this._normalizeToolCalls(m)})})})}normalizeResponse(t){let n=t.message||{};return{content:n.content||"",tool_calls:this._normalizeToolCalls(n.tool_calls||[])}}_normalizeToolCalls(t){return t.map((n,s)=>({id:n.id||`ollama-${Date.now()}-${s}`,function:{name:n.function?.name||n.name||"unknown",arguments:n.function?.arguments||n.arguments||{}}}))}};Nl.exports={OllamaProvider:Qo,OLLAMA_MODELS:Pl}});var Il=_((Lk,Fl)=>{var ql=ft(),{BaseProvider:Kx}=Ut(),Ml={"gpt-4o":{id:"gpt-4o",name:"GPT-4o",maxTokens:16384,contextWindow:128e3},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o Mini",maxTokens:16384,contextWindow:128e3},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",maxTokens:32768,contextWindow:128e3},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 Mini",maxTokens:32768,contextWindow:128e3},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 Nano",maxTokens:16384,contextWindow:128e3},o1:{id:"o1",name:"o1",maxTokens:1e5,contextWindow:2e5},o3:{id:"o3",name:"o3",maxTokens:1e5,contextWindow:2e5},"o3-mini":{id:"o3-mini",name:"o3 Mini",maxTokens:65536,contextWindow:2e5},"o4-mini":{id:"o4-mini",name:"o4 Mini",maxTokens:1e5,contextWindow:2e5}},Zo=class extends Kx{constructor(t={}){super({name:"openai",baseUrl:t.baseUrl||"https://api.openai.com/v1",models:t.models||Ml,defaultModel:t.defaultModel||"gpt-4o",...t}),this.timeout=t.timeout||18e4,this.temperature=t.temperature??.2}isConfigured(){return!!this.getApiKey()}getApiKey(){return process.env.OPENAI_API_KEY||null}_getHeaders(){let t=this.getApiKey();if(!t)throw new Error("OPENAI_API_KEY not set");return{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}}formatMessages(t){return{messages:t.map(n=>n.role==="assistant"&&n.tool_calls?{role:"assistant",content:n.content||null,tool_calls:n.tool_calls.map(s=>({id:s.id||`call-${Date.now()}`,type:"function",function:{name:s.function.name,arguments:typeof s.function.arguments=="string"?s.function.arguments:JSON.stringify(s.function.arguments)}}))}:n.role==="tool"?{role:"tool",content:typeof n.content=="string"?n.content:JSON.stringify(n.content),tool_call_id:n.tool_call_id}:{role:n.role,content:n.content})}}async chat(t,n,s={}){let o=s.model||this.defaultModel,i=this.getModel(o),a=s.maxTokens||i?.maxTokens||16384,{messages:c}=this.formatMessages(t),p={model:o,messages:c,max_tokens:a,temperature:s.temperature??this.temperature};n&&n.length>0&&(p.tools=n);let u=await ql.post(`${this.baseUrl}/chat/completions`,p,{timeout:s.timeout||this.timeout,headers:this._getHeaders()});return this.normalizeResponse(u.data)}async stream(t,n,s={}){let o=s.model||this.defaultModel,i=this.getModel(o),a=s.maxTokens||i?.maxTokens||16384,c=s.onToken||(()=>{}),{messages:p}=this.formatMessages(t),u={model:o,messages:p,max_tokens:a,temperature:s.temperature??this.temperature,stream:!0};n&&n.length>0&&(u.tools=n);let l;try{l=await ql.post(`${this.baseUrl}/chat/completions`,u,{timeout:s.timeout||this.timeout,headers:this._getHeaders(),responseType:"stream",signal:s.signal})}catch(d){if(d.name==="CanceledError"||d.name==="AbortError"||d.code==="ERR_CANCELED")throw d;let m=d.response?.data?.error?.message||d.message;throw new Error(`API Error: ${m}`)}return new Promise((d,m)=>{let h="",f={},x="";s.signal&&s.signal.addEventListener("abort",()=>{l.data.destroy(),m(new DOMException("The operation was aborted","AbortError"))},{once:!0}),l.data.on("data",b=>{x+=b.toString();let v=x.split(`
|
|
40
|
+
`);x=v.pop()||"";for(let $ of v){let T=$.trim();if(!T||!T.startsWith("data: "))continue;let w=T.slice(6);if(w==="[DONE]"){d({content:h,tool_calls:this._buildToolCalls(f)});return}let R;try{R=JSON.parse(w)}catch{continue}let S=R.choices?.[0]?.delta;if(S&&(S.content&&(c(S.content),h+=S.content),S.tool_calls))for(let E of S.tool_calls){let C=E.index??0;f[C]||(f[C]={id:E.id||"",name:"",arguments:""}),E.id&&(f[C].id=E.id),E.function?.name&&(f[C].name+=E.function.name),E.function?.arguments&&(f[C].arguments+=E.function.arguments)}}}),l.data.on("error",b=>{s.signal?.aborted||m(new Error(`Stream error: ${b.message}`))}),l.data.on("end",()=>{d({content:h,tool_calls:this._buildToolCalls(f)})})})}normalizeResponse(t){let n=t.choices?.[0]?.message||{},s=(n.tool_calls||[]).map(o=>({id:o.id,function:{name:o.function.name,arguments:o.function.arguments}}));return{content:n.content||"",tool_calls:s}}_buildToolCalls(t){return Object.values(t).filter(n=>n.name).map(n=>({id:n.id||`openai-${Date.now()}`,function:{name:n.name,arguments:n.arguments}}))}};Fl.exports={OpenAIProvider:Zo,OPENAI_MODELS:Ml}});var zl=_((qk,Bl)=>{var Dl=ft(),{BaseProvider:Jx}=Ut(),Ul={"claude-sonnet":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",maxTokens:64e3,contextWindow:2e5},"claude-opus":{id:"claude-opus-4-6",name:"Claude Opus 4.6",maxTokens:128e3,contextWindow:2e5},"claude-haiku":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",maxTokens:64e3,contextWindow:2e5},"claude-sonnet-4-5":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",maxTokens:64e3,contextWindow:2e5},"claude-sonnet-4":{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",maxTokens:64e3,contextWindow:2e5}},Vx="2023-06-01",ei=class extends Jx{constructor(t={}){super({name:"anthropic",baseUrl:t.baseUrl||"https://api.anthropic.com/v1",models:t.models||Ul,defaultModel:t.defaultModel||"claude-sonnet",...t}),this.timeout=t.timeout||18e4,this.temperature=t.temperature??.2,this.apiVersion=t.apiVersion||Vx}isConfigured(){return!!this.getApiKey()}getApiKey(){return process.env.ANTHROPIC_API_KEY||null}_getHeaders(){let t=this.getApiKey();if(!t)throw new Error("ANTHROPIC_API_KEY not set");return{"x-api-key":t,"anthropic-version":this.apiVersion,"Content-Type":"application/json"}}formatMessages(t){let n="",s=[];for(let o of t){if(o.role==="system"){n+=(n?`
|
|
41
|
+
|
|
42
|
+
`:"")+o.content;continue}if(o.role==="assistant"){let i=[];if(o.content&&i.push({type:"text",text:o.content}),o.tool_calls)for(let a of o.tool_calls)i.push({type:"tool_use",id:a.id||`toolu-${Date.now()}`,name:a.function.name,input:typeof a.function.arguments=="string"?JSON.parse(a.function.arguments||"{}"):a.function.arguments||{}});s.push({role:"assistant",content:i.length>0?i:[{type:"text",text:""}]});continue}if(o.role==="tool"){let i=s[s.length-1],a={type:"tool_result",tool_use_id:o.tool_call_id,content:typeof o.content=="string"?o.content:JSON.stringify(o.content)};i&&i.role==="user"&&Array.isArray(i.content)&&i.content[0]?.type==="tool_result"?i.content.push(a):s.push({role:"user",content:[a]});continue}s.push({role:"user",content:o.content})}return{messages:s,system:n}}formatTools(t){return!t||t.length===0?[]:t.map(n=>({name:n.function.name,description:n.function.description||"",input_schema:n.function.parameters||{type:"object",properties:{}}}))}_resolveModelId(t){return this.getModel(t)?.id||t}async chat(t,n,s={}){let o=s.model||this.defaultModel,i=this._resolveModelId(o),a=this.getModel(o),c=s.maxTokens||a?.maxTokens||8192,{messages:p,system:u}=this.formatMessages(t),l={model:i,messages:p,max_tokens:c,temperature:s.temperature??this.temperature};u&&(l.system=u);let d=this.formatTools(n);d.length>0&&(l.tools=d);let m=await Dl.post(`${this.baseUrl}/messages`,l,{timeout:s.timeout||this.timeout,headers:this._getHeaders()});return this.normalizeResponse(m.data)}async stream(t,n,s={}){let o=s.model||this.defaultModel,i=this._resolveModelId(o),a=this.getModel(o),c=s.maxTokens||a?.maxTokens||8192,p=s.onToken||(()=>{}),{messages:u,system:l}=this.formatMessages(t),d={model:i,messages:u,max_tokens:c,temperature:s.temperature??this.temperature,stream:!0};l&&(d.system=l);let m=this.formatTools(n);m.length>0&&(d.tools=m);let h;try{h=await Dl.post(`${this.baseUrl}/messages`,d,{timeout:s.timeout||this.timeout,headers:this._getHeaders(),responseType:"stream",signal:s.signal})}catch(f){if(f.name==="CanceledError"||f.name==="AbortError"||f.code==="ERR_CANCELED")throw f;let x=f.response?.data?.error?.message||f.message;throw new Error(`API Error: ${x}`)}return new Promise((f,x)=>{let b="",v=[],$=-1,T="";s.signal&&s.signal.addEventListener("abort",()=>{h.data.destroy(),x(new DOMException("The operation was aborted","AbortError"))},{once:!0}),h.data.on("data",w=>{T+=w.toString();let R=T.split(`
|
|
43
|
+
`);T=R.pop()||"";for(let S of R){let E=S.trim();if(E.startsWith("data: ")){let C=E.slice(6),M;try{M=JSON.parse(C)}catch{continue}switch(M.type){case"content_block_start":{let F=M.content_block;F?.type==="tool_use"&&($=v.length,v.push({id:F.id,name:F.name,inputJson:""}));break}case"content_block_delta":{let F=M.delta;F?.type==="text_delta"&&F.text&&(p(F.text),b+=F.text),F?.type==="input_json_delta"&&F.partial_json!==void 0&&$>=0&&(v[$].inputJson+=F.partial_json);break}case"content_block_stop":$=-1;break;case"message_stop":f({content:b,tool_calls:this._buildToolCalls(v)});return}}}}),h.data.on("error",w=>{s.signal?.aborted||x(new Error(`Stream error: ${w.message}`))}),h.data.on("end",()=>{f({content:b,tool_calls:this._buildToolCalls(v)})})})}normalizeResponse(t){let n="",s=[];for(let o of t.content||[])o.type==="text"?n+=o.text:o.type==="tool_use"&&s.push({id:o.id,function:{name:o.name,arguments:o.input}});return{content:n,tool_calls:s}}_buildToolCalls(t){return t.filter(n=>n.name).map(n=>{let s={};if(n.inputJson)try{s=JSON.parse(n.inputJson)}catch{s=n.inputJson}return{id:n.id||`anthropic-${Date.now()}`,function:{name:n.name,arguments:s}}})}};Bl.exports={AnthropicProvider:ei,ANTHROPIC_MODELS:Ul}});var Kl=_((Mk,Gl)=>{var Wl=ft(),{BaseProvider:Yx}=Ut(),Hl={"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",maxTokens:65536,contextWindow:1048576},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",maxTokens:65536,contextWindow:1048576},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",maxTokens:65536,contextWindow:1048576},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",maxTokens:65536,contextWindow:1048576},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",maxTokens:65536,contextWindow:1048576},"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",maxTokens:8192,contextWindow:1048576},"gemini-2.0-flash-lite":{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",maxTokens:8192,contextWindow:1048576}},ti=class extends Yx{constructor(t={}){super({name:"gemini",baseUrl:t.baseUrl||"https://generativelanguage.googleapis.com/v1beta/openai",models:t.models||Hl,defaultModel:t.defaultModel||"gemini-2.5-flash",...t}),this.timeout=t.timeout||18e4,this.temperature=t.temperature??.2}isConfigured(){return!!this.getApiKey()}getApiKey(){return process.env.GEMINI_API_KEY||process.env.GOOGLE_API_KEY||null}_getHeaders(){let t=this.getApiKey();if(!t)throw new Error("GEMINI_API_KEY not set");return{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}}formatMessages(t){return{messages:t.map(n=>n.role==="assistant"&&n.tool_calls?{role:"assistant",content:n.content||null,tool_calls:n.tool_calls.map(s=>({id:s.id||`call-${Date.now()}`,type:"function",function:{name:s.function.name,arguments:typeof s.function.arguments=="string"?s.function.arguments:JSON.stringify(s.function.arguments)}}))}:n.role==="tool"?{role:"tool",content:typeof n.content=="string"?n.content:JSON.stringify(n.content),tool_call_id:n.tool_call_id}:{role:n.role,content:n.content})}}async chat(t,n,s={}){let o=s.model||this.defaultModel,i=this.getModel(o),a=s.maxTokens||i?.maxTokens||8192,{messages:c}=this.formatMessages(t),p={model:o,messages:c,max_tokens:a,temperature:s.temperature??this.temperature};n&&n.length>0&&(p.tools=n);let u=await Wl.post(`${this.baseUrl}/chat/completions`,p,{timeout:s.timeout||this.timeout,headers:this._getHeaders()});return this.normalizeResponse(u.data)}async stream(t,n,s={}){let o=s.model||this.defaultModel,i=this.getModel(o),a=s.maxTokens||i?.maxTokens||8192,c=s.onToken||(()=>{}),{messages:p}=this.formatMessages(t),u={model:o,messages:p,max_tokens:a,temperature:s.temperature??this.temperature,stream:!0};n&&n.length>0&&(u.tools=n);let l;try{l=await Wl.post(`${this.baseUrl}/chat/completions`,u,{timeout:s.timeout||this.timeout,headers:this._getHeaders(),responseType:"stream",signal:s.signal})}catch(d){if(d.name==="CanceledError"||d.name==="AbortError"||d.code==="ERR_CANCELED")throw d;let m=d.response?.data?.error?.message||d.message;throw new Error(`API Error: ${m}`)}return new Promise((d,m)=>{let h="",f={},x="";s.signal&&s.signal.addEventListener("abort",()=>{l.data.destroy(),m(new DOMException("The operation was aborted","AbortError"))},{once:!0}),l.data.on("data",b=>{x+=b.toString();let v=x.split(`
|
|
44
|
+
`);x=v.pop()||"";for(let $ of v){let T=$.trim();if(!T||!T.startsWith("data: "))continue;let w=T.slice(6);if(w==="[DONE]"){d({content:h,tool_calls:this._buildToolCalls(f)});return}let R;try{R=JSON.parse(w)}catch{continue}let S=R.choices?.[0]?.delta;if(S&&(S.content&&(c(S.content),h+=S.content),S.tool_calls))for(let E of S.tool_calls){let C=E.index??0;f[C]||(f[C]={id:E.id||"",name:"",arguments:""}),E.id&&(f[C].id=E.id),E.function?.name&&(f[C].name+=E.function.name),E.function?.arguments&&(f[C].arguments+=E.function.arguments)}}}),l.data.on("error",b=>{s.signal?.aborted||m(new Error(`Stream error: ${b.message}`))}),l.data.on("end",()=>{d({content:h,tool_calls:this._buildToolCalls(f)})})})}normalizeResponse(t){let n=t.choices?.[0]?.message||{},s=(n.tool_calls||[]).map(o=>({id:o.id,function:{name:o.function.name,arguments:o.function.arguments}}));return{content:n.content||"",tool_calls:s}}_buildToolCalls(t){return Object.values(t).filter(n=>n.name).map(n=>({id:n.id||`gemini-${Date.now()}`,function:{name:n.name,arguments:n.arguments}}))}};Gl.exports={GeminiProvider:ti,GEMINI_MODELS:Hl}});var Yl=_((Fk,Vl)=>{var is=ft(),{BaseProvider:Xx}=Ut(),Jl="http://localhost:11434",ni=class extends Xx{constructor(t={}){super({name:"local",baseUrl:t.baseUrl||process.env.OLLAMA_HOST||process.env.OLLAMA_LOCAL_URL||Jl,models:t.models||{},defaultModel:t.defaultModel||null,...t}),this.timeout=t.timeout||3e5,this.temperature=t.temperature??.2,this._modelsLoaded=!1}isConfigured(){return!0}async loadModels(){if(this._modelsLoaded)return this.models;try{let n=(await is.get(`${this.baseUrl}/api/tags`,{timeout:5e3})).data?.models||[];this.models={};for(let s of n){let o=s.name||s.model;if(!o)continue;let i=o.replace(/:latest$/,""),a=32768;try{let c=await is.post(`${this.baseUrl}/api/show`,{name:o},{timeout:5e3}),p=c.data?.model_info||c.data?.details||{};a=p["general.context_length"]||p["llama.context_length"]||this._parseContextFromModelfile(c.data?.modelfile)||32768}catch{}this.models[i]={id:i,name:s.name,maxTokens:Math.min(8192,Math.floor(a*.1)),contextWindow:a}}!this.defaultModel&&Object.keys(this.models).length>0&&(this.defaultModel=Object.keys(this.models)[0]),this._modelsLoaded=!0}catch{this.models={},this._modelsLoaded=!1}return this.models}getModels(){return this.models}getModelNames(){return Object.keys(this.models)}async chat(t,n,s={}){this._modelsLoaded||await this.loadModels();let o=s.model||this.defaultModel;if(!o)throw new Error("No local model available. Is Ollama running?");let i=await is.post(`${this.baseUrl}/api/chat`,{model:o,messages:t,tools:n&&n.length>0?n:void 0,stream:!1,options:{temperature:s.temperature??this.temperature,num_predict:s.maxTokens||8192}},{timeout:s.timeout||this.timeout});return this.normalizeResponse(i.data)}async stream(t,n,s={}){this._modelsLoaded||await this.loadModels();let o=s.model||this.defaultModel;if(!o)throw new Error("No local model available. Is Ollama running?");let i=s.onToken||(()=>{}),a;try{a=await is.post(`${this.baseUrl}/api/chat`,{model:o,messages:t,tools:n&&n.length>0?n:void 0,stream:!0,options:{temperature:s.temperature??this.temperature,num_predict:s.maxTokens||8192}},{timeout:s.timeout||this.timeout,responseType:"stream",signal:s.signal})}catch(c){if(c.name==="CanceledError"||c.name==="AbortError"||c.code==="ERR_CANCELED")throw c;let p=c.response?.data?.error||c.message;throw new Error(`API Error: ${p}`)}return new Promise((c,p)=>{let u="",l=[],d="";s.signal&&s.signal.addEventListener("abort",()=>{a.data.destroy(),p(new DOMException("The operation was aborted","AbortError"))},{once:!0}),a.data.on("data",m=>{d+=m.toString();let h=d.split(`
|
|
45
|
+
`);d=h.pop()||"";for(let f of h){if(!f.trim())continue;let x;try{x=JSON.parse(f)}catch{continue}if(x.message?.content&&(i(x.message.content),u+=x.message.content),x.message?.tool_calls&&(l=l.concat(x.message.tool_calls)),x.done){c({content:u,tool_calls:this._normalizeToolCalls(l)});return}}}),a.data.on("error",m=>{s.signal?.aborted||p(new Error(`Stream error: ${m.message}`))}),a.data.on("end",()=>{if(d.trim())try{let m=JSON.parse(d);m.message?.content&&(i(m.message.content),u+=m.message.content),m.message?.tool_calls&&(l=l.concat(m.message.tool_calls))}catch{}c({content:u,tool_calls:this._normalizeToolCalls(l)})})})}normalizeResponse(t){let n=t.message||{};return{content:n.content||"",tool_calls:this._normalizeToolCalls(n.tool_calls||[])}}_parseContextFromModelfile(t){if(!t)return null;let n=t.match(/PARAMETER\s+num_ctx\s+(\d+)/i);return n?parseInt(n[1],10):null}_normalizeToolCalls(t){return t.map((n,s)=>({id:n.id||`local-${Date.now()}-${s}`,function:{name:n.function?.name||n.name||"unknown",arguments:n.function?.arguments||n.arguments||{}}}))}};Vl.exports={LocalProvider:ni,DEFAULT_LOCAL_URL:Jl}});var ln=_((Ik,sp)=>{var ht=require("fs"),si=require("path"),Xl={openai:{"gpt-4o":{input:2.5,output:10},"gpt-4o-mini":{input:.15,output:.6},"gpt-4.1":{input:2,output:8},"gpt-4.1-mini":{input:.4,output:1.6},"gpt-4.1-nano":{input:.1,output:.4},o1:{input:15,output:60},o3:{input:10,output:40},"o3-mini":{input:1.1,output:4.4},"o4-mini":{input:1.1,output:4.4}},anthropic:{"claude-sonnet":{input:3,output:15},"claude-opus":{input:5,output:25},"claude-haiku":{input:.8,output:4},"claude-sonnet-4-5":{input:3,output:15},"claude-sonnet-4":{input:3,output:15}},gemini:{"gemini-2.5-pro":{input:1.25,output:10},"gemini-2.5-flash":{input:.15,output:.6},"gemini-2.0-flash":{input:.1,output:.4},"gemini-2.0-flash-lite":{input:.075,output:.3}},ollama:{"qwen3-coder:480b":{input:0,output:0},"qwen3-coder-next":{input:0,output:0},"devstral-2:123b":{input:0,output:0},"devstral-small-2:24b":{input:0,output:0},"kimi-k2.5":{input:0,output:0},"kimi-k2:1t":{input:0,output:0},"deepseek-v3.2":{input:0,output:0},"minimax-m2.5":{input:0,output:0},"glm-5":{input:0,output:0},"glm-4.7":{input:0,output:0},"gpt-oss:120b":{input:0,output:0}},local:{}},as=[],nt={};function Qx(e,t,n,s){if(as.push({provider:e,model:t,input:n,output:s}),nt[e]!==void 0){let o=tp(e);o.allowed||process.stderr.write(`\x1B[33m\u26A0 Budget limit reached for ${e}: $${o.spent.toFixed(2)} / $${o.limit.toFixed(2)}\x1B[0m
|
|
46
|
+
`)}}function oi(e,t){let n=Xl[e];return n?n[t]||{input:0,output:0}:{input:0,output:0}}function Ql(e){let t=oi(e.provider,e.model);return(e.input*t.input+e.output*t.output)/1e6}function Zl(){let e={};for(let i of as){let a=`${i.provider}:${i.model}`;e[a]||(e[a]={provider:i.provider,model:i.model,input:0,output:0}),e[a].input+=i.input,e[a].output+=i.output}let t=Object.values(e).map(i=>({...i,cost:Ql(i)})),n=t.reduce((i,a)=>i+a.cost,0),s=t.reduce((i,a)=>i+a.input,0),o=t.reduce((i,a)=>i+a.output,0);return{totalCost:n,totalInput:s,totalOutput:o,breakdown:t}}function Zx(){let{totalCost:e,totalInput:t,totalOutput:n,breakdown:s}=Zl();if(s.length===0)return"No token usage recorded this session.";let o=[];o.push("Session Token Usage:"),o.push("");for(let i of s){let a=i.cost>0?`$${i.cost.toFixed(4)}`:"free";o.push(` ${i.provider}:${i.model}`),o.push(` Input: ${i.input.toLocaleString()} tokens`),o.push(` Output: ${i.output.toLocaleString()} tokens`),o.push(` Cost: ${a}`)}return o.push(""),o.push(` Total: ${t.toLocaleString()} in + ${n.toLocaleString()} out = $${e.toFixed(4)}`),o.join(`
|
|
47
|
+
`)}function eb(e,t,n,s){let o=oi(e,t),i=(n*o.input+s*o.output)/1e6;return i<=0?"":`[~$${i.toFixed(4)}]`}function tb(){as=[]}function nb(e,t){nt[e]=t}function sb(e){delete nt[e]}function ob(){return{...nt}}function ep(e){let t=0;for(let n of as)n.provider===e&&(t+=Ql(n));return t}function tp(e){let t=ep(e),n=nt[e];if(n===void 0)return{allowed:!0,spent:t,limit:null,remaining:null};let s=Math.max(0,n-t);return{allowed:t<n,spent:t,limit:n,remaining:s}}function np(){let e=si.join(process.cwd(),".nex","config.json");if(ht.existsSync(e))try{let t=JSON.parse(ht.readFileSync(e,"utf-8"));t.costLimits&&typeof t.costLimits=="object"&&(nt={...t.costLimits})}catch{}}function ib(){let e=si.join(process.cwd(),".nex"),t=si.join(e,"config.json"),n={};if(ht.existsSync(t))try{n=JSON.parse(ht.readFileSync(t,"utf-8"))}catch{n={}}n.costLimits=nt,ht.existsSync(e)||ht.mkdirSync(e,{recursive:!0}),ht.writeFileSync(t,JSON.stringify(n,null,2),"utf-8")}function ab(){nt={}}np();sp.exports={PRICING:Xl,trackUsage:Qx,getSessionCosts:Zl,formatCosts:Zx,formatCostHint:eb,resetCosts:tb,getPricing:oi,setCostLimit:nb,removeCostLimit:sb,getCostLimits:ob,getProviderSpend:ep,checkBudget:tp,loadCostLimits:np,saveCostLimits:ib,resetCostLimits:ab}});var Ie=_((Dk,lp)=>{var{OllamaProvider:rb}=Ll(),{OpenAIProvider:cb}=Il(),{AnthropicProvider:lb}=zl(),{GeminiProvider:pb}=Kl(),{LocalProvider:ub}=Yl(),{checkBudget:op}=ln(),ip={top:{ollama:"kimi-k2.5",openai:"gpt-4.1",anthropic:"claude-sonnet-4-5",gemini:"gemini-2.5-pro"},strong:{ollama:"qwen3-coder:480b",openai:"gpt-4o",anthropic:"claude-sonnet",gemini:"gemini-2.5-flash"},fast:{ollama:"devstral-small-2:24b",openai:"gpt-4.1-mini",anthropic:"claude-haiku",gemini:"gemini-2.0-flash"}},ap={};for(let[e,t]of Object.entries(ip))for(let n of Object.values(t))ap[n]=e;function rs(e,t){let n=ap[e];return n&&ip[n][t]||e}var fe={},be=null,J=null,zt=[];function Le(){if(Object.keys(fe).length>0)return;Bt("ollama",new rb),Bt("openai",new cb),Bt("anthropic",new lb),Bt("gemini",new pb),Bt("local",new ub);let e=process.env.DEFAULT_PROVIDER||"ollama",t=process.env.DEFAULT_MODEL||null;fe[e]?(be=e,J=t||fe[e].defaultModel):(be="ollama",J="kimi-k2.5");let n=process.env.FALLBACK_CHAIN;n&&(zt=n.split(",").map(s=>s.trim()).filter(Boolean))}function Bt(e,t){fe[e]=t}function db(e){return Le(),fe[e]||null}function ii(){return Le(),fe[be]||null}function mb(){return Le(),be}function fb(){return Le(),J}function hb(){Le();let e=ii();if(!e)return{id:J,name:J,provider:be};let t=e.getModel(J);return t?{...t,provider:be}:{id:J,name:J,provider:be}}function rp(e){if(!e)return{provider:null,model:null};let t=e.indexOf(":");if(t>0){let n=e.slice(0,t);if(fe[n]||["ollama","openai","anthropic","gemini","local"].includes(n))return{provider:n,model:e.slice(t+1)}}return{provider:null,model:e}}function gb(e){Le();let{provider:t,model:n}=rp(e);if(t){let o=fe[t];return o&&(o.getModel(n)||t==="local")?(be=t,J=n,!0):!1}let s=ii();if(s&&s.getModel(n))return J=n,!0;for(let[o,i]of Object.entries(fe))if(i.getModel(n))return be=o,J=n,!0;return!1}function xb(){Le();let e=new Set;for(let t of Object.values(fe))for(let n of t.getModelNames())e.add(n);return Array.from(e)}function bb(){return Le(),Object.entries(fe).map(([e,t])=>({provider:e,configured:t.isConfigured(),models:Object.values(t.getModels()).map(n=>({...n,active:e===be&&n.id===J}))}))}function vb(){Le();let e=[];for(let[t,n]of Object.entries(fe)){let s=n.isConfigured();for(let o of Object.values(n.getModels()))e.push({spec:`${t}:${o.id}`,name:o.name,provider:t,configured:s})}return e}function yb(e){zt=Array.isArray(e)?e:[]}function $b(){return[...zt]}function cp(e){let t=e.message||"",n=e.code||"";return!!(t.includes("429")||t.includes("500")||t.includes("502")||t.includes("503")||t.includes("504")||n==="ECONNABORTED"||n==="ETIMEDOUT"||n==="ECONNREFUSED"||n==="ECONNRESET"||n==="EHOSTUNREACH"||n==="ENETUNREACH"||n==="EPIPE"||n==="ERR_SOCKET_CONNECTION_TIMEOUT"||t.includes("socket disconnected")||t.includes("TLS")||t.includes("ECONNRESET")||t.includes("ECONNABORTED")||t.includes("network")||t.includes("ETIMEDOUT"))}async function wb(e,t,n={}){Le();let s=[be,...zt.filter(c=>c!==be)],o,i=0,a=0;for(let c=0;c<s.length;c++){let p=s[c],u=fe[p];if(!u||!u.isConfigured())continue;a++;let l=op(p);if(!l.allowed){i++,o=new Error(`Budget limit reached for ${p}: $${l.spent.toFixed(2)} / $${l.limit.toFixed(2)}`);continue}try{let d=c>0,m=d?rs(J,p):J;return d&&m!==J&&process.stderr.write(` [fallback: ${p}:${m}]
|
|
48
|
+
`),await u.stream(e,t,{model:m,signal:n.signal,...n})}catch(d){if(o=d,cp(d)&&c<s.length-1)continue;throw d}}throw i>0&&i===a?new Error("All providers are over budget. Use /budget to check limits or /budget <provider> off to remove a limit."):o||new Error("No configured provider available")}async function kb(e,t,n={}){if(Le(),n.provider){let c=fe[n.provider];if(!c||!c.isConfigured())throw new Error(`Provider '${n.provider}' is not available`);let p={model:n.model||J,...n};try{return await c.chat(e,t,p)}catch(u){if(typeof c.stream=="function")try{return await c.stream(e,t,{...p,onToken:()=>{}})}catch{}throw u}}let s=[be,...zt.filter(c=>c!==be)],o,i=0,a=0;for(let c=0;c<s.length;c++){let p=s[c],u=fe[p];if(!u||!u.isConfigured())continue;a++;let l=op(p);if(!l.allowed){i++,o=new Error(`Budget limit reached for ${p}: $${l.spent.toFixed(2)} / $${l.limit.toFixed(2)}`);continue}try{let d=c>0,m=d?rs(J,p):J;return d&&m!==J&&process.stderr.write(` [fallback: ${p}:${m}]
|
|
49
|
+
`),await u.chat(e,t,{model:m,...n})}catch(d){let m=c>0?rs(J,p):J;if(typeof u.stream=="function")try{return await u.stream(e,t,{model:m,...n,onToken:()=>{}})}catch{}if(o=d,cp(d)&&c<s.length-1)continue;throw d}}throw i>0&&i===a?new Error("All providers are over budget. Use /budget to check limits or /budget <provider> off to remove a limit."):o||new Error("No configured provider available")}function _b(){Le();let e=[];for(let[t,n]of Object.entries(fe))n.isConfigured()&&e.push({name:t,models:Object.values(n.getModels())});return e}function Sb(){for(let e of Object.keys(fe))delete fe[e];be=null,J=null,zt=[]}lp.exports={registerProvider:Bt,getProvider:db,getActiveProvider:ii,getActiveProviderName:mb,getActiveModelId:fb,getActiveModel:hb,setActiveModel:gb,getModelNames:xb,parseModelSpec:rp,listProviders:bb,listAllModels:vb,callStream:wb,callChat:kb,getConfiguredProviders:_b,setFallbackChain:yb,getFallbackChain:$b,resolveModelForProvider:rs,_reset:Sb}});var cs=_((Uk,pp)=>{var pn=Ie(),Eb={"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",max_tokens:16384},"qwen3-coder:480b":{id:"qwen3-coder:480b",name:"Qwen3 Coder 480B",max_tokens:16384}};function Tb(){return pn.getActiveModel()}function Rb(e){return pn.setActiveModel(e)}function Cb(){return pn.getModelNames()}function Ab(e){if(!e)return null;if(typeof e=="object")return e;try{return JSON.parse(e)}catch{}try{let s=e.replace(/,\s*([}\]])/g,"$1").replace(/'/g,'"');return JSON.parse(s)}catch{}let t=e.match(/\{[\s\S]*\}/);if(t)try{return JSON.parse(t[0])}catch{}try{let s=e.replace(/(\{|,)\s*([a-zA-Z_]\w*)\s*:/g,'$1"$2":');return JSON.parse(s)}catch{}let n=e.match(/```(?:json)?\s*([\s\S]*?)```/);if(n)try{return JSON.parse(n[1].trim())}catch{}return null}async function Ob(e,t){let{C:n}=pe(),{Spinner:s}=pe(),o=new s("Thinking...");o.start();let i=!0,a="";try{let c=await pn.callStream(e,t,{onToken:p=>{i&&(o.stop(),process.stdout.write(`${n.blue}`),i=!1),process.stdout.write(p),a+=p}});return i?o.stop():process.stdout.write(`${n.reset}
|
|
50
|
+
`),c}catch(c){throw o.stop(),c}}async function jb(e,t){return pn.callChat(e,t)}pp.exports={MODELS:Eb,getActiveModel:Tb,setActiveModel:Rb,getModelNames:Cb,callOllamaStream:Ob,callOllama:jb,parseToolArgs:Ab}});var un=_((Bk,hp)=>{var Pb=require("readline"),{C:ls}=pe(),up=[/rm\s+-rf\s+\/(?:\s|$)/,/rm\s+-rf\s+~(?:\/|\s|$)/,/rm\s+-rf\s+\.(?:\/|\s|$)/,/rm\s+-rf\s+\*(?:\s|$)/,/mkfs/,/dd\s+if=/,/:\(\)\s*\{/,/>\/dev\/sd/,/curl.*\|\s*(?:ba)?sh/,/wget.*\|\s*(?:ba)?sh/,/cat\s+.*\.env\b/,/cat\s+.*credentials/i,/chmod\s+777/,/chown\s+root/,/passwd/,/userdel/,/useradd/,/\beval\s*\(/,/base64.*\|.*bash/,/\bprintenv\b/,/cat\s+.*\.ssh\/id_/,/cat\s+.*\.ssh\/config/,/\bnc\s+-[el]/,/\bncat\b/,/\bsocat\b/,/python3?\s+-c\s/,/node\s+-e\s/,/perl\s+-e\s/,/ruby\s+-e\s/,/(?:^|[;&|]\s*)history(?:\s|$)/,/curl.*-X\s*POST/,/curl.*--data/],ai=[/systemctl\s+(status|is-active|is-enabled|list-units|show)/,/journalctl\b/,/\btail\s/,/\bcat\s/,/\bhead\s/,/\bls\b/,/\bfind\s/,/\bgrep\s/,/\bwc\s/,/\bdf\b/,/\bfree\b/,/\buptime\b/,/\bwho\b/,/\bps\s/,/\bgit\s+(status|log|diff|branch|fetch)\b/,/\bgit\s+pull\b/,/\bss\s+-[tlnp]/,/\bnetstat\s/,/\bdu\s/,/\blscpu\b/,/\bnproc\b/,/\buname\b/,/\bhostname\b/,/\bgetent\b/,/\bid\b/,/psql\s.*-c\s/,/\bmysql\s.*-e\s/,/\bdnf\s+(check-update|list|info|history|repolist|updateinfo)\b/,/\brpm\s+-q/,/\bapt\s+list\b/,/\bopenssl\s+s_client\b/,/\bopenssl\s+x509\b/,/\bcertbot\s+certificates\b/,/\bcurl\s+-[sIkv]|curl\s+--head/,/\bdig\s/,/\bnslookup\s/,/\bping\s/,/\bgetenforce\b/,/\bsesearch\b/,/\bausearch\b/,/\bsealert\b/,/\bcrontab\s+-l\b/,/\btimedatectl\b/,/\bfirewall-cmd\s+--list/,/\bfirewall-cmd\s+--state/];function dp(e){let t=e.match(/ssh\s+[^"]*"([^"]+)"/)?.[1]||e.match(/ssh\s+[^']*'([^']+)'/)?.[1];if(!t)return!1;let s=t.replace(/\bfor\s[\s\S]*?\bdone\b/g,i=>i.replace(/;/g,"\0")).replace(/\bwhile\s[\s\S]*?\bdone\b/g,i=>i.replace(/;/g,"\0")).split(/\s*(?:&&|;)\s*/).map(i=>i.replace(/\x00/g,";").trim()).filter(Boolean);if(s.length===0)return!1;let o=i=>{let a=i.replace(/^sudo\s+(?:-[ugCD]\s+\S+\s+|-[A-Za-z]+\s+)*/,"");if(/^\s*(?:echo|printf)\s/.test(a))return!0;if(/^\s*for\s/.test(i)||/^\s*while\s/.test(i)){let c=i.match(/\bdo\s+([\s\S]*?)\s*(?:done|$)/)?.[1];return c?c.split(/\s*;\s*/).map(u=>u.trim()).filter(Boolean).every(u=>o(u)):ai.some(p=>p.test(i))}return/^\w+=\$?\(/.test(a)||/^\w+=["']/.test(a)||/^\w+=\S/.test(a)?!0:ai.some(c=>c.test(a))};return s.every(o)}var mp=[/git\s+push/,/npm\s+publish/,/npx\s+.*publish/,/rm\s+-rf\s/,/docker\s+rm/,/docker\s+system\s+prune/,/kubectl\s+delete/,/sudo\s/,/ssh\s/,/wget\s/,/curl\s.*-o\s/,/pip\s+install/,/npm\s+install\s+-g/],ci=!1,ri=null;function Nb(e){ci=e}function Lb(){return ci}function qb(e){ri=e}function Mb(e){for(let t of up)if(t.test(e))return t;return null}function Fb(e){if(/ssh\s/.test(e)&&dp(e))return!1;for(let t of mp)if(t.test(e))return!0;return!1}function Ib(e,t={}){if(ci)return Promise.resolve(!0);let n=t.toolName?"[Y/n/a] ":"[Y/n] ";return new Promise(s=>{let o=i=>{let a=i.trim().toLowerCase();a==="a"&&t.toolName?(fp(t.toolName),s(!0)):s(a!=="n")};if(ri)ri.question(`${ls.yellow}${e} ${n}${ls.reset}`,o);else{let i=Pb.createInterface({input:process.stdin,output:process.stdout});i.question(`${ls.yellow}${e} ${n}${ls.reset}`,a=>{i.close(),o(a)})}})}var fp=()=>{};function Db(e){fp=e}hp.exports={FORBIDDEN_PATTERNS:up,SSH_SAFE_PATTERNS:ai,isSSHReadOnly:dp,DANGEROUS_BASH:mp,isForbidden:Mb,isDangerous:Fb,confirm:Ib,setAutoConfirm:Nb,getAutoConfirm:Lb,setReadlineInterface:qb,setAllowAlwaysHandler:Db}});var bp=_((zk,xp)=>{var ps=require("path"),{C:k}=pe(),{confirm:Ub,getAutoConfirm:Bb}=un(),gp=2e3;function dn(e,t){let n=e.split(`
|
|
51
|
+
`),s=t.split(`
|
|
52
|
+
`),o=[],i=n.length,a=s.length;if(i>gp||a>gp){for(let d of n)o.push({type:"remove",line:d});for(let d of s)o.push({type:"add",line:d});return o}let c=Array.from({length:i+1},()=>new Array(a+1).fill(0));for(let d=1;d<=i;d++)for(let m=1;m<=a;m++)n[d-1]===s[m-1]?c[d][m]=c[d-1][m-1]+1:c[d][m]=Math.max(c[d-1][m],c[d][m-1]);let p=i,u=a,l=[];for(;p>0||u>0;)p>0&&u>0&&n[p-1]===s[u-1]?(l.unshift({type:"same",line:n[p-1]}),p--,u--):u>0&&(p===0||c[p][u-1]>=c[p-1][u])?(l.unshift({type:"add",line:s[u-1]}),u--):(l.unshift({type:"remove",line:n[p-1]}),p--);return l}function zb(e,t,n,s=3){console.log(`
|
|
53
|
+
${k.bold}${k.cyan} Diff: ${e}${k.reset}`);let o=dn(t,n),i=[];if(o.forEach((p,u)=>{p.type!=="same"&&i.push(u)}),i.length===0){console.log(`${k.gray} (no changes)${k.reset}`);return}let a=Math.max(0,i[0]-s),c=Math.min(o.length,i[i.length-1]+s+1);a>0&&console.log(`${k.gray} ...${k.reset}`);for(let p=a;p<c;p++){let u=o[p];switch(u.type){case"remove":console.log(`${k.red} - ${u.line}${k.reset}`);break;case"add":console.log(`${k.green} + ${u.line}${k.reset}`);break;default:console.log(`${k.gray} ${u.line}${k.reset}`)}}c<o.length&&console.log(`${k.gray} ...${k.reset}`),console.log()}function Wb(e,t,n){console.log(`
|
|
54
|
+
${k.bold}${k.cyan} File exists \u2014 showing changes: ${e}${k.reset}`);let s=dn(t,n),o=0;for(let a of s)a.type!=="same"&&o++;if(o===0){console.log(`${k.gray} (identical content)${k.reset}`);return}let i=0;for(let a of s){if(i>=30){console.log(`${k.gray} ...(${o-i} more changes)${k.reset}`);break}switch(a.type){case"remove":console.log(`${k.red} - ${a.line}${k.reset}`),i++;break;case"add":console.log(`${k.green} + ${a.line}${k.reset}`),i++;break;default:i>0&&console.log(`${k.gray} ${a.line}${k.reset}`)}}console.log()}function Hb(e,t){console.log(`
|
|
55
|
+
${k.bold}${k.cyan} New file: ${e}${k.reset}`);let n=t.split(`
|
|
56
|
+
`),s=n.slice(0,20);for(let o of s)console.log(`${k.green} + ${o}${k.reset}`);n.length>20&&console.log(`${k.gray} ...+${n.length-20} more lines${k.reset}`),console.log()}async function Gb(e){return Bb()?!0:Ub(` ${e}?`)}function Kb(e,t,n,s){let o=s||process.stdout.columns||80,i=Math.floor((o-3)/2);console.log(`
|
|
57
|
+
${k.bold}${k.cyan} Side-by-side: ${e}${k.reset}`),console.log(` ${k.dim}${"\u2500".repeat(i)}\u252C${"\u2500".repeat(i)}${k.reset}`);let a=dn(t,n),c=[],p=0;for(;p<a.length;)if(a[p].type==="same")c.push({left:a[p].line,right:a[p].line,type:"same"}),p++;else if(a[p].type==="remove"){let h=[];for(;p<a.length&&a[p].type==="remove";)h.push(a[p].line),p++;let f=[];for(;p<a.length&&a[p].type==="add";)f.push(a[p].line),p++;let x=Math.max(h.length,f.length);for(let b=0;b<x;b++)c.push({left:b<h.length?h[b]:"",right:b<f.length?f[b]:"",type:"changed"})}else a[p].type==="add"&&(c.push({left:"",right:a[p].line,type:"changed"}),p++);let u=c.map((h,f)=>h.type!=="same"?f:-1).filter(h=>h>=0);if(u.length===0){console.log(` ${k.gray}(no changes)${k.reset}`);return}let l=Math.max(0,u[0]-2),d=Math.min(c.length,u[u.length-1]+3),m=(h,f)=>{let x=h.replace(/\x1b\[[0-9;]*m/g,"");return x.length>=f?h.substring(0,f):h+" ".repeat(f-x.length)};l>0&&console.log(` ${k.dim}${"\xB7".repeat(i)}\u250A${"\xB7".repeat(i)}${k.reset}`);for(let h=l;h<d;h++){let f=c[h];if(f.type==="same")console.log(` ${k.gray}${m(f.left,i)}${k.reset}\u2502${k.gray}${m(f.right,i)}${k.reset}`);else{let x=f.left?`${k.red}${m(f.left,i)}${k.reset}`:`${m("",i)}`,b=f.right?`${k.green}${m(f.right,i)}${k.reset}`:`${m("",i)}`;console.log(` ${x}\u2502${b}`)}}d<c.length&&console.log(` ${k.dim}${"\xB7".repeat(i)}\u250A${"\xB7".repeat(i)}${k.reset}`),console.log(` ${k.dim}${"\u2500".repeat(i)}\u2534${"\u2500".repeat(i)}${k.reset}
|
|
58
|
+
`)}function Jb(e,t,n,s={}){let o=s.label||"Update",i=s.context||3,a=s.annotations||[],c=ps.isAbsolute(e)?ps.relative(process.cwd(),e):e,p=dn(t,n),u=1,l=1;for(let w of p)w.type==="same"?(w.oldLine=u++,w.newLine=l++):w.type==="remove"?(w.oldLine=u++,w.newLine=null):(w.oldLine=null,w.newLine=l++);let d=0,m=0;for(let w of p)w.type==="add"?d++:w.type==="remove"&&m++;if(console.log(`
|
|
59
|
+
${k.cyan}\u23FA${k.reset} ${k.bold}${o}(${c})${k.reset}`),d===0&&m===0){console.log(` ${k.dim}\u23BF (no changes)${k.reset}
|
|
60
|
+
`);return}let h=[];if(d>0&&h.push(`Added ${d} line${d!==1?"s":""}`),m>0&&h.push(`removed ${m} line${m!==1?"s":""}`),a.length>0){let w=a.filter(C=>C.severity==="error").length,R=a.filter(C=>C.severity==="warn").length,S=a.filter(C=>C.severity==="info").length,E=[];w>0&&E.push(`${k.red}${w} error${w!==1?"s":""}${k.dim}`),R>0&&E.push(`${k.yellow}${R} warning${R!==1?"s":""}${k.dim}`),S>0&&E.push(`${k.cyan}${S} info${S!==1?"s":""}${k.dim}`),h.push(`found ${E.join(", ")}`)}console.log(` ${k.dim}\u23BF ${h.join(", ")}${k.reset}`);let x=[];p.forEach((w,R)=>{w.type!=="same"&&x.push(R)});let b=[],v=null,$=null;for(let w of x){let R=Math.max(0,w-i),S=Math.min(p.length-1,w+i);v===null?(v=R,$=S):(R<=$+1||(b.push([v,$]),v=R),$=S)}v!==null&&b.push([v,$]);let T=" ";for(let w=0;w<b.length;w++){w>0&&console.log(`${T}${k.dim}\xB7\xB7\xB7${k.reset}`);let[R,S]=b[w];for(let E=R;E<=S;E++){let C=p[E],M=C.newLine!=null?C.newLine:C.oldLine,F=String(M).padStart(4),B=C.type!=="remove"?a.filter(W=>W.line===C.newLine):[];C.type==="remove"?console.log(`${T}${k.red}${F} -${C.line}${k.reset}`):C.type==="add"?console.log(`${T}${k.green}${F} +${C.line}${k.reset}`):console.log(`${T}${k.dim}${F}${k.reset} ${C.line}`);for(let W of B){let ne=k.cyan,se="\u2139";W.severity==="error"?(ne=k.red,se="\u2716"):W.severity==="warn"&&(ne=k.yellow,se="\u26A0"),console.log(`${T} ${ne}${se} ${W.message}${k.reset}`)}}}console.log()}function Vb(e,t,n={}){let s=ps.isAbsolute(e)?ps.relative(process.cwd(),e):e,o=t.split(`
|
|
61
|
+
`),i=n.annotations||[];console.log(`
|
|
62
|
+
${k.cyan}\u23FA${k.reset} ${k.bold}Create(${s})${k.reset}`);let a=[`${o.length} line${o.length!==1?"s":""}`];if(i.length>0){let l=i.filter(f=>f.severity==="error").length,d=i.filter(f=>f.severity==="warn").length,m=i.filter(f=>f.severity==="info").length,h=[];l>0&&h.push(`${k.red}${l} error${l!==1?"s":""}${k.dim}`),d>0&&h.push(`${k.yellow}${d} warning${d!==1?"s":""}${k.dim}`),m>0&&h.push(`${k.cyan}${m} info${m!==1?"s":""}${k.dim}`),a.push(`found ${h.join(", ")}`)}console.log(` ${k.dim}\u23BF ${a.join(", ")}${k.reset}`);let p=" ",u=Math.min(o.length,20);for(let l=0;l<u;l++){let d=String(l+1).padStart(4),m=l+1,h=i.filter(f=>f.line===m);console.log(`${p}${k.green}${d} +${o[l]}${k.reset}`);for(let f of h){let x=k.cyan,b="\u2139";f.severity==="error"?(x=k.red,b="\u2716"):f.severity==="warn"&&(x=k.yellow,b="\u26A0"),console.log(`${p} ${x}${b} ${f.message}${k.reset}`)}}o.length>20&&console.log(`${p}${k.dim} ...+${o.length-20} more lines${k.reset}`),console.log()}xp.exports={diffLines:dn,showEditDiff:zb,showWriteDiff:Wb,showNewFilePreview:Hb,confirmFileChange:Gb,showSideBySideDiff:Kb,showClaudeDiff:Jb,showClaudeNewFile:Vb}});var fs=_((Wk,ui)=>{var vp=require("util").promisify(require("child_process").exec),Yb=require("util").promisify(require("child_process").execFile),{C:te}=pe();async function li(e){try{let{stdout:t}=await vp(e,{cwd:process.cwd(),timeout:3e4});return t.trim()}catch{return null}}async function us(...e){try{let{stdout:t}=await Yb("git",e,{cwd:process.cwd(),timeout:3e4});return t.trim()}catch{return null}}async function yp(){return await li("git rev-parse --is-inside-work-tree")==="true"}async function $p(){return await li("git branch --show-current")}async function ds(){try{let{stdout:e}=await vp("git status --porcelain",{cwd:process.cwd(),timeout:3e4});return!e||!e.trim()?[]:e.split(`
|
|
63
|
+
`).filter(Boolean).map(t=>{let n=t.substring(0,2).trim(),s=t.substring(3);return{status:n,file:s}})}catch{return[]}}async function mn(e=!1){return await li(`git diff ${e?"--cached":""}`)||""}async function ms(){return(await ds()).map(t=>t.file)}async function pi(){let e=await ms();if(e.length===0)return null;let t=await mn(),s=await mn(!0)||t,o=0,i=0;if(s){let l=s.split(`
|
|
64
|
+
`);for(let d of l)d.startsWith("+")&&!d.startsWith("+++")&&o++,d.startsWith("-")&&!d.startsWith("---")&&i++}else o=e.length;let a="chore",c=e.join(" ").toLowerCase();c.includes("test")?a="test":c.includes("readme")||c.includes("doc")?a="docs":o>i*2?a="feat":i>o?a="refactor":a="fix";let p=e.slice(0,3).map(l=>l.split("/").pop());return{summary:`${a}: update ${p.join(", ")}${e.length>3?` (+${e.length-3} more)`:""}`,type:a,files:e,stats:{additions:o,deletions:i}}}async function wp(e){let n=`feat/${e.toLowerCase().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").substring(0,50)}`;return await us("checkout","-b",n)!==null?n:null}async function kp(e){return await us("add","-A"),await us("commit","-m",e)?await us("rev-parse","--short","HEAD"):null}async function _p(){let e=await pi();if(!e)return`${te.dim}No changes${te.reset}`;let t=[];t.push(`
|
|
65
|
+
${te.bold}${te.cyan}Git Diff Summary:${te.reset}`),t.push(` ${te.green}+${e.stats.additions}${te.reset} ${te.red}-${e.stats.deletions}${te.reset} in ${e.files.length} file(s)`),t.push(`
|
|
66
|
+
${te.bold}${te.cyan}Files:${te.reset}`);for(let n of e.files.slice(0,20))t.push(` ${te.dim}${n}${te.reset}`);return e.files.length>20&&t.push(` ${te.dim}...+${e.files.length-20} more${te.reset}`),t.push(`
|
|
67
|
+
${te.bold}${te.cyan}Suggested message:${te.reset}`),t.push(` ${te.cyan}${e.summary}${te.reset}
|
|
68
|
+
`),t.join(`
|
|
69
|
+
`)}async function Sp(){return(await ds()).filter(t=>t.status==="UU"||t.status==="AA"||t.status==="DD")}async function Ep(){let e=await ms();if(e.length===0)return"";let t=[`CHANGED FILES (${e.length}):`];for(let s of e.slice(0,10))t.push(` ${s}`);let n=await mn();if(n){let s=n.length>5e3?n.substring(0,5e3)+`
|
|
70
|
+
...(truncated)`:n;t.push(`
|
|
71
|
+
DIFF:
|
|
72
|
+
${s}`)}return t.join(`
|
|
73
|
+
`)}ui.exports={isGitRepo:yp,getCurrentBranch:$p,getStatus:ds,getDiff:mn,getChangedFiles:ms,analyzeDiff:pi,createBranch:wp,commit:kp,formatDiffSummary:_p,getDiffContext:Ep,getMergeConflicts:Sp};ui.exports={isGitRepo:yp,getCurrentBranch:$p,getStatus:ds,getDiff:mn,getChangedFiles:ms,analyzeDiff:pi,createBranch:wp,commit:kp,formatDiffSummary:_p,getDiffContext:Ep,getMergeConflicts:Sp}});var mi=_((Hk,Tp)=>{var di=require("fs").promises,Xb=50,Ke=[],Wt=[];function Qb(e,t,n,s){for(Ke.push({tool:e,filePath:t,oldContent:n,newContent:s,timestamp:Date.now()});Ke.length>Xb;)Ke.shift();Wt.length=0}async function Zb(){if(Ke.length===0)return null;let e=Ke.pop();if(e.oldContent===null)try{await di.unlink(e.filePath)}catch{}else await di.writeFile(e.filePath,e.oldContent,"utf-8");return Wt.push(e),{tool:e.tool,filePath:e.filePath,wasCreated:e.oldContent===null}}async function ev(){if(Wt.length===0)return null;let e=Wt.pop();return await di.writeFile(e.filePath,e.newContent,"utf-8"),Ke.push(e),{tool:e.tool,filePath:e.filePath}}function tv(e=10){return Ke.slice(-e).reverse().map(t=>({tool:t.tool,filePath:t.filePath,timestamp:t.timestamp}))}function nv(){return Ke.length}function sv(){return Wt.length}function ov(){Ke.length=0,Wt.length=0}Tp.exports={recordChange:Qb,undo:Zb,redo:ev,getHistory:tv,getUndoCount:nv,getRedoCount:sv,clearHistory:ov}});var hs=_((Gk,Pp)=>{var Ae=require("fs"),Ht=require("path"),Ce=[];function fi(){return Ht.join(process.cwd(),".nex","skills")}function Rp(){return Ht.join(process.cwd(),".nex","config.json")}function iv(){let e=fi();return Ae.existsSync(e)||Ae.mkdirSync(e,{recursive:!0}),e}function hi(){let e=Rp();if(!Ae.existsSync(e))return[];try{let t=JSON.parse(Ae.readFileSync(e,"utf-8"));return t.skills&&Array.isArray(t.skills.disabled)?t.skills.disabled:[]}catch{return[]}}function Cp(e){let t=Rp(),n={};if(Ae.existsSync(t))try{n=JSON.parse(Ae.readFileSync(t,"utf-8"))}catch{n={}}n.skills||(n.skills={}),n.skills.disabled=e;let s=Ht.dirname(t);Ae.existsSync(s)||Ae.mkdirSync(s,{recursive:!0}),Ae.writeFileSync(t,JSON.stringify(n,null,2),"utf-8")}function Ap(e,t){let n=[];if(typeof e!="object"||e===null)return{valid:!1,errors:["Module must export an object"]};if(e.name!==void 0&&typeof e.name!="string"&&n.push("name must be a string"),e.description!==void 0&&typeof e.description!="string"&&n.push("description must be a string"),e.instructions!==void 0&&typeof e.instructions!="string"&&n.push("instructions must be a string"),e.commands!==void 0)if(!Array.isArray(e.commands))n.push("commands must be an array");else for(let s=0;s<e.commands.length;s++){let o=e.commands[s];(!o.cmd||typeof o.cmd!="string")&&n.push(`commands[${s}].cmd must be a non-empty string`),o.handler!==void 0&&typeof o.handler!="function"&&n.push(`commands[${s}].handler must be a function`)}if(e.tools!==void 0)if(!Array.isArray(e.tools))n.push("tools must be an array");else for(let s=0;s<e.tools.length;s++){let o=e.tools[s];(!o.function||!o.function.name||typeof o.function.name!="string")&&n.push(`tools[${s}].function.name must be a non-empty string`),o.execute!==void 0&&typeof o.execute!="function"&&n.push(`tools[${s}].execute must be a function`)}return{valid:n.length===0,errors:n}}function Op(e){try{let t=Ae.readFileSync(e,"utf-8").trim();return t?{name:Ht.basename(e,".md"),type:"prompt",filePath:e,instructions:t,commands:[],tools:[]}:null}catch{return null}}function jp(e){try{let t=require(e),{valid:n,errors:s}=Ap(t,e);return n?{name:t.name||Ht.basename(e,".js"),type:"script",filePath:e,description:t.description||"",instructions:t.instructions||"",commands:(t.commands||[]).map(i=>({cmd:i.cmd.startsWith("/")?i.cmd:`/${i.cmd}`,desc:i.desc||i.description||"",handler:i.handler||null})),tools:(t.tools||[]).map(i=>({type:i.type||"function",function:{name:i.function.name,description:i.function.description||"",parameters:i.function.parameters||{type:"object",properties:{}}},execute:i.execute||null}))}:(console.error(`Skill validation failed: ${e}
|
|
74
|
+
${s.join(`
|
|
75
|
+
`)}`),null)}catch(t){return console.error(`Failed to load skill: ${e}: ${t.message}`),null}}function av(){Ce=[];let e=fi();if(!Ae.existsSync(e))return Ce;let t=hi(),n;try{n=Ae.readdirSync(e)}catch{return Ce}for(let s of n){let o=Ht.join(e,s),i;try{i=Ae.statSync(o)}catch{continue}if(!i.isFile())continue;let a=null;s.endsWith(".md")?a=Op(o):s.endsWith(".js")&&(a=jp(o)),a&&(a.enabled=!t.includes(a.name),Ce.push(a))}return Ce}function rv(){let e=[];for(let t of Ce)!t.enabled||!t.instructions||e.push(`[Skill: ${t.name}]
|
|
76
|
+
${t.instructions}`);return e.length===0?"":`SKILL INSTRUCTIONS:
|
|
77
|
+
${e.join(`
|
|
78
|
+
|
|
79
|
+
`)}`}function cv(){let e=[];for(let t of Ce)if(t.enabled)for(let n of t.commands)e.push({cmd:n.cmd,desc:n.desc||`[skill: ${t.name}]`});return e}function lv(){let e=[];for(let t of Ce)if(t.enabled)for(let n of t.tools)e.push({type:"function",function:{name:`skill_${n.function.name}`,description:`[Skill:${t.name}] ${n.function.description}`,parameters:n.function.parameters}});return e}async function pv(e,t){if(!e.startsWith("skill_"))return null;let n=e.substring(6);for(let s of Ce)if(s.enabled){for(let o of s.tools)if(o.function.name===n&&o.execute)try{let i=await o.execute(t);return typeof i=="string"?i:JSON.stringify(i)}catch(i){return`ERROR: Skill tool '${n}' failed: ${i.message}`}}return`ERROR: Skill tool '${n}' not found`}function uv(e){let[t,...n]=e.split(/\s+/),s=n.join(" ").trim();for(let o of Ce)if(o.enabled){for(let i of o.commands)if(i.cmd===t&&i.handler){try{i.handler(s)}catch(a){console.error(`Skill command error (${t}): ${a.message}`)}return!0}}return!1}function dv(){return Ce.map(e=>({name:e.name,type:e.type,enabled:e.enabled,description:e.description||"",commands:e.commands.length,tools:e.tools.length,filePath:e.filePath}))}function mv(e){let t=Ce.find(s=>s.name===e);if(!t)return!1;t.enabled=!0;let n=hi().filter(s=>s!==e);return Cp(n),!0}function fv(e){let t=Ce.find(s=>s.name===e);if(!t)return!1;t.enabled=!1;let n=hi();return n.includes(e)||(n.push(e),Cp(n)),!0}function hv(){return Ce}Pp.exports={initSkillsDir:iv,loadAllSkills:av,getSkillInstructions:rv,getSkillCommands:cv,getSkillToolDefinitions:lv,routeSkillCall:pv,handleSkillCommand:uv,listSkills:dv,enableSkill:mv,disableSkill:fv,getLoadedSkills:hv,_getSkillsDir:fi,_validateScriptSkill:Ap,_loadMarkdownSkill:Op,_loadScriptSkill:jp}});var xs=_((Kk,Ip)=>{var{spawn:gv}=require("child_process"),xv=require("path"),Np=require("fs"),Je=new Map;function bv(){return xv.join(process.cwd(),".nex","config.json")}function gi(){let e=bv();if(!Np.existsSync(e))return{};try{return JSON.parse(Np.readFileSync(e,"utf-8")).mcpServers||{}}catch{return{}}}function gs(e,t,n={},s=1e4){return new Promise((o,i)=>{let a=`${Date.now()}-${Math.random().toString(36).slice(2,6)}`,c=JSON.stringify({jsonrpc:"2.0",id:a,method:t,params:n})+`
|
|
80
|
+
`,p="",u=setTimeout(()=>{d(),i(new Error(`MCP request timeout: ${t}`))},s);function l(m){p+=m.toString();let h=p.split(`
|
|
81
|
+
`);for(let f of h)if(f.trim())try{let x=JSON.parse(f);if(x.id===a){d(),x.error?i(new Error(`MCP error: ${x.error.message||JSON.stringify(x.error)}`)):o(x.result);return}}catch{}p=h[h.length-1]||""}function d(){clearTimeout(u),e.stdout.removeListener("data",l)}e.stdout.on("data",l);try{e.stdin.write(c)}catch(m){d(),i(new Error(`MCP write failed: ${m.message}`))}})}async function Lp(e,t){if(Je.has(e))return Je.get(e);let n=["PATH","HOME","USER","SHELL","LANG","TERM","NODE_ENV"],s={};for(let a of n)process.env[a]&&(s[a]=process.env[a]);let o=gv(t.command,t.args||[],{stdio:["pipe","pipe","pipe"],env:{...s,...t.env||{}}}),i={name:e,proc:o,tools:[],config:t};try{await gs(o,"initialize",{protocolVersion:"2024-11-05",capabilities:{},clientInfo:{name:"nex-code",version:"0.2.0"}});let a=await gs(o,"tools/list",{});return i.tools=a&&a.tools||[],Je.set(e,i),i}catch(a){throw o.kill(),new Error(`Failed to connect MCP server '${e}': ${a.message}`)}}function qp(e){let t=Je.get(e);if(!t)return!1;try{t.proc.kill()}catch{}return Je.delete(e),!0}function vv(){for(let[e]of Je)qp(e)}async function Mp(e,t,n={}){let s=Je.get(e);if(!s)throw new Error(`MCP server not connected: ${e}`);let o=await gs(s.proc,"tools/call",{name:t,arguments:n});return o&&Array.isArray(o.content)?o.content.filter(i=>i.type==="text").map(i=>i.text).join(`
|
|
82
|
+
`):JSON.stringify(o)}function Fp(){let e=[];for(let[t,n]of Je)for(let s of n.tools)e.push({server:t,name:s.name,description:s.description||"",inputSchema:s.inputSchema||{type:"object",properties:{}}});return e}function yv(){return Fp().map(e=>({type:"function",function:{name:`mcp_${e.server}_${e.name}`,description:`[MCP:${e.server}] ${e.description}`,parameters:e.inputSchema}}))}async function $v(e,t){if(!e.startsWith("mcp_"))return null;let n=e.substring(4).split("_");if(n.length<2)return null;let s=n[0],o=n.slice(1).join("_");return Mp(s,o,t)}function wv(){let e=gi();return Object.entries(e).map(([t,n])=>{let s=Je.get(t);return{name:t,command:n.command,connected:!!s,toolCount:s?s.tools.length:0}})}async function kv(){let e=gi(),t=[];for(let[n,s]of Object.entries(e))try{let o=await Lp(n,s);t.push({name:n,tools:o.tools.length})}catch(o){t.push({name:n,tools:0,error:o.message})}return t}Ip.exports={loadMCPConfig:gi,sendRequest:gs,connectServer:Lp,disconnectServer:qp,disconnectAll:vv,callTool:Mp,getAllTools:Fp,getMCPToolDefinitions:yv,routeMCPCall:$v,listServers:wv,connectAll:kv}});var xi=_((Jk,Up)=>{var{getSkillToolDefinitions:_v}=hs(),{getMCPToolDefinitions:Sv}=xs();function bs(e,t){if(!e||t.length===0)return null;let n=null,s=1/0;for(let o of t){let i=Dp(e.toLowerCase(),o.toLowerCase());i<s&&(s=i,n=o)}return s<=Math.ceil(e.length/2)?n:null}function Dp(e,t){let n=e.length,s=t.length,o=Array.from({length:n+1},()=>Array(s+1).fill(0));for(let i=0;i<=n;i++)o[i][0]=i;for(let i=0;i<=s;i++)o[0][i]=i;for(let i=1;i<=n;i++)for(let a=1;a<=s;a++)o[i][a]=e[i-1]===t[a-1]?o[i-1][a-1]:1+Math.min(o[i-1][a],o[i][a-1],o[i-1][a-1]);return o[n][s]}function Ev(e,t){let{TOOL_DEFINITIONS:n}=fn(),s=[...n,..._v(),...Sv()],o=s.find(m=>m.function.name===e);if(!o){let m=s.map(f=>f.function.name),h=bs(e,m);return{valid:!1,error:`Unknown tool "${e}".${h?` Did you mean "${h}"?`:""}
|
|
83
|
+
Available tools: ${m.join(", ")}`}}let i=o.function.parameters;if(!i||!i.properties)return{valid:!0};let a=i.required||[],c=Object.keys(i.properties),p=Object.keys(t),u=[],l={...t},d=!1;for(let m of a)if(!(m in t)||t[m]===void 0||t[m]===null){let h=bs(m,p);h&&!c.includes(h)?(l[m]=t[h],delete l[h],d=!0):u.push(`Missing required parameter "${m}" (${i.properties[m]?.description||i.properties[m]?.type||"unknown"})`)}for(let m of p)if(!c.includes(m)){let h=bs(m,c);h&&!(h in l)?(l[h]=t[m],delete l[m],d=!0):d||u.push(`Unknown parameter "${m}".${h?` Did you mean "${h}"?`:""}`)}for(let m of Object.keys(l)){if(!i.properties[m])continue;let h=i.properties[m].type,f=typeof l[m];h==="string"&&f==="number"?(l[m]=String(l[m]),d=!0):h==="number"&&f==="string"&&!isNaN(l[m])?(l[m]=Number(l[m]),d=!0):h==="boolean"&&f==="string"&&(l[m]=l[m]==="true",d=!0)}return u.length>0&&!d?{valid:!1,error:`Tool "${e}" argument errors:
|
|
84
|
+
`+u.map(m=>` - ${m}`).join(`
|
|
85
|
+
`)+`
|
|
86
|
+
|
|
87
|
+
Expected parameters: ${JSON.stringify(i.properties,null,2)}`}:{valid:!0,corrected:d?l:null}}Up.exports={validateToolArgs:Ev,closestMatch:bs,levenshtein:Dp}});var Hp=_((Vk,Wp)=>{var{levenshtein:vs}=xi(),Tv=200,Rv=.3,Cv=2;function bi(e){return e.replace(/\r\n/g,`
|
|
88
|
+
`).replace(/\r/g,`
|
|
89
|
+
`).replace(/\t/g," ".repeat(Cv)).split(`
|
|
90
|
+
`).map(t=>{let n=t.replace(/\s+$/,""),s=n.match(/^(\s*)(.*)/);if(!s)return n;let[,o,i]=s;return o+i.replace(/ {2,}/g," ")}).join(`
|
|
91
|
+
`)}function Av(e,t){if(e.includes(t))return t;let n=bi(e),s=bi(t);if(!n.includes(s))return null;let o=e.split(`
|
|
92
|
+
`),i=n.split(`
|
|
93
|
+
`),a=s.split(`
|
|
94
|
+
`),c=a[0],p=a[a.length-1];for(let u=0;u<=i.length-a.length;u++){let l=!0;for(let d=0;d<a.length;d++)if(i[u+d]!==a[d]){l=!1;break}if(l)return o.slice(u,u+a.length).join(`
|
|
95
|
+
`)}if(a.length===1){for(let u=0;u<i.length;u++)if(i[u].indexOf(s)!==-1)return o[u]}return null}function Ov(e,t){if(!e||!t)return null;let n=e.split(`
|
|
96
|
+
`),o=t.split(`
|
|
97
|
+
`).length;return n.length===0||o===0?null:o===1?jv(n,t):Nv(n,t,o)}function Bp(e){return Math.max(1,Math.floor(e/Tv))}function zp(e,t){return e<=Math.ceil(t*Rv)}function jv(e,t){let n=t.trim(),s=Bp(e.length),o=null,i=1/0;for(let a=0;a<e.length;a+=s){let c=e[a];if(!c.trim())continue;let p=vs(c.trim(),n);p<i&&(i=p,o={text:c,distance:p,line:a+1})}return o&&s>1&&(o=Pv(e,n,o,s)||o,i=o.distance),zp(i,t.length)?o:null}function Pv(e,t,n,s){let o=n.line-1,i=Math.max(0,o-s),a=Math.min(e.length-1,o+s),c=n.distance,p=null;for(let u=i;u<=a;u++){let l=e[u];if(!l.trim())continue;let d=vs(l.trim(),t);d<c&&(c=d,p={text:l,distance:d,line:u+1})}return p}function Nv(e,t,n){let s=e.length-n+1;if(s<=0)return null;let o=Bp(s),i=null,a=1/0;for(let c=0;c<s;c+=o){let p=e.slice(c,c+n).join(`
|
|
98
|
+
`),u=vs(p,t);u<a&&(a=u,i={text:p,distance:u,line:c+1})}return i&&o>1&&(i=Lv(e,t,i,o,n,s)||i,a=i.distance),zp(a,t.length)?i:null}function Lv(e,t,n,s,o,i){let a=n.line-1,c=Math.max(0,a-s),p=Math.min(i-1,a+s),u=n.distance,l=null;for(let d=c;d<=p;d++){let m=e.slice(d,d+o).join(`
|
|
99
|
+
`),h=vs(m,t);h<u&&(u=h,l={text:m,distance:h,line:d+1})}return l}Wp.exports={normalizeWhitespace:bi,fuzzyFindText:Av,findMostSimilar:Ov}});var Kp=_((Xk,Gp)=>{var{C:Yk}=pe(),qv=[{name:"OpenAI API Key",regex:/sk-[a-zA-Z0-9]{20,}/i},{name:"Anthropic API Key",regex:/sk-ant-api03-[a-zA-Z0-9-]{90,}/i},{name:"Google Gemini API Key",regex:/AIzaSy[a-zA-Z0-9_-]{30,45}/i},{name:"Slack Token",regex:/xox[bpors]-[a-zA-Z0-9-]+/i},{name:"AWS Access Key",regex:/AKIA[A-Z0-9]{16}/i},{name:"GitHub Token",regex:/ghp_[a-zA-Z0-9]{36}/i},{name:"Private Key",regex:/BEGIN (RSA|EC|DSA|OPENSSH|PGP) PRIVATE KEY/i},{name:"Database URL",regex:/\b(postgres|mongodb|mysql|redis):\/\/[^"'\s]+/i},{name:"Hardcoded Secret",regex:/(password|secret|token|api_key|apikey|api_secret|access_token|auth_token|credentials)\s*[:=]\s*['"'][^'"']{8,}/i}],Mv=[{name:"TODO",regex:/\bTODO\b/i,severity:"warn"},{name:"FIXME",regex:/\bFIXME\b/i,severity:"warn"},{name:"Debugger",regex:/\bdebugger\b/,severity:"error",ext:[".js",".ts",".jsx",".tsx"]},{name:"eval()",regex:/\beval\s*\(/,severity:"warn",ext:[".js",".ts",".jsx",".tsx"]},{name:"Console Log",regex:/\bconsole\.log\(/,severity:"info",ext:[".js",".ts",".jsx",".tsx"]},{name:"ANSI Code",regex:/\\x1b\[[0-9;]*m/,severity:"warn",message:"Avoid hardcoded ANSI codes; use cli/ui.js instead."}];function Fv(e,t){let n=t.split(`
|
|
100
|
+
`),s=[],o=e?`.${e.split(".").pop()}`:"";for(let i=0;i<n.length;i++){let a=n[i],c=i+1;for(let p of qv)p.regex.test(a)&&s.push({line:c,message:`Potential secret detected: ${p.name}`,severity:"error"});for(let p of Mv)p.ext&&!p.ext.includes(o)||p.regex.test(a)&&s.push({line:c,message:p.message||`Found ${p.name}`,severity:p.severity||"warn"})}return n.length>500&&s.push({line:0,message:`Large file detected (${n.length} lines). Consider refactoring.`,severity:"info"}),s}Gp.exports={runDiagnostics:Fv}});var ys=_((Qk,Jp)=>{var{C:V}=pe(),gn="",ye=[],hn=0,gt=null;function Iv(e){gt=e}function Dv(e,t){gn=e,ye=[],hn=0;for(let s of t){hn++;let o=`t${hn}`;ye.push({id:o,description:s.description||s.title||s.name||s.task||`Task ${hn}`,status:"pending",dependsOn:s.depends_on||[],result:null})}let n=ye.map(s=>({...s}));return gt&>("create",{name:e,tasks:n}),n}function Uv(e,t,n){let s=ye.find(o=>o.id===e);return s?(s.status=t,n!==void 0&&(s.result=n),gt&>("update",{id:e,status:t,result:n}),{...s}):null}function Bv(){return{name:gn,tasks:ye.map(e=>({...e}))}}function zv(){gn="",ye=[],hn=0,gt&>("clear",{})}function Wv(){return ye.filter(e=>e.status!=="pending"?!1:e.dependsOn.length===0?!0:e.dependsOn.every(t=>{let n=ye.find(s=>s.id===t);return n&&n.status==="done"}))}function Hv(){if(ye.length===0)return`${V.dim}No active tasks${V.reset}`;let e=[];gn&&(e.push(` ${V.bold}${V.cyan}Tasks: ${gn}${V.reset}`),e.push(` ${V.dim}${"\u2500".repeat(40)}${V.reset}`));for(let o of ye){let i,a;switch(o.status){case"done":i="\u2713",a=V.green;break;case"in_progress":i="\u2192",a=V.cyan;break;case"failed":i="\u2717",a=V.red;break;default:i="\xB7",a=V.dim}let c=o.dependsOn.length>0?` ${V.dim}(after: ${o.dependsOn.join(", ")})${V.reset}`:"",p=`[${o.status}]`,u=o.description.length>50?o.description.substring(0,47)+"...":o.description;if(e.push(` ${a}${i}${V.reset} ${V.bold}${o.id}${V.reset} ${u.padEnd(40)} ${a}${p}${V.reset}${c}`),o.result&&o.status==="done"){let l=o.result.length>60?o.result.substring(0,57)+"...":o.result;e.push(` ${V.dim}\u2192 ${l}${V.reset}`)}}let t=ye.filter(o=>o.status==="done").length,n=ye.filter(o=>o.status==="failed").length,s=ye.length;return e.push(` ${V.dim}${"\u2500".repeat(40)}${V.reset}`),e.push(` ${V.dim}${t}/${s} done${n>0?`, ${n} failed`:""}${V.reset}`),e.join(`
|
|
101
|
+
`)}function Gv(){return ye.length>0&&ye.some(e=>e.status==="pending"||e.status==="in_progress")}Jp.exports={createTasks:Dv,updateTask:Uv,getTaskList:Bv,clearTasks:zv,getReadyTasks:Wv,renderTaskList:Hv,setOnChange:Iv,hasActiveTasks:Gv}});var yi=_((Zk,Yp)=>{var{getActiveModel:Kv,getActiveProviderName:Jv}=Ie(),xn={essential:["bash","read_file","write_file","edit_file","list_directory"],standard:["bash","read_file","write_file","edit_file","list_directory","search_files","glob","grep","ask_user","git_status","git_diff","git_log","task_list"],full:null},bn={"qwen3-coder:480b":"full","qwen3-coder-next":"full","kimi-k2.5":"full","kimi-k2:1t":"full","kimi-k2-thinking":"full","deepseek-v3.2":"full","deepseek-v3.1:671b":"full","devstral-2:123b":"full","devstral-small-2:24b":"standard","cogito-2.1:671b":"full","qwen3-next:80b":"full","qwen3.5:397b":"full","mistral-large-3:675b":"full","gpt-oss:120b":"full","minimax-m2.5":"full","glm-5":"full","glm-4.7":"standard","gemma3:27b":"standard","gemma3:12b":"essential","gemma3:4b":"essential","ministral-3:14b":"standard","ministral-3:8b":"essential","gpt-4o":"full","gpt-4.1":"full",o1:"full",o3:"full","o4-mini":"full","claude-sonnet":"full","claude-sonnet-4-5":"full","claude-opus":"full","claude-haiku":"standard","claude-sonnet-4":"full","gemini-2.5-pro":"full","gemini-2.5-flash":"full","gemini-2.0-flash":"standard","gemini-2.0-flash-lite":"essential"},vn={ollama:"standard",openai:"full",anthropic:"full",gemini:"standard",local:"essential"},Be={};function Vp(){try{let e=require("fs"),n=require("path").join(process.cwd(),".nex","config.json");e.existsSync(n)&&(Be=JSON.parse(e.readFileSync(n,"utf-8")).toolTiers||{})}catch{Be={}}}Vp();function vi(){let t=Kv()?.id,n=Jv();return t&&Be[t]?Be[t]:n&&Be[`${n}:*`]?Be[`${n}:*`]:t&&bn[t]?bn[t]:n&&vn[n]?vn[n]:"standard"}function Vv(e,t){return e&&Be[e]?Be[e]:t&&Be[`${t}:*`]?Be[`${t}:*`]:e&&bn[e]?bn[e]:t&&vn[t]?vn[t]:"standard"}function Yv(e,t){let n=t||vi();if(n==="full"||!xn[n])return e;let s=new Set(xn[n]);return e.filter(o=>s.has(o.function.name))}function Xv(){let e=vi(),t=xn[e]?xn[e].length:"all";return{tier:e,toolCount:t}}Yp.exports={filterToolsForModel:Yv,getActiveTier:vi,getModelTier:Vv,getTierInfo:Xv,TIERS:xn,MODEL_TIERS:bn,PROVIDER_DEFAULT_TIER:vn,loadConfigOverrides:Vp}});var au=_((t_,iu)=>{var{callChat:Qv,getActiveProviderName:_i,getActiveModelId:Zv,getConfiguredProviders:ey,getProvider:ty,getActiveProvider:ny,parseModelSpec:sy}=Ie(),{parseToolArgs:oy}=cs(),{filterToolsForModel:iy,getModelTier:wi}=yi(),{trackUsage:ay}=ln(),{MultiProgress:ry,C:e_}=pe(),cy=15,Xp=5,Qp=3,$s=new Map;function ly(e,t){let n=$s.get(e);return n&&n!==t?!1:($s.set(e,t),!0)}function $i(e){$s.delete(e)}function ki(){$s.clear()}function Zp(e){let t=e.message||"",n=e.code||"";return!!(t.includes("429")||t.includes("500")||t.includes("502")||t.includes("503")||t.includes("504")||n==="ECONNRESET"||n==="ECONNABORTED"||n==="ETIMEDOUT"||n==="ECONNREFUSED"||t.includes("socket disconnected")||t.includes("TLS")||t.includes("ECONNRESET")||t.includes("fetch failed")||t.includes("ETIMEDOUT")||t.includes("ENOTFOUND"))}async function eu(e,t,n){let s;for(let o=0;o<=Qp;o++)try{return await Qv(e,t,n)}catch(i){if(s=i,o<Qp&&Zp(i)){let a=Math.min(2e3*Math.pow(2,o),15e3);await new Promise(c=>setTimeout(c,a).unref());continue}throw i}throw s}var py=new Set(["ask_user","task_list","spawn_agents"]),uy=new Set(["write_file","edit_file","patch_file"]),dy=/\b(read|summarize|search|find|list|check|count|inspect|scan)\b/i,my=/\b(refactor|rewrite|implement|create|architect|design|generate|migrate)\b/i;function tu(e){return my.test(e)?"full":dy.test(e)?"essential":"standard"}function nu(e){let t=ey(),n=_i(),s=[...t].sort((o,i)=>(o.name===n?-1:1)-(i.name===n?-1:1));for(let o of s)for(let i of o.models)if(wi(i.id,o.name)===e)return{provider:o.name,model:i.id};return null}function su(e){if(e.model){let{provider:s,model:o}=sy(e.model),i=s?ty(s):ny(),a=s||_i();if(i&&i.isConfigured()&&(i.getModel(o)||a==="local")){let c=wi(o,a);return{provider:a,model:o,tier:c}}}let t=tu(e.task),n=nu(t);if(n){let s=wi(n.model,n.provider);return{provider:n.provider,model:n.model,tier:s}}return{provider:null,model:null,tier:null}}async function ou(e,t={}){let n=Math.min(e.max_iterations||10,cy),s=`sub-${Date.now()}-${Math.random().toString(36).slice(2,6)}`,o=[],i={input:0,output:0},a=new Set,p=[{role:"system",content:`You are a focused sub-agent. Complete this specific task efficiently.
|
|
102
|
+
|
|
103
|
+
TASK: ${e.task}
|
|
104
|
+
${e.context?`
|
|
105
|
+
CONTEXT: ${e.context}`:""}
|
|
106
|
+
|
|
107
|
+
WORKING DIRECTORY: ${process.cwd()}
|
|
108
|
+
|
|
109
|
+
RULES:
|
|
110
|
+
- Focus only on your assigned task. Be concise and efficient.
|
|
111
|
+
- When done, respond with a clear summary of what you did and the result.
|
|
112
|
+
- Do not ask questions \u2014 make reasonable decisions.
|
|
113
|
+
- Use relative paths when possible.
|
|
114
|
+
|
|
115
|
+
TOOL STRATEGY:
|
|
116
|
+
- Use read_file to read files (not bash cat). Use edit_file/patch_file to modify (not bash sed).
|
|
117
|
+
- Use glob to find files by name. Use grep to search contents. Only use bash for shell operations.
|
|
118
|
+
- ALWAYS read a file with read_file before editing it. edit_file old_text must match exactly.
|
|
119
|
+
|
|
120
|
+
ERROR RECOVERY:
|
|
121
|
+
- If edit_file fails with "old_text not found": read the file again, compare, and retry with exact text.
|
|
122
|
+
- If bash fails: read the error, fix the root cause, then retry.
|
|
123
|
+
- After 2 failed attempts at the same operation, summarize the issue and stop.`}];p.push({role:"user",content:e.task});let u=su(e),l=u.provider,d=u.model,m=u.tier,{TOOL_DEFINITIONS:h,executeTool:f}=fn(),x=iy(h.filter(v=>!py.has(v.function.name)),m),b={};l&&(b.provider=l),d&&(b.model=d);try{for(let v=0;v<n;v++){let $=await eu(p,x,b);if(!$||typeof $!="object")throw new Error("Empty or invalid response from provider");if($.usage){let S=$.usage.prompt_tokens||0,E=$.usage.completion_tokens||0;i.input+=S,i.output+=E;let C=l||_i(),M=d||Zv();ay(C,M,S,E)}let T=$.content||"",w=$.tool_calls,R={role:"assistant",content:T||""};if(w&&w.length>0&&(R.tool_calls=w),p.push(R),!w||w.length===0){for(let S of a)$i(S);return{task:e.task,status:"done",result:T||"(no response)",toolsUsed:o,tokensUsed:i,modelSpec:l&&d?`${l}:${d}`:null}}for(let S of w){let E=S.function.name,C=oy(S.function.arguments),M=S.id||`sub-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;if(!C){p.push({role:"tool",content:`ERROR: Malformed tool arguments for ${E}`,tool_call_id:M});continue}if(uy.has(E)&&C.path){let F=require("path"),B=F.isAbsolute(C.path)?C.path:F.resolve(process.cwd(),C.path);if(!ly(B,s)){p.push({role:"tool",content:`ERROR: File '${C.path}' is locked by another sub-agent. Try a different approach or skip this file.`,tool_call_id:M});continue}a.add(B)}o.push(E);try{let F=await f(E,C,{autoConfirm:!0,silent:!0}),B=String(F??""),W=B.length>2e4?B.substring(0,2e4)+`
|
|
124
|
+
...(truncated)`:B;p.push({role:"tool",content:W,tool_call_id:M})}catch(F){p.push({role:"tool",content:`ERROR: ${F.message}`,tool_call_id:M})}}t.onUpdate&&t.onUpdate(`step ${v+1}/${n}`)}for(let v of a)$i(v);return{task:e.task,status:"done",result:p[p.length-1]?.content||"(max iterations reached)",toolsUsed:o,tokensUsed:i,modelSpec:l&&d?`${l}:${d}`:null}}catch(v){for(let $ of a)$i($);return{task:e.task,status:"failed",result:`Error: ${v.message}`,toolsUsed:o,tokensUsed:i,modelSpec:l&&d?`${l}:${d}`:null}}}async function fy(e){let t=e.agents||[];if(t.length===0)return"ERROR: No agents specified";if(t.length>Xp)return`ERROR: Max ${Xp} parallel agents allowed, got ${t.length}`;let n=t.map((o,i)=>`Agent ${i+1}: ${o.task.substring(0,50)}${o.task.length>50?"...":""}`),s=new ry(n);s.start();try{let o=t.map((u,l)=>ou(u,{onUpdate:()=>{}}).then(d=>(s.update(l,d.status==="done"?"done":"error"),d)).catch(d=>(s.update(l,"error"),{task:u.task,status:"failed",result:`Error: ${d.message}`,toolsUsed:[],tokensUsed:{input:0,output:0}}))),i=await Promise.all(o);s.stop(),ki();let a=["Sub-agent results:",""],c=0,p=0;for(let u=0;u<i.length;u++){let l=i[u],d=l.status==="done"?"\u2713":"\u2717",m=l.modelSpec?` [${l.modelSpec}]`:"";a.push(`${d} Agent ${u+1}${m}: ${l.task}`),a.push(` Status: ${l.status}`),a.push(` Tools used: ${l.toolsUsed.length>0?l.toolsUsed.join(", "):"none"}`),a.push(` Result: ${l.result}`),a.push(""),c+=l.tokensUsed.input,p+=l.tokensUsed.output}return a.push(`Total sub-agent tokens: ${c} input + ${p} output`),a.join(`
|
|
125
|
+
`)}catch(o){return s.stop(),ki(),`ERROR: Sub-agent execution failed: ${o.message}`}}iu.exports={runSubAgent:ou,executeSpawnAgents:fy,clearAllLocks:ki,classifyTask:tu,pickModelForTier:nu,resolveSubAgentModel:su,isRetryableError:Zp,callChatWithRetry:eu}});var fn=_((s_,hu)=>{var K=require("fs").promises,hy=require("fs"),$e=require("path"),wn=require("util").promisify(require("child_process").exec),ru=require("util").promisify(require("child_process").execFile),cu=ft(),{isForbidden:gy,isDangerous:xy,confirm:by}=un(),{showClaudeDiff:ws,showClaudeNewFile:vy,showEditDiff:n_,confirmFileChange:yn}=bp(),{C:xe,Spinner:du,getToolSpinnerText:yy}=pe(),{isGitRepo:Si,getCurrentBranch:$y,getStatus:wy,getDiff:ky}=fs(),{recordChange:ks}=mi(),{fuzzyFindText:lu,findMostSimilar:Ti}=Hp(),{runDiagnostics:$n}=Kp(),he=process.cwd();async function _s(e){if(!e)return{fixedPath:null,message:""};let t=e.replace(/\/+/g,"/").replace(/^~\//,`${require("os").homedir()}/`),n=Oe(t);if(n&&await K.access(n).then(()=>!0).catch(()=>!1))return{fixedPath:n,message:`(auto-fixed path: ${e} \u2192 ${t})`};let s=[".js",".ts",".jsx",".tsx",".mjs",".cjs",".json"],o=$e.extname(e);if(!o)for(let a of s){let c=Oe(e+a);if(c&&await K.access(c).then(()=>!0).catch(()=>!1))return{fixedPath:c,message:`(auto-fixed: added ${a} extension)`}}if(o){let a=e.replace(/\.[^.]+$/,"");for(let c of s){if(c===o)continue;let p=Oe(a+c);if(p&&await K.access(p).then(()=>!0).catch(()=>!1))return{fixedPath:p,message:`(auto-fixed: ${o} \u2192 ${c})`}}}let i=$e.basename(e);if(i&&i.length>2)try{let a=async(p,u,l=0)=>{if(l>5)return[];let d=[],m;try{m=await K.readdir(p,{withFileTypes:!0})}catch{return[]}let h=m.map(async x=>{if(x.name==="node_modules"||x.name===".git"||x.name.startsWith("."))return[];let b=$e.join(p,x.name);return x.isDirectory()?await a(b,u,l+1):x.name===u?[b]:[]});return(await Promise.all(h)).flat()},c=await a(he,i);if(c.length===1)return{fixedPath:c[0],message:`(auto-fixed: found ${i} at ${$e.relative(he,c[0])})`};if(c.length>1&&c.length<=5)return{fixedPath:null,message:`File not found. Did you mean one of:
|
|
126
|
+
${c.map(u=>$e.relative(he,u)).map(u=>` - ${u}`).join(`
|
|
127
|
+
`)}`}}catch{}return{fixedPath:null,message:""}}function mu(e,t){let n=[];if(/command not found|not recognized/i.test(e)){let s=t.match(/^(\S+)/),o=s?s[1]:"";/^(npx|npm|node|yarn|pnpm|bun)$/.test(o)?n.push("HINT: Node.js/npm may not be in PATH. Check your Node.js installation."):/^(python|python3|pip|pip3)$/.test(o)?n.push("HINT: Python may not be installed. Try: brew install python3 (macOS) or apt install python3 (Linux)"):n.push(`HINT: "${o}" is not installed. Try installing it with your package manager.`)}if(/Cannot find module|MODULE_NOT_FOUND/i.test(e)){let s=e.match(/Cannot find module '([^']+)'/),o=s?s[1]:"";o&&!o.startsWith(".")&&!o.startsWith("/")?n.push(`HINT: Missing npm package "${o}". Run: npm install ${o}`):n.push("HINT: Module not found. Check the import path or run npm install.")}if(/permission denied|EACCES/i.test(e)&&n.push("HINT: Permission denied. Check file permissions or try a different approach."),/EADDRINUSE|address already in use/i.test(e)){let s=e.match(/port (\d+)|:(\d+)/),o=s?s[1]||s[2]:"";n.push(`HINT: Port ${o||""} is already in use. Kill the process or use a different port.`)}return/SyntaxError|Unexpected token/i.test(e)&&n.push("HINT: Syntax error in the code. Check the file at the line number shown above."),/TS\d{4}:/i.test(e)&&n.push("HINT: TypeScript compilation error. Fix the type issue at the indicated line."),/Test Suites:.*failed|Tests:.*failed/i.test(e)&&n.push("HINT: Test failures detected. Read the error output above to identify failing tests."),/fatal: not a git repository/i.test(e)&&n.push("HINT: Not inside a git repository. Run git init or cd to a git project."),n.length===0?e:e+`
|
|
128
|
+
|
|
129
|
+
`+n.join(`
|
|
130
|
+
`)}function fu(e,t,n){let s=Ti(e,t);if(!s)return null;let o=Math.max(3,Math.ceil(t.length*.05));return s.distance>o?null:{autoFixed:!0,matchText:s.text,content:e.split(s.text).join(n),distance:s.distance,line:s.line}}var pu=!1;async function Ei(){if(!pu){pu=!0;try{let{stdout:e}=await wn("git rev-parse --is-inside-work-tree",{cwd:he,timeout:5e3});if(!(e.trim()==="true"))return;await wn('git stash push -m "nex-code-checkpoint" --include-untracked',{cwd:he,timeout:1e4}),await wn("git stash pop",{cwd:he,timeout:1e4}),await wn("git tag -f nex-checkpoint",{cwd:he,timeout:5e3})}catch{}}}var _y=[/\.ssh\//i,/\.gnupg\//i,/\.aws\//i,/\.config\/gcloud/i,/\/etc\/shadow/,/\/etc\/passwd/,/\/etc\/sudoers/,/\.env(?:\.|$)/,/credentials/i,/\.npmrc$/,/\.docker\/config\.json/,/\.kube\/config/];function Oe(e){let t=$e.isAbsolute(e)?$e.resolve(e):$e.resolve(he,e);for(let n of _y)if(n.test(t))return null;return t}var Sy=[{type:"function",function:{name:"bash",description:"Execute a bash command in the project directory. Timeout: 90s. Use for: running tests, installing packages, git commands, build tools, starting servers. Do NOT use bash for file operations when a dedicated tool exists \u2014 use read_file instead of cat, edit_file instead of sed, glob instead of find, grep instead of grep/rg. Always quote paths with spaces. Prefer specific commands over rm -rf. Destructive or dangerous commands require user confirmation.",parameters:{type:"object",properties:{command:{type:"string",description:"The bash command to execute"}},required:["command"]}}},{type:"function",function:{name:"read_file",description:"Read a file's contents with line numbers. Always read a file BEFORE editing it to see exact content. Use line_start/line_end for large files to read specific sections. Prefer this over bash cat/head/tail.",parameters:{type:"object",properties:{path:{type:"string",description:"File path (relative or absolute)"},line_start:{type:"number",description:"Start line (1-based, optional)"},line_end:{type:"number",description:"End line (1-based, optional)"}},required:["path"]}}},{type:"function",function:{name:"write_file",description:"Create a new file or completely overwrite an existing file. For targeted changes to existing files, prefer edit_file or patch_file instead \u2014 they only send the diff and are safer. Only use write_file when creating new files or when the entire content needs to be replaced.",parameters:{type:"object",properties:{path:{type:"string",description:"File path"},content:{type:"string",description:"Full file content"}},required:["path","content"]}}},{type:"function",function:{name:"edit_file",description:"Replace specific text in a file. IMPORTANT: old_text must match the file content EXACTLY \u2014 including all whitespace, indentation (tabs vs spaces), and newlines. Always read_file first to see the exact content before editing. If old_text is not found, the edit fails. For multiple changes to the same file, prefer patch_file instead.",parameters:{type:"object",properties:{path:{type:"string",description:"File path"},old_text:{type:"string",description:"Exact text to find (must match file content precisely)"},new_text:{type:"string",description:"Replacement text"}},required:["path","old_text","new_text"]}}},{type:"function",function:{name:"list_directory",description:"List files and directories in a tree view. Use this to understand project structure. For finding specific files by pattern, prefer glob instead.",parameters:{type:"object",properties:{path:{type:"string",description:"Directory path"},max_depth:{type:"number",description:"Max depth (default: 2)"},pattern:{type:"string",description:"File filter glob (e.g. '*.js')"}},required:["path"]}}},{type:"function",function:{name:"search_files",description:"Search for a text pattern across files (regex). Returns matching lines with file paths. For simple content search, grep is equivalent. For finding files by name, use glob instead.",parameters:{type:"object",properties:{path:{type:"string",description:"Directory to search"},pattern:{type:"string",description:"Search pattern (regex)"},file_pattern:{type:"string",description:"File filter (e.g. '*.js')"}},required:["path","pattern"]}}},{type:"function",function:{name:"glob",description:"Find files matching a glob pattern. Fast file search by name/extension. Use this to find files before reading them. Examples: '**/*.test.js' (all test files), 'src/**/*.ts' (all TypeScript in src). Prefer this over bash find/ls.",parameters:{type:"object",properties:{pattern:{type:"string",description:"Glob pattern (e.g. '**/*.ts', 'src/**/*.test.js')"},path:{type:"string",description:"Base directory (default: project root)"}},required:["pattern"]}}},{type:"function",function:{name:"grep",description:"Search file contents with regex. Returns matching lines with file paths and line numbers. Use this to find where functions/variables/classes are defined or used. Prefer this over bash grep/rg.",parameters:{type:"object",properties:{pattern:{type:"string",description:"Regex pattern to search for"},path:{type:"string",description:"Directory or file to search (default: project root)"},include:{type:"string",description:"File filter (e.g. '*.js', '*.ts')"},ignore_case:{type:"boolean",description:"Case-insensitive search"}},required:["pattern"]}}},{type:"function",function:{name:"patch_file",description:"Apply multiple text replacements to a file atomically. All patches are validated before any are applied \u2014 if one fails, none are written. Prefer this over multiple edit_file calls when making several changes to the same file. Like edit_file, all old_text values must match exactly.",parameters:{type:"object",properties:{path:{type:"string",description:"File path"},patches:{type:"array",description:"Array of { old_text, new_text } replacements to apply in order",items:{type:"object",properties:{old_text:{type:"string",description:"Text to find"},new_text:{type:"string",description:"Replacement text"}},required:["old_text","new_text"]}}},required:["path","patches"]}}},{type:"function",function:{name:"web_fetch",description:"Fetch content from a URL and return text. HTML tags are stripped. Use for reading documentation, API responses, or web pages. Will not work with authenticated/private URLs.",parameters:{type:"object",properties:{url:{type:"string",description:"URL to fetch"},max_length:{type:"number",description:"Max response length in chars (default: 10000)"}},required:["url"]}}},{type:"function",function:{name:"web_search",description:"Search the web using DuckDuckGo. Returns titles and URLs. Use to find documentation, solutions, or current information beyond your knowledge cutoff.",parameters:{type:"object",properties:{query:{type:"string",description:"Search query"},max_results:{type:"number",description:"Max results (default: 5)"}},required:["query"]}}},{type:"function",function:{name:"ask_user",description:"Ask the user a question and wait for their response. Use when requirements are ambiguous, you need to choose between approaches, or a decision has significant impact. Do not ask unnecessary questions \u2014 proceed if the intent is clear.",parameters:{type:"object",properties:{question:{type:"string",description:"The question to ask the user"}},required:["question"]}}},{type:"function",function:{name:"git_status",description:"Get git status: current branch, changed files, staged/unstaged state. Use before git operations to understand the current state.",parameters:{type:"object",properties:{},required:[]}}},{type:"function",function:{name:"git_diff",description:"Get git diff for changed files. Shows additions and deletions.",parameters:{type:"object",properties:{staged:{type:"boolean",description:"Show only staged changes (default: false)"},file:{type:"string",description:"Diff specific file only (optional)"}},required:[]}}},{type:"function",function:{name:"git_log",description:"Show recent git commits (short format).",parameters:{type:"object",properties:{count:{type:"number",description:"Number of commits to show (default: 10)"},file:{type:"string",description:"Show commits for specific file (optional)"}},required:[]}}},{type:"function",function:{name:"task_list",description:"Create and manage a task list for complex multi-step tasks. Use for tasks with 3+ steps to track progress. Actions: create (new list with tasks), update (mark task in_progress/done/failed), get (view current list). Always update task status as you work.",parameters:{type:"object",properties:{action:{type:"string",enum:["create","update","get"],description:"Action to perform"},name:{type:"string",description:"Task list name (for create)"},tasks:{type:"array",description:"Array of tasks to create (for create)",items:{type:"object",properties:{description:{type:"string",description:"Task description"},depends_on:{type:"array",items:{type:"string"},description:"IDs of prerequisite tasks"}},required:["description"]}},task_id:{type:"string",description:"Task ID to update (for update)"},status:{type:"string",enum:["in_progress","done","failed"],description:"New status (for update)"},result:{type:"string",description:"Result summary (for update, optional)"}},required:["action"]}}},{type:"function",function:{name:"spawn_agents",description:"Run multiple independent sub-agents in parallel (max 5). Each agent has its own conversation context. Use when 2+ tasks can run simultaneously \u2014 e.g. reading multiple files, analyzing separate modules, independent research. Do NOT use for tasks that depend on each other or modify the same file. Keep task descriptions specific and self-contained.",parameters:{type:"object",properties:{agents:{type:"array",description:"Array of agent definitions to run in parallel (max 5)",items:{type:"object",properties:{task:{type:"string",description:"Task description for the agent"},context:{type:"string",description:"Additional context (optional)"},max_iterations:{type:"number",description:"Max iterations (default: 10, max: 15)"},model:{type:"string",description:'Override model for this agent (provider:model, e.g. "anthropic:claude-haiku"). Auto-selected if omitted.'}},required:["task"]}}},required:["agents"]}}}];async function uu(e,t,n={}){switch(e){case"bash":{let s=t.command,o=gy(s);if(o)return`BLOCKED: Command matches forbidden pattern: ${o}`;if(xy(s)&&!n.autoConfirm&&(console.log(`
|
|
131
|
+
${xe.yellow} \u26A0 Dangerous command: ${s}${xe.reset}`),!await by(" Execute?")))return"CANCELLED: User declined to execute this command.";let i=n.silent?null:new du(`Running: ${s.substring(0,60)}${s.length>60?"...":""}`);i&&i.start();try{let{stdout:a,stderr:c}=await wn(s,{cwd:he,timeout:9e4,maxBuffer:5242880});return i&&i.stop(),a||c||"(no output)"}catch(a){i&&i.stop();let c=(a.stderr||a.stdout||a.message||"").toString().substring(0,5e3),p=mu(c,s);return`EXIT ${a.code||1}
|
|
132
|
+
${p}`}}case"read_file":{let s=Oe(t.path);if(!s)return`ERROR: Access denied \u2014 path outside project: ${t.path}`;if(!await K.access(s).then(()=>!0).catch(()=>!1)){let m=await _s(t.path);if(m.fixedPath)s=m.fixedPath,console.log(`${xe.dim} \u2713 auto-fixed path: ${t.path} \u2192 ${$e.relative(he,s)}${xe.reset}`);else return`ERROR: File not found: ${t.path}${m.message?`
|
|
133
|
+
`+m.message:""}`}let i=Buffer.alloc(8192),a=await hy.promises.open(s,"r"),{bytesRead:c}=await a.read(i,0,8192,0);await a.close();for(let m=0;m<c;m++)if(i[m]===0)return`ERROR: ${s} is a binary file (not readable as text)`;let p=await K.readFile(s,"utf-8");if(!p&&(await K.stat(s)).size>0)return`WARNING: ${s} is empty or unreadable`;let u=p.split(`
|
|
134
|
+
`),l=(t.line_start||1)-1,d=t.line_end||u.length;return u.slice(l,d).map((m,h)=>`${l+h+1}: ${m}`).join(`
|
|
135
|
+
`)}case"write_file":{await Ei();let s=Oe(t.path);if(!s)return`ERROR: Access denied \u2014 path outside project: ${t.path}`;let o=await K.access(s).then(()=>!0).catch(()=>!1),i=null;if(n.autoConfirm)o&&(i=await K.readFile(s,"utf-8"));else if(o){i=await K.readFile(s,"utf-8");let p=await $n(s,t.content);if(ws(s,i,t.content,{annotations:p}),!await yn("Overwrite"))return"CANCELLED: User declined to overwrite file."}else{let p=await $n(s,t.content);if(vy(s,t.content,{annotations:p}),!await yn("Create"))return"CANCELLED: User declined to create file."}let a=$e.dirname(s);return await K.access(a).then(()=>!0).catch(()=>!1)||await K.mkdir(a,{recursive:!0}),await K.writeFile(s,t.content,"utf-8"),ks("write_file",s,i,t.content),`Written: ${s} (${t.content.length} chars)`}case"edit_file":{await Ei();let s=Oe(t.path);if(!s)return`ERROR: Access denied \u2014 path outside project: ${t.path}`;if(!await K.access(s).then(()=>!0).catch(()=>!1)){let l=await _s(t.path);if(l.fixedPath)s=l.fixedPath,console.log(`${xe.dim} \u2713 auto-fixed path: ${t.path} \u2192 ${$e.relative(he,s)}${xe.reset}`);else return`ERROR: File not found: ${t.path}${l.message?`
|
|
136
|
+
`+l.message:""}`}let i=await K.readFile(s,"utf-8"),a=t.old_text,c=!1,p=!1;if(!i.includes(t.old_text)){let l=lu(i,t.old_text);if(l)a=l,c=!0,console.log(`${xe.dim} \u2713 fuzzy whitespace match applied${xe.reset}`);else{let d=fu(i,t.old_text,t.new_text);if(d){if(!n.autoConfirm){let f=await $n(s,d.content);if(ws(s,i,d.content,{annotations:f}),!await yn(`Apply (auto-fix, line ${d.line}, distance ${d.distance})`))return"CANCELLED: User declined to apply edit."}await K.writeFile(s,d.content,"utf-8"),ks("edit_file",s,i,d.content);let h=d.matchText.length>80?d.matchText.substring(0,77)+"...":d.matchText;return console.log(`${xe.dim} \u2713 auto-fixed edit: line ${d.line}, distance ${d.distance}${xe.reset}`),`Edited: ${s} (auto-fixed, line ${d.line}, distance ${d.distance}, matched: "${h}")`}let m=Ti(i,t.old_text);return m?`ERROR: old_text not found in ${s}
|
|
137
|
+
Most similar text (line ${m.line}, distance ${m.distance}):
|
|
138
|
+
${m.text}`:`ERROR: old_text not found in ${s}`}}if(!n.autoConfirm){let l=i.split(a).join(t.new_text),d=await $n(s,l);if(ws(s,i,l,{annotations:d}),!await yn(c?"Apply (fuzzy match)":"Apply"))return"CANCELLED: User declined to apply edit."}let u=i.split(a).join(t.new_text);return await K.writeFile(s,u,"utf-8"),ks("edit_file",s,i,u),c?`Edited: ${s} (fuzzy match)`:`Edited: ${s}`}case"list_directory":{let s=Oe(t.path);if(!s)return`ERROR: Access denied \u2014 path outside project: ${t.path}`;if(!await K.access(s).then(()=>!0).catch(()=>!1)){let u=t.path.replace(/\/+/g,"/").replace(/^~\//,`${require("os").homedir()}/`),l=Oe(u),d=await K.access(l).then(()=>!0).catch(()=>!1);if(l&&d)s=l;else return`ERROR: Directory not found: ${t.path}`}let i=t.max_depth||2,a=null;if(t.pattern)try{let u=t.pattern.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");a=new RegExp(`^${u}$`)}catch{return`ERROR: Invalid pattern: ${t.pattern}`}let c=[],p=async(u,l,d)=>{if(l>i)return;let m;try{m=await K.readdir(u,{withFileTypes:!0})}catch{return}m=m.filter(h=>!h.name.startsWith(".")&&h.name!=="node_modules");for(let h of m){if(a&&!h.isDirectory()&&!a.test(h.name))continue;let f=h.isDirectory()?"/":"";c.push(`${d}${h.name}${f}`),h.isDirectory()&&await p($e.join(u,h.name),l+1,d+" ")}};return await p(s,1,""),c.join(`
|
|
139
|
+
`)||"(empty)"}case"search_files":{let s=Oe(t.path);if(!s)return`ERROR: Access denied \u2014 path outside project: ${t.path}`;let o=["-rn"];t.file_pattern&&o.push(`--include=${t.file_pattern}`),o.push(t.pattern,s);try{let{stdout:i}=await ru("grep",o,{cwd:he,timeout:3e4,maxBuffer:2097152});return i.split(`
|
|
140
|
+
`).slice(0,50).join(`
|
|
141
|
+
`)||"(no matches)"}catch{return"(no matches)"}}case"glob":{let o=t.path?Oe(t.path):he,i=t.pattern,a=f=>{let x=f.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,"__DOUBLESTAR__").replace(/\*/g,"[^/]*").replace(/__DOUBLESTAR__/g,".*").replace(/\?/g,".");return new RegExp(`^${x}$`)},c=i.replace(/\*\*\//g,"").replace(/\//g,""),p=a(c),u=a(i),l=[],d=!1,m=async(f,x)=>{if(l.length>=200){d=!0;return}let b;try{b=await K.readdir(f,{withFileTypes:!0})}catch{return}for(let v of b){if(v.name==="node_modules"||v.name===".git")continue;let $=x?`${x}/${v.name}`:v.name;if(v.isDirectory()?await m($e.join(f,v.name),$):(u.test($)||p.test(v.name))&&l.push($e.join(o,$)),l.length>=200){d=!0;return}}};if(await m(o,""),l.length===0)return"(no matches)";let h=l.join(`
|
|
142
|
+
`);return d?`${h}
|
|
143
|
+
|
|
144
|
+
\u26A0 Results truncated at 200. Use a more specific pattern to narrow results.`:h}case"grep":{let s=t.path?Oe(t.path):he,o=["-rn","-E"];t.ignore_case&&o.push("-i"),t.include&&o.push(`--include=${t.include}`),o.push("--exclude-dir=node_modules","--exclude-dir=.git","--exclude-dir=coverage"),o.push(t.pattern,s);try{let{stdout:i}=await ru("grep",o,{cwd:he,timeout:3e4,maxBuffer:2097152});return i.split(`
|
|
145
|
+
`).slice(0,100).join(`
|
|
146
|
+
`).trim()||"(no matches)"}catch(i){return i.code===2?`ERROR: Invalid regex pattern: ${t.pattern}`:"(no matches)"}}case"patch_file":{await Ei();let s=Oe(t.path);if(!s)return`ERROR: Access denied \u2014 path outside project: ${t.path}`;if(!await K.access(s).then(()=>!0).catch(()=>!1)){let m=await _s(t.path);if(m.fixedPath)s=m.fixedPath,console.log(`${xe.dim} \u2713 auto-fixed path: ${t.path} \u2192 ${$e.relative(he,s)}${xe.reset}`);else return`ERROR: File not found: ${t.path}${m.message?`
|
|
147
|
+
`+m.message:""}`}let i=t.patches;if(!Array.isArray(i)||i.length===0)return"ERROR: No patches provided";let a=await K.readFile(s,"utf-8"),c=[],p=!1,u=!1;for(let m=0;m<i.length;m++){let{old_text:h,new_text:f}=i[m];if(a.includes(h))c.push({old_text:h,new_text:f});else{let x=lu(a,h);if(x)c.push({old_text:x,new_text:f}),p=!0;else{let b=Ti(a,h);if(b){let v=Math.max(3,Math.ceil(h.length*.05));if(b.distance<=v)c.push({old_text:b.text,new_text:f}),u=!0;else return`ERROR: Patch ${m+1} old_text not found in ${s}
|
|
148
|
+
Most similar text (line ${b.line}, distance ${b.distance}):
|
|
149
|
+
${b.text}`}else return`ERROR: Patch ${m+1} old_text not found in ${s}`}}}let l=a;for(let{old_text:m,new_text:h}of c)l=l.split(m).join(h);if(!n.autoConfirm){let m=await $n(s,l);if(ws(s,a,l,{annotations:m}),!await yn(p?"Apply patches (fuzzy match)":"Apply patches"))return"CANCELLED: User declined to apply patches."}await K.writeFile(s,l,"utf-8"),ks("patch_file",s,a,l);let d=u?" (auto-fixed)":p?" (fuzzy match)":"";return`Patched: ${s} (${i.length} replacements)${d}`}case"web_fetch":{let s=t.url,o=t.max_length||1e4;try{let i=await cu.get(s,{timeout:15e3,maxContentLength:1048576,responseType:"text",headers:{"User-Agent":"nex-code/0.2.0"}});return(typeof i.data=="string"?i.data:JSON.stringify(i.data)).replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim().substring(0,o)||"(empty response)"}catch(i){return`ERROR: Failed to fetch ${s}: ${i.message}`}}case"web_search":{let s=t.max_results||5;try{let i=(await cu.get("https://html.duckduckgo.com/html/",{params:{q:t.query},timeout:1e4,responseType:"text",headers:{"User-Agent":"nex-code/0.2.0"}})).data,a=[],c=/<a[^>]*class="result__a"[^>]*href="([^"]*)"[^>]*>([\s\S]*?)<\/a>/gi,p;for(;(p=c.exec(i))!==null&&a.length<s;){let u=p[1].replace(/.*uddg=/,"").split("&")[0],l=p[2].replace(/<[^>]+>/g,"").trim();try{a.push({title:l,url:decodeURIComponent(u)})}catch{a.push({title:l,url:u})}}return a.length===0?"(no results)":a.map((u,l)=>`${l+1}. ${u.title}
|
|
150
|
+
${u.url}`).join(`
|
|
151
|
+
|
|
152
|
+
`)}catch{return"ERROR: Web search failed"}}case"ask_user":{let s=t.question;return new Promise(o=>{let i=require("readline").createInterface({input:process.stdin,output:process.stdout});console.log(`
|
|
153
|
+
${xe.cyan}${xe.bold} ? ${s}${xe.reset}`),i.question(`${xe.cyan} > ${xe.reset}`,a=>{i.close(),o(a.trim()||"(no response)")})})}case"git_status":{if(!Si())return"ERROR: Not a git repository";let s=$y()||"(detached)",o=wy();if(o.length===0)return`Branch: ${s}
|
|
154
|
+
Clean working tree (no changes)`;let i=[`Branch: ${s}`,`Changed files (${o.length}):`];for(let a of o){let c=a.status==="M"?"modified":a.status==="A"?"added":a.status==="D"?"deleted":a.status==="??"?"untracked":a.status;i.push(` ${c}: ${a.file}`)}return i.join(`
|
|
155
|
+
`)}case"git_diff":{if(!Si())return"ERROR: Not a git repository";let s;if(t.file){let o=["diff"];t.staged&&o.push("--cached"),o.push("--",t.file);try{s=execFileSync("git",o,{cwd:he,encoding:"utf-8",timeout:15e3,stdio:"pipe"}).trim()}catch{s=""}}else s=ky(!!t.staged);return s||"(no diff)"}case"git_log":{if(!Si())return"ERROR: Not a git repository";let o=["log","--oneline",`-${Math.min(t.count||10,50)}`];t.file&&o.push("--",t.file);try{return execFileSync("git",o,{cwd:he,encoding:"utf-8",timeout:15e3,stdio:"pipe"}).trim()||"(no commits)"}catch{return"(no commits)"}}case"task_list":{let{createTasks:s,updateTask:o,getTaskList:i,renderTaskList:a,hasActiveTasks:c}=ys(),{getActiveTaskProgress:p}=pe(),u=p();switch(t.action){case"create":{if(!t.name||!t.tasks)return"ERROR: task_list create requires name and tasks";let l=s(t.name,t.tasks);return u||console.log(`
|
|
156
|
+
`+a()),`Created task list "${t.name}" with ${l.length} tasks:
|
|
157
|
+
`+l.map(d=>` ${d.id}: ${d.description}`).join(`
|
|
158
|
+
`)}case"update":return!t.task_id||!t.status?"ERROR: task_list update requires task_id and status":o(t.task_id,t.status,t.result)?(u||console.log(`
|
|
159
|
+
`+a()),`Updated ${t.task_id}: ${t.status}${t.result?" \u2014 "+t.result:""}`):`ERROR: Task not found: ${t.task_id}`;case"get":{let l=i();return l.tasks.length===0?"No active tasks":(u||console.log(`
|
|
160
|
+
`+a()),JSON.stringify(l,null,2))}default:return`ERROR: Unknown task_list action: ${t.action}. Use: create, update, get`}}case"spawn_agents":{let{executeSpawnAgents:s}=au();return s(t)}default:return`ERROR: Unknown tool: ${e}`}}async function Ey(e,t,n={}){let s=n.silent?null:yy(e,t);if(!s)return uu(e,t,n);let o=new du(s);o.start();try{let i=await uu(e,t,n);return o.stop(),i}catch(i){throw o.stop(),i}}hu.exports={TOOL_DEFINITIONS:Sy,executeTool:Ey,resolvePath:Oe,autoFixPath:_s,autoFixEdit:fu,enrichBashError:mu}});var Ri=_((o_,xu)=>{var st=require("fs").promises,Ss=require("path"),Es=require("util").promisify(require("child_process").exec),{C:ze}=pe(),{getMergeConflicts:gu}=fs();async function ot(e){try{return await e()}catch{return null}}async function Ty(e){let t=[],n=Ss.join(e,"package.json");if(await ot(()=>st.access(n).then(()=>!0).catch(()=>!1)))try{let m=await st.readFile(n,"utf-8"),h=JSON.parse(m),f={name:h.name,version:h.version};h.scripts&&(f.scripts=Object.keys(h.scripts).slice(0,15)),h.dependencies&&(f.deps=Object.keys(h.dependencies).length),h.devDependencies&&(f.devDeps=Object.keys(h.devDependencies).length),t.push(`PACKAGE: ${JSON.stringify(f)}`)}catch{}let o=Ss.join(e,"README.md");if(await ot(()=>st.access(o).then(()=>!0).catch(()=>!1))){let h=(await st.readFile(o,"utf-8")).split(`
|
|
161
|
+
`).slice(0,50);t.push(`README (first 50 lines):
|
|
162
|
+
${h.join(`
|
|
163
|
+
`)}`)}let a=await ot(async()=>{let{stdout:m}=await Es("git branch --show-current",{cwd:e,timeout:5e3});return m.trim()});a&&t.push(`GIT BRANCH: ${a}`);let c=await ot(async()=>{let{stdout:m}=await Es("git status --short",{cwd:e,timeout:5e3});return m.trim()});c&&t.push(`GIT STATUS:
|
|
164
|
+
${c}`);let p=await ot(async()=>{let{stdout:m}=await Es("git log --oneline -5",{cwd:e,timeout:5e3});return m.trim()});p&&t.push(`RECENT COMMITS:
|
|
165
|
+
${p}`);let u=await gu();if(u.length>0){let m=u.map(h=>` ${h.file}`).join(`
|
|
166
|
+
`);t.push(`MERGE CONFLICTS (resolve before editing these files):
|
|
167
|
+
${m}`)}let l=Ss.join(e,".gitignore");if(await ot(()=>st.access(l).then(()=>!0).catch(()=>!1))){let m=await st.readFile(l,"utf-8");t.push(`GITIGNORE:
|
|
168
|
+
${m.trim()}`)}return t.join(`
|
|
169
|
+
|
|
170
|
+
`)}async function Ry(e){let t=Ss.join(e,"package.json"),n="";if(await ot(()=>st.access(t).then(()=>!0).catch(()=>!1)))try{let a=await st.readFile(t,"utf-8"),c=JSON.parse(a);n=`${c.name||"?"} v${c.version||"?"}`}catch{}let o=await ot(async()=>{let{stdout:a}=await Es("git branch --show-current",{cwd:e,timeout:5e3});return a.trim()});n&&console.log(`${ze.dim} project: ${n}${ze.reset}`),o&&console.log(`${ze.dim} branch: ${o}${ze.reset}`);let i=await gu();if(i.length>0){console.log(`${ze.red} \u26A0 ${i.length} unresolved merge conflict(s):${ze.reset}`);for(let a of i)console.log(`${ze.red} ${a.file}${ze.reset}`);console.log(`${ze.yellow} \u2192 Resolve conflicts before starting tasks${ze.reset}`)}console.log()}xu.exports={gatherProjectContext:Ty,printContext:Ry}});var ku=_((i_,wu)=>{var{callChat:Cy}=Ie(),{estimateTokens:Ci}=Ts(),bu=process.env.NEX_COMPACTION!=="false",vu=6,yu=500,Ay=`Summarize this conversation history concisely. Focus on:
|
|
171
|
+
- What files were read, created, or modified
|
|
172
|
+
- Key decisions made and their rationale
|
|
173
|
+
- Current state of the task (what's done, what's pending)
|
|
174
|
+
- Any errors encountered and how they were resolved
|
|
175
|
+
Be factual and brief. Use bullet points. Max 300 words.`;async function Oy(e){if(!bu||e.length<vu)return null;let t=[{role:"system",content:Ay},{role:"user",content:$u(e)}];try{let s=((await Cy(t,[],{temperature:0,maxTokens:yu})).content||"").trim();if(!s)return null;let o=e.reduce((a,c)=>a+Ci(c.content||"")+(c.tool_calls?Ci(JSON.stringify(c.tool_calls)):0),0),i=Ci(s);return i>=o*.8?null:{message:{role:"system",content:`[Conversation Summary \u2014 ${e.length} messages compacted]
|
|
176
|
+
${s}`,_compacted:!0,_originalCount:e.length},tokensRemoved:o-i}}catch{return null}}function $u(e){return e.map(t=>{let n=t.role==="tool"?"tool_result":t.role,s=(t.content||"").substring(0,500);if(t.tool_calls){let o=t.tool_calls.map(i=>i.function?.name).join(", ");return`[${n}] ${s}
|
|
177
|
+
tools: ${o}`}return`[${n}] ${s}`}).join(`
|
|
178
|
+
|
|
179
|
+
`)}wu.exports={compactMessages:Oy,formatMessagesForSummary:$u,COMPACTION_ENABLED:bu,COMPACTION_MIN_MESSAGES:vu,COMPACTION_SUMMARY_BUDGET:yu}});var Ts=_((a_,Cu)=>{var{getActiveModel:_u}=Ie(),jy={anthropic:3.5,openai:4,gemini:4,ollama:4,local:4};function Py(){try{let t=_u()?.provider||"ollama";return jy[t]||4}catch{return 4}}function bt(e){return e?(typeof e!="string"&&(e=JSON.stringify(e)),Math.ceil(e.length/Py())):0}function _n(e){let n=4;if(e.content&&(n+=bt(e.content)),e.tool_calls)for(let s of e.tool_calls){n+=4,n+=bt(s.function?.name||"");let o=s.function?.arguments;typeof o=="string"?n+=bt(o):o&&(n+=bt(JSON.stringify(o)))}return n}function De(e){let t=0;for(let n of e)t+=_n(n);return t}function Rs(e){return!e||e.length===0?0:bt(JSON.stringify(e))}function Cs(){return _u()?.contextWindow||32768}function Ny(e,t){let n=De(e),s=Rs(t),o=n+s,i=Cs(),a=i>0?o/i*100:0,c=0,p=0,u=0;for(let l of e){let d=_n(l);l.role==="system"?c+=d:l.role==="tool"?u+=d:p+=d}return{used:o,limit:i,percentage:Math.round(a*10)/10,breakdown:{system:c,conversation:p,toolResults:u,toolDefinitions:s},messageCount:e.length}}var Su=.75,Eu=.1,Tu=10,Ly=200,qy=500;function Ru(e,t){if(!e||e.length<=t)return e;let s=/^(ERROR|EXIT|BLOCKED|CANCELLED)/i.test(e)?t*3:t;if(e.length<=s)return e;let o=e.split(`
|
|
180
|
+
`);if(o.length<=10){let f=Math.floor(s*.6),x=Math.floor(s*.4),b=e.substring(0,f),v=e.substring(e.length-x);return b+`
|
|
181
|
+
...(${e.length} chars total)...
|
|
182
|
+
`+v}let i=Math.floor(o.length*.4),a=Math.floor(o.length*.4),c=[],p=0,u=Math.floor(s*.4);for(let f=0;f<i&&p<u;f++)c.push(o[f]),p+=o[f].length+1;let l=[],d=0,m=Math.floor(s*.4);for(let f=o.length-1;f>=o.length-a&&d<m;f--)l.unshift(o[f]),d+=o[f].length+1;let h=o.length-c.length-l.length;return c.join(`
|
|
183
|
+
`)+`
|
|
184
|
+
...(${h} lines omitted, ${o.length} total)...
|
|
185
|
+
`+l.join(`
|
|
186
|
+
`)}function kn(e,t="light"){let n=t==="aggressive"?100:t==="medium"?200:qy,s=t==="aggressive"?50:t==="medium"?100:Ly;if(e.role==="tool"){let o=typeof e.content=="string"?e.content:JSON.stringify(e.content);return o.length>s?{...e,content:Ru(o,s)}:e}if(e.role==="assistant"){let o={...e};return o.content&&o.content.length>n&&(o.content=o.content.substring(0,n)+`
|
|
187
|
+
...(truncated)`),o.tool_calls&&t==="aggressive"&&(o.tool_calls=o.tool_calls.map(i=>({...i,function:{name:i.function.name,arguments:typeof i.function.arguments=="string"?i.function.arguments.substring(0,50):i.function.arguments}}))),o}return e}async function My(e,t,n={}){let s=n.threshold??Su,o=n.safetyMargin??Eu,i=n.keepRecent??Tu,a=Cs(),c=Rs(t),p=Math.floor(a*(s-o)),u=p-c,l=De(e),d=l+c;if(d<=p)return{messages:e,compressed:!1,compacted:!1,tokensRemoved:0};let m=l,h=null,f=0;e.length>0&&e[0].role==="system"&&(h=e[0],f=1);let x=Math.max(f,e.length-i),b=e.slice(f,x),v=e.slice(x),$=b.filter(E=>!E._compacted);if($.length>=6)try{let{compactMessages:E}=ku(),C=await E($);if(C){let F=[...b.filter(ne=>ne._compacted),C.message],B=xt(h,F,v),W=De(B);if(W+c<=p)return{messages:B,compressed:!0,compacted:!0,tokensRemoved:m-W};b=F}}catch{}let T=(d-p)/p,w=b.map(E=>kn(E,"light")),R=xt(h,w,v),S=De(R);if(S+c<=p)return{messages:R,compressed:!0,compacted:!1,tokensRemoved:m-S};if(w=b.map(E=>kn(E,"medium")),R=xt(h,w,v),S=De(R),S+c<=p)return{messages:R,compressed:!0,compacted:!1,tokensRemoved:m-S};if(w=b.map(E=>kn(E,"aggressive")),R=xt(h,w,v),S=De(R),S+c<=p)return{messages:R,compressed:!0,compacted:!1,tokensRemoved:m-S};for(;w.length>0&&S+c>u;){let E=w.shift();S-=_n(E)}return R=xt(h,w,v),S=De(R),{messages:R,compressed:!0,compacted:!1,tokensRemoved:m-S}}function xt(e,t,n){let s=[];return e&&s.push(e),s.push(...t,...n),s}function Fy(e,t){if(!e)return"";if(bt(e)<=t)return e;let s=t*4,o=e.split(`
|
|
188
|
+
`),i=Math.floor(s*.6),a=Math.floor(s*.4),c="",p=0;for(let h of o){if(c.length+h.length+1>i)break;c+=(c?`
|
|
189
|
+
`:"")+h,p++}let u="",l=0;for(let h=o.length-1;h>=p;h--){let f=o[h]+(u?`
|
|
190
|
+
`:"")+u;if(f.length>a)break;u=f,l++}let m=`
|
|
191
|
+
|
|
192
|
+
... (${o.length-p-l} lines omitted, ${o.length} total) ...
|
|
193
|
+
|
|
194
|
+
`;return c+m+u}var Iy=6;function Dy(e,t){let n=Cs(),s=Rs(t),o=Math.floor(n*.5)-s,i=De(e),a=null,c=0;e.length>0&&e[0].role==="system"&&(a=e[0],c=1);let p=Math.max(c,e.length-Iy),u=e.slice(c,p),l=e.slice(p),d=u.map(f=>kn(f,"aggressive")),m=xt(a,d,l),h=De(m);for(;d.length>0&&h>o;){let f=d.shift();h-=_n(f)}return m=xt(a,d,l),h=De(m),{messages:m,tokensRemoved:i-h}}Cu.exports={estimateTokens:bt,estimateMessageTokens:_n,estimateMessagesTokens:De,estimateToolsTokens:Rs,getContextWindow:Cs,getUsage:Ny,compressMessage:kn,compressToolResult:Ru,fitToContext:My,forceCompress:Dy,truncateFileContent:Fy,COMPRESSION_THRESHOLD:Su,SAFETY_MARGIN:Eu,KEEP_RECENT:Tu}});var ji=_((r_,Nu)=>{var Ve=require("fs"),Ai=require("path");function As(){return Ai.join(process.cwd(),".nex","sessions")}function Au(){let e=As();Ve.existsSync(e)||Ve.mkdirSync(e,{recursive:!0})}function Oi(e){let t=e.replace(/[^a-zA-Z0-9_-]/g,"_").substring(0,100);return Ai.join(As(),`${t}.json`)}function Ou(e,t,n={}){Au();let s=Oi(e),o={name:e,createdAt:n.createdAt||new Date().toISOString(),updatedAt:new Date().toISOString(),messageCount:t.length,model:n.model||null,provider:n.provider||null,messages:t};return Ve.writeFileSync(s,JSON.stringify(o,null,2),"utf-8"),{path:s,name:e}}function ju(e){let t=Oi(e);if(!Ve.existsSync(t))return null;try{return JSON.parse(Ve.readFileSync(t,"utf-8"))}catch{return null}}function Pu(){Au();let e=As(),t=Ve.readdirSync(e).filter(s=>s.endsWith(".json")),n=[];for(let s of t)try{let o=JSON.parse(Ve.readFileSync(Ai.join(e,s),"utf-8"));n.push({name:o.name||s.replace(".json",""),createdAt:o.createdAt,updatedAt:o.updatedAt,messageCount:o.messageCount||0,model:o.model,provider:o.provider})}catch{}return n.sort((s,o)=>(o.updatedAt||"").localeCompare(s.updatedAt||""))}function Uy(e){let t=Oi(e);return Ve.existsSync(t)?(Ve.unlinkSync(t),!0):!1}function By(){let e=Pu();return e.length===0?null:ju(e[0].name)}function zy(e,t={}){e.length!==0&&Ou("_autosave",e,t)}Nu.exports={saveSession:Ou,loadSession:ju,listSessions:Pu,deleteSession:Uy,getLastSession:By,autoSave:zy,_getSessionsDir:As}});var Li=_((c_,Du)=>{var Ye=require("fs"),Os=require("path"),Wy=require("os");function Pi(){return Os.join(process.cwd(),".nex","memory")}function Ni(){return Os.join(Pi(),"memory.json")}function Hy(){return Os.join(process.cwd(),"NEX.md")}function Lu(){return Os.join(Wy.homedir(),".nex","NEX.md")}function Gy(){let e=Pi();Ye.existsSync(e)||Ye.mkdirSync(e,{recursive:!0})}function js(){let e=Ni();if(!Ye.existsSync(e))return{};try{return JSON.parse(Ye.readFileSync(e,"utf-8"))}catch{return{}}}function qu(e){Gy(),Ye.writeFileSync(Ni(),JSON.stringify(e,null,2),"utf-8")}function Ky(e,t){let n=js();n[e]={value:t,updatedAt:new Date().toISOString()},qu(n)}function Jy(e){let t=js();return t[e]?t[e].value:null}function Vy(e){let t=js();return e in t?(delete t[e],qu(t),!0):!1}function Mu(){let e=js();return Object.entries(e).map(([t,n])=>({key:t,value:n.value,updatedAt:n.updatedAt}))}function Fu(){let e=Lu();if(!Ye.existsSync(e))return"";try{return Ye.readFileSync(e,"utf-8").trim()}catch{return""}}function Iu(){let e=Hy();if(!Ye.existsSync(e))return"";try{return Ye.readFileSync(e,"utf-8").trim()}catch{return""}}function Yy(){let e=[],t=Fu();t&&e.push(`GLOBAL INSTRUCTIONS (~/.nex/NEX.md):
|
|
195
|
+
${t}`);let n=Iu();n&&e.push(`PROJECT INSTRUCTIONS (NEX.md):
|
|
196
|
+
${n}`);let s=Mu();if(s.length>0){let o=s.map(i=>` ${i.key}: ${i.value}`).join(`
|
|
197
|
+
`);e.push(`PROJECT MEMORY:
|
|
198
|
+
${o}`)}return e.join(`
|
|
199
|
+
|
|
200
|
+
`)}Du.exports={remember:Ky,recall:Jy,forget:Vy,listMemories:Mu,loadGlobalInstructions:Fu,loadProjectInstructions:Iu,getMemoryContext:Yy,_getMemoryDir:Pi,_getMemoryFile:Ni,_getGlobalNexMdPath:Lu}});var Mi=_((p_,zu)=>{var vt=require("fs"),qi=require("path"),{C:l_}=pe(),Ps={bash:"ask",read_file:"allow",write_file:"ask",edit_file:"ask",list_directory:"allow",search_files:"allow",glob:"allow",grep:"allow",patch_file:"ask",web_fetch:"allow",web_search:"allow",ask_user:"allow",task_list:"allow",spawn_agents:"ask"},Gt={...Ps};function Uu(){let e=qi.join(process.cwd(),".nex","config.json");if(vt.existsSync(e))try{let t=JSON.parse(vt.readFileSync(e,"utf-8"));t.permissions&&(Gt={...Ps,...t.permissions})}catch{}}function Xy(){let e=qi.join(process.cwd(),".nex"),t=qi.join(e,"config.json"),n={};if(vt.existsSync(t))try{n=JSON.parse(vt.readFileSync(t,"utf-8"))}catch{n={}}n.permissions=Gt,vt.existsSync(e)||vt.mkdirSync(e,{recursive:!0}),vt.writeFileSync(t,JSON.stringify(n,null,2),"utf-8")}function Bu(e){return Gt[e]||"ask"}function Qy(e,t){return["allow","ask","deny"].includes(t)?(Gt[e]=t,!0):!1}function Zy(e){return Bu(e)}function e$(){return Object.entries(Gt).map(([e,t])=>({tool:e,mode:t}))}function t$(){Gt={...Ps}}Uu();zu.exports={getPermission:Bu,setPermission:Qy,checkPermission:Zy,listPermissions:e$,loadPermissions:Uu,savePermissions:Xy,resetPermissions:t$,DEFAULT_PERMISSIONS:Ps}});var Ii=_((d_,Ku)=>{var yt=require("fs"),Ns=require("path"),u_=require("readline"),{C:z}=pe(),re=null,Fi=!1;function Ls(){return Ns.join(process.cwd(),".nex","plans")}function Wu(){let e=Ls();yt.existsSync(e)||yt.mkdirSync(e,{recursive:!0})}function n$(e,t=[]){return re={name:`plan-${Date.now()}-${Math.random().toString(36).slice(2,6)}`,task:e,steps:t.map(n=>({description:n.description||n,files:n.files||[],status:"pending"})),status:"draft",createdAt:new Date().toISOString()},re}function s$(){return re}function o$(e){Fi=e}function i$(){return Fi}function a$(){return!re||re.status!=="draft"?!1:(re.status="approved",re.updatedAt=new Date().toISOString(),!0)}function r$(){return!re||re.status!=="approved"?!1:(re.status="executing",!0)}function c$(e,t){return!re||e<0||e>=re.steps.length?!1:(re.steps[e].status=t,re.updatedAt=new Date().toISOString(),re.steps.every(n=>n.status==="done"||n.status==="skipped")&&(re.status="completed"),!0)}function l$(e){if(!e)return`${z.dim}No active plan${z.reset}`;let t={draft:`${z.yellow}DRAFT${z.reset}`,approved:`${z.green}APPROVED${z.reset}`,executing:`${z.blue}EXECUTING${z.reset}`,completed:`${z.green}COMPLETED${z.reset}`},n=[];n.push(`
|
|
201
|
+
${z.bold}${z.cyan}Plan: ${e.task}${z.reset}`),n.push(`${z.dim}Status: ${t[e.status]||e.status}${z.reset}
|
|
202
|
+
`);for(let s=0;s<e.steps.length;s++){let o=e.steps[s],i;switch(o.status){case"done":i=`${z.green}\u2713${z.reset}`;break;case"in_progress":i=`${z.blue}\u2192${z.reset}`;break;case"skipped":i=`${z.dim}\u25CB${z.reset}`;break;default:i=`${z.dim} ${z.reset}`}n.push(` ${i} ${z.bold}Step ${s+1}:${z.reset} ${o.description}`),o.files.length>0&&n.push(` ${z.dim}Files: ${o.files.join(", ")}${z.reset}`)}return n.push(""),n.join(`
|
|
203
|
+
`)}function p$(e){if(e||(e=re),!e)return null;Wu();let t=Ns.join(Ls(),`${e.name}.json`);return yt.writeFileSync(t,JSON.stringify(e,null,2),"utf-8"),t}function u$(e){let t=Ns.join(Ls(),`${e}.json`);if(!yt.existsSync(t))return null;try{let n=JSON.parse(yt.readFileSync(t,"utf-8"));return re=n,n}catch{return null}}function d$(){Wu();let e=Ls(),t=yt.readdirSync(e).filter(s=>s.endsWith(".json")),n=[];for(let s of t)try{let o=JSON.parse(yt.readFileSync(Ns.join(e,s),"utf-8"));n.push({name:o.name,task:o.task,status:o.status,steps:o.steps?o.steps.length:0,createdAt:o.createdAt})}catch{}return n.sort((s,o)=>(o.createdAt||"").localeCompare(s.createdAt||""))}function m$(){re=null,Fi=!1}function f$(){return`
|
|
204
|
+
PLAN MODE ACTIVE: You are in analysis-only mode.
|
|
205
|
+
|
|
206
|
+
# Restrictions
|
|
207
|
+
- Use ONLY read operations: read_file, list_directory, search_files, glob, grep
|
|
208
|
+
- DO NOT modify any files (no write_file, edit_file, patch_file, bash with write ops)
|
|
209
|
+
|
|
210
|
+
# Analysis Phase
|
|
211
|
+
Investigate before planning:
|
|
212
|
+
- Scope: What files and modules are affected?
|
|
213
|
+
- Architecture: How does the current code work? What patterns does it follow?
|
|
214
|
+
- Dependencies: What depends on the code being changed? What might break?
|
|
215
|
+
- Tests: What test coverage exists? What new tests are needed?
|
|
216
|
+
|
|
217
|
+
# Plan Output Format
|
|
218
|
+
For each step, provide:
|
|
219
|
+
- **What**: Clear description of the change
|
|
220
|
+
- **Where**: Specific files and line ranges
|
|
221
|
+
- **How**: Implementation approach (edit, create, delete)
|
|
222
|
+
- **Risk**: What could go wrong and how to mitigate
|
|
223
|
+
|
|
224
|
+
# Rules
|
|
225
|
+
- Order steps by dependency \u2014 later steps can depend on earlier ones, not vice versa.
|
|
226
|
+
- Flag steps that need tests and specify what to test.
|
|
227
|
+
- List any assumptions you're making about the codebase.
|
|
228
|
+
- Present the plan to the user and wait for explicit "approve" before executing.`}var Hu=["interactive","semi-auto","autonomous"],Gu="interactive";function h$(e){return Hu.includes(e)?(Gu=e,!0):!1}function g$(){return Gu}Ku.exports={createPlan:n$,getActivePlan:s$,setPlanMode:o$,isPlanMode:i$,approvePlan:a$,startExecution:r$,updateStep:c$,formatPlan:l$,savePlan:p$,loadPlan:u$,listPlans:d$,clearPlan:m$,getPlanModePrompt:f$,setAutonomyLevel:h$,getAutonomyLevel:g$,AUTONOMY_LEVELS:Hu}});var sd=_((m_,nd)=>{var{C:y}=pe();function x$(e){if(!e)return"";let t=e.split(`
|
|
229
|
+
`),n=[],s=!1,o="";for(let i of t){if(i.trim().startsWith("```")){if(s)n.push(`${y.dim}${"\u2500".repeat(40)}${y.reset}`),s=!1,o="";else{s=!0,o=i.trim().substring(3).trim();let a=o?` ${o} `:"";n.push(`${y.dim}${"\u2500".repeat(3)}${a}${"\u2500".repeat(Math.max(0,37-a.length))}${y.reset}`)}continue}if(s){n.push(` ${Ui(i,o)}`);continue}if(i.startsWith("### ")){n.push(`${y.bold}${y.cyan} ${i.substring(4)}${y.reset}`);continue}if(i.startsWith("## ")){n.push(`${y.bold}${y.cyan} ${i.substring(3)}${y.reset}`);continue}if(i.startsWith("# ")){n.push(`${y.bold}${y.cyan}${i.substring(2)}${y.reset}`);continue}if(/^\s*[-*]\s/.test(i)){let a=i.match(/^(\s*)/)[1],c=i.replace(/^\s*[-*]\s/,"");n.push(`${a}${y.cyan}\u2022${y.reset} ${$t(c)}`);continue}if(/^\s*\d+\.\s/.test(i)){let a=i.match(/^(\s*)(\d+)\.\s(.*)/);if(a){n.push(`${a[1]}${y.cyan}${a[2]}.${y.reset} ${$t(a[3])}`);continue}}n.push($t(i))}return n.join(`
|
|
230
|
+
`)}function $t(e){return e?e.replace(/`([^`]+)`/g,`${y.cyan}$1${y.reset}`).replace(/\*\*([^*]+)\*\*/g,`${y.bold}$1${y.reset}`).replace(/\*([^*]+)\*/g,`${y.dim}$1${y.reset}`).replace(/\[([^\]]+)\]\(([^)]+)\)/g,`${y.cyan}$1${y.reset} ${y.dim}($2)${y.reset}`):""}function Ui(e,t){return e?["js","javascript","ts","typescript","jsx","tsx"].includes(t)||!t?Ju(e):t==="bash"||t==="sh"||t==="shell"||t==="zsh"?Vu(e):t==="json"||t==="jsonc"?Yu(e):t==="python"||t==="py"?Xu(e):t==="go"||t==="golang"?Qu(e):t==="rust"||t==="rs"?Zu(e):t==="css"||t==="scss"||t==="less"?ed(e):t==="html"||t==="xml"||t==="svg"||t==="htm"?td(e):e:""}function Ju(e){let t=/\b(const|let|var|function|return|if|else|for|while|class|import|export|from|require|async|await|new|this|throw|try|catch|switch|case|break|default|typeof|instanceof)\b/g,n=/(["'`])(?:(?=(\\?))\2.)*?\1/g,s=/(\/\/.*$)/,o=/\b(\d+\.?\d*)\b/g,i=e;return i=i.replace(o,`${y.yellow}$1${y.reset}`),i=i.replace(t,`${y.magenta}$1${y.reset}`),i=i.replace(n,`${y.green}$&${y.reset}`),i=i.replace(s,`${y.dim}$1${y.reset}`),i}function Vu(e){let t=/^(\s*)([\w-]+)/,n=/(--?\w[\w-]*)/g,s=/(["'])(?:(?=(\\?))\2.)*?\1/g,o=/(#.*$)/,i=e;return i=i.replace(n,`${y.cyan}$1${y.reset}`),i=i.replace(t,`$1${y.green}$2${y.reset}`),i=i.replace(s,`${y.yellow}$&${y.reset}`),i=i.replace(o,`${y.dim}$1${y.reset}`),i}function Yu(e){let t=/("[\w-]+")\s*:/g,n=/:\s*("(?:[^"\\]|\\.)*")/g,s=/:\s*(\d+\.?\d*)/g,o=/:\s*(true|false|null)/g,i=e;return i=i.replace(t,`${y.cyan}$1${y.reset}:`),i=i.replace(n,`: ${y.green}$1${y.reset}`),i=i.replace(s,`: ${y.yellow}$1${y.reset}`),i=i.replace(o,`: ${y.magenta}$1${y.reset}`),i}function Xu(e){let t=/\b(def|class|if|elif|else|for|while|return|import|from|as|try|except|finally|raise|with|yield|lambda|pass|break|continue|and|or|not|in|is|None|True|False|self|async|await|nonlocal|global)\b/g,n=/("""[\s\S]*?"""|'''[\s\S]*?'''|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/g,s=/(#.*$)/,o=/\b(\d+\.?\d*)\b/g,i=/^(\s*@\w+)/,a=e;return a=a.replace(o,`${y.yellow}$1${y.reset}`),a=a.replace(t,`${y.magenta}$1${y.reset}`),a=a.replace(i,`${y.cyan}$1${y.reset}`),a=a.replace(n,`${y.green}$&${y.reset}`),a=a.replace(s,`${y.dim}$1${y.reset}`),a}function Qu(e){let t=/\b(func|package|import|var|const|type|struct|interface|map|chan|go|defer|return|if|else|for|range|switch|case|default|break|continue|select|fallthrough|nil|true|false|make|new|len|cap|append|copy|delete|panic|recover)\b/g,n=/\b(string|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|float32|float64|bool|byte|rune|error|any)\b/g,s=/(["'`])(?:(?=(\\?))\2.)*?\1/g,o=/(\/\/.*$)/,i=/\b(\d+\.?\d*)\b/g,a=e;return a=a.replace(i,`${y.yellow}$1${y.reset}`),a=a.replace(n,`${y.cyan}$1${y.reset}`),a=a.replace(t,`${y.magenta}$1${y.reset}`),a=a.replace(s,`${y.green}$&${y.reset}`),a=a.replace(o,`${y.dim}$1${y.reset}`),a}function Zu(e){let t=/\b(fn|let|mut|const|struct|enum|impl|trait|pub|use|mod|crate|self|super|match|if|else|for|while|loop|return|break|continue|where|as|in|ref|move|async|await|unsafe|extern|type|static|dyn|macro_rules)\b/g,n=/\b(i8|i16|i32|i64|i128|u8|u16|u32|u64|u128|f32|f64|bool|char|str|String|Vec|Option|Result|Box|Rc|Arc|Self|Some|None|Ok|Err|true|false)\b/g,s=/(["'])(?:(?=(\\?))\2.)*?\1/g,o=/(\/\/.*$)/,i=/\b(\d+\.?\d*)\b/g,a=/\b(\w+!)/g,c=e;return c=c.replace(i,`${y.yellow}$1${y.reset}`),c=c.replace(n,`${y.cyan}$1${y.reset}`),c=c.replace(t,`${y.magenta}$1${y.reset}`),c=c.replace(a,`${y.yellow}$1${y.reset}`),c=c.replace(s,`${y.green}$&${y.reset}`),c=c.replace(o,`${y.dim}$1${y.reset}`),c}function ed(e){let t=/^(\s*)([\w-]+)\s*:/,n=/:\s*([^;]+)/,s=/^(\s*[.#@][\w-]+)/,o=/\b(\d+\.?\d*(px|em|rem|%|vh|vw|s|ms|deg|fr)?)\b/g,i=/(\/\*.*?\*\/|\/\/.*$)/,a=/(#[0-9a-fA-F]{3,8})\b/g,c=e;return c=c.replace(a,`${y.yellow}$1${y.reset}`),c=c.replace(o,`${y.yellow}$1${y.reset}`),c=c.replace(t,`$1${y.cyan}$2${y.reset}:`),c=c.replace(s,`$1${y.magenta}$&${y.reset}`),c=c.replace(i,`${y.dim}$1${y.reset}`),c}function td(e){let t=/<\/?(\w[\w-]*)/g,n=/\s([\w-]+)=/g,s=/(["'])(?:(?=(\\?))\2.)*?\1/g,o=/(<!--.*?-->)/g,i=/(&\w+;)/g,a=e;return a=a.replace(o,`${y.dim}$1${y.reset}`),a=a.replace(s,`${y.green}$&${y.reset}`),a=a.replace(t,`<${y.magenta}$1${y.reset}`),a=a.replace(n,` ${y.cyan}$1${y.reset}=`),a=a.replace(i,`${y.yellow}$1${y.reset}`),a}function b$(e,t){if(!e||e.length===0)return"";let n=e.map((a,c)=>{let p=t.reduce((u,l)=>Math.max(u,(l[c]||"").length),0);return Math.max(a.length,p)}),s=n.map(a=>"\u2500".repeat(a+2)).join("\u253C"),o=e.map((a,c)=>` ${y.bold}${a.padEnd(n[c])}${y.reset} `).join("\u2502"),i=[];i.push(`${y.dim}\u250C${s.replace(/┼/g,"\u252C")}\u2510${y.reset}`),i.push(`${y.dim}\u2502${y.reset}${o}${y.dim}\u2502${y.reset}`),i.push(`${y.dim}\u251C${s}\u2524${y.reset}`);for(let a of t){let c=e.map((p,u)=>` ${(a[u]||"").padEnd(n[u])} `).join(`${y.dim}\u2502${y.reset}`);i.push(`${y.dim}\u2502${y.reset}${c}${y.dim}\u2502${y.reset}`)}return i.push(`${y.dim}\u2514${s.replace(/┼/g,"\u2534")}\u2518${y.reset}`),i.join(`
|
|
231
|
+
`)}function v$(e,t,n,s=30){let o=n>0?Math.round(t/n*100):0,i=Math.round(o/100*s),a=s-i,c=o>=100?y.green:o>50?y.yellow:y.cyan;return` ${e} ${c}${"\u2588".repeat(i)}${y.dim}${"\u2591".repeat(a)}${y.reset} ${o}% (${t}/${n})`}var Di=class{constructor(){this.buffer="",this.inCodeBlock=!1,this.codeBlockLang="",this.lineCount=0,this._cursorTimer=null,this._cursorFrame=0,this._cursorActive=!1}_safeWrite(t){try{process.stdout.write(t)}catch(n){if(n.code!=="EPIPE")throw n}}_cursorWrite(t){try{process.stderr.write(t)}catch(n){if(n.code!=="EPIPE")throw n}}startCursor(){this._cursorActive=!0,this._cursorFrame=0,this._cursorWrite("\x1B[?25l"),this._renderCursor(),this._cursorTimer=setInterval(()=>this._renderCursor(),80)}_renderCursor(){let t=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],n=t[this._cursorFrame%t.length];this._cursorWrite(`\x1B[2K\r\x1B[36m${n}\x1B[0m`),this._cursorFrame++}_clearCursorLine(){this._cursorActive&&this._cursorWrite("\x1B[2K\r")}stopCursor(){this._cursorTimer&&(clearInterval(this._cursorTimer),this._cursorTimer=null),this._cursorActive&&(this._cursorWrite("\x1B[2K\r\x1B[?25h"),this._cursorActive=!1)}push(t){if(!t)return;this._clearCursorLine(),this.buffer+=t;let n;for(;(n=this.buffer.indexOf(`
|
|
232
|
+
`))!==-1;){let s=this.buffer.substring(0,n);this.buffer=this.buffer.substring(n+1),this._renderLine(s)}this._cursorActive&&(this._renderCursor(),this._cursorTimer&&clearInterval(this._cursorTimer),this._cursorTimer=setInterval(()=>this._renderCursor(),120))}flush(){this.stopCursor(),this.buffer&&(this._renderLine(this.buffer),this.buffer=""),this.inCodeBlock&&(this._safeWrite(`${y.dim}${"\u2500".repeat(40)}${y.reset}
|
|
233
|
+
`),this.inCodeBlock=!1,this.codeBlockLang="")}_renderLine(t){if(t.trim().startsWith("```")){if(this.inCodeBlock)this._safeWrite(`${y.dim}${"\u2500".repeat(40)}${y.reset}
|
|
234
|
+
`),this.inCodeBlock=!1,this.codeBlockLang="";else{this.inCodeBlock=!0,this.codeBlockLang=t.trim().substring(3).trim();let n=this.codeBlockLang?` ${this.codeBlockLang} `:"";this._safeWrite(`${y.dim}${"\u2500".repeat(3)}${n}${"\u2500".repeat(Math.max(0,37-n.length))}${y.reset}
|
|
235
|
+
`)}return}if(this.inCodeBlock){this._safeWrite(` ${Ui(t,this.codeBlockLang)}
|
|
236
|
+
`);return}if(t.startsWith("### ")){this._safeWrite(`${y.bold}${y.cyan} ${t.substring(4)}${y.reset}
|
|
237
|
+
`);return}if(t.startsWith("## ")){this._safeWrite(`${y.bold}${y.cyan} ${t.substring(3)}${y.reset}
|
|
238
|
+
`);return}if(t.startsWith("# ")){this._safeWrite(`${y.bold}${y.cyan}${t.substring(2)}${y.reset}
|
|
239
|
+
`);return}if(/^\s*[-*]\s/.test(t)){let n=t.match(/^(\s*)/)[1],s=t.replace(/^\s*[-*]\s/,"");this._safeWrite(`${n}${y.cyan}\u2022${y.reset} ${$t(s)}
|
|
240
|
+
`);return}if(/^\s*\d+\.\s/.test(t)){let n=t.match(/^(\s*)(\d+)\.\s(.*)/);if(n){this._safeWrite(`${n[1]}${y.cyan}${n[2]}.${y.reset} ${$t(n[3])}
|
|
241
|
+
`);return}}this._safeWrite(`${$t(t)}
|
|
242
|
+
`)}};nd.exports={renderMarkdown:x$,renderInline:$t,highlightCode:Ui,highlightJS:Ju,highlightBash:Vu,highlightJSON:Yu,highlightPython:Xu,highlightGo:Qu,highlightRust:Zu,highlightCSS:ed,highlightHTML:td,renderTable:b$,renderProgress:v$,StreamRenderer:Di}});var Wi=_((f_,rd)=>{var{execSync:y$}=require("child_process"),Bi=require("path"),Sn=require("fs"),zi=["pre-tool","post-tool","pre-commit","post-response","session-start","session-end"];function od(){return Bi.join(process.cwd(),".nex","hooks")}function $$(){return Bi.join(process.cwd(),".nex","config.json")}function id(){let e=$$();if(!Sn.existsSync(e))return{};try{return JSON.parse(Sn.readFileSync(e,"utf-8")).hooks||{}}catch{return{}}}function qs(e){if(!zi.includes(e))return[];let t=[],n=od(),s=Bi.join(n,e);Sn.existsSync(s)&&t.push(s);let o=id();if(o[e]){let i=Array.isArray(o[e])?o[e]:[o[e]];t.push(...i)}return t}function ad(e,t={},n=3e4){try{return{success:!0,output:y$(e,{cwd:process.cwd(),encoding:"utf-8",timeout:n,env:{...process.env,...t},stdio:["pipe","pipe","pipe"]}).trim()}}catch(s){return{success:!1,error:s.stderr?s.stderr.trim():s.message}}}function w$(e,t={}){let n=qs(e);if(n.length===0)return[];let s={};for(let[i,a]of Object.entries(t))s[`NEX_${i.toUpperCase()}`]=String(a);let o=[];for(let i of n){let a=ad(i,s);if(o.push({command:i,...a}),!a.success&&e.startsWith("pre-"))break}return o}function k$(e){return qs(e).length>0}function _$(){let e=[];for(let t of zi){let n=qs(t);n.length>0&&e.push({event:t,commands:n})}return e}function S$(){let e=od();return Sn.existsSync(e)||Sn.mkdirSync(e,{recursive:!0}),e}rd.exports={HOOK_EVENTS:zi,loadHookConfig:id,getHooksForEvent:qs,executeHook:ad,runHooks:w$,hasHooks:k$,listHooks:_$,initHooksDir:S$}});var md=_((x_,dd)=>{var{C:q,Spinner:En,TaskProgress:E$,formatToolCall:T$,formatResult:R$,formatToolSummary:ud,setActiveTaskProgress:h_}=pe(),{callStream:C$}=Ie(),{parseToolArgs:A$}=cs(),{TOOL_DEFINITIONS:Tn,executeTool:O$}=fn(),{gatherProjectContext:j$}=Ri(),{fitToContext:P$,forceCompress:N$,getUsage:L$}=Ts(),{autoSave:wt}=ji(),{getMemoryContext:q$}=Li(),{checkPermission:M$,setPermission:F$,savePermissions:I$}=Mi(),{confirm:D$,setAllowAlwaysHandler:U$}=un(),{isPlanMode:B$,getPlanModePrompt:z$}=Ii(),{StreamRenderer:W$}=sd(),{runHooks:cd}=Wi(),{routeMCPCall:H$,getMCPToolDefinitions:Ji}=xs(),{getSkillInstructions:G$,getSkillToolDefinitions:Vi,routeSkillCall:K$}=hs(),{trackUsage:J$}=ln(),{validateToolArgs:V$}=xi(),{filterToolsForModel:Y$,getModelTier:X$,PROVIDER_DEFAULT_TIER:g_}=yi(),{getConfiguredProviders:Q$}=Ie(),Kt=50;function Z$(e){Number.isFinite(e)&&e>0&&(Kt=e)}var Ms=()=>null;function ew(e){Ms=e}var tw=new Set(["read_file","list_directory","search_files","glob","grep","web_fetch","web_search","git_status","git_diff","git_log"]),Hi=5,Gi=3,ld=2,nw=6e4,sw=12e4,pd=process.cwd();U$(e=>{F$(e,"allow"),I$(),console.log(`${q.green} \u2713 ${e}: always allow${q.reset}`)});async function ow(e){let t=e.function.name,n=A$(e.function.arguments),s=e.id||`cli-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;if(!n){let p=[...Tn,...Vi(),...Ji()].find(l=>l.function.name===t),u=p?JSON.stringify(p.function.parameters,null,2):"unknown";return console.log(`${q.yellow} \u26A0 ${t}: malformed arguments, sending schema hint${q.reset}`),{callId:s,fnName:t,args:null,canExecute:!1,errorResult:{role:"tool",content:`ERROR: Malformed tool arguments. Could not parse your arguments as JSON.
|
|
243
|
+
Raw input: ${typeof e.function.arguments=="string"?e.function.arguments.substring(0,200):"N/A"}
|
|
244
|
+
|
|
245
|
+
Expected JSON schema for "${t}":
|
|
246
|
+
${u}
|
|
247
|
+
|
|
248
|
+
Please retry the tool call with valid JSON arguments matching this schema.`,tool_call_id:s}}}let o=V$(t,n);if(!o.valid)return console.log(`${q.yellow} \u26A0 ${t}: ${o.error.split(`
|
|
249
|
+
`)[0]}${q.reset}`),{callId:s,fnName:t,args:n,canExecute:!1,errorResult:{role:"tool",content:o.error,tool_call_id:s}};let i=o.corrected||n;if(o.corrected){let c=Object.keys(n),p=Object.keys(o.corrected),u=c.filter(l=>!p.includes(l));u.length&&console.log(`${q.dim} \u2713 ${t}: corrected args (${u.join(", ")})${q.reset}`)}let a=M$(t);return a==="deny"?(console.log(`${q.red} \u2717 ${t}: denied by permissions${q.reset}`),{callId:s,fnName:t,args:i,canExecute:!1,errorResult:{role:"tool",content:`DENIED: Tool '${t}' is blocked by permissions`,tool_call_id:s}}):a==="ask"&&!await D$(` Allow ${t}?`,{toolName:t})?{callId:s,fnName:t,args:i,canExecute:!1,errorResult:{role:"tool",content:`CANCELLED: User declined ${t}`,tool_call_id:s}}:{callId:s,fnName:t,args:i,canExecute:!0,errorResult:null}}async function iw(e,t,n={}){let s=await K$(e,t);if(s!==null)return s;let o=await H$(e,t);return o!==null?o:O$(e,t,n)}function aw(e,t){switch(e){case"read_file":case"write_file":case"edit_file":case"patch_file":case"list_directory":return t.path||"";case"bash":return(t.command||"").substring(0,60);case"grep":case"search_files":case"glob":return t.pattern||"";case"web_fetch":return(t.url||"").substring(0,50);case"web_search":return(t.query||"").substring(0,40);default:return""}}async function Ki(e,t=!1){t||console.log(T$(e.fnName,e.args)),cd("pre-tool",{tool_name:e.fnName});let n=await iw(e.fnName,e.args,{silent:!0}),s=String(n??""),o=s.length>5e4?s.substring(0,5e4)+`
|
|
250
|
+
...(truncated ${s.length-5e4} chars)`:s;t||console.log(R$(o)),cd("post-tool",{tool_name:e.fnName});let i=o.split(`
|
|
251
|
+
`)[0],a=i.startsWith("ERROR")||i.includes("CANCELLED")||i.includes("BLOCKED")||e.fnName==="spawn_agents"&&!/✓ Agent/.test(o)&&/✗ Agent/.test(o),c=ud(e.fnName,e.args,o,a);return{msg:{role:"tool",content:o,tool_call_id:e.callId},summary:c}}async function rw(e,t=!1,n={}){let s=new Array(e.length),o=[],i=[],a=null;if(t&&!n.skipSpinner){let p=e.filter(u=>u.canExecute);if(p.length>0){let u;if(p.length===1){let l=p[0];u=`\u25B8 ${l.fnName} ${aw(l.fnName,l.args)}`}else{let l=p.map(d=>d.fnName).join(", ");u=`\u25B8 ${p.length} tools: ${l.length>60?l.substring(0,57)+"...":l}`}a=new En(u),a.start()}}async function c(){if(i.length!==0){if(i.length===1){let p=i[0],{msg:u,summary:l}=await Ki(e[p],t);s[p]=u,o.push(l)}else{let p=i.map(l=>Ki(e[l],t)),u=await Promise.all(p);for(let l=0;l<i.length;l++)s[i[l]]=u[l].msg,o.push(u[l].summary)}i=[]}}for(let p=0;p<e.length;p++){let u=e[p];if(!u.canExecute){await c(),s[p]=u.errorResult,o.push(ud(u.fnName,u.args||{},u.errorResult.content,!0));continue}if(tw.has(u.fnName))i.push(p);else{await c(),u.fnName==="spawn_agents"&&a&&(a.stop(),a=null);let{msg:l,summary:d}=await Ki(u,t);s[p]=l,o.push(d)}}if(await c(),a&&a.stop(),t&&o.length>0&&!n.skipSummaries)for(let p of o)console.log(p);return s}var we=[];function cw(){try{let t=Q$().flatMap(o=>o.models.map(i=>({spec:`${o.name}:${i.id}`,tier:X$(i.id,o.name),name:i.name})));if(t.length<2)return"";let n={full:"complex tasks (refactor, implement, generate)",standard:"regular tasks (edit, fix, analyze)",essential:"simple tasks (read, search, list)"},s=`
|
|
252
|
+
# Sub-Agent Model Routing
|
|
253
|
+
|
|
254
|
+
`;s+='Sub-agents auto-select models by task complexity. Override with `model: "provider:model"` in agent definition.\n\n',s+=`| Model | Tier | Auto-assigned for |
|
|
255
|
+
|---|---|---|
|
|
256
|
+
`;for(let o of t)s+=`| ${o.spec} | ${o.tier} | ${n[o.tier]||o.tier} |
|
|
257
|
+
`;return s}catch{return""}}async function lw(){let e=await j$(pd),t=q$(),n=G$(),s=B$()?z$():"";return`You are Nex Code, an expert coding assistant. You help with programming tasks by reading, writing, and editing files, running commands, and answering questions.
|
|
258
|
+
|
|
259
|
+
WORKING DIRECTORY: ${pd}
|
|
260
|
+
All relative paths resolve from this directory.
|
|
261
|
+
|
|
262
|
+
PROJECT CONTEXT:
|
|
263
|
+
${e}
|
|
264
|
+
${t?`
|
|
265
|
+
${t}
|
|
266
|
+
`:""}${n?`
|
|
267
|
+
${n}
|
|
268
|
+
`:""}${s?`
|
|
269
|
+
${s}
|
|
270
|
+
`:""}
|
|
271
|
+
# Core Behavior
|
|
272
|
+
|
|
273
|
+
- You can use tools OR respond with text. For simple questions, answer directly.
|
|
274
|
+
- For coding tasks, use tools to read files, make changes, run tests, etc.
|
|
275
|
+
- Be concise but complete. Keep responses focused while ensuring the user gets the information they asked for.
|
|
276
|
+
- When referencing code, include file:line (e.g. src/app.js:42) so the user can navigate.
|
|
277
|
+
- Do not make up file paths or URLs. Use tools to discover them.
|
|
278
|
+
|
|
279
|
+
# Response Quality (Critical)
|
|
280
|
+
|
|
281
|
+
\u26A0 CRITICAL: The user CANNOT see tool output. They only see your text + 1-line summaries like "\u2713 bash ssh ... \u2192 ok".
|
|
282
|
+
If you run tools but write NO text \u2192 the user sees NOTHING useful. This is the #1 quality failure.
|
|
283
|
+
|
|
284
|
+
MANDATORY RULE: After ANY tool call that gathers information (bash, read_file, grep, ssh commands, etc.), you MUST write a text response summarizing the findings. NEVER end your response with only tool calls and no text.
|
|
285
|
+
|
|
286
|
+
- Use markdown formatting: **bold** for key points, headers for sections, bullet lists for multiple items, \`code\` for identifiers. The terminal renders markdown with syntax highlighting.
|
|
287
|
+
- Structure longer responses with headers (## Section) so the user can scan quickly.
|
|
288
|
+
|
|
289
|
+
Response patterns by request type:
|
|
290
|
+
- **Questions / analysis / "status" / "explain" / "what is"**: Gather data with tools, then respond with a clear, structured summary. NEVER just run tools and stop.
|
|
291
|
+
- **Coding tasks (implement, fix, refactor)**: Brief confirmation of what you'll do, then use tools. After changes, summarize what you did and any important details.
|
|
292
|
+
- **Simple questions ("what does X do?")**: Answer directly without tools when you have enough context.
|
|
293
|
+
- **Ambiguous requests**: When a request is vague or could be interpreted multiple ways (e.g. "optimize this", "improve performance", "fix the issues", "refactor this"), ALWAYS ask clarifying questions first using ask_user. Do NOT guess scope or intent. Ask about: which specific area, what the expected outcome is, any constraints. Only proceed after the user clarifies.
|
|
294
|
+
- **Server/SSH commands**: After running remote commands, ALWAYS present the results: service status, log errors, findings.
|
|
295
|
+
|
|
296
|
+
After completing multi-step tasks, suggest logical next steps (e.g. "You can run npm test to verify" or "Consider committing with /commit").
|
|
297
|
+
|
|
298
|
+
# Doing Tasks
|
|
299
|
+
|
|
300
|
+
- For non-trivial tasks, briefly state your approach before starting (1 sentence). This helps the user know what to expect.
|
|
301
|
+
- ALWAYS read code before modifying it. Never propose changes to code you haven't read.
|
|
302
|
+
- Prefer edit_file for targeted changes over write_file for full rewrites.
|
|
303
|
+
- Do not create new files unless absolutely necessary. Edit existing files instead.
|
|
304
|
+
- Use relative paths when possible.
|
|
305
|
+
- When blocked, try alternative approaches rather than retrying the same thing.
|
|
306
|
+
- Keep solutions simple. Only change what's directly requested or clearly necessary.
|
|
307
|
+
- Don't add features, refactoring, or "improvements" beyond what was asked.
|
|
308
|
+
- Don't add error handling for impossible scenarios. Only validate at system boundaries.
|
|
309
|
+
- Don't add docstrings/comments to code you didn't change.
|
|
310
|
+
- Don't create helpers or abstractions for one-time operations.
|
|
311
|
+
- Three similar lines of code is better than a premature abstraction.
|
|
312
|
+
- After completing work, give a brief summary of what was done and any important details. Don't just silently finish.
|
|
313
|
+
|
|
314
|
+
# Tool Strategy
|
|
315
|
+
|
|
316
|
+
- Use the RIGHT tool for the job:
|
|
317
|
+
- read_file to read files (not bash cat/head/tail)
|
|
318
|
+
- edit_file or patch_file to modify files (not bash sed/awk)
|
|
319
|
+
- glob to find files by name pattern (not bash find/ls)
|
|
320
|
+
- grep or search_files to search file contents (not bash grep)
|
|
321
|
+
- list_directory for directory structure (not bash ls/tree)
|
|
322
|
+
- Only use bash for actual shell operations: running tests, installing packages, git commands, build tools.
|
|
323
|
+
- Call multiple tools in parallel when they're independent (e.g. reading multiple files at once).
|
|
324
|
+
- For complex tasks with 3+ steps, create a task list with task_list first.
|
|
325
|
+
- Use spawn_agents for 2+ independent tasks that can run simultaneously.
|
|
326
|
+
- Good for: reading multiple files, analyzing separate modules.
|
|
327
|
+
- Bad for: tasks that depend on each other or modify the same file.
|
|
328
|
+
- Max 5 parallel agents.
|
|
329
|
+
${cw()}
|
|
330
|
+
|
|
331
|
+
# Edit Reliability (Critical)
|
|
332
|
+
|
|
333
|
+
- edit_file's old_text must match the file content EXACTLY \u2014 including whitespace, indentation, and newlines.
|
|
334
|
+
- Always read the file first (read_file) before editing to see the exact current content.
|
|
335
|
+
- If old_text is not found, the edit fails. Common causes:
|
|
336
|
+
- Indentation mismatch (tabs vs spaces, wrong level)
|
|
337
|
+
- Invisible characters or trailing whitespace
|
|
338
|
+
- Content changed since last read \u2014 read again before retrying.
|
|
339
|
+
- For multiple changes to the same file, prefer patch_file (single operation, atomic).
|
|
340
|
+
- Never guess file content. Always read first, then edit with the exact text you saw.
|
|
341
|
+
|
|
342
|
+
# Error Recovery
|
|
343
|
+
|
|
344
|
+
When a tool call returns ERROR:
|
|
345
|
+
- edit_file/patch_file "old_text not found": Read the file again with read_file. Compare your old_text with the actual content. The most common cause is stale content \u2014 the file changed since you last read it.
|
|
346
|
+
- bash non-zero exit: Read the error output. Fix the root cause (missing dependency, wrong path, syntax error) rather than retrying the same command.
|
|
347
|
+
- "File not found": Use glob or list_directory to find the correct path. Do not guess.
|
|
348
|
+
- After 2 failed attempts at the same operation, stop and explain the issue to the user.
|
|
349
|
+
|
|
350
|
+
# Git Workflow
|
|
351
|
+
|
|
352
|
+
- Before committing, review changes with git_diff. Write messages that explain WHY, not WHAT.
|
|
353
|
+
- Stage specific files rather than git add -A to avoid committing unrelated changes.
|
|
354
|
+
- Use conventional commits: type(scope): description (feat, fix, refactor, docs, test, chore).
|
|
355
|
+
- Branch naming: feat/, fix/, refactor/, docs/ prefixes with kebab-case.
|
|
356
|
+
- NEVER force-push, skip hooks (--no-verify), or amend published commits without explicit permission.
|
|
357
|
+
- When asked to commit: review diff, propose message, wait for approval, then execute.
|
|
358
|
+
|
|
359
|
+
# Safety & Reversibility
|
|
360
|
+
|
|
361
|
+
- Consider reversibility before acting. File reads and searches are safe. File writes and bash commands may not be.
|
|
362
|
+
- For hard-to-reverse actions (deleting files, force-pushing, dropping tables), confirm with the user first.
|
|
363
|
+
- NEVER read .env files, credentials, or SSH keys.
|
|
364
|
+
- NEVER run destructive commands (rm -rf /, mkfs, dd, etc.).
|
|
365
|
+
- Dangerous commands (git push, npm publish, sudo, rm -rf) require user confirmation.
|
|
366
|
+
- Prefer creating new git commits over amending. Never force-push without explicit permission.
|
|
367
|
+
- If you encounter unexpected state (unfamiliar files, branches), investigate before modifying.`}function pw(){we=[]}function uw(){return we.length}function dw(){return we}function mw(e){we=e}function kt(e,t,n,s,o){if(e<1)return;let i=[...t.values()].reduce((c,p)=>c+p,0),a=`\u2500\u2500 ${e} ${e===1?"step":"steps"} \xB7 ${i} ${i===1?"tool":"tools"}`;if(n.size>0&&(a+=` \xB7 ${n.size} ${n.size===1?"file":"files"} modified`),o){let c=Date.now()-o,p=Math.round(c/1e3);a+=p>=60?` \xB7 ${Math.floor(p/60)}m ${p%60}s`:` \xB7 ${p}s`}a+=" \u2500\u2500",console.log(`
|
|
368
|
+
${q.dim} ${a}${q.reset}`),n.size>0?console.log(`${q.dim} \u{1F4A1} /diff \xB7 /commit \xB7 /undo${q.reset}`):s.size>0&&e>=2&&console.log(`${q.dim} \u{1F4A1} /save \xB7 /clear${q.reset}`)}async function fw(e){we.push({role:"user",content:e});let{setOnChange:t}=ys(),n=null,s=0;t((C,M)=>{C==="create"?(n&&n.stop(),n=new E$(M.name,M.tasks),n.setStats({tokens:s}),n.start()):C==="update"&&n?n.updateTask(M.id,M.status):C==="clear"&&n&&(n.stop(),n=null)});let i=[{role:"system",content:await lw()},...we],a=new En("Thinking...");a.start();let{messages:c,compressed:p,compacted:u,tokensRemoved:l}=await P$(i,Tn),d=L$(i,Tn);if(a.stop(),u)console.log(`${q.dim} [context compacted \u2014 summary (~${l} tokens freed)]${q.reset}`);else if(p){let C=d.limit>0?Math.round(l/d.limit*100):0;console.log(`${q.dim} [context compressed \u2014 ~${l} tokens freed (${C}%)]${q.reset}`)}d.percentage>85&&console.log(`${q.yellow} \u26A0 Context ${Math.round(d.percentage)}% full \u2014 consider /clear or /save + start fresh${q.reset}`);let m=c,h=0,f=0,x=0,b=0,v=0,$=new Map,T=new Set,w=new Set,R=Date.now(),S;for(S=0;S<Kt;S++){let F=function(){M||(console.log(`${q.dim} \u2500\u2500 step ${v} \u2500\u2500${q.reset}`),M=!0)};var E=F;if(Ms()?.aborted)break;let M=!0,B=null;if(n&&n.isActive())n._paused&&n.resume();else if(!n){let j=v>0?`Thinking... (step ${v+1})`:"Thinking...";B=new En(j),B.start()}let W=!0,ne="",se=new W$,ge,oe=Date.now(),Z=!1,ce=new AbortController,Ge=setInterval(()=>{let j=Date.now()-oe;j>=sw?(se._clearCursorLine(),console.log(`${q.yellow} \u26A0 Stream stale for ${Math.round(j/1e3)}s \u2014 aborting and retrying${q.reset}`),ce.abort()):j>=nw&&!Z&&(Z=!0,se._clearCursorLine(),console.log(`${q.yellow} \u26A0 No tokens received for ${Math.round(j/1e3)}s \u2014 waiting...${q.reset}`))},5e3);try{let j=Y$([...Tn,...Vi(),...Ji()]),L=Ms(),je=new AbortController;L&&L.addEventListener("abort",()=>je.abort(),{once:!0}),ce.signal.addEventListener("abort",()=>je.abort(),{once:!0}),ge=await C$(m,j,{signal:je.signal,onToken:ee=>{oe=Date.now(),Z=!1,W&&(n&&!n._paused?n.pause():B&&B.stop(),F(),se.startCursor(),W=!1),ne+=ee,se.push(ee)}})}catch(j){if(clearInterval(Ge),n&&!n._paused&&n.pause(),B&&B.stop(),se.stopCursor(),ce.signal.aborted&&!Ms()?.aborted){if(x++,x>ld){console.log(`${q.red} \u2717 Stream stale: max retries (${ld}) exceeded. The model may be overloaded \u2014 try again or switch models.${q.reset}`),n&&(n.stop(),n=null),t(null),kt(v,$,T,w,R),wt(we);break}S--;continue}if(j.name==="AbortError"||j.name==="CanceledError"||j.message?.includes("canceled")||j.message?.includes("aborted")){n&&(n.stop(),n=null),t(null),kt(v,$,T,w,R),wt(we);break}let L=j.message;if(j.code==="ECONNREFUSED"||j.message.includes("ECONNREFUSED"))L="Connection refused \u2014 please check your internet connection or API endpoint";else if(j.code==="ENOTFOUND"||j.message.includes("ENOTFOUND"))L="Network error \u2014 could not reach the API server. Please check your connection";else if(j.code==="ETIMEDOUT"||j.message.includes("timeout"))L="Request timed out \u2014 the API server took too long to respond. Please try again";else if(j.message.includes("401")||j.message.includes("Unauthorized"))L="Authentication failed \u2014 please check your API key in the .env file";else if(j.message.includes("403")||j.message.includes("Forbidden"))L="Access denied \u2014 your API key may not have permission for this model";else if(j.message.includes("400")){let ee=(j.message||"").toLowerCase(),G=ee.includes("context")||ee.includes("token")||ee.includes("length")||ee.includes("too long")||ee.includes("too many");if(G&&b<1){b++,console.log(`${q.yellow} \u26A0 Context too long \u2014 force-compressing and retrying...${q.reset}`);let Jt=[...Tn,...Vi(),...Ji()],{messages:Dd,tokensRemoved:Ud}=N$(m,Jt);m=Dd,console.log(`${q.dim} [force-compressed \u2014 ~${Ud} tokens freed]${q.reset}`),S--;continue}G?L="Context too long \u2014 force compression exhausted. Use /clear to start fresh":L="Bad request \u2014 the conversation may be too long or contain unsupported content. Try /clear and retry"}else j.message.includes("500")||j.message.includes("502")||j.message.includes("503")||j.message.includes("504")?L="API server error \u2014 the provider is experiencing issues. Please try again in a moment":(j.message.includes("fetch failed")||j.message.includes("fetch"))&&(L="Network request failed \u2014 please check your internet connection");if(console.log(`${q.red} \u2717 ${L}${q.reset}`),j.message.includes("429")){if(h++,h>Hi){console.log(`${q.red} Rate limit: max retries (${Hi}) exceeded. Try again later or use /budget to check your limits.${q.reset}`),n&&(n.stop(),n=null),t(null),kt(v,$,T,w,R),wt(we);break}let ee=Math.min(1e4*Math.pow(2,h-1),12e4),G=new En(`Rate limit \u2014 waiting ${Math.round(ee/1e3)}s (retry ${h}/${Hi})`);G.start(),await new Promise(Jt=>setTimeout(Jt,ee)),G.stop();continue}if(j.message.includes("socket disconnected")||j.message.includes("TLS")||j.message.includes("ECONNRESET")||j.message.includes("ECONNABORTED")||j.message.includes("ETIMEDOUT")||j.code==="ECONNRESET"||j.code==="ECONNABORTED"){if(f++,f>Gi){console.log(`${q.red} Network error: max retries (${Gi}) exceeded. Check your connection and try again.${q.reset}`),n&&(n.stop(),n=null),t(null),kt(v,$,T,w,R),wt(we);break}let ee=Math.min(2e3*Math.pow(2,f-1),3e4),G=new En(`Network error \u2014 retrying in ${Math.round(ee/1e3)}s (${f}/${Gi})`);G.start(),await new Promise(Jt=>setTimeout(Jt,ee)),G.stop(),S--;continue}n&&(n.stop(),n=null),t(null),kt(v,$,T,w,R),wt(we);break}if(clearInterval(Ge),W&&(n&&!n._paused&&n.pause(),B&&B.stop()),f=0,x=0,ne&&se.flush(),ge&&ge.usage){let{getActiveProviderName:j,getActiveModelId:L}=Ie();J$(j(),L(),ge.usage.prompt_tokens||0,ge.usage.completion_tokens||0),s+=(ge.usage.prompt_tokens||0)+(ge.usage.completion_tokens||0),n&&n.setStats({tokens:s})}let{content:N,tool_calls:O}=ge,U={role:"assistant",content:N||""};if(O&&O.length>0&&(U.tool_calls=O),we.push(U),m.push(U),!O||O.length===0){if(!((N||"").trim().length>0||ne.trim().length>0)&&v>0&&S<Kt-1){let L={role:"user",content:"[SYSTEM] You ran tools but produced no visible output. The user CANNOT see tool results \u2014 only your text. Please summarize your findings now."};m.push(L);continue}n&&(n.stop(),n=null),t(null),kt(v,$,T,w,R),wt(we);return}v++,v>1&&(M=!1);for(let j of O){let L=j.function.name;$.set(L,($.get(L)||0)+1)}let le=[];for(let j of O)le.push(await ow(j));let H=n?{skipSpinner:!0,skipSummaries:!0}:{};H.skipSummaries||F(),n&&n._paused&&n.resume();let ke=await rw(le,!0,H);for(let j=0;j<le.length;j++){let L=le[j];if(!L.canExecute)continue;let je=ke[j].content,ee=!je.startsWith("ERROR")&&!je.includes("CANCELLED");ee&&["write_file","edit_file","patch_file"].includes(L.fnName)&&L.args&&L.args.path&&T.add(L.args.path),ee&&L.fnName==="read_file"&&L.args&&L.args.path&&w.add(L.args.path)}for(let j of ke)we.push(j),m.push(j)}S>=Kt&&(n&&(n.stop(),n=null),t(null),kt(v,$,T,w,R),wt(we),console.log(`
|
|
369
|
+
${q.yellow}\u26A0 Max iterations (${Kt}) reached. Try ${q.bold}--max-turns ${Kt+20}${q.reset}${q.yellow} or break into smaller steps.${q.reset}`))}dd.exports={processInput:fw,clearConversation:pw,getConversationLength:uw,getConversationMessages:dw,setConversationMessages:mw,setAbortSignalGetter:ew,setMaxIterations:Z$}});var gd=_((b_,hd)=>{var{C:Y}=pe(),{listProviders:hw,getActiveProviderName:gw,getActiveModelId:xw,setActiveModel:bw}=Ie();function fd(e,t,n={}){let{title:s="Select",hint:o="\u2191\u2193 navigate \xB7 Enter select \xB7 Esc cancel"}=n;return new Promise(i=>{let a=t.map((v,$)=>v.isHeader?-1:$).filter(v=>v>=0);if(a.length===0){i(null);return}let c=t.findIndex(v=>v.isCurrent),p=c>=0?a.indexOf(c):0;p<0&&(p=0);let u=process.stdout.rows?Math.max(process.stdout.rows-6,5):20,l=0;function d(){let v=a[p];return v<l?l=v:v>=l+u&&(l=v-u+1),{start:l,end:Math.min(t.length,l+u)}}let m=0;function h(){if(m>0){process.stdout.write(`\x1B[${m}A`);for(let R=0;R<m;R++)process.stdout.write(`\x1B[2K
|
|
370
|
+
`);process.stdout.write(`\x1B[${m}A`)}let v=[];v.push(` ${Y.bold}${Y.cyan}${s}${Y.reset}`),v.push(` ${Y.dim}${o}${Y.reset}`),v.push("");let{start:$,end:T}=d();$>0&&v.push(` ${Y.dim}\u2191 more${Y.reset}`);for(let R=$;R<T;R++){let S=t[R];if(S.isHeader){v.push(` ${Y.bold}${Y.dim}${S.label}${Y.reset}`);continue}let E=a[p]===R,C=E?`${Y.cyan}> `:" ",M=S.isCurrent?` ${Y.yellow}<current>${Y.reset}`:"";E?v.push(`${C}${Y.bold}${S.label}${Y.reset}${M}`):v.push(`${C}${Y.dim}${S.label}${Y.reset}${M}`)}T<t.length&&v.push(` ${Y.dim}\u2193 more${Y.reset}`);let w=v.join(`
|
|
371
|
+
`);process.stdout.write(w+`
|
|
372
|
+
`),m=v.length}e.pause();let f=process.stdin.isRaw;process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.resume();function x(){process.stdin.removeListener("keypress",b),process.stdin.isTTY&&f!==void 0&&process.stdin.setRawMode(f),e.resume()}function b(v,$){if($){if($.name==="up"||$.ctrl&&$.name==="p"){p>0&&(p--,h());return}if($.name==="down"||$.ctrl&&$.name==="n"){p<a.length-1&&(p++,h());return}if($.name==="return"){let T=t[a[p]];x(),i(T?T.value:null);return}if($.name==="escape"||$.ctrl&&$.name==="c"){x(),i(null);return}}}process.stdin.on("keypress",b),h()})}async function vw(e){let t=hw(),n=gw(),s=xw(),o=[];for(let a of t)if(a.models.length!==0){o.push({label:a.provider,value:null,isHeader:!0});for(let c of a.models){let p=a.provider===n&&c.id===s;o.push({label:` ${c.name} (${a.provider}:${c.id})`,value:`${a.provider}:${c.id}`,isCurrent:p})}}let i=await fd(e,o,{title:"Select Model"});return i?(bw(i),console.log(`${Y.green}Switched to ${i}${Y.reset}`),!0):(console.log(`${Y.dim}Cancelled${Y.reset}`),!1)}hd.exports={pickFromList:fd,showModelPicker:vw}});var yw=require("readline"),it=require("fs"),He=require("path"),{C:r,banner:$w,cleanupTerminal:ww}=pe(),{processInput:Yi,clearConversation:kw,getConversationLength:Xi,getConversationMessages:xd,setConversationMessages:bd,setAbortSignalGetter:_w}=md(),{getActiveModel:_t,setActiveModel:Rd,getModelNames:v_}=cs(),{listProviders:ea,getActiveProviderName:St,listAllModels:y_,setFallbackChain:Sw,getFallbackChain:Ew,getProvider:Tw}=Ie(),{printContext:Cd}=Ri(),{setAutoConfirm:Rw,getAutoConfirm:Ad,setReadlineInterface:Cw}=un(),{getUsage:Aw}=Ts(),{TOOL_DEFINITIONS:Ow}=fn(),{saveSession:jw,loadSession:Pw,listSessions:Nw,getLastSession:Lw}=ji(),{remember:qw,forget:Mw,listMemories:Fw}=Li(),{listPermissions:Iw,setPermission:vd,savePermissions:yd}=Mi(),{createPlan:$_,getActivePlan:Dw,setPlanMode:$d,isPlanMode:Uw,approvePlan:Bw,startExecution:zw,formatPlan:Ww,savePlan:w_,listPlans:Hw,clearPlan:k_,setAutonomyLevel:Gw,getAutonomyLevel:Od,AUTONOMY_LEVELS:wd}=Ii(),{isGitRepo:Qi,getCurrentBranch:Kw,formatDiffSummary:kd,analyzeDiff:Jw,commit:_d,createBranch:Vw}=fs(),{listServers:Yw,connectAll:Xw,disconnectAll:Qw}=xs(),{listHooks:Zw,runHooks:__,HOOK_EVENTS:S_}=Wi(),{undo:e0,redo:t0,getHistory:n0,getUndoCount:Sd,getRedoCount:Ed,clearHistory:s0}=mi(),{formatCosts:o0,resetCosts:i0,setCostLimit:a0,removeCostLimit:r0,getCostLimits:c0,checkBudget:l0,getProviderSpend:p0,saveCostLimits:Td}=ln(),{loadAllSkills:u0,listSkills:d0,enableSkill:m0,disableSkill:f0,getSkillCommands:ta,handleSkillCommand:h0}=hs(),{showModelPicker:g0}=gd(),Is=process.cwd(),Xe=null;function jd(){return Xe?.signal??null}var Ds=[{cmd:"/help",desc:"Show full help"},{cmd:"/model",desc:"Show/switch model"},{cmd:"/providers",desc:"List providers and models"},{cmd:"/fallback",desc:"Show/set fallback chain"},{cmd:"/tokens",desc:"Token usage and context budget"},{cmd:"/costs",desc:"Session token costs"},{cmd:"/budget",desc:"Show/set cost limits per provider"},{cmd:"/clear",desc:"Clear conversation"},{cmd:"/context",desc:"Show project context"},{cmd:"/autoconfirm",desc:"Toggle auto-confirm"},{cmd:"/save",desc:"Save session"},{cmd:"/load",desc:"Load a saved session"},{cmd:"/sessions",desc:"List saved sessions"},{cmd:"/resume",desc:"Resume last session"},{cmd:"/remember",desc:"Save a memory"},{cmd:"/forget",desc:"Delete a memory"},{cmd:"/memory",desc:"Show all memories"},{cmd:"/permissions",desc:"Show tool permissions"},{cmd:"/allow",desc:"Auto-allow a tool"},{cmd:"/deny",desc:"Block a tool"},{cmd:"/plan",desc:"Plan mode (analyze before executing)"},{cmd:"/plans",desc:"List saved plans"},{cmd:"/auto",desc:"Set autonomy level"},{cmd:"/commit",desc:"Smart commit (diff + message)"},{cmd:"/diff",desc:"Show current diff"},{cmd:"/branch",desc:"Create feature branch"},{cmd:"/mcp",desc:"MCP servers and tools"},{cmd:"/hooks",desc:"Show configured hooks"},{cmd:"/skills",desc:"List, enable, disable skills"},{cmd:"/tasks",desc:"Show task list"},{cmd:"/undo",desc:"Undo last file change"},{cmd:"/redo",desc:"Redo last undone change"},{cmd:"/history",desc:"Show file change history"},{cmd:"/exit",desc:"Quit"}];function Pd(){let e=ta(),t=[...Ds,...e],n=Math.max(...t.map(s=>s.cmd.length));console.log("");for(let{cmd:s,desc:o}of Ds)console.log(` ${r.cyan}${s.padEnd(n+2)}${r.reset}${r.dim}${o}${r.reset}`);for(let{cmd:s,desc:o}of e)console.log(` ${r.cyan}${s.padEnd(n+2)}${r.reset}${r.dim}${o} ${r.yellow}[skill]${r.reset}`);console.log(`
|
|
373
|
+
${r.dim}Type /help for detailed usage${r.reset}
|
|
374
|
+
`)}function Nd(e){try{let t,n;e.endsWith("/")||e.endsWith(He.sep)?(t=e,n=""):(t=He.dirname(e),n=He.basename(e)),t.startsWith("~")&&(t=He.join(require("os").homedir(),t.slice(1)));let s=He.isAbsolute(t)?t:He.resolve(Is,t);if(!it.existsSync(s)||!it.statSync(s).isDirectory())return[];let o=it.readdirSync(s,{withFileTypes:!0}),i=[];for(let a of o){if(a.name.startsWith(".")||a.name==="node_modules"||n&&!a.name.startsWith(n))continue;let c=e.endsWith("/")||e.endsWith(He.sep)?e:He.dirname(e)+"/",p=c==="./"&&!e.startsWith("./")?a.name:c+a.name;i.push(a.isDirectory()?p+"/":p)}return i}catch{return[]}}function Ld(e){if(e.startsWith("/")){let s=[...Ds,...ta()],o=s.map(i=>i.cmd).filter(i=>i.startsWith(e));return[o.length?o:s.map(i=>i.cmd),e]}let t=e.split(/\s+/),n=t[t.length-1]||"";return n&&(n.includes("/")||n.startsWith("./")||n.startsWith("../")||n.startsWith("~"))?[Nd(n),n]:[[],e]}function qd(){console.log(`
|
|
375
|
+
${r.bold}${r.cyan}Commands:${r.reset}
|
|
376
|
+
${r.cyan}/help${r.reset} ${r.dim}Show this help${r.reset}
|
|
377
|
+
${r.cyan}/model [spec]${r.reset} ${r.dim}Show/switch model (e.g. openai:gpt-4o, claude-sonnet)${r.reset}
|
|
378
|
+
${r.cyan}/providers${r.reset} ${r.dim}Show available providers and models${r.reset}
|
|
379
|
+
${r.cyan}/fallback [chain]${r.reset} ${r.dim}Show/set fallback chain (e.g. anthropic,openai,local)${r.reset}
|
|
380
|
+
${r.cyan}/tokens${r.reset} ${r.dim}Show token usage and context budget${r.reset}
|
|
381
|
+
${r.cyan}/costs${r.reset} ${r.dim}Show session token costs${r.reset}
|
|
382
|
+
${r.cyan}/budget [prov] [n]${r.reset}${r.dim}Show/set cost limits per provider${r.reset}
|
|
383
|
+
${r.cyan}/clear${r.reset} ${r.dim}Clear conversation context${r.reset}
|
|
384
|
+
${r.cyan}/context${r.reset} ${r.dim}Show project context${r.reset}
|
|
385
|
+
${r.cyan}/autoconfirm${r.reset} ${r.dim}Toggle auto-confirm for file changes${r.reset}
|
|
386
|
+
|
|
387
|
+
${r.bold}${r.cyan}Sessions:${r.reset}
|
|
388
|
+
${r.cyan}/save [name]${r.reset} ${r.dim}Save current session${r.reset}
|
|
389
|
+
${r.cyan}/load <name>${r.reset} ${r.dim}Load a saved session${r.reset}
|
|
390
|
+
${r.cyan}/sessions${r.reset} ${r.dim}List all saved sessions${r.reset}
|
|
391
|
+
${r.cyan}/resume${r.reset} ${r.dim}Resume last session${r.reset}
|
|
392
|
+
|
|
393
|
+
${r.bold}${r.cyan}Memory:${r.reset}
|
|
394
|
+
${r.cyan}/remember <text>${r.reset} ${r.dim}Save a memory (key=value or freeform)${r.reset}
|
|
395
|
+
${r.cyan}/forget <key>${r.reset} ${r.dim}Delete a memory${r.reset}
|
|
396
|
+
${r.cyan}/memory${r.reset} ${r.dim}Show all memories${r.reset}
|
|
397
|
+
|
|
398
|
+
${r.bold}${r.cyan}Permissions:${r.reset}
|
|
399
|
+
${r.cyan}/permissions${r.reset} ${r.dim}Show tool permissions${r.reset}
|
|
400
|
+
${r.cyan}/allow <tool>${r.reset} ${r.dim}Auto-allow a tool${r.reset}
|
|
401
|
+
${r.cyan}/deny <tool>${r.reset} ${r.dim}Block a tool${r.reset}
|
|
402
|
+
|
|
403
|
+
${r.bold}${r.cyan}Planning:${r.reset}
|
|
404
|
+
${r.cyan}/plan [task]${r.reset} ${r.dim}Enter plan mode (analyze, don't execute)${r.reset}
|
|
405
|
+
${r.cyan}/plan status${r.reset} ${r.dim}Show current plan progress${r.reset}
|
|
406
|
+
${r.cyan}/plan approve${r.reset} ${r.dim}Approve current plan${r.reset}
|
|
407
|
+
${r.cyan}/plans${r.reset} ${r.dim}List saved plans${r.reset}
|
|
408
|
+
${r.cyan}/auto [level]${r.reset} ${r.dim}Set autonomy: interactive/semi-auto/autonomous${r.reset}
|
|
409
|
+
|
|
410
|
+
${r.bold}${r.cyan}Git:${r.reset}
|
|
411
|
+
${r.cyan}/commit [msg]${r.reset} ${r.dim}Smart commit (analyze diff, suggest message)${r.reset}
|
|
412
|
+
${r.cyan}/diff${r.reset} ${r.dim}Show current diff summary${r.reset}
|
|
413
|
+
${r.cyan}/branch [name]${r.reset} ${r.dim}Create feature branch${r.reset}
|
|
414
|
+
|
|
415
|
+
${r.bold}${r.cyan}Extensibility:${r.reset}
|
|
416
|
+
${r.cyan}/mcp${r.reset} ${r.dim}Show MCP servers and tools${r.reset}
|
|
417
|
+
${r.cyan}/mcp connect${r.reset} ${r.dim}Connect all configured MCP servers${r.reset}
|
|
418
|
+
${r.cyan}/hooks${r.reset} ${r.dim}Show configured hooks${r.reset}
|
|
419
|
+
${r.cyan}/skills${r.reset} ${r.dim}List loaded skills${r.reset}
|
|
420
|
+
${r.cyan}/skills enable${r.reset} ${r.dim}Enable a skill by name${r.reset}
|
|
421
|
+
${r.cyan}/skills disable${r.reset} ${r.dim}Disable a skill by name${r.reset}
|
|
422
|
+
|
|
423
|
+
${r.bold}${r.cyan}Tasks:${r.reset}
|
|
424
|
+
${r.cyan}/tasks${r.reset} ${r.dim}Show current task list${r.reset}
|
|
425
|
+
${r.cyan}/tasks clear${r.reset} ${r.dim}Clear all tasks${r.reset}
|
|
426
|
+
|
|
427
|
+
${r.bold}${r.cyan}Undo / Redo:${r.reset}
|
|
428
|
+
${r.cyan}/undo${r.reset} ${r.dim}Undo last file change${r.reset}
|
|
429
|
+
${r.cyan}/redo${r.reset} ${r.dim}Redo last undone change${r.reset}
|
|
430
|
+
${r.cyan}/history${r.reset} ${r.dim}Show file change history${r.reset}
|
|
431
|
+
|
|
432
|
+
${r.cyan}/exit${r.reset} ${r.dim}Quit${r.reset}
|
|
433
|
+
`)}function Md(e){let n=Math.round(e/100*30),s=30-n;return` ${e>80?r.red:e>50?r.yellow:r.green}${"\u2588".repeat(n)}${r.dim}${"\u2591".repeat(s)}${r.reset} ${e}%`}function Zi(){let e=ea(),t=St(),n=_t();console.log(`
|
|
434
|
+
${r.bold}${r.cyan}Providers:${r.reset}`);for(let s of e){let o=s.provider===t,i=s.configured?`${r.green}\u2713${r.reset}`:`${r.red}\u2717${r.reset}`,a=o?` ${r.cyan}(active)${r.reset}`:"";console.log(` ${i} ${r.bold}${s.provider}${r.reset}${a}`);for(let c of s.models){let p=c.id===n.id&&o?` ${r.yellow}\u25C4${r.reset}`:"";console.log(` ${r.dim}${c.id}${r.reset} \u2014 ${c.name}${p}`)}}console.log()}async function Fd(e,t){let[n,...s]=e.split(/\s+/);switch(n){case"/help":return qd(),!0;case"/model":{let o=s.join(" ").trim();if(!o){if(t)await g0(t);else{let i=_t(),a=St();console.log(`${r.bold}${r.cyan}Active model:${r.reset} ${r.dim}${a}:${i.id} (${i.name})${r.reset}`),console.log(`${r.gray}Use /model <provider:model> to switch. /providers to see all.${r.reset}`)}return!0}if(o==="list")return Zi(),!0;if(Rd(o)){let i=_t(),a=St();console.log(`${r.green}Switched to ${a}:${i.id} (${i.name})${r.reset}`)}else console.log(`${r.red}Unknown model: ${o}${r.reset}`),console.log(`${r.gray}Use /providers to see available models${r.reset}`);return!0}case"/providers":return Zi(),!0;case"/fallback":{let o=s.join(" ").trim();if(!o){let a=Ew();return a.length===0?(console.log(`${r.dim}No fallback chain configured${r.reset}`),console.log(`${r.dim}Use /fallback anthropic,openai,local to set${r.reset}`)):console.log(`${r.bold}${r.cyan}Fallback chain:${r.reset} ${a.join(" \u2192 ")}`),!0}let i=o.split(",").map(a=>a.trim()).filter(Boolean);return Sw(i),console.log(`${r.green}Fallback chain: ${i.join(" \u2192 ")}${r.reset}`),!0}case"/tokens":{let o=xd(),i=Aw(o,Ow),a=_t(),c=St();console.log(`
|
|
435
|
+
${r.bold}${r.cyan}Token Usage:${r.reset}`),console.log(` ${r.dim}Model:${r.reset} ${c}:${a.id} (${(i.limit/1e3).toFixed(0)}k context)`),console.log(` ${r.dim}Used:${r.reset} ${i.used.toLocaleString()} / ${i.limit.toLocaleString()} (${i.percentage}%)`);let p=Md(i.percentage);return console.log(` ${p}`),console.log(`
|
|
436
|
+
${r.dim}Breakdown:${r.reset}`),console.log(` System prompt: ${i.breakdown.system.toLocaleString()} tokens`),console.log(` Conversation: ${i.breakdown.conversation.toLocaleString()} tokens`),console.log(` Tool results: ${i.breakdown.toolResults.toLocaleString()} tokens`),console.log(` Tool definitions: ${i.breakdown.toolDefinitions.toLocaleString()} tokens`),console.log(` Messages: ${i.messageCount}`),console.log(),!0}case"/costs":return s.join(" ").trim()==="reset"?(i0(),console.log(`${r.green}Cost tracking reset${r.reset}`),!0):(console.log(`
|
|
437
|
+
${o0()}
|
|
438
|
+
`),!0);case"/budget":{let o=s[0];if(!o){let c=c0(),p=ea();console.log(`
|
|
439
|
+
${r.bold}${r.cyan}Cost Limits:${r.reset}`);let u=!1;for(let l of p){let d=p0(l.provider),m=c[l.provider];if(m!==void 0){u=!0;let h=Math.min(100,Math.round(d/m*100)),f=10,x=Math.round(h/100*f),b=f-x,$=`${h>=100?r.red:h>=80?r.yellow:r.green}${"\u2588".repeat(x)}${r.dim}${"\u2591".repeat(b)}${r.reset}`;console.log(` ${r.bold}${l.provider}:${r.reset} $${d.toFixed(2)} / $${m.toFixed(2)} (${h}%) ${$}`)}else l.provider==="ollama"||l.provider==="local"?console.log(` ${r.bold}${l.provider}:${r.reset} ${r.dim}free (no limit)${r.reset}`):d>0&&console.log(` ${r.bold}${l.provider}:${r.reset} $${d.toFixed(2)} ${r.dim}(no limit)${r.reset}`)}return u||console.log(` ${r.dim}No limits set. Use /budget <provider> <amount> to set one.${r.reset}`),console.log(),!0}let i=s[1];if(!i){let c=l0(o);return c.limit!==null?console.log(`${r.bold}${o}:${r.reset} $${c.spent.toFixed(2)} / $${c.limit.toFixed(2)} ($${c.remaining.toFixed(2)} remaining)`):console.log(`${r.bold}${o}:${r.reset} $${c.spent.toFixed(2)} ${r.dim}(no limit)${r.reset}`),!0}if(i==="off"||i==="remove"||i==="clear")return r0(o),Td(),console.log(`${r.green}Removed cost limit for ${o}${r.reset}`),!0;let a=parseFloat(i);return isNaN(a)||a<=0?(console.log(`${r.red}Invalid amount: ${i}. Use a positive number or 'off'.${r.reset}`),!0):(a0(o,a),Td(),console.log(`${r.green}Set ${o} budget limit: $${a.toFixed(2)}${r.reset}`),!0)}case"/clear":return kw(),s0(),console.log(`${r.green}Conversation cleared${r.reset}`),!0;case"/context":return await Cd(Is),!0;case"/autoconfirm":{let o=!Ad();return Rw(o),console.log(`${r.green}Auto-confirm: ${o?"ON":"OFF"}${r.reset}`),o&&console.log(`${r.yellow} \u26A0 File changes will be applied without confirmation${r.reset}`),!0}case"/save":{let o=s.join(" ").trim()||`session-${Date.now()}`,i=xd();if(i.length===0)return console.log(`${r.yellow}No conversation to save${r.reset}`),!0;let a=_t(),c=St();return jw(o,i,{model:a.id,provider:c}),console.log(`${r.green}Session saved: ${o} (${i.length} messages)${r.reset}`),!0}case"/load":{let o=s.join(" ").trim();if(!o)return console.log(`${r.red}Usage: /load <name>${r.reset}`),!0;let i=Pw(o);return i?(bd(i.messages),console.log(`${r.green}Loaded session: ${i.name} (${i.messageCount} messages)${r.reset}`),!0):(console.log(`${r.red}Session not found: ${o}${r.reset}`),!0)}case"/sessions":{let o=Nw();if(o.length===0)return console.log(`${r.dim}No saved sessions${r.reset}`),!0;console.log(`
|
|
440
|
+
${r.bold}${r.cyan}Sessions:${r.reset}`);for(let i of o){let a=i.updatedAt?new Date(i.updatedAt).toLocaleString():"?",c=i.name==="_autosave"?` ${r.dim}(auto)${r.reset}`:"";console.log(` ${r.cyan}${i.name}${r.reset}${c} \u2014 ${i.messageCount} msgs, ${a}`)}return console.log(),!0}case"/resume":{let o=Lw();return o?(bd(o.messages),console.log(`${r.green}Resumed: ${o.name} (${o.messageCount} messages)${r.reset}`),!0):(console.log(`${r.yellow}No session to resume${r.reset}`),!0)}case"/remember":{let o=s.join(" ").trim();if(!o)return console.log(`${r.red}Usage: /remember <key>=<value> or /remember <text>${r.reset}`),!0;let i=o.indexOf("="),a,c;return i>0?(a=o.substring(0,i).trim(),c=o.substring(i+1).trim()):(a=o.substring(0,40).replace(/\s+/g,"-"),c=o),qw(a,c),console.log(`${r.green}Remembered: ${a}${r.reset}`),!0}case"/forget":{let o=s.join(" ").trim();return o?(Mw(o)?console.log(`${r.green}Forgotten: ${o}${r.reset}`):console.log(`${r.red}Memory not found: ${o}${r.reset}`),!0):(console.log(`${r.red}Usage: /forget <key>${r.reset}`),!0)}case"/memory":{let o=Fw();if(o.length===0)return console.log(`${r.dim}No memories saved${r.reset}`),!0;console.log(`
|
|
441
|
+
${r.bold}${r.cyan}Memory:${r.reset}`);for(let i of o)console.log(` ${r.cyan}${i.key}${r.reset} = ${i.value}`);return console.log(),!0}case"/plan":{let o=s.join(" ").trim();if(o==="status"){let i=Dw();return console.log(Ww(i)),!0}return o==="approve"?(Bw()?(console.log(`${r.green}Plan approved! Starting execution...${r.reset}`),zw(),$d(!1)):console.log(`${r.red}No plan to approve${r.reset}`),!0):($d(!0),console.log(`${r.cyan}${r.bold}Plan mode activated${r.reset}`),console.log(`${r.dim}Analysis only \u2014 no file changes until approved${r.reset}`),o&&console.log(`${r.dim}Task: ${o}${r.reset}`),!0)}case"/plans":{let o=Hw();if(o.length===0)return console.log(`${r.dim}No saved plans${r.reset}`),!0;console.log(`
|
|
442
|
+
${r.bold}${r.cyan}Plans:${r.reset}`);for(let i of o){let a=i.status==="completed"?`${r.green}\u2713`:i.status==="executing"?`${r.blue}\u2192`:`${r.dim}\u25CB`;console.log(` ${a} ${r.reset}${r.bold}${i.name}${r.reset} \u2014 ${i.task||"?"} (${i.steps} steps, ${i.status})`)}return console.log(),!0}case"/auto":{let o=s.join(" ").trim();return o?(Gw(o)?console.log(`${r.green}Autonomy: ${o}${r.reset}`):console.log(`${r.red}Unknown level: ${o}. Use: ${wd.join(", ")}${r.reset}`),!0):(console.log(`${r.bold}${r.cyan}Autonomy:${r.reset} ${Od()}`),console.log(`${r.dim}Levels: ${wd.join(", ")}${r.reset}`),!0)}case"/permissions":{let o=Iw();console.log(`
|
|
443
|
+
${r.bold}${r.cyan}Tool Permissions:${r.reset}`);for(let i of o){let a=i.mode==="allow"?`${r.green}\u2713`:i.mode==="deny"?`${r.red}\u2717`:`${r.yellow}?`;console.log(` ${a} ${r.reset}${r.bold}${i.tool}${r.reset} ${r.dim}(${i.mode})${r.reset}`)}return console.log(`
|
|
444
|
+
${r.dim}Use /allow <tool> or /deny <tool> to change${r.reset}
|
|
445
|
+
`),!0}case"/allow":{let o=s.join(" ").trim();return o?(vd(o,"allow"),yd(),console.log(`${r.green}${o}: allow${r.reset}`),!0):(console.log(`${r.red}Usage: /allow <tool>${r.reset}`),!0)}case"/deny":{let o=s.join(" ").trim();return o?(vd(o,"deny"),yd(),console.log(`${r.red}${o}: deny${r.reset}`),!0):(console.log(`${r.red}Usage: /deny <tool>${r.reset}`),!0)}case"/commit":{if(!Qi())return console.log(`${r.red}Not a git repository${r.reset}`),!0;let o=s.join(" ").trim();if(o){let u=await _d(o);return console.log(u?`${r.green}Committed: ${u} \u2014 ${o}${r.reset}`:`${r.red}Commit failed${r.reset}`),!0}if(!Jw())return console.log(`${r.yellow}No changes to commit${r.reset}`),!0;let a=await kd();if(console.log(a),!await confirm(" Commit changes?"))return!0;let p=await _d("nex-code update");return p&&console.log(`${r.green} \u2713 Committed: ${p}${r.reset}`),!0}case"/diff":return Qi()?(console.log(kd()),!0):(console.log(`${r.red}Not a git repository${r.reset}`),!0);case"/branch":{if(!Qi())return console.log(`${r.red}Not a git repository${r.reset}`),!0;let o=s.join(" ").trim();if(!o){let a=Kw();return console.log(`${r.bold}${r.cyan}Branch:${r.reset} ${a||"(detached)"}`),!0}let i=Vw(o);return console.log(i?`${r.green}Created and switched to: ${i}${r.reset}`:`${r.red}Failed to create branch${r.reset}`),!0}case"/mcp":{let o=s.join(" ").trim();if(o==="connect")return console.log(`${r.dim}Connecting MCP servers...${r.reset}`),Xw().then(a=>{for(let c of a)c.error?console.log(` ${r.red}\u2717${r.reset} ${c.name}: ${c.error}`):console.log(` ${r.green}\u2713${r.reset} ${c.name}: ${c.tools} tools`);a.length===0&&console.log(`${r.dim}No MCP servers configured in .nex/config.json${r.reset}`)}).catch(a=>{console.log(`${r.red}MCP connection error: ${a.message}${r.reset}`)}),!0;if(o==="disconnect")return Qw(),console.log(`${r.green}All MCP servers disconnected${r.reset}`),!0;let i=Yw();if(i.length===0)return console.log(`${r.dim}No MCP servers configured${r.reset}`),console.log(`${r.dim}Add servers to .nex/config.json under "mcpServers"${r.reset}`),!0;console.log(`
|
|
446
|
+
${r.bold}${r.cyan}MCP Servers:${r.reset}`);for(let a of i){let c=a.connected?`${r.green}\u2713 connected${r.reset}`:`${r.dim}\u25CB disconnected${r.reset}`;console.log(` ${c} ${r.bold}${a.name}${r.reset} (${a.command}) \u2014 ${a.toolCount} tools`)}return console.log(`
|
|
447
|
+
${r.dim}Use /mcp connect to connect all servers${r.reset}
|
|
448
|
+
`),!0}case"/hooks":{let o=Zw();if(o.length===0)return console.log(`${r.dim}No hooks configured${r.reset}`),console.log(`${r.dim}Add hooks to .nex/config.json or .nex/hooks/${r.reset}`),!0;console.log(`
|
|
449
|
+
${r.bold}${r.cyan}Hooks:${r.reset}`);for(let i of o){console.log(` ${r.cyan}${i.event}${r.reset}`);for(let a of i.commands)console.log(` ${r.dim}\u2192 ${a}${r.reset}`)}return console.log(),!0}case"/skills":{let o=s.join(" ").trim();if(o.startsWith("enable ")){let a=o.substring(7).trim();return m0(a)?console.log(`${r.green}Skill enabled: ${a}${r.reset}`):console.log(`${r.red}Skill not found: ${a}${r.reset}`),!0}if(o.startsWith("disable ")){let a=o.substring(8).trim();return f0(a)?console.log(`${r.yellow}Skill disabled: ${a}${r.reset}`):console.log(`${r.red}Skill not found: ${a}${r.reset}`),!0}let i=d0();if(i.length===0)return console.log(`${r.dim}No skills loaded${r.reset}`),console.log(`${r.dim}Add .md or .js files to .nex/skills/${r.reset}`),!0;console.log(`
|
|
450
|
+
${r.bold}${r.cyan}Skills:${r.reset}`);for(let a of i){let c=a.enabled?`${r.green}\u2713${r.reset}`:`${r.red}\u2717${r.reset}`,p=a.type==="prompt"?`${r.dim}(prompt)${r.reset}`:`${r.dim}(script)${r.reset}`,u=[];a.commands>0&&u.push(`${a.commands} cmd`),a.tools>0&&u.push(`${a.tools} tools`);let l=u.length>0?` \u2014 ${u.join(", ")}`:"";console.log(` ${c} ${r.bold}${a.name}${r.reset} ${p}${l}`)}return console.log(`
|
|
451
|
+
${r.dim}Use /skills enable <name> or /skills disable <name>${r.reset}
|
|
452
|
+
`),!0}case"/tasks":{let{renderTaskList:o,clearTasks:i}=ys();return s.join(" ").trim()==="clear"?(i(),console.log(`${r.green}Tasks cleared${r.reset}`),!0):(console.log(`
|
|
453
|
+
`+o()+`
|
|
454
|
+
`),!0)}case"/undo":{let o=e0();if(!o)return console.log(`${r.yellow}Nothing to undo${r.reset}`),!0;o.wasCreated?console.log(`${r.green}Undone: deleted ${o.filePath} (was created by ${o.tool})${r.reset}`):console.log(`${r.green}Undone: restored ${o.filePath} (${o.tool})${r.reset}`);let i=Sd();return i>0&&console.log(`${r.dim}${i} more change(s) to undo${r.reset}`),!0}case"/redo":{let o=t0();if(!o)return console.log(`${r.yellow}Nothing to redo${r.reset}`),!0;console.log(`${r.green}Redone: ${o.filePath} (${o.tool})${r.reset}`);let i=Ed();return i>0&&console.log(`${r.dim}${i} more change(s) to redo${r.reset}`),!0}case"/history":{let o=n0(20);if(o.length===0)return console.log(`${r.dim}No file changes in this session${r.reset}`),!0;console.log(`
|
|
455
|
+
${r.bold}${r.cyan}File Change History:${r.reset}`);for(let i of o){let a=new Date(i.timestamp).toLocaleTimeString();console.log(` ${r.dim}${a}${r.reset} ${r.yellow}${i.tool}${r.reset} ${i.filePath}`)}return console.log(`
|
|
456
|
+
${r.dim}${Sd()} undo / ${Ed()} redo available${r.reset}
|
|
457
|
+
`),!0}case"/exit":case"/quit":console.log(`
|
|
458
|
+
${r.gray}Bye!${r.reset}`),process.exit(0);default:return h0(e)||console.log(`${r.red}Unknown command: ${n}. Type /help${r.reset}`),!0}}var na=1e3;function sa(){return He.join(process.cwd(),".nex","repl_history")}function Id(){try{let e=sa();if(it.existsSync(e))return it.readFileSync(e,"utf-8").split(`
|
|
459
|
+
`).filter(Boolean).slice(-na)}catch{}return[]}function Fs(e){try{let t=sa(),n=He.dirname(t);it.existsSync(n)||it.mkdirSync(n,{recursive:!0}),it.appendFileSync(t,e+`
|
|
460
|
+
`)}catch{}}function We(){let e=[];Uw()&&e.push("plan");let t=Od();t!=="interactive"&&e.push(t);let n=St(),s=_t();return e.push(`${n}:${s.id}`),`${e.length>0?`${r.dim}[${e.join(" \xB7 ")}]${r.reset} `:""}${r.bold}${r.cyan}>${r.reset} `}var oa="\x1B[200~",ia="\x1B[201~";function x0(e){return typeof e=="string"&&e.includes(oa)}function b0(e){return typeof e=="string"&&e.includes(ia)}function Rn(e){return typeof e!="string"?e:e.split(oa).join("").split(ia).join("")}function v0(){if(_w(jd),!ea().some(v=>v.configured)){let v=Tw("local"),$=!1;if(v)try{let{execSync:T}=require("child_process");T("curl -s --max-time 2 http://localhost:11434/api/tags",{encoding:"utf-8",stdio:"pipe"}),Rd("local:llama3"),console.log(`${r.green}\u2713 Local Ollama detected \u2014 using local models${r.reset}`),console.log(`${r.dim}Tip: Set API keys for cloud providers for more model options (OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.)${r.reset}
|
|
461
|
+
`),$=!0}catch{}$||(console.error(`
|
|
462
|
+
${r.red}\u2717 No provider configured and no local Ollama detected.${r.reset}
|
|
463
|
+
`),console.error(`${r.white}nex-code needs at least one LLM provider to work.${r.reset}
|
|
464
|
+
`),console.error(`${r.white}Option 1 \u2014 Free local models (no API key needed):${r.reset}`),console.error(`${r.gray} Install Ollama: ${r.cyan}https://ollama.com/download${r.reset}`),console.error(`${r.gray} Pull a model: ${r.cyan}ollama pull qwen3-coder${r.reset}`),console.error(`${r.gray} Then restart: ${r.cyan}nex-code${r.reset}
|
|
465
|
+
`),console.error(`${r.white}Option 2 \u2014 Cloud providers (set one in .env or as env var):${r.reset}`),console.error(`${r.gray} OLLAMA_API_KEY=... ${r.dim}# Ollama Cloud (free tier available)${r.reset}`),console.error(`${r.gray} OPENAI_API_KEY=... ${r.dim}# OpenAI${r.reset}`),console.error(`${r.gray} ANTHROPIC_API_KEY=... ${r.dim}# Anthropic${r.reset}`),console.error(`${r.gray} GEMINI_API_KEY=... ${r.dim}# Google Gemini${r.reset}
|
|
466
|
+
`),console.error(`${r.dim}Create a .env file in your project directory or export the variable.${r.reset}`),process.exit(1))}u0();let n=_t(),s=St();$w(`${s}:${n.id}`,Is,{yolo:Ad()}),Cd(Is);let o=Id(),i=yw.createInterface({input:process.stdin,output:process.stdout,prompt:We(),completer:Ld,history:o,historySize:na});Cw(i);let a=!1,c=0;process.on("SIGINT",()=>{if(ww(),a){c++,c>=3&&(process.stdin.isTTY&&process.stdout.write("\x1B[?2004l"),console.log(`
|
|
467
|
+
${r.gray}Bye!${r.reset}`),process.exit(0)),Xe&&Xe.abort(),console.log(`
|
|
468
|
+
${r.yellow} Cancelled${r.reset}`),a=!1,i.setPrompt(We()),i.prompt();return}process.stdin.isTTY&&process.stdout.write("\x1B[?2004l"),console.log(`
|
|
469
|
+
${r.gray}Bye!${r.reset}`),process.exit(0)});let p=!1,u=[],l=null;function d(){let v=u.join(`
|
|
470
|
+
`).trim();if(u=[],p=!1,!v)return!0;l=v;let $=v.split(`
|
|
471
|
+
`),T=$.length,w=$[0].length>80?$[0].substring(0,77)+"...":$[0],R=T>1?`[Pasted content \u2014 ${T} lines]`:"[Pasted content]";return console.log(`
|
|
472
|
+
${r.dim} ${R}${r.reset}`),console.log(`${r.dim} \u23BF ${w}${r.reset}`),T>1&&console.log(`${r.dim} \u23BF \u2026 +${T-1} more lines${r.reset}`),console.log(`${r.dim} Press Enter to send${r.reset}`),!0}if(process.stdin.isTTY){process.stdout.write("\x1B[?2004h");let v=process.stdin.emit.bind(process.stdin);process.stdin.emit=function($,...T){if($!=="data")return v.call(process.stdin,$,...T);let w=T[0];if(Buffer.isBuffer(w)&&(w=w.toString("utf8")),typeof w!="string")return v.call(process.stdin,$,...T);let R=w.includes(oa),S=w.includes(ia);if(R&&S){let E=Rn(w);return E&&u.push(...E.split(`
|
|
473
|
+
`)),d()}if(R){p=!0,u=[];let E=Rn(w);return E&&u.push(...E.split(`
|
|
474
|
+
`)),!0}if(S){let E=Rn(w);return E&&u.push(...E.split(`
|
|
475
|
+
`)),d()}if(p){let E=Rn(w);return E&&u.push(...E.split(`
|
|
476
|
+
`)),!0}return v.call(process.stdin,$,...T)}}let m=0;function h(){if(m>0){let v="";for(let $=0;$<m;$++)v+="\x1B[1B\x1B[2K";v+=`\x1B[${m}A`,process.stdout.write(v),m=0}}function f(v){let $=[...Ds,...ta()].filter(C=>C.cmd.startsWith(v));if(!$.length||$.length===1&&$[0].cmd===v)return;let T=10,w=$.slice(0,T),R=Math.max(...w.map(C=>C.cmd.length)),S="";for(let{cmd:C,desc:M}of w){let F=C.substring(0,v.length),B=C.substring(v.length),W=" ".repeat(Math.max(0,R-C.length+2));S+=`
|
|
477
|
+
\x1B[2K ${r.cyan}${F}${r.reset}${r.dim}${B}${W}${M}${r.reset}`}m=w.length,$.length>T&&(S+=`
|
|
478
|
+
\x1B[2K ${r.dim}\u2026 +${$.length-T} more${r.reset}`,m++);let E=i._prompt.replace(/\x1b\[[0-9;]*m/g,"").length;S+=`\x1B[${m}A\x1B[${E+i.cursor+1}G`,process.stdout.write(S)}process.stdin.isTTY&&process.stdin.on("keypress",(v,$)=>{h(),!($&&($.name==="tab"||$.name==="return"))&&setImmediate(()=>{i.line&&i.line.startsWith("/")&&f(i.line)})});let x=null,b=`${r.dim}...${r.reset} `;i.setPrompt(We()),i.prompt(),i.on("line",async v=>{if(h(),a){l=null;return}if(l!==null&&(v=l,l=null),x!==null){if(x._mode==="triple"){if(v.trim()==='"""'){let w=x.join(`
|
|
479
|
+
`).trim();if(x=null,w){Fs(w.replace(/\n/g,"\\n")),a=!0,c=0,Xe=new AbortController;try{await Yi(w)}catch(S){if(!Xe?.signal?.aborted){let E=S.message?.split(`
|
|
480
|
+
`)[0]||"An unexpected error occurred";console.log(`${r.red}Error: ${E}${r.reset}`)}}a=!1;let R=Xi();R>0&&process.stdout.write(`${r.gray}[${R} messages] ${r.reset}`)}i.setPrompt(We()),i.prompt();return}x.push(v),i.setPrompt(b),i.prompt();return}if(v.endsWith("\\"))x.push(v.slice(0,-1));else{x.push(v);let w=x.join(`
|
|
481
|
+
`).trim();if(x=null,w){Fs(w.replace(/\n/g,"\\n")),a=!0,c=0,Xe=new AbortController;try{await Yi(w)}catch(S){if(!Xe?.signal?.aborted){let E=S.message?.split(`
|
|
482
|
+
`)[0]||"An unexpected error occurred";console.log(`${r.red}Error: ${E}${r.reset}`)}}a=!1;let R=Xi();R>0&&process.stdout.write(`${r.gray}[${R} messages] ${r.reset}`)}i.setPrompt(We()),i.prompt();return}i.setPrompt(b),i.prompt();return}if(v.trim()==='"""'||v.trim().startsWith('"""')){let w=v.trim().substring(3);x=w?[w]:[],x._mode="triple",i.setPrompt(b),i.prompt();return}if(v.endsWith("\\")){x=[v.slice(0,-1)],x._mode="backslash",i.setPrompt(b),i.prompt();return}let $=v.trim();if(!$){i.setPrompt(We()),i.prompt();return}if(Fs($),$==="/"){Pd(),i.setPrompt(We()),i.prompt();return}if($.startsWith("/")){await Fd($,i),i.setPrompt(We()),i.prompt();return}a=!0,c=0,Xe=new AbortController;try{await Yi($)}catch(w){if(!Xe?.signal?.aborted){let R=w.message?.split(`
|
|
483
|
+
`)[0]||"An unexpected error occurred";console.log(`${r.red}Error: ${R}${r.reset}`)}}a=!1;let T=Xi();T>0&&process.stdout.write(`${r.gray}[${T} messages] ${r.reset}`),i.setPrompt(We()),i.prompt()}),i.on("close",()=>{process.stdin.isTTY&&process.stdout.write("\x1B[?2004l"),console.log(`
|
|
484
|
+
${r.gray}Bye!${r.reset}`),process.exit(0)})}module.exports={startREPL:v0,getPrompt:We,loadHistory:Id,appendHistory:Fs,getHistoryPath:sa,HISTORY_MAX:na,showCommandList:Pd,completer:Ld,completeFilePath:Nd,handleSlashCommand:Fd,showProviders:Zi,showHelp:qd,renderBar:Md,hasPasteStart:x0,hasPasteEnd:b0,stripPasteSequences:Rn,getAbortSignal:jd};
|
|
485
|
+
/*! Bundled license information:
|
|
486
|
+
|
|
487
|
+
mime-db/index.js:
|
|
488
|
+
(*!
|
|
489
|
+
* mime-db
|
|
490
|
+
* Copyright(c) 2014 Jonathan Ong
|
|
491
|
+
* Copyright(c) 2015-2022 Douglas Christopher Wilson
|
|
492
|
+
* MIT Licensed
|
|
493
|
+
*)
|
|
494
|
+
|
|
495
|
+
mime-types/index.js:
|
|
496
|
+
(*!
|
|
497
|
+
* mime-types
|
|
498
|
+
* Copyright(c) 2014 Jonathan Ong
|
|
499
|
+
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
500
|
+
* MIT Licensed
|
|
501
|
+
*)
|
|
502
|
+
|
|
503
|
+
axios/dist/node/axios.cjs:
|
|
504
|
+
(*! Axios v1.13.5 Copyright (c) 2026 Matt Zabriskie and contributors *)
|
|
505
|
+
*/
|