@rudderjs/core 1.9.0 → 1.11.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.
@@ -1 +1 @@
1
- {"version":3,"file":"app-builder.d.ts","sourceRoot":"","sources":["../src/app-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-builder.d.ts","sourceRoot":"","sources":["../src/app-builder.ts"],"names":[],"mappings":"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"}
@@ -501,8 +501,13 @@ export class RudderJS {
501
501
  this._excFn?.(exc);
502
502
  const errorHandler = exc.buildHandler();
503
503
  const { router } = await import('@rudderjs/router');
504
+ // Kernel maintenance middleware — first in the global stack, a pure
505
+ // existsSync no-op when the app is up. Lazy-imported so its node:fs static
506
+ // import never lands in a client bundle (this path is server-only).
507
+ const { maintenanceMiddleware } = await import('./maintenance.js');
504
508
  const server = await this._resolveServer();
505
509
  this._handler = await server.createFetchHandler((adapter) => {
510
+ adapter.applyMiddleware(maintenanceMiddleware());
506
511
  for (const h of mw.getHandlers())
507
512
  adapter.applyMiddleware(h);
508
513
  if (adapter.applyGroupMiddleware) {
@@ -1 +1 @@
1
- {"version":3,"file":"app-builder.js","sourceRoot":"","sources":["../src/app-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAQ/D,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EACN,oBAAoB,EACpB,SAAS,GACV,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAkBrE,MAAM,uBAAuB,GAAG,IAAI,CAAA;AACpC,SAAS,cAAc;IACrB,MAAM,CAAC,GAAG,UAAqC,CAAA;IAC/C,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC;QAAE,CAAC,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAA0B,CAAA;IAC/G,OAAO,CAAC,CAAC,uBAAuB,CAAkB,CAAA;AACpD,CAAC;AACD,SAAS,cAAc,KAAW,cAAc,EAAE,CAAC,KAAK,EAAE,CAAA,CAAC,CAAC;AAC5D,SAAS,YAAY;IACnB,MAAM,CAAC,GAAG,cAAc,EAAE,CAAA;IAC1B,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;IAClC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,CAAC,EAAE,CAAA;AACrF,CAAC;AACD;8EAC8E;AAC9E,SAAS,qBAAqB,CAAC,SAAS,GAAG,uBAAuB;IAChE,MAAM,CAAC,GAAG,cAAc,EAAE,CAAA;IAC1B,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC3C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,GAAS,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,CAAA;QAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,IAAI,CAAC;gBAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAClC,OAAO,EAAE,CAAA;QACX,CAAC,EAAE,SAAS,CAAC,CAAA;QACb,KAAK,CAAC,KAAK,EAAE,EAAE,CAAA;QACf,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;AACJ,CAAC;AA4BD,MAAM,OAAO,sBAAsB;IACzB,SAAS,GAAwB,EAAE,CAAA;IACnC,cAAc,GAAgD,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;IAE1F,4EAA4E;IAC5E,GAAG,CAAC,OAA0B;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,2FAA2F;IAC3F,GAAG,CAAC,GAAG,QAA6B;QAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,2FAA2F;IAC3F,GAAG,CAAC,GAAG,QAA6B;QAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,WAAW,KAA0B,OAAO,IAAI,CAAC,SAAS,CAAA,CAAC,CAAC;IAE5D,qFAAqF;IACrF,gBAAgB,CAAC,KAAqB;QACpC,OAAO,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IACxE,CAAC;CACF;AAMD,MAAM,OAAO,qBAAqB;IAChC,8DAA8D;IACtD,QAAQ,GAAwE,EAAE,CAAA;IAC1F,8DAA8D;IACtD,QAAQ,GAAyC,IAAI,GAAG,EAAE,CAAA;IAElE;;;;;;;OAOG;IACH,MAAM;IACJ,8DAA8D;IAC9D,IAA+B,EAC/B,EAA6D;QAE7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAmB,EAAE,CAAC,CAAA;QACrD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,8DAA8D;IAC9D,MAAM,CAAC,IAAqC;QAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,EAA0B;QACpC,oBAAoB,CAAC,EAAE,CAAC,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,2EAA2E;IAC3E,YAAY;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACrC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEtC,OAAO,KAAK,EAAE,GAAY,EAAE,GAAe,EAAqB,EAAE;YAChE,mCAAmC;YACnC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,GAAG,YAAY,IAAI;oBAAE,MAAM,GAAG,CAAA;YACpC,CAAC;YAED,+CAA+C;YAC/C,KAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC;gBACnC,IAAI,GAAG,YAAY,IAAI;oBAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAC9C,CAAC;YAED,iGAAiG;YACjG,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBACtC,OAAO,GAAG,CAAC,QAAQ,CAAA;YACrB,CAAC;YAED,gCAAgC;YAChC,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;gBACnC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;oBAChD,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAChD,CAAC,CAAA;YACJ,CAAC;YAED,gEAAgE;YAChE,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,OAAO,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACtC,CAAC;YAED,yEAAyE;YACzE,oEAAoE;YACpE,6DAA6D;YAC7D,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAI,GAAwC,CAAC,UAAU,CAAA;gBACnE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;oBAChE,OAAO,mBAAmB,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAA;gBACzE,CAAC;YACH,CAAC;YAED,mEAAmE;YACnE,0DAA0D;YAC1D,EAAE;YACF,sEAAsE;YACtE,mEAAmE;YACnE,oEAAoE;YACpE,kEAAkE;YAClE,sEAAsE;YACtE,0DAA0D;YAC1D,EAAE;YACF,sEAAsE;YACtE,kEAAkE;YAClE,8BAA8B;YAC9B,MAAM,CAAC,GAAG,CAAC,CAAA;YACX,IAAI,KAAK,GAAG,KAAK,CAAA;YACjB,IAAI,CAAC;gBAAC,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;YAC7E,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,GAAG,CAAA;YACX,CAAC;YACD,OAAO,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAC3C,CAAC,CAAA;IACH,CAAC;CACF;AAED,8DAA8D;AAE9D,MAAM,OAAO,UAAU;IAKQ;IAJrB,QAAQ,GAAkC,EAAE,CAAA;IAC5C,KAAK,CAAuC;IAC5C,MAAM,CAAqC;IAEnD,YAA6B,QAA0B;QAA1B,aAAQ,GAAR,QAAQ,CAAkB;IAAG,CAAC;IAE3D,WAAW,CAAC,MAAsB;QAChC,IAAI,MAAM,CAAC,GAAG;YAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9E,IAAI,MAAM,CAAC,GAAG;YAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9E,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACxD,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACxD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,kFAAkF;IAC1E,aAAa,CAAC,KAAoB,EAAE,MAA8B;QACxE,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;YACzD,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACpC,CAAC,CAAA;IACH,CAAC;IAED,cAAc,CAAC,EAAuC;QACpD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc,CAAC,EAAsC;QACnD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM;QACJ,MAAM,CAAC,GAAG,UAAqC,CAAA;QAC/C,IAAI,CAAC,CAAC,uBAAuB,CAAC;YAAE,OAAO,CAAC,CAAC,uBAAuB,CAAa,CAAA;QAE7E,sEAAsE;QACtE,+EAA+E;QAC/E,uEAAuE;QACvE,6EAA6E;QAC7E,uEAAuE;QACvE,kEAAkE;QAClE,iEAAiE;QACjE,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAE,CAAC,CAAC,kCAAkC,CAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YACtE,CAAC,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAA;YACzC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAA;QAC/C,CAAC;QAED,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAO,EAAE,MAAM,EAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;SACvE,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAChG,CAAC,CAAC,uBAAuB,CAAC,GAAG,QAAQ,CAAA;QACrC,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAED,8DAA8D;AAE9D,MAAM,OAAO,QAAQ;IAUA;IACA;IACA;IACA;IACA;IAbnB,+EAA+E;IACvE,aAAa,CAAe;IACpC,yFAAyF;IACjF,KAAK,GAAyB,IAAI,CAAA;IAClC,QAAQ,GAAwB,IAAI,CAAA;IAC5C,yFAAyF;IACjF,WAAW,GAA0C,IAAI,CAAA;IAEjE,YACmB,IAAqB,EACrB,OAA2C,EAC3C,QAAuC,EACvC,KAA6C,EAC7C,MAA4C;QAJ5C,SAAI,GAAJ,IAAI,CAAiB;QACrB,YAAO,GAAP,OAAO,CAAoC;QAC3C,aAAQ,GAAR,QAAQ,CAA+B;QACvC,UAAK,GAAL,KAAK,CAAwC;QAC7C,WAAM,GAAN,MAAM,CAAsC;QAE7D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAClD,0EAA0E;QAC1E,2EAA2E;QAC3E,2DAA2D;QAC3D,oEAAoE;QACpE,wEAAwE;QACxE,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAoC,CAAC,CAAC,CAAA;IACjG,CAAC;IAED;;;;;OAKG;IACK,cAAc;QACpB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC7B,IAAI,GAAoE,CAAA;gBACxE,IAAI,CAAC;oBACH,GAAG,GAAG,MAAM,mBAAmB,CAAsD,uBAAuB,CAAC,CAAA;gBAC/G,CAAC;gBAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;gBAC/C,IAAI,OAAO,GAAG,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CACb,sFAAsF;wBACtF,8DAA8D;wBAC9D,8DAA8D,CAC/D,CAAA;gBACH,CAAC;gBACD,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;YACvC,CAAC,CAAC,EAAE,CAAA;QACN,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACK,sBAAsB;QAC5B,MAAM,CAAC,GAAG,UAAqC,CAAA;QAC/C,MAAM,IAAI,GAAG,CAAC,CAAC,mBAAmB,CAA8B,CAAA;QAChE,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,wEAAwE;YACxE,yEAAyE;YACzE,0EAA0E;YAC1E,IAAI,IAAI,EAAE,CAAC;gBAAC,IAAI,CAAC;oBAAC,MAAM,IAAI,CAAA;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,iCAAiC,CAAC,CAAC;YAAC,CAAC;YAC5E,yEAAyE;YACzE,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QACpD,CAAC,CAAC,EAAE,CAAA;QACJ,CAAC,CAAC,mBAAmB,CAAC,GAAG,GAAG,CAAA;QAC5B,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,kBAAkB;QACxB,MAAM,OAAO,GAAG,CAAC,IAAe,EAAW,EAAE;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACpD,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAA;YACvC,IAAI,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBAAE,OAAO,IAAI,CAAA;YACnD,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;QACD,MAAM,IAAI,GAAI,OAAO,CAAC,GAAG,CAAA;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;QAC1B,OAAO,CAAC,GAAG,GAAI,CAAC,GAAG,CAAY,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA,CAAE,CAAC,CAAA;QACpE,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAY,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;QACpE,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAY,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;IACtE,CAAC;IAED,6EAA6E;IACrE,KAAK,CAAC,mBAAmB,CAAC,QAAQ,GAAG,KAAK;QAChD,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,wEAAwE;QACxE,4EAA4E;QAC5E,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,CAAC,GAAG,UAAqC,CAAA;QAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAA;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAA;QACrF,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/C,IAAI,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACxE,CAAC;QACD,4EAA4E;QAC5E,wEAAwE;QACxE,4EAA4E;QAC5E,wEAAwE;QACxE,8EAA8E;QAC9E,sEAAsE;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,4EAA4E;QAC5E,IAAI,QAAQ,EAAE,CAAC;YACb,0EAA0E;YAC1E,4EAA4E;YAC5E,0EAA0E;YAC1E,wDAAwD;YACxD,MAAM,qBAAqB,EAAE,CAAA;YAC7B,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAkC,CAAA;YACpF,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,oBAAoB,EAAE,CAAA;QACxB,CAAC;QACD,uEAAuE;QACvE,uEAAuE;QACvE,6DAA6D;QAC7D,gBAAgB,EAAE,CAAA;QAClB,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;QAC3B,qEAAqE;QACrE,sEAAsE;QACtE,wEAAwE;QACxE,sEAAsE;QACtE,6DAA6D;QAC7D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,MAAM,EAAE,CAAA;QAClD,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACtD,yEAAyE;QACzE,yEAAyE;QACzE,sEAAsE;QACtE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;QAClC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAClF,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC9E,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAA;QACjC,CAAC;QACD,yEAAyE;QACzE,wEAAwE;QACxE,4BAA4B;QAC5B,uEAAuE;QACvE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;;YACzF,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IACtC,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB;QACtB,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAA;QAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAEhC,MAAM,CAAC,GAAG;YACR,KAAK,EAAI,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU;YAC9C,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU;YAC9C,IAAI,EAAK,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU;YAC9C,MAAM,EAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU;YAC9C,MAAM,EAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU;SAC/C,CAAA;QACD,MAAM,YAAY,GAAG;YACnB,UAAU,EAAM,CAAC,CAAC,OAAO;YACzB,cAAc,EAAE,CAAC,CAAC,IAAI;YACtB,OAAO,EAAS,CAAC,CAAC,MAAM;YACxB,UAAU,EAAM,CAAC,CAAC,MAAM;SAChB,CAAA;QACV,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,CAAU,CAAA;QAEtF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAEtG,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC3C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;YACvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;YAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC5B,CAAC;QACD,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAE/E,4EAA4E;QAC5E,MAAM,KAAK,GAAM,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAA;QACtC,MAAM,QAAQ,GAAG,CAAC,CAAA;QAElB,8DAA8D;QAC9D,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,8BAA8B,CAAA,CAAC,kCAAkC;QAClF,MAAM,KAAK,GAAM,GAAG,OAAO,CAAC,MAAM,YAAY,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QAC/E,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,kCAAkC,KAAK,SAAS,CAAC,CAAA;QAExE,6EAA6E;QAC7E,6EAA6E;QAC7E,0EAA0E;QAC1E,uDAAuD;QACvD,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,GAAG;YAAE,OAAM;QAEtD,2EAA2E;QAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,aAAa;QACtF,MAAM,QAAQ,GAAU,QAAQ,GAAG,eAAe,GAAG,CAAC,CAAA,CAAmB,oBAAoB;QAC7F,MAAM,YAAY,GAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC5C,4EAA4E;QAC5E,6EAA6E;QAC7E,+BAA+B;QAC/B,MAAM,QAAQ,GAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAA;QAEnD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,IAAI,GAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;YACpC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;YACpC,oEAAoE;YACpE,MAAM,KAAK,GAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YAEzF,qEAAqE;YACrE,MAAM,KAAK,GAAe,CAAC,EAAE,CAAC,CAAA;YAC9B,IAAI,UAAU,GAAG,CAAC,CAAA;YAClB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;gBACxE,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjF,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;oBAClB,UAAU,GAAG,IAAI,CAAC,MAAM,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACnC,UAAU,IAAI,KAAK,CAAC,MAAM,CAAA;gBAC5B,CAAC;YACH,CAAC;YAED,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACzB,sEAAsE;gBACtE,MAAM,IAAI,GAAK,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC9C,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAA;gBAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;YACpD,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,sFAAsF;IAC9E,KAAK,CAAC,cAAc;QAC1B,MAAM,EAAE,GAAG,IAAI,sBAAsB,EAAE,CAAA;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAChB,MAAM,GAAG,GAAG,IAAI,qBAAqB,EAAE,CAAA;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAA;QAClB,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,EAAE,CAAA;QACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAwD,CAAA;QAC1G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC1C,IAAI,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAsB,EAAE,EAAE;YACzE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;gBAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YAC5D,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBAClF,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YACpF,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACrB,OAAO,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,aAAa,CAAA;IAC1B,CAAC;IAED;;;;;;;;;OASG;IACH,kBAAkB;QAIhB,MAAM,EAAE,GAAG,IAAI,sBAAsB,EAAE,CAAA;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAChB,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,WAAW,EAAE;YACxB,MAAM,EAAE;gBACN,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAC/B,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC;aAChC;SACF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAgB,EAAE,GAAa,EAAE,GAAa;QAChE,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;QAClF,MAAM,IAAI,CAAC,KAAK,CAAA;QAChB,4EAA4E;QAC5E,6EAA6E;QAC7E,0EAA0E;QAC1E,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,2CAA2C;QAC3C,MAAM,MAAM,GAAI,UAAsC,CAAC,mBAAmB,CAA8B,CAAA;QACxG,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5C,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,yCAAyC,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAClF,6EAA6E;QAC7E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QACvE,wEAAwE;QACxE,2EAA2E;QAC3E,cAAc,EAAE,CAAA;QAChB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC/C,CAAC;gBAAS,CAAC;YACT,YAAY,EAAE,CAAA;QAChB,CAAC;IACH,CAAC;IAEQ,KAAK,GAAG,CAAC,OAAgB,EAAE,GAAa,EAAE,GAAa,EAAqB,EAAE,CACrF,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CACxC"}
1
+ {"version":3,"file":"app-builder.js","sourceRoot":"","sources":["../src/app-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAQ/D,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EACN,oBAAoB,EACpB,SAAS,GACV,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAkBrE,MAAM,uBAAuB,GAAG,IAAI,CAAA;AACpC,SAAS,cAAc;IACrB,MAAM,CAAC,GAAG,UAAqC,CAAA;IAC/C,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC;QAAE,CAAC,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAA0B,CAAA;IAC/G,OAAO,CAAC,CAAC,uBAAuB,CAAkB,CAAA;AACpD,CAAC;AACD,SAAS,cAAc,KAAW,cAAc,EAAE,CAAC,KAAK,EAAE,CAAA,CAAC,CAAC;AAC5D,SAAS,YAAY;IACnB,MAAM,CAAC,GAAG,cAAc,EAAE,CAAA;IAC1B,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;IAClC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,CAAC,EAAE,CAAA;AACrF,CAAC;AACD;8EAC8E;AAC9E,SAAS,qBAAqB,CAAC,SAAS,GAAG,uBAAuB;IAChE,MAAM,CAAC,GAAG,cAAc,EAAE,CAAA;IAC1B,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC3C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,GAAS,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,CAAA;QAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,IAAI,CAAC;gBAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAClC,OAAO,EAAE,CAAA;QACX,CAAC,EAAE,SAAS,CAAC,CAAA;QACb,KAAK,CAAC,KAAK,EAAE,EAAE,CAAA;QACf,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;AACJ,CAAC;AA4BD,MAAM,OAAO,sBAAsB;IACzB,SAAS,GAAwB,EAAE,CAAA;IACnC,cAAc,GAAgD,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;IAE1F,4EAA4E;IAC5E,GAAG,CAAC,OAA0B;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,2FAA2F;IAC3F,GAAG,CAAC,GAAG,QAA6B;QAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,2FAA2F;IAC3F,GAAG,CAAC,GAAG,QAA6B;QAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,WAAW,KAA0B,OAAO,IAAI,CAAC,SAAS,CAAA,CAAC,CAAC;IAE5D,qFAAqF;IACrF,gBAAgB,CAAC,KAAqB;QACpC,OAAO,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IACxE,CAAC;CACF;AAMD,MAAM,OAAO,qBAAqB;IAChC,8DAA8D;IACtD,QAAQ,GAAwE,EAAE,CAAA;IAC1F,8DAA8D;IACtD,QAAQ,GAAyC,IAAI,GAAG,EAAE,CAAA;IAElE;;;;;;;OAOG;IACH,MAAM;IACJ,8DAA8D;IAC9D,IAA+B,EAC/B,EAA6D;QAE7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAmB,EAAE,CAAC,CAAA;QACrD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,8DAA8D;IAC9D,MAAM,CAAC,IAAqC;QAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,EAA0B;QACpC,oBAAoB,CAAC,EAAE,CAAC,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,2EAA2E;IAC3E,YAAY;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACrC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEtC,OAAO,KAAK,EAAE,GAAY,EAAE,GAAe,EAAqB,EAAE;YAChE,mCAAmC;YACnC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,GAAG,YAAY,IAAI;oBAAE,MAAM,GAAG,CAAA;YACpC,CAAC;YAED,+CAA+C;YAC/C,KAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC;gBACnC,IAAI,GAAG,YAAY,IAAI;oBAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAC9C,CAAC;YAED,iGAAiG;YACjG,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBACtC,OAAO,GAAG,CAAC,QAAQ,CAAA;YACrB,CAAC;YAED,gCAAgC;YAChC,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;gBACnC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;oBAChD,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAChD,CAAC,CAAA;YACJ,CAAC;YAED,gEAAgE;YAChE,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,OAAO,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACtC,CAAC;YAED,yEAAyE;YACzE,oEAAoE;YACpE,6DAA6D;YAC7D,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAI,GAAwC,CAAC,UAAU,CAAA;gBACnE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;oBAChE,OAAO,mBAAmB,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAA;gBACzE,CAAC;YACH,CAAC;YAED,mEAAmE;YACnE,0DAA0D;YAC1D,EAAE;YACF,sEAAsE;YACtE,mEAAmE;YACnE,oEAAoE;YACpE,kEAAkE;YAClE,sEAAsE;YACtE,0DAA0D;YAC1D,EAAE;YACF,sEAAsE;YACtE,kEAAkE;YAClE,8BAA8B;YAC9B,MAAM,CAAC,GAAG,CAAC,CAAA;YACX,IAAI,KAAK,GAAG,KAAK,CAAA;YACjB,IAAI,CAAC;gBAAC,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;YAC7E,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,GAAG,CAAA;YACX,CAAC;YACD,OAAO,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAC3C,CAAC,CAAA;IACH,CAAC;CACF;AAED,8DAA8D;AAE9D,MAAM,OAAO,UAAU;IAKQ;IAJrB,QAAQ,GAAkC,EAAE,CAAA;IAC5C,KAAK,CAAuC;IAC5C,MAAM,CAAqC;IAEnD,YAA6B,QAA0B;QAA1B,aAAQ,GAAR,QAAQ,CAAkB;IAAG,CAAC;IAE3D,WAAW,CAAC,MAAsB;QAChC,IAAI,MAAM,CAAC,GAAG;YAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9E,IAAI,MAAM,CAAC,GAAG;YAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9E,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACxD,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACxD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,kFAAkF;IAC1E,aAAa,CAAC,KAAoB,EAAE,MAA8B;QACxE,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;YACzD,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACpC,CAAC,CAAA;IACH,CAAC;IAED,cAAc,CAAC,EAAuC;QACpD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc,CAAC,EAAsC;QACnD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM;QACJ,MAAM,CAAC,GAAG,UAAqC,CAAA;QAC/C,IAAI,CAAC,CAAC,uBAAuB,CAAC;YAAE,OAAO,CAAC,CAAC,uBAAuB,CAAa,CAAA;QAE7E,sEAAsE;QACtE,+EAA+E;QAC/E,uEAAuE;QACvE,6EAA6E;QAC7E,uEAAuE;QACvE,kEAAkE;QAClE,iEAAiE;QACjE,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAE,CAAC,CAAC,kCAAkC,CAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YACtE,CAAC,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAA;YACzC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAA;QAC/C,CAAC;QAED,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAO,EAAE,MAAM,EAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;SACvE,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAChG,CAAC,CAAC,uBAAuB,CAAC,GAAG,QAAQ,CAAA;QACrC,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAED,8DAA8D;AAE9D,MAAM,OAAO,QAAQ;IAUA;IACA;IACA;IACA;IACA;IAbnB,+EAA+E;IACvE,aAAa,CAAe;IACpC,yFAAyF;IACjF,KAAK,GAAyB,IAAI,CAAA;IAClC,QAAQ,GAAwB,IAAI,CAAA;IAC5C,yFAAyF;IACjF,WAAW,GAA0C,IAAI,CAAA;IAEjE,YACmB,IAAqB,EACrB,OAA2C,EAC3C,QAAuC,EACvC,KAA6C,EAC7C,MAA4C;QAJ5C,SAAI,GAAJ,IAAI,CAAiB;QACrB,YAAO,GAAP,OAAO,CAAoC;QAC3C,aAAQ,GAAR,QAAQ,CAA+B;QACvC,UAAK,GAAL,KAAK,CAAwC;QAC7C,WAAM,GAAN,MAAM,CAAsC;QAE7D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAClD,0EAA0E;QAC1E,2EAA2E;QAC3E,2DAA2D;QAC3D,oEAAoE;QACpE,wEAAwE;QACxE,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAoC,CAAC,CAAC,CAAA;IACjG,CAAC;IAED;;;;;OAKG;IACK,cAAc;QACpB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC7B,IAAI,GAAoE,CAAA;gBACxE,IAAI,CAAC;oBACH,GAAG,GAAG,MAAM,mBAAmB,CAAsD,uBAAuB,CAAC,CAAA;gBAC/G,CAAC;gBAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;gBAC/C,IAAI,OAAO,GAAG,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CACb,sFAAsF;wBACtF,8DAA8D;wBAC9D,8DAA8D,CAC/D,CAAA;gBACH,CAAC;gBACD,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;YACvC,CAAC,CAAC,EAAE,CAAA;QACN,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACK,sBAAsB;QAC5B,MAAM,CAAC,GAAG,UAAqC,CAAA;QAC/C,MAAM,IAAI,GAAG,CAAC,CAAC,mBAAmB,CAA8B,CAAA;QAChE,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,wEAAwE;YACxE,yEAAyE;YACzE,0EAA0E;YAC1E,IAAI,IAAI,EAAE,CAAC;gBAAC,IAAI,CAAC;oBAAC,MAAM,IAAI,CAAA;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,iCAAiC,CAAC,CAAC;YAAC,CAAC;YAC5E,yEAAyE;YACzE,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QACpD,CAAC,CAAC,EAAE,CAAA;QACJ,CAAC,CAAC,mBAAmB,CAAC,GAAG,GAAG,CAAA;QAC5B,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,kBAAkB;QACxB,MAAM,OAAO,GAAG,CAAC,IAAe,EAAW,EAAE;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACpD,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAA;YACvC,IAAI,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBAAE,OAAO,IAAI,CAAA;YACnD,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;QACD,MAAM,IAAI,GAAI,OAAO,CAAC,GAAG,CAAA;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;QAC1B,OAAO,CAAC,GAAG,GAAI,CAAC,GAAG,CAAY,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA,CAAE,CAAC,CAAA;QACpE,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAY,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;QACpE,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAY,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;IACtE,CAAC;IAED,6EAA6E;IACrE,KAAK,CAAC,mBAAmB,CAAC,QAAQ,GAAG,KAAK;QAChD,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,wEAAwE;QACxE,4EAA4E;QAC5E,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,CAAC,GAAG,UAAqC,CAAA;QAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAA;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAA;QACrF,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/C,IAAI,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACxE,CAAC;QACD,4EAA4E;QAC5E,wEAAwE;QACxE,4EAA4E;QAC5E,wEAAwE;QACxE,8EAA8E;QAC9E,sEAAsE;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,4EAA4E;QAC5E,IAAI,QAAQ,EAAE,CAAC;YACb,0EAA0E;YAC1E,4EAA4E;YAC5E,0EAA0E;YAC1E,wDAAwD;YACxD,MAAM,qBAAqB,EAAE,CAAA;YAC7B,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAkC,CAAA;YACpF,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,oBAAoB,EAAE,CAAA;QACxB,CAAC;QACD,uEAAuE;QACvE,uEAAuE;QACvE,6DAA6D;QAC7D,gBAAgB,EAAE,CAAA;QAClB,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;QAC3B,qEAAqE;QACrE,sEAAsE;QACtE,wEAAwE;QACxE,sEAAsE;QACtE,6DAA6D;QAC7D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,MAAM,EAAE,CAAA;QAClD,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACtD,yEAAyE;QACzE,yEAAyE;QACzE,sEAAsE;QACtE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;QAClC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAClF,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC9E,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAA;QACjC,CAAC;QACD,yEAAyE;QACzE,wEAAwE;QACxE,4BAA4B;QAC5B,uEAAuE;QACvE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;;YACzF,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IACtC,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB;QACtB,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAA;QAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAEhC,MAAM,CAAC,GAAG;YACR,KAAK,EAAI,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU;YAC9C,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU;YAC9C,IAAI,EAAK,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU;YAC9C,MAAM,EAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU;YAC9C,MAAM,EAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU;SAC/C,CAAA;QACD,MAAM,YAAY,GAAG;YACnB,UAAU,EAAM,CAAC,CAAC,OAAO;YACzB,cAAc,EAAE,CAAC,CAAC,IAAI;YACtB,OAAO,EAAS,CAAC,CAAC,MAAM;YACxB,UAAU,EAAM,CAAC,CAAC,MAAM;SAChB,CAAA;QACV,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,CAAU,CAAA;QAEtF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAEtG,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC3C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;YACvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;YAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC5B,CAAC;QACD,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAE/E,4EAA4E;QAC5E,MAAM,KAAK,GAAM,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAA;QACtC,MAAM,QAAQ,GAAG,CAAC,CAAA;QAElB,8DAA8D;QAC9D,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,8BAA8B,CAAA,CAAC,kCAAkC;QAClF,MAAM,KAAK,GAAM,GAAG,OAAO,CAAC,MAAM,YAAY,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QAC/E,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,kCAAkC,KAAK,SAAS,CAAC,CAAA;QAExE,6EAA6E;QAC7E,6EAA6E;QAC7E,0EAA0E;QAC1E,uDAAuD;QACvD,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,GAAG;YAAE,OAAM;QAEtD,2EAA2E;QAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,aAAa;QACtF,MAAM,QAAQ,GAAU,QAAQ,GAAG,eAAe,GAAG,CAAC,CAAA,CAAmB,oBAAoB;QAC7F,MAAM,YAAY,GAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC5C,4EAA4E;QAC5E,6EAA6E;QAC7E,+BAA+B;QAC/B,MAAM,QAAQ,GAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAA;QAEnD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,IAAI,GAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;YACpC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;YACpC,oEAAoE;YACpE,MAAM,KAAK,GAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YAEzF,qEAAqE;YACrE,MAAM,KAAK,GAAe,CAAC,EAAE,CAAC,CAAA;YAC9B,IAAI,UAAU,GAAG,CAAC,CAAA;YAClB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;gBACxE,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjF,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;oBAClB,UAAU,GAAG,IAAI,CAAC,MAAM,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACnC,UAAU,IAAI,KAAK,CAAC,MAAM,CAAA;gBAC5B,CAAC;YACH,CAAC;YAED,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACzB,sEAAsE;gBACtE,MAAM,IAAI,GAAK,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC9C,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAA;gBAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;YACpD,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,sFAAsF;IAC9E,KAAK,CAAC,cAAc;QAC1B,MAAM,EAAE,GAAG,IAAI,sBAAsB,EAAE,CAAA;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAChB,MAAM,GAAG,GAAG,IAAI,qBAAqB,EAAE,CAAA;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAA;QAClB,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,EAAE,CAAA;QACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAwD,CAAA;QAC1G,oEAAoE;QACpE,2EAA2E;QAC3E,oEAAoE;QACpE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC1C,IAAI,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAsB,EAAE,EAAE;YACzE,OAAO,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC,CAAA;YAChD,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;gBAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YAC5D,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBAClF,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YACpF,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACrB,OAAO,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,aAAa,CAAA;IAC1B,CAAC;IAED;;;;;;;;;OASG;IACH,kBAAkB;QAIhB,MAAM,EAAE,GAAG,IAAI,sBAAsB,EAAE,CAAA;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAChB,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,WAAW,EAAE;YACxB,MAAM,EAAE;gBACN,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAC/B,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC;aAChC;SACF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAgB,EAAE,GAAa,EAAE,GAAa;QAChE,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;QAClF,MAAM,IAAI,CAAC,KAAK,CAAA;QAChB,4EAA4E;QAC5E,6EAA6E;QAC7E,0EAA0E;QAC1E,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,2CAA2C;QAC3C,MAAM,MAAM,GAAI,UAAsC,CAAC,mBAAmB,CAA8B,CAAA;QACxG,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5C,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,yCAAyC,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAClF,6EAA6E;QAC7E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QACvE,wEAAwE;QACxE,2EAA2E;QAC3E,cAAc,EAAE,CAAA;QAChB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC/C,CAAC;gBAAS,CAAC;YACT,YAAY,EAAE,CAAA;QAChB,CAAC;IACH,CAAC;IAEQ,KAAK,GAAG,CAAC,OAAgB,EAAE,GAAa,EAAE,GAAa,EAAqB,EAAE,CACrF,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CACxC"}
@@ -1,11 +1,24 @@
1
- import type { ProviderEntry } from '../provider-registry.js';
1
+ import type { ManifestFingerprint, ProviderEntry } from '../provider-registry.js';
2
2
  /**
3
3
  * Scan node_modules for packages that declare a `rudderjs` field in their
4
4
  * package.json and return sorted provider entries.
5
5
  */
6
6
  export declare function scanProviders(cwd: string): ProviderEntry[];
7
+ /**
8
+ * Fingerprint the dependency state the scan ran against, so the boot path can
9
+ * detect a stale manifest. `depsHash` catches package.json edits (add/remove);
10
+ * the lockfile stat (size/mtime only — the multi-MB file is never read)
11
+ * catches in-range updates that swap an installed package's `rudderjs` field.
12
+ * Absent inputs are omitted; the staleness check skips missing fields.
13
+ */
14
+ export declare function computeFingerprint(cwd: string): ManifestFingerprint;
15
+ /** A manifest is stale when any fingerprint field that exists on both sides differs. */
16
+ export declare function isFingerprintStale(stored: ManifestFingerprint | undefined, current: ManifestFingerprint): boolean;
7
17
  /**
8
18
  * Write the provider manifest to bootstrap/cache/providers.json.
19
+ *
20
+ * Atomic (tmp + rename) so a concurrently booting process never reads a
21
+ * half-written manifest — the boot path may now write this file too.
9
22
  */
10
23
  export declare function writeProviderManifest(cwd: string, sorted: ProviderEntry[]): string;
11
24
  //# sourceMappingURL=providers-discover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers-discover.d.ts","sourceRoot":"","sources":["../../src/commands/providers-discover.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,yBAAyB,CAAA;AAW9E;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAI1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAYlF"}
1
+ {"version":3,"file":"providers-discover.d.ts","sourceRoot":"","sources":["../../src/commands/providers-discover.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAoB,MAAM,yBAAyB,CAAA;AAWnG;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAI1D;AAKD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CA0BnE;AAED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAQjH;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAelF"}
@@ -1,4 +1,5 @@
1
- import { readFileSync, readdirSync, writeFileSync, mkdirSync } from 'node:fs';
1
+ import { readFileSync, readdirSync, writeFileSync, mkdirSync, renameSync, statSync } from 'node:fs';
2
+ import { createHash, randomUUID } from 'node:crypto';
2
3
  import path from 'node:path';
3
4
  import { sortByStageAndDepends } from '../provider-sort.js';
4
5
  /**
@@ -10,19 +11,70 @@ export function scanProviders(cwd) {
10
11
  const entries = scanNodeModules(nodeModules);
11
12
  return sortByStageAndDepends(entries);
12
13
  }
14
+ /** Lockfiles checked (in order) when fingerprinting the dependency state. */
15
+ const LOCKFILES = ['pnpm-lock.yaml', 'package-lock.json', 'yarn.lock', 'bun.lock', 'bun.lockb'];
16
+ /**
17
+ * Fingerprint the dependency state the scan ran against, so the boot path can
18
+ * detect a stale manifest. `depsHash` catches package.json edits (add/remove);
19
+ * the lockfile stat (size/mtime only — the multi-MB file is never read)
20
+ * catches in-range updates that swap an installed package's `rudderjs` field.
21
+ * Absent inputs are omitted; the staleness check skips missing fields.
22
+ */
23
+ export function computeFingerprint(cwd) {
24
+ const fingerprint = {};
25
+ try {
26
+ const pkg = JSON.parse(readFileSync(path.join(cwd, 'package.json'), 'utf-8'));
27
+ fingerprint.depsHash = createHash('sha256')
28
+ .update(JSON.stringify({ dependencies: pkg.dependencies ?? {}, devDependencies: pkg.devDependencies ?? {} }))
29
+ .digest('hex');
30
+ }
31
+ catch {
32
+ // No readable package.json — fingerprint stays partial.
33
+ }
34
+ for (const name of LOCKFILES) {
35
+ try {
36
+ const stat = statSync(path.join(cwd, name));
37
+ fingerprint.lockfile = { name, size: stat.size, mtimeMs: stat.mtimeMs };
38
+ break;
39
+ }
40
+ catch {
41
+ // try the next lockfile
42
+ }
43
+ }
44
+ return fingerprint;
45
+ }
46
+ /** A manifest is stale when any fingerprint field that exists on both sides differs. */
47
+ export function isFingerprintStale(stored, current) {
48
+ if (!stored)
49
+ return true; // legacy v2 manifest — no fingerprint to trust
50
+ if (stored.depsHash && current.depsHash && stored.depsHash !== current.depsHash)
51
+ return true;
52
+ if (stored.lockfile && current.lockfile) {
53
+ const a = stored.lockfile, b = current.lockfile;
54
+ if (a.name !== b.name || a.size !== b.size || a.mtimeMs !== b.mtimeMs)
55
+ return true;
56
+ }
57
+ return false;
58
+ }
13
59
  /**
14
60
  * Write the provider manifest to bootstrap/cache/providers.json.
61
+ *
62
+ * Atomic (tmp + rename) so a concurrently booting process never reads a
63
+ * half-written manifest — the boot path may now write this file too.
15
64
  */
16
65
  export function writeProviderManifest(cwd, sorted) {
17
66
  const manifest = {
18
- version: 2,
67
+ version: 3,
19
68
  generated: new Date().toISOString(),
69
+ fingerprint: computeFingerprint(cwd),
20
70
  providers: sorted,
21
71
  };
22
72
  const cacheDir = path.join(cwd, 'bootstrap/cache');
23
73
  mkdirSync(cacheDir, { recursive: true });
24
74
  const manifestPath = path.join(cacheDir, 'providers.json');
25
- writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + '\n');
75
+ const tmpPath = path.join(cacheDir, `.providers.json.${randomUUID()}.tmp`);
76
+ writeFileSync(tmpPath, JSON.stringify(manifest, null, 2) + '\n');
77
+ renameSync(tmpPath, manifestPath);
26
78
  return manifestPath;
27
79
  }
28
80
  function scanNodeModules(nodeModules) {
@@ -1 +1 @@
1
- {"version":3,"file":"providers-discover.js","sourceRoot":"","sources":["../../src/commands/providers-discover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers-discover.js","sourceRoot":"","sources":["../../src/commands/providers-discover.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,15 @@ export interface DefaultProvidersOptions {
8
8
  /**
9
9
  * Returns the framework's default provider classes, sorted by stage + depends.
10
10
  *
11
- * Resolution order:
12
- * 1. `bootstrap/cache/providers.json` manifest if it exists (run `pnpm rudder providers:discover`).
13
- * 2. Built-in minimal registry as fallback (so cold dev clones boot).
11
+ * Resolution order (self-healing — no manual `providers:discover` needed):
12
+ * 1. `bootstrap/cache/providers.json` manifest, when its fingerprint matches the
13
+ * current dependency state.
14
+ * 2. Manifest missing or stale → scan node_modules at boot. In development the
15
+ * manifest is rewritten; in production a stale manifest is still honored
16
+ * (deterministic boots) with a warning, and a missing one is scanned in
17
+ * memory with a warning — bake the manifest via `rudder providers:discover`
18
+ * in your build step for bundled/serverless deploys.
19
+ * 3. Built-in minimal registry as a last resort (no node_modules to scan).
14
20
  *
15
21
  * Each entry's `package` is dynamically imported via `resolveOptionalPeer`.
16
22
  * Missing non-optional packages log a warning and are skipped; missing optional
@@ -1 +1 @@
1
- {"version":3,"file":"default-providers.d.ts","sourceRoot":"","sources":["../src/default-providers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAK5D,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,EAAE,WAAW,KAAK,eAAe,CAAA;AAErE,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA8DtG"}
1
+ {"version":3,"file":"default-providers.d.ts","sourceRoot":"","sources":["../src/default-providers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAK5D,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,EAAE,WAAW,KAAK,eAAe,CAAA;AAErE,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAwHtG"}
@@ -2,7 +2,7 @@
2
2
  // module stays safe to include in browser bundles. Vite externalizes node:* in
3
3
  // client builds, and a top-level import would crash the browser the moment any
4
4
  // client code transitively touches @rudderjs/core's barrel export.
5
- import { resolveOptionalPeer, config } from '@rudderjs/support';
5
+ import { resolveOptionalPeer, config, Env } from '@rudderjs/support';
6
6
  import { BUILTIN_REGISTRY } from './provider-registry.js';
7
7
  import { sortByStageAndDepends } from './provider-sort.js';
8
8
  // Cached on globalThis (not a module-level let) because Vite SSR can isolate the
@@ -17,9 +17,15 @@ export function getLastLoadedProviderEntries() {
17
17
  /**
18
18
  * Returns the framework's default provider classes, sorted by stage + depends.
19
19
  *
20
- * Resolution order:
21
- * 1. `bootstrap/cache/providers.json` manifest if it exists (run `pnpm rudder providers:discover`).
22
- * 2. Built-in minimal registry as fallback (so cold dev clones boot).
20
+ * Resolution order (self-healing — no manual `providers:discover` needed):
21
+ * 1. `bootstrap/cache/providers.json` manifest, when its fingerprint matches the
22
+ * current dependency state.
23
+ * 2. Manifest missing or stale → scan node_modules at boot. In development the
24
+ * manifest is rewritten; in production a stale manifest is still honored
25
+ * (deterministic boots) with a warning, and a missing one is scanned in
26
+ * memory with a warning — bake the manifest via `rudder providers:discover`
27
+ * in your build step for bundled/serverless deploys.
28
+ * 3. Built-in minimal registry as a last resort (no node_modules to scan).
23
29
  *
24
30
  * Each entry's `package` is dynamically imported via `resolveOptionalPeer`.
25
31
  * Missing non-optional packages log a warning and are skipped; missing optional
@@ -54,22 +60,82 @@ export async function defaultProviders(options = {}) {
54
60
  // Lazy-load node:* so this module stays browser-safe at the top level.
55
61
  const { readFileSync } = await import('node:fs');
56
62
  const path = await import('node:path');
57
- // 1. Try the build-time manifest first
58
- let entries;
63
+ const cwd = process.cwd();
64
+ // Same env derivation as Application (APP_ENV, defaulting to production —
65
+ // the safe side: production never auto-rewrites the manifest).
66
+ const isProduction = Env.get('APP_ENV', 'production') === 'production';
67
+ // 1. Read the manifest (cached fast path)
68
+ let manifest;
59
69
  try {
60
- const manifestPath = path.join(process.cwd(), 'bootstrap/cache/providers.json');
61
- const manifest = JSON.parse(readFileSync(manifestPath, 'utf-8'));
62
- entries = manifest.providers;
70
+ manifest = JSON.parse(readFileSync(path.join(cwd, 'bootstrap/cache/providers.json'), 'utf-8'));
63
71
  }
64
72
  catch {
65
- // 2. Fall back to the built-in minimal registry, sort it ourselves
66
- entries = sortByStageAndDepends(BUILTIN_REGISTRY);
73
+ // missing or unreadable handled below
67
74
  }
68
- // 3. Drop entries explicitly opted out of auto-discovery
75
+ // 2. Self-heal: scan node_modules when the manifest is missing or stale.
76
+ // commands/providers-discover.js has top-level node:* imports, so it is
77
+ // lazy-loaded here to keep this module browser-safe at eval time.
78
+ let entries = manifest?.providers;
79
+ if (manifest) {
80
+ try {
81
+ const { computeFingerprint, isFingerprintStale, scanProviders, writeProviderManifest } = await import('./commands/providers-discover.js');
82
+ if (isFingerprintStale(manifest.fingerprint, computeFingerprint(cwd))) {
83
+ if (isProduction) {
84
+ // Honor the manifest — deterministic boots win in production. Legacy
85
+ // v2 manifests (no fingerprint) are used silently; a genuinely stale
86
+ // v3 fingerprint warns.
87
+ if (manifest.version >= 3) {
88
+ console.warn('[RudderJS] provider manifest is stale (dependencies changed since it was generated). ' +
89
+ 'Using it anyway — run `rudder providers:discover` in your build step to refresh.');
90
+ }
91
+ }
92
+ else {
93
+ const scanned = scanProviders(cwd);
94
+ if (scanned.length > 0) {
95
+ entries = scanned;
96
+ try {
97
+ writeProviderManifest(cwd, scanned);
98
+ }
99
+ catch { /* read-only fs — in-memory result still used */ }
100
+ console.log('[RudderJS] provider manifest regenerated (dependencies changed)');
101
+ }
102
+ }
103
+ }
104
+ }
105
+ catch {
106
+ // Fingerprint check failed — use the manifest as-is.
107
+ }
108
+ }
109
+ else {
110
+ try {
111
+ const { scanProviders, writeProviderManifest } = await import('./commands/providers-discover.js');
112
+ const scanned = scanProviders(cwd);
113
+ if (scanned.length > 0) {
114
+ entries = scanned;
115
+ try {
116
+ writeProviderManifest(cwd, scanned);
117
+ }
118
+ catch { /* read-only fs — in-memory result still used */ }
119
+ if (isProduction) {
120
+ console.warn('[RudderJS] no provider manifest found — scanned node_modules at boot. ' +
121
+ 'Run `rudder providers:discover` in your build step to bake bootstrap/cache/providers.json.');
122
+ }
123
+ else {
124
+ console.log('[RudderJS] provider manifest generated (bootstrap/cache/providers.json)');
125
+ }
126
+ }
127
+ }
128
+ catch {
129
+ // Scan failed — fall through to the built-in registry.
130
+ }
131
+ }
132
+ // 3. Last resort: built-in minimal registry (no manifest, nothing to scan)
133
+ entries ??= sortByStageAndDepends(BUILTIN_REGISTRY);
134
+ // 4. Drop entries explicitly opted out of auto-discovery
69
135
  entries = entries.filter(e => e.autoDiscover !== false);
70
- // 4. Resolve multi-driver collisions (e.g. orm-prisma vs orm-drizzle)
136
+ // 5. Resolve multi-driver collisions (e.g. orm-prisma vs orm-drizzle)
71
137
  entries = resolveMultiDriver(entries, '@rudderjs/orm-', 'database.driver');
72
- // 5. Filter installed + skipped, then resolve each class
138
+ // 6. Filter installed + skipped, then resolve each class
73
139
  const providers = [];
74
140
  const loaded = [];
75
141
  for (const entry of entries) {
@@ -1 +1 @@
1
- {"version":3,"file":"default-providers.js","sourceRoot":"","sources":["../src/default-providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-providers.js","sourceRoot":"","sources":["../src/default-providers.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -23,5 +23,7 @@ export { Collection, Env, env, sleep, ucfirst, tap, pick, omit, defineEnv, Confi
23
23
  export { HttpException, abort, abort_if, abort_unless, report, report_if, setExceptionReporter, } from './exceptions.js';
24
24
  export { config } from './config.js';
25
25
  export type { AppConfig, ConfigKey, ConfigValue } from './config.js';
26
+ export { isDownForMaintenance, maintenanceData, down, up, maintenanceMiddleware, MAINTENANCE_BYPASS_COOKIE, } from './maintenance.js';
27
+ export type { MaintenanceData, MaintenanceMiddlewareOptions } from './maintenance.js';
26
28
  export type { AppRequest, AppResponse, RouteHandler, MiddlewareHandler, HttpMethod, RouteDefinition, ServerAdapter, ServerAdapterFactory, FetchHandler, ServerAdapterProvider, } from '@rudderjs/contracts';
27
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,GAAG,EACH,OAAO,EACP,YAAY,GACb,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAIlH,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAI3G,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACzE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIzD,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AACvF,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAChE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAIzC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC7F,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAIvD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AAC7G,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAI/E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC5H,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAItG,OAAO,EACL,UAAU,EACV,GAAG,EACH,GAAG,EACH,KAAK,EACL,OAAO,EACP,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,IAAI,EACJ,EAAE,GACH,MAAM,mBAAmB,CAAA;AAI1B,OAAO,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,SAAS,EACT,oBAAoB,GACrB,MAAM,iBAAiB,CAAA;AAMxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIpE,YAAY,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,GACtB,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -25,4 +25,9 @@ export { HttpException, abort, abort_if, abort_unless, report, report_if, setExc
25
25
  // Overrides the untyped config() from @rudderjs/support with a version
26
26
  // that infers return types from the augmented AppConfig interface.
27
27
  export { config } from './config.js';
28
+ // ─── Maintenance mode ──────────────────────────────────────
29
+ // Node-only (static node:fs/node:path) — deliberately NOT re-exported from
30
+ // @rudderjs/core/client. app-builder reaches maintenanceMiddleware via a lazy
31
+ // import inside the server-only request-handler path.
32
+ export { isDownForMaintenance, maintenanceData, down, up, maintenanceMiddleware, MAINTENANCE_BYPASS_COOKIE, } from './maintenance.js';
28
33
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,GAAG,EACH,OAAO,EACP,YAAY,GACb,MAAM,kBAAkB,CAAA;AAGzB,8DAA8D;AAE9D,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE3G,8DAA8D;AAE9D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGzE,8DAA8D;AAE9D,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,8DAA8D;AAE9D,OAAO,EAAY,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE7F,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG5C,8DAA8D;AAE9D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AAG7G,6DAA6D;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAG5H,8DAA8D;AAE9D,OAAO,EACL,UAAU,EACV,GAAG,EACH,GAAG,EACH,KAAK,EACL,OAAO,EACP,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,IAAI,EACJ,EAAE,GACH,MAAM,mBAAmB,CAAA;AAE1B,8DAA8D;AAE9D,OAAO,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,SAAS,EACT,oBAAoB,GACrB,MAAM,iBAAiB,CAAA;AAExB,8DAA8D;AAC9D,uEAAuE;AACvE,mEAAmE;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,GAAG,EACH,OAAO,EACP,YAAY,GACb,MAAM,kBAAkB,CAAA;AAGzB,8DAA8D;AAE9D,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE3G,8DAA8D;AAE9D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGzE,8DAA8D;AAE9D,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,8DAA8D;AAE9D,OAAO,EAAY,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE7F,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG5C,8DAA8D;AAE9D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AAG7G,6DAA6D;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAG5H,8DAA8D;AAE9D,OAAO,EACL,UAAU,EACV,GAAG,EACH,GAAG,EACH,KAAK,EACL,OAAO,EACP,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,IAAI,EACJ,EAAE,GACH,MAAM,mBAAmB,CAAA;AAE1B,8DAA8D;AAE9D,OAAO,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,SAAS,EACT,oBAAoB,GACrB,MAAM,iBAAiB,CAAA;AAExB,8DAA8D;AAC9D,uEAAuE;AACvE,mEAAmE;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,8DAA8D;AAC9D,2EAA2E;AAC3E,8EAA8E;AAC9E,sDAAsD;AAEtD,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,IAAI,EACJ,EAAE,EACF,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Maintenance mode — Laravel's `artisan down` / `artisan up`.
3
+ *
4
+ * A JSON flag file at `storage/framework/down` marks the app as down. While it
5
+ * exists, the kernel {@link maintenanceMiddleware} (auto-installed first in the
6
+ * request pipeline by `app-builder`'s `_createHandler`) returns `503` with a
7
+ * `Retry-After` header for every request — except requests that match the
8
+ * allow-list or carry the bypass secret.
9
+ *
10
+ * **Node-only.** This module statically imports `node:fs`/`node:path`, so it is
11
+ * exported only from `@rudderjs/core`'s main entry, never from
12
+ * `@rudderjs/core/client`. `app-builder` reaches it via a lazy
13
+ * `await import('./maintenance.js')` inside `_createHandler` (server-only), so
14
+ * the client bundle never evaluates it.
15
+ */
16
+ import type { MiddlewareHandler } from '@rudderjs/contracts';
17
+ /** Shape of the `storage/framework/down` flag file. */
18
+ export interface MaintenanceData {
19
+ /** Epoch ms the app was taken down — informational. */
20
+ time: number;
21
+ /** Message shown in the 503 body. */
22
+ message?: string;
23
+ /** Seconds for the `Retry-After` header. */
24
+ retry?: number;
25
+ /** Bypass token — a request with `?secret=<token>` is let through and gets a cookie. */
26
+ secret?: string;
27
+ /** Extra paths let through while down (supports a trailing `*` wildcard). */
28
+ allow?: string[];
29
+ }
30
+ /** Cookie name carrying the bypass secret on subsequent requests. */
31
+ export declare const MAINTENANCE_BYPASS_COOKIE = "rudder_maintenance_bypass";
32
+ /** `true` when the app is in maintenance mode (the flag file exists). */
33
+ export declare function isDownForMaintenance(cwd?: string): boolean;
34
+ /** Read the maintenance flag file, or `null` when up / unreadable / malformed. */
35
+ export declare function maintenanceData(cwd?: string): MaintenanceData | null;
36
+ /** Put the app into maintenance mode — writes the flag file (creating dirs). */
37
+ export declare function down(data: MaintenanceData, cwd?: string): void;
38
+ /** Bring the app back up — removes the flag file. Returns `false` if already up. */
39
+ export declare function up(cwd?: string): boolean;
40
+ export interface MaintenanceMiddlewareOptions {
41
+ /**
42
+ * Paths always let through while down (in addition to any `allow` list stored
43
+ * in the flag file). Supports a trailing `*` wildcard.
44
+ */
45
+ except?: string[];
46
+ }
47
+ /**
48
+ * Kernel middleware that short-circuits every request with `503` while the app
49
+ * is down. A pure `existsSync` no-op when the app is up, so it's cheap to keep
50
+ * installed globally and first (Laravel's `PreventRequestsDuringMaintenance`).
51
+ *
52
+ * Let through while down:
53
+ * - requests whose path matches the allow-list (`options.except` ∪ the flag
54
+ * file's `allow`),
55
+ * - requests carrying the bypass secret via `?secret=<token>` (a bypass cookie
56
+ * is set so subsequent requests pass) or an already-set bypass cookie.
57
+ */
58
+ export declare function maintenanceMiddleware(options?: MaintenanceMiddlewareOptions): MiddlewareHandler;
59
+ //# sourceMappingURL=maintenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maintenance.d.ts","sourceRoot":"","sources":["../src/maintenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAA2B,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAErF,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,IAAI,EAAM,MAAM,CAAA;IAChB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4CAA4C;IAC5C,KAAK,CAAC,EAAI,MAAM,CAAA;IAChB,wFAAwF;IACxF,MAAM,CAAC,EAAG,MAAM,CAAA;IAChB,6EAA6E;IAC7E,KAAK,CAAC,EAAI,MAAM,EAAE,CAAA;CACnB;AAKD,qEAAqE;AACrE,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AAMpE,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAEzE;AAED,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG,eAAe,GAAG,IAAI,CAMnF;AAED,gFAAgF;AAChF,wBAAgB,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,GAAE,MAAsB,GAAG,IAAI,CAI7E;AAED,oFAAoF;AACpF,wBAAgB,EAAE,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAKvD;AAkBD,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,iBAAiB,CA8BnG"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Maintenance mode — Laravel's `artisan down` / `artisan up`.
3
+ *
4
+ * A JSON flag file at `storage/framework/down` marks the app as down. While it
5
+ * exists, the kernel {@link maintenanceMiddleware} (auto-installed first in the
6
+ * request pipeline by `app-builder`'s `_createHandler`) returns `503` with a
7
+ * `Retry-After` header for every request — except requests that match the
8
+ * allow-list or carry the bypass secret.
9
+ *
10
+ * **Node-only.** This module statically imports `node:fs`/`node:path`, so it is
11
+ * exported only from `@rudderjs/core`'s main entry, never from
12
+ * `@rudderjs/core/client`. `app-builder` reaches it via a lazy
13
+ * `await import('./maintenance.js')` inside `_createHandler` (server-only), so
14
+ * the client bundle never evaluates it.
15
+ */
16
+ import fs from 'node:fs';
17
+ import path from 'node:path';
18
+ /** App-relative path to the maintenance flag file. */
19
+ const DOWN_FILE = path.join('storage', 'framework', 'down');
20
+ /** Cookie name carrying the bypass secret on subsequent requests. */
21
+ export const MAINTENANCE_BYPASS_COOKIE = 'rudder_maintenance_bypass';
22
+ function downPath(cwd) {
23
+ return path.join(cwd, DOWN_FILE);
24
+ }
25
+ /** `true` when the app is in maintenance mode (the flag file exists). */
26
+ export function isDownForMaintenance(cwd = process.cwd()) {
27
+ return fs.existsSync(downPath(cwd));
28
+ }
29
+ /** Read the maintenance flag file, or `null` when up / unreadable / malformed. */
30
+ export function maintenanceData(cwd = process.cwd()) {
31
+ try {
32
+ return JSON.parse(fs.readFileSync(downPath(cwd), 'utf8'));
33
+ }
34
+ catch {
35
+ return null;
36
+ }
37
+ }
38
+ /** Put the app into maintenance mode — writes the flag file (creating dirs). */
39
+ export function down(data, cwd = process.cwd()) {
40
+ const file = downPath(cwd);
41
+ fs.mkdirSync(path.dirname(file), { recursive: true });
42
+ fs.writeFileSync(file, JSON.stringify(data, null, 2));
43
+ }
44
+ /** Bring the app back up — removes the flag file. Returns `false` if already up. */
45
+ export function up(cwd = process.cwd()) {
46
+ const file = downPath(cwd);
47
+ if (!fs.existsSync(file))
48
+ return false;
49
+ fs.rmSync(file, { force: true });
50
+ return true;
51
+ }
52
+ // ─── Middleware ────────────────────────────────────────────
53
+ function parseCookies(header) {
54
+ return Object.fromEntries(header.split(';')
55
+ .map(c => c.trim().split('='))
56
+ .filter(([k]) => k?.trim())
57
+ .map(([k, ...v]) => [(k ?? '').trim(), v.join('=')]));
58
+ }
59
+ /** Path matches an allow-list entry (exact, or prefix when it ends with `*`). */
60
+ function matches(path, patterns) {
61
+ return patterns.some(p => (p.endsWith('*') ? path.startsWith(p.slice(0, -1)) : path === p));
62
+ }
63
+ /**
64
+ * Kernel middleware that short-circuits every request with `503` while the app
65
+ * is down. A pure `existsSync` no-op when the app is up, so it's cheap to keep
66
+ * installed globally and first (Laravel's `PreventRequestsDuringMaintenance`).
67
+ *
68
+ * Let through while down:
69
+ * - requests whose path matches the allow-list (`options.except` ∪ the flag
70
+ * file's `allow`),
71
+ * - requests carrying the bypass secret via `?secret=<token>` (a bypass cookie
72
+ * is set so subsequent requests pass) or an already-set bypass cookie.
73
+ */
74
+ export function maintenanceMiddleware(options = {}) {
75
+ return (req, res, next) => {
76
+ if (!isDownForMaintenance())
77
+ return next();
78
+ // Never gate Vite internals / static assets — keeps the dev overlay and
79
+ // HMR socket alive even if someone runs `rudder down` in dev.
80
+ if (req.path.startsWith('/@') || (req.path.split('/').pop() ?? '').includes('.')) {
81
+ return next();
82
+ }
83
+ const data = maintenanceData() ?? { time: 0 };
84
+ const allow = [...(options.except ?? []), ...(data.allow ?? [])];
85
+ if (matches(req.path, allow))
86
+ return next();
87
+ // Bypass secret — via cookie (already bypassed) or `?secret=` (set cookie).
88
+ if (data.secret) {
89
+ const cookies = parseCookies(req.headers['cookie'] ?? '');
90
+ if (cookies[MAINTENANCE_BYPASS_COOKIE] === data.secret)
91
+ return next();
92
+ if (req.query['secret'] === data.secret) {
93
+ res.header('Set-Cookie', `${MAINTENANCE_BYPASS_COOKIE}=${data.secret}; Path=/; HttpOnly; SameSite=Strict`);
94
+ return next();
95
+ }
96
+ }
97
+ if (typeof data.retry === 'number' && data.retry > 0) {
98
+ res.header('Retry-After', String(data.retry));
99
+ }
100
+ res.status(503).json({ message: data.message ?? 'Service Unavailable' });
101
+ return Promise.resolve();
102
+ };
103
+ }
104
+ //# sourceMappingURL=maintenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../src/maintenance.ts"],"names":[],"mappings":"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"}
@@ -28,9 +28,26 @@ export interface ProviderEntry {
28
28
  */
29
29
  providerSubpath?: string;
30
30
  }
31
+ /**
32
+ * Fingerprint of the dependency state a manifest was scanned from. Lets
33
+ * `defaultProviders()` detect a stale manifest (raw `pnpm add/remove/update`
34
+ * without a `providers:discover` run) and self-heal at boot.
35
+ */
36
+ export interface ManifestFingerprint {
37
+ /** sha256 of JSON({ dependencies, devDependencies }) from the app package.json. */
38
+ depsHash?: string;
39
+ /** Stat of the first lockfile found — size/mtime only, the file is never read. */
40
+ lockfile?: {
41
+ name: string;
42
+ size: number;
43
+ mtimeMs: number;
44
+ };
45
+ }
31
46
  export interface ProviderManifest {
32
- version: 2;
47
+ /** v2 = legacy (no fingerprint); v3 adds `fingerprint`. */
48
+ version: 2 | 3;
33
49
  generated: string;
50
+ fingerprint?: ManifestFingerprint;
34
51
  providers: ProviderEntry[];
35
52
  }
36
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"provider-registry.d.ts","sourceRoot":"","sources":["../src/provider-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,gBAAgB,GAAG,SAAS,GAAG,YAAY,CAAA;AAEtF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAQ,MAAM,CAAA;IACrB,QAAQ,EAAO,MAAM,CAAA;IACrB,KAAK,EAAU,aAAa,CAAA;IAC5B,OAAO,CAAC,EAAO,MAAM,EAAE,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,EAAM,OAAO,CAAA;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAI,CAAC,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,aAAa,EAAE,CAAA;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,EAS3C,CAAA"}
1
+ {"version":3,"file":"provider-registry.d.ts","sourceRoot":"","sources":["../src/provider-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,gBAAgB,GAAG,SAAS,GAAG,YAAY,CAAA;AAEtF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAQ,MAAM,CAAA;IACrB,QAAQ,EAAO,MAAM,CAAA;IACrB,KAAK,EAAU,aAAa,CAAA;IAC5B,OAAO,CAAC,EAAO,MAAM,EAAE,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,EAAM,OAAO,CAAA;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kFAAkF;IAClF,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAC3D;AAED,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,OAAO,EAAO,CAAC,GAAG,CAAC,CAAA;IACnB,SAAS,EAAK,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC,SAAS,EAAK,aAAa,EAAE,CAAA;CAC9B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,EAS3C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider-registry.js","sourceRoot":"","sources":["../src/provider-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+BH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,OAAO,EAAE,eAAe,EAAS,QAAQ,EAAE,aAAa,EAAO,KAAK,EAAE,YAAY,EAAM,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,mBAAmB,EAAK,QAAQ,EAAE,iBAAiB,EAAG,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,gBAAgB,EAAQ,QAAQ,EAAE,cAAc,EAAM,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,iBAAiB,EAAO,QAAQ,EAAE,eAAe,EAAK,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI;QACtG,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE;IAC9B,EAAE,OAAO,EAAE,gBAAgB,EAAQ,QAAQ,EAAE,cAAc,EAAM,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI;QACtG,OAAO,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,EAAE;CACrD,CAAA"}
1
+ {"version":3,"file":"provider-registry.js","sourceRoot":"","sources":["../src/provider-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA6CH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,OAAO,EAAE,eAAe,EAAS,QAAQ,EAAE,aAAa,EAAO,KAAK,EAAE,YAAY,EAAM,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,mBAAmB,EAAK,QAAQ,EAAE,iBAAiB,EAAG,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,gBAAgB,EAAQ,QAAQ,EAAE,cAAc,EAAM,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,iBAAiB,EAAO,QAAQ,EAAE,eAAe,EAAK,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI;QACtG,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE;IAC9B,EAAE,OAAO,EAAE,gBAAgB,EAAQ,QAAQ,EAAE,cAAc,EAAM,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI;QACtG,OAAO,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,EAAE;CACrD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderjs/core",
3
- "version": "1.9.0",
3
+ "version": "1.11.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -47,8 +47,8 @@
47
47
  "reflect-metadata": "^0.2.2",
48
48
  "zod": "^4.0.0",
49
49
  "@rudderjs/console": "^1.4.0",
50
- "@rudderjs/contracts": "^1.13.0",
51
- "@rudderjs/router": "^1.8.0",
50
+ "@rudderjs/contracts": "^1.15.0",
51
+ "@rudderjs/router": "^1.9.0",
52
52
  "@rudderjs/support": "^1.6.0"
53
53
  },
54
54
  "devDependencies": {