@testim/testim-cli 4.76.0 → 4.77.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.js +1 -1
- package/cli.js.map +1 -1
- package/npm-shrinkwrap.json +975 -289
- package/package.json +2 -2
package/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
|
-
"use strict";var PT=Object.create;var Hn=Object.defineProperty;var kT=Object.getOwnPropertyDescriptor;var OT=Object.getOwnPropertyNames;var _T=Object.getPrototypeOf,LT=Object.prototype.hasOwnProperty;var T=(s,e)=>()=>(s&&(e=s(s=0)),e);var G=(s,e)=>{for(var t in e)Hn(s,t,{get:e[t],enumerable:!0})},Vp=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of OT(e))!LT.call(s,n)&&n!==t&&Hn(s,n,{get:()=>e[n],enumerable:!(r=kT(e,n))||r.enumerable});return s};var E=(s,e,t)=>(t=s!=null?PT(_T(s)):{},Vp(e||!s||!s.__esModule?Hn(t,"default",{value:s,enumerable:!0}):t,s)),ye=s=>Vp(Hn({},"__esModule",{value:!0}),s);var je={};G(je,{log:()=>M,measure:()=>NT});function M(...s){if(!qp)return;let e=Date.now();console.log(`${e-DT} ${e-Hp} `,...s),Hp=e}function NT(s,e){if(!qp)return;let t=Date.now();try{s()}finally{console.log(e||s.name,"took",Date.now()-t)}}var qp,DT,Hp,$e=T(()=>{"use strict";qp=process.env.MEASURE_TESTIM_CLI_PERFORMANCE,DT=Date.now(),Hp=Date.now()});var Na,zt,Ma,Dr=T(()=>{"use strict";Na={NULL:"\uE000",Unidentified:"\uE000",Cancel:"\uE001",Help:"\uE002","Back space":"\uE003",Backspace:"\uE003",Tab:"\uE004",Clear:"\uE005",Return:"\uE006",Enter:"\uE007",Shift:"\uE008",Control:"\uE009",Alt:"\uE00A",Pause:"\uE00B",Escape:"\uE00C",Space:"\uE00D"," ":"\uE00D",Pageup:"\uE00E",PageUp:"\uE00E",Page_Up:"\uE00E",Pagedown:"\uE00F",PageDown:"\uE00F",Page_Down:"\uE00F",End:"\uE010",Home:"\uE011","Left arrow":"\uE012",Arrow_Left:"\uE012",ArrowLeft:"\uE012","Up arrow":"\uE013",Arrow_Up:"\uE013",ArrowUp:"\uE013","Right arrow":"\uE014",Arrow_Right:"\uE014",ArrowRight:"\uE014","Down arrow":"\uE015",Arrow_Down:"\uE015",ArrowDown:"\uE015",Insert:"\uE016",Delete:"\uE017",Semicolon:"\uE018",Equals:"\uE019","Numpad 0":"\uE01A","Numpad 1":"\uE01B","Numpad 2":"\uE01C","Numpad 3":"\uE01D","Numpad 4":"\uE01E","Numpad 5":"\uE01F","Numpad 6":"\uE020","Numpad 7":"\uE021","Numpad 8":"\uE022","Numpad 9":"\uE023",Multiply:"\uE024",Add:"\uE025",Separator:"\uE026",Subtract:"\uE027",Decimal:"\uE028",Divide:"\uE029",F1:"\uE031",F2:"\uE032",F3:"\uE033",F4:"\uE034",F5:"\uE035",F6:"\uE036",F7:"\uE037",F8:"\uE038",F9:"\uE039",F10:"\uE03A",F11:"\uE03B",F12:"\uE03C",Command:"\uE03D",Meta:"\uE03D",Zenkaku_Hankaku:"\uE040",ZenkakuHankaku:"\uE040"},zt="element-6066-11e4-a52e-4f735466cecf",Ma=79});function re(s=16){let e="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890",t="";for(let r=0;r<s;r++){let n=Math.floor(Math.random()*e.length);t+=e[n]}return t}function qe(s,e,t,r,n){let o="";return n=n?encodeURIComponent(n):"master",e&&t&&(o=`${s}/#/project/${e}/branch/${n}/test/${t}`,r&&(o+=`?result-id=${r}`)),o}function Ua(s,e){return`Basic ${Buffer.from(`${s}:${e}`).toString("base64")}`}function We(s){let e=/^(https?:\/\/)/i,t=new RegExp("^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$","i");return e.test(s)||t.test(s)}var Fa=T(()=>{"use strict"});var ja,zp,Kp,Zn=T(()=>{ja={ngrok:"4.3.3",webpack:"5.74.0",playwright:"0.12.1",puppeteer:"2.1.1","selenium-webdriver":"3.6.0","v8-to-istanbul":"9.1.0","istanbul-lib-coverage":"3.2.0","@bcoe/v8-coverage":"0.2.3","convert-source-map":"1.7.0",multer:"1.4.5-lts.1"},zp={"@applitools/eyes-sdk-core":"13.11.32","@applitools/spec-driver-webdriverio":"1.4.29","@segment/analytics-node":"1.3.0","@types/unzip-stream":"0.3.2",ajv:"6.12.6","body-parser":"1.20.1",chalk:"4.1.2","chrome-launcher":"0.15.0",commander:"10.0.0",compression:"1.7.4","coralogix-logger":"1.1.
|
|
2
|
+
"use strict";var PT=Object.create;var Hn=Object.defineProperty;var kT=Object.getOwnPropertyDescriptor;var OT=Object.getOwnPropertyNames;var _T=Object.getPrototypeOf,LT=Object.prototype.hasOwnProperty;var T=(s,e)=>()=>(s&&(e=s(s=0)),e);var G=(s,e)=>{for(var t in e)Hn(s,t,{get:e[t],enumerable:!0})},Vp=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of OT(e))!LT.call(s,n)&&n!==t&&Hn(s,n,{get:()=>e[n],enumerable:!(r=kT(e,n))||r.enumerable});return s};var E=(s,e,t)=>(t=s!=null?PT(_T(s)):{},Vp(e||!s||!s.__esModule?Hn(t,"default",{value:s,enumerable:!0}):t,s)),ye=s=>Vp(Hn({},"__esModule",{value:!0}),s);var je={};G(je,{log:()=>M,measure:()=>NT});function M(...s){if(!qp)return;let e=Date.now();console.log(`${e-DT} ${e-Hp} `,...s),Hp=e}function NT(s,e){if(!qp)return;let t=Date.now();try{s()}finally{console.log(e||s.name,"took",Date.now()-t)}}var qp,DT,Hp,$e=T(()=>{"use strict";qp=process.env.MEASURE_TESTIM_CLI_PERFORMANCE,DT=Date.now(),Hp=Date.now()});var Na,zt,Ma,Dr=T(()=>{"use strict";Na={NULL:"\uE000",Unidentified:"\uE000",Cancel:"\uE001",Help:"\uE002","Back space":"\uE003",Backspace:"\uE003",Tab:"\uE004",Clear:"\uE005",Return:"\uE006",Enter:"\uE007",Shift:"\uE008",Control:"\uE009",Alt:"\uE00A",Pause:"\uE00B",Escape:"\uE00C",Space:"\uE00D"," ":"\uE00D",Pageup:"\uE00E",PageUp:"\uE00E",Page_Up:"\uE00E",Pagedown:"\uE00F",PageDown:"\uE00F",Page_Down:"\uE00F",End:"\uE010",Home:"\uE011","Left arrow":"\uE012",Arrow_Left:"\uE012",ArrowLeft:"\uE012","Up arrow":"\uE013",Arrow_Up:"\uE013",ArrowUp:"\uE013","Right arrow":"\uE014",Arrow_Right:"\uE014",ArrowRight:"\uE014","Down arrow":"\uE015",Arrow_Down:"\uE015",ArrowDown:"\uE015",Insert:"\uE016",Delete:"\uE017",Semicolon:"\uE018",Equals:"\uE019","Numpad 0":"\uE01A","Numpad 1":"\uE01B","Numpad 2":"\uE01C","Numpad 3":"\uE01D","Numpad 4":"\uE01E","Numpad 5":"\uE01F","Numpad 6":"\uE020","Numpad 7":"\uE021","Numpad 8":"\uE022","Numpad 9":"\uE023",Multiply:"\uE024",Add:"\uE025",Separator:"\uE026",Subtract:"\uE027",Decimal:"\uE028",Divide:"\uE029",F1:"\uE031",F2:"\uE032",F3:"\uE033",F4:"\uE034",F5:"\uE035",F6:"\uE036",F7:"\uE037",F8:"\uE038",F9:"\uE039",F10:"\uE03A",F11:"\uE03B",F12:"\uE03C",Command:"\uE03D",Meta:"\uE03D",Zenkaku_Hankaku:"\uE040",ZenkakuHankaku:"\uE040"},zt="element-6066-11e4-a52e-4f735466cecf",Ma=79});function re(s=16){let e="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890",t="";for(let r=0;r<s;r++){let n=Math.floor(Math.random()*e.length);t+=e[n]}return t}function qe(s,e,t,r,n){let o="";return n=n?encodeURIComponent(n):"master",e&&t&&(o=`${s}/#/project/${e}/branch/${n}/test/${t}`,r&&(o+=`?result-id=${r}`)),o}function Ua(s,e){return`Basic ${Buffer.from(`${s}:${e}`).toString("base64")}`}function We(s){let e=/^(https?:\/\/)/i,t=new RegExp("^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$","i");return e.test(s)||t.test(s)}var Fa=T(()=>{"use strict"});var ja,zp,Kp,Zn=T(()=>{ja={ngrok:"4.3.3",webpack:"5.74.0",playwright:"0.12.1",puppeteer:"2.1.1","selenium-webdriver":"3.6.0","v8-to-istanbul":"9.1.0","istanbul-lib-coverage":"3.2.0","@bcoe/v8-coverage":"0.2.3","convert-source-map":"1.7.0",multer:"1.4.5-lts.1"},zp={"@applitools/eyes-sdk-core":"13.11.32","@applitools/spec-driver-webdriverio":"1.4.29","@segment/analytics-node":"1.3.0","@types/unzip-stream":"0.3.2",ajv:"6.12.6","body-parser":"1.20.1",chalk:"4.1.2","chrome-launcher":"0.15.0",commander:"10.0.0",compression:"1.7.4","coralogix-logger":"1.1.28",cors:"2.8.5","data-uri-to-buffer":"2.0.2",dayjs:"1.11.8",express:"4.17.3",fkill:"7.2.1","form-data":"3.0.0","https-proxy-agent":"7.0.2","istanbul-lib-report":"3.0.0","istanbul-reports":"3.1.5",jimp:"0.22.10",jsonwebtoken:"9.0.0",linkedom:"0.15.3",lodash:"4.17.21","memory-fs":"0.5.0",ms:"2.1.2",npm:"8.19.2","object-hash":"3.0.0",ora:"5.4.1","p-limit":"4.0.0","p-retry":"4.6.2",pako:"1.0.11",portfinder:"1.0.28","promise-queue":"2.2.5",prompts:"2.4.2","proxy-agent":"6.3.1","rox-node":"4.9.18",semver:"7.5.4","serialize-error":"7.0.1","socket.io-client":"4.6.2","source-map-support":"0.5.19",superagent:"3.8.3","superagent-proxy":"3.0.0","test-exclude":"6.0.0","ua-parser-js":"0.7.33","unzip-stream":"0.3.1","validate-npm-package-name":"3.0.0",webdriverio:"7.24.0",winston:"3.11.0","winston-transport":"4.6.0",ws:"8.5.0",xml2js:"0.6.2",yaml:"2.2.2"},Kp={node:">= 16.0.0"}});var Ds,Jp,Yp,eo,Xp,to,Ns,Qp,me,Zp,ed,ro,Oe,$a,td,so,rd,RR,sd,xR,nd,od,Nr,id,ad,cd,ld,ud,pd,dd,md,fd,gd,hd,Ms,yd,bd,Td,Wa,le=T(()=>{"use strict";Ds=process.env.SERVICES_HOST||"https://services.testim.io",Jp="https://testimstatic.blob.core.windows.net",Yp="https://tstresultfiles.azureedge.net";process.env.GATEWAY_URL&&(process.env.CORALOGIX_URL=`${process.env.GATEWAY_URL}/testim/coralogix/api/v1/logs`,process.env.SERVICES_HOST=`${process.env.GATEWAY_URL}/testim/services`,process.env.EXTENSION_SERVICES_HOST=process.env.TUNNEL_GATEWAY?process.env.SERVICES_HOST:Ds,Ds=process.env.SERVICES_HOST);eo=parseInt(process.env.DISABLE_AGENT_ORIGIN_CHECK||"0",10),Xp=parseInt(process.env.DISABLE_DEBUGGER_INFINITE_TIMEOUT||"0",10),to=parseInt(process.env.OVERRIDE_TIMEOUTS||"0",10),Ns=process.env.EDITOR_URL,Qp=process.env.WEBSOCKET_HOST||`${Ds}/ws`,me=Ds,Zp=parseInt(process.env.LOGGER_CONSOLE||"0",10),ed=parseInt(process.env.LOGGER_DEBUG||"0",10),ro=parseInt(process.env.WEBDRIVER_DEBUG||"0",10),Oe=parseInt(process.env.IS_ON_PREM||"0",10),$a=process.env.REQUESTS_QUEUE_SIZE?parseInt(process.env.REQUESTS_QUEUE_SIZE,10):void 0,td=parseInt(process.env.DEBUG_MODE||"0",10),so=process.env.TESTIM_CONCURRENT_WORKER_COUNT?parseInt(process.env.TESTIM_CONCURRENT_WORKER_COUNT,10):null,rd=process.env.ROLLOUT_KEY||"5b5560729601aa6484276518",RR=parseInt(process.env.DF_ENABLE_VIDEO||"0",10),sd=parseInt(process.env.START_WORKER_DELAY_MS||"1500",10),xR=process.env.APPIUM_VERSION||"1.10.1",nd=process.env.GATEWAY_URL,od=process.env.EXTENSION_SERVICES_HOST||Ds,Nr=process.env.GATEWAY_URL?`${process.env.GATEWAY_URL}/testim/blob`:Jp,id=process.env.GATEWAY_URL?`${process.env.GATEWAY_URL}/testim/edge`:Yp,ad=Jp,cd=Yp,ld=5*60*1e3,ud=40,pd=process.env.TMA_BASE_API_URL||"http://127.0.0.1:8585/api",dd=process.env.HEADSPIN_MOBILE_DEVICES_API_URL||"https://api-dev.headspin.io/v0",md=process.env.HEADSPIN_MOBILE_APPS_API_URL||"https://api-dev.headspin.io/v1",fd=process.env.TDC_MOBILE_DEVICES_API_URL||"https://api.tdc.tricentis-cloud.com/v0",gd=process.env.TDC_MOBILE_APPS_API_URL||"https://api.tdc.tricentis-cloud.com/v1",hd=process.env.TVC_MOBILE_API_URL||"https://api.waldo.com",Ms=process.env.BROWSERSTACK_APPS_API_URL||"https://api-cloud.browserstack.com/app-automate",yd=process.env.SAUCE_LABS_US_APPS_API_URL||"https://api.us-west-1.saucelabs.com/v1",bd=process.env.SAUCE_LABS_EU_APPS_API_URL||"https://api.eu-central-1.saucelabs.com/v1",Td=process.env.P_CLOUDY_DEFAULT_TEST_DURATION||60,Wa=process.env.P_CLOUDY_DEFAULT_ANDROID_DEVICE_NAME||"samsung"});var Va={};G(Va,{CoralogixTransport:()=>Mr});var xe,wd,FT,BT,Mr,Ga=T(()=>{"use strict";xe=require("coralogix-logger"),wd=E(require("winston-transport")),FT={debug:xe.Severity.debug,silly:xe.Severity.verbose,verbose:xe.Severity.verbose,silent:xe.Severity.verbose,info:xe.Severity.info,http:xe.Severity.info,warn:xe.Severity.warning,warning:xe.Severity.warning,error:xe.Severity.error,critical:xe.Severity.critical,crit:xe.Severity.critical},BT=["err","error","reason","e"],Mr=class extends wd.default{constructor(t){t=Object.assign({},Mr.options,t);super(t);this.options=t,this.logger=new xe.CoralogixLogger(t.category||""),this.name="Coralogix Transport",t.timestamp&&(this.timestamp=t.timestamp)}log(t,r){let{category:n,level:o,message:i,meta:a={},...l}=t,c=Object.assign({},a,this.options.extraFields,l),d=new xe.Log;d.severity=FT[o],d.text=i,d.category=n,c.className&&(d.className=c.className),c.methodName&&(d.methodName=c.methodName),c.threadId&&(d.threadId=c.threadId),delete c.className,delete c.methodName,delete c.threadId,delete c.category,delete c.level,delete c.message;let m=!1;a instanceof Error&&(m=!0,c.msg=a.message+a.stack,i&&(c.msg=`${i}
|
|
3
3
|
${c.msg}`));for(let u of BT)a[u]instanceof Error&&(c[u]={message:a[u].message,stack:a[u].stack,name:a[u].name,type:a[u].type,cause:a[u].cause,...a[u]});Object.keys(c).length>0&&(i&&!m&&(c.msg=i),d.text=c),this.logger.addLog(d),r(null,!0)}waitForFlush(){return this.logger.waitForFlush()}static configure(t){xe.CoralogixLogger.configure(t),Mr.options=t}}});var Ya={};G(Ya,{getLogger:()=>A,setExecutionId:()=>za,setProjectId:()=>Ka,setProxyUri:()=>Ja});function WT(){let s=[],e=()=>Promise.resolve();if(!Oe){let{CoralogixTransport:t}=(Ga(),ye(Va));t.configure(Sd);let r=new t({category:"ROOT"});s.push(r),e=()=>r.waitForFlush()}return Zp&&s.push(new St.transports.Console({format:St.format.combine(St.format.colorize(),St.format.simple())})),[s,e]}function za(s){Ha=s}function Ka(s){Id=s}function Ja(s){if(Oe||!s)return;let{CoralogixTransport:e}=(Ga(),ye(Va));e.configure({...Sd,proxyUri:s})}function vd(s){return{projectId:Id,time:new Date().toISOString(),...Ha&&!s&&{executionId:Ha}}}function A(s){return new qa(zT.child({category:s}))}var Ed,St,jT,$T,Sd,VT,GT,HT,qT,zT,Ha,Id,qa,$=T(()=>{"use strict";Ed=E(require("os")),St=E(require("winston"));le();B();jT=Ed.hostname(),$T=mt(),Sd={privateKey:"d0eb01da-f966-1663-63c6-8871225d7c39",applicationName:"testim",subsystemName:"runner"};[VT,GT]=WT(),HT=ed?"debug":"info",qT={release:Boolean(!0),branch:"production"},zT=St.createLogger({levels:St.config.syslog.levels,level:HT,transports:VT,defaultMeta:{name:"runner",hostname:jT,nodeVersion:process.version,runnerVersion:$T,...qT}}),Ha=null,Id=null;qa=class{constructor(e){this._logger=e;this.debug=this.debug.bind(this),this.info=this.info.bind(this),this.warn=this.warn.bind(this),this.error=this.error.bind(this),this.fatal=this.fatal.bind(this)}debug(e,t={}){this.innerLog("debug",e,t)}info(e,t={}){this.innerLog("info",e,t)}warn(e,t={}){this.innerLog("warning",e,t)}error(e,t={}){this.innerLog("error",e,t)}fatal(e,t={}){this.innerLog("crit",e,t)}innerLog(e,t,r={}){let{executionId:n}=r;try{this._logger.log(e,Object.assign({meta:r,message:t},vd(n)))}catch(o){try{this._logger.log("crit",Object.assign({message:`failed to log message ${o.message}, ${o.stack}`},vd(n)))}catch{}}}waitForFlush(){return GT()}}});var ao,Ur,C,Kt,fr,It,no,Fr,ne,Us,ze,Jt,Rt,oo,Br,jr,$r,io,Fs,z=T(()=>{"use strict";ao=require("p-retry"),Ur=class extends Error{constructor(){super(...arguments);this.name="NoArgsError"}},C=class extends Error{constructor(){super(...arguments);this.name="ArgError"}},Kt=class extends Error{constructor(){super(...arguments);this.name="StopRunOnError"}},fr=class extends Error{constructor(t,r){super(t);this.type=r}},It=class extends ao.AbortError{},no=class extends ao.AbortError{},Fr=class extends ao.AbortError{},ne=class extends Error{},Us=class extends Error{},ze=class extends Error{constructor(){super(...arguments);this.name="GridError"}toString(){return this.message}},Jt=class extends ze{constructor(){super(...arguments);this.name="GridConcurrencyError"}},Rt=class extends Error{constructor(){super(...arguments);this.name="NpmPackageError"}},oo=class extends Error{constructor(){super(...arguments);this.message="selenium driver crashed";this.name="SeleniumCrashError"}},Br=class extends Error{},jr=class extends Error{constructor(t){super();this.innerStack=t}},$r=class extends Error{constructor(t){super(`Testim had missing write access to ${t}`);this.path=t}},io=class extends Error{constructor(e){super(`Package for CLI action need to have a CommonJS export which the package ${e} does not have`)}},Fs=class extends Error{constructor(e=!1){let t="not implemented";e&&(t="should be implemented on descendant"),super(t)}}});function Xa(s){return!!s&&(typeof s=="object"||typeof s=="function")&&typeof s.then=="function"&&typeof s.catch=="function"}function oe(s){return(0,Ad.setTimeout)(s)}function Qa(s,e){let t=new Promise((r,n)=>{e.onabort=()=>{n(e.reason)}});return Promise.race([s,t])}function ce(s,e,t="Timeout Error"){to&&!Rd&&(Rd=!0,console.log("Debugger connected - timeouts were overridden to 10 minutes to improve debugging"));let r=new ne(t);return e=to?Number(to)||6e5:e,Promise.race([s,oe(e).then(()=>{throw r})])}async function ie(s,e,{concurrency:t}={}){if(t){xd||=(await import("p-limit")).default;let r=xd(t);return await Promise.all(Array.from(s,(n,o)=>r(()=>e(n,o))))}return await Promise.all(Array.from(s,e))}function Yt(s){return new Promise((e,t)=>{s((r,n)=>r?t(r):e(n))})}var Ad,Rd,xd,Za=T(()=>{"use strict";Ad=require("timers/promises");z();le();Rd=!1});var js,Cd,KT,Bs,Pd,JT,YT,kd,Od=T(()=>{"use strict";js=E(require("lodash"));le();Cd=require("dns");$();Za();KT=A("http-request-counters"),Bs=!1,Pd=async()=>{if(Oe)return!0;let s=["www.google.com","www.facebook.com","www.microsoft.com","testim.io"];try{let e=Boolean(await ie(s,t=>Cd.promises.lookup(t)));return e||(Bs=!0),e}catch{return KT.error("network connectivity test failed"),Bs=!0,!1}},JT=js.throttle(Pd,10*1e3),YT=60*1e3*15,kd=()=>{let s={call:new Map,success:new Map,fail:new Map};function e(n,o){let i=n.get(o)||0;n.set(o,i+1),setTimeout(()=>{let a=n.get(o)||1;n.set(o,a-1)},YT)}function t(n,o=n.name){return async function(...i){e(s.call,o);try{let a=await n.call(null,...i);return e(s.success,o),a}catch(a){throw e(s.fail,o),Bs||JT(),a}}}async function r(){if(Bs||!await Pd())return!1;let n=js.sum([...s.fail.values()]),o=js.sum([...s.call.values()]);return n<o*.1}return r.counters=s,t.counters=s,t.isNetworkHealthy=r,t.didNetworkConnectivityTestFail=()=>Bs,t}});var tt={};G(tt,{deleteFullRes:()=>tw,deleteReq:()=>$s,didNetworkConnectivityTestFail:()=>ac,download:()=>oc,get:()=>Ee,getFullRes:()=>sw,getText:()=>Vs,head:()=>nw,isNetworkHealthy:()=>ic,post:()=>Ge,postForm:()=>Ws,postFullRes:()=>rw,postText:()=>sc,put:()=>nc});function QT(){return global.caFileContent}function ZT(s,e){let t=[];s.on("data",r=>{t.push(r)}),s.on("end",()=>{e(null,Buffer.concat(t))})}function ew(){return!xt.default.Request.prototype.proxy&&global.SuperagentProxy&&global.SuperagentProxy(xt.default),global.proxyUri}function gr(s,e=!1){let t=QT();t&&s.ca(t);let r=!e&&ew();r&&s.proxy(r)}async function _d(s,e={},t={},r=Wr){let n=xt.default.delete(s).send(e).timeout(r).set(t);return gr(n),await n}async function tc(s,e,t={},r=Wr,n=0){let o=xt.default.post(s).send(e).timeout(r).set(t);gr(o),n&&o.retry(n);try{return await o}catch(i){throw i.url=s,i.originalRequestTimeout=r,i.additionalSetHeaders=t,i}}async function rc(s,e,t={},r=Wr,{isBinary:n=!1,skipProxy:o=!1}={}){let i=xt.default.get(s).query(e||{}).timeout(r).set(t);return n&&i.buffer(!0),gr(i,o),await i}var xt,ec,Ve,Wr,XT,Nt,$s,tw,Ge,rw,Ws,Vs,sc,Ee,sw,nw,nc,oc,ic,ac,Ke=T(()=>{"use strict";xt=E(require("superagent"));$();Od();ec=A("http-request"),Ve=kd(),Wr=parseInt(process.env.DEFAULT_REQUEST_TIMEOUT||"0",10)||3e4,XT=6e4;Nt=(s,e,t)=>{throw ec.error(s,{...t,error:e}),e};$s=Ve(async(s,e,t,r)=>{try{let n=await _d(s,e,t,r);return n.type==="text/plain"?n.text:n.body}catch(n){return Nt("failed to delete request",n,{url:s})}});tw=Ve(_d),Ge=Ve(async({url:s,body:e,headers:t,timeout:r,retry:n})=>{try{let o=await tc(s,e,t,r,n);return o.type==="text/plain"?o.text:o.body}catch(o){return Nt("failed to post request",o,{url:s})}});rw=Ve(tc),Ws=Ve(async(s,e,t,r={},n=Wr)=>{let o=xt.default.post(s).type("form").timeout(n).set(r);o.field(e),Object.entries(t).forEach(([i,a])=>{o.attach(i,a.buffer,a.fileName)}),gr(o);try{let i=await o;return i.type==="text/plain"?i.text:i.body}catch(i){return Nt("failed to post request",i,{url:s})}});Vs=Ve(async(s,e,t)=>{try{return(await rc(s,e,t)).text}catch(r){return Nt("failed to getText request",r,{url:s,query:e})}}),sc=Ve(async({url:s,body:e,headers:t,timeout:r,retry:n})=>{try{return(await tc(s,e,t,r,n)).text}catch(o){return Nt("failed to post request",o,{url:s})}}),Ee=Ve(async(s,e,t,r,n)=>{try{return(await rc(s,e,t,r,n)).body}catch(o){return Nt("failed to get request",o,{url:s,query:e})}}),sw=Ve((s,e,t,r)=>rc(s,e,t,r)),nw=Ve(async s=>{let e=xt.default.head(s).timeout(Wr);gr(e);try{return await e}catch(t){return Nt("failed to head request",t,{url:s})}}),nc=Ve(async(s,e,t={},r=Wr)=>{let n=xt.default.put(s).send(e).timeout(r).set(t);gr(n);try{return(await n).body}catch(o){return Nt("failed to put request",o,{url:s})}}),oc=Ve(async s=>{ec.info("start to download",{url:s});let e=xt.default.get(s).timeout(XT).buffer(!0).parse(ZT);gr(e);try{let t=await e;return ec.info("finished to download",{url:s}),t}catch(t){return Nt("failed to download",t,{url:s})}}),ic=Ve.isNetworkHealthy,ac=Ve.didNetworkConnectivityTestFail});function ft(){let s;return require.main?(require.main.filename.includes("/src")||require.main.filename.includes("\\src")?s=Mt.resolve(__dirname,"../../"):s=Mt.resolve(__dirname,""),s):process.cwd()}function co(s,e){return We(s)?e||Mt.join(process.cwd(),s.replace(/^.*[\\/]/,"")):e||Mt.basename(s)}function mt(){try{return require(`${__dirname}/package.json`).version}catch{return""}}function iw(){try{return Kp.node}catch{return""}}async function Nd(s,e,t=!0){let r=await rt.promises.readdir(s,{withFileTypes:!0});await rt.promises.mkdir(e,{recursive:t});for(let n of r){let o=Mt.join(s,n.name),i=Mt.join(e,n.name);n.isDirectory()?await Nd(o,i):await rt.promises.copyFile(o,i)}}async function ge(s){try{return await rt.promises.access(s),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}}var Mt,Ld,Dd,rt,ow,Ut,Je,lo,cc,st,lc,Md=T(()=>{"use strict";Mt=E(require("path"));Fa();Zn();Ld=E(require("unzip-stream")),Dd=E(require("p-retry")),rt=require("fs"),ow=3;Ut=async s=>{let e=await Promise.resolve().then(()=>(Ke(),tt));return(0,Dd.default)(()=>e.download(s),{retries:ow,factor:1})},Je=async(s,e)=>{let t=await Ut(s);return rt.promises.writeFile(e,t.body)};lo=async(s,e)=>{let t=co(s,e);return We(s)?Je(s,t):rt.promises.copyFile(s,t)},cc=async s=>We(s)?Ut(s):rt.promises.readFile(s),st=async(s,e)=>await(0,rt.createReadStream)(s).pipe(Ld.Extract({path:e})),lc=s=>(0,rt.statSync)(s).size/1e6});var Ft={};G(Ft,{APPIUM_SESSION_MESSAGE:()=>fc,CLI_MODE:()=>Y,MOBILE_APP_SOURCE:()=>uo,MOBILE_RUN_SKIP_REASON:()=>mc,gridMessages:()=>gt,gridTypes:()=>O,mobileWeb:()=>pc,runnerStatus:()=>uc,runnerTestStatus:()=>pe,socketEventTypes:()=>At,stepResult:()=>Hs,test:()=>dc,testRunStatus:()=>Gs,testStatus:()=>Ye,timeoutMessages:()=>Fe});var Fe,Gs,uc,pe,Ye,gt,pc,dc,At,Y,O,Hs,uo,mc,fc,ae=T(()=>{"use strict";Fe={GET_BROWSER_TIMEOUT_MSG:"get-browser-timeout",TEST_START_TIMEOUT_MSG:"test-start-timeout",TEST_COMPLETE_TIMEOUT_MSG:"test-complete-timeout"},Gs={COMPLETED:"completed",RUNNING:"running"},uc={RUNNING:"RUNNING",SKIPPED:"SKIPPED",FINISHED:"FINISHED",ABORTED:"ABORTED",QUEUED:"QUEUED",TIMEOUT:"TIMEOUT"},pe={PASSED:"PASSED",FAILED:"FAILED",ABORTED:"ABORTED",SKIPPED:"SKIPPED",QUEUED:"QUEUED",PENDING:"PENDING"},Ye={DRAFT:"draft",EVALUATING:"evaluating",ACTIVE:"active",QUARANTINE:"quarantine"},gt={NOT_FOUND:"The specified grid is not available",UNKNOWN:"Test couldn't get browser - unknown error"},pc={MOBILE_WEB_REMOTE_RUN_HEADER_SPACING:50},dc={HIDDEN_PARAM:"TST_HIDDEN_PARAM"},At={TEST_RESULT_CREATED:"test-result-created",TEST_RESULT_UPDATED:"test-result-updated",REMOTE_STEP_SAVED:"remote-step-saved"},Y={EXTENSION:"extension",SELENIUM:"selenium",APPIUM:"appium"},O={TESTIM_ENTERPRISE:"testimEnterprise",TESTIM:"testim",LAMBDATEST:"testimLambdaTest",DEVICE_FARM:"testimDF",HYBRID:"testimHybrid",BROWSERSTACK:"browserstack",SAUCELABS:"saucelabs",TESTIM_HEADSPIN:"testimHeadspin",TESTIM_TDC:"testimTDC",TESTIM_TVC:"testimTVC",P_CLOUDY:"pcloudy"},Hs={SETUP_TIMEOUT:"setup-timeout",NETWORK_ERROR:"network-error",GRID_ERROR:"grid-error",SELENIUM_ERROR:"selenium-error",BROWSER_CLOSED:"browser-closed",MOBILE_SESSION_ERROR:"mobile-session-error",UNKNOWN_ERROR:"unknown-error"},uo={FROM_LIBRARY:"from-library",FROM_DEVICE:"from-device"},mc={APP_FROM_DEVICE:"app-from-device",VIRTUAL_BUILD:"virtual-build"},fc={APP_NOT_EXIST_ON_DEVICE:"used to start the app doesn't exist or cannot be launched",APP_NEVER_STARTED:"never started",DEVICE_OS_VERSION_TOO_LOW:"DeviceOSVersionTooLow",TIMEOUT_ERROR:"Timeout awaiting 'request'",SAUCELABS_APP_IS_NOT_INSTALLED:"Original error: 'app' option is required for reinstall"}});function qs(s,e){var t,r,n;return((t=s.testConfigNames)!=null&&t.length||(r=s.testConfigIds)!=null&&r.length||s.testPlan.length||s.testPlanIds.length)&&!s.browser?[...new Set(e.map(o=>{var i;return(i=o.runConfig)==null?void 0:i.browserValue}))]:[(n=s.browser)==null?void 0:n.toLowerCase()]}function aw(){let{argv:s}=process;if(s.includes("--remoteRunId"))return{remoteRunId:s[s.indexOf("--remoteRunId")+1],projectId:s[s.indexOf("--project")+1],token:s[s.indexOf("--token")+1]}}var zs,Ud,Xe,cw,lw,uw,pw,dw,gc,hc,Fd=T(()=>{"use strict";ae();zs=s=>{var e,t;return Boolean(((e=s.testPlan)==null?void 0:e.length)||((t=s.testPlanIds)==null?void 0:t.length))},Ud=s=>Boolean(s.resultId&&s.source==="remote-run"),Xe=(s,e)=>s.testStatus===Ye.QUARANTINE&&!Ud(e)&&!e.runQuarantinedTests;cw=s=>Boolean(s.loginMode),lw=s=>Boolean(s.tunnelOnlyMode),uw=s=>Boolean(s.createPrefechedData),pw=s=>Boolean(s.installLazyDepsMode),dw=s=>Boolean(s.agentMode),gc=(s,e)=>{s.forEach((t,r)=>{e.has(t)&&(s[r]=`--${t}`)})},hc=s=>{let e=[];return Object.entries(s).forEach(([t,r])=>{r&&e.push(`--${t}`,r)}),e}});function mo(s=0){return po.default.duration(s).format("HH:mm:ss.SSS")}function yc(s=0){return po.default.duration(s).asSeconds()}var po,Bd,jd=T(()=>{"use strict";po=E(require("dayjs")),Bd=E(require("dayjs/plugin/duration"));po.default.extend(Bd.default)});var Ks,Vr,Js,$d,Gr,Wd=T(()=>{"use strict";ae();Ks=s=>!(!s||"fileName"in s),Vr=(s,e)=>e===O.TESTIM_TVC?!1:s&&"fileName"in s?s.fileName.endsWith(".app"):!1,Js=s=>{var e,t;return((e=s.projectData)==null?void 0:e.type)==="ios"||((t=s.projectData)==null?void 0:t.type)==="android"},$d=s=>s===O.TESTIM_TVC,Gr=(s,e)=>$d(e)||!s.flags.allowAppFromDeviceRuns.isEnabled()});function bc(s=4e3){let e=process.memoryUsage(),t=r=>Math.round(r/1024/1024*100)/100;return{isOverThreshold:t(e.rss)>s,rss:`${t(e.rss)} MB -> Resident Set Size - total memory allocated for the process execution`,heapTotal:`${t(e.heapTotal)} MB -> total size of the allocated heap`,heapUsed:`${t(e.heapUsed)} MB -> actual memory used during the execution`,external:`${t(e.external)} MB -> V8 external memory`}}var Vd=T(()=>{"use strict"});var J={};G(J,{OSS:()=>Hr,TESTIM_BROWSER_DIR:()=>Bt,buildBasicHeader:()=>Ua,calcPercentile:()=>ho,copyDir:()=>Nd,delay:()=>oe,doesPathExist:()=>ge,download:()=>Ut,downloadAndSave:()=>Je,extractElementId:()=>Le,getArgsOnRemoteRunFailure:()=>aw,getBrowserInfo:()=>fw,getCdpAddressForHost:()=>yr,getCliLocation:()=>ft,getDuration:()=>mo,getDurationSec:()=>yc,getEnginesVersion:()=>iw,getEnvironmentGitBranch:()=>hr,getLocalFileSizeInMB:()=>lc,getMemorySnapshot:()=>bc,getPlanType:()=>go,getRunConfigByBrowserName:()=>Ys,getRunnerVersion:()=>mt,getSource:()=>lo,getSourceAsBuffer:()=>cc,getSourcePath:()=>co,getTestUrl:()=>qe,getUniqBrowsers:()=>qs,groupTestsByRetries:()=>wc,guid:()=>re,hasTestPlanFlag:()=>zs,isAgentMode:()=>dw,isAppFromDevice:()=>Ks,isAppFromDeviceDisabled:()=>Gr,isCreatePrefetchedDataMode:()=>uw,isInstallLazyDepsMode:()=>pw,isLoginMode:()=>cw,isMobileProject:()=>Js,isPromise:()=>Xa,isQuarantineAndNotRemoteRun:()=>Xe,isRemoteRun:()=>Ud,isTestimVirtualGrid:()=>$d,isTunnelOnlyMode:()=>lw,isURL:()=>We,promiseAbort:()=>Qa,promiseFromCallback:()=>Yt,promiseMap:()=>ie,promiseTimeout:()=>ce,removePropertyFromObject:()=>fo,replaceArgsWithNoDashes:()=>gc,shouldBlockVirtualIosBuild:()=>Vr,spreadObjectToArgs:()=>hc,unzipFile:()=>st});function fw(s){return s=s.toLowerCase(),Tc.find(e=>e.browserValue===s)}function Ys(s,e,t){s=s==null?void 0:s.toLowerCase();let r=Tc.find(o=>o.browserName.toLowerCase()===s||s.includes(o.synonyms))||Tc[0],n=Hr.find(o=>o.osName==="Windows 10");return e&&(e.platform?n=Hr.find(o=>o.sl.platform===e.platform):e.platformName&&(n=Hr.find(o=>o.sl.platformName===e.platformName))),t&&(t.os_version?n=Hr.find(o=>o.bs.os_version===t.os_version):t.platform&&(n=Hr.find(o=>o.bs.platform===t.platform))),qr.merge(r,n)}function hr(){return process.env.GIT_BRANCH||process.env.CIRCLE_BRANCH||process.env.TRAVIS_BRANCH||process.env.CI_BRANCH}function fo(s,e,t){for(let r in s)Object.hasOwn(s,r)&&(t(r,e)?delete s[r]:typeof s[r]=="object"&&fo(s[r],e,t))}function Le(s){return s.ELEMENT||s[zt]}function go(s){s||={};let e=Date.now(),t=s.expireAt||s.expireAT;return s.plan!=="free"?"pro":t?t<e?"free":"trial":"free"}function wc(s=[]){return qr.chain(s).groupBy(e=>e.originalTestResultId||e.resultId).values().reduce((e,t)=>{if(!t)return e;if(t.length===1)return e.push(t[0]),e;let r=t.slice().sort((o,i)=>{let a=typeof o.retryCount=="number"?o.retryCount:1,l=typeof i.retryCount=="number"?i.retryCount:1;return a===l?o.startTime-i.startTime:(o.retryCount??0)-(i.retryCount??0)}),n=qr.cloneDeep(r.at(-1));return n&&(n.retryTestResults=r,e.push(n)),e},[]).compact().value()}async function yr(s,e){let t=await Promise.resolve().then(()=>(Ke(),tt));try{return(await t.get(`http://${s}/json/version`,void 0,void 0,e)).webSocketDebuggerUrl}catch{throw new Error("unable to connect to devtools server")}}var Gd,qr,Hd,mw,Bt,Hr,Tc,ho,B=T(()=>{"use strict";Gd=E(require("os")),qr=E(require("lodash")),Hd=E(require("path"));Dr();Md();Fd();jd();Fa();Za();Wd();Vd();mw=Gd.homedir(),Bt=Hd.join(mw,".testim-browser-profile"),Hr=[{osName:"Linux",bs:{os:"LINUX"},sl:{platform:"Linux"}},{osName:"Windows 11",bs:{os:"WINDOWS",os_version:"11"},sl:{platform:"Windows 11"}},{osName:"Windows 10",bs:{os:"WINDOWS",os_version:"10"},sl:{platform:"Windows 10"}},{osName:"Windows 8",bs:{os:"WINDOWS",os_version:"8"},sl:{platform:"Windows 8"}},{osName:"Windows 8.1",bs:{os:"WINDOWS",os_version:"8.1"},sl:{platform:"Windows 8.1"}},{osName:"Windows 7",bs:{os:"WINDOWS",os_version:"7"},sl:{platform:"Windows 7"}},{osName:"Windows XP",bs:{os:"WINDOWS",os_version:"XP"},sl:{platform:"Windows XP"}},{osName:"macOS Sonoma",bs:{os:"OS X",os_version:"Sonoma",safari_version:"17"},sl:{}},{osName:"macOS Ventura",bs:{os:"OS X",os_version:"Ventura",safari_version:"16.5"},sl:{platform:"macOS 13",safari_version:"latest"}},{osName:"macOS Monterey",bs:{os:"OS X",os_version:"Monterey",safari_version:"15.6"},sl:{platform:"macOS 12",safari_version:"latest"}},{osName:"macOS Big Sur",bs:{os:"OS X",os_version:"Big Sur",safari_version:"14.1"},sl:{platform:"macOS 11",safari_version:"latest"}},{osName:"macOS Catalina",bs:{os:"OS X",os_version:"Catalina",safari_version:"13.1"},sl:{platform:"macOS 10.15",safari_version:"latest"}},{osName:"macOS Mojave",bs:{os:"OS X",os_version:"Mojave",safari_version:"12.1"},sl:{platform:"macOS 10.14",safari_version:"latest"}},{osName:"macOS High Sierra",bs:{os:"OS X",os_version:"High Sierra",safari_version:"11.1"},sl:{platform:"macOS 10.13",safari_version:"latest"}},{osName:"macOS Sierra",bs:{os:"OS X",os_version:"Sierra",safari_version:"10.1"},sl:{platform:"macOS 10.12",safari_version:"latest"}},{osName:"OS X El Capitan",bs:{os:"OS X",os_version:"El Capitan",safari_version:"9.1"},sl:{platform:"OS X 10.11",safari_version:"latest"}},{osName:"OS X Yosemite",bs:{os:"OS X",os_version:"Yosemite",safari_version:"8"},sl:{platform:"OS X 10.10",safari_version:"latest"}},{osName:"OS X Mavericks",bs:{os:"OS X",os_version:"Mavericks",safari_version:"7.1"},sl:{platform:"OS X 10.9",safari_version:"latest"}},{osName:"OS X Mountain Lion",bs:{os:"OS X",os_version:"Mountain Lion",safari_version:"6.2"},sl:{platform:"OS X 10.8",safari_version:"latest"}},{osName:"OS X Lion",bs:{os:"OS X",os_version:"Lion",safari_version:"6"},sl:{}},{osName:"OS X Snow Leopard",bs:{os:"OS X",os_version:"Snow Leopard",safari_version:"5.1"},sl:{}},{osName:"iOS",bs:{platform:"MAC"},sl:{platformName:"iOS",appiumVersion:"1.6.4"}},{osName:"Android",bs:{platform:"ANDROID"},sl:{platformName:"Android",appiumVersion:"1.6.4"}}],Tc=[{browserName:"Chrome",bs:{browser:"Chrome",browser_version:"112"},sl:{browserName:"chrome",version:"94.0"},browserValue:"chrome"},{browserName:"Firefox",bs:{browser:"Firefox",browser_version:"89"},sl:{browserName:"firefox",version:"89.0"},browserValue:"firefox"},{browserName:"Safari",bs:{browser:"Safari"},sl:{browserName:"safari"},browserValue:"safari"},{browserName:"Edge Chromium",bs:{browser:"Edge",browser_version:"112"},sl:{browserName:"MicrosoftEdge",version:"94"},synonyms:["edge-chromium"],browserValue:"edge-chromium",seleniumName:"MicrosoftEdge"},{browserName:"Browser",bs:{},sl:{browserName:"Browser"},browserValue:"browser"},{browserName:"Android",bs:{browserName:"android"},sl:{},browserValue:"android"},{browserName:"iPad",bs:{browserName:"iPad"},sl:{},browserValue:"ipad"},{browserName:"iPhone",bs:{browserName:"iPhone"},sl:{},browserValue:"iphone"}];ho=(s,e)=>{if(s.length===0)return 0;if(typeof e!="number")throw new TypeError("p must be a number");if(s=[...s].sort((r,n)=>r-n),e<=0)return s[0];if(e>=100)return s.at(-1);let t=Math.ceil(s.length*(e/100))-1;return s[t]}});var vc={};G(vc,{$schema:()=>gw,default:()=>ww,definitions:()=>hw,properties:()=>Tw,required:()=>bw,type:()=>yw});var gw,hw,yw,bw,Tw,ww,qd=T(()=>{gw="http://json-schema.org/draft-07/schema#",hw={request:{type:"object",required:["url"],additionalProperties:!1,properties:{url:{type:"string"},method:{type:"string",pattern:"^GET$|^HEAD$|^POST$|^PUT$|^DELETE$|^CONNECT$|^OPTIONS$|^TRACE$|^PATCH$"}}},header:{type:"object",required:["name","value"],additionalProperties:!1,properties:{name:{type:"string"},value:{type:"string"}}},cookie:{type:"object",required:["name","value"],additionalProperties:!1,properties:{name:{type:"string"},value:{type:"string"},path:{type:"string"},domain:{type:"string"},expires:{type:"string",format:"date-time"},httpOnly:{type:"boolean"},secure:{type:"boolean"}}},response:{type:"object",required:["status"],additionalProperties:!1,properties:{status:{type:"integer",minimum:100,exclusiveMaximum:600},headers:{type:"array",items:{$ref:"#/definitions/header"}},cookies:{type:"array",items:{$ref:"#/definitions/cookie"}},content:{type:"object",required:["text"],additionalProperties:!1,properties:{text:{type:"string"}}}}},redirectResponse:{type:"object",required:["redirectUrl"],additionalProperties:!1,properties:{redirectUrl:{type:"string"}}},passthroughResponse:{type:"object",required:["passthrough"],additionalProperties:!1,properties:{passthrough:{type:"boolean",enum:[!0]}}},entry:{type:"object",required:["request","response"],additionalProperties:!1,properties:{request:{$ref:"#/definitions/request"},response:{oneOf:[{$ref:"#/definitions/response"},{$ref:"#/definitions/redirectResponse"},{$ref:"#/definitions/passthroughResponse"}]},maxHits:{type:"integer",minimum:1}}}},yw="object",bw=["entries"],Tw={version:{type:"string",enum:["1.2","1.2.0"]},creator:{type:"string"},entries:{type:"array",items:{$ref:"#/definitions/entry"}}},ww={$schema:gw,definitions:hw,type:yw,required:bw,properties:Tw}});async function Zd(){try{return await ce(yo.promises.readFile(vo()).then(async s=>{let e=await Qd;return Sw(e,s)}),3e4)}catch{return{}}}function Sw(s,e){let t=e.slice(0,16),r=e.slice(16),n=Buffer.from(s),o=Kr.createDecipheriv("aes-256-cbc",Buffer.concat([n,Buffer.alloc(32)],32),t),i=o.update(r);return JSON.parse(Buffer.concat([i,o.final()]))}function ht(s,e,t=vw,r=void 0){return async()=>{if(!Jd)return await s();let n=e;r&&(e+=JSON.stringify(r));let o=await Iw(e);if(o)return Xs.debug("cache hit:",{fnName:e}),o;if(Xs.debug("cache miss:",{fnName:e}),!Yd)throw new Error(`Attempted to rebuild cache for ${n}. cache miss is not allowed with current run configuration`);let i=await s();return i&&await Rw(e,i,t),i}}async function Iw(s){let t=(await Eo)[s];if(!t)return;let{value:r,expiry:n}=t;if(!(n<Date.now())&&r)return r}async function Rw(s,e,t){if(Ec)throw Xs.error("calling set after waitForSave is not allowed",{key:s,ttl:t}),new Error("calling set after waitForSave is not allowed");try{let r=await Eo;r[s]={value:e,expiry:Date.now()+t},Xd=new Promise(n=>{wo=n}),Ew(r)}catch{Xs.error("failed updating cache")}}async function Jr(){let s=await Eo;Object.keys(s).forEach(e=>{delete s[e]})}function em(s){Jd=s}function xw(s=!0){Yd=s}async function tm(){try{return Ec=!0,await Xd}finally{Ec=!1}}function rm(s){To=s,Eo=Zd()}var yo,bo,Kr,zd,Xs,To,Kd,wo,Jd,Yd,Ec,Xd,Qd,vw,vo,Eo,Ew,sm,nm,ZR,om,jt=T(()=>{"use strict";yo=E(require("fs")),bo=E(require("path")),Kr=E(require("crypto"));B();zd=require("lodash");$();Xs=A("local cache"),To=bo.resolve(ft(),"testim-cache"),Jd=!0,Yd=!0,Ec=!1,Xd=new Promise(s=>{wo=s}),Qd=new Promise(s=>{Kd=s}),vw=1e3*60*60*3,vo=()=>bo.resolve(bo.resolve(To,"testim.cache"));Eo=Zd(),Ew=(0,zd.debounce)(async s=>{let e;try{let t=await Qd,r=Kr.randomBytes(16),n=JSON.stringify(s),o=Buffer.from(t),i=Kr.createCipheriv("aes-256-cbc",Buffer.concat([o,Buffer.alloc(32)],32),r),a=Buffer.concat([r,i.update(n),i.final()]);await ge(To)||await yo.promises.mkdir(To,{recursive:!0}),await yo.promises.writeFile(vo(),a)}catch(t){Xs.error("failed saving cache",{err:t}),e=t}wo(e?{success:!1,error:e}:{success:!0})},200);sm=Kd,nm=em.bind(void 0,!1),ZR=em.bind(void 0,!0),om=()=>xw(!1)});function So(){return{cliLocation:ft(),userInfo:Yr.userInfo(),platform:Yr.platform(),release:Yr.release()}}var Yr,Sc=T(()=>{"use strict";Yr=E(require("os"));B()});function Aw(s){try{return Io.resolve(Io.dirname(require.resolve(`${s}/package.json`)),require(`${s}/package.json`).main||"")}catch(e){if(e.code==="ERR_PACKAGE_PATH_NOT_EXPORTED")return require.resolve(s);throw e}}function Qt(s){let e=Aw(s);return require(e)}var Io,Qs=T(()=>{"use strict";Io=E(require("path"))});function Cw(s){let t=/EACCES[^']+'(.+)'/.exec(s);return t===null?!1:t[1]}function Pw(s){return/The "to" argument must be of type string./.exec(s)}function lm(s,e,t){let r=Cw(s),n=Pw(s);return r||n?(cm.info("Failed to install package due to insufficient write access",{...So(),package:t,path:r}),console.error(`
|
|
4
4
|
|
|
5
5
|
Testim failed installing the package ${t||""} due to insufficient permissions.
|