jira-daily-report 0.1.113 → 0.1.114

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/dist/cli/index.js CHANGED
@@ -51,7 +51,8 @@ To get your API tokens:`),console.log(" Jira API Token: https://id.atlassian.co
51
51
  `,of=V2.encode(m1),Mf=2,db=class{constructor(p,o){let{escapeName:b}=this.constructor,z=l.isString(o),n=`Content-Disposition: form-data; name="${b(p)}"${!z&&o.name?`; filename="${b(o.name)}"`:""}${m1}`;z?o=V2.encode(String(o).replace(/\r?\n|\r\n?/g,m1)):n+=`Content-Type: ${o.type||"application/octet-stream"}${m1}`,this.headers=V2.encode(n+m1),this.contentLength=z?o.byteLength:o.size,this.size=this.headers.byteLength+this.contentLength+Mf,this.name=p,this.value=o}async*encode(){yield this.headers;let{value:p}=this;l.isTypedArray(p)?yield p:yield*We(p),yield of}static escapeName(p){return String(p).replace(/[\r\n"]/g,o=>({"\r":"%0D","\n":"%0A",'"':"%22"})[o])}},bf=(e,p,o)=>{let{tag:b="form-data-boundary",size:z=25,boundary:n=b+"-"+o0.generateString(z,ef)}=o||{};if(!l.isFormData(e))throw TypeError("FormData instance required");if(n.length<1||n.length>70)throw Error("boundary must be 10-70 characters long");let a=V2.encode("--"+n+m1),O=V2.encode("--"+n+"--"+m1+m1),s=O.byteLength,d=Array.from(e.entries()).map(([f,m])=>{let h=new db(f,m);return s+=h.size,h});s+=a.byteLength*d.length,s=l.toFiniteNumber(s);let A={"Content-Type":`multipart/form-data; boundary=${n}`};return Number.isFinite(s)&&(A["Content-Length"]=s),p&&p(A),yO.Readable.from(async function*(){for(let f of d)yield a,yield*f.encode();yield O}())},XO=bf;var TO=C(require("stream"),1),qb=class extends TO.default.Transform{__transform(p,o,b){this.push(p),b()}_transform(p,o,b){if(p.length!==0&&(this._transform=this.__transform,p[0]!==120)){let z=Buffer.alloc(2);z[0]=120,z[1]=156,this.push(z,o)}this.__transform(p,o,b)}},wO=qb;var zf=(e,p)=>l.isAsyncFn(e)?function(...o){let b=o.pop();e.apply(this,o).then(z=>{try{p?b(null,...p(z)):b(null,z)}catch(n){b(n)}},b)}:e,SO=zf;function cf(e,p){e=e||10;let o=new Array(e),b=new Array(e),z=0,n=0,a;return p=p!==void 0?p:1e3,function(s){let d=Date.now(),A=b[n];a||(a=d),o[z]=s,b[z]=d;let f=n,m=0;for(;f!==z;)m+=o[f++],f=f%e;if(z=(z+1)%e,z===n&&(n=(n+1)%e),d-a<p)return;let h=A&&d-A;return h?Math.round(m*1e3/h):void 0}}var EO=cf;function nf(e,p){let o=0,b=1e3/p,z,n,a=(d,A=Date.now())=>{o=A,z=null,n&&(clearTimeout(n),n=null),e.apply(null,d)};return[(...d)=>{let A=Date.now(),f=A-o;f>=b?a(d,A):(z=d,n||(n=setTimeout(()=>{n=null,a(z)},b-f)))},()=>z&&a(z)]}var _O=nf;var A1=(e,p,o=3)=>{let b=0,z=EO(50,250);return _O(n=>{let a=n.loaded,O=n.lengthComputable?n.total:void 0,s=a-b,d=z(s),A=a<=O;b=a;let f={loaded:a,total:O,progress:O?a/O:void 0,bytes:s,rate:d||void 0,estimated:d&&O&&A?(O-a)/d:void 0,event:n,lengthComputable:O!=null,[p?"download":"upload"]:!0};e(f)},o)},O2=(e,p)=>{let o=e!=null;return[b=>p[0]({lengthComputable:o,total:e,loaded:b}),p[1]]},r2=e=>(...p)=>l.asap(()=>e(...p));var kO={flush:d1.default.constants.Z_SYNC_FLUSH,finishFlush:d1.default.constants.Z_SYNC_FLUSH},tf={flush:d1.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:d1.default.constants.BROTLI_OPERATION_FLUSH},CO=l.isFunction(d1.default.createBrotliDecompress),{http:af,https:Of}=YO.default,rf=/https:?/,PO=o0.protocols.map(e=>e+":"),DO=(e,[p,o])=>(e.on("end",o).on("error",o),p);function sf(e,p){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,p)}function $O(e,p,o){let b=p;if(!b&&b!==!1){let z=jO.default.getProxyForUrl(o);z&&(b=new URL(z))}if(b){if(b.username&&(b.auth=(b.username||"")+":"+(b.password||"")),b.auth){(b.auth.username||b.auth.password)&&(b.auth=(b.auth.username||"")+":"+(b.auth.password||""));let n=Buffer.from(b.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+n}e.headers.host=e.hostname+(e.port?":"+e.port:"");let z=b.hostname||b.host;e.hostname=z,e.host=z,e.port=b.port,e.path=o,b.protocol&&(e.protocol=b.protocol.includes(":")?b.protocol:`${b.protocol}:`)}e.beforeRedirects.proxy=function(n){$O(n,p,n.href)}}var Af=typeof process<"u"&&l.kindOf(process)==="process",df=e=>new Promise((p,o)=>{let b,z,n=(s,d)=>{z||(z=!0,b&&b(s,d))},a=s=>{n(s),p(s)},O=s=>{n(s,!0),o(s)};e(a,O,s=>b=s).catch(O)}),qf=({address:e,family:p})=>{if(!l.isString(e))throw TypeError("address must be a string");return{address:e,family:p||(e.indexOf(".")<0?6:4)}},IO=(e,p)=>qf(l.isObject(e)?e:{address:e,family:p}),VO=Af&&function(p){return df(async function(b,z,n){let{data:a,lookup:O,family:s}=p,{responseType:d,responseEncoding:A}=p,f=p.method.toUpperCase(),m,h=!1,W;if(O){let j=SO(O,_=>l.isArray(_)?_:[_]);O=(_,s0,S0)=>{j(_,s0,(a0,B0,E)=>{if(a0)return S0(a0);let v0=l.isArray(B0)?B0.map(A0=>IO(A0)):[IO(B0,E)];s0.all?S0(a0,v0):S0(a0,v0[0].address,v0[0].family)})}}let L=new GO.EventEmitter,x=()=>{p.cancelToken&&p.cancelToken.unsubscribe(T),p.signal&&p.signal.removeEventListener("abort",T),L.removeAllListeners()};n((j,_)=>{m=!0,_&&(h=!0,x())});function T(j){L.emit("abort",!j||j.type?new j0(null,p,W):j)}L.once("abort",z),(p.cancelToken||p.signal)&&(p.cancelToken&&p.cancelToken.subscribe(T),p.signal&&(p.signal.aborted?T():p.signal.addEventListener("abort",T)));let P=w1(p.baseURL,p.url),k=new URL(P,o0.hasBrowserEnv?o0.origin:void 0),Y=k.protocol||PO[0];if(Y==="data:"){let j;if(f!=="GET")return p1(b,z,{status:405,statusText:"method not allowed",headers:{},config:p});try{j=Ob(p.url,d==="blob",{Blob:p.env&&p.env.Blob})}catch(_){throw X.from(_,X.ERR_BAD_REQUEST,p)}return d==="text"?(j=j.toString(A),(!A||A==="utf8")&&(j=l.stripBOM(j))):d==="stream"&&(j=C1.default.Readable.from(j)),p1(b,z,{data:j,status:200,statusText:"OK",headers:new O0,config:p})}if(PO.indexOf(Y)===-1)return z(new X("Unsupported protocol "+Y,X.ERR_BAD_REQUEST,p));let U=O0.from(p.headers).normalize();U.set("User-Agent","axios/"+k1,!1);let{onUploadProgress:Z,onDownloadProgress:u0}=p,b0=p.maxRate,T0,o1;if(l.isSpecCompliantForm(a)){let j=U.getContentType(/boundary=([-_\w\d]{10,70})/i);a=XO(a,_=>{U.set(_)},{tag:`axios-${k1}-boundary`,boundary:j&&j[1]||void 0})}else if(l.isFormData(a)&&l.isFunction(a.getHeaders)){if(U.set(a.getHeaders()),!U.hasContentLength())try{let j=await HO.default.promisify(a.getLength).call(a);Number.isFinite(j)&&j>=0&&U.setContentLength(j)}catch{}}else if(l.isBlob(a)||l.isFile(a))a.size&&U.setContentType(a.type||"application/octet-stream"),U.setContentLength(a.size||0),a=C1.default.Readable.from(We(a));else if(a&&!l.isStream(a)){if(!Buffer.isBuffer(a))if(l.isArrayBuffer(a))a=Buffer.from(new Uint8Array(a));else if(l.isString(a))a=Buffer.from(a,"utf-8");else return z(new X("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",X.ERR_BAD_REQUEST,p));if(U.setContentLength(a.length,!1),p.maxBodyLength>-1&&a.length>p.maxBodyLength)return z(new X("Request body larger than maxBodyLength limit",X.ERR_BAD_REQUEST,p))}let w0=l.toFiniteNumber(U.getContentLength());l.isArray(b0)?(T0=b0[0],o1=b0[1]):T0=o1=b0,a&&(Z||T0)&&(l.isStream(a)||(a=C1.default.Readable.from(a,{objectMode:!1})),a=C1.default.pipeline([a,new Ab({maxRate:l.toFiniteNumber(T0)})],l.noop),Z&&a.on("progress",DO(a,O2(w0,A1(r2(Z),!1,3)))));let M1;if(p.auth){let j=p.auth.username||"",_=p.auth.password||"";M1=j+":"+_}if(!M1&&k.username){let j=k.username,_=k.password;M1=j+":"+_}M1&&U.delete("authorization");let U0;try{U0=T1(k.pathname+k.search,p.params,p.paramsSerializer).replace(/^\?/,"")}catch(j){let _=new Error(j.message);return _.config=p,_.url=p.url,_.exists=!0,z(_)}U.set("Accept-Encoding","gzip, compress, deflate"+(CO?", br":""),!1);let l0={path:U0,method:f,headers:U.toJSON(),agents:{http:p.httpAgent,https:p.httpsAgent},auth:M1,protocol:Y,family:s,beforeRedirect:sf,beforeRedirects:{}};!l.isUndefined(O)&&(l0.lookup=O),p.socketPath?l0.socketPath=p.socketPath:(l0.hostname=k.hostname.startsWith("[")?k.hostname.slice(1,-1):k.hostname,l0.port=k.port,$O(l0,p.proxy,Y+"//"+k.hostname+(k.port?":"+k.port:"")+l0.path));let R0,R1=rf.test(l0.protocol);if(l0.agent=R1?p.httpsAgent:p.httpAgent,p.transport?R0=p.transport:p.maxRedirects===0?R0=R1?UO.default:FO.default:(p.maxRedirects&&(l0.maxRedirects=p.maxRedirects),p.beforeRedirect&&(l0.beforeRedirects.config=p.beforeRedirect),R0=R1?Of:af),p.maxBodyLength>-1?l0.maxBodyLength=p.maxBodyLength:l0.maxBodyLength=1/0,p.insecureHTTPParser&&(l0.insecureHTTPParser=p.insecureHTTPParser),W=R0.request(l0,function(_){if(W.destroyed)return;let s0=[_],S0=+_.headers["content-length"];if(u0||o1){let A0=new Ab({maxRate:l.toFiniteNumber(o1)});u0&&A0.on("progress",DO(A0,O2(S0,A1(r2(u0),!0,3)))),s0.push(A0)}let a0=_,B0=_.req||W;if(p.decompress!==!1&&_.headers["content-encoding"])switch((f==="HEAD"||_.statusCode===204)&&delete _.headers["content-encoding"],(_.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":s0.push(d1.default.createUnzip(kO)),delete _.headers["content-encoding"];break;case"deflate":s0.push(new wO),s0.push(d1.default.createUnzip(kO)),delete _.headers["content-encoding"];break;case"br":CO&&(s0.push(d1.default.createBrotliDecompress(tf)),delete _.headers["content-encoding"])}a0=s0.length>1?C1.default.pipeline(s0,l.noop):s0[0];let E=C1.default.finished(a0,()=>{E(),x()}),v0={status:_.statusCode,statusText:_.statusMessage,headers:new O0(_.headers),config:p,request:B0};if(d==="stream")v0.data=a0,p1(b,z,v0);else{let A0=[],p0=0;a0.on("data",function(W0){A0.push(W0),p0+=W0.length,p.maxContentLength>-1&&p0>p.maxContentLength&&(h=!0,a0.destroy(),z(new X("maxContentLength size of "+p.maxContentLength+" exceeded",X.ERR_BAD_RESPONSE,p,B0)))}),a0.on("aborted",function(){if(h)return;let W0=new X("stream has been aborted",X.ERR_BAD_RESPONSE,p,B0);a0.destroy(W0),z(W0)}),a0.on("error",function(W0){W.destroyed||z(X.from(W0,null,p,B0))}),a0.on("end",function(){try{let W0=A0.length===1?A0[0]:Buffer.concat(A0);d!=="arraybuffer"&&(W0=W0.toString(A),(!A||A==="utf8")&&(W0=l.stripBOM(W0))),v0.data=W0}catch(W0){return z(X.from(W0,null,p,v0.request,v0))}p1(b,z,v0)})}L.once("abort",A0=>{a0.destroyed||(a0.emit("error",A0),a0.destroy())})}),L.once("abort",j=>{z(j),W.destroy(j)}),W.on("error",function(_){z(X.from(_,null,p,W))}),W.on("socket",function(_){_.setKeepAlive(!0,1e3*60)}),p.timeout){let j=parseInt(p.timeout,10);if(Number.isNaN(j)){z(new X("error trying to parse `config.timeout` to int",X.ERR_BAD_OPTION_VALUE,p,W));return}W.setTimeout(j,function(){if(m)return;let s0=p.timeout?"timeout of "+p.timeout+"ms exceeded":"timeout exceeded",S0=p.transitional||b2;p.timeoutErrorMessage&&(s0=p.timeoutErrorMessage),z(new X(s0,S0.clarifyTimeoutError?X.ETIMEDOUT:X.ECONNABORTED,p,W)),T()})}if(l.isStream(a)){let j=!1,_=!1;a.on("end",()=>{j=!0}),a.once("error",s0=>{_=!0,W.destroy(s0)}),a.on("close",()=>{!j&&!_&&T(new j0("Request stream has been aborted",p,W))}),a.pipe(W)}else W.end(a)})};var KO=o0.hasStandardBrowserEnv?((e,p)=>o=>(o=new URL(o,o0.origin),e.protocol===o.protocol&&e.host===o.host&&(p||e.port===o.port)))(new URL(o0.origin),o0.navigator&&/(msie|trident)/i.test(o0.navigator.userAgent)):()=>!0;var JO=o0.hasStandardBrowserEnv?{write(e,p,o,b,z,n){let a=[e+"="+encodeURIComponent(p)];l.isNumber(o)&&a.push("expires="+new Date(o).toGMTString()),l.isString(b)&&a.push("path="+b),l.isString(z)&&a.push("domain="+z),n===!0&&a.push("secure"),document.cookie=a.join("; ")},read(e){let p=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return p?decodeURIComponent(p[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var QO=e=>e instanceof O0?{...e}:e;function Q0(e,p){p=p||{};let o={};function b(d,A,f,m){return l.isPlainObject(d)&&l.isPlainObject(A)?l.merge.call({caseless:m},d,A):l.isPlainObject(A)?l.merge({},A):l.isArray(A)?A.slice():A}function z(d,A,f,m){if(l.isUndefined(A)){if(!l.isUndefined(d))return b(void 0,d,f,m)}else return b(d,A,f,m)}function n(d,A){if(!l.isUndefined(A))return b(void 0,A)}function a(d,A){if(l.isUndefined(A)){if(!l.isUndefined(d))return b(void 0,d)}else return b(void 0,A)}function O(d,A,f){if(f in p)return b(d,A);if(f in e)return b(void 0,d)}let s={url:n,method:n,data:n,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:O,headers:(d,A,f)=>z(QO(d),QO(A),f,!0)};return l.forEach(Object.keys(Object.assign({},e,p)),function(A){let f=s[A]||z,m=f(e[A],p[A],A);l.isUndefined(m)&&f!==O||(o[A]=m)}),o}var me=e=>{let p=Q0({},e),{data:o,withXSRFToken:b,xsrfHeaderName:z,xsrfCookieName:n,headers:a,auth:O}=p;p.headers=a=O0.from(a),p.url=T1(w1(p.baseURL,p.url),e.params,e.paramsSerializer),O&&a.set("Authorization","Basic "+btoa((O.username||"")+":"+(O.password?unescape(encodeURIComponent(O.password)):"")));let s;if(l.isFormData(o)){if(o0.hasStandardBrowserEnv||o0.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((s=a.getContentType())!==!1){let[d,...A]=s?s.split(";").map(f=>f.trim()).filter(Boolean):[];a.setContentType([d||"multipart/form-data",...A].join("; "))}}if(o0.hasStandardBrowserEnv&&(b&&l.isFunction(b)&&(b=b(p)),b||b!==!1&&KO(p.url))){let d=z&&n&&JO.read(n);d&&a.set(z,d)}return p};var uf=typeof XMLHttpRequest<"u",ZO=uf&&function(e){return new Promise(function(o,b){let z=me(e),n=z.data,a=O0.from(z.headers).normalize(),{responseType:O,onUploadProgress:s,onDownloadProgress:d}=z,A,f,m,h,W;function L(){h&&h(),W&&W(),z.cancelToken&&z.cancelToken.unsubscribe(A),z.signal&&z.signal.removeEventListener("abort",A)}let x=new XMLHttpRequest;x.open(z.method.toUpperCase(),z.url,!0),x.timeout=z.timeout;function T(){if(!x)return;let k=O0.from("getAllResponseHeaders"in x&&x.getAllResponseHeaders()),U={data:!O||O==="text"||O==="json"?x.responseText:x.response,status:x.status,statusText:x.statusText,headers:k,config:e,request:x};p1(function(u0){o(u0),L()},function(u0){b(u0),L()},U),x=null}"onloadend"in x?x.onloadend=T:x.onreadystatechange=function(){!x||x.readyState!==4||x.status===0&&!(x.responseURL&&x.responseURL.indexOf("file:")===0)||setTimeout(T)},x.onabort=function(){x&&(b(new X("Request aborted",X.ECONNABORTED,e,x)),x=null)},x.onerror=function(){b(new X("Network Error",X.ERR_NETWORK,e,x)),x=null},x.ontimeout=function(){let Y=z.timeout?"timeout of "+z.timeout+"ms exceeded":"timeout exceeded",U=z.transitional||b2;z.timeoutErrorMessage&&(Y=z.timeoutErrorMessage),b(new X(Y,U.clarifyTimeoutError?X.ETIMEDOUT:X.ECONNABORTED,e,x)),x=null},n===void 0&&a.setContentType(null),"setRequestHeader"in x&&l.forEach(a.toJSON(),function(Y,U){x.setRequestHeader(U,Y)}),l.isUndefined(z.withCredentials)||(x.withCredentials=!!z.withCredentials),O&&O!=="json"&&(x.responseType=z.responseType),d&&([m,W]=A1(d,!0),x.addEventListener("progress",m)),s&&x.upload&&([f,h]=A1(s),x.upload.addEventListener("progress",f),x.upload.addEventListener("loadend",h)),(z.cancelToken||z.signal)&&(A=k=>{x&&(b(!k||k.type?new j0(null,e,x):k),x.abort(),x=null)},z.cancelToken&&z.cancelToken.subscribe(A),z.signal&&(z.signal.aborted?A():z.signal.addEventListener("abort",A)));let P=$2(z.url);if(P&&o0.protocols.indexOf(P)===-1){b(new X("Unsupported protocol "+P+":",X.ERR_BAD_REQUEST,e));return}x.send(n||null)})};var lf=(e,p)=>{let{length:o}=e=e?e.filter(Boolean):[];if(p||o){let b=new AbortController,z,n=function(d){if(!z){z=!0,O();let A=d instanceof Error?d:this.reason;b.abort(A instanceof X?A:new j0(A instanceof Error?A.message:A))}},a=p&&setTimeout(()=>{a=null,n(new X(`timeout ${p} of ms exceeded`,X.ETIMEDOUT))},p),O=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(d=>{d.unsubscribe?d.unsubscribe(n):d.removeEventListener("abort",n)}),e=null)};e.forEach(d=>d.addEventListener("abort",n));let{signal:s}=b;return s.unsubscribe=()=>l.asap(O),s}},pr=lf;var ff=function*(e,p){let o=e.byteLength;if(!p||o<p){yield e;return}let b=0,z;for(;b<o;)z=b+p,yield e.slice(b,z),b=z},Wf=async function*(e,p){for await(let o of mf(e))yield*ff(o,p)},mf=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let p=e.getReader();try{for(;;){let{done:o,value:b}=await p.read();if(o)break;yield b}}finally{await p.cancel()}},ub=(e,p,o,b)=>{let z=Wf(e,p),n=0,a,O=s=>{a||(a=!0,b&&b(s))};return new ReadableStream({async pull(s){try{let{done:d,value:A}=await z.next();if(d){O(),s.close();return}let f=A.byteLength;if(o){let m=n+=f;o(m)}s.enqueue(new Uint8Array(A))}catch(d){throw O(d),d}},cancel(s){return O(s),z.return()}},{highWaterMark:2})};var he=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",or=he&&typeof ReadableStream=="function",Rf=he&&(typeof TextEncoder=="function"?(e=>p=>e.encode(p))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),Mr=(e,...p)=>{try{return!!e(...p)}catch{return!1}},hf=or&&Mr(()=>{let e=!1,p=new Request(o0.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!p}),er=64*1024,lb=or&&Mr(()=>l.isReadableStream(new Response("").body)),Re={stream:lb&&(e=>e.body)};he&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(p=>{!Re[p]&&(Re[p]=l.isFunction(e[p])?o=>o[p]():(o,b)=>{throw new X(`Response type '${p}' is not supported`,X.ERR_NOT_SUPPORT,b)})})})(new Response);var Lf=async e=>{if(e==null)return 0;if(l.isBlob(e))return e.size;if(l.isSpecCompliantForm(e))return(await new Request(o0.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(l.isArrayBufferView(e)||l.isArrayBuffer(e))return e.byteLength;if(l.isURLSearchParams(e)&&(e=e+""),l.isString(e))return(await Rf(e)).byteLength},gf=async(e,p)=>{let o=l.toFiniteNumber(e.getContentLength());return o??Lf(p)},br=he&&(async e=>{let{url:p,method:o,data:b,signal:z,cancelToken:n,timeout:a,onDownloadProgress:O,onUploadProgress:s,responseType:d,headers:A,withCredentials:f="same-origin",fetchOptions:m}=me(e);d=d?(d+"").toLowerCase():"text";let h=pr([z,n&&n.toAbortSignal()],a),W,L=h&&h.unsubscribe&&(()=>{h.unsubscribe()}),x;try{if(s&&hf&&o!=="get"&&o!=="head"&&(x=await gf(A,b))!==0){let U=new Request(p,{method:"POST",body:b,duplex:"half"}),Z;if(l.isFormData(b)&&(Z=U.headers.get("content-type"))&&A.setContentType(Z),U.body){let[u0,b0]=O2(x,A1(r2(s)));b=ub(U.body,er,u0,b0)}}l.isString(f)||(f=f?"include":"omit");let T="credentials"in Request.prototype;W=new Request(p,{...m,signal:h,method:o.toUpperCase(),headers:A.normalize().toJSON(),body:b,duplex:"half",credentials:T?f:void 0});let P=await fetch(W),k=lb&&(d==="stream"||d==="response");if(lb&&(O||k&&L)){let U={};["status","statusText","headers"].forEach(T0=>{U[T0]=P[T0]});let Z=l.toFiniteNumber(P.headers.get("content-length")),[u0,b0]=O&&O2(Z,A1(r2(O),!0))||[];P=new Response(ub(P.body,er,u0,()=>{b0&&b0(),L&&L()}),U)}d=d||"text";let Y=await Re[l.findKey(Re,d)||"text"](P,e);return!k&&L&&L(),await new Promise((U,Z)=>{p1(U,Z,{data:Y,headers:O0.from(P.headers),status:P.status,statusText:P.statusText,config:e,request:W})})}catch(T){throw L&&L(),T&&T.name==="TypeError"&&/fetch/i.test(T.message)?Object.assign(new X("Network Error",X.ERR_NETWORK,e,W),{cause:T.cause||T}):X.from(T,T&&T.code,e,W)}});var fb={http:VO,xhr:ZO,fetch:br};l.forEach(fb,(e,p)=>{if(e){try{Object.defineProperty(e,"name",{value:p})}catch{}Object.defineProperty(e,"adapterName",{value:p})}});var zr=e=>`- ${e}`,xf=e=>l.isFunction(e)||e===null||e===!1,Le={getAdapter:e=>{e=l.isArray(e)?e:[e];let{length:p}=e,o,b,z={};for(let n=0;n<p;n++){o=e[n];let a;if(b=o,!xf(o)&&(b=fb[(a=String(o)).toLowerCase()],b===void 0))throw new X(`Unknown adapter '${a}'`);if(b)break;z[a||"#"+n]=b}if(!b){let n=Object.entries(z).map(([O,s])=>`adapter ${O} `+(s===!1?"is not supported by the environment":"is not available in the build")),a=p?n.length>1?`since :
52
52
  `+n.map(zr).join(`
53
53
  `):" "+zr(n[0]):"as no adapter specified";throw new X("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return b},adapters:fb};function Wb(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new j0(null,e)}function ge(e){return Wb(e),e.headers=O0.from(e.headers),e.data=j2.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Le.getAdapter(e.adapter||z2.adapter)(e).then(function(b){return Wb(e),b.data=j2.call(e,e.transformResponse,b),b.headers=O0.from(b.headers),b},function(b){return F2(b)||(Wb(e),b&&b.response&&(b.response.data=j2.call(e,e.transformResponse,b.response),b.response.headers=O0.from(b.response.headers))),Promise.reject(b)})}var xe={};["object","boolean","number","function","string","symbol"].forEach((e,p)=>{xe[e]=function(b){return typeof b===e||"a"+(p<1?"n ":" ")+e}});var cr={};xe.transitional=function(p,o,b){function z(n,a){return"[Axios v"+k1+"] Transitional option '"+n+"'"+a+(b?". "+b:"")}return(n,a,O)=>{if(p===!1)throw new X(z(a," has been removed"+(o?" in "+o:"")),X.ERR_DEPRECATED);return o&&!cr[a]&&(cr[a]=!0,console.warn(z(a," has been deprecated since v"+o+" and will be removed in the near future"))),p?p(n,a,O):!0}};xe.spelling=function(p){return(o,b)=>(console.warn(`${b} is likely a misspelling of ${p}`),!0)};function Nf(e,p,o){if(typeof e!="object")throw new X("options must be an object",X.ERR_BAD_OPTION_VALUE);let b=Object.keys(e),z=b.length;for(;z-- >0;){let n=b[z],a=p[n];if(a){let O=e[n],s=O===void 0||a(O,n,e);if(s!==!0)throw new X("option "+n+" must be "+s,X.ERR_BAD_OPTION_VALUE);continue}if(o!==!0)throw new X("Unknown option "+n,X.ERR_BAD_OPTION)}}var K2={assertOptions:Nf,validators:xe};var e1=K2.validators,s2=class{constructor(p){this.defaults=p,this.interceptors={request:new PM,response:new PM}}async request(p,o){try{return await this._request(p,o)}catch(b){if(b instanceof Error){let z={};Error.captureStackTrace?Error.captureStackTrace(z):z=new Error;let n=z.stack?z.stack.replace(/^.+\n/,""):"";try{b.stack?n&&!String(b.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(b.stack+=`
54
- `+n):b.stack=n}catch{}}throw b}}_request(p,o){typeof p=="string"?(o=o||{},o.url=p):o=p||{},o=Q0(this.defaults,o);let{transitional:b,paramsSerializer:z,headers:n}=o;b!==void 0&&K2.assertOptions(b,{silentJSONParsing:e1.transitional(e1.boolean),forcedJSONParsing:e1.transitional(e1.boolean),clarifyTimeoutError:e1.transitional(e1.boolean)},!1),z!=null&&(l.isFunction(z)?o.paramsSerializer={serialize:z}:K2.assertOptions(z,{encode:e1.function,serialize:e1.function},!0)),o.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?o.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:o.allowAbsoluteUrls=!0),K2.assertOptions(o,{baseUrl:e1.spelling("baseURL"),withXsrfToken:e1.spelling("withXSRFToken")},!0),o.method=(o.method||this.defaults.method||"get").toLowerCase();let a=n&&l.merge(n.common,n[o.method]);n&&l.forEach(["delete","get","head","post","put","patch","common"],W=>{delete n[W]}),o.headers=O0.concat(a,n);let O=[],s=!0;this.interceptors.request.forEach(function(L){typeof L.runWhen=="function"&&L.runWhen(o)===!1||(s=s&&L.synchronous,O.unshift(L.fulfilled,L.rejected))});let d=[];this.interceptors.response.forEach(function(L){d.push(L.fulfilled,L.rejected)});let A,f=0,m;if(!s){let W=[ge.bind(this),void 0];for(W.unshift.apply(W,O),W.push.apply(W,d),m=W.length,A=Promise.resolve(o);f<m;)A=A.then(W[f++],W[f++]);return A}m=O.length;let h=o;for(f=0;f<m;){let W=O[f++],L=O[f++];try{h=W(h)}catch(x){L.call(this,x);break}}try{A=ge.call(this,h)}catch(W){return Promise.reject(W)}for(f=0,m=d.length;f<m;)A=A.then(d[f++],d[f++]);return A}getUri(p){p=Q0(this.defaults,p);let o=w1(p.baseURL,p.url,p.allowAbsoluteUrls);return T1(o,p.params,p.paramsSerializer)}};l.forEach(["delete","get","head","options"],function(p){s2.prototype[p]=function(o,b){return this.request(Q0(b||{},{method:p,url:o,data:(b||{}).data}))}});l.forEach(["post","put","patch"],function(p){function o(b){return function(n,a,O){return this.request(Q0(O||{},{method:p,headers:b?{"Content-Type":"multipart/form-data"}:{},url:n,data:a}))}}s2.prototype[p]=o(),s2.prototype[p+"Form"]=o(!0)});var J2=s2;var mb=class e{constructor(p){if(typeof p!="function")throw new TypeError("executor must be a function.");let o;this.promise=new Promise(function(n){o=n});let b=this;this.promise.then(z=>{if(!b._listeners)return;let n=b._listeners.length;for(;n-- >0;)b._listeners[n](z);b._listeners=null}),this.promise.then=z=>{let n,a=new Promise(O=>{b.subscribe(O),n=O}).then(z);return a.cancel=function(){b.unsubscribe(n)},a},p(function(n,a,O){b.reason||(b.reason=new j0(n,a,O),o(b.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(p){if(this.reason){p(this.reason);return}this._listeners?this._listeners.push(p):this._listeners=[p]}unsubscribe(p){if(!this._listeners)return;let o=this._listeners.indexOf(p);o!==-1&&this._listeners.splice(o,1)}toAbortSignal(){let p=new AbortController,o=b=>{p.abort(b)};return this.subscribe(o),p.signal.unsubscribe=()=>this.unsubscribe(o),p.signal}static source(){let p;return{token:new e(function(z){p=z}),cancel:p}}},nr=mb;function Rb(e){return function(o){return e.apply(null,o)}}function hb(e){return l.isObject(e)&&e.isAxiosError===!0}var Lb={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Lb).forEach(([e,p])=>{Lb[p]=e});var tr=Lb;function ar(e){let p=new J2(e),o=S2(J2.prototype.request,p);return l.extend(o,J2.prototype,p,{allOwnKeys:!0}),l.extend(o,p,null,{allOwnKeys:!0}),o.create=function(z){return ar(Q0(e,z))},o}var m0=ar(z2);m0.Axios=J2;m0.CanceledError=j0;m0.CancelToken=nr;m0.isCancel=F2;m0.VERSION=k1;m0.toFormData=W1;m0.AxiosError=X;m0.Cancel=m0.CanceledError;m0.all=function(p){return Promise.all(p)};m0.spread=Rb;m0.isAxiosError=hb;m0.mergeConfig=Q0;m0.AxiosHeaders=O0;m0.formToJSON=e=>re(l.isHTMLForm(e)?new FormData(e):e);m0.getAdapter=Le.getAdapter;m0.HttpStatusCode=tr;m0.default=m0;var k0=m0;var{Axios:cg,AxiosError:ng,CanceledError:tg,isCancel:ag,CancelToken:ig,VERSION:Og,all:rg,Cancel:sg,isAxiosError:Ag,spread:dg,toFormData:qg,AxiosHeaders:ug,HttpStatusCode:lg,formToJSON:fg,getAdapter:Wg,mergeConfig:mg}=k0;var Nb=C(Jp());var Be=C(Q2()),yf="https://api.tempo.io/4",Xf="https://apidocs.tempo.io/#section/Authentication",Z2=new Map,Ar=5*60*1e3,gb=class{axiosInstance=null;workerId;tempoApiToken;timezone="Australia/Sydney";constructor(p,o){this.workerId=p,this.tempoApiToken=o}getAxiosInstance(){return this.axiosInstance||(this.axiosInstance=k0.create({baseURL:yf,headers:{Authorization:`Bearer ${this.tempoApiToken}`,"Content-Type":"application/json"}})),this.axiosInstance}getLastSixWorkingDays(){let p=Be.default.tz(this.timezone),o=[],b=p.clone();for(;o.length<10;)b.isoWeekday()<=5&&o.unshift(b.clone()),b.subtract(1,"day");let z=o[0].tz(this.timezone).format("YYYY-MM-DD"),n=p.tz(this.timezone).format("YYYY-MM-DD");return{startDate:z,endDate:n}}async fetchLastSixDaysWorklogs(){let{startDate:p,endDate:o}=this.getLastSixWorkingDays(),b=`${this.workerId}-${p}-${o}`,z=Z2.get(b);if(z&&Date.now()-z.timestamp<Ar)return console.log("Using cached worklog data for last six days"),z.data;if(!this.tempoApiToken){let n=`Jira Tempo API token is missing. Please configure Jira Tempo API token in settings. See ${Xf} for more info.`;throw new Error(n)}try{let n={authorIds:[this.workerId],from:p,to:o,offset:0,limit:70},s=(await this.getAxiosInstance().post("/worklogs/search",n)).data.results;return Z2.set(b,{data:s,timestamp:Date.now(),key:b}),s}catch(n){throw k0.isAxiosError(n)?new Error(`Failed to fetch worklogs: ${n.response?.data?.errorMessages||n.message}`):new Error(`Unexpected error: ${n}`)}}async fetchWorklogs(p,o){let b=Be.default.tz(p,this.timezone).format("YYYY-MM-DD"),z=Be.default.tz(o,this.timezone).format("YYYY-MM-DD"),n=`${this.workerId}-${b}-${z}`,a=Z2.get(n);if(a&&Date.now()-a.timestamp<Ar)return console.log(`Using cached worklog data for ${b} to ${z}`),a.data;try{console.log(`Fetching fresh worklog data for ${b} to ${z}`);let O={authorIds:[this.workerId],from:b,to:z},A=(await this.getAxiosInstance().post("/worklogs/search",O)).data.results;return Z2.set(n,{data:A,timestamp:Date.now(),key:n}),A}catch(O){throw console.error("Error fetching worklogs:",O),O}}static clearCache(){Z2.clear(),console.log("Tempo worklog cache cleared")}},xb=gb;var qr={DEVELOPER:"Developer",QC:"QC"};async function ur(e){if(ve&&Date.now()-ve.timestamp<wf)return console.log("Using cached task data"),ve.data;let p=await Sf(e);return ve={data:p,timestamp:Date.now()},p}var A2=null,ve=null,Tf=5*60*1e3,wf=2*60*1e3;async function ye(e){if(A2&&Date.now()-A2.timestamp<Tf)return console.log("Using cached user info"),A2.data;try{let p=await e.getJiraServer(),b={Authorization:await e.getAuthHeader(),"Content-Type":"application/json"},z=await k0.get(`${p}rest/api/3/myself`,{headers:b});return A2={data:z.data,timestamp:Date.now()},z.data}catch(p){return console.error("Failed to fetch user info:",p),A2?(console.log("Using stale cached user info due to API error"),A2.data):(await e.getUsername()).split("@")[0]}}async function Sf(e){let p=await e.getUsername(),o=await e.getJiraServer(),z={Authorization:await e.getAuthHeader(),"Content-Type":"application/json"},a=await e.getWhoAmI()===qr.QC,O=`assignee = '${p}' AND status IN ('Selected for Development', 'Open', 'In Progress')`,s=["summary","subtasks","status","priority","issuetype"].concat(a?["parent"]:[]).join(","),d=`${o}rest/api/3/search/jql?jql=${encodeURIComponent(O)}&fields=${encodeURIComponent(s)}&maxResults=100`;try{let m=((await k0.get(d,{headers:z})).data.issues||[]).filter(h=>(h.fields.subtasks||[]).filter(L=>L.fields.summary!=="Test execution").length===0);return{inProgress:m.filter(h=>h.fields.status.name==="In Progress"),open:m.filter(h=>h.fields.status.name==="Open"||h.fields.status.name==="Selected for Development")}}catch(A){return console.error(`Failed to fetch backlog tasks: ${A.message}`,A.response?.data),{inProgress:[],open:[]}}}var dr=new Map,Ef=10*60*1e3;async function _f(e,p){let o=dr.get(e);if(o&&Date.now()-o.timestamp<Ef)return o.data;try{let b=await p.getJiraServer(),z=await p.getWhoAmI(),a={Authorization:await p.getAuthHeader(),"Content-Type":"application/json"},O=`${b}rest/api/3/issue/${e}?fields=summary,status,issueType,priority${z===qr.QC?",parent":""}`,s=await k0.get(O,{headers:a});return dr.set(e,{data:s.data,timestamp:Date.now()}),s.data}catch(b){return console.error(`Failed to fetch Jira issue ${e}: ${b?.message}`),null}}async function lr(e,p,o){if(e.length===0)return{tasks:[],actualDate:null};let b={};e.forEach(a=>{let O=Nb.default.tz(a.startDate,"Australia/Sydney").format("YYYY-MM-DD");b[O]||(b[O]=[]),b[O].push(a)});let n=Nb.default.tz("Australia/Sydney").subtract(1,"day").clone();for(let a=0;a<14;a++){for(;n.isoWeekday()>5;)n.subtract(1,"day");let O=n.format("YYYY-MM-DD"),s=b[O];if(s&&s.length>0){let d=s.map(f=>_f(f.issue.id,o));return{tasks:(await Promise.all(d)).filter(f=>f!==null),actualDate:O}}n.subtract(1,"day")}return{tasks:[],actualDate:null}}var Xg=30*60*1e3;function fr(e,p,o){let b=`Hi everyone,
54
+ `+n):b.stack=n}catch{}}throw b}}_request(p,o){typeof p=="string"?(o=o||{},o.url=p):o=p||{},o=Q0(this.defaults,o);let{transitional:b,paramsSerializer:z,headers:n}=o;b!==void 0&&K2.assertOptions(b,{silentJSONParsing:e1.transitional(e1.boolean),forcedJSONParsing:e1.transitional(e1.boolean),clarifyTimeoutError:e1.transitional(e1.boolean)},!1),z!=null&&(l.isFunction(z)?o.paramsSerializer={serialize:z}:K2.assertOptions(z,{encode:e1.function,serialize:e1.function},!0)),o.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?o.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:o.allowAbsoluteUrls=!0),K2.assertOptions(o,{baseUrl:e1.spelling("baseURL"),withXsrfToken:e1.spelling("withXSRFToken")},!0),o.method=(o.method||this.defaults.method||"get").toLowerCase();let a=n&&l.merge(n.common,n[o.method]);n&&l.forEach(["delete","get","head","post","put","patch","common"],W=>{delete n[W]}),o.headers=O0.concat(a,n);let O=[],s=!0;this.interceptors.request.forEach(function(L){typeof L.runWhen=="function"&&L.runWhen(o)===!1||(s=s&&L.synchronous,O.unshift(L.fulfilled,L.rejected))});let d=[];this.interceptors.response.forEach(function(L){d.push(L.fulfilled,L.rejected)});let A,f=0,m;if(!s){let W=[ge.bind(this),void 0];for(W.unshift.apply(W,O),W.push.apply(W,d),m=W.length,A=Promise.resolve(o);f<m;)A=A.then(W[f++],W[f++]);return A}m=O.length;let h=o;for(f=0;f<m;){let W=O[f++],L=O[f++];try{h=W(h)}catch(x){L.call(this,x);break}}try{A=ge.call(this,h)}catch(W){return Promise.reject(W)}for(f=0,m=d.length;f<m;)A=A.then(d[f++],d[f++]);return A}getUri(p){p=Q0(this.defaults,p);let o=w1(p.baseURL,p.url,p.allowAbsoluteUrls);return T1(o,p.params,p.paramsSerializer)}};l.forEach(["delete","get","head","options"],function(p){s2.prototype[p]=function(o,b){return this.request(Q0(b||{},{method:p,url:o,data:(b||{}).data}))}});l.forEach(["post","put","patch"],function(p){function o(b){return function(n,a,O){return this.request(Q0(O||{},{method:p,headers:b?{"Content-Type":"multipart/form-data"}:{},url:n,data:a}))}}s2.prototype[p]=o(),s2.prototype[p+"Form"]=o(!0)});var J2=s2;var mb=class e{constructor(p){if(typeof p!="function")throw new TypeError("executor must be a function.");let o;this.promise=new Promise(function(n){o=n});let b=this;this.promise.then(z=>{if(!b._listeners)return;let n=b._listeners.length;for(;n-- >0;)b._listeners[n](z);b._listeners=null}),this.promise.then=z=>{let n,a=new Promise(O=>{b.subscribe(O),n=O}).then(z);return a.cancel=function(){b.unsubscribe(n)},a},p(function(n,a,O){b.reason||(b.reason=new j0(n,a,O),o(b.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(p){if(this.reason){p(this.reason);return}this._listeners?this._listeners.push(p):this._listeners=[p]}unsubscribe(p){if(!this._listeners)return;let o=this._listeners.indexOf(p);o!==-1&&this._listeners.splice(o,1)}toAbortSignal(){let p=new AbortController,o=b=>{p.abort(b)};return this.subscribe(o),p.signal.unsubscribe=()=>this.unsubscribe(o),p.signal}static source(){let p;return{token:new e(function(z){p=z}),cancel:p}}},nr=mb;function Rb(e){return function(o){return e.apply(null,o)}}function hb(e){return l.isObject(e)&&e.isAxiosError===!0}var Lb={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Lb).forEach(([e,p])=>{Lb[p]=e});var tr=Lb;function ar(e){let p=new J2(e),o=S2(J2.prototype.request,p);return l.extend(o,J2.prototype,p,{allOwnKeys:!0}),l.extend(o,p,null,{allOwnKeys:!0}),o.create=function(z){return ar(Q0(e,z))},o}var m0=ar(z2);m0.Axios=J2;m0.CanceledError=j0;m0.CancelToken=nr;m0.isCancel=F2;m0.VERSION=k1;m0.toFormData=W1;m0.AxiosError=X;m0.Cancel=m0.CanceledError;m0.all=function(p){return Promise.all(p)};m0.spread=Rb;m0.isAxiosError=hb;m0.mergeConfig=Q0;m0.AxiosHeaders=O0;m0.formToJSON=e=>re(l.isHTMLForm(e)?new FormData(e):e);m0.getAdapter=Le.getAdapter;m0.HttpStatusCode=tr;m0.default=m0;var k0=m0;var{Axios:cg,AxiosError:ng,CanceledError:tg,isCancel:ag,CancelToken:ig,VERSION:Og,all:rg,Cancel:sg,isAxiosError:Ag,spread:dg,toFormData:qg,AxiosHeaders:ug,HttpStatusCode:lg,formToJSON:fg,getAdapter:Wg,mergeConfig:mg}=k0;var Nb=C(Jp());var Be=C(Q2()),yf="https://api.tempo.io/4",Xf="https://apidocs.tempo.io/#section/Authentication",Z2=new Map,Ar=5*60*1e3,gb=class{axiosInstance=null;workerId;tempoApiToken;timezone="Australia/Sydney";constructor(p,o){this.workerId=p,this.tempoApiToken=o}getAxiosInstance(){return this.axiosInstance||(this.axiosInstance=k0.create({baseURL:yf,headers:{Authorization:`Bearer ${this.tempoApiToken}`,"Content-Type":"application/json"}})),this.axiosInstance}getLastSixWorkingDays(){let p=Be.default.tz(this.timezone),o=[],b=p.clone();for(;o.length<10;)b.isoWeekday()<=5&&o.unshift(b.clone()),b.subtract(1,"day");let z=o[0].tz(this.timezone).format("YYYY-MM-DD"),n=p.tz(this.timezone).format("YYYY-MM-DD");return{startDate:z,endDate:n}}async fetchLastSixDaysWorklogs(){let{startDate:p,endDate:o}=this.getLastSixWorkingDays(),b=`${this.workerId}-${p}-${o}`,z=Z2.get(b);if(z&&Date.now()-z.timestamp<Ar)return console.log("Using cached worklog data for last six days"),z.data;if(!this.tempoApiToken){let n=`Jira Tempo API token is missing. Please configure Jira Tempo API token in settings. See ${Xf} for more info.`;throw new Error(n)}try{let n={authorIds:[this.workerId],from:p,to:o,offset:0,limit:70},s=(await this.getAxiosInstance().post("/worklogs/search",n)).data.results;return Z2.set(b,{data:s,timestamp:Date.now(),key:b}),s}catch(n){throw k0.isAxiosError(n)?new Error(`Failed to fetch worklogs: ${n.response?.data?.errorMessages||n.message}`):new Error(`Unexpected error: ${n}`)}}async fetchWorklogs(p,o){let b=Be.default.tz(p,this.timezone).format("YYYY-MM-DD"),z=Be.default.tz(o,this.timezone).format("YYYY-MM-DD"),n=`${this.workerId}-${b}-${z}`,a=Z2.get(n);if(a&&Date.now()-a.timestamp<Ar)return console.log(`Using cached worklog data for ${b} to ${z}`),a.data;try{console.log(`Fetching fresh worklog data for ${b} to ${z}`);let O={authorIds:[this.workerId],from:b,to:z},A=(await this.getAxiosInstance().post("/worklogs/search",O)).data.results;return Z2.set(n,{data:A,timestamp:Date.now(),key:n}),A}catch(O){throw console.error("Error fetching worklogs:",O),O}}static clearCache(){Z2.clear(),console.log("Tempo worklog cache cleared")}},xb=gb;var qr={DEVELOPER:"Developer",QC:"QC"};async function ur(e){if(ve&&Date.now()-ve.timestamp<wf)return console.log("Using cached task data"),ve.data;let p=await Sf(e);return ve={data:p,timestamp:Date.now()},p}var A2=null,ve=null,Tf=5*60*1e3,wf=2*60*1e3;async function ye(e){if(A2&&Date.now()-A2.timestamp<Tf)return console.log("Using cached user info"),A2.data;try{let p=await e.getJiraServer(),b={Authorization:await e.getAuthHeader(),"Content-Type":"application/json"},z=await k0.get(`${p}rest/api/3/myself`,{headers:b});return A2={data:z.data,timestamp:Date.now()},z.data}catch(p){return console.error("Failed to fetch user info:",p),A2?(console.log("Using stale cached user info due to API error"),A2.data):(await e.getUsername()).split("@")[0]}}async function Sf(e){let p=await e.getUsername(),o=await e.getJiraServer(),z={Authorization:await e.getAuthHeader(),"Content-Type":"application/json"},a=await e.getWhoAmI()===qr.QC,O=`assignee = '${p}' AND status IN ('Selected for Development', 'Open', 'In Progress')`,s=["summary","subtasks","status","priority","issuetype"].concat(a?["parent"]:[]).join(","),d=`${o}rest/api/3/search/jql?jql=${encodeURIComponent(O)}&fields=${encodeURIComponent(s)}&maxResults=100`;try{let m=((await k0.get(d,{headers:z})).data.issues||[]).filter(h=>(h.fields.subtasks||[]).filter(L=>L.fields.summary!=="Test execution").length===0);return{inProgress:m.filter(h=>h.fields.status.name==="In Progress"),open:m.filter(h=>h.fields.status.name==="Open"||h.fields.status.name==="Selected for Development")}}catch(A){return console.error(`Failed to fetch backlog tasks: ${A.message}`,A.response?.data),{inProgress:[],open:[]}}}var dr=new Map,Ef=10*60*1e3;async function _f(e,p){let o=dr.get(e);if(o&&Date.now()-o.timestamp<Ef)return o.data;try{let b=await p.getJiraServer(),z=await p.getWhoAmI(),a={Authorization:await p.getAuthHeader(),"Content-Type":"application/json"},O=`${b}rest/api/3/issue/${e}?fields=summary,status,issueType,priority${z===qr.QC?",parent":""}`,s=await k0.get(O,{headers:a});return dr.set(e,{data:s.data,timestamp:Date.now()}),s.data}catch(b){return console.error(`Failed to fetch Jira issue ${e}: ${b?.message}`),null}}async function lr(e,p,o){if(e.length===0)return{tasks:[],actualDate:null};let b={};e.forEach(a=>{let O=Nb.default.tz(a.startDate,"Australia/Sydney").format("YYYY-MM-DD");b[O]||(b[O]=[]),b[O].push(a)});let n=Nb.default.tz("Australia/Sydney").subtract(1,"day").clone();for(let a=0;a<14;a++){for(;n.isoWeekday()>5;)n.subtract(1,"day");let O=n.format("YYYY-MM-DD"),s=b[O];if(s&&s.length>0){let d=s.map(f=>_f(f.issue.id,o));return{tasks:(await Promise.all(d)).filter(f=>f!==null),actualDate:O}}n.subtract(1,"day")}return{tasks:[],actualDate:null}}var Xg=30*60*1e3;function fr(e,p,o){let b=`
55
+ Hi everyone,
55
56
  ${e}
56
57
  `,z=Bb(o);b+=z.length>0?z.map(O=>`- ${O?.fields?.parent?.key||O?.key}: ${O?.fields?.parent?.fields?.summary||O?.fields?.summary}`).join(`
57
58
  `)+`