@ckirg/corelib-cloud 0.1.22 → 0.2.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.
Files changed (74) hide show
  1. package/dist/aws/RequestUnlimited-CXTEHPLC.mjs +2 -0
  2. package/dist/aws/bun-THMEYPJD.mjs +2 -0
  3. package/dist/aws/chunk-6G4LF4KV.mjs +2 -0
  4. package/dist/aws/{chunk-F2KTMAO3.mjs → chunk-BIWQVQOH.mjs} +1 -1
  5. package/dist/aws/{chunk-Y7RZHZ53.mjs → chunk-QDX5GFCD.mjs} +1 -1
  6. package/dist/aws/chunk-QE5QGPOG.mjs +24 -0
  7. package/dist/aws/{chunk-V3XZ4XYN.mjs → chunk-XFLNYUID.mjs} +1 -1
  8. package/dist/aws/chunk-Z5QO7O62.mjs +8 -0
  9. package/dist/aws/chunk-ZGHY5A62.mjs +2 -0
  10. package/dist/aws/cloudflare-QTQSRNP7.mjs +2 -0
  11. package/dist/aws/deno-BKEQIY74.mjs +2 -0
  12. package/dist/{cloudrun/gcp-W76U73T6.js → aws/gcp-VNE5WPOL.mjs} +1 -1
  13. package/dist/aws/handler.mjs +3 -3
  14. package/dist/aws/lambda-4S67INQI.mjs +3 -0
  15. package/dist/aws/node-RQLZ4GQE.mjs +2 -0
  16. package/dist/aws/utils-5YBC32TV.mjs +2 -0
  17. package/dist/cloudflare/RequestUnlimited-OE7GCYBY.js +1 -0
  18. package/dist/cloudflare/bun-B6T46QQU.js +1 -0
  19. package/dist/cloudflare/{chunk-QPTGW2LL.js → chunk-BHGBRQZV.js} +1 -1
  20. package/dist/cloudflare/{chunk-EQSCULS7.js → chunk-GY2JCE4G.js} +2 -2
  21. package/dist/cloudflare/chunk-QPM32MRA.js +1 -0
  22. package/dist/cloudflare/chunk-VBA2ACKG.js +1 -0
  23. package/dist/cloudflare/{chunk-DGDAVQYC.js → chunk-ZMQIBLAC.js} +1 -1
  24. package/dist/cloudflare/cloudflare-CTNLQDS4.js +1 -0
  25. package/dist/cloudflare/deno-2KIX5TV5.js +1 -0
  26. package/dist/cloudflare/gcp-GBGWAZSX.js +1 -0
  27. package/dist/cloudflare/lambda-6HQKP6G3.js +1 -0
  28. package/dist/cloudflare/node-BRA7RBP5.js +1 -0
  29. package/dist/cloudflare/utils-3L6PYJAG.js +1 -0
  30. package/dist/cloudflare/worker.js +3 -3
  31. package/dist/cloudrun/RequestUnlimited-DEASSJEC.js +2 -0
  32. package/dist/cloudrun/bun-MBTNJC4U.js +2 -0
  33. package/dist/cloudrun/{chunk-JUVTJQ7I.js → chunk-6DRVUVNZ.js} +1 -1
  34. package/dist/cloudrun/chunk-EV26JQYW.js +2 -0
  35. package/dist/cloudrun/chunk-GSIUCMVK.js +8 -0
  36. package/dist/cloudrun/{chunk-FYZPEVAA.js → chunk-JBN5SOGD.js} +1 -1
  37. package/dist/cloudrun/chunk-MHUQ3MGN.js +24 -0
  38. package/dist/cloudrun/{chunk-GB4XIPDS.js → chunk-R26GKMTH.js} +1 -1
  39. package/dist/cloudrun/chunk-XO3TAODL.js +2 -0
  40. package/dist/cloudrun/cloudflare-5WFHLALX.js +2 -0
  41. package/dist/cloudrun/deno-7HS4QY7G.js +2 -0
  42. package/dist/{aws/gcp-ZEEIATV7.mjs → cloudrun/gcp-ODIRVFFY.js} +1 -1
  43. package/dist/cloudrun/lambda-HR2JPPGG.js +3 -0
  44. package/dist/cloudrun/node-YIKCMSEO.js +2 -0
  45. package/dist/cloudrun/server.js +4 -4
  46. package/dist/cloudrun/utils-TJZDD75X.js +2 -0
  47. package/package.json +3 -3
  48. package/dist/aws/RequestUnlimited-EKXQGSQT.mjs +0 -2
  49. package/dist/aws/bun-GK5CEVAU.mjs +0 -2
  50. package/dist/aws/chunk-QCE23AKJ.mjs +0 -8
  51. package/dist/aws/chunk-STPKE4A5.mjs +0 -24
  52. package/dist/aws/cloudflare-BDB3FS4Y.mjs +0 -2
  53. package/dist/aws/deno-AIUOFIXG.mjs +0 -2
  54. package/dist/aws/lambda-S3DVSSBV.mjs +0 -3
  55. package/dist/aws/node-A7ZN443L.mjs +0 -2
  56. package/dist/aws/utils-KMHFLZAJ.mjs +0 -2
  57. package/dist/cloudflare/RequestUnlimited-QCOTVU4G.js +0 -1
  58. package/dist/cloudflare/bun-O4EJPGLH.js +0 -1
  59. package/dist/cloudflare/chunk-O3XYZ4KS.js +0 -1
  60. package/dist/cloudflare/cloudflare-I5A4OJEG.js +0 -1
  61. package/dist/cloudflare/deno-KE6IVNNU.js +0 -1
  62. package/dist/cloudflare/gcp-MNKOPDML.js +0 -1
  63. package/dist/cloudflare/lambda-PLZQW4BF.js +0 -1
  64. package/dist/cloudflare/node-DRV76TUB.js +0 -1
  65. package/dist/cloudflare/utils-7K7MHQMD.js +0 -1
  66. package/dist/cloudrun/RequestUnlimited-YQAPYTOH.js +0 -2
  67. package/dist/cloudrun/bun-BONNABBU.js +0 -2
  68. package/dist/cloudrun/chunk-5B5BV7SP.js +0 -8
  69. package/dist/cloudrun/chunk-CFQMQATE.js +0 -24
  70. package/dist/cloudrun/cloudflare-Q3ZW7CDF.js +0 -2
  71. package/dist/cloudrun/deno-CPTVGH3A.js +0 -2
  72. package/dist/cloudrun/lambda-NKM4QA4M.js +0 -3
  73. package/dist/cloudrun/node-SKMPZMFE.js +0 -2
  74. package/dist/cloudrun/utils-SDRX3ZUT.js +0 -2
@@ -0,0 +1,3 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{c as E,d as A}from"./chunk-QE5QGPOG.mjs";import"./chunk-ZGHY5A62.mjs";import"./chunk-6G4LF4KV.mjs";import"./chunk-XFLNYUID.mjs";import{a as H,c as s,e as D,h as i}from"./chunk-VULBPPPP.mjs";var O=s(v=>{"use strict";i();Object.defineProperty(v,"__esModule",{value:!0});v.GlobalContextStorageProvider=void 0;var S=Symbol.for("aws.lambda.runtime.context");v.GlobalContextStorageProvider={getContext:()=>global[S],setContext:e=>global[S]=e,updateContext:e=>{let t=v.GlobalContextStorageProvider.getContext();global[S]={...t,...e}}}});var w=s(b=>{"use strict";i();var V=b&&b.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(b,"__esModule",{value:!0});b.formatLevel=void 0;var Y=V(E()),K=e=>{var t;return typeof e=="string"?e.toLocaleUpperCase():typeof e=="number"?(t=Y.default.levels.labels[e])===null||t===void 0?void 0:t.toLocaleUpperCase():e};b.formatLevel=K});var N=s(q=>{"use strict";i();Object.defineProperty(q,"__esModule",{value:!0});q.CloudwatchLogFormatter=void 0;var Q=w(),h=class{format(t){let{awsRequestId:r,level:o,msg:a}=t,f=new Date().toISOString(),_=Q.formatLevel(o);return`${f}${r?` ${r}`:""} ${_} ${a} ${JSON.stringify(t)}`}};q.CloudwatchLogFormatter=h});var $=s(y=>{"use strict";i();Object.defineProperty(y,"__esModule",{value:!0});y.PinoLogFormatter=void 0;var R=class{format(t){return JSON.stringify(t)}};y.PinoLogFormatter=R});var F=s(L=>{"use strict";i();Object.defineProperty(L,"__esModule",{value:!0});L.StructuredLogFormatter=void 0;var k=w(),j=class{format({awsRequestId:t,level:r,...o}){return JSON.stringify({timestamp:new Date().toISOString(),level:k.formatLevel(r),requestId:t,message:o})}};L.StructuredLogFormatter=j});var M=s(d=>{"use strict";i();var ee=d&&d.__createBinding||(Object.create?(function(e,t,r,o){o===void 0&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}):(function(e,t,r,o){o===void 0&&(o=r),e[o]=t[r]})),I=d&&d.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&ee(t,e,r)};Object.defineProperty(d,"__esModule",{value:!0});I(N(),d);I($(),d);I(F(),d)});var G=s(C=>{"use strict";i();Object.defineProperty(C,"__esModule",{value:!0});C.pinoLambdaDestination=void 0;var te=H("stream"),re=O(),oe=M(),ie=(e={})=>new te.Writable({defaultEncoding:"utf8",write(r,o,a){let f=e.storageProvider||re.GlobalContextStorageProvider,_=e.formatter||new oe.CloudwatchLogFormatter,l=JSON.parse(r),m=f.getContext()||{},g=_.format({...m,...l});g=g.replace(/\n/,"\r"),g+=`
3
+ `,e.streamWriter?e.streamWriter(g):process.stdout.write(g),a()}});C.pinoLambdaDestination=ie});var J=s(P=>{"use strict";i();Object.defineProperty(P,"__esModule",{value:!0});P.lambdaRequestTracker=void 0;var ae=O(),B="_X_AMZN_TRACE_ID",T="x-correlation-",W=`${T}id`,ne=`${T}trace-id`,se=(e={})=>(t,r)=>{var o;let a={awsRequestId:r.awsRequestId},f=(o=t.requestContext)===null||o===void 0?void 0:o.requestId;if(f&&(a.apiRequestId=f),t.headers)for(let[l,m]of Object.entries(t.headers))l.toLowerCase().startsWith(T)&&(a[l]=m);if(process.env[B]&&(a[ne]=process.env[B]),a[W]||(a[W]=r.awsRequestId),e.requestMixin){let l=e.requestMixin(t,r);for(let m in l)a[m]=l[m]}let _=e.storageProvider||ae.GlobalContextStorageProvider;_&&_.setContext(a)};P.lambdaRequestTracker=se});var X=s(U=>{"use strict";i();Object.defineProperty(U,"__esModule",{value:!0})});var Z=s(n=>{"use strict";i();var ue=n&&n.__createBinding||(Object.create?(function(e,t,r,o){o===void 0&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}):(function(e,t,r,o){o===void 0&&(o=r),e[o]=t[r]})),p=n&&n.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&ue(t,e,r)};Object.defineProperty(n,"__esModule",{value:!0});p(O(),n);p(G(),n);p(M(),n);p(J(),n);p(X(),n)});i();var x=D(E(),1),z=D(Z(),1);function ce(){let e=z.default,t=typeof e=="function"?e:e.default||e.pinoLambda,r;if(typeof t=="function")try{r=t()}catch{console.warn("pino-lambda destination creation failed, using default")}let o=(0,x.default)({level:process.env.LOG_LEVEL||"info",timestamp:x.default.stdTimeFunctions.isoTime,redact:["password","secret","token","authorization"]},r);return new A(o)}export{ce as default};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{a as g}from"./chunk-BIWQVQOH.mjs";import"./chunk-27GDSGEE.mjs";import{c as p,d as i}from"./chunk-QE5QGPOG.mjs";import"./chunk-ZGHY5A62.mjs";import"./chunk-6G4LF4KV.mjs";import"./chunk-XFLNYUID.mjs";import{e as s,h as n}from"./chunk-VULBPPPP.mjs";n();var o=s(p(),1),a=s(g(),1);import{Writable as d}from"stream";var f=process.env.LOG_PRETTY==="true"||process.env.NODE_ENV!=="production"&&process.env.LOG_PRETTY!=="false",e=process.env.LOG_LEVEL||"info",m=new d({write(t,v,c){let r=globalThis.__wsLogWrite;r&&r(typeof t=="string"?t:t.toString("utf8")),c()}}),l=o.default.multistream([{level:e,stream:f?(0,a.default)({colorize:!0,translateTime:"SYS:standard",ignore:"pid,hostname"}):process.stdout},{level:e,stream:m}]),u=(0,o.default)({level:e,redact:["password","secret","token","authorization","apiKey"]},l),L=new i(u),S=L;export{S as default};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{b as c,c as d,d as e,e as f,f as g,g as h,h as i,i as j,j as k,k as l,l as m,m as n,n as o,o as p}from"./chunk-QDX5GFCD.mjs";import{a,b}from"./chunk-XFLNYUID.mjs";import"./chunk-VULBPPPP.mjs";export{f as Utils,a as detectRuntime,j as existsSync,h as getAllEnv,k as getCwd,l as getDirname,g as getEnv,n as getMode,m as getPlatform,e as getRequire,b as getSysInfo,o as getTempDir,c as includeExcludeCron,d as nextCid,i as readTextFileSync,p as sleep};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f,g,h,i}from"./chunk-GY2JCE4G.js";import"./chunk-BHGBRQZV.js";import"./chunk-ZMQIBLAC.js";import"./chunk-PVAE643M.js";export{g as DEFAULT_REQUEST_OPTIONS,d as MAX_BACKOFF_LIMIT_MS,a as MAX_RETRY_LIMIT,c as MAX_TIMEOUT_MS,b as MIN_TIMEOUT_MS,e as clampNumber,h as endPoint,i as endPoints,f as fullJitterDelay};
@@ -0,0 +1 @@
1
+ import{a as r}from"./chunk-VBA2ACKG.js";import"./chunk-QPM32MRA.js";import"./chunk-ZMQIBLAC.js";import"./chunk-PVAE643M.js";import{Writable as i}from"stream";import s from"pino";import a from"pino-pretty";var c=process.env.LOG_PRETTY==="true"||process.env.NODE_ENV!=="production"&&process.env.LOG_PRETTY!=="false",e=process.env.LOG_LEVEL||"info",p=new i({write(t,m,n){let o=globalThis.__wsLogWrite;o&&o(typeof t=="string"?t:t.toString("utf8")),n()}}),g=s.multistream([{level:e,stream:c?a({colorize:!0,translateTime:"SYS:standard",ignore:"pid,hostname"}):process.stdout},{level:e,stream:p}]),d=s({level:e,redact:["password","secret","token","authorization","apiKey"]},g),f=new r(d),w=f;export{w as default};
@@ -1 +1 @@
1
- import{a as g}from"./chunk-DGDAVQYC.js";var S=g();async function z(){let t;switch(S){case"cloudflare":t=await import("./cloudflare-I5A4OJEG.js");break;case"aws-lambda":t=await import("./lambda-PLZQW4BF.js");break;case"gcp-cloudrun":t=await import("./gcp-MNKOPDML.js");break;case"bun":t=await import("./bun-O4EJPGLH.js");break;case"deno":t=await import("./deno-KE6IVNNU.js");break;default:t=await import("./node-DRV76TUB.js");break}let e=t.default,r=typeof e=="function"?e():e;return globalThis.logger=r,r}var b=await z();function w(t){return Date.UTC(t.y,t.m-1,t.d,t.h,t.i,t.s)}function k(t,e){return t.y===e.y&&t.m===e.m&&t.d===e.d&&t.h===e.h&&t.i===e.i&&t.s===e.s}function I(t,e){let r=new Date(Date.parse(t));if(isNaN(r))throw new Error("Invalid ISO8601 passed to timezone parser.");let i=t.substring(9);return i.includes("Z")||i.includes("+")||i.includes("-")?_(r.getUTCFullYear(),r.getUTCMonth()+1,r.getUTCDate(),r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),"Etc/UTC"):_(r.getFullYear(),r.getMonth()+1,r.getDate(),r.getHours(),r.getMinutes(),r.getSeconds(),e)}function R(t,e,r){return M(I(t,e),r)}function M(t,e){let r=new Date(w(t)),i=T(r,t.tz),n=w(t),s=w(i),o=n-s,a=new Date(r.getTime()+o),h=T(a,t.tz);if(k(h,t)){let u=new Date(a.getTime()-36e5),f=T(u,t.tz);return k(f,t)?u:a}let l=new Date(a.getTime()+w(t)-w(h)),p=T(l,t.tz);if(k(p,t))return l;if(e)throw new Error("Invalid date passed to fromTZ()");return a.getTime()>l.getTime()?a:l}function T(t,e){let r,i;try{r=new Intl.DateTimeFormat("en-US",{timeZone:e,year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!1}),i=r.formatToParts(t)}catch(s){let o=s instanceof Error?s.message:String(s);throw new RangeError(`toTZ: Invalid timezone '${e}' or date. Please provide a valid IANA timezone (e.g., 'America/New_York', 'Europe/Stockholm'). Original error: ${o}`)}let n={year:0,month:0,day:0,hour:0,minute:0,second:0};for(let s of i)(s.type==="year"||s.type==="month"||s.type==="day"||s.type==="hour"||s.type==="minute"||s.type==="second")&&(n[s.type]=parseInt(s.value,10));if(isNaN(n.year)||isNaN(n.month)||isNaN(n.day)||isNaN(n.hour)||isNaN(n.minute)||isNaN(n.second))throw new Error(`toTZ: Failed to parse all date components from timezone '${e}'. This may indicate an invalid date or timezone configuration. Parsed components: ${JSON.stringify(n)}`);return n.hour===24&&(n.hour=0),{y:n.year,m:n.month,d:n.day,h:n.hour,i:n.minute,s:n.second,tz:e}}function _(t,e,r,i,n,s,o){return{y:t,m:e,d:r,h:i,i:n,s,tz:o}}var U=[1,2,4,8,16],W=class{pattern;timezone;mode;alternativeWeekdays;sloppyRanges;second;minute;hour;day;month;dayOfWeek;year;lastDayOfMonth;lastWeekday;nearestWeekdays;starDOM;starDOW;starYear;useAndLogic;constructor(t,e,r){this.pattern=t,this.timezone=e,this.mode=r?.mode??"auto",this.alternativeWeekdays=r?.alternativeWeekdays??!1,this.sloppyRanges=r?.sloppyRanges??!1,this.second=Array(60).fill(0),this.minute=Array(60).fill(0),this.hour=Array(24).fill(0),this.day=Array(31).fill(0),this.month=Array(12).fill(0),this.dayOfWeek=Array(7).fill(0),this.year=Array(1e4).fill(0),this.lastDayOfMonth=!1,this.lastWeekday=!1,this.nearestWeekdays=Array(31).fill(0),this.starDOM=!1,this.starDOW=!1,this.starYear=!1,this.useAndLogic=!1,this.parse()}parse(){if(!(typeof this.pattern=="string"||this.pattern instanceof String))throw new TypeError("CronPattern: Pattern has to be of type string.");this.pattern.indexOf("@")>=0&&(this.pattern=this.handleNicknames(this.pattern).trim());let t=this.pattern.match(/\S+/g)||[""],e=t.length;if(t.length<5||t.length>7)throw new TypeError("CronPattern: invalid configuration format ('"+this.pattern+"'), exactly five, six, or seven space separated parts are required.");if(this.mode!=="auto"){let i;switch(this.mode){case"5-part":i=5;break;case"6-part":i=6;break;case"7-part":i=7;break;case"5-or-6-parts":i=[5,6];break;case"6-or-7-parts":i=[6,7];break;default:i=0}if(!(Array.isArray(i)?i.includes(e):e===i)){let n=Array.isArray(i)?i.join(" or "):i.toString();throw new TypeError(`CronPattern: mode '${this.mode}' requires exactly ${n} parts, but pattern '${this.pattern}' has ${e} parts.`)}}if(t.length===5&&t.unshift("0"),t.length===6&&t.push("*"),t[3].toUpperCase()==="LW"?(this.lastWeekday=!0,t[3]=""):t[3].toUpperCase().indexOf("L")>=0&&(t[3]=t[3].replace(/L/gi,""),this.lastDayOfMonth=!0),t[3]=="*"&&(this.starDOM=!0),t[6]=="*"&&(this.starYear=!0),t[4].length>=3&&(t[4]=this.replaceAlphaMonths(t[4])),t[5].length>=3&&(t[5]=this.alternativeWeekdays?this.replaceAlphaDaysQuartz(t[5]):this.replaceAlphaDays(t[5])),t[5].startsWith("+")&&(this.useAndLogic=!0,t[5]=t[5].substring(1),t[5]===""))throw new TypeError("CronPattern: Day-of-week field cannot be empty after '+' modifier.");switch(t[5]=="*"&&(this.starDOW=!0),this.pattern.indexOf("?")>=0&&(t[0]=t[0].replace(/\?/g,"*"),t[1]=t[1].replace(/\?/g,"*"),t[2]=t[2].replace(/\?/g,"*"),t[3]=t[3].replace(/\?/g,"*"),t[4]=t[4].replace(/\?/g,"*"),t[5]=t[5].replace(/\?/g,"*"),t[6]&&(t[6]=t[6].replace(/\?/g,"*"))),this.mode){case"5-part":t[0]="0",t[6]="*";break;case"6-part":t[6]="*";break;case"5-or-6-parts":t[6]="*";break;case"6-or-7-parts":break;case"7-part":case"auto":break}this.throwAtIllegalCharacters(t),this.partToArray("second",t[0],0,1),this.partToArray("minute",t[1],0,1),this.partToArray("hour",t[2],0,1),this.partToArray("day",t[3],-1,1),this.partToArray("month",t[4],-1,1);let r=this.alternativeWeekdays?-1:0;this.partToArray("dayOfWeek",t[5],r,63),this.partToArray("year",t[6],0,1),!this.alternativeWeekdays&&this.dayOfWeek[7]&&(this.dayOfWeek[0]=this.dayOfWeek[7])}partToArray(t,e,r,i){let n=this[t],s=t==="day"&&this.lastDayOfMonth,o=t==="day"&&this.lastWeekday;if(e===""&&!s&&!o)throw new TypeError("CronPattern: configuration entry "+t+" ("+e+") is empty, check for trailing spaces.");if(e==="*")return n.fill(i);let a=e.split(",");if(a.length>1)for(let h=0;h<a.length;h++)this.partToArray(t,a[h],r,i);else e.indexOf("-")!==-1&&e.indexOf("/")!==-1?this.handleRangeWithStepping(e,t,r,i):e.indexOf("-")!==-1?this.handleRange(e,t,r,i):e.indexOf("/")!==-1?this.handleStepping(e,t,r,i):e!==""&&this.handleNumber(e,t,r,i)}throwAtIllegalCharacters(t){for(let e=0;e<t.length;e++)if((e===3?/[^/*0-9,\-WwLl]+/:e===5?/[^/*0-9,\-#Ll]+/:/[^/*0-9,\-]+/).test(t[e]))throw new TypeError("CronPattern: configuration entry "+e+" ("+t[e]+") contains illegal characters.")}handleNumber(t,e,r,i){let n=this.extractNth(t,e),s=t.toUpperCase().includes("W");if(e!=="day"&&s)throw new TypeError("CronPattern: Nearest weekday modifier (W) only allowed in day-of-month.");s&&(e="nearestWeekdays");let o=parseInt(n[0],10)+r;if(isNaN(o))throw new TypeError("CronPattern: "+e+" is not a number: '"+t+"'");this.setPart(e,o,n[1]||i)}setPart(t,e,r){if(!Object.prototype.hasOwnProperty.call(this,t))throw new TypeError("CronPattern: Invalid part specified: "+t);if(t==="dayOfWeek"){if(e===7&&(e=0),e<0||e>6)throw new RangeError("CronPattern: Invalid value for dayOfWeek: "+e);this.setNthWeekdayOfMonth(e,r);return}if(t==="second"||t==="minute"){if(e<0||e>=60)throw new RangeError("CronPattern: Invalid value for "+t+": "+e)}else if(t==="hour"){if(e<0||e>=24)throw new RangeError("CronPattern: Invalid value for "+t+": "+e)}else if(t==="day"||t==="nearestWeekdays"){if(e<0||e>=31)throw new RangeError("CronPattern: Invalid value for "+t+": "+e)}else if(t==="month"){if(e<0||e>=12)throw new RangeError("CronPattern: Invalid value for "+t+": "+e)}else if(t==="year"&&(e<1||e>=1e4))throw new RangeError("CronPattern: Invalid value for "+t+": "+e+" (supported range: 1-9999)");this[t][e]=r}validateNotNaN(t,e){if(isNaN(t))throw new TypeError(e)}validateRange(t,e,r,i,n){if(t>e)throw new TypeError("CronPattern: From value is larger than to value: '"+n+"'");if(r!==void 0){if(r===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(r>this[i].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[i].length+")")}}handleRangeWithStepping(t,e,r,i){if(t.toUpperCase().includes("W"))throw new TypeError("CronPattern: Syntax error, W is not allowed in ranges with stepping.");let n=this.extractNth(t,e),s=n[0].match(/^(\d+)-(\d+)\/(\d+)$/);if(s===null)throw new TypeError("CronPattern: Syntax error, illegal range with stepping: '"+t+"'");let[,o,a,h]=s,l=parseInt(o,10)+r,p=parseInt(a,10)+r,u=parseInt(h,10);this.validateNotNaN(l,"CronPattern: Syntax error, illegal lower range (NaN)"),this.validateNotNaN(p,"CronPattern: Syntax error, illegal upper range (NaN)"),this.validateNotNaN(u,"CronPattern: Syntax error, illegal stepping: (NaN)"),this.validateRange(l,p,u,e,t);for(let f=l;f<=p;f+=u)this.setPart(e,f,n[1]||i)}extractNth(t,e){let r=t,i;if(r.includes("#")){if(e!=="dayOfWeek")throw new Error("CronPattern: nth (#) only allowed in day-of-week field");i=r.split("#")[1],r=r.split("#")[0]}else if(r.toUpperCase().endsWith("L")){if(e!=="dayOfWeek")throw new Error("CronPattern: L modifier only allowed in day-of-week field (use L alone for day-of-month)");i="L",r=r.slice(0,-1)}return[r,i]}handleRange(t,e,r,i){if(t.toUpperCase().includes("W"))throw new TypeError("CronPattern: Syntax error, W is not allowed in a range.");let n=this.extractNth(t,e),s=n[0].split("-");if(s.length!==2)throw new TypeError("CronPattern: Syntax error, illegal range: '"+t+"'");let o=parseInt(s[0],10)+r,a=parseInt(s[1],10)+r;this.validateNotNaN(o,"CronPattern: Syntax error, illegal lower range (NaN)"),this.validateNotNaN(a,"CronPattern: Syntax error, illegal upper range (NaN)"),this.validateRange(o,a,void 0,e,t);for(let h=o;h<=a;h++)this.setPart(e,h,n[1]||i)}handleStepping(t,e,r,i){if(t.toUpperCase().includes("W"))throw new TypeError("CronPattern: Syntax error, W is not allowed in parts with stepping.");let n=this.extractNth(t,e),s=n[0].split("/");if(s.length!==2)throw new TypeError("CronPattern: Syntax error, illegal stepping: '"+t+"'");if(this.sloppyRanges)s[0]===""&&(s[0]="*");else{if(s[0]==="")throw new TypeError("CronPattern: Syntax error, stepping with missing prefix ('"+t+"') is not allowed. Use wildcard (*/step) or range (min-max/step) instead.");if(s[0]!=="*")throw new TypeError("CronPattern: Syntax error, stepping with numeric prefix ('"+t+"') is not allowed. Use wildcard (*/step) or range (min-max/step) instead.")}let o=0;s[0]!=="*"&&(o=parseInt(s[0],10)+r);let a=parseInt(s[1],10);this.validateNotNaN(a,"CronPattern: Syntax error, illegal stepping: (NaN)"),this.validateRange(0,this[e].length-1,a,e,t);for(let h=o;h<this[e].length;h+=a)this.setPart(e,h,n[1]||i)}replaceAlphaDays(t){return t.replace(/-sun/gi,"-7").replace(/sun/gi,"0").replace(/mon/gi,"1").replace(/tue/gi,"2").replace(/wed/gi,"3").replace(/thu/gi,"4").replace(/fri/gi,"5").replace(/sat/gi,"6")}replaceAlphaDaysQuartz(t){return t.replace(/sun/gi,"1").replace(/mon/gi,"2").replace(/tue/gi,"3").replace(/wed/gi,"4").replace(/thu/gi,"5").replace(/fri/gi,"6").replace(/sat/gi,"7")}replaceAlphaMonths(t){return t.replace(/jan/gi,"1").replace(/feb/gi,"2").replace(/mar/gi,"3").replace(/apr/gi,"4").replace(/may/gi,"5").replace(/jun/gi,"6").replace(/jul/gi,"7").replace(/aug/gi,"8").replace(/sep/gi,"9").replace(/oct/gi,"10").replace(/nov/gi,"11").replace(/dec/gi,"12")}handleNicknames(t){let e=t.trim().toLowerCase();if(e==="@yearly"||e==="@annually")return"0 0 1 1 *";if(e==="@monthly")return"0 0 1 * *";if(e==="@weekly")return"0 0 * * 0";if(e==="@daily"||e==="@midnight")return"0 0 * * *";if(e==="@hourly")return"0 * * * *";if(e==="@reboot")throw new TypeError("CronPattern: @reboot is not supported in this environment. This is an event-based trigger that requires system startup detection.");return t}setNthWeekdayOfMonth(t,e){if(typeof e!="number"&&e.toUpperCase()==="L")this.dayOfWeek[t]=this.dayOfWeek[t]|32;else if(e===63)this.dayOfWeek[t]=63;else if(e<6&&e>0)this.dayOfWeek[t]=this.dayOfWeek[t]|U[e-1];else throw new TypeError(`CronPattern: nth weekday out of range, should be 1-5 or L. Value: ${e}, Type: ${typeof e}`)}},O=[31,28,31,30,31,30,31,31,30,31,30,31],d=[["month","year",0],["day","month",-1],["hour","day",0],["minute","hour",0],["second","minute",0]],y=class P{tz;ms;second;minute;hour;day;month;year;constructor(e,r){if(this.tz=r,e&&e instanceof Date)if(!isNaN(e))this.fromDate(e);else throw new TypeError("CronDate: Invalid date passed to CronDate constructor");else if(e==null)this.fromDate(new Date);else if(e&&typeof e=="string")this.fromString(e);else if(e instanceof P)this.fromCronDate(e);else throw new TypeError("CronDate: Invalid type ("+typeof e+") passed to CronDate constructor")}getLastDayOfMonth(e,r){return r!==1?O[r]:new Date(Date.UTC(e,r+1,0)).getUTCDate()}getLastWeekday(e,r){let i=this.getLastDayOfMonth(e,r),n=new Date(Date.UTC(e,r,i)).getUTCDay();return n===0?i-2:n===6?i-1:i}getNearestWeekday(e,r,i){let n=this.getLastDayOfMonth(e,r);if(i>n)return-1;let s=new Date(Date.UTC(e,r,i)).getUTCDay();return s===0?i===n?i-2:i+1:s===6?i===1?i+2:i-1:i}isNthWeekdayOfMonth(e,r,i,n){let s=new Date(Date.UTC(e,r,i)).getUTCDay(),o=0;for(let a=1;a<=i;a++)new Date(Date.UTC(e,r,a)).getUTCDay()===s&&o++;if(n&63&&U[o-1]&n)return!0;if(n&32){let a=this.getLastDayOfMonth(e,r);for(let h=i+1;h<=a;h++)if(new Date(Date.UTC(e,r,h)).getUTCDay()===s)return!1;return!0}return!1}fromDate(e){if(this.tz!==void 0)if(typeof this.tz=="number")this.ms=e.getUTCMilliseconds(),this.second=e.getUTCSeconds(),this.minute=e.getUTCMinutes()+this.tz,this.hour=e.getUTCHours(),this.day=e.getUTCDate(),this.month=e.getUTCMonth(),this.year=e.getUTCFullYear(),this.apply();else try{let r=T(e,this.tz);this.ms=e.getMilliseconds(),this.second=r.s,this.minute=r.i,this.hour=r.h,this.day=r.d,this.month=r.m-1,this.year=r.y}catch(r){let i=r instanceof Error?r.message:String(r);throw new TypeError(`CronDate: Failed to convert date to timezone '${this.tz}'. This may happen with invalid timezone names or dates. Original error: ${i}`)}else this.ms=e.getMilliseconds(),this.second=e.getSeconds(),this.minute=e.getMinutes(),this.hour=e.getHours(),this.day=e.getDate(),this.month=e.getMonth(),this.year=e.getFullYear()}fromCronDate(e){this.tz=e.tz,this.year=e.year,this.month=e.month,this.day=e.day,this.hour=e.hour,this.minute=e.minute,this.second=e.second,this.ms=e.ms}apply(){if(this.month>11||this.month<0||this.day>O[this.month]||this.day<1||this.hour>59||this.minute>59||this.second>59||this.hour<0||this.minute<0||this.second<0){let e=new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms));return this.ms=e.getUTCMilliseconds(),this.second=e.getUTCSeconds(),this.minute=e.getUTCMinutes(),this.hour=e.getUTCHours(),this.day=e.getUTCDate(),this.month=e.getUTCMonth(),this.year=e.getUTCFullYear(),!0}else return!1}fromString(e){if(typeof this.tz=="number"){let r=R(e);this.ms=r.getUTCMilliseconds(),this.second=r.getUTCSeconds(),this.minute=r.getUTCMinutes(),this.hour=r.getUTCHours(),this.day=r.getUTCDate(),this.month=r.getUTCMonth(),this.year=r.getUTCFullYear(),this.apply()}else return this.fromDate(R(e,this.tz))}findNext(e,r,i,n){return this._findMatch(e,r,i,n,1)}_findMatch(e,r,i,n,s){let o=this[r],a;i.lastDayOfMonth&&(a=this.getLastDayOfMonth(this.year,this.month));let h=!i.starDOW&&r=="day"?new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay():void 0,l=this[r]+n,p=s===1?u=>u<i[r].length:u=>u>=0;for(let u=l;p(u);u+=s){let f=i[r][u];if(r==="day"&&!f){for(let c=0;c<i.nearestWeekdays.length;c++)if(i.nearestWeekdays[c]){let N=this.getNearestWeekday(this.year,this.month,c-n);if(N===-1)continue;if(N===u-n){f=1;break}}}if(r==="day"&&i.lastWeekday){let c=this.getLastWeekday(this.year,this.month);u-n===c&&(f=1)}if(r==="day"&&i.lastDayOfMonth&&u-n==a&&(f=1),r==="day"&&!i.starDOW){let c=i.dayOfWeek[(h+(u-n-1))%7];if(c&&c&63)c=this.isNthWeekdayOfMonth(this.year,this.month,u-n,c)?1:0;else if(c)throw new Error(`CronDate: Invalid value for dayOfWeek encountered. ${c}`);i.useAndLogic?f=f&&c:!e.domAndDow&&!i.starDOM?f=f||c:f=f&&c}if(f)return this[r]=u-n,o!==this[r]?2:1}return 3}recurse(e,r,i){if(i===0&&!e.starYear){if(this.year>=0&&this.year<e.year.length&&e.year[this.year]===0){let s=-1;for(let o=this.year+1;o<e.year.length&&o<1e4;o++)if(e.year[o]===1){s=o;break}if(s===-1)return null;this.year=s,this.month=0,this.day=1,this.hour=0,this.minute=0,this.second=0,this.ms=0}if(this.year>=1e4)return null}let n=this.findNext(r,d[i][0],e,d[i][2]);if(n>1){let s=i+1;for(;s<d.length;)this[d[s][0]]=-d[s][2],s++;if(n===3){if(this[d[i][1]]++,this[d[i][0]]=-d[i][2],this.apply(),i===0&&!e.starYear){for(;this.year>=0&&this.year<e.year.length&&e.year[this.year]===0&&this.year<1e4;)this.year++;if(this.year>=1e4||this.year>=e.year.length)return null}return this.recurse(e,r,0)}else if(this.apply())return this.recurse(e,r,i-1)}return i+=1,i>=d.length?this:(e.starYear?this.year>=3e3:this.year>=1e4)?null:this.recurse(e,r,i)}increment(e,r,i){return this.second+=r.interval!==void 0&&r.interval>1&&i?r.interval:1,this.ms=0,this.apply(),this.recurse(e,r,0)}decrement(e,r){return this.second-=r.interval!==void 0&&r.interval>1?r.interval:1,this.ms=0,this.apply(),this.recurseBackward(e,r,0,0)}recurseBackward(e,r,i,n=0){if(n>1e4)return null;if(i===0&&!e.starYear){if(this.year>=0&&this.year<e.year.length&&e.year[this.year]===0){let o=-1;for(let a=this.year-1;a>=0;a--)if(e.year[a]===1){o=a;break}if(o===-1)return null;this.year=o,this.month=11,this.day=31,this.hour=23,this.minute=59,this.second=59,this.ms=0}if(this.year<0)return null}let s=this.findPrevious(r,d[i][0],e,d[i][2]);if(s>1){let o=i+1;for(;o<d.length;){let a=d[o][0],h=d[o][2],l=this.getMaxPatternValue(a,e,h);this[a]=l,o++}if(s===3){if(this[d[i][1]]--,i===0){let p=this.getLastDayOfMonth(this.year,this.month);this.day>p&&(this.day=p)}if(i===1)if(this.day<=0)this.day=1;else{let p=this.year,u=this.month;for(;u<0;)u+=12,p--;for(;u>11;)u-=12,p++;let f=u!==1?O[u]:new Date(Date.UTC(p,u+1,0)).getUTCDate();this.day>f&&(this.day=f)}this.apply();let a=d[i][0],h=d[i][2],l=this.getMaxPatternValue(a,e,h);if(a==="day"){let p=this.getLastDayOfMonth(this.year,this.month);this[a]=Math.min(l,p)}else this[a]=l;if(this.apply(),i===0){let p=d[1][2],u=this.getMaxPatternValue("day",e,p),f=this.getLastDayOfMonth(this.year,this.month),c=Math.min(u,f);c!==this.day&&(this.day=c,this.hour=this.getMaxPatternValue("hour",e,d[2][2]),this.minute=this.getMaxPatternValue("minute",e,d[3][2]),this.second=this.getMaxPatternValue("second",e,d[4][2]))}if(i===0&&!e.starYear){for(;this.year>=0&&this.year<e.year.length&&e.year[this.year]===0;)this.year--;if(this.year<0)return null}return this.recurseBackward(e,r,0,n+1)}else if(this.apply())return this.recurseBackward(e,r,i-1,n+1)}return i+=1,i>=d.length?this:this.year<0?null:this.recurseBackward(e,r,i,n+1)}getMaxPatternValue(e,r,i){if(e==="day"&&r.lastDayOfMonth)return this.getLastDayOfMonth(this.year,this.month);if(e==="day"&&!r.starDOW)return this.getLastDayOfMonth(this.year,this.month);for(let n=r[e].length-1;n>=0;n--)if(r[e][n])return n-i;return r[e].length-1-i}findPrevious(e,r,i,n){return this._findMatch(e,r,i,n,-1)}getDate(e){return e||this.tz===void 0?new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms):typeof this.tz=="number"?new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute-this.tz,this.second,this.ms)):M(_(this.year,this.month+1,this.day,this.hour,this.minute,this.second,this.tz),!1)}getTime(){return this.getDate(!1).getTime()}match(e,r){if(!e.starYear&&(this.year<0||this.year>=e.year.length||e.year[this.year]===0))return!1;for(let i=0;i<d.length;i++){let n=d[i][0],s=d[i][2],o=this[n];if(o+s<0||o+s>=e[n].length)return!1;let a=e[n][o+s];if(n==="day"){if(!a){for(let h=0;h<e.nearestWeekdays.length;h++)if(e.nearestWeekdays[h]){let l=this.getNearestWeekday(this.year,this.month,h-s);if(l!==-1&&l===o){a=1;break}}}if(e.lastWeekday){let h=this.getLastWeekday(this.year,this.month);o===h&&(a=1)}if(e.lastDayOfMonth){let h=this.getLastDayOfMonth(this.year,this.month);o===h&&(a=1)}if(!e.starDOW){let h=new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay(),l=e.dayOfWeek[(h+(o-1))%7];l&&l&63&&(l=this.isNthWeekdayOfMonth(this.year,this.month,o,l)?1:0),e.useAndLogic?a=a&&l:!r.domAndDow&&!e.starDOM?a=a||l:a=a&&l}}if(!a)return!1}return!0}};function L(t){if(t===void 0&&(t={}),delete t.name,t.legacyMode!==void 0&&t.domAndDow===void 0?t.domAndDow=!t.legacyMode:t.domAndDow===void 0&&(t.domAndDow=!1),t.legacyMode=!t.domAndDow,t.paused=t.paused===void 0?!1:t.paused,t.maxRuns=t.maxRuns===void 0?1/0:t.maxRuns,t.catch=t.catch===void 0?!1:t.catch,t.interval=t.interval===void 0?0:parseInt(t.interval.toString(),10),t.utcOffset=t.utcOffset===void 0?void 0:parseInt(t.utcOffset.toString(),10),t.dayOffset=t.dayOffset===void 0?0:parseInt(t.dayOffset.toString(),10),t.unref=t.unref===void 0?!1:t.unref,t.mode=t.mode===void 0?"auto":t.mode,t.alternativeWeekdays=t.alternativeWeekdays===void 0?!1:t.alternativeWeekdays,t.sloppyRanges=t.sloppyRanges===void 0?!1:t.sloppyRanges,!["auto","5-part","6-part","7-part","5-or-6-parts","6-or-7-parts"].includes(t.mode))throw new Error("CronOptions: mode must be one of 'auto', '5-part', '6-part', '7-part', '5-or-6-parts', or '6-or-7-parts'.");if(t.startAt&&(t.startAt=new y(t.startAt,t.timezone)),t.stopAt&&(t.stopAt=new y(t.stopAt,t.timezone)),t.interval!==null){if(isNaN(t.interval))throw new Error("CronOptions: Supplied value for interval is not a number");if(t.interval<0)throw new Error("CronOptions: Supplied value for interval can not be negative")}if(t.utcOffset!==void 0){if(isNaN(t.utcOffset))throw new Error("CronOptions: Invalid value passed for utcOffset, should be number representing minutes offset from UTC.");if(t.utcOffset<-870||t.utcOffset>870)throw new Error("CronOptions: utcOffset out of bounds.");if(t.utcOffset!==void 0&&t.timezone)throw new Error("CronOptions: Combining 'utcOffset' with 'timezone' is not allowed.")}if(t.unref!==!0&&t.unref!==!1)throw new Error("CronOptions: Unref should be either true, false or undefined(false).");if(t.dayOffset!==void 0&&t.dayOffset!==0&&isNaN(t.dayOffset))throw new Error("CronOptions: Invalid value passed for dayOffset, should be a number representing days to offset.");return t}function v(t){return Object.prototype.toString.call(t)==="[object Function]"||typeof t=="function"||t instanceof Function}function F(t){return v(t)}function $(t){typeof Deno<"u"&&typeof Deno.unrefTimer<"u"?Deno.unrefTimer(t):t&&typeof t.unref<"u"&&t.unref()}var E=30*1e3,C=[],x=class{name;options;_states;fn;getTz(){return this.options.timezone||this.options.utcOffset}applyDayOffset(t){if(this.options.dayOffset!==void 0&&this.options.dayOffset!==0){let e=this.options.dayOffset*24*60*60*1e3;return new Date(t.getTime()+e)}return t}constructor(t,e,r){let i,n;if(v(e))n=e;else if(typeof e=="object")i=e;else if(e!==void 0)throw new Error("Cron: Invalid argument passed for optionsIn. Should be one of function, or object (options).");if(v(r))n=r;else if(typeof r=="object")i=r;else if(r!==void 0)throw new Error("Cron: Invalid argument passed for funcIn. Should be one of function, or object (options).");if(this.name=i?.name,this.options=L(i),this._states={kill:!1,blocking:!1,previousRun:void 0,currentRun:void 0,once:void 0,currentTimeout:void 0,maxRuns:i?i.maxRuns:void 0,paused:i?i.paused:!1,pattern:new W("* * * * *",void 0,{mode:"auto"})},t&&(t instanceof Date||typeof t=="string"&&t.indexOf(":")>0)?this._states.once=new y(t,this.getTz()):this._states.pattern=new W(t,this.options.timezone,{mode:this.options.mode,alternativeWeekdays:this.options.alternativeWeekdays,sloppyRanges:this.options.sloppyRanges}),this.name){if(C.find(s=>s.name===this.name))throw new Error("Cron: Tried to initialize new named job '"+this.name+"', but name already taken.");C.push(this)}return n!==void 0&&F(n)&&(this.fn=n,this.schedule()),this}nextRun(t){let e=this._next(t);return e?this.applyDayOffset(e.getDate(!1)):null}nextRuns(t,e){this._states.maxRuns!==void 0&&t>this._states.maxRuns&&(t=this._states.maxRuns);let r=e||this._states.currentRun||void 0;return this._enumerateRuns(t,r,"next")}previousRuns(t,e){return this._enumerateRuns(t,e||void 0,"previous")}_enumerateRuns(t,e,r){let i=[],n=e?new y(e,this.getTz()):null,s=r==="next"?this._next:this._previous;for(;t--;){let o=s.call(this,n);if(!o)break;let a=o.getDate(!1);i.push(this.applyDayOffset(a)),n=o}return i}match(t){if(this._states.once){let r=new y(t,this.getTz());r.ms=0;let i=new y(this._states.once,this.getTz());return i.ms=0,r.getTime()===i.getTime()}let e=new y(t,this.getTz());return e.ms=0,e.match(this._states.pattern,this.options)}getPattern(){if(!this._states.once)return this._states.pattern?this._states.pattern.pattern:void 0}getOnce(){return this._states.once?this._states.once.getDate():null}isRunning(){let t=this.nextRun(this._states.currentRun),e=!this._states.paused,r=this.fn!==void 0,i=!this._states.kill;return e&&r&&i&&t!==null}isStopped(){return this._states.kill}isBusy(){return this._states.blocking}currentRun(){return this._states.currentRun?this._states.currentRun.getDate():null}previousRun(){return this._states.previousRun?this._states.previousRun.getDate():null}msToNext(t){let e=this._next(t);return e?t instanceof y||t instanceof Date?e.getTime()-t.getTime():e.getTime()-new y(t).getTime():null}stop(){this._states.kill=!0,this._states.currentTimeout&&clearTimeout(this._states.currentTimeout);let t=C.indexOf(this);t>=0&&C.splice(t,1)}pause(){return this._states.paused=!0,!this._states.kill}resume(){return this._states.paused=!1,!this._states.kill}schedule(t){if(t&&this.fn)throw new Error("Cron: It is not allowed to schedule two functions using the same Croner instance.");t&&(this.fn=t);let e=this.msToNext(),r=this.nextRun(this._states.currentRun);return e==null||isNaN(e)||r===null?this:(e>E&&(e=E),this._states.currentTimeout=setTimeout(()=>this._checkTrigger(r),e),this._states.currentTimeout&&this.options.unref&&$(this._states.currentTimeout),this)}async _trigger(t){this._states.blocking=!0,this._states.currentRun=new y(void 0,this.getTz());try{if(this.options.catch)try{this.fn!==void 0&&await this.fn(this,this.options.context)}catch(e){if(v(this.options.catch))try{this.options.catch(e,this)}catch{}}else this.fn!==void 0&&await this.fn(this,this.options.context)}finally{this._states.previousRun=new y(t,this.getTz()),this._states.blocking=!1}}async trigger(){await this._trigger()}runsLeft(){return this._states.maxRuns}_checkTrigger(t){let e=new Date,r=!this._states.paused&&e.getTime()>=t.getTime(),i=this._states.blocking&&this.options.protect;r&&!i?(this._states.maxRuns!==void 0&&this._states.maxRuns--,this._trigger()):r&&i&&v(this.options.protect)&&setTimeout(()=>this.options.protect(this),0),this.schedule()}_next(t){let e=!!(t||this._states.currentRun),r=!1;!t&&this.options.startAt&&this.options.interval&&([t,e]=this._calculatePreviousRun(t,e),r=!t),t=new y(t,this.getTz()),this.options.startAt&&t&&t.getTime()<this.options.startAt.getTime()&&(t=this.options.startAt);let i=this._states.once||new y(t,this.getTz());return!r&&i!==this._states.once&&(i=i.increment(this._states.pattern,this.options,e)),this._states.once&&this._states.once.getTime()<=t.getTime()||i===null||this._states.maxRuns!==void 0&&this._states.maxRuns<=0||this._states.kill||this.options.stopAt&&i.getTime()>=this.options.stopAt.getTime()?null:i}_previous(t){let e=new y(t,this.getTz());this.options.stopAt&&e.getTime()>this.options.stopAt.getTime()&&(e=this.options.stopAt);let r=new y(e,this.getTz());return this._states.once?this._states.once.getTime()<e.getTime()?this._states.once:null:(r=r.decrement(this._states.pattern,this.options),r===null||this.options.startAt&&r.getTime()<this.options.startAt.getTime()?null:r)}_calculatePreviousRun(t,e){let r=new y(void 0,this.getTz()),i=t;if(this.options.startAt.getTime()<=r.getTime()){i=this.options.startAt;let n=i.getTime()+this.options.interval*1e3;for(;n<=r.getTime();)i=new y(i,this.getTz()).increment(this._states.pattern,this.options,!0),n=i.getTime()+this.options.interval*1e3;e=!0}return i===null&&(i=void 0),[i,e]}};function Y(t,e,r,i){let n=i?{timezone:i}:{};return new x("* * * * * *",()=>{let o=new Date;if(!t.some(l=>new x(l,n).nextRun(o)===null))return;e.some(l=>new x(l,n).nextRun(o)===null)||r()})}var j=0;function q(){return++j}var A,V=b.child({section:"Utils"}),m,D=()=>{if(!m){let t=g();if(A&&typeof import.meta<"u"&&import.meta.url)try{m=A(import.meta.url)}catch{}!m&&typeof globalThis.require=="function"&&(m=globalThis.require),m||(m=e=>{throw new Error(`require("${e}") is not available in this runtime (${t}).`)})}return m},at={run:()=>V.info(`Running on ${g()}`)},B=t=>{try{if(typeof Deno<"u"&&Deno.env)return Deno.env.get(t)}catch{}try{if(typeof process<"u"&&process.env)return process.env[t]}catch{}},ot=()=>{try{if(typeof Deno<"u"&&Deno.env)return Deno.env.toObject()}catch{}try{if(typeof process<"u"&&process.env)return{...process.env}}catch{}return{}},ht=t=>{if(typeof Deno<"u"&&Deno.readTextFileSync)return Deno.readTextFileSync(t);let{readFileSync:e}=D()("node:fs");return e(t,"utf8")},lt=t=>{if(typeof Deno<"u"&&Deno.statSync)try{return Deno.statSync(t),!0}catch{return!1}let{existsSync:e}=D()("node:fs");return e(t)},ut=()=>typeof Deno<"u"&&Deno.cwd?Deno.cwd():typeof process<"u"&&process.cwd?process.cwd():"/",dt=()=>{if(g()==="deno")return new URL(".",import.meta.url).pathname;if(typeof import.meta<"u"&&import.meta.url){let e=new URL(import.meta.url);if(e.protocol==="file:"){let{dirname:i}=D()("node:path"),{fileURLToPath:n}=D()("node:url");return i(n(import.meta.url))}let r=e.pathname;return r.substring(0,r.lastIndexOf("/"))}return""},ft=()=>{let t=g(),e;return t==="deno"?e=Deno.build.os:e=process.platform,e==="win32"||e==="windows"?"windows":"linux"},pt=()=>B("NODE_ENV")?.toLowerCase()==="production"?"production":"development",ct=()=>g()==="deno"?Deno.env.get("TMPDIR")||Deno.env.get("TEMP")||"/tmp":D()("node:os").tmpdir(),yt=t=>new Promise(e=>setTimeout(e,t));export{b as a,Y as b,q as c,D as d,at as e,B as f,ot as g,ht as h,lt as i,ut as j,dt as k,ft as l,pt as m,ct as n,yt as o};
1
+ import{a as g}from"./chunk-ZMQIBLAC.js";var S=g();async function z(){let t;switch(S){case"cloudflare":t=await import("./cloudflare-CTNLQDS4.js");break;case"aws-lambda":t=await import("./lambda-6HQKP6G3.js");break;case"gcp-cloudrun":t=await import("./gcp-GBGWAZSX.js");break;case"bun":t=await import("./bun-B6T46QQU.js");break;case"deno":t=await import("./deno-2KIX5TV5.js");break;default:t=await import("./node-BRA7RBP5.js");break}let e=t.default,r=typeof e=="function"?e():e;return globalThis.logger=r,r}var b=await z();function w(t){return Date.UTC(t.y,t.m-1,t.d,t.h,t.i,t.s)}function k(t,e){return t.y===e.y&&t.m===e.m&&t.d===e.d&&t.h===e.h&&t.i===e.i&&t.s===e.s}function I(t,e){let r=new Date(Date.parse(t));if(isNaN(r))throw new Error("Invalid ISO8601 passed to timezone parser.");let i=t.substring(9);return i.includes("Z")||i.includes("+")||i.includes("-")?_(r.getUTCFullYear(),r.getUTCMonth()+1,r.getUTCDate(),r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),"Etc/UTC"):_(r.getFullYear(),r.getMonth()+1,r.getDate(),r.getHours(),r.getMinutes(),r.getSeconds(),e)}function R(t,e,r){return M(I(t,e),r)}function M(t,e){let r=new Date(w(t)),i=T(r,t.tz),n=w(t),s=w(i),o=n-s,a=new Date(r.getTime()+o),h=T(a,t.tz);if(k(h,t)){let u=new Date(a.getTime()-36e5),f=T(u,t.tz);return k(f,t)?u:a}let l=new Date(a.getTime()+w(t)-w(h)),p=T(l,t.tz);if(k(p,t))return l;if(e)throw new Error("Invalid date passed to fromTZ()");return a.getTime()>l.getTime()?a:l}function T(t,e){let r,i;try{r=new Intl.DateTimeFormat("en-US",{timeZone:e,year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!1}),i=r.formatToParts(t)}catch(s){let o=s instanceof Error?s.message:String(s);throw new RangeError(`toTZ: Invalid timezone '${e}' or date. Please provide a valid IANA timezone (e.g., 'America/New_York', 'Europe/Stockholm'). Original error: ${o}`)}let n={year:0,month:0,day:0,hour:0,minute:0,second:0};for(let s of i)(s.type==="year"||s.type==="month"||s.type==="day"||s.type==="hour"||s.type==="minute"||s.type==="second")&&(n[s.type]=parseInt(s.value,10));if(isNaN(n.year)||isNaN(n.month)||isNaN(n.day)||isNaN(n.hour)||isNaN(n.minute)||isNaN(n.second))throw new Error(`toTZ: Failed to parse all date components from timezone '${e}'. This may indicate an invalid date or timezone configuration. Parsed components: ${JSON.stringify(n)}`);return n.hour===24&&(n.hour=0),{y:n.year,m:n.month,d:n.day,h:n.hour,i:n.minute,s:n.second,tz:e}}function _(t,e,r,i,n,s,o){return{y:t,m:e,d:r,h:i,i:n,s,tz:o}}var U=[1,2,4,8,16],W=class{pattern;timezone;mode;alternativeWeekdays;sloppyRanges;second;minute;hour;day;month;dayOfWeek;year;lastDayOfMonth;lastWeekday;nearestWeekdays;starDOM;starDOW;starYear;useAndLogic;constructor(t,e,r){this.pattern=t,this.timezone=e,this.mode=r?.mode??"auto",this.alternativeWeekdays=r?.alternativeWeekdays??!1,this.sloppyRanges=r?.sloppyRanges??!1,this.second=Array(60).fill(0),this.minute=Array(60).fill(0),this.hour=Array(24).fill(0),this.day=Array(31).fill(0),this.month=Array(12).fill(0),this.dayOfWeek=Array(7).fill(0),this.year=Array(1e4).fill(0),this.lastDayOfMonth=!1,this.lastWeekday=!1,this.nearestWeekdays=Array(31).fill(0),this.starDOM=!1,this.starDOW=!1,this.starYear=!1,this.useAndLogic=!1,this.parse()}parse(){if(!(typeof this.pattern=="string"||this.pattern instanceof String))throw new TypeError("CronPattern: Pattern has to be of type string.");this.pattern.indexOf("@")>=0&&(this.pattern=this.handleNicknames(this.pattern).trim());let t=this.pattern.match(/\S+/g)||[""],e=t.length;if(t.length<5||t.length>7)throw new TypeError("CronPattern: invalid configuration format ('"+this.pattern+"'), exactly five, six, or seven space separated parts are required.");if(this.mode!=="auto"){let i;switch(this.mode){case"5-part":i=5;break;case"6-part":i=6;break;case"7-part":i=7;break;case"5-or-6-parts":i=[5,6];break;case"6-or-7-parts":i=[6,7];break;default:i=0}if(!(Array.isArray(i)?i.includes(e):e===i)){let n=Array.isArray(i)?i.join(" or "):i.toString();throw new TypeError(`CronPattern: mode '${this.mode}' requires exactly ${n} parts, but pattern '${this.pattern}' has ${e} parts.`)}}if(t.length===5&&t.unshift("0"),t.length===6&&t.push("*"),t[3].toUpperCase()==="LW"?(this.lastWeekday=!0,t[3]=""):t[3].toUpperCase().indexOf("L")>=0&&(t[3]=t[3].replace(/L/gi,""),this.lastDayOfMonth=!0),t[3]=="*"&&(this.starDOM=!0),t[6]=="*"&&(this.starYear=!0),t[4].length>=3&&(t[4]=this.replaceAlphaMonths(t[4])),t[5].length>=3&&(t[5]=this.alternativeWeekdays?this.replaceAlphaDaysQuartz(t[5]):this.replaceAlphaDays(t[5])),t[5].startsWith("+")&&(this.useAndLogic=!0,t[5]=t[5].substring(1),t[5]===""))throw new TypeError("CronPattern: Day-of-week field cannot be empty after '+' modifier.");switch(t[5]=="*"&&(this.starDOW=!0),this.pattern.indexOf("?")>=0&&(t[0]=t[0].replace(/\?/g,"*"),t[1]=t[1].replace(/\?/g,"*"),t[2]=t[2].replace(/\?/g,"*"),t[3]=t[3].replace(/\?/g,"*"),t[4]=t[4].replace(/\?/g,"*"),t[5]=t[5].replace(/\?/g,"*"),t[6]&&(t[6]=t[6].replace(/\?/g,"*"))),this.mode){case"5-part":t[0]="0",t[6]="*";break;case"6-part":t[6]="*";break;case"5-or-6-parts":t[6]="*";break;case"6-or-7-parts":break;case"7-part":case"auto":break}this.throwAtIllegalCharacters(t),this.partToArray("second",t[0],0,1),this.partToArray("minute",t[1],0,1),this.partToArray("hour",t[2],0,1),this.partToArray("day",t[3],-1,1),this.partToArray("month",t[4],-1,1);let r=this.alternativeWeekdays?-1:0;this.partToArray("dayOfWeek",t[5],r,63),this.partToArray("year",t[6],0,1),!this.alternativeWeekdays&&this.dayOfWeek[7]&&(this.dayOfWeek[0]=this.dayOfWeek[7])}partToArray(t,e,r,i){let n=this[t],s=t==="day"&&this.lastDayOfMonth,o=t==="day"&&this.lastWeekday;if(e===""&&!s&&!o)throw new TypeError("CronPattern: configuration entry "+t+" ("+e+") is empty, check for trailing spaces.");if(e==="*")return n.fill(i);let a=e.split(",");if(a.length>1)for(let h=0;h<a.length;h++)this.partToArray(t,a[h],r,i);else e.indexOf("-")!==-1&&e.indexOf("/")!==-1?this.handleRangeWithStepping(e,t,r,i):e.indexOf("-")!==-1?this.handleRange(e,t,r,i):e.indexOf("/")!==-1?this.handleStepping(e,t,r,i):e!==""&&this.handleNumber(e,t,r,i)}throwAtIllegalCharacters(t){for(let e=0;e<t.length;e++)if((e===3?/[^/*0-9,\-WwLl]+/:e===5?/[^/*0-9,\-#Ll]+/:/[^/*0-9,\-]+/).test(t[e]))throw new TypeError("CronPattern: configuration entry "+e+" ("+t[e]+") contains illegal characters.")}handleNumber(t,e,r,i){let n=this.extractNth(t,e),s=t.toUpperCase().includes("W");if(e!=="day"&&s)throw new TypeError("CronPattern: Nearest weekday modifier (W) only allowed in day-of-month.");s&&(e="nearestWeekdays");let o=parseInt(n[0],10)+r;if(isNaN(o))throw new TypeError("CronPattern: "+e+" is not a number: '"+t+"'");this.setPart(e,o,n[1]||i)}setPart(t,e,r){if(!Object.prototype.hasOwnProperty.call(this,t))throw new TypeError("CronPattern: Invalid part specified: "+t);if(t==="dayOfWeek"){if(e===7&&(e=0),e<0||e>6)throw new RangeError("CronPattern: Invalid value for dayOfWeek: "+e);this.setNthWeekdayOfMonth(e,r);return}if(t==="second"||t==="minute"){if(e<0||e>=60)throw new RangeError("CronPattern: Invalid value for "+t+": "+e)}else if(t==="hour"){if(e<0||e>=24)throw new RangeError("CronPattern: Invalid value for "+t+": "+e)}else if(t==="day"||t==="nearestWeekdays"){if(e<0||e>=31)throw new RangeError("CronPattern: Invalid value for "+t+": "+e)}else if(t==="month"){if(e<0||e>=12)throw new RangeError("CronPattern: Invalid value for "+t+": "+e)}else if(t==="year"&&(e<1||e>=1e4))throw new RangeError("CronPattern: Invalid value for "+t+": "+e+" (supported range: 1-9999)");this[t][e]=r}validateNotNaN(t,e){if(isNaN(t))throw new TypeError(e)}validateRange(t,e,r,i,n){if(t>e)throw new TypeError("CronPattern: From value is larger than to value: '"+n+"'");if(r!==void 0){if(r===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(r>this[i].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[i].length+")")}}handleRangeWithStepping(t,e,r,i){if(t.toUpperCase().includes("W"))throw new TypeError("CronPattern: Syntax error, W is not allowed in ranges with stepping.");let n=this.extractNth(t,e),s=n[0].match(/^(\d+)-(\d+)\/(\d+)$/);if(s===null)throw new TypeError("CronPattern: Syntax error, illegal range with stepping: '"+t+"'");let[,o,a,h]=s,l=parseInt(o,10)+r,p=parseInt(a,10)+r,u=parseInt(h,10);this.validateNotNaN(l,"CronPattern: Syntax error, illegal lower range (NaN)"),this.validateNotNaN(p,"CronPattern: Syntax error, illegal upper range (NaN)"),this.validateNotNaN(u,"CronPattern: Syntax error, illegal stepping: (NaN)"),this.validateRange(l,p,u,e,t);for(let f=l;f<=p;f+=u)this.setPart(e,f,n[1]||i)}extractNth(t,e){let r=t,i;if(r.includes("#")){if(e!=="dayOfWeek")throw new Error("CronPattern: nth (#) only allowed in day-of-week field");i=r.split("#")[1],r=r.split("#")[0]}else if(r.toUpperCase().endsWith("L")){if(e!=="dayOfWeek")throw new Error("CronPattern: L modifier only allowed in day-of-week field (use L alone for day-of-month)");i="L",r=r.slice(0,-1)}return[r,i]}handleRange(t,e,r,i){if(t.toUpperCase().includes("W"))throw new TypeError("CronPattern: Syntax error, W is not allowed in a range.");let n=this.extractNth(t,e),s=n[0].split("-");if(s.length!==2)throw new TypeError("CronPattern: Syntax error, illegal range: '"+t+"'");let o=parseInt(s[0],10)+r,a=parseInt(s[1],10)+r;this.validateNotNaN(o,"CronPattern: Syntax error, illegal lower range (NaN)"),this.validateNotNaN(a,"CronPattern: Syntax error, illegal upper range (NaN)"),this.validateRange(o,a,void 0,e,t);for(let h=o;h<=a;h++)this.setPart(e,h,n[1]||i)}handleStepping(t,e,r,i){if(t.toUpperCase().includes("W"))throw new TypeError("CronPattern: Syntax error, W is not allowed in parts with stepping.");let n=this.extractNth(t,e),s=n[0].split("/");if(s.length!==2)throw new TypeError("CronPattern: Syntax error, illegal stepping: '"+t+"'");if(this.sloppyRanges)s[0]===""&&(s[0]="*");else{if(s[0]==="")throw new TypeError("CronPattern: Syntax error, stepping with missing prefix ('"+t+"') is not allowed. Use wildcard (*/step) or range (min-max/step) instead.");if(s[0]!=="*")throw new TypeError("CronPattern: Syntax error, stepping with numeric prefix ('"+t+"') is not allowed. Use wildcard (*/step) or range (min-max/step) instead.")}let o=0;s[0]!=="*"&&(o=parseInt(s[0],10)+r);let a=parseInt(s[1],10);this.validateNotNaN(a,"CronPattern: Syntax error, illegal stepping: (NaN)"),this.validateRange(0,this[e].length-1,a,e,t);for(let h=o;h<this[e].length;h+=a)this.setPart(e,h,n[1]||i)}replaceAlphaDays(t){return t.replace(/-sun/gi,"-7").replace(/sun/gi,"0").replace(/mon/gi,"1").replace(/tue/gi,"2").replace(/wed/gi,"3").replace(/thu/gi,"4").replace(/fri/gi,"5").replace(/sat/gi,"6")}replaceAlphaDaysQuartz(t){return t.replace(/sun/gi,"1").replace(/mon/gi,"2").replace(/tue/gi,"3").replace(/wed/gi,"4").replace(/thu/gi,"5").replace(/fri/gi,"6").replace(/sat/gi,"7")}replaceAlphaMonths(t){return t.replace(/jan/gi,"1").replace(/feb/gi,"2").replace(/mar/gi,"3").replace(/apr/gi,"4").replace(/may/gi,"5").replace(/jun/gi,"6").replace(/jul/gi,"7").replace(/aug/gi,"8").replace(/sep/gi,"9").replace(/oct/gi,"10").replace(/nov/gi,"11").replace(/dec/gi,"12")}handleNicknames(t){let e=t.trim().toLowerCase();if(e==="@yearly"||e==="@annually")return"0 0 1 1 *";if(e==="@monthly")return"0 0 1 * *";if(e==="@weekly")return"0 0 * * 0";if(e==="@daily"||e==="@midnight")return"0 0 * * *";if(e==="@hourly")return"0 * * * *";if(e==="@reboot")throw new TypeError("CronPattern: @reboot is not supported in this environment. This is an event-based trigger that requires system startup detection.");return t}setNthWeekdayOfMonth(t,e){if(typeof e!="number"&&e.toUpperCase()==="L")this.dayOfWeek[t]=this.dayOfWeek[t]|32;else if(e===63)this.dayOfWeek[t]=63;else if(e<6&&e>0)this.dayOfWeek[t]=this.dayOfWeek[t]|U[e-1];else throw new TypeError(`CronPattern: nth weekday out of range, should be 1-5 or L. Value: ${e}, Type: ${typeof e}`)}},O=[31,28,31,30,31,30,31,31,30,31,30,31],d=[["month","year",0],["day","month",-1],["hour","day",0],["minute","hour",0],["second","minute",0]],y=class P{tz;ms;second;minute;hour;day;month;year;constructor(e,r){if(this.tz=r,e&&e instanceof Date)if(!isNaN(e))this.fromDate(e);else throw new TypeError("CronDate: Invalid date passed to CronDate constructor");else if(e==null)this.fromDate(new Date);else if(e&&typeof e=="string")this.fromString(e);else if(e instanceof P)this.fromCronDate(e);else throw new TypeError("CronDate: Invalid type ("+typeof e+") passed to CronDate constructor")}getLastDayOfMonth(e,r){return r!==1?O[r]:new Date(Date.UTC(e,r+1,0)).getUTCDate()}getLastWeekday(e,r){let i=this.getLastDayOfMonth(e,r),n=new Date(Date.UTC(e,r,i)).getUTCDay();return n===0?i-2:n===6?i-1:i}getNearestWeekday(e,r,i){let n=this.getLastDayOfMonth(e,r);if(i>n)return-1;let s=new Date(Date.UTC(e,r,i)).getUTCDay();return s===0?i===n?i-2:i+1:s===6?i===1?i+2:i-1:i}isNthWeekdayOfMonth(e,r,i,n){let s=new Date(Date.UTC(e,r,i)).getUTCDay(),o=0;for(let a=1;a<=i;a++)new Date(Date.UTC(e,r,a)).getUTCDay()===s&&o++;if(n&63&&U[o-1]&n)return!0;if(n&32){let a=this.getLastDayOfMonth(e,r);for(let h=i+1;h<=a;h++)if(new Date(Date.UTC(e,r,h)).getUTCDay()===s)return!1;return!0}return!1}fromDate(e){if(this.tz!==void 0)if(typeof this.tz=="number")this.ms=e.getUTCMilliseconds(),this.second=e.getUTCSeconds(),this.minute=e.getUTCMinutes()+this.tz,this.hour=e.getUTCHours(),this.day=e.getUTCDate(),this.month=e.getUTCMonth(),this.year=e.getUTCFullYear(),this.apply();else try{let r=T(e,this.tz);this.ms=e.getMilliseconds(),this.second=r.s,this.minute=r.i,this.hour=r.h,this.day=r.d,this.month=r.m-1,this.year=r.y}catch(r){let i=r instanceof Error?r.message:String(r);throw new TypeError(`CronDate: Failed to convert date to timezone '${this.tz}'. This may happen with invalid timezone names or dates. Original error: ${i}`)}else this.ms=e.getMilliseconds(),this.second=e.getSeconds(),this.minute=e.getMinutes(),this.hour=e.getHours(),this.day=e.getDate(),this.month=e.getMonth(),this.year=e.getFullYear()}fromCronDate(e){this.tz=e.tz,this.year=e.year,this.month=e.month,this.day=e.day,this.hour=e.hour,this.minute=e.minute,this.second=e.second,this.ms=e.ms}apply(){if(this.month>11||this.month<0||this.day>O[this.month]||this.day<1||this.hour>59||this.minute>59||this.second>59||this.hour<0||this.minute<0||this.second<0){let e=new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms));return this.ms=e.getUTCMilliseconds(),this.second=e.getUTCSeconds(),this.minute=e.getUTCMinutes(),this.hour=e.getUTCHours(),this.day=e.getUTCDate(),this.month=e.getUTCMonth(),this.year=e.getUTCFullYear(),!0}else return!1}fromString(e){if(typeof this.tz=="number"){let r=R(e);this.ms=r.getUTCMilliseconds(),this.second=r.getUTCSeconds(),this.minute=r.getUTCMinutes(),this.hour=r.getUTCHours(),this.day=r.getUTCDate(),this.month=r.getUTCMonth(),this.year=r.getUTCFullYear(),this.apply()}else return this.fromDate(R(e,this.tz))}findNext(e,r,i,n){return this._findMatch(e,r,i,n,1)}_findMatch(e,r,i,n,s){let o=this[r],a;i.lastDayOfMonth&&(a=this.getLastDayOfMonth(this.year,this.month));let h=!i.starDOW&&r=="day"?new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay():void 0,l=this[r]+n,p=s===1?u=>u<i[r].length:u=>u>=0;for(let u=l;p(u);u+=s){let f=i[r][u];if(r==="day"&&!f){for(let c=0;c<i.nearestWeekdays.length;c++)if(i.nearestWeekdays[c]){let N=this.getNearestWeekday(this.year,this.month,c-n);if(N===-1)continue;if(N===u-n){f=1;break}}}if(r==="day"&&i.lastWeekday){let c=this.getLastWeekday(this.year,this.month);u-n===c&&(f=1)}if(r==="day"&&i.lastDayOfMonth&&u-n==a&&(f=1),r==="day"&&!i.starDOW){let c=i.dayOfWeek[(h+(u-n-1))%7];if(c&&c&63)c=this.isNthWeekdayOfMonth(this.year,this.month,u-n,c)?1:0;else if(c)throw new Error(`CronDate: Invalid value for dayOfWeek encountered. ${c}`);i.useAndLogic?f=f&&c:!e.domAndDow&&!i.starDOM?f=f||c:f=f&&c}if(f)return this[r]=u-n,o!==this[r]?2:1}return 3}recurse(e,r,i){if(i===0&&!e.starYear){if(this.year>=0&&this.year<e.year.length&&e.year[this.year]===0){let s=-1;for(let o=this.year+1;o<e.year.length&&o<1e4;o++)if(e.year[o]===1){s=o;break}if(s===-1)return null;this.year=s,this.month=0,this.day=1,this.hour=0,this.minute=0,this.second=0,this.ms=0}if(this.year>=1e4)return null}let n=this.findNext(r,d[i][0],e,d[i][2]);if(n>1){let s=i+1;for(;s<d.length;)this[d[s][0]]=-d[s][2],s++;if(n===3){if(this[d[i][1]]++,this[d[i][0]]=-d[i][2],this.apply(),i===0&&!e.starYear){for(;this.year>=0&&this.year<e.year.length&&e.year[this.year]===0&&this.year<1e4;)this.year++;if(this.year>=1e4||this.year>=e.year.length)return null}return this.recurse(e,r,0)}else if(this.apply())return this.recurse(e,r,i-1)}return i+=1,i>=d.length?this:(e.starYear?this.year>=3e3:this.year>=1e4)?null:this.recurse(e,r,i)}increment(e,r,i){return this.second+=r.interval!==void 0&&r.interval>1&&i?r.interval:1,this.ms=0,this.apply(),this.recurse(e,r,0)}decrement(e,r){return this.second-=r.interval!==void 0&&r.interval>1?r.interval:1,this.ms=0,this.apply(),this.recurseBackward(e,r,0,0)}recurseBackward(e,r,i,n=0){if(n>1e4)return null;if(i===0&&!e.starYear){if(this.year>=0&&this.year<e.year.length&&e.year[this.year]===0){let o=-1;for(let a=this.year-1;a>=0;a--)if(e.year[a]===1){o=a;break}if(o===-1)return null;this.year=o,this.month=11,this.day=31,this.hour=23,this.minute=59,this.second=59,this.ms=0}if(this.year<0)return null}let s=this.findPrevious(r,d[i][0],e,d[i][2]);if(s>1){let o=i+1;for(;o<d.length;){let a=d[o][0],h=d[o][2],l=this.getMaxPatternValue(a,e,h);this[a]=l,o++}if(s===3){if(this[d[i][1]]--,i===0){let p=this.getLastDayOfMonth(this.year,this.month);this.day>p&&(this.day=p)}if(i===1)if(this.day<=0)this.day=1;else{let p=this.year,u=this.month;for(;u<0;)u+=12,p--;for(;u>11;)u-=12,p++;let f=u!==1?O[u]:new Date(Date.UTC(p,u+1,0)).getUTCDate();this.day>f&&(this.day=f)}this.apply();let a=d[i][0],h=d[i][2],l=this.getMaxPatternValue(a,e,h);if(a==="day"){let p=this.getLastDayOfMonth(this.year,this.month);this[a]=Math.min(l,p)}else this[a]=l;if(this.apply(),i===0){let p=d[1][2],u=this.getMaxPatternValue("day",e,p),f=this.getLastDayOfMonth(this.year,this.month),c=Math.min(u,f);c!==this.day&&(this.day=c,this.hour=this.getMaxPatternValue("hour",e,d[2][2]),this.minute=this.getMaxPatternValue("minute",e,d[3][2]),this.second=this.getMaxPatternValue("second",e,d[4][2]))}if(i===0&&!e.starYear){for(;this.year>=0&&this.year<e.year.length&&e.year[this.year]===0;)this.year--;if(this.year<0)return null}return this.recurseBackward(e,r,0,n+1)}else if(this.apply())return this.recurseBackward(e,r,i-1,n+1)}return i+=1,i>=d.length?this:this.year<0?null:this.recurseBackward(e,r,i,n+1)}getMaxPatternValue(e,r,i){if(e==="day"&&r.lastDayOfMonth)return this.getLastDayOfMonth(this.year,this.month);if(e==="day"&&!r.starDOW)return this.getLastDayOfMonth(this.year,this.month);for(let n=r[e].length-1;n>=0;n--)if(r[e][n])return n-i;return r[e].length-1-i}findPrevious(e,r,i,n){return this._findMatch(e,r,i,n,-1)}getDate(e){return e||this.tz===void 0?new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms):typeof this.tz=="number"?new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute-this.tz,this.second,this.ms)):M(_(this.year,this.month+1,this.day,this.hour,this.minute,this.second,this.tz),!1)}getTime(){return this.getDate(!1).getTime()}match(e,r){if(!e.starYear&&(this.year<0||this.year>=e.year.length||e.year[this.year]===0))return!1;for(let i=0;i<d.length;i++){let n=d[i][0],s=d[i][2],o=this[n];if(o+s<0||o+s>=e[n].length)return!1;let a=e[n][o+s];if(n==="day"){if(!a){for(let h=0;h<e.nearestWeekdays.length;h++)if(e.nearestWeekdays[h]){let l=this.getNearestWeekday(this.year,this.month,h-s);if(l!==-1&&l===o){a=1;break}}}if(e.lastWeekday){let h=this.getLastWeekday(this.year,this.month);o===h&&(a=1)}if(e.lastDayOfMonth){let h=this.getLastDayOfMonth(this.year,this.month);o===h&&(a=1)}if(!e.starDOW){let h=new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay(),l=e.dayOfWeek[(h+(o-1))%7];l&&l&63&&(l=this.isNthWeekdayOfMonth(this.year,this.month,o,l)?1:0),e.useAndLogic?a=a&&l:!r.domAndDow&&!e.starDOM?a=a||l:a=a&&l}}if(!a)return!1}return!0}};function L(t){if(t===void 0&&(t={}),delete t.name,t.legacyMode!==void 0&&t.domAndDow===void 0?t.domAndDow=!t.legacyMode:t.domAndDow===void 0&&(t.domAndDow=!1),t.legacyMode=!t.domAndDow,t.paused=t.paused===void 0?!1:t.paused,t.maxRuns=t.maxRuns===void 0?1/0:t.maxRuns,t.catch=t.catch===void 0?!1:t.catch,t.interval=t.interval===void 0?0:parseInt(t.interval.toString(),10),t.utcOffset=t.utcOffset===void 0?void 0:parseInt(t.utcOffset.toString(),10),t.dayOffset=t.dayOffset===void 0?0:parseInt(t.dayOffset.toString(),10),t.unref=t.unref===void 0?!1:t.unref,t.mode=t.mode===void 0?"auto":t.mode,t.alternativeWeekdays=t.alternativeWeekdays===void 0?!1:t.alternativeWeekdays,t.sloppyRanges=t.sloppyRanges===void 0?!1:t.sloppyRanges,!["auto","5-part","6-part","7-part","5-or-6-parts","6-or-7-parts"].includes(t.mode))throw new Error("CronOptions: mode must be one of 'auto', '5-part', '6-part', '7-part', '5-or-6-parts', or '6-or-7-parts'.");if(t.startAt&&(t.startAt=new y(t.startAt,t.timezone)),t.stopAt&&(t.stopAt=new y(t.stopAt,t.timezone)),t.interval!==null){if(isNaN(t.interval))throw new Error("CronOptions: Supplied value for interval is not a number");if(t.interval<0)throw new Error("CronOptions: Supplied value for interval can not be negative")}if(t.utcOffset!==void 0){if(isNaN(t.utcOffset))throw new Error("CronOptions: Invalid value passed for utcOffset, should be number representing minutes offset from UTC.");if(t.utcOffset<-870||t.utcOffset>870)throw new Error("CronOptions: utcOffset out of bounds.");if(t.utcOffset!==void 0&&t.timezone)throw new Error("CronOptions: Combining 'utcOffset' with 'timezone' is not allowed.")}if(t.unref!==!0&&t.unref!==!1)throw new Error("CronOptions: Unref should be either true, false or undefined(false).");if(t.dayOffset!==void 0&&t.dayOffset!==0&&isNaN(t.dayOffset))throw new Error("CronOptions: Invalid value passed for dayOffset, should be a number representing days to offset.");return t}function v(t){return Object.prototype.toString.call(t)==="[object Function]"||typeof t=="function"||t instanceof Function}function F(t){return v(t)}function $(t){typeof Deno<"u"&&typeof Deno.unrefTimer<"u"?Deno.unrefTimer(t):t&&typeof t.unref<"u"&&t.unref()}var E=30*1e3,C=[],x=class{name;options;_states;fn;getTz(){return this.options.timezone||this.options.utcOffset}applyDayOffset(t){if(this.options.dayOffset!==void 0&&this.options.dayOffset!==0){let e=this.options.dayOffset*24*60*60*1e3;return new Date(t.getTime()+e)}return t}constructor(t,e,r){let i,n;if(v(e))n=e;else if(typeof e=="object")i=e;else if(e!==void 0)throw new Error("Cron: Invalid argument passed for optionsIn. Should be one of function, or object (options).");if(v(r))n=r;else if(typeof r=="object")i=r;else if(r!==void 0)throw new Error("Cron: Invalid argument passed for funcIn. Should be one of function, or object (options).");if(this.name=i?.name,this.options=L(i),this._states={kill:!1,blocking:!1,previousRun:void 0,currentRun:void 0,once:void 0,currentTimeout:void 0,maxRuns:i?i.maxRuns:void 0,paused:i?i.paused:!1,pattern:new W("* * * * *",void 0,{mode:"auto"})},t&&(t instanceof Date||typeof t=="string"&&t.indexOf(":")>0)?this._states.once=new y(t,this.getTz()):this._states.pattern=new W(t,this.options.timezone,{mode:this.options.mode,alternativeWeekdays:this.options.alternativeWeekdays,sloppyRanges:this.options.sloppyRanges}),this.name){if(C.find(s=>s.name===this.name))throw new Error("Cron: Tried to initialize new named job '"+this.name+"', but name already taken.");C.push(this)}return n!==void 0&&F(n)&&(this.fn=n,this.schedule()),this}nextRun(t){let e=this._next(t);return e?this.applyDayOffset(e.getDate(!1)):null}nextRuns(t,e){this._states.maxRuns!==void 0&&t>this._states.maxRuns&&(t=this._states.maxRuns);let r=e||this._states.currentRun||void 0;return this._enumerateRuns(t,r,"next")}previousRuns(t,e){return this._enumerateRuns(t,e||void 0,"previous")}_enumerateRuns(t,e,r){let i=[],n=e?new y(e,this.getTz()):null,s=r==="next"?this._next:this._previous;for(;t--;){let o=s.call(this,n);if(!o)break;let a=o.getDate(!1);i.push(this.applyDayOffset(a)),n=o}return i}match(t){if(this._states.once){let r=new y(t,this.getTz());r.ms=0;let i=new y(this._states.once,this.getTz());return i.ms=0,r.getTime()===i.getTime()}let e=new y(t,this.getTz());return e.ms=0,e.match(this._states.pattern,this.options)}getPattern(){if(!this._states.once)return this._states.pattern?this._states.pattern.pattern:void 0}getOnce(){return this._states.once?this._states.once.getDate():null}isRunning(){let t=this.nextRun(this._states.currentRun),e=!this._states.paused,r=this.fn!==void 0,i=!this._states.kill;return e&&r&&i&&t!==null}isStopped(){return this._states.kill}isBusy(){return this._states.blocking}currentRun(){return this._states.currentRun?this._states.currentRun.getDate():null}previousRun(){return this._states.previousRun?this._states.previousRun.getDate():null}msToNext(t){let e=this._next(t);return e?t instanceof y||t instanceof Date?e.getTime()-t.getTime():e.getTime()-new y(t).getTime():null}stop(){this._states.kill=!0,this._states.currentTimeout&&clearTimeout(this._states.currentTimeout);let t=C.indexOf(this);t>=0&&C.splice(t,1)}pause(){return this._states.paused=!0,!this._states.kill}resume(){return this._states.paused=!1,!this._states.kill}schedule(t){if(t&&this.fn)throw new Error("Cron: It is not allowed to schedule two functions using the same Croner instance.");t&&(this.fn=t);let e=this.msToNext(),r=this.nextRun(this._states.currentRun);return e==null||isNaN(e)||r===null?this:(e>E&&(e=E),this._states.currentTimeout=setTimeout(()=>this._checkTrigger(r),e),this._states.currentTimeout&&this.options.unref&&$(this._states.currentTimeout),this)}async _trigger(t){this._states.blocking=!0,this._states.currentRun=new y(void 0,this.getTz());try{if(this.options.catch)try{this.fn!==void 0&&await this.fn(this,this.options.context)}catch(e){if(v(this.options.catch))try{this.options.catch(e,this)}catch{}}else this.fn!==void 0&&await this.fn(this,this.options.context)}finally{this._states.previousRun=new y(t,this.getTz()),this._states.blocking=!1}}async trigger(){await this._trigger()}runsLeft(){return this._states.maxRuns}_checkTrigger(t){let e=new Date,r=!this._states.paused&&e.getTime()>=t.getTime(),i=this._states.blocking&&this.options.protect;r&&!i?(this._states.maxRuns!==void 0&&this._states.maxRuns--,this._trigger()):r&&i&&v(this.options.protect)&&setTimeout(()=>this.options.protect(this),0),this.schedule()}_next(t){let e=!!(t||this._states.currentRun),r=!1;!t&&this.options.startAt&&this.options.interval&&([t,e]=this._calculatePreviousRun(t,e),r=!t),t=new y(t,this.getTz()),this.options.startAt&&t&&t.getTime()<this.options.startAt.getTime()&&(t=this.options.startAt);let i=this._states.once||new y(t,this.getTz());return!r&&i!==this._states.once&&(i=i.increment(this._states.pattern,this.options,e)),this._states.once&&this._states.once.getTime()<=t.getTime()||i===null||this._states.maxRuns!==void 0&&this._states.maxRuns<=0||this._states.kill||this.options.stopAt&&i.getTime()>=this.options.stopAt.getTime()?null:i}_previous(t){let e=new y(t,this.getTz());this.options.stopAt&&e.getTime()>this.options.stopAt.getTime()&&(e=this.options.stopAt);let r=new y(e,this.getTz());return this._states.once?this._states.once.getTime()<e.getTime()?this._states.once:null:(r=r.decrement(this._states.pattern,this.options),r===null||this.options.startAt&&r.getTime()<this.options.startAt.getTime()?null:r)}_calculatePreviousRun(t,e){let r=new y(void 0,this.getTz()),i=t;if(this.options.startAt.getTime()<=r.getTime()){i=this.options.startAt;let n=i.getTime()+this.options.interval*1e3;for(;n<=r.getTime();)i=new y(i,this.getTz()).increment(this._states.pattern,this.options,!0),n=i.getTime()+this.options.interval*1e3;e=!0}return i===null&&(i=void 0),[i,e]}};function Y(t,e,r,i){let n=i?{timezone:i}:{};return new x("* * * * * *",()=>{let o=new Date;if(!t.some(l=>new x(l,n).nextRun(o)===null))return;e.some(l=>new x(l,n).nextRun(o)===null)||r()})}var j=0;function q(){return++j}var A,V=b.child({section:"Utils"}),m,D=()=>{if(!m){let t=g();if(A&&typeof import.meta<"u"&&import.meta.url)try{m=A(import.meta.url)}catch{}!m&&typeof globalThis.require=="function"&&(m=globalThis.require),m||(m=e=>{throw new Error(`require("${e}") is not available in this runtime (${t}).`)})}return m},st={run:()=>V.info(`Running on ${g()}`)},B=t=>{try{if(typeof Deno<"u"&&Deno.env)return Deno.env.get(t)}catch{}try{if(typeof process<"u"&&process.env)return process.env[t]}catch{}},at=()=>{try{if(typeof Deno<"u"&&Deno.env)return Deno.env.toObject()}catch{}try{if(typeof process<"u"&&process.env)return{...process.env}}catch{}return{}},ot=t=>{if(typeof Deno<"u"&&Deno.readTextFileSync)return Deno.readTextFileSync(t);let{readFileSync:e}=D()("node:fs");return e(t,"utf8")},ht=t=>{if(typeof Deno<"u"&&Deno.statSync)try{return Deno.statSync(t),!0}catch{return!1}let{existsSync:e}=D()("node:fs");return e(t)},lt=()=>typeof Deno<"u"&&Deno.cwd?Deno.cwd():typeof process<"u"&&process.cwd?process.cwd():"/",ut=()=>{if(g()==="deno")return new URL(".",import.meta.url).pathname;if(typeof import.meta<"u"&&import.meta.url){let e=new URL(import.meta.url);if(e.protocol==="file:"){let{dirname:i}=D()("node:path"),{fileURLToPath:n}=D()("node:url");return i(n(import.meta.url))}let r=e.pathname;return r.substring(0,r.lastIndexOf("/"))}return""},dt=()=>{let t=g(),e;return t==="deno"?e=Deno.build.os:e=process.platform,e==="win32"||e==="windows"?"windows":"linux"},ft=()=>B("NODE_ENV")?.toLowerCase()==="production"?"production":"development",pt=()=>g()==="deno"?Deno.env.get("TMPDIR")||Deno.env.get("TEMP")||"/tmp":D()("node:os").tmpdir(),ct=t=>new Promise(e=>setTimeout(e,t));export{b as a,Y as b,q as c,D as d,st as e,B as f,at as g,ot as h,ht as i,lt as j,ut as k,dt as l,ft as m,pt as n,ct as o};
@@ -1,2 +1,2 @@
1
- import{a as h,c as O,d as S,g as A,h as b,i as C,j,k as L,l as z,m as P}from"./chunk-QPTGW2LL.js";import{a as T}from"./chunk-DGDAVQYC.js";var d={defaultMerge:Symbol("deepmerge-ts: default merge"),skip:Symbol("deepmerge-ts: skip")},Pe={defaultMerge:d.defaultMerge};function Q(t,e){return e}function G(t,e){return t.filter(r=>r!==void 0)}var D;(function(t){t[t.NOT=0]="NOT",t[t.RECORD=1]="RECORD",t[t.ARRAY=2]="ARRAY",t[t.SET=3]="SET",t[t.MAP=4]="MAP",t[t.OTHER=5]="OTHER"})(D||(D={}));function q(t){return typeof t!="object"||t===null?0:Array.isArray(t)?2:te(t)?1:t instanceof Set?3:t instanceof Map?4:5}function Z(t){let e=new Set;for(let r of t)for(let n of[...Object.keys(r),...Object.getOwnPropertySymbols(r)])e.add(n);return e}function ee(t,e){return typeof t=="object"&&Object.prototype.propertyIsEnumerable.call(t,e)}function N(t){let e=0,r=t[0]?.[Symbol.iterator]();return{[Symbol.iterator](){return{next(){do{if(r===void 0)return{done:!0,value:void 0};let n=r.next();if(n.done===!0){e+=1,r=t[e]?.[Symbol.iterator]();continue}return{done:!1,value:n.value}}while(!0)}}}}}var U=["[object Object]","[object Module]"];function te(t){if(!U.includes(Object.prototype.toString.call(t)))return!1;let{constructor:e}=t;if(e===void 0)return!0;let r=e.prototype;return!(r===null||typeof r!="object"||!U.includes(Object.prototype.toString.call(r))||!r.hasOwnProperty("isPrototypeOf"))}function re(t,e,r){let n={};for(let i of Z(t)){let o=[];for(let a of t)ee(a,i)&&o.push(a[i]);if(o.length===0)continue;let s=e.metaDataUpdater(r,{key:i,parents:t}),c=W(o,e,s);c!==d.skip&&(i==="__proto__"?Object.defineProperty(n,i,{value:c,configurable:!0,enumerable:!0,writable:!0}):n[i]=c)}return n}function ne(t){return t.flat()}function ie(t){return new Set(N(t))}function oe(t){return new Map(N(t))}function se(t){return t.at(-1)}var k={mergeRecords:re,mergeArrays:ne,mergeSets:ie,mergeMaps:oe,mergeOthers:se};function M(t,e){let r=ae(t,n);function n(...i){return W(i,r,e)}return n}function ae(t,e){return{defaultMergeFunctions:k,mergeFunctions:{...k,...Object.fromEntries(Object.entries(t).filter(([r,n])=>Object.hasOwn(k,r)).map(([r,n])=>n===!1?[r,k.mergeOthers]:[r,n]))},metaDataUpdater:t.metaDataUpdater??Q,deepmerge:e,useImplicitDefaultMerging:t.enableImplicitDefaultMerging??!1,filterValues:t.filterValues===!1?void 0:t.filterValues??G,actions:d}}function W(t,e,r){let n=e.filterValues?.(t,r)??t;if(n.length===0)return;if(n.length===1)return _(n,e,r);let i=q(n[0]);if(i!==0&&i!==5){for(let o=1;o<n.length;o++)if(q(n[o])!==i)return _(n,e,r)}switch(i){case 1:return ce(n,e,r);case 2:return ue(n,e,r);case 3:return fe(n,e,r);case 4:return le(n,e,r);default:return _(n,e,r)}}function ce(t,e,r){let n=e.mergeFunctions.mergeRecords(t,e,r);return n===d.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeRecords!==e.defaultMergeFunctions.mergeRecords?e.defaultMergeFunctions.mergeRecords(t,e,r):n}function ue(t,e,r){let n=e.mergeFunctions.mergeArrays(t,e,r);return n===d.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeArrays!==e.defaultMergeFunctions.mergeArrays?e.defaultMergeFunctions.mergeArrays(t):n}function fe(t,e,r){let n=e.mergeFunctions.mergeSets(t,e,r);return n===d.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeSets!==e.defaultMergeFunctions.mergeSets?e.defaultMergeFunctions.mergeSets(t):n}function le(t,e,r){let n=e.mergeFunctions.mergeMaps(t,e,r);return n===d.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeMaps!==e.defaultMergeFunctions.mergeMaps?e.defaultMergeFunctions.mergeMaps(t):n}function _(t,e,r){let n=e.mergeFunctions.mergeOthers(t,e,r);return n===d.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeOthers!==e.defaultMergeFunctions.mergeOthers?e.defaultMergeFunctions.mergeOthers(t):n}import Re,{HTTPError as J}from"ky";import{serializeError as H}from"serialize-error";import{EventEmitter as de}from"events";import{serializeError as me}from"serialize-error";var I={markets:{chromeVersion:"146",nasdaq:{statusEndpoint:"https://api.nasdaq.com/api/market-info",monitor:{liveIntervalSec:10,closedIntervalSec:3600,warnIntervalSec:60},symbols:{nasdaqListedUrl:"https://www.nasdaqtrader.com/dynamic/symdir/nasdaqlisted.txt",otherListedUrl:"https://www.nasdaqtrader.com/dynamic/symdir/otherlisted.txt",initialBackoffMs:1e3,maxRetryBackoffMs:36e5,maxFetchRetries:10},quotes:{concurrencyLimit:5}}},retrieve:{timeout:5e4,retry:{limit:5,backoffLimit:3e3}}};async function V(t){let{getEnv:e}=await import("./utils-7K7MHQMD.js"),r=(await import("crypto")).default,n=e("CORELIB_AES_PASSWORD");if(!n)throw new Error("Decryption failed: CORELIB_AES_PASSWORD environment variable is not set.");let i=t.split(`
2
- `).map(u=>u.trim()).filter(Boolean);if(i.length<2)throw new Error("Invalid .enc file format. Expected IV on line 1 and Ciphertext on line 2.");let o=Buffer.from(i[0],"base64"),s=Buffer.from(i[1],"base64"),c=Buffer.from(n,"hex"),a=r.createDecipheriv("aes-256-cbc",c,o),f=a.update(s);return f=Buffer.concat([f,a.final()]),JSON.parse(f.toString("utf8"))}var E=M({mergeArrays:!1}),pe=t=>!t.split(/[.-]/).some(e=>e==="__proto__"||e==="constructor"||e==="prototype");function y(t,e){for(let r of Object.keys(t))r in e||delete t[r];for(let r of Object.keys(e)){let n=e[r];n&&typeof n=="object"&&!Array.isArray(n)?((!t[r]||typeof t[r]!="object"||Array.isArray(t[r]))&&(t[r]={}),y(t[r],n)):t[r]=n}}function he(t,e,r,n){let i=t;for(;;){if(r(e.join(i,"pnpm-workspace.yaml")))return e.basename(i);let o=e.join(i,"package.json");if(r(o))try{if(JSON.parse(n(o)).workspaces)return e.basename(i)}catch{}let s=e.dirname(i);if(s===i)break;i=s}return e.basename(t)}var p=class t extends de{static instance;_config={};_defaultsPath;static _logger=h.child({section:"ConfigManager"});_initPromise=null;_isInitialized=!1;_mutationChain=Promise.resolve();_inFlightTempConfig=null;static _prematureWarnEmitted=!1;constructor(){super();let e=L(),r=e;try{let{join:n}=S()("node:path");r=n(e,"ConfigManager.json")}catch{r=`${e}/ConfigManager.json`}this._defaultsPath=r,y(this._config,I),globalThis.sysconfig=this._config}static getInstance(){return t.instance||(t.instance=new t),t.instance}get(e){!this._isInitialized&&!t._prematureWarnEmitted&&P()!=="production"&&(t._prematureWarnEmitted=!0,t._logger.warn(`ConfigManager.get("${e}") called before initialize() resolved; returning seeded default`));let r=e.split("."),n=this._config;for(let i of r){if(n===null||typeof n!="object"||!(i in n))return;n=n[i]}return n}static get(e){return t.getInstance().get(e)}initialize(e){return this._initPromise?this._initPromise:(this._initPromise=this._enqueue(()=>this.runInitSequence(e)).then(()=>{this._isInitialized=!0,this._initPromise=null},r=>{throw this._initPromise=null,r}),this._initPromise)}async runInitSequence(e){t._logger.trace("initialize: start");let r=e??(typeof process<"u"&&Array.isArray(process.argv)?process.argv.slice(2):[]),n,i={};for(let s=0;s<r.length;s++){let c=r[s];if(c==="-C"||c==="--config"){s+1<r.length&&!r[s+1].startsWith("-")&&(n=r[++s]);continue}if(c.startsWith("--config=")){n=c.slice(9);continue}if(!c.startsWith("--"))continue;let a=c.slice(2);if(a===""||a.startsWith("="))continue;let f,u=a.indexOf("=");u>-1?(f=a.slice(u+1),a=a.slice(0,u)):s+1<r.length&&!r[s+1].startsWith("-")?f=r[++s]:f=!0,i[a]=f}t._logger.trace("initialize: resolved",{hasConfigPath:n!=null,overrideCount:Object.keys(i).length});let o={};this._inFlightTempConfig=o;try{if(this.loadDefaults(o),n){let s=await this.fetchExternalConfig(n);this.processHierarchy(s,o)}this.applyEnvOverrides(o),this.applyCliOverrides(i,o),y(this._config,o),t._logger.trace("initialize: committed",{keys:Object.keys(this._config??{}).length}),this.emit("initialized",this._config)}finally{this._inFlightTempConfig=null}}_enqueue(e){let r=this._mutationChain.then(e,e);return this._mutationChain=r.then(()=>{},()=>{}),r}getConfig(){return this._config}get isInitialized(){return this._isInitialized}whenReady(){return this._isInitialized?Promise.resolve():this._initPromise??Promise.resolve()}loadExternalConfig(e){return this._enqueue(()=>this.loadExternalConfigInner(e))}async loadExternalConfigInner(e){try{let r=await this.fetchExternalConfig(e),n=structuredClone(this._config);this._inFlightTempConfig=n;try{this.processHierarchy(r,n),this.applyEnvOverrides(n),y(this._config,n),this.emit("configLoaded",this._config)}finally{this._inFlightTempConfig=null}}catch(r){throw this.logError(`Failed to load external config dynamically from ${e}`,r),r}}loadDefaults(e){let r={...I};if(C(this._defaultsPath))try{r=JSON.parse(b(this._defaultsPath))}catch(n){this.logError("Failed to load defaults",n)}y(e,r)}async fetchExternalConfig(e){t._logger.trace("external config",{source:e.startsWith("http")?"http":"file"});let r;if(e.startsWith("http")){let{endPoint:o}=await import("./RequestUnlimited-QCOTVU4G.js"),s=await o(e);if(s.status==="error")throw new Error("Failed to fetch external config");r=s.value.body}else r=b(e);let n=e.toLowerCase();if(n.endsWith(".enc")){t._logger.trace("decrypting .enc config");let o=this.validateConfigObject(await V(r),e);return t._logger.trace("decryption ok"),o}let i=await import("./dist-GZV6T6K3.js");return n.endsWith(".yaml")||n.endsWith(".yml")?this.validateConfigObject(i.parseYAML(r),e):n.endsWith(".toml")?this.validateConfigObject(i.parseTOML(r),e):n.endsWith(".json5")?this.validateConfigObject(i.parseJSON5(r),e):n.endsWith(".jsonc")?this.validateConfigObject(i.parseJSONC(r),e):n.endsWith(".ini")?this.validateConfigObject(i.parseINI(r),e):this.validateConfigObject(i.parseJSON(r),e)}validateConfigObject(e,r){if(e===null||typeof e!="object"||Array.isArray(e))throw new Error(`Config from "${r}" must be a JSON object, got ${Array.isArray(e)?"array":typeof e}`);return e}processHierarchy(e,r){if(!e)return;let n=this.getAppName(),i=z(),o=P(),s=e.commonAll||{},c=Object.keys(e).find(u=>u.toLowerCase()===n.toLowerCase()),a=c?e[c]:null;if(a){a.common&&(s=E(s,a.common));let u=a[i];if(u){let m=u[o];m&&(s=E(s,m))}}let f=E(r,s);y(r,f)}applyEnvOverrides(e){let r="CORELIB_",n=A();Object.keys(n).forEach(i=>{if(i.startsWith(r)){let o=i.slice(r.length).toLowerCase().replace(/_/g,".");t._logger.trace("env override",{key:o});let s=this.parseValue(n[i]);this.setPath(e,o,s)}})}applyCliOverrides(e,r){Object.keys(e).forEach(n=>{if(n==="config")return;if(!pe(n)){t._logger.warn(`Dropped unsafe CLI override key "${n}" (prototype-pollution guard)`);return}let i=n.replace(/-/g,".");t._logger.trace("cli override",{key:i});let o=this.parseValue(e[n]);this.setPath(r,i,o)})}updateValue(e,r){this.setPath(this._config,e,r),this._inFlightTempConfig!==null&&this.setPath(this._inFlightTempConfig,e,r),this.emit("change",{path:e,value:r}),this.emit(`change:${e}`,r)}setPath(e,r,n){let i=r.split("."),o=e;for(;i.length>1;){let s=i.shift();(!(s in o)||typeof o[s]!="object"||o[s]===null)&&(o[s]={}),o=o[s]}o[i[0]]=n}parseValue(e){if(typeof e!="string")return e;if(e.startsWith("[")&&e.endsWith("]")||e.startsWith("{")&&e.endsWith("}"))try{return JSON.parse(e)}catch(r){return this.logError("Failed to parse complex JSON from CLI/Env flag",r),e}return e.toLowerCase()==="true"?!0:e.toLowerCase()==="false"?!1:!Number.isNaN(Number(e))&&e.trim()!==""?Number(e):e}getAppName(){try{let e=T();if(e==="node"||e==="bun"||typeof import.meta<"u"&&import.meta.url&&import.meta.url.startsWith("file:")){let r=S()("node:path");return he(j(),r,n=>C(n),n=>b(n))}return"edge-app"}catch(e){return this.logError("Failed to get app name from cwd. Falling back to default-app",e),"default-app"}}logError(e,r){let n=r?me(r):void 0;t._logger.error(e,{error:n})}toJsonString(){return JSON.stringify(this._config)}toBuffer(){return Buffer.from(this.toJsonString())}__resetForTests(){this._initPromise=null,this._isInitialized=!1,this._inFlightTempConfig=null,this._mutationChain=Promise.resolve(),t._prematureWarnEmitted=!1}};import{serializeError as ye}from"serialize-error";var we=h.child({section:"RequestResponseSerialize"});async function F(t){if(!t)return null;let e={};t.headers.forEach((i,o)=>{e[o.toLowerCase()]=i});let r,n=t.headers.get("content-type")||"";try{if(t.bodyUsed)r="[Body already consumed]";else{let i=await t.clone().text();if(n.includes("application/json"))try{r=JSON.parse(i)}catch{r=i}else r=i}}catch(i){we.warn("Failed to read response body",{status:t.status,url:t.url,bodyUsed:t.bodyUsed,error:ye(i)}),r="[Error reading body]"}return{ok:t.ok,status:t.status,statusText:t.statusText,headers:e,url:t.url,redirected:t.redirected,type:t.type,body:r}}var l=h.child({section:"RequestUnlimited"}),be=M({mergeArrays:!1}),ke=10,Me=1e3,ve=12e4,Oe=6e4;function x(t,e,r,n){return typeof t!="number"||!Number.isFinite(t)?n:Math.min(r,Math.max(e,t))}function $(t){try{let e=t instanceof URL?t:new URL(t instanceof Request?t.url:t);return`${e.origin}${e.pathname}`}catch{return"[unparseable url]"}}function Se(t,e){let r=Math.min(e,300*2**(t-1)),n=Math.round(Math.random()*r);return l.trace("retry delay computed",{attempt:t,base:r,cap:e,delayMs:n}),n}var R={timeout:5e4,throwHttpErrors:!0,retry:{limit:5,methods:["get","post","put","delete","patch"],backoffLimit:3e3,shouldRetry:({error:t,retryCount:e})=>{if(t instanceof J&&t.response){let r=t.response.status;if(r===429&&e<=5)return l.trace("retry decision",{status:r,willRetry:!0}),!0;if(r>=400&&r<500)return l.trace("retry decision: skip",{status:r,willRetry:!1}),!1;let n=r>=500;return l.trace(n?"retry decision":"retry decision: skip",{status:r,willRetry:n}),n}return l.trace("retry decision",{willRetry:!0}),!0}},method:"get",headers:{"content-type":"application/json",accept:"application/json"},hooks:{beforeRetry:[]}};function B(t){let e={};for(let r in t)Object.hasOwn(t,r)&&t[r]!==void 0&&(e[r.toLowerCase()]=t[r]);return e}async function K(t,e={}){let r=B(R.headers||{}),n=e.headers?B(e.headers):{},{headers:i,hooks:o,...s}=e,c=x(p.get("retrieve.timeout"),Me,ve,5e4),a=x(p.get("retrieve.retry.limit"),0,ke,5),f=x(p.get("retrieve.retry.backoffLimit"),0,Oe,3e3),u=O(),m=performance.now();l.trace("endPoint: request",{cid:u,url:$(t),timeout:c,retryLimit:a,backoffLimit:f});let Y=R.retry,X=be(R,{timeout:c,retry:{...Y,limit:a,backoffLimit:f,delay:g=>Se(g,f)}},s,{headers:{...r,...n},hooks:{beforeRetry:[...R.hooks?.beforeRetry||[],async({retryCount:g})=>{l.trace("endPoint: retry",{cid:u,retryCount:g,durationMs:performance.now()-m})},...o?.beforeRetry||[]]}});try{let g=await Re(t,X),w=await F(g);return l.trace("endPoint: ok",{cid:u,durationMs:performance.now()-m,url:$(t),status:g.status}),{status:"success",value:w}}catch(g){if(g instanceof J||g.response){let v=await F(g.response);return l.trace("endPoint: error",{cid:u,durationMs:performance.now()-m,status:v?.status,errorMsg:"HTTP error"}),l.warn("HTTP Error",{cid:u,status:v?.status,url:t.toString()}),{status:"error",reason:v}}let w=H(g);return l.trace("endPoint: error",{cid:u,durationMs:performance.now()-m,errorMsg:w?.message??"internal/network error"}),l.error("Internal/Network Error",{cid:u,error:w}),{status:"error",reason:w}}}async function Ce(t,e={}){let r=O(),n=performance.now();l.trace("endPoints: batch",{cid:r,count:t.length});let i=t.map(a=>K(a,e)),s=(await Promise.allSettled(i)).map(a=>a.status==="fulfilled"?a.value:{status:"error",reason:H(a.reason)}),c=s.filter(a=>a.status==="success").length;return l.trace("endPoints: done",{cid:r,durationMs:performance.now()-n,ok:c,failed:s.length-c}),s}var Qe={defaults:R,endPoint:K,endPoints:Ce};export{ke as a,Me as b,ve as c,Oe as d,x as e,Se as f,R as g,K as h,Ce as i,Qe as j,p as k};
1
+ import{a as h,c as O,d as S,g as A,h as R,i as C,j,k as L,l as z,m as P}from"./chunk-BHGBRQZV.js";import{a as T}from"./chunk-ZMQIBLAC.js";var d={defaultMerge:Symbol("deepmerge-ts: default merge"),skip:Symbol("deepmerge-ts: skip")},Ce={defaultMerge:d.defaultMerge};function X(t,e){return e}function Q(t,e){return t.filter(r=>r!==void 0)}var D;(function(t){t[t.NOT=0]="NOT",t[t.RECORD=1]="RECORD",t[t.ARRAY=2]="ARRAY",t[t.SET=3]="SET",t[t.MAP=4]="MAP",t[t.OTHER=5]="OTHER"})(D||(D={}));function N(t){return typeof t!="object"||t===null?0:Array.isArray(t)?2:ee(t)?1:t instanceof Set?3:t instanceof Map?4:5}function G(t){let e=new Set;for(let r of t)for(let n of[...Object.keys(r),...Object.getOwnPropertySymbols(r)])e.add(n);return e}function Z(t,e){return typeof t=="object"&&Object.prototype.propertyIsEnumerable.call(t,e)}function q(t){let e=0,r=t[0]?.[Symbol.iterator]();return{[Symbol.iterator](){return{next(){do{if(r===void 0)return{done:!0,value:void 0};let n=r.next();if(n.done===!0){e+=1,r=t[e]?.[Symbol.iterator]();continue}return{done:!1,value:n.value}}while(!0)}}}}}var U=["[object Object]","[object Module]"];function ee(t){if(!U.includes(Object.prototype.toString.call(t)))return!1;let{constructor:e}=t;if(e===void 0)return!0;let r=e.prototype;return!(r===null||typeof r!="object"||!U.includes(Object.prototype.toString.call(r))||!r.hasOwnProperty("isPrototypeOf"))}function te(t,e,r){let n={};for(let i of G(t)){let o=[];for(let a of t)Z(a,i)&&o.push(a[i]);if(o.length===0)continue;let s=e.metaDataUpdater(r,{key:i,parents:t}),c=W(o,e,s);c!==d.skip&&(i==="__proto__"?Object.defineProperty(n,i,{value:c,configurable:!0,enumerable:!0,writable:!0}):n[i]=c)}return n}function re(t){return t.flat()}function ne(t){return new Set(q(t))}function ie(t){return new Map(q(t))}function oe(t){return t.at(-1)}var b={mergeRecords:te,mergeArrays:re,mergeSets:ne,mergeMaps:ie,mergeOthers:oe};function k(t,e){let r=se(t,n);function n(...i){return W(i,r,e)}return n}function se(t,e){return{defaultMergeFunctions:b,mergeFunctions:{...b,...Object.fromEntries(Object.entries(t).filter(([r,n])=>Object.hasOwn(b,r)).map(([r,n])=>n===!1?[r,b.mergeOthers]:[r,n]))},metaDataUpdater:t.metaDataUpdater??X,deepmerge:e,useImplicitDefaultMerging:t.enableImplicitDefaultMerging??!1,filterValues:t.filterValues===!1?void 0:t.filterValues??Q,actions:d}}function W(t,e,r){let n=e.filterValues?.(t,r)??t;if(n.length===0)return;if(n.length===1)return _(n,e,r);let i=N(n[0]);if(i!==0&&i!==5){for(let o=1;o<n.length;o++)if(N(n[o])!==i)return _(n,e,r)}switch(i){case 1:return ae(n,e,r);case 2:return ce(n,e,r);case 3:return ue(n,e,r);case 4:return fe(n,e,r);default:return _(n,e,r)}}function ae(t,e,r){let n=e.mergeFunctions.mergeRecords(t,e,r);return n===d.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeRecords!==e.defaultMergeFunctions.mergeRecords?e.defaultMergeFunctions.mergeRecords(t,e,r):n}function ce(t,e,r){let n=e.mergeFunctions.mergeArrays(t,e,r);return n===d.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeArrays!==e.defaultMergeFunctions.mergeArrays?e.defaultMergeFunctions.mergeArrays(t):n}function ue(t,e,r){let n=e.mergeFunctions.mergeSets(t,e,r);return n===d.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeSets!==e.defaultMergeFunctions.mergeSets?e.defaultMergeFunctions.mergeSets(t):n}function fe(t,e,r){let n=e.mergeFunctions.mergeMaps(t,e,r);return n===d.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeMaps!==e.defaultMergeFunctions.mergeMaps?e.defaultMergeFunctions.mergeMaps(t):n}function _(t,e,r){let n=e.mergeFunctions.mergeOthers(t,e,r);return n===d.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeOthers!==e.defaultMergeFunctions.mergeOthers?e.defaultMergeFunctions.mergeOthers(t):n}import we,{HTTPError as J}from"ky";import{serializeError as H}from"serialize-error";import{EventEmitter as ge}from"events";import{serializeError as de}from"serialize-error";var I={markets:{chromeVersion:"146",nasdaq:{statusEndpoint:"https://api.nasdaq.com/api/market-info",monitor:{liveIntervalSec:10,closedIntervalSec:3600,warnIntervalSec:60},symbols:{nasdaqListedUrl:"https://www.nasdaqtrader.com/dynamic/symdir/nasdaqlisted.txt",otherListedUrl:"https://www.nasdaqtrader.com/dynamic/symdir/otherlisted.txt",initialBackoffMs:1e3,maxRetryBackoffMs:36e5,maxFetchRetries:10},quotes:{concurrencyLimit:5}}},retrieve:{timeout:5e4,retry:{limit:5,backoffLimit:3e3}}};async function V(t){let{getEnv:e}=await import("./utils-3L6PYJAG.js"),r=(await import("crypto")).default,n=e("CORELIB_AES_PASSWORD");if(!n)throw new Error("Decryption failed: CORELIB_AES_PASSWORD environment variable is not set.");let i=t.split(`
2
+ `).map(u=>u.trim()).filter(Boolean);if(i.length<2)throw new Error("Invalid .enc file format. Expected IV on line 1 and Ciphertext on line 2.");let o=Buffer.from(i[0],"base64"),s=Buffer.from(i[1],"base64"),c=Buffer.from(n,"hex"),a=r.createDecipheriv("aes-256-cbc",c,o),f=a.update(s);return f=Buffer.concat([f,a.final()]),JSON.parse(f.toString("utf8"))}var E=k({mergeArrays:!1}),me=t=>!t.split(/[.-]/).some(e=>e==="__proto__"||e==="constructor"||e==="prototype");function y(t,e){for(let r of Object.keys(t))r in e||delete t[r];for(let r of Object.keys(e)){let n=e[r];n&&typeof n=="object"&&!Array.isArray(n)?((!t[r]||typeof t[r]!="object"||Array.isArray(t[r]))&&(t[r]={}),y(t[r],n)):t[r]=n}}function pe(t,e,r,n){let i=t;for(;;){if(r(e.join(i,"pnpm-workspace.yaml")))return e.basename(i);let o=e.join(i,"package.json");if(r(o))try{if(JSON.parse(n(o)).workspaces)return e.basename(i)}catch{}let s=e.dirname(i);if(s===i)break;i=s}return e.basename(t)}var p=class t extends ge{static instance;_config={};_defaultsPath;static _logger=h.child({section:"ConfigManager"});_initPromise=null;_isInitialized=!1;_mutationChain=Promise.resolve();_inFlightTempConfig=null;static _prematureWarnEmitted=!1;constructor(){super();let e=L(),r=e;try{let{join:n}=S()("node:path");r=n(e,"ConfigManager.json")}catch{r=`${e}/ConfigManager.json`}this._defaultsPath=r,y(this._config,I),globalThis.sysconfig=this._config}static getInstance(){return t.instance||(t.instance=new t),t.instance}get(e){!this._isInitialized&&!t._prematureWarnEmitted&&P()!=="production"&&(t._prematureWarnEmitted=!0,t._logger.warn(`ConfigManager.get("${e}") called before initialize() resolved; returning seeded default`));let r=e.split("."),n=this._config;for(let i of r){if(n===null||typeof n!="object"||!(i in n))return;n=n[i]}return n}static get(e){return t.getInstance().get(e)}initialize(e){return this._initPromise?this._initPromise:(this._initPromise=this._enqueue(()=>this.runInitSequence(e)).then(()=>{this._isInitialized=!0,this._initPromise=null},r=>{throw this._initPromise=null,r}),this._initPromise)}async runInitSequence(e){t._logger.trace("initialize: start");let r=e??(typeof process<"u"&&Array.isArray(process.argv)?process.argv.slice(2):[]),n,i={};for(let s=0;s<r.length;s++){let c=r[s];if(c==="-C"||c==="--config"){s+1<r.length&&!r[s+1].startsWith("-")&&(n=r[++s]);continue}if(c.startsWith("--config=")){n=c.slice(9);continue}if(!c.startsWith("--"))continue;let a=c.slice(2);if(a===""||a.startsWith("="))continue;let f,u=a.indexOf("=");u>-1?(f=a.slice(u+1),a=a.slice(0,u)):s+1<r.length&&!r[s+1].startsWith("-")?f=r[++s]:f=!0,i[a]=f}t._logger.trace("initialize: resolved",{hasConfigPath:n!=null,overrideCount:Object.keys(i).length});let o={};this._inFlightTempConfig=o;try{if(this.loadDefaults(o),n){let s=await this.fetchExternalConfig(n);this.processHierarchy(s,o)}this.applyEnvOverrides(o),this.applyCliOverrides(i,o),y(this._config,o),t._logger.trace("initialize: committed",{keys:Object.keys(this._config??{}).length}),this.emit("initialized",this._config)}finally{this._inFlightTempConfig=null}}_enqueue(e){let r=this._mutationChain.then(e,e);return this._mutationChain=r.then(()=>{},()=>{}),r}getConfig(){return this._config}get isInitialized(){return this._isInitialized}whenReady(){return this._isInitialized?Promise.resolve():this._initPromise??Promise.resolve()}loadExternalConfig(e){return this._enqueue(()=>this.loadExternalConfigInner(e))}async loadExternalConfigInner(e){try{let r=await this.fetchExternalConfig(e),n=structuredClone(this._config);this._inFlightTempConfig=n;try{this.processHierarchy(r,n),this.applyEnvOverrides(n),y(this._config,n),this.emit("configLoaded",this._config)}finally{this._inFlightTempConfig=null}}catch(r){throw this.logError(`Failed to load external config dynamically from ${e}`,r),r}}loadDefaults(e){let r={...I};if(C(this._defaultsPath))try{r=JSON.parse(R(this._defaultsPath))}catch(n){this.logError("Failed to load defaults",n)}y(e,r)}async fetchExternalConfig(e){t._logger.trace("external config",{source:e.startsWith("http")?"http":"file"});let r;if(e.startsWith("http")){let{endPoint:o}=await import("./RequestUnlimited-OE7GCYBY.js"),s=await o(e);if(s.status==="error")throw new Error("Failed to fetch external config");r=s.value.body}else r=R(e);let n=e.toLowerCase();if(n.endsWith(".enc")){t._logger.trace("decrypting .enc config");let o=this.validateConfigObject(await V(r),e);return t._logger.trace("decryption ok"),o}let i=await import("./dist-GZV6T6K3.js");return n.endsWith(".yaml")||n.endsWith(".yml")?this.validateConfigObject(i.parseYAML(r),e):n.endsWith(".toml")?this.validateConfigObject(i.parseTOML(r),e):n.endsWith(".json5")?this.validateConfigObject(i.parseJSON5(r),e):n.endsWith(".jsonc")?this.validateConfigObject(i.parseJSONC(r),e):n.endsWith(".ini")?this.validateConfigObject(i.parseINI(r),e):this.validateConfigObject(i.parseJSON(r),e)}validateConfigObject(e,r){if(e===null||typeof e!="object"||Array.isArray(e))throw new Error(`Config from "${r}" must be a JSON object, got ${Array.isArray(e)?"array":typeof e}`);return e}processHierarchy(e,r){if(!e)return;let n=this.getAppName(),i=z(),o=P(),s=e.commonAll||{},c=Object.keys(e).find(u=>u.toLowerCase()===n.toLowerCase()),a=c?e[c]:null;if(a){a.common&&(s=E(s,a.common));let u=a[i];if(u){let m=u[o];m&&(s=E(s,m))}}let f=E(r,s);y(r,f)}applyEnvOverrides(e){let r="CORELIB_",n=A();Object.keys(n).forEach(i=>{if(i.startsWith(r)){let o=i.slice(r.length).toLowerCase().replace(/_/g,".");t._logger.trace("env override",{key:o});let s=this.parseValue(n[i]);this.setPath(e,o,s)}})}applyCliOverrides(e,r){Object.keys(e).forEach(n=>{if(n==="config")return;if(!me(n)){t._logger.warn(`Dropped unsafe CLI override key "${n}" (prototype-pollution guard)`);return}let i=n.replace(/-/g,".");t._logger.trace("cli override",{key:i});let o=this.parseValue(e[n]);this.setPath(r,i,o)})}updateValue(e,r){this.setPath(this._config,e,r),this._inFlightTempConfig!==null&&this.setPath(this._inFlightTempConfig,e,r),this.emit("change",{path:e,value:r}),this.emit(`change:${e}`,r)}setPath(e,r,n){let i=r.split("."),o=e;for(;i.length>1;){let s=i.shift();(!(s in o)||typeof o[s]!="object"||o[s]===null)&&(o[s]={}),o=o[s]}o[i[0]]=n}parseValue(e){if(typeof e!="string")return e;if(e.startsWith("[")&&e.endsWith("]")||e.startsWith("{")&&e.endsWith("}"))try{return JSON.parse(e)}catch(r){return this.logError("Failed to parse complex JSON from CLI/Env flag",r),e}return e.toLowerCase()==="true"?!0:e.toLowerCase()==="false"?!1:!Number.isNaN(Number(e))&&e.trim()!==""?Number(e):e}getAppName(){try{let e=T();if(e==="node"||e==="bun"||typeof import.meta<"u"&&import.meta.url&&import.meta.url.startsWith("file:")){let r=S()("node:path");return pe(j(),r,n=>C(n),n=>R(n))}return"edge-app"}catch(e){return this.logError("Failed to get app name from cwd. Falling back to default-app",e),"default-app"}}logError(e,r){let n=r?de(r):void 0;t._logger.error(e,{error:n})}toJsonString(){return JSON.stringify(this._config)}toBuffer(){return Buffer.from(this.toJsonString())}__resetForTests(){this._initPromise=null,this._isInitialized=!1,this._inFlightTempConfig=null,this._mutationChain=Promise.resolve(),t._prematureWarnEmitted=!1}};import{serializeError as he}from"serialize-error";var ye=h.child({section:"RequestResponseSerialize"});async function F(t){if(!t)return null;let e={};t.headers.forEach((i,o)=>{e[o.toLowerCase()]=i});let r,n=t.headers.get("content-type")||"";try{if(t.bodyUsed)r="[Body already consumed]";else{let i=await t.clone().text();if(n.includes("application/json"))try{r=JSON.parse(i)}catch{r=i}else r=i}}catch(i){ye.warn("Failed to read response body",{status:t.status,url:t.url,bodyUsed:t.bodyUsed,error:he(i)}),r="[Error reading body]"}return{ok:t.ok,status:t.status,statusText:t.statusText,headers:e,url:t.url,redirected:t.redirected,type:t.type,body:r}}var l=h.child({section:"RequestUnlimited"}),Re=k({mergeArrays:!1}),be=10,ke=1e3,Me=12e4,ve=6e4;function x(t,e,r,n){return typeof t!="number"||!Number.isFinite(t)?n:Math.min(r,Math.max(e,t))}function $(t){try{let e=t instanceof URL?t:new URL(t instanceof Request?t.url:t);return`${e.origin}${e.pathname}`}catch{return"[unparseable url]"}}function Oe(t,e){let r=Math.min(e,300*2**(t-1)),n=Math.round(Math.random()*r);return l.trace("retry delay computed",{attempt:t,base:r,cap:e,delayMs:n}),n}var M={timeout:5e4,throwHttpErrors:!0,retry:{limit:5,methods:["get","post","put","delete","patch"],backoffLimit:3e3,shouldRetry:({error:t,retryCount:e})=>{if(t instanceof J&&t.response){let r=t.response.status;if(r===429&&e<=5)return l.trace("retry decision",{status:r,willRetry:!0}),!0;if(r>=400&&r<500)return l.trace("retry decision: skip",{status:r,willRetry:!1}),!1;let n=r>=500;return l.trace(n?"retry decision":"retry decision: skip",{status:r,willRetry:n}),n}return l.trace("retry decision",{willRetry:!0}),!0}},method:"get",headers:{"content-type":"application/json",accept:"application/json"},hooks:{beforeRetry:[]}};function B(t){let e={};for(let r in t)Object.hasOwn(t,r)&&t[r]!==void 0&&(e[r.toLowerCase()]=t[r]);return e}async function Se(t,e={}){let r=B(M.headers||{}),n=e.headers?B(e.headers):{},{headers:i,hooks:o,...s}=e,c=x(p.get("retrieve.timeout"),ke,Me,5e4),a=x(p.get("retrieve.retry.limit"),0,be,5),f=x(p.get("retrieve.retry.backoffLimit"),0,ve,3e3),u=O(),m=performance.now();l.trace("endPoint: request",{cid:u,url:$(t),timeout:c,retryLimit:a,backoffLimit:f});let K=M.retry,Y=Re(M,{timeout:c,retry:{...K,limit:a,backoffLimit:f,delay:g=>Oe(g,f)}},s,{headers:{...r,...n},hooks:{beforeRetry:[...M.hooks?.beforeRetry||[],async({retryCount:g})=>{l.trace("endPoint: retry",{cid:u,retryCount:g,durationMs:performance.now()-m})},...o?.beforeRetry||[]]}});try{let g=await we(t,Y),w=await F(g);return l.trace("endPoint: ok",{cid:u,durationMs:performance.now()-m,url:$(t),status:g.status}),{status:"success",value:w}}catch(g){if(g instanceof J||g.response){let v=await F(g.response);return l.trace("endPoint: error",{cid:u,durationMs:performance.now()-m,status:v?.status,errorMsg:"HTTP error"}),l.warn("HTTP Error",{cid:u,status:v?.status,url:t.toString()}),{status:"error",reason:v}}let w=H(g);return l.trace("endPoint: error",{cid:u,durationMs:performance.now()-m,errorMsg:w?.message??"internal/network error"}),l.error("Internal/Network Error",{cid:u,error:w}),{status:"error",reason:w}}}async function Xe(t,e={}){let r=O(),n=performance.now();l.trace("endPoints: batch",{cid:r,count:t.length});let i=t.map(a=>Se(a,e)),s=(await Promise.allSettled(i)).map(a=>a.status==="fulfilled"?a.value:{status:"error",reason:H(a.reason)}),c=s.filter(a=>a.status==="success").length;return l.trace("endPoints: done",{cid:r,durationMs:performance.now()-n,ok:c,failed:s.length-c}),s}export{be as a,ke as b,Me as c,ve as d,x as e,Oe as f,M as g,Se as h,Xe as i,p as j};
@@ -0,0 +1 @@
1
+ import{serializeError as s}from"serialize-error";function f(n){return n instanceof Error||Object.prototype.toString.call(n)==="[object Error]"}function k(n){if(typeof n!="object"||n===null)return!1;let o=Object.getPrototypeOf(n);return o===Object.prototype||o===null}function p(n){if(n===void 0)return;if(f(n))return{err:s(n)};let o=new Map,i=r=>{if(f(r))return s(r);if(Array.isArray(r)){let e=o.get(r);if(e)return e;let t=[];o.set(r,t);for(let c of r)t.push(i(c));return t}if(k(r)){let e=o.get(r);if(e)return e;let t={};o.set(r,t);for(let[c,u]of Object.entries(r))t[c]=i(u);return t}return r};return i(n)}export{p as a};
@@ -0,0 +1 @@
1
+ import{a as n}from"./chunk-QPM32MRA.js";import{b as r}from"./chunk-ZMQIBLAC.js";var l=5e3,i=class o{pinoInstance;state;context;telemetryCache=null;constructor(e,t={telemetryEnabled:!1},s={}){this.pinoInstance=e,this.state=t,this.context=s}getTelemetry(){if(!this.state.telemetryEnabled)return;let e=Date.now();return(!this.telemetryCache||e>=this.telemetryCache.expiresAt)&&(this.telemetryCache={value:r(),expiresAt:e+l}),this.telemetryCache.value}validate(e,t){if(typeof e!="string")throw new Error("Logger requires string message first, optional object second");if(t!==void 0&&(typeof t!="object"||t===null||Array.isArray(t)))throw new Error("Logger requires string message first, optional object second")}trace(e,t){this.validate(e,t),this.pinoInstance.trace({...this.context,...n(t),telemetry:this.getTelemetry()},e)}debug(e,t){this.validate(e,t),this.pinoInstance.debug({...this.context,...n(t),telemetry:this.getTelemetry()},e)}info(e,t){this.validate(e,t),this.pinoInstance.info({...this.context,...n(t),telemetry:this.getTelemetry()},e)}warn(e,t){this.validate(e,t),this.pinoInstance.warn({...this.context,...n(t),telemetry:this.getTelemetry()},e)}error(e,t){this.validate(e,t),this.pinoInstance.error({...this.context,...n(t),telemetry:this.getTelemetry()},e)}fatal(e,t){this.validate(e,t),this.pinoInstance.fatal({...this.context,...n(t),telemetry:this.getTelemetry()},e)}child(e){return new o(this.pinoInstance,this.state,{...this.context,...e})}setTelemetry(e){if(e!=="on"&&e!=="off")throw new Error("setTelemetry accepts only 'on' or 'off'");this.state.telemetryEnabled=e==="on"}get level(){return this.pinoInstance.level}set level(e){this.pinoInstance.level=e}get levelVal(){return this.pinoInstance.levelVal}bindings(){return{...this.context}}silent(){this.pinoInstance.level="silent"}flush(e){typeof this.pinoInstance.flush=="function"?this.pinoInstance.flush(e):e?.()}};export{i as a};
@@ -1 +1 @@
1
- var t;function f(){try{if(typeof process<"u"&&process.env&&process.env.RUNTIME){let e=process.env.RUNTIME.toLowerCase();if(["node","bun","deno","cloudflare","aws-lambda","gcp-cloudrun"].includes(e))return e}}catch{}try{if(typeof globalThis<"u"&&(globalThis.cloudflare||globalThis.caches||globalThis.WebSocketPair||globalThis.__CFW__)||typeof process<"u"&&process.env&&process.env.PLATFORM==="cloudflare")return"cloudflare"}catch{}try{if(typeof process<"u"&&process.env&&process.env.AWS_LAMBDA_FUNCTION_NAME)return"aws-lambda"}catch{}try{if(typeof process<"u"&&process.env&&(process.env.K_SERVICE||process.env.K_REVISION||process.env.GOOGLE_CLOUD_PROJECT))return"gcp-cloudrun"}catch{}return typeof Bun<"u"?"bun":typeof Deno<"u"&&Deno.version&&Deno.version.deno?"deno":"node"}function s(){return t!==void 0||(t=f()),t}var c,o,m=()=>{if(!o){let e=s();if(c&&typeof import.meta<"u"&&import.meta.url)try{o=c(import.meta.url)}catch{}!o&&typeof globalThis.require=="function"&&(o=globalThis.require),o||(o=n=>{throw new Error(`require("${n}") is not available in this runtime (${e}).`)})}return o};function a(e){let n={},r=["KEY","SECRET","PASSWORD","TOKEN","AUTH","CREDENTIAL","APIKEY","PRIVATE","CERT","KEYSTORE"];for(let[u,i]of Object.entries(e)){if(i===void 0)continue;let d=u.toUpperCase(),l=r.some(p=>d.includes(p));n[u]=l?"[REDACTED]":i}return n}function y(e){let n=m()("node:os"),r=typeof process.memoryUsage=="function"?process.memoryUsage():{};return{runtime:e,os:process.platform,arch:process.arch,pid:process.pid,ppid:process.ppid??null,cwd:process.cwd(),uptime:process.uptime(),osVersion:n.release?.()??null,loadAvg:n.loadavg?.()??[0,0,0],memory:{rss:r.rss??null,heapTotal:r.heapTotal??null,heapUsed:r.heapUsed??null,external:r.external??null},env:a({...process.env})}}function R(){let e=typeof Deno<"u"?Deno:null,n=e&&typeof e.systemMemoryInfo=="function"?e.systemMemoryInfo():{};return{runtime:"deno",os:e?.build?.os??"unknown",arch:e?.build?.arch??"unknown",pid:e?.pid??null,ppid:e?.ppid??null,cwd:e?.cwd?.()??"",uptime:typeof performance<"u"?performance.now()/1e3:0,osVersion:e?.osRelease?.()??null,loadAvg:e?.loadavg?.()??[0,0,0],memory:{rss:n.total??null,heapTotal:null,heapUsed:null,external:null},env:a(e?.env?.toObject()??{})}}function g(){return{runtime:"unknown",os:"unknown",arch:"unknown",pid:null,ppid:null,cwd:"",uptime:0,osVersion:null,loadAvg:[0,0,0],memory:{rss:null,heapTotal:null,heapUsed:null,external:null},env:{}}}function _(){let e=s();switch(e){case"node":case"bun":return y(e);case"deno":return R();default:return g()}}var T={get:_};export{s as a,_ as b,T as c};
1
+ var t;function f(){try{if(typeof process<"u"&&process.env&&process.env.RUNTIME){let e=process.env.RUNTIME.toLowerCase();if(["node","bun","deno","cloudflare","aws-lambda","gcp-cloudrun"].includes(e))return e}}catch{}try{if(typeof globalThis<"u"&&(globalThis.cloudflare||globalThis.caches||globalThis.WebSocketPair||globalThis.__CFW__)||typeof process<"u"&&process.env&&process.env.PLATFORM==="cloudflare")return"cloudflare"}catch{}try{if(typeof process<"u"&&process.env&&process.env.AWS_LAMBDA_FUNCTION_NAME)return"aws-lambda"}catch{}try{if(typeof process<"u"&&process.env&&(process.env.K_SERVICE||process.env.K_REVISION||process.env.GOOGLE_CLOUD_PROJECT))return"gcp-cloudrun"}catch{}return typeof Bun<"u"?"bun":typeof Deno<"u"&&Deno.version&&Deno.version.deno?"deno":"node"}function s(){return t!==void 0||(t=f()),t}var c,o,m=()=>{if(!o){let e=s();if(c&&typeof import.meta<"u"&&import.meta.url)try{o=c(import.meta.url)}catch{}!o&&typeof globalThis.require=="function"&&(o=globalThis.require),o||(o=n=>{throw new Error(`require("${n}") is not available in this runtime (${e}).`)})}return o};function a(e){let n={},r=["KEY","SECRET","PASSWORD","TOKEN","AUTH","CREDENTIAL","APIKEY","PRIVATE","CERT","KEYSTORE"];for(let[u,i]of Object.entries(e)){if(i===void 0)continue;let d=u.toUpperCase(),l=r.some(p=>d.includes(p));n[u]=l?"[REDACTED]":i}return n}function y(e){let n=m()("node:os"),r=typeof process.memoryUsage=="function"?process.memoryUsage():{};return{runtime:e,os:process.platform,arch:process.arch,pid:process.pid,ppid:process.ppid??null,cwd:process.cwd(),uptime:process.uptime(),osVersion:n.release?.()??null,loadAvg:n.loadavg?.()??[0,0,0],memory:{rss:r.rss??null,heapTotal:r.heapTotal??null,heapUsed:r.heapUsed??null,external:r.external??null},env:a({...process.env})}}function R(){let e=typeof Deno<"u"?Deno:null,n=e&&typeof e.systemMemoryInfo=="function"?e.systemMemoryInfo():{};return{runtime:"deno",os:e?.build?.os??"unknown",arch:e?.build?.arch??"unknown",pid:e?.pid??null,ppid:e?.ppid??null,cwd:e?.cwd?.()??"",uptime:typeof performance<"u"?performance.now()/1e3:0,osVersion:e?.osRelease?.()??null,loadAvg:e?.loadavg?.()??[0,0,0],memory:{rss:n.total??null,heapTotal:null,heapUsed:null,external:null},env:a(e?.env?.toObject()??{})}}function g(){return{runtime:"unknown",os:"unknown",arch:"unknown",pid:null,ppid:null,cwd:"",uptime:0,osVersion:null,loadAvg:[0,0,0],memory:{rss:null,heapTotal:null,heapUsed:null,external:null},env:{}}}function v(){let e=s();switch(e){case"node":case"bun":return y(e);case"deno":return R();default:return g()}}export{s as a,v as b};
@@ -0,0 +1 @@
1
+ import{a as i}from"./chunk-QPM32MRA.js";import{b as o}from"./chunk-ZMQIBLAC.js";import"./chunk-PVAE643M.js";var s={trace:10,debug:20,info:30,warn:40,error:50,fatal:60,silent:1/0},n=class l{state;context;_level=process.env.LOG_LEVEL||"info";constructor(e={telemetryEnabled:!1},t={}){this.state=e,this.context=t}getTelemetry(){return this.state.telemetryEnabled?o():void 0}validate(e,t){if(typeof e!="string")throw new Error("Logger requires string message first, optional object second");if(t!==void 0&&(typeof t!="object"||t===null||Array.isArray(t)))throw new Error("Logger requires string message first, optional object second")}log(e,t,r){if((s[e]??30)<this.levelVal)return;this.validate(t,r);let g={level:e,time:Date.now(),...this.context,...i(r),...this.state.telemetryEnabled&&{telemetry:this.getTelemetry()},msg:t};console.log(JSON.stringify(g))}trace(e,t){this.log("trace",e,t)}debug(e,t){this.log("debug",e,t)}info(e,t){this.log("info",e,t)}warn(e,t){this.log("warn",e,t)}error(e,t){this.log("error",e,t)}fatal(e,t){this.log("fatal",e,t)}child(e){return new l(this.state,{...this.context,...e})}setTelemetry(e){if(e!=="on"&&e!=="off")throw new Error("setTelemetry accepts only 'on' or 'off'");this.state.telemetryEnabled=e==="on"}get level(){return this._level}set level(e){this._level=e}get levelVal(){return s[this._level]??30}bindings(){return{...this.context}}silent(){this._level="silent"}flush(e){e?.()}};function a(){return new n}export{a as default};
@@ -0,0 +1 @@
1
+ import{a as r}from"./chunk-VBA2ACKG.js";import"./chunk-QPM32MRA.js";import"./chunk-ZMQIBLAC.js";import"./chunk-PVAE643M.js";import{Writable as i}from"stream";import s from"pino";import a from"pino-pretty";var c=process.env.LOG_PRETTY==="true"||process.env.NODE_ENV!=="production"&&process.env.LOG_PRETTY!=="false",e=process.env.LOG_LEVEL||"info",p=new i({write(t,m,n){let o=globalThis.__wsLogWrite;o&&o(typeof t=="string"?t:t.toString("utf8")),n()}}),g=s.multistream([{level:e,stream:c?a({colorize:!0,translateTime:"SYS:standard",ignore:"pid,hostname"}):process.stdout},{level:e,stream:p}]),d=s({level:e,redact:["password","secret","token","authorization","apiKey"]},g),f=new r(d),w=f;export{w as default};
@@ -0,0 +1 @@
1
+ import{a as t}from"./chunk-VBA2ACKG.js";import"./chunk-QPM32MRA.js";import"./chunk-ZMQIBLAC.js";import"./chunk-PVAE643M.js";import*as o from"@google-cloud/pino-logging-gcp-config";import i from"pino";function c(){try{let n=o.createGcpLoggingPinoConfig||o.default?.createGcpLoggingPinoConfig||o.default;if(typeof n!="function")throw new Error("Could not find createGcpLoggingPinoConfig function in @google-cloud/pino-logging-gcp-config");let e=n({},{level:process.env.LOG_LEVEL||"info",timestamp:i.stdTimeFunctions.isoTime,redact:["password","secret","token","authorization"]}),r=i(e);return new t(r)}catch(n){console.error("[GCP-LOGGER] Failed to initialize GCP logger:",n);let e=i({level:process.env.LOG_LEVEL||"info",timestamp:i.stdTimeFunctions.isoTime});return new t(e)}}export{c as default};
@@ -0,0 +1 @@
1
+ import{a as n}from"./chunk-VBA2ACKG.js";import"./chunk-QPM32MRA.js";import"./chunk-ZMQIBLAC.js";import"./chunk-PVAE643M.js";import a from"pino";import r from"pino-lambda";function c(){let t=r,o=typeof t=="function"?t:t.default||t.pinoLambda,e;if(typeof o=="function")try{e=o()}catch{console.warn("pino-lambda destination creation failed, using default")}let i=a({level:process.env.LOG_LEVEL||"info",timestamp:a.stdTimeFunctions.isoTime,redact:["password","secret","token","authorization"]},e);return new n(i)}export{c as default};
@@ -0,0 +1 @@
1
+ import{a as r}from"./chunk-VBA2ACKG.js";import"./chunk-QPM32MRA.js";import"./chunk-ZMQIBLAC.js";import"./chunk-PVAE643M.js";import{Writable as i}from"stream";import s from"pino";import a from"pino-pretty";var c=process.env.LOG_PRETTY==="true"||process.env.NODE_ENV!=="production"&&process.env.LOG_PRETTY!=="false",e=process.env.LOG_LEVEL||"info",p=new i({write(t,m,n){let o=globalThis.__wsLogWrite;o&&o(typeof t=="string"?t:t.toString("utf8")),n()}}),g=s.multistream([{level:e,stream:c?a({colorize:!0,translateTime:"SYS:standard",ignore:"pid,hostname"}):process.stdout},{level:e,stream:p}]),d=s({level:e,redact:["password","secret","token","authorization","apiKey"]},g),f=new r(d),w=f;export{w as default};
@@ -0,0 +1 @@
1
+ import{b as c,c as d,d as e,e as f,f as g,g as h,h as i,i as j,j as k,k as l,l as m,m as n,n as o,o as p}from"./chunk-BHGBRQZV.js";import{a,b}from"./chunk-ZMQIBLAC.js";import"./chunk-PVAE643M.js";export{f as Utils,a as detectRuntime,j as existsSync,h as getAllEnv,k as getCwd,l as getDirname,g as getEnv,n as getMode,m as getPlatform,e as getRequire,b as getSysInfo,o as getTempDir,c as includeExcludeCron,d as nextCid,i as readTextFileSync,p as sleep};