@skyramp/testbot-core 0.12.0-v3.37 → 0.12.0-v3.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/main.js +26 -26
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -47,7 +47,7 @@ ${o}`;return}if(R_(e,s,AAt)){yAt(e,i)&&(r.retry=e.toString("utf8",i));return}if(
47
47
 
48
48
  Error Code : ${o.statusCode}
49
49
 
50
- Error Message: ${o.message}`)})).result)===null||r===void 0?void 0:r.value;if(!i)throw new Error("Response json body do not have ID Token field");return i})}static getIDToken(e){return Abe(this,void 0,void 0,function*(){try{let r=t.getIDTokenUrl();if(e){let s=encodeURIComponent(e);r=`${r}&audience=${s}`}ie(`ID token url is ${r}`);let n=yield t.getCall(r);return It(n),n}catch(r){throw new Error(`Error message: ${r.message}`)}})}}});var bbe,fR,TV,fyt,hyt,gyt,Ebe,BV,Ayt,hR,PV=C(()=>{bbe=require("os"),fR=require("fs"),TV=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})},{access:fyt,appendFile:hyt,writeFile:gyt}=fR.promises,Ebe="GITHUB_STEP_SUMMARY",BV=class{constructor(){this._buffer=""}filePath(){return TV(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[Ebe];if(!e)throw new Error(`Unable to find environment variable for $${Ebe}. Check if your runtime environment supports job summaries.`);try{yield fyt(e,fR.constants.R_OK|fR.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,r,n={}){let s=Object.entries(n).map(([i,o])=>` ${i}="${o}"`).join("");return r?`<${e}${s}>${r}</${e}>`:`<${e}${s}>`}write(e){return TV(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?gyt:hyt)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return TV(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(e,r=!1){return this._buffer+=e,r?this.addEOL():this}addEOL(){return this.addRaw(bbe.EOL)}addCodeBlock(e,r){let n=Object.assign({},r&&{lang:r}),s=this.wrap("pre",this.wrap("code",e),n);return this.addRaw(s).addEOL()}addList(e,r=!1){let n=r?"ol":"ul",s=e.map(o=>this.wrap("li",o)).join(""),i=this.wrap(n,s);return this.addRaw(i).addEOL()}addTable(e){let r=e.map(s=>{let i=s.map(o=>{if(typeof o=="string")return this.wrap("td",o);let{header:a,data:c,colspan:l,rowspan:u}=o,d=a?"th":"td",p=Object.assign(Object.assign({},l&&{colspan:l}),u&&{rowspan:u});return this.wrap(d,c,p)}).join("");return this.wrap("tr",i)}).join(""),n=this.wrap("table",r);return this.addRaw(n).addEOL()}addDetails(e,r){let n=this.wrap("details",this.wrap("summary",e)+r);return this.addRaw(n).addEOL()}addImage(e,r,n){let{width:s,height:i}=n||{},o=Object.assign(Object.assign({},s&&{width:s}),i&&{height:i}),a=this.wrap("img",null,Object.assign({src:e,alt:r},o));return this.addRaw(a).addEOL()}addHeading(e,r){let n=`h${r}`,s=["h1","h2","h3","h4","h5","h6"].includes(n)?n:"h1",i=this.wrap(s,e);return this.addRaw(i).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,r){let n=Object.assign({},r&&{cite:r}),s=this.wrap("blockquote",e,n);return this.addRaw(s).addEOL()}addLink(e,r){let n=this.wrap("a",e,{href:r});return this.addRaw(n).addEOL()}},Ayt=new BV,hR=Ayt});var wbe=C(()=>{});function kV(t){return Cbe(this,void 0,void 0,function*(){try{yield P_(t)}catch(e){if(e.code==="ENOENT")return!1;throw e}return!0})}function __(t){if(t=Iyt(t),!t)throw new Error('isRooted() parameter "p" cannot be empty');return tA?t.startsWith("\\")||/^[A-Z]:/i.test(t):t.startsWith("/")}function _V(t,e){return Cbe(this,void 0,void 0,function*(){let r;try{r=yield P_(t)}catch(s){s.code!=="ENOENT"&&console.log(`Unexpected error attempting to determine if executable file exists '${t}': ${s}`)}if(r&&r.isFile()){if(tA){let s=Ef.extname(t).toUpperCase();if(e.some(i=>i.toUpperCase()===s))return t}else if(xbe(r))return t}let n=t;for(let s of e){t=n+s,r=void 0;try{r=yield P_(t)}catch(i){i.code!=="ENOENT"&&console.log(`Unexpected error attempting to determine if executable file exists '${t}': ${i}`)}if(r&&r.isFile()){if(tA){try{let i=Ef.dirname(t),o=Ef.basename(t).toUpperCase();for(let a of yield Ibe(i))if(o===a.toUpperCase()){t=Ef.join(i,a);break}}catch(i){console.log(`Unexpected error attempting to determine the actual case of the file '${t}': ${i}`)}return t}else if(xbe(r))return t}}return""})}function Iyt(t){return t=t||"",tA?(t=t.replace(/\//g,"\\"),t.replace(/\\\\+/g,"\\")):t.replace(/\/\/+/g,"/")}function xbe(t){return(t.mode&1)>0||(t.mode&8)>0&&process.getgid!==void 0&&t.gid===process.getgid()||(t.mode&64)>0&&process.getuid!==void 0&&t.uid===process.getuid()}var k_,Ef,Cbe,yyt,Eyt,byt,Sbe,Gar,Ibe,wyt,xyt,jar,P_,Cyt,Syt,tA,Var,DV=C(()=>{k_=H(require("fs"),1),Ef=H(require("path"),1),Cbe=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})},{chmod:yyt,copyFile:Eyt,lstat:byt,mkdir:Sbe,open:Gar,readdir:Ibe,rename:wyt,rm:xyt,rmdir:jar,stat:P_,symlink:Cyt,unlink:Syt}=k_.promises,tA=process.platform==="win32",Var=k_.constants.O_RDONLY});function D_(t){return QV(this,void 0,void 0,function*(){(0,vbe.ok)(t,"a path argument must be provided"),yield Sbe(t,{recursive:!0})})}function Cp(t,e){return QV(this,void 0,void 0,function*(){if(!t)throw new Error("parameter 'tool' is required");if(e){let n=yield Cp(t,!1);if(!n)throw tA?new Error(`Unable to locate executable file: ${t}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`):new Error(`Unable to locate executable file: ${t}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`);return n}let r=yield Ryt(t);return r&&r.length>0?r[0]:""})}function Ryt(t){return QV(this,void 0,void 0,function*(){if(!t)throw new Error("parameter 'tool' is required");let e=[];if(tA&&process.env.PATHEXT)for(let s of process.env.PATHEXT.split(cu.delimiter))s&&e.push(s);if(__(t)){let s=yield _V(t,e);return s?[s]:[]}if(t.includes(cu.sep))return[];let r=[];if(process.env.PATH)for(let s of process.env.PATH.split(cu.delimiter))s&&r.push(s);let n=[];for(let s of r){let i=yield _V(cu.join(s,t),e);i&&n.push(i)}return n})}var vbe,cu,QV,Q_=C(()=>{vbe=require("assert"),cu=H(require("path"),1);DV();QV=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})}});function kbe(t){let e=[],r=!1,n=!1,s="";function i(o){n&&o!=='"'&&(s+="\\"),s+=o,n=!1}for(let o=0;o<t.length;o++){let a=t.charAt(o);if(a==='"'){n?i(a):r=!r;continue}if(a==="\\"&&n){i(a);continue}if(a==="\\"&&r){n=!0;continue}if(a===" "&&!r){s.length>0&&(e.push(s),s="");continue}i(a)}return s.length>0&&e.push(s.trim()),e}var gR,LV,Tbe,Bbe,Pbe,Nbe,M_,O_,OV,_be=C(()=>{gR=H(require("os"),1),LV=H(require("events"),1),Tbe=H(require("child_process"),1),Bbe=H(require("path"),1);Q_();DV();Pbe=require("timers"),Nbe=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})},M_=process.platform==="win32",O_=class extends LV.EventEmitter{constructor(e,r,n){if(super(),!e)throw new Error("Parameter 'toolPath' cannot be null or empty.");this.toolPath=e,this.args=r||[],this.options=n||{}}_debug(e){this.options.listeners&&this.options.listeners.debug&&this.options.listeners.debug(e)}_getCommandString(e,r){let n=this._getSpawnFileName(),s=this._getSpawnArgs(e),i=r?"":"[command]";if(M_)if(this._isCmdFile()){i+=n;for(let o of s)i+=` ${o}`}else if(e.windowsVerbatimArguments){i+=`"${n}"`;for(let o of s)i+=` ${o}`}else{i+=this._windowsQuoteCmdArg(n);for(let o of s)i+=` ${this._windowsQuoteCmdArg(o)}`}else{i+=n;for(let o of s)i+=` ${o}`}return i}_processLineBuffer(e,r,n){try{let s=r+e.toString(),i=s.indexOf(gR.EOL);for(;i>-1;){let o=s.substring(0,i);n(o),s=s.substring(i+gR.EOL.length),i=s.indexOf(gR.EOL)}return s}catch(s){return this._debug(`error processing line. Failed with error ${s}`),""}}_getSpawnFileName(){return M_&&this._isCmdFile()?process.env.COMSPEC||"cmd.exe":this.toolPath}_getSpawnArgs(e){if(M_&&this._isCmdFile()){let r=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(let n of this.args)r+=" ",r+=e.windowsVerbatimArguments?n:this._windowsQuoteCmdArg(n);return r+='"',[r]}return this.args}_endsWith(e,r){return e.endsWith(r)}_isCmdFile(){let e=this.toolPath.toUpperCase();return this._endsWith(e,".CMD")||this._endsWith(e,".BAT")}_windowsQuoteCmdArg(e){if(!this._isCmdFile())return this._uvQuoteCmdArg(e);if(!e)return'""';let r=[" "," ","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'],n=!1;for(let o of e)if(r.some(a=>a===o)){n=!0;break}if(!n)return e;let s='"',i=!0;for(let o=e.length;o>0;o--)s+=e[o-1],i&&e[o-1]==="\\"?s+="\\":e[o-1]==='"'?(i=!0,s+='"'):i=!1;return s+='"',s.split("").reverse().join("")}_uvQuoteCmdArg(e){if(!e)return'""';if(!e.includes(" ")&&!e.includes(" ")&&!e.includes('"'))return e;if(!e.includes('"')&&!e.includes("\\"))return`"${e}"`;let r='"',n=!0;for(let s=e.length;s>0;s--)r+=e[s-1],n&&e[s-1]==="\\"?r+="\\":e[s-1]==='"'?(n=!0,r+="\\"):n=!1;return r+='"',r.split("").reverse().join("")}_cloneExecOptions(e){e=e||{};let r={cwd:e.cwd||process.cwd(),env:e.env||process.env,silent:e.silent||!1,windowsVerbatimArguments:e.windowsVerbatimArguments||!1,failOnStdErr:e.failOnStdErr||!1,ignoreReturnCode:e.ignoreReturnCode||!1,delay:e.delay||1e4};return r.outStream=e.outStream||process.stdout,r.errStream=e.errStream||process.stderr,r}_getSpawnOptions(e,r){e=e||{};let n={};return n.cwd=e.cwd,n.env=e.env,n.windowsVerbatimArguments=e.windowsVerbatimArguments||this._isCmdFile(),e.windowsVerbatimArguments&&(n.argv0=`"${r}"`),n}exec(){return Nbe(this,void 0,void 0,function*(){return!__(this.toolPath)&&(this.toolPath.includes("/")||M_&&this.toolPath.includes("\\"))&&(this.toolPath=Bbe.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)),this.toolPath=yield Cp(this.toolPath,!0),new Promise((e,r)=>Nbe(this,void 0,void 0,function*(){this._debug(`exec tool: ${this.toolPath}`),this._debug("arguments:");for(let l of this.args)this._debug(` ${l}`);let n=this._cloneExecOptions(this.options);!n.silent&&n.outStream&&n.outStream.write(this._getCommandString(n)+gR.EOL);let s=new OV(n,this.toolPath);if(s.on("debug",l=>{this._debug(l)}),this.options.cwd&&!(yield kV(this.options.cwd)))return r(new Error(`The cwd: ${this.options.cwd} does not exist!`));let i=this._getSpawnFileName(),o=Tbe.spawn(i,this._getSpawnArgs(n),this._getSpawnOptions(this.options,i)),a="";o.stdout&&o.stdout.on("data",l=>{this.options.listeners&&this.options.listeners.stdout&&this.options.listeners.stdout(l),!n.silent&&n.outStream&&n.outStream.write(l),a=this._processLineBuffer(l,a,u=>{this.options.listeners&&this.options.listeners.stdline&&this.options.listeners.stdline(u)})});let c="";if(o.stderr&&o.stderr.on("data",l=>{s.processStderr=!0,this.options.listeners&&this.options.listeners.stderr&&this.options.listeners.stderr(l),!n.silent&&n.errStream&&n.outStream&&(n.failOnStdErr?n.errStream:n.outStream).write(l),c=this._processLineBuffer(l,c,u=>{this.options.listeners&&this.options.listeners.errline&&this.options.listeners.errline(u)})}),o.on("error",l=>{s.processError=l.message,s.processExited=!0,s.processClosed=!0,s.CheckComplete()}),o.on("exit",l=>{s.processExitCode=l,s.processExited=!0,this._debug(`Exit code ${l} received from tool '${this.toolPath}'`),s.CheckComplete()}),o.on("close",l=>{s.processExitCode=l,s.processExited=!0,s.processClosed=!0,this._debug(`STDIO streams have closed for tool '${this.toolPath}'`),s.CheckComplete()}),s.on("done",(l,u)=>{a.length>0&&this.emit("stdline",a),c.length>0&&this.emit("errline",c),o.removeAllListeners(),l?r(l):e(u)}),this.options.input){if(!o.stdin)throw new Error("child process missing stdin");o.stdin.end(this.options.input)}}))})}};OV=class t extends LV.EventEmitter{constructor(e,r){if(super(),this.processClosed=!1,this.processError="",this.processExitCode=0,this.processExited=!1,this.processStderr=!1,this.delay=1e4,this.done=!1,this.timeout=null,!r)throw new Error("toolPath must not be empty");this.options=e,this.toolPath=r,e.delay&&(this.delay=e.delay)}CheckComplete(){this.done||(this.processClosed?this._setResult():this.processExited&&(this.timeout=(0,Pbe.setTimeout)(t.HandleTimeout,this.delay,this)))}_debug(e){this.emit("debug",e)}_setResult(){let e;this.processExited&&(this.processError?e=new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`):this.processExitCode!==0&&!this.options.ignoreReturnCode?e=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`):this.processStderr&&this.options.failOnStdErr&&(e=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`))),this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.done=!0,this.emit("done",e,this.processExitCode)}static HandleTimeout(e){if(!e.done){if(!e.processClosed&&e.processExited){let r=`The STDIO streams did not close within ${e.delay/1e3} seconds of the exit event from process '${e.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;e._debug(r)}e._setResult()}}}});function tw(t,e,r){return Nyt(this,void 0,void 0,function*(){let n=kbe(t);if(n.length===0)throw new Error("Parameter 'commandLine' cannot be null or empty.");let s=n[0];return e=n.slice(1).concat(e||[]),new O_(s,e,r).exec()})}var Nyt,AR=C(()=>{_be();Nyt=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})}});var UV,Kar,Xar,Dbe=C(()=>{UV=H(require("os"),1);AR();Kar=UV.default.platform(),Xar=UV.default.arch()});function Cs(t,e){let r=Yl(e);if(process.env[t]=r,process.env.GITHUB_ENV||"")return lI("ENV",PP(t,e));el("set-env",{name:t},r)}function It(t){el("add-mask",{},t)}function Mbe(t){process.env.GITHUB_PATH||""?lI("PATH",t):el("add-path",{},t),process.env.PATH=`${t}${Qbe.delimiter}${process.env.PATH}`}function Ue(t,e){let r=process.env[`INPUT_${t.replace(/ /g,"_").toUpperCase()}`]||"";if(e&&e.required&&!r)throw new Error(`Input required and not supplied: ${t}`);return e&&e.trimWhitespace===!1?r:r.trim()}function lu(t,e){let r=["true","True","TRUE"],n=["false","False","FALSE"],s=Ue(t,e);if(r.includes(s))return!0;if(n.includes(s))return!1;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${t}
50
+ Error Message: ${o.message}`)})).result)===null||r===void 0?void 0:r.value;if(!i)throw new Error("Response json body do not have ID Token field");return i})}static getIDToken(e){return Abe(this,void 0,void 0,function*(){try{let r=t.getIDTokenUrl();if(e){let s=encodeURIComponent(e);r=`${r}&audience=${s}`}ie(`ID token url is ${r}`);let n=yield t.getCall(r);return It(n),n}catch(r){throw new Error(`Error message: ${r.message}`)}})}}});var bbe,fR,TV,fyt,hyt,gyt,Ebe,BV,Ayt,hR,PV=C(()=>{bbe=require("os"),fR=require("fs"),TV=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})},{access:fyt,appendFile:hyt,writeFile:gyt}=fR.promises,Ebe="GITHUB_STEP_SUMMARY",BV=class{constructor(){this._buffer=""}filePath(){return TV(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[Ebe];if(!e)throw new Error(`Unable to find environment variable for $${Ebe}. Check if your runtime environment supports job summaries.`);try{yield fyt(e,fR.constants.R_OK|fR.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,r,n={}){let s=Object.entries(n).map(([i,o])=>` ${i}="${o}"`).join("");return r?`<${e}${s}>${r}</${e}>`:`<${e}${s}>`}write(e){return TV(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?gyt:hyt)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return TV(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(e,r=!1){return this._buffer+=e,r?this.addEOL():this}addEOL(){return this.addRaw(bbe.EOL)}addCodeBlock(e,r){let n=Object.assign({},r&&{lang:r}),s=this.wrap("pre",this.wrap("code",e),n);return this.addRaw(s).addEOL()}addList(e,r=!1){let n=r?"ol":"ul",s=e.map(o=>this.wrap("li",o)).join(""),i=this.wrap(n,s);return this.addRaw(i).addEOL()}addTable(e){let r=e.map(s=>{let i=s.map(o=>{if(typeof o=="string")return this.wrap("td",o);let{header:a,data:c,colspan:l,rowspan:u}=o,d=a?"th":"td",p=Object.assign(Object.assign({},l&&{colspan:l}),u&&{rowspan:u});return this.wrap(d,c,p)}).join("");return this.wrap("tr",i)}).join(""),n=this.wrap("table",r);return this.addRaw(n).addEOL()}addDetails(e,r){let n=this.wrap("details",this.wrap("summary",e)+r);return this.addRaw(n).addEOL()}addImage(e,r,n){let{width:s,height:i}=n||{},o=Object.assign(Object.assign({},s&&{width:s}),i&&{height:i}),a=this.wrap("img",null,Object.assign({src:e,alt:r},o));return this.addRaw(a).addEOL()}addHeading(e,r){let n=`h${r}`,s=["h1","h2","h3","h4","h5","h6"].includes(n)?n:"h1",i=this.wrap(s,e);return this.addRaw(i).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,r){let n=Object.assign({},r&&{cite:r}),s=this.wrap("blockquote",e,n);return this.addRaw(s).addEOL()}addLink(e,r){let n=this.wrap("a",e,{href:r});return this.addRaw(n).addEOL()}},Ayt=new BV,hR=Ayt});var wbe=C(()=>{});function kV(t){return Cbe(this,void 0,void 0,function*(){try{yield P_(t)}catch(e){if(e.code==="ENOENT")return!1;throw e}return!0})}function __(t){if(t=Iyt(t),!t)throw new Error('isRooted() parameter "p" cannot be empty');return tA?t.startsWith("\\")||/^[A-Z]:/i.test(t):t.startsWith("/")}function _V(t,e){return Cbe(this,void 0,void 0,function*(){let r;try{r=yield P_(t)}catch(s){s.code!=="ENOENT"&&console.log(`Unexpected error attempting to determine if executable file exists '${t}': ${s}`)}if(r&&r.isFile()){if(tA){let s=Ef.extname(t).toUpperCase();if(e.some(i=>i.toUpperCase()===s))return t}else if(xbe(r))return t}let n=t;for(let s of e){t=n+s,r=void 0;try{r=yield P_(t)}catch(i){i.code!=="ENOENT"&&console.log(`Unexpected error attempting to determine if executable file exists '${t}': ${i}`)}if(r&&r.isFile()){if(tA){try{let i=Ef.dirname(t),o=Ef.basename(t).toUpperCase();for(let a of yield Ibe(i))if(o===a.toUpperCase()){t=Ef.join(i,a);break}}catch(i){console.log(`Unexpected error attempting to determine the actual case of the file '${t}': ${i}`)}return t}else if(xbe(r))return t}}return""})}function Iyt(t){return t=t||"",tA?(t=t.replace(/\//g,"\\"),t.replace(/\\\\+/g,"\\")):t.replace(/\/\/+/g,"/")}function xbe(t){return(t.mode&1)>0||(t.mode&8)>0&&process.getgid!==void 0&&t.gid===process.getgid()||(t.mode&64)>0&&process.getuid!==void 0&&t.uid===process.getuid()}var k_,Ef,Cbe,yyt,Eyt,byt,Sbe,Gar,Ibe,wyt,xyt,jar,P_,Cyt,Syt,tA,Var,DV=C(()=>{k_=H(require("fs"),1),Ef=H(require("path"),1),Cbe=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})},{chmod:yyt,copyFile:Eyt,lstat:byt,mkdir:Sbe,open:Gar,readdir:Ibe,rename:wyt,rm:xyt,rmdir:jar,stat:P_,symlink:Cyt,unlink:Syt}=k_.promises,tA=process.platform==="win32",Var=k_.constants.O_RDONLY});function D_(t){return QV(this,void 0,void 0,function*(){(0,vbe.ok)(t,"a path argument must be provided"),yield Sbe(t,{recursive:!0})})}function Cp(t,e){return QV(this,void 0,void 0,function*(){if(!t)throw new Error("parameter 'tool' is required");if(e){let n=yield Cp(t,!1);if(!n)throw tA?new Error(`Unable to locate executable file: ${t}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`):new Error(`Unable to locate executable file: ${t}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`);return n}let r=yield Ryt(t);return r&&r.length>0?r[0]:""})}function Ryt(t){return QV(this,void 0,void 0,function*(){if(!t)throw new Error("parameter 'tool' is required");let e=[];if(tA&&process.env.PATHEXT)for(let s of process.env.PATHEXT.split(cu.delimiter))s&&e.push(s);if(__(t)){let s=yield _V(t,e);return s?[s]:[]}if(t.includes(cu.sep))return[];let r=[];if(process.env.PATH)for(let s of process.env.PATH.split(cu.delimiter))s&&r.push(s);let n=[];for(let s of r){let i=yield _V(cu.join(s,t),e);i&&n.push(i)}return n})}var vbe,cu,QV,Q_=C(()=>{vbe=require("assert"),cu=H(require("path"),1);DV();QV=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})}});function kbe(t){let e=[],r=!1,n=!1,s="";function i(o){n&&o!=='"'&&(s+="\\"),s+=o,n=!1}for(let o=0;o<t.length;o++){let a=t.charAt(o);if(a==='"'){n?i(a):r=!r;continue}if(a==="\\"&&n){i(a);continue}if(a==="\\"&&r){n=!0;continue}if(a===" "&&!r){s.length>0&&(e.push(s),s="");continue}i(a)}return s.length>0&&e.push(s.trim()),e}var gR,LV,Tbe,Bbe,Pbe,Nbe,M_,O_,OV,_be=C(()=>{gR=H(require("os"),1),LV=H(require("events"),1),Tbe=H(require("child_process"),1),Bbe=H(require("path"),1);Q_();DV();Pbe=require("timers"),Nbe=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})},M_=process.platform==="win32",O_=class extends LV.EventEmitter{constructor(e,r,n){if(super(),!e)throw new Error("Parameter 'toolPath' cannot be null or empty.");this.toolPath=e,this.args=r||[],this.options=n||{}}_debug(e){this.options.listeners&&this.options.listeners.debug&&this.options.listeners.debug(e)}_getCommandString(e,r){let n=this._getSpawnFileName(),s=this._getSpawnArgs(e),i=r?"":"[command]";if(M_)if(this._isCmdFile()){i+=n;for(let o of s)i+=` ${o}`}else if(e.windowsVerbatimArguments){i+=`"${n}"`;for(let o of s)i+=` ${o}`}else{i+=this._windowsQuoteCmdArg(n);for(let o of s)i+=` ${this._windowsQuoteCmdArg(o)}`}else{i+=n;for(let o of s)i+=` ${o}`}return i}_processLineBuffer(e,r,n){try{let s=r+e.toString(),i=s.indexOf(gR.EOL);for(;i>-1;){let o=s.substring(0,i);n(o),s=s.substring(i+gR.EOL.length),i=s.indexOf(gR.EOL)}return s}catch(s){return this._debug(`error processing line. Failed with error ${s}`),""}}_getSpawnFileName(){return M_&&this._isCmdFile()?process.env.COMSPEC||"cmd.exe":this.toolPath}_getSpawnArgs(e){if(M_&&this._isCmdFile()){let r=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(let n of this.args)r+=" ",r+=e.windowsVerbatimArguments?n:this._windowsQuoteCmdArg(n);return r+='"',[r]}return this.args}_endsWith(e,r){return e.endsWith(r)}_isCmdFile(){let e=this.toolPath.toUpperCase();return this._endsWith(e,".CMD")||this._endsWith(e,".BAT")}_windowsQuoteCmdArg(e){if(!this._isCmdFile())return this._uvQuoteCmdArg(e);if(!e)return'""';let r=[" "," ","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'],n=!1;for(let o of e)if(r.some(a=>a===o)){n=!0;break}if(!n)return e;let s='"',i=!0;for(let o=e.length;o>0;o--)s+=e[o-1],i&&e[o-1]==="\\"?s+="\\":e[o-1]==='"'?(i=!0,s+='"'):i=!1;return s+='"',s.split("").reverse().join("")}_uvQuoteCmdArg(e){if(!e)return'""';if(!e.includes(" ")&&!e.includes(" ")&&!e.includes('"'))return e;if(!e.includes('"')&&!e.includes("\\"))return`"${e}"`;let r='"',n=!0;for(let s=e.length;s>0;s--)r+=e[s-1],n&&e[s-1]==="\\"?r+="\\":e[s-1]==='"'?(n=!0,r+="\\"):n=!1;return r+='"',r.split("").reverse().join("")}_cloneExecOptions(e){e=e||{};let r={cwd:e.cwd||process.cwd(),env:e.env||process.env,silent:e.silent||!1,windowsVerbatimArguments:e.windowsVerbatimArguments||!1,failOnStdErr:e.failOnStdErr||!1,ignoreReturnCode:e.ignoreReturnCode||!1,delay:e.delay||1e4};return r.outStream=e.outStream||process.stdout,r.errStream=e.errStream||process.stderr,r}_getSpawnOptions(e,r){e=e||{};let n={};return n.cwd=e.cwd,n.env=e.env,n.windowsVerbatimArguments=e.windowsVerbatimArguments||this._isCmdFile(),e.windowsVerbatimArguments&&(n.argv0=`"${r}"`),n}exec(){return Nbe(this,void 0,void 0,function*(){return!__(this.toolPath)&&(this.toolPath.includes("/")||M_&&this.toolPath.includes("\\"))&&(this.toolPath=Bbe.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)),this.toolPath=yield Cp(this.toolPath,!0),new Promise((e,r)=>Nbe(this,void 0,void 0,function*(){this._debug(`exec tool: ${this.toolPath}`),this._debug("arguments:");for(let l of this.args)this._debug(` ${l}`);let n=this._cloneExecOptions(this.options);!n.silent&&n.outStream&&n.outStream.write(this._getCommandString(n)+gR.EOL);let s=new OV(n,this.toolPath);if(s.on("debug",l=>{this._debug(l)}),this.options.cwd&&!(yield kV(this.options.cwd)))return r(new Error(`The cwd: ${this.options.cwd} does not exist!`));let i=this._getSpawnFileName(),o=Tbe.spawn(i,this._getSpawnArgs(n),this._getSpawnOptions(this.options,i)),a="";o.stdout&&o.stdout.on("data",l=>{this.options.listeners&&this.options.listeners.stdout&&this.options.listeners.stdout(l),!n.silent&&n.outStream&&n.outStream.write(l),a=this._processLineBuffer(l,a,u=>{this.options.listeners&&this.options.listeners.stdline&&this.options.listeners.stdline(u)})});let c="";if(o.stderr&&o.stderr.on("data",l=>{s.processStderr=!0,this.options.listeners&&this.options.listeners.stderr&&this.options.listeners.stderr(l),!n.silent&&n.errStream&&n.outStream&&(n.failOnStdErr?n.errStream:n.outStream).write(l),c=this._processLineBuffer(l,c,u=>{this.options.listeners&&this.options.listeners.errline&&this.options.listeners.errline(u)})}),o.on("error",l=>{s.processError=l.message,s.processExited=!0,s.processClosed=!0,s.CheckComplete()}),o.on("exit",l=>{s.processExitCode=l,s.processExited=!0,this._debug(`Exit code ${l} received from tool '${this.toolPath}'`),s.CheckComplete()}),o.on("close",l=>{s.processExitCode=l,s.processExited=!0,s.processClosed=!0,this._debug(`STDIO streams have closed for tool '${this.toolPath}'`),s.CheckComplete()}),s.on("done",(l,u)=>{a.length>0&&this.emit("stdline",a),c.length>0&&this.emit("errline",c),o.removeAllListeners(),l?r(l):e(u)}),this.options.input){if(!o.stdin)throw new Error("child process missing stdin");o.stdin.end(this.options.input)}}))})}};OV=class t extends LV.EventEmitter{constructor(e,r){if(super(),this.processClosed=!1,this.processError="",this.processExitCode=0,this.processExited=!1,this.processStderr=!1,this.delay=1e4,this.done=!1,this.timeout=null,!r)throw new Error("toolPath must not be empty");this.options=e,this.toolPath=r,e.delay&&(this.delay=e.delay)}CheckComplete(){this.done||(this.processClosed?this._setResult():this.processExited&&(this.timeout=(0,Pbe.setTimeout)(t.HandleTimeout,this.delay,this)))}_debug(e){this.emit("debug",e)}_setResult(){let e;this.processExited&&(this.processError?e=new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`):this.processExitCode!==0&&!this.options.ignoreReturnCode?e=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`):this.processStderr&&this.options.failOnStdErr&&(e=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`))),this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.done=!0,this.emit("done",e,this.processExitCode)}static HandleTimeout(e){if(!e.done){if(!e.processClosed&&e.processExited){let r=`The STDIO streams did not close within ${e.delay/1e3} seconds of the exit event from process '${e.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;e._debug(r)}e._setResult()}}}});function tw(t,e,r){return Nyt(this,void 0,void 0,function*(){let n=kbe(t);if(n.length===0)throw new Error("Parameter 'commandLine' cannot be null or empty.");let s=n[0];return e=n.slice(1).concat(e||[]),new O_(s,e,r).exec()})}var Nyt,AR=C(()=>{_be();Nyt=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})}});var UV,Kar,Xar,Dbe=C(()=>{UV=H(require("os"),1);AR();Kar=UV.default.platform(),Xar=UV.default.arch()});function Cs(t,e){let r=Yl(e);if(process.env[t]=r,process.env.GITHUB_ENV||"")return lI("ENV",PP(t,e));el("set-env",{name:t},r)}function It(t){el("add-mask",{},t)}function Mbe(t){process.env.GITHUB_PATH||""?lI("PATH",t):el("add-path",{},t),process.env.PATH=`${t}${Qbe.delimiter}${process.env.PATH}`}function Fe(t,e){let r=process.env[`INPUT_${t.replace(/ /g,"_").toUpperCase()}`]||"";if(e&&e.required&&!r)throw new Error(`Input required and not supplied: ${t}`);return e&&e.trimWhitespace===!1?r:r.trim()}function lu(t,e){let r=["true","True","TRUE"],n=["false","False","FALSE"],s=Fe(t,e);if(r.includes(s))return!0;if(n.includes(s))return!1;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${t}
51
51
  Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}function dt(t,e){if(process.env.GITHUB_OUTPUT||"")return lI("OUTPUT",PP(t,e));process.stdout.write(qV.EOL),el("set-output",{name:t},Yl(e))}function ul(t){process.exitCode=$V.Failure,jr(t)}function rA(){return process.env.RUNNER_DEBUG==="1"}function ie(t){el("debug",{},t)}function jr(t,e={}){el("error",vP(e),t instanceof Error?t.toString():t)}function K(t,e={}){el("warning",vP(e),t instanceof Error?t.toString():t)}function Ce(t,e={}){el("notice",vP(e),t instanceof Error?t.toString():t)}function te(t){process.stdout.write(t+qV.EOL)}function zs(t){Jz("group",t)}function Pn(){Jz("endgroup")}function kn(t,e){if(process.env.GITHUB_STATE||"")return lI("STATE",PP(t,e));el("save-state",{name:t},Yl(e))}function yR(t){return process.env[`STATE_${t}`]||""}function L_(t){return Byt(this,void 0,void 0,function*(){return yield B_.getIDToken(t)})}var qV,Qbe,Byt,$V,We=C(()=>{Ode();Fde();NP();qV=H(require("os"),1),Qbe=H(require("path"),1);ybe();PV();PV();wbe();Dbe();Byt=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})};(function(t){t[t.Success=0]="Success",t[t.Failure=1]="Failure"})($V||($V={}))});function nA(){return 8*1024*1024}function F_(){let t=process.env.ACTIONS_RUNTIME_TOKEN;if(!t)throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");return t}function Lbe(){let t=process.env.ACTIONS_RESULTS_URL;if(!t)throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");return new URL(t).origin}function rw(){let e=new URL(process.env.GITHUB_SERVER_URL||"https://github.com").hostname.trimEnd().toUpperCase(),r=e==="GITHUB.COM",n=e.endsWith(".GHE.COM"),s=e.endsWith(".LOCALHOST");return!r&&!n&&!s}function Fbe(){let t=process.env.GITHUB_WORKSPACE;if(!t)throw new Error("Unable to get the GITHUB_WORKSPACE env variable");return t}function Ube(){let t=Obe.default.cpus().length,e=32;if(t>4){let n=16*t;e=n>300?300:n}let r=process.env.ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY;if(r){let n=parseInt(r);if(isNaN(n)||n<1)throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");return n<e?(te("Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY."),n):(te(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${e} based on the number of cpus. Set it to the maximum value allowed.`),e)}return 5}function $be(){let t=process.env.ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS;if(!t)return 3e5;let e=parseInt(t);if(isNaN(e))throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");return e}function qbe(){let t=process.env.ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT||"1000",e=parseInt(t);if(isNaN(e)||e<1)throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");return e}var Obe,Sp=C(()=>{Obe=H(require("os"),1);We()});function sA(t){let e=typeof t;if(e=="object"){if(Array.isArray(t))return"array";if(t===null)return"null"}return e}function HV(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}var U_=C(()=>{});function Hbe(t){let e=t.length*3/4;t[t.length-2]=="="?e-=2:t[t.length-1]=="="&&(e-=1);let r=new Uint8Array(e),n=0,s=0,i,o=0;for(let a=0;a<t.length;a++){if(i=$_[t.charCodeAt(a)],i===void 0)switch(t[a]){case"=":s=0;case`
52
52
  `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(s){case 0:o=i,s=1;break;case 1:r[n++]=o<<2|(i&48)>>4,o=i,s=2;break;case 2:r[n++]=(o&15)<<4|(i&60)>>2,o=i,s=3;break;case 3:r[n++]=(o&3)<<6|i,s=0;break}}if(s==1)throw Error("invalid base64 string.");return r.subarray(0,n)}function zbe(t){let e="",r=0,n,s=0;for(let i=0;i<t.length;i++)switch(n=t[i],r){case 0:e+=Ip[n>>2],s=(n&3)<<4,r=1;break;case 1:e+=Ip[s|n>>4],s=(n&15)<<2,r=2;break;case 2:e+=Ip[s|n>>6],e+=Ip[n&63],r=0;break}return r&&(e+=Ip[s],e+="=",r==1&&(e+="=")),e}var Ip,$_,zV=C(()=>{Ip="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),$_=[];for(let t=0;t<Ip.length;t++)$_[Ip[t].charCodeAt(0)]=t;$_[45]=Ip.indexOf("+");$_[95]=Ip.indexOf("/")});var $e,he,ER=C(()=>{(function(t){t.symbol=Symbol.for("protobuf-ts/unknown"),t.onRead=(r,n,s,i,o)=>{(e(n)?n[t.symbol]:n[t.symbol]=[]).push({no:s,wireType:i,data:o})},t.onWrite=(r,n,s)=>{for(let{no:i,wireType:o,data:a}of t.list(n))s.tag(i,o).raw(a)},t.list=(r,n)=>{if(e(r)){let s=r[t.symbol];return n?s.filter(i=>i.no==n):s}return[]},t.last=(r,n)=>t.list(r,n).slice(-1)[0];let e=r=>r&&Array.isArray(r[t.symbol])})($e||($e={}));(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(he||(he={}))});function Gbe(){let t=0,e=0;for(let n=0;n<28;n+=7){let s=this.buf[this.pos++];if(t|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}let r=this.buf[this.pos++];if(t|=(r&15)<<28,e=(r&112)>>4,(r&128)==0)return this.assertBounds(),[t,e];for(let n=3;n<=31;n+=7){let s=this.buf[this.pos++];if(e|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}function H_(t,e,r){for(let i=0;i<28;i=i+7){let o=t>>>i,a=!(!(o>>>7)&&e==0),c=(a?o|128:o)&255;if(r.push(c),!a)return}let n=t>>>28&15|(e&7)<<4,s=e>>3!=0;if(r.push((s?n|128:n)&255),!!s){for(let i=3;i<31;i=i+7){let o=e>>>i,a=!!(o>>>7),c=(a?o|128:o)&255;if(r.push(c),!a)return}r.push(e>>>31&1)}}function GV(t){let e=t[0]=="-";e&&(t=t.slice(1));let r=1e6,n=0,s=0;function i(o,a){let c=Number(t.slice(o,a));s*=r,n=n*r+c,n>=q_&&(s=s+(n/q_|0),n=n%q_)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),[e,n,s]}function z_(t,e){if(e>>>0<=2097151)return""+(q_*e+(t>>>0));let r=t&16777215,n=(t>>>24|e<<8)>>>0&16777215,s=e>>16&65535,i=r+n*6777216+s*6710656,o=n+s*8147497,a=s*2,c=1e7;i>=c&&(o+=Math.floor(i/c),i%=c),o>=c&&(a+=Math.floor(o/c),o%=c);function l(u,d){let p=u?String(u):"";return d?"0000000".slice(p.length)+p:p}return l(a,0)+l(o,a)+l(i,1)}function jV(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let r=0;r<9;r++)e.push(t&127|128),t=t>>7;e.push(1)}}function jbe(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let r=5;(t&128)!==0&&r<10;r++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}var q_,G_=C(()=>{q_=65536*65536});function Pyt(){let t=new DataView(new ArrayBuffer(8));$r=globalThis.BigInt!==void 0&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("9223372036854775807"),UMIN:BigInt("0"),UMAX:BigInt("18446744073709551615"),C:BigInt,V:t}:void 0}function Vbe(t){if(!t)throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support")}var $r,Wbe,V_,j_,W_,Kn,vr,bf=C(()=>{G_();Pyt();Wbe=/^-?[0-9]+$/,V_=4294967296,j_=2147483648,W_=class{constructor(e,r){this.lo=e|0,this.hi=r|0}isZero(){return this.lo==0&&this.hi==0}toNumber(){let e=this.hi*V_+(this.lo>>>0);if(!Number.isSafeInteger(e))throw new Error("cannot convert to safe number");return e}},Kn=class t extends W_{static from(e){if($r)switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=="")throw new Error("string is no integer");e=$r.C(e);case"number":if(e===0)return this.ZERO;e=$r.C(e);case"bigint":if(!e)return this.ZERO;if(e<$r.UMIN)throw new Error("signed value for ulong");if(e>$r.UMAX)throw new Error("ulong too large");return $r.V.setBigUint64(0,e,!0),new t($r.V.getInt32(0,!0),$r.V.getInt32(4,!0))}else switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=e.trim(),!Wbe.test(e))throw new Error("string is no integer");let[r,n,s]=GV(e);if(r)throw new Error("signed value for ulong");return new t(n,s);case"number":if(e==0)return this.ZERO;if(!Number.isSafeInteger(e))throw new Error("number is no integer");if(e<0)throw new Error("signed value for ulong");return new t(e,e/V_)}throw new Error("unknown value "+typeof e)}toString(){return $r?this.toBigInt().toString():z_(this.lo,this.hi)}toBigInt(){return Vbe($r),$r.V.setInt32(0,this.lo,!0),$r.V.setInt32(4,this.hi,!0),$r.V.getBigUint64(0,!0)}};Kn.ZERO=new Kn(0,0);vr=class t extends W_{static from(e){if($r)switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=="")throw new Error("string is no integer");e=$r.C(e);case"number":if(e===0)return this.ZERO;e=$r.C(e);case"bigint":if(!e)return this.ZERO;if(e<$r.MIN)throw new Error("signed long too small");if(e>$r.MAX)throw new Error("signed long too large");return $r.V.setBigInt64(0,e,!0),new t($r.V.getInt32(0,!0),$r.V.getInt32(4,!0))}else switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=e.trim(),!Wbe.test(e))throw new Error("string is no integer");let[r,n,s]=GV(e);if(r){if(s>j_||s==j_&&n!=0)throw new Error("signed long too small")}else if(s>=j_)throw new Error("signed long too large");let i=new t(n,s);return r?i.negate():i;case"number":if(e==0)return this.ZERO;if(!Number.isSafeInteger(e))throw new Error("number is no integer");return e>0?new t(e,e/V_):new t(-e,-e/V_).negate()}throw new Error("unknown value "+typeof e)}isNegative(){return(this.hi&j_)!==0}negate(){let e=~this.hi,r=this.lo;return r?r=~r+1:e+=1,new t(r,e)}toString(){if($r)return this.toBigInt().toString();if(this.isNegative()){let e=this.negate();return"-"+z_(e.lo,e.hi)}return z_(this.lo,this.hi)}toBigInt(){return Vbe($r),$r.V.setInt32(0,this.lo,!0),$r.V.setInt32(4,this.hi,!0),$r.V.getBigInt64(0,!0)}};vr.ZERO=new vr(0,0)});function Jbe(t){return t?Object.assign(Object.assign({},Ybe),t):Ybe}var Ybe,VV,Kbe=C(()=>{ER();bf();G_();Ybe={readUnknownField:!0,readerFactory:t=>new VV(t)};VV=class{constructor(e,r){this.varint64=Gbe,this.uint32=jbe,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=r??new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0})}tag(){let e=this.uint32(),r=e>>>3,n=e&7;if(r<=0||n<0||n>5)throw new Error("illegal tag: field no "+r+" wire type "+n);return[r,n]}skip(e){let r=this.pos;switch(e){case he.Varint:for(;this.buf[this.pos++]&128;);break;case he.Bit64:this.pos+=4;case he.Bit32:this.pos+=4;break;case he.LengthDelimited:let n=this.uint32();this.pos+=n;break;case he.StartGroup:let s;for(;(s=this.tag()[1])!==he.EndGroup;)this.skip(s);break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(r,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return new vr(...this.varint64())}uint64(){return new Kn(...this.varint64())}sint64(){let[e,r]=this.varint64(),n=-(e&1);return e=(e>>>1|(r&1)<<31)^n,r=r>>>1^n,new vr(e,r)}bool(){let[e,r]=this.varint64();return e!==0||r!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return new Kn(this.sfixed32(),this.sfixed32())}sfixed64(){return new vr(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),r=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(r,r+e)}string(){return this.textDecoder.decode(this.bytes())}}});function ur(t,e){if(!t)throw new Error(e)}function wf(t){if(typeof t!="number")throw new Error("invalid int 32: "+typeof t);if(!Number.isInteger(t)||t>Qyt||t<Myt)throw new Error("invalid int 32: "+t)}function iA(t){if(typeof t!="number")throw new Error("invalid uint 32: "+typeof t);if(!Number.isInteger(t)||t>Dyt||t<0)throw new Error("invalid uint 32: "+t)}function nw(t){if(typeof t!="number")throw new Error("invalid float 32: "+typeof t);if(Number.isFinite(t)&&(t>kyt||t<_yt))throw new Error("invalid float 32: "+t)}var kyt,_yt,Dyt,Qyt,Myt,bR=C(()=>{kyt=34028234663852886e22,_yt=-34028234663852886e22,Dyt=4294967295,Qyt=2147483647,Myt=-2147483648});function Zbe(t){return t?Object.assign(Object.assign({},Xbe),t):Xbe}var Xbe,WV,ewe=C(()=>{bf();G_();bR();Xbe={writeUnknownFields:!0,writerFactory:()=>new WV};WV=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let s=0;s<this.chunks.length;s++)e+=this.chunks[s].length;let r=new Uint8Array(e),n=0;for(let s=0;s<this.chunks.length;s++)r.set(this.chunks[s],n),n+=this.chunks[s].length;return this.chunks=[],r}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),r=this.stack.pop();if(!r)throw new Error("invalid state, fork stack empty");return this.chunks=r.chunks,this.buf=r.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,r){return this.uint32((e<<3|r)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(iA(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return wf(e),jV(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let r=this.textEncoder.encode(e);return this.uint32(r.byteLength),this.raw(r)}float(e){nw(e);let r=new Uint8Array(4);return new DataView(r.buffer).setFloat32(0,e,!0),this.raw(r)}double(e){let r=new Uint8Array(8);return new DataView(r.buffer).setFloat64(0,e,!0),this.raw(r)}fixed32(e){iA(e);let r=new Uint8Array(4);return new DataView(r.buffer).setUint32(0,e,!0),this.raw(r)}sfixed32(e){wf(e);let r=new Uint8Array(4);return new DataView(r.buffer).setInt32(0,e,!0),this.raw(r)}sint32(e){return wf(e),e=(e<<1^e>>31)>>>0,jV(e,this.buf),this}sfixed64(e){let r=new Uint8Array(8),n=new DataView(r.buffer),s=vr.from(e);return n.setInt32(0,s.lo,!0),n.setInt32(4,s.hi,!0),this.raw(r)}fixed64(e){let r=new Uint8Array(8),n=new DataView(r.buffer),s=Kn.from(e);return n.setInt32(0,s.lo,!0),n.setInt32(4,s.hi,!0),this.raw(r)}int64(e){let r=vr.from(e);return H_(r.lo,r.hi,this.buf),this}sint64(e){let r=vr.from(e),n=r.hi>>31,s=r.lo<<1^n,i=(r.hi<<1|r.lo>>>31)^n;return H_(s,i,this.buf),this}uint64(e){let r=Kn.from(e);return H_(r.lo,r.hi,this.buf),this}}});function nwe(t){return t?Object.assign(Object.assign({},rwe),t):rwe}function swe(t){return t?Object.assign(Object.assign({},twe),t):twe}var twe,rwe,iwe=C(()=>{twe={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0},rwe={ignoreUnknownFields:!1}});var Ft,Y_=C(()=>{Ft=Symbol.for("protobuf-ts/message-type")});function sw(t){let e=!1,r=[];for(let n=0;n<t.length;n++){let s=t.charAt(n);s=="_"?e=!0:/\d/.test(s)?(r.push(s),e=!0):e?(r.push(s.toUpperCase()),e=!1):n==0?r.push(s.toLowerCase()):r.push(s)}return r.join("")}var YV=C(()=>{});function JV(t){var e,r,n,s;return t.localName=(e=t.localName)!==null&&e!==void 0?e:sw(t.name),t.jsonName=(r=t.jsonName)!==null&&r!==void 0?r:sw(t.name),t.repeat=(n=t.repeat)!==null&&n!==void 0?n:iw.NO,t.opt=(s=t.opt)!==null&&s!==void 0?s:t.repeat||t.oneof?!1:t.kind=="message",t}var oe,Ss,iw,dl=C(()=>{YV();(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})(oe||(oe={}));(function(t){t[t.BIGINT=0]="BIGINT",t[t.STRING=1]="STRING",t[t.NUMBER=2]="NUMBER"})(Ss||(Ss={}));(function(t){t[t.NO=0]="NO",t[t.PACKED=1]="PACKED",t[t.UNPACKED=2]="UNPACKED"})(iw||(iw={}))});function owe(t){if(typeof t!="object"||t===null||!t.hasOwnProperty("oneofKind"))return!1;switch(typeof t.oneofKind){case"string":return t[t.oneofKind]===void 0?!1:Object.keys(t).length==2;case"undefined":return Object.keys(t).length==1;default:return!1}}var awe=C(()=>{});var J_,cwe=C(()=>{dl();awe();J_=class{constructor(e){var r;this.fields=(r=e.fields)!==null&&r!==void 0?r:[]}prepare(){if(this.data)return;let e=[],r=[],n=[];for(let s of this.fields)if(s.oneof)n.includes(s.oneof)||(n.push(s.oneof),e.push(s.oneof),r.push(s.oneof));else switch(r.push(s.localName),s.kind){case"scalar":case"enum":(!s.opt||s.repeat)&&e.push(s.localName);break;case"message":s.repeat&&e.push(s.localName);break;case"map":e.push(s.localName);break}this.data={req:e,known:r,oneofs:Object.values(n)}}is(e,r,n=!1){if(r<0)return!0;if(e==null||typeof e!="object")return!1;this.prepare();let s=Object.keys(e),i=this.data;if(s.length<i.req.length||i.req.some(o=>!s.includes(o))||!n&&s.some(o=>!i.known.includes(o)))return!1;if(r<1)return!0;for(let o of i.oneofs){let a=e[o];if(!owe(a))return!1;if(a.oneofKind===void 0)continue;let c=this.fields.find(l=>l.localName===a.oneofKind);if(!c||!this.field(a[a.oneofKind],c,n,r))return!1}for(let o of this.fields)if(o.oneof===void 0&&!this.field(e[o.localName],o,n,r))return!1;return!0}field(e,r,n,s){let i=r.repeat;switch(r.kind){case"scalar":return e===void 0?r.opt:i?this.scalars(e,r.T,s,r.L):this.scalar(e,r.T,r.L);case"enum":return e===void 0?r.opt:i?this.scalars(e,oe.INT32,s):this.scalar(e,oe.INT32);case"message":return e===void 0?!0:i?this.messages(e,r.T(),n,s):this.message(e,r.T(),n,s);case"map":if(typeof e!="object"||e===null)return!1;if(s<2)return!0;if(!this.mapKeys(e,r.K,s))return!1;switch(r.V.kind){case"scalar":return this.scalars(Object.values(e),r.V.T,s,r.V.L);case"enum":return this.scalars(Object.values(e),oe.INT32,s);case"message":return this.messages(Object.values(e),r.V.T(),n,s)}break}return!0}message(e,r,n,s){return n?r.isAssignable(e,s):r.is(e,s)}messages(e,r,n,s){if(!Array.isArray(e))return!1;if(s<2)return!0;if(n){for(let i=0;i<e.length&&i<s;i++)if(!r.isAssignable(e[i],s-1))return!1}else for(let i=0;i<e.length&&i<s;i++)if(!r.is(e[i],s-1))return!1;return!0}scalar(e,r,n){let s=typeof e;switch(r){case oe.UINT64:case oe.FIXED64:case oe.INT64:case oe.SFIXED64:case oe.SINT64:switch(n){case Ss.BIGINT:return s=="bigint";case Ss.NUMBER:return s=="number"&&!isNaN(e);default:return s=="string"}case oe.BOOL:return s=="boolean";case oe.STRING:return s=="string";case oe.BYTES:return e instanceof Uint8Array;case oe.DOUBLE:case oe.FLOAT:return s=="number"&&!isNaN(e);default:return s=="number"&&Number.isInteger(e)}}scalars(e,r,n,s){if(!Array.isArray(e))return!1;if(n<2)return!0;if(Array.isArray(e)){for(let i=0;i<e.length&&i<n;i++)if(!this.scalar(e[i],r,s))return!1}return!0}mapKeys(e,r,n){let s=Object.keys(e);switch(r){case oe.INT32:case oe.FIXED32:case oe.SFIXED32:case oe.SINT32:case oe.UINT32:return this.scalars(s.slice(0,n).map(i=>parseInt(i)),r,n);case oe.BOOL:return this.scalars(s.slice(0,n).map(i=>i=="true"?!0:i=="false"?!1:i),r,n);default:return this.scalars(s,r,n,Ss.STRING)}}}});function Uo(t,e){switch(e){case Ss.BIGINT:return t.toBigInt();case Ss.NUMBER:return t.toNumber();default:return t.toString()}}var K_=C(()=>{dl()});var X_,lwe=C(()=>{U_();zV();dl();bf();bR();K_();X_=class{constructor(e){this.info=e}prepare(){var e;if(this.fMap===void 0){this.fMap={};let r=(e=this.info.fields)!==null&&e!==void 0?e:[];for(let n of r)this.fMap[n.name]=n,this.fMap[n.jsonName]=n,this.fMap[n.localName]=n}}assert(e,r,n){if(!e){let s=sA(n);throw(s=="number"||s=="boolean")&&(s=n.toString()),new Error(`Cannot parse JSON ${s} for ${this.info.typeName}#${r}`)}}read(e,r,n){this.prepare();let s=[];for(let[i,o]of Object.entries(e)){let a=this.fMap[i];if(!a){if(!n.ignoreUnknownFields)throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${i}`);continue}let c=a.localName,l;if(a.oneof){if(o===null&&(a.kind!=="enum"||a.T()[0]!=="google.protobuf.NullValue"))continue;if(s.includes(a.oneof))throw new Error(`Multiple members of the oneof group "${a.oneof}" of ${this.info.typeName} are present in JSON.`);s.push(a.oneof),l=r[a.oneof]={oneofKind:c}}else l=r;if(a.kind=="map"){if(o===null)continue;this.assert(HV(o),a.name,o);let u=l[c];for(let[d,p]of Object.entries(o)){this.assert(p!==null,a.name+" map value",null);let m;switch(a.V.kind){case"message":m=a.V.T().internalJsonRead(p,n);break;case"enum":if(m=this.enum(a.V.T(),p,a.name,n.ignoreUnknownFields),m===!1)continue;break;case"scalar":m=this.scalar(p,a.V.T,a.V.L,a.name);break}this.assert(m!==void 0,a.name+" map value",p);let h=d;a.K==oe.BOOL&&(h=h=="true"?!0:h=="false"?!1:h),h=this.scalar(h,a.K,Ss.STRING,a.name).toString(),u[h]=m}}else if(a.repeat){if(o===null)continue;this.assert(Array.isArray(o),a.name,o);let u=l[c];for(let d of o){this.assert(d!==null,a.name,null);let p;switch(a.kind){case"message":p=a.T().internalJsonRead(d,n);break;case"enum":if(p=this.enum(a.T(),d,a.name,n.ignoreUnknownFields),p===!1)continue;break;case"scalar":p=this.scalar(d,a.T,a.L,a.name);break}this.assert(p!==void 0,a.name,o),u.push(p)}}else switch(a.kind){case"message":if(o===null&&a.T().typeName!="google.protobuf.Value"){this.assert(a.oneof===void 0,a.name+" (oneof member)",null);continue}l[c]=a.T().internalJsonRead(o,n,l[c]);break;case"enum":if(o===null)continue;let u=this.enum(a.T(),o,a.name,n.ignoreUnknownFields);if(u===!1)continue;l[c]=u;break;case"scalar":if(o===null)continue;l[c]=this.scalar(o,a.T,a.L,a.name);break}}}enum(e,r,n,s){if(e[0]=="google.protobuf.NullValue"&&ur(r===null||r==="NULL_VALUE",`Unable to parse field ${this.info.typeName}#${n}, enum ${e[0]} only accepts null.`),r===null)return 0;switch(typeof r){case"number":return ur(Number.isInteger(r),`Unable to parse field ${this.info.typeName}#${n}, enum can only be integral number, got ${r}.`),r;case"string":let i=r;e[2]&&r.substring(0,e[2].length)===e[2]&&(i=r.substring(e[2].length));let o=e[1][i];return typeof o>"u"&&s?!1:(ur(typeof o=="number",`Unable to parse field ${this.info.typeName}#${n}, enum ${e[0]} has no value for "${r}".`),o)}ur(!1,`Unable to parse field ${this.info.typeName}#${n}, cannot parse enum value from ${typeof r}".`)}scalar(e,r,n,s){let i;try{switch(r){case oe.DOUBLE:case oe.FLOAT:if(e===null)return 0;if(e==="NaN")return Number.NaN;if(e==="Infinity")return Number.POSITIVE_INFINITY;if(e==="-Infinity")return Number.NEGATIVE_INFINITY;if(e===""){i="empty string";break}if(typeof e=="string"&&e.trim().length!==e.length){i="extra whitespace";break}if(typeof e!="string"&&typeof e!="number")break;let o=Number(e);if(Number.isNaN(o)){i="not a number";break}if(!Number.isFinite(o)){i="too large or small";break}return r==oe.FLOAT&&nw(o),o;case oe.INT32:case oe.FIXED32:case oe.SFIXED32:case oe.SINT32:case oe.UINT32:if(e===null)return 0;let a;if(typeof e=="number"?a=e:e===""?i="empty string":typeof e=="string"&&(e.trim().length!==e.length?i="extra whitespace":a=Number(e)),a===void 0)break;return r==oe.UINT32?iA(a):wf(a),a;case oe.INT64:case oe.SFIXED64:case oe.SINT64:if(e===null)return Uo(vr.ZERO,n);if(typeof e!="number"&&typeof e!="string")break;return Uo(vr.from(e),n);case oe.FIXED64:case oe.UINT64:if(e===null)return Uo(Kn.ZERO,n);if(typeof e!="number"&&typeof e!="string")break;return Uo(Kn.from(e),n);case oe.BOOL:if(e===null)return!1;if(typeof e!="boolean")break;return e;case oe.STRING:if(e===null)return"";if(typeof e!="string"){i="extra whitespace";break}try{encodeURIComponent(e)}catch(c){c="invalid UTF8";break}return e;case oe.BYTES:if(e===null||e==="")return new Uint8Array(0);if(typeof e!="string")break;return Hbe(e)}}catch(o){i=o.message}this.assert(!1,s+(i?" - "+i:""),e)}}});var Z_,uwe=C(()=>{zV();bf();dl();bR();Z_=class{constructor(e){var r;this.fields=(r=e.fields)!==null&&r!==void 0?r:[]}write(e,r){let n={},s=e;for(let i of this.fields){if(!i.oneof){let l=this.field(i,s[i.localName],r);l!==void 0&&(n[r.useProtoFieldName?i.name:i.jsonName]=l);continue}let o=s[i.oneof];if(o.oneofKind!==i.localName)continue;let a=i.kind=="scalar"||i.kind=="enum"?Object.assign(Object.assign({},r),{emitDefaultValues:!0}):r,c=this.field(i,o[i.localName],a);ur(c!==void 0),n[r.useProtoFieldName?i.name:i.jsonName]=c}return n}field(e,r,n){let s;if(e.kind=="map"){ur(typeof r=="object"&&r!==null);let i={};switch(e.V.kind){case"scalar":for(let[c,l]of Object.entries(r)){let u=this.scalar(e.V.T,l,e.name,!1,!0);ur(u!==void 0),i[c.toString()]=u}break;case"message":let o=e.V.T();for(let[c,l]of Object.entries(r)){let u=this.message(o,l,e.name,n);ur(u!==void 0),i[c.toString()]=u}break;case"enum":let a=e.V.T();for(let[c,l]of Object.entries(r)){ur(l===void 0||typeof l=="number");let u=this.enum(a,l,e.name,!1,!0,n.enumAsInteger);ur(u!==void 0),i[c.toString()]=u}break}(n.emitDefaultValues||Object.keys(i).length>0)&&(s=i)}else if(e.repeat){ur(Array.isArray(r));let i=[];switch(e.kind){case"scalar":for(let c=0;c<r.length;c++){let l=this.scalar(e.T,r[c],e.name,e.opt,!0);ur(l!==void 0),i.push(l)}break;case"enum":let o=e.T();for(let c=0;c<r.length;c++){ur(r[c]===void 0||typeof r[c]=="number");let l=this.enum(o,r[c],e.name,e.opt,!0,n.enumAsInteger);ur(l!==void 0),i.push(l)}break;case"message":let a=e.T();for(let c=0;c<r.length;c++){let l=this.message(a,r[c],e.name,n);ur(l!==void 0),i.push(l)}break}(n.emitDefaultValues||i.length>0||n.emitDefaultValues)&&(s=i)}else switch(e.kind){case"scalar":s=this.scalar(e.T,r,e.name,e.opt,n.emitDefaultValues);break;case"enum":s=this.enum(e.T(),r,e.name,e.opt,n.emitDefaultValues,n.enumAsInteger);break;case"message":s=this.message(e.T(),r,e.name,n);break}return s}enum(e,r,n,s,i,o){if(e[0]=="google.protobuf.NullValue")return!i&&!s?void 0:null;if(r===void 0){ur(s);return}if(!(r===0&&!i&&!s))return ur(typeof r=="number"),ur(Number.isInteger(r)),o||!e[1].hasOwnProperty(r)?r:e[2]?e[2]+e[1][r]:e[1][r]}message(e,r,n,s){return r===void 0?s.emitDefaultValues?null:void 0:e.internalJsonWrite(r,s)}scalar(e,r,n,s,i){if(r===void 0){ur(s);return}let o=i||s;switch(e){case oe.INT32:case oe.SFIXED32:case oe.SINT32:return r===0?o?0:void 0:(wf(r),r);case oe.FIXED32:case oe.UINT32:return r===0?o?0:void 0:(iA(r),r);case oe.FLOAT:nw(r);case oe.DOUBLE:return r===0?o?0:void 0:(ur(typeof r=="number"),Number.isNaN(r)?"NaN":r===Number.POSITIVE_INFINITY?"Infinity":r===Number.NEGATIVE_INFINITY?"-Infinity":r);case oe.STRING:return r===""?o?"":void 0:(ur(typeof r=="string"),r);case oe.BOOL:return r===!1?o?!1:void 0:(ur(typeof r=="boolean"),r);case oe.UINT64:case oe.FIXED64:ur(typeof r=="number"||typeof r=="string"||typeof r=="bigint");let a=Kn.from(r);return a.isZero()&&!o?void 0:a.toString();case oe.INT64:case oe.SFIXED64:case oe.SINT64:ur(typeof r=="number"||typeof r=="string"||typeof r=="bigint");let c=vr.from(r);return c.isZero()&&!o?void 0:c.toString();case oe.BYTES:return ur(r instanceof Uint8Array),r.byteLength?zbe(r):o?"":void 0}}}});function wR(t,e=Ss.STRING){switch(t){case oe.BOOL:return!1;case oe.UINT64:case oe.FIXED64:return Uo(Kn.ZERO,e);case oe.INT64:case oe.SFIXED64:case oe.SINT64:return Uo(vr.ZERO,e);case oe.DOUBLE:case oe.FLOAT:return 0;case oe.BYTES:return new Uint8Array(0);case oe.STRING:return"";default:return 0}}var KV=C(()=>{dl();K_();bf()});var eD,dwe=C(()=>{ER();dl();K_();KV();eD=class{constructor(e){this.info=e}prepare(){var e;if(!this.fieldNoToField){let r=(e=this.info.fields)!==null&&e!==void 0?e:[];this.fieldNoToField=new Map(r.map(n=>[n.no,n]))}}read(e,r,n,s){this.prepare();let i=s===void 0?e.len:e.pos+s;for(;e.pos<i;){let[o,a]=e.tag(),c=this.fieldNoToField.get(o);if(!c){let p=n.readUnknownField;if(p=="throw")throw new Error(`Unknown field ${o} (wire type ${a}) for ${this.info.typeName}`);let m=e.skip(a);p!==!1&&(p===!0?$e.onRead:p)(this.info.typeName,r,o,a,m);continue}let l=r,u=c.repeat,d=c.localName;switch(c.oneof&&(l=l[c.oneof],l.oneofKind!==d&&(l=r[c.oneof]={oneofKind:d})),c.kind){case"scalar":case"enum":let p=c.kind=="enum"?oe.INT32:c.T,m=c.kind=="scalar"?c.L:void 0;if(u){let A=l[d];if(a==he.LengthDelimited&&p!=oe.STRING&&p!=oe.BYTES){let b=e.uint32()+e.pos;for(;e.pos<b;)A.push(this.scalar(e,p,m))}else A.push(this.scalar(e,p,m))}else l[d]=this.scalar(e,p,m);break;case"message":if(u){let A=l[d],b=c.T().internalBinaryRead(e,e.uint32(),n);A.push(b)}else l[d]=c.T().internalBinaryRead(e,e.uint32(),n,l[d]);break;case"map":let[h,f]=this.mapEntry(c,e,n);l[d][h]=f;break}}}mapEntry(e,r,n){let s=r.uint32(),i=r.pos+s,o,a;for(;r.pos<i;){let[c,l]=r.tag();switch(c){case 1:e.K==oe.BOOL?o=r.bool().toString():o=this.scalar(r,e.K,Ss.STRING);break;case 2:switch(e.V.kind){case"scalar":a=this.scalar(r,e.V.T,e.V.L);break;case"enum":a=r.int32();break;case"message":a=e.V.T().internalBinaryRead(r,r.uint32(),n);break}break;default:throw new Error(`Unknown field ${c} (wire type ${l}) in map entry for ${this.info.typeName}#${e.name}`)}}if(o===void 0){let c=wR(e.K);o=e.K==oe.BOOL?c.toString():c}if(a===void 0)switch(e.V.kind){case"scalar":a=wR(e.V.T,e.V.L);break;case"enum":a=0;break;case"message":a=e.V.T().create();break}return[o,a]}scalar(e,r,n){switch(r){case oe.INT32:return e.int32();case oe.STRING:return e.string();case oe.BOOL:return e.bool();case oe.DOUBLE:return e.double();case oe.FLOAT:return e.float();case oe.INT64:return Uo(e.int64(),n);case oe.UINT64:return Uo(e.uint64(),n);case oe.FIXED64:return Uo(e.fixed64(),n);case oe.FIXED32:return e.fixed32();case oe.BYTES:return e.bytes();case oe.UINT32:return e.uint32();case oe.SFIXED32:return e.sfixed32();case oe.SFIXED64:return Uo(e.sfixed64(),n);case oe.SINT32:return e.sint32();case oe.SINT64:return Uo(e.sint64(),n)}}}});var tD,pwe=C(()=>{ER();dl();bR();bf();tD=class{constructor(e){this.info=e}prepare(){if(!this.fields){let e=this.info.fields?this.info.fields.concat():[];this.fields=e.sort((r,n)=>r.no-n.no)}}write(e,r,n){this.prepare();for(let i of this.fields){let o,a,c=i.repeat,l=i.localName;if(i.oneof){let u=e[i.oneof];if(u.oneofKind!==l)continue;o=u[l],a=!0}else o=e[l],a=!1;switch(i.kind){case"scalar":case"enum":let u=i.kind=="enum"?oe.INT32:i.T;if(c)if(ur(Array.isArray(o)),c==iw.PACKED)this.packed(r,u,i.no,o);else for(let d of o)this.scalar(r,u,i.no,d,!0);else o===void 0?ur(i.opt):this.scalar(r,u,i.no,o,a||i.opt);break;case"message":if(c){ur(Array.isArray(o));for(let d of o)this.message(r,n,i.T(),i.no,d)}else this.message(r,n,i.T(),i.no,o);break;case"map":ur(typeof o=="object"&&o!==null);for(let[d,p]of Object.entries(o))this.mapEntry(r,n,i,d,p);break}}let s=n.writeUnknownFields;s!==!1&&(s===!0?$e.onWrite:s)(this.info.typeName,e,r)}mapEntry(e,r,n,s,i){e.tag(n.no,he.LengthDelimited),e.fork();let o=s;switch(n.K){case oe.INT32:case oe.FIXED32:case oe.UINT32:case oe.SFIXED32:case oe.SINT32:o=Number.parseInt(s);break;case oe.BOOL:ur(s=="true"||s=="false"),o=s=="true";break}switch(this.scalar(e,n.K,1,o,!0),n.V.kind){case"scalar":this.scalar(e,n.V.T,2,i,!0);break;case"enum":this.scalar(e,oe.INT32,2,i,!0);break;case"message":this.message(e,r,n.V.T(),2,i);break}e.join()}message(e,r,n,s,i){i!==void 0&&(n.internalBinaryWrite(i,e.tag(s,he.LengthDelimited).fork(),r),e.join())}scalar(e,r,n,s,i){let[o,a,c]=this.scalarInfo(r,s);(!c||i)&&(e.tag(n,o),e[a](s))}packed(e,r,n,s){if(!s.length)return;ur(r!==oe.BYTES&&r!==oe.STRING),e.tag(n,he.LengthDelimited),e.fork();let[,i]=this.scalarInfo(r);for(let o=0;o<s.length;o++)e[i](s[o]);e.join()}scalarInfo(e,r){let n=he.Varint,s,i=r===void 0,o=r===0;switch(e){case oe.INT32:s="int32";break;case oe.STRING:o=i||!r.length,n=he.LengthDelimited,s="string";break;case oe.BOOL:o=r===!1,s="bool";break;case oe.UINT32:s="uint32";break;case oe.DOUBLE:n=he.Bit64,s="double";break;case oe.FLOAT:n=he.Bit32,s="float";break;case oe.INT64:o=i||vr.from(r).isZero(),s="int64";break;case oe.UINT64:o=i||Kn.from(r).isZero(),s="uint64";break;case oe.FIXED64:o=i||Kn.from(r).isZero(),n=he.Bit64,s="fixed64";break;case oe.BYTES:o=i||!r.byteLength,n=he.LengthDelimited,s="bytes";break;case oe.FIXED32:n=he.Bit32,s="fixed32";break;case oe.SFIXED32:n=he.Bit32,s="sfixed32";break;case oe.SFIXED64:o=i||vr.from(r).isZero(),n=he.Bit64,s="sfixed64";break;case oe.SINT32:s="sint32";break;case oe.SINT64:o=i||vr.from(r).isZero(),s="sint64";break}return[n,s,i||o]}}});function mwe(t){let e=t.messagePrototype?Object.create(t.messagePrototype):Object.defineProperty({},Ft,{value:t});for(let r of t.fields){let n=r.localName;if(!r.opt)if(r.oneof)e[r.oneof]={oneofKind:void 0};else if(r.repeat)e[n]=[];else switch(r.kind){case"scalar":e[n]=wR(r.T,r.L);break;case"enum":e[n]=0;break;case"map":e[n]={};break}}return e}var fwe=C(()=>{KV();Y_()});function Ut(t,e,r){let n,s=r,i;for(let o of t.fields){let a=o.localName;if(o.oneof){let c=s[o.oneof];if(c?.oneofKind==null)continue;if(n=c[a],i=e[o.oneof],i.oneofKind=c.oneofKind,n==null){delete i[a];continue}}else if(n=s[a],i=e,n==null)continue;switch(o.repeat&&(i[a].length=n.length),o.kind){case"scalar":case"enum":if(o.repeat)for(let l=0;l<n.length;l++)i[a][l]=n[l];else i[a]=n;break;case"message":let c=o.T();if(o.repeat)for(let l=0;l<n.length;l++)i[a][l]=c.create(n[l]);else i[a]===void 0?i[a]=c.create(n):c.mergePartial(i[a],n);break;case"map":switch(o.V.kind){case"scalar":case"enum":Object.assign(i[a],n);break;case"message":let l=o.V.T();for(let u of Object.keys(n))i[a][u]=l.create(n[u]);break}break}}}var XV=C(()=>{});function Awe(t,e,r){if(e===r)return!0;if(!e||!r)return!1;for(let n of t.fields){let s=n.localName,i=n.oneof?e[n.oneof][s]:e[s],o=n.oneof?r[n.oneof][s]:r[s];switch(n.kind){case"enum":case"scalar":let a=n.kind=="enum"?oe.INT32:n.T;if(!(n.repeat?hwe(a,i,o):ywe(a,i,o)))return!1;break;case"map":if(!(n.V.kind=="message"?gwe(n.V.T(),rD(i),rD(o)):hwe(n.V.kind=="enum"?oe.INT32:n.V.T,rD(i),rD(o))))return!1;break;case"message":let c=n.T();if(!(n.repeat?gwe(c,i,o):c.equals(i,o)))return!1;break}}return!0}function ywe(t,e,r){if(e===r)return!0;if(t!==oe.BYTES)return!1;let n=e,s=r;if(n.length!==s.length)return!1;for(let i=0;i<n.length;i++)if(n[i]!=s[i])return!1;return!0}function hwe(t,e,r){if(e.length!==r.length)return!1;for(let n=0;n<e.length;n++)if(!ywe(t,e[n],r[n]))return!1;return!0}function gwe(t,e,r){if(e.length!==r.length)return!1;for(let n=0;n<e.length;n++)if(!t.equals(e[n],r[n]))return!1;return!0}var rD,Ewe=C(()=>{dl();rD=Object.values});var bwe,Oyt,Wt,wwe=C(()=>{Y_();dl();cwe();lwe();uwe();dwe();pwe();fwe();XV();U_();iwe();Ewe();ewe();Kbe();bwe=Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})),Oyt=bwe[Ft]={},Wt=class{constructor(e,r,n){this.defaultCheckDepth=16,this.typeName=e,this.fields=r.map(JV),this.options=n??{},Oyt.value=this,this.messagePrototype=Object.create(null,bwe),this.refTypeCheck=new J_(this),this.refJsonReader=new X_(this),this.refJsonWriter=new Z_(this),this.refBinReader=new eD(this),this.refBinWriter=new tD(this)}create(e){let r=mwe(this);return e!==void 0&&Ut(this,r,e),r}clone(e){let r=this.create();return Ut(this,r,e),r}equals(e,r){return Awe(this,e,r)}is(e,r=this.defaultCheckDepth){return this.refTypeCheck.is(e,r,!1)}isAssignable(e,r=this.defaultCheckDepth){return this.refTypeCheck.is(e,r,!0)}mergePartial(e,r){Ut(this,e,r)}fromBinary(e,r){let n=Jbe(r);return this.internalBinaryRead(n.readerFactory(e),e.byteLength,n)}fromJson(e,r){return this.internalJsonRead(e,nwe(r))}fromJsonString(e,r){let n=JSON.parse(e);return this.fromJson(n,r)}toJson(e,r){return this.internalJsonWrite(e,swe(r))}toJsonString(e,r){var n;let s=this.toJson(e,r);return JSON.stringify(s,null,(n=r?.prettySpaces)!==null&&n!==void 0?n:0)}toBinary(e,r){let n=Zbe(r);return this.internalBinaryWrite(e,n.writerFactory(),n).finish()}internalJsonRead(e,r,n){if(e!==null&&typeof e=="object"&&!Array.isArray(e)){let s=n??this.create();return this.refJsonReader.read(e,s,r),s}throw new Error(`Unable to parse message ${this.typeName} from JSON ${sA(e)}.`)}internalJsonWrite(e,r){return this.refJsonWriter.write(e,r)}internalBinaryWrite(e,r,n){return this.refBinWriter.write(e,r,n),r}internalBinaryRead(e,r,n,s){let i=s??this.create();return this.refBinReader.read(e,i,n,r),i}}});var sr=C(()=>{U_();ER();bf();Y_();wwe();dl();XV();YV()});var ZV,wa,eW=C(()=>{sr();sr();sr();sr();sr();sr();sr();ZV=class extends Wt{constructor(){super("google.protobuf.Timestamp",[{no:1,name:"seconds",kind:"scalar",T:3},{no:2,name:"nanos",kind:"scalar",T:5}])}now(){let e=this.create(),r=Date.now();return e.seconds=vr.from(Math.floor(r/1e3)).toString(),e.nanos=r%1e3*1e6,e}toDate(e){return new Date(vr.from(e.seconds).toNumber()*1e3+Math.ceil(e.nanos/1e6))}fromDate(e){let r=this.create(),n=e.getTime();return r.seconds=vr.from(Math.floor(n/1e3)).toString(),r.nanos=n%1e3*1e6,r}internalJsonWrite(e,r){let n=vr.from(e.seconds).toNumber()*1e3;if(n<Date.parse("0001-01-01T00:00:00Z")||n>Date.parse("9999-12-31T23:59:59Z"))throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");if(e.nanos<0)throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");let s="Z";if(e.nanos>0){let i=(e.nanos+1e9).toString().substring(1);i.substring(3)==="000000"?s="."+i.substring(0,3)+"Z":i.substring(6)==="000"?s="."+i.substring(0,6)+"Z":s="."+i+"Z"}return new Date(n).toISOString().replace(".000Z",s)}internalJsonRead(e,r,n){if(typeof e!="string")throw new Error("Unable to parse Timestamp from JSON "+sA(e)+".");let s=e.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!s)throw new Error("Unable to parse Timestamp from JSON. Invalid format.");let i=Date.parse(s[1]+"-"+s[2]+"-"+s[3]+"T"+s[4]+":"+s[5]+":"+s[6]+(s[8]?s[8]:"Z"));if(Number.isNaN(i))throw new Error("Unable to parse Timestamp from JSON. Invalid value.");if(i<Date.parse("0001-01-01T00:00:00Z")||i>Date.parse("9999-12-31T23:59:59Z"))throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");return n||(n=this.create()),n.seconds=vr.from(i/1e3).toString(),n.nanos=0,s[7]&&(n.nanos=parseInt("1"+s[7]+"0".repeat(9-s[7].length))-1e9),n}create(e){let r={seconds:"0",nanos:0};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.seconds=e.int64().toString();break;case 2:i.nanos=e.int32();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.seconds!=="0"&&r.tag(1,he.Varint).int64(e.seconds),e.nanos!==0&&r.tag(2,he.Varint).int32(e.nanos);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},wa=new ZV});var tW,iur,rW,our,nW,ow,sW,aur,iW,cur,oW,lur,aW,uur,cW,fs,lW,dur,nD=C(()=>{sr();sr();sr();sr();sr();sr();sr();tW=class extends Wt{constructor(){super("google.protobuf.DoubleValue",[{no:1,name:"value",kind:"scalar",T:1}])}internalJsonWrite(e,r){return this.refJsonWriter.scalar(2,e.value,"value",!1,!0)}internalJsonRead(e,r,n){return n||(n=this.create()),n.value=this.refJsonReader.scalar(e,1,void 0,"value"),n}create(e){let r={value:0};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.value=e.double();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.value!==0&&r.tag(1,he.Bit64).double(e.value);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},iur=new tW,rW=class extends Wt{constructor(){super("google.protobuf.FloatValue",[{no:1,name:"value",kind:"scalar",T:2}])}internalJsonWrite(e,r){return this.refJsonWriter.scalar(1,e.value,"value",!1,!0)}internalJsonRead(e,r,n){return n||(n=this.create()),n.value=this.refJsonReader.scalar(e,1,void 0,"value"),n}create(e){let r={value:0};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.value=e.float();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.value!==0&&r.tag(1,he.Bit32).float(e.value);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},our=new rW,nW=class extends Wt{constructor(){super("google.protobuf.Int64Value",[{no:1,name:"value",kind:"scalar",T:3}])}internalJsonWrite(e,r){return this.refJsonWriter.scalar(oe.INT64,e.value,"value",!1,!0)}internalJsonRead(e,r,n){return n||(n=this.create()),n.value=this.refJsonReader.scalar(e,oe.INT64,Ss.STRING,"value"),n}create(e){let r={value:"0"};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.value=e.int64().toString();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.value!=="0"&&r.tag(1,he.Varint).int64(e.value);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},ow=new nW,sW=class extends Wt{constructor(){super("google.protobuf.UInt64Value",[{no:1,name:"value",kind:"scalar",T:4}])}internalJsonWrite(e,r){return this.refJsonWriter.scalar(oe.UINT64,e.value,"value",!1,!0)}internalJsonRead(e,r,n){return n||(n=this.create()),n.value=this.refJsonReader.scalar(e,oe.UINT64,Ss.STRING,"value"),n}create(e){let r={value:"0"};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.value=e.uint64().toString();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.value!=="0"&&r.tag(1,he.Varint).uint64(e.value);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},aur=new sW,iW=class extends Wt{constructor(){super("google.protobuf.Int32Value",[{no:1,name:"value",kind:"scalar",T:5}])}internalJsonWrite(e,r){return this.refJsonWriter.scalar(5,e.value,"value",!1,!0)}internalJsonRead(e,r,n){return n||(n=this.create()),n.value=this.refJsonReader.scalar(e,5,void 0,"value"),n}create(e){let r={value:0};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.value=e.int32();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.value!==0&&r.tag(1,he.Varint).int32(e.value);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},cur=new iW,oW=class extends Wt{constructor(){super("google.protobuf.UInt32Value",[{no:1,name:"value",kind:"scalar",T:13}])}internalJsonWrite(e,r){return this.refJsonWriter.scalar(13,e.value,"value",!1,!0)}internalJsonRead(e,r,n){return n||(n=this.create()),n.value=this.refJsonReader.scalar(e,13,void 0,"value"),n}create(e){let r={value:0};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.value=e.uint32();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.value!==0&&r.tag(1,he.Varint).uint32(e.value);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},lur=new oW,aW=class extends Wt{constructor(){super("google.protobuf.BoolValue",[{no:1,name:"value",kind:"scalar",T:8}])}internalJsonWrite(e,r){return e.value}internalJsonRead(e,r,n){return n||(n=this.create()),n.value=this.refJsonReader.scalar(e,8,void 0,"value"),n}create(e){let r={value:!1};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.value=e.bool();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.value!==!1&&r.tag(1,he.Varint).bool(e.value);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},uur=new aW,cW=class extends Wt{constructor(){super("google.protobuf.StringValue",[{no:1,name:"value",kind:"scalar",T:9}])}internalJsonWrite(e,r){return e.value}internalJsonRead(e,r,n){return n||(n=this.create()),n.value=this.refJsonReader.scalar(e,9,void 0,"value"),n}create(e){let r={value:""};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.value=e.string();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.value!==""&&r.tag(1,he.LengthDelimited).string(e.value);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},fs=new cW,lW=class extends Wt{constructor(){super("google.protobuf.BytesValue",[{no:1,name:"value",kind:"scalar",T:12}])}internalJsonWrite(e,r){return this.refJsonWriter.scalar(12,e.value,"value",!1,!0)}internalJsonRead(e,r,n){return n||(n=this.create()),n.value=this.refJsonReader.scalar(e,12,void 0,"value"),n}create(e){let r={value:new Uint8Array(0)};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.value=e.bytes();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.value.length&&r.tag(1,he.LengthDelimited).bytes(e.value);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},dur=new lW});function xwe(t,e){var r,n,s;let i=t;return i.service=e,i.localName=(r=i.localName)!==null&&r!==void 0?r:sw(i.name),i.serverStreaming=!!i.serverStreaming,i.clientStreaming=!!i.clientStreaming,i.options=(n=i.options)!==null&&n!==void 0?n:{},i.idempotency=(s=i.idempotency)!==null&&s!==void 0?s:void 0,i}var Cwe=C(()=>{sr()});var oA,Swe=C(()=>{Cwe();oA=class{constructor(e,r,n){this.typeName=e,this.methods=r.map(s=>xwe(s,this)),this.options=n??{}}}});var uW=C(()=>{Swe()});var pW,CW,mW,SW,fW,IW,hW,RW,gW,vW,AW,NW,yW,dW,EW,TW,bW,BW,wW,PW,xW,kW,Nur,_W=C(()=>{uW();sr();sr();sr();sr();sr();nD();nD();eW();pW=class extends Wt{constructor(){super("github.actions.results.api.v1.CreateArtifactRequest",[{no:1,name:"workflow_run_backend_id",kind:"scalar",T:9},{no:2,name:"workflow_job_run_backend_id",kind:"scalar",T:9},{no:3,name:"name",kind:"scalar",T:9},{no:4,name:"expires_at",kind:"message",T:()=>wa},{no:5,name:"version",kind:"scalar",T:5},{no:6,name:"mime_type",kind:"message",T:()=>fs}])}create(e){let r={workflowRunBackendId:"",workflowJobRunBackendId:"",name:"",version:0};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.workflowRunBackendId=e.string();break;case 2:i.workflowJobRunBackendId=e.string();break;case 3:i.name=e.string();break;case 4:i.expiresAt=wa.internalBinaryRead(e,e.uint32(),n,i.expiresAt);break;case 5:i.version=e.int32();break;case 6:i.mimeType=fs.internalBinaryRead(e,e.uint32(),n,i.mimeType);break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.workflowRunBackendId!==""&&r.tag(1,he.LengthDelimited).string(e.workflowRunBackendId),e.workflowJobRunBackendId!==""&&r.tag(2,he.LengthDelimited).string(e.workflowJobRunBackendId),e.name!==""&&r.tag(3,he.LengthDelimited).string(e.name),e.expiresAt&&wa.internalBinaryWrite(e.expiresAt,r.tag(4,he.LengthDelimited).fork(),n).join(),e.version!==0&&r.tag(5,he.Varint).int32(e.version),e.mimeType&&fs.internalBinaryWrite(e.mimeType,r.tag(6,he.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},CW=new pW,mW=class extends Wt{constructor(){super("github.actions.results.api.v1.CreateArtifactResponse",[{no:1,name:"ok",kind:"scalar",T:8},{no:2,name:"signed_upload_url",kind:"scalar",T:9}])}create(e){let r={ok:!1,signedUploadUrl:""};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.ok=e.bool();break;case 2:i.signedUploadUrl=e.string();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.ok!==!1&&r.tag(1,he.Varint).bool(e.ok),e.signedUploadUrl!==""&&r.tag(2,he.LengthDelimited).string(e.signedUploadUrl);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},SW=new mW,fW=class extends Wt{constructor(){super("github.actions.results.api.v1.FinalizeArtifactRequest",[{no:1,name:"workflow_run_backend_id",kind:"scalar",T:9},{no:2,name:"workflow_job_run_backend_id",kind:"scalar",T:9},{no:3,name:"name",kind:"scalar",T:9},{no:4,name:"size",kind:"scalar",T:3},{no:5,name:"hash",kind:"message",T:()=>fs}])}create(e){let r={workflowRunBackendId:"",workflowJobRunBackendId:"",name:"",size:"0"};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.workflowRunBackendId=e.string();break;case 2:i.workflowJobRunBackendId=e.string();break;case 3:i.name=e.string();break;case 4:i.size=e.int64().toString();break;case 5:i.hash=fs.internalBinaryRead(e,e.uint32(),n,i.hash);break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.workflowRunBackendId!==""&&r.tag(1,he.LengthDelimited).string(e.workflowRunBackendId),e.workflowJobRunBackendId!==""&&r.tag(2,he.LengthDelimited).string(e.workflowJobRunBackendId),e.name!==""&&r.tag(3,he.LengthDelimited).string(e.name),e.size!=="0"&&r.tag(4,he.Varint).int64(e.size),e.hash&&fs.internalBinaryWrite(e.hash,r.tag(5,he.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},IW=new fW,hW=class extends Wt{constructor(){super("github.actions.results.api.v1.FinalizeArtifactResponse",[{no:1,name:"ok",kind:"scalar",T:8},{no:2,name:"artifact_id",kind:"scalar",T:3}])}create(e){let r={ok:!1,artifactId:"0"};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.ok=e.bool();break;case 2:i.artifactId=e.int64().toString();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.ok!==!1&&r.tag(1,he.Varint).bool(e.ok),e.artifactId!=="0"&&r.tag(2,he.Varint).int64(e.artifactId);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},RW=new hW,gW=class extends Wt{constructor(){super("github.actions.results.api.v1.ListArtifactsRequest",[{no:1,name:"workflow_run_backend_id",kind:"scalar",T:9},{no:2,name:"workflow_job_run_backend_id",kind:"scalar",T:9},{no:3,name:"name_filter",kind:"message",T:()=>fs},{no:4,name:"id_filter",kind:"message",T:()=>ow}])}create(e){let r={workflowRunBackendId:"",workflowJobRunBackendId:""};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.workflowRunBackendId=e.string();break;case 2:i.workflowJobRunBackendId=e.string();break;case 3:i.nameFilter=fs.internalBinaryRead(e,e.uint32(),n,i.nameFilter);break;case 4:i.idFilter=ow.internalBinaryRead(e,e.uint32(),n,i.idFilter);break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.workflowRunBackendId!==""&&r.tag(1,he.LengthDelimited).string(e.workflowRunBackendId),e.workflowJobRunBackendId!==""&&r.tag(2,he.LengthDelimited).string(e.workflowJobRunBackendId),e.nameFilter&&fs.internalBinaryWrite(e.nameFilter,r.tag(3,he.LengthDelimited).fork(),n).join(),e.idFilter&&ow.internalBinaryWrite(e.idFilter,r.tag(4,he.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},vW=new gW,AW=class extends Wt{constructor(){super("github.actions.results.api.v1.ListArtifactsResponse",[{no:1,name:"artifacts",kind:"message",repeat:2,T:()=>dW}])}create(e){let r={artifacts:[]};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.artifacts.push(dW.internalBinaryRead(e,e.uint32(),n));break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){for(let i=0;i<e.artifacts.length;i++)dW.internalBinaryWrite(e.artifacts[i],r.tag(1,he.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},NW=new AW,yW=class extends Wt{constructor(){super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact",[{no:1,name:"workflow_run_backend_id",kind:"scalar",T:9},{no:2,name:"workflow_job_run_backend_id",kind:"scalar",T:9},{no:3,name:"database_id",kind:"scalar",T:3},{no:4,name:"name",kind:"scalar",T:9},{no:5,name:"size",kind:"scalar",T:3},{no:6,name:"created_at",kind:"message",T:()=>wa},{no:7,name:"digest",kind:"message",T:()=>fs}])}create(e){let r={workflowRunBackendId:"",workflowJobRunBackendId:"",databaseId:"0",name:"",size:"0"};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.workflowRunBackendId=e.string();break;case 2:i.workflowJobRunBackendId=e.string();break;case 3:i.databaseId=e.int64().toString();break;case 4:i.name=e.string();break;case 5:i.size=e.int64().toString();break;case 6:i.createdAt=wa.internalBinaryRead(e,e.uint32(),n,i.createdAt);break;case 7:i.digest=fs.internalBinaryRead(e,e.uint32(),n,i.digest);break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.workflowRunBackendId!==""&&r.tag(1,he.LengthDelimited).string(e.workflowRunBackendId),e.workflowJobRunBackendId!==""&&r.tag(2,he.LengthDelimited).string(e.workflowJobRunBackendId),e.databaseId!=="0"&&r.tag(3,he.Varint).int64(e.databaseId),e.name!==""&&r.tag(4,he.LengthDelimited).string(e.name),e.size!=="0"&&r.tag(5,he.Varint).int64(e.size),e.createdAt&&wa.internalBinaryWrite(e.createdAt,r.tag(6,he.LengthDelimited).fork(),n).join(),e.digest&&fs.internalBinaryWrite(e.digest,r.tag(7,he.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},dW=new yW,EW=class extends Wt{constructor(){super("github.actions.results.api.v1.GetSignedArtifactURLRequest",[{no:1,name:"workflow_run_backend_id",kind:"scalar",T:9},{no:2,name:"workflow_job_run_backend_id",kind:"scalar",T:9},{no:3,name:"name",kind:"scalar",T:9}])}create(e){let r={workflowRunBackendId:"",workflowJobRunBackendId:"",name:""};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.workflowRunBackendId=e.string();break;case 2:i.workflowJobRunBackendId=e.string();break;case 3:i.name=e.string();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.workflowRunBackendId!==""&&r.tag(1,he.LengthDelimited).string(e.workflowRunBackendId),e.workflowJobRunBackendId!==""&&r.tag(2,he.LengthDelimited).string(e.workflowJobRunBackendId),e.name!==""&&r.tag(3,he.LengthDelimited).string(e.name);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},TW=new EW,bW=class extends Wt{constructor(){super("github.actions.results.api.v1.GetSignedArtifactURLResponse",[{no:1,name:"signed_url",kind:"scalar",T:9}])}create(e){let r={signedUrl:""};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.signedUrl=e.string();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.signedUrl!==""&&r.tag(1,he.LengthDelimited).string(e.signedUrl);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},BW=new bW,wW=class extends Wt{constructor(){super("github.actions.results.api.v1.DeleteArtifactRequest",[{no:1,name:"workflow_run_backend_id",kind:"scalar",T:9},{no:2,name:"workflow_job_run_backend_id",kind:"scalar",T:9},{no:3,name:"name",kind:"scalar",T:9}])}create(e){let r={workflowRunBackendId:"",workflowJobRunBackendId:"",name:""};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.workflowRunBackendId=e.string();break;case 2:i.workflowJobRunBackendId=e.string();break;case 3:i.name=e.string();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.workflowRunBackendId!==""&&r.tag(1,he.LengthDelimited).string(e.workflowRunBackendId),e.workflowJobRunBackendId!==""&&r.tag(2,he.LengthDelimited).string(e.workflowJobRunBackendId),e.name!==""&&r.tag(3,he.LengthDelimited).string(e.name);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},PW=new wW,xW=class extends Wt{constructor(){super("github.actions.results.api.v1.DeleteArtifactResponse",[{no:1,name:"ok",kind:"scalar",T:8},{no:2,name:"artifact_id",kind:"scalar",T:3}])}create(e){let r={ok:!1,artifactId:"0"};return globalThis.Object.defineProperty(r,Ft,{enumerable:!1,value:this}),e!==void 0&&Ut(this,r,e),r}internalBinaryRead(e,r,n,s){let i=s??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:i.ok=e.bool();break;case 2:i.artifactId=e.int64().toString();break;default:let l=n.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?$e.onRead:l)(this.typeName,i,a,c,u)}}return i}internalBinaryWrite(e,r,n){e.ok!==!1&&r.tag(1,he.Varint).bool(e.ok),e.artifactId!=="0"&&r.tag(2,he.Varint).int64(e.artifactId);let s=n.writeUnknownFields;return s!==!1&&(s==!0?$e.onWrite:s)(this.typeName,e,r),r}},kW=new xW,Nur=new oA("github.actions.results.api.v1.ArtifactService",[{name:"CreateArtifact",options:{},I:CW,O:SW},{name:"FinalizeArtifact",options:{},I:IW,O:RW},{name:"ListArtifacts",options:{},I:vW,O:NW},{name:"GetSignedArtifactURL",options:{},I:TW,O:BW},{name:"DeleteArtifact",options:{},I:PW,O:kW}])});var sD,Iwe=C(()=>{_W();sD=class{constructor(e){this.rpc=e,this.CreateArtifact.bind(this),this.FinalizeArtifact.bind(this),this.ListArtifacts.bind(this),this.GetSignedArtifactURL.bind(this),this.DeleteArtifact.bind(this)}CreateArtifact(e){let r=CW.toJson(e,{useProtoFieldName:!0,emitDefaultValues:!1});return this.rpc.request("github.actions.results.api.v1.ArtifactService","CreateArtifact","application/json",r).then(s=>SW.fromJson(s,{ignoreUnknownFields:!0}))}FinalizeArtifact(e){let r=IW.toJson(e,{useProtoFieldName:!0,emitDefaultValues:!1});return this.rpc.request("github.actions.results.api.v1.ArtifactService","FinalizeArtifact","application/json",r).then(s=>RW.fromJson(s,{ignoreUnknownFields:!0}))}ListArtifacts(e){let r=vW.toJson(e,{useProtoFieldName:!0,emitDefaultValues:!1});return this.rpc.request("github.actions.results.api.v1.ArtifactService","ListArtifacts","application/json",r).then(s=>NW.fromJson(s,{ignoreUnknownFields:!0}))}GetSignedArtifactURL(e){let r=TW.toJson(e,{useProtoFieldName:!0,emitDefaultValues:!1});return this.rpc.request("github.actions.results.api.v1.ArtifactService","GetSignedArtifactURL","application/json",r).then(s=>BW.fromJson(s,{ignoreUnknownFields:!0}))}DeleteArtifact(e){let r=PW.toJson(e,{useProtoFieldName:!0,emitDefaultValues:!1});return this.rpc.request("github.actions.results.api.v1.ArtifactService","DeleteArtifact","application/json",r).then(s=>kW.fromJson(s,{ignoreUnknownFields:!0}))}}});var xf=C(()=>{eW();nD();_W();Iwe()});function Rwe(t){if(!t)return;let e=Lyt();e&&e<t&&(K(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${e} instead.`),t=e);let r=new Date;return r.setDate(r.getDate()+t),wa.fromDate(r)}function Lyt(){let t=process.env.GITHUB_RETENTION_DAYS;if(!t)return;let e=parseInt(t);if(!isNaN(e))return e}var vwe=C(()=>{xf();We()});function Twe(t){if(!t)throw new Error("Provided artifact name input during validation is empty");for(let[e,r]of Nwe)if(t.includes(e))throw new Error(`The artifact name is not valid: ${t}. Contains the following character: ${r}
53
53
 
@@ -115,7 +115,7 @@ GFS4: `),console.error(t)});bn[pi]||(RTe=global[pi]||[],NTe(bn,RTe),bn.close=(fu
115
115
  `);return mr.from(r)};kx.decodePax=function(e){let r={};for(;e.length;){let n=0;for(;n<e.length&&e[n]!==32;)n++;let s=parseInt(mr.toString(e.subarray(0,n)),10);if(!s)return r;let i=mr.toString(e.subarray(n+1,s-1)),o=i.indexOf("=");if(o===-1)return r;r[i.slice(0,o)]=i.slice(o+1),e=e.subarray(s)}return r};kx.encode=function(e){let r=mr.alloc(512),n=e.name,s="";if(e.typeflag===5&&n[n.length-1]!=="/"&&(n+="/"),mr.byteLength(n)!==n.length)return null;for(;mr.byteLength(n)>100;){let i=n.indexOf("/");if(i===-1)return null;s+=s?"/"+n.slice(0,i):n.slice(0,i),n=n.slice(i+1)}return mr.byteLength(n)>100||mr.byteLength(s)>155||e.linkname&&mr.byteLength(e.linkname)>100?null:(mr.write(r,n),mr.write(r,ch(e.mode&rHt,6),100),mr.write(r,ch(e.uid,6),108),mr.write(r,ch(e.gid,6),116),lHt(e.size,r,124),mr.write(r,ch(e.mtime.getTime()/1e3|0,11),136),r[156]=lF+aHt(e.type),e.linkname&&mr.write(r,e.linkname,157),mr.copy(MFe,r,Z0),mr.copy(Zqt,r,wZ),e.uname&&mr.write(r,e.uname,265),e.gname&&mr.write(r,e.gname,297),mr.write(r,ch(e.devmajor||0,6),329),mr.write(r,ch(e.devminor||0,6),337),s&&mr.write(r,s,345),mr.write(r,ch(LFe(r),6),148),r)};kx.decode=function(e,r,n){let s=e[156]===0?0:e[156]-lF,i=Px(e,0,100,r),o=ah(e,100,8),a=ah(e,108,8),c=ah(e,116,8),l=ah(e,124,12),u=ah(e,136,12),d=oHt(s),p=e[157]===0?null:Px(e,157,100,r),m=Px(e,265,32),h=Px(e,297,32),f=ah(e,329,8),A=ah(e,337,8),b=LFe(e);if(b===256)return null;if(b!==ah(e,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(nHt(e))e[345]&&(i=Px(e,345,155,r)+"/"+i);else if(!sHt(e)){if(!n)throw new Error("Invalid tar header: unknown format.")}return s===0&&i&&i[i.length-1]==="/"&&(s=5),{name:i,mode:o,uid:a,gid:c,size:l,byteOffset:0,mtime:new Date(1e3*u),type:d,linkname:p,uname:m,gname:h,devmajor:f,devminor:A,pax:null}};function nHt(t){return mr.equals(MFe,t.subarray(Z0,Z0+6))}function sHt(t){return mr.equals(eHt,t.subarray(Z0,Z0+6))&&mr.equals(tHt,t.subarray(wZ,wZ+2))}function iHt(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)}function oHt(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null}function aHt(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0}function OFe(t,e,r,n){for(;r<n;r++)if(t[r]===e)return r;return n}function LFe(t){let e=256;for(let r=0;r<148;r++)e+=t[r];for(let r=156;r<512;r++)e+=t[r];return e}function ch(t,e){return t=t.toString(8),t.length>e?Xqt.slice(0,e)+" ":Kqt.slice(0,e-t.length)+t+" "}function cHt(t,e,r){e[r]=128;for(let n=11;n>0;n--)e[r+n]=t&255,t=Math.floor(t/256)}function lHt(t,e,r){t.toString(8).length>11?cHt(t,e,r):mr.write(e,ch(t,11),r)}function uHt(t){let e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;let r=[],n;for(n=t.length-1;n>0;n--){let o=t[n];e?r.push(o):r.push(255-o)}let s=0,i=r.length;for(n=0;n<i;n++)s+=r[n]*Math.pow(256,n);return e?s:-1*s}function ah(t,e,r){if(t=t.subarray(e,e+r),e=0,t[e]&128)return uHt(t);{for(;e<t.length&&t[e]===32;)e++;let n=iHt(OFe(t,32,e,t.length),t.length,t.length);for(;e<n&&t[e]===0;)e++;return n===e?0:parseInt(mr.toString(t.subarray(e,n)),8)}}function Px(t,e,r,n){return mr.toString(t.subarray(e,OFe(t,0,e,e+r)),n)}function bZ(t){let e=mr.byteLength(t),r=Math.floor(Math.log(e)/Math.log(10))+1;return e+r>=Math.pow(10,r)&&r++,e+r+t}});var HFe=B((Lkr,qFe)=>{var{Writable:dHt,Readable:pHt,getStreamError:FFe}=EZ(),mHt=nZ(),UFe=Rx(),_x=xZ(),fHt=UFe.alloc(0),hHt=4*1024*1024,SZ=class{constructor(){this.buffered=0,this.shifted=0,this.queue=new mHt,this._offset=0}push(e){this.buffered+=e.byteLength,this.queue.push(e)}shiftFirst(e){return this.buffered===0?null:this._next(e)}shift(e){if(e>this.buffered)return null;if(e===0)return fHt;let r=this._next(e);if(e===r.byteLength)return r;let n=[r];for(;(e-=r.byteLength)>0;)r=this._next(e),n.push(r);return UFe.concat(n)}_next(e){let r=this.queue.peek(),n=r.byteLength-this._offset;if(e>=n){let s=this._offset?r.subarray(this._offset,r.byteLength):r;return this.queue.shift(),this._offset=0,this.buffered-=n,this.shifted+=n,s}return this.buffered-=e,this.shifted+=e,r.subarray(this._offset,this._offset+=e)}},IZ=class extends pHt{constructor(e,r,n){super(),this.header=r,this.offset=n,this._parent=e}_read(e){this.header.size===0&&this.push(null),this._parent._stream===this&&this._parent._update(),e(null)}_predestroy(){this._parent.destroy(FFe(this))}_detach(){this._parent._stream===this&&(this._parent._stream=null,this._parent._missing=$Fe(this.header.size),this._parent._update())}_destroy(e){this._detach(),e(null)}},RZ=class extends dHt{constructor(e){super(e),e||(e={}),this._buffer=new SZ,this._offset=0,this._header=null,this._stream=null,this._missing=0,this._longHeader=!1,this._callback=CZ,this._locked=!1,this._finished=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null,this._filenameEncoding=e.filenameEncoding||"utf-8",this._allowUnknownFormat=!!e.allowUnknownFormat,this._unlockBound=this._unlock.bind(this)}_unlock(e){if(this._locked=!1,e){this.destroy(e),this._continueWrite(e);return}this._update()}_consumeHeader(){if(this._locked)return!1;this._offset=this._buffer.shifted;try{this._header=_x.decode(this._buffer.shift(512),this._filenameEncoding,this._allowUnknownFormat)}catch(e){return this._continueWrite(e),!1}if(!this._header)return!0;switch(this._header.byteOffset=this._buffer.shifted,this._header.type){case"gnu-long-path":case"gnu-long-link-path":case"pax-global-header":case"pax-header":return this._longHeader=!0,this._missing=this._header.size,this._missing>hHt?(this._continueWrite(new Error("Header exceeds max size")),!1):!0}return this._locked=!0,this._applyLongHeaders(),this._header.size>=0?this._header.size===0||this._header.type==="directory"?(this.emit("entry",this._header,this._createStream(),this._unlockBound),!0):(this._stream=this._createStream(),this._missing=this._header.size,this.emit("entry",this._header,this._stream,this._unlockBound),!0):(this._continueWrite(new Error("Invalid header")),!1)}_applyLongHeaders(){this._gnuLongPath&&(this._header.name=this._gnuLongPath,this._gnuLongPath=null),this._gnuLongLinkPath&&(this._header.linkname=this._gnuLongLinkPath,this._gnuLongLinkPath=null),this._pax&&(this._pax.path&&(this._header.name=this._pax.path),this._pax.linkpath&&(this._header.linkname=this._pax.linkpath),this._pax.size&&(this._header.size=parseInt(this._pax.size,10)),this._header.pax=this._pax,this._pax=null)}_decodeLongHeader(e){switch(this._header.type){case"gnu-long-path":this._gnuLongPath=_x.decodeLongPath(e,this._filenameEncoding);break;case"gnu-long-link-path":this._gnuLongLinkPath=_x.decodeLongPath(e,this._filenameEncoding);break;case"pax-global-header":this._paxGlobal=_x.decodePax(e);break;case"pax-header":this._pax=this._paxGlobal===null?_x.decodePax(e):Object.assign({},this._paxGlobal,_x.decodePax(e));break}}_consumeLongHeader(){this._longHeader=!1,this._missing=$Fe(this._header.size);let e=this._buffer.shift(this._header.size);try{this._decodeLongHeader(e)}catch(r){return this._continueWrite(r),!1}return!0}_consumeStream(){let e=this._buffer.shiftFirst(this._missing);if(e===null)return!1;this._missing-=e.byteLength;let r=this._stream.push(e);return this._missing===0?(this._stream.push(null),r&&this._stream._detach(),r&&this._locked===!1):r}_createStream(){return new IZ(this,this._header,this._offset)}_update(){for(;this._buffer.buffered>0&&!this.destroying;){if(this._missing>0){if(this._stream!==null){if(this._consumeStream()===!1)return;continue}if(this._longHeader===!0){if(this._missing>this._buffer.buffered)break;if(this._consumeLongHeader()===!1)return!1;continue}let e=this._buffer.shiftFirst(this._missing);e!==null&&(this._missing-=e.byteLength);continue}if(this._buffer.buffered<512)break;if(this._stream!==null||this._consumeHeader()===!1)return}this._continueWrite(null)}_continueWrite(e){let r=this._callback;this._callback=CZ,r(e)}_write(e,r){this._callback=r,this._buffer.push(e),this._update()}_final(e){this._finished=this._missing===0&&this._buffer.buffered===0,e(this._finished?null:new Error("Unexpected end of data"))}_predestroy(){this._continueWrite(null)}_destroy(e){this._stream&&this._stream.destroy(FFe(this)),e(null)}[Symbol.asyncIterator](){let e=null,r=null,n=null,s=null,i=null,o=this;return this.on("entry",l),this.on("error",p=>{e=p}),this.on("close",u),{[Symbol.asyncIterator](){return this},next(){return new Promise(c)},return(){return d(null)},throw(p){return d(p)}};function a(p){if(!i)return;let m=i;i=null,m(p)}function c(p,m){if(e)return m(e);if(s){p({value:s,done:!1}),s=null;return}r=p,n=m,a(null),o._finished&&r&&(r({value:void 0,done:!0}),r=n=null)}function l(p,m,h){i=h,m.on("error",CZ),r?(r({value:m,done:!1}),r=n=null):s=m}function u(){a(e),r&&(e?n(e):r({value:void 0,done:!0}),r=n=null)}function d(p){return o.destroy(p),a(p),new Promise((m,h)=>{if(o.destroyed)return m({value:void 0,done:!0});o.once("close",function(){p?h(p):m({value:void 0,done:!0})})})}}};qFe.exports=function(e){return new RZ(e)};function CZ(){}function $Fe(t){return t&=511,t&&512-t}});var GFe=B((Fkr,vZ)=>{var zFe={S_IFMT:61440,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960};try{vZ.exports=require("fs").constants||zFe}catch{vZ.exports=zFe}});var JFe=B((Ukr,YFe)=>{var{Readable:gHt,Writable:AHt,getStreamError:jFe}=EZ(),py=Rx(),Dx=GFe(),uF=xZ(),yHt=493,EHt=420,VFe=py.alloc(1024),TZ=class extends AHt{constructor(e,r,n){super({mapWritable:wHt,eagerOpen:!0}),this.written=0,this.header=r,this._callback=n,this._linkname=null,this._isLinkname=r.type==="symlink"&&!r.linkname,this._isVoid=r.type!=="file"&&r.type!=="contiguous-file",this._finished=!1,this._pack=e,this._openCallback=null,this._pack._stream===null?this._pack._stream=this:this._pack._pending.push(this)}_open(e){this._openCallback=e,this._pack._stream===this&&this._continueOpen()}_continuePack(e){if(this._callback===null)return;let r=this._callback;this._callback=null,r(e)}_continueOpen(){this._pack._stream===null&&(this._pack._stream=this);let e=this._openCallback;if(this._openCallback=null,e!==null){if(this._pack.destroying)return e(new Error("pack stream destroyed"));if(this._pack._finalized)return e(new Error("pack stream is already finalized"));this._pack._stream=this,this._isLinkname||this._pack._encode(this.header),this._isVoid&&(this._finish(),this._continuePack(null)),e(null)}}_write(e,r){if(this._isLinkname)return this._linkname=this._linkname?py.concat([this._linkname,e]):e,r(null);if(this._isVoid)return e.byteLength>0?r(new Error("No body allowed for this entry")):r();if(this.written+=e.byteLength,this._pack.push(e))return r();this._pack._drain=r}_finish(){this._finished||(this._finished=!0,this._isLinkname&&(this.header.linkname=this._linkname?py.toString(this._linkname,"utf-8"):"",this._pack._encode(this.header)),WFe(this._pack,this.header.size),this._pack._done(this))}_final(e){if(this.written!==this.header.size)return e(new Error("Size mismatch"));this._finish(),e(null)}_getError(){return jFe(this)||new Error("tar entry destroyed")}_predestroy(){this._pack.destroy(this._getError())}_destroy(e){this._pack._done(this),this._continuePack(this._finished?null:this._getError()),e()}},BZ=class extends gHt{constructor(e){super(e),this._drain=NZ,this._finalized=!1,this._finalizing=!1,this._pending=[],this._stream=null}entry(e,r,n){if(this._finalized||this.destroying)throw new Error("already finalized or destroyed");typeof r=="function"&&(n=r,r=null),n||(n=NZ),(!e.size||e.type==="symlink")&&(e.size=0),e.type||(e.type=bHt(e.mode)),e.mode||(e.mode=e.type==="directory"?yHt:EHt),e.uid||(e.uid=0),e.gid||(e.gid=0),e.mtime||(e.mtime=new Date),typeof r=="string"&&(r=py.from(r));let s=new TZ(this,e,n);return py.isBuffer(r)?(e.size=r.byteLength,s.write(r),s.end(),s):(s._isVoid,s)}finalize(){if(this._stream||this._pending.length>0){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(VFe),this.push(null))}_done(e){e===this._stream&&(this._stream=null,this._finalizing&&this.finalize(),this._pending.length&&this._pending.shift()._continueOpen())}_encode(e){if(!e.pax){let r=uF.encode(e);if(r){this.push(r);return}}this._encodePax(e)}_encodePax(e){let r=uF.encodePax({name:e.name,linkname:e.linkname,pax:e.pax}),n={name:"PaxHeader",mode:e.mode,uid:e.uid,gid:e.gid,size:r.byteLength,mtime:e.mtime,type:"pax-header",linkname:e.linkname&&"PaxHeader",uname:e.uname,gname:e.gname,devmajor:e.devmajor,devminor:e.devminor};this.push(uF.encode(n)),this.push(r),WFe(this,r.byteLength),n.size=e.size,n.type=e.type,this.push(uF.encode(n))}_doDrain(){let e=this._drain;this._drain=NZ,e()}_predestroy(){let e=jFe(this);for(this._stream&&this._stream.destroy(e);this._pending.length;){let r=this._pending.shift();r.destroy(e),r._continueOpen()}this._doDrain()}_read(e){this._doDrain(),e()}};YFe.exports=function(e){return new BZ(e)};function bHt(t){switch(t&Dx.S_IFMT){case Dx.S_IFBLK:return"block-device";case Dx.S_IFCHR:return"character-device";case Dx.S_IFDIR:return"directory";case Dx.S_IFIFO:return"fifo";case Dx.S_IFLNK:return"symlink"}return"file"}function NZ(){}function WFe(t,e){e&=511,e&&t.push(VFe.subarray(0,512-e))}function wHt(t){return py.isBuffer(t)?t:py.from(t)}});var KFe=B(PZ=>{PZ.extract=HFe();PZ.pack=JFe()});var e1e=B((qkr,ZFe)=>{var xHt=require("zlib"),CHt=KFe(),XFe=Sx(),rm=function(t){if(!(this instanceof rm))return new rm(t);t=this.options=XFe.defaults(t,{gzip:!1}),typeof t.gzipOptions!="object"&&(t.gzipOptions={}),this.supports={directory:!0,symlink:!0},this.engine=CHt.pack(t),this.compressor=!1,t.gzip&&(this.compressor=xHt.createGzip(t.gzipOptions),this.compressor.on("error",this._onCompressorError.bind(this)))};rm.prototype._onCompressorError=function(t){this.engine.emit("error",t)};rm.prototype.append=function(t,e,r){var n=this;e.mtime=e.date;function s(o,a){if(o){r(o);return}n.engine.entry(e,a,function(c){r(c,e)})}if(e.sourceType==="buffer")s(null,t);else if(e.sourceType==="stream"&&e.stats){e.size=e.stats.size;var i=n.engine.entry(e,function(o){r(o,e)});t.pipe(i)}else e.sourceType==="stream"&&XFe.collectStream(t,s)};rm.prototype.finalize=function(){this.engine.finalize()};rm.prototype.on=function(){return this.engine.on.apply(this.engine,arguments)};rm.prototype.pipe=function(t,e){return this.compressor?this.engine.pipe.apply(this.engine,[this.compressor]).pipe(t,e):this.engine.pipe.apply(this.engine,arguments)};rm.prototype.unpipe=function(){return this.compressor?this.compressor.unpipe.apply(this.compressor,arguments):this.engine.unpipe.apply(this.engine,arguments)};ZFe.exports=rm});var n1e=B((Hkr,r1e)=>{"use strict";function SHt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var IHt=new Int32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function t1e(t){if(Buffer.isBuffer(t))return t;if(typeof t=="number")return Buffer.alloc(t);if(typeof t=="string")return Buffer.from(t);throw new Error("input must be buffer, number, or string, received "+typeof t)}function RHt(t){let e=t1e(4);return e.writeInt32BE(t,0),e}function kZ(t,e){t=t1e(t),Buffer.isBuffer(e)&&(e=e.readUInt32BE(0));let r=~~e^-1;for(var n=0;n<t.length;n++)r=IHt[(r^t[n])&255]^r>>>8;return r^-1}function _Z(){return RHt(kZ.apply(null,arguments))}_Z.signed=function(){return kZ.apply(null,arguments)};_Z.unsigned=function(){return kZ.apply(null,arguments)>>>0};var vHt=_Z,NHt=SHt(vHt);r1e.exports=NHt});var a1e=B((zkr,o1e)=>{var THt=require("util").inherits,s1e=sy().Transform,BHt=n1e(),i1e=Sx(),lh=function(t){if(!(this instanceof lh))return new lh(t);t=this.options=i1e.defaults(t,{}),s1e.call(this,t),this.supports={directory:!0,symlink:!0},this.files=[]};THt(lh,s1e);lh.prototype._transform=function(t,e,r){r(null,t)};lh.prototype._writeStringified=function(){var t=JSON.stringify(this.files);this.write(t)};lh.prototype.append=function(t,e,r){var n=this;e.crc32=0;function s(i,o){if(i){r(i);return}e.size=o.length||0,e.crc32=BHt.unsigned(o),n.files.push(e),r(null,e)}e.sourceType==="buffer"?s(null,t):e.sourceType==="stream"&&i1e.collectStream(t,s)};lh.prototype.finalize=function(){this._writeStringified(),this.end()};o1e.exports=lh});var l1e=B((Gkr,c1e)=>{var PHt=ELe(),eN={},uh=function(t,e){return uh.create(t,e)};uh.create=function(t,e){if(eN[t]){var r=new PHt(t,e);return r.setFormat(t),r.setModule(new eN[t](e)),r}else throw new Error("create("+t+"): format not registered")};uh.registerFormat=function(t,e){if(eN[t])throw new Error("register("+t+"): format already registered");if(typeof e!="function")throw new Error("register("+t+"): format module invalid");if(typeof e.prototype.append!="function"||typeof e.prototype.finalize!="function")throw new Error("register("+t+"): format module missing methods");eN[t]=e};uh.isRegisteredFormat=function(t){return!!eN[t]};uh.registerFormat("zip",KLe());uh.registerFormat("tar",e1e());uh.registerFormat("json",a1e());c1e.exports=uh});function p1e(t){return kHt(this,void 0,void 0,function*(){ie(`Creating raw file upload stream for: ${t}`);let e=nA(),r=new tN(e),n=t;(yield dF.promises.lstat(t)).isSymbolicLink()&&(n=yield(0,d1e.realpath)(t));let i=dF.createReadStream(n,{highWaterMark:e});return i.on("error",o=>{jr("An error has occurred while reading the file for upload"),jr(String(o)),r.destroy(new Error("An error has occurred during file read for the artifact"))}),i.pipe(r),r})}var u1e,dF,d1e,kHt,tN,DZ=C(()=>{u1e=H(require("stream"),1),dF=H(require("fs"),1),d1e=require("fs/promises");We();Sp();kHt=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})},tN=class extends u1e.Transform{constructor(e){super({highWaterMark:e})}_transform(e,r,n){n(null,e)}}});function h1e(t){return _Ht(this,arguments,void 0,function*(e,r=DHt){ie(`Creating Artifact archive with compressionLevel: ${r}`);let n=f1e.default.create("zip",{highWaterMark:nA(),zlib:{level:r}});n.on("error",QHt),n.on("warning",MHt),n.on("finish",OHt),n.on("end",LHt);for(let o of e)if(o.sourcePath!==null){let a=o.sourcePath;o.stats.isSymbolicLink()&&(a=yield(0,m1e.realpath)(o.sourcePath)),n.file(a,{name:o.destinationPath})}else n.append("",{name:o.destinationPath});let s=nA(),i=new tN(s);return ie(`Zip write high watermark value ${i.writableHighWaterMark}`),ie(`Zip read high watermark value ${i.readableHighWaterMark}`),n.pipe(i),n.finalize(),i})}var m1e,f1e,_Ht,DHt,QHt,MHt,OHt,LHt,g1e=C(()=>{m1e=require("fs/promises"),f1e=H(l1e(),1);We();Sp();DZ();_Ht=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})},DHt=6;QHt=t=>{throw jr("An error has occurred while creating the zip file for upload"),te(t),new Error("An error has occurred during zip creation for the artifact")},MHt=t=>{t.code==="ENOENT"?(K("ENOENT warning during artifact zip creation. No such file or directory"),te(t)):(K(`A non-blocking warning has occurred during artifact zip creation: ${t.code}`),te(t))},OHt=()=>{ie("Zip stream for upload has finished.")},LHt=()=>{ie("Zip stream for upload has ended.")}});function y1e(t){let e=A1e.extname(t).toLowerCase();return FHt[e]||"application/octet-stream"}var A1e,FHt,E1e=C(()=>{A1e=H(require("path"),1),FHt={".txt":"text/plain",".html":"text/html",".htm":"text/html",".css":"text/css",".csv":"text/csv",".xml":"text/xml",".md":"text/markdown",".js":"application/javascript",".mjs":"application/javascript",".json":"application/json",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".webp":"image/webp",".ico":"image/x-icon",".bmp":"image/bmp",".tiff":"image/tiff",".tif":"image/tiff",".mp3":"audio/mpeg",".wav":"audio/wav",".ogg":"audio/ogg",".flac":"audio/flac",".mp4":"video/mp4",".webm":"video/webm",".avi":"video/x-msvideo",".mov":"video/quicktime",".pdf":"application/pdf",".doc":"application/msword",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".xls":"application/vnd.ms-excel",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".ppt":"application/vnd.ms-powerpoint",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".rar":"application/vnd.rar",".7z":"application/x-7z-compressed",".wasm":"application/wasm",".yaml":"application/x-yaml",".yml":"application/x-yaml",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".otf":"font/otf",".eot":"application/vnd.ms-fontobject"}});function x1e(t,e,r,n){return UHt(this,void 0,void 0,function*(){let s=`${t}.zip`;if(n?.skipArchive){if(e.length===0)throw new aA([]);if(e.length>1)throw new Error("skipArchive option is only supported when uploading a single file");if(!b1e.existsSync(e[0]))throw new aA(e);s=w1e.basename(e[0]),t=s}Twe(t),Lwe(r);let i=[];if(!n?.skipArchive&&(i=Fwe(e,r),i.length===0))throw new aA(i.flatMap(b=>b.sourcePath?[b.sourcePath]:[]));let o=y1e(s),a=fu(),c=hu(),l={workflowRunBackendId:a.workflowRunBackendId,workflowJobRunBackendId:a.workflowJobRunBackendId,name:t,mimeType:fs.create({value:o}),version:7},u=Rwe(n?.retentionDays);u&&(l.expiresAt=u);let d=yield c.CreateArtifact(l);if(!d.ok)throw new du("CreateArtifact: response from backend was not ok");let p;n?.skipArchive?p=yield p1e(e[0]):p=yield h1e(i,n?.compressionLevel),te(`Uploading artifact: ${s}`);let m=yield W0e(d.signedUploadUrl,p,o),h={workflowRunBackendId:a.workflowRunBackendId,workflowJobRunBackendId:a.workflowJobRunBackendId,name:t,size:m.uploadSize?m.uploadSize.toString():"0"};m.sha256Hash&&(h.hash=fs.create({value:`sha256:${m.sha256Hash}`})),te("Finalizing artifact upload");let f=yield c.FinalizeArtifact(h);if(!f.ok)throw new du("FinalizeArtifact: response from backend was not ok");let A=BigInt(f.artifactId);return te(`Artifact ${t} successfully finalized. Artifact ID ${A}`),{size:m.uploadSize,digest:m.sha256Hash,id:Number(A)}})}var b1e,w1e,UHt,C1e=C(()=>{We();b1e=H(require("fs"),1),w1e=H(require("path"),1);vwe();MW();cw();Uwe();lA();Y0e();g1e();DZ();xf();vp();E1e();UHt=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})}});var pF,S1e,Qx,QZ=C(()=>{pF=require("fs"),S1e=require("os"),Qx=class{constructor(){var e,r,n;if(this.payload={},process.env.GITHUB_EVENT_PATH)if((0,pF.existsSync)(process.env.GITHUB_EVENT_PATH))this.payload=JSON.parse((0,pF.readFileSync)(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}));else{let s=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${s} does not exist${S1e.EOL}`)}this.eventName=process.env.GITHUB_EVENT_NAME,this.sha=process.env.GITHUB_SHA,this.ref=process.env.GITHUB_REF,this.workflow=process.env.GITHUB_WORKFLOW,this.action=process.env.GITHUB_ACTION,this.actor=process.env.GITHUB_ACTOR,this.job=process.env.GITHUB_JOB,this.runAttempt=parseInt(process.env.GITHUB_RUN_ATTEMPT,10),this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10),this.runId=parseInt(process.env.GITHUB_RUN_ID,10),this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:"https://api.github.com",this.serverUrl=(r=process.env.GITHUB_SERVER_URL)!==null&&r!==void 0?r:"https://github.com",this.graphqlUrl=(n=process.env.GITHUB_GRAPHQL_URL)!==null&&n!==void 0?n:"https://api.github.com/graphql"}get issue(){let e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){let[e,r]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:r}}if(this.payload.repository)return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name};throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}});var v1e=B(fF=>{"use strict";Object.defineProperty(fF,"__esModule",{value:!0});fF.getProxyUrl=$Ht;fF.checkBypass=R1e;function $Ht(t){let e=t.protocol==="https:";if(R1e(t))return;let r=e?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(r)try{return new mF(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new mF(`http://${r}`)}else return}function R1e(t){if(!t.hostname)return!1;let e=t.hostname;if(qHt(e))return!0;let r=process.env.no_proxy||process.env.NO_PROXY||"";if(!r)return!1;let n;t.port?n=Number(t.port):t.protocol==="http:"?n=80:t.protocol==="https:"&&(n=443);let s=[t.hostname.toUpperCase()];typeof n=="number"&&s.push(`${s[0]}:${n}`);for(let i of r.split(",").map(o=>o.trim().toUpperCase()).filter(o=>o))if(i==="*"||s.some(o=>o===i||o.endsWith(`.${i}`)||i.startsWith(".")&&o.endsWith(`${i}`)))return!0;return!1}function qHt(t){let e=t.toLowerCase();return e==="localhost"||e.startsWith("127.")||e.startsWith("[::1]")||e.startsWith("[0:0:0:0:0:0:0:1]")}var mF=class extends URL{constructor(e,r){super(e,r),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}}});var T1e=B(pn=>{"use strict";var HHt=pn&&pn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),zHt=pn&&pn.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),yF=pn&&pn.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),s=0;s<n.length;s++)n[s]!=="default"&&HHt(r,e,n[s]);return zHt(r,e),r}})(),rs=pn&&pn.__awaiter||function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})};Object.defineProperty(pn,"__esModule",{value:!0});pn.HttpClient=pn.HttpClientResponse=pn.HttpClientError=pn.MediaTypes=pn.Headers=pn.HttpCodes=void 0;pn.getProxyUrl=jHt;pn.isHttps=XHt;var MZ=yF(require("http")),N1e=yF(require("https")),OZ=yF(v1e()),hF=yF(e2()),GHt=T_(),vc;(function(t){t[t.OK=200]="OK",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.ResourceMoved=302]="ResourceMoved",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.SwitchProxy=306]="SwitchProxy",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.TooManyRequests=429]="TooManyRequests",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout"})(vc||(pn.HttpCodes=vc={}));var mo;(function(t){t.Accept="accept",t.ContentType="content-type"})(mo||(pn.Headers=mo={}));var nm;(function(t){t.ApplicationJson="application/json"})(nm||(pn.MediaTypes=nm={}));function jHt(t){let e=OZ.getProxyUrl(new URL(t));return e?e.href:""}var VHt=[vc.MovedPermanently,vc.ResourceMoved,vc.SeeOther,vc.TemporaryRedirect,vc.PermanentRedirect],WHt=[vc.BadGateway,vc.ServiceUnavailable,vc.GatewayTimeout],YHt=["OPTIONS","GET","DELETE","HEAD"],JHt=10,KHt=5,gF=class t extends Error{constructor(e,r){super(e),this.name="HttpClientError",this.statusCode=r,Object.setPrototypeOf(this,t.prototype)}};pn.HttpClientError=gF;var AF=class{constructor(e){this.message=e}readBody(){return rs(this,void 0,void 0,function*(){return new Promise(e=>rs(this,void 0,void 0,function*(){let r=Buffer.alloc(0);this.message.on("data",n=>{r=Buffer.concat([r,n])}),this.message.on("end",()=>{e(r.toString())})}))})}readBodyBuffer(){return rs(this,void 0,void 0,function*(){return new Promise(e=>rs(this,void 0,void 0,function*(){let r=[];this.message.on("data",n=>{r.push(n)}),this.message.on("end",()=>{e(Buffer.concat(r))})}))})}};pn.HttpClientResponse=AF;function XHt(t){return new URL(t).protocol==="https:"}var LZ=class{constructor(e,r,n){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=this._getUserAgentWithOrchestrationId(e),this.handlers=r||[],this.requestOptions=n,n&&(n.ignoreSslError!=null&&(this._ignoreSslError=n.ignoreSslError),this._socketTimeout=n.socketTimeout,n.allowRedirects!=null&&(this._allowRedirects=n.allowRedirects),n.allowRedirectDowngrade!=null&&(this._allowRedirectDowngrade=n.allowRedirectDowngrade),n.maxRedirects!=null&&(this._maxRedirects=Math.max(n.maxRedirects,0)),n.keepAlive!=null&&(this._keepAlive=n.keepAlive),n.allowRetries!=null&&(this._allowRetries=n.allowRetries),n.maxRetries!=null&&(this._maxRetries=n.maxRetries))}options(e,r){return rs(this,void 0,void 0,function*(){return this.request("OPTIONS",e,null,r||{})})}get(e,r){return rs(this,void 0,void 0,function*(){return this.request("GET",e,null,r||{})})}del(e,r){return rs(this,void 0,void 0,function*(){return this.request("DELETE",e,null,r||{})})}post(e,r,n){return rs(this,void 0,void 0,function*(){return this.request("POST",e,r,n||{})})}patch(e,r,n){return rs(this,void 0,void 0,function*(){return this.request("PATCH",e,r,n||{})})}put(e,r,n){return rs(this,void 0,void 0,function*(){return this.request("PUT",e,r,n||{})})}head(e,r){return rs(this,void 0,void 0,function*(){return this.request("HEAD",e,null,r||{})})}sendStream(e,r,n,s){return rs(this,void 0,void 0,function*(){return this.request(e,r,n,s)})}getJson(e){return rs(this,arguments,void 0,function*(r,n={}){n[mo.Accept]=this._getExistingOrDefaultHeader(n,mo.Accept,nm.ApplicationJson);let s=yield this.get(r,n);return this._processResponse(s,this.requestOptions)})}postJson(e,r){return rs(this,arguments,void 0,function*(n,s,i={}){let o=JSON.stringify(s,null,2);i[mo.Accept]=this._getExistingOrDefaultHeader(i,mo.Accept,nm.ApplicationJson),i[mo.ContentType]=this._getExistingOrDefaultContentTypeHeader(i,nm.ApplicationJson);let a=yield this.post(n,o,i);return this._processResponse(a,this.requestOptions)})}putJson(e,r){return rs(this,arguments,void 0,function*(n,s,i={}){let o=JSON.stringify(s,null,2);i[mo.Accept]=this._getExistingOrDefaultHeader(i,mo.Accept,nm.ApplicationJson),i[mo.ContentType]=this._getExistingOrDefaultContentTypeHeader(i,nm.ApplicationJson);let a=yield this.put(n,o,i);return this._processResponse(a,this.requestOptions)})}patchJson(e,r){return rs(this,arguments,void 0,function*(n,s,i={}){let o=JSON.stringify(s,null,2);i[mo.Accept]=this._getExistingOrDefaultHeader(i,mo.Accept,nm.ApplicationJson),i[mo.ContentType]=this._getExistingOrDefaultContentTypeHeader(i,nm.ApplicationJson);let a=yield this.patch(n,o,i);return this._processResponse(a,this.requestOptions)})}request(e,r,n,s){return rs(this,void 0,void 0,function*(){if(this._disposed)throw new Error("Client has already been disposed.");let i=new URL(r),o=this._prepareRequest(e,i,s),a=this._allowRetries&&YHt.includes(e)?this._maxRetries+1:1,c=0,l;do{if(l=yield this.requestRaw(o,n),l&&l.message&&l.message.statusCode===vc.Unauthorized){let d;for(let p of this.handlers)if(p.canHandleAuthentication(l)){d=p;break}return d?d.handleAuthentication(this,o,n):l}let u=this._maxRedirects;for(;l.message.statusCode&&VHt.includes(l.message.statusCode)&&this._allowRedirects&&u>0;){let d=l.message.headers.location;if(!d)break;let p=new URL(d);if(i.protocol==="https:"&&i.protocol!==p.protocol&&!this._allowRedirectDowngrade)throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.");if(yield l.readBody(),p.hostname!==i.hostname)for(let m in s)m.toLowerCase()==="authorization"&&delete s[m];o=this._prepareRequest(e,p,s),l=yield this.requestRaw(o,n),u--}if(!l.message.statusCode||!WHt.includes(l.message.statusCode))return l;c+=1,c<a&&(yield l.readBody(),yield this._performExponentialBackoff(c))}while(c<a);return l})}dispose(){this._agent&&this._agent.destroy(),this._disposed=!0}requestRaw(e,r){return rs(this,void 0,void 0,function*(){return new Promise((n,s)=>{function i(o,a){o?s(o):a?n(a):s(new Error("Unknown error"))}this.requestRawWithCallback(e,r,i)})})}requestRawWithCallback(e,r,n){typeof r=="string"&&(e.options.headers||(e.options.headers={}),e.options.headers["Content-Length"]=Buffer.byteLength(r,"utf8"));let s=!1;function i(c,l){s||(s=!0,n(c,l))}let o=e.httpModule.request(e.options,c=>{let l=new AF(c);i(void 0,l)}),a;o.on("socket",c=>{a=c}),o.setTimeout(this._socketTimeout||3*6e4,()=>{a&&a.end(),i(new Error(`Request timeout: ${e.options.path}`))}),o.on("error",function(c){i(c)}),r&&typeof r=="string"&&o.write(r,"utf8"),r&&typeof r!="string"?(r.on("close",function(){o.end()}),r.pipe(o)):o.end()}getAgent(e){let r=new URL(e);return this._getAgent(r)}getAgentDispatcher(e){let r=new URL(e),n=OZ.getProxyUrl(r);if(n&&n.hostname)return this._getProxyAgentDispatcher(r,n)}_prepareRequest(e,r,n){let s={};s.parsedUrl=r;let i=s.parsedUrl.protocol==="https:";s.httpModule=i?N1e:MZ;let o=i?443:80;if(s.options={},s.options.host=s.parsedUrl.hostname,s.options.port=s.parsedUrl.port?parseInt(s.parsedUrl.port):o,s.options.path=(s.parsedUrl.pathname||"")+(s.parsedUrl.search||""),s.options.method=e,s.options.headers=this._mergeHeaders(n),this.userAgent!=null&&(s.options.headers["user-agent"]=this.userAgent),s.options.agent=this._getAgent(s.parsedUrl),this.handlers)for(let a of this.handlers)a.prepareRequest(s.options);return s}_mergeHeaders(e){return this.requestOptions&&this.requestOptions.headers?Object.assign({},rN(this.requestOptions.headers),rN(e||{})):rN(e||{})}_getExistingOrDefaultHeader(e,r,n){let s;if(this.requestOptions&&this.requestOptions.headers){let o=rN(this.requestOptions.headers)[r];o&&(s=typeof o=="number"?o.toString():o)}let i=e[r];return i!==void 0?typeof i=="number"?i.toString():i:s!==void 0?s:n}_getExistingOrDefaultContentTypeHeader(e,r){let n;if(this.requestOptions&&this.requestOptions.headers){let i=rN(this.requestOptions.headers)[mo.ContentType];i&&(typeof i=="number"?n=String(i):Array.isArray(i)?n=i.join(", "):n=i)}let s=e[mo.ContentType];return s!==void 0?typeof s=="number"?String(s):Array.isArray(s)?s.join(", "):s:n!==void 0?n:r}_getAgent(e){let r,n=OZ.getProxyUrl(e),s=n&&n.hostname;if(this._keepAlive&&s&&(r=this._proxyAgent),s||(r=this._agent),r)return r;let i=e.protocol==="https:",o=100;if(this.requestOptions&&(o=this.requestOptions.maxSockets||MZ.globalAgent.maxSockets),n&&n.hostname){let a={maxSockets:o,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(n.username||n.password)&&{proxyAuth:`${n.username}:${n.password}`}),{host:n.hostname,port:n.port})},c,l=n.protocol==="https:";i?c=l?hF.httpsOverHttps:hF.httpsOverHttp:c=l?hF.httpOverHttps:hF.httpOverHttp,r=c(a),this._proxyAgent=r}if(!r){let a={keepAlive:this._keepAlive,maxSockets:o};r=i?new N1e.Agent(a):new MZ.Agent(a),this._agent=r}return i&&this._ignoreSslError&&(r.options=Object.assign(r.options||{},{rejectUnauthorized:!1})),r}_getProxyAgentDispatcher(e,r){let n;if(this._keepAlive&&(n=this._proxyAgentDispatcher),n)return n;let s=e.protocol==="https:";return n=new GHt.ProxyAgent(Object.assign({uri:r.href,pipelining:this._keepAlive?1:0},(r.username||r.password)&&{token:`Basic ${Buffer.from(`${r.username}:${r.password}`).toString("base64")}`})),this._proxyAgentDispatcher=n,s&&this._ignoreSslError&&(n.options=Object.assign(n.options.requestTls||{},{rejectUnauthorized:!1})),n}_getUserAgentWithOrchestrationId(e){let r=e||"actions/http-client",n=process.env.ACTIONS_ORCHESTRATION_ID;if(n){let s=n.replace(/[^a-z0-9_.-]/gi,"_");return`${r} actions_orchestration_id/${s}`}return r}_performExponentialBackoff(e){return rs(this,void 0,void 0,function*(){e=Math.min(JHt,e);let r=KHt*Math.pow(2,e);return new Promise(n=>setTimeout(()=>n(),r))})}_processResponse(e,r){return rs(this,void 0,void 0,function*(){return new Promise((n,s)=>rs(this,void 0,void 0,function*(){let i=e.message.statusCode||0,o={statusCode:i,result:null,headers:{}};i===vc.NotFound&&n(o);function a(u,d){if(typeof d=="string"){let p=new Date(d);if(!isNaN(p.valueOf()))return p}return d}let c,l;try{l=yield e.readBody(),l&&l.length>0&&(r&&r.deserializeDates?c=JSON.parse(l,a):c=JSON.parse(l),o.result=c),o.headers=e.message.headers}catch{}if(i>299){let u;c&&c.message?u=c.message:l&&l.length>0?u=l:u=`Failed request: (${i})`;let d=new gF(u,i);d.result=o.result,s(d)}else n(o)}))})}};pn.HttpClient=LZ;var rN=t=>Object.keys(t).reduce((e,r)=>(e[r.toLowerCase()]=t[r],e),{})});function P1e(t,e){if(!t&&!e.auth)throw new Error("Parameter token or opts.auth is required");if(t&&e.auth)throw new Error("Parameters token and opts.auth may not both be specified");return typeof e.auth=="string"?e.auth:`token ${t}`}function k1e(t){return new FZ.HttpClient().getAgent(t)}function ezt(t){return new FZ.HttpClient().getAgentDispatcher(t)}function _1e(t){let e=ezt(t);return(n,s)=>ZHt(this,void 0,void 0,function*(){return(0,B1e.fetch)(n,Object.assign(Object.assign({},s),{dispatcher:e}))})}function D1e(){return process.env.GITHUB_API_URL||"https://api.github.com"}function UZ(t){var e;let r=(e=process.env.ACTIONS_ORCHESTRATION_ID)===null||e===void 0?void 0:e.trim();if(r){let s=`actions_orchestration_id/${r.replace(/[^a-z0-9_.-]/gi,"_")}`;return t?.includes(s)?t:`${t?`${t} `:""}${s}`}return t}var FZ,B1e,ZHt,$Z=C(()=>{FZ=H(T1e(),1),B1e=H(T_(),1),ZHt=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})}});function dh(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:"<environment undetectable>"}var nN=C(()=>{});function EF(t,e,r,n){if(typeof r!="function")throw new Error("method for before hook must be a function");return n||(n={}),Array.isArray(e)?e.reverse().reduce((s,i)=>EF.bind(null,t,i,s,n),r)():Promise.resolve().then(()=>t.registry[e]?t.registry[e].reduce((s,i)=>i.hook.bind(null,s,n),r)():r(n))}var Q1e=C(()=>{});function M1e(t,e,r,n){let s=n;t.registry[r]||(t.registry[r]=[]),e==="before"&&(n=(i,o)=>Promise.resolve().then(s.bind(null,o)).then(i.bind(null,o))),e==="after"&&(n=(i,o)=>{let a;return Promise.resolve().then(i.bind(null,o)).then(c=>(a=c,s(a,o))).then(()=>a)}),e==="error"&&(n=(i,o)=>Promise.resolve().then(i.bind(null,o)).catch(a=>s(a,o))),t.registry[r].push({hook:n,orig:s})}var O1e=C(()=>{});function L1e(t,e,r){if(!t.registry[e])return;let n=t.registry[e].map(s=>s.orig).indexOf(r);n!==-1&&t.registry[e].splice(n,1)}var F1e=C(()=>{});function q1e(t,e,r){let n=$1e(L1e,null).apply(null,r?[e,r]:[e]);t.api={remove:n},t.remove=n,["before","error","after","wrap"].forEach(s=>{let i=r?[e,s,r]:[e,s];t[s]=t.api[s]=$1e(M1e,null).apply(null,i)})}function rzt(){let t=Symbol("Singular"),e={registry:{}},r=EF.bind(null,e,t);return q1e(r,e,t),r}function nzt(){let t={registry:{}},e=EF.bind(null,t);return q1e(e,t),e}var U1e,$1e,H1e,z1e=C(()=>{Q1e();O1e();F1e();U1e=Function.bind,$1e=U1e.bind(U1e);H1e={Singular:rzt,Collection:nzt}});function azt(t){return t?Object.keys(t).reduce((e,r)=>(e[r.toLowerCase()]=t[r],e),{}):{}}function czt(t){if(typeof t!="object"||t===null||Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);if(e===null)return!0;let r=Object.prototype.hasOwnProperty.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(t)}function V1e(t,e){let r=Object.assign({},t);return Object.keys(e).forEach(n=>{czt(e[n])?n in t?r[n]=V1e(t[n],e[n]):Object.assign(r,{[n]:e[n]}):Object.assign(r,{[n]:e[n]})}),r}function G1e(t){for(let e in t)t[e]===void 0&&delete t[e];return t}function HZ(t,e,r){if(typeof e=="string"){let[s,i]=e.split(" ");r=Object.assign(i?{method:s,url:i}:{url:s},r)}else r=Object.assign({},e);r.headers=azt(r.headers),G1e(r),G1e(r.headers);let n=V1e(t||{},r);return r.url==="/graphql"&&(t&&t.mediaType.previews?.length&&(n.mediaType.previews=t.mediaType.previews.filter(s=>!n.mediaType.previews.includes(s)).concat(n.mediaType.previews)),n.mediaType.previews=(n.mediaType.previews||[]).map(s=>s.replace(/-preview/,""))),n}function lzt(t,e){let r=/\?/.test(t)?"&":"?",n=Object.keys(e);return n.length===0?t:t+r+n.map(s=>s==="q"?"q="+e.q.split("+").map(encodeURIComponent).join("+"):`${s}=${encodeURIComponent(e[s])}`).join("&")}function dzt(t){return t.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function pzt(t){let e=t.match(uzt);return e?e.map(dzt).reduce((r,n)=>r.concat(n),[]):[]}function j1e(t,e){let r={__proto__:null};for(let n of Object.keys(t))e.indexOf(n)===-1&&(r[n]=t[n]);return r}function W1e(t){return t.split(/(%[0-9A-Fa-f]{2})/g).map(function(e){return/%[0-9A-Fa-f]/.test(e)||(e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")),e}).join("")}function Ox(t){return encodeURIComponent(t).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}function sN(t,e,r){return e=t==="+"||t==="#"?W1e(e):Ox(e),r?Ox(r)+"="+e:e}function Mx(t){return t!=null}function qZ(t){return t===";"||t==="&"||t==="?"}function mzt(t,e,r,n){var s=t[r],i=[];if(Mx(s)&&s!=="")if(typeof s=="string"||typeof s=="number"||typeof s=="bigint"||typeof s=="boolean")s=s.toString(),n&&n!=="*"&&(s=s.substring(0,parseInt(n,10))),i.push(sN(e,s,qZ(e)?r:""));else if(n==="*")Array.isArray(s)?s.filter(Mx).forEach(function(o){i.push(sN(e,o,qZ(e)?r:""))}):Object.keys(s).forEach(function(o){Mx(s[o])&&i.push(sN(e,s[o],o))});else{let o=[];Array.isArray(s)?s.filter(Mx).forEach(function(a){o.push(sN(e,a))}):Object.keys(s).forEach(function(a){Mx(s[a])&&(o.push(Ox(a)),o.push(sN(e,s[a].toString())))}),qZ(e)?i.push(Ox(r)+"="+o.join(",")):o.length!==0&&i.push(o.join(","))}else e===";"?Mx(s)&&i.push(Ox(r)):s===""&&(e==="&"||e==="?")?i.push(Ox(r)+"="):s===""&&i.push("");return i}function fzt(t){return{expand:hzt.bind(null,t)}}function hzt(t,e){var r=["+","#",".","/",";","?","&"];return t=t.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(n,s,i){if(s){let a="",c=[];if(r.indexOf(s.charAt(0))!==-1&&(a=s.charAt(0),s=s.substr(1)),s.split(/,/g).forEach(function(l){var u=/([^:\*]*)(?::(\d+)|(\*))?/.exec(l);c.push(mzt(e,a,u[1],u[2]||u[3]))}),a&&a!=="+"){var o=",";return a==="?"?o="&":a!=="#"&&(o=a),(c.length!==0?a:"")+c.join(o)}else return c.join(",")}else return W1e(i)}),t==="/"?t:t.replace(/\/$/,"")}function Y1e(t){let e=t.method.toUpperCase(),r=(t.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),n=Object.assign({},t.headers),s,i=j1e(t,["method","baseUrl","url","headers","request","mediaType"]),o=pzt(r);r=fzt(r).expand(i),/^http/.test(r)||(r=t.baseUrl+r);let a=Object.keys(t).filter(u=>o.includes(u)).concat("baseUrl"),c=j1e(i,a);if(!/application\/octet-stream/i.test(n.accept)&&(t.mediaType.format&&(n.accept=n.accept.split(/,/).map(u=>u.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${t.mediaType.format}`)).join(",")),r.endsWith("/graphql")&&t.mediaType.previews?.length)){let u=n.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g)||[];n.accept=u.concat(t.mediaType.previews).map(d=>{let p=t.mediaType.format?`.${t.mediaType.format}`:"+json";return`application/vnd.github.${d}-preview${p}`}).join(",")}return["GET","HEAD"].includes(e)?r=lzt(r,c):"data"in c?s=c.data:Object.keys(c).length&&(s=c),!n["content-type"]&&typeof s<"u"&&(n["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(e)&&typeof s>"u"&&(s=""),Object.assign({method:e,url:r,headers:n},typeof s<"u"?{body:s}:null,t.request?{request:t.request}:null)}function gzt(t,e,r){return Y1e(HZ(t,e,r))}function J1e(t,e){let r=HZ(t,e),n=gzt.bind(null,r);return Object.assign(n,{DEFAULTS:r,defaults:J1e.bind(null,r),merge:HZ.bind(null,r),parse:Y1e})}var szt,izt,ozt,uzt,K1e,X1e=C(()=>{nN();szt="0.0.0-development",izt=`octokit-endpoint.js/${szt} ${dh()}`,ozt={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":izt},mediaType:{format:""}};uzt=/\{[^{}}]+\}/g;K1e=J1e(null,ozt)});var iUe=B(bF=>{"use strict";Object.defineProperty(bF,"__esModule",{value:!0});bF.format=bzt;bF.parse=wzt;var Azt=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,eUe=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,yzt=/[\\"]/g,Ezt=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,tUe=(()=>{let t=function(){};return t.prototype=Object.create(null),t})();function bzt(t){let{type:e,parameters:r}=t;if(!e||!Ezt.test(e))throw new TypeError(`Invalid type: ${e}`);let n=e;if(r)for(let s of Object.keys(r)){if(!eUe.test(s))throw new TypeError(`Invalid parameter name: ${s}`);n+=`; ${s}=${Izt(r[s])}`}return n}function wzt(t,e){let r=t.length,n=GZ(t,0,r),s=n;n=zZ(t,n,r);let i=jZ(t,s,n),o=t.slice(s,i).toLowerCase(),a=e?.parameters===!1?new tUe:Szt(t,n,r);return{type:o,parameters:a}}var rUe=32,nUe=9,sUe=59,xzt=61,Z1e=34,Czt=92;function Szt(t,e,r){let n=new tUe;e:for(;e<r;){e=GZ(t,e+1,r);let s=e;for(;e<r;){let i=t.charCodeAt(e);if(i===sUe)continue e;if(i===xzt){let o=jZ(t,s,e),a=t.slice(s,o).toLowerCase();if(e=GZ(t,e+1,r),e<r&&t.charCodeAt(e)===Z1e){e++;let l="";for(;e<r;){let u=t.charCodeAt(e++);if(u===Z1e){e=zZ(t,e,r),n[a]===void 0&&(n[a]=l);break}if(u===Czt&&e<r){l+=t[e++];continue}l+=String.fromCharCode(u)}continue e}let c=e;if(e=zZ(t,e,r),n[a]===void 0){let l=jZ(t,c,e);n[a]=t.slice(c,l)}continue e}e++}}return n}function zZ(t,e,r){for(;e<r&&t.charCodeAt(e)!==sUe;)e++;return e}function GZ(t,e,r){for(;e<r;){let n=t.charCodeAt(e);if(n!==rUe&&n!==nUe)break;e++}return e}function jZ(t,e,r){for(;r>e;){let n=t.charCodeAt(r-1);if(n!==rUe&&n!==nUe)break;r--}return r}function Izt(t){if(eUe.test(t))return t;if(Azt.test(t))return`"${t.replace(yzt,"\\$&")}"`;throw new TypeError(`Invalid parameter value: ${t}`)}});var Rzt,cUe,VZ,oUe,vzt,Nzt,Tzt,lUe,wF,Bzt,Pzt,kzt,uUe,aUe,_zt,Dzt,dUe,pUe=C(()=>{Rzt=/^-?\d+$/,cUe=/^-?\d+n+$/,VZ=JSON.stringify,oUe=JSON.parse,vzt=/^-?\d+n$/,Nzt=/([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g,Tzt=/([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g,lUe=(t,e,r)=>"rawJSON"in JSON?VZ(t,(o,a)=>typeof a=="bigint"?JSON.rawJSON(a.toString()):typeof e=="function"?e(o,a):(Array.isArray(e)&&e.includes(o),a),r):t?VZ(t,(o,a)=>typeof a=="string"&&cUe.test(a)||typeof a=="bigint"?a.toString()+"n":typeof e=="function"?e(o,a):(Array.isArray(e)&&e.includes(o),a),r).replace(Nzt,"$1$2$3").replace(Tzt,"$1$2$3"):VZ(t,e,r),wF=new Map,Bzt=()=>{let t=JSON.parse.toString();if(wF.has(t))return wF.get(t);try{let e=JSON.parse("1",(r,n,s)=>!!s?.source&&s.source==="1");return wF.set(t,e),e}catch{return wF.set(t,!1),!1}},Pzt=(t,e,r,n)=>typeof e=="string"&&vzt.test(e)?BigInt(e.slice(0,-1)):typeof e=="string"&&cUe.test(e)?e.slice(0,-1):typeof n!="function"?e:n(t,e,r),kzt=(t,e)=>JSON.parse(t,(r,n,s)=>{let i=typeof n=="number"&&(n>Number.MAX_SAFE_INTEGER||n<Number.MIN_SAFE_INTEGER),o=s&&Rzt.test(s.source);return i&&o?BigInt(s.source):typeof e!="function"?n:e(r,n,s)}),uUe=Number.MAX_SAFE_INTEGER.toString(),aUe=uUe.length,_zt=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,Dzt=/^"-?\d+n+"$/,dUe=(t,e)=>{if(!t)return oUe(t,e);if(Bzt())return kzt(t,e);let r=t.replace(_zt,(n,s,i,o)=>{let a=n[0]==='"';if(a&&Dzt.test(n))return n.substring(0,n.length-1)+'n"';let l=i||o,u=s&&(s.length<aUe||s.length===aUe&&s<=uUe);return a||l||u?n:'"'+n+'n"'});return oUe(r,(n,s,i)=>Pzt(n,s,i,e))}});var sm,WZ=C(()=>{sm=class extends Error{name;status;request;response;constructor(e,r,n){super(e,{cause:n.cause}),this.name="HttpError",this.status=Number.parseInt(r),Number.isNaN(this.status)&&(this.status=0);"response"in n&&(this.response=n.response);let s=Object.assign({},n.request);n.request.headers.authorization&&(s.headers=Object.assign({},n.request.headers,{authorization:n.request.headers.authorization.replace(/(?<! ) .*$/," [REDACTED]")})),s.url=s.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=s}}});function Ozt(t){if(typeof t!="object"||t===null||Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);if(e===null)return!0;let r=Object.prototype.hasOwnProperty.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(t)}async function fUe(t){let e=t.request?.fetch||globalThis.fetch;if(!e)throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing");let r=t.request?.log||console,n=t.request?.parseSuccessResponseBody!==!1,s=Ozt(t.body)||Array.isArray(t.body)?lUe(t.body):t.body,i=Object.fromEntries(Object.entries(t.headers).map(([d,p])=>[d,String(p)])),o;try{o=await e(t.url,{method:t.method,body:s,redirect:t.request?.redirect,headers:i,signal:t.request?.signal,...t.body&&{duplex:"half"}})}catch(d){let p="Unknown Error";if(d instanceof Error){if(d.name==="AbortError")throw d.status=500,d;p=d.message,d.name==="TypeError"&&"cause"in d&&(d.cause instanceof Error?p=d.cause.message:typeof d.cause=="string"&&(p=d.cause))}let m=new sm(p,500,{request:t});throw m.cause=d,m}let a=o.status,c=o.url,l={};for(let[d,p]of o.headers)l[d]=p;let u={url:c,status:a,headers:l,data:""};if("deprecation"in l){let d=l.link&&l.link.match(/<([^<>]+)>; rel="deprecation"/),p=d&&d.pop();r.warn(`[@octokit/request] "${t.method} ${t.url}" is deprecated. It is scheduled to be removed on ${l.sunset}${p?`. See ${p}`:""}`)}if(a===204||a===205)return u;if(t.method==="HEAD"){if(a<400)return u;throw new sm(o.statusText,a,{response:u,request:t})}if(a===304)throw u.data=await YZ(o),new sm("Not modified",a,{response:u,request:t});if(a>=400)throw u.data=await YZ(o),new sm(Fzt(u.data),a,{response:u,request:t});return u.data=n?await YZ(o):o.body,u}async function YZ(t){let e=t.headers.get("content-type");if(!e)return t.text().catch(mUe);let r=(0,hUe.parse)(e);if(Lzt(r)){let n="";try{return n=await t.text(),dUe(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"?t.text().catch(mUe):t.arrayBuffer().catch(()=>new ArrayBuffer(0))}function Lzt(t){return t.type==="application/json"||t.type==="application/scim+json"}function Fzt(t){if(typeof t=="string")return t;if(t instanceof ArrayBuffer)return"Unknown error";if("message"in t){let e="documentation_url"in t?` - ${t.documentation_url}`:"";return Array.isArray(t.errors)?`${t.message}: ${t.errors.map(r=>JSON.stringify(r)).join(", ")}${e}`:`${t.message}${e}`}return`Unknown error: ${JSON.stringify(t)}`}function JZ(t,e){let r=t.defaults(e);return Object.assign(function(s,i){let o=r.merge(s,i);if(!o.request||!o.request.hook)return fUe(r.parse(o));let a=(c,l)=>fUe(r.parse(r.merge(c,l)));return Object.assign(a,{endpoint:r,defaults:JZ.bind(null,r)}),o.request.hook(a,o)},{endpoint:r,defaults:JZ.bind(null,r)})}var hUe,Qzt,Mzt,mUe,iN,KZ=C(()=>{X1e();nN();hUe=H(iUe(),1);pUe();WZ();Qzt="10.0.10",Mzt={headers:{"user-agent":`octokit-request.js/${Qzt} ${dh()}`}};mUe=()=>"";iN=JZ(K1e,Mzt);});function $zt(t){return`Request failed due to following response errors:
116
116
  `+t.errors.map(e=>` - ${e.message}`).join(`
117
117
  `)}function Gzt(t,e,r){if(r){if(typeof e=="string"&&"query"in r)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let o in r)if(zzt.includes(o))return Promise.reject(new Error(`[@octokit/graphql] "${o}" cannot be used as variable name`))}let n=typeof e=="string"?Object.assign({query:e},r):e,s=Object.keys(n).reduce((o,a)=>Hzt.includes(a)?(o[a]=n[a],o):(o.variables||(o.variables={}),o.variables[a]=n[a],o),{}),i=n.baseUrl||t.endpoint.DEFAULTS.baseUrl;return gUe.test(i)&&(s.url=i.replace(gUe,"/api/graphql")),t(s).then(o=>{if(o.data.errors){let a={};for(let c of Object.keys(o.headers))a[c]=o.headers[c];throw new qzt(s,a,o.data)}return o.data.data})}function XZ(t,e){let r=t.defaults(e);return Object.assign((s,i)=>Gzt(r,s,i),{defaults:XZ.bind(null,r),endpoint:r.endpoint})}function AUe(t){return XZ(t,{method:"POST",url:"/graphql"})}var Uzt,qzt,Hzt,zzt,gUe,k_r,yUe=C(()=>{KZ();nN();Uzt="0.0.0-development";qzt=class extends Error{constructor(t,e,r){super($zt(r)),this.request=t,this.headers=e,this.response=r,this.errors=r.errors,this.data=r.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}name="GraphqlResponseError";errors;data},Hzt=["method","baseUrl","url","headers","request","query","mediaType","operationName"],zzt=["query","method","url"],gUe=/\/api\/v3\/?$/;k_r=XZ(iN,{headers:{"user-agent":`octokit-graphql.js/${Uzt} ${dh()}`},method:"POST",url:"/graphql"})});async function Vzt(t){let e=jzt(t),r=t.startsWith("v1.")||t.startsWith("ghs_"),n=t.startsWith("ghu_");return{type:"token",token:t,tokenType:e?"app":r?"installation":n?"user-to-server":"oauth"}}function Wzt(t){return t.split(/\./).length===3?`bearer ${t}`:`token ${t}`}async function Yzt(t,e,r,n){let s=e.endpoint.merge(r,n);return s.headers.authorization=Wzt(t),e(s)}var ZZ,EUe,bUe,jzt,wUe,xUe=C(()=>{ZZ="(?:[a-zA-Z0-9_-]+)",EUe="\\.",bUe=new RegExp(`^${ZZ}${EUe}${ZZ}${EUe}${ZZ}$`),jzt=bUe.test.bind(bUe);wUe=function(e){if(!e)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof e!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return e=e.replace(/^(token|bearer) +/i,""),Object.assign(Vzt.bind(null,e),{hook:Yzt.bind(null,e)})}});var e7,CUe=C(()=>{e7="7.0.6"});function Xzt(t={}){return typeof t.debug!="function"&&(t.debug=SUe),typeof t.info!="function"&&(t.info=SUe),typeof t.warn!="function"&&(t.warn=Jzt),typeof t.error!="function"&&(t.error=Kzt),t}var SUe,Jzt,Kzt,IUe,xF,RUe=C(()=>{nN();z1e();KZ();yUe();xUe();CUe();SUe=()=>{},Jzt=console.warn.bind(console),Kzt=console.error.bind(console);IUe=`octokit-core.js/${e7} ${dh()}`,xF=class{static VERSION=e7;static defaults(e){return class extends this{constructor(...n){let s=n[0]||{};if(typeof e=="function"){super(e(s));return}super(Object.assign({},e,s,s.userAgent&&e.userAgent?{userAgent:`${s.userAgent} ${e.userAgent}`}:null))}}}static plugins=[];static plugin(...e){let r=this.plugins;return class extends this{static plugins=r.concat(e.filter(s=>!r.includes(s)))}}constructor(e={}){let r=new H1e.Collection,n={baseUrl:iN.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};if(n.headers["user-agent"]=e.userAgent?`${e.userAgent} ${IUe}`:IUe,e.baseUrl&&(n.baseUrl=e.baseUrl),e.previews&&(n.mediaType.previews=e.previews),e.timeZone&&(n.headers["time-zone"]=e.timeZone),this.request=iN.defaults(n),this.graphql=AUe(this.request).defaults(n),this.log=Xzt(e.log),this.hook=r,e.authStrategy){let{authStrategy:i,...o}=e,a=i(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:o},e.auth));r.wrap("request",a.hook),this.auth=a}else if(!e.auth)this.auth=async()=>({type:"unauthenticated"});else{let i=wUe(e.auth);r.wrap("request",i.hook),this.auth=i}let s=this.constructor;for(let i=0;i<s.plugins.length;++i)Object.assign(this,s.plugins[i](this,e))}request;graphql;log;hook;auth}});var t7,vUe=C(()=>{t7="17.0.0"});var Zzt,NUe,TUe=C(()=>{Zzt={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createHostedRunnerForOrg:["POST /orgs/{org}/actions/hosted-runners"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVariable:["POST /orgs/{org}/actions/variables"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createRepoVariable:["POST /repos/{owner}/{repo}/actions/variables"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteActionsCacheById:["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],deleteActionsCacheByKey:["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteCustomImageFromOrg:["DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"],deleteCustomImageVersionFromOrg:["DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"],deleteEnvironmentSecret:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],deleteHostedRunnerForOrg:["DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteRepoVariable:["DELETE /repos/{owner}/{repo}/actions/variables/{name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunAttemptLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],forceCancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"],generateRunnerJitconfigForOrg:["POST /orgs/{org}/actions/runners/generate-jitconfig"],generateRunnerJitconfigForRepo:["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"],getActionsCacheList:["GET /repos/{owner}/{repo}/actions/caches"],getActionsCacheUsage:["GET /repos/{owner}/{repo}/actions/cache/usage"],getActionsCacheUsageByRepoForOrg:["GET /orgs/{org}/actions/cache/usage-by-repository"],getActionsCacheUsageForOrg:["GET /orgs/{org}/actions/cache/usage"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getCustomImageForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"],getCustomImageVersionForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"],getCustomOidcSubClaimForRepo:["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"],getEnvironmentPublicKey:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],getGithubActionsDefaultWorkflowPermissionsOrganization:["GET /orgs/{org}/actions/permissions/workflow"],getGithubActionsDefaultWorkflowPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/workflow"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getHostedRunnerForOrg:["GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],getHostedRunnersGithubOwnedImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/github-owned"],getHostedRunnersLimitsForOrg:["GET /orgs/{org}/actions/hosted-runners/limits"],getHostedRunnersMachineSpecsForOrg:["GET /orgs/{org}/actions/hosted-runners/machine-sizes"],getHostedRunnersPartnerImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/partner"],getHostedRunnersPlatformsForOrg:["GET /orgs/{org}/actions/hosted-runners/platforms"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getOrgVariable:["GET /orgs/{org}/actions/variables/{name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getRepoVariable:["GET /repos/{owner}/{repo}/actions/variables/{name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowAccessToRepository:["GET /repos/{owner}/{repo}/actions/permissions/access"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listCustomImageVersionsForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions"],listCustomImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom"],listEnvironmentSecrets:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"],listGithubHostedRunnersInGroupForOrg:["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"],listHostedRunnersForOrg:["GET /orgs/{org}/actions/hosted-runners"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listJobsForWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"],listLabelsForSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}/labels"],listLabelsForSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listOrgVariables:["GET /orgs/{org}/actions/variables"],listRepoOrganizationSecrets:["GET /repos/{owner}/{repo}/actions/organization-secrets"],listRepoOrganizationVariables:["GET /repos/{owner}/{repo}/actions/organization-variables"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoVariables:["GET /repos/{owner}/{repo}/actions/variables"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedReposForOrgVariable:["GET /orgs/{org}/actions/variables/{name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunJobForWorkflowRun:["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],reRunWorkflowFailedJobs:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"],removeAllCustomLabelsFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"],removeAllCustomLabelsFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],removeCustomLabelFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"],removeCustomLabelFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],reviewCustomGatesForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setCustomLabelsForSelfHostedRunnerForOrg:["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],setCustomLabelsForSelfHostedRunnerForRepo:["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],setCustomOidcSubClaimForRepo:["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"],setGithubActionsDefaultWorkflowPermissionsOrganization:["PUT /orgs/{org}/actions/permissions/workflow"],setGithubActionsDefaultWorkflowPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/workflow"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedReposForOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"],setWorkflowAccessToRepository:["PUT /repos/{owner}/{repo}/actions/permissions/access"],updateEnvironmentVariable:["PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],updateHostedRunnerForOrg:["PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],updateOrgVariable:["PATCH /orgs/{org}/actions/variables/{name}"],updateRepoVariable:["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsDone:["DELETE /notifications/threads/{thread_id}"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","addRepoToInstallationForAuthenticatedUser"]}],addRepoToInstallationForAuthenticatedUser:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],listWebhookDeliveries:["GET /app/hook/deliveries"],redeliverWebhookDelivery:["POST /app/hook/deliveries/{delivery_id}/attempts"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","removeRepoFromInstallationForAuthenticatedUser"]}],removeRepoFromInstallationForAuthenticatedUser:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubBillingPremiumRequestUsageReportOrg:["GET /organizations/{org}/settings/billing/premium_request/usage"],getGithubBillingPremiumRequestUsageReportUser:["GET /users/{username}/settings/billing/premium_request/usage"],getGithubBillingUsageReportOrg:["GET /organizations/{org}/settings/billing/usage"],getGithubBillingUsageReportUser:["GET /users/{username}/settings/billing/usage"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},campaigns:{createCampaign:["POST /orgs/{org}/campaigns"],deleteCampaign:["DELETE /orgs/{org}/campaigns/{campaign_number}"],getCampaignSummary:["GET /orgs/{org}/campaigns/{campaign_number}"],listOrgCampaigns:["GET /orgs/{org}/campaigns"],updateCampaign:["PATCH /orgs/{org}/campaigns/{campaign_number}"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestRun:["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{commitAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits"],createAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],createVariantAnalysis:["POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses"],deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],deleteCodeqlDatabase:["DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getAutofix:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],getCodeqlDatabase:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getDefaultSetup:["GET /repos/{owner}/{repo}/code-scanning/default-setup"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],getVariantAnalysis:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}"],getVariantAnalysisRepoTask:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}"],listAlertInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listAlertsForOrg:["GET /orgs/{org}/code-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",{},{renamed:["codeScanning","listAlertInstances"]}],listCodeqlDatabases:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],updateDefaultSetup:["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codeSecurity:{attachConfiguration:["POST /orgs/{org}/code-security/configurations/{configuration_id}/attach"],attachEnterpriseConfiguration:["POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach"],createConfiguration:["POST /orgs/{org}/code-security/configurations"],createConfigurationForEnterprise:["POST /enterprises/{enterprise}/code-security/configurations"],deleteConfiguration:["DELETE /orgs/{org}/code-security/configurations/{configuration_id}"],deleteConfigurationForEnterprise:["DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],detachConfiguration:["DELETE /orgs/{org}/code-security/configurations/detach"],getConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}"],getConfigurationForRepository:["GET /repos/{owner}/{repo}/code-security-configuration"],getConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations"],getConfigurationsForOrg:["GET /orgs/{org}/code-security/configurations"],getDefaultConfigurations:["GET /orgs/{org}/code-security/configurations/defaults"],getDefaultConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/defaults"],getRepositoriesForConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories"],getRepositoriesForEnterpriseConfiguration:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories"],getSingleConfigurationForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],setConfigurationAsDefault:["PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults"],setConfigurationAsDefaultForEnterprise:["PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults"],updateConfiguration:["PATCH /orgs/{org}/code-security/configurations/{configuration_id}"],updateEnterpriseConfiguration:["PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},codespaces:{addRepositoryForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],checkPermissionsForDevcontainer:["GET /repos/{owner}/{repo}/codespaces/permissions_check"],codespaceMachinesForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/machines"],createForAuthenticatedUser:["POST /user/codespaces"],createOrUpdateOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],createOrUpdateSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}"],createWithPrForAuthenticatedUser:["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],createWithRepoForAuthenticatedUser:["POST /repos/{owner}/{repo}/codespaces"],deleteForAuthenticatedUser:["DELETE /user/codespaces/{codespace_name}"],deleteFromOrganization:["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],deleteOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],deleteSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}"],exportForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/exports"],getCodespacesForUserInOrg:["GET /orgs/{org}/members/{username}/codespaces"],getExportDetailsForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/exports/{export_id}"],getForAuthenticatedUser:["GET /user/codespaces/{codespace_name}"],getOrgPublicKey:["GET /orgs/{org}/codespaces/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}"],getPublicKeyForAuthenticatedUser:["GET /user/codespaces/secrets/public-key"],getRepoPublicKey:["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],getSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}"],listDevcontainersInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/devcontainers"],listForAuthenticatedUser:["GET /user/codespaces"],listInOrganization:["GET /orgs/{org}/codespaces",{},{renamedParameters:{org_id:"org"}}],listInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces"],listOrgSecrets:["GET /orgs/{org}/codespaces/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/codespaces/secrets"],listRepositoriesForSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}/repositories"],listSecretsForAuthenticatedUser:["GET /user/codespaces/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],preFlightWithRepoForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/new"],publishForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/publish"],removeRepositoryForSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],repoMachinesForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/machines"],setRepositoriesForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],startForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/start"],stopForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/stop"],stopInOrganization:["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],updateForAuthenticatedUser:["PATCH /user/codespaces/{codespace_name}"]},copilot:{addCopilotSeatsForTeams:["POST /orgs/{org}/copilot/billing/selected_teams"],addCopilotSeatsForUsers:["POST /orgs/{org}/copilot/billing/selected_users"],cancelCopilotSeatAssignmentForTeams:["DELETE /orgs/{org}/copilot/billing/selected_teams"],cancelCopilotSeatAssignmentForUsers:["DELETE /orgs/{org}/copilot/billing/selected_users"],copilotMetricsForOrganization:["GET /orgs/{org}/copilot/metrics"],copilotMetricsForTeam:["GET /orgs/{org}/team/{team_slug}/copilot/metrics"],getCopilotOrganizationDetails:["GET /orgs/{org}/copilot/billing"],getCopilotSeatDetailsForUser:["GET /orgs/{org}/members/{username}/copilot"],listCopilotSeats:["GET /orgs/{org}/copilot/billing/seats"]},credentials:{revoke:["POST /credentials/revoke"]},dependabot:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],getAlert:["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],getOrgPublicKey:["GET /orgs/{org}/dependabot/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}"],getRepoPublicKey:["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/dependabot/alerts"],listAlertsForOrg:["GET /orgs/{org}/dependabot/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/dependabot/alerts"],listOrgSecrets:["GET /orgs/{org}/dependabot/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/dependabot/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],repositoryAccessForOrg:["GET /organizations/{org}/dependabot/repository-access"],setRepositoryAccessDefaultLevel:["PUT /organizations/{org}/dependabot/repository-access/default-level"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],updateAlert:["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],updateRepositoryAccessForOrg:["PATCH /organizations/{org}/dependabot/repository-access"]},dependencyGraph:{createRepositorySnapshot:["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],diffRange:["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"],exportSbom:["GET /repos/{owner}/{repo}/dependency-graph/sbom"]},emojis:{get:["GET /emojis"]},enterpriseTeamMemberships:{add:["PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"],bulkAdd:["POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add"],bulkRemove:["POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove"],get:["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"],list:["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships"],remove:["DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"]},enterpriseTeamOrganizations:{add:["PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],bulkAdd:["POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add"],bulkRemove:["POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove"],delete:["DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],getAssignment:["GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],getAssignments:["GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations"]},enterpriseTeams:{create:["POST /enterprises/{enterprise}/teams"],delete:["DELETE /enterprises/{enterprise}/teams/{team_slug}"],get:["GET /enterprises/{enterprise}/teams/{team_slug}"],list:["GET /enterprises/{enterprise}/teams"],update:["PATCH /enterprises/{enterprise}/teams/{team_slug}"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},hostedCompute:{createNetworkConfigurationForOrg:["POST /orgs/{org}/settings/network-configurations"],deleteNetworkConfigurationFromOrg:["DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}"],getNetworkConfigurationForOrg:["GET /orgs/{org}/settings/network-configurations/{network_configuration_id}"],getNetworkSettingsForOrg:["GET /orgs/{org}/settings/network-settings/{network_settings_id}"],listNetworkConfigurationsForOrg:["GET /orgs/{org}/settings/network-configurations"],updateNetworkConfigurationForOrg:["PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addBlockedByDependency:["POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],addSubIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],checkUserCanBeAssignedToIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],getParent:["GET /repos/{owner}/{repo}/issues/{issue_number}/parent"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listDependenciesBlockedBy:["GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"],listDependenciesBlocking:["GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],listSubIssues:["GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeDependencyBlockedBy:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],removeSubIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue"],reprioritizeSubIssue:["PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getAllVersions:["GET /versions"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive"],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}"],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}"],listForAuthenticatedUser:["GET /user/migrations"],listForOrg:["GET /orgs/{org}/migrations"],listReposForAuthenticatedUser:["GET /user/migrations/{migration_id}/repositories"],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories"],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{},{renamed:["migrations","listReposForAuthenticatedUser"]}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]},oidc:{getOidcCustomSubTemplateForOrg:["GET /orgs/{org}/actions/oidc/customization/sub"],updateOidcCustomSubTemplateForOrg:["PUT /orgs/{org}/actions/oidc/customization/sub"]},orgs:{addSecurityManagerTeam:["PUT /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team"}],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createArtifactStorageRecord:["POST /orgs/{org}/artifacts/metadata/storage-record"],createInvitation:["POST /orgs/{org}/invitations"],createIssueType:["POST /orgs/{org}/issue-types"],createWebhook:["POST /orgs/{org}/hooks"],customPropertiesForOrgsCreateOrUpdateOrganizationValues:["PATCH /organizations/{org}/org-properties/values"],customPropertiesForOrgsGetOrganizationValues:["GET /organizations/{org}/org-properties/values"],customPropertiesForReposCreateOrUpdateOrganizationDefinition:["PUT /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposCreateOrUpdateOrganizationDefinitions:["PATCH /orgs/{org}/properties/schema"],customPropertiesForReposCreateOrUpdateOrganizationValues:["PATCH /orgs/{org}/properties/values"],customPropertiesForReposDeleteOrganizationDefinition:["DELETE /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposGetOrganizationDefinition:["GET /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposGetOrganizationDefinitions:["GET /orgs/{org}/properties/schema"],customPropertiesForReposGetOrganizationValues:["GET /orgs/{org}/properties/values"],delete:["DELETE /orgs/{org}"],deleteAttestationsBulk:["POST /orgs/{org}/attestations/delete-request"],deleteAttestationsById:["DELETE /orgs/{org}/attestations/{attestation_id}"],deleteAttestationsBySubjectDigest:["DELETE /orgs/{org}/attestations/digest/{subject_digest}"],deleteIssueType:["DELETE /orgs/{org}/issue-types/{issue_type_id}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],disableSelectedRepositoryImmutableReleasesOrganization:["DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"],enableSelectedRepositoryImmutableReleasesOrganization:["PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"],get:["GET /orgs/{org}"],getImmutableReleasesSettings:["GET /orgs/{org}/settings/immutable-releases"],getImmutableReleasesSettingsRepositories:["GET /orgs/{org}/settings/immutable-releases/repositories"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getOrgRole:["GET /orgs/{org}/organization-roles/{role_id}"],getOrgRulesetHistory:["GET /orgs/{org}/rulesets/{ruleset_id}/history"],getOrgRulesetVersion:["GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listArtifactStorageRecords:["GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records"],listAttestationRepositories:["GET /orgs/{org}/attestations/repositories"],listAttestations:["GET /orgs/{org}/attestations/{subject_digest}"],listAttestationsBulk:["POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}"],listBlockedUsers:["GET /orgs/{org}/blocks"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listIssueTypes:["GET /orgs/{org}/issue-types"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOrgRoleTeams:["GET /orgs/{org}/organization-roles/{role_id}/teams"],listOrgRoleUsers:["GET /orgs/{org}/organization-roles/{role_id}/users"],listOrgRoles:["GET /orgs/{org}/organization-roles"],listOrganizationFineGrainedPermissions:["GET /orgs/{org}/organization-fine-grained-permissions"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPatGrantRepositories:["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"],listPatGrantRequestRepositories:["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"],listPatGrantRequests:["GET /orgs/{org}/personal-access-token-requests"],listPatGrants:["GET /orgs/{org}/personal-access-tokens"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers",{},{deprecated:"octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams"}],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],removeSecurityManagerTeam:["DELETE /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team"}],reviewPatGrantRequest:["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"],reviewPatGrantRequestsInBulk:["POST /orgs/{org}/personal-access-token-requests"],revokeAllOrgRolesTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"],revokeAllOrgRolesUser:["DELETE /orgs/{org}/organization-roles/users/{username}"],revokeOrgRoleTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],revokeOrgRoleUser:["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"],setImmutableReleasesSettings:["PUT /orgs/{org}/settings/immutable-releases"],setImmutableReleasesSettingsRepositories:["PUT /orgs/{org}/settings/immutable-releases/repositories"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateIssueType:["PUT /orgs/{org}/issue-types/{issue_type_id}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updatePatAccess:["POST /orgs/{org}/personal-access-tokens/{pat_id}"],updatePatAccesses:["POST /orgs/{org}/personal-access-tokens"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],listDockerMigrationConflictingPackagesForAuthenticatedUser:["GET /user/docker/conflicts"],listDockerMigrationConflictingPackagesForOrganization:["GET /orgs/{org}/docker/conflicts"],listDockerMigrationConflictingPackagesForUser:["GET /users/{username}/docker/conflicts"],listPackagesForAuthenticatedUser:["GET /user/packages"],listPackagesForOrganization:["GET /orgs/{org}/packages"],listPackagesForUser:["GET /users/{username}/packages"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForUser:["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForUser:["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},privateRegistries:{createOrgPrivateRegistry:["POST /orgs/{org}/private-registries"],deleteOrgPrivateRegistry:["DELETE /orgs/{org}/private-registries/{secret_name}"],getOrgPrivateRegistry:["GET /orgs/{org}/private-registries/{secret_name}"],getOrgPublicKey:["GET /orgs/{org}/private-registries/public-key"],listOrgPrivateRegistries:["GET /orgs/{org}/private-registries"],updateOrgPrivateRegistry:["PATCH /orgs/{org}/private-registries/{secret_name}"]},projects:{addItemForOrg:["POST /orgs/{org}/projectsV2/{project_number}/items"],addItemForUser:["POST /users/{username}/projectsV2/{project_number}/items"],deleteItemForOrg:["DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],deleteItemForUser:["DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}"],getFieldForOrg:["GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}"],getFieldForUser:["GET /users/{username}/projectsV2/{project_number}/fields/{field_id}"],getForOrg:["GET /orgs/{org}/projectsV2/{project_number}"],getForUser:["GET /users/{username}/projectsV2/{project_number}"],getOrgItem:["GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],getUserItem:["GET /users/{username}/projectsV2/{project_number}/items/{item_id}"],listFieldsForOrg:["GET /orgs/{org}/projectsV2/{project_number}/fields"],listFieldsForUser:["GET /users/{username}/projectsV2/{project_number}/fields"],listForOrg:["GET /orgs/{org}/projectsV2"],listForUser:["GET /users/{username}/projectsV2"],listItemsForOrg:["GET /orgs/{org}/projectsV2/{project_number}/items"],listItemsForUser:["GET /users/{username}/projectsV2/{project_number}/items"],updateItemForOrg:["PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],updateItemForUser:["PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}"]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],createForRelease:["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"],deleteForRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],listForRelease:["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}",{},{renamed:["repos","acceptInvitationForAuthenticatedUser"]}],acceptInvitationForAuthenticatedUser:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],cancelPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"],checkAutomatedSecurityFixes:["GET /repos/{owner}/{repo}/automated-security-fixes"],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkImmutableReleases:["GET /repos/{owner}/{repo}/immutable-releases"],checkPrivateVulnerabilityReporting:["GET /repos/{owner}/{repo}/private-vulnerability-reporting"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts"],codeownersErrors:["GET /repos/{owner}/{repo}/codeowners/errors"],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],compareCommitsWithBasehead:["GET /repos/{owner}/{repo}/compare/{basehead}"],createAttestation:["POST /repos/{owner}/{repo}/attestations"],createAutolink:["POST /repos/{owner}/{repo}/autolinks"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentBranchPolicy:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],createDeploymentProtectionRule:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createOrgRuleset:["POST /orgs/{org}/rulesets"],createPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments"],createPagesSite:["POST /repos/{owner}/{repo}/pages"],createRelease:["POST /repos/{owner}/{repo}/releases"],createRepoRuleset:["POST /repos/{owner}/{repo}/rulesets"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate"],createWebhook:["POST /repos/{owner}/{repo}/hooks"],customPropertiesForReposCreateOrUpdateRepositoryValues:["PATCH /repos/{owner}/{repo}/properties/values"],customPropertiesForReposGetRepositoryValues:["GET /repos/{owner}/{repo}/properties/values"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}",{},{renamed:["repos","declineInvitationForAuthenticatedUser"]}],declineInvitationForAuthenticatedUser:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteAutolink:["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteDeploymentBranchPolicy:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deleteOrgRuleset:["DELETE /orgs/{org}/rulesets/{ruleset_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages"],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteRepoRuleset:["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disableImmutableReleases:["DELETE /repos/{owner}/{repo}/immutable-releases"],disablePrivateVulnerabilityReporting:["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes"],enableImmutableReleases:["PUT /repos/{owner}/{repo}/immutable-releases"],enablePrivateVulnerabilityReporting:["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts"],generateReleaseNotes:["POST /repos/{owner}/{repo}/releases/generate-notes"],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllDeploymentProtectionRules:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics"],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getAutolink:["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getBranchRules:["GET /repos/{owner}/{repo}/rules/branches/{branch}"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getCustomDeploymentProtectionRule:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentBranchPolicy:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getOrgRuleSuite:["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],getOrgRuleSuites:["GET /orgs/{org}/rulesets/rule-suites"],getOrgRuleset:["GET /orgs/{org}/rulesets/{ruleset_id}"],getOrgRulesets:["GET /orgs/{org}/rulesets"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getPagesDeployment:["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"],getPagesHealthCheck:["GET /repos/{owner}/{repo}/pages/health"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getRepoRuleSuite:["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"],getRepoRuleSuites:["GET /repos/{owner}/{repo}/rulesets/rule-suites"],getRepoRuleset:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],getRepoRulesetHistory:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history"],getRepoRulesetVersion:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}"],getRepoRulesets:["GET /repos/{owner}/{repo}/rulesets"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"],listActivities:["GET /repos/{owner}/{repo}/activity"],listAttestations:["GET /repos/{owner}/{repo}/attestations/{subject_digest}"],listAutolinks:["GET /repos/{owner}/{repo}/autolinks"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listCustomDeploymentRuleIntegrations:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentBranchPolicies:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhookDeliveries:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],mergeUpstream:["POST /repos/{owner}/{repo}/merge-upstream"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics"],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateDeploymentBranchPolicy:["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updateOrgRuleset:["PUT /orgs/{org}/rulesets/{ruleset_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateRepoRuleset:["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits"],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics"],users:["GET /search/users"]},secretScanning:{createPushProtectionBypass:["POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"],getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],getScanHistory:["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],listAlertsForOrg:["GET /orgs/{org}/secret-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],listLocationsForAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"],listOrgPatternConfigs:["GET /orgs/{org}/secret-scanning/pattern-configurations"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],updateOrgPatternConfigs:["PATCH /orgs/{org}/secret-scanning/pattern-configurations"]},securityAdvisories:{createFork:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"],createPrivateVulnerabilityReport:["POST /repos/{owner}/{repo}/security-advisories/reports"],createRepositoryAdvisory:["POST /repos/{owner}/{repo}/security-advisories"],createRepositoryAdvisoryCveRequest:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"],getGlobalAdvisory:["GET /advisories/{ghsa_id}"],getRepositoryAdvisory:["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"],listOrgRepositoryAdvisories:["GET /orgs/{org}/security-advisories"],listRepositoryAdvisories:["GET /repos/{owner}/{repo}/security-advisories"],updateRepositoryAdvisory:["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys",{},{renamed:["users","createGpgKeyForAuthenticatedUser"]}],createGpgKeyForAuthenticatedUser:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys",{},{renamed:["users","createPublicSshKeyForAuthenticatedUser"]}],createPublicSshKeyForAuthenticatedUser:["POST /user/keys"],createSshSigningKeyForAuthenticatedUser:["POST /user/ssh_signing_keys"],deleteAttestationsBulk:["POST /users/{username}/attestations/delete-request"],deleteAttestationsById:["DELETE /users/{username}/attestations/{attestation_id}"],deleteAttestationsBySubjectDigest:["DELETE /users/{username}/attestations/digest/{subject_digest}"],deleteEmailForAuthenticated:["DELETE /user/emails",{},{renamed:["users","deleteEmailForAuthenticatedUser"]}],deleteEmailForAuthenticatedUser:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","deleteGpgKeyForAuthenticatedUser"]}],deleteGpgKeyForAuthenticatedUser:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}",{},{renamed:["users","deletePublicSshKeyForAuthenticatedUser"]}],deletePublicSshKeyForAuthenticatedUser:["DELETE /user/keys/{key_id}"],deleteSocialAccountForAuthenticatedUser:["DELETE /user/social_accounts"],deleteSshSigningKeyForAuthenticatedUser:["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getById:["GET /user/{account_id}"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","getGpgKeyForAuthenticatedUser"]}],getGpgKeyForAuthenticatedUser:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}",{},{renamed:["users","getPublicSshKeyForAuthenticatedUser"]}],getPublicSshKeyForAuthenticatedUser:["GET /user/keys/{key_id}"],getSshSigningKeyForAuthenticatedUser:["GET /user/ssh_signing_keys/{ssh_signing_key_id}"],list:["GET /users"],listAttestations:["GET /users/{username}/attestations/{subject_digest}"],listAttestationsBulk:["POST /users/{username}/attestations/bulk-list{?per_page,before,after}"],listBlockedByAuthenticated:["GET /user/blocks",{},{renamed:["users","listBlockedByAuthenticatedUser"]}],listBlockedByAuthenticatedUser:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails",{},{renamed:["users","listEmailsForAuthenticatedUser"]}],listEmailsForAuthenticatedUser:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following",{},{renamed:["users","listFollowedByAuthenticatedUser"]}],listFollowedByAuthenticatedUser:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys",{},{renamed:["users","listGpgKeysForAuthenticatedUser"]}],listGpgKeysForAuthenticatedUser:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails",{},{renamed:["users","listPublicEmailsForAuthenticatedUser"]}],listPublicEmailsForAuthenticatedUser:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys",{},{renamed:["users","listPublicSshKeysForAuthenticatedUser"]}],listPublicSshKeysForAuthenticatedUser:["GET /user/keys"],listSocialAccountsForAuthenticatedUser:["GET /user/social_accounts"],listSocialAccountsForUser:["GET /users/{username}/social_accounts"],listSshSigningKeysForAuthenticatedUser:["GET /user/ssh_signing_keys"],listSshSigningKeysForUser:["GET /users/{username}/ssh_signing_keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility",{},{renamed:["users","setPrimaryEmailVisibilityForAuthenticatedUser"]}],setPrimaryEmailVisibilityForAuthenticatedUser:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}},NUe=Zzt});function r7(t){let e={};for(let r of my.keys())e[r]=new Proxy({octokit:t,scope:r,cache:{}},e2t);return e}function t2t(t,e,r,n,s){let i=t.request.defaults(n);function o(...a){let c=i.endpoint.merge(...a);if(s.mapToData)return c=Object.assign({},c,{data:c[s.mapToData],[s.mapToData]:void 0}),i(c);if(s.renamed){let[l,u]=s.renamed;t.log.warn(`octokit.${e}.${r}() has been renamed to octokit.${l}.${u}()`)}if(s.deprecated&&t.log.warn(s.deprecated),s.renamedParameters){let l=i.endpoint.merge(...a);for(let[u,d]of Object.entries(s.renamedParameters))u in l&&(t.log.warn(`"${u}" parameter is deprecated for "octokit.${e}.${r}()". Use "${d}" instead`),d in l||(l[d]=l[u]),delete l[u]);return i(l)}return i(...a)}return Object.assign(o,i)}var my,e2t,BUe=C(()=>{TUe();my=new Map;for(let[t,e]of Object.entries(NUe))for(let[r,n]of Object.entries(e)){let[s,i,o]=n,[a,c]=s.split(/ /),l=Object.assign({method:a,url:c},i);my.has(t)||my.set(t,new Map),my.get(t).set(r,{scope:t,methodName:r,endpointDefaults:l,decorations:o})}e2t={has({scope:t},e){return my.get(t).has(e)},getOwnPropertyDescriptor(t,e){return{value:this.get(t,e),configurable:!0,writable:!0,enumerable:!0}},defineProperty(t,e,r){return Object.defineProperty(t.cache,e,r),!0},deleteProperty(t,e){return delete t.cache[e],!0},ownKeys({scope:t}){return[...my.get(t).keys()]},set(t,e,r){return t.cache[e]=r},get({octokit:t,scope:e,cache:r},n){if(r[n])return r[n];let s=my.get(e).get(n);if(!s)return;let{endpointDefaults:i,decorations:o}=s;return o?r[n]=t2t(t,e,n,i,o):r[n]=t.request.defaults(i),r[n]}}});function n7(t){return{rest:r7(t)}}function r2t(t){let e=r7(t);return{...e,rest:e}}var PUe=C(()=>{vUe();BUe();n7.VERSION=t7;r2t.VERSION=t7});function s2t(t){if(!t.data)return{...t,data:[]};if(!(("total_count"in t.data||"total_commits"in t.data)&&!("url"in t.data)))return t;let r=t.data.incomplete_results,n=t.data.repository_selection,s=t.data.total_count,i=t.data.total_commits;delete t.data.incomplete_results,delete t.data.repository_selection,delete t.data.total_count,delete t.data.total_commits;let o=Object.keys(t.data)[0],a=t.data[o];return t.data=a,typeof r<"u"&&(t.data.incomplete_results=r),typeof n<"u"&&(t.data.repository_selection=n),t.data.total_count=s,t.data.total_commits=i,t}function s7(t,e,r){let n=typeof e=="function"?e.endpoint(r):t.request.endpoint(e,r),s=typeof e=="function"?e:t.request,i=n.method,o=n.headers,a=n.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!a)return{done:!0};try{let c=await s({method:i,url:a,headers:o}),l=s2t(c);if(a=((l.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1],!a&&"total_commits"in l.data){let u=new URL(l.url),d=u.searchParams,p=parseInt(d.get("page")||"1",10),m=parseInt(d.get("per_page")||"250",10);p*m<l.data.total_commits&&(d.set("page",String(p+1)),a=u.toString())}return{value:l}}catch(c){if(c.status!==409)throw c;return a="",{value:{status:200,headers:{},data:[]}}}}})}}function kUe(t,e,r,n){return typeof r=="function"&&(n=r,r=void 0),_Ue(t,[],s7(t,e,r)[Symbol.asyncIterator](),n)}function _Ue(t,e,r,n){return r.next().then(s=>{if(s.done)return e;let i=!1;function o(){i=!0}return e=e.concat(n?n(s.value,o):s.value.data),i?e:_Ue(t,e,r,n)})}function i7(t){return{paginate:Object.assign(kUe.bind(null,t),{iterator:s7.bind(null,t)})}}var n2t,Z_r,DUe=C(()=>{n2t="0.0.0-development";Z_r=Object.assign(kUe,{iterator:s7});i7.VERSION=n2t});function MUe(t,e){let r=Object.assign({},e||{}),n=P1e(t,r);n&&(r.auth=n);let s=UZ(r.userAgent);return s&&(r.userAgent=s),r}var sDr,o7,fy,QUe,oN=C(()=>{QZ();$Z();RUe();PUe();DUe();$Z();sDr=new Qx,o7=D1e(),fy={baseUrl:o7,request:{agent:k1e(o7),fetch:_1e(o7)}},QUe=xF.plugin(n7,i7).defaults(fy)});function id(t,e,...r){let n=QUe.plugin(...r);return new n(MUe(t,e))}var Lx,Fx=C(()=>{QZ();oN();Lx=new Qx});var $Ue=B((cDr,UUe)=>{UUe.exports=Oi;function Oi(t){if(!(this instanceof Oi))return new Oi(t);this.value=t}Oi.prototype.get=function(t){for(var e=this.value,r=0;r<t.length;r++){var n=t[r];if(!Object.hasOwnProperty.call(e,n)){e=void 0;break}e=e[n]}return e};Oi.prototype.set=function(t,e){for(var r=this.value,n=0;n<t.length-1;n++){var s=t[n];Object.hasOwnProperty.call(r,s)||(r[s]={}),r=r[s]}return r[t[n]]=e,e};Oi.prototype.map=function(t){return LUe(this.value,t,!0)};Oi.prototype.forEach=function(t){return this.value=LUe(this.value,t,!1),this.value};Oi.prototype.reduce=function(t,e){var r=arguments.length===1,n=r?this.value:e;return this.forEach(function(s){(!this.isRoot||!r)&&(n=t.call(this,n,s))}),n};Oi.prototype.deepEqual=function(t){if(arguments.length!==1)throw new Error("deepEqual requires exactly one object to compare against");var e=!0,r=t;return this.forEach(function(n){var s=(function(){e=!1}).bind(this);if(!this.isRoot){if(typeof r!="object")return s();r=r[this.key]}var i=r;this.post(function(){r=i});var o=function(d){return Object.prototype.toString.call(d)};if(this.circular)Oi(t).get(this.circular.path)!==i&&s();else if(typeof i!=typeof n)s();else if(i===null||n===null||i===void 0||n===void 0)i!==n&&s();else if(i.__proto__!==n.__proto__)s();else if(i!==n){if(typeof i=="function")i instanceof RegExp?i.toString()!=n.toString()&&s():i!==n&&s();else if(typeof i=="object")if(o(n)==="[object Arguments]"||o(i)==="[object Arguments]")o(i)!==o(n)&&s();else if(i instanceof Date||n instanceof Date)(!(i instanceof Date)||!(n instanceof Date)||i.getTime()!==n.getTime())&&s();else{var a=Object.keys(i),c=Object.keys(n);if(a.length!==c.length)return s();for(var l=0;l<a.length;l++){var u=a[l];Object.hasOwnProperty.call(n,u)||s()}}}}),e};Oi.prototype.paths=function(){var t=[];return this.forEach(function(e){t.push(this.path)}),t};Oi.prototype.nodes=function(){var t=[];return this.forEach(function(e){t.push(this.node)}),t};Oi.prototype.clone=function(){var t=[],e=[];return(function r(n){for(var s=0;s<t.length;s++)if(t[s]===n)return e[s];if(typeof n=="object"&&n!==null){var i=FUe(n);return t.push(n),e.push(i),Object.keys(n).forEach(function(o){i[o]=r(n[o])}),t.pop(),e.pop(),i}else return n})(this.value)};function LUe(t,e,r){var n=[],s=[],i=!0;return(function o(a){var c=r?FUe(a):a,l={},u={node:c,node_:a,path:[].concat(n),parent:s.slice(-1)[0],key:n.slice(-1)[0],isRoot:n.length===0,level:n.length,circular:null,update:function(h){u.isRoot||(u.parent.node[u.key]=h),u.node=h},delete:function(){delete u.parent.node[u.key]},remove:function(){Array.isArray(u.parent.node)?u.parent.node.splice(u.key,1):delete u.parent.node[u.key]},before:function(h){l.before=h},after:function(h){l.after=h},pre:function(h){l.pre=h},post:function(h){l.post=h},stop:function(){i=!1}};if(!i)return u;if(typeof c=="object"&&c!==null){u.isLeaf=Object.keys(c).length==0;for(var d=0;d<s.length;d++)if(s[d].node_===a){u.circular=s[d];break}}else u.isLeaf=!0;u.notLeaf=!u.isLeaf,u.notRoot=!u.isRoot;var p=e.call(u,u.node);if(p!==void 0&&u.update&&u.update(p),l.before&&l.before.call(u,u.node),typeof u.node=="object"&&u.node!==null&&!u.circular){s.push(u);var m=Object.keys(u.node);m.forEach(function(h,f){n.push(h),l.pre&&l.pre.call(u,u.node[h],h);var A=o(u.node[h]);r&&Object.hasOwnProperty.call(u.node,h)&&(u.node[h]=A.node),A.isLast=f==m.length-1,A.isFirst=f==0,l.post&&l.post.call(u,A),n.pop()}),s.pop()}return l.after&&l.after.call(u,u.node),u})(t).node}Object.keys(Oi.prototype).forEach(function(t){Oi[t]=function(e){var r=[].slice.call(arguments,1),n=Oi(e);return n[t].apply(n,r)}});function FUe(t){if(typeof t=="object"&&t!==null){var e;return Array.isArray(t)?e=[]:t instanceof Date?e=new Date(t):t instanceof Boolean?e=new Boolean(t):t instanceof Number?e=new Number(t):t instanceof String?e=new String(t):e=Object.create(Object.getPrototypeOf(t)),Object.keys(t).forEach(function(r){e[r]=t[r]}),e}else return t}});var HUe=B((lDr,qUe)=>{var i2t=$Ue(),o2t=require("events").EventEmitter;qUe.exports=Ux;function Ux(t){var e=Ux.saw(t,{}),r=t.call(e.handlers,e);return r!==void 0&&(e.handlers=r),e.record(),e.chain()}Ux.light=function(e){var r=Ux.saw(e,{}),n=e.call(r.handlers,r);return n!==void 0&&(r.handlers=n),r.chain()};Ux.saw=function(t,e){var r=new o2t;return r.handlers=e,r.actions=[],r.chain=function(){var n=i2t(r.handlers).map(function(s){if(this.isRoot)return s;var i=this.path;typeof s=="function"&&this.update(function(){return r.actions.push({path:i,args:[].slice.call(arguments)}),n})});return process.nextTick(function(){r.emit("begin"),r.next()}),n},r.pop=function(){return r.actions.shift()},r.next=function(){var n=r.pop();if(!n)r.emit("end");else if(!n.trap){var s=r.handlers;n.path.forEach(function(i){s=s[i]}),s.apply(r.handlers,n.args)}},r.nest=function(n){var s=[].slice.call(arguments,1),i=!0;if(typeof n=="boolean"){var i=n;n=s.shift()}var o=Ux.saw(t,{}),a=t.call(o.handlers,o);a!==void 0&&(o.handlers=a),typeof r.step<"u"&&o.record(),n.apply(o.chain(),s),i!==!1&&o.on("end",r.next)},r.record=function(){a2t(r)},["trap","down","jump"].forEach(function(n){r[n]=function(){throw new Error("To use the trap, down and jump features, please call record() first to start recording actions.")}}),r};function a2t(t){t.step=0,t.pop=function(){return t.actions[t.step++]},t.trap=function(e,r){var n=Array.isArray(e)?e:[e];t.actions.push({path:n,step:t.step,cb:r,trap:!0})},t.down=function(e){var r=(Array.isArray(e)?e:[e]).join("/"),n=t.actions.slice(t.step).map(function(i){return i.trap&&i.step<=t.step?!1:i.path.join("/")==r}).indexOf(!0);n>=0?t.step+=n:t.step=t.actions.length;var s=t.actions[t.step-1];s&&s.trap?(t.step=s.step,s.cb()):t.next()},t.jump=function(e){t.step=e,t.next()}}});var GUe=B((uDr,zUe)=>{zUe.exports=fo;function fo(t){if(!(this instanceof fo))return new fo(t);this.buffers=t||[],this.length=this.buffers.reduce(function(e,r){return e+r.length},0)}fo.prototype.push=function(){for(var t=0;t<arguments.length;t++)if(!Buffer.isBuffer(arguments[t]))throw new TypeError("Tried to push a non-buffer");for(var t=0;t<arguments.length;t++){var e=arguments[t];this.buffers.push(e),this.length+=e.length}return this.length};fo.prototype.unshift=function(){for(var t=0;t<arguments.length;t++)if(!Buffer.isBuffer(arguments[t]))throw new TypeError("Tried to unshift a non-buffer");for(var t=0;t<arguments.length;t++){var e=arguments[t];this.buffers.unshift(e),this.length+=e.length}return this.length};fo.prototype.copy=function(t,e,r,n){return this.slice(r,n).copy(t,e,0,n-r)};fo.prototype.splice=function(t,e){var r=this.buffers,n=t>=0?t:this.length-t,s=[].slice.call(arguments,2);e===void 0?e=this.length-n:e>this.length-n&&(e=this.length-n);for(var t=0;t<s.length;t++)this.length+=s[t].length;for(var i=new fo,o=0,a=0,c=0;c<r.length&&a+r[c].length<n;c++)a+=r[c].length;if(n-a>0){var l=n-a;if(l+e<r[c].length){i.push(r[c].slice(l,l+e));for(var u=r[c],d=new Buffer(l),t=0;t<l;t++)d[t]=u[t];for(var p=new Buffer(u.length-l-e),t=l+e;t<u.length;t++)p[t-e-l]=u[t];if(s.length>0){var m=s.slice();m.unshift(d),m.push(p),r.splice.apply(r,[c,1].concat(m)),c+=m.length,s=[]}else r.splice(c,1,d,p),c+=2}else i.push(r[c].slice(l)),r[c]=r[c].slice(0,l),c++}for(s.length>0&&(r.splice.apply(r,[c,0].concat(s)),c+=s.length);i.length<e;){var h=r[c],f=h.length,A=Math.min(f,e-i.length);A===f?(i.push(h),r.splice(c,1)):(i.push(h.slice(0,A)),r[c]=r[c].slice(A))}return this.length-=i.length,i};fo.prototype.slice=function(t,e){var r=this.buffers;e===void 0&&(e=this.length),t===void 0&&(t=0),e>this.length&&(e=this.length);for(var n=0,s=0;s<r.length&&n+r[s].length<=t;s++)n+=r[s].length;for(var i=new Buffer(e-t),o=0,a=s;o<e-t&&a<r.length;a++){var c=r[a].length,l=o===0?t-n:0,u=o+c>=e-t?Math.min(l+(e-t)-o,c):c;r[a].copy(i,o,l,u),o+=u-l}return i};fo.prototype.pos=function(t){if(t<0||t>=this.length)throw new Error("oob");for(var e=t,r=0,n=null;;){if(n=this.buffers[r],e<n.length)return{buf:r,offset:e};e-=n.length,r++}};fo.prototype.get=function(e){var r=this.pos(e);return this.buffers[r.buf].get(r.offset)};fo.prototype.set=function(e,r){var n=this.pos(e);return this.buffers[n.buf].set(n.offset,r)};fo.prototype.indexOf=function(t,e){if(typeof t=="string")t=new Buffer(t);else if(!(t instanceof Buffer))throw new Error("Invalid type for a search string");if(!t.length)return 0;if(!this.length)return-1;var r=0,n=0,s=0,i,o=0;if(e){var a=this.pos(e);r=a.buf,n=a.offset,o=e}for(;;){for(;n>=this.buffers[r].length;)if(n=0,r++,r>=this.buffers.length)return-1;var c=this.buffers[r][n];if(c==t[s]){if(s==0&&(i={i:r,j:n,pos:o}),s++,s==t.length)return i.pos}else s!=0&&(r=i.i,n=i.j,o=i.pos,s=0);n++,o++}};fo.prototype.toBuffer=function(){return this.slice()};fo.prototype.toString=function(t,e,r){return this.slice(e,r).toString(t)}});var VUe=B((dDr,jUe)=>{jUe.exports=function(t){function e(n,s){var i=r.store,o=n.split(".");o.slice(0,-1).forEach(function(c){i[c]===void 0&&(i[c]={}),i=i[c]});var a=o[o.length-1];return arguments.length==1?i[a]:i[a]=s}var r={get:function(n){return e(n)},set:function(n,s){return e(n,s)},store:t||{}};return r}});var ZUe=B((hy,XUe)=>{var c2t=HUe(),WUe=require("events").EventEmitter,l2t=GUe(),CF=VUe(),u2t=require("stream").Stream;hy=XUe.exports=function(t,e){if(Buffer.isBuffer(t))return hy.parse(t);var r=hy.stream();return t&&t.pipe?t.pipe(r):t&&(t.on(e||"data",function(n){r.write(n)}),t.on("end",function(){r.end()})),r};hy.stream=function(t){if(t)return hy.apply(null,arguments);var e=null;function r(d,p,m){e={bytes:d,skip:m,cb:function(h){e=null,p(h)}},s()}var n=null;function s(){if(!e){u&&(l=!0);return}if(typeof e=="function")e();else{var d=n+e.bytes;if(a.length>=d){var p;n==null?(p=a.splice(0,d),e.skip||(p=p.slice())):(e.skip||(p=a.slice(n,d)),n=d),e.skip?e.cb():e.cb(p)}}}function i(d){function p(){l||d.next()}var m=KUe(function(h,f){return function(A){r(h,function(b){c.set(A,f(b)),p()})}});return m.tap=function(h){d.nest(h,c.store)},m.into=function(h,f){c.get(h)||c.set(h,{});var A=c;c=CF(A.get(h)),d.nest(function(){f.apply(this,arguments),this.tap(function(){c=A})},c.store)},m.flush=function(){c.store={},p()},m.loop=function(h){var f=!1;d.nest(!1,function A(){this.vars=c.store,h.call(this,function(){f=!0,p()},c.store),this.tap(function(){f?d.next():A.call(this)}.bind(this))},c.store)},m.buffer=function(h,f){typeof f=="string"&&(f=c.get(f)),r(f,function(A){c.set(h,A),p()})},m.skip=function(h){typeof h=="string"&&(h=c.get(h)),r(h,function(){p()})},m.scan=function(f,A){if(typeof A=="string")A=new Buffer(A);else if(!Buffer.isBuffer(A))throw new Error("search must be a Buffer or a string");var b=0;e=function(){var y=a.indexOf(A,n+b),x=y-n-b;y!==-1?(e=null,n!=null?(c.set(f,a.slice(n,n+b+x)),n+=b+x+A.length):(c.set(f,a.slice(0,b+x)),a.splice(0,b+x+A.length)),p(),s()):x=Math.max(a.length-A.length-n-b,0),b+=x},s()},m.peek=function(h){n=0,d.nest(function(){h.call(this,c.store),this.tap(function(){n=null})})},m}var o=c2t.light(i);o.writable=!0;var a=l2t();o.write=function(d){a.push(d),s()};var c=CF(),l=!1,u=!1;return o.end=function(){u=!0},o.pipe=u2t.prototype.pipe,Object.getOwnPropertyNames(WUe.prototype).forEach(function(d){o[d]=WUe.prototype[d]}),o};hy.parse=function(e){var r=KUe(function(i,o){return function(a){if(n+i<=e.length){var c=e.slice(n,n+i);n+=i,s.set(a,o(c))}else s.set(a,null);return r}}),n=0,s=CF();return r.vars=s.store,r.tap=function(i){return i.call(r,s.store),r},r.into=function(i,o){s.get(i)||s.set(i,{});var a=s;return s=CF(a.get(i)),o.call(r,s.store),s=a,r},r.loop=function(i){for(var o=!1,a=function(){o=!0};o===!1;)i.call(r,a,s.store);return r},r.buffer=function(i,o){typeof o=="string"&&(o=s.get(o));var a=e.slice(n,Math.min(e.length,n+o));return n+=o,s.set(i,a),r},r.skip=function(i){return typeof i=="string"&&(i=s.get(i)),n+=i,r},r.scan=function(i,o){if(typeof o=="string")o=new Buffer(o);else if(!Buffer.isBuffer(o))throw new Error("search must be a Buffer or a string");s.set(i,null);for(var a=0;a+n<=e.length-o.length+1;a++){for(var c=0;c<o.length&&e[n+a+c]===o[c];c++);if(c===o.length)break}return s.set(i,e.slice(n,n+a)),n+=a+o.length,r},r.peek=function(i){var o=n;return i.call(r,s.store),n=o,r},r.flush=function(){return s.store={},r},r.eof=function(){return n>=e.length},r};function YUe(t){for(var e=0,r=0;r<t.length;r++)e+=Math.pow(256,r)*t[r];return e}function JUe(t){for(var e=0,r=0;r<t.length;r++)e+=Math.pow(256,t.length-r-1)*t[r];return e}function d2t(t){var e=JUe(t);return(t[0]&128)==128&&(e-=Math.pow(256,t.length)),e}function p2t(t){var e=YUe(t);return(t[t.length-1]&128)==128&&(e-=Math.pow(256,t.length)),e}function KUe(t){var e={};return[1,2,4,8].forEach(function(r){var n=r*8;e["word"+n+"le"]=e["word"+n+"lu"]=t(r,YUe),e["word"+n+"ls"]=t(r,p2t),e["word"+n+"be"]=e["word"+n+"bu"]=t(r,JUe),e["word"+n+"bs"]=t(r,d2t)}),e.word8=e.word8u=e.word8be,e.word8s=e.word8bs,e}});var r$e=B((pDr,t$e)=>{var e$e=require("stream").Transform,m2t=require("util");function gy(t,e){if(!(this instanceof gy))return new gy;e$e.call(this);var r=typeof t=="object"?t.pattern:t;this.pattern=Buffer.isBuffer(r)?r:Buffer.from(r),this.requiredLength=this.pattern.length,t.requiredExtraSize&&(this.requiredLength+=t.requiredExtraSize),this.data=new Buffer(""),this.bytesSoFar=0,this.matchFn=e}m2t.inherits(gy,e$e);gy.prototype.checkDataChunk=function(t){var e=this.data.length>=this.requiredLength;if(e){var r=this.data.indexOf(this.pattern,t?1:0);if(r>=0&&r+this.requiredLength>this.data.length){if(r>0){var n=this.data.slice(0,r);this.push(n),this.bytesSoFar+=r,this.data=this.data.slice(r)}return}if(r===-1){var s=this.data.length-this.requiredLength+1,n=this.data.slice(0,s);this.push(n),this.bytesSoFar+=s,this.data=this.data.slice(s);return}if(r>0){var n=this.data.slice(0,r);this.data=this.data.slice(r),this.push(n),this.bytesSoFar+=r}var i=this.matchFn?this.matchFn(this.data,this.bytesSoFar):!0;if(i){this.data=new Buffer("");return}return!0}};gy.prototype._transform=function(t,e,r){this.data=Buffer.concat([this.data,t]);for(var n=!0;this.checkDataChunk(!n);)n=!1;r()};gy.prototype._flush=function(t){if(this.data.length>0)for(var e=!0;this.checkDataChunk(!e);)e=!1;this.data.length>0&&(this.push(this.data),this.data=null),t()};t$e.exports=gy});var s$e=B((mDr,n$e)=>{"use strict";var a7=require("stream"),f2t=require("util").inherits;function aN(){if(!(this instanceof aN))return new aN;a7.PassThrough.call(this),this.path=null,this.type=null,this.isDirectory=!1}f2t(aN,a7.PassThrough);aN.prototype.autodrain=function(){return this.pipe(new a7.Transform({transform:function(t,e,r){r()}}))};n$e.exports=aN});var l7=B((fDr,o$e)=>{"use strict";var ph=ZUe(),c7=require("stream"),h2t=require("util"),g2t=require("zlib"),A2t=r$e(),i$e=s$e(),ft={STREAM_START:0,START:1,LOCAL_FILE_HEADER:2,LOCAL_FILE_HEADER_SUFFIX:3,FILE_DATA:4,FILE_DATA_END:5,DATA_DESCRIPTOR:6,CENTRAL_DIRECTORY_FILE_HEADER:7,CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX:8,CDIR64_END:9,CDIR64_END_DATA_SECTOR:10,CDIR64_LOCATOR:11,CENTRAL_DIRECTORY_END:12,CENTRAL_DIRECTORY_END_COMMENT:13,TRAILING_JUNK:14,ERROR:99},cN=4294967296,y2t=67324752,E2t=134695760,b2t=33639248,w2t=101075792,x2t=117853008,C2t=101010256;function Ai(t){if(!(this instanceof Ai))return new Ai(t);c7.Transform.call(this),this.options=t||{},this.data=new Buffer(""),this.state=ft.STREAM_START,this.skippedBytes=0,this.parsedEntity=null,this.outStreamInfo={}}h2t.inherits(Ai,c7.Transform);Ai.prototype.processDataChunk=function(t){var e;switch(this.state){case ft.STREAM_START:case ft.START:e=4;break;case ft.LOCAL_FILE_HEADER:e=26;break;case ft.LOCAL_FILE_HEADER_SUFFIX:e=this.parsedEntity.fileNameLength+this.parsedEntity.extraFieldLength;break;case ft.DATA_DESCRIPTOR:e=12;break;case ft.CENTRAL_DIRECTORY_FILE_HEADER:e=42;break;case ft.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX:e=this.parsedEntity.fileNameLength+this.parsedEntity.extraFieldLength+this.parsedEntity.fileCommentLength;break;case ft.CDIR64_END:e=52;break;case ft.CDIR64_END_DATA_SECTOR:e=this.parsedEntity.centralDirectoryRecordSize-44;break;case ft.CDIR64_LOCATOR:e=16;break;case ft.CENTRAL_DIRECTORY_END:e=18;break;case ft.CENTRAL_DIRECTORY_END_COMMENT:e=this.parsedEntity.commentLength;break;case ft.FILE_DATA:return 0;case ft.FILE_DATA_END:return 0;case ft.TRAILING_JUNK:return this.options.debug&&console.log("found",t.length,"bytes of TRAILING_JUNK"),t.length;default:return t.length}var r=t.length;if(r<e)return 0;switch(this.state){case ft.STREAM_START:case ft.START:var n=t.readUInt32LE(0);switch(n){case y2t:this.state=ft.LOCAL_FILE_HEADER;break;case b2t:this.state=ft.CENTRAL_DIRECTORY_FILE_HEADER;break;case w2t:this.state=ft.CDIR64_END;break;case x2t:this.state=ft.CDIR64_LOCATOR;break;case C2t:this.state=ft.CENTRAL_DIRECTORY_END;break;default:var s=this.state===ft.STREAM_START;if(!s&&(n&65535)!==19280&&this.skippedBytes<26){for(var i=n,o=4,a=1;a<4&&i!==0;a++)if(i=i>>>8,(i&255)===80){o=a;break}return this.skippedBytes+=o,this.options.debug&&console.log("Skipped",this.skippedBytes,"bytes"),o}this.state=ft.ERROR;var c=s?"Not a valid zip file":"Invalid signature in zip file";if(this.options.debug){var l=t.readUInt32LE(0),u;try{u=t.slice(0,4).toString()}catch{}console.log("Unexpected signature in zip file: 0x"+l.toString(16),'"'+u+'", skipped',this.skippedBytes,"bytes")}return this.emit("error",new Error(c)),t.length}return this.skippedBytes=0,e;case ft.LOCAL_FILE_HEADER:return this.parsedEntity=this._readFile(t),this.state=ft.LOCAL_FILE_HEADER_SUFFIX,e;case ft.LOCAL_FILE_HEADER_SUFFIX:var d=new i$e,p=(this.parsedEntity.flags&2048)!==0;d.path=this._decodeString(t.slice(0,this.parsedEntity.fileNameLength),p);var h=t.slice(this.parsedEntity.fileNameLength,this.parsedEntity.fileNameLength+this.parsedEntity.extraFieldLength),f=this._readExtraFields(h);if(f&&f.parsed&&(f.parsed.path&&!p&&(d.path=f.parsed.path),Number.isFinite(f.parsed.uncompressedSize)&&this.parsedEntity.uncompressedSize===cN-1&&(this.parsedEntity.uncompressedSize=f.parsed.uncompressedSize),Number.isFinite(f.parsed.compressedSize)&&this.parsedEntity.compressedSize===cN-1&&(this.parsedEntity.compressedSize=f.parsed.compressedSize)),this.parsedEntity.extra=f.parsed||{},this.options.debug){let I=Object.assign({},this.parsedEntity,{path:d.path,flags:"0x"+this.parsedEntity.flags.toString(16),extraFields:f&&f.debug});console.log("decoded LOCAL_FILE_HEADER:",JSON.stringify(I,null,2))}return this._prepareOutStream(this.parsedEntity,d),this.emit("entry",d),this.state=ft.FILE_DATA,e;case ft.CENTRAL_DIRECTORY_FILE_HEADER:return this.parsedEntity=this._readCentralDirectoryEntry(t),this.state=ft.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX,e;case ft.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX:var p=(this.parsedEntity.flags&2048)!==0,m=this._decodeString(t.slice(0,this.parsedEntity.fileNameLength),p),h=t.slice(this.parsedEntity.fileNameLength,this.parsedEntity.fileNameLength+this.parsedEntity.extraFieldLength),f=this._readExtraFields(h);f&&f.parsed&&f.parsed.path&&!p&&(m=f.parsed.path),this.parsedEntity.extra=f.parsed;var A=(this.parsedEntity.versionMadeBy&65280)>>8===3,b,y;if(A){b=this.parsedEntity.externalFileAttributes>>>16;var x=b>>>12;y=(x&10)===10}if(this.options.debug){let I=Object.assign({},this.parsedEntity,{path:m,flags:"0x"+this.parsedEntity.flags.toString(16),unixAttrs:b&&"0"+b.toString(8),isSymlink:y,extraFields:f.debug});console.log("decoded CENTRAL_DIRECTORY_FILE_HEADER:",JSON.stringify(I,null,2))}return this.state=ft.START,e;case ft.CDIR64_END:return this.parsedEntity=this._readEndOfCentralDirectory64(t),this.options.debug&&console.log("decoded CDIR64_END_RECORD:",this.parsedEntity),this.state=ft.CDIR64_END_DATA_SECTOR,e;case ft.CDIR64_END_DATA_SECTOR:return this.state=ft.START,e;case ft.CDIR64_LOCATOR:return this.state=ft.START,e;case ft.CENTRAL_DIRECTORY_END:return this.parsedEntity=this._readEndOfCentralDirectory(t),this.options.debug&&console.log("decoded CENTRAL_DIRECTORY_END:",this.parsedEntity),this.state=ft.CENTRAL_DIRECTORY_END_COMMENT,e;case ft.CENTRAL_DIRECTORY_END_COMMENT:return this.options.debug&&console.log("decoded CENTRAL_DIRECTORY_END_COMMENT:",t.slice(0,e).toString()),this.state=ft.TRAILING_JUNK,e;case ft.ERROR:return t.length;default:return console.log("didn't handle state #",this.state,"discarding"),t.length}};Ai.prototype._prepareOutStream=function(t,e){var r=this,n=t.uncompressedSize===0&&/[\/\\]$/.test(e.path);e.path=e.path.replace(/(?<=^|[/\\]+)[.][.]+(?=[/\\]+|$)/g,"."),e.type=n?"Directory":"File",e.isDirectory=n;var s=!(t.flags&8);s&&(e.size=t.uncompressedSize);var i=t.versionsNeededToExtract<=45;if(this.outStreamInfo={stream:null,limit:s?t.compressedSize:-1,written:0},s)this.outStreamInfo.stream=new c7.PassThrough;else{var o=new Buffer(4);o.writeUInt32LE(E2t,0);var a=t.extra.zip64Mode,c=a?20:12,l={pattern:o,requiredExtraSize:c},u=new A2t(l,function(f,A){var b=r._readDataDescriptor(f,a),y=b.compressedSize===A;if(!a&&!y&&A>=cN)for(var x=A-cN;x>=0&&(y=b.compressedSize===x,!y);)x-=cN;if(y){r.state=ft.FILE_DATA_END;var I=a?24:16;return r.data.length>0?r.data=Buffer.concat([f.slice(I),r.data]):r.data=f.slice(I),!0}});this.outStreamInfo.stream=u}var d=t.flags&1||t.flags&64;if(d||!i){var p=d?"Encrypted files are not supported!":"Zip version "+Math.floor(t.versionsNeededToExtract/10)+"."+t.versionsNeededToExtract%10+" is not supported";e.skip=!0,setImmediate(()=>{r.emit("error",new Error(p))}),this.outStreamInfo.stream.pipe(new i$e().autodrain());return}var m=t.compressionMethod>0;if(m){var h=g2t.createInflateRaw();h.on("error",function(f){r.state=ft.ERROR,r.emit("error",f)}),this.outStreamInfo.stream.pipe(h).pipe(e)}else this.outStreamInfo.stream.pipe(e);this._drainAllEntries&&e.autodrain()};Ai.prototype._readFile=function(t){var e=ph.parse(t).word16lu("versionsNeededToExtract").word16lu("flags").word16lu("compressionMethod").word16lu("lastModifiedTime").word16lu("lastModifiedDate").word32lu("crc32").word32lu("compressedSize").word32lu("uncompressedSize").word16lu("fileNameLength").word16lu("extraFieldLength").vars;return e};Ai.prototype._readExtraFields=function(t){var e={},r={parsed:e};this.options.debug&&(r.debug=[]);for(var n=0;n<t.length;){var s=ph.parse(t).skip(n).word16lu("extraId").word16lu("extraSize").vars;n+=4;var i=void 0;switch(s.extraId){case 1:i="Zip64 extended information extra field";var o=ph.parse(t.slice(n,n+s.extraSize)).word64lu("uncompressedSize").word64lu("compressedSize").word64lu("offsetToLocalHeader").word32lu("diskStartNumber").vars;o.uncompressedSize!==null&&(e.uncompressedSize=o.uncompressedSize),o.compressedSize!==null&&(e.compressedSize=o.compressedSize),e.zip64Mode=!0;break;case 10:i="NTFS extra field";break;case 21589:i="extended timestamp";var a=t.readUInt8(n),y=1;s.extraSize>=y+4&&a&1&&(e.mtime=new Date(t.readUInt32LE(n+y)*1e3),y+=4),s.extraSize>=y+4&&a&2&&(e.atime=new Date(t.readUInt32LE(n+y)*1e3),y+=4),s.extraSize>=y+4&&a&4&&(e.ctime=new Date(t.readUInt32LE(n+y)*1e3));break;case 28789:i="Info-ZIP Unicode Path Extra Field";var c=t.readUInt8(n);if(c===1){var y=1,l=t.readUInt32LE(n+y);y+=4;var u=t.slice(n+y);e.path=u.toString()}break;case 13:case 22613:i=s.extraId===13?"PKWARE Unix":"Info-ZIP UNIX (type 1)";var y=0;if(s.extraSize>=8){var d=new Date(t.readUInt32LE(n+y)*1e3);y+=4;var p=new Date(t.readUInt32LE(n+y)*1e3);if(y+=4,e.atime=d,e.mtime=p,s.extraSize>=12){var m=t.readUInt16LE(n+y);y+=2;var h=t.readUInt16LE(n+y);y+=2,e.uid=m,e.gid=h}}break;case 30805:i="Info-ZIP UNIX (type 2)";var y=0;if(s.extraSize>=4){var m=t.readUInt16LE(n+y);y+=2;var h=t.readUInt16LE(n+y);y+=2,e.uid=m,e.gid=h}break;case 30837:i="Info-ZIP New Unix";var y=0,f=t.readUInt8(n);if(y+=1,f===1){var A=t.readUInt8(n+y);y+=1,A<=6&&(e.uid=t.readUIntLE(n+y,A)),y+=A;var b=t.readUInt8(n+y);y+=1,b<=6&&(e.gid=t.readUIntLE(n+y,b))}break;case 30062:i="ASi Unix";var y=0;if(s.extraSize>=14){var x=t.readUInt32LE(n+y);y+=4;var I=t.readUInt16LE(n+y);y+=2;var v=t.readUInt32LE(n+y);y+=4;var m=t.readUInt16LE(n+y);y+=2;var h=t.readUInt16LE(n+y);if(y+=2,e.mode=I,e.uid=m,e.gid=h,s.extraSize>14){var T=n+y,N=n+s.extraSize-14,O=this._decodeString(t.slice(T,N));e.symlink=O}}break}this.options.debug&&r.debug.push({extraId:"0x"+s.extraId.toString(16),description:i,data:t.slice(n,n+s.extraSize).inspect()}),n+=s.extraSize}return r};Ai.prototype._readDataDescriptor=function(t,e){if(e){var r=ph.parse(t).word32lu("dataDescriptorSignature").word32lu("crc32").word64lu("compressedSize").word64lu("uncompressedSize").vars;return r}var r=ph.parse(t).word32lu("dataDescriptorSignature").word32lu("crc32").word32lu("compressedSize").word32lu("uncompressedSize").vars;return r};Ai.prototype._readCentralDirectoryEntry=function(t){var e=ph.parse(t).word16lu("versionMadeBy").word16lu("versionsNeededToExtract").word16lu("flags").word16lu("compressionMethod").word16lu("lastModifiedTime").word16lu("lastModifiedDate").word32lu("crc32").word32lu("compressedSize").word32lu("uncompressedSize").word16lu("fileNameLength").word16lu("extraFieldLength").word16lu("fileCommentLength").word16lu("diskNumber").word16lu("internalFileAttributes").word32lu("externalFileAttributes").word32lu("offsetToLocalFileHeader").vars;return e};Ai.prototype._readEndOfCentralDirectory64=function(t){var e=ph.parse(t).word64lu("centralDirectoryRecordSize").word16lu("versionMadeBy").word16lu("versionsNeededToExtract").word32lu("diskNumber").word32lu("diskNumberWithCentralDirectoryStart").word64lu("centralDirectoryEntries").word64lu("totalCentralDirectoryEntries").word64lu("sizeOfCentralDirectory").word64lu("offsetToStartOfCentralDirectory").vars;return e};Ai.prototype._readEndOfCentralDirectory=function(t){var e=ph.parse(t).word16lu("diskNumber").word16lu("diskStart").word16lu("centralDirectoryEntries").word16lu("totalCentralDirectoryEntries").word32lu("sizeOfCentralDirectory").word32lu("offsetToStartOfCentralDirectory").word16lu("commentLength").vars;return e};var S2t="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0 ";Ai.prototype._decodeString=function(t,e){if(e)return t.toString("utf8");if(this.options.decodeString)return this.options.decodeString(t);let r="";for(var n=0;n<t.length;n++)r+=S2t[t[n]];return r};Ai.prototype._parseOrOutput=function(t,e){for(var r;(r=this.processDataChunk(this.data))>0&&(this.data=this.data.slice(r),this.data.length!==0););if(this.state===ft.FILE_DATA){if(this.outStreamInfo.limit>=0){var n=this.outStreamInfo.limit-this.outStreamInfo.written,s;n<this.data.length?(s=this.data.slice(0,n),this.data=this.data.slice(n)):(s=this.data,this.data=new Buffer("")),this.outStreamInfo.written+=s.length,this.outStreamInfo.limit===this.outStreamInfo.written?(this.state=ft.START,this.outStreamInfo.stream.end(s,t,e)):this.outStreamInfo.stream.write(s,t,e)}else{var s=this.data;this.data=new Buffer(""),this.outStreamInfo.written+=s.length;var i=this.outStreamInfo.stream;i.write(s,t,()=>{if(this.state===ft.FILE_DATA_END)return this.state=ft.START,i.end(e);e()})}return}e()};Ai.prototype.drainAll=function(){this._drainAllEntries=!0};Ai.prototype._transform=function(t,e,r){var n=this;n.data.length>0?n.data=Buffer.concat([n.data,t]):n.data=t;var s=n.data.length,i=function(){if(n.data.length>0&&n.data.length<s){s=n.data.length,n._parseOrOutput(e,i);return}r()};n._parseOrOutput(e,i)};Ai.prototype._flush=function(t){var e=this;if(e.data.length>0){e._parseOrOutput("buffer",function(){if(e.data.length>0)return setImmediate(function(){e._flush(t)});t()});return}if(e.state===ft.FILE_DATA)return t(new Error("Stream finished in an invalid state, uncompression failed"));setImmediate(t)};o$e.exports=Ai});var c$e=B((hDr,a$e)=>{var lN=require("stream").Transform,I2t=require("util"),R2t=l7();function mh(t){if(!(this instanceof mh))return new mh(t);var e=t||{};lN.call(this,{readableObjectMode:!0}),this.opts=t||{},this.unzipStream=new R2t(this.opts);var r=this;this.unzipStream.on("entry",function(n){r.push(n)}),this.unzipStream.on("error",function(n){r.emit("error",n)})}I2t.inherits(mh,lN);mh.prototype._transform=function(t,e,r){this.unzipStream.write(t,e,r)};mh.prototype._flush=function(t){var e=this;this.unzipStream.end(function(){process.nextTick(function(){e.emit("close")}),t()})};mh.prototype.on=function(t,e){return t==="entry"?lN.prototype.on.call(this,"data",e):lN.prototype.on.call(this,t,e)};mh.prototype.drainAll=function(){return this.unzipStream.drainAll(),this.pipe(new lN({objectMode:!0,transform:function(t,e,r){r()}}))};a$e.exports=mh});var p$e=B((gDr,d$e)=>{var uN=require("path"),l$e=require("fs"),u$e=parseInt("0777",8);d$e.exports=$x.mkdirp=$x.mkdirP=$x;function $x(t,e,r,n){typeof e=="function"?(r=e,e={}):(!e||typeof e!="object")&&(e={mode:e});var s=e.mode,i=e.fs||l$e;s===void 0&&(s=u$e),n||(n=null);var o=r||function(){};t=uN.resolve(t),i.mkdir(t,s,function(a){if(!a)return n=n||t,o(null,n);switch(a.code){case"ENOENT":if(uN.dirname(t)===t)return o(a);$x(uN.dirname(t),e,function(c,l){c?o(c,l):$x(t,e,o,l)});break;default:i.stat(t,function(c,l){c||!l.isDirectory()?o(a,n):o(null,n)});break}})}$x.sync=function t(e,r,n){(!r||typeof r!="object")&&(r={mode:r});var s=r.mode,i=r.fs||l$e;s===void 0&&(s=u$e),n||(n=null),e=uN.resolve(e);try{i.mkdirSync(e,s),n=n||e}catch(a){switch(a.code){case"ENOENT":n=t(uN.dirname(e),r,n),t(e,r,n);break;default:var o;try{o=i.statSync(e)}catch{throw a}if(!o.isDirectory())throw a;break}}return n}});var g$e=B((ADr,h$e)=>{var v2t=require("fs"),m$e=require("path"),N2t=require("util"),T2t=p$e(),f$e=require("stream").Transform,B2t=l7();function fh(t){if(!(this instanceof fh))return new fh(t);f$e.call(this),this.opts=t||{},this.unzipStream=new B2t(this.opts),this.unfinishedEntries=0,this.afterFlushWait=!1,this.createdDirectories={};var e=this;this.unzipStream.on("entry",this._processEntry.bind(this)),this.unzipStream.on("error",function(r){e.emit("error",r)})}N2t.inherits(fh,f$e);fh.prototype._transform=function(t,e,r){this.unzipStream.write(t,e,r)};fh.prototype._flush=function(t){var e=this,r=function(){process.nextTick(function(){e.emit("close")}),t()};this.unzipStream.end(function(){if(e.unfinishedEntries>0)return e.afterFlushWait=!0,e.on("await-finished",r);r()})};fh.prototype._processEntry=function(t){var e=this,r=m$e.join(this.opts.path,t.path),n=t.isDirectory?r:m$e.dirname(r);this.unfinishedEntries++;var s=function(){var i=v2t.createWriteStream(r);i.on("close",function(){e.unfinishedEntries--,e._notifyAwaiter()}),i.on("error",function(o){e.emit("error",o)}),t.pipe(i)};if(this.createdDirectories[n]||n===".")return s();T2t(n,function(i){if(i)return e.emit("error",i);if(e.createdDirectories[n]=!0,t.isDirectory){e.unfinishedEntries--,e._notifyAwaiter();return}s()})};fh.prototype._notifyAwaiter=function(){this.afterFlushWait&&this.unfinishedEntries===0&&(this.emit("await-finished"),this.afterFlushWait=!1)};h$e.exports=fh});var A$e=B(u7=>{"use strict";u7.Parse=c$e();u7.Extract=g$e()});function P2t(t){return qx(this,void 0,void 0,function*(){try{return yield d7.default.access(t),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}})}function C$e(t,e,r){return qx(this,void 0,void 0,function*(){let n=0;for(;n<5;)try{return yield k2t(t,e,{skipDecompress:r})}catch(s){n++,ie(`Failed to download artifact after ${n} retries due to ${s.message}. Retrying in 5 seconds...`),yield new Promise(i=>setTimeout(i,5e3))}throw new Error(`Artifact download failed after ${n} retries.`)})}function k2t(t,e){return qx(this,arguments,void 0,function*(r,n,s={}){let{timeout:i=30*1e3,skipDecompress:o=!1}=s,c=yield new to(uu()).get(r);if(c.message.statusCode!==200)throw new Error(`Unexpected HTTP response from blob storage: ${c.message.statusCode} ${c.message.statusMessage}`);let l=c.message.headers["content-type"]||"",u=l.split(";",1)[0].trim().toLowerCase(),p=new URL(r).pathname.toLowerCase().endsWith(".zip"),m=u==="application/zip"||u==="application/x-zip-compressed"||u==="application/zip-compressed"||p,h=c.message.headers["content-disposition"]||"",f="artifact",A=h.match(/filename\*\s*=\s*UTF-8''([^;\r\n]*)/i),b=h.match(/(?<!\*)filename\s*=\s*['"]?([^;\r\n"']*)['"]?/i),y=A?.[1]||b?.[1];y&&(f=SF.basename(decodeURIComponent(y.trim()))),ie(`Content-Type: ${l}, mimeType: ${u}, urlEndsWithZip: ${p}, isZip: ${m}, skipDecompress: ${o}`),ie(`Content-Disposition: ${h}, fileName: ${f}`);let x;return new Promise((I,v)=>{let N=setTimeout(()=>{let J=new Error(`Blob storage chunk did not respond in ${i}ms`);c.message.destroy(J),v(J)},i),O=J=>{ie(`response.message: Artifact download failed: ${J.message}`),clearTimeout(N),v(J)},F=E$e.createHash("sha256").setEncoding("hex"),L=new b$e.PassThrough().on("data",()=>{N.refresh()}).on("error",O);c.message.pipe(L),L.pipe(F);let j=()=>{clearTimeout(N),F&&(F.end(),x=F.read(),te(`SHA256 digest of downloaded artifact is ${x}`)),I({sha256Digest:`sha256:${x}`})};if(m&&!o)L.pipe(w$e.default.Extract({path:n})).on("close",j).on("error",O);else{let J=SF.join(n,f),z=y$e.createWriteStream(J);te(`Downloading raw file (non-zip) to: ${J}`),L.pipe(z).on("close",j).on("error",O)}})})}function S$e(t,e,r,n,s){return qx(this,void 0,void 0,function*(){let i=yield R$e(s?.path),o=id(n),a=!1;te(`Downloading artifact '${t}' from '${e}/${r}'`);let{headers:c,status:l}=yield o.rest.actions.downloadArtifact({owner:e,repo:r,artifact_id:t,archive_format:"zip",request:{redirect:"manual"}});if(l!==302)throw new Error(`Unable to download artifact. Unexpected status: ${l}`);let{location:u}=c;if(!u)throw new Error("Unable to redirect to artifact download url");te(`Redirecting to blob download url: ${x$e(u)}`);try{te(`Starting download of artifact to: ${i}`);let d=yield C$e(u,i,s?.skipDecompress);te("Artifact download completed successfully."),s?.expectedHash&&s?.expectedHash!==d.sha256Digest&&(a=!0,ie(`Computed digest: ${d.sha256Digest}`),ie(`Expected digest: ${s.expectedHash}`))}catch(d){throw new Error(`Unable to download and extract artifact: ${d.message}`)}return{downloadPath:i,digestMismatch:a}})}function I$e(t,e){return qx(this,void 0,void 0,function*(){let r=yield R$e(e?.path),n=hu(),s=!1,{workflowRunBackendId:i,workflowJobRunBackendId:o}=fu(),a={workflowRunBackendId:i,workflowJobRunBackendId:o,idFilter:ow.create({value:t.toString()})},{artifacts:c}=yield n.ListArtifacts(a);if(c.length===0)throw new pu(`No artifacts found for ID: ${t}
118
- Are you trying to download from a different run? Try specifying a github-token with \`actions:read\` scope.`);c.length>1&&K("Multiple artifacts found, defaulting to first.");let l={workflowRunBackendId:c[0].workflowRunBackendId,workflowJobRunBackendId:c[0].workflowJobRunBackendId,name:c[0].name},{signedUrl:u}=yield n.GetSignedArtifactURL(l);te(`Redirecting to blob download url: ${x$e(u)}`);try{te(`Starting download of artifact to: ${r}`);let d=yield C$e(u,r,e?.skipDecompress);te("Artifact download completed successfully."),e?.expectedHash&&e?.expectedHash!==d.sha256Digest&&(s=!0,ie(`Computed digest: ${d.sha256Digest}`),ie(`Expected digest: ${e.expectedHash}`))}catch(d){throw new Error(`Unable to download and extract artifact: ${d.message}`)}return{downloadPath:r,digestMismatch:s}})}function R$e(){return qx(this,arguments,void 0,function*(t=Fbe()){return(yield P2t(t))?ie(`Artifact destination folder already exists: ${t}`):(ie(`Artifact destination folder does not exist, creating: ${t}`),yield d7.default.mkdir(t,{recursive:!0})),t})}var d7,y$e,E$e,b$e,SF,w$e,qx,x$e,v$e=C(()=>{d7=H(require("fs/promises"),1),y$e=H(require("fs"),1),E$e=H(require("crypto"),1),b$e=H(require("stream"),1),SF=H(require("path"),1);Fx();We();xp();w$e=H(A$e(),1);aw();Sp();cw();xf();lA();vp();qx=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})},x$e=t=>{let e=new URL(t);return e.search="",e.toString()}});function Hx(t,e=_2t,r=D2t){var n;if(e<=0)return[{enabled:!1},t.request];let s={enabled:!0};r.length>0&&(s.doNotRetry=r);let i=Object.assign(Object.assign({},t.request),{retries:e});return ie(`GitHub client configured with: (retries: ${i.retries}, retry-exempt-status-code: ${(n=s.doNotRetry)!==null&&n!==void 0?n:"octokit default: [400, 401, 403, 404, 422]"})`),[s,i]}var _2t,D2t,IF=C(()=>{We();_2t=5,D2t=[400,401,403,404,422]});var N$e,T$e=C(()=>{N$e="6.0.0"});function Ay(t){t.hook.wrap("request",(e,r)=>{t.log.debug("request",r);let n=Date.now(),s=t.request.endpoint.parse(r),i=s.url.replace(r.baseUrl,"");return e(r).then(o=>{let a=o.headers["x-github-request-id"];return t.log.info(`${s.method} ${i} - ${o.status} with id ${a} in ${Date.now()-n}ms`),o}).catch(o=>{let a=o.response?.headers["x-github-request-id"]||"UNKNOWN";throw t.log.error(`${s.method} ${i} - ${o.status} with id ${a} in ${Date.now()-n}ms`),o})})}var RF=C(()=>{T$e();Ay.VERSION=N$e});var B$e=B((p7,m7)=>{(function(t,e){typeof p7=="object"&&typeof m7<"u"?m7.exports=e():typeof define=="function"&&define.amd?define(e):t.Bottleneck=e()})(p7,(function(){"use strict";var t=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function e(w){return w&&w.default||w}var r=function(w,g,R={}){var D,k,Q;for(D in g)Q=g[D],R[D]=(k=w[D])!=null?k:Q;return R},n=function(w,g,R={}){var D,k;for(D in w)k=w[D],g[D]!==void 0&&(R[D]=k);return R},s={load:r,overwrite:n},i;i=class{constructor(g,R){this.incr=g,this.decr=R,this._first=null,this._last=null,this.length=0}push(g){var R;this.length++,typeof this.incr=="function"&&this.incr(),R={value:g,prev:this._last,next:null},this._last!=null?(this._last.next=R,this._last=R):this._first=this._last=R}shift(){var g;if(this._first!=null)return this.length--,typeof this.decr=="function"&&this.decr(),g=this._first.value,(this._first=this._first.next)!=null?this._first.prev=null:this._last=null,g}first(){if(this._first!=null)return this._first.value}getArray(){var g,R,D;for(g=this._first,D=[];g!=null;)D.push((R=g,g=g.next,R.value));return D}forEachShift(g){var R;for(R=this.shift();R!=null;)g(R),R=this.shift()}debug(){var g,R,D,k,Q;for(g=this._first,Q=[];g!=null;)Q.push((R=g,g=g.next,{value:R.value,prev:(D=R.prev)!=null?D.value:void 0,next:(k=R.next)!=null?k.value:void 0}));return Q}};var o=i,a;a=class{constructor(g){if(this.instance=g,this._events={},this.instance.on!=null||this.instance.once!=null||this.instance.removeAllListeners!=null)throw new Error("An Emitter already exists for this object");this.instance.on=(R,D)=>this._addListener(R,"many",D),this.instance.once=(R,D)=>this._addListener(R,"once",D),this.instance.removeAllListeners=(R=null)=>R!=null?delete this._events[R]:this._events={}}_addListener(g,R,D){var k;return(k=this._events)[g]==null&&(k[g]=[]),this._events[g].push({cb:D,status:R}),this.instance}listenerCount(g){return this._events[g]!=null?this._events[g].length:0}async trigger(g,...R){var D,k;try{return g!=="debug"&&this.trigger("debug",`Event triggered: ${g}`,R),this._events[g]==null?void 0:(this._events[g]=this._events[g].filter(function(Q){return Q.status!=="none"}),k=this._events[g].map(async Q=>{var E,P;if(Q.status!=="none"){Q.status==="once"&&(Q.status="none");try{return P=typeof Q.cb=="function"?Q.cb(...R):void 0,typeof P?.then=="function"?await P:P}catch($){return E=$,this.trigger("error",E),null}}}),(await Promise.all(k)).find(function(Q){return Q!=null}))}catch(Q){return D=Q,this.trigger("error",D),null}}};var c=a,l,u,d;l=o,u=c,d=class{constructor(g){var R;this.Events=new u(this),this._length=0,this._lists=(function(){var D,k,Q;for(Q=[],R=D=1,k=g;1<=k?D<=k:D>=k;R=1<=k?++D:--D)Q.push(new l((()=>this.incr()),(()=>this.decr())));return Q}).call(this)}incr(){if(this._length++===0)return this.Events.trigger("leftzero")}decr(){if(--this._length===0)return this.Events.trigger("zero")}push(g){return this._lists[g.options.priority].push(g)}queued(g){return g!=null?this._lists[g].length:this._length}shiftAll(g){return this._lists.forEach(function(R){return R.forEachShift(g)})}getFirst(g=this._lists){var R,D,k;for(R=0,D=g.length;R<D;R++)if(k=g[R],k.length>0)return k;return[]}shiftLastFrom(g){return this.getFirst(this._lists.slice(g).reverse()).shift()}};var p=d,m;m=class extends Error{};var h=m,f,A,b,y,x;y=10,A=5,x=s,f=h,b=class{constructor(g,R,D,k,Q,E,P,$){this.task=g,this.args=R,this.rejectOnDrop=Q,this.Events=E,this._states=P,this.Promise=$,this.options=x.load(D,k),this.options.priority=this._sanitizePriority(this.options.priority),this.options.id===k.id&&(this.options.id=`${this.options.id}-${this._randomIndex()}`),this.promise=new this.Promise((G,V)=>{this._resolve=G,this._reject=V}),this.retryCount=0}_sanitizePriority(g){var R;return R=~~g!==g?A:g,R<0?0:R>y-1?y-1:R}_randomIndex(){return Math.random().toString(36).slice(2)}doDrop({error:g,message:R="This job has been dropped by Bottleneck"}={}){return this._states.remove(this.options.id)?(this.rejectOnDrop&&this._reject(g??new f(R)),this.Events.trigger("dropped",{args:this.args,options:this.options,task:this.task,promise:this.promise}),!0):!1}_assertStatus(g){var R;if(R=this._states.jobStatus(this.options.id),!(R===g||g==="DONE"&&R===null))throw new f(`Invalid job status ${R}, expected ${g}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`)}doReceive(){return this._states.start(this.options.id),this.Events.trigger("received",{args:this.args,options:this.options})}doQueue(g,R){return this._assertStatus("RECEIVED"),this._states.next(this.options.id),this.Events.trigger("queued",{args:this.args,options:this.options,reachedHWM:g,blocked:R})}doRun(){return this.retryCount===0?(this._assertStatus("QUEUED"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),this.Events.trigger("scheduled",{args:this.args,options:this.options})}async doExecute(g,R,D,k){var Q,E,P;this.retryCount===0?(this._assertStatus("RUNNING"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),E={args:this.args,options:this.options,retryCount:this.retryCount},this.Events.trigger("executing",E);try{if(P=await(g!=null?g.schedule(this.options,this.task,...this.args):this.task(...this.args)),R())return this.doDone(E),await k(this.options,E),this._assertStatus("DONE"),this._resolve(P)}catch($){return Q=$,this._onFailure(Q,E,R,D,k)}}doExpire(g,R,D){var k,Q;return this._states.jobStatus(this.options.id==="RUNNING")&&this._states.next(this.options.id),this._assertStatus("EXECUTING"),Q={args:this.args,options:this.options,retryCount:this.retryCount},k=new f(`This job timed out after ${this.options.expiration} ms.`),this._onFailure(k,Q,g,R,D)}async _onFailure(g,R,D,k,Q){var E,P;if(D())return E=await this.Events.trigger("failed",g,R),E!=null?(P=~~E,this.Events.trigger("retry",`Retrying ${this.options.id} after ${P} ms`,R),this.retryCount++,k(P)):(this.doDone(R),await Q(this.options,R),this._assertStatus("DONE"),this._reject(g))}doDone(g){return this._assertStatus("EXECUTING"),this._states.next(this.options.id),this.Events.trigger("done",g)}};var I=b,v,T,N;N=s,v=h,T=class{constructor(g,R,D){this.instance=g,this.storeOptions=R,this.clientId=this.instance._randomIndex(),N.load(D,D,this),this._nextRequest=this._lastReservoirRefresh=this._lastReservoirIncrease=Date.now(),this._running=0,this._done=0,this._unblockTime=0,this.ready=this.Promise.resolve(),this.clients={},this._startHeartbeat()}_startHeartbeat(){var g;return this.heartbeat==null&&(this.storeOptions.reservoirRefreshInterval!=null&&this.storeOptions.reservoirRefreshAmount!=null||this.storeOptions.reservoirIncreaseInterval!=null&&this.storeOptions.reservoirIncreaseAmount!=null)?typeof(g=this.heartbeat=setInterval(()=>{var R,D,k,Q,E;if(Q=Date.now(),this.storeOptions.reservoirRefreshInterval!=null&&Q>=this._lastReservoirRefresh+this.storeOptions.reservoirRefreshInterval&&(this._lastReservoirRefresh=Q,this.storeOptions.reservoir=this.storeOptions.reservoirRefreshAmount,this.instance._drainAll(this.computeCapacity())),this.storeOptions.reservoirIncreaseInterval!=null&&Q>=this._lastReservoirIncrease+this.storeOptions.reservoirIncreaseInterval&&({reservoirIncreaseAmount:R,reservoirIncreaseMaximum:k,reservoir:E}=this.storeOptions,this._lastReservoirIncrease=Q,D=k!=null?Math.min(R,k-E):R,D>0))return this.storeOptions.reservoir+=D,this.instance._drainAll(this.computeCapacity())},this.heartbeatInterval)).unref=="function"?g.unref():void 0:clearInterval(this.heartbeat)}async __publish__(g){return await this.yieldLoop(),this.instance.Events.trigger("message",g.toString())}async __disconnect__(g){return await this.yieldLoop(),clearInterval(this.heartbeat),this.Promise.resolve()}yieldLoop(g=0){return new this.Promise(function(R,D){return setTimeout(R,g)})}computePenalty(){var g;return(g=this.storeOptions.penalty)!=null?g:15*this.storeOptions.minTime||5e3}async __updateSettings__(g){return await this.yieldLoop(),N.overwrite(g,g,this.storeOptions),this._startHeartbeat(),this.instance._drainAll(this.computeCapacity()),!0}async __running__(){return await this.yieldLoop(),this._running}async __queued__(){return await this.yieldLoop(),this.instance.queued()}async __done__(){return await this.yieldLoop(),this._done}async __groupCheck__(g){return await this.yieldLoop(),this._nextRequest+this.timeout<g}computeCapacity(){var g,R;return{maxConcurrent:g,reservoir:R}=this.storeOptions,g!=null&&R!=null?Math.min(g-this._running,R):g!=null?g-this._running:R??null}conditionsCheck(g){var R;return R=this.computeCapacity(),R==null||g<=R}async __incrementReservoir__(g){var R;return await this.yieldLoop(),R=this.storeOptions.reservoir+=g,this.instance._drainAll(this.computeCapacity()),R}async __currentReservoir__(){return await this.yieldLoop(),this.storeOptions.reservoir}isBlocked(g){return this._unblockTime>=g}check(g,R){return this.conditionsCheck(g)&&this._nextRequest-R<=0}async __check__(g){var R;return await this.yieldLoop(),R=Date.now(),this.check(g,R)}async __register__(g,R,D){var k,Q;return await this.yieldLoop(),k=Date.now(),this.conditionsCheck(R)?(this._running+=R,this.storeOptions.reservoir!=null&&(this.storeOptions.reservoir-=R),Q=Math.max(this._nextRequest-k,0),this._nextRequest=k+Q+this.storeOptions.minTime,{success:!0,wait:Q,reservoir:this.storeOptions.reservoir}):{success:!1}}strategyIsBlock(){return this.storeOptions.strategy===3}async __submit__(g,R){var D,k,Q;if(await this.yieldLoop(),this.storeOptions.maxConcurrent!=null&&R>this.storeOptions.maxConcurrent)throw new v(`Impossible to add a job having a weight of ${R} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);return k=Date.now(),Q=this.storeOptions.highWater!=null&&g===this.storeOptions.highWater&&!this.check(R,k),D=this.strategyIsBlock()&&(Q||this.isBlocked(k)),D&&(this._unblockTime=k+this.computePenalty(),this._nextRequest=this._unblockTime+this.storeOptions.minTime,this.instance._dropAllQueued()),{reachedHWM:Q,blocked:D,strategy:this.storeOptions.strategy}}async __free__(g,R){return await this.yieldLoop(),this._running-=R,this._done+=R,this.instance._drainAll(this.computeCapacity()),{running:this._running}}};var O=T,F,L;F=h,L=class{constructor(g){this.status=g,this._jobs={},this.counts=this.status.map(function(){return 0})}next(g){var R,D;if(R=this._jobs[g],D=R+1,R!=null&&D<this.status.length)return this.counts[R]--,this.counts[D]++,this._jobs[g]++;if(R!=null)return this.counts[R]--,delete this._jobs[g]}start(g){var R;return R=0,this._jobs[g]=R,this.counts[R]++}remove(g){var R;return R=this._jobs[g],R!=null&&(this.counts[R]--,delete this._jobs[g]),R!=null}jobStatus(g){var R;return(R=this.status[this._jobs[g]])!=null?R:null}statusJobs(g){var R,D,k,Q,E;if(g!=null){if(D=this.status.indexOf(g),D<0)throw new F(`status must be one of ${this.status.join(", ")}`);k=this._jobs,Q=[];for(R in k)E=k[R],E===D&&Q.push(R);return Q}else return Object.keys(this._jobs)}statusCounts(){return this.counts.reduce(((g,R,D)=>(g[this.status[D]]=R,g)),{})}};var j=L,J,z;J=o,z=class{constructor(g,R){this.schedule=this.schedule.bind(this),this.name=g,this.Promise=R,this._running=0,this._queue=new J}isEmpty(){return this._queue.length===0}async _tryToRun(){var g,R,D,k,Q,E,P;if(this._running<1&&this._queue.length>0)return this._running++,{task:P,args:g,resolve:Q,reject:k}=this._queue.shift(),R=await(async function(){try{return E=await P(...g),function(){return Q(E)}}catch($){return D=$,function(){return k(D)}}})(),this._running--,this._tryToRun(),R()}schedule(g,...R){var D,k,Q;return Q=k=null,D=new this.Promise(function(E,P){return Q=E,k=P}),this._queue.push({task:g,args:R,resolve:Q,reject:k}),this._tryToRun(),D}};var q=z,U="2.19.5",M={version:U},X=Object.freeze({version:U,default:M}),pe=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),ae=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Ee=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),fe,se,Z,me,ce,le;le=s,fe=c,me=pe,Z=ae,ce=Ee,se=(function(){class w{constructor(R={}){this.deleteKey=this.deleteKey.bind(this),this.limiterOptions=R,le.load(this.limiterOptions,this.defaults,this),this.Events=new fe(this),this.instances={},this.Bottleneck=$s,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new me(Object.assign({},this.limiterOptions,{Events:this.Events})):this.limiterOptions.datastore==="ioredis"&&(this.connection=new Z(Object.assign({},this.limiterOptions,{Events:this.Events}))))}key(R=""){var D;return(D=this.instances[R])!=null?D:(()=>{var k;return k=this.instances[R]=new this.Bottleneck(Object.assign(this.limiterOptions,{id:`${this.id}-${R}`,timeout:this.timeout,connection:this.connection})),this.Events.trigger("created",k,R),k})()}async deleteKey(R=""){var D,k;return k=this.instances[R],this.connection&&(D=await this.connection.__runCommand__(["del",...ce.allKeys(`${this.id}-${R}`)])),k!=null&&(delete this.instances[R],await k.disconnect()),k!=null||D>0}limiters(){var R,D,k,Q;D=this.instances,k=[];for(R in D)Q=D[R],k.push({key:R,limiter:Q});return k}keys(){return Object.keys(this.instances)}async clusterKeys(){var R,D,k,Q,E,P,$,G,V;if(this.connection==null)return this.Promise.resolve(this.keys());for(P=[],R=null,V=`b_${this.id}-`.length,D=9;R!==0;)for([G,k]=await this.connection.__runCommand__(["scan",R??0,"match",`b_${this.id}-*_settings`,"count",1e4]),R=~~G,Q=0,$=k.length;Q<$;Q++)E=k[Q],P.push(E.slice(V,-D));return P}_startAutoCleanup(){var R;return clearInterval(this.interval),typeof(R=this.interval=setInterval(async()=>{var D,k,Q,E,P,$;P=Date.now(),Q=this.instances,E=[];for(k in Q){$=Q[k];try{await $._store.__groupCheck__(P)?E.push(this.deleteKey(k)):E.push(void 0)}catch(G){D=G,E.push($.Events.trigger("error",D))}}return E},this.timeout/2)).unref=="function"?R.unref():void 0}updateSettings(R={}){if(le.overwrite(R,this.defaults,this),le.overwrite(R,R,this.limiterOptions),R.timeout!=null)return this._startAutoCleanup()}disconnect(R=!0){var D;if(!this.sharedConnection)return(D=this.connection)!=null?D.disconnect(R):void 0}}return w.prototype.defaults={timeout:1e3*60*5,connection:null,Promise,id:"group-key"},w}).call(t);var Fe=se,et,He,Ke;Ke=s,He=c,et=(function(){class w{constructor(R={}){this.options=R,Ke.load(this.options,this.defaults,this),this.Events=new He(this),this._arr=[],this._resetPromise(),this._lastFlush=Date.now()}_resetPromise(){return this._promise=new this.Promise((R,D)=>this._resolve=R)}_flush(){return clearTimeout(this._timeout),this._lastFlush=Date.now(),this._resolve(),this.Events.trigger("batch",this._arr),this._arr=[],this._resetPromise()}add(R){var D;return this._arr.push(R),D=this._promise,this._arr.length===this.maxSize?this._flush():this.maxTime!=null&&this._arr.length===1&&(this._timeout=setTimeout(()=>this._flush(),this.maxTime)),D}}return w.prototype.defaults={maxTime:null,maxSize:null,Promise},w}).call(t);var Ct=et,Ie=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Dt=e(X),St,Ht,Vn,Br,Yi,xs,Ji,Fs,Us,Tn,zr,ci=[].splice;xs=10,Ht=5,zr=s,Ji=p,Br=I,Yi=O,Fs=Ie,Vn=c,Us=j,Tn=q,St=(function(){class w{constructor(R={},...D){var k,Q;this._addToQueue=this._addToQueue.bind(this),this._validateOptions(R,D),zr.load(R,this.instanceDefaults,this),this._queues=new Ji(xs),this._scheduled={},this._states=new Us(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new Vn(this),this._submitLock=new Tn("submit",this.Promise),this._registerLock=new Tn("register",this.Promise),Q=zr.load(R,this.storeDefaults,{}),this._store=(function(){if(this.datastore==="redis"||this.datastore==="ioredis"||this.connection!=null)return k=zr.load(R,this.redisStoreDefaults,{}),new Fs(this,Q,k);if(this.datastore==="local")return k=zr.load(R,this.localStoreDefaults,{}),new Yi(this,Q,k);throw new w.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`)}).call(this),this._queues.on("leftzero",()=>{var E;return(E=this._store.heartbeat)!=null&&typeof E.ref=="function"?E.ref():void 0}),this._queues.on("zero",()=>{var E;return(E=this._store.heartbeat)!=null&&typeof E.unref=="function"?E.unref():void 0})}_validateOptions(R,D){if(!(R!=null&&typeof R=="object"&&D.length===0))throw new w.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.")}ready(){return this._store.ready}clients(){return this._store.clients}channel(){return`b_${this.id}`}channel_client(){return`b_${this.id}_${this._store.clientId}`}publish(R){return this._store.__publish__(R)}disconnect(R=!0){return this._store.__disconnect__(R)}chain(R){return this._limiter=R,this}queued(R){return this._queues.queued(R)}clusterQueued(){return this._store.__queued__()}empty(){return this.queued()===0&&this._submitLock.isEmpty()}running(){return this._store.__running__()}done(){return this._store.__done__()}jobStatus(R){return this._states.jobStatus(R)}jobs(R){return this._states.statusJobs(R)}counts(){return this._states.statusCounts()}_randomIndex(){return Math.random().toString(36).slice(2)}check(R=1){return this._store.__check__(R)}_clearGlobalState(R){return this._scheduled[R]!=null?(clearTimeout(this._scheduled[R].expiration),delete this._scheduled[R],!0):!1}async _free(R,D,k,Q){var E,P;try{if({running:P}=await this._store.__free__(R,k.weight),this.Events.trigger("debug",`Freed ${k.id}`,Q),P===0&&this.empty())return this.Events.trigger("idle")}catch($){return E=$,this.Events.trigger("error",E)}}_run(R,D,k){var Q,E,P;return D.doRun(),Q=this._clearGlobalState.bind(this,R),P=this._run.bind(this,R,D),E=this._free.bind(this,R,D),this._scheduled[R]={timeout:setTimeout(()=>D.doExecute(this._limiter,Q,P,E),k),expiration:D.options.expiration!=null?setTimeout(function(){return D.doExpire(Q,P,E)},k+D.options.expiration):void 0,job:D}}_drainOne(R){return this._registerLock.schedule(()=>{var D,k,Q,E,P;return this.queued()===0?this.Promise.resolve(null):(P=this._queues.getFirst(),{options:E,args:D}=Q=P.first(),R!=null&&E.weight>R?this.Promise.resolve(null):(this.Events.trigger("debug",`Draining ${E.id}`,{args:D,options:E}),k=this._randomIndex(),this._store.__register__(k,E.weight,E.expiration).then(({success:$,wait:G,reservoir:V})=>{var Y;return this.Events.trigger("debug",`Drained ${E.id}`,{success:$,args:D,options:E}),$?(P.shift(),Y=this.empty(),Y&&this.Events.trigger("empty"),V===0&&this.Events.trigger("depleted",Y),this._run(k,Q,G),this.Promise.resolve(E.weight)):this.Promise.resolve(null)})))})}_drainAll(R,D=0){return this._drainOne(R).then(k=>{var Q;return k!=null?(Q=R!=null?R-k:R,this._drainAll(Q,D+k)):this.Promise.resolve(D)}).catch(k=>this.Events.trigger("error",k))}_dropAllQueued(R){return this._queues.shiftAll(function(D){return D.doDrop({message:R})})}stop(R={}){var D,k;return R=zr.load(R,this.stopDefaults),k=Q=>{var E;return E=()=>{var P;return P=this._states.counts,P[0]+P[1]+P[2]+P[3]===Q},new this.Promise((P,$)=>E()?P():this.on("done",()=>{if(E())return this.removeAllListeners("done"),P()}))},D=R.dropWaitingJobs?(this._run=function(Q,E){return E.doDrop({message:R.dropErrorMessage})},this._drainOne=()=>this.Promise.resolve(null),this._registerLock.schedule(()=>this._submitLock.schedule(()=>{var Q,E,P;E=this._scheduled;for(Q in E)P=E[Q],this.jobStatus(P.job.options.id)==="RUNNING"&&(clearTimeout(P.timeout),clearTimeout(P.expiration),P.job.doDrop({message:R.dropErrorMessage}));return this._dropAllQueued(R.dropErrorMessage),k(0)}))):this.schedule({priority:xs-1,weight:0},()=>k(1)),this._receive=function(Q){return Q._reject(new w.prototype.BottleneckError(R.enqueueErrorMessage))},this.stop=()=>this.Promise.reject(new w.prototype.BottleneckError("stop() has already been called")),D}async _addToQueue(R){var D,k,Q,E,P,$,G;({args:D,options:E}=R);try{({reachedHWM:P,blocked:k,strategy:G}=await this._store.__submit__(this.queued(),E.weight))}catch(V){return Q=V,this.Events.trigger("debug",`Could not queue ${E.id}`,{args:D,options:E,error:Q}),R.doDrop({error:Q}),!1}return k?(R.doDrop(),!0):P&&($=G===w.prototype.strategy.LEAK?this._queues.shiftLastFrom(E.priority):G===w.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(E.priority+1):G===w.prototype.strategy.OVERFLOW?R:void 0,$?.doDrop(),$==null||G===w.prototype.strategy.OVERFLOW)?($==null&&R.doDrop(),P):(R.doQueue(P,k),this._queues.push(R),await this._drainAll(),P)}_receive(R){return this._states.jobStatus(R.options.id)!=null?(R._reject(new w.prototype.BottleneckError(`A job with the same id already exists (id=${R.options.id})`)),!1):(R.doReceive(),this._submitLock.schedule(this._addToQueue,R))}submit(...R){var D,k,Q,E,P,$,G;return typeof R[0]=="function"?(P=R,[k,...R]=P,[D]=ci.call(R,-1),E=zr.load({},this.jobDefaults)):($=R,[E,k,...R]=$,[D]=ci.call(R,-1),E=zr.load(E,this.jobDefaults)),G=(...V)=>new this.Promise(function(Y,W){return k(...V,function(...ee){return(ee[0]!=null?W:Y)(ee)})}),Q=new Br(G,R,E,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),Q.promise.then(function(V){return typeof D=="function"?D(...V):void 0}).catch(function(V){return Array.isArray(V)?typeof D=="function"?D(...V):void 0:typeof D=="function"?D(V):void 0}),this._receive(Q)}schedule(...R){var D,k,Q;return typeof R[0]=="function"?([Q,...R]=R,k={}):[k,Q,...R]=R,D=new Br(Q,R,k,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),this._receive(D),D.promise}wrap(R){var D,k;return D=this.schedule.bind(this),k=function(...Q){return D(R.bind(this),...Q)},k.withOptions=function(Q,...E){return D(Q,R,...E)},k}async updateSettings(R={}){return await this._store.__updateSettings__(zr.overwrite(R,this.storeDefaults)),zr.overwrite(R,this.instanceDefaults,this),this}currentReservoir(){return this._store.__currentReservoir__()}incrementReservoir(R=0){return this._store.__incrementReservoir__(R)}}return w.default=w,w.Events=Vn,w.version=w.prototype.version=Dt.version,w.strategy=w.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},w.BottleneckError=w.prototype.BottleneckError=h,w.Group=w.prototype.Group=Fe,w.RedisConnection=w.prototype.RedisConnection=pe,w.IORedisConnection=w.prototype.IORedisConnection=ae,w.Batcher=w.prototype.Batcher=Ct,w.prototype.jobDefaults={priority:Ht,weight:1,expiration:null,id:"<no-id>"},w.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:w.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null},w.prototype.localStoreDefaults={Promise,timeout:null,heartbeatInterval:250},w.prototype.redisStoreDefaults={Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:!1,connection:null},w.prototype.instanceDefaults={datastore:"local",connection:null,id:"<no-id>",rejectOnDrop:!0,trackDoneStatus:!1,Promise},w.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:!0,dropErrorMessage:"This limiter has been stopped."},w}).call(t);var $s=St,Za=$s;return Za}))});function M2t(t){return t.request!==void 0}async function P$e(t,e,r,n){if(!M2t(r)||!r?.request.request)throw r;if(r.status>=400&&!t.doNotRetry.includes(r.status)){let s=n.request.retries!=null?n.request.retries:t.retries,i=Math.pow((n.request.retryCount||0)+1,2);throw e.retry.retryRequest(r,s,i)}throw r}async function O2t(t,e,r,n){let s=new k$e.default;return s.on("failed",function(i,o){let a=~~i.request.request?.retries,c=~~i.request.request?.retryAfter;if(n.request.retryCount=o.retryCount+1,a>o.retryCount)return c*t.retryAfterBaseValue}),s.schedule(L2t.bind(null,t,e,r),n)}async function L2t(t,e,r,n){let s=await r(n);if(s.data&&s.data.errors&&s.data.errors.length>0&&/Something went wrong while executing your query/.test(s.data.errors[0].message)){let i=new sm(s.data.errors[0].message,500,{request:n,response:s});return P$e(t,e,i,n)}return s}function yy(t,e){let r=Object.assign({enabled:!0,retryAfterBaseValue:1e3,doNotRetry:[400,401,403,404,410,422,451],retries:3},e.retry),n={retry:{retryRequest:(s,i,o)=>(s.request.request=Object.assign({},s.request.request,{retries:i,retryAfter:o}),s)}};return r.enabled&&(t.hook.error("request",P$e.bind(null,r,n)),t.hook.wrap("request",O2t.bind(null,r,n))),n}var k$e,Q2t,vF=C(()=>{k$e=H(B$e(),1);WZ();Q2t="0.0.0-development";yy.VERSION=Q2t});function NF(t,e,r,n,s){return _$e(this,void 0,void 0,function*(){var i;let[o,a]=Hx(fy),c={log:void 0,userAgent:uu(),previews:void 0,retry:o,request:a},u=yield id(s,c,yy,Ay).request("GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts{?name}",{owner:r,repo:n,run_id:e,name:t});if(u.status!==200)throw new du(`Invalid response from GitHub API: ${u.status} (${(i=u?.headers)===null||i===void 0?void 0:i["x-github-request-id"]})`);if(u.data.artifacts.length===0)throw new pu(`Artifact not found for name: ${t}
118
+ Are you trying to download from a different run? Try specifying a github-token with \`actions:read\` scope.`);c.length>1&&K("Multiple artifacts found, defaulting to first.");let l={workflowRunBackendId:c[0].workflowRunBackendId,workflowJobRunBackendId:c[0].workflowJobRunBackendId,name:c[0].name},{signedUrl:u}=yield n.GetSignedArtifactURL(l);te(`Redirecting to blob download url: ${x$e(u)}`);try{te(`Starting download of artifact to: ${r}`);let d=yield C$e(u,r,e?.skipDecompress);te("Artifact download completed successfully."),e?.expectedHash&&e?.expectedHash!==d.sha256Digest&&(s=!0,ie(`Computed digest: ${d.sha256Digest}`),ie(`Expected digest: ${e.expectedHash}`))}catch(d){throw new Error(`Unable to download and extract artifact: ${d.message}`)}return{downloadPath:r,digestMismatch:s}})}function R$e(){return qx(this,arguments,void 0,function*(t=Fbe()){return(yield P2t(t))?ie(`Artifact destination folder already exists: ${t}`):(ie(`Artifact destination folder does not exist, creating: ${t}`),yield d7.default.mkdir(t,{recursive:!0})),t})}var d7,y$e,E$e,b$e,SF,w$e,qx,x$e,v$e=C(()=>{d7=H(require("fs/promises"),1),y$e=H(require("fs"),1),E$e=H(require("crypto"),1),b$e=H(require("stream"),1),SF=H(require("path"),1);Fx();We();xp();w$e=H(A$e(),1);aw();Sp();cw();xf();lA();vp();qx=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(d){o(d)}}function c(u){try{l(n.throw(u))}catch(d){o(d)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(t,e||[])).next())})},x$e=t=>{let e=new URL(t);return e.search="",e.toString()}});function Hx(t,e=_2t,r=D2t){var n;if(e<=0)return[{enabled:!1},t.request];let s={enabled:!0};r.length>0&&(s.doNotRetry=r);let i=Object.assign(Object.assign({},t.request),{retries:e});return ie(`GitHub client configured with: (retries: ${i.retries}, retry-exempt-status-code: ${(n=s.doNotRetry)!==null&&n!==void 0?n:"octokit default: [400, 401, 403, 404, 422]"})`),[s,i]}var _2t,D2t,IF=C(()=>{We();_2t=5,D2t=[400,401,403,404,422]});var N$e,T$e=C(()=>{N$e="6.0.0"});function Ay(t){t.hook.wrap("request",(e,r)=>{t.log.debug("request",r);let n=Date.now(),s=t.request.endpoint.parse(r),i=s.url.replace(r.baseUrl,"");return e(r).then(o=>{let a=o.headers["x-github-request-id"];return t.log.info(`${s.method} ${i} - ${o.status} with id ${a} in ${Date.now()-n}ms`),o}).catch(o=>{let a=o.response?.headers["x-github-request-id"]||"UNKNOWN";throw t.log.error(`${s.method} ${i} - ${o.status} with id ${a} in ${Date.now()-n}ms`),o})})}var RF=C(()=>{T$e();Ay.VERSION=N$e});var B$e=B((p7,m7)=>{(function(t,e){typeof p7=="object"&&typeof m7<"u"?m7.exports=e():typeof define=="function"&&define.amd?define(e):t.Bottleneck=e()})(p7,(function(){"use strict";var t=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function e(w){return w&&w.default||w}var r=function(w,g,R={}){var D,k,Q;for(D in g)Q=g[D],R[D]=(k=w[D])!=null?k:Q;return R},n=function(w,g,R={}){var D,k;for(D in w)k=w[D],g[D]!==void 0&&(R[D]=k);return R},s={load:r,overwrite:n},i;i=class{constructor(g,R){this.incr=g,this.decr=R,this._first=null,this._last=null,this.length=0}push(g){var R;this.length++,typeof this.incr=="function"&&this.incr(),R={value:g,prev:this._last,next:null},this._last!=null?(this._last.next=R,this._last=R):this._first=this._last=R}shift(){var g;if(this._first!=null)return this.length--,typeof this.decr=="function"&&this.decr(),g=this._first.value,(this._first=this._first.next)!=null?this._first.prev=null:this._last=null,g}first(){if(this._first!=null)return this._first.value}getArray(){var g,R,D;for(g=this._first,D=[];g!=null;)D.push((R=g,g=g.next,R.value));return D}forEachShift(g){var R;for(R=this.shift();R!=null;)g(R),R=this.shift()}debug(){var g,R,D,k,Q;for(g=this._first,Q=[];g!=null;)Q.push((R=g,g=g.next,{value:R.value,prev:(D=R.prev)!=null?D.value:void 0,next:(k=R.next)!=null?k.value:void 0}));return Q}};var o=i,a;a=class{constructor(g){if(this.instance=g,this._events={},this.instance.on!=null||this.instance.once!=null||this.instance.removeAllListeners!=null)throw new Error("An Emitter already exists for this object");this.instance.on=(R,D)=>this._addListener(R,"many",D),this.instance.once=(R,D)=>this._addListener(R,"once",D),this.instance.removeAllListeners=(R=null)=>R!=null?delete this._events[R]:this._events={}}_addListener(g,R,D){var k;return(k=this._events)[g]==null&&(k[g]=[]),this._events[g].push({cb:D,status:R}),this.instance}listenerCount(g){return this._events[g]!=null?this._events[g].length:0}async trigger(g,...R){var D,k;try{return g!=="debug"&&this.trigger("debug",`Event triggered: ${g}`,R),this._events[g]==null?void 0:(this._events[g]=this._events[g].filter(function(Q){return Q.status!=="none"}),k=this._events[g].map(async Q=>{var E,P;if(Q.status!=="none"){Q.status==="once"&&(Q.status="none");try{return P=typeof Q.cb=="function"?Q.cb(...R):void 0,typeof P?.then=="function"?await P:P}catch($){return E=$,this.trigger("error",E),null}}}),(await Promise.all(k)).find(function(Q){return Q!=null}))}catch(Q){return D=Q,this.trigger("error",D),null}}};var c=a,l,u,d;l=o,u=c,d=class{constructor(g){var R;this.Events=new u(this),this._length=0,this._lists=(function(){var D,k,Q;for(Q=[],R=D=1,k=g;1<=k?D<=k:D>=k;R=1<=k?++D:--D)Q.push(new l((()=>this.incr()),(()=>this.decr())));return Q}).call(this)}incr(){if(this._length++===0)return this.Events.trigger("leftzero")}decr(){if(--this._length===0)return this.Events.trigger("zero")}push(g){return this._lists[g.options.priority].push(g)}queued(g){return g!=null?this._lists[g].length:this._length}shiftAll(g){return this._lists.forEach(function(R){return R.forEachShift(g)})}getFirst(g=this._lists){var R,D,k;for(R=0,D=g.length;R<D;R++)if(k=g[R],k.length>0)return k;return[]}shiftLastFrom(g){return this.getFirst(this._lists.slice(g).reverse()).shift()}};var p=d,m;m=class extends Error{};var h=m,f,A,b,y,x;y=10,A=5,x=s,f=h,b=class{constructor(g,R,D,k,Q,E,P,$){this.task=g,this.args=R,this.rejectOnDrop=Q,this.Events=E,this._states=P,this.Promise=$,this.options=x.load(D,k),this.options.priority=this._sanitizePriority(this.options.priority),this.options.id===k.id&&(this.options.id=`${this.options.id}-${this._randomIndex()}`),this.promise=new this.Promise((G,V)=>{this._resolve=G,this._reject=V}),this.retryCount=0}_sanitizePriority(g){var R;return R=~~g!==g?A:g,R<0?0:R>y-1?y-1:R}_randomIndex(){return Math.random().toString(36).slice(2)}doDrop({error:g,message:R="This job has been dropped by Bottleneck"}={}){return this._states.remove(this.options.id)?(this.rejectOnDrop&&this._reject(g??new f(R)),this.Events.trigger("dropped",{args:this.args,options:this.options,task:this.task,promise:this.promise}),!0):!1}_assertStatus(g){var R;if(R=this._states.jobStatus(this.options.id),!(R===g||g==="DONE"&&R===null))throw new f(`Invalid job status ${R}, expected ${g}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`)}doReceive(){return this._states.start(this.options.id),this.Events.trigger("received",{args:this.args,options:this.options})}doQueue(g,R){return this._assertStatus("RECEIVED"),this._states.next(this.options.id),this.Events.trigger("queued",{args:this.args,options:this.options,reachedHWM:g,blocked:R})}doRun(){return this.retryCount===0?(this._assertStatus("QUEUED"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),this.Events.trigger("scheduled",{args:this.args,options:this.options})}async doExecute(g,R,D,k){var Q,E,P;this.retryCount===0?(this._assertStatus("RUNNING"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),E={args:this.args,options:this.options,retryCount:this.retryCount},this.Events.trigger("executing",E);try{if(P=await(g!=null?g.schedule(this.options,this.task,...this.args):this.task(...this.args)),R())return this.doDone(E),await k(this.options,E),this._assertStatus("DONE"),this._resolve(P)}catch($){return Q=$,this._onFailure(Q,E,R,D,k)}}doExpire(g,R,D){var k,Q;return this._states.jobStatus(this.options.id==="RUNNING")&&this._states.next(this.options.id),this._assertStatus("EXECUTING"),Q={args:this.args,options:this.options,retryCount:this.retryCount},k=new f(`This job timed out after ${this.options.expiration} ms.`),this._onFailure(k,Q,g,R,D)}async _onFailure(g,R,D,k,Q){var E,P;if(D())return E=await this.Events.trigger("failed",g,R),E!=null?(P=~~E,this.Events.trigger("retry",`Retrying ${this.options.id} after ${P} ms`,R),this.retryCount++,k(P)):(this.doDone(R),await Q(this.options,R),this._assertStatus("DONE"),this._reject(g))}doDone(g){return this._assertStatus("EXECUTING"),this._states.next(this.options.id),this.Events.trigger("done",g)}};var I=b,v,T,N;N=s,v=h,T=class{constructor(g,R,D){this.instance=g,this.storeOptions=R,this.clientId=this.instance._randomIndex(),N.load(D,D,this),this._nextRequest=this._lastReservoirRefresh=this._lastReservoirIncrease=Date.now(),this._running=0,this._done=0,this._unblockTime=0,this.ready=this.Promise.resolve(),this.clients={},this._startHeartbeat()}_startHeartbeat(){var g;return this.heartbeat==null&&(this.storeOptions.reservoirRefreshInterval!=null&&this.storeOptions.reservoirRefreshAmount!=null||this.storeOptions.reservoirIncreaseInterval!=null&&this.storeOptions.reservoirIncreaseAmount!=null)?typeof(g=this.heartbeat=setInterval(()=>{var R,D,k,Q,E;if(Q=Date.now(),this.storeOptions.reservoirRefreshInterval!=null&&Q>=this._lastReservoirRefresh+this.storeOptions.reservoirRefreshInterval&&(this._lastReservoirRefresh=Q,this.storeOptions.reservoir=this.storeOptions.reservoirRefreshAmount,this.instance._drainAll(this.computeCapacity())),this.storeOptions.reservoirIncreaseInterval!=null&&Q>=this._lastReservoirIncrease+this.storeOptions.reservoirIncreaseInterval&&({reservoirIncreaseAmount:R,reservoirIncreaseMaximum:k,reservoir:E}=this.storeOptions,this._lastReservoirIncrease=Q,D=k!=null?Math.min(R,k-E):R,D>0))return this.storeOptions.reservoir+=D,this.instance._drainAll(this.computeCapacity())},this.heartbeatInterval)).unref=="function"?g.unref():void 0:clearInterval(this.heartbeat)}async __publish__(g){return await this.yieldLoop(),this.instance.Events.trigger("message",g.toString())}async __disconnect__(g){return await this.yieldLoop(),clearInterval(this.heartbeat),this.Promise.resolve()}yieldLoop(g=0){return new this.Promise(function(R,D){return setTimeout(R,g)})}computePenalty(){var g;return(g=this.storeOptions.penalty)!=null?g:15*this.storeOptions.minTime||5e3}async __updateSettings__(g){return await this.yieldLoop(),N.overwrite(g,g,this.storeOptions),this._startHeartbeat(),this.instance._drainAll(this.computeCapacity()),!0}async __running__(){return await this.yieldLoop(),this._running}async __queued__(){return await this.yieldLoop(),this.instance.queued()}async __done__(){return await this.yieldLoop(),this._done}async __groupCheck__(g){return await this.yieldLoop(),this._nextRequest+this.timeout<g}computeCapacity(){var g,R;return{maxConcurrent:g,reservoir:R}=this.storeOptions,g!=null&&R!=null?Math.min(g-this._running,R):g!=null?g-this._running:R??null}conditionsCheck(g){var R;return R=this.computeCapacity(),R==null||g<=R}async __incrementReservoir__(g){var R;return await this.yieldLoop(),R=this.storeOptions.reservoir+=g,this.instance._drainAll(this.computeCapacity()),R}async __currentReservoir__(){return await this.yieldLoop(),this.storeOptions.reservoir}isBlocked(g){return this._unblockTime>=g}check(g,R){return this.conditionsCheck(g)&&this._nextRequest-R<=0}async __check__(g){var R;return await this.yieldLoop(),R=Date.now(),this.check(g,R)}async __register__(g,R,D){var k,Q;return await this.yieldLoop(),k=Date.now(),this.conditionsCheck(R)?(this._running+=R,this.storeOptions.reservoir!=null&&(this.storeOptions.reservoir-=R),Q=Math.max(this._nextRequest-k,0),this._nextRequest=k+Q+this.storeOptions.minTime,{success:!0,wait:Q,reservoir:this.storeOptions.reservoir}):{success:!1}}strategyIsBlock(){return this.storeOptions.strategy===3}async __submit__(g,R){var D,k,Q;if(await this.yieldLoop(),this.storeOptions.maxConcurrent!=null&&R>this.storeOptions.maxConcurrent)throw new v(`Impossible to add a job having a weight of ${R} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);return k=Date.now(),Q=this.storeOptions.highWater!=null&&g===this.storeOptions.highWater&&!this.check(R,k),D=this.strategyIsBlock()&&(Q||this.isBlocked(k)),D&&(this._unblockTime=k+this.computePenalty(),this._nextRequest=this._unblockTime+this.storeOptions.minTime,this.instance._dropAllQueued()),{reachedHWM:Q,blocked:D,strategy:this.storeOptions.strategy}}async __free__(g,R){return await this.yieldLoop(),this._running-=R,this._done+=R,this.instance._drainAll(this.computeCapacity()),{running:this._running}}};var O=T,F,L;F=h,L=class{constructor(g){this.status=g,this._jobs={},this.counts=this.status.map(function(){return 0})}next(g){var R,D;if(R=this._jobs[g],D=R+1,R!=null&&D<this.status.length)return this.counts[R]--,this.counts[D]++,this._jobs[g]++;if(R!=null)return this.counts[R]--,delete this._jobs[g]}start(g){var R;return R=0,this._jobs[g]=R,this.counts[R]++}remove(g){var R;return R=this._jobs[g],R!=null&&(this.counts[R]--,delete this._jobs[g]),R!=null}jobStatus(g){var R;return(R=this.status[this._jobs[g]])!=null?R:null}statusJobs(g){var R,D,k,Q,E;if(g!=null){if(D=this.status.indexOf(g),D<0)throw new F(`status must be one of ${this.status.join(", ")}`);k=this._jobs,Q=[];for(R in k)E=k[R],E===D&&Q.push(R);return Q}else return Object.keys(this._jobs)}statusCounts(){return this.counts.reduce(((g,R,D)=>(g[this.status[D]]=R,g)),{})}};var j=L,J,z;J=o,z=class{constructor(g,R){this.schedule=this.schedule.bind(this),this.name=g,this.Promise=R,this._running=0,this._queue=new J}isEmpty(){return this._queue.length===0}async _tryToRun(){var g,R,D,k,Q,E,P;if(this._running<1&&this._queue.length>0)return this._running++,{task:P,args:g,resolve:Q,reject:k}=this._queue.shift(),R=await(async function(){try{return E=await P(...g),function(){return Q(E)}}catch($){return D=$,function(){return k(D)}}})(),this._running--,this._tryToRun(),R()}schedule(g,...R){var D,k,Q;return Q=k=null,D=new this.Promise(function(E,P){return Q=E,k=P}),this._queue.push({task:g,args:R,resolve:Q,reject:k}),this._tryToRun(),D}};var q=z,U="2.19.5",M={version:U},X=Object.freeze({version:U,default:M}),pe=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),ae=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Ee=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),fe,se,Z,me,ce,le;le=s,fe=c,me=pe,Z=ae,ce=Ee,se=(function(){class w{constructor(R={}){this.deleteKey=this.deleteKey.bind(this),this.limiterOptions=R,le.load(this.limiterOptions,this.defaults,this),this.Events=new fe(this),this.instances={},this.Bottleneck=$s,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new me(Object.assign({},this.limiterOptions,{Events:this.Events})):this.limiterOptions.datastore==="ioredis"&&(this.connection=new Z(Object.assign({},this.limiterOptions,{Events:this.Events}))))}key(R=""){var D;return(D=this.instances[R])!=null?D:(()=>{var k;return k=this.instances[R]=new this.Bottleneck(Object.assign(this.limiterOptions,{id:`${this.id}-${R}`,timeout:this.timeout,connection:this.connection})),this.Events.trigger("created",k,R),k})()}async deleteKey(R=""){var D,k;return k=this.instances[R],this.connection&&(D=await this.connection.__runCommand__(["del",...ce.allKeys(`${this.id}-${R}`)])),k!=null&&(delete this.instances[R],await k.disconnect()),k!=null||D>0}limiters(){var R,D,k,Q;D=this.instances,k=[];for(R in D)Q=D[R],k.push({key:R,limiter:Q});return k}keys(){return Object.keys(this.instances)}async clusterKeys(){var R,D,k,Q,E,P,$,G,V;if(this.connection==null)return this.Promise.resolve(this.keys());for(P=[],R=null,V=`b_${this.id}-`.length,D=9;R!==0;)for([G,k]=await this.connection.__runCommand__(["scan",R??0,"match",`b_${this.id}-*_settings`,"count",1e4]),R=~~G,Q=0,$=k.length;Q<$;Q++)E=k[Q],P.push(E.slice(V,-D));return P}_startAutoCleanup(){var R;return clearInterval(this.interval),typeof(R=this.interval=setInterval(async()=>{var D,k,Q,E,P,$;P=Date.now(),Q=this.instances,E=[];for(k in Q){$=Q[k];try{await $._store.__groupCheck__(P)?E.push(this.deleteKey(k)):E.push(void 0)}catch(G){D=G,E.push($.Events.trigger("error",D))}}return E},this.timeout/2)).unref=="function"?R.unref():void 0}updateSettings(R={}){if(le.overwrite(R,this.defaults,this),le.overwrite(R,R,this.limiterOptions),R.timeout!=null)return this._startAutoCleanup()}disconnect(R=!0){var D;if(!this.sharedConnection)return(D=this.connection)!=null?D.disconnect(R):void 0}}return w.prototype.defaults={timeout:1e3*60*5,connection:null,Promise,id:"group-key"},w}).call(t);var Ue=se,et,He,Ke;Ke=s,He=c,et=(function(){class w{constructor(R={}){this.options=R,Ke.load(this.options,this.defaults,this),this.Events=new He(this),this._arr=[],this._resetPromise(),this._lastFlush=Date.now()}_resetPromise(){return this._promise=new this.Promise((R,D)=>this._resolve=R)}_flush(){return clearTimeout(this._timeout),this._lastFlush=Date.now(),this._resolve(),this.Events.trigger("batch",this._arr),this._arr=[],this._resetPromise()}add(R){var D;return this._arr.push(R),D=this._promise,this._arr.length===this.maxSize?this._flush():this.maxTime!=null&&this._arr.length===1&&(this._timeout=setTimeout(()=>this._flush(),this.maxTime)),D}}return w.prototype.defaults={maxTime:null,maxSize:null,Promise},w}).call(t);var Ct=et,Ie=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Dt=e(X),St,Ht,Vn,Br,Yi,xs,Ji,Fs,Us,Tn,zr,ci=[].splice;xs=10,Ht=5,zr=s,Ji=p,Br=I,Yi=O,Fs=Ie,Vn=c,Us=j,Tn=q,St=(function(){class w{constructor(R={},...D){var k,Q;this._addToQueue=this._addToQueue.bind(this),this._validateOptions(R,D),zr.load(R,this.instanceDefaults,this),this._queues=new Ji(xs),this._scheduled={},this._states=new Us(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new Vn(this),this._submitLock=new Tn("submit",this.Promise),this._registerLock=new Tn("register",this.Promise),Q=zr.load(R,this.storeDefaults,{}),this._store=(function(){if(this.datastore==="redis"||this.datastore==="ioredis"||this.connection!=null)return k=zr.load(R,this.redisStoreDefaults,{}),new Fs(this,Q,k);if(this.datastore==="local")return k=zr.load(R,this.localStoreDefaults,{}),new Yi(this,Q,k);throw new w.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`)}).call(this),this._queues.on("leftzero",()=>{var E;return(E=this._store.heartbeat)!=null&&typeof E.ref=="function"?E.ref():void 0}),this._queues.on("zero",()=>{var E;return(E=this._store.heartbeat)!=null&&typeof E.unref=="function"?E.unref():void 0})}_validateOptions(R,D){if(!(R!=null&&typeof R=="object"&&D.length===0))throw new w.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.")}ready(){return this._store.ready}clients(){return this._store.clients}channel(){return`b_${this.id}`}channel_client(){return`b_${this.id}_${this._store.clientId}`}publish(R){return this._store.__publish__(R)}disconnect(R=!0){return this._store.__disconnect__(R)}chain(R){return this._limiter=R,this}queued(R){return this._queues.queued(R)}clusterQueued(){return this._store.__queued__()}empty(){return this.queued()===0&&this._submitLock.isEmpty()}running(){return this._store.__running__()}done(){return this._store.__done__()}jobStatus(R){return this._states.jobStatus(R)}jobs(R){return this._states.statusJobs(R)}counts(){return this._states.statusCounts()}_randomIndex(){return Math.random().toString(36).slice(2)}check(R=1){return this._store.__check__(R)}_clearGlobalState(R){return this._scheduled[R]!=null?(clearTimeout(this._scheduled[R].expiration),delete this._scheduled[R],!0):!1}async _free(R,D,k,Q){var E,P;try{if({running:P}=await this._store.__free__(R,k.weight),this.Events.trigger("debug",`Freed ${k.id}`,Q),P===0&&this.empty())return this.Events.trigger("idle")}catch($){return E=$,this.Events.trigger("error",E)}}_run(R,D,k){var Q,E,P;return D.doRun(),Q=this._clearGlobalState.bind(this,R),P=this._run.bind(this,R,D),E=this._free.bind(this,R,D),this._scheduled[R]={timeout:setTimeout(()=>D.doExecute(this._limiter,Q,P,E),k),expiration:D.options.expiration!=null?setTimeout(function(){return D.doExpire(Q,P,E)},k+D.options.expiration):void 0,job:D}}_drainOne(R){return this._registerLock.schedule(()=>{var D,k,Q,E,P;return this.queued()===0?this.Promise.resolve(null):(P=this._queues.getFirst(),{options:E,args:D}=Q=P.first(),R!=null&&E.weight>R?this.Promise.resolve(null):(this.Events.trigger("debug",`Draining ${E.id}`,{args:D,options:E}),k=this._randomIndex(),this._store.__register__(k,E.weight,E.expiration).then(({success:$,wait:G,reservoir:V})=>{var Y;return this.Events.trigger("debug",`Drained ${E.id}`,{success:$,args:D,options:E}),$?(P.shift(),Y=this.empty(),Y&&this.Events.trigger("empty"),V===0&&this.Events.trigger("depleted",Y),this._run(k,Q,G),this.Promise.resolve(E.weight)):this.Promise.resolve(null)})))})}_drainAll(R,D=0){return this._drainOne(R).then(k=>{var Q;return k!=null?(Q=R!=null?R-k:R,this._drainAll(Q,D+k)):this.Promise.resolve(D)}).catch(k=>this.Events.trigger("error",k))}_dropAllQueued(R){return this._queues.shiftAll(function(D){return D.doDrop({message:R})})}stop(R={}){var D,k;return R=zr.load(R,this.stopDefaults),k=Q=>{var E;return E=()=>{var P;return P=this._states.counts,P[0]+P[1]+P[2]+P[3]===Q},new this.Promise((P,$)=>E()?P():this.on("done",()=>{if(E())return this.removeAllListeners("done"),P()}))},D=R.dropWaitingJobs?(this._run=function(Q,E){return E.doDrop({message:R.dropErrorMessage})},this._drainOne=()=>this.Promise.resolve(null),this._registerLock.schedule(()=>this._submitLock.schedule(()=>{var Q,E,P;E=this._scheduled;for(Q in E)P=E[Q],this.jobStatus(P.job.options.id)==="RUNNING"&&(clearTimeout(P.timeout),clearTimeout(P.expiration),P.job.doDrop({message:R.dropErrorMessage}));return this._dropAllQueued(R.dropErrorMessage),k(0)}))):this.schedule({priority:xs-1,weight:0},()=>k(1)),this._receive=function(Q){return Q._reject(new w.prototype.BottleneckError(R.enqueueErrorMessage))},this.stop=()=>this.Promise.reject(new w.prototype.BottleneckError("stop() has already been called")),D}async _addToQueue(R){var D,k,Q,E,P,$,G;({args:D,options:E}=R);try{({reachedHWM:P,blocked:k,strategy:G}=await this._store.__submit__(this.queued(),E.weight))}catch(V){return Q=V,this.Events.trigger("debug",`Could not queue ${E.id}`,{args:D,options:E,error:Q}),R.doDrop({error:Q}),!1}return k?(R.doDrop(),!0):P&&($=G===w.prototype.strategy.LEAK?this._queues.shiftLastFrom(E.priority):G===w.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(E.priority+1):G===w.prototype.strategy.OVERFLOW?R:void 0,$?.doDrop(),$==null||G===w.prototype.strategy.OVERFLOW)?($==null&&R.doDrop(),P):(R.doQueue(P,k),this._queues.push(R),await this._drainAll(),P)}_receive(R){return this._states.jobStatus(R.options.id)!=null?(R._reject(new w.prototype.BottleneckError(`A job with the same id already exists (id=${R.options.id})`)),!1):(R.doReceive(),this._submitLock.schedule(this._addToQueue,R))}submit(...R){var D,k,Q,E,P,$,G;return typeof R[0]=="function"?(P=R,[k,...R]=P,[D]=ci.call(R,-1),E=zr.load({},this.jobDefaults)):($=R,[E,k,...R]=$,[D]=ci.call(R,-1),E=zr.load(E,this.jobDefaults)),G=(...V)=>new this.Promise(function(Y,W){return k(...V,function(...ee){return(ee[0]!=null?W:Y)(ee)})}),Q=new Br(G,R,E,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),Q.promise.then(function(V){return typeof D=="function"?D(...V):void 0}).catch(function(V){return Array.isArray(V)?typeof D=="function"?D(...V):void 0:typeof D=="function"?D(V):void 0}),this._receive(Q)}schedule(...R){var D,k,Q;return typeof R[0]=="function"?([Q,...R]=R,k={}):[k,Q,...R]=R,D=new Br(Q,R,k,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),this._receive(D),D.promise}wrap(R){var D,k;return D=this.schedule.bind(this),k=function(...Q){return D(R.bind(this),...Q)},k.withOptions=function(Q,...E){return D(Q,R,...E)},k}async updateSettings(R={}){return await this._store.__updateSettings__(zr.overwrite(R,this.storeDefaults)),zr.overwrite(R,this.instanceDefaults,this),this}currentReservoir(){return this._store.__currentReservoir__()}incrementReservoir(R=0){return this._store.__incrementReservoir__(R)}}return w.default=w,w.Events=Vn,w.version=w.prototype.version=Dt.version,w.strategy=w.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},w.BottleneckError=w.prototype.BottleneckError=h,w.Group=w.prototype.Group=Ue,w.RedisConnection=w.prototype.RedisConnection=pe,w.IORedisConnection=w.prototype.IORedisConnection=ae,w.Batcher=w.prototype.Batcher=Ct,w.prototype.jobDefaults={priority:Ht,weight:1,expiration:null,id:"<no-id>"},w.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:w.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null},w.prototype.localStoreDefaults={Promise,timeout:null,heartbeatInterval:250},w.prototype.redisStoreDefaults={Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:!1,connection:null},w.prototype.instanceDefaults={datastore:"local",connection:null,id:"<no-id>",rejectOnDrop:!0,trackDoneStatus:!1,Promise},w.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:!0,dropErrorMessage:"This limiter has been stopped."},w}).call(t);var $s=St,Za=$s;return Za}))});function M2t(t){return t.request!==void 0}async function P$e(t,e,r,n){if(!M2t(r)||!r?.request.request)throw r;if(r.status>=400&&!t.doNotRetry.includes(r.status)){let s=n.request.retries!=null?n.request.retries:t.retries,i=Math.pow((n.request.retryCount||0)+1,2);throw e.retry.retryRequest(r,s,i)}throw r}async function O2t(t,e,r,n){let s=new k$e.default;return s.on("failed",function(i,o){let a=~~i.request.request?.retries,c=~~i.request.request?.retryAfter;if(n.request.retryCount=o.retryCount+1,a>o.retryCount)return c*t.retryAfterBaseValue}),s.schedule(L2t.bind(null,t,e,r),n)}async function L2t(t,e,r,n){let s=await r(n);if(s.data&&s.data.errors&&s.data.errors.length>0&&/Something went wrong while executing your query/.test(s.data.errors[0].message)){let i=new sm(s.data.errors[0].message,500,{request:n,response:s});return P$e(t,e,i,n)}return s}function yy(t,e){let r=Object.assign({enabled:!0,retryAfterBaseValue:1e3,doNotRetry:[400,401,403,404,410,422,451],retries:3},e.retry),n={retry:{retryRequest:(s,i,o)=>(s.request.request=Object.assign({},s.request.request,{retries:i,retryAfter:o}),s)}};return r.enabled&&(t.hook.error("request",P$e.bind(null,r,n)),t.hook.wrap("request",O2t.bind(null,r,n))),n}var k$e,Q2t,vF=C(()=>{k$e=H(B$e(),1);WZ();Q2t="0.0.0-development";yy.VERSION=Q2t});function NF(t,e,r,n,s){return _$e(this,void 0,void 0,function*(){var i;let[o,a]=Hx(fy),c={log:void 0,userAgent:uu(),previews:void 0,retry:o,request:a},u=yield id(s,c,yy,Ay).request("GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts{?name}",{owner:r,repo:n,run_id:e,name:t});if(u.status!==200)throw new du(`Invalid response from GitHub API: ${u.status} (${(i=u?.headers)===null||i===void 0?void 0:i["x-github-request-id"]})`);if(u.data.artifacts.length===0)throw new pu(`Artifact not found for name: ${t}
119
119
  Please ensure that your artifact is not expired and the artifact was uploaded using a compatible version of toolkit/upload-artifact.
120
120
  For more information, visit the GitHub Artifacts FAQ: https://github.com/actions/toolkit/blob/main/packages/artifact/docs/faq.md`);let d=u.data.artifacts[0];return u.data.artifacts.length>1&&(d=u.data.artifacts.sort((p,m)=>m.id-p.id)[0],ie(`More than one artifact found for a single name, returning newest (id: ${d.id})`)),{artifact:{name:d.name,id:d.id,size:d.size_in_bytes,createdAt:d.created_at?new Date(d.created_at):void 0,digest:d.digest}}})}function D$e(t){return _$e(this,void 0,void 0,function*(){var e;let r=hu(),{workflowRunBackendId:n,workflowJobRunBackendId:s}=fu(),i={workflowRunBackendId:n,workflowJobRunBackendId:s,nameFilter:fs.create({value:t})},o=yield r.ListArtifacts(i);if(o.artifacts.length===0)throw new pu(`Artifact not found for name: ${t}
121
121
  Please ensure that your artifact is not expired and the artifact was uploaded using a compatible version of toolkit/upload-artifact.
@@ -139,7 +139,7 @@ If the error persists, please check whether Actions and API requests are operati
139
139
 
140
140
  Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
141
141
 
142
- If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`),n}})}}});var z$e=C(()=>{});var G$e={};cp(G$e,{ArtifactNotFoundError:()=>pu,DefaultArtifactClient:()=>im,FilesNotFoundError:()=>aA,GHESNotSupportedError:()=>Rp,InvalidResponseError:()=>du,NetworkError:()=>mu,UsageError:()=>Cf,default:()=>q2t});var $2t,q2t,PF=C(()=>{h7();z$e();vp();h7();$2t=new im,q2t=$2t});var eC,C7=C(()=>{"use strict";eC=class extends Error{status;fieldErrors;constructor(e,r={}){super(e),this.name="ScmApiError",this.status=r.status,this.fieldErrors=r.fieldErrors??[],r.cause!==void 0&&(this.cause=r.cause)}}});function tjt(t){if(!(t instanceof Error))return t;let e=t,r=typeof e.status=="number"?e.status:void 0,n=e.response?.data?.errors,s=Array.isArray(n)?n.filter(i=>!!i&&typeof i=="object").map(i=>({resource:typeof i.resource=="string"?i.resource:void 0,field:typeof i.field=="string"?i.field:void 0,code:typeof i.code=="string"?i.code:void 0})):[];return r===void 0&&s.length===0?t:new eC(t.message,{status:r,fieldErrors:s,cause:t})}var My,gqe=C(()=>{"use strict";Fx();C7();My=class{name="github";repository;auth;botLogin;cached;constructor(e,r,n){this.auth=e,this.repository=n??{owner:Lx.repo.owner,name:Lx.repo.repo},this.botLogin=r}async client(){let e=typeof this.auth=="string"?this.auth:await this.auth(),r=this.cached;return r?.token!==e&&(r={token:e,octokit:id(e)},this.cached=r),r.octokit}parseTriggerEvent(){let e=Lx,r=e.payload;if(e.eventName==="issue_comment")return{kind:"comment",action:"created",codeReviewNumber:r.issue?.number,comment:{body:r.comment?.body??"",author:r.comment?.user?.login??""},rawPayload:r};if(e.eventName==="workflow_dispatch")return{kind:"manual_dispatch",action:"dispatched",codeReviewNumber:r.inputs?.pr_number?parseInt(r.inputs.pr_number,10):void 0,dispatchInputs:r.inputs,rawPayload:r};let n=r.pull_request,s=r.action,i="opened";return s==="synchronize"?i="updated":s==="closed"?i="closed":(s==="opened"||s==="reopened")&&(i="opened"),{kind:"code_review",action:i,codeReviewNumber:n?.number,merged:n?.merged??!1,rawPayload:r}}async getCodeReview(e){let{owner:r,name:n}=this.repository,s=await this.client(),{data:i}=await s.rest.pulls.get({owner:r,repo:n,pull_number:e});return{number:i.number,title:i.title,body:i.body??"",state:i.merged?"merged":i.state==="closed"?"closed":"open",author:i.user?.login??"",baseRef:i.base.ref,baseSha:i.base.sha,headRef:i.head.ref,headSha:i.head.sha}}async listOpenCodeReviews(e){let{owner:r,name:n}=this.repository,s=await this.client(),{data:i}=await s.rest.pulls.list({owner:r,repo:n,state:"open",head:`${r}:${e}`,per_page:10});return i.map(o=>({number:o.number,title:o.title,body:o.body??"",state:"open",author:o.user?.login??"",baseRef:o.base.ref,baseSha:o.base.sha,headRef:o.head.ref,headSha:o.head.sha}))}async createCodeReview(e){let{owner:r,name:n}=this.repository,s=await this.client();try{let{data:i}=await s.rest.pulls.create({owner:r,repo:n,head:e.headBranch,base:e.baseBranch,title:e.title,body:e.body});return{number:i.number,title:i.title,body:i.body??"",state:"open",author:i.user?.login??"",baseRef:i.base.ref,baseSha:i.base.sha,headRef:i.head.ref,headSha:i.head.sha}}catch(i){throw tjt(i)}}async updateCodeReview(e){let{owner:r,name:n}=this.repository;await(await this.client()).rest.pulls.update({owner:r,repo:n,pull_number:e.number,...e.title!==void 0&&{title:e.title},...e.body!==void 0&&{body:e.body},...e.state!==void 0&&{state:e.state}})}async createComment(e,r){let{owner:n,name:s}=this.repository,i=await this.client(),{data:o}=await i.rest.issues.createComment({owner:n,repo:s,issue_number:e,body:r});return{id:o.id}}async updateComment(e,r){let{owner:n,name:s}=this.repository;await(await this.client()).rest.issues.updateComment({owner:n,repo:s,comment_id:e.id,body:r})}async findCommentByMarker(e,r){let{owner:n,name:s}=this.repository,i=await this.client();for await(let{data:o}of i.paginate.iterator(i.rest.issues.listComments,{owner:n,repo:s,issue_number:e,per_page:100,direction:"desc"}))for(let a of o)if(a.body?.includes(r))return{id:a.id};return null}async getPermissionLevel(e){let{owner:r,name:n}=this.repository,s=await this.client(),{data:i}=await s.rest.repos.getCollaboratorPermissionLevel({owner:r,repo:n,username:e}),o=i.permission;return o==="admin"?"admin":o==="write"||o==="maintain"?"write":o==="read"||o==="triage"?"read":"none"}async createCommitStatus(e){let{owner:r,name:n}=this.repository,s=e.status==="success"||e.status==="failure",i={owner:r,repo:n,head_sha:e.commitSha,name:e.name,status:s?"completed":e.status==="running"?"in_progress":"queued",...e.detailsUrl&&{details_url:e.detailsUrl},started_at:new Date().toISOString()};s&&(i.conclusion=e.status,i.completed_at=new Date().toISOString()),e.summary&&(i.output={title:e.name,summary:e.summary});let o=await this.client(),{data:a}=await o.rest.checks.create(i);return{id:a.id}}async updateCommitStatus(e,r){let{owner:n,name:s}=this.repository,i={owner:n,repo:s,check_run_id:e.id};r.status==="success"||r.status==="failure"?(i.status="completed",i.conclusion=r.status,i.completed_at=new Date().toISOString()):r.status==="running"?i.status="in_progress":r.status==="pending"&&(i.status="queued"),r.detailsUrl&&(i.details_url=r.detailsUrl),r.summary&&(i.output={title:r.name??"Skyramp Testbot",summary:r.summary}),await(await this.client()).rest.checks.update(i)}isCodeReviewAuthoredByBot(e){return e.author===this.botLogin}getRunUrl(){let{owner:e,name:r}=this.repository;return`${process.env.GITHUB_SERVER_URL??"https://github.com"}/${e}/${r}/actions/runs/${Lx.runId}`}getArtifactUrl(e){return`${this.getRunUrl()}/artifacts/${e}`}async getRunConclusion(){let{owner:e,name:r}=this.repository,n=await this.client(),{data:s}=await n.rest.actions.getWorkflowRun({owner:e,repo:r,run_id:Lx.runId});return s.conclusion==="cancelled"?"cancelled":s.conclusion==="success"?"success":s.conclusion==="failure"?"failure":"unknown"}async resolveRef(e,r){let n=r?.owner??this.repository.owner,s=r?.name??this.repository.name,i=await this.client(),{data:o}=await i.rest.git.getRef({owner:n,repo:s,ref:`heads/${e}`});return o.object.sha}}});var Aqe,yqe,tC,Eqe=C(()=>{"use strict";We();Aqe=H(require("os")),yqe=H(require("path")),tC=class{get tempDir(){return process.env.RUNNER_TEMP??yqe.join(Aqe.tmpdir(),"runner")}getInput(e,r){return Ue(e,r)}getBooleanInput(e){return lu(e)}setOutput(e,r){dt(e,r)}info(e){te(e)}warning(e){K(e)}error(e){jr(e)}notice(e){Ce(e)}debug(e){ie(e)}startGroup(e){zs(e)}endGroup(){Pn()}maskSecret(e){It(e)}exportVariable(e,r){Cs(e,r)}saveState(e,r){kn(e,r)}getState(e){return yR(e)}setFailed(e){ul(e)}}});var bqe={};cp(bqe,{GitHubActionsRuntime:()=>tC,GitHubPlatform:()=>My});var gN=C(()=>{"use strict";gqe();Eqe()});var wqe={};cp(wqe,{BOT_EMAIL:()=>Pc,BOT_GITHUB_LOGIN:()=>dd,BOT_NAME:()=>Ps,POM_CATALOG_FILE:()=>AN,STATE_FILE_NAME:()=>UF,VALIDATE_STAGED_FILES_LOG_FILE_NAME:()=>R7,WORKSPACE_FILE:()=>I7,skyrampTempDir:()=>pd,stateFilePath:()=>$F});function pd(){return S7.join(process.env.RUNNER_TEMP??"/tmp","skyramp")}function $F(){return S7.join(pd(),UF)}var S7,Ps,Pc,dd,I7,AN,R7,UF,kc=C(()=>{"use strict";S7=H(require("path")),Ps="Skyramp Testbot",Pc="test-bot@skyramp.dev",dd="skyramp-testbot[bot]",I7=".skyramp/workspace.yml",AN=".skyramp/skyramp-pom-catalog.md";R7="agent-log.repair-staged-files.ndjson",UF="analyze-changes-state.json"});var md,qF=C(()=>{md=class t extends Error{name="ProviderError";tryNextLink;constructor(e,r=!0){let n,s=!0;typeof r=="boolean"?(n=void 0,s=r):r!=null&&typeof r=="object"&&(n=r.logger,s=r.tryNextLink??!0),super(e),this.tryNextLink=s,Object.setPrototypeOf(this,t.prototype),n?.debug?.(`@smithy/property-provider ${s?"->":"(!)"} ${e}`)}static from(e,r=!0){return Object.assign(new this(e.message,r),e)}}});var rC,v7=C(()=>{qF();rC=class t extends md{name="CredentialsProviderError";constructor(e,r=!0){super(e,r),Object.setPrototypeOf(this,t.prototype)}}});var xqe,Cqe=C(()=>{qF();xqe=(...t)=>async()=>{if(t.length===0)throw new md("No providers in chain");let e;for(let r of t)try{return await r()}catch(n){if(e=n,n?.tryNextLink)continue;throw n}throw e}});var Sqe,Iqe=C(()=>{Sqe=t=>()=>Promise.resolve(t)});var HF,N7=C(()=>{HF=(t,e,r)=>{let n,s,i,o=!1,a=async()=>{s||(s=t());try{n=await s,i=!0,o=!1}finally{s=void 0}return n};return e===void 0?async c=>((!i||c?.forceRefresh)&&(n=await a()),n):async c=>((!i||c?.forceRefresh)&&(n=await a()),o?n:r&&!r(n)?(o=!0,n):(e(n)&&await a(),n))}});var Da,zF=C(()=>{Da=(t,e,r)=>{if(e in t){if(t[e]==="true")return!0;if(t[e]==="false")return!1;throw new Error(`Cannot load ${r} "${e}". Expected "true" or "false", got ${t[e]}.`)}}});var ho,GF=C(()=>{(function(t){t.ENV="env",t.CONFIG="shared config entry"})(ho||(ho={}))});var Rqe,vqe,T7,sjt,nC,jF=C(()=>{Rqe=require("node:os"),vqe=require("node:path"),T7={},sjt=()=>process&&process.geteuid?`${process.geteuid()}`:"DEFAULT",nC=()=>{let{HOME:t,USERPROFILE:e,HOMEPATH:r,HOMEDRIVE:n=`C:${vqe.sep}`}=process.env;if(t)return t;if(e)return e;if(r)return`${n}${r}`;let s=sjt();return T7[s]||(T7[s]=(0,Rqe.homedir)()),T7[s]}});var ijt,ojt,Nqe,Tqe=C(()=>{ijt="AWS_PROFILE",ojt="default",Nqe=t=>t.profile||process.env[ijt]||ojt});var Oy,Bqe=C(()=>{(function(t){t.HTTP="http",t.HTTPS="https"})(Oy||(Oy={}))});var dm,Pqe=C(()=>{(function(t){t.MD5="md5",t.CRC32="crc32",t.CRC32C="crc32c",t.SHA1="sha1",t.SHA256="sha256"})(dm||(dm={}))});var kqe=C(()=>{Pqe()});var sC,_qe=C(()=>{sC="__smithy_context"});var wh,Dqe=C(()=>{(function(t){t.PROFILE="profile",t.SSO_SESSION="sso-session",t.SERVICES="services"})(wh||(wh={}))});var Ly=C(()=>{Bqe();kqe();_qe();Dqe()});var Qqe,Mqe=C(()=>{Ly();Qqe=t=>Object.entries(t).filter(([e])=>{let r=e.indexOf(".");return r===-1?!1:Object.values(wh).includes(e.substring(0,r))}).reduce((e,[r,n])=>{let s=r.indexOf("."),i=r.substring(0,s)===wh.PROFILE?r.substring(s+1):r;return e[i]=n,e},{...t.default&&{default:t.default}})});var Oqe,ajt,Lqe,Fqe=C(()=>{Oqe=require("node:path");jF();ajt="AWS_CONFIG_FILE",Lqe=()=>process.env[ajt]||(0,Oqe.join)(nC(),".aws","config")});var Uqe,cjt,$qe,qqe=C(()=>{Uqe=require("node:path");jF();cjt="AWS_SHARED_CREDENTIALS_FILE",$qe=()=>process.env[cjt]||(0,Uqe.join)(nC(),".aws","credentials")});var ljt,ujt,B7,Hqe=C(()=>{Ly();ljt=/^([\w-]+)\s(["'])?([\w-@+.%:/]+)\2$/,ujt=["__proto__","profile __proto__"],B7=t=>{let e={},r,n;for(let s of t.split(/\r?\n/)){let i=s.split(/(^|\s)[;#]/)[0].trim();if(i[0]==="["&&i[i.length-1]==="]"){r=void 0,n=void 0;let a=i.substring(1,i.length-1),c=ljt.exec(a);if(c){let[,l,,u]=c;Object.values(wh).includes(l)&&(r=[l,u].join("."))}else r=a;if(ujt.includes(a))throw new Error(`Found invalid profile name "${a}"`)}else if(r){let a=i.indexOf("=");if(![0,-1].includes(a)){let[c,l]=[i.substring(0,a).trim(),i.substring(a+1).trim()];if(l==="")n=c;else{n&&s.trimStart()===s&&(n=void 0),e[r]=e[r]||{};let u=n?[n,c].join("."):c;e[r][u]=l}}}}return e}});var Gqe,P7,zqe,k7,jqe=C(()=>{Gqe=require("node:fs/promises"),P7={},zqe={},k7=(t,e)=>zqe[t]!==void 0?zqe[t]:((!P7[t]||e?.ignoreCache)&&(P7[t]=(0,Gqe.readFile)(t,"utf8")),P7[t])});var _7,Vqe,Wqe,Yqe=C(()=>{_7=require("node:path");Mqe();Fqe();qqe();jF();Hqe();jqe();Vqe=()=>({}),Wqe=async(t={})=>{let{filepath:e=$qe(),configFilepath:r=Lqe()}=t,n=nC(),s="~/",i=e;e.startsWith(s)&&(i=(0,_7.join)(n,e.slice(2)));let o=r;r.startsWith(s)&&(o=(0,_7.join)(n,r.slice(2)));let a=await Promise.all([k7(o,{ignoreCache:t.ignoreCache}).then(B7).then(Qqe).catch(Vqe),k7(i,{ignoreCache:t.ignoreCache}).then(B7).catch(Vqe)]);return{configFile:a[0],credentialsFile:a[1]}}});function VF(t){try{let e=new Set(Array.from(t.match(/([A-Z_]){3,}/g)??[]));return e.delete("CONFIG"),e.delete("CONFIG_PREFIX_SEPARATOR"),e.delete("ENV"),[...e].join(", ")}catch{return t}}var D7=C(()=>{});var Jqe,Kqe=C(()=>{v7();D7();Jqe=(t,e)=>async()=>{try{let r=t(process.env,e);if(r===void 0)throw new Error;return r}catch(r){throw new rC(r.message||`Not found in ENV: ${VF(t.toString())}`,{logger:e?.logger})}}});var Xqe,Zqe=C(()=>{v7();Tqe();Yqe();D7();Xqe=(t,{preferredFile:e="config",...r}={})=>async()=>{let n=Nqe(r),{configFile:s,credentialsFile:i}=await Wqe(r),o=i[n]||{},a=s[n]||{},c=e==="config"?{...o,...a}:{...a,...o};try{let u=t(c,e==="config"?s:i);if(u===void 0)throw new Error;return u}catch(l){throw new rC(l.message||`Not found in config files w/ profile [${n}]: ${VF(t.toString())}`,{logger:r.logger})}}});var djt,eHe,tHe=C(()=>{Iqe();djt=t=>typeof t=="function",eHe=t=>djt(t)?async()=>await t():Sqe(t)});var ys,Q7=C(()=>{Cqe();N7();Kqe();Zqe();tHe();ys=({environmentVariableSelector:t,configFileSelector:e,default:r},n={})=>{let{signingName:s,logger:i}=n;return HF(xqe(Jqe(t,{signingName:s,logger:i}),Xqe(e,n),eHe(r)))}});var rHe,nHe,M7,sHe=C(()=>{zF();GF();rHe="AWS_USE_DUALSTACK_ENDPOINT",nHe="use_dualstack_endpoint",M7={environmentVariableSelector:t=>Da(t,rHe,ho.ENV),configFileSelector:t=>Da(t,nHe,ho.CONFIG),default:!1}});var iHe,oHe,O7,aHe=C(()=>{zF();GF();iHe="AWS_USE_FIPS_ENDPOINT",oHe="use_fips_endpoint",O7={environmentVariableSelector:t=>Da(t,iHe,ho.ENV),configFileSelector:t=>Da(t,oHe,ho.CONFIG),default:!1}});var Fy,xh,iC,cHe,lHe,L7=C(()=>{Fy=(t,e)=>{let r=[];if(t&&r.push(t),e)for(let n of e)r.push(n);return r},xh=(t,e)=>`${t||"anonymous"}${e&&e.length>0?` (a.k.a. ${e.join(",")})`:""}`,iC=()=>{let t=[],e=[],r=!1,n=new Set,s=d=>d.sort((p,m)=>cHe[m.step]-cHe[p.step]||lHe[m.priority||"normal"]-lHe[p.priority||"normal"]),i=d=>{let p=!1,m=h=>{let f=Fy(h.name,h.aliases);if(f.includes(d)){p=!0;for(let A of f)n.delete(A);return!1}return!0};return t=t.filter(m),e=e.filter(m),p},o=d=>{let p=!1,m=h=>{if(h.middleware===d){p=!0;for(let f of Fy(h.name,h.aliases))n.delete(f);return!1}return!0};return t=t.filter(m),e=e.filter(m),p},a=d=>(t.forEach(p=>{d.add(p.middleware,{...p})}),e.forEach(p=>{d.addRelativeTo(p.middleware,{...p})}),d.identifyOnResolve?.(u.identifyOnResolve()),d),c=d=>{let p=[];return d.before.forEach(m=>{m.before.length===0&&m.after.length===0?p.push(m):p.push(...c(m))}),p.push(d),d.after.reverse().forEach(m=>{m.before.length===0&&m.after.length===0?p.push(m):p.push(...c(m))}),p},l=(d=!1)=>{let p=[],m=[],h={};return t.forEach(A=>{let b={...A,before:[],after:[]};for(let y of Fy(b.name,b.aliases))h[y]=b;p.push(b)}),e.forEach(A=>{let b={...A,before:[],after:[]};for(let y of Fy(b.name,b.aliases))h[y]=b;m.push(b)}),m.forEach(A=>{if(A.toMiddleware){let b=h[A.toMiddleware];if(b===void 0){if(d)return;throw new Error(`${A.toMiddleware} is not found when adding ${xh(A.name,A.aliases)} middleware ${A.relation} ${A.toMiddleware}`)}A.relation==="after"&&b.after.push(A),A.relation==="before"&&b.before.push(A)}}),s(p).map(c).reduce((A,b)=>(A.push(...b),A),[])},u={add:(d,p={})=>{let{name:m,override:h,aliases:f}=p,A={step:"initialize",priority:"normal",middleware:d,...p},b=Fy(m,f);if(b.length>0){if(b.some(y=>n.has(y))){if(!h)throw new Error(`Duplicate middleware name '${xh(m,f)}'`);for(let y of b){let x=t.findIndex(v=>v.name===y||v.aliases?.some(T=>T===y));if(x===-1)continue;let I=t[x];if(I.step!==A.step||A.priority!==I.priority)throw new Error(`"${xh(I.name,I.aliases)}" middleware with ${I.priority} priority in ${I.step} step cannot be overridden by "${xh(m,f)}" middleware with ${A.priority} priority in ${A.step} step.`);t.splice(x,1)}}for(let y of b)n.add(y)}t.push(A)},addRelativeTo:(d,p)=>{let{name:m,override:h,aliases:f}=p,A={middleware:d,...p},b=Fy(m,f);if(b.length>0){if(b.some(y=>n.has(y))){if(!h)throw new Error(`Duplicate middleware name '${xh(m,f)}'`);for(let y of b){let x=e.findIndex(v=>v.name===y||v.aliases?.some(T=>T===y));if(x===-1)continue;let I=e[x];if(I.toMiddleware!==A.toMiddleware||I.relation!==A.relation)throw new Error(`"${xh(I.name,I.aliases)}" middleware ${I.relation} "${I.toMiddleware}" middleware cannot be overridden by "${xh(m,f)}" middleware ${A.relation} "${A.toMiddleware}" middleware.`);e.splice(x,1)}}for(let y of b)n.add(y)}e.push(A)},clone:()=>a(iC()),use:d=>{d.applyToStack(u)},remove:d=>typeof d=="string"?i(d):o(d),removeByTag:d=>{let p=!1,m=h=>{let{tags:f,name:A,aliases:b}=h;if(f&&f.includes(d)){let y=Fy(A,b);for(let x of y)n.delete(x);return p=!0,!1}return!0};return t=t.filter(m),e=e.filter(m),p},concat:d=>{let p=a(iC());return p.use(d),p.identifyOnResolve(r||p.identifyOnResolve()||(d.identifyOnResolve?.()??!1)),p},applyToStack:a,identify:()=>l(!0).map(d=>{let p=d.step??d.relation+" "+d.toMiddleware;return xh(d.name,d.aliases)+" - "+p}),identifyOnResolve(d){return typeof d=="boolean"&&(r=d),r},resolve:(d,p)=>{for(let m of l().map(h=>h.middleware).reverse())d=m(d,p);return r&&console.log(u.identify()),d}};return u},cHe={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},lHe={high:3,normal:2,low:1}});var go,uHe=C(()=>{Ly();go=t=>t[sC]||(t[sC]={})});function qr(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var F7=C(()=>{});function pjt(t){return Object.keys(t).reduce((e,r)=>{let n=t[r];return{...e,[r]:Array.isArray(n)?[...n]:n}},{})}var Or,dHe=C(()=>{Or=class t{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?e.protocol.slice(-1)!==":"?`${e.protocol}:`:e.protocol:"https:",this.path=e.path?e.path.charAt(0)!=="/"?`/${e.path}`:e.path:"/",this.username=e.username,this.password=e.password,this.fragment=e.fragment}static clone(e){let r=new t({...e,headers:{...e.headers}});return r.query&&(r.query=pjt(r.query)),r}static isInstance(e){if(!e)return!1;let r=e;return"method"in r&&"protocol"in r&&"hostname"in r&&"path"in r&&typeof r.query=="object"&&typeof r.headers=="object"}clone(){return t.clone(this)}}});var Ao,pHe=C(()=>{Ao=class{statusCode;reason;headers;body;constructor(e){this.statusCode=e.statusCode,this.reason=e.reason,this.headers=e.headers||{},this.body=e.body}static isInstance(e){if(!e)return!1;let r=e;return typeof r.statusCode=="number"&&typeof r.headers=="object"}}});var mjt,fd,mHe=C(()=>{mjt=new RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),fd=(t,e=!1)=>{if(!e)return mjt.test(t);let r=t.split(".");for(let n of r)if(!fd(n))return!1;return!0}});function U7(t){return/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/.test(t)}var fHe=C(()=>{});var yo,hHe=C(()=>{yo=t=>{if(typeof t=="function")return t;let e=Promise.resolve(t);return()=>e}});function gHe(t){let e={};if(t=t.replace(/^\?/,""),t)for(let r of t.split("&")){let[n,s=null]=r.split("=");n=decodeURIComponent(n),s&&(s=decodeURIComponent(s)),n in e?Array.isArray(e[n])?e[n].push(s):e[n]=[e[n],s]:e[n]=s}return e}var AHe=C(()=>{});var Ch,$7=C(()=>{AHe();Ch=t=>{if(typeof t=="string")return Ch(new URL(t));let{hostname:e,pathname:r,port:n,protocol:s,search:i}=t,o;return i&&(o=gHe(i)),{hostname:e,port:n?parseInt(n):void 0,protocol:s,path:r,query:o}}});var Sh,yHe=C(()=>{F7();$7();Sh=t=>{if(typeof t=="object"){if("url"in t){let e=Ch(t.url);if(t.headers){e.headers={};for(let r in t.headers)qr(t.headers,r)&&(e.headers[r.toLowerCase()]=t.headers[r].join(", "))}return e}return t}return Ch(t)}});var Lr=C(()=>{uHe();F7();dHe();pHe();mHe();fHe();hHe();$7();yHe()});var oC,EHe=C(()=>{L7();oC=class{config;middlewareStack=iC();initConfig;handlers;constructor(e){this.config=e;let{protocol:r,protocolSettings:n}=e;n&&typeof r=="function"&&(e.protocol=new r(n))}send(e,r,n){let s=typeof r!="function"?r:void 0,i=typeof r=="function"?r:n,o=s===void 0&&this.config.cacheMiddleware===!0,a;if(o){this.handlers||(this.handlers=new WeakMap);let c=this.handlers;c.has(e.constructor)?a=c.get(e.constructor):(a=e.resolveMiddleware(this.middlewareStack,this.config,s),c.set(e.constructor,a))}else delete this.handlers,a=e.resolveMiddleware(this.middlewareStack,this.config,s);if(i)a(e).then(c=>i(null,c.output),c=>i(c)).catch(()=>{});else return a(e).then(c=>c.output)}destroy(){this.config?.requestHandler?.destroy?.(),delete this.handlers}}});var Uy,q7=C(()=>{Uy=t=>typeof t=="function"?t():t});var WF,H7=C(()=>{WF=(t,e,r,n,s)=>({name:e,namespace:t,traits:r,input:n,output:s})});var bHe,z7,wHe=C(()=>{Lr();H7();bHe=t=>(e,r)=>async n=>{let{response:s}=await e(n),{operationSchema:i}=go(r),[,o,a,c,l,u]=i??[];try{let d=await t.protocol.deserializeResponse(WF(o,a,c,l,u),{...t,...r},s);return{response:s,output:d}}catch(d){if(Object.defineProperty(d,"$response",{value:s,enumerable:!1,writable:!1,configurable:!1}),!("$metadata"in d)){let p="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";try{d.message+=`
142
+ If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`),n}})}}});var z$e=C(()=>{});var G$e={};cp(G$e,{ArtifactNotFoundError:()=>pu,DefaultArtifactClient:()=>im,FilesNotFoundError:()=>aA,GHESNotSupportedError:()=>Rp,InvalidResponseError:()=>du,NetworkError:()=>mu,UsageError:()=>Cf,default:()=>q2t});var $2t,q2t,PF=C(()=>{h7();z$e();vp();h7();$2t=new im,q2t=$2t});var eC,C7=C(()=>{"use strict";eC=class extends Error{status;fieldErrors;constructor(e,r={}){super(e),this.name="ScmApiError",this.status=r.status,this.fieldErrors=r.fieldErrors??[],r.cause!==void 0&&(this.cause=r.cause)}}});function tjt(t){if(!(t instanceof Error))return t;let e=t,r=typeof e.status=="number"?e.status:void 0,n=e.response?.data?.errors,s=Array.isArray(n)?n.filter(i=>!!i&&typeof i=="object").map(i=>({resource:typeof i.resource=="string"?i.resource:void 0,field:typeof i.field=="string"?i.field:void 0,code:typeof i.code=="string"?i.code:void 0})):[];return r===void 0&&s.length===0?t:new eC(t.message,{status:r,fieldErrors:s,cause:t})}var My,gqe=C(()=>{"use strict";Fx();C7();My=class{name="github";repository;auth;botLogin;cached;constructor(e,r,n){this.auth=e,this.repository=n??{owner:Lx.repo.owner,name:Lx.repo.repo},this.botLogin=r}async client(){let e=typeof this.auth=="string"?this.auth:await this.auth(),r=this.cached;return r?.token!==e&&(r={token:e,octokit:id(e)},this.cached=r),r.octokit}parseTriggerEvent(){let e=Lx,r=e.payload;if(e.eventName==="issue_comment")return{kind:"comment",action:"created",codeReviewNumber:r.issue?.number,comment:{body:r.comment?.body??"",author:r.comment?.user?.login??""},rawPayload:r};if(e.eventName==="workflow_dispatch")return{kind:"manual_dispatch",action:"dispatched",codeReviewNumber:r.inputs?.pr_number?parseInt(r.inputs.pr_number,10):void 0,dispatchInputs:r.inputs,rawPayload:r};let n=r.pull_request,s=r.action,i="opened";return s==="synchronize"?i="updated":s==="closed"?i="closed":(s==="opened"||s==="reopened")&&(i="opened"),{kind:"code_review",action:i,codeReviewNumber:n?.number,merged:n?.merged??!1,rawPayload:r}}async getCodeReview(e){let{owner:r,name:n}=this.repository,s=await this.client(),{data:i}=await s.rest.pulls.get({owner:r,repo:n,pull_number:e});return{number:i.number,title:i.title,body:i.body??"",state:i.merged?"merged":i.state==="closed"?"closed":"open",author:i.user?.login??"",baseRef:i.base.ref,baseSha:i.base.sha,headRef:i.head.ref,headSha:i.head.sha}}async listOpenCodeReviews(e){let{owner:r,name:n}=this.repository,s=await this.client(),{data:i}=await s.rest.pulls.list({owner:r,repo:n,state:"open",head:`${r}:${e}`,per_page:10});return i.map(o=>({number:o.number,title:o.title,body:o.body??"",state:"open",author:o.user?.login??"",baseRef:o.base.ref,baseSha:o.base.sha,headRef:o.head.ref,headSha:o.head.sha}))}async createCodeReview(e){let{owner:r,name:n}=this.repository,s=await this.client();try{let{data:i}=await s.rest.pulls.create({owner:r,repo:n,head:e.headBranch,base:e.baseBranch,title:e.title,body:e.body});return{number:i.number,title:i.title,body:i.body??"",state:"open",author:i.user?.login??"",baseRef:i.base.ref,baseSha:i.base.sha,headRef:i.head.ref,headSha:i.head.sha}}catch(i){throw tjt(i)}}async updateCodeReview(e){let{owner:r,name:n}=this.repository;await(await this.client()).rest.pulls.update({owner:r,repo:n,pull_number:e.number,...e.title!==void 0&&{title:e.title},...e.body!==void 0&&{body:e.body},...e.state!==void 0&&{state:e.state}})}async createComment(e,r){let{owner:n,name:s}=this.repository,i=await this.client(),{data:o}=await i.rest.issues.createComment({owner:n,repo:s,issue_number:e,body:r});return{id:o.id}}async updateComment(e,r){let{owner:n,name:s}=this.repository;await(await this.client()).rest.issues.updateComment({owner:n,repo:s,comment_id:e.id,body:r})}async findCommentByMarker(e,r){let{owner:n,name:s}=this.repository,i=await this.client();for await(let{data:o}of i.paginate.iterator(i.rest.issues.listComments,{owner:n,repo:s,issue_number:e,per_page:100,direction:"desc"}))for(let a of o)if(a.body?.includes(r))return{id:a.id};return null}async getPermissionLevel(e){let{owner:r,name:n}=this.repository,s=await this.client(),{data:i}=await s.rest.repos.getCollaboratorPermissionLevel({owner:r,repo:n,username:e}),o=i.permission;return o==="admin"?"admin":o==="write"||o==="maintain"?"write":o==="read"||o==="triage"?"read":"none"}async createCommitStatus(e){let{owner:r,name:n}=this.repository,s=e.status==="success"||e.status==="failure",i={owner:r,repo:n,head_sha:e.commitSha,name:e.name,status:s?"completed":e.status==="running"?"in_progress":"queued",...e.detailsUrl&&{details_url:e.detailsUrl},started_at:new Date().toISOString()};s&&(i.conclusion=e.status,i.completed_at=new Date().toISOString()),e.summary&&(i.output={title:e.name,summary:e.summary});let o=await this.client(),{data:a}=await o.rest.checks.create(i);return{id:a.id}}async updateCommitStatus(e,r){let{owner:n,name:s}=this.repository,i={owner:n,repo:s,check_run_id:e.id};r.status==="success"||r.status==="failure"?(i.status="completed",i.conclusion=r.status,i.completed_at=new Date().toISOString()):r.status==="running"?i.status="in_progress":r.status==="pending"&&(i.status="queued"),r.detailsUrl&&(i.details_url=r.detailsUrl),r.summary&&(i.output={title:r.name??"Skyramp Testbot",summary:r.summary}),await(await this.client()).rest.checks.update(i)}isCodeReviewAuthoredByBot(e){return e.author===this.botLogin}getRunUrl(){let{owner:e,name:r}=this.repository;return`${process.env.GITHUB_SERVER_URL??"https://github.com"}/${e}/${r}/actions/runs/${Lx.runId}`}getArtifactUrl(e){return`${this.getRunUrl()}/artifacts/${e}`}async getRunConclusion(){let{owner:e,name:r}=this.repository,n=await this.client(),{data:s}=await n.rest.actions.getWorkflowRun({owner:e,repo:r,run_id:Lx.runId});return s.conclusion==="cancelled"?"cancelled":s.conclusion==="success"?"success":s.conclusion==="failure"?"failure":"unknown"}async resolveRef(e,r){let n=r?.owner??this.repository.owner,s=r?.name??this.repository.name,i=await this.client(),{data:o}=await i.rest.git.getRef({owner:n,repo:s,ref:`heads/${e}`});return o.object.sha}}});var Aqe,yqe,tC,Eqe=C(()=>{"use strict";We();Aqe=H(require("os")),yqe=H(require("path")),tC=class{get tempDir(){return process.env.RUNNER_TEMP??yqe.join(Aqe.tmpdir(),"runner")}getInput(e,r){return Fe(e,r)}getBooleanInput(e){return lu(e)}setOutput(e,r){dt(e,r)}info(e){te(e)}warning(e){K(e)}error(e){jr(e)}notice(e){Ce(e)}debug(e){ie(e)}startGroup(e){zs(e)}endGroup(){Pn()}maskSecret(e){It(e)}exportVariable(e,r){Cs(e,r)}saveState(e,r){kn(e,r)}getState(e){return yR(e)}setFailed(e){ul(e)}}});var bqe={};cp(bqe,{GitHubActionsRuntime:()=>tC,GitHubPlatform:()=>My});var gN=C(()=>{"use strict";gqe();Eqe()});var wqe={};cp(wqe,{BOT_EMAIL:()=>Pc,BOT_GITHUB_LOGIN:()=>dd,BOT_NAME:()=>Ps,POM_CATALOG_FILE:()=>AN,STATE_FILE_NAME:()=>UF,VALIDATE_STAGED_FILES_LOG_FILE_NAME:()=>R7,WORKSPACE_FILE:()=>I7,skyrampTempDir:()=>pd,stateFilePath:()=>$F});function pd(){return S7.join(process.env.RUNNER_TEMP??"/tmp","skyramp")}function $F(){return S7.join(pd(),UF)}var S7,Ps,Pc,dd,I7,AN,R7,UF,kc=C(()=>{"use strict";S7=H(require("path")),Ps="Skyramp Testbot",Pc="test-bot@skyramp.dev",dd="skyramp-testbot[bot]",I7=".skyramp/workspace.yml",AN=".skyramp/skyramp-pom-catalog.md";R7="agent-log.repair-staged-files.ndjson",UF="analyze-changes-state.json"});var md,qF=C(()=>{md=class t extends Error{name="ProviderError";tryNextLink;constructor(e,r=!0){let n,s=!0;typeof r=="boolean"?(n=void 0,s=r):r!=null&&typeof r=="object"&&(n=r.logger,s=r.tryNextLink??!0),super(e),this.tryNextLink=s,Object.setPrototypeOf(this,t.prototype),n?.debug?.(`@smithy/property-provider ${s?"->":"(!)"} ${e}`)}static from(e,r=!0){return Object.assign(new this(e.message,r),e)}}});var rC,v7=C(()=>{qF();rC=class t extends md{name="CredentialsProviderError";constructor(e,r=!0){super(e,r),Object.setPrototypeOf(this,t.prototype)}}});var xqe,Cqe=C(()=>{qF();xqe=(...t)=>async()=>{if(t.length===0)throw new md("No providers in chain");let e;for(let r of t)try{return await r()}catch(n){if(e=n,n?.tryNextLink)continue;throw n}throw e}});var Sqe,Iqe=C(()=>{Sqe=t=>()=>Promise.resolve(t)});var HF,N7=C(()=>{HF=(t,e,r)=>{let n,s,i,o=!1,a=async()=>{s||(s=t());try{n=await s,i=!0,o=!1}finally{s=void 0}return n};return e===void 0?async c=>((!i||c?.forceRefresh)&&(n=await a()),n):async c=>((!i||c?.forceRefresh)&&(n=await a()),o?n:r&&!r(n)?(o=!0,n):(e(n)&&await a(),n))}});var Da,zF=C(()=>{Da=(t,e,r)=>{if(e in t){if(t[e]==="true")return!0;if(t[e]==="false")return!1;throw new Error(`Cannot load ${r} "${e}". Expected "true" or "false", got ${t[e]}.`)}}});var ho,GF=C(()=>{(function(t){t.ENV="env",t.CONFIG="shared config entry"})(ho||(ho={}))});var Rqe,vqe,T7,sjt,nC,jF=C(()=>{Rqe=require("node:os"),vqe=require("node:path"),T7={},sjt=()=>process&&process.geteuid?`${process.geteuid()}`:"DEFAULT",nC=()=>{let{HOME:t,USERPROFILE:e,HOMEPATH:r,HOMEDRIVE:n=`C:${vqe.sep}`}=process.env;if(t)return t;if(e)return e;if(r)return`${n}${r}`;let s=sjt();return T7[s]||(T7[s]=(0,Rqe.homedir)()),T7[s]}});var ijt,ojt,Nqe,Tqe=C(()=>{ijt="AWS_PROFILE",ojt="default",Nqe=t=>t.profile||process.env[ijt]||ojt});var Oy,Bqe=C(()=>{(function(t){t.HTTP="http",t.HTTPS="https"})(Oy||(Oy={}))});var dm,Pqe=C(()=>{(function(t){t.MD5="md5",t.CRC32="crc32",t.CRC32C="crc32c",t.SHA1="sha1",t.SHA256="sha256"})(dm||(dm={}))});var kqe=C(()=>{Pqe()});var sC,_qe=C(()=>{sC="__smithy_context"});var wh,Dqe=C(()=>{(function(t){t.PROFILE="profile",t.SSO_SESSION="sso-session",t.SERVICES="services"})(wh||(wh={}))});var Ly=C(()=>{Bqe();kqe();_qe();Dqe()});var Qqe,Mqe=C(()=>{Ly();Qqe=t=>Object.entries(t).filter(([e])=>{let r=e.indexOf(".");return r===-1?!1:Object.values(wh).includes(e.substring(0,r))}).reduce((e,[r,n])=>{let s=r.indexOf("."),i=r.substring(0,s)===wh.PROFILE?r.substring(s+1):r;return e[i]=n,e},{...t.default&&{default:t.default}})});var Oqe,ajt,Lqe,Fqe=C(()=>{Oqe=require("node:path");jF();ajt="AWS_CONFIG_FILE",Lqe=()=>process.env[ajt]||(0,Oqe.join)(nC(),".aws","config")});var Uqe,cjt,$qe,qqe=C(()=>{Uqe=require("node:path");jF();cjt="AWS_SHARED_CREDENTIALS_FILE",$qe=()=>process.env[cjt]||(0,Uqe.join)(nC(),".aws","credentials")});var ljt,ujt,B7,Hqe=C(()=>{Ly();ljt=/^([\w-]+)\s(["'])?([\w-@+.%:/]+)\2$/,ujt=["__proto__","profile __proto__"],B7=t=>{let e={},r,n;for(let s of t.split(/\r?\n/)){let i=s.split(/(^|\s)[;#]/)[0].trim();if(i[0]==="["&&i[i.length-1]==="]"){r=void 0,n=void 0;let a=i.substring(1,i.length-1),c=ljt.exec(a);if(c){let[,l,,u]=c;Object.values(wh).includes(l)&&(r=[l,u].join("."))}else r=a;if(ujt.includes(a))throw new Error(`Found invalid profile name "${a}"`)}else if(r){let a=i.indexOf("=");if(![0,-1].includes(a)){let[c,l]=[i.substring(0,a).trim(),i.substring(a+1).trim()];if(l==="")n=c;else{n&&s.trimStart()===s&&(n=void 0),e[r]=e[r]||{};let u=n?[n,c].join("."):c;e[r][u]=l}}}}return e}});var Gqe,P7,zqe,k7,jqe=C(()=>{Gqe=require("node:fs/promises"),P7={},zqe={},k7=(t,e)=>zqe[t]!==void 0?zqe[t]:((!P7[t]||e?.ignoreCache)&&(P7[t]=(0,Gqe.readFile)(t,"utf8")),P7[t])});var _7,Vqe,Wqe,Yqe=C(()=>{_7=require("node:path");Mqe();Fqe();qqe();jF();Hqe();jqe();Vqe=()=>({}),Wqe=async(t={})=>{let{filepath:e=$qe(),configFilepath:r=Lqe()}=t,n=nC(),s="~/",i=e;e.startsWith(s)&&(i=(0,_7.join)(n,e.slice(2)));let o=r;r.startsWith(s)&&(o=(0,_7.join)(n,r.slice(2)));let a=await Promise.all([k7(o,{ignoreCache:t.ignoreCache}).then(B7).then(Qqe).catch(Vqe),k7(i,{ignoreCache:t.ignoreCache}).then(B7).catch(Vqe)]);return{configFile:a[0],credentialsFile:a[1]}}});function VF(t){try{let e=new Set(Array.from(t.match(/([A-Z_]){3,}/g)??[]));return e.delete("CONFIG"),e.delete("CONFIG_PREFIX_SEPARATOR"),e.delete("ENV"),[...e].join(", ")}catch{return t}}var D7=C(()=>{});var Jqe,Kqe=C(()=>{v7();D7();Jqe=(t,e)=>async()=>{try{let r=t(process.env,e);if(r===void 0)throw new Error;return r}catch(r){throw new rC(r.message||`Not found in ENV: ${VF(t.toString())}`,{logger:e?.logger})}}});var Xqe,Zqe=C(()=>{v7();Tqe();Yqe();D7();Xqe=(t,{preferredFile:e="config",...r}={})=>async()=>{let n=Nqe(r),{configFile:s,credentialsFile:i}=await Wqe(r),o=i[n]||{},a=s[n]||{},c=e==="config"?{...o,...a}:{...a,...o};try{let u=t(c,e==="config"?s:i);if(u===void 0)throw new Error;return u}catch(l){throw new rC(l.message||`Not found in config files w/ profile [${n}]: ${VF(t.toString())}`,{logger:r.logger})}}});var djt,eHe,tHe=C(()=>{Iqe();djt=t=>typeof t=="function",eHe=t=>djt(t)?async()=>await t():Sqe(t)});var ys,Q7=C(()=>{Cqe();N7();Kqe();Zqe();tHe();ys=({environmentVariableSelector:t,configFileSelector:e,default:r},n={})=>{let{signingName:s,logger:i}=n;return HF(xqe(Jqe(t,{signingName:s,logger:i}),Xqe(e,n),eHe(r)))}});var rHe,nHe,M7,sHe=C(()=>{zF();GF();rHe="AWS_USE_DUALSTACK_ENDPOINT",nHe="use_dualstack_endpoint",M7={environmentVariableSelector:t=>Da(t,rHe,ho.ENV),configFileSelector:t=>Da(t,nHe,ho.CONFIG),default:!1}});var iHe,oHe,O7,aHe=C(()=>{zF();GF();iHe="AWS_USE_FIPS_ENDPOINT",oHe="use_fips_endpoint",O7={environmentVariableSelector:t=>Da(t,iHe,ho.ENV),configFileSelector:t=>Da(t,oHe,ho.CONFIG),default:!1}});var Fy,xh,iC,cHe,lHe,L7=C(()=>{Fy=(t,e)=>{let r=[];if(t&&r.push(t),e)for(let n of e)r.push(n);return r},xh=(t,e)=>`${t||"anonymous"}${e&&e.length>0?` (a.k.a. ${e.join(",")})`:""}`,iC=()=>{let t=[],e=[],r=!1,n=new Set,s=d=>d.sort((p,m)=>cHe[m.step]-cHe[p.step]||lHe[m.priority||"normal"]-lHe[p.priority||"normal"]),i=d=>{let p=!1,m=h=>{let f=Fy(h.name,h.aliases);if(f.includes(d)){p=!0;for(let A of f)n.delete(A);return!1}return!0};return t=t.filter(m),e=e.filter(m),p},o=d=>{let p=!1,m=h=>{if(h.middleware===d){p=!0;for(let f of Fy(h.name,h.aliases))n.delete(f);return!1}return!0};return t=t.filter(m),e=e.filter(m),p},a=d=>(t.forEach(p=>{d.add(p.middleware,{...p})}),e.forEach(p=>{d.addRelativeTo(p.middleware,{...p})}),d.identifyOnResolve?.(u.identifyOnResolve()),d),c=d=>{let p=[];return d.before.forEach(m=>{m.before.length===0&&m.after.length===0?p.push(m):p.push(...c(m))}),p.push(d),d.after.reverse().forEach(m=>{m.before.length===0&&m.after.length===0?p.push(m):p.push(...c(m))}),p},l=(d=!1)=>{let p=[],m=[],h={};return t.forEach(A=>{let b={...A,before:[],after:[]};for(let y of Fy(b.name,b.aliases))h[y]=b;p.push(b)}),e.forEach(A=>{let b={...A,before:[],after:[]};for(let y of Fy(b.name,b.aliases))h[y]=b;m.push(b)}),m.forEach(A=>{if(A.toMiddleware){let b=h[A.toMiddleware];if(b===void 0){if(d)return;throw new Error(`${A.toMiddleware} is not found when adding ${xh(A.name,A.aliases)} middleware ${A.relation} ${A.toMiddleware}`)}A.relation==="after"&&b.after.push(A),A.relation==="before"&&b.before.push(A)}}),s(p).map(c).reduce((A,b)=>(A.push(...b),A),[])},u={add:(d,p={})=>{let{name:m,override:h,aliases:f}=p,A={step:"initialize",priority:"normal",middleware:d,...p},b=Fy(m,f);if(b.length>0){if(b.some(y=>n.has(y))){if(!h)throw new Error(`Duplicate middleware name '${xh(m,f)}'`);for(let y of b){let x=t.findIndex(v=>v.name===y||v.aliases?.some(T=>T===y));if(x===-1)continue;let I=t[x];if(I.step!==A.step||A.priority!==I.priority)throw new Error(`"${xh(I.name,I.aliases)}" middleware with ${I.priority} priority in ${I.step} step cannot be overridden by "${xh(m,f)}" middleware with ${A.priority} priority in ${A.step} step.`);t.splice(x,1)}}for(let y of b)n.add(y)}t.push(A)},addRelativeTo:(d,p)=>{let{name:m,override:h,aliases:f}=p,A={middleware:d,...p},b=Fy(m,f);if(b.length>0){if(b.some(y=>n.has(y))){if(!h)throw new Error(`Duplicate middleware name '${xh(m,f)}'`);for(let y of b){let x=e.findIndex(v=>v.name===y||v.aliases?.some(T=>T===y));if(x===-1)continue;let I=e[x];if(I.toMiddleware!==A.toMiddleware||I.relation!==A.relation)throw new Error(`"${xh(I.name,I.aliases)}" middleware ${I.relation} "${I.toMiddleware}" middleware cannot be overridden by "${xh(m,f)}" middleware ${A.relation} "${A.toMiddleware}" middleware.`);e.splice(x,1)}}for(let y of b)n.add(y)}e.push(A)},clone:()=>a(iC()),use:d=>{d.applyToStack(u)},remove:d=>typeof d=="string"?i(d):o(d),removeByTag:d=>{let p=!1,m=h=>{let{tags:f,name:A,aliases:b}=h;if(f&&f.includes(d)){let y=Fy(A,b);for(let x of y)n.delete(x);return p=!0,!1}return!0};return t=t.filter(m),e=e.filter(m),p},concat:d=>{let p=a(iC());return p.use(d),p.identifyOnResolve(r||p.identifyOnResolve()||(d.identifyOnResolve?.()??!1)),p},applyToStack:a,identify:()=>l(!0).map(d=>{let p=d.step??d.relation+" "+d.toMiddleware;return xh(d.name,d.aliases)+" - "+p}),identifyOnResolve(d){return typeof d=="boolean"&&(r=d),r},resolve:(d,p)=>{for(let m of l().map(h=>h.middleware).reverse())d=m(d,p);return r&&console.log(u.identify()),d}};return u},cHe={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},lHe={high:3,normal:2,low:1}});var go,uHe=C(()=>{Ly();go=t=>t[sC]||(t[sC]={})});function qr(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var F7=C(()=>{});function pjt(t){return Object.keys(t).reduce((e,r)=>{let n=t[r];return{...e,[r]:Array.isArray(n)?[...n]:n}},{})}var Or,dHe=C(()=>{Or=class t{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?e.protocol.slice(-1)!==":"?`${e.protocol}:`:e.protocol:"https:",this.path=e.path?e.path.charAt(0)!=="/"?`/${e.path}`:e.path:"/",this.username=e.username,this.password=e.password,this.fragment=e.fragment}static clone(e){let r=new t({...e,headers:{...e.headers}});return r.query&&(r.query=pjt(r.query)),r}static isInstance(e){if(!e)return!1;let r=e;return"method"in r&&"protocol"in r&&"hostname"in r&&"path"in r&&typeof r.query=="object"&&typeof r.headers=="object"}clone(){return t.clone(this)}}});var Ao,pHe=C(()=>{Ao=class{statusCode;reason;headers;body;constructor(e){this.statusCode=e.statusCode,this.reason=e.reason,this.headers=e.headers||{},this.body=e.body}static isInstance(e){if(!e)return!1;let r=e;return typeof r.statusCode=="number"&&typeof r.headers=="object"}}});var mjt,fd,mHe=C(()=>{mjt=new RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),fd=(t,e=!1)=>{if(!e)return mjt.test(t);let r=t.split(".");for(let n of r)if(!fd(n))return!1;return!0}});function U7(t){return/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/.test(t)}var fHe=C(()=>{});var yo,hHe=C(()=>{yo=t=>{if(typeof t=="function")return t;let e=Promise.resolve(t);return()=>e}});function gHe(t){let e={};if(t=t.replace(/^\?/,""),t)for(let r of t.split("&")){let[n,s=null]=r.split("=");n=decodeURIComponent(n),s&&(s=decodeURIComponent(s)),n in e?Array.isArray(e[n])?e[n].push(s):e[n]=[e[n],s]:e[n]=s}return e}var AHe=C(()=>{});var Ch,$7=C(()=>{AHe();Ch=t=>{if(typeof t=="string")return Ch(new URL(t));let{hostname:e,pathname:r,port:n,protocol:s,search:i}=t,o;return i&&(o=gHe(i)),{hostname:e,port:n?parseInt(n):void 0,protocol:s,path:r,query:o}}});var Sh,yHe=C(()=>{F7();$7();Sh=t=>{if(typeof t=="object"){if("url"in t){let e=Ch(t.url);if(t.headers){e.headers={};for(let r in t.headers)qr(t.headers,r)&&(e.headers[r.toLowerCase()]=t.headers[r].join(", "))}return e}return t}return Ch(t)}});var Lr=C(()=>{uHe();F7();dHe();pHe();mHe();fHe();hHe();$7();yHe()});var oC,EHe=C(()=>{L7();oC=class{config;middlewareStack=iC();initConfig;handlers;constructor(e){this.config=e;let{protocol:r,protocolSettings:n}=e;n&&typeof r=="function"&&(e.protocol=new r(n))}send(e,r,n){let s=typeof r!="function"?r:void 0,i=typeof r=="function"?r:n,o=s===void 0&&this.config.cacheMiddleware===!0,a;if(o){this.handlers||(this.handlers=new WeakMap);let c=this.handlers;c.has(e.constructor)?a=c.get(e.constructor):(a=e.resolveMiddleware(this.middlewareStack,this.config,s),c.set(e.constructor,a))}else delete this.handlers,a=e.resolveMiddleware(this.middlewareStack,this.config,s);if(i)a(e).then(c=>i(null,c.output),c=>i(c)).catch(()=>{});else return a(e).then(c=>c.output)}destroy(){this.config?.requestHandler?.destroy?.(),delete this.handlers}}});var Uy,q7=C(()=>{Uy=t=>typeof t=="function"?t():t});var WF,H7=C(()=>{WF=(t,e,r,n,s)=>({name:e,namespace:t,traits:r,input:n,output:s})});var bHe,z7,wHe=C(()=>{Lr();H7();bHe=t=>(e,r)=>async n=>{let{response:s}=await e(n),{operationSchema:i}=go(r),[,o,a,c,l,u]=i??[];try{let d=await t.protocol.deserializeResponse(WF(o,a,c,l,u),{...t,...r},s);return{response:s,output:d}}catch(d){if(Object.defineProperty(d,"$response",{value:s,enumerable:!1,writable:!1,configurable:!1}),!("$metadata"in d)){let p="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";try{d.message+=`
143
143
  `+p}catch{!r.logger||r.logger?.constructor?.name==="NoOpLogger"?console.warn(p):r.logger?.warn?.(p)}typeof d.$responseBodyText<"u"&&d.$response&&(d.$response.body=d.$responseBodyText);try{if(Ao.isInstance(s)){let{headers:m={},statusCode:h}=s,f=Object.entries(m);d.$metadata={httpStatusCode:h,requestId:z7(/^x-[\w-]+-request-?id$/,f),extendedRequestId:z7(/^x-[\w-]+-id-2$/,f),cfId:z7(/^x-[\w-]+-cf-id$/,f)}}}catch{}}throw d}},z7=(t,e)=>(e.find(([r])=>r.match(t))||[void 0,void 0])[1]});var xHe,CHe=C(()=>{Lr();H7();xHe=t=>(e,r)=>async n=>{let{operationSchema:s}=go(r),[,i,o,a,c,l]=s??[],u=r.endpointV2?async()=>Sh(r.endpointV2):t.endpoint,d=await t.protocol.serializeRequest(WF(i,o,a,c,l),n.input,{...t,...r,endpoint:u});return e({...n,request:d})}});function G7(t){return{applyToStack:e=>{e.add(xHe(t),IHe),e.add(bHe(t),SHe),t.protocol.setSerdeContext(t)}}}var SHe,IHe,RHe=C(()=>{wHe();CHe();SHe={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},IHe={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0}});function Ih(t){if(typeof t=="object")return t;if(t=t|0,YF[t])return YF[t];let e={},r=0;for(let n of["httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams"])(t>>r++&1)===1&&(e[n]=1);return YF[t]=e}var YF,j7=C(()=>{YF=[]});function wN(t,e){if(t instanceof mn)return Object.assign(t,{memberName:e,_isMemberSchema:!0});let r=mn;return new r(t,e)}var bN,JF,KF,mn,V7,vHe,NHe=C(()=>{q7();j7();bN={it:Symbol.for("@smithy/nor-struct-it"),ns:Symbol.for("@smithy/ns")},JF=[],KF={},mn=class t{ref;memberName;static symbol=Symbol.for("@smithy/nor");symbol=t.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(e,r){this.ref=e,this.memberName=r;let n=[],s=e,i=e;for(this._isMemberSchema=!1;V7(s);)n.push(s[1]),s=s[0],i=Uy(s),this._isMemberSchema=!0;if(n.length>0){this.memberTraits={};for(let o=n.length-1;o>=0;--o){let a=n[o];Object.assign(this.memberTraits,Ih(a))}}else this.memberTraits=0;if(i instanceof t){let o=this.memberTraits;Object.assign(this,i),this.memberTraits=Object.assign({},o,i.getMemberTraits(),this.getMemberTraits()),this.normalizedTraits=void 0,this.memberName=r??i.memberName;return}if(this.schema=Uy(i),vHe(this.schema)?(this.name=`${this.schema[1]}#${this.schema[2]}`,this.traits=this.schema[3]):(this.name=this.memberName??String(i),this.traits=0),this._isMemberSchema&&!r)throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(!0)} missing member name.`)}static[Symbol.hasInstance](e){let r=this.prototype.isPrototypeOf(e);return!r&&typeof e=="object"&&e!==null?e.symbol===this.symbol:r}static of(e){let r=typeof e=="function"||typeof e=="object"&&e!==null;if(typeof e=="number"){if(JF[e])return JF[e]}else if(typeof e=="string"){if(KF[e])return KF[e]}else if(r&&e[bN.ns])return e[bN.ns];let n=Uy(e);if(n instanceof t)return n;if(V7(n)){let[i,o]=n;if(i instanceof t)return Object.assign(i.getMergedTraits(),Ih(o)),i;throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(e,null,2)}.`)}let s=new t(n);return r?e[bN.ns]=s:typeof n=="string"?KF[n]=s:typeof n=="number"?JF[n]=s:s}getSchema(){let e=this.schema;return Array.isArray(e)&&e[0]===0?e[4]:e}getName(e=!1){let{name:r}=this;return!e&&r&&r.includes("#")?r.split("#")[1]:r||void 0}getMemberName(){return this.memberName}isMemberSchema(){return this._isMemberSchema}isListSchema(){let e=this.getSchema();return typeof e=="number"?e>=64&&e<128:e[0]===1}isMapSchema(){let e=this.getSchema();return typeof e=="number"?e>=128&&e<=255:e[0]===2}isStructSchema(){let e=this.getSchema();if(typeof e!="object")return!1;let r=e[0];return r===3||r===-3||r===4}isUnionSchema(){let e=this.getSchema();return typeof e!="object"?!1:e[0]===4}isBlobSchema(){let e=this.getSchema();return e===21||e===42}isTimestampSchema(){let e=this.getSchema();return typeof e=="number"&&e>=4&&e<=7}isUnitSchema(){return this.getSchema()==="unit"}isDocumentSchema(){return this.getSchema()===15}isStringSchema(){return this.getSchema()===0}isBooleanSchema(){return this.getSchema()===2}isNumericSchema(){return this.getSchema()===1}isBigIntegerSchema(){return this.getSchema()===17}isBigDecimalSchema(){return this.getSchema()===19}isStreaming(){let{streaming:e}=this.getMergedTraits();return!!e||this.getSchema()===42}isIdempotencyToken(){return!!this.getMergedTraits().idempotencyToken}getMergedTraits(){return this.normalizedTraits??(this.normalizedTraits={...this.getOwnTraits(),...this.getMemberTraits()})}getMemberTraits(){return Ih(this.memberTraits)}getOwnTraits(){return Ih(this.traits)}getKeySchema(){let[e,r]=[this.isDocumentSchema(),this.isMapSchema()];if(!e&&!r)throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(!0)}`);let n=this.getSchema(),s=e?15:n[4]??0;return wN([s,0],"key")}getValueSchema(){let e=this.getSchema(),[r,n,s]=[this.isDocumentSchema(),this.isMapSchema(),this.isListSchema()],i=typeof e=="number"?63&e:e&&typeof e=="object"&&(n||s)?e[3+e[0]]:r?15:void 0;if(i!=null)return wN([i,0],n?"value":"member");throw new Error(`@smithy/core/schema - ${this.getName(!0)} has no value member.`)}getMemberSchema(e){let r=this.getSchema();if(this.isStructSchema()&&r[4].includes(e)){let n=r[4].indexOf(e),s=r[5][n];return wN(V7(s)?s:[s,0],e)}if(this.isDocumentSchema())return wN([15,0],e);throw new Error(`@smithy/core/schema - ${this.getName(!0)} has no member=${e}.`)}getMemberSchemas(){let e={};try{for(let[r,n]of this.structIterator())e[r]=n}catch{}return e}getEventStreamMember(){if(this.isStructSchema()){for(let[e,r]of this.structIterator())if(r.isStreaming()&&r.isStructSchema())return e}return""}*structIterator(){if(this.isUnitSchema())return;if(!this.isStructSchema())throw new Error("@smithy/core/schema - cannot iterate non-struct schema.");let e=this.getSchema(),r=e[4].length,n=e[bN.it];if(n&&r===n.length){yield*n;return}n=Array(r);for(let s=0;s<r;++s){let i=e[4][s],o=wN([e[5][s],0],i);yield n[s]=[i,o]}e[bN.it]=n}};V7=t=>Array.isArray(t)&&t.length===2,vHe=t=>Array.isArray(t)&&t.length>=5});var Qa,THe=C(()=>{Qa=class t{namespace;schemas;exceptions;static registries=new Map;constructor(e,r=new Map,n=new Map){this.namespace=e,this.schemas=r,this.exceptions=n}static for(e){return t.registries.has(e)||t.registries.set(e,new t(e)),t.registries.get(e)}copyFrom(e){let{schemas:r,exceptions:n}=this;for(let[s,i]of e.schemas)r.has(s)||r.set(s,i);for(let[s,i]of e.exceptions)n.has(s)||n.set(s,i)}register(e,r){let n=this.normalizeShapeId(e);for(let s of[this,t.for(n.split("#")[0])])s.schemas.set(n,r)}getSchema(e){let r=this.normalizeShapeId(e);if(!this.schemas.has(r)){if(!e.includes("#")){let n="#"+e,s=[];for(let[i,o]of this.schemas.entries())i.endsWith(n)&&s.push(o);if(s.length===1)return s[0]}throw new Error(`@smithy/core/schema - schema not found for ${r}`)}return this.schemas.get(r)}registerError(e,r){let n=e,s=n[1];for(let i of[this,t.for(s)])i.schemas.set(s+"#"+n[2],n),i.exceptions.set(n,r)}getErrorCtor(e){let r=e;return this.exceptions.has(r)?this.exceptions.get(r):t.for(r[1]).exceptions.get(r)}getBaseException(){for(let e of this.exceptions.keys())if(Array.isArray(e)){let[,r,n]=e,s=r+"#"+n;if(s.startsWith("smithy.ts.sdk.synthetic.")&&s.endsWith("ServiceException"))return e}}find(e){for(let r of this.schemas.values())if(e(r))return r}clear(){this.schemas.clear(),this.exceptions.clear()}normalizeShapeId(e){return e.includes("#")?e:this.namespace+"#"+e}}});var _c=C(()=>{q7();RHe();NHe();j7();THe()});function XF(t,e){if(e==null)return e;let r=mn.of(t);if(r.getMergedTraits().sensitive)return W7;if(r.isListSchema()){if(!!r.getValueSchema().getMergedTraits().sensitive)return W7}else if(r.isMapSchema()){if(!!r.getKeySchema().getMergedTraits().sensitive||!!r.getValueSchema().getMergedTraits().sensitive)return W7}else if(r.isStructSchema()&&typeof e=="object"){let n=e,s={};for(let[i,o]of r.structIterator())n[i]!=null&&(s[i]=XF(o,n[i]));return s}return e}var W7,BHe=C(()=>{_c();W7="***SensitiveInformation***"});var Rh,Y7,J7=C(()=>{Ly();L7();BHe();Rh=class{middlewareStack=iC();schema;static classBuilder(){return new Y7}resolveMiddlewareWithContext(e,r,n,{middlewareFn:s,clientName:i,commandName:o,inputFilterSensitiveLog:a,outputFilterSensitiveLog:c,smithyContext:l,additionalContext:u,CommandCtor:d}){for(let b of s.bind(this)(d,e,r,n))this.middlewareStack.use(b);let p=e.concat(this.middlewareStack),{logger:m}=r,h={logger:m,clientName:i,commandName:o,inputFilterSensitiveLog:a,outputFilterSensitiveLog:c,[sC]:{commandInstance:this,...l},...u},{requestHandler:f}=r,A=n??{};return l.eventStream&&(A={isEventStream:!0,...A}),p.resolve(b=>f.handle(b.request,A),h)}},Y7=class{_init=()=>{};_ep={};_middlewareFn=()=>[];_commandName="";_clientName="";_additionalContext={};_smithyContext={};_inputFilterSensitiveLog=void 0;_outputFilterSensitiveLog=void 0;_serializer=null;_deserializer=null;_operationSchema;init(e){this._init=e}ep(e){return this._ep=e,this}m(e){return this._middlewareFn=e,this}s(e,r,n={}){return this._smithyContext={service:e,operation:r,...n},this}c(e={}){return this._additionalContext=e,this}n(e,r){return this._clientName=e,this._commandName=r,this}f(e=n=>n,r=n=>n){return this._inputFilterSensitiveLog=e,this._outputFilterSensitiveLog=r,this}ser(e){return this._serializer=e,this}de(e){return this._deserializer=e,this}sc(e){return this._operationSchema=e,this._smithyContext.operationSchema=e,this}build(){let e=this,r;return r=class extends Rh{input;static getEndpointParameterInstructions(){return e._ep}constructor(...[n]){super(),this.input=n??{},e._init(this),this.schema=e._operationSchema}resolveMiddleware(n,s,i){let o=e._operationSchema,a=o?.[4]??o?.input,c=o?.[5]??o?.output;return this.resolveMiddlewareWithContext(n,s,i,{CommandCtor:r,middlewareFn:e._middlewareFn,clientName:e._clientName,commandName:e._commandName,inputFilterSensitiveLog:e._inputFilterSensitiveLog??(o?XF.bind(null,a):l=>l),outputFilterSensitiveLog:e._outputFilterSensitiveLog??(o?XF.bind(null,c):l=>l),smithyContext:e._smithyContext,additionalContext:e._additionalContext})}serialize=e._serializer;deserialize=e._deserializer}}}});var K7,PHe=C(()=>{K7=(t,e,r)=>{for(let[i,o]of Object.entries(t)){let a=async function(l,u,d){let p=new o(l);if(typeof u=="function")this.send(p,u);else if(typeof d=="function"){if(typeof u!="object")throw new Error(`Expected http options but got ${typeof u}`);this.send(p,u||{},d)}else return this.send(p,u)},c=(i[0].toLowerCase()+i.slice(1)).replace(/Command$/,"");e.prototype[c]=a}let{paginators:n={},waiters:s={}}=r??{};for(let[i,o]of Object.entries(n))e.prototype[i]===void 0&&(e.prototype[i]=function(a={},c,...l){return o({...c,client:this},a,...l)});for(let[i,o]of Object.entries(s))e.prototype[i]===void 0&&(e.prototype[i]=async function(a={},c,...l){let u=c;return typeof c=="number"&&(u={maxWaitTime:c}),o({...u,client:this},a,...l)})}});var xN,ZF,kHe=C(()=>{xN=class t extends Error{$fault;$response;$retryable;$metadata;constructor(e){super(e.message),Object.setPrototypeOf(this,Object.getPrototypeOf(this).constructor.prototype),this.name=e.name,this.$fault=e.$fault,this.$metadata=e.$metadata}static isInstance(e){if(!e)return!1;let r=e;return t.prototype.isPrototypeOf(r)||!!r.$fault&&!!r.$metadata&&(r.$fault==="client"||r.$fault==="server")}static[Symbol.hasInstance](e){if(!e)return!1;let r=e;return this===t?t.isInstance(e):t.isInstance(e)?r.name&&this.name?this.prototype.isPrototypeOf(e)||r.name===this.name:this.prototype.isPrototypeOf(e):!1}},ZF=(t,e={})=>{Object.entries(e).filter(([,n])=>n!==void 0).forEach(([n,s])=>{(t[n]==null||t[n]==="")&&(t[n]=s)});let r=t.message||t.Message||"UnknownError";return t.message=r,delete t.Message,t}});var X7,_He=C(()=>{X7=t=>{switch(t){case"standard":return{retryMode:"standard",connectionTimeout:3100};case"in-region":return{retryMode:"standard",connectionTimeout:1100};case"cross-region":return{retryMode:"standard",connectionTimeout:3100};case"mobile":return{retryMode:"standard",connectionTimeout:3e4};default:return{}}}});var DHe,Z7,QHe=C(()=>{DHe=!1,Z7=t=>{t&&!DHe&&parseInt(t.substring(1,t.indexOf(".")))<16&&(DHe=!0)}});var MHe,OHe,LHe,FHe=C(()=>{Lr();Ly();MHe=Object.values(dm),OHe=t=>{let e=[];for(let r in dm){if(!qr(dm,r))continue;let n=dm[r];t[n]!==void 0&&e.push({algorithmId:()=>n,checksumConstructor:()=>t[n]})}for(let[r,n]of Object.entries(t.checksumAlgorithms??{}))e.push({algorithmId:()=>r,checksumConstructor:()=>n});return{addChecksumAlgorithm(r){t.checksumAlgorithms=t.checksumAlgorithms??{};let n=r.algorithmId(),s=r.checksumConstructor();MHe.includes(n)?t.checksumAlgorithms[n.toUpperCase()]=s:t.checksumAlgorithms[n]=s,e.push(r)},checksumAlgorithms(){return e}}},LHe=t=>{let e={};return t.checksumAlgorithms().forEach(r=>{let n=r.algorithmId();MHe.includes(n)&&(e[n]=r.checksumConstructor())}),e}});var UHe,$He,qHe=C(()=>{UHe=t=>({setRetryStrategy(e){t.retryStrategy=e},retryStrategy(){return t.retryStrategy}}),$He=t=>{let e={};return e.retryStrategy=t.retryStrategy(),e}});var eee,tee,HHe=C(()=>{FHe();qHe();eee=t=>Object.assign(OHe(t),UHe(t)),tee=t=>Object.assign(LHe(t),$He(t))});var e1,zHe=C(()=>{Lr();e1=t=>{let e="#text";for(let r in t)qr(t,r)&&(t[r][e]!==void 0?t[r]=t[r][e]:typeof t[r]=="object"&&t[r]!==null&&(t[r]=e1(t[r])));return t}});var $y,GHe=C(()=>{$y=class{trace(){}debug(){}info(){}warn(){}error(){}}});function ree(t,e,r,n){return function(i,o,a,c,l={}){let u=Object.assign({},t,i);return Rh.classBuilder().ep(u).m(function(d,p,m,h){let f=o.call(this,d,p,m,h);return f.unshift(n(m,d.getEndpointParameterInstructions())),f}).s(e,a,l).n(r,a.charAt(0).toUpperCase()+a.slice(1)+"Command").sc(c).build()}}var jHe=C(()=>{J7()});var Eo=C(()=>{Lr();Lr();EHe();J7();PHe();_He();QHe();kHe();HHe();zHe();GHe();jHe()});var VHe,nee,see,WHe,YHe,JHe,KHe,XHe,ZHe,iee=C(()=>{VHe="AWS_EXECUTION_ENV",nee="AWS_REGION",see="AWS_DEFAULT_REGION",WHe="AWS_EC2_METADATA_DISABLED",YHe=["in-region","cross-region","mobile","standard","legacy"],JHe="/latest/meta-data/placement/region",KHe="/latest/api/token",XHe="x-aws-ec2-metadata-token",ZHe="x-aws-ec2-metadata-token-ttl-seconds"});var eze,fjt,nze,t1,tze,hjt,rze,oee=C(()=>{iee();eze=1e3,fjt=6e4,nze=0,t1=async()=>{if(!process.env[WHe]&&!(Date.now()<nze))try{let t=hjt(),e=(await rze({...t,path:KHe,method:"PUT",headers:{[ZHe]:"21600"}})).toString();return(await rze({...t,path:JHe,method:"GET",headers:{[XHe]:e}})).toString().trim()||tze()}catch{return tze()}},tze=()=>{nze=Date.now()+fjt},hjt=()=>{let t=process.env.AWS_EC2_METADATA_SERVICE_ENDPOINT;if(t){let e=new URL(t);return{hostname:e.hostname.replace(/^\[(.+)]$/,"$1"),port:e.port?Number(e.port):void 0}}return process.env.AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE==="IPv6"?{hostname:"fd00:ec2::254"}:{hostname:"169.254.169.254"}},rze=async t=>{let{request:e}=await import("node:http");return new Promise((r,n)=>{let s=e({hostname:t.hostname,port:t.port,path:t.path,method:t.method,headers:t.headers,timeout:eze,signal:AbortSignal.timeout(eze)});s.on("error",i=>{n(i),s.destroy()}),s.on("timeout",()=>{n(new Error("TimeoutError from instance metadata service")),s.destroy()}),s.on("response",i=>{let{statusCode:o=400}=i;if(o<200||o>=300){n(Object.assign(new Error("Error response received from instance metadata service"),{statusCode:o})),s.destroy();return}let a=[];i.on("data",c=>a.push(c)),i.on("end",()=>{r(Buffer.concat(a)),s.destroy()})}),s.end()})}});var sze,ize,qy,CN,aee=C(()=>{oee();sze="AWS_REGION",ize="region",qy={environmentVariableSelector:t=>t[sze],configFileSelector:t=>t[ize],default:async()=>{let t=await t1();if(t)return t;throw new Error("Region is missing")}},CN={preferredFile:"credentials"}});var oze,aze,cze=C(()=>{Lr();oze=new Set,aze=(t,e=fd)=>{if(!oze.has(t)&&!e(t))if(t==="*")console.warn('@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.');else throw new Error(`Region not accepted: region="${t}" is not a valid hostname component.`);else oze.add(t)}});var r1,cee=C(()=>{r1=t=>typeof t=="string"&&(t.startsWith("fips-")||t.endsWith("-fips"))});var lze,uze=C(()=>{cee();lze=t=>r1(t)?["fips-aws-global","aws-fips"].includes(t)?"us-east-1":t.replace(/fips-(dkr-|prod-)?|-fips/,""):t});var lee,dze=C(()=>{cze();uze();cee();lee=t=>{let{region:e,useFipsEndpoint:r}=t;if(!e)throw new Error("Region is missing");return Object.assign(t,{region:async()=>{let n=typeof e=="function"?await e():e,s=lze(n);return aze(s),s},useFipsEndpoint:async()=>{let n=typeof e=="string"?e:await e();return r1(n)?!0:typeof r!="function"?Promise.resolve(!!r):r()}})}});var gjt,Ajt,pze,mze=C(()=>{gjt="AWS_DEFAULTS_MODE",Ajt="defaults_mode",pze={environmentVariableSelector:t=>t[gjt],configFileSelector:t=>t[Ajt],default:"legacy"}});var uee,yjt,Ejt,fze=C(()=>{aee();oee();Q7();N7();iee();mze();uee=({region:t=ys(qy),defaultsMode:e=ys(pze)}={})=>HF(async()=>{let r=typeof e=="function"?await e():e;switch(r?.toLowerCase()){case"auto":return yjt(t);case"in-region":case"cross-region":case"mobile":case"standard":case"legacy":return Promise.resolve(r?.toLocaleLowerCase());case void 0:return Promise.resolve("legacy");default:throw new Error(`Invalid parameter for "defaultsMode", expect ${YHe.join(", ")}, got ${r}`)}}),yjt=async t=>{if(t){let e=typeof t=="function"?await t():t,r=await Ejt();return r?e===r?"in-region":"cross-region":"standard"}return"standard"},Ejt=async()=>process.env[VHe]&&(process.env[nee]||process.env[see])?process.env[nee]??process.env[see]:t1()});var pm=C(()=>{qF();zF();GF();Q7();sHe();aHe();aee();dze();fze()});var SN,dee=C(()=>{SN=t=>typeof ArrayBuffer=="function"&&t instanceof ArrayBuffer||Object.prototype.toString.call(t)==="[object ArrayBuffer]"});var n1,s1,IN=C(()=>{dee();n1=(t,e=0,r=t.byteLength-e)=>{if(!SN(t))throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof t} (${t})`);return Buffer.from(t,e,r)},s1=(t,e)=>{if(typeof t!="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof t} (${t})`);return e?Buffer.from(t,e):Buffer.from(t)}});var bjt,Hy,hze=C(()=>{IN();bjt=/^[A-Za-z0-9+/]*={0,2}$/,Hy=t=>{if(t.length*3%4!==0)throw new TypeError("Incorrect padding on base64 string.");if(!bjt.exec(t))throw new TypeError("Invalid base64 string.");let e=s1(t,"base64");return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}});var Ma,i1=C(()=>{IN();Ma=t=>{let e=s1(t,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT)}});var aC,gze=C(()=>{IN();i1();aC=t=>{let e;if(typeof t=="string"?e=Ma(t):e=t,typeof e!="object"||typeof e.byteOffset!="number"||typeof e.byteLength!="number")throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");return n1(e.buffer,e.byteOffset,e.byteLength).toString("base64")}});function Aze(t,e,r,n){return class o1 extends Uint8Array{static fromString(i,o="utf-8"){if(typeof i=="string")return o==="base64"?o1.mutate(n(i)):o1.mutate(e(i));throw new Error(`Unsupported conversion from ${typeof i} to Uint8ArrayBlobAdapter.`)}static mutate(i){return Object.setPrototypeOf(i,o1.prototype),i}transformToString(i="utf-8"){return i==="base64"?r(this):t(this)}}}var yze=C(()=>{});var hd,Eze=C(()=>{IN();hd=t=>{if(typeof t=="string")return t;if(typeof t!="object"||typeof t.byteOffset!="number"||typeof t.byteLength!="number")throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return n1(t.buffer,t.byteOffset,t.byteLength).toString("utf8")}});function bze(t){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?()=>crypto.randomUUID():()=>{let e=new Uint8Array(16);return t(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128,Fi[e[0]]+Fi[e[1]]+Fi[e[2]]+Fi[e[3]]+"-"+Fi[e[4]]+Fi[e[5]]+"-"+Fi[e[6]]+Fi[e[7]]+"-"+Fi[e[8]]+Fi[e[9]]+"-"+Fi[e[10]]+Fi[e[11]]+Fi[e[12]]+Fi[e[13]]+Fi[e[14]]+Fi[e[15]]}}var Fi,wze=C(()=>{Fi=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"))});var wjt,xjt,xze,Cjt,Cze,Sze,Ize,Sjt,Rze,Ijt,pee,a1,vze,Rjt,vjt,Nze=C(()=>{wjt=t=>{if(t!=null){if(typeof t=="string"){let e=parseFloat(t);if(!Number.isNaN(e))return String(e)!==String(t)&&vjt.warn(Rjt(`Expected number but observed string: ${t}`)),e}if(typeof t=="number")return t;throw new TypeError(`Expected number, got ${typeof t}: ${t}`)}},xjt=Math.ceil(2**127*(2-2**-23)),xze=t=>{let e=wjt(t);if(e!==void 0&&!Number.isNaN(e)&&e!==1/0&&e!==-1/0&&Math.abs(e)>xjt)throw new TypeError(`Expected 32-bit float, got ${t}`);return e},Cjt=t=>{if(t!=null){if(Number.isInteger(t)&&!Number.isNaN(t))return t;throw new TypeError(`Expected integer, got ${typeof t}: ${t}`)}},Cze=t=>Ize(t,16),Sze=t=>Ize(t,8),Ize=(t,e)=>{let r=Cjt(t);if(r!==void 0&&Sjt(r,e)!==r)throw new TypeError(`Expected ${e}-bit integer, got ${t}`);return r},Sjt=(t,e)=>{switch(e){case 32:return Int32Array.of(t)[0];case 16:return Int16Array.of(t)[0];case 8:return Int8Array.of(t)[0]}},Rze=t=>xze(typeof t=="string"?pee(t):t),Ijt=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,pee=t=>{let e=t.match(Ijt);if(e===null||e[0].length!==t.length)throw new TypeError("Expected real number, got implicit NaN");return parseFloat(t)},a1=t=>Cze(typeof t=="string"?pee(t):t),vze=t=>Sze(typeof t=="string"?pee(t):t),Rjt=t=>String(new TypeError(t).stack||t).split(`
144
144
  `).slice(0,5).filter(e=>!e.includes("stackTraceWarning")).join(`
145
145
  `),vjt={warn:console.warn}});function gee(t){let e=t.getUTCFullYear(),r=t.getUTCMonth(),n=t.getUTCDay(),s=t.getUTCDate(),i=t.getUTCHours(),o=t.getUTCMinutes(),a=t.getUTCSeconds(),c=s<10?`0${s}`:`${s}`,l=i<10?`0${i}`:`${i}`,u=o<10?`0${o}`:`${o}`,d=a<10?`0${a}`:`${a}`;return`${Njt[n]}, ${c} ${hee[r]} ${e} ${l}:${u}:${d} GMT`}var Njt,hee,$1r,q1r,Tjt,Bjt,Pjt,Aee,mee,kjt,_jt,Djt,fee,Qjt,Mjt,Ojt,cC,Ljt,c1,Tze=C(()=>{Nze();Njt=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],hee=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];$1r=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/),q1r=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}:\d{2})|[zZ])$/),Tjt=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),Bjt=new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),Pjt=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/),Aee=t=>{if(t==null)return;if(typeof t!="string")throw new TypeError("RFC-7231 date-times must be expressed as strings");let e=Tjt.exec(t);if(e){let[r,n,s,i,o,a,c,l]=e;return mee(a1(c1(i)),fee(s),cC(n,"day",1,31),{hours:o,minutes:a,seconds:c,fractionalMilliseconds:l})}if(e=Bjt.exec(t),e){let[r,n,s,i,o,a,c,l]=e;return Djt(mee(kjt(i),fee(s),cC(n,"day",1,31),{hours:o,minutes:a,seconds:c,fractionalMilliseconds:l}))}if(e=Pjt.exec(t),e){let[r,n,s,i,o,a,c,l]=e;return mee(a1(c1(l)),fee(n),cC(s.trimLeft(),"day",1,31),{hours:i,minutes:o,seconds:a,fractionalMilliseconds:c})}throw new TypeError("Invalid RFC-7231 date-time value")},mee=(t,e,r,n)=>{let s=e-1;return Mjt(t,s,r),new Date(Date.UTC(t,s,r,cC(n.hours,"hour",0,23),cC(n.minutes,"minute",0,59),cC(n.seconds,"seconds",0,60),Ljt(n.fractionalMilliseconds)))},kjt=t=>{let e=new Date().getUTCFullYear(),r=Math.floor(e/100)*100+a1(c1(t));return r<e?r+100:r},_jt=50*365*24*60*60*1e3,Djt=t=>t.getTime()-new Date().getTime()>_jt?new Date(Date.UTC(t.getUTCFullYear()-100,t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds())):t,fee=t=>{let e=hee.indexOf(t);if(e<0)throw new TypeError(`Invalid month: ${t}`);return e+1},Qjt=[31,28,31,30,31,30,31,31,30,31,30,31],Mjt=(t,e,r)=>{let n=Qjt[e];if(e===1&&Ojt(t)&&(n=29),r>n)throw new TypeError(`Invalid day for ${hee[e]} in ${t}: ${r}`)},Ojt=t=>t%4===0&&(t%100!==0||t%400===0),cC=(t,e,r,n)=>{let s=vze(c1(t));if(s<r||s>n)throw new TypeError(`${e} must be between ${r} and ${n}, inclusive`);return s},Ljt=t=>t==null?0:Rze("0."+t)*1e3,c1=t=>{let e=0;for(;e<t.length-1&&t.charAt(e)==="0";)e++;return e===0?t:t.slice(e)}});var mm,Bze=C(()=>{mm=function(e){return Object.assign(new String(e),{deserializeJSON(){return JSON.parse(String(e))},toString(){return String(e)},toJSON(){return String(e)}})};mm.from=t=>t&&typeof t=="object"&&(t instanceof mm||"deserializeJSON"in t)?t:typeof t=="string"||Object.getPrototypeOf(t)===String.prototype?mm(String(t)):mm(JSON.stringify(t));mm.fromObject=mm.from});function fm(t,e,r){let n=Number(t);if(n<e||n>r)throw new Error(`Value ${n} out of range [${e}, ${r}]`)}var yee,Eee,bee,Pze,kze,Fjt,Ujt,$jt,qjt,Hjt,wee,xee,Cee,_ze=C(()=>{yee="(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?",Eee="(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)",bee="(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?",Pze="(\\d?\\d)",kze="(\\d{4})",Fjt=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),Ujt=new RegExp(`^${yee}, ${Pze} ${Eee} ${kze} ${bee} GMT$`),$jt=new RegExp(`^${yee}, ${Pze}-${Eee}-(\\d\\d) ${bee} GMT$`),qjt=new RegExp(`^${yee} ${Eee} ( [1-9]|\\d\\d) ${bee} ${kze}$`),Hjt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wee=t=>{if(t==null)return;let e=NaN;if(typeof t=="number")e=t;else if(typeof t=="string"){if(!/^-?\d*\.?\d+$/.test(t))throw new TypeError("parseEpochTimestamp - numeric string invalid.");e=Number.parseFloat(t)}else typeof t=="object"&&t.tag===1&&(e=t.value);if(isNaN(e)||Math.abs(e)===1/0)throw new TypeError("Epoch timestamps must be valid finite numbers.");return new Date(Math.round(e*1e3))},xee=t=>{if(t==null)return;if(typeof t!="string")throw new TypeError("RFC3339 timestamps must be strings");let e=Fjt.exec(t);if(!e)throw new TypeError(`Invalid RFC3339 timestamp format ${t}`);let[,r,n,s,i,o,a,,c,l]=e;fm(n,1,12),fm(s,1,31),fm(i,0,23),fm(o,0,59),fm(a,0,60);let u=new Date(Date.UTC(Number(r),Number(n)-1,Number(s),Number(i),Number(o),Number(a),Number(c)?Math.round(parseFloat(`0.${c}`)*1e3):0));if(u.setUTCFullYear(Number(r)),l.toUpperCase()!="Z"){let[,d,p,m]=/([+-])(\d\d):(\d\d)/.exec(l)||[void 0,"+",0,0],h=d==="-"?1:-1;u.setTime(u.getTime()+h*(Number(p)*60*60*1e3+Number(m)*60*1e3))}return u},Cee=t=>{if(t==null)return;if(typeof t!="string")throw new TypeError("RFC7231 timestamps must be strings.");let e,r,n,s,i,o,a,c;if((c=Ujt.exec(t))?[,e,r,n,s,i,o,a]=c:(c=$jt.exec(t))?([,e,r,n,s,i,o,a]=c,n=(Number(n)+1900).toString()):(c=qjt.exec(t))&&([,r,e,s,i,o,a,n]=c),n&&o){let l=Date.UTC(Number(n),Hjt.indexOf(r),Number(e),Number(s),Number(i),Number(o),a?Math.round(parseFloat(`0.${a}`)*1e3):0);fm(e,1,31),fm(s,0,23),fm(i,0,59),fm(o,0,60);let u=new Date(l);return u.setUTCFullYear(Number(n)),u}throw new TypeError(`Invalid RFC7231 date-time value ${t}.`)}});var See,Dze=C(()=>{See=t=>{let e=t.length,r=[],n=!1,s,i=0;for(let o=0;o<e;++o){let a=t[o];switch(a){case'"':s!=="\\"&&(n=!n);break;case",":n||(r.push(t.slice(i,o)),i=o+1);break;default:}s=a}return r.push(t.slice(i)),r.map(o=>{o=o.trim();let a=o.length;return a<2?o:(o[0]==='"'&&o[a-1]==='"'&&(o=o.slice(1,a-1)),o.replace(/\\"/g,'"'))})}});var Qze,zy,Mze=C(()=>{Qze=/^-?((0|[1-9]\d*)(\.\d+)?|\.\d+)([eE][+-]?\d+)?$/,zy=class t{string;type;constructor(e,r){if(this.string=e,this.type=r,!Qze.test(e))throw new Error(`@smithy/core/serde - NumericValue string must conform to the Smithy bigDecimal format. Received: "${e}"`)}toString(){return this.string}static[Symbol.hasInstance](e){if(!e||typeof e!="object")return!1;let r=e;return t.prototype.isPrototypeOf(e)||r.type==="bigDecimal"&&Qze.test(r.string)}}});function RN(t){if(t.length%2!==0)throw new Error("Hex encoded strings must have an even number length");let e=new Uint8Array(t.length/2);for(let r=0;r<t.length;r+=2){let n=t.slice(r,r+2).toLowerCase();if(n in Iee)e[r/2]=Iee[n];else throw new Error(`Cannot decode unrecognized sequence ${n} as hexadecimal`)}return e}function ns(t){let e="";for(let r=0;r<t.byteLength;r++)e+=Oze[t[r]];return e}var Oze,Iee,Lze=C(()=>{Oze={},Iee={};for(let t=0;t<256;t++){let e=t.toString(16).toLowerCase();e.length===1&&(e=`0${e}`),Oze[t]=e,Iee[e]=t}});var lC,Ree,Fze=C(()=>{lC=require("node:fs"),Ree=t=>{if(!t)return 0;if(typeof t=="string")return Buffer.byteLength(t);if(typeof t.byteLength=="number")return t.byteLength;if(typeof t.size=="number")return t.size;if(typeof t.start=="number"&&typeof t.end=="number")return t.end+1-t.start;if(t instanceof lC.ReadStream){if(t.path!=null)return(0,lC.lstatSync)(t.path).size;if(typeof t.fd=="number")return(0,lC.fstatSync)(t.fd).size}throw new Error(`Body Length computation failed for ${t}`)}});var Oa,Uze=C(()=>{i1();Oa=t=>t instanceof Uint8Array?t:typeof t=="string"?Ma(t):ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(t)});function l1(t,e){if(e===void 0){e=0;for(let s of t)e+=s.byteLength}let r=new Uint8Array(e),n=0;for(let s of t)r.set(s,n),n+=s.byteLength;return r}var vee=C(()=>{});var $ze,qze,Hze,zze=C(()=>{$ze="AWS_ENDPOINT_URL",qze="endpoint_url",Hze=t=>({environmentVariableSelector:e=>{let r=t.split(" ").map(i=>i.toUpperCase()),n=e[[$ze,...r].join("_")];if(n)return n;let s=e[$ze];if(s)return s},configFileSelector:(e,r)=>{if(e.services){let s=["services",e.services].join(".");if(!r||!r[s])throw new Error(`The services section "${e.services}" specified in the profile is not present in the shared configuration file.`);let i=r[s],o=t.split(" ").map(c=>c.toLowerCase()),a=i[[o.join("_"),qze].join(".")];if(a)return a}let n=e[qze];if(n)return n},default:void 0})});var zjt,Gjt,Gze,jze=C(()=>{pm();zjt="AWS_IGNORE_CONFIGURED_ENDPOINT_URLS",Gjt="ignore_configured_endpoint_urls",Gze={environmentVariableSelector:t=>Da(t,zjt,ho.ENV),configFileSelector:t=>Da(t,Gjt,ho.CONFIG),default:!1}});var vN,Vze=C(()=>{pm();zze();jze();vN=async t=>{if(!await ys(Gze)())return ys(Hze(t??""))()}});var Nee,jjt,Vjt,Wjt,Wze,Yze,Jze=C(()=>{Nee=async t=>{let e=t?.Bucket||"";if(typeof t.Bucket=="string"&&(t.Bucket=e.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),Yze(e)){if(t.ForcePathStyle===!0)throw new Error("Path-style addressing cannot be used with ARN buckets")}else(!Wze(e)||e.indexOf(".")!==-1&&!String(t.Endpoint).startsWith("http:")||e.toLowerCase()!==e||e.length<3)&&(t.ForcePathStyle=!0);return t.DisableMultiRegionAccessPoints&&(t.disableMultiRegionAccessPoints=!0,t.DisableMRAP=!0),t},jjt=/^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$/,Vjt=/(\d+\.){3}\d+/,Wjt=/\.\./,Wze=t=>jjt.test(t)&&!Vjt.test(t)&&!Wjt.test(t),Yze=t=>{let[e,r,n,,,s]=t.split(":"),i=e==="arn"&&t.split(":").length>=6,o=!!(i&&r&&n&&s);if(i&&!o)throw new Error(`Invalid ARN: ${t} was an invalid ARN.`);return o}});var Kze=C(()=>{Jze()});var Xze,Zze=C(()=>{Xze=(t,e,r,n=!1)=>{let s=async()=>{let i;return n?i=r.clientContextParams?.[t]??r[t]??r[e]:i=r[t]??r[e],typeof i=="function"?i():i};return t==="credentialScope"||e==="CredentialScope"?async()=>{let i=typeof r.credentials=="function"?await r.credentials():r.credentials;return i?.credentialScope??i?.CredentialScope}:t==="accountId"||e==="AccountId"?async()=>{let i=typeof r.credentials=="function"?await r.credentials():r.credentials;return i?.accountId??i?.AccountId}:t==="endpoint"||e==="endpoint"?async()=>{if(r.isCustomEndpoint===!1)return;let i=await s();if(i&&typeof i=="object"){if("url"in i)return i.url.href;if("hostname"in i){let{protocol:o,hostname:a,port:c,path:l}=i;return`${o}//${a}${c?":"+c:""}${l}`}}return i}:s}});var Tee=C(()=>{Lr()});function u1(t){return async(e,r,n,s)=>{if(!n.isCustomEndpoint&&!n.ignoreConfiguredEndpointUrls){let a;n.serviceConfiguredEndpoint?a=await n.serviceConfiguredEndpoint():a=await t(n.serviceId),a&&(n.endpoint=()=>Promise.resolve(Sh(a)),n.isCustomEndpoint=!0,s?.logger?.debug?.(`@smithy/core/endpoints - resolved endpoint from config: ${a}`))}let i=await d1(e,r,n);if(typeof n.endpointProvider!="function")throw new Error("config.endpointProvider is not set.");let o=n.endpointProvider(i,s);if(n.isCustomEndpoint&&n.endpoint){let a=await n.endpoint();if(a?.headers){o.headers??={};for(let[c,l]of Object.entries(a.headers))o.headers[c]=Array.isArray(l)?l:[l]}}return o}}var d1,p1=C(()=>{Kze();Zze();Tee();d1=async(t,e,r)=>{let n={},s=e?.getEndpointParameterInstructions?.()||{};for(let[i,o]of Object.entries(s))switch(o.type){case"staticContextParams":n[i]=o.value;break;case"contextParams":n[i]=t[o.name];break;case"clientContextParams":case"builtInParams":n[i]=await Xze(o.name,i,r,o.type!=="builtInParams")();break;case"operationContextParams":n[i]=o.get(t);break;default:throw new Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(o))}return Object.keys(s).length===0&&Object.assign(n,r),String(r.serviceId).toLowerCase()==="s3"&&await Nee(n),n}});function Yjt(t,e,r){t.__smithy_context?t.__smithy_context.features||(t.__smithy_context.features={}):t.__smithy_context={features:{}},t.__smithy_context.features[e]=r}function m1(t){let e=u1(t);return({config:r,instructions:n})=>(s,i)=>async o=>{r.isCustomEndpoint&&Yjt(i,"ENDPOINT_OVERRIDE","N");let a=await e(o.input,{getEndpointParameterInstructions(){return n}},{...r},i);i.endpointV2=a,i.authSchemes=a.properties?.authSchemes;let c=i.authSchemes?.[0];if(c){i.signing_region=c.signingRegion,i.signing_service=c.signingName;let u=go(i)?.selectedHttpAuthScheme?.httpAuthOption;u&&(u.signingProperties=Object.assign(u.signingProperties||{},{signing_region:c.signingRegion,signingRegion:c.signingRegion,signing_service:c.signingName,signingName:c.signingName,signingRegionSet:c.signingRegionSet},c.properties))}return s({...o})}}var Bee=C(()=>{Lr();p1()});function e2e(t){let e=m1(t);return(r,n)=>({applyToStack:s=>{s.addRelativeTo(e({config:r,instructions:n}),Kjt)}})}var Jjt,Kjt,t2e=C(()=>{Bee();Jjt={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0},Kjt={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:Jjt.name}});function r2e(t){return e=>{let r=e.tls??!0,{endpoint:n,useDualstackEndpoint:s,useFipsEndpoint:i}=e,o=n!=null?async()=>Sh(await yo(n)()):void 0,c=Object.assign(e,{endpoint:o,tls:r,isCustomEndpoint:!!n,useDualstackEndpoint:yo(s??!1),useFipsEndpoint:yo(i??!1),ignoreConfiguredEndpointUrls:!!e.ignoreConfiguredEndpointUrls}),l;return c.serviceConfiguredEndpoint=async()=>(e.serviceId&&!l&&(l=t(e.serviceId)),l),c}}var n2e=C(()=>{Lr();Tee()});var NN,s2e=C(()=>{NN=class t{nodes;root;conditions;results;constructor(e,r,n,s){this.nodes=e,this.root=r,this.conditions=n,this.results=s}static from(e,r,n,s){return new t(e,r,n,s)}}});var TN,i2e=C(()=>{TN=class{capacity;data=new Map;parameters=[];constructor({size:e,params:r}){this.capacity=e??50,r&&(this.parameters=r)}get(e,r){let n=this.hash(e);if(n===!1)return r();if(!this.data.has(n)){if(this.data.size>this.capacity+10){let s=this.data.keys(),i=0;for(;;){let{value:o,done:a}=s.next();if(this.data.delete(o),a||++i>10)break}}this.data.set(n,r())}return this.data.get(n)}size(){return this.data.size}hash(e){let r="",{parameters:n}=this;if(n.length===0)return!1;for(let s of n){let i=String(e[s]??"");if(i.includes("|;"))return!1;r+=i+"|;"}return r}}});var Ln,o2e=C(()=>{Ln=class extends Error{constructor(e){super(e),this.name="EndpointError"}}});var hm=C(()=>{o2e()});var Pee,a2e=C(()=>{Pee="endpoints"});function uC(t){return typeof t!="object"||t==null?t:"ref"in t?`$${uC(t.ref)}`:"fn"in t?`${t.fn}(${(t.argv||[]).map(uC).join(", ")})`:JSON.stringify(t,null,2)}var c2e=C(()=>{});var l2e=C(()=>{a2e();c2e()});var Gy,kee=C(()=>{Gy={}});var _ee,u2e=C(()=>{_ee=(t,e)=>t===e});function Dee(...t){for(let e of t)if(e!=null)return e}var d2e=C(()=>{});var p2e,m2e=C(()=>{hm();p2e=t=>{let e=t.split("."),r=[];for(let n of e){let s=n.indexOf("[");if(s!==-1){if(n.indexOf("]")!==n.length-1)throw new Ln(`Path: '${t}' does not end with ']'`);let i=n.slice(s+1,-1);if(Number.isNaN(parseInt(i)))throw new Ln(`Invalid array index: '${i}' in path: '${t}'`);s!==0&&r.push(n.slice(0,s)),r.push(i)}else r.push(n)}return r}});var BN,f2e=C(()=>{hm();m2e();BN=(t,e)=>p2e(e).reduce((r,n)=>{if(typeof r!="object")throw new Ln(`Index '${n}' in '${e}' not found in '${JSON.stringify(t)}'`);if(Array.isArray(r)){let s=parseInt(n);return r[s<0?r.length+s:s]}return r[n]},t)});var Qee,h2e=C(()=>{Qee=t=>t!=null});function Mee(t,e,r){return t?e:r}var g2e=C(()=>{});var Oee,A2e=C(()=>{Oee=t=>!t});var Xjt,dC,Lee=C(()=>{Xjt=new RegExp("^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$"),dC=t=>Xjt.test(t)||t.startsWith("[")&&t.endsWith("]")});var Fee,Uee,y2e=C(()=>{Ly();Lee();Fee={[Oy.HTTP]:80,[Oy.HTTPS]:443},Uee=t=>{let e=(()=>{try{if(t instanceof URL)return t;if(typeof t=="object"&&"hostname"in t){let{hostname:p,port:m,protocol:h="",path:f="",query:A={}}=t,b=new URL(`${h}//${p}${m?`:${m}`:""}${f}`);return b.search=Object.entries(A).map(([y,x])=>`${y}=${x}`).join("&"),b}return new URL(t)}catch{return null}})();if(!e)return console.error(`Unable to parse ${JSON.stringify(t)} as a whatwg URL.`),null;let r=e.href,{host:n,hostname:s,pathname:i,protocol:o,search:a}=e;if(a)return null;let c=o.slice(0,-1);if(!Object.values(Oy).includes(c))return null;let l=dC(s),u=r.includes(`${n}:${Fee[c]}`)||typeof t=="string"&&t.includes(`${n}:${Fee[c]}`),d=`${n}${u?`:${Fee[c]}`:""}`;return{scheme:c,authority:d,path:i,normalizedPath:i.endsWith("/")?i:`${i}/`,isIp:l}}});function $ee(t,e,r){if(r===1)return[t];if(t==="")return[""];let n=t.split(e);return r===0?n:n.slice(0,r-1).concat(n.slice(1).join(e))}var E2e=C(()=>{});var qee,b2e=C(()=>{qee=(t,e)=>t===e});var Hee,w2e=C(()=>{Hee=(t,e,r,n)=>t==null||e>=r||t.length<r||/[^\u0000-\u007f]/.test(t)?null:n?t.substring(t.length-r,t.length-e):t.substring(e,r)});var zee,x2e=C(()=>{zee=t=>encodeURIComponent(t).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)});var Gee=C(()=>{u2e();d2e();f2e();h2e();Lr();g2e();A2e();y2e();E2e();b2e();w2e();x2e()});var C2e,S2e=C(()=>{Gee();C2e={booleanEquals:_ee,coalesce:Dee,getAttr:BN,isSet:Qee,isValidHostLabel:fd,ite:Mee,not:Oee,parseURL:Uee,split:$ee,stringEquals:qee,substring:Hee,uriEncode:zee}});var f1,jee=C(()=>{Gee();f1=(t,e)=>{let r=[],{referenceRecord:n,endpointParams:s}=e,i=0;for(;i<t.length;){let o=t.indexOf("{",i);if(o===-1){r.push(t.slice(i));break}r.push(t.slice(i,o));let a=t.indexOf("}",o);if(a===-1){r.push(t.slice(o));break}t[o+1]==="{"&&t[a+1]==="}"&&(r.push(t.slice(o+1,a)),i=a+2);let c=t.substring(o+1,a);if(c.includes("#")){let[l,u]=c.split("#");r.push(BN(n[l]??s[l],u))}else r.push(n[c]??s[c]);i=a+1}return r.join("")}});var I2e,R2e=C(()=>{I2e=({ref:t},e)=>e.referenceRecord[t]??e.endpointParams[t]});var jy,h1,v2e,PN=C(()=>{hm();kee();S2e();jee();R2e();jy=(t,e,r)=>{if(typeof t=="string")return f1(t,r);if(t.fn)return v2e.callFunction(t,r);if(t.ref)return I2e(t,r);throw new Ln(`'${e}': ${String(t)} is not a string, function or reference.`)},h1=({fn:t,argv:e},r)=>{let n=Array(e.length);for(let o=0;o<n.length;++o){let a=e[o];typeof a=="boolean"||typeof a=="number"?n[o]=a:n[o]=v2e.evaluateExpression(a,"arg",r)}let s=t.indexOf(".");if(s!==-1){let a=Gy[t.slice(0,s)]?.[t.slice(s+1)];if(typeof a=="function")return a(...n)}let i=C2e[t];if(typeof i=="function")return i(...n);throw new Error(`function ${t} not loaded in endpointFunctions.`)},v2e={evaluateExpression:jy,callFunction:h1}});var N2e=C(()=>{PN()});var T2e,B2e=C(()=>{l2e();hm();N2e();T2e=(t,e)=>{let{assign:r}=t;if(r&&r in e.referenceRecord)throw new Ln(`'${r}' is already defined in Reference Record.`);let n=h1(t,e);e.logger?.debug?.(`${Pee} evaluateCondition: ${uC(t)} = ${uC(n)}`);let s=n===""?!0:!!n;return r!=null?{result:s,toAssign:{name:r,value:n}}:{result:s}}});var P2e,k2e=C(()=>{hm();PN();P2e=(t,e)=>Object.entries(t??{}).reduce((r,[n,s])=>(r[n]=s.map(i=>{let o=jy(i,"Header value entry",e);if(typeof o!="string")throw new Ln(`Header '${n}' value '${o}' is not a string`);return o}),r),{})});var Vee,_2e,D2e,Q2e=C(()=>{hm();jee();Vee=(t,e)=>Object.entries(t).reduce((r,[n,s])=>(r[n]=D2e.getEndpointProperty(s,e),r),{}),_2e=(t,e)=>{if(Array.isArray(t))return t.map(r=>_2e(r,e));switch(typeof t){case"string":return f1(t,e);case"object":if(t===null)throw new Ln(`Unexpected endpoint property: ${t}`);return D2e.getEndpointProperties(t,e);case"boolean":return t;default:throw new Ln(`Unexpected endpoint property type: ${typeof t}`)}},D2e={getEndpointProperty:_2e,getEndpointProperties:Vee}});var M2e,O2e=C(()=>{hm();PN();M2e=(t,e)=>{let r=jy(t,"Endpoint URL",e);if(typeof r=="string")try{return new URL(r)}catch(n){throw console.error(`Failed to construct URL with ${r}`,n),n}throw new Ln(`Endpoint URL must be a string, got ${typeof r}`)}});var Wee,Yee,L2e=C(()=>{hm();B2e();PN();k2e();Q2e();O2e();Wee=1e8,Yee=(t,e)=>{let{nodes:r,root:n,results:s,conditions:i}=t,o=n,a={},c={referenceRecord:a,endpointParams:e.endpointParams,logger:e.logger};for(;o!==1&&o!==-1&&o<Wee;){let l=3*(Math.abs(o)-1),[u,d,p]=[r[l],r[l+1],r[l+2]],[m,h,f]=i[u],A=T2e({fn:m,assign:f,argv:h},c);if(A.toAssign){let{name:b,value:y}=A.toAssign;a[b]=y}o=o>=0===A.result?d:p}if(o>=Wee){let l=s[o-Wee];if(l[0]===-1){let[,m]=l;throw new Ln(jy(m,"Error",c))}let[u,d,p]=l;return{url:M2e(u,c),properties:Vee(d,c),headers:P2e(p??{},c)}}throw new Ln("No matching endpoint.")}});var X$r,F2e,Z$r,U2e,gm=C(()=>{Vze();p1();Bee();t2e();n2e();s2e();i2e();L2e();Lee();Lr();kee();p1();X$r=u1(vN),F2e=r2e(vN),Z$r=m1(vN),U2e=e2e(vN)});var $2e,q2e,H2e=C(()=>{$2e=t=>typeof ReadableStream=="function"&&(t?.constructor?.name===ReadableStream.name||t instanceof ReadableStream),q2e=t=>typeof Blob=="function"&&(t?.constructor?.name===Blob.name||t instanceof Blob)});async function z2e(t){return t.arrayBuffer().then(e=>new Uint8Array(e))}async function G2e(t){let e=[],r=t.getReader(),n=0;for(;;){let{done:s,value:i}=await r.read();if(i&&(e.push(i),n+=i.length),s)break}return l1(e,n)}var j2e=C(()=>{vee()});var V2e,g1,Jee,W2e=C(()=>{V2e=require("node:stream");vee();j2e();H2e();g1=t=>q2e(t)?z2e(t):$2e(t)?G2e(t):new Promise((e,r)=>{let n=new Jee,s=t;s.pipe(n),s.on("error",i=>{n.end(),r(i)}),n.on("error",r),n.on("finish",function(){let i=l1(this.bufferedBytes);e(i)})}),Jee=class extends V2e.Writable{bufferedBytes=[];_write(e,r,n){this.bufferedBytes.push(e),n()}}});var Y2e,pC,Zjt,Kee,J2e,Fn=C(()=>{Y2e=require("node:crypto");hze();gze();yze();i1();Eze();wze();Tze();Bze();_ze();Dze();Mze();Lze();Fze();Uze();dee();W2e();Lr();pC=class extends Aze(hd,Ma,aC,Hy){},Zjt=Y2e.getRandomValues,Kee=bze(Zjt),J2e=Kee});var Vy,Xee=C(()=>{Fn();Vy=async(t=new Uint8Array,e)=>{if(t instanceof Uint8Array)return pC.mutate(t);if(!t)return pC.mutate(new Uint8Array);let r=e.streamCollector(t);return pC.mutate(await r)}});function A1(t){return encodeURIComponent(t).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}var K2e=C(()=>{});var mC,Zee=C(()=>{mC=class{serdeContext;setSerdeContext(e){this.serdeContext=e}}});var X2e,ete,y1,Z2e=C(()=>{X2e=new Uint32Array(256);for(let t=0;t<256;++t){let e=t;for(let r=0;r<8;++r)e=e&1?3988292384^e>>>1:e>>>1;X2e[t]=e>>>0}ete=4294967295,y1=class{digestLength=4;checksum=ete;update(e){for(let r=0;r<e.length;++r)this.checksum=this.checksum>>>8^X2e[(this.checksum^e[r])&255]}digestSync(){return(this.checksum^ete)>>>0}async digest(){let e=this.digestSync(),r=new Uint8Array(4);return new DataView(r.buffer).setUint32(0,e,!1),r}reset(){this.checksum=ete}}});function eVt(t){return class{digestLength=4;value=0;update(r){this.value=t(r,this.value)}digestSync(){return this.value>>>0}async digest(){let r=new Uint8Array(4);return new DataView(r.buffer).setUint32(0,this.digestSync(),!1),r}reset(){this.value=0}}}var tte,eGe,fC,tGe=C(()=>{tte=H(require("node:zlib"));Z2e();eGe=typeof tte.crc32=="function"?tte.crc32:void 0,fC=eGe?eVt(eGe):y1});var Ei,rGe,tVt,E1,nGe,rVt,sGe=C(()=>{Fn();Ei=64,rGe=32,tVt=2**53-1,E1=class t{digestLength=rGe;state=Int32Array.from(nGe);w;buffer=new Uint8Array(64);bufferLength=0;bytesHashed=0;finished=!1;inner;outer;constructor(e){if(e){let r=t.normalizeKey(e);this.inner=new t,this.outer=new t;let{inner:n,outer:s}=this,i=new Uint8Array(Ei*2);for(let o=0;o<Ei;++o)i[o]=54^r[o],i[o+Ei]=92^r[o];n.update(i.subarray(0,Ei)),s.update(i.subarray(Ei))}}update(e){if(this.finished)throw new Error("Attempted to update an already finished HMAC.");if(this.inner){this.inner.update(e);return}let r=Oa(e),n=0,{byteLength:s}=r;if(this.bytesHashed+=s,this.bytesHashed*8>tVt)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;s>0;)this.buffer[this.bufferLength++]=r[n++],s--,this.bufferLength===Ei&&(this.hashBuffer(),this.bufferLength=0)}async digest(){let{inner:e,outer:r}=this;if(e&&r){if(this.finished)throw new Error("Attempted to digest an already finished HMAC.");this.finished=!0;let n=e.digestSync();return r.update(n),r.digestSync()}return this.digestSync()}reset(){this.state=Int32Array.from(nGe),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0}digestSync(){let e=this.state.slice(),r=this.buffer.slice(),n=this.bufferLength,s=this.bytesHashed*8,i=new DataView(r.buffer,r.byteOffset,r.byteLength);if(i.setUint8(n++,128),(n-1)%Ei>=Ei-8){for(let a=n;a<Ei;++a)i.setUint8(a,0);this.hashBufferWith(e,r),n=0}for(let a=n;a<Ei-8;++a)i.setUint8(a,0);i.setUint32(Ei-8,Math.floor(s/4294967296),!1),i.setUint32(Ei-4,s,!1),this.hashBufferWith(e,r);let o=new Uint8Array(rGe);for(let a=0;a<8;++a)o[a*4]=e[a]>>>24&255,o[a*4+1]=e[a]>>>16&255,o[a*4+2]=e[a]>>>8&255,o[a*4+3]=e[a]>>>0&255;return o}static normalizeKey(e){let r=Oa(e);if(r.byteLength>Ei){let n=new t;n.update(r);let s=n.digestSync(),i=new Uint8Array(Ei);return i.set(s),i}if(r.byteLength<Ei){let n=new Uint8Array(Ei);return n.set(r),n}return r}hashBuffer(){this.hashBufferWith(this.state,this.buffer)}hashBufferWith(e,r){let n=this.w??=new Int32Array(64),s=e[0],i=e[1],o=e[2],a=e[3],c=e[4],l=e[5],u=e[6],d=e[7];for(let p=0;p<Ei;++p){if(p<16)n[p]=(r[p*4]&255)<<24|(r[p*4+1]&255)<<16|(r[p*4+2]&255)<<8|r[p*4+3]&255;else{let f=n[p-2],A=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10;f=n[p-15];let b=(f>>>7|f<<25)^(f>>>18|f<<14)^f>>>3;n[p]=(A+n[p-7]|0)+(b+n[p-16]|0)}let m=(((c>>>6|c<<26)^(c>>>11|c<<21)^(c>>>25|c<<7))+(c&l^~c&u)|0)+(d+(rVt[p]+n[p]|0)|0)|0,h=((s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10))+(s&i^s&o^i&o)|0;d=u,u=l,l=c,c=a+m|0,a=o,o=i,i=s,s=m+h|0}e[0]+=s,e[1]+=i,e[2]+=o,e[3]+=a,e[4]+=c,e[5]+=l,e[6]+=u,e[7]+=d}},nGe=new Int32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rVt=new Int32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298])});function sVt(){return class{digestLength=32;secret;hash;isHmac;finished=!1;constructor(e){this.secret=e,this.isHmac=!!e,this.hash=this.createHash()}update(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");this.hash.update(e)}async digest(){let e;return this.isHmac?(this.finished=!0,e=this.hash.digest()):e=this.hash.copy().digest(),new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}reset(){this.hash=this.createHash(),this.finished=!1}createHash(){return this.secret?(0,kN.createHmac)("sha256",iVt(this.secret)):(0,kN.createHash)("sha256")}}}function iVt(t){return typeof t=="string"?t:ArrayBuffer.isView(t)?Buffer.from(t.buffer,t.byteOffset,t.byteLength):Buffer.from(t)}var kN,nVt,b1,iGe=C(()=>{kN=require("node:crypto");sGe();nVt=(()=>{try{return(0,kN.createHash)("sha256"),!0}catch{return!1}})(),b1=nVt?sVt():E1});var w1=C(()=>{tGe();iGe()});function oGe(t){for(let e=0;e<8;e++)t[e]^=255;for(let e=7;e>-1&&(t[e]++,t[e]===0);e--);}var vh,rte=C(()=>{Fn();vh=class t{bytes;constructor(e){if(this.bytes=e,e.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>9223372036854776e3||e<-9223372036854776e3)throw new Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let r=new Uint8Array(8);for(let n=7,s=Math.abs(Math.round(e));n>-1&&s>0;n--,s/=256)r[n]=s;return e<0&&oGe(r),new t(r)}valueOf(){let e=this.bytes.slice(0),r=e[0]&128;return r&&oGe(e),parseInt(ns(e),16)*(r?-1:1)}toString(){return String(this.valueOf())}}});var hC,aGe,cGe,oVt,aVt,cVt,lVt,uVt,dVt,pVt,mVt,fVt,nte=C(()=>{Lr();Fn();rte();hC=class{toUtf8;fromUtf8;constructor(e,r){this.toUtf8=e,this.fromUtf8=r}format(e){let r=[];for(let i in e){if(!qr(e,i))continue;let o=this.fromUtf8(i);r.push(Uint8Array.from([o.byteLength]),o,this.formatHeaderValue(e[i]))}let n=new Uint8Array(r.reduce((i,o)=>i+o.byteLength,0)),s=0;for(let i of r)n.set(i,s),s+=i.byteLength;return n}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?0:1]);case"byte":return Uint8Array.from([2,e.value]);case"short":let r=new DataView(new ArrayBuffer(3));return r.setUint8(0,3),r.setInt16(1,e.value,!1),new Uint8Array(r.buffer);case"integer":let n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case"long":let s=new Uint8Array(9);return s[0]=5,s.set(e.value.bytes,1),s;case"binary":let i=new DataView(new ArrayBuffer(3+e.value.byteLength));i.setUint8(0,6),i.setUint16(1,e.value.byteLength,!1);let o=new Uint8Array(i.buffer);return o.set(e.value,3),o;case"string":let a=this.fromUtf8(e.value),c=new DataView(new ArrayBuffer(3+a.byteLength));c.setUint8(0,7),c.setUint16(1,a.byteLength,!1);let l=new Uint8Array(c.buffer);return l.set(a,3),l;case"timestamp":let u=new Uint8Array(9);return u[0]=8,u.set(vh.fromNumber(e.value.valueOf()).bytes,1),u;case"uuid":if(!fVt.test(e.value))throw new Error(`Invalid UUID received: ${e.value}`);let d=new Uint8Array(17);return d[0]=9,d.set(RN(e.value.replace(/-/g,"")),1),d}}parse(e){let r={},n=0;for(;n<e.byteLength;){let s=e.getUint8(n++),i=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+n,s));switch(n+=s,e.getUint8(n++)){case 0:r[i]={type:cGe,value:!0};break;case 1:r[i]={type:cGe,value:!1};break;case 2:r[i]={type:oVt,value:e.getInt8(n++)};break;case 3:r[i]={type:aVt,value:e.getInt16(n,!1)},n+=2;break;case 4:r[i]={type:cVt,value:e.getInt32(n,!1)},n+=4;break;case 5:r[i]={type:lVt,value:new vh(new Uint8Array(e.buffer,e.byteOffset+n,8))},n+=8;break;case 6:let o=e.getUint16(n,!1);n+=2,r[i]={type:uVt,value:new Uint8Array(e.buffer,e.byteOffset+n,o)},n+=o;break;case 7:let a=e.getUint16(n,!1);n+=2,r[i]={type:dVt,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+n,a))},n+=a;break;case 8:r[i]={type:pVt,value:new Date(new vh(new Uint8Array(e.buffer,e.byteOffset+n,8)).valueOf())},n+=8;break;case 9:let c=new Uint8Array(e.buffer,e.byteOffset+n,16);n+=16,r[i]={type:mVt,value:`${ns(c.subarray(0,4))}-${ns(c.subarray(4,6))}-${ns(c.subarray(6,8))}-${ns(c.subarray(8,10))}-${ns(c.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return r}};(function(t){t[t.boolTrue=0]="boolTrue",t[t.boolFalse=1]="boolFalse",t[t.byte=2]="byte",t[t.short=3]="short",t[t.integer=4]="integer",t[t.long=5]="long",t[t.byteArray=6]="byteArray",t[t.string=7]="string",t[t.timestamp=8]="timestamp",t[t.uuid=9]="uuid"})(aGe||(aGe={}));cGe="boolean",oVt="byte",aVt="short",cVt="integer",lVt="long",uVt="binary",dVt="string",pVt="timestamp",mVt="uuid",fVt=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/});function uGe({byteLength:t,byteOffset:e,buffer:r}){if(t<hVt)throw new Error("Provided message too short to accommodate event stream message overhead");let n=new DataView(r,e,t),s=n.getUint32(0,!1);if(t!==s)throw new Error("Reported message length does not match received message length");let i=n.getUint32(lGe,!1),o=n.getUint32(Nh,!1),a=n.getUint32(t-Wy,!1),c=new fC;if(c.update(new Uint8Array(r,e,Nh)),o!==c.digestSync())throw new Error(`The prelude checksum specified in the message (${o}) does not match the calculated CRC32 checksum (${c.digestSync()})`);if(c.update(new Uint8Array(r,e+Nh,t-(Nh+Wy))),a!==c.digestSync())throw new Error(`The message checksum (${c.digestSync()}) did not match the expected value of ${a}`);return{headers:new DataView(r,e+Nh+Wy,i),body:new Uint8Array(r,e+Nh+Wy+i,s-i-(Nh+Wy+Wy))}}var lGe,Nh,Wy,hVt,dGe=C(()=>{w1();lGe=4,Nh=lGe*2,Wy=4,hVt=Nh+Wy*2});var gC,ste=C(()=>{w1();nte();dGe();gC=class{headerMarshaller;messageBuffer;isEndOfStream;constructor(e,r){this.headerMarshaller=new hC(e,r),this.messageBuffer=[],this.isEndOfStream=!1}feed(e){this.messageBuffer.push(this.decode(e))}endOfStream(){this.isEndOfStream=!0}getMessage(){let e=this.messageBuffer.pop(),r=this.isEndOfStream;return{getMessage(){return e},isEndOfStream(){return r}}}getAvailableMessages(){let e=this.messageBuffer;this.messageBuffer=[];let r=this.isEndOfStream;return{getMessages(){return e},isEndOfStream(){return r}}}encode({headers:e,body:r}){let n=this.headerMarshaller.format(e),s=n.byteLength+r.byteLength+16,i=new Uint8Array(s),o=new DataView(i.buffer,i.byteOffset,i.byteLength),a=new fC;return o.setUint32(0,s,!1),o.setUint32(4,n.byteLength,!1),a.update(i.subarray(0,8)),o.setUint32(8,a.digestSync(),!1),i.set(n,12),i.set(r,n.byteLength+12),a.update(i.subarray(8,s-4)),o.setUint32(s-4,a.digestSync(),!1),i}decode(e){let{headers:r,body:n}=uGe(e);return{headers:this.headerMarshaller.parse(r),body:n}}formatHeaders(e){return this.headerMarshaller.format(e)}}});var AC,ite=C(()=>{AC=class{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.inputStream)yield this.options.decoder.decode(e)}}});var yC,ote=C(()=>{yC=class{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.messageStream)yield this.options.encoder.encode(e);this.options.includeEndFrame&&(yield new Uint8Array(0))}}});var EC,ate=C(()=>{EC=class{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.messageStream){let r=await this.options.deserializer(e);r!==void 0&&(yield r)}}}});var bC,cte=C(()=>{bC=class{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.inputStream)yield this.options.serializer(e)}}});function x1(t){let e=0,r=0,n=null,s=null,i=a=>{if(typeof a!="number")throw new Error("Attempted to allocate an event message where size was not a number: "+a);e=a,r=4,n=new Uint8Array(a),new DataView(n.buffer).setUint32(0,a,!1)},o=async function*(){let a=t[Symbol.asyncIterator]();for(;;){let{value:c,done:l}=await a.next();if(l){if(e)if(e===r)yield n;else throw new Error("Truncated event message received.");else return;return}let u=c.length,d=0;for(;d<u;){if(!n){let m=u-d;s||(s=new Uint8Array(4));let h=Math.min(4-r,m);if(s.set(c.slice(d,d+h),r),r+=h,d+=h,r<4)break;i(new DataView(s.buffer).getUint32(0,!1)),s=null}let p=Math.min(e-r,u-d);n.set(c.slice(d,d+p),r),r+=p,d+=p,e&&e===r&&(yield n,n=null,e=0,r=0)}}};return{[Symbol.asyncIterator]:o}}var lte=C(()=>{});function pGe(t,e){let r=_N(e.deserializer,e.toUtf8);return{[Symbol.asyncIterator]:async function*(){for await(let n of t){let s=e.eventStreamCodec.decode(n),i=await r(s);i!==void 0&&(yield i)}}}}function _N(t,e){return async function(r){let{value:n}=r.headers[":message-type"];if(n==="error"){let s=new Error(r.headers[":error-message"].value||"UnknownError");throw s.name=r.headers[":error-code"].value,s}else if(n==="exception"){let s=r.headers[":exception-type"].value,i={[s]:r},o=await t(i);if(o.$unknown){let a=new Error(e(r.body));throw a.name=s,a}throw o[s]}else if(n==="event"){let s={[r.headers[":event-type"].value]:r},i=await t(s);return i.$unknown?void 0:i}else throw Error(`Unrecognizable event type: ${r.headers[":event-type"].value}`)}}var ute=C(()=>{});var Yy,mGe,dte=C(()=>{ste();ite();ote();ate();cte();lte();ute();Yy=class{eventStreamCodec;utfEncoder;constructor({utf8Encoder:e,utf8Decoder:r}){this.eventStreamCodec=new gC(e,r),this.utfEncoder=e}deserialize(e,r){let n=x1(e);return new EC({messageStream:new AC({inputStream:n,decoder:this.eventStreamCodec}),deserializer:_N(r,this.utfEncoder)})}serialize(e,r){return new yC({messageStream:new bC({inputStream:e,serializer:r}),encoder:this.eventStreamCodec,includeEndFrame:!0})}},mGe=t=>new Yy(t)});async function*gVt(t){let e=!1,r=!1,n=new Array;for(t.on("error",s=>{if(e||(e=!0),s)throw s}),t.on("data",s=>{n.push(s)}),t.on("end",()=>{e=!0});!r;){let s=await new Promise(i=>setTimeout(()=>i(n.shift()),0));s&&(yield s),r=e&&n.length===0}}var fGe,DN,hGe,gGe=C(()=>{fGe=require("node:stream");dte();DN=class{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:r}){this.universalMarshaller=new Yy({utf8Decoder:r,utf8Encoder:e})}deserialize(e,r){let n=typeof e[Symbol.asyncIterator]=="function"?e:gVt(e);return this.universalMarshaller.deserialize(n,r)}serialize(e,r){return fGe.Readable.from(this.universalMarshaller.serialize(e,r))}},hGe=t=>new DN(t)});var AGe,yGe,EGe=C(()=>{AGe=t=>({[Symbol.asyncIterator]:async function*(){let e=t.getReader();try{for(;;){let{done:r,value:n}=await e.read();if(r)return;yield n}}finally{e.releaseLock()}}}),yGe=t=>{let e=t[Symbol.asyncIterator]();return new ReadableStream({async pull(r){let{done:n,value:s}=await e.next();if(n)return r.close();r.enqueue(s)}})}});var bGe,wGe=C(()=>{bGe=t=>Object.assign(t,{eventStreamMarshaller:t.eventStreamSerdeProvider(t)})});var C1,xGe=C(()=>{Lr();_c();Fn();C1=class{marshaller;serializer;deserializer;serdeContext;defaultContentType;compositeErrorRegistry;constructor({marshaller:e,serializer:r,deserializer:n,serdeContext:s,defaultContentType:i,compositeErrorRegistry:o}){this.marshaller=e,this.serializer=r,this.deserializer=n,this.serdeContext=s,this.defaultContentType=i,this.compositeErrorRegistry=o}async serializeEventStream({eventStream:e,requestSchema:r,initialRequest:n,initialMessageType:s}){let i=this.marshaller,o=r.getEventStreamMember(),a=r.getMemberSchema(o),c=this.serializer,l=this.defaultContentType,u=Symbol("initialRequestMarker"),d={async*[Symbol.asyncIterator](){if(n){let p={":event-type":{type:"string",value:s??"initial-request"},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:l}};c.write(r,n);let m=c.flush();yield{[u]:!0,headers:p,body:m}}for await(let p of e)yield p}};return i.serialize(d,p=>{if(p[u])return{headers:p.headers,body:p.body};let m="";for(let x in p)if(qr(p,x)&&x!=="__type"){m=x;break}let{additionalHeaders:h,body:f,eventType:A,explicitPayloadContentType:b}=this.writeEventBody(m,a,p);return{headers:{":event-type":{type:"string",value:A},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:b??l},...h},body:f}})}async deserializeEventStream({response:e,responseSchema:r,initialResponseContainer:n,initialMessageType:s}){let i=this.marshaller,o=r.getEventStreamMember(),c=r.getMemberSchema(o).getMemberSchemas(),l=Symbol("initialResponseMarker"),u=i.deserialize(e.body,async m=>{let h="";for(let A in m)if(qr(m,A)&&A!=="__type"){h=A;break}let f=m[h].body;if(h===(s??"initial-response")){let A=await this.deserializer.read(r,f);return delete A[o],{[l]:!0,...A}}else if(h in c){let A=c[h];if(A.isStructSchema()){let b={},y=!1;for(let[x,I]of A.structIterator()){let{eventHeader:v,eventPayload:T}=I.getMergedTraits();if(y=y||!!(v||T),T)I.isBlobSchema()?b[x]=f:I.isStringSchema()?b[x]=(this.serdeContext?.utf8Encoder??hd)(f):I.isStructSchema()&&(b[x]=await this.deserializer.read(I,f));else if(v){let N=m[h].headers[x]?.value;N!=null&&(I.isNumericSchema()?N&&typeof N=="object"&&"bytes"in N?b[x]=BigInt(N.toString()):b[x]=Number(N):b[x]=N)}}return{[h]:await this.readEventMember(A,f,y,b)}}return{[h]:await this.deserializer.read(A,f)}}else return{$unknown:m}}),d=u[Symbol.asyncIterator](),p=await d.next();if(p.done)return u;if(p.value?.[l]){if(!r)throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");for(let m in p.value)qr(p.value,m)&&(n[m]=p.value[m])}return{async*[Symbol.asyncIterator](){for(p?.value?.[l]||(yield p.value);;){let{done:m,value:h}=await d.next();if(m)break;yield h}}}}async readEventMember(e,r,n,s){let i,o=e.getSchema();if(Array.isArray(o)&&o[0]===-3){let c=o[1],l=Qa.for(c);this.compositeErrorRegistry?.copyFrom(l),i=(this.compositeErrorRegistry??l)?.getErrorCtor(o)}let a=n?s:r.byteLength===0?{}:await this.deserializer.read(e,r);if(i){let c=a.message??a.Message??"Unknown",l={},u=e.getMergedTraits().error;return u&&(l.$fault=u),Object.assign(new i({}),l,{message:c},a)}return a}writeEventBody(e,r,n){let s=this.serializer,i=e,o=null,a,c=r.getSchema()[4].includes(e),l={};if(c){let p=r.getMemberSchema(e);if(p.isStructSchema()){for(let[m,h]of p.structIterator()){let{eventHeader:f,eventPayload:A}=h.getMergedTraits();if(A)o=m;else if(f){let b=n[e][m],y="binary";h.isNumericSchema()?(-2)**31<=b&&b<=2**31-1?y="integer":y="long":h.isTimestampSchema()?y="timestamp":h.isStringSchema()?y="string":h.isBooleanSchema()&&(y="boolean"),b!=null&&(l[m]={type:y,value:b},delete n[e][m])}}if(o!==null){let m=p.getMemberSchema(o);m.isBlobSchema()?a="application/octet-stream":m.isStringSchema()&&(a="text/plain"),s.write(m,n[e][o])}else s.write(p,n[e])}else if(p.isUnitSchema())s.write(p,{});else throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.")}else{let[p,m]=n[e];i=p,s.write(15,m)}let u=s.flush()??new Uint8Array;return{body:typeof u=="string"?(this.serdeContext?.utf8Decoder??Ma)(u):u,eventType:i,explicitPayloadContentType:a,additionalHeaders:l}}}});var CGe={};cp(CGe,{EventStreamCodec:()=>gC,EventStreamMarshaller:()=>DN,EventStreamSerde:()=>C1,HeaderMarshaller:()=>hC,Int64:()=>vh,MessageDecoderStream:()=>AC,MessageEncoderStream:()=>yC,SmithyMessageDecoderStream:()=>EC,SmithyMessageEncoderStream:()=>bC,UniversalEventStreamMarshaller:()=>Yy,eventStreamSerdeProvider:()=>hGe,getChunkedStream:()=>x1,getMessageUnmarshaller:()=>_N,getUnmarshalledStream:()=>pGe,iterableToReadableStream:()=>yGe,readableStreamToIterable:()=>AGe,resolveEventStreamSerdeConfig:()=>bGe,universalEventStreamSerdeProvider:()=>mGe});var SGe=C(()=>{ste();nte();rte();ite();ote();ate();cte();gGe();EGe();dte();lte();ute();wGe();xGe()});var S1,IGe=C(()=>{Lr();_c();Lr();Zee();S1=class extends mC{options;compositeErrorRegistry;constructor(e){super(),this.options=e,this.compositeErrorRegistry=Qa.for(e.defaultNamespace);for(let r of e.errorTypeRegistries??[])this.compositeErrorRegistry.copyFrom(r)}getRequestType(){return Or}getResponseType(){return Ao}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,r){if("url"in r){e.protocol=r.url.protocol,e.hostname=r.url.hostname,e.port=r.url.port?Number(r.url.port):void 0,e.path=r.url.pathname,e.fragment=r.url.hash||void 0,e.username=r.url.username||void 0,e.password=r.url.password||void 0,e.query||(e.query={});for(let[n,s]of r.url.searchParams.entries())e.query[n]=s;if(r.headers)for(let n in r.headers)qr(r.headers,n)&&(e.headers[n]=r.headers[n].join(", "));return e}else{if(e.protocol=r.protocol,e.hostname=r.hostname,e.port=r.port?Number(r.port):void 0,e.path=r.path,e.query={...r.query},r.headers)for(let n in r.headers)qr(r.headers,n)&&(e.headers[n]=r.headers[n]);return e}}setHostPrefix(e,r,n){if(this.serdeContext?.disableHostPrefix)return;let s=mn.of(r.input),i=Ih(r.traits??{});if(i.endpoint){let o=i.endpoint?.[0];if(typeof o=="string"){for(let[a,c]of s.structIterator()){if(!c.getMergedTraits().hostLabel)continue;let l=n[a];if(typeof l!="string")throw new Error(`@smithy/core/schema - ${a} in input must be a string as hostLabel.`);o=o.replace(`{${a}}`,l)}if(e.hostname=o+e.hostname,!U7(e.hostname))throw new Error(`[${e.hostname}] is not a valid hostname.`)}}}deserializeMetadata(e){return{httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}}async serializeEventStream({eventStream:e,requestSchema:r,initialRequest:n}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:r,initialRequest:n})}async deserializeEventStream({response:e,responseSchema:r,initialResponseContainer:n}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:r,initialResponseContainer:n})}async loadEventStreamCapability(){let{EventStreamSerde:e,eventStreamSerdeProvider:r}=await Promise.resolve().then(()=>(SGe(),CGe)),n=this.resolveEventStreamMarshaller(r);return new e({marshaller:n,serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType(),compositeErrorRegistry:this.compositeErrorRegistry})}resolveEventStreamMarshaller(e){let r=this.serdeContext;return r.eventStreamMarshaller?r.eventStreamMarshaller:e(this.serdeContext)}getDefaultContentType(){throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`)}async deserializeHttpMessage(e,r,n,s,i){return[]}getEventStreamMarshaller(){let e=this.serdeContext;if(!e.eventStreamMarshaller)throw new Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");return e.eventStreamMarshaller}}});var QN,RGe=C(()=>{Lr();_c();Lr();IGe();Xee();QN=class extends S1{async serializeRequest(e,r,n){let s=this.serializer,i={},o={},a=await n.endpoint(),c=mn.of(e?.input),l=c.getSchema(),u,d=r&&typeof r=="object"?r:{},p=new Or({protocol:"",hostname:"",port:void 0,path:"/",fragment:void 0,query:i,headers:o,body:void 0});if(a&&(this.updateServiceEndpoint(p,a),this.setHostPrefix(p,e,d)),d){let m=c.getEventStreamMember();if(m){if(d[m]){let h={};for(let[f]of c.structIterator())f!==m&&d[f]!=null&&(h[f]=d[f]);u=await this.serializeEventStream({eventStream:d[m],requestSchema:c,initialRequest:h})}}else s.write(l,d),u=s.flush()}return p.headers=Object.assign(p.headers,o),p.query=i,p.body=u,p.method="POST",p}async deserializeResponse(e,r,n){let s=this.deserializer,i=mn.of(e.output),o={};if(n.statusCode>=300){let c=await Vy(n.body,r);throw c.byteLength>0&&Object.assign(o,await s.read(15,c)),await this.handleError(e,r,n,o,this.deserializeMetadata(n)),new Error("@smithy/core/protocols - RPC Protocol error handler failed to throw.")}for(let c in n.headers){if(!qr(n.headers,c))continue;let l=n.headers[c];delete n.headers[c],n.headers[c.toLowerCase()]=l}let a=i.getEventStreamMember();if(a)o[a]=await this.deserializeEventStream({response:n,responseSchema:i,initialResponseContainer:o});else{let c=await Vy(n.body,r);c.byteLength>0&&Object.assign(o,await s.read(i,c))}return o.$metadata=this.deserializeMetadata(n),o}}});function MN(t,e){if(e.timestampFormat.useTrait&&t.isTimestampSchema()&&(t.getSchema()===5||t.getSchema()===6||t.getSchema()===7))return t.getSchema();let{httpLabel:r,httpPrefixHeaders:n,httpHeader:s,httpQuery:i}=t.getMergedTraits();return(e.httpBindings?typeof n=="string"||s?6:i||r?5:void 0:void 0)??e.timestampFormat.default}var pte=C(()=>{});var ON,vGe=C(()=>{_c();Fn();Zee();pte();ON=class extends mC{settings;constructor(e){super(),this.settings=e}read(e,r){let n=mn.of(e);if(n.isListSchema())return See(r).map(s=>this.read(n.getValueSchema(),s));if(n.isBlobSchema())return(this.serdeContext?.base64Decoder??Hy)(r);if(n.isTimestampSchema())switch(MN(n,this.settings)){case 5:return xee(r);case 6:return Cee(r);case 7:return wee(r);default:return console.warn("Missing timestamp format, parsing value with Date constructor:",r),new Date(r)}if(n.isStringSchema()){let s=n.getMergedTraits().mediaType,i=r;if(s)return n.getMergedTraits().httpHeader&&(i=this.base64ToUtf8(i)),(s==="application/json"||s.endsWith("+json"))&&(i=mm.from(i)),i}return n.isNumericSchema()?Number(r):n.isBigIntegerSchema()?BigInt(r):n.isBigDecimalSchema()?new zy(r,"bigDecimal"):n.isBooleanSchema()?String(r).toLowerCase()==="true":r}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??hd)((this.serdeContext?.base64Decoder??Hy)(e))}}});var mte,fte,NGe=C(()=>{mte=t=>(t.logger&&t.logger.constructor?.name!=="NoOpLogger"&&t.requestHandler?.updateHttpClientConfig?.(Symbol.for("logger"),t.logger),{setHttpHandler(e){t.requestHandler=e},httpHandler(){return t.requestHandler},updateHttpClientConfig(e,r){t.requestHandler?.updateHttpClientConfig(e,r)},httpHandlerConfigs(){return t.requestHandler.httpHandlerConfigs()}}),fte=t=>({requestHandler:t.httpHandler()})});function BGe(t){return e=>async r=>{let n=r.request;if(Or.isInstance(n)){let{body:s,headers:i}=n;if(s&&Object.keys(i).map(o=>o.toLowerCase()).indexOf(TGe)===-1)try{let o=t(s);o!=null&&(n.headers={...n.headers,[TGe]:String(o)})}catch{}}return e({...r,request:n})}}var TGe,PGe,hte,kGe=C(()=>{Lr();TGe="content-length";PGe={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0},hte=t=>({applyToStack:e=>{e.add(BGe(t.bodyLengthChecker),PGe)}})});var Tl,AVt,gte=C(()=>{Tl=t=>encodeURIComponent(t).replace(/[!'()*]/g,AVt),AVt=t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`});function Ate(t){let e=[];for(let r of Object.keys(t).sort()){let n=t[r];if(r=Tl(r),Array.isArray(n))for(let s=0,i=n.length;s<i;s++)e.push(`${r}=${Tl(n[s])}`);else{let s=r;(n||typeof n=="string")&&(s+=`=${Tl(n)}`),e.push(s)}}return e.join("&")}var _Ge=C(()=>{gte()});var ss=C(()=>{Xee();K2e();RGe();vGe();pte();Lr();Lr();NGe();kGe();gte();_Ge();Lr()});var I1,yte,DGe=C(()=>{I1={warningEmitted:!1},yte=t=>{if(t&&!I1.warningEmitted){if(process.env.AWS_SDK_JS_NODE_VERSION_SUPPORT_WARNING_DISABLED==="true"){I1.warningEmitted=!0;return}let e=parseInt(t.substring(1,t.indexOf("."))),r=22;e<r&&(I1.warningEmitted=!0,process.emitWarning(`NodeVersionSupportWarning: The AWS SDK for JavaScript (v3)
@@ -175,7 +175,7 @@ The generated tests for this run were delivered to the configured test repo;
175
175
  this change only records the workspace/service configuration (including any
176
176
  additional repositories analyzed in a multi-repo run).`,devPrMergedBreadcrumb:(t,e,r)=>`Dev PR merged \u2014 Testbot PR [#${t}](${e}) is still open, now targeting \`${r}\`.`,devPrClosedBreadcrumb:(t,e)=>`Dev PR closed \u2014 Testbot PR [#${t}](${e}) has been closed automatically.`,testbotPrMergeHint:"Merging this PR adds the generated/maintained tests to the feature branch. Close it if you want to discard them.",testbotPrBacklink:t=>`Generated by Skyramp Testbot for ${t}.`,testbotPrDispatchBacklink:t=>`Generated by Skyramp Testbot from a manual run against \`${t}\`.`,testbotPrMergedBacklink:t=>`Generated by Skyramp Testbot for ${t}, which has since merged; these tests target the base branch.`,staleBannerNoChanges:t=>`> \u26A0\uFE0F The latest push on ${t} did not require any new test changes.`,staleBannerStillOpen:"> This PR still reflects testbot's analysis from an earlier push; consider regenerating via `@skyramp-testbot` or merging as-is if still relevant.",testbotPrNoBaseBranchError:"Skyramp Testbot could not open a Testbot PR because no base branch could be determined (no pull_request context and no checked-out branch). This usually means the workflow ran outside a `pull_request` event and `actions/checkout` left a detached HEAD. Set `generatedTestsMode: same-branch` to commit directly to the feature branch instead.",commitFailureGeneric:(t,e)=>e?`Failed to commit generated tests to the Testbot PR branch: \`${t}\`.`:`Failed to commit generated tests: \`${t}\`.`,commitFailureHookWhereTestbotPr:"so no Testbot PR was created",commitFailureHookWhereSameBranch:"so no changes were committed to the branch",commitFailureHook:(t,e)=>`Your repository's pre-commit hook rejected the generated-test commit, ${e}. Hook error: \`${t}\`.`,gitVerificationBypassed:(t,e,r)=>`Git verification issues: your repository's hooks rejected the \`git ${t}\` of the generated tests, and Testbot tried repairing them first, but ${e}, so they were delivered with \`--no-verify\`. Hook error: \`${r}\`.`,repairTimedOut:t=>`the ${t}-minute repair time ran out`,repairSessionFailed:t=>`the repair session failed (${t})`,gitVerificationBypassedNextStep:"Testbot delivered the generated tests without passing your repository's git hooks. Fix the issues the hooks reported in those tests before merging.",commitFailureHookNextStep:"A pre-commit hook rejected Testbot's generated tests. Fix the issue it reported in the generated tests, or configure the hook/linter to skip Testbot's generated test files. (Both delivery modes run `git commit`, so switching `generatedTestsMode` will not skip the hook.)",testbotPrCreationFailure:(t,e)=>`Could not open the Testbot PR for the generated tests. Error: \`${t}\`. The tests were committed and pushed to \`${e}\` \u2014 open a pull request from that branch to review them.`,sameBranchTestRepoConflictError:"`generatedTestsMode: same-branch` is incompatible with a configured `testRepoPath`: tests were generated into the test repo checkout, but same-branch mode only commits to the primary repo checkout. Use `generatedTestsMode: separate-branch` (the default) with `testRepoPath`, or remove `testRepoPath` to commit generated tests to the same branch.",noNewTestChangesBreadcrumb:t=>`This push produced no new test changes. The prior [testbot PR](${t}) from an earlier push is still open for review.`,testbotPrLabel:(t,e)=>`Testbot PR : [${t}](${e})`,sutAppCrashDetected:t=>`**Application crash detected:** Services (${t}) failed to start due to a code error.`,sutErrorLine:t=>`
177
177
  **Error:** \`${t}\``,sutFixPrefix:"**Fix:** ",sutServiceNotReachable:t=>`**Service not reachable:** Service at ${t} did not respond before the health-check timeout. The service may still be starting, or the startup command may not have brought it up at all.`,sutServiceNotReachableFix:"**Fix:** Check that `targetSetupCommand` actually starts this service and listens on the expected port. If the command is correct but the service is slow to start, increase `targetReadyCheckTimeout`. For a more reliable readiness signal, configure `targetReadyCheckCommand` to probe a specific health endpoint."};var uqe={defaultProgressHeadline:"\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u78BA\u8A8D\u3057\u3066\u30C6\u30B9\u30C8\u3092\u63A8\u5968\u3057\u3066\u3044\u307E\u3059\u3002",stepSettingUpEnvironment:"\u74B0\u5883\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7",stepAnalyzingUserRequest:"\u30E6\u30FC\u30B6\u30FC\u30EA\u30AF\u30A8\u30B9\u30C8\u306E\u5206\u6790",stepAnalyzingCodeChanges:"\u30B3\u30FC\u30C9\u5909\u66F4\u306E\u5206\u6790",stepRecommendingTests:"\u30C6\u30B9\u30C8\u306E\u63A8\u5968",stepGeneratingTests:"\u30C6\u30B9\u30C8\u306E\u751F\u6210",stepExecutingTests:"\u30C6\u30B9\u30C8\u306E\u5B9F\u884C",stepGeneratingReport:"\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u3068\u30EC\u30DD\u30FC\u30C8\u306E\u751F\u6210",workflowRunLinkLabel:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u5B9F\u884C",noReportAvailable:"\u30EC\u30DD\u30FC\u30C8\u306F\u3042\u308A\u307E\u305B\u3093\u3002",cancelledHeader:"### Skyramp Testbot \u2014 \u30AD\u30E3\u30F3\u30BB\u30EB",cancelledBody:"\u3053\u306E\u5B9F\u884C\u306F\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F\u3002",cancelledStepSuffix:"\u30AD\u30E3\u30F3\u30BB\u30EB",abandonedHeader:"### Skyramp Testbot \u2014 \u505C\u6B62",abandonedBody:"\u3053\u306E\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u306F\u30DE\u30FC\u30B8\u3055\u308C\u305A\u306B\u30AF\u30ED\u30FC\u30BA\u3055\u308C\u305F\u305F\u3081\u3001\u30C6\u30B9\u30C8\u30E1\u30F3\u30C6\u30CA\u30F3\u30B9\u306F\u5B8C\u4E86\u524D\u306B\u505C\u6B62\u3055\u308C\u307E\u3057\u305F\u3002",abandonedStepSuffix:"\u505C\u6B62",followingUserInstruction:t=>`> \u30E6\u30FC\u30B6\u30FC\u6307\u793A\u306B\u5F93\u3063\u3066\u3044\u307E\u3059: *${t}*`,minimalReportHeader:"### \u26A0\uFE0F Skyramp Testbot",testRecommendationsImplementedHeader:t=>`\u{1F4A1} \u5B9F\u88C5\u3057\u305F\u30C6\u30B9\u30C8\u63A8\u5968\uFF08${t}\u4EF6\uFF09`,additionalRecommendationsHeader:t=>`\u{1F4CC} \u8FFD\u52A0\u306E\u30C6\u30B9\u30C8\u63A8\u5968\uFF08${t}\u4EF6\uFF09`,additionalRecommendationsCta:"\u3053\u308C\u3089\u306E\u30C6\u30B9\u30C8\u3092\u751F\u6210\u3059\u308B\u306B\u306F\u3001\u30B3\u30E1\u30F3\u30C8\u3067 `@skyramp-testbot` \u3092\u30E1\u30F3\u30B7\u30E7\u30F3\u3057\u3066\u8FFD\u52A0\u3092\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u4F8B: `@skyramp-testbot /products \u306E\u30B3\u30F3\u30C8\u30E9\u30AF\u30C8\u30C6\u30B9\u30C8\u3092\u8FFD\u52A0\u3057\u3066`\uFF09\u3002",testTypeLabels:{contract:"\u{1F4CB} \u30B3\u30F3\u30C8\u30E9\u30AF\u30C8",integration:"\u{1F517} \u7D71\u5408",e2e:"\u{1F310} E2E",ui:"\u{1F5A5}\uFE0F UI"},testTypeCellLabels:{smoke:"\u30B9\u30E2\u30FC\u30AF",fuzz:"\u30D5\u30A1\u30BA",contract:"\u30B3\u30F3\u30C8\u30E9\u30AF\u30C8",load:"\u8CA0\u8377",integration:"\u7D71\u5408",e2e:"E2E",ui:"UI",unit:"\u30E6\u30CB\u30C3\u30C8"},statusLabels:{Pass:"\u5408\u683C",Fail:"\u4E0D\u5408\u683C",Error:"\u30A8\u30E9\u30FC",Skipped:"\u30B9\u30AD\u30C3\u30D7"},severityLabels:{critical:"\u91CD\u5927",high:"\u9AD8",medium:"\u4E2D",low:"\u4F4E"},reuse:{label:"POM \u518D\u5229\u7528",noPomLayer:"\u30B9\u30AD\u30C3\u30D7 \u2014 \u3053\u306E\u30C6\u30B9\u30C8\u306B\u518D\u5229\u7528\u3067\u304D\u308B\u30DA\u30FC\u30B8\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u5C64\u306F\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F",reusedAndVerified:t=>`POM \u547C\u3073\u51FA\u3057 ${t} \u4EF6\u3092\u518D\u5229\u7528\u30FB\u691C\u8A3C\u6E08\u307F`,reusedThenVerified:(t,e)=>`POM \u547C\u3073\u51FA\u3057 ${t} \u4EF6\u3092\u518D\u5229\u7528\uFF08\u3046\u3061 ${e} \u4EF6\u3092\u691C\u8A3C\u6E08\u307F\uFF09`,reused:t=>`POM \u547C\u3073\u51FA\u3057 ${t} \u4EF6\u3092\u518D\u5229\u7528`,verified:t=>`POM \u547C\u3073\u51FA\u3057 ${t} \u4EF6\u3092\u691C\u8A3C\u6E08\u307F`,unresolved:t=>`${t} \u4EF6\u306F POM \u30BD\u30FC\u30B9\u307E\u3067\u89E3\u6C7A\u3067\u304D\u305A\uFF08\u53C2\u8003\u60C5\u5831\u3067\u3042\u308A\u3001\u9664\u5916\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09`,candidates:t=>`\u5019\u88DC\u3068\u306A\u308B POM \u30D5\u30A1\u30A4\u30EB ${t} \u4EF6\u3092\u691C\u51FA`,verificationPassed:"\u691C\u8A3C\u306B\u5408\u683C",verificationFailed:"\u26A0\uFE0F \u691C\u8A3C\u306B\u5408\u683C\u3057\u307E\u305B\u3093\u3067\u3057\u305F",keptInline:t=>`\u30A4\u30F3\u30E9\u30A4\u30F3\u306E\u307E\u307E: ${t}`,gate:{"not-mapped":"\u30DE\u30C3\u30D4\u30F3\u30B0\u5BFE\u8C61\u5916","demoted-by-verify":"\u691C\u8A3C\u3067\u5DEE\u3057\u623B\u3057"}},testMaintenanceHeader:t=>`\u2705 \u30C6\u30B9\u30C8\u30E1\u30F3\u30C6\u30CA\u30F3\u30B9\uFF08${t}\u4EF6\uFF09`,maintenanceTableHeader:"| \u30C6\u30B9\u30C8\u7A2E\u5225 | \u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8 | \u30D5\u30A1\u30A4\u30EB | \u5909\u66F4\u5185\u5BB9 | \u5909\u66F4\u524D | \u5909\u66F4\u5F8C |",testResultsHeader:t=>`\u{1F9EA} \u30C6\u30B9\u30C8\u7D50\u679C\uFF08${t}\u4EF6\uFF09`,columnTestType:"\u30C6\u30B9\u30C8\u7A2E\u5225",columnEndpoint:"\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8",columnStatus:"\u30B9\u30C6\u30FC\u30BF\u30B9",columnDetails:"\u8A73\u7D30",columnRepo:"\u30EA\u30DD\u30B8\u30C8\u30EA",repoColumnPrimary:"\u30D7\u30E9\u30A4\u30DE\u30EA",columnVideo:"\u30D3\u30C7\u30AA",videoDownloadLink:t=>`[\u{1F4F9} \u30C0\u30A6\u30F3\u30ED\u30FC\u30C9](${t})`,videosArtifactFallback:t=>`\u{1F4F9} \u9332\u753B\u3055\u308C\u305F UI \u30C6\u30B9\u30C8\u30D3\u30C7\u30AA: [\u5B9F\u884C\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u304B\u3089\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9](${t})`,issuesFoundHeader:t=>`\u26A0\uFE0F \u691C\u51FA\u3055\u308C\u305F\u554F\u984C\uFF08${t}\u4EF6\uFF09`,configErrorsHeader:"\u2699\uFE0F \u8A2D\u5B9A\u30A8\u30E9\u30FC",nextStepsHeader:"### \u{1F4A1} \u6B21\u306E\u30B9\u30C6\u30C3\u30D7",caveatsHeader:"### \u26A0\uFE0F \u3053\u306E\u5B9F\u884C\u3067\u78BA\u8A8D\u3067\u304D\u306A\u304B\u3063\u305F\u3053\u3068",caveats:{deployFailed:"\u30A2\u30D7\u30EA\u3092\u8D77\u52D5\u3067\u304D\u306A\u304B\u3063\u305F\u305F\u3081\u3001\u3053\u3053\u306B\u793A\u3059\u5185\u5BB9\u306F\u7A3C\u50CD\u4E2D\u306E\u30B7\u30B9\u30C6\u30E0\u306B\u5BFE\u3057\u3066\u691C\u8A3C\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",changeBrokeBringup:"\u3053\u306E\u5909\u66F4\u306B\u3088\u308A\u30A2\u30D7\u30EA\u306E\u8D77\u52D5\u304C\u58CA\u308C\u305F\u3068\u601D\u308F\u308C\u307E\u3059\u3002PR \u3092\u9069\u7528\u3057\u305F\u72B6\u614B\u3067\u8D77\u52D5\u3067\u304D\u305A\u3001\u30C6\u30B9\u30C8\u306F\u5B9F\u884C\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",bringupFailed:"\u3053\u306E PR \u3068\u306F\u7121\u95A2\u4FC2\u306E\u7406\u7531\u3067\u30A2\u30D7\u30EA\u3092\u8D77\u52D5\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u7A3C\u50CD\u4E2D\u306E\u30A2\u30D7\u30EA\u306B\u5BFE\u3059\u308B\u30C6\u30B9\u30C8\u306F\u5B9F\u884C\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",testsNotExecuted:"\u3053\u306E\u5B9F\u884C\u3067\u306F\u7A3C\u50CD\u4E2D\u306E\u30A2\u30D7\u30EA\u306B\u5BFE\u3057\u3066\u30C6\u30B9\u30C8\u304C\u5B9F\u884C\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u672A\u5B9F\u884C\u306E\u30C6\u30B9\u30C8\u306F\u5909\u66F4\u304C\u6B63\u3057\u304F\u52D5\u4F5C\u3059\u308B\u8A3C\u62E0\u306B\u306A\u308A\u307E\u305B\u3093\u3002",recipeDrift:"\u8A18\u9332\u3055\u308C\u3066\u3044\u305F\u30A2\u30D7\u30EA\u306E\u8D77\u52D5\u624B\u9806\u304C\u53E4\u304F\u306A\u3063\u3066\u304A\u308A\u3001\u8D77\u52D5\u524D\u306B\u4FEE\u6B63\u304C\u5FC5\u8981\u3067\u3057\u305F\u3002",mockedDependency:t=>`${t} \u306F\u5B9F\u969B\u306B\u30C7\u30D7\u30ED\u30A4\u3055\u308C\u305A\u30E2\u30C3\u30AF\u5316\u3055\u308C\u307E\u3057\u305F\u3002\u3053\u308C\u306B\u5BFE\u3059\u308B\u6210\u529F\u7D50\u679C\u306F\u8A3C\u660E\u306B\u306F\u306A\u308A\u307E\u305B\u3093\u3002`,finalizeNotReady:t=>`\u30C6\u30B9\u30C8\u306F\u73FE\u72B6\u3067\u306F\u30DE\u30FC\u30B8\u53EF\u80FD\u306A\u72B6\u614B\u3067\u306F\u3042\u308A\u307E\u305B\u3093${t?`: ${t}`:"\u3002"}`,ciNotCovered:"\u3053\u308C\u3089\u306E\u30C6\u30B9\u30C8\u3092\u5B9F\u884C\u3059\u308B CI \u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u304C\u306A\u3044\u305F\u3081\u3001\u4ECA\u5F8C\u306E\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u3067\u306F\u5B9F\u884C\u3055\u308C\u307E\u305B\u3093\u3002",sutNotRequired:"\u30A2\u30D7\u30EA\u306F\u8D77\u52D5\u3057\u3066\u3044\u307E\u305B\u3093\u3002\u691C\u8A3C\u30C8\u30EA\u30A2\u30FC\u30B8\u306B\u3088\u308A\u3001\u3053\u306E\u5909\u66F4\u3067\u691C\u8A3C\u304C\u5FC5\u8981\u306A\u30C7\u30D7\u30ED\u30A4\u5F8C\u306E\u632F\u308B\u821E\u3044\u306F\u306A\u3044\u3068\u5224\u65AD\u3055\u308C\u307E\u3057\u305F\u3002",lintNotCovered:t=>`\u30EA\u30DD\u30B8\u30C8\u30EA\u306E\u30EA\u30F3\u30BF\u30FC\u306F ${t} \u3092\u30C1\u30A7\u30C3\u30AF\u3057\u307E\u305B\u3093\u3002\u30B9\u30BF\u30A4\u30EB\u3084\u578B\u306E\u554F\u984C\u304C\u81EA\u52D5\u7684\u306B\u306F\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3002`,analysisUnverified:t=>`\u5909\u66F4\u306E\u5206\u6790\u306E\u4E00\u90E8\u3092\u691C\u8A3C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u672A\u89E3\u6C7A\u306E\u30C1\u30A7\u30C3\u30AF ${t} \u4EF6\uFF09\u3002\u8A72\u5F53\u3059\u308B\u4E3B\u5F35\u306F\u672A\u78BA\u8A8D\u3068\u3057\u3066\u6271\u3044\u3001\u30C6\u30B9\u30C8\u3092\u8A08\u753B\u3057\u307E\u3057\u305F\u3002`},autoCommitHint:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3067 `autoCommit: true` \u3092\u6709\u52B9\u306B\u3059\u308B\u3068\u3001Skyramp Testbot \u304C\u751F\u6210\u3057\u305F\u30C6\u30B9\u30C8\u3092\u81EA\u52D5\u7684\u306B\u30B3\u30DF\u30C3\u30C8\u3057\u307E\u3059\u3002",implementRecommendationsCta:"\u8FFD\u52A0\u306E\u30C6\u30B9\u30C8\u63A8\u5968\u3092\u5B9F\u88C5\u3059\u308B\u306B\u306F `@skyramp-testbot` \u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u5DEE\u5206\u306E\u5206\u6790\u306B\u57FA\u3065\u304D\u3001\u4EE5\u4E0B\u3092\u63A8\u5968\u3057\u307E\u3059:",sutServiceErrorsHeadline:":warning: **\u30B5\u30FC\u30D3\u30B9\u304C\u30A8\u30E9\u30FC\u3092\u8FD4\u3057\u3066\u3044\u307E\u3059**",sutCheckedEndpoints:"Testbot \u306F\u30C6\u30B9\u30C8\u5B9F\u884C\u524D\u306B\u30B5\u30FC\u30D3\u30B9\u306E\u8D77\u52D5\u3092\u5F85\u6A5F\u3057\u307E\u3057\u305F\u304C\u3001\u30D8\u30EB\u30B9\u30C1\u30A7\u30C3\u30AF\u304C\u901A\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002",sutCheckCodeChanges:"**\u3053\u306E PR \u306E\u30B3\u30FC\u30C9\u5909\u66F4\u304C\u30B5\u30FC\u30D3\u30B9\u969C\u5BB3\u306E\u539F\u56E0\u306B\u306A\u3063\u3066\u3044\u306A\u3044\u304B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044** \u2014 \u65B0\u305F\u306B\u6DF7\u5165\u3057\u305F\u30D0\u30B0\u3001\u4F9D\u5B58\u95A2\u4FC2\u306E\u4E0D\u8DB3\u3001\u8A2D\u5B9A\u30DF\u30B9\u306B\u3088\u308A\u3001\u30B5\u30FC\u30D3\u30B9\u304C\u8D77\u52D5\u3067\u304D\u306A\u3044\u30FB\u6B63\u3057\u304F\u5FDC\u7B54\u3067\u304D\u306A\u3044\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002",viewWorkflowLogs:t=>`[\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u30ED\u30B0\u5168\u6587\u3092\u898B\u308B \u2197](${t})`,sutFixAndRetry:"_\u554F\u984C\u3092\u4FEE\u6B63\u3057\u3066\u518D\u5EA6\u30D7\u30C3\u30B7\u30E5\u3059\u308B\u304B\u3001\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3092\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002_",internalErrorHeader:"### \u5185\u90E8\u30A8\u30E9\u30FC",internalErrorRenderFailed:"Testbot \u306F\u5B9F\u884C\u3092\u5B8C\u4E86\u3057\u307E\u3057\u305F\u304C\u3001\u30EC\u30DD\u30FC\u30C8\u306E\u751F\u6210\u4E2D\u306B\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002",internalErrorNoReport:"Testbot \u3067\u4E88\u671F\u3057\u306A\u3044\u5185\u90E8\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F: \u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306F\u6B63\u5E38\u306B\u5B8C\u4E86\u3057\u307E\u3057\u305F\u304C\u3001\u30EC\u30DD\u30FC\u30C8\u304C\u751F\u6210\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002",internalErrorAgentStopped:"Testbot \u306F\u30EC\u30DD\u30FC\u30C8\u3092\u751F\u6210\u3059\u308B\u524D\u306B\u505C\u6B62\u3057\u307E\u3057\u305F\u3002\u539F\u56E0\u306F\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u30ED\u30B0\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002",internalErrorRawReportAvailable:"\u751F\u6210\u3055\u308C\u305F `report.json` \u306F\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u304B\u3089\u53D6\u5F97\u3067\u304D\u307E\u3059\u3002\u751F\u6210\u3055\u308C\u305F\u30C6\u30B9\u30C8\uFF08\u3042\u308C\u3070\uFF09\u306F\u901A\u5E38\u3069\u304A\u308A\u30B3\u30DF\u30C3\u30C8\u3055\u308C\u3066\u3044\u307E\u3059\u3002",internalErrorRetriedTimes:t=>`${t} \u56DE\u30EA\u30C8\u30E9\u30A4\u3057\u307E\u3057\u305F\u304C\u6210\u529F\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002`,internalErrorFileIssue:"\u554F\u984C\u304C\u89E3\u6C7A\u3057\u306A\u3044\u5834\u5408\u306F https://github.com/skyramp/testbot/issues \u306B\u3053\u306E\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u5B9F\u884C\u3078\u306E\u30EA\u30F3\u30AF\u3092\u6DFB\u3048\u3066 issue \u3092\u4F5C\u6210\u3057\u3066\u304F\u3060\u3055\u3044\u3002",providerNotYourCode:"\u3053\u306E\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u306E\u5909\u66F4\u304C\u539F\u56E0\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u30C6\u30B9\u30C8\u306F\u751F\u6210\u3082\u5B9F\u884C\u3082\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",providerOutageHeadline:(t,e)=>`${t} \u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002Testbot \u306F ${e} \u56DE\u8A66\u884C\u3057\u307E\u3057\u305F\u304C\u5931\u6557\u3057\u307E\u3057\u305F\u3002`,providerOutageActionStatusPage:t=>`${t} \u3067\u72B6\u6CC1\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30B5\u30FC\u30D3\u30B9\u304C\u5FA9\u65E7\u3057\u305F\u3089\u3001Actions \u30BF\u30D6\u306E\u5B9F\u884C\u30DA\u30FC\u30B8\u304B\u3089\u3053\u306E\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3092\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,providerRateLimitHeadline:t=>`${t} \u306E\u30EC\u30FC\u30C8\u5236\u9650\u306B\u3088\u308A\u5B9F\u884C\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3057\u305F (HTTP 429)\u3002`,providerRateLimitAction:"\u5236\u9650\u304C\u89E3\u9664\u3055\u308C\u308B\u307E\u3067\u5F85\u3063\u3066\u304B\u3089\u3001Actions \u30BF\u30D6\u306E\u5B9F\u884C\u30DA\u30FC\u30B8\u304B\u3089\u3053\u306E\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3092\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u7E70\u308A\u8FD4\u3059\u5834\u5408\u306F\u3001\u3053\u306E\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u304C\u4F7F\u7528\u3059\u308B\u8A8D\u8A3C\u60C5\u5831\u306E\u30EC\u30FC\u30C8\u5236\u9650\u3092\u5F15\u304D\u4E0A\u3052\u308B\u304B\u3001\u540C\u6642\u306B\u5B9F\u884C\u3059\u308B PR \u306E\u6570\u3092\u6E1B\u3089\u3057\u3066\u304F\u3060\u3055\u3044\u3002",providerUsageLimitHeadline:t=>`${t} \u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u304C\u5229\u7528\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F\u3002`,providerUsageLimitAction:"\u3053\u306E\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u8A8D\u8A3C\u60C5\u5831\u306B\u7D10\u3065\u304F\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u5229\u7528\u4E0A\u9650\u3092\u5F15\u304D\u4E0A\u3052\u3066\u304B\u3089\u3001Actions \u30BF\u30D6\u306E\u5B9F\u884C\u30DA\u30FC\u30B8\u304B\u3089\u3053\u306E\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3092\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",providerAuthExpiredHeadline:t=>`\u5B9F\u884C\u4E2D\u306B\u3001Testbot \u304C ${t} \u3078\u63A5\u7D9A\u3059\u308B\u305F\u3081\u306E\u8A8D\u8A3C\u60C5\u5831\u306E\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u307E\u3057\u305F\u3002`,providerAuthExpiredAction:"\u8A8D\u8A3C\u60C5\u5831\u306E\u6709\u52B9\u671F\u9593\u306F\u56FA\u5B9A\u306E\u305F\u3081\u3001\u5B9F\u884C\u6642\u9593\u304C\u9577\u3044\u3068\u305D\u306E\u671F\u9593\u3092\u8D85\u3048\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002Actions \u30BF\u30D6\u306E\u5B9F\u884C\u30DA\u30FC\u30B8\u304B\u3089\u3053\u306E\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3092\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u3053\u306E\u30EA\u30DD\u30B8\u30C8\u30EA\u306E\u5B9F\u884C\u304C\u6709\u52B9\u671F\u9593\u3092\u5E38\u306B\u8D85\u3048\u308B\u5834\u5408\u306F\u3001\u30B8\u30E7\u30D6\u3054\u3068\u306B\u8A8D\u8A3C\u60C5\u5831\u3092\u767A\u884C\u3059\u308B\u304B\u3001\u5404\u30B8\u30E7\u30D6\u304C\u6709\u52B9\u671F\u9593\u5185\u306B\u53CE\u307E\u308B\u3088\u3046\u5B9F\u884C\u3092\u5206\u5272\u3057\u3066\u304F\u3060\u3055\u3044\u3002",providerTimeoutHeadline:t=>`Testbot \u306F\u5236\u9650\u6642\u9593 ${t} \u5206\u3092\u8D85\u3048\u305F\u305F\u3081\u505C\u6B62\u3055\u308C\u307E\u3057\u305F\u3002`,providerTimeoutAction:"\u3053\u306E\u30EA\u30DD\u30B8\u30C8\u30EA\u306E\u5B9F\u884C\u306B\u672C\u5F53\u306B\u6642\u9593\u304C\u5FC5\u8981\u306A\u5834\u5408\u306F\u3001\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E `testbotTimeout` \u5165\u529B\u5024\u3092\u5927\u304D\u304F\u3057\u3066\u304F\u3060\u3055\u3044\u3002",workspaceTestbotPrTitle:"Skyramp Testbot: \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u8A2D\u5B9A\u306E\u66F4\u65B0",workspaceTestbotPrHeader:"### Skyramp Testbot \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u8A2D\u5B9A\u306E\u66F4\u65B0",workspaceTestbotPrBody:"\u3053\u306E PR \u306F\u3053\u306E\u30EA\u30DD\u30B8\u30C8\u30EA\u306E\u7D71\u5408 `.skyramp/workspace.yml` \u3092\u66F4\u65B0\u3057\u307E\u3059\u3002\n\u4ECA\u56DE\u306E\u5B9F\u884C\u3067\u751F\u6210\u3055\u308C\u305F\u30C6\u30B9\u30C8\u306F\u3001\u8A2D\u5B9A\u3055\u308C\u305F\u30C6\u30B9\u30C8\u30EA\u30DD\u30B8\u30C8\u30EA\u306B\u914D\u7F6E\u3055\u308C\u307E\u3057\u305F\u3002\u3053\u306E\u5909\u66F4\u306F\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\uFF0F\u30B5\u30FC\u30D3\u30B9\u8A2D\u5B9A\uFF08\u30DE\u30EB\u30C1\u30EA\u30DD\u30B8\u30C8\u30EA\u5B9F\u884C\u3067\u5206\u6790\u3055\u308C\u305F\u8FFD\u52A0\u30EA\u30DD\u30B8\u30C8\u30EA\u3092\u542B\u3080\uFF09\u306E\u307F\u3092\u8A18\u9332\u3057\u307E\u3059\u3002",devPrMergedBreadcrumb:(t,e,r)=>`\u958B\u767A PR \u304C\u30DE\u30FC\u30B8\u3055\u308C\u307E\u3057\u305F \u2014 Testbot PR [#${t}](${e}) \u306F\u5F15\u304D\u7D9A\u304D\u30AA\u30FC\u30D7\u30F3\u3067\u3001\u73FE\u5728\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u306F \`${r}\` \u3067\u3059\u3002`,devPrClosedBreadcrumb:(t,e)=>`\u958B\u767A PR \u304C\u30AF\u30ED\u30FC\u30BA\u3055\u308C\u307E\u3057\u305F \u2014 Testbot PR [#${t}](${e}) \u306F\u81EA\u52D5\u7684\u306B\u30AF\u30ED\u30FC\u30BA\u3055\u308C\u307E\u3057\u305F\u3002`,testbotPrMergeHint:"\u3053\u306E PR \u3092\u30DE\u30FC\u30B8\u3059\u308B\u3068\u3001\u751F\u6210/\u30E1\u30F3\u30C6\u30CA\u30F3\u30B9\u3055\u308C\u305F\u30C6\u30B9\u30C8\u304C\u30D5\u30A3\u30FC\u30C1\u30E3\u30FC\u30D6\u30E9\u30F3\u30C1\u306B\u8FFD\u52A0\u3055\u308C\u307E\u3059\u3002\u7834\u68C4\u3057\u305F\u3044\u5834\u5408\u306F\u30AF\u30ED\u30FC\u30BA\u3057\u3066\u304F\u3060\u3055\u3044\u3002",testbotPrBacklink:t=>`${t} \u7528\u306B Skyramp Testbot \u304C\u751F\u6210\u3057\u307E\u3057\u305F\u3002`,testbotPrDispatchBacklink:t=>`\`${t}\` \u306B\u5BFE\u3059\u308B\u624B\u52D5\u5B9F\u884C\u306B\u3088\u308A Skyramp Testbot \u304C\u751F\u6210\u3057\u307E\u3057\u305F\u3002`,testbotPrMergedBacklink:t=>`${t} \u7528\u306B Skyramp Testbot \u304C\u751F\u6210\u3057\u307E\u3057\u305F\u3002\u5143\u306E PR \u306F\u3059\u3067\u306B\u30DE\u30FC\u30B8\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u3053\u308C\u3089\u306E\u30C6\u30B9\u30C8\u306F\u30D9\u30FC\u30B9\u30D6\u30E9\u30F3\u30C1\u3092\u5BFE\u8C61\u3068\u3057\u3066\u3044\u307E\u3059\u3002`,staleBannerNoChanges:t=>`> \u26A0\uFE0F ${t} \u3078\u306E\u6700\u65B0\u306E\u30D7\u30C3\u30B7\u30E5\u3067\u306F\u3001\u65B0\u3057\u3044\u30C6\u30B9\u30C8\u5909\u66F4\u306F\u5FC5\u8981\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002`,staleBannerStillOpen:"> \u3053\u306E PR \u306F\u4EE5\u524D\u306E\u30D7\u30C3\u30B7\u30E5\u6642\u70B9\u306E testbot \u306E\u5206\u6790\u7D50\u679C\u306E\u307E\u307E\u3067\u3059\u3002`@skyramp-testbot` \u3067\u518D\u751F\u6210\u3059\u308B\u304B\u3001\u5185\u5BB9\u304C\u4ECA\u3082\u6709\u52B9\u3067\u3042\u308C\u3070\u305D\u306E\u307E\u307E\u30DE\u30FC\u30B8\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",testbotPrNoBaseBranchError:"\u30D9\u30FC\u30B9\u30D6\u30E9\u30F3\u30C1\u3092\u7279\u5B9A\u3067\u304D\u306A\u304B\u3063\u305F\u305F\u3081\u3001Skyramp Testbot \u306F Testbot PR \u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F\uFF08pull_request \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3082\u30C1\u30A7\u30C3\u30AF\u30A2\u30A6\u30C8\u6E08\u307F\u30D6\u30E9\u30F3\u30C1\u3082\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\u901A\u5E38\u306F\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u304C `pull_request` \u30A4\u30D9\u30F3\u30C8\u4EE5\u5916\u3067\u5B9F\u884C\u3055\u308C\u3001`actions/checkout` \u304C detached HEAD \u306E\u72B6\u614B\u3092\u6B8B\u3057\u305F\u3053\u3068\u304C\u539F\u56E0\u3067\u3059\u3002\u4EE3\u308F\u308A\u306B\u30D5\u30A3\u30FC\u30C1\u30E3\u30FC\u30D6\u30E9\u30F3\u30C1\u3078\u76F4\u63A5\u30B3\u30DF\u30C3\u30C8\u3059\u308B\u306B\u306F `generatedTestsMode: same-branch` \u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",commitFailureGeneric:(t,e)=>e?`\u751F\u6210\u3055\u308C\u305F\u30C6\u30B9\u30C8\u306E Testbot PR \u30D6\u30E9\u30F3\u30C1\u3078\u306E\u30B3\u30DF\u30C3\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F: \`${t}\`\u3002`:`\u751F\u6210\u3055\u308C\u305F\u30C6\u30B9\u30C8\u306E\u30B3\u30DF\u30C3\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F: \`${t}\`\u3002`,commitFailureHookWhereTestbotPr:"\u305D\u306E\u305F\u3081 Testbot PR \u306F\u4F5C\u6210\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F",commitFailureHookWhereSameBranch:"\u305D\u306E\u305F\u3081\u5909\u66F4\u306F\u30D6\u30E9\u30F3\u30C1\u306B\u30B3\u30DF\u30C3\u30C8\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F",commitFailureHook:(t,e)=>`\u30EA\u30DD\u30B8\u30C8\u30EA\u306E pre-commit \u30D5\u30C3\u30AF\u304C\u751F\u6210\u3055\u308C\u305F\u30C6\u30B9\u30C8\u306E\u30B3\u30DF\u30C3\u30C8\u3092\u62D2\u5426\u3057\u305F\u305F\u3081\u3001${e}\u3002\u30D5\u30C3\u30AF\u306E\u30A8\u30E9\u30FC: \`${t}\`\u3002`,gitVerificationBypassed:(t,e,r)=>`Git \u306E\u691C\u8A3C\u306E\u554F\u984C: \u30EA\u30DD\u30B8\u30C8\u30EA\u306E\u30D5\u30C3\u30AF\u304C\u751F\u6210\u3055\u308C\u305F\u30C6\u30B9\u30C8\u306E \`git ${t}\` \u3092\u62D2\u5426\u3057\u305F\u305F\u3081 Testbot \u306F\u307E\u305A\u4FEE\u6B63\u3092\u8A66\u307F\u307E\u3057\u305F\u304C\u3001${e}\u305F\u3081\u3001\`--no-verify\` \u3067\u914D\u4FE1\u3057\u307E\u3057\u305F\u3002\u30D5\u30C3\u30AF\u306E\u30A8\u30E9\u30FC: \`${r}\`\u3002`,repairTimedOut:t=>`${t} \u5206\u306E\u4FEE\u6B63\u6642\u9593\u3092\u4F7F\u3044\u5207\u3063\u305F`,repairSessionFailed:t=>`\u4FEE\u6B63\u30BB\u30C3\u30B7\u30E7\u30F3\u304C\u5931\u6557\u3057\u305F\uFF08${t}\uFF09`,gitVerificationBypassedNextStep:"Testbot \u306F\u30EA\u30DD\u30B8\u30C8\u30EA\u306E git \u30D5\u30C3\u30AF\u3092\u901A\u904E\u3057\u306A\u3044\u307E\u307E\u751F\u6210\u3055\u308C\u305F\u30C6\u30B9\u30C8\u3092\u914D\u4FE1\u3057\u307E\u3057\u305F\u3002\u30DE\u30FC\u30B8\u3059\u308B\u524D\u306B\u3001\u30D5\u30C3\u30AF\u304C\u5831\u544A\u3057\u305F\u554F\u984C\u3092\u305D\u308C\u3089\u306E\u30C6\u30B9\u30C8\u3067\u4FEE\u6B63\u3057\u3066\u304F\u3060\u3055\u3044\u3002",commitFailureHookNextStep:"pre-commit \u30D5\u30C3\u30AF\u304C Testbot \u306E\u751F\u6210\u3057\u305F\u30C6\u30B9\u30C8\u3092\u62D2\u5426\u3057\u307E\u3057\u305F\u3002\u30D5\u30C3\u30AF\u304C\u5831\u544A\u3057\u305F\u554F\u984C\u3092\u751F\u6210\u3055\u308C\u305F\u30C6\u30B9\u30C8\u5185\u3067\u4FEE\u6B63\u3059\u308B\u304B\u3001Testbot \u306E\u751F\u6210\u3057\u305F\u30C6\u30B9\u30C8\u30D5\u30A1\u30A4\u30EB\u3092\u30B9\u30AD\u30C3\u30D7\u3059\u308B\u3088\u3046\u30D5\u30C3\u30AF\uFF0F\u30EA\u30F3\u30BF\u30FC\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002\uFF08\u3069\u3061\u3089\u306E\u914D\u4FE1\u30E2\u30FC\u30C9\u3067\u3082 `git commit` \u3092\u5B9F\u884C\u3059\u308B\u305F\u3081\u3001`generatedTestsMode` \u3092\u5207\u308A\u66FF\u3048\u3066\u3082\u30D5\u30C3\u30AF\u306F\u30B9\u30AD\u30C3\u30D7\u3055\u308C\u307E\u305B\u3093\u3002\uFF09",testbotPrCreationFailure:(t,e)=>`\u751F\u6210\u3055\u308C\u305F\u30C6\u30B9\u30C8\u306E Testbot PR \u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30A8\u30E9\u30FC: \`${t}\`\u3002\u30C6\u30B9\u30C8\u306F \`${e}\` \u306B\u30B3\u30DF\u30C3\u30C8\u30FB\u30D7\u30C3\u30B7\u30E5\u6E08\u307F\u3067\u3059\u3002\u3053\u306E\u30D6\u30E9\u30F3\u30C1\u304B\u3089\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u4F5C\u6210\u3057\u3066\u30EC\u30D3\u30E5\u30FC\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,sameBranchTestRepoConflictError:"`generatedTestsMode: same-branch` \u306F `testRepoPath` \u306E\u8A2D\u5B9A\u3068\u4F75\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u30C6\u30B9\u30C8\u306F\u30C6\u30B9\u30C8\u30EA\u30DD\u30B8\u30C8\u30EA\u306E\u30C1\u30A7\u30C3\u30AF\u30A2\u30A6\u30C8\u5074\u306B\u751F\u6210\u3055\u308C\u307E\u3057\u305F\u304C\u3001same-branch \u30E2\u30FC\u30C9\u306F\u30D7\u30E9\u30A4\u30DE\u30EA\u30EA\u30DD\u30B8\u30C8\u30EA\u306E\u30C1\u30A7\u30C3\u30AF\u30A2\u30A6\u30C8\u306B\u306E\u307F\u30B3\u30DF\u30C3\u30C8\u3057\u307E\u3059\u3002`testRepoPath` \u3092\u4F7F\u3046\u5834\u5408\u306F `generatedTestsMode: separate-branch`\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8\uFF09\u3092\u4F7F\u7528\u3059\u308B\u304B\u3001`testRepoPath` \u3092\u524A\u9664\u3057\u3066\u540C\u3058\u30D6\u30E9\u30F3\u30C1\u306B\u30C6\u30B9\u30C8\u3092\u30B3\u30DF\u30C3\u30C8\u3057\u3066\u304F\u3060\u3055\u3044\u3002",noNewTestChangesBreadcrumb:t=>`\u3053\u306E\u30D7\u30C3\u30B7\u30E5\u3067\u306F\u65B0\u3057\u3044\u30C6\u30B9\u30C8\u5909\u66F4\u306F\u767A\u751F\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u4EE5\u524D\u306E\u30D7\u30C3\u30B7\u30E5\u3067\u4F5C\u6210\u3055\u308C\u305F [testbot PR](${t}) \u306F\u5F15\u304D\u7D9A\u304D\u30EC\u30D3\u30E5\u30FC\u5F85\u3061\u3067\u30AA\u30FC\u30D7\u30F3\u3067\u3059\u3002`,testbotPrLabel:(t,e)=>`Testbot PR: [${t}](${e})`,sutAppCrashDetected:t=>`**\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30AF\u30E9\u30C3\u30B7\u30E5\u3092\u691C\u51FA:** \u30B5\u30FC\u30D3\u30B9\uFF08${t}\uFF09\u304C\u30B3\u30FC\u30C9\u30A8\u30E9\u30FC\u306B\u3088\u308A\u8D77\u52D5\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002`,sutErrorLine:t=>`
178
- **\u30A8\u30E9\u30FC:** \`${t}\``,sutFixPrefix:"**\u4FEE\u6B63\u65B9\u6CD5:** ",sutServiceNotReachable:t=>`**\u30B5\u30FC\u30D3\u30B9\u306B\u5230\u9054\u3067\u304D\u307E\u305B\u3093:** ${t} \u306E\u30B5\u30FC\u30D3\u30B9\u304C\u30D8\u30EB\u30B9\u30C1\u30A7\u30C3\u30AF\u306E\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u307E\u3067\u306B\u5FDC\u7B54\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B5\u30FC\u30D3\u30B9\u304C\u307E\u3060\u8D77\u52D5\u4E2D\u3067\u3042\u308B\u304B\u3001\u8D77\u52D5\u30B3\u30DE\u30F3\u30C9\u304C\u30B5\u30FC\u30D3\u30B9\u3092\u7ACB\u3061\u4E0A\u3052\u3089\u308C\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002`,sutServiceNotReachableFix:"**\u4FEE\u6B63\u65B9\u6CD5:** `targetSetupCommand` \u304C\u3053\u306E\u30B5\u30FC\u30D3\u30B9\u3092\u5B9F\u969B\u306B\u8D77\u52D5\u3057\u3001\u60F3\u5B9A\u3057\u305F\u30DD\u30FC\u30C8\u3067\u5F85\u3061\u53D7\u3051\u3066\u3044\u308B\u304B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30B3\u30DE\u30F3\u30C9\u81EA\u4F53\u306F\u6B63\u3057\u3044\u304C\u30B5\u30FC\u30D3\u30B9\u306E\u8D77\u52D5\u304C\u9045\u3044\u5834\u5408\u306F\u3001`targetReadyCheckTimeout` \u3092\u5897\u3084\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u3088\u308A\u78BA\u5B9F\u306A\u8D77\u52D5\u5224\u5B9A\u3092\u884C\u3046\u306B\u306F\u3001`targetReadyCheckCommand` \u3067\u7279\u5B9A\u306E\u30D8\u30EB\u30B9\u30C1\u30A7\u30C3\u30AF\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8\u3092\u30D7\u30ED\u30FC\u30D6\u3059\u308B\u3088\u3046\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002"};var x7=(r=>(r.En="en",r.Ja="ja",r))(x7||{}),dqe={en:lqe,ja:uqe},pqe="en";function mqe(t){let e=t.trim().toLowerCase();if(e==="")return"en";let r=Object.values(x7);return r.includes(e)?e:(K(`Invalid language '${t}'. Supported: ${r.join(", ")}. Falling back to 'en'.`),"en")}function fqe(t){pqe=t}function ge(){return dqe[pqe]}function hqe(){let e=[];for(let r of Object.values(dqe))for(let n of[r.testbotPrBacklink,r.testbotPrDispatchBacklink,r.testbotPrMergedBacklink]){let s=n("\0");if(s.indexOf("\0")<0){K("A Testbot PR backlink template does not interpolate its argument; skipping it for stale-backlink stripping.");continue}e.push({prefix:s.slice(0,s.indexOf("\0")),suffix:s.slice(s.lastIndexOf("\0")+1)})}return e}var Qy=(a=>(a.ProviderOutage="provider_outage",a.ProviderRateLimit="provider_rate_limit",a.ProviderUsageLimit="provider_usage_limit",a.ProviderAuthExpired="provider_auth_expired",a.Timeout="timeout",a.NoReport="no_report",a.RenderFailure="render_failure",a))(Qy||{});(e=>{function t(r,n){switch(r){case"provider_outage":return{headline:ge().providerOutageHeadline(n.provider.name,n.maxRetries),action:ge().providerOutageActionStatusPage(n.provider.statusUrl)};case"provider_rate_limit":return{headline:ge().providerRateLimitHeadline(n.provider.name),action:ge().providerRateLimitAction};case"provider_usage_limit":return{headline:ge().providerUsageLimitHeadline(n.provider.name),action:ge().providerUsageLimitAction};case"provider_auth_expired":return{headline:ge().providerAuthExpiredHeadline(n.provider.name),action:ge().providerAuthExpiredAction};case"timeout":return{headline:ge().providerTimeoutHeadline(n.timeoutMinutes),action:ge().providerTimeoutAction};case"no_report":case"render_failure":return}}e.buildNotice=t})(Qy||={});var FF=(r=>(r.SameBranch="same-branch",r.SeparateBranch="separate-branch",r))(FF||{}),As="skyramp",um=class{supportsNdjsonLog=!1;skillsPluginDir(){}setupAgentEnv(e,r){let n=e[this.apiKeyField];n&&Cs(this.envVar,n)}};gN();gN();gN();kc();function yN(t,e){if(process.env.GITHUB_ACTIONS)return new My(t,dd,e);throw new Error("Unrecognized CI environment. Set GITHUB_ACTIONS=true for GitHub Actions, or use EvalPlatform directly for eval/testing.")}We();pYe();var mYe=t=>Fre({...t});var Ure=(r=>(r.Sonnet="sonnet",r.Opus="opus",r))(Ure||{}),fYe="opus",hYe={sonnet:"claude-sonnet-5[1m]",opus:"claude-opus-5-5[1m]"},gYe=hYe[fYe],n3t={sonnet:"anthropic.claude-sonnet-5[1m]",opus:"anthropic.claude-opus-5-5[1m]"};function RC(t){return Object.values(Ure).includes(t)}function $re(t){let e=(t??"").trim();if(e==="")return fYe;let r=e.toLowerCase();return RC(r)?r:e}function s3t(t){let e=(t??"").trim().toLowerCase();return e.startsWith("us-gov-")?"us-gov":e.startsWith("eu-")?"eu":e.startsWith("ap-")?"apac":"us"}function EU(t,e){return`${s3t(e)}.${n3t[t]}`}function qre(t){return t||process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||""}function AYe(t,e){if(e)return e;let r=$re(t.model);return RC(r)?t.useBedrock?EU(r,qre(t.awsRegion)):hYe[r]:r}async function i3t(t){return mYe({roleArn:t.roleArn,webIdentityToken:t.webIdentityToken,roleSessionName:t.roleSessionName,durationSeconds:t.durationSeconds,clientConfig:{region:t.region}})()}var cT=3600,o3t=43200,a3t=15;function c3t(t){let e=Math.ceil((t+a3t)*60);return Math.min(o3t,Math.max(cT,e))}function l3t(t){return t instanceof Error?t.name==="ValidationError"&&/MaxSessionDuration|DurationSeconds/i.test(t.message):!1}async function bU(t){let e=t.env??process.env,r=e.AWS_ROLE_ARN?.trim(),n=e.ACTIONS_ID_TOKEN_REQUEST_TOKEN?.trim(),s=e.ACTIONS_ID_TOKEN_REQUEST_URL?.trim(),i=e.AWS_REGION?.trim()||e.AWS_DEFAULT_REGION?.trim();if(e.SKYRAMP_REFRESH_BEDROCK_SESSION!=="1"||e.CLAUDE_CODE_USE_BEDROCK!=="1")return!1;if(!r||!n||!s||!i)return t.debug("Bedrock session refresh skipped: needs AWS_ROLE_ARN, AWS_REGION (or AWS_DEFAULT_REGION) and GitHub OIDC request env"),!1;try{let o=await t.getIDToken("sts.amazonaws.com");if(!o)throw new Error("OIDC response carried no token value");let a=`testbot-agent-${e.GITHUB_RUN_ID??"local"}`.replace(/[^A-Za-z0-9=,.@_-]/g,"").slice(0,64),c=t.assumeRole??i3t,l={roleArn:r,webIdentityToken:o,roleSessionName:a,region:i},u=c3t(t.timeoutMinutes),d,p=cT;try{d=await c({...l,durationSeconds:u}),p=u}catch(m){if(u<=cT||!l3t(m))throw m;t.warning(`The Bedrock role rejected a ${u}s session (its MaxSessionDuration is lower). Minting a ${cT}s session instead, which is shorter than the ${t.timeoutMinutes}m testbotTimeout; raise MaxSessionDuration on ${r} to at least ${u}s or the agent can lose its credentials mid-run.`),d=await c({...l,durationSeconds:cT})}if(!d.accessKeyId||!d.secretAccessKey||!d.sessionToken)throw new Error("assume-role returned an incomplete credential triple");return t.setSecret(d.accessKeyId),t.setSecret(d.secretAccessKey),t.setSecret(d.sessionToken),e.AWS_ACCESS_KEY_ID=d.accessKeyId,e.AWS_SECRET_ACCESS_KEY=d.secretAccessKey,e.AWS_SESSION_TOKEN=d.sessionToken,t.debug(`Minted a fresh Bedrock session for this agent attempt (${p}s)`),t.onMinted?.(d.expiration?.getTime()??Date.now()+p*1e3),!0}catch(o){return t.warning(`Could not refresh the Bedrock session; continuing with existing credentials: ${o instanceof Error?o.message:String(o)}`),!1}}var wU=(i=>(i.Low="low",i.Medium="medium",i.High="high",i.XHigh="xhigh",i.Max="max",i))(wU||{}),vC="high";function yYe(t){return Object.values(wU).includes(t)}var EYe=5;function u3t(t){let e=t.split(/\r?\n/).map(r=>r.trim()).filter(Boolean);if(e.length>EYe)throw new Error(`relatedRepoPaths supports at most ${EYe} entries (got ${e.length}); the cap limits how much cross-repo context is loaded to avoid overflowing Testbot's context window.`);return e}function d3t(t){let e=t.trim().toLowerCase();return e===""?"separate-branch":Object.values(FF).includes(e)?e:(K(`Invalid generatedTestsMode '${t}'. Falling back to 'separate-branch'.`),"separate-branch")}function p3t(t){let e=(t??"").trim();if(e!==""){if(/^(?:[1-9]|10)$/.test(e))return Number(e);K(`Ignoring perTestMaxFixAttempts="${t}": expected a whole number from 1 to 10; the Skyramp MCP default applies`)}}function m3t(t){let e=(t??"").trim().toLowerCase();return e===""?vC:yYe(e)?e:(K(`Ignoring effort="${t}": expected one of ${Object.values(wU).join(", ")}; using "${vC}"`),vC)}function xU(){let t=$re(Ue("model"));return RC(t)||K(`model '${t}' is not a tested alias (sonnet, opus); passing it to the agent verbatim as a raw model id.`),{skyrampLicenseFile:Ue("skyrampLicenseFile"),cursorApiKey:Ue("cursorApiKey"),copilotApiKey:Ue("copilotApiKey"),anthropicApiKey:Ue("anthropicApiKey"),useBedrock:lu("useBedrock"),awsRegion:Ue("awsRegion"),useLocalAuth:Ue("useLocalAuth").toLowerCase()==="true",model:t,effort:m3t(Ue("effort")),targetSetupCommand:Ue("targetSetupCommand"),authTokenCommand:Ue("authTokenCommand"),uiCredentials:Ue("uiCredentials"),targetTeardownCommand:Ue("targetTeardownCommand"),skipTargetTeardown:lu("skipTargetTeardown"),skyrampExecutorVersion:Ue("skyrampExecutorVersion"),skyrampMcpVersion:Ue("skyrampMcpVersion"),skyrampMcpSource:Ue("skyrampMcpSource"),skyrampMcpGithubToken:Ue("skyrampMcpGithubToken"),skyrampMcpGithubRef:Ue("skyrampMcpGithubRef"),nodeVersion:Ue("nodeVersion"),skipTargetSetup:lu("skipTargetSetup"),targetReadyCheckCommand:Ue("targetReadyCheckCommand"),targetReadyCheckTimeout:(()=>{let r=parseInt(Ue("targetReadyCheckTimeout"),10)||1800;return r<1?(K(`targetReadyCheckTimeout must be at least 1 second, got ${r}. Using 1s.`),1):r})(),targetReadyCheckInterval:(()=>{let r=parseInt(Ue("targetReadyCheckInterval"),10),n=isNaN(r)?30:r;return n<1?(K(`targetReadyCheckInterval must be at least 1 second, got ${n}. Using 1s.`),1):n})(),targetReadyCheckDiagnosticsCommand:Ue("targetReadyCheckDiagnosticsCommand"),workingDirectory:Ue("workingDirectory"),autoCommit:lu("autoCommit"),commitMessage:Ue("commitMessage"),generatedTestsMode:d3t(Ue("generatedTestsMode")),postPrComment:lu("postPrComment"),testExecutionTimeout:parseInt(Ue("testExecutionTimeout"),10)||300,maxRecommendations:(()=>{let r=parseInt(Ue("maxRecommendations"),10);return isNaN(r)?void 0:Math.max(0,r)})(),maxGenerate:(()=>{let r=parseInt(Ue("maxGenerate"),10);return isNaN(r)?void 0:Math.max(0,r)})(),perTestMaxFixAttempts:p3t(Ue("perTestMaxFixAttempts")),testbotMaxRetries:parseInt(Ue("testbotMaxRetries"),10)||3,testbotRetryDelay:parseInt(Ue("testbotRetryDelay"),10)||10,testbotTimeout:parseInt(Ue("testbotTimeout"),10)||60,targetSetupRetries:parseInt(Ue("targetSetupRetries"),10)||3,targetSetupRetryDelay:parseInt(Ue("targetSetupRetryDelay"),10)||10,authTokenRetries:(()=>{let r=parseInt(Ue("authTokenRetries"),10);return Number.isFinite(r)&&r>=1?r:6})(),authTokenRetryDelay:(()=>{let r=parseInt(Ue("authTokenRetryDelay"),10);return Number.isFinite(r)&&r>=0?r:10})(),reportCollapsed:lu("reportCollapsed"),language:mqe(Ue("language")),enableDebug:lu("enableDebug"),testRepoPath:Ue("testRepoPath")||void 0,relatedRepoPaths:u3t(Ue("relatedRepoPaths")),allowedAuthors:Ue("allowedAuthors").split(/\r?\n/).map(r=>r.trim()).filter(Boolean)}}function bYe(t){let e=!!t.cursorApiKey,r=!!t.copilotApiKey,n=!!t.anthropicApiKey;if(t.useBedrock){if(e||r)throw new Error("useBedrock cannot be combined with cursorApiKey or copilotApiKey. Bedrock is a provider for the Claude Code agent.");return n&&K("anthropicApiKey is ignored when useBedrock is true \u2014 Bedrock provides model credentials via AWS."),t.useLocalAuth&&K("useLocalAuth is ignored when useBedrock is true \u2014 Bedrock provides model credentials via AWS."),Ce("Using Claude Code CLI agent (AWS Bedrock)"),"claude"}if(t.useLocalAuth){if(e||r)throw new Error("useLocalAuth cannot be combined with cursorApiKey or copilotApiKey. Local auth is a provider for the Claude Code agent.");return n&&K("anthropicApiKey is ignored when useLocalAuth is true \u2014 the already-logged-in claude CLI session is used instead."),Ce("Using Claude Code CLI agent (local auth)"),"claude"}if([e,r,n].filter(Boolean).length>1)throw new Error("Multiple agent API keys provided. Please provide only one of: cursorApiKey, copilotApiKey, anthropicApiKey.");if(e)return Ce("Using Cursor CLI agent"),"cursor";if(r)return Ce("Using GitHub Copilot CLI agent"),"copilot";if(n)return Ce("Using Claude Code CLI agent"),"claude";throw new Error("No agent API key provided. Please provide one of: cursorApiKey, copilotApiKey, or anthropicApiKey.")}We();var SU=H(require("fs")),Hre=H(require("path"));We();AR();var xYe=H(require("child_process")),dE=class extends Error{constructor(e){super(e),this.name="ExecTimeoutError"}},NC=class extends Error{constructor(e){super(e),this.name="ExecAbortedError"}};function wYe(t,e){if(!(!t||t.destroyed||t.writableEnded))try{t.write(e)}catch(r){K(`stream write failed: ${r instanceof Error?r.message:String(r)}`)}}async function Le(t,e=[],r={}){let n="",s="",i={cwd:r.cwd,silent:r.silent??!1,ignoreReturnCode:r.ignoreReturnCode??!1,env:r.env?{...process.env,...r.env}:void 0,input:r.input,listeners:{stdout:a=>{n+=a.toString(),wYe(r.stdoutStream,a)},stderr:a=>{s+=a.toString()}}};if(r.timeout||r.signal){let a=r.signal;return a?.aborted?Promise.reject(new NC(`Command aborted before start: ${t}`)):new Promise((c,l)=>{let u=xYe.spawn(t,e,{cwd:r.cwd,env:r.env?{...process.env,...r.env}:process.env,stdio:["pipe","pipe","pipe"],shell:!1});u.stdout?.on("data",f=>{n+=f.toString(),r.silent||process.stdout.write(f),wYe(r.stdoutStream,f)}),u.stderr?.on("data",f=>{s+=f.toString(),r.silent||process.stderr.write(f)}),r.input&&u.stdin?.end(r.input);let d=()=>{h&&clearTimeout(h),a?.removeEventListener("abort",m)},p=f=>{d();try{u.kill("SIGTERM")}catch{}l(f)},m=()=>p(new NC(`Command aborted: ${t}`)),h=r.timeout?setTimeout(()=>p(new dE(`Command timed out after ${Math.round(r.timeout/6e4)}m: ${t}`)),r.timeout):void 0;a?.addEventListener("abort",m,{once:!0}),u.on("close",f=>{d();let A=f??1;A!==0&&!r.ignoreReturnCode?l(new Error(`The process '${t}' failed with exit code ${A}`)):c({exitCode:A,stdout:n,stderr:s})}),u.on("error",f=>{d(),l(f)})})}return{exitCode:await tw(t,e,i),stdout:n,stderr:s}}function uT(t){return(e,r)=>{let n=t?{...r,cwd:t}:r;return n?Le("git",e,n):Le("git",e)}}function Qh(t){return new Promise(e=>setTimeout(e,t*1e3))}async function ks(t,e){for(let r=1;r<=e.retries;r++)try{return await t()}catch(n){if(r<e.retries)K(`${e.label} failed, retrying (${r}/${e.retries})...`),await Qh(e.delay);else throw n}throw new Error("unreachable")}async function Sn(t,e){zs(t);try{return await e()}finally{Pn()}}async function CYe(t){let e=process.getuid?.(),r=process.getgid?.();if(!(e===void 0||r===void 0))try{let{exitCode:n,stderr:s}=await Le("sudo",["-n","chown","-R","-h",`${e}:${r}`,"."],{cwd:t,silent:!0,ignoreReturnCode:!0});n!==0&&At(`worktree chown skipped (exit ${n}): ${s.trim()}`)}catch(n){At(`worktree chown skipped: ${n instanceof Error?n.message:String(n)}`)}}var SYe=!1;function IYe(t){SYe=t}function At(t){SYe&&te(`[debug] ${t}`)}var f3t=1e3;function ta(t){return t*f3t}function Qc(t){let e=t.split("/");return e.length===2&&e[0]&&e[1]?{owner:e[0],repo:e[1]}:null}var lT=/^[A-Za-z_][A-Za-z0-9_.-]*$/;function RYe(t){if(t.startsWith("{"))try{let o=JSON.parse(t);return{username:typeof o.username=="string"?o.username:void 0,password:typeof o.password=="string"?o.password:void 0,role:typeof o.role=="string"?o.role:void 0}}catch{return{}}let e=t.indexOf(":"),n=!(e>=0&&!/[=;]/.test(t.slice(0,e)))&&/(^|;)\s*role\s*=/.test(t);if(/(^|;)\s*(username|password)\s*=/.test(t)||n){let o=new Map;for(let a of t.split(";")){let c=a.indexOf("=");c>0&&lT.test(a.slice(0,c).trim())&&o.set(a.slice(0,c).trim(),a.slice(c+1).trim())}return{username:o.get("username"),password:o.get("password"),role:o.get("role")}}if(t==="")return{};if(!t.includes(":"))for(let o of t.split(";")){let a=o.indexOf("=");if(a>0&&lT.test(o.slice(0,a).trim()))return{}}let[s,...i]=t.split(":");return{username:s,password:i.join(":")}}function vYe(t){let e=t.split(/\r?\n/).map(s=>s.trim()).find(s=>s!=="")??"",{username:r,password:n}=RYe(e);return{username:r,password:n}}function h3t(t){return t.toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")}function g3t(t){let e=t.split(/\r?\n/).map(n=>n.trim()).filter(n=>n!==""),r=new Set;return e.map((n,s)=>{let{username:i,password:o,role:a}=RYe(n),c=s+1,l=a?h3t(a):"";for(l||(l=String(c));r.has(l);)l=`${l}_${c}`;return r.add(l),{key:l,username:i,password:o}})}function NYe(t){let e=g3t(t);if(e.length<2)return[];let r=[];for(let{key:n,username:s,password:i}of e)s!==void 0&&r.push({envName:`SKYRAMP_UI_USERNAME_${n}`,value:s}),i!==void 0&&r.push({envName:`SKYRAMP_UI_PASSWORD_${n}`,value:i});return r}var CU=class extends um{label="Cursor";provider={name:"Cursor",statusUrl:"https://status.cursor.com/"};binary="agent";envVar="CURSOR_API_KEY";apiKeyField="cursorApiKey";supportsNdjsonLog=!0;async install(){await Le("bash",["-c","set -o pipefail; curl https://cursor.com/install -fsS | bash"]),Mbe(`${process.env.HOME}/.local/bin`),await Le("agent",["--version"],{silent:!0})}async initialize(){let{exitCode:e}=await Le("agent",["mcp","enable",As],{ignoreReturnCode:!0});if(e!==0)throw new Error(`Failed to enable MCP server '${As}' (exit code ${e})`);try{let{stdout:r}=await Le("agent",["mcp","list"]);r.includes(As)?Ce(`Cursor MCP server verified: ${As} is listed`):K(`${As} not found in MCP server list`)}catch{K("Could not list MCP servers")}}async configureMcp(e,r,n,s){let i=Hre.join(process.env.HOME??"~",".cursor");SU.mkdirSync(i,{recursive:!0});let o={mcpServers:{[As]:{command:e,args:r,env:n,timeout:ta(s)}}};SU.writeFileSync(Hre.join(i,"mcp.json"),JSON.stringify(o,null,2))}buildCommand(e){return{command:"agent",args:["-f","-p","--model","claude-4.6-sonnet-medium","--output-format","stream-json"]}}};We();var TC=H(require("fs")),dT=H(require("path"));var IU=class extends um{label="GitHub Copilot";provider={name:"GitHub Copilot",statusUrl:"https://www.githubstatus.com/"};binary="copilot";envVar="GH_TOKEN";apiKeyField="copilotApiKey";async install(){await Le("npm",["install","-g","@github/copilot"])}async initialize(){try{await Le("copilot",["--version"]),Ce("GitHub Copilot CLI initialized successfully")}catch{K("Could not verify Copilot CLI version")}}async configureMcp(e,r,n,s){let i=dT.join(process.env.HOME??"~",".copilot");TC.mkdirSync(i,{recursive:!0});let o={mcpServers:{[As]:{type:"local",command:e,args:r,tools:["*"],env:n,timeout:ta(s)}}},a=JSON.stringify(o,null,2);TC.writeFileSync(dT.join(i,"mcp-config.json"),a);let c=dT.join(process.cwd(),".copilot");TC.mkdirSync(c,{recursive:!0}),TC.writeFileSync(dT.join(c,"mcp-config.json"),a)}buildCommand(e){return{command:"copilot",args:["--additional-mcp-config",`@${process.env.HOME}/.copilot/mcp-config.json`,"--allow-all-tools","--allow-all-paths","-p"]}}};We();var TYe=require("node:module"),BYe=H(require("node:path")),A3t="SKYRAMP_MCP_INSTALL_PATH";function RU(t){let e=process.env[A3t];if(e)try{return(0,TYe.createRequire)(BYe.join(e,"package.json"))(`@skyramp/mcp/${t}`)}catch{return}}var PYe=H(require("fs")),vU=H(require("path")),y3t="SKYRAMP_FEATURE_SKILLS",NU="SKYRAMP_SKILLS_LOADED";function TU(t={}){if(!t.ignoreFeatureFlag&&process.env[y3t]!=="1")return;let e=process.env.SKYRAMP_MCP_INSTALL_PATH;return e?[vU.join(e,"node_modules","@skyramp","mcp","plugin"),vU.join(e,"plugin")].find(n=>PYe.existsSync(vU.join(n,".claude-plugin","plugin.json"))):void 0}var zre="CLAUDE_CODE_EFFORT_LEVEL",E3t=["TodoWrite","TodoRead","Write","CronCreate","CronDelete","CronList","AskUserQuestion","NotebookEdit"];function b3t(){return RU("personas")}var w3t=b3t;function x3t(){try{let e=w3t().SKYRAMP_QA_PERSONA;if(typeof e=="string"&&e.length>0)return At("Loaded SKYRAMP_QA_PERSONA from @skyramp/mcp"),e}catch{At("Could not load SKYRAMP_QA_PERSONA from @skyramp/mcp, running without persona")}return""}var Mh=class extends um{label="Claude Code";provider={name:"Claude API",statusUrl:"https://status.claude.com/"};binary="claude";envVar="ANTHROPIC_API_KEY";apiKeyField="anthropicApiKey";supportsNdjsonLog=!0;model;effort;constructor(e=gYe,r=vC){super(),this.model=e,this.effort=r}async install(){await Le("npm",["install","-g","@anthropic-ai/claude-code"])}async initialize(){try{await Le("claude",["--version"]),Ce("Claude Code CLI initialized successfully")}catch{K("Could not verify Claude Code CLI version")}await this.verifyMcpConnectivity()}async verifyMcpConnectivity(){try{let{stdout:e}=await Le("claude",["mcp","list"]);e.split(`
178
+ **\u30A8\u30E9\u30FC:** \`${t}\``,sutFixPrefix:"**\u4FEE\u6B63\u65B9\u6CD5:** ",sutServiceNotReachable:t=>`**\u30B5\u30FC\u30D3\u30B9\u306B\u5230\u9054\u3067\u304D\u307E\u305B\u3093:** ${t} \u306E\u30B5\u30FC\u30D3\u30B9\u304C\u30D8\u30EB\u30B9\u30C1\u30A7\u30C3\u30AF\u306E\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u307E\u3067\u306B\u5FDC\u7B54\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B5\u30FC\u30D3\u30B9\u304C\u307E\u3060\u8D77\u52D5\u4E2D\u3067\u3042\u308B\u304B\u3001\u8D77\u52D5\u30B3\u30DE\u30F3\u30C9\u304C\u30B5\u30FC\u30D3\u30B9\u3092\u7ACB\u3061\u4E0A\u3052\u3089\u308C\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002`,sutServiceNotReachableFix:"**\u4FEE\u6B63\u65B9\u6CD5:** `targetSetupCommand` \u304C\u3053\u306E\u30B5\u30FC\u30D3\u30B9\u3092\u5B9F\u969B\u306B\u8D77\u52D5\u3057\u3001\u60F3\u5B9A\u3057\u305F\u30DD\u30FC\u30C8\u3067\u5F85\u3061\u53D7\u3051\u3066\u3044\u308B\u304B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30B3\u30DE\u30F3\u30C9\u81EA\u4F53\u306F\u6B63\u3057\u3044\u304C\u30B5\u30FC\u30D3\u30B9\u306E\u8D77\u52D5\u304C\u9045\u3044\u5834\u5408\u306F\u3001`targetReadyCheckTimeout` \u3092\u5897\u3084\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u3088\u308A\u78BA\u5B9F\u306A\u8D77\u52D5\u5224\u5B9A\u3092\u884C\u3046\u306B\u306F\u3001`targetReadyCheckCommand` \u3067\u7279\u5B9A\u306E\u30D8\u30EB\u30B9\u30C1\u30A7\u30C3\u30AF\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8\u3092\u30D7\u30ED\u30FC\u30D6\u3059\u308B\u3088\u3046\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002"};var x7=(r=>(r.En="en",r.Ja="ja",r))(x7||{}),dqe={en:lqe,ja:uqe},pqe="en";function mqe(t){let e=t.trim().toLowerCase();if(e==="")return"en";let r=Object.values(x7);return r.includes(e)?e:(K(`Invalid language '${t}'. Supported: ${r.join(", ")}. Falling back to 'en'.`),"en")}function fqe(t){pqe=t}function ge(){return dqe[pqe]}function hqe(){let e=[];for(let r of Object.values(dqe))for(let n of[r.testbotPrBacklink,r.testbotPrDispatchBacklink,r.testbotPrMergedBacklink]){let s=n("\0");if(s.indexOf("\0")<0){K("A Testbot PR backlink template does not interpolate its argument; skipping it for stale-backlink stripping.");continue}e.push({prefix:s.slice(0,s.indexOf("\0")),suffix:s.slice(s.lastIndexOf("\0")+1)})}return e}var Qy=(a=>(a.ProviderOutage="provider_outage",a.ProviderRateLimit="provider_rate_limit",a.ProviderUsageLimit="provider_usage_limit",a.ProviderAuthExpired="provider_auth_expired",a.Timeout="timeout",a.NoReport="no_report",a.RenderFailure="render_failure",a))(Qy||{});(e=>{function t(r,n){switch(r){case"provider_outage":return{headline:ge().providerOutageHeadline(n.provider.name,n.maxRetries),action:ge().providerOutageActionStatusPage(n.provider.statusUrl)};case"provider_rate_limit":return{headline:ge().providerRateLimitHeadline(n.provider.name),action:ge().providerRateLimitAction};case"provider_usage_limit":return{headline:ge().providerUsageLimitHeadline(n.provider.name),action:ge().providerUsageLimitAction};case"provider_auth_expired":return{headline:ge().providerAuthExpiredHeadline(n.provider.name),action:ge().providerAuthExpiredAction};case"timeout":return{headline:ge().providerTimeoutHeadline(n.timeoutMinutes),action:ge().providerTimeoutAction};case"no_report":case"render_failure":return}}e.buildNotice=t})(Qy||={});var FF=(r=>(r.SameBranch="same-branch",r.SeparateBranch="separate-branch",r))(FF||{}),As="skyramp",um=class{supportsNdjsonLog=!1;skillsPluginDir(){}setupAgentEnv(e,r){let n=e[this.apiKeyField];n&&Cs(this.envVar,n)}};gN();gN();gN();kc();function yN(t,e){if(process.env.GITHUB_ACTIONS)return new My(t,dd,e);throw new Error("Unrecognized CI environment. Set GITHUB_ACTIONS=true for GitHub Actions, or use EvalPlatform directly for eval/testing.")}We();pYe();var mYe=t=>Fre({...t});var Ure=(r=>(r.Sonnet="sonnet",r.Opus="opus",r))(Ure||{}),fYe="opus",hYe={sonnet:"claude-sonnet-5[1m]",opus:"claude-opus-5-5[1m]"},gYe=hYe[fYe],n3t={sonnet:"anthropic.claude-sonnet-5[1m]",opus:"anthropic.claude-opus-5-5[1m]"};function RC(t){return Object.values(Ure).includes(t)}function $re(t){let e=(t??"").trim();if(e==="")return fYe;let r=e.toLowerCase();return RC(r)?r:e}function s3t(t){let e=(t??"").trim().toLowerCase();return e.startsWith("us-gov-")?"us-gov":e.startsWith("eu-")?"eu":e.startsWith("ap-")?"apac":"us"}function EU(t,e){return`${s3t(e)}.${n3t[t]}`}function qre(t){return t||process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||""}function AYe(t,e){if(e)return e;let r=$re(t.model);return RC(r)?t.useBedrock?EU(r,qre(t.awsRegion)):hYe[r]:r}async function i3t(t){return mYe({roleArn:t.roleArn,webIdentityToken:t.webIdentityToken,roleSessionName:t.roleSessionName,durationSeconds:t.durationSeconds,clientConfig:{region:t.region}})()}var cT=3600,o3t=43200,a3t=15;function c3t(t){let e=Math.ceil((t+a3t)*60);return Math.min(o3t,Math.max(cT,e))}function l3t(t){return t instanceof Error?t.name==="ValidationError"&&/MaxSessionDuration|DurationSeconds/i.test(t.message):!1}async function bU(t){let e=t.env??process.env,r=e.AWS_ROLE_ARN?.trim(),n=e.ACTIONS_ID_TOKEN_REQUEST_TOKEN?.trim(),s=e.ACTIONS_ID_TOKEN_REQUEST_URL?.trim(),i=e.AWS_REGION?.trim()||e.AWS_DEFAULT_REGION?.trim();if(e.SKYRAMP_REFRESH_BEDROCK_SESSION!=="1"||e.CLAUDE_CODE_USE_BEDROCK!=="1")return!1;if(!r||!n||!s||!i)return t.debug("Bedrock session refresh skipped: needs AWS_ROLE_ARN, AWS_REGION (or AWS_DEFAULT_REGION) and GitHub OIDC request env"),!1;try{let o=await t.getIDToken("sts.amazonaws.com");if(!o)throw new Error("OIDC response carried no token value");let a=`testbot-agent-${e.GITHUB_RUN_ID??"local"}`.replace(/[^A-Za-z0-9=,.@_-]/g,"").slice(0,64),c=t.assumeRole??i3t,l={roleArn:r,webIdentityToken:o,roleSessionName:a,region:i},u=c3t(t.timeoutMinutes),d,p=cT;try{d=await c({...l,durationSeconds:u}),p=u}catch(m){if(u<=cT||!l3t(m))throw m;t.warning(`The Bedrock role rejected a ${u}s session (its MaxSessionDuration is lower). Minting a ${cT}s session instead, which is shorter than the ${t.timeoutMinutes}m testbotTimeout; raise MaxSessionDuration on ${r} to at least ${u}s or the agent can lose its credentials mid-run.`),d=await c({...l,durationSeconds:cT})}if(!d.accessKeyId||!d.secretAccessKey||!d.sessionToken)throw new Error("assume-role returned an incomplete credential triple");return t.setSecret(d.accessKeyId),t.setSecret(d.secretAccessKey),t.setSecret(d.sessionToken),e.AWS_ACCESS_KEY_ID=d.accessKeyId,e.AWS_SECRET_ACCESS_KEY=d.secretAccessKey,e.AWS_SESSION_TOKEN=d.sessionToken,t.debug(`Minted a fresh Bedrock session for this agent attempt (${p}s)`),t.onMinted?.(d.expiration?.getTime()??Date.now()+p*1e3),!0}catch(o){return t.warning(`Could not refresh the Bedrock session; continuing with existing credentials: ${o instanceof Error?o.message:String(o)}`),!1}}var wU=(i=>(i.Low="low",i.Medium="medium",i.High="high",i.XHigh="xhigh",i.Max="max",i))(wU||{}),vC="high";function yYe(t){return Object.values(wU).includes(t)}var EYe=5;function u3t(t){let e=t.split(/\r?\n/).map(r=>r.trim()).filter(Boolean);if(e.length>EYe)throw new Error(`relatedRepoPaths supports at most ${EYe} entries (got ${e.length}); the cap limits how much cross-repo context is loaded to avoid overflowing Testbot's context window.`);return e}function d3t(t){let e=t.trim().toLowerCase();return e===""?"separate-branch":Object.values(FF).includes(e)?e:(K(`Invalid generatedTestsMode '${t}'. Falling back to 'separate-branch'.`),"separate-branch")}function p3t(t){let e=(t??"").trim();if(e!==""){if(/^(?:[1-9]|10)$/.test(e))return Number(e);K(`Ignoring perTestMaxFixAttempts="${t}": expected a whole number from 1 to 10; the Skyramp MCP default applies`)}}function m3t(t){let e=(t??"").trim().toLowerCase();return e===""?vC:yYe(e)?e:(K(`Ignoring effort="${t}": expected one of ${Object.values(wU).join(", ")}; using "${vC}"`),vC)}function xU(){let t=$re(Fe("model"));return RC(t)||K(`model '${t}' is not a tested alias (sonnet, opus); passing it to the agent verbatim as a raw model id.`),{skyrampLicenseFile:Fe("skyrampLicenseFile"),cursorApiKey:Fe("cursorApiKey"),copilotApiKey:Fe("copilotApiKey"),anthropicApiKey:Fe("anthropicApiKey"),useBedrock:lu("useBedrock"),awsRegion:Fe("awsRegion"),useLocalAuth:Fe("useLocalAuth").toLowerCase()==="true",model:t,effort:m3t(Fe("effort")),targetSetupCommand:Fe("targetSetupCommand"),authTokenCommand:Fe("authTokenCommand"),uiCredentials:Fe("uiCredentials"),targetTeardownCommand:Fe("targetTeardownCommand"),skipTargetTeardown:lu("skipTargetTeardown"),skyrampExecutorVersion:Fe("skyrampExecutorVersion"),skyrampMcpVersion:Fe("skyrampMcpVersion"),skyrampMcpSource:Fe("skyrampMcpSource"),skyrampMcpGithubToken:Fe("skyrampMcpGithubToken"),skyrampMcpGithubRef:Fe("skyrampMcpGithubRef"),nodeVersion:Fe("nodeVersion"),skipTargetSetup:lu("skipTargetSetup"),targetReadyCheckCommand:Fe("targetReadyCheckCommand"),targetReadyCheckTimeout:(()=>{let r=parseInt(Fe("targetReadyCheckTimeout"),10)||1800;return r<1?(K(`targetReadyCheckTimeout must be at least 1 second, got ${r}. Using 1s.`),1):r})(),targetReadyCheckInterval:(()=>{let r=parseInt(Fe("targetReadyCheckInterval"),10),n=isNaN(r)?30:r;return n<1?(K(`targetReadyCheckInterval must be at least 1 second, got ${n}. Using 1s.`),1):n})(),targetReadyCheckDiagnosticsCommand:Fe("targetReadyCheckDiagnosticsCommand"),workingDirectory:Fe("workingDirectory"),autoCommit:lu("autoCommit"),commitMessage:Fe("commitMessage"),generatedTestsMode:d3t(Fe("generatedTestsMode")),postPrComment:lu("postPrComment"),testExecutionTimeout:parseInt(Fe("testExecutionTimeout"),10)||300,maxRecommendations:(()=>{let r=parseInt(Fe("maxRecommendations"),10);return isNaN(r)?void 0:Math.max(0,r)})(),maxGenerate:(()=>{let r=parseInt(Fe("maxGenerate"),10);return isNaN(r)?void 0:Math.max(0,r)})(),perTestMaxFixAttempts:p3t(Fe("perTestMaxFixAttempts")),testbotMaxRetries:parseInt(Fe("testbotMaxRetries"),10)||3,testbotRetryDelay:parseInt(Fe("testbotRetryDelay"),10)||10,testbotTimeout:parseInt(Fe("testbotTimeout"),10)||60,targetSetupRetries:parseInt(Fe("targetSetupRetries"),10)||3,targetSetupRetryDelay:parseInt(Fe("targetSetupRetryDelay"),10)||10,authTokenRetries:(()=>{let r=parseInt(Fe("authTokenRetries"),10);return Number.isFinite(r)&&r>=1?r:6})(),authTokenRetryDelay:(()=>{let r=parseInt(Fe("authTokenRetryDelay"),10);return Number.isFinite(r)&&r>=0?r:10})(),reportCollapsed:lu("reportCollapsed"),language:mqe(Fe("language")),enableDebug:lu("enableDebug"),testRepoPath:Fe("testRepoPath")||void 0,relatedRepoPaths:u3t(Fe("relatedRepoPaths")),allowedAuthors:Fe("allowedAuthors").split(/\r?\n/).map(r=>r.trim()).filter(Boolean)}}function bYe(t){let e=!!t.cursorApiKey,r=!!t.copilotApiKey,n=!!t.anthropicApiKey;if(t.useBedrock){if(e||r)throw new Error("useBedrock cannot be combined with cursorApiKey or copilotApiKey. Bedrock is a provider for the Claude Code agent.");return n&&K("anthropicApiKey is ignored when useBedrock is true \u2014 Bedrock provides model credentials via AWS."),t.useLocalAuth&&K("useLocalAuth is ignored when useBedrock is true \u2014 Bedrock provides model credentials via AWS."),Ce("Using Claude Code CLI agent (AWS Bedrock)"),"claude"}if(t.useLocalAuth){if(e||r)throw new Error("useLocalAuth cannot be combined with cursorApiKey or copilotApiKey. Local auth is a provider for the Claude Code agent.");return n&&K("anthropicApiKey is ignored when useLocalAuth is true \u2014 the already-logged-in claude CLI session is used instead."),Ce("Using Claude Code CLI agent (local auth)"),"claude"}if([e,r,n].filter(Boolean).length>1)throw new Error("Multiple agent API keys provided. Please provide only one of: cursorApiKey, copilotApiKey, anthropicApiKey.");if(e)return Ce("Using Cursor CLI agent"),"cursor";if(r)return Ce("Using GitHub Copilot CLI agent"),"copilot";if(n)return Ce("Using Claude Code CLI agent"),"claude";throw new Error("No agent API key provided. Please provide one of: cursorApiKey, copilotApiKey, or anthropicApiKey.")}We();var SU=H(require("fs")),Hre=H(require("path"));We();AR();var xYe=H(require("child_process")),dE=class extends Error{constructor(e){super(e),this.name="ExecTimeoutError"}},NC=class extends Error{constructor(e){super(e),this.name="ExecAbortedError"}};function wYe(t,e){if(!(!t||t.destroyed||t.writableEnded))try{t.write(e)}catch(r){K(`stream write failed: ${r instanceof Error?r.message:String(r)}`)}}async function Le(t,e=[],r={}){let n="",s="",i={cwd:r.cwd,silent:r.silent??!1,ignoreReturnCode:r.ignoreReturnCode??!1,env:r.env?{...process.env,...r.env}:void 0,input:r.input,listeners:{stdout:a=>{n+=a.toString(),wYe(r.stdoutStream,a)},stderr:a=>{s+=a.toString()}}};if(r.timeout||r.signal){let a=r.signal;return a?.aborted?Promise.reject(new NC(`Command aborted before start: ${t}`)):new Promise((c,l)=>{let u=xYe.spawn(t,e,{cwd:r.cwd,env:r.env?{...process.env,...r.env}:process.env,stdio:["pipe","pipe","pipe"],shell:!1});u.stdout?.on("data",f=>{n+=f.toString(),r.silent||process.stdout.write(f),wYe(r.stdoutStream,f)}),u.stderr?.on("data",f=>{s+=f.toString(),r.silent||process.stderr.write(f)}),r.input&&u.stdin?.end(r.input);let d=()=>{h&&clearTimeout(h),a?.removeEventListener("abort",m)},p=f=>{d();try{u.kill("SIGTERM")}catch{}l(f)},m=()=>p(new NC(`Command aborted: ${t}`)),h=r.timeout?setTimeout(()=>p(new dE(`Command timed out after ${Math.round(r.timeout/6e4)}m: ${t}`)),r.timeout):void 0;a?.addEventListener("abort",m,{once:!0}),u.on("close",f=>{d();let A=f??1;A!==0&&!r.ignoreReturnCode?l(new Error(`The process '${t}' failed with exit code ${A}`)):c({exitCode:A,stdout:n,stderr:s})}),u.on("error",f=>{d(),l(f)})})}return{exitCode:await tw(t,e,i),stdout:n,stderr:s}}function uT(t){return(e,r)=>{let n=t?{...r,cwd:t}:r;return n?Le("git",e,n):Le("git",e)}}function Qh(t){return new Promise(e=>setTimeout(e,t*1e3))}async function ks(t,e){for(let r=1;r<=e.retries;r++)try{return await t()}catch(n){if(r<e.retries)K(`${e.label} failed, retrying (${r}/${e.retries})...`),await Qh(e.delay);else throw n}throw new Error("unreachable")}async function Sn(t,e){zs(t);try{return await e()}finally{Pn()}}async function CYe(t){let e=process.getuid?.(),r=process.getgid?.();if(!(e===void 0||r===void 0))try{let{exitCode:n,stderr:s}=await Le("sudo",["-n","chown","-R","-h",`${e}:${r}`,"."],{cwd:t,silent:!0,ignoreReturnCode:!0});n!==0&&At(`worktree chown skipped (exit ${n}): ${s.trim()}`)}catch(n){At(`worktree chown skipped: ${n instanceof Error?n.message:String(n)}`)}}var SYe=!1;function IYe(t){SYe=t}function At(t){SYe&&te(`[debug] ${t}`)}var f3t=1e3;function ta(t){return t*f3t}function Qc(t){let e=t.split("/");return e.length===2&&e[0]&&e[1]?{owner:e[0],repo:e[1]}:null}var lT=/^[A-Za-z_][A-Za-z0-9_.-]*$/;function RYe(t){if(t.startsWith("{"))try{let o=JSON.parse(t);return{username:typeof o.username=="string"?o.username:void 0,password:typeof o.password=="string"?o.password:void 0,role:typeof o.role=="string"?o.role:void 0}}catch{return{}}let e=t.indexOf(":"),n=!(e>=0&&!/[=;]/.test(t.slice(0,e)))&&/(^|;)\s*role\s*=/.test(t);if(/(^|;)\s*(username|password)\s*=/.test(t)||n){let o=new Map;for(let a of t.split(";")){let c=a.indexOf("=");c>0&&lT.test(a.slice(0,c).trim())&&o.set(a.slice(0,c).trim(),a.slice(c+1).trim())}return{username:o.get("username"),password:o.get("password"),role:o.get("role")}}if(t==="")return{};if(!t.includes(":"))for(let o of t.split(";")){let a=o.indexOf("=");if(a>0&&lT.test(o.slice(0,a).trim()))return{}}let[s,...i]=t.split(":");return{username:s,password:i.join(":")}}function vYe(t){let e=t.split(/\r?\n/).map(s=>s.trim()).find(s=>s!=="")??"",{username:r,password:n}=RYe(e);return{username:r,password:n}}function h3t(t){return t.toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")}function g3t(t){let e=t.split(/\r?\n/).map(n=>n.trim()).filter(n=>n!==""),r=new Set;return e.map((n,s)=>{let{username:i,password:o,role:a}=RYe(n),c=s+1,l=a?h3t(a):"";for(l||(l=String(c));r.has(l);)l=`${l}_${c}`;return r.add(l),{key:l,username:i,password:o}})}function NYe(t){let e=g3t(t);if(e.length<2)return[];let r=[];for(let{key:n,username:s,password:i}of e)s!==void 0&&r.push({envName:`SKYRAMP_UI_USERNAME_${n}`,value:s}),i!==void 0&&r.push({envName:`SKYRAMP_UI_PASSWORD_${n}`,value:i});return r}var CU=class extends um{label="Cursor";provider={name:"Cursor",statusUrl:"https://status.cursor.com/"};binary="agent";envVar="CURSOR_API_KEY";apiKeyField="cursorApiKey";supportsNdjsonLog=!0;async install(){await Le("bash",["-c","set -o pipefail; curl https://cursor.com/install -fsS | bash"]),Mbe(`${process.env.HOME}/.local/bin`),await Le("agent",["--version"],{silent:!0})}async initialize(){let{exitCode:e}=await Le("agent",["mcp","enable",As],{ignoreReturnCode:!0});if(e!==0)throw new Error(`Failed to enable MCP server '${As}' (exit code ${e})`);try{let{stdout:r}=await Le("agent",["mcp","list"]);r.includes(As)?Ce(`Cursor MCP server verified: ${As} is listed`):K(`${As} not found in MCP server list`)}catch{K("Could not list MCP servers")}}async configureMcp(e,r,n,s){let i=Hre.join(process.env.HOME??"~",".cursor");SU.mkdirSync(i,{recursive:!0});let o={mcpServers:{[As]:{command:e,args:r,env:n,timeout:ta(s)}}};SU.writeFileSync(Hre.join(i,"mcp.json"),JSON.stringify(o,null,2))}buildCommand(e){return{command:"agent",args:["-f","-p","--model","claude-4.6-sonnet-medium","--output-format","stream-json"]}}};We();var TC=H(require("fs")),dT=H(require("path"));var IU=class extends um{label="GitHub Copilot";provider={name:"GitHub Copilot",statusUrl:"https://www.githubstatus.com/"};binary="copilot";envVar="GH_TOKEN";apiKeyField="copilotApiKey";async install(){await Le("npm",["install","-g","@github/copilot"])}async initialize(){try{await Le("copilot",["--version"]),Ce("GitHub Copilot CLI initialized successfully")}catch{K("Could not verify Copilot CLI version")}}async configureMcp(e,r,n,s){let i=dT.join(process.env.HOME??"~",".copilot");TC.mkdirSync(i,{recursive:!0});let o={mcpServers:{[As]:{type:"local",command:e,args:r,tools:["*"],env:n,timeout:ta(s)}}},a=JSON.stringify(o,null,2);TC.writeFileSync(dT.join(i,"mcp-config.json"),a);let c=dT.join(process.cwd(),".copilot");TC.mkdirSync(c,{recursive:!0}),TC.writeFileSync(dT.join(c,"mcp-config.json"),a)}buildCommand(e){return{command:"copilot",args:["--additional-mcp-config",`@${process.env.HOME}/.copilot/mcp-config.json`,"--allow-all-tools","--allow-all-paths","-p"]}}};We();var TYe=require("node:module"),BYe=H(require("node:path")),A3t="SKYRAMP_MCP_INSTALL_PATH";function RU(t){let e=process.env[A3t];if(e)try{return(0,TYe.createRequire)(BYe.join(e,"package.json"))(`@skyramp/mcp/${t}`)}catch{return}}var PYe=H(require("fs")),vU=H(require("path")),y3t="SKYRAMP_FEATURE_SKILLS",NU="SKYRAMP_SKILLS_LOADED";function TU(t={}){if(!t.ignoreFeatureFlag&&process.env[y3t]!=="1")return;let e=process.env.SKYRAMP_MCP_INSTALL_PATH;return e?[vU.join(e,"node_modules","@skyramp","mcp","plugin"),vU.join(e,"plugin")].find(n=>PYe.existsSync(vU.join(n,".claude-plugin","plugin.json"))):void 0}var zre="CLAUDE_CODE_EFFORT_LEVEL",E3t=["TodoWrite","TodoRead","Write","CronCreate","CronDelete","CronList","AskUserQuestion","NotebookEdit"];function b3t(){return RU("personas")}var w3t=b3t;function x3t(){try{let e=w3t().SKYRAMP_QA_PERSONA;if(typeof e=="string"&&e.length>0)return At("Loaded SKYRAMP_QA_PERSONA from @skyramp/mcp"),e}catch{At("Could not load SKYRAMP_QA_PERSONA from @skyramp/mcp, running without persona")}return""}var Mh=class extends um{label="Claude Code";provider={name:"Claude API",statusUrl:"https://status.claude.com/"};binary="claude";envVar="ANTHROPIC_API_KEY";apiKeyField="anthropicApiKey";supportsNdjsonLog=!0;model;effort;constructor(e=gYe,r=vC){super(),this.model=e,this.effort=r}async install(){await Le("npm",["install","-g","@anthropic-ai/claude-code"])}async initialize(){try{await Le("claude",["--version"]),Ce("Claude Code CLI initialized successfully")}catch{K("Could not verify Claude Code CLI version")}await this.verifyMcpConnectivity()}async verifyMcpConnectivity(){try{let{stdout:e}=await Le("claude",["mcp","list"]);e.split(`
179
179
  `).some(n=>n.includes(As)&&n.toLowerCase().includes("connected"))?Ce(`Claude MCP server verified: ${As} is connected`):/no mcp servers configured/i.test(e)?te(`${As} is not registered with the Claude Code CLI; a staged run attaches it to each session and warns if it does not connect`):K(`${As} does not appear connected in MCP server list`)}catch{K("Could not verify MCP server connectivity")}}async configureMcp(e,r,n,s){await Le("claude",["mcp","remove","--scope","user",As],{ignoreReturnCode:!0});let i=["mcp","add","--scope","user",As];for(let[o,a]of Object.entries(n))i.push("-e",`${o}=${a}`);i.push("--",e,...r),await Le("claude",i)}skillsPluginDir(){return TU()}buildCommand(e,r=[]){let n=x3t(),s=["--dangerously-skip-permissions","--model",this.model],i=this.skillsPluginDir();i&&s.push("--plugin-dir",i),n&&s.push("--append-system-prompt",n),s.push("--settings",JSON.stringify({outputStyle:"Concise"})),s.push(...r),s.push("-p","--output-format","stream-json","--verbose");let o=process.env.SKYRAMP_THINKING_DISPLAY;return o&&s.push("--thinking-display",o),s.push("--disallowedTools",...E3t,"--"),{command:"claude",args:s}}pinEffortEnv(){let e=process.env[zre];e&&e!==this.effort&&K(`${zre}=${e} from the environment is overridden by the effort input ("${this.effort}").`),process.env[zre]=this.effort,te(`Agent effort level: ${this.effort}`)}setupAgentEnv(e,r){!e.useBedrock&&!e.anthropicApiKey||(process.env.MCP_TIMEOUT=String(ta(r.testExecutionTimeout)),process.env.ENABLE_TOOL_SEARCH="false",this.pinEffortEnv(),e.useBedrock?(process.env.CLAUDE_CODE_USE_BEDROCK="1",e.awsRegion&&(process.env.AWS_REGION=e.awsRegion),delete process.env.ANTHROPIC_API_KEY,process.env.AWS_ACCESS_KEY_ID||process.env.AWS_BEARER_TOKEN_BEDROCK||process.env.AWS_PROFILE||process.env.AWS_WEB_IDENTITY_TOKEN_FILE||K("useBedrock is set but no AWS credentials were detected in the environment. Add an aws-actions/configure-aws-credentials step (OIDC) before Testbot.")):e.anthropicApiKey&&(process.env.ANTHROPIC_API_KEY=e.anthropicApiKey,delete process.env.CLAUDE_CODE_USE_BEDROCK))}};var BU=class extends Mh{provider={name:"Amazon Bedrock",statusUrl:"https://health.aws.amazon.com/health/status"}};We();var ym=H(require("fs")),Gre=H(require("path"));kc();var PU=class extends Mh{mcpConfigPath;setupAgentEnv(e,r){process.env.MCP_TIMEOUT=String(ta(r.testExecutionTimeout)),process.env.ENABLE_TOOL_SEARCH="false",this.pinEffortEnv(),delete process.env.ANTHROPIC_API_KEY,delete process.env.CLAUDE_CODE_USE_BEDROCK,process.env.CLAUDE_CODE_DISABLE_CLAUDE_MDS="1"}async configureMcp(e,r,n,s){let i=Gre.join(pd(),"local-auth");ym.mkdirSync(i,{recursive:!0,mode:448}),ym.chmodSync(i,448);let o=Gre.join(i,`mcp-config-${process.pid}.json`);ym.writeFileSync(o,JSON.stringify({mcpServers:{[As]:{command:e,args:r,env:n}}}),{mode:384}),ym.chmodSync(o,384),this.mcpConfigPath=o,process.on("exit",()=>{try{ym.unlinkSync(o)}catch{}})}async verifyMcpConnectivity(){Ce("Skipping MCP connectivity check for local auth \u2014 nothing is registered via `claude mcp add` to list.")}buildCommand(e){let r=["--setting-sources","project","--no-session-persistence"];return this.mcpConfigPath&&r.push("--mcp-config",this.mcpConfigPath,"--strict-mcp-config"),super.buildCommand(e,r)}};function kU(t,e){switch(t){case"cursor":return new CU;case"copilot":return new IU;case"claude":return e?.useBedrock?new BU(e.model,e.effort):e?.useLocalAuth?new PU(e.model,e.effort):new Mh(e?.model,e?.effort);default:{let r=t;throw new Error(`Unsupported agent type: ${r}`)}}}We();var EJe=H(require("path"));var BC=require("fs"),Em=H(require("path"),1),S4e=require("child_process"),I4e=require("util");function C3t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ui={},_U={},Oh={},kYe;function pT(){if(kYe)return Oh;kYe=1;function t(o){return typeof o>"u"||o===null}function e(o){return typeof o=="object"&&o!==null}function r(o){return Array.isArray(o)?o:t(o)?[]:[o]}function n(o,a){if(a){let c=Object.keys(a);for(let l=0,u=c.length;l<u;l+=1){let d=c[l];o[d]=a[d]}}return o}function s(o,a){let c="";for(let l=0;l<a;l+=1)c+=o;return c}function i(o){return o===0&&Number.NEGATIVE_INFINITY===1/o}return Oh.isNothing=t,Oh.isObject=e,Oh.toArray=r,Oh.repeat=s,Oh.isNegativeZero=i,Oh.extend=n,Oh}var jre,_Ye;function mT(){if(_Ye)return jre;_Ye=1;function t(r,n){let s="",i=r.reason||"(unknown reason)";return r.mark?(r.mark.name&&(s+='in "'+r.mark.name+'" '),s+="("+(r.mark.line+1)+":"+(r.mark.column+1)+")",!n&&r.mark.snippet&&(s+=`
180
180
 
181
181
  `+r.mark.snippet),i+" "+s):i}function e(r,n){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=n,this.message=t(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e.prototype.toString=function(n){return this.name+": "+t(this,n)},jre=e,jre}var Vre,DYe;function S3t(){if(DYe)return Vre;DYe=1;let t=pT();function e(s,i,o,a,c){let l="",u="",d=Math.floor(c/2)-1;return a-i>d&&(l=" ... ",i=a-d+l.length),o-a>d&&(u=" ...",o=a+d-u.length),{str:l+s.slice(i,o).replace(/\t/g,"\u2192")+u,pos:a-i+l.length}}function r(s,i){return t.repeat(" ",i-s.length)+s}function n(s,i){if(i=Object.create(i||null),!s.buffer)return null;i.maxLength||(i.maxLength=79),typeof i.indent!="number"&&(i.indent=1),typeof i.linesBefore!="number"&&(i.linesBefore=3),typeof i.linesAfter!="number"&&(i.linesAfter=2);let o=/\r?\n|\r|\0/g,a=[0],c=[],l,u=-1;for(;l=o.exec(s.buffer);)c.push(l.index),a.push(l.index+l[0].length),s.position<=l.index&&u<0&&(u=a.length-2);u<0&&(u=a.length-1);let d="",p=Math.min(s.line+i.linesAfter,c.length).toString().length,m=i.maxLength-(i.indent+p+3);for(let f=1;f<=i.linesBefore&&!(u-f<0);f++){let A=e(s.buffer,a[u-f],c[u-f],s.position-(a[u]-a[u-f]),m);d=t.repeat(" ",i.indent)+r((s.line-f+1).toString(),p)+" | "+A.str+`
@@ -184,18 +184,18 @@ additional repositories analyzed in a multi-repo run).`,devPrMergedBreadcrumb:(t
184
184
  `;for(let f=1;f<=i.linesAfter&&!(u+f>=c.length);f++){let A=e(s.buffer,a[u+f],c[u+f],s.position-(a[u]-a[u+f]),m);d+=t.repeat(" ",i.indent)+r((s.line+f+1).toString(),p)+" | "+A.str+`
185
185
  `}return d.replace(/\n$/,"")}return Vre=n,Vre}var Wre,QYe;function bo(){if(QYe)return Wre;QYe=1;let t=mT(),e=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],r=["scalar","sequence","mapping"];function n(i){let o={};return i!==null&&Object.keys(i).forEach(function(a){i[a].forEach(function(c){o[String(c)]=a})}),o}function s(i,o){if(o=o||{},Object.keys(o).forEach(function(a){if(e.indexOf(a)===-1)throw new t('Unknown option "'+a+'" is met in definition of "'+i+'" YAML type.')}),this.options=o,this.tag=i,this.kind=o.kind||null,this.resolve=o.resolve||function(){return!0},this.construct=o.construct||function(a){return a},this.instanceOf=o.instanceOf||null,this.predicate=o.predicate||null,this.represent=o.represent||null,this.representName=o.representName||null,this.defaultStyle=o.defaultStyle||null,this.multi=o.multi||!1,this.styleAliases=n(o.styleAliases||null),r.indexOf(this.kind)===-1)throw new t('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}return Wre=s,Wre}var Yre,MYe;function n4e(){if(MYe)return Yre;MYe=1;let t=mT(),e=bo();function r(i,o){let a=[];return i[o].forEach(function(c){let l=a.length;a.forEach(function(u,d){u.tag===c.tag&&u.kind===c.kind&&u.multi===c.multi&&(l=d)}),a[l]=c}),a}function n(){let i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function o(a){a.multi?(i.multi[a.kind].push(a),i.multi.fallback.push(a)):i[a.kind][a.tag]=i.fallback[a.tag]=a}for(let a=0,c=arguments.length;a<c;a+=1)arguments[a].forEach(o);return i}function s(i){return this.extend(i)}return s.prototype.extend=function(o){let a=[],c=[];if(o instanceof e)c.push(o);else if(Array.isArray(o))c=c.concat(o);else if(o&&(Array.isArray(o.implicit)||Array.isArray(o.explicit)))o.implicit&&(a=a.concat(o.implicit)),o.explicit&&(c=c.concat(o.explicit));else throw new t("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");a.forEach(function(u){if(!(u instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(u.loadKind&&u.loadKind!=="scalar")throw new t("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(u.multi)throw new t("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),c.forEach(function(u){if(!(u instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.")});let l=Object.create(s.prototype);return l.implicit=(this.implicit||[]).concat(a),l.explicit=(this.explicit||[]).concat(c),l.compiledImplicit=r(l,"implicit"),l.compiledExplicit=r(l,"explicit"),l.compiledTypeMap=n(l.compiledImplicit,l.compiledExplicit),l},Yre=s,Yre}var Jre,OYe;function s4e(){if(OYe)return Jre;OYe=1;let t=bo();return Jre=new t("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),Jre}var Kre,LYe;function i4e(){if(LYe)return Kre;LYe=1;let t=bo();return Kre=new t("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),Kre}var Xre,FYe;function o4e(){if(FYe)return Xre;FYe=1;let t=bo();return Xre=new t("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),Xre}var Zre,UYe;function a4e(){if(UYe)return Zre;UYe=1;let t=n4e();return Zre=new t({explicit:[s4e(),i4e(),o4e()]}),Zre}var ene,$Ye;function c4e(){if($Ye)return ene;$Ye=1;let t=bo();function e(s){if(s===null)return!0;let i=s.length;return i===1&&s==="~"||i===4&&(s==="null"||s==="Null"||s==="NULL")}function r(){return null}function n(s){return s===null}return ene=new t("tag:yaml.org,2002:null",{kind:"scalar",resolve:e,construct:r,predicate:n,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),ene}var tne,qYe;function l4e(){if(qYe)return tne;qYe=1;let t=bo();function e(s){if(s===null)return!1;let i=s.length;return i===4&&(s==="true"||s==="True"||s==="TRUE")||i===5&&(s==="false"||s==="False"||s==="FALSE")}function r(s){return s==="true"||s==="True"||s==="TRUE"}function n(s){return Object.prototype.toString.call(s)==="[object Boolean]"}return tne=new t("tag:yaml.org,2002:bool",{kind:"scalar",resolve:e,construct:r,predicate:n,represent:{lowercase:function(s){return s?"true":"false"},uppercase:function(s){return s?"TRUE":"FALSE"},camelcase:function(s){return s?"True":"False"}},defaultStyle:"lowercase"}),tne}var rne,HYe;function u4e(){if(HYe)return rne;HYe=1;let t=pT(),e=bo();function r(l){return l>=48&&l<=57||l>=65&&l<=70||l>=97&&l<=102}function n(l){return l>=48&&l<=55}function s(l){return l>=48&&l<=57}function i(l){if(l===null)return!1;let u=l.length,d=0,p=!1;if(!u)return!1;let m=l[d];if((m==="-"||m==="+")&&(m=l[++d]),m==="0"){if(d+1===u)return!0;if(m=l[++d],m==="b"){for(d++;d<u;d++){if(m=l[d],m!=="0"&&m!=="1")return!1;p=!0}return p&&isFinite(o(l))}if(m==="x"){for(d++;d<u;d++){if(!r(l.charCodeAt(d)))return!1;p=!0}return p&&isFinite(o(l))}if(m==="o"){for(d++;d<u;d++){if(!n(l.charCodeAt(d)))return!1;p=!0}return p&&isFinite(o(l))}}for(;d<u;d++){if(!s(l.charCodeAt(d)))return!1;p=!0}return p?isFinite(o(l)):!1}function o(l){let u=l,d=1,p=u[0];if((p==="-"||p==="+")&&(p==="-"&&(d=-1),u=u.slice(1),p=u[0]),u==="0")return 0;if(p==="0"){if(u[1]==="b")return d*parseInt(u.slice(2),2);if(u[1]==="x")return d*parseInt(u.slice(2),16);if(u[1]==="o")return d*parseInt(u.slice(2),8)}return d*parseInt(u,10)}function a(l){return o(l)}function c(l){return Object.prototype.toString.call(l)==="[object Number]"&&l%1===0&&!t.isNegativeZero(l)}return rne=new e("tag:yaml.org,2002:int",{kind:"scalar",resolve:i,construct:a,predicate:c,represent:{binary:function(l){return l>=0?"0b"+l.toString(2):"-0b"+l.toString(2).slice(1)},octal:function(l){return l>=0?"0o"+l.toString(8):"-0o"+l.toString(8).slice(1)},decimal:function(l){return l.toString(10)},hexadecimal:function(l){return l>=0?"0x"+l.toString(16).toUpperCase():"-0x"+l.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),rne}var nne,zYe;function d4e(){if(zYe)return nne;zYe=1;let t=pT(),e=bo(),r=new RegExp("^(?:[-+]?(?:[0-9]+)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),n=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function s(l){return l===null||!r.test(l)?!1:isFinite(parseFloat(l,10))?!0:n.test(l)}function i(l){let u=l.toLowerCase(),d=u[0]==="-"?-1:1;return"+-".indexOf(u[0])>=0&&(u=u.slice(1)),u===".inf"?d===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:u===".nan"?NaN:d*parseFloat(u,10)}let o=/^[-+]?[0-9]+e/;function a(l,u){if(isNaN(l))switch(u){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===l)switch(u){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===l)switch(u){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(t.isNegativeZero(l))return"-0.0";let d=l.toString(10);return o.test(d)?d.replace("e",".e"):d}function c(l){return Object.prototype.toString.call(l)==="[object Number]"&&(l%1!==0||t.isNegativeZero(l))}return nne=new e("tag:yaml.org,2002:float",{kind:"scalar",resolve:s,construct:i,predicate:c,represent:a,defaultStyle:"lowercase"}),nne}var sne,GYe;function p4e(){return GYe||(GYe=1,sne=a4e().extend({implicit:[c4e(),l4e(),u4e(),d4e()]})),sne}var ine,jYe;function m4e(){return jYe||(jYe=1,ine=p4e()),ine}var one,VYe;function f4e(){if(VYe)return one;VYe=1;let t=bo(),e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),r=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function n(o){return o===null?!1:e.exec(o)!==null||r.exec(o)!==null}function s(o){let a=0,c=null,l=e.exec(o);if(l===null&&(l=r.exec(o)),l===null)throw new Error("Date resolve error");let u=+l[1],d=+l[2]-1,p=+l[3];if(!l[4])return new Date(Date.UTC(u,d,p));let m=+l[4],h=+l[5],f=+l[6];if(l[7]){for(a=l[7].slice(0,3);a.length<3;)a+="0";a=+a}if(l[9]){let b=+l[10],y=+(l[11]||0);c=(b*60+y)*6e4,l[9]==="-"&&(c=-c)}let A=new Date(Date.UTC(u,d,p,m,h,f,a));return c&&A.setTime(A.getTime()-c),A}function i(o){return o.toISOString()}return one=new t("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:n,construct:s,instanceOf:Date,represent:i}),one}var ane,WYe;function h4e(){if(WYe)return ane;WYe=1;let t=bo();function e(r){return r==="<<"||r===null}return ane=new t("tag:yaml.org,2002:merge",{kind:"scalar",resolve:e}),ane}var cne,YYe;function g4e(){if(YYe)return cne;YYe=1;let t=bo(),e=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
186
186
  \r`;function r(o){if(o===null)return!1;let a=0,c=o.length,l=e;for(let u=0;u<c;u++){let d=l.indexOf(o.charAt(u));if(!(d>64)){if(d<0)return!1;a+=6}}return a%8===0}function n(o){let a=o.replace(/[\r\n=]/g,""),c=a.length,l=e,u=0,d=[];for(let m=0;m<c;m++)m%4===0&&m&&(d.push(u>>16&255),d.push(u>>8&255),d.push(u&255)),u=u<<6|l.indexOf(a.charAt(m));let p=c%4*6;return p===0?(d.push(u>>16&255),d.push(u>>8&255),d.push(u&255)):p===18?(d.push(u>>10&255),d.push(u>>2&255)):p===12&&d.push(u>>4&255),new Uint8Array(d)}function s(o){let a="",c=0,l=o.length,u=e;for(let p=0;p<l;p++)p%3===0&&p&&(a+=u[c>>18&63],a+=u[c>>12&63],a+=u[c>>6&63],a+=u[c&63]),c=(c<<8)+o[p];let d=l%3;return d===0?(a+=u[c>>18&63],a+=u[c>>12&63],a+=u[c>>6&63],a+=u[c&63]):d===2?(a+=u[c>>10&63],a+=u[c>>4&63],a+=u[c<<2&63],a+=u[64]):d===1&&(a+=u[c>>2&63],a+=u[c<<4&63],a+=u[64],a+=u[64]),a}function i(o){return Object.prototype.toString.call(o)==="[object Uint8Array]"}return cne=new t("tag:yaml.org,2002:binary",{kind:"scalar",resolve:r,construct:n,predicate:i,represent:s}),cne}var lne,JYe;function A4e(){if(JYe)return lne;JYe=1;let t=bo(),e=Object.prototype.hasOwnProperty,r=Object.prototype.toString;function n(i){if(i===null)return!0;let o={},a=i;for(let c=0,l=a.length;c<l;c+=1){let u=a[c],d=!1;if(r.call(u)!=="[object Object]")return!1;let p;for(p in u)if(e.call(u,p))if(!d)d=!0;else return!1;if(!d||e.call(o,p))return!1;Object.defineProperty(o,p,{value:!0})}return!0}function s(i){return i!==null?i:[]}return lne=new t("tag:yaml.org,2002:omap",{kind:"sequence",resolve:n,construct:s}),lne}var une,KYe;function y4e(){if(KYe)return une;KYe=1;let t=bo(),e=Object.prototype.toString;function r(s){if(s===null)return!0;let i=s,o=new Array(i.length);for(let a=0,c=i.length;a<c;a+=1){let l=i[a];if(e.call(l)!=="[object Object]")return!1;let u=Object.keys(l);if(u.length!==1)return!1;o[a]=[u[0],l[u[0]]]}return!0}function n(s){if(s===null)return[];let i=s,o=new Array(i.length);for(let a=0,c=i.length;a<c;a+=1){let l=i[a],u=Object.keys(l);o[a]=[u[0],l[u[0]]]}return o}return une=new t("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:r,construct:n}),une}var dne,XYe;function E4e(){if(XYe)return dne;XYe=1;let t=bo(),e=Object.prototype.hasOwnProperty;function r(s){if(s===null)return!0;let i=s;for(let o in i)if(e.call(i,o)&&i[o]!==null)return!1;return!0}function n(s){return s!==null?s:{}}return dne=new t("tag:yaml.org,2002:set",{kind:"mapping",resolve:r,construct:n}),dne}var pne,ZYe;function fne(){return ZYe||(ZYe=1,pne=m4e().extend({implicit:[f4e(),h4e()],explicit:[g4e(),A4e(),y4e(),E4e()]})),pne}var e4e;function I3t(){if(e4e)return _U;e4e=1;let t=pT(),e=mT(),r=S3t(),n=fne(),s=Object.prototype.hasOwnProperty,i=1,o=2,a=3,c=4,l=1,u=2,d=3,p=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/[\x85\u2028\u2029]/,h=/[,\[\]{}]/,f=/^(?:!|!!|![0-9A-Za-z-]+!)$/,A=/^(?:!|[^,\[\]{}])(?:%[0-9a-f]{2}|[0-9a-z\-#;/?:@&=+$,_.!~*'()\[\]])*$/i;function b(w){return Object.prototype.toString.call(w)}function y(w){return w===10||w===13}function x(w){return w===9||w===32}function I(w){return w===9||w===32||w===10||w===13}function v(w){return w===44||w===91||w===93||w===123||w===125}function T(w){if(w>=48&&w<=57)return w-48;let g=w|32;return g>=97&&g<=102?g-97+10:-1}function N(w){return w===120?2:w===117?4:w===85?8:0}function O(w){return w>=48&&w<=57?w-48:-1}function F(w){switch(w){case 48:return"\0";case 97:return"\x07";case 98:return"\b";case 116:return" ";case 9:return" ";case 110:return`
187
- `;case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1B";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xA0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}function L(w){return w<=65535?String.fromCharCode(w):String.fromCharCode((w-65536>>10)+55296,(w-65536&1023)+56320)}function j(w,g,R){g==="__proto__"?Object.defineProperty(w,g,{configurable:!0,enumerable:!0,writable:!0,value:R}):w[g]=R}let J=new Array(256),z=new Array(256);for(let w=0;w<256;w++)J[w]=F(w)?1:0,z[w]=F(w);function q(w,g){this.input=w,this.filename=g.filename||null,this.schema=g.schema||n,this.onWarning=g.onWarning||null,this.legacy=g.legacy||!1,this.json=g.json||!1,this.listener=g.listener||null,this.maxDepth=typeof g.maxDepth=="number"?g.maxDepth:100,this.maxTotalMergeKeys=typeof g.maxTotalMergeKeys=="number"?g.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=w.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.depth=0,this.totalMergeKeys=0,this.firstTabInLine=-1,this.documents=[],this.anchorMapTransactions=[]}function U(w,g){let R={name:w.filename,buffer:w.input.slice(0,-1),position:w.position,line:w.line,column:w.position-w.lineStart};return R.snippet=r(R),new e(g,R)}function M(w,g){throw U(w,g)}function X(w,g){w.onWarning&&w.onWarning.call(null,U(w,g))}function pe(w,g,R){let D=w.anchorMapTransactions;if(D.length!==0){let k=D[D.length-1];s.call(k,g)||(k[g]={existed:s.call(w.anchorMap,g),value:w.anchorMap[g]})}w.anchorMap[g]=R}function ae(w){w.anchorMapTransactions.push(Object.create(null))}function Ee(w){let g=w.anchorMapTransactions.pop(),R=w.anchorMapTransactions;if(R.length===0)return;let D=R[R.length-1],k=Object.keys(g);for(let Q=0,E=k.length;Q<E;Q+=1){let P=k[Q];s.call(D,P)||(D[P]=g[P])}}function fe(w){let g=w.anchorMapTransactions.pop(),R=Object.keys(g);for(let D=R.length-1;D>=0;D-=1){let k=g[R[D]];k.existed?w.anchorMap[R[D]]=k.value:delete w.anchorMap[R[D]]}}function se(w){return{position:w.position,line:w.line,lineStart:w.lineStart,lineIndent:w.lineIndent,firstTabInLine:w.firstTabInLine,tag:w.tag,anchor:w.anchor,kind:w.kind,result:w.result}}function Z(w,g){w.position=g.position,w.line=g.line,w.lineStart=g.lineStart,w.lineIndent=g.lineIndent,w.firstTabInLine=g.firstTabInLine,w.tag=g.tag,w.anchor=g.anchor,w.kind=g.kind,w.result=g.result}let me={YAML:function(g,R,D){g.version!==null&&M(g,"duplication of %YAML directive"),D.length!==1&&M(g,"YAML directive accepts exactly one argument");let k=/^([0-9]+)\.([0-9]+)$/.exec(D[0]);k===null&&M(g,"ill-formed argument of the YAML directive");let Q=parseInt(k[1],10),E=parseInt(k[2],10);Q!==1&&M(g,"unacceptable YAML version of the document"),g.version=D[0],g.checkLineBreaks=E<2,E!==1&&E!==2&&X(g,"unsupported YAML version of the document")},TAG:function(g,R,D){let k;D.length!==2&&M(g,"TAG directive accepts exactly two arguments");let Q=D[0];k=D[1],f.test(Q)||M(g,"ill-formed tag handle (first argument) of the TAG directive"),s.call(g.tagMap,Q)&&M(g,'there is a previously declared suffix for "'+Q+'" tag handle'),A.test(k)||M(g,"ill-formed tag prefix (second argument) of the TAG directive");try{k=decodeURIComponent(k)}catch{M(g,"tag prefix is malformed: "+k)}g.tagMap[Q]=k}};function ce(w,g,R,D){if(g<R){let k=w.input.slice(g,R);if(D)for(let Q=0,E=k.length;Q<E;Q+=1){let P=k.charCodeAt(Q);P===9||P>=32&&P<=1114111||M(w,"expected valid JSON character")}else p.test(k)&&M(w,"the stream contains non-printable characters");w.result+=k}}function le(w,g,R,D){t.isObject(R)||M(w,"cannot merge mappings; the provided source object is unacceptable");let k=Object.keys(R);for(let Q=0,E=k.length;Q<E;Q+=1){let P=k[Q];w.maxTotalMergeKeys!==-1&&++w.totalMergeKeys>w.maxTotalMergeKeys&&M(w,"merge keys exceeded maxTotalMergeKeys ("+w.maxTotalMergeKeys+")"),s.call(g,P)||(j(g,P,R[P]),D[P]=!0)}}function Fe(w,g,R,D,k,Q,E,P,$){if(Array.isArray(k)){k=Array.prototype.slice.call(k);for(let G=0,V=k.length;G<V;G+=1)Array.isArray(k[G])&&M(w,"nested arrays are not supported inside keys"),typeof k=="object"&&b(k[G])==="[object Object]"&&(k[G]="[object Object]")}if(typeof k=="object"&&b(k)==="[object Object]"&&(k="[object Object]"),k=String(k),g===null&&(g={}),D==="tag:yaml.org,2002:merge")if(Array.isArray(Q))for(let G=0,V=Q.length;G<V;G+=1)le(w,g,Q[G],R);else le(w,g,Q,R);else!w.json&&!s.call(R,k)&&s.call(g,k)&&(w.line=E||w.line,w.lineStart=P||w.lineStart,w.position=$||w.position,M(w,"duplicated mapping key")),j(g,k,Q),delete R[k];return g}function et(w){let g=w.input.charCodeAt(w.position);g===10?w.position++:g===13?(w.position++,w.input.charCodeAt(w.position)===10&&w.position++):M(w,"a line break is expected"),w.line+=1,w.lineStart=w.position,w.firstTabInLine=-1}function He(w,g,R){let D=0,k=w.input.charCodeAt(w.position);for(;k!==0;){for(;x(k);)k===9&&w.firstTabInLine===-1&&(w.firstTabInLine=w.position),k=w.input.charCodeAt(++w.position);if(g&&k===35)do k=w.input.charCodeAt(++w.position);while(k!==10&&k!==13&&k!==0);if(y(k))for(et(w),k=w.input.charCodeAt(w.position),D++,w.lineIndent=0;k===32;)w.lineIndent++,k=w.input.charCodeAt(++w.position);else break}return R!==-1&&D!==0&&w.lineIndent<R&&X(w,"deficient indentation"),D}function Ke(w){let g=w.position,R=w.input.charCodeAt(g);return!!((R===45||R===46)&&R===w.input.charCodeAt(g+1)&&R===w.input.charCodeAt(g+2)&&(g+=3,R=w.input.charCodeAt(g),R===0||I(R)))}function Ct(w,g){g===1?w.result+=" ":g>1&&(w.result+=t.repeat(`
188
- `,g-1))}function Ie(w,g,R){let D,k,Q,E,P,$,G=w.kind,V=w.result,Y=w.input.charCodeAt(w.position);if(I(Y)||v(Y)||Y===35||Y===38||Y===42||Y===33||Y===124||Y===62||Y===39||Y===34||Y===37||Y===64||Y===96)return!1;if(Y===63||Y===45){let W=w.input.charCodeAt(w.position+1);if(I(W)||R&&v(W))return!1}for(w.kind="scalar",w.result="",D=k=w.position,Q=!1;Y!==0;){if(Y===58){let W=w.input.charCodeAt(w.position+1);if(I(W)||R&&v(W))break}else if(Y===35){let W=w.input.charCodeAt(w.position-1);if(I(W))break}else{if(w.position===w.lineStart&&Ke(w)||R&&v(Y))break;if(y(Y))if(E=w.line,P=w.lineStart,$=w.lineIndent,He(w,!1,-1),w.lineIndent>=g){Q=!0,Y=w.input.charCodeAt(w.position);continue}else{w.position=k,w.line=E,w.lineStart=P,w.lineIndent=$;break}}Q&&(ce(w,D,k,!1),Ct(w,w.line-E),D=k=w.position,Q=!1),x(Y)||(k=w.position+1),Y=w.input.charCodeAt(++w.position)}return ce(w,D,k,!1),w.result?!0:(w.kind=G,w.result=V,!1)}function Dt(w,g){let R,D,k=w.input.charCodeAt(w.position);if(k!==39)return!1;for(w.kind="scalar",w.result="",w.position++,R=D=w.position;(k=w.input.charCodeAt(w.position))!==0;)if(k===39)if(ce(w,R,w.position,!0),k=w.input.charCodeAt(++w.position),k===39)R=w.position,w.position++,D=w.position;else return!0;else y(k)?(ce(w,R,D,!0),Ct(w,He(w,!1,g)),R=D=w.position):w.position===w.lineStart&&Ke(w)?M(w,"unexpected end of the document within a single quoted scalar"):(w.position++,x(k)||(D=w.position));M(w,"unexpected end of the stream within a single quoted scalar")}function St(w,g){let R,D,k,Q=w.input.charCodeAt(w.position);if(Q!==34)return!1;for(w.kind="scalar",w.result="",w.position++,R=D=w.position;(Q=w.input.charCodeAt(w.position))!==0;){if(Q===34)return ce(w,R,w.position,!0),w.position++,!0;if(Q===92){if(ce(w,R,w.position,!0),Q=w.input.charCodeAt(++w.position),y(Q))He(w,!1,g);else if(Q<256&&J[Q])w.result+=z[Q],w.position++;else if((k=N(Q))>0){let E=k,P=0;for(;E>0;E--)Q=w.input.charCodeAt(++w.position),(k=T(Q))>=0?P=(P<<4)+k:M(w,"expected hexadecimal character");w.result+=L(P),w.position++}else M(w,"unknown escape sequence");R=D=w.position}else y(Q)?(ce(w,R,D,!0),Ct(w,He(w,!1,g)),R=D=w.position):w.position===w.lineStart&&Ke(w)?M(w,"unexpected end of the document within a double quoted scalar"):(w.position++,x(Q)||(D=w.position))}M(w,"unexpected end of the stream within a double quoted scalar")}function Ht(w,g){let R=!0,D,k,Q,E=w.tag,P,$=w.anchor,G,V,Y,W,ee=Object.create(null),ne,ue,de,xe=w.input.charCodeAt(w.position);if(xe===91)G=93,W=!1,P=[];else if(xe===123)G=125,W=!0,P={};else return!1;for(w.anchor!==null&&pe(w,w.anchor,P),xe=w.input.charCodeAt(++w.position);xe!==0;){if(He(w,!0,g),xe=w.input.charCodeAt(w.position),xe===G)return w.position++,w.tag=E,w.anchor=$,w.kind=W?"mapping":"sequence",w.result=P,!0;if(R?xe===44&&M(w,"expected the node content, but found ','"):M(w,"missed comma between flow collection entries"),ue=ne=de=null,V=Y=!1,xe===63){let ze=w.input.charCodeAt(w.position+1);I(ze)&&(V=Y=!0,w.position++,He(w,!0,g))}D=w.line,k=w.lineStart,Q=w.position,Tn(w,g,i,!1,!0),ue=w.tag,ne=w.result,He(w,!0,g),xe=w.input.charCodeAt(w.position),(Y||w.line===D)&&xe===58&&(V=!0,xe=w.input.charCodeAt(++w.position),He(w,!0,g),Tn(w,g,i,!1,!0),de=w.result),W?Fe(w,P,ee,ue,ne,de,D,k,Q):V?P.push(Fe(w,null,ee,ue,ne,de,D,k,Q)):P.push(ne),He(w,!0,g),xe=w.input.charCodeAt(w.position),xe===44?(R=!0,xe=w.input.charCodeAt(++w.position)):R=!1}M(w,"unexpected end of the stream within a flow collection")}function Vn(w,g){let R,D=l,k=!1,Q=!1,E=g,P=0,$=!1,G,V=w.input.charCodeAt(w.position);if(V===124)R=!1;else if(V===62)R=!0;else return!1;for(w.kind="scalar",w.result="";V!==0;)if(V=w.input.charCodeAt(++w.position),V===43||V===45)l===D?D=V===43?d:u:M(w,"repeat of a chomping mode identifier");else if((G=O(V))>=0)G===0?M(w,"bad explicit indentation width of a block scalar; it cannot be less than one"):Q?M(w,"repeat of an indentation width identifier"):(E=g+G-1,Q=!0);else break;if(x(V)){do V=w.input.charCodeAt(++w.position);while(x(V));if(V===35)do V=w.input.charCodeAt(++w.position);while(!y(V)&&V!==0)}for(;V!==0;){for(et(w),w.lineIndent=0,V=w.input.charCodeAt(w.position);(!Q||w.lineIndent<E)&&V===32;)w.lineIndent++,V=w.input.charCodeAt(++w.position);if(!Q&&w.lineIndent>E&&(E=w.lineIndent),y(V)){P++;continue}if(!Q&&E===0&&M(w,"missing indentation for block scalar"),w.lineIndent<E){D===d?w.result+=t.repeat(`
187
+ `;case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1B";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xA0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}function L(w){return w<=65535?String.fromCharCode(w):String.fromCharCode((w-65536>>10)+55296,(w-65536&1023)+56320)}function j(w,g,R){g==="__proto__"?Object.defineProperty(w,g,{configurable:!0,enumerable:!0,writable:!0,value:R}):w[g]=R}let J=new Array(256),z=new Array(256);for(let w=0;w<256;w++)J[w]=F(w)?1:0,z[w]=F(w);function q(w,g){this.input=w,this.filename=g.filename||null,this.schema=g.schema||n,this.onWarning=g.onWarning||null,this.legacy=g.legacy||!1,this.json=g.json||!1,this.listener=g.listener||null,this.maxDepth=typeof g.maxDepth=="number"?g.maxDepth:100,this.maxTotalMergeKeys=typeof g.maxTotalMergeKeys=="number"?g.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=w.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.depth=0,this.totalMergeKeys=0,this.firstTabInLine=-1,this.documents=[],this.anchorMapTransactions=[]}function U(w,g){let R={name:w.filename,buffer:w.input.slice(0,-1),position:w.position,line:w.line,column:w.position-w.lineStart};return R.snippet=r(R),new e(g,R)}function M(w,g){throw U(w,g)}function X(w,g){w.onWarning&&w.onWarning.call(null,U(w,g))}function pe(w,g,R){let D=w.anchorMapTransactions;if(D.length!==0){let k=D[D.length-1];s.call(k,g)||(k[g]={existed:s.call(w.anchorMap,g),value:w.anchorMap[g]})}w.anchorMap[g]=R}function ae(w){w.anchorMapTransactions.push(Object.create(null))}function Ee(w){let g=w.anchorMapTransactions.pop(),R=w.anchorMapTransactions;if(R.length===0)return;let D=R[R.length-1],k=Object.keys(g);for(let Q=0,E=k.length;Q<E;Q+=1){let P=k[Q];s.call(D,P)||(D[P]=g[P])}}function fe(w){let g=w.anchorMapTransactions.pop(),R=Object.keys(g);for(let D=R.length-1;D>=0;D-=1){let k=g[R[D]];k.existed?w.anchorMap[R[D]]=k.value:delete w.anchorMap[R[D]]}}function se(w){return{position:w.position,line:w.line,lineStart:w.lineStart,lineIndent:w.lineIndent,firstTabInLine:w.firstTabInLine,tag:w.tag,anchor:w.anchor,kind:w.kind,result:w.result}}function Z(w,g){w.position=g.position,w.line=g.line,w.lineStart=g.lineStart,w.lineIndent=g.lineIndent,w.firstTabInLine=g.firstTabInLine,w.tag=g.tag,w.anchor=g.anchor,w.kind=g.kind,w.result=g.result}let me={YAML:function(g,R,D){g.version!==null&&M(g,"duplication of %YAML directive"),D.length!==1&&M(g,"YAML directive accepts exactly one argument");let k=/^([0-9]+)\.([0-9]+)$/.exec(D[0]);k===null&&M(g,"ill-formed argument of the YAML directive");let Q=parseInt(k[1],10),E=parseInt(k[2],10);Q!==1&&M(g,"unacceptable YAML version of the document"),g.version=D[0],g.checkLineBreaks=E<2,E!==1&&E!==2&&X(g,"unsupported YAML version of the document")},TAG:function(g,R,D){let k;D.length!==2&&M(g,"TAG directive accepts exactly two arguments");let Q=D[0];k=D[1],f.test(Q)||M(g,"ill-formed tag handle (first argument) of the TAG directive"),s.call(g.tagMap,Q)&&M(g,'there is a previously declared suffix for "'+Q+'" tag handle'),A.test(k)||M(g,"ill-formed tag prefix (second argument) of the TAG directive");try{k=decodeURIComponent(k)}catch{M(g,"tag prefix is malformed: "+k)}g.tagMap[Q]=k}};function ce(w,g,R,D){if(g<R){let k=w.input.slice(g,R);if(D)for(let Q=0,E=k.length;Q<E;Q+=1){let P=k.charCodeAt(Q);P===9||P>=32&&P<=1114111||M(w,"expected valid JSON character")}else p.test(k)&&M(w,"the stream contains non-printable characters");w.result+=k}}function le(w,g,R,D){t.isObject(R)||M(w,"cannot merge mappings; the provided source object is unacceptable");let k=Object.keys(R);for(let Q=0,E=k.length;Q<E;Q+=1){let P=k[Q];w.maxTotalMergeKeys!==-1&&++w.totalMergeKeys>w.maxTotalMergeKeys&&M(w,"merge keys exceeded maxTotalMergeKeys ("+w.maxTotalMergeKeys+")"),s.call(g,P)||(j(g,P,R[P]),D[P]=!0)}}function Ue(w,g,R,D,k,Q,E,P,$){if(Array.isArray(k)){k=Array.prototype.slice.call(k);for(let G=0,V=k.length;G<V;G+=1)Array.isArray(k[G])&&M(w,"nested arrays are not supported inside keys"),typeof k=="object"&&b(k[G])==="[object Object]"&&(k[G]="[object Object]")}if(typeof k=="object"&&b(k)==="[object Object]"&&(k="[object Object]"),k=String(k),g===null&&(g={}),D==="tag:yaml.org,2002:merge")if(Array.isArray(Q))for(let G=0,V=Q.length;G<V;G+=1)le(w,g,Q[G],R);else le(w,g,Q,R);else!w.json&&!s.call(R,k)&&s.call(g,k)&&(w.line=E||w.line,w.lineStart=P||w.lineStart,w.position=$||w.position,M(w,"duplicated mapping key")),j(g,k,Q),delete R[k];return g}function et(w){let g=w.input.charCodeAt(w.position);g===10?w.position++:g===13?(w.position++,w.input.charCodeAt(w.position)===10&&w.position++):M(w,"a line break is expected"),w.line+=1,w.lineStart=w.position,w.firstTabInLine=-1}function He(w,g,R){let D=0,k=w.input.charCodeAt(w.position);for(;k!==0;){for(;x(k);)k===9&&w.firstTabInLine===-1&&(w.firstTabInLine=w.position),k=w.input.charCodeAt(++w.position);if(g&&k===35)do k=w.input.charCodeAt(++w.position);while(k!==10&&k!==13&&k!==0);if(y(k))for(et(w),k=w.input.charCodeAt(w.position),D++,w.lineIndent=0;k===32;)w.lineIndent++,k=w.input.charCodeAt(++w.position);else break}return R!==-1&&D!==0&&w.lineIndent<R&&X(w,"deficient indentation"),D}function Ke(w){let g=w.position,R=w.input.charCodeAt(g);return!!((R===45||R===46)&&R===w.input.charCodeAt(g+1)&&R===w.input.charCodeAt(g+2)&&(g+=3,R=w.input.charCodeAt(g),R===0||I(R)))}function Ct(w,g){g===1?w.result+=" ":g>1&&(w.result+=t.repeat(`
188
+ `,g-1))}function Ie(w,g,R){let D,k,Q,E,P,$,G=w.kind,V=w.result,Y=w.input.charCodeAt(w.position);if(I(Y)||v(Y)||Y===35||Y===38||Y===42||Y===33||Y===124||Y===62||Y===39||Y===34||Y===37||Y===64||Y===96)return!1;if(Y===63||Y===45){let W=w.input.charCodeAt(w.position+1);if(I(W)||R&&v(W))return!1}for(w.kind="scalar",w.result="",D=k=w.position,Q=!1;Y!==0;){if(Y===58){let W=w.input.charCodeAt(w.position+1);if(I(W)||R&&v(W))break}else if(Y===35){let W=w.input.charCodeAt(w.position-1);if(I(W))break}else{if(w.position===w.lineStart&&Ke(w)||R&&v(Y))break;if(y(Y))if(E=w.line,P=w.lineStart,$=w.lineIndent,He(w,!1,-1),w.lineIndent>=g){Q=!0,Y=w.input.charCodeAt(w.position);continue}else{w.position=k,w.line=E,w.lineStart=P,w.lineIndent=$;break}}Q&&(ce(w,D,k,!1),Ct(w,w.line-E),D=k=w.position,Q=!1),x(Y)||(k=w.position+1),Y=w.input.charCodeAt(++w.position)}return ce(w,D,k,!1),w.result?!0:(w.kind=G,w.result=V,!1)}function Dt(w,g){let R,D,k=w.input.charCodeAt(w.position);if(k!==39)return!1;for(w.kind="scalar",w.result="",w.position++,R=D=w.position;(k=w.input.charCodeAt(w.position))!==0;)if(k===39)if(ce(w,R,w.position,!0),k=w.input.charCodeAt(++w.position),k===39)R=w.position,w.position++,D=w.position;else return!0;else y(k)?(ce(w,R,D,!0),Ct(w,He(w,!1,g)),R=D=w.position):w.position===w.lineStart&&Ke(w)?M(w,"unexpected end of the document within a single quoted scalar"):(w.position++,x(k)||(D=w.position));M(w,"unexpected end of the stream within a single quoted scalar")}function St(w,g){let R,D,k,Q=w.input.charCodeAt(w.position);if(Q!==34)return!1;for(w.kind="scalar",w.result="",w.position++,R=D=w.position;(Q=w.input.charCodeAt(w.position))!==0;){if(Q===34)return ce(w,R,w.position,!0),w.position++,!0;if(Q===92){if(ce(w,R,w.position,!0),Q=w.input.charCodeAt(++w.position),y(Q))He(w,!1,g);else if(Q<256&&J[Q])w.result+=z[Q],w.position++;else if((k=N(Q))>0){let E=k,P=0;for(;E>0;E--)Q=w.input.charCodeAt(++w.position),(k=T(Q))>=0?P=(P<<4)+k:M(w,"expected hexadecimal character");w.result+=L(P),w.position++}else M(w,"unknown escape sequence");R=D=w.position}else y(Q)?(ce(w,R,D,!0),Ct(w,He(w,!1,g)),R=D=w.position):w.position===w.lineStart&&Ke(w)?M(w,"unexpected end of the document within a double quoted scalar"):(w.position++,x(Q)||(D=w.position))}M(w,"unexpected end of the stream within a double quoted scalar")}function Ht(w,g){let R=!0,D,k,Q,E=w.tag,P,$=w.anchor,G,V,Y,W,ee=Object.create(null),ne,ue,de,xe=w.input.charCodeAt(w.position);if(xe===91)G=93,W=!1,P=[];else if(xe===123)G=125,W=!0,P={};else return!1;for(w.anchor!==null&&pe(w,w.anchor,P),xe=w.input.charCodeAt(++w.position);xe!==0;){if(He(w,!0,g),xe=w.input.charCodeAt(w.position),xe===G)return w.position++,w.tag=E,w.anchor=$,w.kind=W?"mapping":"sequence",w.result=P,!0;if(R?xe===44&&M(w,"expected the node content, but found ','"):M(w,"missed comma between flow collection entries"),ue=ne=de=null,V=Y=!1,xe===63){let ze=w.input.charCodeAt(w.position+1);I(ze)&&(V=Y=!0,w.position++,He(w,!0,g))}D=w.line,k=w.lineStart,Q=w.position,Tn(w,g,i,!1,!0),ue=w.tag,ne=w.result,He(w,!0,g),xe=w.input.charCodeAt(w.position),(Y||w.line===D)&&xe===58&&(V=!0,xe=w.input.charCodeAt(++w.position),He(w,!0,g),Tn(w,g,i,!1,!0),de=w.result),W?Ue(w,P,ee,ue,ne,de,D,k,Q):V?P.push(Ue(w,null,ee,ue,ne,de,D,k,Q)):P.push(ne),He(w,!0,g),xe=w.input.charCodeAt(w.position),xe===44?(R=!0,xe=w.input.charCodeAt(++w.position)):R=!1}M(w,"unexpected end of the stream within a flow collection")}function Vn(w,g){let R,D=l,k=!1,Q=!1,E=g,P=0,$=!1,G,V=w.input.charCodeAt(w.position);if(V===124)R=!1;else if(V===62)R=!0;else return!1;for(w.kind="scalar",w.result="";V!==0;)if(V=w.input.charCodeAt(++w.position),V===43||V===45)l===D?D=V===43?d:u:M(w,"repeat of a chomping mode identifier");else if((G=O(V))>=0)G===0?M(w,"bad explicit indentation width of a block scalar; it cannot be less than one"):Q?M(w,"repeat of an indentation width identifier"):(E=g+G-1,Q=!0);else break;if(x(V)){do V=w.input.charCodeAt(++w.position);while(x(V));if(V===35)do V=w.input.charCodeAt(++w.position);while(!y(V)&&V!==0)}for(;V!==0;){for(et(w),w.lineIndent=0,V=w.input.charCodeAt(w.position);(!Q||w.lineIndent<E)&&V===32;)w.lineIndent++,V=w.input.charCodeAt(++w.position);if(!Q&&w.lineIndent>E&&(E=w.lineIndent),y(V)){P++;continue}if(!Q&&E===0&&M(w,"missing indentation for block scalar"),w.lineIndent<E){D===d?w.result+=t.repeat(`
189
189
  `,k?1+P:P):D===l&&k&&(w.result+=`
190
190
  `);break}R?x(V)?($=!0,w.result+=t.repeat(`
191
191
  `,k?1+P:P)):$?($=!1,w.result+=t.repeat(`
192
192
  `,P+1)):P===0?k&&(w.result+=" "):w.result+=t.repeat(`
193
193
  `,P):w.result+=t.repeat(`
194
- `,k?1+P:P),k=!0,Q=!0,P=0;let Y=w.position;for(;!y(V)&&V!==0;)V=w.input.charCodeAt(++w.position);ce(w,Y,w.position,!1)}return!0}function Br(w,g){let R=w.tag,D=w.anchor,k=[],Q=!1;if(w.firstTabInLine!==-1)return!1;w.anchor!==null&&pe(w,w.anchor,k);let E=w.input.charCodeAt(w.position);for(;E!==0&&(w.firstTabInLine!==-1&&(w.position=w.firstTabInLine,M(w,"tab characters must not be used in indentation")),E===45);){let P=w.input.charCodeAt(w.position+1);if(!I(P))break;if(Q=!0,w.position++,He(w,!0,-1)&&w.lineIndent<=g){k.push(null),E=w.input.charCodeAt(w.position);continue}let $=w.line;if(Tn(w,g,a,!1,!0),k.push(w.result),He(w,!0,-1),E=w.input.charCodeAt(w.position),(w.line===$||w.lineIndent>g)&&E!==0)M(w,"bad indentation of a sequence entry");else if(w.lineIndent<g)break}return Q?(w.tag=R,w.anchor=D,w.kind="sequence",w.result=k,!0):!1}function Yi(w,g,R){let D,k,Q,E,P=w.tag,$=w.anchor,G={},V=Object.create(null),Y=null,W=null,ee=null,ne=!1,ue=!1;if(w.firstTabInLine!==-1)return!1;w.anchor!==null&&pe(w,w.anchor,G);let de=w.input.charCodeAt(w.position);for(;de!==0;){!ne&&w.firstTabInLine!==-1&&(w.position=w.firstTabInLine,M(w,"tab characters must not be used in indentation"));let xe=w.input.charCodeAt(w.position+1),ze=w.line;if((de===63||de===58)&&I(xe))de===63?(ne&&(Fe(w,G,V,Y,W,null,k,Q,E),Y=W=ee=null),ue=!0,ne=!0,D=!0):ne?(ne=!1,D=!0):M(w,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),w.position+=1,de=xe;else{if(k=w.line,Q=w.lineStart,E=w.position,!Tn(w,R,o,!1,!0))break;if(w.line===ze){for(de=w.input.charCodeAt(w.position);x(de);)de=w.input.charCodeAt(++w.position);if(de===58)de=w.input.charCodeAt(++w.position),I(de)||M(w,"a whitespace character is expected after the key-value separator within a block mapping"),ne&&(Fe(w,G,V,Y,W,null,k,Q,E),Y=W=ee=null),ue=!0,ne=!1,D=!1,Y=w.tag,W=w.result;else if(ue)M(w,"can not read an implicit mapping pair; a colon is missed");else return w.tag=P,w.anchor=$,!0}else if(ue)M(w,"can not read a block mapping entry; a multiline key may not be an implicit key");else return w.tag=P,w.anchor=$,!0}if((w.line===ze||w.lineIndent>g)&&(ne&&(k=w.line,Q=w.lineStart,E=w.position),Tn(w,g,c,!0,D)&&(ne?W=w.result:ee=w.result),ne||(Fe(w,G,V,Y,W,ee,k,Q,E),Y=W=ee=null),He(w,!0,-1),de=w.input.charCodeAt(w.position)),(w.line===ze||w.lineIndent>g)&&de!==0)M(w,"bad indentation of a mapping entry");else if(w.lineIndent<g)break}return ne&&Fe(w,G,V,Y,W,null,k,Q,E),ue&&(w.tag=P,w.anchor=$,w.kind="mapping",w.result=G),ue}function xs(w){let g=!1,R=!1,D,k,Q=w.input.charCodeAt(w.position);if(Q!==33)return!1;w.tag!==null&&M(w,"duplication of a tag property"),Q=w.input.charCodeAt(++w.position),Q===60?(g=!0,Q=w.input.charCodeAt(++w.position)):Q===33?(R=!0,D="!!",Q=w.input.charCodeAt(++w.position)):D="!";let E=w.position;if(g){do Q=w.input.charCodeAt(++w.position);while(Q!==0&&Q!==62);w.position<w.length?(k=w.input.slice(E,w.position),Q=w.input.charCodeAt(++w.position)):M(w,"unexpected end of the stream within a verbatim tag")}else{for(;Q!==0&&!I(Q);)Q===33&&(R?M(w,"tag suffix cannot contain exclamation marks"):(D=w.input.slice(E-1,w.position+1),f.test(D)||M(w,"named tag handle cannot contain such characters"),R=!0,E=w.position+1)),Q=w.input.charCodeAt(++w.position);k=w.input.slice(E,w.position),h.test(k)&&M(w,"tag suffix cannot contain flow indicator characters")}k&&!A.test(k)&&M(w,"tag name cannot contain such characters: "+k);try{k=decodeURIComponent(k)}catch{M(w,"tag name is malformed: "+k)}return g?w.tag=k:s.call(w.tagMap,D)?w.tag=w.tagMap[D]+k:D==="!"?w.tag="!"+k:D==="!!"?w.tag="tag:yaml.org,2002:"+k:M(w,'undeclared tag handle "'+D+'"'),!0}function Ji(w){let g=w.input.charCodeAt(w.position);if(g!==38)return!1;w.anchor!==null&&M(w,"duplication of an anchor property"),g=w.input.charCodeAt(++w.position);let R=w.position;for(;g!==0&&!I(g)&&!v(g);)g=w.input.charCodeAt(++w.position);return w.position===R&&M(w,"name of an anchor node must contain at least one character"),w.anchor=w.input.slice(R,w.position),!0}function Fs(w){let g=w.input.charCodeAt(w.position);if(g!==42)return!1;g=w.input.charCodeAt(++w.position);let R=w.position;for(;g!==0&&!I(g)&&!v(g);)g=w.input.charCodeAt(++w.position);w.position===R&&M(w,"name of an alias node must contain at least one character");let D=w.input.slice(R,w.position);return s.call(w.anchorMap,D)||M(w,'unidentified alias "'+D+'"'),w.result=w.anchorMap[D],He(w,!0,-1),!0}function Us(w,g,R,D){let k=se(w);return ae(w),Z(w,g),w.tag=null,w.anchor=null,w.kind=null,w.result=null,Yi(w,R,D)&&w.kind==="mapping"?(Ee(w),!0):(fe(w),Z(w,k),!1)}function Tn(w,g,R,D,k){let Q,E,P=1,$=!1,G=!1,V=null,Y,W,ee;w.depth>=w.maxDepth&&M(w,"nesting exceeded maxDepth ("+w.maxDepth+")"),w.depth+=1,w.listener!==null&&w.listener("open",w),w.tag=null,w.anchor=null,w.kind=null,w.result=null;let ne=Q=E=c===R||a===R;if(D&&He(w,!0,-1)&&($=!0,w.lineIndent>g?P=1:w.lineIndent===g?P=0:w.lineIndent<g&&(P=-1)),P===1)for(;;){let ue=w.input.charCodeAt(w.position),de=se(w);if($&&(ue===33&&w.tag!==null||ue===38&&w.anchor!==null)||!xs(w)&&!Ji(w))break;V===null&&(V=de),He(w,!0,-1)?($=!0,E=ne,w.lineIndent>g?P=1:w.lineIndent===g?P=0:w.lineIndent<g&&(P=-1)):E=!1}if(E&&(E=$||k),P===1||c===R)if(i===R||o===R?W=g:W=g+1,ee=w.position-w.lineStart,P===1)if(E&&(Br(w,ee)||Yi(w,ee,W))||Ht(w,W))G=!0;else{let ue=w.input.charCodeAt(w.position);V!==null&&ne&&!E&&ue!==124&&ue!==62&&Us(w,V,V.position-V.lineStart,W)||Q&&Vn(w,W)||Dt(w,W)||St(w,W)?G=!0:Fs(w)?(G=!0,(w.tag!==null||w.anchor!==null)&&M(w,"alias node should not have any properties")):Ie(w,W,i===R)&&(G=!0,w.tag===null&&(w.tag="?")),w.anchor!==null&&pe(w,w.anchor,w.result)}else P===0&&(G=E&&Br(w,ee));if(w.tag===null)w.anchor!==null&&pe(w,w.anchor,w.result);else if(w.tag==="?"){w.result!==null&&w.kind!=="scalar"&&M(w,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+w.kind+'"');for(let ue=0,de=w.implicitTypes.length;ue<de;ue+=1)if(Y=w.implicitTypes[ue],Y.resolve(w.result)){w.result=Y.construct(w.result),w.tag=Y.tag,w.anchor!==null&&pe(w,w.anchor,w.result);break}}else if(w.tag!=="!"){if(s.call(w.typeMap[w.kind||"fallback"],w.tag))Y=w.typeMap[w.kind||"fallback"][w.tag];else{Y=null;let ue=w.typeMap.multi[w.kind||"fallback"];for(let de=0,xe=ue.length;de<xe;de+=1)if(w.tag.slice(0,ue[de].tag.length)===ue[de].tag){Y=ue[de];break}}Y||M(w,"unknown tag !<"+w.tag+">"),w.result!==null&&Y.kind!==w.kind&&M(w,"unacceptable node kind for !<"+w.tag+'> tag; it should be "'+Y.kind+'", not "'+w.kind+'"'),Y.resolve(w.result,w.tag)?(w.result=Y.construct(w.result,w.tag),w.anchor!==null&&pe(w,w.anchor,w.result)):M(w,"cannot resolve a node with !<"+w.tag+"> explicit tag")}return w.listener!==null&&w.listener("close",w),w.depth-=1,w.tag!==null||w.anchor!==null||G}function zr(w){let g=w.position,R=!1,D;for(w.version=null,w.checkLineBreaks=w.legacy,w.tagMap=Object.create(null),w.anchorMap=Object.create(null);(D=w.input.charCodeAt(w.position))!==0&&(He(w,!0,-1),D=w.input.charCodeAt(w.position),!(w.lineIndent>0||D!==37));){R=!0,D=w.input.charCodeAt(++w.position);let k=w.position;for(;D!==0&&!I(D);)D=w.input.charCodeAt(++w.position);let Q=w.input.slice(k,w.position),E=[];for(Q.length<1&&M(w,"directive name must not be less than one character in length");D!==0;){for(;x(D);)D=w.input.charCodeAt(++w.position);if(D===35){do D=w.input.charCodeAt(++w.position);while(D!==0&&!y(D));break}if(y(D))break;for(k=w.position;D!==0&&!I(D);)D=w.input.charCodeAt(++w.position);E.push(w.input.slice(k,w.position))}D!==0&&et(w),s.call(me,Q)?me[Q](w,Q,E):X(w,'unknown document directive "'+Q+'"')}if(He(w,!0,-1),w.lineIndent===0&&w.input.charCodeAt(w.position)===45&&w.input.charCodeAt(w.position+1)===45&&w.input.charCodeAt(w.position+2)===45?(w.position+=3,He(w,!0,-1)):R&&M(w,"directives end mark is expected"),Tn(w,w.lineIndent-1,c,!1,!0),He(w,!0,-1),w.checkLineBreaks&&m.test(w.input.slice(g,w.position))&&X(w,"non-ASCII line breaks are interpreted as content"),w.documents.push(w.result),w.position===w.lineStart&&Ke(w)){w.input.charCodeAt(w.position)===46&&(w.position+=3,He(w,!0,-1));return}w.position<w.length-1&&M(w,"end of the stream or a document separator is expected")}function ci(w,g){w=String(w),g=g||{},w.length!==0&&(w.charCodeAt(w.length-1)!==10&&w.charCodeAt(w.length-1)!==13&&(w+=`
194
+ `,k?1+P:P),k=!0,Q=!0,P=0;let Y=w.position;for(;!y(V)&&V!==0;)V=w.input.charCodeAt(++w.position);ce(w,Y,w.position,!1)}return!0}function Br(w,g){let R=w.tag,D=w.anchor,k=[],Q=!1;if(w.firstTabInLine!==-1)return!1;w.anchor!==null&&pe(w,w.anchor,k);let E=w.input.charCodeAt(w.position);for(;E!==0&&(w.firstTabInLine!==-1&&(w.position=w.firstTabInLine,M(w,"tab characters must not be used in indentation")),E===45);){let P=w.input.charCodeAt(w.position+1);if(!I(P))break;if(Q=!0,w.position++,He(w,!0,-1)&&w.lineIndent<=g){k.push(null),E=w.input.charCodeAt(w.position);continue}let $=w.line;if(Tn(w,g,a,!1,!0),k.push(w.result),He(w,!0,-1),E=w.input.charCodeAt(w.position),(w.line===$||w.lineIndent>g)&&E!==0)M(w,"bad indentation of a sequence entry");else if(w.lineIndent<g)break}return Q?(w.tag=R,w.anchor=D,w.kind="sequence",w.result=k,!0):!1}function Yi(w,g,R){let D,k,Q,E,P=w.tag,$=w.anchor,G={},V=Object.create(null),Y=null,W=null,ee=null,ne=!1,ue=!1;if(w.firstTabInLine!==-1)return!1;w.anchor!==null&&pe(w,w.anchor,G);let de=w.input.charCodeAt(w.position);for(;de!==0;){!ne&&w.firstTabInLine!==-1&&(w.position=w.firstTabInLine,M(w,"tab characters must not be used in indentation"));let xe=w.input.charCodeAt(w.position+1),ze=w.line;if((de===63||de===58)&&I(xe))de===63?(ne&&(Ue(w,G,V,Y,W,null,k,Q,E),Y=W=ee=null),ue=!0,ne=!0,D=!0):ne?(ne=!1,D=!0):M(w,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),w.position+=1,de=xe;else{if(k=w.line,Q=w.lineStart,E=w.position,!Tn(w,R,o,!1,!0))break;if(w.line===ze){for(de=w.input.charCodeAt(w.position);x(de);)de=w.input.charCodeAt(++w.position);if(de===58)de=w.input.charCodeAt(++w.position),I(de)||M(w,"a whitespace character is expected after the key-value separator within a block mapping"),ne&&(Ue(w,G,V,Y,W,null,k,Q,E),Y=W=ee=null),ue=!0,ne=!1,D=!1,Y=w.tag,W=w.result;else if(ue)M(w,"can not read an implicit mapping pair; a colon is missed");else return w.tag=P,w.anchor=$,!0}else if(ue)M(w,"can not read a block mapping entry; a multiline key may not be an implicit key");else return w.tag=P,w.anchor=$,!0}if((w.line===ze||w.lineIndent>g)&&(ne&&(k=w.line,Q=w.lineStart,E=w.position),Tn(w,g,c,!0,D)&&(ne?W=w.result:ee=w.result),ne||(Ue(w,G,V,Y,W,ee,k,Q,E),Y=W=ee=null),He(w,!0,-1),de=w.input.charCodeAt(w.position)),(w.line===ze||w.lineIndent>g)&&de!==0)M(w,"bad indentation of a mapping entry");else if(w.lineIndent<g)break}return ne&&Ue(w,G,V,Y,W,null,k,Q,E),ue&&(w.tag=P,w.anchor=$,w.kind="mapping",w.result=G),ue}function xs(w){let g=!1,R=!1,D,k,Q=w.input.charCodeAt(w.position);if(Q!==33)return!1;w.tag!==null&&M(w,"duplication of a tag property"),Q=w.input.charCodeAt(++w.position),Q===60?(g=!0,Q=w.input.charCodeAt(++w.position)):Q===33?(R=!0,D="!!",Q=w.input.charCodeAt(++w.position)):D="!";let E=w.position;if(g){do Q=w.input.charCodeAt(++w.position);while(Q!==0&&Q!==62);w.position<w.length?(k=w.input.slice(E,w.position),Q=w.input.charCodeAt(++w.position)):M(w,"unexpected end of the stream within a verbatim tag")}else{for(;Q!==0&&!I(Q);)Q===33&&(R?M(w,"tag suffix cannot contain exclamation marks"):(D=w.input.slice(E-1,w.position+1),f.test(D)||M(w,"named tag handle cannot contain such characters"),R=!0,E=w.position+1)),Q=w.input.charCodeAt(++w.position);k=w.input.slice(E,w.position),h.test(k)&&M(w,"tag suffix cannot contain flow indicator characters")}k&&!A.test(k)&&M(w,"tag name cannot contain such characters: "+k);try{k=decodeURIComponent(k)}catch{M(w,"tag name is malformed: "+k)}return g?w.tag=k:s.call(w.tagMap,D)?w.tag=w.tagMap[D]+k:D==="!"?w.tag="!"+k:D==="!!"?w.tag="tag:yaml.org,2002:"+k:M(w,'undeclared tag handle "'+D+'"'),!0}function Ji(w){let g=w.input.charCodeAt(w.position);if(g!==38)return!1;w.anchor!==null&&M(w,"duplication of an anchor property"),g=w.input.charCodeAt(++w.position);let R=w.position;for(;g!==0&&!I(g)&&!v(g);)g=w.input.charCodeAt(++w.position);return w.position===R&&M(w,"name of an anchor node must contain at least one character"),w.anchor=w.input.slice(R,w.position),!0}function Fs(w){let g=w.input.charCodeAt(w.position);if(g!==42)return!1;g=w.input.charCodeAt(++w.position);let R=w.position;for(;g!==0&&!I(g)&&!v(g);)g=w.input.charCodeAt(++w.position);w.position===R&&M(w,"name of an alias node must contain at least one character");let D=w.input.slice(R,w.position);return s.call(w.anchorMap,D)||M(w,'unidentified alias "'+D+'"'),w.result=w.anchorMap[D],He(w,!0,-1),!0}function Us(w,g,R,D){let k=se(w);return ae(w),Z(w,g),w.tag=null,w.anchor=null,w.kind=null,w.result=null,Yi(w,R,D)&&w.kind==="mapping"?(Ee(w),!0):(fe(w),Z(w,k),!1)}function Tn(w,g,R,D,k){let Q,E,P=1,$=!1,G=!1,V=null,Y,W,ee;w.depth>=w.maxDepth&&M(w,"nesting exceeded maxDepth ("+w.maxDepth+")"),w.depth+=1,w.listener!==null&&w.listener("open",w),w.tag=null,w.anchor=null,w.kind=null,w.result=null;let ne=Q=E=c===R||a===R;if(D&&He(w,!0,-1)&&($=!0,w.lineIndent>g?P=1:w.lineIndent===g?P=0:w.lineIndent<g&&(P=-1)),P===1)for(;;){let ue=w.input.charCodeAt(w.position),de=se(w);if($&&(ue===33&&w.tag!==null||ue===38&&w.anchor!==null)||!xs(w)&&!Ji(w))break;V===null&&(V=de),He(w,!0,-1)?($=!0,E=ne,w.lineIndent>g?P=1:w.lineIndent===g?P=0:w.lineIndent<g&&(P=-1)):E=!1}if(E&&(E=$||k),P===1||c===R)if(i===R||o===R?W=g:W=g+1,ee=w.position-w.lineStart,P===1)if(E&&(Br(w,ee)||Yi(w,ee,W))||Ht(w,W))G=!0;else{let ue=w.input.charCodeAt(w.position);V!==null&&ne&&!E&&ue!==124&&ue!==62&&Us(w,V,V.position-V.lineStart,W)||Q&&Vn(w,W)||Dt(w,W)||St(w,W)?G=!0:Fs(w)?(G=!0,(w.tag!==null||w.anchor!==null)&&M(w,"alias node should not have any properties")):Ie(w,W,i===R)&&(G=!0,w.tag===null&&(w.tag="?")),w.anchor!==null&&pe(w,w.anchor,w.result)}else P===0&&(G=E&&Br(w,ee));if(w.tag===null)w.anchor!==null&&pe(w,w.anchor,w.result);else if(w.tag==="?"){w.result!==null&&w.kind!=="scalar"&&M(w,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+w.kind+'"');for(let ue=0,de=w.implicitTypes.length;ue<de;ue+=1)if(Y=w.implicitTypes[ue],Y.resolve(w.result)){w.result=Y.construct(w.result),w.tag=Y.tag,w.anchor!==null&&pe(w,w.anchor,w.result);break}}else if(w.tag!=="!"){if(s.call(w.typeMap[w.kind||"fallback"],w.tag))Y=w.typeMap[w.kind||"fallback"][w.tag];else{Y=null;let ue=w.typeMap.multi[w.kind||"fallback"];for(let de=0,xe=ue.length;de<xe;de+=1)if(w.tag.slice(0,ue[de].tag.length)===ue[de].tag){Y=ue[de];break}}Y||M(w,"unknown tag !<"+w.tag+">"),w.result!==null&&Y.kind!==w.kind&&M(w,"unacceptable node kind for !<"+w.tag+'> tag; it should be "'+Y.kind+'", not "'+w.kind+'"'),Y.resolve(w.result,w.tag)?(w.result=Y.construct(w.result,w.tag),w.anchor!==null&&pe(w,w.anchor,w.result)):M(w,"cannot resolve a node with !<"+w.tag+"> explicit tag")}return w.listener!==null&&w.listener("close",w),w.depth-=1,w.tag!==null||w.anchor!==null||G}function zr(w){let g=w.position,R=!1,D;for(w.version=null,w.checkLineBreaks=w.legacy,w.tagMap=Object.create(null),w.anchorMap=Object.create(null);(D=w.input.charCodeAt(w.position))!==0&&(He(w,!0,-1),D=w.input.charCodeAt(w.position),!(w.lineIndent>0||D!==37));){R=!0,D=w.input.charCodeAt(++w.position);let k=w.position;for(;D!==0&&!I(D);)D=w.input.charCodeAt(++w.position);let Q=w.input.slice(k,w.position),E=[];for(Q.length<1&&M(w,"directive name must not be less than one character in length");D!==0;){for(;x(D);)D=w.input.charCodeAt(++w.position);if(D===35){do D=w.input.charCodeAt(++w.position);while(D!==0&&!y(D));break}if(y(D))break;for(k=w.position;D!==0&&!I(D);)D=w.input.charCodeAt(++w.position);E.push(w.input.slice(k,w.position))}D!==0&&et(w),s.call(me,Q)?me[Q](w,Q,E):X(w,'unknown document directive "'+Q+'"')}if(He(w,!0,-1),w.lineIndent===0&&w.input.charCodeAt(w.position)===45&&w.input.charCodeAt(w.position+1)===45&&w.input.charCodeAt(w.position+2)===45?(w.position+=3,He(w,!0,-1)):R&&M(w,"directives end mark is expected"),Tn(w,w.lineIndent-1,c,!1,!0),He(w,!0,-1),w.checkLineBreaks&&m.test(w.input.slice(g,w.position))&&X(w,"non-ASCII line breaks are interpreted as content"),w.documents.push(w.result),w.position===w.lineStart&&Ke(w)){w.input.charCodeAt(w.position)===46&&(w.position+=3,He(w,!0,-1));return}w.position<w.length-1&&M(w,"end of the stream or a document separator is expected")}function ci(w,g){w=String(w),g=g||{},w.length!==0&&(w.charCodeAt(w.length-1)!==10&&w.charCodeAt(w.length-1)!==13&&(w+=`
195
195
  `),w.charCodeAt(0)===65279&&(w=w.slice(1)));let R=new q(w,g),D=w.indexOf("\0");for(D!==-1&&(R.position=D,M(R,"null byte is not allowed in input")),R.input+="\0";R.input.charCodeAt(R.position)===32;)R.lineIndent+=1,R.position+=1;for(;R.position<R.length-1;)zr(R);return R.documents}function $s(w,g,R){g!==null&&typeof g=="object"&&typeof R>"u"&&(R=g,g=null);let D=ci(w,R);if(typeof g!="function")return D;for(let k=0,Q=D.length;k<Q;k+=1)g(D[k])}function Za(w,g){let R=ci(w,g);if(R.length!==0){if(R.length===1)return R[0];throw new e("expected a single document in the stream, but found more")}}return _U.loadAll=$s,_U.load=Za,_U}var mne={},t4e;function R3t(){if(t4e)return mne;t4e=1;let t=pT(),e=mT(),r=fne(),n=Object.prototype.toString,s=Object.prototype.hasOwnProperty,i=65279,o=9,a=10,c=13,l=32,u=33,d=34,p=35,m=37,h=38,f=39,A=42,b=44,y=45,x=58,I=61,v=62,T=63,N=64,O=91,F=93,L=96,j=123,J=124,z=125,q={};q[0]="\\0",q[7]="\\a",q[8]="\\b",q[9]="\\t",q[10]="\\n",q[11]="\\v",q[12]="\\f",q[13]="\\r",q[27]="\\e",q[34]='\\"',q[92]="\\\\",q[133]="\\N",q[160]="\\_",q[8232]="\\L",q[8233]="\\P";let U=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],M=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function X(E,P){if(P===null)return{};let $={},G=Object.keys(P);for(let V=0,Y=G.length;V<Y;V+=1){let W=G[V],ee=String(P[W]);W.slice(0,2)==="!!"&&(W="tag:yaml.org,2002:"+W.slice(2));let ne=E.compiledTypeMap.fallback[W];ne&&s.call(ne.styleAliases,ee)&&(ee=ne.styleAliases[ee]),$[W]=ee}return $}function pe(E){let P,$,G=E.toString(16).toUpperCase();if(E<=255)P="x",$=2;else if(E<=65535)P="u",$=4;else if(E<=4294967295)P="U",$=8;else throw new e("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+P+t.repeat("0",$-G.length)+G}let ae=1,Ee=2;function fe(E){this.schema=E.schema||r,this.indent=Math.max(1,E.indent||2),this.noArrayIndent=E.noArrayIndent||!1,this.skipInvalid=E.skipInvalid||!1,this.flowLevel=t.isNothing(E.flowLevel)?-1:E.flowLevel,this.styleMap=X(this.schema,E.styles||null),this.sortKeys=E.sortKeys||!1,this.lineWidth=E.lineWidth||80,this.noRefs=E.noRefs||!1,this.noCompatMode=E.noCompatMode||!1,this.condenseFlow=E.condenseFlow||!1,this.quotingType=E.quotingType==='"'?Ee:ae,this.forceQuotes=E.forceQuotes||!1,this.replacer=typeof E.replacer=="function"?E.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function se(E,P){let $=t.repeat(" ",P),G=0,V="",Y=E.length;for(;G<Y;){let W,ee=E.indexOf(`
196
196
  `,G);ee===-1?(W=E.slice(G),G=Y):(W=E.slice(G,ee+1),G=ee+1),W.length&&W!==`
197
197
  `&&(V+=$),V+=W}return V}function Z(E,P){return`
198
- `+t.repeat(" ",E.indent*P)}function me(E,P){for(let $=0,G=E.implicitTypes.length;$<G;$+=1)if(E.implicitTypes[$].resolve(P))return!0;return!1}function ce(E){return E===l||E===o}function le(E){return E>=32&&E<=126||E>=161&&E<=55295&&E!==8232&&E!==8233||E>=57344&&E<=65533&&E!==i||E>=65536&&E<=1114111}function Fe(E){return le(E)&&E!==i&&E!==c&&E!==a}function et(E,P,$){let G=Fe(E),V=G&&!ce(E);return($?G:G&&E!==b&&E!==O&&E!==F&&E!==j&&E!==z)&&E!==p&&!(P===x&&!V)||Fe(P)&&!ce(P)&&E===p||P===x&&V}function He(E){return le(E)&&E!==i&&!ce(E)&&E!==y&&E!==T&&E!==x&&E!==b&&E!==O&&E!==F&&E!==j&&E!==z&&E!==p&&E!==h&&E!==A&&E!==u&&E!==J&&E!==I&&E!==v&&E!==f&&E!==d&&E!==m&&E!==N&&E!==L}function Ke(E){return!ce(E)&&E!==x}function Ct(E,P){let $=E.charCodeAt(P),G;return $>=55296&&$<=56319&&P+1<E.length&&(G=E.charCodeAt(P+1),G>=56320&&G<=57343)?($-55296)*1024+G-56320+65536:$}function Ie(E){return/^\n* /.test(E)}let Dt=1,St=2,Ht=3,Vn=4,Br=5;function Yi(E,P,$,G,V,Y,W,ee){let ne,ue=0,de=null,xe=!1,ze=!1,re=G!==-1,we=-1,lt=He(Ct(E,0))&&Ke(Ct(E,E.length-1));if(P||W)for(ne=0;ne<E.length;ue>=65536?ne+=2:ne++){if(ue=Ct(E,ne),!le(ue))return Br;lt=lt&&et(ue,de,ee),de=ue}else{for(ne=0;ne<E.length;ue>=65536?ne+=2:ne++){if(ue=Ct(E,ne),ue===a)xe=!0,re&&(ze=ze||ne-we-1>G&&E[we+1]!==" ",we=ne);else if(!le(ue))return Br;lt=lt&&et(ue,de,ee),de=ue}ze=ze||re&&ne-we-1>G&&E[we+1]!==" "}return!xe&&!ze?lt&&!W&&!V(E)?Dt:Y===Ee?Br:St:$>9&&Ie(E)?Br:W?Y===Ee?Br:St:ze?Vn:Ht}function xs(E,P,$,G,V){E.dump=(function(){if(P.length===0)return E.quotingType===Ee?'""':"''";if(!E.noCompatMode&&(U.indexOf(P)!==-1||M.test(P)))return E.quotingType===Ee?'"'+P+'"':"'"+P+"'";let Y=E.indent*Math.max(1,$),W=E.lineWidth===-1?-1:Math.max(Math.min(E.lineWidth,40),E.lineWidth-Y),ee=G||E.flowLevel>-1&&$>=E.flowLevel;function ne(ue){return me(E,ue)}switch(Yi(P,ee,E.indent,W,ne,E.quotingType,E.forceQuotes&&!G,V)){case Dt:return P;case St:return"'"+P.replace(/'/g,"''")+"'";case Ht:return"|"+Ji(P,E.indent)+Fs(se(P,Y));case Vn:return">"+Ji(P,E.indent)+Fs(se(Us(P,W),Y));case Br:return'"'+zr(P)+'"';default:throw new e("impossible error: invalid scalar style")}})()}function Ji(E,P){let $=Ie(E)?String(P):"",G=E[E.length-1]===`
198
+ `+t.repeat(" ",E.indent*P)}function me(E,P){for(let $=0,G=E.implicitTypes.length;$<G;$+=1)if(E.implicitTypes[$].resolve(P))return!0;return!1}function ce(E){return E===l||E===o}function le(E){return E>=32&&E<=126||E>=161&&E<=55295&&E!==8232&&E!==8233||E>=57344&&E<=65533&&E!==i||E>=65536&&E<=1114111}function Ue(E){return le(E)&&E!==i&&E!==c&&E!==a}function et(E,P,$){let G=Ue(E),V=G&&!ce(E);return($?G:G&&E!==b&&E!==O&&E!==F&&E!==j&&E!==z)&&E!==p&&!(P===x&&!V)||Ue(P)&&!ce(P)&&E===p||P===x&&V}function He(E){return le(E)&&E!==i&&!ce(E)&&E!==y&&E!==T&&E!==x&&E!==b&&E!==O&&E!==F&&E!==j&&E!==z&&E!==p&&E!==h&&E!==A&&E!==u&&E!==J&&E!==I&&E!==v&&E!==f&&E!==d&&E!==m&&E!==N&&E!==L}function Ke(E){return!ce(E)&&E!==x}function Ct(E,P){let $=E.charCodeAt(P),G;return $>=55296&&$<=56319&&P+1<E.length&&(G=E.charCodeAt(P+1),G>=56320&&G<=57343)?($-55296)*1024+G-56320+65536:$}function Ie(E){return/^\n* /.test(E)}let Dt=1,St=2,Ht=3,Vn=4,Br=5;function Yi(E,P,$,G,V,Y,W,ee){let ne,ue=0,de=null,xe=!1,ze=!1,re=G!==-1,we=-1,lt=He(Ct(E,0))&&Ke(Ct(E,E.length-1));if(P||W)for(ne=0;ne<E.length;ue>=65536?ne+=2:ne++){if(ue=Ct(E,ne),!le(ue))return Br;lt=lt&&et(ue,de,ee),de=ue}else{for(ne=0;ne<E.length;ue>=65536?ne+=2:ne++){if(ue=Ct(E,ne),ue===a)xe=!0,re&&(ze=ze||ne-we-1>G&&E[we+1]!==" ",we=ne);else if(!le(ue))return Br;lt=lt&&et(ue,de,ee),de=ue}ze=ze||re&&ne-we-1>G&&E[we+1]!==" "}return!xe&&!ze?lt&&!W&&!V(E)?Dt:Y===Ee?Br:St:$>9&&Ie(E)?Br:W?Y===Ee?Br:St:ze?Vn:Ht}function xs(E,P,$,G,V){E.dump=(function(){if(P.length===0)return E.quotingType===Ee?'""':"''";if(!E.noCompatMode&&(U.indexOf(P)!==-1||M.test(P)))return E.quotingType===Ee?'"'+P+'"':"'"+P+"'";let Y=E.indent*Math.max(1,$),W=E.lineWidth===-1?-1:Math.max(Math.min(E.lineWidth,40),E.lineWidth-Y),ee=G||E.flowLevel>-1&&$>=E.flowLevel;function ne(ue){return me(E,ue)}switch(Yi(P,ee,E.indent,W,ne,E.quotingType,E.forceQuotes&&!G,V)){case Dt:return P;case St:return"'"+P.replace(/'/g,"''")+"'";case Ht:return"|"+Ji(P,E.indent)+Fs(se(P,Y));case Vn:return">"+Ji(P,E.indent)+Fs(se(Us(P,W),Y));case Br:return'"'+zr(P)+'"';default:throw new e("impossible error: invalid scalar style")}})()}function Ji(E,P){let $=Ie(E)?String(P):"",G=E[E.length-1]===`
199
199
  `,Y=G&&(E[E.length-2]===`
200
200
  `||E===`
201
201
  `)?"+":G?"":"-";return $+Y+`
@@ -218,7 +218,7 @@ additional repositories analyzed in a multi-repo run).`,devPrMergedBreadcrumb:(t
218
218
  `;for(let f=1;f<=i.linesAfter&&!(u+f>=c.length);f++){let A=e(s.buffer,a[u+f],c[u+f],s.position-(a[u]-a[u+f]),m);d+=t.repeat(" ",i.indent)+r((s.line+f+1).toString(),p)+" | "+A.str+`
219
219
  `}return d.replace(/\n$/,"")}return yne=n,yne}var Ene,P4e;function wo(){if(P4e)return Ene;P4e=1;let t=gT(),e=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],r=["scalar","sequence","mapping"];function n(i){let o={};return i!==null&&Object.keys(i).forEach(function(a){i[a].forEach(function(c){o[String(c)]=a})}),o}function s(i,o){if(o=o||{},Object.keys(o).forEach(function(a){if(e.indexOf(a)===-1)throw new t('Unknown option "'+a+'" is met in definition of "'+i+'" YAML type.')}),this.options=o,this.tag=i,this.kind=o.kind||null,this.resolve=o.resolve||function(){return!0},this.construct=o.construct||function(a){return a},this.instanceOf=o.instanceOf||null,this.predicate=o.predicate||null,this.represent=o.represent||null,this.representName=o.representName||null,this.defaultStyle=o.defaultStyle||null,this.multi=o.multi||!1,this.styleAliases=n(o.styleAliases||null),r.indexOf(this.kind)===-1)throw new t('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}return Ene=s,Ene}var bne,k4e;function Z4e(){if(k4e)return bne;k4e=1;let t=gT(),e=wo();function r(i,o){let a=[];return i[o].forEach(function(c){let l=a.length;a.forEach(function(u,d){u.tag===c.tag&&u.kind===c.kind&&u.multi===c.multi&&(l=d)}),a[l]=c}),a}function n(){let i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function o(a){a.multi?(i.multi[a.kind].push(a),i.multi.fallback.push(a)):i[a.kind][a.tag]=i.fallback[a.tag]=a}for(let a=0,c=arguments.length;a<c;a+=1)arguments[a].forEach(o);return i}function s(i){return this.extend(i)}return s.prototype.extend=function(o){let a=[],c=[];if(o instanceof e)c.push(o);else if(Array.isArray(o))c=c.concat(o);else if(o&&(Array.isArray(o.implicit)||Array.isArray(o.explicit)))o.implicit&&(a=a.concat(o.implicit)),o.explicit&&(c=c.concat(o.explicit));else throw new t("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");a.forEach(function(u){if(!(u instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(u.loadKind&&u.loadKind!=="scalar")throw new t("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(u.multi)throw new t("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),c.forEach(function(u){if(!(u instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.")});let l=Object.create(s.prototype);return l.implicit=(this.implicit||[]).concat(a),l.explicit=(this.explicit||[]).concat(c),l.compiledImplicit=r(l,"implicit"),l.compiledExplicit=r(l,"explicit"),l.compiledTypeMap=n(l.compiledImplicit,l.compiledExplicit),l},bne=s,bne}var wne,_4e;function eJe(){if(_4e)return wne;_4e=1;let t=wo();return wne=new t("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),wne}var xne,D4e;function tJe(){if(D4e)return xne;D4e=1;let t=wo();return xne=new t("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),xne}var Cne,Q4e;function rJe(){if(Q4e)return Cne;Q4e=1;let t=wo();return Cne=new t("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),Cne}var Sne,M4e;function nJe(){if(M4e)return Sne;M4e=1;let t=Z4e();return Sne=new t({explicit:[eJe(),tJe(),rJe()]}),Sne}var Ine,O4e;function sJe(){if(O4e)return Ine;O4e=1;let t=wo();function e(s){if(s===null)return!0;let i=s.length;return i===1&&s==="~"||i===4&&(s==="null"||s==="Null"||s==="NULL")}function r(){return null}function n(s){return s===null}return Ine=new t("tag:yaml.org,2002:null",{kind:"scalar",resolve:e,construct:r,predicate:n,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),Ine}var Rne,L4e;function iJe(){if(L4e)return Rne;L4e=1;let t=wo();function e(s){if(s===null)return!1;let i=s.length;return i===4&&(s==="true"||s==="True"||s==="TRUE")||i===5&&(s==="false"||s==="False"||s==="FALSE")}function r(s){return s==="true"||s==="True"||s==="TRUE"}function n(s){return Object.prototype.toString.call(s)==="[object Boolean]"}return Rne=new t("tag:yaml.org,2002:bool",{kind:"scalar",resolve:e,construct:r,predicate:n,represent:{lowercase:function(s){return s?"true":"false"},uppercase:function(s){return s?"TRUE":"FALSE"},camelcase:function(s){return s?"True":"False"}},defaultStyle:"lowercase"}),Rne}var vne,F4e;function oJe(){if(F4e)return vne;F4e=1;let t=hT(),e=wo();function r(l){return l>=48&&l<=57||l>=65&&l<=70||l>=97&&l<=102}function n(l){return l>=48&&l<=55}function s(l){return l>=48&&l<=57}function i(l){if(l===null)return!1;let u=l.length,d=0,p=!1;if(!u)return!1;let m=l[d];if((m==="-"||m==="+")&&(m=l[++d]),m==="0"){if(d+1===u)return!0;if(m=l[++d],m==="b"){for(d++;d<u;d++){if(m=l[d],m!=="0"&&m!=="1")return!1;p=!0}return p&&isFinite(o(l))}if(m==="x"){for(d++;d<u;d++){if(!r(l.charCodeAt(d)))return!1;p=!0}return p&&isFinite(o(l))}if(m==="o"){for(d++;d<u;d++){if(!n(l.charCodeAt(d)))return!1;p=!0}return p&&isFinite(o(l))}}for(;d<u;d++){if(!s(l.charCodeAt(d)))return!1;p=!0}return p?isFinite(o(l)):!1}function o(l){let u=l,d=1,p=u[0];if((p==="-"||p==="+")&&(p==="-"&&(d=-1),u=u.slice(1),p=u[0]),u==="0")return 0;if(p==="0"){if(u[1]==="b")return d*parseInt(u.slice(2),2);if(u[1]==="x")return d*parseInt(u.slice(2),16);if(u[1]==="o")return d*parseInt(u.slice(2),8)}return d*parseInt(u,10)}function a(l){return o(l)}function c(l){return Object.prototype.toString.call(l)==="[object Number]"&&l%1===0&&!t.isNegativeZero(l)}return vne=new e("tag:yaml.org,2002:int",{kind:"scalar",resolve:i,construct:a,predicate:c,represent:{binary:function(l){return l>=0?"0b"+l.toString(2):"-0b"+l.toString(2).slice(1)},octal:function(l){return l>=0?"0o"+l.toString(8):"-0o"+l.toString(8).slice(1)},decimal:function(l){return l.toString(10)},hexadecimal:function(l){return l>=0?"0x"+l.toString(16).toUpperCase():"-0x"+l.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),vne}var Nne,U4e;function aJe(){if(U4e)return Nne;U4e=1;let t=hT(),e=wo(),r=new RegExp("^(?:[-+]?(?:[0-9]+)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),n=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function s(l){return l===null||!r.test(l)?!1:isFinite(parseFloat(l,10))?!0:n.test(l)}function i(l){let u=l.toLowerCase(),d=u[0]==="-"?-1:1;return"+-".indexOf(u[0])>=0&&(u=u.slice(1)),u===".inf"?d===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:u===".nan"?NaN:d*parseFloat(u,10)}let o=/^[-+]?[0-9]+e/;function a(l,u){if(isNaN(l))switch(u){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===l)switch(u){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===l)switch(u){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(t.isNegativeZero(l))return"-0.0";let d=l.toString(10);return o.test(d)?d.replace("e",".e"):d}function c(l){return Object.prototype.toString.call(l)==="[object Number]"&&(l%1!==0||t.isNegativeZero(l))}return Nne=new e("tag:yaml.org,2002:float",{kind:"scalar",resolve:s,construct:i,predicate:c,represent:a,defaultStyle:"lowercase"}),Nne}var Tne,$4e;function cJe(){return $4e||($4e=1,Tne=nJe().extend({implicit:[sJe(),iJe(),oJe(),aJe()]})),Tne}var Bne,q4e;function lJe(){return q4e||(q4e=1,Bne=cJe()),Bne}var Pne,H4e;function uJe(){if(H4e)return Pne;H4e=1;let t=wo(),e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),r=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function n(o){return o===null?!1:e.exec(o)!==null||r.exec(o)!==null}function s(o){let a=0,c=null,l=e.exec(o);if(l===null&&(l=r.exec(o)),l===null)throw new Error("Date resolve error");let u=+l[1],d=+l[2]-1,p=+l[3];if(!l[4])return new Date(Date.UTC(u,d,p));let m=+l[4],h=+l[5],f=+l[6];if(l[7]){for(a=l[7].slice(0,3);a.length<3;)a+="0";a=+a}if(l[9]){let b=+l[10],y=+(l[11]||0);c=(b*60+y)*6e4,l[9]==="-"&&(c=-c)}let A=new Date(Date.UTC(u,d,p,m,h,f,a));return c&&A.setTime(A.getTime()-c),A}function i(o){return o.toISOString()}return Pne=new t("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:n,construct:s,instanceOf:Date,represent:i}),Pne}var kne,z4e;function dJe(){if(z4e)return kne;z4e=1;let t=wo();function e(r){return r==="<<"||r===null}return kne=new t("tag:yaml.org,2002:merge",{kind:"scalar",resolve:e}),kne}var _ne,G4e;function pJe(){if(G4e)return _ne;G4e=1;let t=wo(),e=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
220
220
  \r`;function r(o){if(o===null)return!1;let a=0,c=o.length,l=e;for(let u=0;u<c;u++){let d=l.indexOf(o.charAt(u));if(!(d>64)){if(d<0)return!1;a+=6}}return a%8===0}function n(o){let a=o.replace(/[\r\n=]/g,""),c=a.length,l=e,u=0,d=[];for(let m=0;m<c;m++)m%4===0&&m&&(d.push(u>>16&255),d.push(u>>8&255),d.push(u&255)),u=u<<6|l.indexOf(a.charAt(m));let p=c%4*6;return p===0?(d.push(u>>16&255),d.push(u>>8&255),d.push(u&255)):p===18?(d.push(u>>10&255),d.push(u>>2&255)):p===12&&d.push(u>>4&255),new Uint8Array(d)}function s(o){let a="",c=0,l=o.length,u=e;for(let p=0;p<l;p++)p%3===0&&p&&(a+=u[c>>18&63],a+=u[c>>12&63],a+=u[c>>6&63],a+=u[c&63]),c=(c<<8)+o[p];let d=l%3;return d===0?(a+=u[c>>18&63],a+=u[c>>12&63],a+=u[c>>6&63],a+=u[c&63]):d===2?(a+=u[c>>10&63],a+=u[c>>4&63],a+=u[c<<2&63],a+=u[64]):d===1&&(a+=u[c>>2&63],a+=u[c<<4&63],a+=u[64],a+=u[64]),a}function i(o){return Object.prototype.toString.call(o)==="[object Uint8Array]"}return _ne=new t("tag:yaml.org,2002:binary",{kind:"scalar",resolve:r,construct:n,predicate:i,represent:s}),_ne}var Dne,j4e;function mJe(){if(j4e)return Dne;j4e=1;let t=wo(),e=Object.prototype.hasOwnProperty,r=Object.prototype.toString;function n(i){if(i===null)return!0;let o={},a=i;for(let c=0,l=a.length;c<l;c+=1){let u=a[c],d=!1;if(r.call(u)!=="[object Object]")return!1;let p;for(p in u)if(e.call(u,p))if(!d)d=!0;else return!1;if(!d||e.call(o,p))return!1;Object.defineProperty(o,p,{value:!0})}return!0}function s(i){return i!==null?i:[]}return Dne=new t("tag:yaml.org,2002:omap",{kind:"sequence",resolve:n,construct:s}),Dne}var Qne,V4e;function fJe(){if(V4e)return Qne;V4e=1;let t=wo(),e=Object.prototype.toString;function r(s){if(s===null)return!0;let i=s,o=new Array(i.length);for(let a=0,c=i.length;a<c;a+=1){let l=i[a];if(e.call(l)!=="[object Object]")return!1;let u=Object.keys(l);if(u.length!==1)return!1;o[a]=[u[0],l[u[0]]]}return!0}function n(s){if(s===null)return[];let i=s,o=new Array(i.length);for(let a=0,c=i.length;a<c;a+=1){let l=i[a],u=Object.keys(l);o[a]=[u[0],l[u[0]]]}return o}return Qne=new t("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:r,construct:n}),Qne}var Mne,W4e;function hJe(){if(W4e)return Mne;W4e=1;let t=wo(),e=Object.prototype.hasOwnProperty;function r(s){if(s===null)return!0;let i=s;for(let o in i)if(e.call(i,o)&&i[o]!==null)return!1;return!0}function n(s){return s!==null?s:{}}return Mne=new t("tag:yaml.org,2002:set",{kind:"mapping",resolve:r,construct:n}),Mne}var One,Y4e;function Fne(){return Y4e||(Y4e=1,One=lJe().extend({implicit:[uJe(),dJe()],explicit:[pJe(),mJe(),fJe(),hJe()]})),One}var J4e;function O3t(){if(J4e)return MU;J4e=1;let t=hT(),e=gT(),r=M3t(),n=Fne(),s=Object.prototype.hasOwnProperty,i=1,o=2,a=3,c=4,l=1,u=2,d=3,p=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/[\x85\u2028\u2029]/,h=/[,\[\]{}]/,f=/^(?:!|!!|![0-9A-Za-z-]+!)$/,A=/^(?:!|[^,\[\]{}])(?:%[0-9a-f]{2}|[0-9a-z\-#;/?:@&=+$,_.!~*'()\[\]])*$/i;function b(g){return Object.prototype.toString.call(g)}function y(g){return g===10||g===13}function x(g){return g===9||g===32}function I(g){return g===9||g===32||g===10||g===13}function v(g){return g===44||g===91||g===93||g===123||g===125}function T(g){if(g>=48&&g<=57)return g-48;let R=g|32;return R>=97&&R<=102?R-97+10:-1}function N(g){return g===120?2:g===117?4:g===85?8:0}function O(g){return g>=48&&g<=57?g-48:-1}function F(g){switch(g){case 48:return"\0";case 97:return"\x07";case 98:return"\b";case 116:return" ";case 9:return" ";case 110:return`
221
- `;case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1B";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xA0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}function L(g){return g<=65535?String.fromCharCode(g):String.fromCharCode((g-65536>>10)+55296,(g-65536&1023)+56320)}function j(g,R,D){R==="__proto__"?Object.defineProperty(g,R,{configurable:!0,enumerable:!0,writable:!0,value:D}):g[R]=D}let J=new Array(256),z=new Array(256);for(let g=0;g<256;g++)J[g]=F(g)?1:0,z[g]=F(g);function q(g,R){this.input=g,this.filename=R.filename||null,this.schema=R.schema||n,this.onWarning=R.onWarning||null,this.legacy=R.legacy||!1,this.json=R.json||!1,this.listener=R.listener||null,this.maxDepth=typeof R.maxDepth=="number"?R.maxDepth:100,this.maxTotalMergeKeys=typeof R.maxTotalMergeKeys=="number"?R.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=g.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.depth=0,this.totalMergeKeys=0,this.firstTabInLine=-1,this.documents=[],this.anchorMapTransactions=[]}function U(g,R){let D={name:g.filename,buffer:g.input.slice(0,-1),position:g.position,line:g.line,column:g.position-g.lineStart};return D.snippet=r(D),new e(R,D)}function M(g,R){throw U(g,R)}function X(g,R){g.onWarning&&g.onWarning.call(null,U(g,R))}function pe(g,R,D){let k=g.anchorMapTransactions;if(k.length!==0){let Q=k[k.length-1];s.call(Q,R)||(Q[R]={existed:s.call(g.anchorMap,R),value:g.anchorMap[R]})}g.anchorMap[R]=D}function ae(g){g.anchorMapTransactions.push(Object.create(null))}function Ee(g){let R=g.anchorMapTransactions.pop(),D=g.anchorMapTransactions;if(D.length===0)return;let k=D[D.length-1],Q=Object.keys(R);for(let E=0,P=Q.length;E<P;E+=1){let $=Q[E];s.call(k,$)||(k[$]=R[$])}}function fe(g){let R=g.anchorMapTransactions.pop(),D=Object.keys(R);for(let k=D.length-1;k>=0;k-=1){let Q=R[D[k]];Q.existed?g.anchorMap[D[k]]=Q.value:delete g.anchorMap[D[k]]}}function se(g){return{position:g.position,line:g.line,lineStart:g.lineStart,lineIndent:g.lineIndent,firstTabInLine:g.firstTabInLine,tag:g.tag,anchor:g.anchor,kind:g.kind,result:g.result}}function Z(g,R){g.position=R.position,g.line=R.line,g.lineStart=R.lineStart,g.lineIndent=R.lineIndent,g.firstTabInLine=R.firstTabInLine,g.tag=R.tag,g.anchor=R.anchor,g.kind=R.kind,g.result=R.result}let me={YAML:function(R,D,k){R.version!==null&&M(R,"duplication of %YAML directive"),k.length!==1&&M(R,"YAML directive accepts exactly one argument");let Q=/^([0-9]+)\.([0-9]+)$/.exec(k[0]);Q===null&&M(R,"ill-formed argument of the YAML directive");let E=parseInt(Q[1],10),P=parseInt(Q[2],10);E!==1&&M(R,"unacceptable YAML version of the document"),R.version=k[0],R.checkLineBreaks=P<2,P!==1&&P!==2&&X(R,"unsupported YAML version of the document")},TAG:function(R,D,k){let Q;k.length!==2&&M(R,"TAG directive accepts exactly two arguments");let E=k[0];Q=k[1],f.test(E)||M(R,"ill-formed tag handle (first argument) of the TAG directive"),s.call(R.tagMap,E)&&M(R,'there is a previously declared suffix for "'+E+'" tag handle'),A.test(Q)||M(R,"ill-formed tag prefix (second argument) of the TAG directive");try{Q=decodeURIComponent(Q)}catch{M(R,"tag prefix is malformed: "+Q)}R.tagMap[E]=Q}};function ce(g,R,D,k){if(R<D){let Q=g.input.slice(R,D);if(k)for(let E=0,P=Q.length;E<P;E+=1){let $=Q.charCodeAt(E);$===9||$>=32&&$<=1114111||M(g,"expected valid JSON character")}else p.test(Q)&&M(g,"the stream contains non-printable characters");g.result+=Q}}function le(g){g.totalMergeKeys++,g.maxTotalMergeKeys!==-1&&g.totalMergeKeys>g.maxTotalMergeKeys&&M(g,"merge keys exceeded maxTotalMergeKeys ("+g.maxTotalMergeKeys+")")}function Fe(g,R,D,k){t.isObject(D)||M(g,"cannot merge mappings; the provided source object is unacceptable"),le(g);let Q=Object.keys(D);for(let E=0,P=Q.length;E<P;E+=1){let $=Q[E];le(g),s.call(R,$)||(j(R,$,D[$]),k[$]=!0)}}function et(g,R,D,k,Q,E,P,$,G){if(Array.isArray(Q)){Q=Array.prototype.slice.call(Q);for(let V=0,Y=Q.length;V<Y;V+=1)Array.isArray(Q[V])&&M(g,"nested arrays are not supported inside keys"),typeof Q=="object"&&b(Q[V])==="[object Object]"&&(Q[V]="[object Object]")}if(typeof Q=="object"&&b(Q)==="[object Object]"&&(Q="[object Object]"),Q=String(Q),R===null&&(R={}),k==="tag:yaml.org,2002:merge")if(Array.isArray(E)){E.length>100&&M(g,"abnormal merge sequence size");for(let V=0,Y=E.length;V<Y;V+=1)Fe(g,R,E[V],D)}else Fe(g,R,E,D);else!g.json&&!s.call(D,Q)&&s.call(R,Q)&&(g.line=P||g.line,g.lineStart=$||g.lineStart,g.position=G||g.position,M(g,"duplicated mapping key")),j(R,Q,E),delete D[Q];return R}function He(g){let R=g.input.charCodeAt(g.position);R===10?g.position++:R===13?(g.position++,g.input.charCodeAt(g.position)===10&&g.position++):M(g,"a line break is expected"),g.line+=1,g.lineStart=g.position,g.firstTabInLine=-1}function Ke(g,R,D){let k=0,Q=g.input.charCodeAt(g.position);for(;Q!==0;){for(;x(Q);)Q===9&&g.firstTabInLine===-1&&(g.firstTabInLine=g.position),Q=g.input.charCodeAt(++g.position);if(R&&Q===35)do Q=g.input.charCodeAt(++g.position);while(Q!==10&&Q!==13&&Q!==0);if(y(Q))for(He(g),Q=g.input.charCodeAt(g.position),k++,g.lineIndent=0;Q===32;)g.lineIndent++,Q=g.input.charCodeAt(++g.position);else break}return D!==-1&&k!==0&&g.lineIndent<D&&X(g,"deficient indentation"),k}function Ct(g){let R=g.position,D=g.input.charCodeAt(R);return!!((D===45||D===46)&&D===g.input.charCodeAt(R+1)&&D===g.input.charCodeAt(R+2)&&(R+=3,D=g.input.charCodeAt(R),D===0||I(D)))}function Ie(g,R){R===1?g.result+=" ":R>1&&(g.result+=t.repeat(`
221
+ `;case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1B";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xA0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}function L(g){return g<=65535?String.fromCharCode(g):String.fromCharCode((g-65536>>10)+55296,(g-65536&1023)+56320)}function j(g,R,D){R==="__proto__"?Object.defineProperty(g,R,{configurable:!0,enumerable:!0,writable:!0,value:D}):g[R]=D}let J=new Array(256),z=new Array(256);for(let g=0;g<256;g++)J[g]=F(g)?1:0,z[g]=F(g);function q(g,R){this.input=g,this.filename=R.filename||null,this.schema=R.schema||n,this.onWarning=R.onWarning||null,this.legacy=R.legacy||!1,this.json=R.json||!1,this.listener=R.listener||null,this.maxDepth=typeof R.maxDepth=="number"?R.maxDepth:100,this.maxTotalMergeKeys=typeof R.maxTotalMergeKeys=="number"?R.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=g.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.depth=0,this.totalMergeKeys=0,this.firstTabInLine=-1,this.documents=[],this.anchorMapTransactions=[]}function U(g,R){let D={name:g.filename,buffer:g.input.slice(0,-1),position:g.position,line:g.line,column:g.position-g.lineStart};return D.snippet=r(D),new e(R,D)}function M(g,R){throw U(g,R)}function X(g,R){g.onWarning&&g.onWarning.call(null,U(g,R))}function pe(g,R,D){let k=g.anchorMapTransactions;if(k.length!==0){let Q=k[k.length-1];s.call(Q,R)||(Q[R]={existed:s.call(g.anchorMap,R),value:g.anchorMap[R]})}g.anchorMap[R]=D}function ae(g){g.anchorMapTransactions.push(Object.create(null))}function Ee(g){let R=g.anchorMapTransactions.pop(),D=g.anchorMapTransactions;if(D.length===0)return;let k=D[D.length-1],Q=Object.keys(R);for(let E=0,P=Q.length;E<P;E+=1){let $=Q[E];s.call(k,$)||(k[$]=R[$])}}function fe(g){let R=g.anchorMapTransactions.pop(),D=Object.keys(R);for(let k=D.length-1;k>=0;k-=1){let Q=R[D[k]];Q.existed?g.anchorMap[D[k]]=Q.value:delete g.anchorMap[D[k]]}}function se(g){return{position:g.position,line:g.line,lineStart:g.lineStart,lineIndent:g.lineIndent,firstTabInLine:g.firstTabInLine,tag:g.tag,anchor:g.anchor,kind:g.kind,result:g.result}}function Z(g,R){g.position=R.position,g.line=R.line,g.lineStart=R.lineStart,g.lineIndent=R.lineIndent,g.firstTabInLine=R.firstTabInLine,g.tag=R.tag,g.anchor=R.anchor,g.kind=R.kind,g.result=R.result}let me={YAML:function(R,D,k){R.version!==null&&M(R,"duplication of %YAML directive"),k.length!==1&&M(R,"YAML directive accepts exactly one argument");let Q=/^([0-9]+)\.([0-9]+)$/.exec(k[0]);Q===null&&M(R,"ill-formed argument of the YAML directive");let E=parseInt(Q[1],10),P=parseInt(Q[2],10);E!==1&&M(R,"unacceptable YAML version of the document"),R.version=k[0],R.checkLineBreaks=P<2,P!==1&&P!==2&&X(R,"unsupported YAML version of the document")},TAG:function(R,D,k){let Q;k.length!==2&&M(R,"TAG directive accepts exactly two arguments");let E=k[0];Q=k[1],f.test(E)||M(R,"ill-formed tag handle (first argument) of the TAG directive"),s.call(R.tagMap,E)&&M(R,'there is a previously declared suffix for "'+E+'" tag handle'),A.test(Q)||M(R,"ill-formed tag prefix (second argument) of the TAG directive");try{Q=decodeURIComponent(Q)}catch{M(R,"tag prefix is malformed: "+Q)}R.tagMap[E]=Q}};function ce(g,R,D,k){if(R<D){let Q=g.input.slice(R,D);if(k)for(let E=0,P=Q.length;E<P;E+=1){let $=Q.charCodeAt(E);$===9||$>=32&&$<=1114111||M(g,"expected valid JSON character")}else p.test(Q)&&M(g,"the stream contains non-printable characters");g.result+=Q}}function le(g){g.totalMergeKeys++,g.maxTotalMergeKeys!==-1&&g.totalMergeKeys>g.maxTotalMergeKeys&&M(g,"merge keys exceeded maxTotalMergeKeys ("+g.maxTotalMergeKeys+")")}function Ue(g,R,D,k){t.isObject(D)||M(g,"cannot merge mappings; the provided source object is unacceptable"),le(g);let Q=Object.keys(D);for(let E=0,P=Q.length;E<P;E+=1){let $=Q[E];le(g),s.call(R,$)||(j(R,$,D[$]),k[$]=!0)}}function et(g,R,D,k,Q,E,P,$,G){if(Array.isArray(Q)){Q=Array.prototype.slice.call(Q);for(let V=0,Y=Q.length;V<Y;V+=1)Array.isArray(Q[V])&&M(g,"nested arrays are not supported inside keys"),typeof Q=="object"&&b(Q[V])==="[object Object]"&&(Q[V]="[object Object]")}if(typeof Q=="object"&&b(Q)==="[object Object]"&&(Q="[object Object]"),Q=String(Q),R===null&&(R={}),k==="tag:yaml.org,2002:merge")if(Array.isArray(E)){E.length>100&&M(g,"abnormal merge sequence size");for(let V=0,Y=E.length;V<Y;V+=1)Ue(g,R,E[V],D)}else Ue(g,R,E,D);else!g.json&&!s.call(D,Q)&&s.call(R,Q)&&(g.line=P||g.line,g.lineStart=$||g.lineStart,g.position=G||g.position,M(g,"duplicated mapping key")),j(R,Q,E),delete D[Q];return R}function He(g){let R=g.input.charCodeAt(g.position);R===10?g.position++:R===13?(g.position++,g.input.charCodeAt(g.position)===10&&g.position++):M(g,"a line break is expected"),g.line+=1,g.lineStart=g.position,g.firstTabInLine=-1}function Ke(g,R,D){let k=0,Q=g.input.charCodeAt(g.position);for(;Q!==0;){for(;x(Q);)Q===9&&g.firstTabInLine===-1&&(g.firstTabInLine=g.position),Q=g.input.charCodeAt(++g.position);if(R&&Q===35)do Q=g.input.charCodeAt(++g.position);while(Q!==10&&Q!==13&&Q!==0);if(y(Q))for(He(g),Q=g.input.charCodeAt(g.position),k++,g.lineIndent=0;Q===32;)g.lineIndent++,Q=g.input.charCodeAt(++g.position);else break}return D!==-1&&k!==0&&g.lineIndent<D&&X(g,"deficient indentation"),k}function Ct(g){let R=g.position,D=g.input.charCodeAt(R);return!!((D===45||D===46)&&D===g.input.charCodeAt(R+1)&&D===g.input.charCodeAt(R+2)&&(R+=3,D=g.input.charCodeAt(R),D===0||I(D)))}function Ie(g,R){R===1?g.result+=" ":R>1&&(g.result+=t.repeat(`
222
222
  `,R-1))}function Dt(g,R,D){let k,Q,E,P,$,G,V=g.kind,Y=g.result,W=g.input.charCodeAt(g.position);if(I(W)||v(W)||W===35||W===38||W===42||W===33||W===124||W===62||W===39||W===34||W===37||W===64||W===96)return!1;if(W===63||W===45){let ee=g.input.charCodeAt(g.position+1);if(I(ee)||D&&v(ee))return!1}for(g.kind="scalar",g.result="",k=Q=g.position,E=!1;W!==0;){if(W===58){let ee=g.input.charCodeAt(g.position+1);if(I(ee)||D&&v(ee))break}else if(W===35){let ee=g.input.charCodeAt(g.position-1);if(I(ee))break}else{if(g.position===g.lineStart&&Ct(g)||D&&v(W))break;if(y(W))if(P=g.line,$=g.lineStart,G=g.lineIndent,Ke(g,!1,-1),g.lineIndent>=R){E=!0,W=g.input.charCodeAt(g.position);continue}else{g.position=Q,g.line=P,g.lineStart=$,g.lineIndent=G;break}}E&&(ce(g,k,Q,!1),Ie(g,g.line-P),k=Q=g.position,E=!1),x(W)||(Q=g.position+1),W=g.input.charCodeAt(++g.position)}return ce(g,k,Q,!1),g.result?!0:(g.kind=V,g.result=Y,!1)}function St(g,R){let D,k,Q=g.input.charCodeAt(g.position);if(Q!==39)return!1;for(g.kind="scalar",g.result="",g.position++,D=k=g.position;(Q=g.input.charCodeAt(g.position))!==0;)if(Q===39)if(ce(g,D,g.position,!0),Q=g.input.charCodeAt(++g.position),Q===39)D=g.position,g.position++,k=g.position;else return!0;else y(Q)?(ce(g,D,k,!0),Ie(g,Ke(g,!1,R)),D=k=g.position):g.position===g.lineStart&&Ct(g)?M(g,"unexpected end of the document within a single quoted scalar"):(g.position++,x(Q)||(k=g.position));M(g,"unexpected end of the stream within a single quoted scalar")}function Ht(g,R){let D,k,Q,E=g.input.charCodeAt(g.position);if(E!==34)return!1;for(g.kind="scalar",g.result="",g.position++,D=k=g.position;(E=g.input.charCodeAt(g.position))!==0;){if(E===34)return ce(g,D,g.position,!0),g.position++,!0;if(E===92){if(ce(g,D,g.position,!0),E=g.input.charCodeAt(++g.position),y(E))Ke(g,!1,R);else if(E<256&&J[E])g.result+=z[E],g.position++;else if((Q=N(E))>0){let P=Q,$=0;for(;P>0;P--)E=g.input.charCodeAt(++g.position),(Q=T(E))>=0?$=($<<4)+Q:M(g,"expected hexadecimal character");g.result+=L($),g.position++}else M(g,"unknown escape sequence");D=k=g.position}else y(E)?(ce(g,D,k,!0),Ie(g,Ke(g,!1,R)),D=k=g.position):g.position===g.lineStart&&Ct(g)?M(g,"unexpected end of the document within a double quoted scalar"):(g.position++,x(E)||(k=g.position))}M(g,"unexpected end of the stream within a double quoted scalar")}function Vn(g,R){let D=!0,k,Q,E,P=g.tag,$,G=g.anchor,V,Y,W,ee,ne=Object.create(null),ue,de,xe,ze=g.input.charCodeAt(g.position);if(ze===91)V=93,ee=!1,$=[];else if(ze===123)V=125,ee=!0,$={};else return!1;for(g.anchor!==null&&pe(g,g.anchor,$),ze=g.input.charCodeAt(++g.position);ze!==0;){if(Ke(g,!0,R),ze=g.input.charCodeAt(g.position),ze===V)return g.position++,g.tag=P,g.anchor=G,g.kind=ee?"mapping":"sequence",g.result=$,!0;if(D?ze===44&&M(g,"expected the node content, but found ','"):M(g,"missed comma between flow collection entries"),de=ue=xe=null,Y=W=!1,ze===63){let re=g.input.charCodeAt(g.position+1);I(re)&&(Y=W=!0,g.position++,Ke(g,!0,R))}k=g.line,Q=g.lineStart,E=g.position,zr(g,R,i,!1,!0),de=g.tag,ue=g.result,Ke(g,!0,R),ze=g.input.charCodeAt(g.position),(W||g.line===k)&&ze===58&&(Y=!0,ze=g.input.charCodeAt(++g.position),Ke(g,!0,R),zr(g,R,i,!1,!0),xe=g.result),ee?et(g,$,ne,de,ue,xe,k,Q,E):Y?$.push(et(g,null,ne,de,ue,xe,k,Q,E)):$.push(ue),Ke(g,!0,R),ze=g.input.charCodeAt(g.position),ze===44?(D=!0,ze=g.input.charCodeAt(++g.position)):D=!1}M(g,"unexpected end of the stream within a flow collection")}function Br(g,R){let D,k=l,Q=!1,E=!1,P=R,$=0,G=!1,V,Y=g.input.charCodeAt(g.position);if(Y===124)D=!1;else if(Y===62)D=!0;else return!1;for(g.kind="scalar",g.result="";Y!==0;)if(Y=g.input.charCodeAt(++g.position),Y===43||Y===45)l===k?k=Y===43?d:u:M(g,"repeat of a chomping mode identifier");else if((V=O(Y))>=0)V===0?M(g,"bad explicit indentation width of a block scalar; it cannot be less than one"):E?M(g,"repeat of an indentation width identifier"):(P=R+V-1,E=!0);else break;if(x(Y)){do Y=g.input.charCodeAt(++g.position);while(x(Y));if(Y===35)do Y=g.input.charCodeAt(++g.position);while(!y(Y)&&Y!==0)}for(;Y!==0;){for(He(g),g.lineIndent=0,Y=g.input.charCodeAt(g.position);(!E||g.lineIndent<P)&&Y===32;)g.lineIndent++,Y=g.input.charCodeAt(++g.position);if(!E&&g.lineIndent>P&&(P=g.lineIndent),y(Y)){$++;continue}if(!E&&P===0&&M(g,"missing indentation for block scalar"),g.lineIndent<P){k===d?g.result+=t.repeat(`
223
223
  `,Q?1+$:$):k===l&&Q&&(g.result+=`
224
224
  `);break}D?x(Y)?(G=!0,g.result+=t.repeat(`
@@ -229,7 +229,7 @@ additional repositories analyzed in a multi-repo run).`,devPrMergedBreadcrumb:(t
229
229
  `),g.charCodeAt(0)===65279&&(g=g.slice(1)));let D=new q(g,R),k=g.indexOf("\0");for(k!==-1&&(D.position=k,M(D,"null byte is not allowed in input")),D.input+="\0";D.input.charCodeAt(D.position)===32;)D.lineIndent+=1,D.position+=1;for(;D.position<D.length-1;)ci(D);return D.documents}function Za(g,R,D){R!==null&&typeof R=="object"&&typeof D>"u"&&(D=R,R=null);let k=$s(g,D);if(typeof R!="function")return k;for(let Q=0,E=k.length;Q<E;Q+=1)R(k[Q])}function w(g,R){let D=$s(g,R);if(D.length!==0){if(D.length===1)return D[0];throw new e("expected a single document in the stream, but found more")}}return MU.loadAll=Za,MU.load=w,MU}var Lne={},K4e;function L3t(){if(K4e)return Lne;K4e=1;let t=hT(),e=gT(),r=Fne(),n=Object.prototype.toString,s=Object.prototype.hasOwnProperty,i=65279,o=9,a=10,c=13,l=32,u=33,d=34,p=35,m=37,h=38,f=39,A=42,b=44,y=45,x=58,I=61,v=62,T=63,N=64,O=91,F=93,L=96,j=123,J=124,z=125,q={};q[0]="\\0",q[7]="\\a",q[8]="\\b",q[9]="\\t",q[10]="\\n",q[11]="\\v",q[12]="\\f",q[13]="\\r",q[27]="\\e",q[34]='\\"',q[92]="\\\\",q[133]="\\N",q[160]="\\_",q[8232]="\\L",q[8233]="\\P";let U=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],M=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function X(E,P){if(P===null)return{};let $={},G=Object.keys(P);for(let V=0,Y=G.length;V<Y;V+=1){let W=G[V],ee=String(P[W]);W.slice(0,2)==="!!"&&(W="tag:yaml.org,2002:"+W.slice(2));let ne=E.compiledTypeMap.fallback[W];ne&&s.call(ne.styleAliases,ee)&&(ee=ne.styleAliases[ee]),$[W]=ee}return $}function pe(E){let P,$,G=E.toString(16).toUpperCase();if(E<=255)P="x",$=2;else if(E<=65535)P="u",$=4;else if(E<=4294967295)P="U",$=8;else throw new e("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+P+t.repeat("0",$-G.length)+G}let ae=1,Ee=2;function fe(E){this.schema=E.schema||r,this.indent=Math.max(1,E.indent||2),this.noArrayIndent=E.noArrayIndent||!1,this.skipInvalid=E.skipInvalid||!1,this.flowLevel=t.isNothing(E.flowLevel)?-1:E.flowLevel,this.styleMap=X(this.schema,E.styles||null),this.sortKeys=E.sortKeys||!1,this.lineWidth=E.lineWidth||80,this.noRefs=E.noRefs||!1,this.noCompatMode=E.noCompatMode||!1,this.condenseFlow=E.condenseFlow||!1,this.quotingType=E.quotingType==='"'?Ee:ae,this.forceQuotes=E.forceQuotes||!1,this.replacer=typeof E.replacer=="function"?E.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function se(E,P){let $=t.repeat(" ",P),G=0,V="",Y=E.length;for(;G<Y;){let W,ee=E.indexOf(`
230
230
  `,G);ee===-1?(W=E.slice(G),G=Y):(W=E.slice(G,ee+1),G=ee+1),W.length&&W!==`
231
231
  `&&(V+=$),V+=W}return V}function Z(E,P){return`
232
- `+t.repeat(" ",E.indent*P)}function me(E,P){for(let $=0,G=E.implicitTypes.length;$<G;$+=1)if(E.implicitTypes[$].resolve(P))return!0;return!1}function ce(E){return E===l||E===o}function le(E){return E>=32&&E<=126||E>=161&&E<=55295&&E!==8232&&E!==8233||E>=57344&&E<=65533&&E!==i||E>=65536&&E<=1114111}function Fe(E){return le(E)&&E!==i&&E!==c&&E!==a}function et(E,P,$){let G=Fe(E),V=G&&!ce(E);return($?G:G&&E!==b&&E!==O&&E!==F&&E!==j&&E!==z)&&E!==p&&!(P===x&&!V)||Fe(P)&&!ce(P)&&E===p||P===x&&V}function He(E){return le(E)&&E!==i&&!ce(E)&&E!==y&&E!==T&&E!==x&&E!==b&&E!==O&&E!==F&&E!==j&&E!==z&&E!==p&&E!==h&&E!==A&&E!==u&&E!==J&&E!==I&&E!==v&&E!==f&&E!==d&&E!==m&&E!==N&&E!==L}function Ke(E){return!ce(E)&&E!==x}function Ct(E,P){let $=E.charCodeAt(P),G;return $>=55296&&$<=56319&&P+1<E.length&&(G=E.charCodeAt(P+1),G>=56320&&G<=57343)?($-55296)*1024+G-56320+65536:$}function Ie(E){return/^\n* /.test(E)}let Dt=1,St=2,Ht=3,Vn=4,Br=5;function Yi(E,P,$,G,V,Y,W,ee){let ne,ue=0,de=null,xe=!1,ze=!1,re=G!==-1,we=-1,lt=He(Ct(E,0))&&Ke(Ct(E,E.length-1));if(P||W)for(ne=0;ne<E.length;ue>=65536?ne+=2:ne++){if(ue=Ct(E,ne),!le(ue))return Br;lt=lt&&et(ue,de,ee),de=ue}else{for(ne=0;ne<E.length;ue>=65536?ne+=2:ne++){if(ue=Ct(E,ne),ue===a)xe=!0,re&&(ze=ze||ne-we-1>G&&E[we+1]!==" ",we=ne);else if(!le(ue))return Br;lt=lt&&et(ue,de,ee),de=ue}ze=ze||re&&ne-we-1>G&&E[we+1]!==" "}return!xe&&!ze?lt&&!W&&!V(E)?Dt:Y===Ee?Br:St:$>9&&Ie(E)?Br:W?Y===Ee?Br:St:ze?Vn:Ht}function xs(E,P,$,G,V){E.dump=(function(){if(P.length===0)return E.quotingType===Ee?'""':"''";if(!E.noCompatMode&&(U.indexOf(P)!==-1||M.test(P)))return E.quotingType===Ee?'"'+P+'"':"'"+P+"'";let Y=E.indent*Math.max(1,$),W=E.lineWidth===-1?-1:Math.max(Math.min(E.lineWidth,40),E.lineWidth-Y),ee=G||E.flowLevel>-1&&$>=E.flowLevel;function ne(ue){return me(E,ue)}switch(Yi(P,ee,E.indent,W,ne,E.quotingType,E.forceQuotes&&!G,V)){case Dt:return P;case St:return"'"+P.replace(/'/g,"''")+"'";case Ht:return"|"+Ji(P,E.indent)+Fs(se(P,Y));case Vn:return">"+Ji(P,E.indent)+Fs(se(Us(P,W),Y));case Br:return'"'+zr(P)+'"';default:throw new e("impossible error: invalid scalar style")}})()}function Ji(E,P){let $=Ie(E)?String(P):"",G=E[E.length-1]===`
232
+ `+t.repeat(" ",E.indent*P)}function me(E,P){for(let $=0,G=E.implicitTypes.length;$<G;$+=1)if(E.implicitTypes[$].resolve(P))return!0;return!1}function ce(E){return E===l||E===o}function le(E){return E>=32&&E<=126||E>=161&&E<=55295&&E!==8232&&E!==8233||E>=57344&&E<=65533&&E!==i||E>=65536&&E<=1114111}function Ue(E){return le(E)&&E!==i&&E!==c&&E!==a}function et(E,P,$){let G=Ue(E),V=G&&!ce(E);return($?G:G&&E!==b&&E!==O&&E!==F&&E!==j&&E!==z)&&E!==p&&!(P===x&&!V)||Ue(P)&&!ce(P)&&E===p||P===x&&V}function He(E){return le(E)&&E!==i&&!ce(E)&&E!==y&&E!==T&&E!==x&&E!==b&&E!==O&&E!==F&&E!==j&&E!==z&&E!==p&&E!==h&&E!==A&&E!==u&&E!==J&&E!==I&&E!==v&&E!==f&&E!==d&&E!==m&&E!==N&&E!==L}function Ke(E){return!ce(E)&&E!==x}function Ct(E,P){let $=E.charCodeAt(P),G;return $>=55296&&$<=56319&&P+1<E.length&&(G=E.charCodeAt(P+1),G>=56320&&G<=57343)?($-55296)*1024+G-56320+65536:$}function Ie(E){return/^\n* /.test(E)}let Dt=1,St=2,Ht=3,Vn=4,Br=5;function Yi(E,P,$,G,V,Y,W,ee){let ne,ue=0,de=null,xe=!1,ze=!1,re=G!==-1,we=-1,lt=He(Ct(E,0))&&Ke(Ct(E,E.length-1));if(P||W)for(ne=0;ne<E.length;ue>=65536?ne+=2:ne++){if(ue=Ct(E,ne),!le(ue))return Br;lt=lt&&et(ue,de,ee),de=ue}else{for(ne=0;ne<E.length;ue>=65536?ne+=2:ne++){if(ue=Ct(E,ne),ue===a)xe=!0,re&&(ze=ze||ne-we-1>G&&E[we+1]!==" ",we=ne);else if(!le(ue))return Br;lt=lt&&et(ue,de,ee),de=ue}ze=ze||re&&ne-we-1>G&&E[we+1]!==" "}return!xe&&!ze?lt&&!W&&!V(E)?Dt:Y===Ee?Br:St:$>9&&Ie(E)?Br:W?Y===Ee?Br:St:ze?Vn:Ht}function xs(E,P,$,G,V){E.dump=(function(){if(P.length===0)return E.quotingType===Ee?'""':"''";if(!E.noCompatMode&&(U.indexOf(P)!==-1||M.test(P)))return E.quotingType===Ee?'"'+P+'"':"'"+P+"'";let Y=E.indent*Math.max(1,$),W=E.lineWidth===-1?-1:Math.max(Math.min(E.lineWidth,40),E.lineWidth-Y),ee=G||E.flowLevel>-1&&$>=E.flowLevel;function ne(ue){return me(E,ue)}switch(Yi(P,ee,E.indent,W,ne,E.quotingType,E.forceQuotes&&!G,V)){case Dt:return P;case St:return"'"+P.replace(/'/g,"''")+"'";case Ht:return"|"+Ji(P,E.indent)+Fs(se(P,Y));case Vn:return">"+Ji(P,E.indent)+Fs(se(Us(P,W),Y));case Br:return'"'+zr(P)+'"';default:throw new e("impossible error: invalid scalar style")}})()}function Ji(E,P){let $=Ie(E)?String(P):"",G=E[E.length-1]===`
233
233
  `,Y=G&&(E[E.length-2]===`
234
234
  `||E===`
235
235
  `)?"+":G?"":"-";return $+Y+`
@@ -315,14 +315,14 @@ Other caches with similar key:`);for(let a of i?.artifactCaches||[])ie(`Cache Ke
315
315
  `],{silent:!0,env:{NODE_PATH:process.env.NODE_PATH||"",LICENSE_FILE:r,CI:"true"}})}function Bq(t=__dirname){try{let e=nS.readFileSync(s9e.join(t,"VERSION.json"),"utf-8"),r=JSON.parse(e);if(typeof r.version=="string"&&typeof r.commit=="string")return{version:r.version,commit:r.commit}}catch{}return{version:"unknown",commit:"unknown"}}async function o9e(t){if(!nS.existsSync(t))return{usage:null,model:null,skills:[]};let e=i9e.createInterface({input:nS.createReadStream(t),crlfDelay:1/0}),r=null,n=null,s=[];for await(let i of e)if(i.trim())try{let o=JSON.parse(i);if(o.type==="assistant"){let a=o.message?.model;!n&&typeof a=="string"&&(n=a);let c=o.message?.content;if(Array.isArray(c))for(let l of c){if(l?.type!=="tool_use"||l.name!=="Skill")continue;let u=l.input?.skill;typeof u=="string"&&u.length>0&&s.push(u)}}if(o.type==="result"){let a=o.usage??{};r={inputTokens:a.input_tokens??0,outputTokens:a.output_tokens??0,cacheCreationInputTokens:a.cache_creation_input_tokens??0,cacheReadInputTokens:a.cache_read_input_tokens??0,totalCostUsd:o.total_cost_usd??0,numTurns:o.num_turns??0,durationMs:o.duration_ms??0,durationApiMs:o.duration_api_ms??0}}}catch{continue}return{usage:r,model:n,skills:s}}async function a9e(t,e,r){for(let n of t){let s={skill:n,agentType:e,...vce()};At(`Pushing skill invocation telemetry: ${JSON.stringify(s)}`),await Nce("testbot_skill_invoked",s,r)}}async function c9e(t,e,r){let n={inputTokens:String(t.inputTokens),outputTokens:String(t.outputTokens),cacheCreationInputTokens:String(t.cacheCreationInputTokens),cacheReadInputTokens:String(t.cacheReadInputTokens),totalCostUsd:String(t.totalCostUsd),numTurns:String(t.numTurns),durationMs:String(t.durationMs),durationApiMs:String(t.durationApiMs),model:e,...vce()},s=process.env.GITHUB_REF?.match(/^refs\/pull\/(\d+)\//);s&&(n.prNumber=s[1]);let{totalCostUsd:i,...o}=n;At(`Pushing agent usage telemetry: ${JSON.stringify(o)}`),await Nce("testbot_agent_usage",n,r)}async function l9e(t,e){let{version:r,commit:n}=Bq(),s={testbotVersion:r,testbotCommit:n,agentType:t,...vce()};At(`Pushing testbot run info telemetry: ${JSON.stringify(s)}`),await Nce("testbot_run_info",s,e)}We();var Rn=H(require("fs")),AB=H(require("path"));We();var PE=H(require("fs"));We();var Pq=H(require("fs")),eg=H(require("path"));PF();function gB(t){return t.match(/\.skyramp\/videos\/([^/]+)\//)?.[1]}function GKt(t){if(!Pq.existsSync(t))return[];let e=[],r=n=>{let s;try{s=Pq.readdirSync(n,{withFileTypes:!0})}catch(i){K(`Skipping unreadable video dir ${n}: ${i instanceof Error?i.message:String(i)}`);return}for(let i of s){let o=eg.join(n,i.name);i.isDirectory()?r(o):i.isFile()&&i.name.endsWith(".webm")&&e.push(o)}};return r(t),e}async function u9e(t,e,r){let n={};if(r.size===0)return n;let s=eg.resolve(t),i=()=>[...r].flatMap(l=>{let u=eg.resolve(t,l);return u!==s&&!u.startsWith(s+eg.sep)?(K(`Skipping video subdir outside the videos tree: ${l}`),[]):GKt(eg.join(t,l))}),o=i();if(o.length===0&&(K(`Expected ${r.size} test video(s) but found none under ${t}; retrying collection once`),await Qh(3),o=i()),o.length===0)return n;let a=new Map;for(let l of o){let u=gB(l);if(!u)continue;let d=a.get(u);d?d.push(l):a.set(u,[l])}let c=new im;for(let[l,u]of a)try{let{id:d}=await ks(()=>c.uploadArtifact(`skyramp-video-${l}`,u,t),{retries:2,delay:3,label:`Video artifact upload for ${l}`});d&&(n[l]=e.getArtifactUrl(d))}catch(d){K(`Failed to upload video artifact for ${l} after retry: ${d instanceof Error?d.message:String(d)}`)}return Ce(`Uploaded ${Object.keys(n).length} of ${a.size} test execution video artifact(s)`),n}function jKt(t){return PE.existsSync(t.summaryPath)?t.summaryPath:PE.existsSync(t.agentStdoutPath)?(te("Using agent stdout as fallback (agent did not write to summary file)"),t.agentStdoutPath):null}var Tce=t=>t.replace(/\s*[\r\n]+\s*/g," ").trim(),Bce=t=>typeof t=="number"&&Number.isInteger(t)&&t>=0?t:void 0;function VKt(t){if(typeof t!="object"||t===null)return;let e=t,r=Object.values(ud).includes(e.verification)?e.verification:void 0,n=(Array.isArray(e.skipped)?e.skipped:[]).map(o=>typeof o=="object"&&o!==null?o:{}).filter(o=>typeof o.pageObject=="string"&&o.pageObject.trim()!=="").map(o=>({pageObject:Tce(o.pageObject),member:typeof o.member=="string"?Tce(o.member):void 0,declinedBy:Object.values(bh).includes(o.declinedBy)?o.declinedBy:void 0,reason:typeof o.reason=="string"?Tce(o.reason):""})),s={candidatesDetected:Bce(e.candidatesDetected),callsReused:Bce(e.callsReused),callsVerified:Bce(e.callsVerified),verification:r,skipped:n.length>0?n:void 0};return Object.values(s).some(o=>o!==void 0)?s:void 0}function WKt(t){let e=typeof t=="object"&&t!==null?t:{},{reuse:r,...n}=e,s=VKt(r);return s?{...n,reuse:s}:n}function YKt(t){try{let e=t.replace(/^```(?:json)?\s*\n?/m,"").replace(/\n?```\s*$/m,"").trim(),r=JSON.parse(e);if(typeof r.businessCaseAnalysis=="string"&&Array.isArray(r.testResults)){for(let n of["newTestsCreated","testMaintenance","issuesFound"])Array.isArray(r[n])||(r[n]=[]);return Array.isArray(r.nextSteps)||(r.nextSteps=[]),r.commitMessage!==void 0&&typeof r.commitMessage!="string"&&delete r.commitMessage,r.newTestsCreated=r.newTestsCreated.map(WKt),r.testResults=r.testResults.map(n=>{let s=typeof n=="object"&&n!==null?n:{},i={...s,testType:typeof s.testType=="string"?s.testType:"",endpoint:typeof s.endpoint=="string"?s.endpoint:"",status:typeof s.status=="string"?s.status:"",details:typeof s.details=="string"?s.details:""};for(let o of["repository","videoPath"])i[o]!==void 0&&typeof i[o]!="string"&&delete i[o];return i}),r}return null}catch{return null}}var d9e={high:0,medium:1,low:2},p9e={security_boundary:0,breaking_change:1,data_integrity:2,business_rule:3,workflow:4};function m9e(t,e,r,n){let s=r[n(t.testType)]??99,i=r[n(e.testType)]??99;if(s!==i)return s-i;let o=d9e[(t.priority??"").toLowerCase()]??99,a=d9e[(e.priority??"").toLowerCase()]??99;if(o!==a)return o-a;let c=p9e[t.category??""]??99,l=p9e[e.category??""]??99;if(c!==l)return c-l;let u=(t.steps??[]).some(p=>(p.expectedStatusCode??0)>=400)?0:1,d=(e.steps??[]).some(p=>(p.expectedStatusCode??0)>=400)?0:1;return u!==d?u-d:(t.scenarioName??"").localeCompare(e.scenarioName??"")}function JKt(t){if(!t)return;let e=ge().reuse,{callsReused:r,callsVerified:n,candidatesDetected:s,verification:i}=t,o=[];r!==void 0&&n!==void 0?(o.push(r===n?e.reusedAndVerified(r):e.reusedThenVerified(r,n)),i===ud.Passed&&r>n&&o.push(e.unresolved(r-n))):r!==void 0?o.push(e.reused(r)):n!==void 0&&o.push(e.verified(n)),s!==void 0&&o.push(e.candidates(s));let a=r!==void 0&&r===n;i===ud.SkippedNoPom?o.push(e.noPomLayer):i===ud.Passed&&!a?o.push(e.verificationPassed):i===ud.Failed&&o.push(e.verificationFailed);let c=t.skipped??[];if(c.length>0){let l=d=>{let p=d.member||d.pageObject,h=[d.declinedBy?e.gate[d.declinedBy]:"",d.reason].filter(Boolean).join(" \u2014 ");return h?`${p} (${h})`:p},u=[...c].sort((d,p)=>+(p.declinedBy===bh.DemotedByVerify)-+(d.declinedBy===bh.DemotedByVerify));o.push(e.keptInline(u.map(l).join("; ")))}if(o.length!==0)return`${e.label}: ${o.join(" \xB7 ")}`}function f9e(t){return(t.testMaintenance??[]).filter(e=>e.action!==zx.Ignore&&e.action!==zx.Verify)}function kE(t,e={}){let r=ge(),{collapsed:n=!1,userPrompt:s,autoCommit:i=!1,audience:o,primaryRepo:a}=e,c=[],l=se=>se&&se.toLowerCase()!==a?.toLowerCase()?se:void 0,u=se=>{let Z=l(se);return Z?` \`[${Z}]\``:""},d=t.newTestsCreated.some(se=>l(se.repository))||t.testResults.some(se=>l(se.repository))||t.issuesFound.some(se=>l(se.repository))||!!t.additionalRecommendations?.some(se=>l(se.repository)),p=o!=="testbot-pr",m=o!=="comment",h=o!=="testbot-pr",f=o!=="testbot-pr",A=o==="testbot-pr";c.push("<!-- skyramp-testbot -->");let b=f9e(t),y=new Set([Zo.Lint,Zo.Type,Zo.Config]),x=se=>se.category!==void 0&&y.has(se.category),I=t.issuesFound.filter(se=>!x(se)),v=t.issuesFound.filter(x),T={critical:0,high:1,medium:2,low:3},N=(se,Z)=>(T[se.severity??""]??4)-(T[Z.severity??""]??4),O=(se,Z)=>(Object.prototype.hasOwnProperty.call(se,Z)?se[Z]:void 0)??Z,F=se=>`- ${se.severity?`**[${O(r.severityLabels,se.severity).toUpperCase()}]** `:""}${se.description}${u(se.repository)}`;if(t.newTestsCreated.length===0&&t.testResults.length===0&&b.length===0&&t.issuesFound.length>0&&(!t.additionalRecommendations||t.additionalRecommendations.length===0)){c.push(r.minimalReportHeader),c.push("");for(let Z of I)c.push(Z.description);if(v.length>0){I.length>0&&c.push(""),c.push(`### ${r.configErrorsHeader}`);for(let Z of[...v].sort(N))c.push(F(Z))}let se=t.caveats??[];if(se.length>0){c.push(""),c.push(r.caveatsHeader),c.push("");for(let Z of se)c.push(`- ${Z.text}`)}if(t.nextSteps?.length>0){c.push(""),c.push(r.nextStepsHeader),c.push("");for(let Z of t.nextSteps)c.push(`- ${Z}`)}return Pce(c.join(`
316
316
  `))}let j=se=>se.replace(/\|/g,"\\|").replace(/\n/g,"<br>");s&&(c.push(r.followingUserInstruction(s)),c.push(""));let J=se=>{n?(c.push("<details>"),c.push(`<summary>${se}</summary>`),c.push("")):c.push(`### ${se}`)},z=()=>{n&&(c.push(""),c.push("</details>")),c.push("")};if(p){let se=f?"> ":"";for(let Z of t.businessCaseAnalysis.split(/\r?\n/))c.push(`${se}${Z}`);c.push("")}if(m&&t.newTestsCreated.length>0){let se=r.testRecommendationsImplementedHeader(t.newTestsCreated.length);A?c.push(`### ${se}`):J(se);for(let Z of t.newTestsCreated){let me=Z.testId?`\`${Z.testId}\``:Z.testType,ce=Z.endpoint?`
317
317
  \`${Z.endpoint}\``:"",le=Z.description?`
318
- ${Z.description}`:"",Fe=Z.fileName?` (\`${Z.fileName}\`)`:"";c.push(`- ${me}${Fe}${u(Z.repository)}${ce}${le}`)}A?c.push(""):z()}if(m&&t.additionalRecommendations&&t.additionalRecommendations.length>0){let se=t.additionalRecommendations,Z=se.length,me={contract:0,integration:1,e2e:2,ui:3},ce=et=>et.toLowerCase(),le=[...se].sort((et,He)=>m9e(et,He,me,ce)),Fe=new Map;for(let et of le){let He=ce(et.testType);Fe.has(He)||Fe.set(He,[]),Fe.get(He).push(et)}J(r.additionalRecommendationsHeader(Z)),c.push(r.additionalRecommendationsCta),c.push("");for(let[et,He]of Fe){let Ke=r.testTypeLabels[et]??et;c.push(`**${Ke}**`),c.push("");for(let Ct of He){let Ie=Ct.steps&&Ct.steps.length>0&&Ct.steps[0].method&&Ct.steps[0].path?`\`${Ct.steps[0].method} ${Ct.steps[0].path}\``:"",St=`- ${Ct.testId?`\`${Ct.testId}\``:Ct.scenarioName?`\`${Ct.scenarioName}\``:`\`${Ct.testType} test\``}`,Ht=Ie?`
318
+ ${Z.description}`:"",Ue=Z.fileName?` (\`${Z.fileName}\`)`:"";c.push(`- ${me}${Ue}${u(Z.repository)}${ce}${le}`)}A?c.push(""):z()}if(m&&t.additionalRecommendations&&t.additionalRecommendations.length>0){let se=t.additionalRecommendations,Z=se.length,me={contract:0,integration:1,e2e:2,ui:3},ce=et=>et.toLowerCase(),le=[...se].sort((et,He)=>m9e(et,He,me,ce)),Ue=new Map;for(let et of le){let He=ce(et.testType);Ue.has(He)||Ue.set(He,[]),Ue.get(He).push(et)}J(r.additionalRecommendationsHeader(Z)),c.push(r.additionalRecommendationsCta),c.push("");for(let[et,He]of Ue){let Ke=r.testTypeLabels[et]??et;c.push(`**${Ke}**`),c.push("");for(let Ct of He){let Ie=Ct.steps&&Ct.steps.length>0&&Ct.steps[0].method&&Ct.steps[0].path?`\`${Ct.steps[0].method} ${Ct.steps[0].path}\``:"",St=`- ${Ct.testId?`\`${Ct.testId}\``:Ct.scenarioName?`\`${Ct.scenarioName}\``:`\`${Ct.testType} test\``}`,Ht=Ie?`
319
319
  ${Ie}`:"";c.push(`${St}${u(Ct.repository)}${Ht}
320
- ${Ct.description}`)}c.push("")}z()}if(m&&b.length>0){J(r.testMaintenanceHeader(b.length)),c.push(r.maintenanceTableHeader),c.push("|-----------|----------|------|--------|--------|-------|");let se=(Z,me)=>{let ce=j(O(r.statusLabels,Z));return me?`${ce} (${j(me)})`:ce};for(let Z of b){let me=j(O(r.testTypeCellLabels,Z.testType)),ce=j(Z.endpoint),le=Z.beforeStatus===hh.Unknown||Z.beforeStatus===hh.Skipped?"\u2014":se(Z.beforeStatus,Z.beforeDetails),Fe=Z.afterStatus===hh.Unknown||Z.afterStatus===hh.Skipped?"\u2014":se(Z.afterStatus,Z.afterDetails);c.push(`| ${me} | ${ce} | \`${j(Z.fileName)}\` | ${j(Z.description)} | ${le} | ${Fe} |`)}z()}if(m&&t.testResults.length>0){J(r.testResultsHeader(t.testResults.length));let se=e.videoLinks??{},Z=le=>{let Fe=le.videoPath?gB(le.videoPath):void 0;return Fe?se[Fe]:void 0},me=t.testResults.some(le=>Z(le)!==void 0),ce=[{header:r.columnTestType,sep:"-----------"},{header:r.columnEndpoint,sep:"----------"},{header:r.columnStatus,sep:"--------"},{header:r.columnDetails,sep:"---------"}];d&&ce.push({header:r.columnRepo,sep:"------"}),me&&ce.push({header:r.columnVideo,sep:"-------"}),c.push(`| ${ce.map(le=>le.header).join(" | ")} |`),c.push(`|${ce.map(le=>le.sep).join("|")}|`);for(let le of t.testResults){let Fe=(le.details??"").replace(/(\S+\.(?:py|ts|js|spec\.\w+))/gi,"`$1`"),et=[j(O(r.testTypeCellLabels,le.testType)),j(le.endpoint),j(O(r.statusLabels,le.status)),j(Fe)];if(d&&et.push(j(l(le.repository)||r.repoColumnPrimary)),me){let He=Z(le);et.push(He?r.videoDownloadLink(He):"\u2014")}c.push(`| ${et.join(" | ")} |`)}!me&&e.hasVideos&&e.runUrl&&(c.push(""),c.push(r.videosArtifactFallback(e.runUrl))),z()}if(h&&I.length>0){o==="comment"?c.push(`### ${r.issuesFoundHeader(I.length)}`):J(r.issuesFoundHeader(I.length));for(let se of[...I].sort(N))c.push(F(se));o==="comment"?c.push(""):z()}if(h&&v.length>0){c.push(`### ${r.configErrorsHeader}`);for(let se of[...v].sort(N))c.push(F(se));c.push("")}if(!h)return Pce(c.join(`
320
+ ${Ct.description}`)}c.push("")}z()}if(m&&b.length>0){J(r.testMaintenanceHeader(b.length)),c.push(r.maintenanceTableHeader),c.push("|-----------|----------|------|--------|--------|-------|");let se=(Z,me)=>{let ce=j(O(r.statusLabels,Z));return me?`${ce} (${j(me)})`:ce};for(let Z of b){let me=j(O(r.testTypeCellLabels,Z.testType)),ce=j(Z.endpoint),le=Z.beforeStatus===hh.Unknown||Z.beforeStatus===hh.Skipped?"\u2014":se(Z.beforeStatus,Z.beforeDetails),Ue=Z.afterStatus===hh.Unknown||Z.afterStatus===hh.Skipped?"\u2014":se(Z.afterStatus,Z.afterDetails);c.push(`| ${me} | ${ce} | \`${j(Z.fileName)}\` | ${j(Z.description)} | ${le} | ${Ue} |`)}z()}if(m&&t.testResults.length>0){J(r.testResultsHeader(t.testResults.length));let se=e.videoLinks??{},Z=le=>{let Ue=le.videoPath?gB(le.videoPath):void 0;return Ue?se[Ue]:void 0},me=t.testResults.some(le=>Z(le)!==void 0),ce=[{header:r.columnTestType,sep:"-----------"},{header:r.columnEndpoint,sep:"----------"},{header:r.columnStatus,sep:"--------"},{header:r.columnDetails,sep:"---------"}];d&&ce.push({header:r.columnRepo,sep:"------"}),me&&ce.push({header:r.columnVideo,sep:"-------"}),c.push(`| ${ce.map(le=>le.header).join(" | ")} |`),c.push(`|${ce.map(le=>le.sep).join("|")}|`);for(let le of t.testResults){let Ue=(le.details??"").replace(/(\S+\.(?:py|ts|js|spec\.\w+))/gi,"`$1`"),et=[j(O(r.testTypeCellLabels,le.testType)),j(le.endpoint),j(O(r.statusLabels,le.status)),j(Ue)];if(d&&et.push(j(l(le.repository)||r.repoColumnPrimary)),me){let He=Z(le);et.push(He?r.videoDownloadLink(He):"\u2014")}c.push(`| ${et.join(" | ")} |`)}!me&&e.hasVideos&&e.runUrl&&(c.push(""),c.push(r.videosArtifactFallback(e.runUrl))),z()}if(h&&I.length>0){o==="comment"?c.push(`### ${r.issuesFoundHeader(I.length)}`):J(r.issuesFoundHeader(I.length));for(let se of[...I].sort(N))c.push(F(se));o==="comment"?c.push(""):z()}if(h&&v.length>0){c.push(`### ${r.configErrorsHeader}`);for(let se of[...v].sort(N))c.push(F(se));c.push("")}if(!h)return Pce(c.join(`
321
321
  `));let q=[...t.nextSteps??[]],U=t.issuesFound.length>0,M=t.newTestsCreated.length>0||b.length>0||t.testResults.length>0,X={contract:0,integration:1,e2e:2,ui:3},pe=[...t.additionalRecommendations??[]].sort((se,Z)=>m9e(se,Z,X,me=>me.toLowerCase())),ae=t.issuesFound.some(se=>se.severity==="critical"||se.severity==="high"),Ee=q.length>0||ae?[]:pe.slice(0,2);M&&!U&&q.length===0&&Ee.length===0&&!i&&q.push(r.autoCommitHint);let fe=t.caveats??[];if(fe.length>0){c.push(""),c.push(r.caveatsHeader),c.push("");for(let se of fe)c.push(`- ${se.text}`)}if(q.length>0||Ee.length>0){c.push(r.nextStepsHeader),c.push("");for(let se of q)c.push(`- ${se}`);Ee.length>0&&(c.push(""),c.push(r.implementRecommendationsCta),c.push(""),Ee.forEach((se,Z)=>{let me=se.testId?`**${se.testId}**`:`**${se.scenarioName??se.testType}**`,ce=se.reasoning??se.description;c.push(`${Z+1}. ${me} \u2014 ${ce}`)})),c.push("")}return Pce(c.join(`
322
322
  `))}function Pce(t){return t.replace(/#(\d)/g,"<span>#</span>$1")}function h9e(t,e=!1,r,n=!1,s){zs("Reading test summary");let i=jKt(t),o,a,c,l={};if(i){let u=PE.readFileSync(i,"utf-8"),d=YKt(u);if(d){Ce("Testbot report parsed from JSON"),c=d;for(let p of c.newTestsCreated){let m=JKt(p.reuse);if(!m)continue;let h=p.fileName?` (${p.fileName})`:"";te(`${p.testId||p.testType}${h} \u2014 ${m}`)}l={commitMessage:c.commitMessage,collapsed:e,userPrompt:r,autoCommit:n,primaryRepo:s},o=kE(c,l),a=c.commitMessage}else te("Summary is not JSON \u2014 using raw content"),o=u;PE.writeFileSync(t.combinedResultPath,o),Ce("Testbot report ready")}else K("No summary file generated"),o="No summary available";return dt("test_summary",o),Pn(),{summary:o,commitMessage:a,report:c,renderOptions:l}}function g9e(t){zs("Parsing summary metrics");let e={modified:f9e(t).length,created:t.newTestsCreated.length,executed:t.testResults.length};return dt("tests_modified",String(e.modified)),dt("tests_created",String(e.created)),dt("tests_executed",String(e.executed)),Ce(`Metrics - Modified: ${e.modified}, Created: ${e.created}, Executed: ${e.executed}`),Pn(),e}async function kq(t){await Sn(`Installing ${t.label} CLI`,async()=>{try{let{exitCode:e,stdout:r}=await Le(t.binary,["--version"],{silent:!0,ignoreReturnCode:!0});if(e===0&&r.trim()){Ce(`${t.label} CLI already installed (version: ${r.trim()})`);return}te(`${t.label} CLI not found (non-zero exit or empty output), will install`)}catch(e){te(`${t.label} CLI not found, will install (${e instanceof Error?e.message:String(e)})`)}await ks(async()=>{await t.install(),Ce(`${t.label} CLI installed successfully`)},{retries:3,delay:5,label:`${t.label} CLI install`})})}async function _q(t){await Sn(`Initializing ${t.label} agent`,async()=>{await t.initialize()})}function A9e(t,e){return t.buildCommand(e)}var KKt=new Set(["--model","--output-format"]);function XKt(t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(!KKt.has(n))continue;let s=t[r+1];s!==void 0&&!s.startsWith("-")?(e.push(n,s),r++):e.push(n)}return e.join(" ")}function ZKt(t){let e=t.baseBranch?`&baseBranch=${encodeURIComponent(t.baseBranch)}`:"",r=t.userPrompt?`&userPrompt=${encodeURIComponent(t.userPrompt)}`:"",n=t.prNumber?`&prNumber=${t.prNumber}`:"",s=t.maxRecommendations!=null&&Number.isFinite(t.maxRecommendations)?`&maxRecommendations=${t.maxRecommendations}`:"",i=t.maxGenerate!=null&&Number.isFinite(t.maxGenerate)?`&maxGenerate=${t.maxGenerate}`:"",o=t.uiCredentials?`&uiCredentials=${encodeURIComponent(t.uiCredentials)}`:"",a=t.testsRepoDir?`&testsRepoDir=${encodeURIComponent(t.testsRepoDir)}`:"",c=t.relatedRepositories?.length?`&relatedRepositories=${encodeURIComponent(JSON.stringify(t.relatedRepositories))}`:"",l=`&primaryRepo=${encodeURIComponent(t.primaryRepo)}`,u=t.planOnly?"&planOnly=true":"",d=t.language&&t.language!=="en"?`&language=${encodeURIComponent(t.language)}`:"",p=Number.isInteger(t.perTestMaxFixAttempts)?`&perTestMaxFixAttempts=${t.perTestMaxFixAttempts}`:"";return`You are the Skyramp TestBot. Read the Skyramp MCP resource at this URI:
323
323
  ${As}://prompts/testbot?prTitle=${encodeURIComponent(t.prTitle)}&prDescription=${encodeURIComponent(t.prBody)}&summaryOutputFile=${encodeURIComponent(t.summaryPath)}&stateOutputFile=${encodeURIComponent(t.stateFilePath)}&repositoryPath=${encodeURIComponent(t.repositoryPath)}${e}${r}${n}${s}${i}${o}${a}${c}${l}${u}${d}${p}
324
324
  After reading the resource, follow EVERY instruction it returns. ALL tasks are MANDATORY. Do NOT skip any tasks.`}async function e9t(t,e,r,n={}){let s=ta(r.testbotTimeout*60),i="",o="",a,c=!1,l=!1,u=null;n.logFile&&(u=Rn.createWriteStream(n.logFile,{flags:"w"}),u.on("error",d=>{K(`Log stream error: ${d.message}`),u=null}));try{let d=[...t.args,e],p=await Le(t.command,d,{ignoreReturnCode:!0,silent:!!n.logFile,input:Buffer.from(""),timeout:s,stdoutStream:u??void 0,signal:n.abortSignal});a=p.exitCode,i=p.stdout,o=p.stderr}catch(d){a=1,o=String(d),c=d instanceof dE,l=d instanceof NC}finally{u&&(u.end(),await new Promise(d=>u.on("finish",d)))}try{a===0&&n.stdoutFile&&Rn.writeFileSync(n.stdoutFile,i)}catch(d){a=1,o=String(d)}return{success:a===0,exitCode:a,output:i+o,enforcedTimeout:c,aborted:l}}function t9t(t){return t.includes("Connection stalled")||t.includes("timed out")}function r9t(t,e){let r=e?.apiErrorStatus,n=`${t} ${e?.resultText??""}`;if(r===429||/request rejected \(429\)/i.test(n))return"provider_rate_limit";if(r===403&&/expired|security token|invalid.*credential/i.test(n))return"provider_auth_expired";if(/usage limits?|quota|credit balance|billing/i.test(n)&&r!==void 0&&r<500)return"provider_usage_limit";if(r!==void 0&&r>=500)return"provider_outage";if(/overloaded_error|Connection stalled/i.test(n))return"provider_outage";if(e?.isApiError===!0&&r===void 0)return"provider_outage"}function n9t(t){let e;try{let r=Rn.statSync(t);if(r.size===0)return;e=Rn.openSync(t,"r");let n=4096,s=r.size,i="";for(;s>0;){let o=Math.min(n,s);s-=o;let a=Buffer.alloc(o);Rn.readSync(e,a,0,o,s),i=a.toString("utf-8")+i;let c=i.split(`
325
- `),l=s>0?1:0;for(let u=c.length-1;u>=l;u--){let d=c[u].trim();if(d)try{let p=JSON.parse(d);if(p.type==="result")return{apiErrorStatus:typeof p.api_error_status=="number"?p.api_error_status:void 0,isApiError:p.is_error===!0&&typeof p.result=="string"&&p.result.startsWith("API Error"),resultText:p.is_error===!0&&typeof p.result=="string"?p.result.slice(0,500):""}}catch{}}i=c[0]}}catch{}finally{if(e!==void 0)try{Rn.closeSync(e)}catch{}}}async function y9e(t){let{agentCmd:e,agentLabel:r,agentType:n,useNdjsonLog:s,config:i,paths:o,workingDir:a,authToken:c,prTitle:l,prBody:u,baseBranch:d,userPrompt:p,prNumber:m,licensePath:h,uiCredentials:f,testsRepoDir:A,relatedRepositories:b,primaryRepo:y,planOnly:x}=t,I=i.testbotMaxRetries,v=i.testbotRetryDelay,T={success:!1,exitCode:1,output:""},N="",O,F,L={},j,J;if(s)for(let z of Rn.readdirSync(o.tempDir))/^agent-log\.attempt-\d+\.ndjson$/.test(z)&&Rn.rmSync(AB.join(o.tempDir,z),{force:!0});for(let z=1;z<=I;z++){for(let me of[o.summaryPath,o.agentStdoutPath,o.combinedResultPath,o.stateFilePath])Rn.existsSync(me)&&Rn.rmSync(me,{force:!0});let q=s?AB.join(o.tempDir,`agent-log.attempt-${z}.ndjson`):void 0;if(q){Rn.rmSync(o.agentLogPath,{force:!0});try{Rn.symlinkSync(AB.basename(q),o.agentLogPath)}catch(me){K(`Could not point ${o.agentLogPath} at ${q}: ${me instanceof Error?me.message:String(me)}`)}}if(T=await Sn(`Running Skyramp Testbot (attempt ${z}/${I})`,async()=>{await bU({getIDToken:Fe=>L_(Fe),setSecret:It,debug:At,warning:K,timeoutMinutes:i.testbotTimeout}),process.env.SKYRAMP_AUTH_TOKEN=c;let me=ZKt({prTitle:l,prBody:u,baseBranch:d,summaryPath:o.summaryPath,stateFilePath:o.stateFilePath,repositoryPath:a,userPrompt:p,prNumber:m,maxRecommendations:i.maxRecommendations,maxGenerate:i.maxGenerate,perTestMaxFixAttempts:i.perTestMaxFixAttempts,uiCredentials:f,testsRepoDir:A,relatedRepositories:b,primaryRepo:y,planOnly:x,language:i.language}),ce=XKt(e.args);At(`Agent command: ${ce?`testbot ${ce}`:"testbot"}`),At(`Agent log file: ${q??"none (streaming to console)"}`),At(`Prompt length: ${me.length} chars`);let le=await e9t(e,me,i,{logFile:q,stdoutFile:s?void 0:o.agentStdoutPath,abortSignal:t.abortSignal});if(le.aborted?Ce("Skyramp Testbot was stopped because its pull request was closed"):le.success?Ce("Skyramp Testbot completed successfully"):jr(`Skyramp Testbot failed with exit code ${le.exitCode}`),q&&Rn.existsSync(q)){let{model:Fe,usage:et,skills:He}=await o9e(q);Fe&&Ce(`${r} auto-selected model: ${Fe}`),et&&c9e(et,Fe??"unknown",h).catch(Ke=>At(`Telemetry push failed: ${Ke}`)),He.length>0&&(Ce(`${r} invoked skills: ${He.join(", ")}`),a9e(He,n,h).catch(Ke=>At(`Skill telemetry push failed: ${Ke}`)))}return le}),T.aborted)break;let U;try{U=h9e(o,i.reportCollapsed,p||void 0,i.autoCommit,y),j=void 0}catch(me){let ce=me instanceof Error?me.message:String(me);jr(`Failed to render testbot report: ${ce}`),j=ce,U={summary:"",commitMessage:void 0,report:void 0,renderOptions:{}}}U.report?g9e(U.report):(dt("tests_modified","-1"),dt("tests_created","-1"),dt("tests_executed","-1")),N=U.summary,O=U.commitMessage,F=U.report,L=U.renderOptions;let M=!N||N.trim()===""||N.trim()==="No summary available",X=(!T.success||M)&&q?n9t(q):void 0;!T.success&&T.enforcedTimeout&&jr(`Agent hit testbotTimeout (${i.testbotTimeout}m) \u2014 not retrying. Raise the testbotTimeout input if runs legitimately need longer.`);let pe=!T.success&&!T.enforcedTimeout&&(t9t(T.output)||X?.apiErrorStatus!==void 0&&X.apiErrorStatus>=500||X?.isApiError===!0&&X.apiErrorStatus===void 0),ae=T.success&&M,Ee=!T.success||M,fe=Ee?r9t(T.output,X):void 0,se=fe==="provider_usage_limit"||fe==="provider_auth_expired",Z=!T.enforcedTimeout&&!!fe&&!se;if(se&&z<I&&jr(`Agent hit a non-retryable provider condition (${fe}) \u2014 not retrying, since another attempt cannot succeed.`),(pe||ae||Z)&&!se&&z<I){let me=Z?`provider condition (${fe})`:pe?"transient error":j?`render failure (${j})`:"no report produced";K(`Agent ${me} (attempt ${z}/${I}). Retrying in ${v}s...`);try{let ce=await Le("git",["reset","--hard","HEAD"],{cwd:a,silent:!0,ignoreReturnCode:!0}),le=await Le("git",["clean","-fd"],{cwd:a,silent:!0,ignoreReturnCode:!0});if(ce.exitCode===0&&le.exitCode===0)At("Cleaned up generated test files from failed attempt before retry");else{let Fe=(ce.stderr||ce.stdout).trim().slice(0,200),et=(le.stderr||le.stdout).trim().slice(0,200);K(`Cleanup before retry exited non-zero (non-fatal): reset=${ce.exitCode} clean=${le.exitCode}`+(Fe?` | reset output: ${Fe}`:"")+(et?` | clean output: ${et}`:""))}}catch(ce){K(`Cleanup before retry failed (non-fatal): ${ce instanceof Error?ce.message:String(ce)}`)}await Qh(v);continue}Ee&&T.enforcedTimeout?J="timeout":fe?J=fe:Ee&&j?J="render_failure":Ee&&M&&(J="no_report"),J&&jr(`Agent failed after ${z} attempt(s) (reason: ${J})`+(j?`: ${j}`:"")+(X?.resultText?`: ${X.resultText}`:""));break}return{result:{success:T.success,exitCode:T.exitCode},summary:N,commitMessage:O,report:F,renderOptions:L,renderError:j,aborted:T.aborted,failureReason:J}}We();var x9e=H(require("node:child_process"));var qd=class extends Error{constructor(r,n,s,i,o,a){super(r,o);this.command=n;this.stdout=s;this.stderr=i;this.targetSetupBackgroundedPid=a;this.name="StartupError"}command;stdout;stderr;targetSetupBackgroundedPid},s9t=[{pattern:/port is already allocated|bind.*address already in use|address already in use/i,kind:"PORT_CONFLICT",summary:"A required port is already in use on the runner.",fixes:["Add a `docker compose down` (or equivalent cleanup) step **before** your startup command.","Find and stop the conflicting process: `lsof -i :<port> && kill <pid>`.","Change the host port mapping in your `docker-compose.yml`."]},{pattern:/pull access denied|repository does not exist|manifest.*not found|manifest unknown/i,kind:"IMAGE_NOT_FOUND",summary:"A Docker image could not be pulled \u2014 the tag may not exist or the image may be private.",fixes:["Verify the image name and tag in your `docker-compose.yml`.","If the image is private, add a `docker login` step before startup.","Build the image from source rather than pulling a pre-published tag."]},{pattern:/unauthorized.*authentication required|Login.*Required/i,kind:"IMAGE_AUTH_FAILURE",summary:"Docker registry authentication failed.",fixes:["Add a `docker login` step using a registry token stored as a GitHub secret.","Verify the registry credentials are correct and have not expired."]},{pattern:/Cannot connect to the Docker daemon|Is the docker daemon running|docker\.sock.*no such file/i,kind:"DOCKER_UNAVAILABLE",summary:"The Docker daemon is not reachable on the runner.",fixes:["Ensure the runner has Docker installed and the daemon is running.","For GitHub-hosted runners, use `ubuntu-latest` which ships with Docker.","Check that no earlier step disables or uninstalls Docker."]},{pattern:/OOMKilled|exit code 137/i,kind:"OOM_KILLED",summary:"A container was killed because it exceeded the available memory.",fixes:["Increase the container memory limit in `docker-compose.yml` (`mem_limit`).","Use a larger GitHub Actions runner (e.g. `ubuntu-latest-8-cores`).","Reduce the number of services started in parallel."]},{pattern:/container name.*is already in use|name.*already in use by container/i,kind:"STALE_CONTAINER",summary:"A container with the required name is already running from a previous workflow run.",fixes:["Add `docker compose down` or `docker rm -f <name>` before your startup command.","Use `docker compose up --force-recreate` to replace existing containers."]},{pattern:/network.*not found|network.*does not exist/i,kind:"NETWORK_NOT_FOUND",summary:"A Docker network referenced in the compose file does not exist.",fixes:["Add the network definition to `docker-compose.yml` under the `networks:` key.","Pre-create the network: `docker network create <name>`."]},{pattern:/no such file or directory/i,kind:"MISSING_FILE",summary:"A required file or directory was not found.",fixes:["Verify all referenced paths exist and are committed to the repository.","Check that the `workingDirectory` action input points to the correct location.","Ensure the checkout step runs before the testbot step."]},{pattern:/permission denied/i,kind:"PERMISSION_DENIED",summary:"A permission denied error occurred during startup.",fixes:["Make the startup script executable: `git update-index --chmod=+x <script>`.","Check file and directory permissions in the repository."]},{pattern:/command not found|not found.*command/i,kind:"COMMAND_NOT_FOUND",summary:"A required command was not found on the runner.",fixes:["Install the required tool in a step before the testbot step.","Check that the command name is spelled correctly and is in `$PATH`."]},{pattern:/Traceback \(most recent call last\)|NameError:|ImportError:|ModuleNotFoundError:|SyntaxError:|AttributeError:|IndentationError:|TypeError:|ValueError:|ReferenceError:|Application startup failed|Error: Cannot find module|Cannot find package|error during build:|✘ \[ERROR\]|\[plugin:vite:|Exception in thread "main"/i,kind:"APP_STARTUP_ERROR",summary:"The application crashed during startup due to a code error.",fixes:["Check the error line in the container logs above for the root cause.","Run the container locally (`docker compose up`) to reproduce and debug.","Ensure all dependencies are installed and the code is free of syntax errors."]}];function kce(t){let e;if(t instanceof qd){let r=t.cause instanceof Error?t.cause.message:t.cause!==void 0&&t.cause!==null?String(t.cause):"";e=[t.message,r,t.stderr,t.stdout].filter(n=>typeof n=="string"&&n.trim().length>0).join(`
325
+ `),l=s>0?1:0;for(let u=c.length-1;u>=l;u--){let d=c[u].trim();if(d)try{let p=JSON.parse(d);if(p.type==="result")return{apiErrorStatus:typeof p.api_error_status=="number"?p.api_error_status:void 0,isApiError:p.is_error===!0&&typeof p.result=="string"&&p.result.startsWith("API Error"),resultText:p.is_error===!0&&typeof p.result=="string"?p.result.slice(0,500):""}}catch{}}i=c[0]}}catch{}finally{if(e!==void 0)try{Rn.closeSync(e)}catch{}}}async function y9e(t){let{agentCmd:e,agentLabel:r,agentType:n,useNdjsonLog:s,config:i,paths:o,workingDir:a,authToken:c,prTitle:l,prBody:u,baseBranch:d,userPrompt:p,prNumber:m,licensePath:h,uiCredentials:f,testsRepoDir:A,relatedRepositories:b,primaryRepo:y,planOnly:x}=t,I=i.testbotMaxRetries,v=i.testbotRetryDelay,T={success:!1,exitCode:1,output:""},N="",O,F,L={},j,J;if(s)for(let z of Rn.readdirSync(o.tempDir))/^agent-log\.attempt-\d+\.ndjson$/.test(z)&&Rn.rmSync(AB.join(o.tempDir,z),{force:!0});for(let z=1;z<=I;z++){for(let me of[o.summaryPath,o.agentStdoutPath,o.combinedResultPath,o.stateFilePath])Rn.existsSync(me)&&Rn.rmSync(me,{force:!0});let q=s?AB.join(o.tempDir,`agent-log.attempt-${z}.ndjson`):void 0;if(q){Rn.rmSync(o.agentLogPath,{force:!0});try{Rn.symlinkSync(AB.basename(q),o.agentLogPath)}catch(me){K(`Could not point ${o.agentLogPath} at ${q}: ${me instanceof Error?me.message:String(me)}`)}}if(T=await Sn(`Running Skyramp Testbot (attempt ${z}/${I})`,async()=>{await bU({getIDToken:Ue=>L_(Ue),setSecret:It,debug:At,warning:K,timeoutMinutes:i.testbotTimeout}),process.env.SKYRAMP_AUTH_TOKEN=c;let me=ZKt({prTitle:l,prBody:u,baseBranch:d,summaryPath:o.summaryPath,stateFilePath:o.stateFilePath,repositoryPath:a,userPrompt:p,prNumber:m,maxRecommendations:i.maxRecommendations,maxGenerate:i.maxGenerate,perTestMaxFixAttempts:i.perTestMaxFixAttempts,uiCredentials:f,testsRepoDir:A,relatedRepositories:b,primaryRepo:y,planOnly:x,language:i.language}),ce=XKt(e.args);At(`Agent command: ${ce?`testbot ${ce}`:"testbot"}`),At(`Agent log file: ${q??"none (streaming to console)"}`),At(`Prompt length: ${me.length} chars`);let le=await e9t(e,me,i,{logFile:q,stdoutFile:s?void 0:o.agentStdoutPath,abortSignal:t.abortSignal});if(le.aborted?Ce("Skyramp Testbot was stopped because its pull request was closed"):le.success?Ce("Skyramp Testbot completed successfully"):jr(`Skyramp Testbot failed with exit code ${le.exitCode}`),q&&Rn.existsSync(q)){let{model:Ue,usage:et,skills:He}=await o9e(q);Ue&&Ce(`${r} auto-selected model: ${Ue}`),et&&c9e(et,Ue??"unknown",h).catch(Ke=>At(`Telemetry push failed: ${Ke}`)),He.length>0&&(Ce(`${r} invoked skills: ${He.join(", ")}`),a9e(He,n,h).catch(Ke=>At(`Skill telemetry push failed: ${Ke}`)))}return le}),T.aborted)break;let U;try{U=h9e(o,i.reportCollapsed,p||void 0,i.autoCommit,y),j=void 0}catch(me){let ce=me instanceof Error?me.message:String(me);jr(`Failed to render testbot report: ${ce}`),j=ce,U={summary:"",commitMessage:void 0,report:void 0,renderOptions:{}}}U.report?g9e(U.report):(dt("tests_modified","-1"),dt("tests_created","-1"),dt("tests_executed","-1")),N=U.summary,O=U.commitMessage,F=U.report,L=U.renderOptions;let M=!N||N.trim()===""||N.trim()==="No summary available",X=(!T.success||M)&&q?n9t(q):void 0;!T.success&&T.enforcedTimeout&&jr(`Agent hit testbotTimeout (${i.testbotTimeout}m) \u2014 not retrying. Raise the testbotTimeout input if runs legitimately need longer.`);let pe=!T.success&&!T.enforcedTimeout&&(t9t(T.output)||X?.apiErrorStatus!==void 0&&X.apiErrorStatus>=500||X?.isApiError===!0&&X.apiErrorStatus===void 0),ae=T.success&&M,Ee=!T.success||M,fe=Ee?r9t(T.output,X):void 0,se=fe==="provider_usage_limit"||fe==="provider_auth_expired",Z=!T.enforcedTimeout&&!!fe&&!se;if(se&&z<I&&jr(`Agent hit a non-retryable provider condition (${fe}) \u2014 not retrying, since another attempt cannot succeed.`),(pe||ae||Z)&&!se&&z<I){let me=Z?`provider condition (${fe})`:pe?"transient error":j?`render failure (${j})`:"no report produced";K(`Agent ${me} (attempt ${z}/${I}). Retrying in ${v}s...`);try{let ce=await Le("git",["reset","--hard","HEAD"],{cwd:a,silent:!0,ignoreReturnCode:!0}),le=await Le("git",["clean","-fd"],{cwd:a,silent:!0,ignoreReturnCode:!0});if(ce.exitCode===0&&le.exitCode===0)At("Cleaned up generated test files from failed attempt before retry");else{let Ue=(ce.stderr||ce.stdout).trim().slice(0,200),et=(le.stderr||le.stdout).trim().slice(0,200);K(`Cleanup before retry exited non-zero (non-fatal): reset=${ce.exitCode} clean=${le.exitCode}`+(Ue?` | reset output: ${Ue}`:"")+(et?` | clean output: ${et}`:""))}}catch(ce){K(`Cleanup before retry failed (non-fatal): ${ce instanceof Error?ce.message:String(ce)}`)}await Qh(v);continue}Ee&&T.enforcedTimeout?J="timeout":fe?J=fe:Ee&&j?J="render_failure":Ee&&M&&(J="no_report"),J&&jr(`Agent failed after ${z} attempt(s) (reason: ${J})`+(j?`: ${j}`:"")+(X?.resultText?`: ${X.resultText}`:""));break}return{result:{success:T.success,exitCode:T.exitCode},summary:N,commitMessage:O,report:F,renderOptions:L,renderError:j,aborted:T.aborted,failureReason:J}}We();var x9e=H(require("node:child_process"));var qd=class extends Error{constructor(r,n,s,i,o,a){super(r,o);this.command=n;this.stdout=s;this.stderr=i;this.targetSetupBackgroundedPid=a;this.name="StartupError"}command;stdout;stderr;targetSetupBackgroundedPid},s9t=[{pattern:/port is already allocated|bind.*address already in use|address already in use/i,kind:"PORT_CONFLICT",summary:"A required port is already in use on the runner.",fixes:["Add a `docker compose down` (or equivalent cleanup) step **before** your startup command.","Find and stop the conflicting process: `lsof -i :<port> && kill <pid>`.","Change the host port mapping in your `docker-compose.yml`."]},{pattern:/pull access denied|repository does not exist|manifest.*not found|manifest unknown/i,kind:"IMAGE_NOT_FOUND",summary:"A Docker image could not be pulled \u2014 the tag may not exist or the image may be private.",fixes:["Verify the image name and tag in your `docker-compose.yml`.","If the image is private, add a `docker login` step before startup.","Build the image from source rather than pulling a pre-published tag."]},{pattern:/unauthorized.*authentication required|Login.*Required/i,kind:"IMAGE_AUTH_FAILURE",summary:"Docker registry authentication failed.",fixes:["Add a `docker login` step using a registry token stored as a GitHub secret.","Verify the registry credentials are correct and have not expired."]},{pattern:/Cannot connect to the Docker daemon|Is the docker daemon running|docker\.sock.*no such file/i,kind:"DOCKER_UNAVAILABLE",summary:"The Docker daemon is not reachable on the runner.",fixes:["Ensure the runner has Docker installed and the daemon is running.","For GitHub-hosted runners, use `ubuntu-latest` which ships with Docker.","Check that no earlier step disables or uninstalls Docker."]},{pattern:/OOMKilled|exit code 137/i,kind:"OOM_KILLED",summary:"A container was killed because it exceeded the available memory.",fixes:["Increase the container memory limit in `docker-compose.yml` (`mem_limit`).","Use a larger GitHub Actions runner (e.g. `ubuntu-latest-8-cores`).","Reduce the number of services started in parallel."]},{pattern:/container name.*is already in use|name.*already in use by container/i,kind:"STALE_CONTAINER",summary:"A container with the required name is already running from a previous workflow run.",fixes:["Add `docker compose down` or `docker rm -f <name>` before your startup command.","Use `docker compose up --force-recreate` to replace existing containers."]},{pattern:/network.*not found|network.*does not exist/i,kind:"NETWORK_NOT_FOUND",summary:"A Docker network referenced in the compose file does not exist.",fixes:["Add the network definition to `docker-compose.yml` under the `networks:` key.","Pre-create the network: `docker network create <name>`."]},{pattern:/no such file or directory/i,kind:"MISSING_FILE",summary:"A required file or directory was not found.",fixes:["Verify all referenced paths exist and are committed to the repository.","Check that the `workingDirectory` action input points to the correct location.","Ensure the checkout step runs before the testbot step."]},{pattern:/permission denied/i,kind:"PERMISSION_DENIED",summary:"A permission denied error occurred during startup.",fixes:["Make the startup script executable: `git update-index --chmod=+x <script>`.","Check file and directory permissions in the repository."]},{pattern:/command not found|not found.*command/i,kind:"COMMAND_NOT_FOUND",summary:"A required command was not found on the runner.",fixes:["Install the required tool in a step before the testbot step.","Check that the command name is spelled correctly and is in `$PATH`."]},{pattern:/Traceback \(most recent call last\)|NameError:|ImportError:|ModuleNotFoundError:|SyntaxError:|AttributeError:|IndentationError:|TypeError:|ValueError:|ReferenceError:|Application startup failed|Error: Cannot find module|Cannot find package|error during build:|✘ \[ERROR\]|\[plugin:vite:|Exception in thread "main"/i,kind:"APP_STARTUP_ERROR",summary:"The application crashed during startup due to a code error.",fixes:["Check the error line in the container logs above for the root cause.","Run the container locally (`docker compose up`) to reproduce and debug.","Ensure all dependencies are installed and the code is free of syntax errors."]}];function kce(t){let e;if(t instanceof qd){let r=t.cause instanceof Error?t.cause.message:t.cause!==void 0&&t.cause!==null?String(t.cause):"";e=[t.message,r,t.stderr,t.stdout].filter(n=>typeof n=="string"&&n.trim().length>0).join(`
326
326
  `)}else typeof t=="string"?e=t:e=String(t);for(let{pattern:r,kind:n,summary:s,fixes:i}of s9t)if(r.test(e))return{kind:n,summary:s,fixes:i};return{kind:"UNKNOWN",summary:"The startup command exited with a non-zero exit code.",fixes:["Review the workflow logs for the root cause.","Run the startup command locally to reproduce and debug the issue.","Check that your `targetSetupCommand` is correct."]}}function i9t(t,e){return t.split(`
327
327
  `).filter(r=>r.trim().length>0).slice(-e).join(`
328
328
  `)}function E9e(t){let r=/^\s*((?:NameError|ImportError|ModuleNotFoundError|SyntaxError|AttributeError|IndentationError|TypeError|ValueError|RuntimeError|KeyError|FileNotFoundError|OSError|ReferenceError|Error): .+)/m.exec(t);return r?r[1].trim():""}function b9e(t){let{command:e,stdout:r,stderr:n,analysis:s,workflowUrl:i}=t,o=[n,r].filter(u=>u.trim()).join(`
@@ -354,9 +354,9 @@ After reading the resource, follow EVERY instruction it returns. ALL tasks are M
354
354
  ${n.stdout}`),te(`Repo-standards session log: ${s}`)}catch(o){K(`Could not write ${s}: ${o instanceof Error?o.message:String(o)}`)}if(n.exitCode!==0){let o=ge().repairSessionFailed(`exit code ${n.exitCode}`);return K(`Repo-standards session: ${o}`),{repaired:!1,reason:o}}let i=C9t(n.stdout);return te(`Repo-standards session done${i.commitMessage?`; commit message: ${i.commitMessage.split(`
355
355
  `)[0]}`:""}`),{repaired:!0,...i}})}function U9e(t){let{agent:e}=t;if(!(!e||!F9e(e)))return r=>S9t({agent:e,enableDebug:t.enableDebug,workingDir:t.workingDir,checkouts:t.checkouts,...r})}We();async function Uce(t){let{platform:e,prNumber:r,prHeadRef:n,prHeadSha:s,dispatchBaseBranch:i,dispatchHeadSha:o}=t;if(r&&n&&s){let a={cutPoint:{kind:"sha",ref:n,sha:s},retargeted:!1},c;try{c=await ks(()=>e.getCodeReview(r),{retries:3,delay:2,label:`Fetching PR #${r} state for Testbot PR base`})}catch(l){return K(`Could not read PR #${r} state (${l instanceof Error?l.message:String(l)}); basing the Testbot PR on the head ref from the workflow payload.`),a}return c.state==="merged"?(Ce(`PR #${r} merged while this run was in progress \u2014 targeting the Testbot PR at '${c.baseRef}' instead of the deleted head ref.`),{cutPoint:{kind:"remote-branch",ref:c.baseRef},retargeted:!0}):a}if(i&&o)return{cutPoint:{kind:"sha",ref:i,sha:o},retargeted:!1}}async function Om(t){try{let{stdout:e,exitCode:r}=await Le("git",["remote","get-url","origin"],{cwd:t,silent:!0,ignoreReturnCode:!0});if(r!==0)return;let n=e.trim();if(!n)return;let i=n.replace(/\/+$/,"").replace(/\.git$/,"").match(/[/:]([^/:]+)\/([^/]+)$/);if(!i)return;let o=`${i[1]}/${i[2]}`;return Qc(o)?o:void 0}catch{return}}async function Gce(t,e,r){zs("Configuring git identity");let n=r?{cwd:r}:{};await Le("git",["config","user.name",t],n),await Le("git",["config","user.email",e],n),Ce(`Git identity configured as ${t} <${e}>`),Pn()}var Y9e=`http.${(process.env.GITHUB_SERVER_URL||"https://github.com").replace(/\/+$/,"")}/.extraheader`,qce=t=>t.replace(/[.[\]^$*+?(){}|\\]/g,"\\$&"),I9t=`^${qce(Y9e)}$`;function jce(t){if(!t)return{};let e=Buffer.from(`x-access-token:${t}`).toString("base64");return It(e),{GIT_CONFIG_COUNT:"1",GIT_CONFIG_KEY_0:Y9e,GIT_CONFIG_VALUE_0:`AUTHORIZATION: basic ${e}`}}async function R9t(t){let e=t?{cwd:t}:{},{exitCode:r,stderr:n}=await Le("git",["config","--name-only","--get-regexp",I9t],{...e,ignoreReturnCode:!0,silent:!0});return r!==0&&r!==1&&K(`Unexpected 'git config --get-regexp' exit ${r} while detecting persisted git credentials: ${n.trim()||"(no stderr)"}`),r===0}async function J9e(t,e){return t?await R9t(e)?(At("Persisted git credential detected; deferring to it and skipping ephemeral auth injection to avoid duplicate Authorization headers (SKYR-3942)"),{}):jce(t):{}}async function $9e(t,e,r,n={}){let s=await J9e(r,e),i=e?{cwd:e,env:s}:{env:s},o=n.noVerify?["--no-verify"]:[],a=t?["push",...o,"origin",`HEAD:refs/heads/${t}`]:["push",...o];return Le("git",a,n.ignoreReturnCode?{...i,ignoreReturnCode:!0}:i)}function K9e(t){let e;try{e=nn.readFileSync(t,"utf-8")}catch(s){return s?.code!=="ENOENT"&&K(`Could not read maintenance state '${t}': ${s?.message??s}`),[]}let r;try{r=JSON.parse(e)}catch(s){return K(`Could not parse maintenance state '${t}': ${s?.message??s}`),[]}return[r?.maintenanceVerdicts,...Object.values(r?.relatedRepos??{}).map(s=>s?.data?.maintenanceVerdicts)].filter(s=>Array.isArray(s)).flat()}function X9e(t,e){let r=Pt.isAbsolute(t)?t:Pt.resolve(e,t),n=Pt.relative(e,r);return!n||n===".."||n.startsWith(".."+Pt.sep)||Pt.isAbsolute(n)?null:n}async function v9t(t,e,r={}){let n=new Set;for(let i of K9e(t))i?.action==="DELETE"&&typeof i?.testFilePath=="string"&&n.add(i.testFilePath);if(n.size===0)return[];let s=[];for(let i of n){let o=X9e(i,e);if(!o)continue;let{exitCode:a,stdout:c,stderr:l}=await Le("git",["rm","-f","--ignore-unmatch","--",o],{...r,ignoreReturnCode:!0});if(a!==0){K(`git rm failed for '${o}': ${(l||c).trim()||`exit code ${a}`}`);continue}s.push(o)}return s.length>0&&te(`Applied ${s.length} maintenance deletion(s): ${s.join(", ")}`),s}async function N9t(t,e,r={}){let n=new Set;for(let i of K9e(t))(i?.action==="UPDATE"||i?.action==="REGENERATE")&&typeof i?.testFilePath=="string"&&n.add(i.testFilePath);if(n.size===0)return[];let s=[];for(let i of n){let o=X9e(i,e);if(!o||!nn.existsSync(Pt.resolve(e,o)))continue;let{exitCode:a,stdout:c,stderr:l}=await Le("git",["add","--",o],{...r,ignoreReturnCode:!0});if(a!==0){K(`git add failed for '${o}': ${(l||c).trim()||`exit code ${a}`}`);continue}s.push(o)}return s.length>0&&te(`Staged ${s.length} maintenance update(s): ${s.join(", ")}`),s}var T9t=/\.(ts|tsx|js|jsx)$/,cS=".skyramp/videos",B9t=`:(exclude)${cS}/`;function q9e(t){try{if(nn.lstatSync(Pt.join(t,".skyramp")).isSymbolicLink())return[]}catch{}return[B9t]}var Z9e=[cS,":(glob).skyramp/**/*_trace.zip",":(glob).skyramp/**/.last-run.json",":(glob).skyramp/**/error-context.md"];function H9e(t){try{let e=Pt.join(t,cS);if(!nn.existsSync(e))return;if(nn.realpathSync(e)!==Pt.join(nn.realpathSync(t),cS)){At(`Not removing ${cS}: it resolves outside ${t} (symlinked working area)`);return}nn.rmSync(e,{recursive:!0,force:!0})}catch(e){At(`Could not remove ${cS} from the working tree: ${e.message}`)}}async function P9t(t={},e={retries:3,delay:2}){let r=async()=>{let{exitCode:n,stdout:s,stderr:i}=await Le("git",["rm","-r","-f","--cached","--quiet","--ignore-unmatch","--",...Z9e],{...t,ignoreReturnCode:!0});if(n!==0)throw new Error((i||s).trim()||`git rm --cached exited ${n}`)};try{await ks(r,{...e,label:"Unstage executor artifacts"});return}catch(n){let s=n instanceof Error?n.message:String(n),i;try{i=await k9t(t)}catch(o){let a=o instanceof Error?o.message:String(o);throw new Error(`Could not unstage executor artifacts (${s}), and could not check whether any are staged (${a}). Stopping rather than risk committing run videos or trace zips.`)}if(i.length===0){K(`Could not unstage executor artifacts (${s}), but none are staged \u2014 continuing.`);return}throw new Error(`Could not unstage executor artifacts (${s}), and these are still staged: ${i.join(", ")}. Committing would put run videos or trace zips in the repo, so this run stops. Usually another git process holds .git/index.lock; re-run once it is gone.`)}}async function k9t(t){let{exitCode:e,stdout:r,stderr:n}=await Le("git",["ls-files","--cached","-z","--",...Z9e],{...t,ignoreReturnCode:!0,silent:!0});if(e!==0)throw new Error((n||"").trim()||`git ls-files --cached exited ${e}`);return r.split("\0").filter(Boolean)}var _9t=/^scenario_.+\.json$/;function D9t(t){let e;try{e=JSON.parse(t)}catch{return!1}return Array.isArray(e)&&e.length>0&&e.every(r=>typeof r=="object"&&r!==null&&typeof r.Method=="string"&&typeof r.Path=="string"&&typeof r.Destination=="string"&&typeof r.StatusCode=="number")}async function Q9t(t,e={}){try{let r=eXe(e.cwd??process.cwd(),t);if(r.length===0)return;let n={...e,ignoreReturnCode:!1,silent:!0},{stdout:s}=await Le("git",["ls-files","--cached","-z"],n),i=s.split("\0").filter(Boolean).filter(p=>_9t.test(Pt.basename(p))&&tXe(p,r));if(i.length===0)return;let{exitCode:o,stdout:a}=await Le("git",["--literal-pathspecs","ls-tree","-z","HEAD","--",...i],{...n,ignoreReturnCode:!0}),c=new Map;if(o===0)for(let p of a.split("\0").filter(Boolean)){let m=p.indexOf(" ");c.set(p.slice(m+1),p.slice(0,m).split(" ")[2])}let l=[],u=[],d=[];for(let p of i){let m=c.get(p);if(m===void 0){l.push(p),d.push(p);continue}let{stdout:h}=await Le("git",["cat-file","blob",m],n);(D9t(h)?u:d).push(p)}d.length>0&&await Le("git",["--literal-pathspecs","reset","-q","--",...d],n),u.length>0&&(await Le("git",["--literal-pathspecs","rm","-f","-q","--cached","--",...u],n),te(`Removed scenario files an earlier run committed: ${u.join(", ")}`)),l.length>0&&te(`Left scenario files out of the commit: ${l.join(", ")}`)}catch(r){K(`Could not leave scenario files out of the commit: ${r instanceof Error?r.message:String(r)}`)}}function Vce(t){return t.services.map(e=>e.testDirectory).filter(e=>!!e)}function eXe(t,e){let r=[];for(let n of e){let s=Pt.isAbsolute(n)?n:Pt.resolve(t,n),i=Pt.relative(t,s);i.startsWith("..")||Pt.isAbsolute(i)||r.push(i===""?".":i.replace(/[/\\]+$/,""))}return r}function tXe(t,e){let r=Pt.normalize(t);return e.some(n=>{let s=Pt.normalize(n).replace(/[/\\]+$/,"");return s==="."||r===s||r.startsWith(s+Pt.sep)})}async function rXe(t,e,r){try{let n=eXe(t,r),{stdout:s}=await e(["diff","--cached","--name-only","-z"],{silent:!0}),i=s.split("\0").filter(Boolean).filter(c=>T9t.test(c)&&tXe(c,n));if(i.length===0)return;let o=i.map(c=>Pt.resolve(t,c)),a=await O9e(t,o);for(let c of a){let l=Pt.relative(t,c),{exitCode:u}=await e(["add","--",l],{ignoreReturnCode:!0});u===0?te(`Declared referenced env vars in ${l}`):K(`Failed to stage turbo.json update ${l}: git add exited ${u}`)}}catch(n){K(`turbo.json env reconciliation skipped: ${n instanceof Error?n.message:String(n)}`)}}async function Wce(t,e){let r=e.cwd??e.repoDir,n=r?{cwd:r}:{};if(await v9t($F(),r??process.cwd(),n),await N9t($F(),r??process.cwd(),n),!e.cwd){let{exitCode:c,stdout:l,stderr:u}=await Le("git",["update-index","--again"],{...n,silent:!0,ignoreReturnCode:!0});c!==0&&K(`git update-index --again failed: ${(u||l).trim()||`exit code ${c}`}`)}let s=new Set;for(let c of t.services)c.testDirectory&&s.add(c.testDirectory);e.cwd||s.add(e.workspaceFilePath);let i={ignoreReturnCode:!0,...n};for(let c of s){let{exitCode:l}=await Le("git",["add","--",c],i);l!==0&&K(`git add returned non-zero for '${c}', there may be no matching files`)}let o=AN;if(nn.existsSync(Pt.resolve(r??process.cwd(),o))){let{exitCode:c,stdout:l,stderr:u}=await Le("git",["add","--",o],i);c!==0&&K(`git add failed for '${o}': ${(u||l).trim()||`exit code ${c}`}`)}await P9t(i),await Q9t(Vce(t),i);let{exitCode:a}=await Le("git",["diff","--cached","--quiet"],i);return a!==0}function Oq(t){return`skyramp-testbot/pr-${t}`}async function $ce(t,e){try{return{staged:await Wce(t,e)}}catch(r){let n=r instanceof Error?r.message:String(r);return K(`Re-staging test files for the Testbot PR failed: ${n}`),{error:n}}}function M9t(t){return`skyramp-testbot/${t.replace(/[^A-Za-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")}-tests`}function z9e(t){return t.kind==="sha"?t.sha:`origin/${t.ref}`}function O9t(t){if(t instanceof eC)return t.status===422&&t.fieldErrors.some(r=>r.resource==="PullRequest"&&r.field==="base");let e=t instanceof Error?t.message:String(t);return e.includes('"resource":"PullRequest"')&&e.includes('"field":"base"')}function lS(t,e){return[e.stdout.trim(),e.stderr.trim()].filter(Boolean).join(`
356
356
  `)||`git ${t} exited with code ${e.exitCode}`}async function G9e(t){let e=(await t(["status","--porcelain","-z","--untracked-files=all"],!0)).stdout.split("\0"),r=new Set,n=new Set;for(let s=0;s<e.length;s++){let i=e[s];if(!i)continue;let[o,a,c]=[i[0],i[1],i.slice(3)];(o==="R"||o==="C")&&s++,o!==" "&&o!=="?"&&r.add(c),a!==" "&&n.add(c)}return{staged:r,dirty:n}}async function nXe(t){let e=await G9e(t);return async()=>{let r=await G9e(t),n=new Set(e.staged);for(let s of r.dirty)e.dirty.has(s)||n.add(s);for(let s of n)await t(["add","-A","--",s],!0)}}async function sXe(t,e,r,n=Mq){let s=await t(["commit","-m",e]);if(s.exitCode===0||!r)return{...s,commitMessage:e};let i=Date.now()+n,o,a=ge().repairTimedOut(Math.round(n/6e4)),c=0;for(;s.exitCode!==0&&Date.now()<i;){K(`git commit failed (exit code ${s.exitCode}); fixing what the hook reported and retrying`);let d=await nXe(t),p=await r({step:"commit",output:lS("commit",s),commitMessage:e,timeoutMs:i-Date.now(),attempt:++c});if(!p.repaired){a=p.reason;break}await d(),e=p.commitMessage??e,o=p.prTitle??o,s=await t(["commit","-m",e])}if(s.exitCode===0)return{...s,commitMessage:e,repairedPrTitle:o};let l=lS("commit",s);K("git commit is still rejected after the repairs; committing with --no-verify");let u=await t(["commit","--no-verify","-m",e]);return{...u,commitMessage:e,repairedPrTitle:o,bypassed:u.exitCode===0?{step:"commit",output:l,reason:a}:void 0}}async function iXe(t,e,r,n,s=Mq){let i=await t(!1);if(i.exitCode===0||!n)return{...i,commitMessage:r};let o=Date.now()+s,a,c=!1,l=ge().repairTimedOut(Math.round(s/6e4)),u="push",d=0;for(;i.exitCode!==0&&Date.now()<o;){K(`git ${u} failed (exit code ${i.exitCode}); fixing what was reported and retrying`);let h=await nXe(e),f=await n({step:u,output:lS(u,i),commitMessage:r,timeoutMs:o-Date.now(),attempt:++d});if(!f.repaired){l=f.reason;break}await h(),r=f.commitMessage??r,a=f.prTitle??a;let A=await e(["commit","--amend","-m",r]);if(A.exitCode!==0){u="commit",i=A;continue}c=!0,u="push",i=await t(!1)}if(i.exitCode===0)return{...i,commitMessage:r,repairedPrTitle:a,amended:c};let p=lS(u,i);K(`git ${u} is still rejected after the repairs; pushing with --no-verify`);let m=await t(!0);return{...m,commitMessage:r,repairedPrTitle:a,bypassed:m.exitCode===0?{step:u,output:p,reason:l}:void 0,amended:c}}async function L9t(t,e){zs("Auto-committing test changes");let r=e.repoDir,n=(m={})=>r?{...m,cwd:r}:m,s;try{s=await Wce(t,e)}catch(m){let h=m instanceof Error?m.message:String(m);return K(`Staging test files failed: ${h}`),dt("commit_sha",""),Pn(),{sha:"",hasChanges:!1,commitError:h}}if(!s)return Ce("No test file changes to commit"),dt("commit_sha",""),Pn(),{sha:"",hasChanges:!1};await rXe(r??process.cwd(),uT(r),Vce(t));let i=(m,h)=>Le("git",m,n({ignoreReturnCode:!0,silent:h})),o=await sXe(i,t.commitMessage,e.onGitRejected),{exitCode:a,stdout:c,stderr:l}=o;if(a!==0){let m=l.trim()||c.trim()||`git commit exited with code ${a}`;return K(`git commit failed (exit code ${a})`),dt("commit_sha",""),Pn(),{sha:"",hasChanges:!0,commitError:m}}let u=async()=>(await Le("git",["rev-parse","HEAD"],n({silent:!0}))).stdout.trim(),d=await u(),p;if(!e.onGitRejected)await $9e(t.prHeadRef,r,e.githubToken);else{if(p=await iXe(m=>$9e(t.prHeadRef,r,e.githubToken,{noVerify:m,ignoreReturnCode:!0}),i,o.commitMessage,e.onGitRejected),p.exitCode!==0)throw new Error(`git push failed (exit code ${p.exitCode}): ${lS("push",p)}`);p.amended&&(d=await u())}return Ce(`Committed and pushed test changes (${d})`),dt("commit_sha",d),Pn(),{sha:d,hasChanges:!0,verificationBypassed:p?.bypassed??o.bypassed}}var oXe="<!-- skyramp-testbot-no-changes-banner -->";function F9t(t,e){let r=e??`#${t}`;return[oXe,ge().staleBannerNoChanges(r),ge().staleBannerStillOpen,""].join(`
357
- `)}function U9t(t){let e=new RegExp(`${oXe}\\r?\\n(?:> [^\\n]*\\r?\\n){2}\\r?\\n?`,"g");return t.replace(e,"")}async function $9t(t,e,r){let{exitCode:n}=await t(["ls-remote","--exit-code","--heads","origin",e],{ignoreReturnCode:!0,silent:!0,env:r});return n===0}function q9t(t){return nn.existsSync(t)?nn.readdirSync(t,{recursive:!0,withFileTypes:!0}).filter(e=>e.isFile()).map(e=>Pt.join(e.parentPath,e.name)):[]}function Hce(t,e){let r=Pt.relative(Pt.resolve(t),Pt.resolve(e));return r===""||!r.startsWith("..")&&!Pt.isAbsolute(r)}async function j9e(t,e,r,n){let s=new Map;for(let u of t.services){if(!u.testDirectory)continue;let d=Pt.isAbsolute(u.testDirectory)?u.testDirectory:Pt.join(r,u.testDirectory);if(!Hce(r,d)){K(`Skipping testDirectory outside the repo checkout: ${u.testDirectory}`);continue}for(let p of q9t(d))s.set(Pt.relative(r,p),nn.readFileSync(p))}let i=Pt.join(r,AN);nn.existsSync(i)&&s.set(AN,nn.readFileSync(i));let o=Pt.isAbsolute(e)?e:Pt.join(r,e);if(!Hce(r,o))return s;let a=Pt.relative(r,o),{exitCode:c,stdout:l}=await n(["status","--porcelain","--",a],{silent:!0,ignoreReturnCode:!0});return c===0&&l.trim()!==""&&nn.existsSync(o)&&s.set(a,nn.readFileSync(o)),s}function V9e(t,e){for(let[r,n]of t){let s=Pt.join(e,r);Hce(e,s)&&(nn.mkdirSync(Pt.dirname(s),{recursive:!0}),nn.writeFileSync(s,n))}}function Mm(){dt("commit_sha",""),dt("testbot_pr_url",""),dt("testbot_pr_number","")}async function H9t(t,e){return Sn("Creating Testbot PR for generated tests",async()=>{let r=!!(e.targetOwner&&e.targetRepo&&e.testsRepoDir),{owner:n,name:s}=e.platform.repository,i=r?e.targetOwner:n,o=r?e.targetRepo:s,a=e.sourceRepository??e.platform.repository,c=a.owner,l=a.name,u={workspaceFilePath:e.workspaceFilePath,cwd:r?e.testsRepoDir:void 0,repoDir:r?void 0:e.repoDir};async function d(fe){Ce("No test file changes to commit \u2014 skipping Testbot PR creation"),dt("commit_sha","");let se=await zce(e.platform,fe);if(se){let Z=U9t(se.body),me=F9t(e.prNumber,e.bannerSource)+Z;try{await e.platform.updateCodeReview({number:se.number,body:me}),Ce(`Annotated existing Testbot PR #${se.number} with no-changes banner`)}catch(ce){K(`Failed to annotate Testbot PR #${se.number}: ${ce instanceof Error?ce.message:String(ce)}`)}return dt("testbot_pr_url",se.url),dt("testbot_pr_number",String(se.number)),{url:se.url,number:se.number,sha:"",hasChanges:!1,annotatedStale:!0}}return Mm(),{url:"",number:0,sha:"",hasChanges:!1}}let p;try{p=await Wce(t,u)}catch(fe){let se=fe instanceof Error?fe.message:String(fe);return K(`Staging test files for the Testbot PR failed: ${se}`),Mm(),{url:"",number:0,sha:"",hasChanges:!1,stagingError:se}}if(!p)return d(e.branchName??Oq(e.prNumber));let m=e.branchName??Oq(e.prNumber),h=e.testsRepoDir??e.repoDir,f=Pt.resolve(h??process.cwd()),A=uT(h);await CYe(h);let b=await J9e(e.githubToken,h),y=!!e.isFollowUp&&await $9t(A,m,b),x;if(r&&!e.targetBaseRef&&e.testsRepoDir){let{stdout:fe}=await Le("git",["rev-parse","--abbrev-ref","HEAD"],{cwd:e.testsRepoDir,silent:!0}),se=fe.trim();se&&se!=="HEAD"&&(x=se)}if(y){let fe=await j9e(t,e.workspaceFilePath,f,A);await A(["stash","push","--include-untracked","-m","skyramp-testbot testbot-pr changes","--",".",...q9e(f)]),H9e(f);try{await A(["fetch","origin",m],{env:b}),await A(["checkout","-B",m,`origin/${m}`])}catch(Z){await A(["stash","pop"],{ignoreReturnCode:!0});let me=Z instanceof Error?Z.message:String(Z);return K(`Failed to base Testbot PR branch on existing tip origin/${m}: ${me}`),Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:me}}await A(["stash","drop"],{ignoreReturnCode:!0,silent:!0}),V9e(fe,f);let se=await $ce(t,u);if("error"in se)return Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:se.error};if(!se.staged)return d(m)}else if(r){try{await A(["checkout","-B",m])}catch(se){let Z=se instanceof Error?se.message:String(se);return K(`Failed to check out Testbot PR branch in test repo: ${Z}`),Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:Z}}let fe=await $ce(t,{workspaceFilePath:e.workspaceFilePath,cwd:e.testsRepoDir});if("error"in fe)return Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:fe.error}}else{let{exitCode:fe,stdout:se,stderr:Z}=await A(["diff","HEAD","-z","--name-only"],{silent:!0,ignoreReturnCode:!0});fe!==0&&K(`git diff HEAD failed (exit ${fe}): ${Z.trim()||"(no stderr)"} \u2014 maintained test files may not be re-staged`);let me=fe===0?se.split("\0").filter(Boolean):[],ce=await j9e(t,e.workspaceFilePath,f,A);await A(["stash","push","--include-untracked","-m","skyramp-testbot testbot-pr changes","--",".",...q9e(f)]),H9e(f);try{e.cutPoint.kind==="sha"?await A(["checkout","-B",m,e.cutPoint.sha]):(await A(["fetch","origin",e.cutPoint.ref],{env:b}),await A(["checkout","-B",m,`origin/${e.cutPoint.ref}`]))}catch(He){await A(["stash","pop"],{ignoreReturnCode:!0});let Ke=He instanceof Error?He.message:String(He);return K(`Failed to check out Testbot PR branch from ${z9e(e.cutPoint)}: ${Ke}`),Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:Ke}}let{exitCode:le,stderr:Fe}=await A(["stash","pop"],{ignoreReturnCode:!0});if(le!==0){let He=me.filter(Ct=>!ce.has(Ct)),Ke=He.length>0?He.join(", "):"(none \u2014 all agent-modified paths are covered by the snapshot)";K(`git stash pop failed (exit ${le}) after cutting from ${z9e(e.cutPoint)}: ${Fe.trim()||"(no stderr)"} \u2014 restoring generated files from the snapshot. Maintained test files outside a configured testDirectory may not be recovered: ${Ke}`),await A(["reset","--hard"],{ignoreReturnCode:!0}),V9e(ce,f)}for(let He of me)await A(["add","-A","--",He],{ignoreReturnCode:!0,silent:!0});let et=await $ce(t,{workspaceFilePath:e.workspaceFilePath,repoDir:e.repoDir});if("error"in et)return Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:et.error}}await rXe(f,A,Vce(t));let I=(fe,se)=>A(fe,{ignoreReturnCode:!0,silent:se}),v=await sXe(I,t.commitMessage,e.onGitRejected),{exitCode:T,stdout:N,stderr:O}=v;if(T!==0){let fe=O.trim()||N.trim()||`git commit exited with code ${T}`;return K(`git commit failed (exit code ${T})`),Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:fe}}let{stdout:F}=await A(["rev-parse","HEAD"],{silent:!0}),L=F.trim(),j;if(!e.onGitRejected)await A(["push","--force","origin",`HEAD:refs/heads/${m}`],{env:b});else{if(j=await iXe(fe=>A(["push","--force",...fe?["--no-verify"]:[],"origin",`HEAD:refs/heads/${m}`],{env:b,ignoreReturnCode:!0}),I,v.commitMessage,e.onGitRejected),j.exitCode!==0)throw new Error(`git push failed (exit code ${j.exitCode}): ${lS("push",j)}`);j.amended&&(L=(await A(["rev-parse","HEAD"],{silent:!0})).stdout.trim())}let J=j?.bypassed??v.bypassed;J&&e.onVerificationBypassed?.(J),At(`Pushed Testbot PR branch ${m} @ ${L}`);let z=j?.repairedPrTitle??v.repairedPrTitle??e.title,q=r?`${c}/${l}#${e.prNumber}`:`#${e.prNumber}`,U=e.backlinkText??(e.retargeted?ge().testbotPrMergedBacklink(q):ge().testbotPrBacklink(q)),M=e.reportMarkdown??z9t(e.prNumber),X;if(M.includes(U))X=M;else{let fe=G9t().reduce((se,Z)=>se.replace(Z,""),M);X=`${U}
357
+ `)}function U9t(t){let e=new RegExp(`${oXe}\\r?\\n(?:> [^\\n]*\\r?\\n){2}\\r?\\n?`,"g");return t.replace(e,"")}async function $9t(t,e,r){let{exitCode:n}=await t(["ls-remote","--exit-code","--heads","origin",e],{ignoreReturnCode:!0,silent:!0,env:r});return n===0}function q9t(t){return nn.existsSync(t)?nn.readdirSync(t,{recursive:!0,withFileTypes:!0}).filter(e=>e.isFile()).map(e=>Pt.join(e.parentPath,e.name)):[]}function Hce(t,e){let r=Pt.relative(Pt.resolve(t),Pt.resolve(e));return r===""||!r.startsWith("..")&&!Pt.isAbsolute(r)}async function j9e(t,e,r,n){let s=new Map;for(let u of t.services){if(!u.testDirectory)continue;let d=Pt.isAbsolute(u.testDirectory)?u.testDirectory:Pt.join(r,u.testDirectory);if(!Hce(r,d)){K(`Skipping testDirectory outside the repo checkout: ${u.testDirectory}`);continue}for(let p of q9t(d))s.set(Pt.relative(r,p),nn.readFileSync(p))}let i=Pt.join(r,AN);nn.existsSync(i)&&s.set(AN,nn.readFileSync(i));let o=Pt.isAbsolute(e)?e:Pt.join(r,e);if(!Hce(r,o))return s;let a=Pt.relative(r,o),{exitCode:c,stdout:l}=await n(["status","--porcelain","--",a],{silent:!0,ignoreReturnCode:!0});return c===0&&l.trim()!==""&&nn.existsSync(o)&&s.set(a,nn.readFileSync(o)),s}function V9e(t,e){for(let[r,n]of t){let s=Pt.join(e,r);Hce(e,s)&&(nn.mkdirSync(Pt.dirname(s),{recursive:!0}),nn.writeFileSync(s,n))}}function Mm(){dt("commit_sha",""),dt("testbot_pr_url",""),dt("testbot_pr_number","")}async function H9t(t,e){return Sn("Creating Testbot PR for generated tests",async()=>{let r=!!(e.targetOwner&&e.targetRepo&&e.testsRepoDir),{owner:n,name:s}=e.platform.repository,i=r?e.targetOwner:n,o=r?e.targetRepo:s,a=e.sourceRepository??e.platform.repository,c=a.owner,l=a.name,u={workspaceFilePath:e.workspaceFilePath,cwd:r?e.testsRepoDir:void 0,repoDir:r?void 0:e.repoDir};async function d(fe){Ce("No test file changes to commit \u2014 skipping Testbot PR creation"),dt("commit_sha","");let se=await zce(e.platform,fe);if(se){let Z=U9t(se.body),me=F9t(e.prNumber,e.bannerSource)+Z;try{await e.platform.updateCodeReview({number:se.number,body:me}),Ce(`Annotated existing Testbot PR #${se.number} with no-changes banner`)}catch(ce){K(`Failed to annotate Testbot PR #${se.number}: ${ce instanceof Error?ce.message:String(ce)}`)}return dt("testbot_pr_url",se.url),dt("testbot_pr_number",String(se.number)),{url:se.url,number:se.number,sha:"",hasChanges:!1,annotatedStale:!0}}return Mm(),{url:"",number:0,sha:"",hasChanges:!1}}let p;try{p=await Wce(t,u)}catch(fe){let se=fe instanceof Error?fe.message:String(fe);return K(`Staging test files for the Testbot PR failed: ${se}`),Mm(),{url:"",number:0,sha:"",hasChanges:!1,stagingError:se}}if(!p)return d(e.branchName??Oq(e.prNumber));let m=e.branchName??Oq(e.prNumber),h=e.testsRepoDir??e.repoDir,f=Pt.resolve(h??process.cwd()),A=uT(h);await CYe(h);let b=await J9e(e.githubToken,h),y=!!e.isFollowUp&&await $9t(A,m,b),x;if(r&&!e.targetBaseRef&&e.testsRepoDir){let{stdout:fe}=await Le("git",["rev-parse","--abbrev-ref","HEAD"],{cwd:e.testsRepoDir,silent:!0}),se=fe.trim();se&&se!=="HEAD"&&(x=se)}if(y){let fe=await j9e(t,e.workspaceFilePath,f,A);await A(["stash","push","--include-untracked","-m","skyramp-testbot testbot-pr changes","--",".",...q9e(f)]),H9e(f);try{await A(["fetch","origin",m],{env:b}),await A(["checkout","-B",m,`origin/${m}`])}catch(Z){await A(["stash","pop"],{ignoreReturnCode:!0});let me=Z instanceof Error?Z.message:String(Z);return K(`Failed to base Testbot PR branch on existing tip origin/${m}: ${me}`),Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:me}}await A(["stash","drop"],{ignoreReturnCode:!0,silent:!0}),V9e(fe,f);let se=await $ce(t,u);if("error"in se)return Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:se.error};if(!se.staged)return d(m)}else if(r){try{await A(["checkout","-B",m])}catch(se){let Z=se instanceof Error?se.message:String(se);return K(`Failed to check out Testbot PR branch in test repo: ${Z}`),Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:Z}}let fe=await $ce(t,{workspaceFilePath:e.workspaceFilePath,cwd:e.testsRepoDir});if("error"in fe)return Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:fe.error}}else{let{exitCode:fe,stdout:se,stderr:Z}=await A(["diff","HEAD","-z","--name-only"],{silent:!0,ignoreReturnCode:!0});fe!==0&&K(`git diff HEAD failed (exit ${fe}): ${Z.trim()||"(no stderr)"} \u2014 maintained test files may not be re-staged`);let me=fe===0?se.split("\0").filter(Boolean):[],ce=await j9e(t,e.workspaceFilePath,f,A);await A(["stash","push","--include-untracked","-m","skyramp-testbot testbot-pr changes","--",".",...q9e(f)]),H9e(f);try{e.cutPoint.kind==="sha"?await A(["checkout","-B",m,e.cutPoint.sha]):(await A(["fetch","origin",e.cutPoint.ref],{env:b}),await A(["checkout","-B",m,`origin/${e.cutPoint.ref}`]))}catch(He){await A(["stash","pop"],{ignoreReturnCode:!0});let Ke=He instanceof Error?He.message:String(He);return K(`Failed to check out Testbot PR branch from ${z9e(e.cutPoint)}: ${Ke}`),Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:Ke}}let{exitCode:le,stderr:Ue}=await A(["stash","pop"],{ignoreReturnCode:!0});if(le!==0){let He=me.filter(Ct=>!ce.has(Ct)),Ke=He.length>0?He.join(", "):"(none \u2014 all agent-modified paths are covered by the snapshot)";K(`git stash pop failed (exit ${le}) after cutting from ${z9e(e.cutPoint)}: ${Ue.trim()||"(no stderr)"} \u2014 restoring generated files from the snapshot. Maintained test files outside a configured testDirectory may not be recovered: ${Ke}`),await A(["reset","--hard"],{ignoreReturnCode:!0}),V9e(ce,f)}for(let He of me)await A(["add","-A","--",He],{ignoreReturnCode:!0,silent:!0});let et=await $ce(t,{workspaceFilePath:e.workspaceFilePath,repoDir:e.repoDir});if("error"in et)return Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:et.error}}await rXe(f,A,Vce(t));let I=(fe,se)=>A(fe,{ignoreReturnCode:!0,silent:se}),v=await sXe(I,t.commitMessage,e.onGitRejected),{exitCode:T,stdout:N,stderr:O}=v;if(T!==0){let fe=O.trim()||N.trim()||`git commit exited with code ${T}`;return K(`git commit failed (exit code ${T})`),Mm(),{url:"",number:0,sha:"",hasChanges:!0,commitError:fe}}let{stdout:F}=await A(["rev-parse","HEAD"],{silent:!0}),L=F.trim(),j;if(!e.onGitRejected)await A(["push","--force","origin",`HEAD:refs/heads/${m}`],{env:b});else{if(j=await iXe(fe=>A(["push","--force",...fe?["--no-verify"]:[],"origin",`HEAD:refs/heads/${m}`],{env:b,ignoreReturnCode:!0}),I,v.commitMessage,e.onGitRejected),j.exitCode!==0)throw new Error(`git push failed (exit code ${j.exitCode}): ${lS("push",j)}`);j.amended&&(L=(await A(["rev-parse","HEAD"],{silent:!0})).stdout.trim())}let J=j?.bypassed??v.bypassed;J&&e.onVerificationBypassed?.(J),At(`Pushed Testbot PR branch ${m} @ ${L}`);let z=j?.repairedPrTitle??v.repairedPrTitle??e.title,q=r?`${c}/${l}#${e.prNumber}`:`#${e.prNumber}`,U=e.backlinkText??(e.retargeted?ge().testbotPrMergedBacklink(q):ge().testbotPrBacklink(q)),M=e.reportMarkdown??z9t(e.prNumber),X;if(M.includes(U))X=M;else{let fe=G9t().reduce((se,Z)=>se.replace(Z,""),M);X=`${U}
358
358
 
359
- ${fe}`}let pe=e.targetBaseRef??x??e.cutPoint.ref,ae=r?`${i}:${m}`:m;async function Ee(fe,se){try{let Z=await e.platform.createCodeReview({headBranch:ae,baseBranch:fe,title:z,body:X}),me=`https://github.com/${i}/${o}/pull/${Z.number}`;return Ce(`Opened Testbot PR #${Z.number}: ${me}`),dt("commit_sha",L),dt("testbot_pr_url",me),dt("testbot_pr_number",String(Z.number)),{url:me,number:Z.number,sha:L,hasChanges:!0}}catch(Z){let me=await zce(e.platform,m);if(me){try{await e.platform.updateCodeReview({number:me.number,title:z,body:X}),Ce(`Updated existing Testbot PR #${me.number}: ${me.url}`)}catch(le){K(`Reusing Testbot PR #${me.number} but failed to refresh body: ${le instanceof Error?le.message:String(le)}`)}return dt("commit_sha",L),dt("testbot_pr_url",me.url),dt("testbot_pr_number",String(me.number)),{url:me.url,number:me.number,sha:L,hasChanges:!0}}let ce=Z instanceof Error?Z.message:String(Z);if(O9t(Z)&&!se&&e.prNumber&&!r&&!y){let le=await Uce({platform:e.platform,prNumber:e.prNumber,prHeadRef:e.cutPoint.ref,prHeadSha:e.cutPoint.kind==="sha"?e.cutPoint.sha:void 0});if(le?.cutPoint.kind==="remote-branch"){K(`Testbot PR base '${e.cutPoint.ref}' no longer exists \u2014 re-cutting against '${le.cutPoint.ref}' and retrying.`);try{return await A(["fetch","origin",le.cutPoint.ref],{env:b}),await A(["checkout","-B",m,`origin/${le.cutPoint.ref}`]),await A(["cherry-pick","--keep-redundant-commits",L]),await A(["push","--force","origin",`HEAD:refs/heads/${m}`],{env:b}),Ee(le.cutPoint.ref,!0)}catch(Fe){await A(["cherry-pick","--abort"],{ignoreReturnCode:!0});let et=Fe instanceof Error?Fe.message:String(Fe);return K(`Failed to re-cut Testbot PR branch against '${le.cutPoint.ref}': ${et}`),dt("commit_sha",L),dt("testbot_pr_url",""),dt("testbot_pr_number",""),{url:"",number:0,sha:L,hasChanges:!0,prCreationError:`${ce} (re-cut against '${le.cutPoint.ref}' also failed: ${et})`}}}}return K(`Failed to open Testbot PR: ${ce}`),dt("commit_sha",L),dt("testbot_pr_url",""),dt("testbot_pr_number",""),{url:"",number:0,sha:L,hasChanges:!0,prCreationError:ce}}}return Ee(pe,!1)})}async function zce(t,e){try{let r=await t.listOpenCodeReviews(e);if(r.length>0){let n=r[0],s=`https://github.com/${t.repository.owner}/${t.repository.name}/pull/${n.number}`;return{number:n.number,url:s,body:n.body}}}catch(r){te(`Failed to look up existing Testbot PR on ${e}: ${r instanceof Error?r.message:String(r)}`)}return null}function z9t(t){return["<!-- skyramp-testbot-pr -->",ge().testbotPrBacklink(`#${t}`),"",ge().testbotPrMergeHint].join(`
359
+ ${fe}`}let pe=e.targetBaseRef??x??e.cutPoint.ref,ae=r?`${i}:${m}`:m;async function Ee(fe,se){try{let Z=await e.platform.createCodeReview({headBranch:ae,baseBranch:fe,title:z,body:X}),me=`https://github.com/${i}/${o}/pull/${Z.number}`;return Ce(`Opened Testbot PR #${Z.number}: ${me}`),dt("commit_sha",L),dt("testbot_pr_url",me),dt("testbot_pr_number",String(Z.number)),{url:me,number:Z.number,sha:L,hasChanges:!0}}catch(Z){let me=await zce(e.platform,m);if(me){try{await e.platform.updateCodeReview({number:me.number,title:z,body:X}),Ce(`Updated existing Testbot PR #${me.number}: ${me.url}`)}catch(le){K(`Reusing Testbot PR #${me.number} but failed to refresh body: ${le instanceof Error?le.message:String(le)}`)}return dt("commit_sha",L),dt("testbot_pr_url",me.url),dt("testbot_pr_number",String(me.number)),{url:me.url,number:me.number,sha:L,hasChanges:!0}}let ce=Z instanceof Error?Z.message:String(Z);if(O9t(Z)&&!se&&e.prNumber&&!r&&!y){let le=await Uce({platform:e.platform,prNumber:e.prNumber,prHeadRef:e.cutPoint.ref,prHeadSha:e.cutPoint.kind==="sha"?e.cutPoint.sha:void 0});if(le?.cutPoint.kind==="remote-branch"){K(`Testbot PR base '${e.cutPoint.ref}' no longer exists \u2014 re-cutting against '${le.cutPoint.ref}' and retrying.`);try{return await A(["fetch","origin",le.cutPoint.ref],{env:b}),await A(["checkout","-B",m,`origin/${le.cutPoint.ref}`]),await A(["cherry-pick","--keep-redundant-commits",L]),await A(["push","--force","origin",`HEAD:refs/heads/${m}`],{env:b}),Ee(le.cutPoint.ref,!0)}catch(Ue){await A(["cherry-pick","--abort"],{ignoreReturnCode:!0});let et=Ue instanceof Error?Ue.message:String(Ue);return K(`Failed to re-cut Testbot PR branch against '${le.cutPoint.ref}': ${et}`),dt("commit_sha",L),dt("testbot_pr_url",""),dt("testbot_pr_number",""),{url:"",number:0,sha:L,hasChanges:!0,prCreationError:`${ce} (re-cut against '${le.cutPoint.ref}' also failed: ${et})`}}}}return K(`Failed to open Testbot PR: ${ce}`),dt("commit_sha",L),dt("testbot_pr_url",""),dt("testbot_pr_number",""),{url:"",number:0,sha:L,hasChanges:!0,prCreationError:ce}}}return Ee(pe,!1)})}async function zce(t,e){try{let r=await t.listOpenCodeReviews(e);if(r.length>0){let n=r[0],s=`https://github.com/${t.repository.owner}/${t.repository.name}/pull/${n.number}`;return{number:n.number,url:s,body:n.body}}}catch(r){te(`Failed to look up existing Testbot PR on ${e}: ${r instanceof Error?r.message:String(r)}`)}return null}function z9t(t){return["<!-- skyramp-testbot-pr -->",ge().testbotPrBacklink(`#${t}`),"",ge().testbotPrMergeHint].join(`
360
360
  `)}function G9t(){return hqe().map(({prefix:t,suffix:e})=>new RegExp(`^${qce(t)}[^
361
361
  ]+${qce(e)}
362
362
 
@@ -377,7 +377,7 @@ ${fe}`}let pe=e.targetBaseRef??x??e.cutPoint.ref,ae=r?`${i}:${m}`:m;async functi
377
377
  }).catch(e => { console.error(e.message); process.exit(1); });
378
378
  `}function dXe(t,e){return Le("node",["-e",lXt()],{cwd:e,env:{LICENSE_FILE:t,CI:"true"}})}We();var pXe=H(require("os")),Xce=H(require("path"));async function mXe(t){await Sn("Installing Playwright browsers",async()=>{let e=Xce.join(t,".bin","playwright"),r=Xce.join(pXe.homedir(),".cache","ms-playwright");Cs("PLAYWRIGHT_BROWSERS_PATH",r);let{stdout:n}=await Le(e,["--version"]),s=n.trim().replace(/^Version\s*/i,"")||"unknown",i=`playwright-${process.platform}-${process.arch}-${s}`;await fB([r],i,"Playwright browsers")?await Le(e,["install-deps","chromium"]):(await ks(async()=>{await Le(e,["install","--with-deps","chromium"]),Ce("Playwright chromium browser installed successfully")},{retries:2,delay:5,label:"Playwright install"}),await hB([r],i,"Playwright browsers"))})}function uXt(){return["<!-- skyramp-testbot -->",ge().workspaceTestbotPrHeader,"",ge().workspaceTestbotPrBody].join(`
379
379
  `)}function Fq(t,e,r=!1){let n=l=>{r||K(l)},s=process.env.GITHUB_WORKSPACE||process.cwd(),i;try{i=cr.realpathSync(s)}catch{i=An.resolve(s)}if(An.isAbsolute(t)){n(`${e} '${t}' must be relative to $GITHUB_WORKSPACE \u2014 skipping`);return}let o=An.resolve(s,t);if(!cr.existsSync(o)){n(`${e} '${t}' does not exist on the runner \u2014 skipping`);return}let a;try{a=cr.realpathSync(o)}catch(l){n(`${e} '${t}' could not be resolved (${l instanceof Error?l.message:String(l)}) \u2014 skipping`);return}let c=An.relative(i,a);if(c===".."||c.startsWith(`..${An.sep}`)||An.isAbsolute(c)){n(`${e} '${t}' resolves outside $GITHUB_WORKSPACE ('${a}') \u2014 skipping`);return}return a}async function dXt(t){return(await Promise.all(t.map(async r=>{if(!r)return;let n=Fq(r,"mask guard path",!0);if(!n)return;let s=await Om(n),i=s?Qc(s):null;return i?{owner:i.owner,name:i.repo}:void 0}))).filter(r=>r!==void 0)}async function pXt(t,e,r,n,s){let{number:i,merged:o,base:{ref:a}}=e,c=await lXe({platform:t,prNumber:i,merged:o,baseBranch:a,testRepo:n,githubToken:r,getFreshToken:s});if(c.outcome==="noop")return;let l=c.outcome==="retargeted"?ge().devPrMergedBreadcrumb(c.testbotPrNumber,c.testbotPrUrl,a):ge().devPrClosedBreadcrumb(c.testbotPrNumber,c.testbotPrUrl),u=`<!-- skyramp-testbot -->
380
- ${l}`;await wm(i,u),Ce(l)}async function fXe(t,e){let r=Date.now(),n=Ue("githubToken"),s=Ue("githubAppId"),i=Ue("githubAppPrivateKey");delete process.env.INPUT_GITHUBAPPPRIVATEKEY;let o;if(s&&i){let re=Qc(process.env.GITHUB_REPOSITORY??"");re?(o=new DE({appId:s,privateKey:i,owner:re.owner,repo:re.repo,repositories:[re.repo]}),te("GitHub App credentials provided \u2014 minting fresh installation tokens on demand")):K("githubAppId/githubAppPrivateKey are set but GITHUB_REPOSITORY is not \u2014 falling back to githubToken (which expires after 1h)")}let a=o,c=a?()=>a.getToken():void 0,l=()=>{let re=Math.round((Date.now()-r)/6e4);!a&&re>=50&&K(`This run has been going for ${re} minutes \u2014 a workflow-minted GitHub App token expires after 1 hour, so the upcoming git push / API calls may fail with 401. Set the githubAppId and githubAppPrivateKey action inputs so Skyramp Testbot can mint fresh tokens during long runs.`)};if(RJe(n),t||(t=yN(c??n)),IJe(t),process.env.NODE_ENV!=="test"){let re=we=>{kn("cancelled","true"),process.kill(process.pid,we)};process.once("SIGINT",re),process.once("SIGTERM",re)}let u=t.parseTriggerEvent(),d=An.resolve(Ue("workingDirectory")||"."),{skip:p,botName:m,botEmail:h}=await bJe(u,d);if(dt("skipped_self_trigger",String(p)),p)return;let f=xU();if(fqe(f.language),f.uiCredentials&&uXe(f.uiCredentials,[t.repository,...await dXt([f.testRepoPath,...f.relatedRepoPaths??[]])]),u.kind==="code_review"&&u.action==="closed"){let re=u.rawPayload.pull_request;if(re){let we=Ue("testRepoPath")||void 0,lt;if(we){let kt=Fq(we,"testRepoPath");kt&&(lt=await Om(kt)??void 0)}await pXt(t,re,n,lt,c)}return}let A=u.kind==="comment",b=u.kind==="manual_dispatch",y,x="",I="",v="",T="",N,O,F,L="";if(b){if(y=u.codeReviewNumber,y)try{let re=await t.getCodeReview(y);if(x=re.title,I=re.body,v=re.baseRef,O=re.headSha,F=re.headRef,L=re.author,Ce(`Retrigger via workflow_dispatch for PR #${y}`),O)try{N=await t.createCommitStatus({commitSha:O,name:"Skyramp Testbot (retrigger)",status:"running",detailsUrl:t.getRunUrl()}),te(`Created commit status on PR head SHA ${O}`)}catch(we){K(`Failed to create commit status on PR: ${we}`)}}catch(re){K(`Failed to fetch PR details for workflow_dispatch event: ${re}`)}}else if(A){let re=u.comment?.body,we=u.comment?.author;if(re?.includes("@skyramp-testbot")){if(y=u.codeReviewNumber,!we||we.endsWith("[bot]"))return;if(we)try{let kt=await t.getPermissionLevel(we);if(kt!=="admin"&&kt!=="write"){te(`Ignoring @skyramp-testbot from ${we} (permission: ${kt})`),y&&await t.createComment(y,`Sorry \`@${we}\`, only collaborators with **write** access can trigger Testbot.`);return}}catch(kt){te(`Ignoring @skyramp-testbot from ${we} \u2014 permission check failed: ${kt instanceof Error?kt.message:String(kt)}`),y&&await t.createComment(y,`Sorry \`@${we}\`, only collaborators with **write** access can trigger Testbot.`);return}let lt=re.match(/@skyramp-testbot\s+([\s\S]*)/i);if(lt&&(T=lt[1].trim()),y)try{let kt=await t.getCodeReview(y);if(x=kt.title,I=kt.body,v=kt.baseRef,O=kt.headSha,F=kt.headRef,L=kt.author,Ce(`Triggered via @skyramp-testbot comment on PR #${y}`),f.allowedAuthors.length>0&&!f.allowedAuthors.includes(L)){te(`Skipping: PR author '${L}' is not in allowedAuthors list`);return}if(O)try{N=await t.createCommitStatus({commitSha:O,name:"Skyramp Testbot (@skyramp-testbot)",status:"running",detailsUrl:t.getRunUrl()}),te(`Created commit status on PR head SHA ${O}`)}catch(li){K(`Failed to create commit status on PR: ${li}`)}}catch(kt){K(`Failed to fetch PR details for issue_comment event: ${kt}`)}}else{te("Comment does not mention @skyramp-testbot, skipping.");return}}else{let we=u.rawPayload.pull_request;y=we?.number,x=we?.title??"",I=we?.body??"",v=we?.base?.ref??"",L=we?.user?.login??"",F=we?.head?.ref,O=we?.head?.sha}if(f.allowedAuthors.length>0){if(!L){te("Skipping: PR author could not be resolved and allowedAuthors is configured");return}if(!f.allowedAuthors.includes(L)){te(`Skipping: PR author '${L}' is not in allowedAuthors list`);return}}if(T&&!y){ul("userPrompt requires a PR context (prNumber). This should not happen for issue_comment events.");return}let j,J;try{J=bYe(f),j=kU(J,{model:AYe(f,e?.model),effort:f.effort,useBedrock:f.useBedrock,useLocalAuth:f.useLocalAuth&&!f.useBedrock})}catch(re){throw await bT(y,re.message),re}if(!f.skyrampLicenseFile)throw await bT(y,"skyrampLicenseFile is required but not provided"),new Error("skyrampLicenseFile is required but not provided");let z=await AT(f),q=An.resolve(f.workingDirectory,I7);if(IYe(z.enableDebug),At(`Resolved config: ${JSON.stringify({targetSetupCommand:z.targetSetupCommand,authTokenCommand:z.authTokenCommand?"<set>":"<empty>",skyrampExecutorVersion:z.skyrampExecutorVersion,skyrampMcpVersion:z.skyrampMcpVersion,skyrampMcpSource:z.skyrampMcpSource,skipTargetSetup:z.skipTargetSetup,autoCommit:z.autoCommit,commitMessage:z.commitMessage,postPrComment:z.postPrComment,testbotMaxRetries:z.testbotMaxRetries,testbotRetryDelay:z.testbotRetryDelay,testbotTimeout:z.testbotTimeout,enableDebug:z.enableDebug},null,2)}`),!["npm","github","local"].includes(z.skyrampMcpSource))throw await bT(y,`skyrampMcpSource must be 'npm', 'github', or 'local', got '${z.skyrampMcpSource}'`),new Error(`Invalid skyrampMcpSource: ${z.skyrampMcpSource}`);if(z.skyrampMcpSource==="github"&&!f.skyrampMcpGithubToken)throw await bT(y,"skyrampMcpGithubToken is required when skyrampMcpSource is 'github'"),new Error("skyrampMcpGithubToken required for github source");if(y!==void 0&&await xJe(t,y)){Ce(`PR #${y} was closed without merging before this run started \u2014 skipping test maintenance so the concurrency lane is released for other PRs.`),dt(Une,"true");return}let U=pd();cr.mkdirSync(U,{recursive:!0});let M={tempDir:U,licensePath:An.join(U,"skyramp_license.lic"),summaryPath:An.join(U,"testbot-result.txt"),agentLogPath:An.join(U,"agent-log.ndjson"),agentStdoutPath:An.join(U,"agent-stdout.txt"),combinedResultPath:An.join(U,"combined-result.txt"),stateFilePath:An.join(U,UF)},X=An.resolve(f.workingDirectory);At(`Paths: tempDir=${U}, workingDir=${X}`),At(`PR #${y??"N/A"}, event=${u.kind}/${u.action}`);let pe=await Om(X);if(!pe)throw new Error(`Could not resolve owner/repo from the origin remote of ${X}. Testbot needs it: every report item and tool call names the repository it belongs to.`);F&&u.kind!=="code_review"&&(await Le("git",["checkout",F],{cwd:X}),te(`Checked out PR head branch: ${F}`));let ae=SJe(A),Ee=null;z.postPrComment&&y&&(wT(ae,"setup",Date.now()),Ee=await vJe(y,ae),Ee&&(kn("progressCommentId",String(Ee)),kn("steps",JSON.stringify(ae))));let fe=new AbortController,se=y!==void 0?CJe({platform:t,prNumber:y,onAbandoned:()=>fe.abort()}):void 0;se?.start();let Z,me=()=>{if(Z)try{process.kill(-Z,"SIGTERM")}catch{}},ce=async(re,we=fe.signal.aborted)=>we?(Ce(`PR #${y} was closed without merging (detected ${re}) \u2014 stopping so the concurrency lane is released for other PRs.`),dt(Une,"true"),se?.stop(),Ee&&await FU(Ee,TJe(ae,t.getRunUrl(),"abandoned")),me(),kn("completed","true"),!0):!1;await Sn("Configuring Skyramp license",async()=>{if(cr.writeFileSync(M.licensePath,f.skyrampLicenseFile,{mode:384}),!cr.statSync(M.licensePath).size){let re="License file is empty or could not be created";throw y&&await wm(y,`## :warning: Skyramp Testbot - License Error
380
+ ${l}`;await wm(i,u),Ce(l)}async function fXe(t,e){let r=Date.now(),n=Fe("githubToken"),s=Fe("githubAppId"),i=Fe("githubAppPrivateKey");delete process.env.INPUT_GITHUBAPPPRIVATEKEY;let o;if(s&&i){let re=Qc(process.env.GITHUB_REPOSITORY??"");re?(o=new DE({appId:s,privateKey:i,owner:re.owner,repo:re.repo,repositories:[re.repo]}),te("GitHub App credentials provided \u2014 minting fresh installation tokens on demand")):K("githubAppId/githubAppPrivateKey are set but GITHUB_REPOSITORY is not \u2014 falling back to githubToken (which expires after 1h)")}let a=o,c=a?()=>a.getToken():void 0,l=()=>{let re=Math.round((Date.now()-r)/6e4);!a&&re>=50&&K(`This run has been going for ${re} minutes \u2014 a workflow-minted GitHub App token expires after 1 hour, so the upcoming git push / API calls may fail with 401. Set the githubAppId and githubAppPrivateKey action inputs so Skyramp Testbot can mint fresh tokens during long runs.`)};if(RJe(n),t||(t=yN(c??n)),IJe(t),process.env.NODE_ENV!=="test"){let re=we=>{kn("cancelled","true"),process.kill(process.pid,we)};process.once("SIGINT",re),process.once("SIGTERM",re)}let u=t.parseTriggerEvent(),d=An.resolve(Fe("workingDirectory")||"."),{skip:p,botName:m,botEmail:h}=await bJe(u,d);if(dt("skipped_self_trigger",String(p)),p)return;let f=xU();if(fqe(f.language),f.uiCredentials&&uXe(f.uiCredentials,[t.repository,...await dXt([f.testRepoPath,...f.relatedRepoPaths??[]])]),u.kind==="code_review"&&u.action==="closed"){let re=u.rawPayload.pull_request;if(re){let we=Fe("testRepoPath")||void 0,lt;if(we){let kt=Fq(we,"testRepoPath");kt&&(lt=await Om(kt)??void 0)}await pXt(t,re,n,lt,c)}return}let A=u.kind==="comment",b=u.kind==="manual_dispatch",y,x="",I="",v="",T="",N,O,F,L="";if(b){if(y=u.codeReviewNumber,y)try{let re=await t.getCodeReview(y);if(x=re.title,I=re.body,v=re.baseRef,O=re.headSha,F=re.headRef,L=re.author,Ce(`Retrigger via workflow_dispatch for PR #${y}`),O)try{N=await t.createCommitStatus({commitSha:O,name:"Skyramp Testbot (retrigger)",status:"running",detailsUrl:t.getRunUrl()}),te(`Created commit status on PR head SHA ${O}`)}catch(we){K(`Failed to create commit status on PR: ${we}`)}}catch(re){K(`Failed to fetch PR details for workflow_dispatch event: ${re}`)}}else if(A){let re=u.comment?.body,we=u.comment?.author;if(re?.includes("@skyramp-testbot")){if(y=u.codeReviewNumber,!we||we.endsWith("[bot]"))return;if(we)try{let kt=await t.getPermissionLevel(we);if(kt!=="admin"&&kt!=="write"){te(`Ignoring @skyramp-testbot from ${we} (permission: ${kt})`),y&&await t.createComment(y,`Sorry \`@${we}\`, only collaborators with **write** access can trigger Testbot.`);return}}catch(kt){te(`Ignoring @skyramp-testbot from ${we} \u2014 permission check failed: ${kt instanceof Error?kt.message:String(kt)}`),y&&await t.createComment(y,`Sorry \`@${we}\`, only collaborators with **write** access can trigger Testbot.`);return}let lt=re.match(/@skyramp-testbot\s+([\s\S]*)/i);if(lt&&(T=lt[1].trim()),y)try{let kt=await t.getCodeReview(y);if(x=kt.title,I=kt.body,v=kt.baseRef,O=kt.headSha,F=kt.headRef,L=kt.author,Ce(`Triggered via @skyramp-testbot comment on PR #${y}`),f.allowedAuthors.length>0&&!f.allowedAuthors.includes(L)){te(`Skipping: PR author '${L}' is not in allowedAuthors list`);return}if(O)try{N=await t.createCommitStatus({commitSha:O,name:"Skyramp Testbot (@skyramp-testbot)",status:"running",detailsUrl:t.getRunUrl()}),te(`Created commit status on PR head SHA ${O}`)}catch(li){K(`Failed to create commit status on PR: ${li}`)}}catch(kt){K(`Failed to fetch PR details for issue_comment event: ${kt}`)}}else{te("Comment does not mention @skyramp-testbot, skipping.");return}}else{let we=u.rawPayload.pull_request;y=we?.number,x=we?.title??"",I=we?.body??"",v=we?.base?.ref??"",L=we?.user?.login??"",F=we?.head?.ref,O=we?.head?.sha}if(f.allowedAuthors.length>0){if(!L){te("Skipping: PR author could not be resolved and allowedAuthors is configured");return}if(!f.allowedAuthors.includes(L)){te(`Skipping: PR author '${L}' is not in allowedAuthors list`);return}}if(T&&!y){ul("userPrompt requires a PR context (prNumber). This should not happen for issue_comment events.");return}let j,J;try{J=bYe(f),j=kU(J,{model:AYe(f,e?.model),effort:f.effort,useBedrock:f.useBedrock,useLocalAuth:f.useLocalAuth&&!f.useBedrock})}catch(re){throw await bT(y,re.message),re}if(!f.skyrampLicenseFile)throw await bT(y,"skyrampLicenseFile is required but not provided"),new Error("skyrampLicenseFile is required but not provided");let z=await AT(f),q=An.resolve(f.workingDirectory,I7);if(IYe(z.enableDebug),At(`Resolved config: ${JSON.stringify({targetSetupCommand:z.targetSetupCommand,authTokenCommand:z.authTokenCommand?"<set>":"<empty>",skyrampExecutorVersion:z.skyrampExecutorVersion,skyrampMcpVersion:z.skyrampMcpVersion,skyrampMcpSource:z.skyrampMcpSource,skipTargetSetup:z.skipTargetSetup,autoCommit:z.autoCommit,commitMessage:z.commitMessage,postPrComment:z.postPrComment,testbotMaxRetries:z.testbotMaxRetries,testbotRetryDelay:z.testbotRetryDelay,testbotTimeout:z.testbotTimeout,enableDebug:z.enableDebug},null,2)}`),!["npm","github","local"].includes(z.skyrampMcpSource))throw await bT(y,`skyrampMcpSource must be 'npm', 'github', or 'local', got '${z.skyrampMcpSource}'`),new Error(`Invalid skyrampMcpSource: ${z.skyrampMcpSource}`);if(z.skyrampMcpSource==="github"&&!f.skyrampMcpGithubToken)throw await bT(y,"skyrampMcpGithubToken is required when skyrampMcpSource is 'github'"),new Error("skyrampMcpGithubToken required for github source");if(y!==void 0&&await xJe(t,y)){Ce(`PR #${y} was closed without merging before this run started \u2014 skipping test maintenance so the concurrency lane is released for other PRs.`),dt(Une,"true");return}let U=pd();cr.mkdirSync(U,{recursive:!0});let M={tempDir:U,licensePath:An.join(U,"skyramp_license.lic"),summaryPath:An.join(U,"testbot-result.txt"),agentLogPath:An.join(U,"agent-log.ndjson"),agentStdoutPath:An.join(U,"agent-stdout.txt"),combinedResultPath:An.join(U,"combined-result.txt"),stateFilePath:An.join(U,UF)},X=An.resolve(f.workingDirectory);At(`Paths: tempDir=${U}, workingDir=${X}`),At(`PR #${y??"N/A"}, event=${u.kind}/${u.action}`);let pe=await Om(X);if(!pe)throw new Error(`Could not resolve owner/repo from the origin remote of ${X}. Testbot needs it: every report item and tool call names the repository it belongs to.`);F&&u.kind!=="code_review"&&(await Le("git",["checkout",F],{cwd:X}),te(`Checked out PR head branch: ${F}`));let ae=SJe(A),Ee=null;z.postPrComment&&y&&(wT(ae,"setup",Date.now()),Ee=await vJe(y,ae),Ee&&(kn("progressCommentId",String(Ee)),kn("steps",JSON.stringify(ae))));let fe=new AbortController,se=y!==void 0?CJe({platform:t,prNumber:y,onAbandoned:()=>fe.abort()}):void 0;se?.start();let Z,me=()=>{if(Z)try{process.kill(-Z,"SIGTERM")}catch{}},ce=async(re,we=fe.signal.aborted)=>we?(Ce(`PR #${y} was closed without merging (detected ${re}) \u2014 stopping so the concurrency lane is released for other PRs.`),dt(Une,"true"),se?.stop(),Ee&&await FU(Ee,TJe(ae,t.getRunUrl(),"abandoned")),me(),kn("completed","true"),!0):!1;await Sn("Configuring Skyramp license",async()=>{if(cr.writeFileSync(M.licensePath,f.skyrampLicenseFile,{mode:384}),!cr.statSync(M.licensePath).size){let re="License file is empty or could not be created";throw y&&await wm(y,`## :warning: Skyramp Testbot - License Error
381
381
 
382
382
  **Error:** ${re}
383
383
 
@@ -385,14 +385,14 @@ Please ensure your \`skyrampLicenseFile\` secret is configured correctly.`),new
385
385
 
386
386
  **Error:** ${re}
387
387
 
388
- Your Skyramp license may be expired or invalid. Please generate a new license file by running \`skyramp get-license-file\`.`),new Error(re)}}),await ce("before pulling the Skyramp executor image")||(await Sn("Pulling Skyramp Executor Docker image",async()=>{await ks(async()=>{let{exitCode:re}=await Le("docker",["pull",`skyramp/executor:${z.skyrampExecutorVersion}`,"--platform","linux/amd64"],{ignoreReturnCode:!0});if(re!==0)throw new Error("docker pull failed")},{retries:3,delay:5,label:"Docker image pull"}),Ce("Successfully pulled Skyramp Executor")}),await ce("before installing Playwright browsers")))return;await mXe(le.nodeModulesDir),j.setupAgentEnv(f,z),await kq(j),await n9e(j,le.command,le.args,le.licensePath,z.testExecutionTimeout,n),await _q(j);let Fe=A9e(j,z.enableDebug),et=j.supportsNdjsonLog;if(await ce("before bringing up the system under test"))return;let He=!0,Ke="";try{let re=await C9e(z,X);He=re.healthCheckPassed,Ke=re.healthCheckOutput,Z=re.targetSetupBackgroundedPid;let we=re.details;if(we)if(z.services.length===0)if(we.services)for(let[lt,kt]of Object.entries(we.services))kt.baseUrl&&(At(`Created service '${lt}' from setup output: baseUrl=${kt.baseUrl}`),z.services.push({serviceName:lt,baseUrl:kt.baseUrl}));else we.baseUrl&&(At(`Created default service from setup output: baseUrl=${we.baseUrl}`),z.services.push({serviceName:"default",baseUrl:we.baseUrl}));else for(let lt of z.services){let li=we.services?.[lt.serviceName]?.baseUrl??we.baseUrl;li&&lt.baseUrl&&(At(`Overrode service '${lt.serviceName}' baseUrl: ${lt.baseUrl} -> ${li}`),lt.baseUrl=li)}}catch(re){let we=re instanceof qd?re.stdout:"",lt=re instanceof qd?re.stderr:"",kt=kce(re),li=t.getRunUrl(),Xm=b9e({command:z.targetSetupCommand,stdout:we,stderr:lt,analysis:kt,workflowUrl:li});throw Ee?await FU(Ee,Xm):y&&await wm(y,Xm),re}if(Z){let re=Z,we=()=>{try{process.kill(-re,"SIGTERM")}catch{}};process.on("exit",we);let lt=kt=>{we(),process.kill(process.pid,kt)};process.once("SIGTERM",lt),process.once("SIGINT",lt)}S9e(z.services),cr.mkdirSync(An.join(X,".skyramp","videos"),{recursive:!0});let Ct=He?await I9e(z,X):"",Ie=Ct||process.env.SKYRAMP_TEST_TOKEN||"";Ie&&It(Ie);let Dt=Ct?"authTokenCommand":process.env.SKYRAMP_TEST_TOKEN?"SKYRAMP_TEST_TOKEN env var":"none";if(At(`Auth token source: ${Dt}, length: ${Ie.length}`),await ce("before SUT health-check validation"))return;let St=t.getRunUrl(),Ht=re=>["### Skyramp Testbot","",ge().sutServiceErrorsHeadline,"",ge().sutCheckedEndpoints,ge().sutCheckCodeChanges,"",re.join(`
388
+ Your Skyramp license may be expired or invalid. Please generate a new license file by running \`skyramp get-license-file\`.`),new Error(re)}}),await ce("before pulling the Skyramp executor image")||(await Sn("Pulling Skyramp Executor Docker image",async()=>{await ks(async()=>{let{exitCode:re}=await Le("docker",["pull",`skyramp/executor:${z.skyrampExecutorVersion}`,"--platform","linux/amd64"],{ignoreReturnCode:!0});if(re!==0)throw new Error("docker pull failed")},{retries:3,delay:5,label:"Docker image pull"}),Ce("Successfully pulled Skyramp Executor")}),await ce("before installing Playwright browsers")))return;await mXe(le.nodeModulesDir),j.setupAgentEnv(f,z),await kq(j),await n9e(j,le.command,le.args,le.licensePath,z.testExecutionTimeout,n),await _q(j);let Ue=A9e(j,z.enableDebug),et=j.supportsNdjsonLog;if(await ce("before bringing up the system under test"))return;let He=!0,Ke="";try{let re=await C9e(z,X);He=re.healthCheckPassed,Ke=re.healthCheckOutput,Z=re.targetSetupBackgroundedPid;let we=re.details;if(we)if(z.services.length===0)if(we.services)for(let[lt,kt]of Object.entries(we.services))kt.baseUrl&&(At(`Created service '${lt}' from setup output: baseUrl=${kt.baseUrl}`),z.services.push({serviceName:lt,baseUrl:kt.baseUrl}));else we.baseUrl&&(At(`Created default service from setup output: baseUrl=${we.baseUrl}`),z.services.push({serviceName:"default",baseUrl:we.baseUrl}));else for(let lt of z.services){let li=we.services?.[lt.serviceName]?.baseUrl??we.baseUrl;li&&lt.baseUrl&&(At(`Overrode service '${lt.serviceName}' baseUrl: ${lt.baseUrl} -> ${li}`),lt.baseUrl=li)}}catch(re){let we=re instanceof qd?re.stdout:"",lt=re instanceof qd?re.stderr:"",kt=kce(re),li=t.getRunUrl(),Xm=b9e({command:z.targetSetupCommand,stdout:we,stderr:lt,analysis:kt,workflowUrl:li});throw Ee?await FU(Ee,Xm):y&&await wm(y,Xm),re}if(Z){let re=Z,we=()=>{try{process.kill(-re,"SIGTERM")}catch{}};process.on("exit",we);let lt=kt=>{we(),process.kill(process.pid,kt)};process.once("SIGTERM",lt),process.once("SIGINT",lt)}S9e(z.services),cr.mkdirSync(An.join(X,".skyramp","videos"),{recursive:!0});let Ct=He?await I9e(z,X):"",Ie=Ct||process.env.SKYRAMP_TEST_TOKEN||"";Ie&&It(Ie);let Dt=Ct?"authTokenCommand":process.env.SKYRAMP_TEST_TOKEN?"SKYRAMP_TEST_TOKEN env var":"none";if(At(`Auth token source: ${Dt}, length: ${Ie.length}`),await ce("before SUT health-check validation"))return;let St=t.getRunUrl(),Ht=re=>["### Skyramp Testbot","",ge().sutServiceErrorsHeadline,"",ge().sutCheckedEndpoints,ge().sutCheckCodeChanges,"",re.join(`
389
389
 
390
390
  ---
391
391
 
392
392
  `),"",ge().viewWorkflowLogs(St),"",ge().sutFixAndRetry].join(`
393
393
  `),Vn=async re=>{Ee?await FU(Ee,re):y&&await wm(y,re)};if(!He){if(Ke){let kt=An.join(U,"sut-diagnostics.txt");cr.writeFileSync(kt,Ke);try{await new im().uploadArtifact("skyramp-sut-diagnostics",[kt],U)}catch(li){K(`Failed to upload SUT diagnostics artifact: ${li}`)}}let re=kce(Ke),we=z.services.filter(kt=>kt.baseUrl),lt;if(re.kind==="APP_STARTUP_ERROR"){let kt=E9e(Ke),li=we.map(Xm=>Xm.baseUrl).join(", ");lt=[[ge().sutAppCrashDetected(li),kt?ge().sutErrorLine(kt):"","",ge().sutFixPrefix+re.fixes.join(" ")].filter(Boolean).join(`
394
394
  `)]}else lt=we.map(kt=>[ge().sutServiceNotReachable(kt.baseUrl),"",ge().sutServiceNotReachableFix].join(`
395
- `));throw await Vn(Ht(lt)),new Error("SUT health check timed out \u2014 service did not become ready before the configured timeout")}if(await ce("before starting the agent"))return;wT(ae,"analyzing",Date.now()),Ee&&await LU(Ee,ae);let Br=Date.now(),Yi=5e3,xs=null,Ji=_Je({logFile:M.agentLogPath,steps:ae,pollIntervalMs:500,onStepChange:async re=>{if(kn("steps",JSON.stringify(re)),!Ee)return;let we=Date.now();if(we-Br<Yi){xs&&clearTimeout(xs),xs=setTimeout(()=>{Ee&&LU(Ee,re).then(()=>{Br=Date.now()})},Yi-(we-Br));return}await LU(Ee,re),Br=we}});Ji.start();let Fs,Us;if(z.testRepoPath){let re=Fq(z.testRepoPath,"testRepoPath");if(!re)K("Cross-repo delivery disabled \u2014 testRepoPath did not resolve to a checked-out repo inside the workspace.");else if(Us=await Om(re),!Us)K(`Could not resolve owner/repo for the test repo at '${re}' (no origin remote?) \u2014 cross-repo delivery disabled`);else if(Fs=re,te(`Cross-repo test delivery \u2192 ${Us} (${re})`),await Gce(m,h,Fs),a){let we=Qc(Us),lt=Qc(process.env.GITHUB_REPOSITORY??"");we&&lt&&we.owner===lt.owner?a.setRepositories([lt.repo,we.repo]):we&&lt&&K(`Test repo ${Us} belongs to a different owner than ${lt.owner} \u2014 it's a different GitHub App installation, so the minted token can't be scoped to include it. Cross-owner cross-repo delivery isn't supported with githubAppId/githubAppPrivateKey configured; the push to the test repo will likely fail with 403.`)}}let Tn=[];for(let re of z.relatedRepoPaths??[]){let we=Fq(re,"relatedRepoPaths entry");if(!we)continue;let lt=await Om(we);if(!lt){K(`Could not resolve owner/repo for related repo at '${we}' (no origin remote?) \u2014 skipping`);continue}te(`Related context repo: ${lt} (${we})`),Tn.push({repo:lt,repositoryPath:we})}let zr;try{zr=await y9e({agentCmd:Fe,agentLabel:j.label,agentType:J,useNdjsonLog:et,config:z,paths:M,workingDir:X,authToken:Ie,prTitle:x,prBody:I,baseBranch:v,userPrompt:T,prNumber:y,licensePath:M.licensePath,uiCredentials:f.uiCredentials||void 0,testsRepoDir:Fs,relatedRepositories:Tn.length?Tn:void 0,primaryRepo:pe,planOnly:e?.planOnly,abortSignal:fe.signal})}finally{se?.stop()}let{result:ci,summary:$s,commitMessage:Za,report:w,renderOptions:g,renderError:R,aborted:D,failureReason:k}=zr;if(Ji.stop(),xs&&(clearTimeout(xs),xs=null),await ce("while the agent was running",D||fe.signal.aborted))return;zs("Testbot step timing");let Q=0;for(let re of ae)if(re.startedAt!=null&&re.completedAt!=null){let we=re.completedAt-re.startedAt;Q+=we,te(`${re.label}: ${ET(we)}`),dt(`duration_${re.step}`,String(Math.floor(we/1e3)))}else re.status==="completed"?(te(`${re.label}: completed (no timing data)`),dt(`duration_${re.step}`,"0")):(te(`${re.label}: ${re.status}`),dt(`duration_${re.step}`,""));let E=Math.floor(Q/1e3);te(`Total: ${ET(Q)}`),dt("duration_total",String(E)),Pn(),kn("steps",JSON.stringify(ae));let P;if(Za){let re=Za.replace(/[\r\n\t]+/g," ").replace(/[^\x20-\x7E]/g,"").trim();re.toLowerCase().startsWith("skyramp testbot:")&&(re=re.slice(16).trim()),re&&(z.commitMessage=`Skyramp Testbot: ${re.slice(0,72)}`,P=re,At(`Using agent-provided commit message: ${z.commitMessage}`))}At(`Summary length: ${$s.length} chars`),At(`Summary file exists: ${cr.existsSync(M.summaryPath)}`),At(`Agent log file exists: ${cr.existsSync(M.agentLogPath)}`),At(`Agent stdout file exists: ${cr.existsSync(M.agentStdoutPath)}`),At(`Combined result file exists: ${cr.existsSync(M.combinedResultPath)}`);let $=!$s||$s.trim()===""||$s.trim()==="No summary available",G=$&&k?Qy.buildNotice(k,{provider:j.provider,maxRetries:z.testbotMaxRetries,timeoutMinutes:z.testbotTimeout}):void 0;if(G){let re=["<!-- skyramp-testbot -->",G.headline,"",ge().providerNotYourCode,"",G.action,"",ge().viewWorkflowLogs(t.getRunUrl())].join(`
395
+ `));throw await Vn(Ht(lt)),new Error("SUT health check timed out \u2014 service did not become ready before the configured timeout")}if(await ce("before starting the agent"))return;wT(ae,"analyzing",Date.now()),Ee&&await LU(Ee,ae);let Br=Date.now(),Yi=5e3,xs=null,Ji=_Je({logFile:M.agentLogPath,steps:ae,pollIntervalMs:500,onStepChange:async re=>{if(kn("steps",JSON.stringify(re)),!Ee)return;let we=Date.now();if(we-Br<Yi){xs&&clearTimeout(xs),xs=setTimeout(()=>{Ee&&LU(Ee,re).then(()=>{Br=Date.now()})},Yi-(we-Br));return}await LU(Ee,re),Br=we}});Ji.start();let Fs,Us;if(z.testRepoPath){let re=Fq(z.testRepoPath,"testRepoPath");if(!re)K("Cross-repo delivery disabled \u2014 testRepoPath did not resolve to a checked-out repo inside the workspace.");else if(Us=await Om(re),!Us)K(`Could not resolve owner/repo for the test repo at '${re}' (no origin remote?) \u2014 cross-repo delivery disabled`);else if(Fs=re,te(`Cross-repo test delivery \u2192 ${Us} (${re})`),await Gce(m,h,Fs),a){let we=Qc(Us),lt=Qc(process.env.GITHUB_REPOSITORY??"");we&&lt&&we.owner===lt.owner?a.setRepositories([lt.repo,we.repo]):we&&lt&&K(`Test repo ${Us} belongs to a different owner than ${lt.owner} \u2014 it's a different GitHub App installation, so the minted token can't be scoped to include it. Cross-owner cross-repo delivery isn't supported with githubAppId/githubAppPrivateKey configured; the push to the test repo will likely fail with 403.`)}}let Tn=[];for(let re of z.relatedRepoPaths??[]){let we=Fq(re,"relatedRepoPaths entry");if(!we)continue;let lt=await Om(we);if(!lt){K(`Could not resolve owner/repo for related repo at '${we}' (no origin remote?) \u2014 skipping`);continue}te(`Related context repo: ${lt} (${we})`),Tn.push({repo:lt,repositoryPath:we})}let zr;try{zr=await y9e({agentCmd:Ue,agentLabel:j.label,agentType:J,useNdjsonLog:et,config:z,paths:M,workingDir:X,authToken:Ie,prTitle:x,prBody:I,baseBranch:v,userPrompt:T,prNumber:y,licensePath:M.licensePath,uiCredentials:f.uiCredentials||void 0,testsRepoDir:Fs,relatedRepositories:Tn.length?Tn:void 0,primaryRepo:pe,planOnly:e?.planOnly,abortSignal:fe.signal})}finally{se?.stop()}let{result:ci,summary:$s,commitMessage:Za,report:w,renderOptions:g,renderError:R,aborted:D,failureReason:k}=zr;if(Ji.stop(),xs&&(clearTimeout(xs),xs=null),await ce("while the agent was running",D||fe.signal.aborted))return;zs("Testbot step timing");let Q=0;for(let re of ae)if(re.startedAt!=null&&re.completedAt!=null){let we=re.completedAt-re.startedAt;Q+=we,te(`${re.label}: ${ET(we)}`),dt(`duration_${re.step}`,String(Math.floor(we/1e3)))}else re.status==="completed"?(te(`${re.label}: completed (no timing data)`),dt(`duration_${re.step}`,"0")):(te(`${re.label}: ${re.status}`),dt(`duration_${re.step}`,""));let E=Math.floor(Q/1e3);te(`Total: ${ET(Q)}`),dt("duration_total",String(E)),Pn(),kn("steps",JSON.stringify(ae));let P;if(Za){let re=Za.replace(/[\r\n\t]+/g," ").replace(/[^\x20-\x7E]/g,"").trim();re.toLowerCase().startsWith("skyramp testbot:")&&(re=re.slice(16).trim()),re&&(z.commitMessage=`Skyramp Testbot: ${re.slice(0,72)}`,P=re,At(`Using agent-provided commit message: ${z.commitMessage}`))}At(`Summary length: ${$s.length} chars`),At(`Summary file exists: ${cr.existsSync(M.summaryPath)}`),At(`Agent log file exists: ${cr.existsSync(M.agentLogPath)}`),At(`Agent stdout file exists: ${cr.existsSync(M.agentStdoutPath)}`),At(`Combined result file exists: ${cr.existsSync(M.combinedResultPath)}`);let $=!$s||$s.trim()===""||$s.trim()==="No summary available",G=$&&k?Qy.buildNotice(k,{provider:j.provider,maxRetries:z.testbotMaxRetries,timeoutMinutes:z.testbotTimeout}):void 0;if(G){let re=["<!-- skyramp-testbot -->",G.headline,"",ge().providerNotYourCode,"",G.action,"",ge().viewWorkflowLogs(t.getRunUrl())].join(`
396
396
  `);cr.writeFileSync(M.combinedResultPath,re),dt("test_summary",re),jr(`Skyramp Testbot stopped: ${k} \u2014 writing an explanation to the report output`)}else if($){let re=!!R,we=re?ge().internalErrorRenderFailed:ci.success?ge().internalErrorNoReport:ge().internalErrorAgentStopped,lt=re?[ge().internalErrorRawReportAvailable]:[ge().internalErrorRetriedTimes(z.testbotMaxRetries)],kt=t.getRunUrl(),li=["<!-- skyramp-testbot -->",ge().internalErrorHeader,"",we,...lt,"",ge().viewWorkflowLogs(kt),"",ge().internalErrorFileIssue].join(`
397
397
  `);cr.writeFileSync(M.combinedResultPath,li),dt("test_summary",li),jr(re?`Report render failed: ${R} \u2014 writing error to the report output`:`Agent produced no report after ${z.testbotMaxRetries} attempts`+(k?` (reason: ${k})`:"")+" \u2014 writing error to the report output")}let V=An.join(X,".skyramp/videos"),Y=t.getRunUrl(),W=new Set((w?.testResults??[]).map(re=>re.videoPath?gB(re.videoPath):void 0).filter(re=>re!==void 0)),ee=await u9e(V,t,W),ne=Object.keys(ee).length>0;if(w&&(ne||g.audience)){let re=kE(w,{...g,hasVideos:ne,runUrl:Y,videoLinks:ee});cr.writeFileSync(M.combinedResultPath,re),dt("test_summary",re)}let ue=!1,de,xe;if(z.autoCommit){let re=await AT(f);re.commitMessage=z.commitMessage,re.prHeadRef=F,await Gce(m,h,X);let we=w?kE(w,{...g,audience:"testbot-pr",hasVideos:ne,runUrl:Y,videoLinks:ee}):cr.existsSync(M.combinedResultPath)?cr.readFileSync(M.combinedResultPath,"utf-8"):void 0,lt=Us?Qc(Us):null,kt=lt?.owner,li=lt?.repo,Xm,Vz;if(b&&(!y||!F||!O))try{let{stdout:us}=await Le("git",["rev-parse","--abbrev-ref","HEAD"],{cwd:X,silent:!0}),ap=us.trim(),{stdout:kde}=await Le("git",["rev-parse","HEAD"],{cwd:X,silent:!0}),cI=kde.trim();ap&&ap!=="HEAD"&&cI?(Xm=ap,Vz=cI,te(`Dispatch run: Testbot PR will target checked-out branch '${ap}' @ ${cI.slice(0,8)}`)):K("Dispatch run: could not resolve a named checked-out branch (detached HEAD?) \u2014 Testbot PR delivery will be skipped")}catch(us){K(`Dispatch run: failed to resolve checked-out branch for Testbot PR: ${us instanceof Error?us.message:String(us)}`)}l();let ec=await Yce(re,{platform:t,githubToken:n,getFreshToken:c,prNumber:y,prHeadRef:F,prHeadSha:O,isFollowUp:A&&T.length>0,dispatchBaseBranch:Xm,dispatchHeadSha:Vz,reportMarkdown:we,testbotPrTitle:P,workspaceFilePath:q,targetOwner:kt,targetRepo:li,testsRepoDir:Fs,repoDir:X,agent:j});if(ue=ec.hasChanges,de=ec.testbotPrUrl,Fs){let us=await Yce({...re,services:[]},{platform:t,githubToken:n,getFreshToken:c,prNumber:y,prHeadRef:F,prHeadSha:O,dispatchBaseBranch:Xm,dispatchHeadSha:Vz,reportMarkdown:uXt(),testbotPrTitle:ge().workspaceTestbotPrTitle,workspaceFilePath:q,repoDir:X});us.errorDescription?K(`Failed to deliver workspace.yml to the primary repo: ${us.errorDescription}`):us.testbotPrUrl&&Ce(`Workspace configuration updated in primary repo via ${us.testbotPrUrl}`)}if(ec.verificationBypassed){let us=cXe(ec.verificationBypassed);if(w){w.issuesFound.push({description:us.description,repository:pe,category:us.category}),w.nextSteps.push(us.nextStep);let ap=kE(w,{...g,hasVideos:ne,runUrl:Y,videoLinks:ee});cr.writeFileSync(M.combinedResultPath,ap),dt("test_summary",ap)}else cr.existsSync(M.combinedResultPath)&&cr.appendFileSync(M.combinedResultPath,`
398
398
 
@@ -690,9 +690,9 @@ Produce the complete final output this time. ${s}${i}`;default:return`
690
690
 
691
691
  --- YOUR PREVIOUS ATTEMPT FAILED ITS EXIT GATES ---
692
692
  ${e}
693
- Fix exactly these problems. Everything else about the task is unchanged. ${s}${i}`}}var zsr=["GH_TOKEN","GITHUB_TOKEN","ANTHROPIC_API_KEY","ANTHROPIC_AUTH_TOKEN","CLAUDE_CODE_OAUTH_TOKEN","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN","AWS_BEARER_TOKEN_BEDROCK","AWS_CONTAINER_AUTHORIZATION_TOKEN"],Gsr=["AWS_WEB_IDENTITY_TOKEN_FILE","AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE"];function jsr(t){if(t)try{return jn.statSync(t).size>64*1024?void 0:jn.readFileSync(t,"utf8").trim()||void 0}catch{return}}function tI(t=process.env){return Fm([...zsr.map(e=>t[e]),...Gsr.map(e=>jsr(t[e]))])}function Vsr(t,e,r){return new Promise((n,s)=>{let i=()=>c(()=>s(new Error(`aborted: ${String(r.reason??"no longer needed")}`))),o=setTimeout(()=>c(()=>s(new Error(`timed out after ${e/6e4}m`))),e);o.unref?.();let a=!1,c=l=>{a||(a=!0,clearTimeout(o),r.removeEventListener("abort",i),l())};if(r.aborted)return i();r.addEventListener("abort",i,{once:!0}),t.then(l=>c(()=>n(l)),l=>c(()=>s(l)))})}async function Uz(t,e,r,n,s,i=()=>{}){let o=t.name,a=Vnt();jn.rmSync(Ls.join(e.outputsDir,`${o}.json`),{force:!0}),jn.rmSync(Ls.join(e.outputsDir,`${o}-salvage.json`),{force:!0}),jn.rmSync(Ls.join(e.outputsDir,`${o}-stream.ndjson`),{force:!0});let c=Ls.join(e.outputsDir,`${o}-scratch`);if(jn.rmSync(c,{recursive:!0,force:!0}),jn.mkdirSync(c,{recursive:!0}),o!=="report"){let q=ZZe(t,e),U=q?{ok:!1,reasons:[q]}:tet(t7e(t,e),e);try{U.ok&&(U=await a.time("validateInput",()=>t.validateInput(e)))}catch(M){U={ok:!1,reasons:[`input validation threw: ${M instanceof Error?M.message:String(M)}`]}}if(!U.ok){let M=U.reasons.join("; ");return n.warn(`[${o}] input validation failed \u2014 skipping (${M})`),zi(e.state,o,{status:"skipped",reason:M,attempts:[],phases:a.phases}),{name:o,status:"skipped",attempts:0,reason:M}}}let l=!IB(t)&&t.needsSutAuth?i():void 0;l&&(e.providedEnvKeys=Object.keys(l.env)),e.signal=s,e.sutAuthEnv=l?.env,e.secretValues=Fm([...tI(),...lz(e.inputs.sutEnvironment),...Object.values(l?.env??{}),...l?.secretValues??[],...e.inputs.skyrampMcp?.runToken?[e.inputs.skyrampMcp.runToken]:[]]);let u=async q=>{r.beforeSession&&(await r.beforeSession(q),e.secretValues=Fm([...e.secretValues??[],...tI()]))},d=q=>yn(q,e.secretValues??[]);if(e.prepared=void 0,t.prepare)try{e.prepared=await a.time("prepare",()=>t.prepare(e))??void 0}catch(q){let U=`preparation failed: ${q instanceof Error?q.message:String(q)}`;return n.warn(`[${o}] ${U} \u2014 skipping`),zi(e.state,o,{status:"skipped",reason:U,attempts:[],phases:a.phases}),{name:o,status:"skipped",attempts:0,reason:U}}if(IB(t)){let q=(r.timeoutMinutes??t.timeoutMinutes)*6e4;try{let U=await a.time("execute",()=>Vsr(Promise.resolve(t.execute(e)),q,s))??void 0;return CP(e,U),zi(e.state,o,{status:"passed",attempts:[],artifacts:U,phases:a.phases}),n.info(`[${o}] passed (deterministic)`),{name:o,status:"passed",attempts:0}}catch(U){if(s.aborted){let X=`aborted: ${String(s.reason??"no longer needed")}`;return zi(e.state,o,{status:"aborted",reason:X,attempts:[],phases:a.phases}),n.warn(`[${o}] ${X}`),{name:o,status:"aborted",attempts:0,reason:X}}let M=`execute failed: ${U instanceof Error?U.message:String(U)}`;return zi(e.state,o,{status:"failed",reason:M,attempts:[],phases:a.phases}),n.error(`[${o}] ${M}`),{name:o,status:"failed",attempts:0,reason:M}}}let p=(r.resolveModel??(q=>q))(r.stageModels?.[o]??r.model??t.model),m=(r.timeoutMinutes??t.scaleTimeout?.(e)??t.timeoutMinutes)*6e4,h=e.outputFileFor(o),f=[],A="unknown failure",b="crash",y,x,I,v,T=[],N=async q=>{if(!t.salvage)return;let U;try{U=await a.time("salvage",()=>t.salvage(e,T))??void 0}catch(X){n.warn(`[${o}] salvage failed: ${X instanceof Error?X.message:String(X)}`);return}if(!U)return;CP(e,U);let M=`salvaged \u2014 ${q}`;return zi(e.state,o,{status:"passed",reason:M,attempts:f,outputFile:Ls.relative(e.runDir,h),artifacts:U,phases:a.phases}),n.warn(`[${o}] passed via salvage (${q})`),{name:o,status:"passed",attempts:f.length,reason:M}},O=async q=>{if(!I)return;let U=I;if(v)try{v()}catch(ae){n.warn(`[${o}] checkpoint restore failed: ${ae instanceof Error?ae.message:String(ae)}`)}jn.writeFileSync(h,yn(U.stdout,e.secretValues??[]));let M=[];if(await a.time("fallback-gates",async()=>{for(let ae of t.exitGates)try{M.push(await ae.verify(e,U,t))}catch(Ee){M.push({name:ae.name,passed:!1,details:`gate threw: ${Ee instanceof Error?Ee.message:String(Ee)}`})}}),!M.every(ae=>ae.passed))return;let X;try{X=t.onPassed?await a.time("fallback-onPassed",()=>t.onPassed(e,U))??void 0:void 0}catch(ae){n.warn(`[${o}] fallback to the gate-clean attempt failed to persist: ${ae instanceof Error?ae.message:String(ae)}`);return}CP(e,X);let pe=`review-triggered retry ${q} \u2014 kept the earlier gate-clean attempt`;return zi(e.state,o,{status:"passed",reason:pe,attempts:f,outputFile:Ls.relative(e.runDir,h),artifacts:X,phases:a.phases}),n.info(`[${o}] passed \u2014 kept the earlier gate-clean attempt (${q})`),{name:o,status:"passed",attempts:f.length,reason:pe}},F=async()=>{let q=`aborted: ${String(s.reason??"no longer needed")}`,U=await O("was aborted");if(U)return U;let M=await N(q);if(M)return M;if(t.onAbort)try{await t.onAbort(e)}catch(X){n.warn(`[${o}] onAbort cleanup failed: ${X instanceof Error?X.message:String(X)}`)}return zi(e.state,o,{status:"aborted",reason:q,attempts:f,phases:a.phases}),n.warn(`[${o}] ${q}`),{name:o,status:"aborted",attempts:f.length,reason:q}},L=Gnt,j;for(let q=1;q<=L;q++){if(s.aborted)return F();n.info(`[${o}] attempt ${q}/${L} (model: ${p})`);let U=wde(),M=Vnt(),X=t.buildMcpServers?.(e),pe=q>1&&x!==void 0&&$sr(b)?x:void 0,ae=pe?qsr(b,A):ret(t,e,(l?Hnt(l):"")+(X?.[LS]&&e.inputs.skyrampMcp?.runToken?Lsr:""));q>1&&!pe&&(ae+=Hsr(b,A,m,y)),pe&&n.info(`[${o}] resuming session ${pe.slice(0,8)} with the feedback`);let Ee=t.buildPluginDirs?.(e);if(q===1)for(let Ie of Osr(t.requiredSkills??[],Ee??[]))n.warn(`[${o}] skill "${Ie}" is not in the installed Skyramp MCP plugin${Ee?.length?` (${Ee.join(", ")})`:""} \u2014 the session works from the prompt alone. Install a Skyramp MCP version that ships it (skyrampMcpVersion).`);await u(m);let fe=await M.time("session",()=>r.sessionRunner({resumeSessionId:pe,model:p,effort:r.stageEfforts?.[o]??t.effort,prompt:ae,timeoutMs:m,cwd:e.inputs.repositoryPath,allowedTools:t.allowedTools,disallowedTools:t.buildDisallowedTools?.(e),mcpServers:X,addDirs:t.buildReadDirs?.(e),pluginDirs:Ee,env:l||t.buildSessionEnv?{...t.buildSessionEnv?.(e)??{},...l?.env??{}}:void 0,debugStreamPath:t.captureTrace||process.env.STAGED_DEBUG||r.sink||r.platform?Ls.join(e.outputsDir,`${o}-stream.ndjson`):void 0,secretValues:e.secretValues,signal:s})),se=yn(fe.stdout,e.secretValues??[]);jn.writeFileSync(h,se),y=fe.stdout,x=fe.sessionId;for(let[Ie,Dt]of Object.entries(fe.mcpServers??{}))Dt!=="connected"&&n.warn(`[${o}] MCP server "${Ie}" did not connect (status: ${Dt}) \u2014 its tools were unavailable to this session`);for(let Ie of t.requiredSkills??[])fe.skills&&!fe.skills.includes(Ie)&&n.warn(`[${o}] skill "${Ie}" was not loaded in this session \u2014 the agent worked without it`);try{jn.writeFileSync(Ls.join(e.outputsDir,`${o}-scratch`,`attempt-${q}.txt`),se)}catch{}let Z=Ls.join(e.outputsDir,`${o}-stream.ndjson`);try{jn.existsSync(Z)&&jn.copyFileSync(Z,Ls.join(e.outputsDir,`${o}-scratch`,`attempt-${q}-stream.ndjson`))}catch{}let me={attempt:q,startedAt:U,endedAt:wde(),exitCode:fe.exitCode,timedOut:fe.timedOut,durationMs:fe.durationMs,costUsd:fe.costUsd,mcpServers:fe.mcpServers,numTurns:fe.numTurns,inputTokens:fe.inputTokens,outputTokens:fe.outputTokens,gates:[]},ce=()=>{me.endedAt=wde(),me.totalMs=Date.parse(me.endedAt)-Date.parse(me.startedAt),me.phases=M.phases;let Ie=M.phases.find(St=>St.name==="review")?.costUsd;Ie!=null&&(me.reviewCostUsd=Ie);let Dt=M.phases.filter(St=>St.name==="judge"&&St.costUsd!=null);return Dt.length&&(me.judgeCostUsd=Dt.reduce((St,Ht)=>St+(Ht.costUsd??0),0)),f.push(me),me},le=async()=>{let Ie;if(t.afterAttempt)try{Ie=await M.time("afterAttempt",()=>t.afterAttempt(e))||void 0}catch(Dt){n.warn(`[${o}] afterAttempt cleanup failed: ${Dt instanceof Error?Dt.message:String(Dt)}`)}return Ie&&(Ie=d(Ie),n.warn(`[${o}] ${Ie}`),me.failure?A=me.failure=`${me.failure}; ${Ie}`:me.failure=Ie),ce(),Ie},Fe=(Ie,Dt)=>(zi(e.state,o,{status:"failed",reason:Ie,attempts:f,outputFile:Ls.relative(e.runDir,h),phases:a.phases}),n.error(Dt),{name:o,status:"failed",attempts:f.length,reason:Ie}),et=Ie=>Fe(Ie,`[${o}] failed: its cleanup did not finish, so it is not retried (${Ie})`);if(s.aborted)return me.failure="aborted",ce(),F();let He=_Ze(Z);if(He)return A=me.failure=d(He),await le()?et(A):Fe(A,`[${o}] failed: ${A}`);if(fe.timedOut||fe.exitCode!==0){let Ie=Vn=>d((Vn??"").trim()).split(`
693
+ Fix exactly these problems. Everything else about the task is unchanged. ${s}${i}`}}var zsr=["GH_TOKEN","GITHUB_TOKEN","ANTHROPIC_API_KEY","ANTHROPIC_AUTH_TOKEN","CLAUDE_CODE_OAUTH_TOKEN","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN","AWS_BEARER_TOKEN_BEDROCK","AWS_CONTAINER_AUTHORIZATION_TOKEN"],Gsr=["AWS_WEB_IDENTITY_TOKEN_FILE","AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE"];function jsr(t){if(t)try{return jn.statSync(t).size>64*1024?void 0:jn.readFileSync(t,"utf8").trim()||void 0}catch{return}}function tI(t=process.env){return Fm([...zsr.map(e=>t[e]),...Gsr.map(e=>jsr(t[e]))])}function Vsr(t,e,r){return new Promise((n,s)=>{let i=()=>c(()=>s(new Error(`aborted: ${String(r.reason??"no longer needed")}`))),o=setTimeout(()=>c(()=>s(new Error(`timed out after ${e/6e4}m`))),e);o.unref?.();let a=!1,c=l=>{a||(a=!0,clearTimeout(o),r.removeEventListener("abort",i),l())};if(r.aborted)return i();r.addEventListener("abort",i,{once:!0}),t.then(l=>c(()=>n(l)),l=>c(()=>s(l)))})}async function Uz(t,e,r,n,s,i=()=>{}){let o=t.name,a=Vnt();jn.rmSync(Ls.join(e.outputsDir,`${o}.json`),{force:!0}),jn.rmSync(Ls.join(e.outputsDir,`${o}-salvage.json`),{force:!0}),jn.rmSync(Ls.join(e.outputsDir,`${o}-stream.ndjson`),{force:!0});let c=Ls.join(e.outputsDir,`${o}-scratch`);if(jn.rmSync(c,{recursive:!0,force:!0}),jn.mkdirSync(c,{recursive:!0}),o!=="report"){let q=ZZe(t,e),U=q?{ok:!1,reasons:[q]}:tet(t7e(t,e),e);try{U.ok&&(U=await a.time("validateInput",()=>t.validateInput(e)))}catch(M){U={ok:!1,reasons:[`input validation threw: ${M instanceof Error?M.message:String(M)}`]}}if(!U.ok){let M=U.reasons.join("; ");return n.warn(`[${o}] input validation failed \u2014 skipping (${M})`),zi(e.state,o,{status:"skipped",reason:M,attempts:[],phases:a.phases}),{name:o,status:"skipped",attempts:0,reason:M}}}let l=!IB(t)&&t.needsSutAuth?i():void 0;l&&(e.providedEnvKeys=Object.keys(l.env)),e.signal=s,e.sutAuthEnv=l?.env,e.secretValues=Fm([...tI(),...lz(e.inputs.sutEnvironment),...Object.values(l?.env??{}),...l?.secretValues??[],...e.inputs.skyrampMcp?.runToken?[e.inputs.skyrampMcp.runToken]:[]]);let u=async q=>{r.beforeSession&&(await r.beforeSession(q),e.secretValues=Fm([...e.secretValues??[],...tI()]))},d=q=>yn(q,e.secretValues??[]);if(e.prepared=void 0,t.prepare)try{e.prepared=await a.time("prepare",()=>t.prepare(e))??void 0}catch(q){let U=`preparation failed: ${q instanceof Error?q.message:String(q)}`;return n.warn(`[${o}] ${U} \u2014 skipping`),zi(e.state,o,{status:"skipped",reason:U,attempts:[],phases:a.phases}),{name:o,status:"skipped",attempts:0,reason:U}}if(IB(t)){let q=(r.timeoutMinutes??t.timeoutMinutes)*6e4;try{let U=await a.time("execute",()=>Vsr(Promise.resolve(t.execute(e)),q,s))??void 0;return CP(e,U),zi(e.state,o,{status:"passed",attempts:[],artifacts:U,phases:a.phases}),n.info(`[${o}] passed (deterministic)`),{name:o,status:"passed",attempts:0}}catch(U){if(s.aborted){let X=`aborted: ${String(s.reason??"no longer needed")}`;return zi(e.state,o,{status:"aborted",reason:X,attempts:[],phases:a.phases}),n.warn(`[${o}] ${X}`),{name:o,status:"aborted",attempts:0,reason:X}}let M=`execute failed: ${U instanceof Error?U.message:String(U)}`;return zi(e.state,o,{status:"failed",reason:M,attempts:[],phases:a.phases}),n.error(`[${o}] ${M}`),{name:o,status:"failed",attempts:0,reason:M}}}let p=(r.resolveModel??(q=>q))(r.stageModels?.[o]??r.model??t.model),m=(r.timeoutMinutes??t.scaleTimeout?.(e)??t.timeoutMinutes)*6e4,h=e.outputFileFor(o),f=[],A="unknown failure",b="crash",y,x,I,v,T=[],N=async q=>{if(!t.salvage)return;let U;try{U=await a.time("salvage",()=>t.salvage(e,T))??void 0}catch(X){n.warn(`[${o}] salvage failed: ${X instanceof Error?X.message:String(X)}`);return}if(!U)return;CP(e,U);let M=`salvaged \u2014 ${q}`;return zi(e.state,o,{status:"passed",reason:M,attempts:f,outputFile:Ls.relative(e.runDir,h),artifacts:U,phases:a.phases}),n.warn(`[${o}] passed via salvage (${q})`),{name:o,status:"passed",attempts:f.length,reason:M}},O=async q=>{if(!I)return;let U=I;if(v)try{v()}catch(ae){n.warn(`[${o}] checkpoint restore failed: ${ae instanceof Error?ae.message:String(ae)}`)}jn.writeFileSync(h,yn(U.stdout,e.secretValues??[]));let M=[];if(await a.time("fallback-gates",async()=>{for(let ae of t.exitGates)try{M.push(await ae.verify(e,U,t))}catch(Ee){M.push({name:ae.name,passed:!1,details:`gate threw: ${Ee instanceof Error?Ee.message:String(Ee)}`})}}),!M.every(ae=>ae.passed))return;let X;try{X=t.onPassed?await a.time("fallback-onPassed",()=>t.onPassed(e,U))??void 0:void 0}catch(ae){n.warn(`[${o}] fallback to the gate-clean attempt failed to persist: ${ae instanceof Error?ae.message:String(ae)}`);return}CP(e,X);let pe=`review-triggered retry ${q} \u2014 kept the earlier gate-clean attempt`;return zi(e.state,o,{status:"passed",reason:pe,attempts:f,outputFile:Ls.relative(e.runDir,h),artifacts:X,phases:a.phases}),n.info(`[${o}] passed \u2014 kept the earlier gate-clean attempt (${q})`),{name:o,status:"passed",attempts:f.length,reason:pe}},F=async()=>{let q=`aborted: ${String(s.reason??"no longer needed")}`,U=await O("was aborted");if(U)return U;let M=await N(q);if(M)return M;if(t.onAbort)try{await t.onAbort(e)}catch(X){n.warn(`[${o}] onAbort cleanup failed: ${X instanceof Error?X.message:String(X)}`)}return zi(e.state,o,{status:"aborted",reason:q,attempts:f,phases:a.phases}),n.warn(`[${o}] ${q}`),{name:o,status:"aborted",attempts:f.length,reason:q}},L=Gnt,j;for(let q=1;q<=L;q++){if(s.aborted)return F();n.info(`[${o}] attempt ${q}/${L} (model: ${p})`);let U=wde(),M=Vnt(),X=t.buildMcpServers?.(e),pe=q>1&&x!==void 0&&$sr(b)?x:void 0,ae=pe?qsr(b,A):ret(t,e,(l?Hnt(l):"")+(X?.[LS]&&e.inputs.skyrampMcp?.runToken?Lsr:""));q>1&&!pe&&(ae+=Hsr(b,A,m,y)),pe&&n.info(`[${o}] resuming session ${pe.slice(0,8)} with the feedback`);let Ee=t.buildPluginDirs?.(e);if(q===1)for(let Ie of Osr(t.requiredSkills??[],Ee??[]))n.warn(`[${o}] skill "${Ie}" is not in the installed Skyramp MCP plugin${Ee?.length?` (${Ee.join(", ")})`:""} \u2014 the session works from the prompt alone. Install a Skyramp MCP version that ships it (skyrampMcpVersion).`);await u(m);let fe=await M.time("session",()=>r.sessionRunner({resumeSessionId:pe,model:p,effort:r.stageEfforts?.[o]??t.effort,prompt:ae,timeoutMs:m,cwd:e.inputs.repositoryPath,allowedTools:t.allowedTools,disallowedTools:t.buildDisallowedTools?.(e),mcpServers:X,addDirs:t.buildReadDirs?.(e),pluginDirs:Ee,env:l||t.buildSessionEnv?{...t.buildSessionEnv?.(e)??{},...l?.env??{}}:void 0,debugStreamPath:t.captureTrace||process.env.STAGED_DEBUG||r.sink||r.platform?Ls.join(e.outputsDir,`${o}-stream.ndjson`):void 0,secretValues:e.secretValues,signal:s})),se=yn(fe.stdout,e.secretValues??[]);jn.writeFileSync(h,se),y=fe.stdout,x=fe.sessionId;for(let[Ie,Dt]of Object.entries(fe.mcpServers??{}))Dt!=="connected"&&n.warn(`[${o}] MCP server "${Ie}" did not connect (status: ${Dt}) \u2014 its tools were unavailable to this session`);for(let Ie of t.requiredSkills??[])fe.skills&&!fe.skills.includes(Ie)&&n.warn(`[${o}] skill "${Ie}" was not loaded in this session \u2014 the agent worked without it`);try{jn.writeFileSync(Ls.join(e.outputsDir,`${o}-scratch`,`attempt-${q}.txt`),se)}catch{}let Z=Ls.join(e.outputsDir,`${o}-stream.ndjson`);try{jn.existsSync(Z)&&jn.copyFileSync(Z,Ls.join(e.outputsDir,`${o}-scratch`,`attempt-${q}-stream.ndjson`))}catch{}let me={attempt:q,startedAt:U,endedAt:wde(),exitCode:fe.exitCode,timedOut:fe.timedOut,durationMs:fe.durationMs,costUsd:fe.costUsd,mcpServers:fe.mcpServers,numTurns:fe.numTurns,inputTokens:fe.inputTokens,outputTokens:fe.outputTokens,gates:[]},ce=()=>{me.endedAt=wde(),me.totalMs=Date.parse(me.endedAt)-Date.parse(me.startedAt),me.phases=M.phases;let Ie=M.phases.find(St=>St.name==="review")?.costUsd;Ie!=null&&(me.reviewCostUsd=Ie);let Dt=M.phases.filter(St=>St.name==="judge"&&St.costUsd!=null);return Dt.length&&(me.judgeCostUsd=Dt.reduce((St,Ht)=>St+(Ht.costUsd??0),0)),f.push(me),me},le=async()=>{let Ie;if(t.afterAttempt)try{Ie=await M.time("afterAttempt",()=>t.afterAttempt(e))||void 0}catch(Dt){n.warn(`[${o}] afterAttempt cleanup failed: ${Dt instanceof Error?Dt.message:String(Dt)}`)}return Ie&&(Ie=d(Ie),n.warn(`[${o}] ${Ie}`),me.failure?A=me.failure=`${me.failure}; ${Ie}`:me.failure=Ie),ce(),Ie},Ue=(Ie,Dt)=>(zi(e.state,o,{status:"failed",reason:Ie,attempts:f,outputFile:Ls.relative(e.runDir,h),phases:a.phases}),n.error(Dt),{name:o,status:"failed",attempts:f.length,reason:Ie}),et=Ie=>Ue(Ie,`[${o}] failed: its cleanup did not finish, so it is not retried (${Ie})`);if(s.aborted)return me.failure="aborted",ce(),F();let He=_Ze(Z);if(He)return A=me.failure=d(He),await le()?et(A):Ue(A,`[${o}] failed: ${A}`);if(fe.timedOut||fe.exitCode!==0){let Ie=Vn=>d((Vn??"").trim()).split(`
694
694
  `).filter(Boolean).slice(-4).join(" | ").slice(-400),Dt=Ie(fe.stderr),St=Ie(fe.stdout),Ht=[Dt&&`stderr: ${Dt}`,St&&`stdout: ${St}`].filter(Boolean).join("; ");if(A=fe.timedOut?`session timed out after ${m/6e4}m`:`session crashed with exit code ${fe.exitCode}${Ht?` \u2014 ${Ht}`:""}`,b=fe.timedOut?"timeout":"crash",me.failure=A,await le())return et(A);T.push({session:fe,gates:[],failure:A}),n.warn(`[${o}] ${A}`);continue}if(t.beforeGates)try{await M.time("beforeGates",()=>t.beforeGates(e,fe))}catch(Ie){n.warn(`[${o}] beforeGates hook failed: ${Ie instanceof Error?Ie.message:String(Ie)}`)}e.judge=async Ie=>{await u(jnt);let Dt=await M.time("judge",()=>r.sessionRunner({model:(r.resolveModel??(St=>St))(r.stageModels?.[Ont]??r.model??"haiku"),prompt:Ie,timeoutMs:jnt,cwd:e.inputs.repositoryPath,noTools:!0,secretValues:e.secretValues,signal:s}));return M.chargeLast(Dt.costUsd),Dt};let Ke=[];for(let Ie of t.exitGates)try{Ke.push(await M.time(`gate:${Ie.name}`,()=>Ie.verify(e,fe,t)))}catch(Dt){Ke.push({name:Ie.name,passed:!1,details:`gate threw: ${Dt instanceof Error?Dt.message:String(Dt)}`})}for(let Ie of Ke)Ie.details&&(Ie.details=d(Ie.details));me.gates=Ke;let Ct=Ke.filter(Ie=>!Ie.passed);if(Ct.length===0&&t.adversarialReview&&q<L){let Ie,Dt=async Ht=>{await u(m);let Vn=await r.sessionRunner({model:(r.resolveModel??(Br=>Br))(r.stageModels?.[Mnt]??r.model??"opus"),prompt:Ht,timeoutMs:m,cwd:e.inputs.repositoryPath,allowedTools:["Read","Grep","Glob"],disallowedTools:Msr,debugStreamPath:t.captureTrace||process.env.STAGED_DEBUG||r.sink||r.platform?Ls.join(e.outputsDir,`${o}-review-stream.ndjson`):void 0,secretValues:e.secretValues,signal:s});return Vn.costUsd!=null&&(Ie=(Ie??0)+Vn.costUsd),Vn},St;try{St=await M.time("review",()=>t.adversarialReview(e,fe,Dt))}catch(Ht){St={name:"adversarial-review",passed:!0,details:`review skipped: ${Ht instanceof Error?Ht.message:String(Ht)}`}}if(M.chargeLast(Ie),Ke.push(St),!St.passed){if(I=fe,t.checkpoint)try{v=await M.time("checkpoint",()=>t.checkpoint(e,fe,t))??void 0}catch(Ht){n.warn(`[${o}] checkpoint failed: ${Ht instanceof Error?Ht.message:String(Ht)}`)}if(A=d(St.details??"adversarial review found gaps"),b="review",me.failure=A,await le())return et(A);T.push({session:fe,gates:Ke,failure:A}),j=q+1,n.info(`[${o}] adversarial review flagged gaps \u2014 retrying`);continue}}if(Ct.length===0){let Ie;try{Ie=t.onPassed?await M.time("onPassed",()=>t.onPassed(e,fe))??void 0:void 0}catch(Ht){if(A=d(`artifact collection failed: ${Ht instanceof Error?Ht.message:String(Ht)}`),b="artifact",me.failure=A,await le())return et(A);T.push({session:fe,gates:Ke,failure:A}),n.warn(`[${o}] ${A}`);continue}CP(e,Ie);let Dt=await le();if(Dt)return et(Dt);let St;try{St=t.passReason?.(e,fe),St&&(St=d(St))}catch(Ht){n.warn(`[${o}] passReason threw: ${d(Ht instanceof Error?Ht.message:String(Ht))}`)}return zi(e.state,o,{status:"passed",reason:St,attempts:f,outputFile:Ls.relative(e.runDir,h),artifacts:Ie,phases:a.phases}),n.info(`[${o}] passed (${f.length} attempt(s))${St?` \u2014 ${St}`:""}`),{name:o,status:"passed",attempts:f.length,reason:St}}if(A=`exit gate(s) failed: ${Ct.map(Ie=>`${Ie.name}${Ie.details?` \u2014 ${Ie.details}`:""}`).join("; ")}`,b="gates",q===j&&q===L&&L===Gnt&&(L+=1,n.info(`[${o}] the review-triggered retry breached a gate \u2014 one more resume before falling back to the gate-clean attempt`)),q<L&&t.retryHint)try{let Ie=t.retryHint(e,fe,Ct);Ie&&(A+=`
695
- ${Ie}`)}catch{}if(A=d(A),me.failure=A,await le())return et(A);T.push({session:fe,gates:Ke,failure:A}),n.warn(`[${o}] ${A}`)}let J=await O(Fsr[b]);if(J)return J;let z=await N(A);return z||(zi(e.state,o,{status:"failed",reason:A,attempts:f,outputFile:Ls.relative(e.runDir,h),phases:a.phases}),n.error(`[${o}] failed after ${L} attempts (${A})`),{name:o,status:"failed",attempts:f.length,reason:A})}We();var Wsr=5*6e4;function Wnt(t={}){let e=t.refresh??bU,r=t.now??Date.now,n,s,i=o=>n!==void 0&&n-r()>=o+Wsr;return async o=>{if(i(o)||s&&(await s,i(o)))return;let a=Math.ceil(o/6e4);s??=e({getIDToken:c=>L_(c),setSecret:It,debug:c=>ie(c),warning:c=>K(c),timeoutMinutes:a,onMinted:c=>{n=c}}).then(()=>{}).finally(()=>{s=void 0}),await s}}var $z={info:t=>console.log(t),warn:t=>console.warn(`[warn] ${t}`),error:t=>console.error(`[error] ${t}`)};function Ysr(t,e,r,n,s){for(let i of kle(t)){if(r.has(i))continue;let o=`${t.name}<-${i}`;if(s.has(o))continue;let a=Jm.join(e.outputsDir,`${i}.json`);if(!Km.existsSync(a))continue;let c,l;try{let u=JSON.parse(Km.readFileSync(a,"utf-8"));c=u._runId,l=u._invocationId}catch{}l&&l===xde||(s.add(o),n.warn(`[${t.name}] using ${i}.json from an earlier invocation${c?` (run ${c})`:""} \u2014 not re-run this invocation; include ${i} in --stages to refresh it if inputs changed`))}}async function Ynt(t){t={...t,beforeSession:t.beforeSession??Wnt()};let e=t.logger??$z,r=Jm.resolve(t.runDir),n=Jm.join(r,"outputs");t.fresh&&Km.rmSync(n,{recursive:!0,force:!0}),Km.mkdirSync(n,{recursive:!0});let s=Jm.join(r,"state.json"),i=T7e(s,{fresh:t.fresh,onWarn:Z=>e.warn(Z)}),o={...t.inputs,repositoryPath:Jm.resolve(t.inputs?.repositoryPath??process.cwd()),runnerPlatform:t.platform?.name??t.inputs?.runnerPlatform??"local",budgetMinutes:t.budgetMs!=null?Math.round(t.budgetMs/6e4):t.inputs?.budgetMinutes};i.inputs=o.skyrampMcp?.runToken?{...o,skyrampMcp:{...o.skyrampMcp,runToken:void 0}}:o,mg(s,i);let a={runDir:r,outputsDir:n,stateFilePath:s,inputs:o,state:i,platform:t.platform,outputFileFor:Z=>Jm.join(n,`${Z}.txt`)},c,l=()=>{if($nt(t.sutAuth,o.repositoryPath)){if(!c){c=qnt(o.repositoryPath,t.sutAuth);for(let Z of c.notes)e.info(`[runner] ${Z}`)}return c}},u=t.sink??t.platform?.createProgressSink(),d=Z=>t.stageOverrides?.[Z]??Qnt(Z),p={skipReport:t.skipReport,deliver:o.deliver,onboard:o.onboard},m=yde(void 0,p).filter(Z=>t.withheld?.[Z]),h=m.map(Z=>({name:Z,status:"skipped",attempts:0,reason:t.withheld[Z]}));for(let Z of h)zi(i,Z.name,{status:Z.status,reason:Z.reason,attempts:[]});mg(s,i);let f=yde(t.stages,p).filter(Z=>!m.includes(Z));e.info(`Staged testbot run ${i.runId}`),e.info(`Stages: ${f.join(", ")} (dependency-ordered, parallel where independent)`);for(let Z of h)e.info(`[${Z.name}] skipped: ${Z.reason}`);let A=f.filter(Z=>Z!=="report"&&Z!=="deliver"),b=new Set(A),y=new Map,x=new Map,I=new Map,v=new Set,T=new Set,N=SB.filter(Z=>f.includes(Z)||m.includes(Z)),F=u?a7e({getView:()=>({sequence:N,settled:new Map(N.filter(Z=>i.stages[Z]).map(Z=>[Z,i.stages[Z].status])),running:T,reasons:new Map(N.filter(Z=>i.stages[Z]?.reason).map(Z=>[Z,i.stages[Z].reason]))}),sink:u,runUrl:t.platform?.runUrl}):null;F?.start();let L=Z=>!b.has(Z)||y.has(Z),j=Z=>{try{t.onStageEvent?.(Z)}catch(me){e.warn(`stage event listener failed: ${me instanceof Error?me.message:String(me)}`)}},J=Z=>{let me=d(Z);j({stage:Z,event:"started"}),Ysr(me,a,b,e,v);let ce=new AbortController;I.set(Z,ce),T.add(Z),x.set(Z,Uz(me,{...a},t,e,ce.signal,l).catch(le=>{let Fe=`stage crashed: ${le instanceof Error?le.message:String(le)}`;return e.error(`[${Z}] ${Fe}`),zi(i,Z,{status:"failed",reason:Fe,attempts:[]}),mg(s,i),{name:Z,status:"failed",attempts:0,reason:Fe}}))},z=Date.now(),q=!1,U,M,X=()=>{if(U)return;let Z=t.abortSignal?.reason;Z&&typeof Z=="object"?(U=Z.detail??Z.reason??"stopped by the platform",M=Z.reason):U=String(Z??"stopped by the platform"),e.warn(`[runner] run stopped early \u2014 ${U}; aborting in-flight stages`);for(let[,me]of I)me.abort(U)},pe=[];t.abortSignal?.aborted?X():t.abortSignal?.addEventListener("abort",X,{once:!0});let ae=null;if(t.budgetMs!=null){let Z=t.graceMs??Math.max(6e4,Math.min(t.budgetMs*.1,18e4));ae=setTimeout(()=>{q=!0,e.warn("[runner] run budget reached \u2014 aborting in-flight stages, finalizing with a report");for(let[,me]of I)me.abort("run budget exhausted")},Math.max(0,t.budgetMs-Z))}let Ee=[],fe=!1;try{for(;y.size<A.length;){if(!q&&!U)for(let le of A){if(y.has(le)||x.has(le))continue;let Fe=d(le);kle(Fe).every(L)&&J(le)}if(x.size===0){if(q||U)break;let le=A.filter(Fe=>!y.has(Fe));throw new Error(`stage dependency deadlock: ${le.join(", ")}`)}let ce=await Promise.race([...x.entries()].map(([le,Fe])=>Fe.then(et=>({name:le,summary:et}))));x.delete(ce.name),I.delete(ce.name),T.delete(ce.name),y.set(ce.name,ce.summary),mg(s,i),j({stage:ce.name,event:"finished",status:ce.summary.status});for(let[le,Fe]of I){let He=d(le).abortIf?.(a,{name:ce.name,status:ce.summary.status});He&&(e.warn(`[${le}] aborting \u2014 ${He}`),Fe.abort(He))}}if(ae&&clearTimeout(ae),q||U){for(let ce of A){if(y.has(ce))continue;let le=U?`not run \u2014 ${U}`:"not run \u2014 run budget exhausted";zi(i,ce,{status:"skipped",reason:le,attempts:[]}),y.set(ce,{name:ce,status:"skipped",attempts:0,reason:le})}mg(s,i)}Ee=[...h,...A.map(ce=>y.get(ce))];let Z=ce=>{let le=new AbortController,Fe=()=>le.abort(t.abortSignal?.reason??"run cancelled");if(t.abortSignal?.aborted?Fe():t.abortSignal?.addEventListener("abort",Fe,{once:!0}),pe.push(()=>t.abortSignal?.removeEventListener("abort",Fe)),t.budgetMs==null)return{o:t,signal:le.signal};let et=Math.max(3e4,z+t.budgetMs-Date.now()),He=Math.min(et/6e4,t.timeoutMinutes??d(ce).timeoutMinutes),Ke=setTimeout(()=>le.abort("run budget exhausted"),et);return Ke.unref?.(),pe.push(()=>clearTimeout(Ke)),{o:{...t,timeoutMinutes:He},signal:le.signal}};if(f.includes("report")&&!U){T.add("report");let ce=Z("report"),le=await Uz(d("report"),{...a},ce.o,e,ce.signal,l);T.delete("report"),Ee.push(le),mg(s,i)}if(f.includes("deliver")&&!q&&!U){T.add("deliver");let ce=Z("deliver"),le=await Uz(d("deliver"),{...a},ce.o,e,ce.signal);T.delete("deliver"),Ee.push(le),mg(s,i)}if(t.teardown??!(t.stages&&t.stages.length))for(let ce of Ee){if(ce.status!=="passed")continue;let le=d(ce.name);if(!(IB(le)||!le.teardown))try{await le.teardown({...a}),e.info(`[${ce.name}] teardown done`)}catch(Fe){e.warn(`[${ce.name}] teardown failed: ${Fe instanceof Error?Fe.message:String(Fe)}`)}}let me=f.includes("report")&&!Km.existsSync(Jm.join(n,"report.json"));await F?.stop({timedOut:q,aborted:U,reportMissing:me}),fe=!0}finally{ae&&clearTimeout(ae);for(let[,Z]of I)Z.abort("runner exiting");fe||await F?.stop({timedOut:q,aborted:U}).catch(()=>{}),t.abortSignal?.removeEventListener("abort",X);for(let Z of pe)Z()}let se=Ee.every(Z=>Z.status!=="failed");return{runId:i.runId,stateFilePath:s,outputsDir:n,stages:Ee,success:se,timedOut:q,aborted:U,abortReason:M}}var rI=H(require("fs")),Cde=H(require("path"));function Sde(t,e={}){let r=Lz(t,{collapsed:!0,existingEvidence:e.existingEvidence}).replace(/^<!--[^>]*-->\s*/,""),n=[CS,"","### Skyramp Testbot",""];e.timedOut&&n.push("> \u26A0\uFE0F Run timed out \u2014 the results below are partial.",""),e.aborted&&n.push(`> \u26A0\uFE0F Run stopped early \u2014 ${e.aborted}. The results below are partial.`,""),e.partial&&n.push(`> \u26A0\uFE0F This report was assembled automatically after the write-up step failed its checks; ${e.partial} check(s) remain unmet \u2014 see the run log for details.`,"");for(let o of e.testsPrProblems??[])n.push(`> \u26A0\uFE0F ${o}`,"");let s=e.testsPrs??[];for(let o of s){let a=s.length>1?` (${o.repository})`:"";n.push(`Testbot PR${a} : [${o.title}](${o.url})`,"")}let i=e.runUrl?`
695
+ ${Ie}`)}catch{}if(A=d(A),me.failure=A,await le())return et(A);T.push({session:fe,gates:Ke,failure:A}),n.warn(`[${o}] ${A}`)}let J=await O(Fsr[b]);if(J)return J;let z=await N(A);return z||(zi(e.state,o,{status:"failed",reason:A,attempts:f,outputFile:Ls.relative(e.runDir,h),phases:a.phases}),n.error(`[${o}] failed after ${L} attempts (${A})`),{name:o,status:"failed",attempts:f.length,reason:A})}We();var Wsr=5*6e4;function Wnt(t={}){let e=t.refresh??bU,r=t.now??Date.now,n,s,i=o=>n!==void 0&&n-r()>=o+Wsr;return async o=>{if(i(o)||s&&(await s,i(o)))return;let a=Math.ceil(o/6e4);s??=e({getIDToken:c=>L_(c),setSecret:It,debug:c=>ie(c),warning:c=>K(c),timeoutMinutes:a,onMinted:c=>{n=c}}).then(()=>{}).finally(()=>{s=void 0}),await s}}var $z={info:t=>console.log(t),warn:t=>console.warn(`[warn] ${t}`),error:t=>console.error(`[error] ${t}`)};function Ysr(t,e,r,n,s){for(let i of kle(t)){if(r.has(i))continue;let o=`${t.name}<-${i}`;if(s.has(o))continue;let a=Jm.join(e.outputsDir,`${i}.json`);if(!Km.existsSync(a))continue;let c,l;try{let u=JSON.parse(Km.readFileSync(a,"utf-8"));c=u._runId,l=u._invocationId}catch{}l&&l===xde||(s.add(o),n.warn(`[${t.name}] using ${i}.json from an earlier invocation${c?` (run ${c})`:""} \u2014 not re-run this invocation; include ${i} in --stages to refresh it if inputs changed`))}}async function Ynt(t){t={...t,beforeSession:t.beforeSession??Wnt()};let e=t.logger??$z,r=Jm.resolve(t.runDir),n=Jm.join(r,"outputs");t.fresh&&Km.rmSync(n,{recursive:!0,force:!0}),Km.mkdirSync(n,{recursive:!0});let s=Jm.join(r,"state.json"),i=T7e(s,{fresh:t.fresh,onWarn:Z=>e.warn(Z)}),o={...t.inputs,repositoryPath:Jm.resolve(t.inputs?.repositoryPath??process.cwd()),runnerPlatform:t.platform?.name??t.inputs?.runnerPlatform??"local",budgetMinutes:t.budgetMs!=null?Math.round(t.budgetMs/6e4):t.inputs?.budgetMinutes};i.inputs=o.skyrampMcp?.runToken?{...o,skyrampMcp:{...o.skyrampMcp,runToken:void 0}}:o,mg(s,i);let a={runDir:r,outputsDir:n,stateFilePath:s,inputs:o,state:i,platform:t.platform,outputFileFor:Z=>Jm.join(n,`${Z}.txt`)},c,l=()=>{if($nt(t.sutAuth,o.repositoryPath)){if(!c){c=qnt(o.repositoryPath,t.sutAuth);for(let Z of c.notes)e.info(`[runner] ${Z}`)}return c}},u=t.sink??t.platform?.createProgressSink(),d=Z=>t.stageOverrides?.[Z]??Qnt(Z),p={skipReport:t.skipReport,deliver:o.deliver,onboard:o.onboard},m=yde(void 0,p).filter(Z=>t.withheld?.[Z]),h=m.map(Z=>({name:Z,status:"skipped",attempts:0,reason:t.withheld[Z]}));for(let Z of h)zi(i,Z.name,{status:Z.status,reason:Z.reason,attempts:[]});mg(s,i);let f=yde(t.stages,p).filter(Z=>!m.includes(Z));e.info(`Staged testbot run ${i.runId}`),e.info(`Stages: ${f.join(", ")} (dependency-ordered, parallel where independent)`);for(let Z of h)e.info(`[${Z.name}] skipped: ${Z.reason}`);let A=f.filter(Z=>Z!=="report"&&Z!=="deliver"),b=new Set(A),y=new Map,x=new Map,I=new Map,v=new Set,T=new Set,N=SB.filter(Z=>f.includes(Z)||m.includes(Z)),F=u?a7e({getView:()=>({sequence:N,settled:new Map(N.filter(Z=>i.stages[Z]).map(Z=>[Z,i.stages[Z].status])),running:T,reasons:new Map(N.filter(Z=>i.stages[Z]?.reason).map(Z=>[Z,i.stages[Z].reason]))}),sink:u,runUrl:t.platform?.runUrl}):null;F?.start();let L=Z=>!b.has(Z)||y.has(Z),j=Z=>{try{t.onStageEvent?.(Z)}catch(me){e.warn(`stage event listener failed: ${me instanceof Error?me.message:String(me)}`)}},J=Z=>{let me=d(Z);j({stage:Z,event:"started"}),Ysr(me,a,b,e,v);let ce=new AbortController;I.set(Z,ce),T.add(Z),x.set(Z,Uz(me,{...a},t,e,ce.signal,l).catch(le=>{let Ue=`stage crashed: ${le instanceof Error?le.message:String(le)}`;return e.error(`[${Z}] ${Ue}`),zi(i,Z,{status:"failed",reason:Ue,attempts:[]}),mg(s,i),{name:Z,status:"failed",attempts:0,reason:Ue}}))},z=Date.now(),q=!1,U,M,X=()=>{if(U)return;let Z=t.abortSignal?.reason;Z&&typeof Z=="object"?(U=Z.detail??Z.reason??"stopped by the platform",M=Z.reason):U=String(Z??"stopped by the platform"),e.warn(`[runner] run stopped early \u2014 ${U}; aborting in-flight stages`);for(let[,me]of I)me.abort(U)},pe=[];t.abortSignal?.aborted?X():t.abortSignal?.addEventListener("abort",X,{once:!0});let ae=null;if(t.budgetMs!=null){let Z=t.graceMs??Math.max(6e4,Math.min(t.budgetMs*.1,18e4));ae=setTimeout(()=>{q=!0,e.warn("[runner] run budget reached \u2014 aborting in-flight stages, finalizing with a report");for(let[,me]of I)me.abort("run budget exhausted")},Math.max(0,t.budgetMs-Z))}let Ee=[],fe=!1;try{for(;y.size<A.length;){if(!q&&!U)for(let le of A){if(y.has(le)||x.has(le))continue;let Ue=d(le);kle(Ue).every(L)&&J(le)}if(x.size===0){if(q||U)break;let le=A.filter(Ue=>!y.has(Ue));throw new Error(`stage dependency deadlock: ${le.join(", ")}`)}let ce=await Promise.race([...x.entries()].map(([le,Ue])=>Ue.then(et=>({name:le,summary:et}))));x.delete(ce.name),I.delete(ce.name),T.delete(ce.name),y.set(ce.name,ce.summary),mg(s,i),j({stage:ce.name,event:"finished",status:ce.summary.status});for(let[le,Ue]of I){let He=d(le).abortIf?.(a,{name:ce.name,status:ce.summary.status});He&&(e.warn(`[${le}] aborting \u2014 ${He}`),Ue.abort(He))}}if(ae&&clearTimeout(ae),q||U){for(let ce of A){if(y.has(ce))continue;let le=U?`not run \u2014 ${U}`:"not run \u2014 run budget exhausted";zi(i,ce,{status:"skipped",reason:le,attempts:[]}),y.set(ce,{name:ce,status:"skipped",attempts:0,reason:le})}mg(s,i)}Ee=[...h,...A.map(ce=>y.get(ce))];let Z=ce=>{let le=new AbortController,Ue=()=>le.abort(t.abortSignal?.reason??"run cancelled");if(t.abortSignal?.aborted?Ue():t.abortSignal?.addEventListener("abort",Ue,{once:!0}),pe.push(()=>t.abortSignal?.removeEventListener("abort",Ue)),t.budgetMs==null)return{o:t,signal:le.signal};let et=Math.max(3e4,z+t.budgetMs-Date.now()),He=Math.min(et/6e4,t.timeoutMinutes??d(ce).timeoutMinutes),Ke=setTimeout(()=>le.abort("run budget exhausted"),et);return Ke.unref?.(),pe.push(()=>clearTimeout(Ke)),{o:{...t,timeoutMinutes:He},signal:le.signal}};if(f.includes("report")&&!U){T.add("report");let ce=Z("report"),le=await Uz(d("report"),{...a},ce.o,e,ce.signal,l);T.delete("report"),Ee.push(le),mg(s,i)}if(f.includes("deliver")&&!q&&!U){T.add("deliver");let ce=Z("deliver"),le=await Uz(d("deliver"),{...a},ce.o,e,ce.signal);T.delete("deliver"),Ee.push(le),mg(s,i)}if(t.teardown??!(t.stages&&t.stages.length))for(let ce of Ee){if(ce.status!=="passed")continue;let le=d(ce.name);if(!(IB(le)||!le.teardown))try{await le.teardown({...a}),e.info(`[${ce.name}] teardown done`)}catch(Ue){e.warn(`[${ce.name}] teardown failed: ${Ue instanceof Error?Ue.message:String(Ue)}`)}}let me=f.includes("report")&&!Km.existsSync(Jm.join(n,"report.json"));await F?.stop({timedOut:q,aborted:U,reportMissing:me}),fe=!0}finally{ae&&clearTimeout(ae);for(let[,Z]of I)Z.abort("runner exiting");fe||await F?.stop({timedOut:q,aborted:U}).catch(()=>{}),t.abortSignal?.removeEventListener("abort",X);for(let Z of pe)Z()}let se=Ee.every(Z=>Z.status!=="failed");return{runId:i.runId,stateFilePath:s,outputsDir:n,stages:Ee,success:se,timedOut:q,aborted:U,abortReason:M}}var rI=H(require("fs")),Cde=H(require("path"));function Sde(t,e={}){let r=Lz(t,{collapsed:!0,existingEvidence:e.existingEvidence}).replace(/^<!--[^>]*-->\s*/,""),n=[CS,"","### Skyramp Testbot",""];e.timedOut&&n.push("> \u26A0\uFE0F Run timed out \u2014 the results below are partial.",""),e.aborted&&n.push(`> \u26A0\uFE0F Run stopped early \u2014 ${e.aborted}. The results below are partial.`,""),e.partial&&n.push(`> \u26A0\uFE0F This report was assembled automatically after the write-up step failed its checks; ${e.partial} check(s) remain unmet \u2014 see the run log for details.`,"");for(let o of e.testsPrProblems??[])n.push(`> \u26A0\uFE0F ${o}`,"");let s=e.testsPrs??[];for(let o of s){let a=s.length>1?` (${o.repository})`:"";n.push(`Testbot PR${a} : [${o.title}](${o.url})`,"")}let i=e.runUrl?`
696
696
 
697
697
  _[View run](${e.runUrl})_
698
698
  `:"";return(n.join(`
@@ -704,22 +704,22 @@ _[View run](${e.runUrl})_
704
704
  `);if(T===-1)return;let N=h.slice(0,T+1);h=h.slice(T+1);try{_o.writeSync(m,Buffer.from(yn(N,r.secretValues??[])))}catch{A()}},A=()=>{if(m===void 0)return;if(h){try{_o.writeSync(m,Buffer.from(yn(h,r.secretValues??[])))}catch{}h=""}let v=m;m=void 0;try{_o.closeSync(v)}catch{}},b=Buffer.byteLength(r.prompt)>iir;b&&o.splice(o.indexOf(r.prompt),1);let y=(0,Xnt.spawn)(t,o,{cwd:r.cwd,stdio:["pipe","pipe","pipe"],env:sir(process.env,r.env)});y.stdin.on("error",()=>{}),y.stdin.end(b?r.prompt:void 0);let x=setTimeout(()=>{u=!0,y.kill("SIGKILL")},r.timeoutMs),I=()=>y.kill("SIGKILL");r.signal?.aborted?I():r.signal?.addEventListener("abort",I,{once:!0}),y.stdout.on("data",v=>{c+=v,f(v)}),y.stderr.on("data",v=>l+=v),y.on("error",v=>{l+=`
705
705
  ${v.message}`,p(1)}),y.on("close",v=>p(v??1))})}var nst=16*1024;function sst(t,e="SUT guidance"){let r=Buffer.byteLength(t,"utf-8");if(r>nst)throw new Error(`${e} is ${r} bytes; the limit is ${nst} (16 KiB)`);let n=wue.exec(t);if(n){let s=n[0].charCodeAt(0).toString(16).toUpperCase().padStart(4,"0");throw new Error(`${e} contains control character U+${s}; only tab, LF and CR are allowed`)}return t.trim()||void 0}var ist=H(require("fs"));function ost(t,e){let r=e??Object.keys(t.stages),n=[];for(let i of r){let o=t.stages[i];if(!o)continue;let a=o.attempts??[],c=a.reduce((d,p)=>d+(p.durationMs??0),0),l=a.reduce((d,p)=>d+Math.max(0,(p.totalMs??0)-(p.durationMs??0)),0),u=(o.phases??[]).reduce((d,p)=>d+(p.ms??0),0);n.push({stage:i,status:o.status,attempts:a.length,minutes:c/6e4,verifyMinutes:(l+u)/6e4,turns:a.reduce((d,p)=>d+(p.numTurns??0),0),inputTokens:a.reduce((d,p)=>d+(p.inputTokens??0),0),outputTokens:a.reduce((d,p)=>d+(p.outputTokens??0),0),costUsd:a.reduce((d,p)=>d+(p.costUsd??0)+(p.reviewCostUsd??0)+(p.judgeCostUsd??0),0)})}let s=n.reduce((i,o)=>({...i,attempts:i.attempts+o.attempts,minutes:i.minutes+o.minutes,verifyMinutes:i.verifyMinutes+o.verifyMinutes,turns:i.turns+o.turns,inputTokens:i.inputTokens+o.inputTokens,outputTokens:i.outputTokens+o.outputTokens,costUsd:i.costUsd+o.costUsd}),{stage:"total",status:"",attempts:0,minutes:0,verifyMinutes:0,turns:0,inputTokens:0,outputTokens:0,costUsd:0});return{rows:n,total:s}}function ast(t,e=8){let r=[];for(let[n,s]of Object.entries(t.stages))if(s){for(let i of s.phases??[])r.push({stage:n,phase:i.name,minutes:(i.ms??0)/6e4});for(let i of s.attempts??[])for(let o of i.phases??[])r.push({stage:n,phase:`${o.name} (attempt ${i.attempt})`,minutes:(o.ms??0)/6e4})}return r.sort((n,s)=>s.minutes-n.minutes).slice(0,e)}var qz=t=>t>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${Math.round(t/1e3)}k`:String(t);function cst(t,e={}){let{rows:r,total:n}=ost(t,e.order),s=["stage","status","att","min","verify","turns","in","out","cost"],i=d=>[d.stage,d.status,String(d.attempts),d.minutes.toFixed(1),d.verifyMinutes.toFixed(1),String(d.turns),qz(d.inputTokens),qz(d.outputTokens),`$${d.costUsd.toFixed(2)}`],o=[s,...r.map(i),i(n)],a=s.map((d,p)=>Math.max(...o.map(m=>m[p].length))),c=d=>d.map((p,m)=>m<=1?p.padEnd(a[m]):p.padStart(a[m])).join(" "),l=[c(s),a.map(d=>"-".repeat(d)).join(" "),...r.map(d=>c(i(d))),c(i(n))];e.wallMinutes!=null&&l.push(`wall clock: ${e.wallMinutes.toFixed(1)} min (stages overlap; sessions ${n.minutes.toFixed(1)} min + verification ${n.verifyMinutes.toFixed(1)} min)`);let u=ast(t,5).filter(d=>d.minutes>=.5);return u.length&&l.push("slowest phases: "+u.map(d=>`${d.stage}/${d.phase} ${d.minutes.toFixed(1)}m`).join(", ")),l.join(`
706
706
  `)}function lst(t,e={}){let{rows:r,total:n}=ost(t,e.order),s=a=>`| ${a.stage} | ${a.status} | ${a.attempts} | ${a.minutes.toFixed(1)} | ${a.verifyMinutes.toFixed(1)} | ${a.turns} | ${qz(a.inputTokens)} | ${qz(a.outputTokens)} | $${a.costUsd.toFixed(2)} |`,i=["| stage | status | attempts | session min | verify min | turns | input tokens | output tokens | cost |","|---|---|---:|---:|---:|---:|---:|---:|---:|",...r.map(s),s({...n,stage:"**total**"})];e.wallMinutes!=null&&i.push("",`Wall clock: ${e.wallMinutes.toFixed(1)} min (stages run in parallel; sessions sum to ${n.minutes.toFixed(1)} min and verification to ${n.verifyMinutes.toFixed(1)} min).`);let o=ast(t,8).filter(a=>a.minutes>=.5);return o.length&&i.push("","<details><summary>Slowest phases</summary>","","| stage | phase | min |","|---|---|---:|",...o.map(a=>`| ${a.stage} | ${a.phase} | ${a.minutes.toFixed(1)} |`),"","</details>"),i.join(`
707
- `)}function Hz(t){try{return JSON.parse(ist.readFileSync(t,"utf-8"))}catch{return}}function zz(t){let e=1/0,r=-1/0,n=(s,i)=>{let o=Date.parse(s??""),a=Date.parse(i??"");Number.isNaN(o)||(e=Math.min(e,o)),Number.isNaN(a)||(r=Math.max(r,a))};for(let s of Object.values(t.stages)){for(let i of s?.phases??[])n(i.startedAt,i.endedAt);for(let i of s?.attempts??[])n(i.startedAt,i.endedAt)}return Number.isFinite(e)&&Number.isFinite(r)&&r>=e?(r-e)/6e4:void 0}var sb=H(require("fs")),SP=H(require("path"));We();function ust(t=process.env.GITHUB_EVENT_NAME,e=process.env.GITHUB_EVENT_PATH){let r={eventName:t};if(!e||!sb.existsSync(e))return r;let n;try{n=JSON.parse(sb.readFileSync(e,"utf-8"))}catch{return r}typeof n.action=="string"&&(r.action=n.action);let s=n.pull_request;if(s?.number)return r.prNumber=s.number,typeof s.merged=="boolean"&&(r.merged=s.merged),r.baseRef=s.base?.ref,r.headRef=s.head?.ref,r.title=s.title,r.body=s.body??void 0,r;let i=n.issue;if(i?.number&&i.pull_request)return r.prNumber=i.number,r.title=i.title,r.body=i.body??void 0,r;let o=n.inputs,a=o?.pr??o?.prNumber,c=typeof a=="string"||typeof a=="number"?Number(a):NaN;return Number.isInteger(c)&&c>0&&(r.prNumber=c),r}function dst(t,e){return t.prNumber?{...t,baseRef:t.baseRef??e.baseBranch,headRef:t.headRef??e.headBranch,title:t.title??e.prTitle,body:t.body??e.prBody}:t}function pst(t=process.env){let e=Ue("githubToken")||t.GH_TOKEN||t.GITHUB_TOKEN||void 0;return delete t.INPUT_GITHUBTOKEN,delete t.GH_TOKEN,delete t.GITHUB_TOKEN,e}function mst(t=process.env){let e=Ue("githubAppId"),r=Ue("githubAppPrivateKey");if(delete t.INPUT_GITHUBAPPPRIVATEKEY,!e||!r)return;let n=Qc(t.GITHUB_REPOSITORY??"");if(!n){K("githubAppId/githubAppPrivateKey are set but GITHUB_REPOSITORY is not \u2014 using githubToken (expires after 1h)");return}let s=new DE({appId:e,privateKey:r,owner:n.owner,repo:n.repo,repositories:[n.repo]});return te("GitHub App credentials provided \u2014 minting fresh installation tokens on demand"),()=>s.getToken()}function fst(t){if(!t.useBedrock)return;let e=qre(t.awsRegion);return r=>{let n=r.trim().toLowerCase();return RC(n)?EU(n,e):n==="haiku"?EU("sonnet",e):r}}var cir={setup:["preflight","onboard","deploy"],analyzing:["analyze","recommend"],generating:["generate","generate-ui"],executing:["adapt"],maintaining:["finalize"],reporting:["report","deliver"]};function Rde(t){try{return sb.existsSync(t)?JSON.parse(sb.readFileSync(t,"utf-8")):void 0}catch{return}}function IP(t,e={}){let r={skipped_self_trigger:e.skippedSelfTrigger?"true":"false",skipped_pr_closed:e.skippedPrClosed||t.outcome?.reason==="pr-closed"?"true":"false",test_summary:"",tests_created:"0",tests_modified:"0",tests_executed:"0",commit_sha:"",testbot_pr_url:"",testbot_pr_number:""},n=t.summary;if(!n)return r;let s=Rde(SP.join(n.outputsDir,"report.json"));s&&(r.test_summary=Sde(s).replace(/^<!--[^>]*-->\s*/,""),r.tests_created=String(s.newTestsCreated.length),r.tests_modified=s.executionCoverage!==void 0?String(s.executionCoverage.modified):String((s.testMaintenance??[]).filter(c=>c.action!=="verify"&&c.action!=="ignore").length),r.tests_executed=s.executionCoverage!==void 0?String(s.executionCoverage.executed):String(s.testResults.filter(c=>c.status!=="Skipped").length));let i=Rde(SP.join(n.outputsDir,"deliver.json"));if(i){i.committed&&i.pushed&&(r.commit_sha=i.commitSha??""),r.testbot_pr_url=i.prUrl??"";let c=/\/pull\/(\d+)/.exec(i.prUrl??"");r.testbot_pr_number=c?c[1]:""}let o=Rde(n.stateFilePath),a=0;for(let[c,l]of Object.entries(cir)){let u=0,d=!1;for(let p of l){let m=o?.stages[p];if(m){d=!0;for(let h of m.attempts)u+=h.durationMs??0}}a+=u,r[`duration_${c}`]=d?String(Math.floor(u/1e3)):""}return r.duration_total=String(Math.floor(a/1e3)),r}async function hst(t){try{if(!sb.existsSync(t))return;let e=Ue("enableDebug").trim().toLowerCase()==="true",r=[];if(YS(t,i=>{let o=SP.basename(i);(/\.(json|txt|md)$/.test(o)||e&&o.endsWith(".ndjson"))&&r.push(i)}),r.length===0)return;let n=["skyramp-staged-run",process.env.GITHUB_JOB,process.env.GITHUB_RUN_ATTEMPT].filter(Boolean).join("-"),{DefaultArtifactClient:s}=await Promise.resolve().then(()=>(PF(),G$e));await new s().uploadArtifact(n,r,t,{retentionDays:14}),te(`Uploaded ${r.length} staged run file(s) as artifact ${n}`)}catch(e){K(`could not upload the staged run artifact: ${e instanceof Error?e.message:String(e)}`)}}async function gst(t,e){try{let r=Ide(t.outputsDir,{timedOut:t.timedOut,aborted:t.aborted}),n=r!==void 0?r.replace(/^<!--[^>]*-->\s*/,""):`### Skyramp Testbot
707
+ `)}function Hz(t){try{return JSON.parse(ist.readFileSync(t,"utf-8"))}catch{return}}function zz(t){let e=1/0,r=-1/0,n=(s,i)=>{let o=Date.parse(s??""),a=Date.parse(i??"");Number.isNaN(o)||(e=Math.min(e,o)),Number.isNaN(a)||(r=Math.max(r,a))};for(let s of Object.values(t.stages)){for(let i of s?.phases??[])n(i.startedAt,i.endedAt);for(let i of s?.attempts??[])n(i.startedAt,i.endedAt)}return Number.isFinite(e)&&Number.isFinite(r)&&r>=e?(r-e)/6e4:void 0}var sb=H(require("fs")),SP=H(require("path"));We();function ust(t=process.env.GITHUB_EVENT_NAME,e=process.env.GITHUB_EVENT_PATH){let r={eventName:t};if(!e||!sb.existsSync(e))return r;let n;try{n=JSON.parse(sb.readFileSync(e,"utf-8"))}catch{return r}typeof n.action=="string"&&(r.action=n.action);let s=n.pull_request;if(s?.number)return r.prNumber=s.number,typeof s.merged=="boolean"&&(r.merged=s.merged),r.baseRef=s.base?.ref,r.headRef=s.head?.ref,r.title=s.title,r.body=s.body??void 0,r;let i=n.issue;if(i?.number&&i.pull_request)return r.prNumber=i.number,r.title=i.title,r.body=i.body??void 0,r;let o=n.inputs,a=o?.pr??o?.prNumber,c=typeof a=="string"||typeof a=="number"?Number(a):NaN;return Number.isInteger(c)&&c>0&&(r.prNumber=c),r}function dst(t,e){return t.prNumber?{...t,baseRef:t.baseRef??e.baseBranch,headRef:t.headRef??e.headBranch,title:t.title??e.prTitle,body:t.body??e.prBody}:t}function pst(t=process.env){let e=Fe("githubToken")||t.GH_TOKEN||t.GITHUB_TOKEN||void 0;return delete t.INPUT_GITHUBTOKEN,delete t.GH_TOKEN,delete t.GITHUB_TOKEN,e}function mst(t=process.env){let e=Fe("githubAppId"),r=Fe("githubAppPrivateKey");if(delete t.INPUT_GITHUBAPPPRIVATEKEY,!e||!r)return;let n=Qc(t.GITHUB_REPOSITORY??"");if(!n){K("githubAppId/githubAppPrivateKey are set but GITHUB_REPOSITORY is not \u2014 using githubToken (expires after 1h)");return}let s=new DE({appId:e,privateKey:r,owner:n.owner,repo:n.repo,repositories:[n.repo]});return te("GitHub App credentials provided \u2014 minting fresh installation tokens on demand"),()=>s.getToken()}function fst(t){if(!t.useBedrock)return;let e=qre(t.awsRegion);return r=>{let n=r.trim().toLowerCase();return RC(n)?EU(n,e):n==="haiku"?EU("sonnet",e):r}}var cir={setup:["preflight","onboard","deploy"],analyzing:["analyze","recommend"],generating:["generate","generate-ui"],executing:["adapt"],maintaining:["finalize"],reporting:["report","deliver"]};function Rde(t){try{return sb.existsSync(t)?JSON.parse(sb.readFileSync(t,"utf-8")):void 0}catch{return}}function IP(t,e={}){let r={skipped_self_trigger:e.skippedSelfTrigger?"true":"false",skipped_pr_closed:e.skippedPrClosed||t.outcome?.reason==="pr-closed"?"true":"false",test_summary:"",tests_created:"0",tests_modified:"0",tests_executed:"0",commit_sha:"",testbot_pr_url:"",testbot_pr_number:""},n=t.summary;if(!n)return r;let s=Rde(SP.join(n.outputsDir,"report.json"));s&&(r.test_summary=Sde(s).replace(/^<!--[^>]*-->\s*/,""),r.tests_created=String(s.newTestsCreated.length),r.tests_modified=s.executionCoverage!==void 0?String(s.executionCoverage.modified):String((s.testMaintenance??[]).filter(c=>c.action!=="verify"&&c.action!=="ignore").length),r.tests_executed=s.executionCoverage!==void 0?String(s.executionCoverage.executed):String(s.testResults.filter(c=>c.status!=="Skipped").length));let i=Rde(SP.join(n.outputsDir,"deliver.json"));if(i){i.committed&&i.pushed&&(r.commit_sha=i.commitSha??""),r.testbot_pr_url=i.prUrl??"";let c=/\/pull\/(\d+)/.exec(i.prUrl??"");r.testbot_pr_number=c?c[1]:""}let o=Rde(n.stateFilePath),a=0;for(let[c,l]of Object.entries(cir)){let u=0,d=!1;for(let p of l){let m=o?.stages[p];if(m){d=!0;for(let h of m.attempts)u+=h.durationMs??0}}a+=u,r[`duration_${c}`]=d?String(Math.floor(u/1e3)):""}return r.duration_total=String(Math.floor(a/1e3)),r}async function hst(t){try{if(!sb.existsSync(t))return;let e=Fe("enableDebug").trim().toLowerCase()==="true",r=[];if(YS(t,i=>{let o=SP.basename(i);(/\.(json|txt|md)$/.test(o)||e&&o.endsWith(".ndjson"))&&r.push(i)}),r.length===0)return;let n=["skyramp-staged-run",process.env.GITHUB_JOB,process.env.GITHUB_RUN_ATTEMPT].filter(Boolean).join("-"),{DefaultArtifactClient:s}=await Promise.resolve().then(()=>(PF(),G$e));await new s().uploadArtifact(n,r,t,{retentionDays:14}),te(`Uploaded ${r.length} staged run file(s) as artifact ${n}`)}catch(e){K(`could not upload the staged run artifact: ${e instanceof Error?e.message:String(e)}`)}}async function gst(t,e){try{let r=Ide(t.outputsDir,{timedOut:t.timedOut,aborted:t.aborted}),n=r!==void 0?r.replace(/^<!--[^>]*-->\s*/,""):`### Skyramp Testbot
708
708
 
709
709
  ${e?.summary??"run finished"} \u2014 no report was produced.
710
710
 
711
- `+t.stages.map(o=>`- ${o.name}: ${o.status}${o.reason?` \u2014 ${o.reason}`:""}`).join(`
712
- `),s=Hz(t.stateFilePath),i=s?`
711
+ `+t.stages.map(a=>`- ${a.name}: ${a.status}${a.reason?` \u2014 ${a.reason}`:""}`).join(`
712
+ `),i=Fe("showStageBreakdown").trim().toLowerCase()==="true"?Hz(t.stateFilePath):void 0,o=i?`
713
713
 
714
714
  ### Stage breakdown
715
715
 
716
- ${lst(s,{order:t.stages.map(o=>o.name),wallMinutes:zz(s)})}
717
- `:"";await hR.addRaw(n+i).write()}catch(r){K(`could not write the run summary: ${r instanceof Error?r.message:String(r)}`)}}var iI=H(require("fs")),sI=H(require("path"));We();var Ni=H(require("fs")),ip=H(require("path"));var lir=["/.skyramp/sut/","/.skyramp/workspace.yml"];function vde(t){Ni.rmSync(t,{recursive:!0,force:!0})}function Ast(t,e){for(let s of e)if(!JE(s.path))throw new Error(`Not a recipe file path: ${s.path}`);let r=ip.join(t,".skyramp"),n=Ni.lstatSync(r,{throwIfNoEntry:!1});n&&!n.isDirectory()&&vde(r),Ni.mkdirSync(r,{recursive:!0}),vde(ip.join(r,"sut")),vde(ip.join(r,"workspace.yml"));for(let s of e){let i=ip.join(t,s.path);Ni.mkdirSync(ip.dirname(i),{recursive:!0}),Ni.writeFileSync(i,s.content,{flag:"wx",mode:s.path.endsWith(".sh")?493:420})}Nde(t)}function Nde(t){let e=ip.join(t,".git");if(!Ni.lstatSync(e,{throwIfNoEntry:!1})?.isDirectory())return;let r=ip.join(e,"info","exclude");Ni.mkdirSync(ip.dirname(r),{recursive:!0});let n=Ni.existsSync(r)?Ni.readFileSync(r,"utf8"):"",s=n.split(`
716
+ ${lst(i,{order:t.stages.map(a=>a.name),wallMinutes:zz(i)})}
717
+ `:"";await hR.addRaw(n+o).write()}catch(r){K(`could not write the run summary: ${r instanceof Error?r.message:String(r)}`)}}var iI=H(require("fs")),sI=H(require("path"));We();var Ni=H(require("fs")),ip=H(require("path"));var lir=["/.skyramp/sut/","/.skyramp/workspace.yml"];function vde(t){Ni.rmSync(t,{recursive:!0,force:!0})}function Ast(t,e){for(let s of e)if(!JE(s.path))throw new Error(`Not a recipe file path: ${s.path}`);let r=ip.join(t,".skyramp"),n=Ni.lstatSync(r,{throwIfNoEntry:!1});n&&!n.isDirectory()&&vde(r),Ni.mkdirSync(r,{recursive:!0}),vde(ip.join(r,"sut")),vde(ip.join(r,"workspace.yml"));for(let s of e){let i=ip.join(t,s.path);Ni.mkdirSync(ip.dirname(i),{recursive:!0}),Ni.writeFileSync(i,s.content,{flag:"wx",mode:s.path.endsWith(".sh")?493:420})}Nde(t)}function Nde(t){let e=ip.join(t,".git");if(!Ni.lstatSync(e,{throwIfNoEntry:!1})?.isDirectory())return;let r=ip.join(e,"info","exclude");Ni.mkdirSync(ip.dirname(r),{recursive:!0});let n=Ni.existsSync(r)?Ni.readFileSync(r,"utf8"):"",s=n.split(`
718
718
  `),i=lir.filter(o=>!s.includes(o));i.length>0&&Ni.appendFileSync(r,`${n&&!n.endsWith(`
719
719
  `)?`
720
720
  `:""}${i.join(`
721
721
  `)}
722
- `)}var uir="https://testbot.skyramp.dev",Ig={attemptId:"v3AttemptId",origin:"v3Origin",deadlineAt:"v3DeadlineAt",reportUploaded:"v3ReportUploaded",recipeUploaded:"v3RecipeUploaded",cause:"v3Cause"},dir="skyramp-sources",pir=3e4;function mir(t){let e=t.ACTIONS_ID_TOKEN_REQUEST_URL,r=t.ACTIONS_ID_TOKEN_REQUEST_TOKEN;return delete t.ACTIONS_ID_TOKEN_REQUEST_URL,delete t.ACTIONS_ID_TOKEN_REQUEST_TOKEN,async n=>{if(!e||!r)throw new Error("The job cannot request an OIDC token. Give it the `id-token: write` permission.");let s=new URL(e);s.searchParams.set("audience",n);let i=await fetch(s,{headers:{Authorization:`Bearer ${r}`,Accept:"application/json"},redirect:"error",signal:AbortSignal.timeout(pir)});if(!i.ok)throw new Error(`GitHub refused the OIDC token request: ${i.status}`);let o=(await i.json().catch(()=>({}))).value;if(typeof o!="string"||!o)throw new Error("GitHub's OIDC token response carried no token");return It(o),o}}function fir(t,e){return{origin:t,idToken:e,mask:r=>It(r),log:r=>te(r)}}function op(t){yR(Ig.attemptId)&&!yR(Ig.cause)&&kn(Ig.cause,t)}function oI(){op("setup_failed")}function yst(){op("timed_out")}var Bde={cancelled:"Skyramp cancelled this run",expired:"this attempt passed its deadline in Skyramp",ended:"Skyramp already ended this attempt"},Est={cancelled:"cancelled",expired:"timed_out",ended:"agent_failed"};function bst(t){return e=>htt(t.attempt,r=>{op(Est[r]),K(`Testbot V3: ${Bde[r]}; stopping the run, and uploading nothing.`),e("attempt-closed",Bde[r])})}async function wst(t){let e=await ftt(t.attempt);return e?(op(Est[e]),K(`Testbot V3: ${Bde[e]}, so nothing is uploaded.`),!0):!1}function Pde(t){return[...t.attempt.manifest.credentials.map(e=>process.env[e.name]??""),t.attempt.license?.runToken??"",t.attempt.modelKey??"",...t.heldInputs??[]].filter(Boolean)}var hir={analyze:"analyze",triage:"analyze",recommend:"recommend",generate:"generate","generate-ui":"generate","generate-unit":"generate",adapt:"generate",onboard:"execute",deploy:"execute","native-run":"execute",deliver:"deliver"},gir={analyze:"change analysis",recommend:"test recommendations",generate:"test generation",execute:"test execution",deliver:"opening a pull request with the tests"};function xst(t){if(!t)return{withheld:{}};let e={};for(let[r,n]of Object.entries(hir))t.includes(n)||(e[r]=`your Skyramp plan does not include ${gir[n]}`);return t.includes("generate")?{withheld:e}:{stages:["analyze","recommend"],planOnly:!0,withheld:e}}async function Gz(t){t.cancelWatch?.stop();let e=await t.attempt.revokeTokens();for(let r of e)K(`Testbot V3: could not revoke a scoped GitHub token (${r}); it stays valid until it expires.`)}function Air(t){let e=["SIGINT","SIGTERM"],r=()=>{n(),Gz({attempt:t})},n=()=>{for(let s of e)process.removeListener(s,r)};for(let s of e)process.on(s,r);return{stop:n}}async function Cst(t,e){let r=mir(process.env),n=Ue("skyrampAppOrigin").trim()||uir,s=await ptt(t,process.env,fir(n,r)),i=Air(s);kn(Ig.attemptId,s.attemptId),kn(Ig.origin,n),kn(Ig.deadlineAt,s.deadlineAt.toISOString()),te(`Testbot V3: attempt ${s.attemptNumber} of Validation Run ${t}, deadline ${s.deadlineAt.toISOString()}`);try{return{...await yir(s,e),cancelWatch:i}}catch(o){throw await Gz({attempt:s,cancelWatch:i}),o}}async function yir(t,e){await Eir(t,e);let r=Btt(t.manifest,process.env);if(r.length>0)throw op("credential_missing"),new Error(`The workflow does not supply the required credential${r.length>1?"s":""} ${r.join(", ")}. Add ${r.length>1?"them":"it"} to the Testbot step's env.`);let n;try{n=await Att(t,{workspace:sI.join(process.env.GITHUB_WORKSPACE||process.cwd(),dir)})}catch(d){throw op("checkout_failed"),d}for(let d of n)te(`Testbot V3: ${d.slug} at ${d.revision}`);await wir({attempt:t,sources:n});let s=btt(n);te(`Testbot V3: working checkout ${s.repositorySlug}`);let i=Ett(t.manifest,n);i&&te(`Testbot V3: the pull request is ${i.repository}#${i.number}`);let o=await ytt(t);for(let d of o)te([`Testbot V3: Change Set ${d.repository}#${d.number}`,d.note].filter(Boolean).join(": "));let a=jz({attempt:t})?void 0:await bir({attempt:t}),c=a?wtt(a,n):[];for(let d of c)te(`Testbot V3: ${d.testType} tests in ${d.repository} go in ${d.directory}`);let l=a&&xtt(a,t.manifest);for(let d of l?.components??[])te(`Testbot V3: shared component ${d.name} at ${d.url}${d.repository?`, running ${d.repository}`:""}`);let u=$et(t.manifest,a?.settings??null);return u&&te(u.confirmedRunId?`Testbot V3: scheduled validation of the delta since Confirmed Baseline run ${u.confirmedRunId}`:"Testbot V3: scheduled validation, first qualification: no Confirmed Baseline yet"),{attempt:t,sources:n,layout:s,pullRequests:o,pullRequest:i,testPlacements:c,...l?{sharedEnvironment:l}:{},scheduledValidation:u}}async function Eir(t,e){if(e.useBedrock)return;if(!e.anthropicApiKey&&!process.env.ANTHROPIC_API_KEY)try{await t.token()}catch(n){throw oI(),n}let r=e.anthropicApiKey||process.env.ANTHROPIC_API_KEY||t.modelKey;r&&(e.anthropicApiKey=r,process.env.ANTHROPIC_API_KEY=r)}async function bir(t){try{return(await vue(t.attempt)).capture}catch(e){if(!(e instanceof Po&&e.status===404))throw oI(),e;K(`Testbot V3: this Skyramp app does not serve the run's configuration (${e.message}); each test goes where its repository's convention puts it, and no shared environment is verified.`);return}}async function wir(t){for(let e of t.sources)Nde(e.path);jz(t)||await xir(t)}async function xir(t){let e=t.sources[0],r;try{r=await Itt(t.attempt)}catch(n){if(!(n instanceof Po&&n.status===404))throw oI(),n;K(`Testbot V3: this Skyramp app does not serve the stored SUT recipe (${n.message}); deploy uses a source's own recipe, if one has it.`);return}if(!r){te("Testbot V3: no stored SUT recipe for this Target yet; deploy uses a source's own recipe, if one has it.");return}Ast(e.path,r.files),te(`Testbot V3: SUT recipe version ${r.version}, ${r.files.length} files, for ${e.slug} (uncommitted)`)}function Sst(t){try{let e=JSON.parse(iI.readFileSync(sI.join(t,"@skyramp","mcp","package.json"),"utf-8")).version;return typeof e=="string"&&/^[0-9A-Za-z.+-]{1,64}$/.test(e)?e:"unknown"}catch{return"unknown"}}async function Ist(t,e,r){e.aborted?op("cancelled"):e.timedOut&&op("timed_out");let n=e.outputsDir?sI.join(e.outputsDir,"report.json"):void 0;if(!n||!iI.existsSync(n)){K("Testbot V3: the run wrote no report, so Skyramp records it as an infrastructure error.");return}if(!await wst(t))try{let s=JSON.parse(iI.readFileSync(n,"utf-8"));await Stt(t.attempt,{report:s,sources:t.sources,workingSlug:t.layout.repositorySlug,delivery:Ttt(e.outputsDir,t.sources,s,t.layout.repositorySlug),producer:{testbot:Bq().version,mcp:Sst(r)},secrets:[...Pde(t),...tI()]}),kn(Ig.reportUploaded,"true"),te("Testbot V3: report uploaded; Skyramp derives the outcome.")}catch(s){K(`Testbot V3: the report upload failed: ${s instanceof Error?s.message:String(s)}`)}}function jz(t){return t.attempt.manifest.trigger.kind==="sut_setup"}async function Rst(t){let{capture:e}=await vue(t.attempt),{components:r,dependencies:n,runner:s,...i}=e.settings.target.environment??{};return xue(i,"the run's SUT / Environment settings")}var Cir={onboard:"onboard",deploy:"deploy"};function vst(t,e){return({stage:r,event:n,status:s})=>{if(r==="onboard"&&n==="started"){t.setupEvents??=new mz(e,c=>vtt(t.attempt,c),{secrets:()=>Fm([...t.attempt.issuedTokens,...Pde(t),...tI()]),warn:c=>K(c)});try{t.setupEvents.start()}catch(c){K(`Testbot V3: could not start setup events: ${c instanceof Error?c.message:String(c)}`)}}r==="onboard"&&n==="finished"&&t.setupEvents?.stop();let i=Cir[r];if(!i)return;let o=n==="finished",a=s==="aborted"?"skipped":s;Rtt(t.attempt,{schemaVersion:1,stage:i,event:o?"finished":"started",...o&&a?{status:a}:{}}).catch(c=>K(`Testbot V3: could not report ${r} ${n}: ${c instanceof Error?c.message:String(c)}`))}}var Tde=t=>{try{return JSON.parse(iI.readFileSync(t,"utf-8"))}catch{return}};async function Nst(t,e,r){try{await Sir(t,e,r)}finally{await t.setupEvents?.stop()}}async function Sir(t,e,r){e.aborted?op("cancelled"):e.timedOut&&op("timed_out");let n=e.outputsDir?Tde(sI.join(e.outputsDir,"onboard.json")):void 0;if(!n){K("Testbot V3: onboard wrote no answer, so there is no SUT recipe to send; Skyramp records the run as an infrastructure error.");return}if(await wst(t))return;let s=Tde(sI.join(e.outputsDir,"deploy.json")),o=(e.stateFilePath?Tde(e.stateFilePath):void 0)?.stages.deploy?.attempts?.reduce((a,c)=>a+(c.totalMs??c.durationMs??0),0);try{let a=Aet(n,s,{deployDurationSeconds:o?Math.round(o/1e3):void 0,recipeFiles:s?Cue(t.layout.repositoryPath):void 0});await Ntt(t.attempt,{recipe:a,sources:t.sources,producer:{testbot:Bq().version,mcp:Sst(r)},secrets:[...Pde(t),...tI()]}),kn(Ig.recipeUploaded,"true"),te(`Testbot V3: SUT recipe uploaded (${a.status}); Skyramp derives the outcome.`)}catch(a){K(`Testbot V3: the SUT recipe upload failed: ${a instanceof Error?a.message:String(a)}`)}}function Iir(t){let e=t.split(/[\n,]/).map(r=>r.trim()).filter(Boolean);return e.length?e:void 0}function Rir(t){if((t("testRepoPath")??"").trim())return"testRepoPath is not supported by the staged pipeline (pipeline: staged) \u2014 it writes tests into the application checkout only, and the Action's token has no write access to another repository. Use pipeline: classic for cross-repository delivery, or remove the input."}async function vir(t,e,r,n=process.env.GITHUB_WORKSPACE||process.cwd()){let s=(t("relatedRepoPaths")??"").trim();if(!s)return[];let i=[];for(let o of s.split(/[\n,]/).map(a=>a.trim()).filter(Boolean)){let a=Rg.resolve(n,o);if(!Ro(n,o)){r(`relatedRepoPaths: ${o} is outside the workspace \u2014 skipping`);continue}if(!aI.existsSync(a)){r(`relatedRepoPaths: no checkout at ${o} \u2014 skipping`);continue}let c=await e(a);if(!c){r(`relatedRepoPaths: could not resolve owner/repo for ${o} (no origin remote?) \u2014 skipping`);continue}i.push({slug:c,path:a})}return i}async function Nir(t,e,r=process.env){let n=r.GITHUB_REPOSITORY_ID,s=r.GITHUB_REPOSITORY;return!n||!s?void 0:(await e(t).catch(()=>{}))?.toLowerCase()===s.toLowerCase()?{[n]:s}:void 0}async function Tst(){let t=xU();delete process.env.INPUT_SKYRAMPLICENSEFILE;let e=pst(process.env),r=Ue("skyrampRunId").trim(),n=r?await Cst(r,t):void 0;try{await Tir(t,e,n)}finally{n&&await Gz(n)}}async function Tir(t,e,r){let n=r!==void 0&&jz(r);r&&(r.heldInputs=[t.skyrampLicenseFile].filter(Boolean));let s=r?r.layout.repositoryPath:Rg.resolve(t.workingDirectory||"."),i=r?()=>r.attempt.token():mst(),o=r?void 0:e;o&&It(o);let a=ust(),c=new PH({repositoryPath:r?.pullRequest?.path??s,prNumber:a.prNumber,tokenProvider:i,githubToken:o,repoSlug:r?r.pullRequest?.repository??r.layout.repositorySlug:void 0,allowedAuthors:!n&&t.allowedAuthors?.length?t.allowedAuthors:void 0,log:J=>te(J)});a=dst(a,await c.resolveContext().catch(()=>({}))),te(`Staged pipeline \u2014 event: ${a.eventName??"?"}${a.action?`/${a.action}`:""}${a.prNumber?`, PR #${a.prNumber}`:""}${a.headRef?` (${a.headRef} \u2192 ${a.baseRef??"?"})`:""}`);let l=pd(),u=Rg.join(l,"staged");if(a.eventName==="pull_request"&&a.action==="closed"){let J=a.merged===!1,z=J?`PR #${a.prNumber} was closed without merging`:`PR #${a.prNumber} was merged`;if(J&&a.headRef){let q=await c.closeTestsPr({branch:Ade(a.headRef,Ue("deliverBranch")||void 0),reason:`Closing: the pull request this tests PR targeted (#${a.prNumber}) was closed without being merged.`});q.closed&&(z+=`; closed the tests PR ${q.url??""}`.trimEnd())}te(`Staged pipeline \u2014 ${z}; nothing to run.`);for(let[q,U]of Object.entries(IP({admission:{admit:!1,reason:z}},{skippedPrClosed:J})))dt(q,U);kn("completed","true");return}let d=await c.admitRun();if(!d.admit){te(`Staged pipeline \u2014 run skipped: ${d.reason}`);for(let[J,z]of Object.entries(IP({admission:d},{skippedSelfTrigger:!0})))dt(J,z);kn("completed","true");return}let p=r?r.layout.relatedRepos:await vir(J=>Ue(J),J=>Om(J),J=>K(J)),m=Rir(J=>Ue(J));if(m)throw new Error(m);let h=n||Ue("onboard").toLowerCase()==="true",f=sst(Ue("sutGuidance"),"sutGuidance input"),A;try{A=n?await Rst(r):ett(Ue("sutEnvironment"),"sutEnvironment input")}catch(J){throw r&&oI(),J}for(let J of lz(A))It(J);let b=r?Object.fromEntries(r.sources.map(J=>[J.repository.providerRepositoryId,J.slug])):await Nir(s,J=>Om(J)),y,x,I=r?.attempt.license?.runToken,v;try{if(e||i){let z=process.env.GITHUB_WORKSPACE,q=[...new Set([s,...p.map(X=>X.path),...z?v7e(z):[]].map(X=>Rg.resolve(X)))],U;for(let X of q){let pe=X===Rg.resolve(s)?Ee=>{/^\s*authorization\s*:/i.test(Ee)&&(U??=Ee)}:void 0,ae=I7e(X,void 0,pe);ae.length&&te(`Removed the persisted checkout credential from ${X} (${ae.length} entr${ae.length===1?"y":"ies"}).`)}let M=R7e();M.length&&te(`Removed ${M.length} persisted checkout credential(s) from RUNNER_TEMP.`),U&&(It(U.replace(/^AUTHORIZATION:\s*\S+\s+/i,"")),c.adoptCheckoutAuthHeader(U),te("Deliver pushes with the credential the checkout was made with."))}else K("No githubToken or GitHub App credentials: the checkout's persisted git credential (if any) is left in place, and the stage sessions can reach it. Set persist-credentials: false on actions/checkout, or pass githubToken.");if(aI.mkdirSync(l,{recursive:!0}),!I){if(v=Rg.join(l,"skyramp_license.lic"),!t.skyrampLicenseFile)throw new Error("skyrampLicenseFile input is required");aI.writeFileSync(v,t.skyrampLicenseFile,{mode:384})}let J=await AT(t);y=await Nq(J,t,l),x=kU("claude",{model:t.model||void 0,useLocalAuth:t.useLocalAuth&&!t.useBedrock}),await kq(x),await _q(x),x.setupAgentEnv(t,J)}catch(J){r&&oI();let z=J instanceof Error?J.message:String(J);await c.createProgressSink().render(TH(z,{runUrl:c.runUrl})).catch(()=>{}),await c.endRun({status:"failure",summary:`could not start: ${z}`});for(let[q,U]of Object.entries(IP({admission:{admit:!0},startupError:J instanceof Error?J:new Error(z)})))dt(q,U);kn("completed","true"),ul(`Skyramp Testbot could not start: ${z}`);return}t.generatedTestsMode!=="separate-branch"&&K(`pipeline: staged delivers only as a separate tests PR; generatedTestsMode=${t.generatedTestsMode} means nothing is committed or pushed this run`);let T=r?r.attempt.budgetMs(new Date):(t.testbotTimeout||60)*6e4;if(T<=0)throw yst(),new Error("Testbot V3: setup used the run's whole budget; no time is left before the attempt deadline");let{stages:N,planOnly:O,withheld:F}=r&&!n?xst(r.attempt.license?.entitlements):{};O&&te("Testbot V3: this organization's plan does not include test generation, so this run only analyzes the change and recommends tests.");let L=await Knt({admission:d,platform:c,watch:r?bst(r):void 0,log:$z,skipReport:n,run:{runDir:u,fresh:!0,budgetMs:T,...n?{stages:["onboard","deploy"],skipReport:!0,onStageEvent:vst(r,s)}:{},...N?{stages:N}:{},withheld:F,model:Ue("model").trim()||void 0,resolveModel:fst(t),inputs:{repositoryPath:s,repositorySlug:r?.layout.repositorySlug,pullRequestRepository:r?.pullRequest?.repository,baseBranch:!r&&a.baseRef?`origin/${a.baseRef}`:void 0,relatedRepos:p,headBranch:r?void 0:a.headRef,prTitle:a.title,prDescription:a.body,...r?.pullRequests?.length?{pullRequests:r.pullRequests}:{},...r?.testPlacements?.length?{testPlacements:r.testPlacements}:{},...r?.sharedEnvironment?{sharedEnvironment:r.sharedEnvironment}:{},...r?.scheduledValidation?{scheduledValidation:r.scheduledValidation}:{},planOnly:O,skyrampMcp:{command:y.command,args:y.args.split(" ").filter(Boolean),licensePath:v,runToken:I},deliver:!n&&t.generatedTestsMode==="separate-branch"&&!O,deliverBranch:Ue("deliverBranch")||void 0,trustedChecks:Iir(Ue("trustedChecks")),deliverMode:a.eventName==="issue_comment"?"append":"replace",provisionRuntime:!0,runnerPlatform:"github",onboard:h&&!O,sutGuidance:f,sutEnvironment:A,setupEvents:n,repositoryIds:b},sessionRunner:rst(x.binary),sutAuth:{tokenCommand:t.authTokenCommand||void 0,uiCredentials:t.uiCredentials||void 0,sessionEnv:znt(Ue("sessionEnv")),maskSecret:J=>It(J),attempts:t.authTokenRetries,retryDelaySec:t.authTokenRetryDelay}}});r&&n?await Nst(r,L.summary??{},y.nodeModulesDir):r&&await Ist(r,L.summary??{},y.nodeModulesDir),L.admission.admit&&await hst(u);let j=IP(L,{skippedSelfTrigger:!L.admission.admit});for(let[J,z]of Object.entries(j))dt(J,z);if(kn("completed","true"),L.summary){await gst(L.summary,L.outcome),te(`Staged run ${L.summary.runId}: ${L.outcome?.summary} (state: ${L.summary.stateFilePath})`);let J=Hz(L.summary.stateFilePath);J&&(zs("Stage breakdown (time / cost / context)"),te(cst(J,{order:L.summary.stages.map(z=>z.name),wallMinutes:zz(J)})),Pn())}L.startupError?ul(`Skyramp Testbot could not start: ${L.startupError.message}`):L.outcome&&L.outcome.status==="failure"&&ul(`Skyramp Testbot: ${L.outcome.summary}`)}var Bir=Ue("pipeline").trim().toLowerCase(),Pir=Bir==="staged"?Tst:fXe;Pir().catch(async t=>{ul(t instanceof Error?t.message:String(t))});
722
+ `)}var uir="https://testbot.skyramp.dev",Ig={attemptId:"v3AttemptId",origin:"v3Origin",deadlineAt:"v3DeadlineAt",reportUploaded:"v3ReportUploaded",recipeUploaded:"v3RecipeUploaded",cause:"v3Cause"},dir="skyramp-sources",pir=3e4;function mir(t){let e=t.ACTIONS_ID_TOKEN_REQUEST_URL,r=t.ACTIONS_ID_TOKEN_REQUEST_TOKEN;return delete t.ACTIONS_ID_TOKEN_REQUEST_URL,delete t.ACTIONS_ID_TOKEN_REQUEST_TOKEN,async n=>{if(!e||!r)throw new Error("The job cannot request an OIDC token. Give it the `id-token: write` permission.");let s=new URL(e);s.searchParams.set("audience",n);let i=await fetch(s,{headers:{Authorization:`Bearer ${r}`,Accept:"application/json"},redirect:"error",signal:AbortSignal.timeout(pir)});if(!i.ok)throw new Error(`GitHub refused the OIDC token request: ${i.status}`);let o=(await i.json().catch(()=>({}))).value;if(typeof o!="string"||!o)throw new Error("GitHub's OIDC token response carried no token");return It(o),o}}function fir(t,e){return{origin:t,idToken:e,mask:r=>It(r),log:r=>te(r)}}function op(t){yR(Ig.attemptId)&&!yR(Ig.cause)&&kn(Ig.cause,t)}function oI(){op("setup_failed")}function yst(){op("timed_out")}var Bde={cancelled:"Skyramp cancelled this run",expired:"this attempt passed its deadline in Skyramp",ended:"Skyramp already ended this attempt"},Est={cancelled:"cancelled",expired:"timed_out",ended:"agent_failed"};function bst(t){return e=>htt(t.attempt,r=>{op(Est[r]),K(`Testbot V3: ${Bde[r]}; stopping the run, and uploading nothing.`),e("attempt-closed",Bde[r])})}async function wst(t){let e=await ftt(t.attempt);return e?(op(Est[e]),K(`Testbot V3: ${Bde[e]}, so nothing is uploaded.`),!0):!1}function Pde(t){return[...t.attempt.manifest.credentials.map(e=>process.env[e.name]??""),t.attempt.license?.runToken??"",t.attempt.modelKey??"",...t.heldInputs??[]].filter(Boolean)}var hir={analyze:"analyze",triage:"analyze",recommend:"recommend",generate:"generate","generate-ui":"generate","generate-unit":"generate",adapt:"generate",onboard:"execute",deploy:"execute","native-run":"execute",deliver:"deliver"},gir={analyze:"change analysis",recommend:"test recommendations",generate:"test generation",execute:"test execution",deliver:"opening a pull request with the tests"};function xst(t){if(!t)return{withheld:{}};let e={};for(let[r,n]of Object.entries(hir))t.includes(n)||(e[r]=`your Skyramp plan does not include ${gir[n]}`);return t.includes("generate")?{withheld:e}:{stages:["analyze","recommend"],planOnly:!0,withheld:e}}async function Gz(t){t.cancelWatch?.stop();let e=await t.attempt.revokeTokens();for(let r of e)K(`Testbot V3: could not revoke a scoped GitHub token (${r}); it stays valid until it expires.`)}function Air(t){let e=["SIGINT","SIGTERM"],r=()=>{n(),Gz({attempt:t})},n=()=>{for(let s of e)process.removeListener(s,r)};for(let s of e)process.on(s,r);return{stop:n}}async function Cst(t,e){let r=mir(process.env),n=Fe("skyrampAppOrigin").trim()||uir,s=await ptt(t,process.env,fir(n,r)),i=Air(s);kn(Ig.attemptId,s.attemptId),kn(Ig.origin,n),kn(Ig.deadlineAt,s.deadlineAt.toISOString()),te(`Testbot V3: attempt ${s.attemptNumber} of Validation Run ${t}, deadline ${s.deadlineAt.toISOString()}`);try{return{...await yir(s,e),cancelWatch:i}}catch(o){throw await Gz({attempt:s,cancelWatch:i}),o}}async function yir(t,e){await Eir(t,e);let r=Btt(t.manifest,process.env);if(r.length>0)throw op("credential_missing"),new Error(`The workflow does not supply the required credential${r.length>1?"s":""} ${r.join(", ")}. Add ${r.length>1?"them":"it"} to the Testbot step's env.`);let n;try{n=await Att(t,{workspace:sI.join(process.env.GITHUB_WORKSPACE||process.cwd(),dir)})}catch(d){throw op("checkout_failed"),d}for(let d of n)te(`Testbot V3: ${d.slug} at ${d.revision}`);await wir({attempt:t,sources:n});let s=btt(n);te(`Testbot V3: working checkout ${s.repositorySlug}`);let i=Ett(t.manifest,n);i&&te(`Testbot V3: the pull request is ${i.repository}#${i.number}`);let o=await ytt(t);for(let d of o)te([`Testbot V3: Change Set ${d.repository}#${d.number}`,d.note].filter(Boolean).join(": "));let a=jz({attempt:t})?void 0:await bir({attempt:t}),c=a?wtt(a,n):[];for(let d of c)te(`Testbot V3: ${d.testType} tests in ${d.repository} go in ${d.directory}`);let l=a&&xtt(a,t.manifest);for(let d of l?.components??[])te(`Testbot V3: shared component ${d.name} at ${d.url}${d.repository?`, running ${d.repository}`:""}`);let u=$et(t.manifest,a?.settings??null);return u&&te(u.confirmedRunId?`Testbot V3: scheduled validation of the delta since Confirmed Baseline run ${u.confirmedRunId}`:"Testbot V3: scheduled validation, first qualification: no Confirmed Baseline yet"),{attempt:t,sources:n,layout:s,pullRequests:o,pullRequest:i,testPlacements:c,...l?{sharedEnvironment:l}:{},scheduledValidation:u}}async function Eir(t,e){if(e.useBedrock)return;if(!e.anthropicApiKey&&!process.env.ANTHROPIC_API_KEY)try{await t.token()}catch(n){throw oI(),n}let r=e.anthropicApiKey||process.env.ANTHROPIC_API_KEY||t.modelKey;r&&(e.anthropicApiKey=r,process.env.ANTHROPIC_API_KEY=r)}async function bir(t){try{return(await vue(t.attempt)).capture}catch(e){if(!(e instanceof Po&&e.status===404))throw oI(),e;K(`Testbot V3: this Skyramp app does not serve the run's configuration (${e.message}); each test goes where its repository's convention puts it, and no shared environment is verified.`);return}}async function wir(t){for(let e of t.sources)Nde(e.path);jz(t)||await xir(t)}async function xir(t){let e=t.sources[0],r;try{r=await Itt(t.attempt)}catch(n){if(!(n instanceof Po&&n.status===404))throw oI(),n;K(`Testbot V3: this Skyramp app does not serve the stored SUT recipe (${n.message}); deploy uses a source's own recipe, if one has it.`);return}if(!r){te("Testbot V3: no stored SUT recipe for this Target yet; deploy uses a source's own recipe, if one has it.");return}Ast(e.path,r.files),te(`Testbot V3: SUT recipe version ${r.version}, ${r.files.length} files, for ${e.slug} (uncommitted)`)}function Sst(t){try{let e=JSON.parse(iI.readFileSync(sI.join(t,"@skyramp","mcp","package.json"),"utf-8")).version;return typeof e=="string"&&/^[0-9A-Za-z.+-]{1,64}$/.test(e)?e:"unknown"}catch{return"unknown"}}async function Ist(t,e,r){e.aborted?op("cancelled"):e.timedOut&&op("timed_out");let n=e.outputsDir?sI.join(e.outputsDir,"report.json"):void 0;if(!n||!iI.existsSync(n)){K("Testbot V3: the run wrote no report, so Skyramp records it as an infrastructure error.");return}if(!await wst(t))try{let s=JSON.parse(iI.readFileSync(n,"utf-8"));await Stt(t.attempt,{report:s,sources:t.sources,workingSlug:t.layout.repositorySlug,delivery:Ttt(e.outputsDir,t.sources,s,t.layout.repositorySlug),producer:{testbot:Bq().version,mcp:Sst(r)},secrets:[...Pde(t),...tI()]}),kn(Ig.reportUploaded,"true"),te("Testbot V3: report uploaded; Skyramp derives the outcome.")}catch(s){K(`Testbot V3: the report upload failed: ${s instanceof Error?s.message:String(s)}`)}}function jz(t){return t.attempt.manifest.trigger.kind==="sut_setup"}async function Rst(t){let{capture:e}=await vue(t.attempt),{components:r,dependencies:n,runner:s,...i}=e.settings.target.environment??{};return xue(i,"the run's SUT / Environment settings")}var Cir={onboard:"onboard",deploy:"deploy"};function vst(t,e){return({stage:r,event:n,status:s})=>{if(r==="onboard"&&n==="started"){t.setupEvents??=new mz(e,c=>vtt(t.attempt,c),{secrets:()=>Fm([...t.attempt.issuedTokens,...Pde(t),...tI()]),warn:c=>K(c)});try{t.setupEvents.start()}catch(c){K(`Testbot V3: could not start setup events: ${c instanceof Error?c.message:String(c)}`)}}r==="onboard"&&n==="finished"&&t.setupEvents?.stop();let i=Cir[r];if(!i)return;let o=n==="finished",a=s==="aborted"?"skipped":s;Rtt(t.attempt,{schemaVersion:1,stage:i,event:o?"finished":"started",...o&&a?{status:a}:{}}).catch(c=>K(`Testbot V3: could not report ${r} ${n}: ${c instanceof Error?c.message:String(c)}`))}}var Tde=t=>{try{return JSON.parse(iI.readFileSync(t,"utf-8"))}catch{return}};async function Nst(t,e,r){try{await Sir(t,e,r)}finally{await t.setupEvents?.stop()}}async function Sir(t,e,r){e.aborted?op("cancelled"):e.timedOut&&op("timed_out");let n=e.outputsDir?Tde(sI.join(e.outputsDir,"onboard.json")):void 0;if(!n){K("Testbot V3: onboard wrote no answer, so there is no SUT recipe to send; Skyramp records the run as an infrastructure error.");return}if(await wst(t))return;let s=Tde(sI.join(e.outputsDir,"deploy.json")),o=(e.stateFilePath?Tde(e.stateFilePath):void 0)?.stages.deploy?.attempts?.reduce((a,c)=>a+(c.totalMs??c.durationMs??0),0);try{let a=Aet(n,s,{deployDurationSeconds:o?Math.round(o/1e3):void 0,recipeFiles:s?Cue(t.layout.repositoryPath):void 0});await Ntt(t.attempt,{recipe:a,sources:t.sources,producer:{testbot:Bq().version,mcp:Sst(r)},secrets:[...Pde(t),...tI()]}),kn(Ig.recipeUploaded,"true"),te(`Testbot V3: SUT recipe uploaded (${a.status}); Skyramp derives the outcome.`)}catch(a){K(`Testbot V3: the SUT recipe upload failed: ${a instanceof Error?a.message:String(a)}`)}}function Iir(t){let e=t.split(/[\n,]/).map(r=>r.trim()).filter(Boolean);return e.length?e:void 0}function Rir(t){if((t("testRepoPath")??"").trim())return"testRepoPath is not supported by the staged pipeline (pipeline: staged) \u2014 it writes tests into the application checkout only, and the Action's token has no write access to another repository. Use pipeline: classic for cross-repository delivery, or remove the input."}async function vir(t,e,r,n=process.env.GITHUB_WORKSPACE||process.cwd()){let s=(t("relatedRepoPaths")??"").trim();if(!s)return[];let i=[];for(let o of s.split(/[\n,]/).map(a=>a.trim()).filter(Boolean)){let a=Rg.resolve(n,o);if(!Ro(n,o)){r(`relatedRepoPaths: ${o} is outside the workspace \u2014 skipping`);continue}if(!aI.existsSync(a)){r(`relatedRepoPaths: no checkout at ${o} \u2014 skipping`);continue}let c=await e(a);if(!c){r(`relatedRepoPaths: could not resolve owner/repo for ${o} (no origin remote?) \u2014 skipping`);continue}i.push({slug:c,path:a})}return i}async function Nir(t,e,r=process.env){let n=r.GITHUB_REPOSITORY_ID,s=r.GITHUB_REPOSITORY;return!n||!s?void 0:(await e(t).catch(()=>{}))?.toLowerCase()===s.toLowerCase()?{[n]:s}:void 0}async function Tst(){let t=xU();delete process.env.INPUT_SKYRAMPLICENSEFILE;let e=pst(process.env),r=Fe("skyrampRunId").trim(),n=r?await Cst(r,t):void 0;try{await Tir(t,e,n)}finally{n&&await Gz(n)}}async function Tir(t,e,r){let n=r!==void 0&&jz(r);r&&(r.heldInputs=[t.skyrampLicenseFile].filter(Boolean));let s=r?r.layout.repositoryPath:Rg.resolve(t.workingDirectory||"."),i=r?()=>r.attempt.token():mst(),o=r?void 0:e;o&&It(o);let a=ust(),c=new PH({repositoryPath:r?.pullRequest?.path??s,prNumber:a.prNumber,tokenProvider:i,githubToken:o,repoSlug:r?r.pullRequest?.repository??r.layout.repositorySlug:void 0,allowedAuthors:!n&&t.allowedAuthors?.length?t.allowedAuthors:void 0,log:J=>te(J)});a=dst(a,await c.resolveContext().catch(()=>({}))),te(`Staged pipeline \u2014 event: ${a.eventName??"?"}${a.action?`/${a.action}`:""}${a.prNumber?`, PR #${a.prNumber}`:""}${a.headRef?` (${a.headRef} \u2192 ${a.baseRef??"?"})`:""}`);let l=pd(),u=Rg.join(l,"staged");if(a.eventName==="pull_request"&&a.action==="closed"){let J=a.merged===!1,z=J?`PR #${a.prNumber} was closed without merging`:`PR #${a.prNumber} was merged`;if(J&&a.headRef){let q=await c.closeTestsPr({branch:Ade(a.headRef,Fe("deliverBranch")||void 0),reason:`Closing: the pull request this tests PR targeted (#${a.prNumber}) was closed without being merged.`});q.closed&&(z+=`; closed the tests PR ${q.url??""}`.trimEnd())}te(`Staged pipeline \u2014 ${z}; nothing to run.`);for(let[q,U]of Object.entries(IP({admission:{admit:!1,reason:z}},{skippedPrClosed:J})))dt(q,U);kn("completed","true");return}let d=await c.admitRun();if(!d.admit){te(`Staged pipeline \u2014 run skipped: ${d.reason}`);for(let[J,z]of Object.entries(IP({admission:d},{skippedSelfTrigger:!0})))dt(J,z);kn("completed","true");return}let p=r?r.layout.relatedRepos:await vir(J=>Fe(J),J=>Om(J),J=>K(J)),m=Rir(J=>Fe(J));if(m)throw new Error(m);let h=n||Fe("onboard").toLowerCase()==="true",f=sst(Fe("sutGuidance"),"sutGuidance input"),A;try{A=n?await Rst(r):ett(Fe("sutEnvironment"),"sutEnvironment input")}catch(J){throw r&&oI(),J}for(let J of lz(A))It(J);let b=r?Object.fromEntries(r.sources.map(J=>[J.repository.providerRepositoryId,J.slug])):await Nir(s,J=>Om(J)),y,x,I=r?.attempt.license?.runToken,v;try{if(e||i){let z=process.env.GITHUB_WORKSPACE,q=[...new Set([s,...p.map(X=>X.path),...z?v7e(z):[]].map(X=>Rg.resolve(X)))],U;for(let X of q){let pe=X===Rg.resolve(s)?Ee=>{/^\s*authorization\s*:/i.test(Ee)&&(U??=Ee)}:void 0,ae=I7e(X,void 0,pe);ae.length&&te(`Removed the persisted checkout credential from ${X} (${ae.length} entr${ae.length===1?"y":"ies"}).`)}let M=R7e();M.length&&te(`Removed ${M.length} persisted checkout credential(s) from RUNNER_TEMP.`),U&&(It(U.replace(/^AUTHORIZATION:\s*\S+\s+/i,"")),c.adoptCheckoutAuthHeader(U),te("Deliver pushes with the credential the checkout was made with."))}else K("No githubToken or GitHub App credentials: the checkout's persisted git credential (if any) is left in place, and the stage sessions can reach it. Set persist-credentials: false on actions/checkout, or pass githubToken.");if(aI.mkdirSync(l,{recursive:!0}),!I){if(v=Rg.join(l,"skyramp_license.lic"),!t.skyrampLicenseFile)throw new Error("skyrampLicenseFile input is required");aI.writeFileSync(v,t.skyrampLicenseFile,{mode:384})}let J=await AT(t);y=await Nq(J,t,l),x=kU("claude",{model:t.model||void 0,useLocalAuth:t.useLocalAuth&&!t.useBedrock}),await kq(x),await _q(x),x.setupAgentEnv(t,J)}catch(J){r&&oI();let z=J instanceof Error?J.message:String(J);await c.createProgressSink().render(TH(z,{runUrl:c.runUrl})).catch(()=>{}),await c.endRun({status:"failure",summary:`could not start: ${z}`});for(let[q,U]of Object.entries(IP({admission:{admit:!0},startupError:J instanceof Error?J:new Error(z)})))dt(q,U);kn("completed","true"),ul(`Skyramp Testbot could not start: ${z}`);return}t.generatedTestsMode!=="separate-branch"&&K(`pipeline: staged delivers only as a separate tests PR; generatedTestsMode=${t.generatedTestsMode} means nothing is committed or pushed this run`);let T=r?r.attempt.budgetMs(new Date):(t.testbotTimeout||60)*6e4;if(T<=0)throw yst(),new Error("Testbot V3: setup used the run's whole budget; no time is left before the attempt deadline");let{stages:N,planOnly:O,withheld:F}=r&&!n?xst(r.attempt.license?.entitlements):{};O&&te("Testbot V3: this organization's plan does not include test generation, so this run only analyzes the change and recommends tests.");let L=await Knt({admission:d,platform:c,watch:r?bst(r):void 0,log:$z,skipReport:n,run:{runDir:u,fresh:!0,budgetMs:T,...n?{stages:["onboard","deploy"],skipReport:!0,onStageEvent:vst(r,s)}:{},...N?{stages:N}:{},withheld:F,model:Fe("model").trim()||void 0,resolveModel:fst(t),inputs:{repositoryPath:s,repositorySlug:r?.layout.repositorySlug,pullRequestRepository:r?.pullRequest?.repository,baseBranch:!r&&a.baseRef?`origin/${a.baseRef}`:void 0,relatedRepos:p,headBranch:r?void 0:a.headRef,prTitle:a.title,prDescription:a.body,...r?.pullRequests?.length?{pullRequests:r.pullRequests}:{},...r?.testPlacements?.length?{testPlacements:r.testPlacements}:{},...r?.sharedEnvironment?{sharedEnvironment:r.sharedEnvironment}:{},...r?.scheduledValidation?{scheduledValidation:r.scheduledValidation}:{},planOnly:O,skyrampMcp:{command:y.command,args:y.args.split(" ").filter(Boolean),licensePath:v,runToken:I},deliver:!n&&t.generatedTestsMode==="separate-branch"&&!O,deliverBranch:Fe("deliverBranch")||void 0,trustedChecks:Iir(Fe("trustedChecks")),deliverMode:a.eventName==="issue_comment"?"append":"replace",provisionRuntime:!0,runnerPlatform:"github",onboard:h&&!O,sutGuidance:f,sutEnvironment:A,setupEvents:n,repositoryIds:b},sessionRunner:rst(x.binary),sutAuth:{tokenCommand:t.authTokenCommand||void 0,uiCredentials:t.uiCredentials||void 0,sessionEnv:znt(Fe("sessionEnv")),maskSecret:J=>It(J),attempts:t.authTokenRetries,retryDelaySec:t.authTokenRetryDelay}}});r&&n?await Nst(r,L.summary??{},y.nodeModulesDir):r&&await Ist(r,L.summary??{},y.nodeModulesDir),L.admission.admit&&await hst(u);let j=IP(L,{skippedSelfTrigger:!L.admission.admit});for(let[J,z]of Object.entries(j))dt(J,z);if(kn("completed","true"),L.summary){await gst(L.summary,L.outcome),te(`Staged run ${L.summary.runId}: ${L.outcome?.summary} (state: ${L.summary.stateFilePath})`);let J=Hz(L.summary.stateFilePath);J&&(zs("Stage breakdown (time / cost / context)"),te(cst(J,{order:L.summary.stages.map(z=>z.name),wallMinutes:zz(J)})),Pn())}L.startupError?ul(`Skyramp Testbot could not start: ${L.startupError.message}`):L.outcome&&L.outcome.status==="failure"&&ul(`Skyramp Testbot: ${L.outcome.summary}`)}var Bir=Fe("pipeline").trim().toLowerCase(),Pir=Bir==="staged"?Tst:fXe;Pir().catch(async t=>{ul(t instanceof Error?t.message:String(t))});
723
723
  /*! Bundled license information:
724
724
 
725
725
  undici/lib/web/fetch/body.js: