comfyui-node 1.4.4 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.js CHANGED
@@ -656,6 +656,42 @@ export class ComfyApi extends TypedEventTarget {
656
656
  createSocket(isReconnect = false) {
657
657
  let reconnecting = false;
658
658
  let usePolling = false;
659
+ let opened = false;
660
+ const stopHeartbeat = () => {
661
+ if (this.wsTimer) {
662
+ clearInterval(this.wsTimer);
663
+ this.wsTimer = null;
664
+ }
665
+ };
666
+ const startHeartbeat = () => {
667
+ stopHeartbeat();
668
+ if (!Number.isFinite(this.wsTimeout) || this.wsTimeout <= 0) {
669
+ return;
670
+ }
671
+ const interval = Math.max(1000, Math.floor(this.wsTimeout / 2));
672
+ this.wsTimer = setInterval(() => {
673
+ if (!this.socket || this.socket.readyState !== WebSocket.OPEN) {
674
+ return;
675
+ }
676
+ const idleFor = Date.now() - this.lastActivity;
677
+ if (idleFor >= this.wsTimeout) {
678
+ this.log("socket", "Heartbeat ping after inactivity", { idleMs: idleFor, wsTimeout: this.wsTimeout });
679
+ try {
680
+ const wsAny = this.socket;
681
+ if (typeof wsAny.ping === "function") {
682
+ wsAny.ping();
683
+ this.resetLastActivity();
684
+ }
685
+ else {
686
+ this.log("socket", "Heartbeat ping skipped - unsupported by WebSocket implementation");
687
+ }
688
+ }
689
+ catch (error) {
690
+ this.log("socket", "Heartbeat ping failed", error);
691
+ }
692
+ }
693
+ }, interval);
694
+ };
659
695
  // Track last seen executing node + prompt id for correlation
660
696
  let lastExecutingNode = null;
661
697
  let lastPromptId = null;
@@ -679,24 +715,60 @@ export class ComfyApi extends TypedEventTarget {
679
715
  this.socket = new WebSocket(wsUrl, {
680
716
  headers: headers
681
717
  });
682
- this.socket.onclose = () => {
683
- if (reconnecting || isReconnect)
718
+ const wsEventSource = this.socket;
719
+ if (typeof wsEventSource.on === "function") {
720
+ wsEventSource.on("pong", () => this.resetLastActivity());
721
+ wsEventSource.on("ping", () => this.resetLastActivity());
722
+ }
723
+ else {
724
+ this.socket.addEventListener?.("pong", () => this.resetLastActivity());
725
+ this.socket.addEventListener?.("ping", () => this.resetLastActivity());
726
+ }
727
+ const activeSocket = this.socket;
728
+ this.socket.onclose = (_event) => {
729
+ const closeEvent = _event;
730
+ const code = closeEvent?.code ?? undefined;
731
+ const reason = closeEvent?.reason ?? undefined;
732
+ const wasClean = closeEvent?.wasClean ?? undefined;
733
+ stopHeartbeat();
734
+ if (this.socket === activeSocket) {
735
+ this.socket = null;
736
+ }
737
+ if (reconnecting || isReconnect) {
684
738
  return;
739
+ }
685
740
  reconnecting = true;
686
- this.log("socket", "Socket closed -> Reconnecting");
687
- this.reconnectWs(true);
741
+ const shouldEmit = opened;
742
+ opened = false;
743
+ this.log("socket", "Socket closed", { code, reason, wasClean, shouldEmit, isReconnect });
744
+ if (shouldEmit) {
745
+ this.dispatchEvent(new CustomEvent("status", { detail: null }));
746
+ }
747
+ this.reconnectWs(shouldEmit);
748
+ if (!opened && !isReconnect && !usePolling) {
749
+ usePolling = true;
750
+ this.log("socket", "Socket failed to open, enabling polling fallback");
751
+ this.setupPollingFallback();
752
+ }
688
753
  };
689
754
  this.socket.onopen = () => {
690
755
  this.resetLastActivity();
691
756
  reconnecting = false;
757
+ opened = true;
692
758
  usePolling = false; // Reset polling flag if we have an open connection
693
759
  this.log("socket", "Socket opened");
760
+ stopHeartbeat();
761
+ startHeartbeat();
694
762
  if (isReconnect) {
695
763
  this.dispatchEvent(new CustomEvent("reconnected"));
696
764
  }
697
765
  else {
698
766
  this.dispatchEvent(new CustomEvent("connected"));
699
767
  }
768
+ if (this._pollingTimer) {
769
+ clearInterval(this._pollingTimer);
770
+ this._pollingTimer = null;
771
+ }
700
772
  // Announce feature flags (configurable via constructor option)
701
773
  this.socket?.send(JSON.stringify({
702
774
  type: "feature_flags",
@@ -856,25 +928,12 @@ export class ComfyApi extends TypedEventTarget {
856
928
  };
857
929
  this.socket.onerror = (e) => {
858
930
  this.log("socket", "Socket error", e);
859
- // If this is the first error and we're not already in reconnect mode
860
- if (!reconnecting && !usePolling) {
931
+ if (!opened && !isReconnect && !usePolling) {
861
932
  usePolling = true;
862
- this.log("socket", "WebSocket error, will try polling as fallback");
933
+ this.log("socket", "WebSocket error before open, enabling polling fallback");
863
934
  this.setupPollingFallback();
864
935
  }
865
936
  };
866
- if (!isReconnect) {
867
- this.wsTimer = setInterval(() => {
868
- if (reconnecting)
869
- return;
870
- const idleFor = Date.now() - this.lastActivity;
871
- if (idleFor > this.wsTimeout) {
872
- reconnecting = true;
873
- this.log("socket", "Connection timed out, reconnecting...", { idleMs: idleFor, wsTimeout: this.wsTimeout });
874
- this.reconnectWs(true);
875
- }
876
- }, this.wsTimeout / 2);
877
- }
878
937
  }
879
938
  }
880
939
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAA+B,MAAM,eAAe,CAAC;AAetE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,QAAS,SAAQ,gBAAmC;IAC/D,gEAAgE;IACzD,OAAO,CAAS;IACvB,+DAA+D;IACxD,MAAM,CAAU,CAAC,yBAAyB;IACjD,iEAAiE;IAC1D,OAAO,GAAY,KAAK,CAAC;IAChC,8CAA8C;IACtC,YAAY,CAAgB;IAC5B,YAAY,CAAwB;IAC5C,6DAA6D;IACtD,cAAc,GAAY,KAAK,CAAC;IACvC,+EAA+E;IACxE,YAAY,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzC,uEAAuE;IACtD,SAAS,GAAW,KAAK,CAAC;IACnC,OAAO,GAA0B,IAAI,CAAC;IACtC,aAAa,GAAmC,IAAI,CAAC;IAE7D,8DAA8D;IAC7C,OAAO,CAAS;IACzB,QAAQ,CAAgB;IACxB,MAAM,GAAqB,IAAI,CAAC;IAChC,SAAS,GAIZ,EAAE,CAAC;IAGS,WAAW,GAAyE,IAAI,CAAC;IAE1G,cAAc,CAAU;IACxB,kEAAkE;IAC1D,MAAM,GAAY,KAAK,CAAC;IAExB,OAAO,GAA2B,EAAE,CAAC;IAC7C,+DAA+D;IACvD,qBAAqB,GAA6B;QACxD,yBAAyB,EAAE,IAAI;QAC/B,eAAe,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;KAClC,CAAC;IAEF,6EAA6E;IACtE,GAAG,GAAG;QACX,4CAA4C;QAC5C,OAAO,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC;QACjC,oDAAoD;QACpD,OAAO,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC;QACpC,wCAAwC;QACxC,KAAK,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC;QAC7B,gCAAgC;QAChC,OAAO,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC;QACjC,iCAAiC;QACjC,MAAM,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC;QAC/B,sDAAsD;QACtD,IAAI,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC;QAC3B,2BAA2B;QAC3B,IAAI,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC;QAC3B,8DAA8D;QAC9D,IAAI,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC;QAC3B,4CAA4C;QAC5C,KAAK,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC;QAC7B,gDAAgD;QAChD,QAAQ,EAAE,IAAI,eAAe,CAAC,IAAI,CAAC;QACnC,mDAAmD;QACnD,IAAI,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC;QAC3B,sCAAsC;QACtC,YAAY,EAAE,IAAI,mBAAmB,CAAC,IAAI,CAAC;KACnC,CAAC;IAEX,qDAAqD;IAC7C,SAAS,CAAC,GAAQ;QAKxB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,UAAU;QACf,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;YACxE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YAC1C,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,EAAE,CACP,IAAO,EACP,QAA+C,EAC/C,OAA2C;QAE3C,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAe,EAAE,OAAO,EAAE,CAAC,CAAC;QACxE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAEM,GAAG,CACR,IAAO,EACP,QAA+C,EAC/C,OAAwC;QAExC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC;QAC7F,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,QAAe,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAEM,kBAAkB;QACvB,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAc,EAAE,QAAQ,CAAC,OAAc,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,IAAI,iBAAiB;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CACjC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAA4B,CAAC,CAAC,CAAC;YACpE,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/C,CAAC,EACD,EAA6B,CAC9B,CAAC;IACJ,CAAC;IAED,YACE,IAAY,EACZ,WAAmB,QAAQ,CAAC,UAAU,EAAE,EACxC,IAgCC;QAED,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;YAC5C,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,WAAW,CAAC;YACrC,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;YACnB,IAAY,CAAC,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnD,CAAC;QAED,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,OAAO,KAAK,WAAW,IAAK,OAAe,EAAE,GAAG,EAAE,WAAW,CAAC;YACtF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC;QAClF,CAAC;QAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;QAExD,0CAA0C;QAC1C,IAAI,IAAI,EAAE,oBAAoB,EAAE,CAAC;YAC/B,IAAI,CAAC,qBAAqB,GAAG;gBAC3B,GAAG,IAAI,CAAC,qBAAqB;gBAC7B,GAAG,IAAI,CAAC,oBAAoB;aAC7B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE;YACrC,IAAI;YACJ,QAAQ;YACR,IAAI;SACL,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QAC5C,mCAAmC;QACnC,IAAK,IAAY,CAAC,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACA,IAAY,CAAC,UAAU,GAAG,IAAI,CAAC;QAEhC,2BAA2B;QAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,mCAAmC;QACnC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,aAAa,CAAC,IAAI,CAAC,aAAoB,CAAC,CAAC;YACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,2DAA2D;QAC3D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,4BAA4B;gBAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;gBAE1B,iCAAiC;gBACjC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;oBACjG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,CAAC;gBAED,qCAAqC;gBACrC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,+BAA+B,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAA4B,CAAC,CAAC,CAAC;gBACpE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,8BAA8B,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IACrD,CAAC;IAEO,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,IAAU;QACrD,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACpC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC;gBACzC,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChF,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,MAAM,OAAO,OAAO,EAAE,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;YACrF,CAAC;YAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAa;QACzB,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC;IACnC,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QACjC,QAAQ,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;YAC/B,KAAK,OAAO;gBACV,OAAO;oBACL,aAAa,EAAE,SAAS,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;iBAC5F,CAAC;YACJ,KAAK,cAAc;gBACjB,OAAO;oBACL,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;iBAClD,CAAC;YACJ,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAClC;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACpC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACrB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjE,OAAO;gBACT,CAAC;YACH,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;QACnE;;WAEG;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,OAAsB;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QACD,OAAO,CAAC,OAAO,GAAG;YAChB,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,IAAI,CAAC,oBAAoB,EAAE;SAC/B,CAAC;QACF,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;QACtB,8EAA8E;QAC9E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI;QAC7B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC9C,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,uFAAuF;IAEvF;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,wDAAwD;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,YAAqB,EAAE,UAAmB;QACzD,MAAM,OAAO,GAAG;YACd,aAAa,EAAE,YAAY;YAC3B,WAAW,EAAE,UAAU;SACxB,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC5C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aAC9B,CAAC,CAAC;YAEH,sCAAsC;YACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC;gBACvD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,6BAA6B;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,SAAS,GAAG,IAAI;QACxC,IAAI,CAAC;YACH,2BAA2B;YAC3B,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAE5C,uCAAuC;YACvC,qEAAqE;YACrE,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBACnD,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,MAAM,GAAG,SAAmB,CAAC;YACpC,CAAC;YAED,kCAAkC;YAClC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAE1B,gDAAgD;YAChD,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,+FAA+F;YAC/F,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBACxD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAE,CAAC,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YAED,gBAAgB;YAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,qCAAqC;YACrC,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW;YACb,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,CAAC,CAAC,sBAAsB;QACjC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,EAAE,SAAS,GAAG,IAAI;QACvD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,kCAAkC;YAC1D,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;aACzB,IAAI,CAAC,GAAG,EAAE;YACT,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,EAAW,CAAC;QACpE,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAW,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW,CAAC,YAAsB;QAC7C,IAAK,IAAY,CAAC,oBAAoB,EAAE,CAAC;YACvC,mDAAmD;YACnD,IAAI,CAAC;gBACF,IAAY,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;QACb,CAAC;QACA,IAAY,CAAC,oBAAoB,GAAG,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YAC9F,aAAa,EAAE,CAAC,CAAC,YAAY;YAC7B,WAAW,EAAG,IAAY,CAAC,UAAU,EAAE,WAAW;YAClD,WAAW,EAAG,IAAY,CAAC,UAAU,EAAE,WAAW;YAClD,UAAU,EAAG,IAAY,CAAC,UAAU,EAAE,UAAU;YAChD,QAAQ,EAAG,IAAY,CAAC,UAAU,EAAE,QAAQ;YAC5C,aAAa,EAAG,IAAY,CAAC,UAAU,EAAE,aAAa;YACtD,aAAa,EAAG,IAAY,CAAC,UAAU,EAAE,aAAa;SACvD,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IAC7D,cAAc;QACnB,IAAI,CAAC;YACF,IAAY,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;IACb,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,qDAAqD;IAC9C,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACK,0BAA0B,CAAC,EAAc,EAAE,aAAqB;QACtE,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,GAAG,aAAa,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;QACX,oCAAoC;QACpC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,aAAa,GAAG,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;YACpC,IAAI,OAAO,GAAG,EAAE,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YACzC,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,QAAa,CAAC;YAClB,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAQ,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,CAAC;YACD,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC;YAC/D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,GAAG,CACd,EAAO,EACP,IAAuE;QAEvE,IAAI,EAAE,YAAY,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,IAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAClG,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;gBACtB,IAAI,OAAO,IAAI,OAAQ,OAAe,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;oBACxD,OAAe,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3F,CAAC;qBAAM,IAAI,OAAO,IAAI,OAAQ,OAAe,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACpE,OAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,0BAA0B;QAC1B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;YACnC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YACjG,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;gBACtB,IAAI,OAAO,IAAI,OAAQ,OAAe,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;oBACxD,OAAe,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3F,CAAC;qBAAM,IAAI,OAAO,IAAI,OAAQ,OAAe,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACpE,OAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,kGAAkG;IAC1F,kBAAkB,CAAC,GAAQ;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACrB,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,EAAE,KAAK,UAAU,CAAC;QAC3C,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC;QAC/C,IAAI,KAAK,IAAI,OAAO;YAAE,OAAO,GAAG,CAAC,CAAC,wBAAwB;QAC1D,0BAA0B;QAC1B,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACnC,MAAM,SAAS,GAA+B,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,GAAG,IAAW,EAAE,EAAE,CAC3C,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACpC,IAAI,CAAC;oBACH,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACd,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YACL,iCAAiC;YACjC,GAAG,CAAC,IAAI,CACN,CAAC,GAAQ,EAAE,EAAE;gBACX,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC;gBAC3D,OAAO,GAAG,CAAC;YACb,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;gBACX,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACpB,MAAM,GAAG,CAAC;YACZ,CAAC,CACF,CAAC;YACF,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gBACxB,EAAE,CAAC,GAAW,EAAE,EAAY;oBAC1B,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACjD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,GAAG,CAAC,GAAW,EAAE,EAAY;oBAC3B,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;oBAChE,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI;oBACF,OAAO,GAAG,CAAC;gBACb,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,+DAA+D;IACxD,KAAK,CAAC,WAAW,CACtB,EAAO,EACP,IAAuE;QAEvE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,yEAAyE;IAClE,KAAK,CAAC,UAAU,CACrB,EAAO,EACP,IAAgD;QAEhD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC3F,OAAQ,GAAW,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,cAAuB,KAAK;QAC/C,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,6DAA6D;QAC7D,IAAI,iBAAiB,GAAkB,IAAI,CAAC;QAC5C,IAAI,YAAY,GAAkB,IAAI,CAAC;QAEvC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,2CAA2C,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG;YACd,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,IAAI,CAAC,oBAAoB,EAAE;SAC/B,CAAC;QAEF,MAAM,eAAe,GAAG,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,OAAO,MAAM,eAAe,EAAE,CAAC;QACvG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,6BAA6B,EAAE;YAChD,GAAG,EAAE,KAAK;YACV,4DAA4D;YAC5D,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SAClC,CAAC,CAAC;QAEH,qCAAqC;QACrC,IAAI,CAAC;YAEH,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE;gBACjC,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;gBACzB,IAAI,YAAY,IAAI,WAAW;oBAAE,OAAO;gBACxC,YAAY,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;gBACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;gBACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,YAAY,GAAG,KAAK,CAAC;gBACrB,UAAU,GAAG,KAAK,CAAC,CAAC,mDAAmD;gBACvE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBACpC,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnD,CAAC;gBAED,+DAA+D;gBAC/D,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,qBAAqB;iBACjC,CAAC,CACH,CAAC;YACJ,CAAC,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,oDAAoD,EAAE,KAAK,CAAC,CAAC;YAChF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,UAAU,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAEhF,2BAA2B;YAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QAED,gEAAgE;QAChE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;gBAChC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC;oBAEH,+FAA+F;oBAC/F,IAAI,EAAE,GAAsB,IAAI,CAAC;oBACjC,IAAI,KAAK,CAAC,IAAI,YAAY,MAAM,EAAE,CAAC;wBACjC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;oBAClB,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,YAAY,WAAW,EAAE,CAAC;wBAC7C,EAAE,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClC,CAAC;yBAAM,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAuB,CAAC;wBAC9C,EAAE,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC9E,CAAC;oBAED,IAAI,EAAE,EAAE,CAAC;wBACP,IAAI,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;4BACtB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,2CAA2C,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;4BACzF,OAAO;wBACT,CAAC;wBACD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;wBACnE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC;wBAC1E,QAAQ,SAAS,EAAE,CAAC;4BAClB,KAAK,CAAC,CAAC,CAAC,CAAC;gCACP,yCAAyC;gCACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;gCACrD,MAAM,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;gCAC/D,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gCAC/D,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,6BAA6B,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gCAC5F,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gCACxE,MAAM;4BACR,CAAC;4BACD,KAAK,CAAC,CAAC,CAAC,CAAC;gCACP,6DAA6D;gCAC7D,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gCAC1B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,iCAAiC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gCAClF,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAS,CAAC,CAAC,CAAC;gCAC/E,MAAM;4BACR,CAAC;4BACD,KAAK,CAAC,CAAC,CAAC,CAAC;gCACP,0DAA0D;gCAC1D,IAAI,CAAC;oCACH,IAAI,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;wCACtB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,wBAAwB,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;wCACtE,MAAM;oCACR,CAAC;oCACD,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;oCACpE,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;oCAC3D,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oCAC1D,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,0BAA0B,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oCAC9G,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oCAChE,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAS,CAAC,CAAC,CAAC;oCACzF,iDAAiD;oCACjD,MAAM,IAAI,GAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;oCACnH,wGAAwG;oCACxG,wEAAwE;oCACxE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;oCACjC,MAAM,OAAO,GAAG,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;oCACrD,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;oCACf,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wCACxB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wCAC7B,IAAI,GAAG,KAAK,CAAC,CAAC;4CAAE,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oCACpE,CAAC;oCACD,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oCAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oCACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;oCAC1F,IAAI,KAAK,EAAE,CAAC;wCACV,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;wCACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;wCACtC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oCAC1C,CAAC;oCACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;oCAClF,IAAI,IAAI,EAAE,CAAC;wCACT,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;wCACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;wCACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oCAC3B,CAAC;oCACD,0FAA0F;oCAC1F,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,iBAAiB,EAAE,CAAC;wCACxC,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC;oCACpC,CAAC;oCACD,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gCAC5E,CAAC;gCAAC,OAAO,CAAC,EAAE,CAAC;oCACX,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;gCACnD,CAAC;gCACD,MAAM;4BACR,CAAC;4BACD,KAAK,CAAC,CAAC,CAAC,CAAC;gCACP,0DAA0D;gCAC1D,IAAI,CAAC;oCACH,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC;oCACzE,IAAI,OAAO,EAAE,CAAC;wCACZ,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,kCAAkC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;wCAChF,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wCAC3E,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;oCACxH,CAAC;gCACH,CAAC;gCAAC,OAAO,CAAC,EAAE,CAAC;oCACX,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,wCAAwC,EAAE,CAAC,CAAC,CAAC;gCAClE,CAAC;gCACD,MAAM;4BACR,CAAC;4BACD;gCACE,0EAA0E;gCAC1E,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,kCAAkC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;gCAC3F,MAAM;wBACV,CAAC;wBACD,OAAO,CAAC,wBAAwB;oBAClC,CAAC;oBAEC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACnC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI;4BAAE,OAAO;wBACnC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;wBACxI,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;wBAC5D,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BACxB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC7F,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACtE,CAAC;wBACD,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BACjB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;wBAC/B,CAAC;wBACC,qDAAqD;wBACrD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;4BAC7B,iBAAiB,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;4BAC3C,YAAY,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC;wBAC7C,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;gBAC1B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;gBAEtC,qEAAqE;gBACrE,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjC,UAAU,GAAG,IAAI,CAAC;oBAClB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,+CAA+C,CAAC,CAAC;oBACpE,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;oBAC9B,IAAI,YAAY;wBAAE,OAAO;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;oBAC/C,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;wBAC7B,YAAY,GAAG,IAAI,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,uCAAuC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;wBAC5G,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,oBAAoB;QAC1B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,uCAAuC,CAAC,CAAC;QAE5D,mCAAmC;QACnC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,aAAa,CAAC,IAAI,CAAC,aAAoB,CAAC,CAAC;gBACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,8BAA8B,EAAE,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,uBAAuB;QACzB,MAAM,gBAAgB,GAAG,IAAI,CAAC;QAE5B,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC;gBACH,wBAAwB;gBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAQ,MAAa,CAAC;gBACrC,MAAM,QAAQ,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,IAAI,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC;gBACxG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAEhE,kDAAkD;gBAClD,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;gBAElE,8CAA8C;gBAC9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,wDAAwD;gBACxD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;oBAC9E,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,4CAA4C,CAAC,CAAC;oBACjE,IAAI,CAAC;wBACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC1B,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,oDAAoD;wBACpD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,sDAAsD,EAAE,KAAK,CAAC,CAAC;oBACpF,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,yCAAyC;oBACzC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,iDAAiD,CAAC,CAAC;oBACtE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACvB,aAAa,CAAC,IAAI,CAAC,aAAoB,CAAC,CAAC;wBACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC;QAEF,qDAAqD;QACrD,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAQ,CAAC;QAElE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,oCAAoC,gBAAgB,IAAI,CAAC,CAAC;IAC/E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,QAAQ,CAAC,CAAC;gBACvE,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9F,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,6BAA6B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/E,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5F,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,4BAA4B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3E,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,SAAiB,EAAE,QAAgB;QACvE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAClC,8BAA8B,kBAAkB,CAAC,MAAM,CAAC,IAAI,SAAS,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CACxG,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACxG,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9F,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,YAAY,CAAC;YACzE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAE1C,OAAO;gBACL,IAAI;gBACJ,WAAW;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACpG,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAAC,MAAc,EAAE,SAAiB,EAAE,QAAgB;QACpE,OAAO,IAAI,CAAC,MAAM,CAChB,8BAA8B,kBAAkB,CAAC,MAAM,CAAC,IAAI,SAAS,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CACxG,CAAC;IACJ,CAAC;CAEF;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAU;IAChC,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,KAAK,GAAQ,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7F,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;gBACxB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC/B,KAAK,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACnD,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,7 @@ export interface WorkflowPoolOpts {
59
59
  * executionStartTimeoutMs: 10000 // 10 seconds
60
60
  * });
61
61
  * ```
62
- * @since 1.4.4
62
+ * @since 1.5.0
63
63
  */
64
64
  executionStartTimeoutMs?: number;
65
65
  /**
@@ -90,7 +90,7 @@ export interface WorkflowPoolOpts {
90
90
  * - Progress events (e.g., KSampler steps) reset the timeout
91
91
  * - First generation with model loading often needs longer timeout
92
92
  * - Cached nodes complete instantly and don't trigger timeout
93
- * @since 1.4.4
93
+ * @since 1.5.0
94
94
  */
95
95
  nodeExecutionTimeoutMs?: number;
96
96
  /**
@@ -152,6 +152,7 @@ export declare class WorkflowPool extends TypedEventTarget<WorkflowPoolEventMap>
152
152
  private clientManager;
153
153
  private opts;
154
154
  private jobStore;
155
+ private jobFailureAnalysis;
155
156
  private initPromise;
156
157
  private processing;
157
158
  private activeJobs;
@@ -167,6 +168,12 @@ export declare class WorkflowPool extends TypedEventTarget<WorkflowPoolEventMap>
167
168
  private static fallbackId;
168
169
  private scheduleProcess;
169
170
  private applyAutoSeed;
171
+ private rememberJobFailure;
172
+ private clearJobFailures;
173
+ private collectFailureReasons;
174
+ private addPermanentExclusion;
175
+ private hasRetryPath;
176
+ private createWorkflowNotSupportedError;
170
177
  private processQueue;
171
178
  private runJob;
172
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowPool.d.ts","sourceRoot":"","sources":["../../src/pool/WorkflowPool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAK7C,OAAO,KAAK,EAAE,YAAY,EAAoB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAsB,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC9G,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAaD,qBAAa,YAAa,SAAQ,gBAAgB,CAAC,oBAAoB,CAAC;IACtE,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAA2C;gBAEjD,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,gBAAgB;IA6BlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,OAAO,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAsDzF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAItC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBvC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IASzB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAI1C,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,MAAM,CAAC,UAAU;IAMzB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,aAAa;YAeP,YAAY;YA+BZ,MAAM;CA8brB"}
1
+ {"version":3,"file":"WorkflowPool.d.ts","sourceRoot":"","sources":["../../src/pool/WorkflowPool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAK7C,OAAO,KAAK,EAAE,YAAY,EAAoB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAsB,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC9G,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAM9D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAaD,qBAAa,YAAa,SAAQ,gBAAgB,CAAC,oBAAoB,CAAC;IACtE,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,kBAAkB,CAA+D;IACzF,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAA2C;gBAEjD,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,gBAAgB;IA6BlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,OAAO,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAsDzF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAItC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BvC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IASzB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAI1C,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,MAAM,CAAC,UAAU;IAMzB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,+BAA+B;YAUzB,YAAY;YA+BZ,MAAM;CAudrB"}
@@ -9,6 +9,8 @@ import { ClientManager } from "./client/ClientManager.js";
9
9
  import { hashWorkflow } from "./utils/hash.js";
10
10
  import { cloneDeep } from "./utils/clone.js";
11
11
  import { JobProfiler } from "./profiling/JobProfiler.js";
12
+ import { analyzeWorkflowFailure } from "./utils/failure-analysis.js";
13
+ import { WorkflowNotSupportedError } from "../types/error.js";
12
14
  const DEFAULT_MAX_ATTEMPTS = 3;
13
15
  const DEFAULT_RETRY_DELAY = 1000;
14
16
  export class WorkflowPool extends TypedEventTarget {
@@ -17,6 +19,7 @@ export class WorkflowPool extends TypedEventTarget {
17
19
  clientManager;
18
20
  opts;
19
21
  jobStore = new Map();
22
+ jobFailureAnalysis = new Map();
20
23
  initPromise;
21
24
  processing = false;
22
25
  activeJobs = new Map();
@@ -113,6 +116,7 @@ export class WorkflowPool extends TypedEventTarget {
113
116
  if (removed) {
114
117
  record.status = "cancelled";
115
118
  record.completedAt = Date.now();
119
+ this.clearJobFailures(jobId);
116
120
  this.dispatchEvent(new CustomEvent("job:cancelled", { detail: { job: record } }));
117
121
  return true;
118
122
  }
@@ -122,6 +126,7 @@ export class WorkflowPool extends TypedEventTarget {
122
126
  await active.cancel();
123
127
  record.status = "cancelled";
124
128
  record.completedAt = Date.now();
129
+ this.clearJobFailures(jobId);
125
130
  this.dispatchEvent(new CustomEvent("job:cancelled", { detail: { job: record } }));
126
131
  return true;
127
132
  }
@@ -185,6 +190,66 @@ export class WorkflowPool extends TypedEventTarget {
185
190
  }
186
191
  return autoSeeds;
187
192
  }
193
+ rememberJobFailure(job, clientId, analysis) {
194
+ let map = this.jobFailureAnalysis.get(job.jobId);
195
+ if (!map) {
196
+ map = new Map();
197
+ this.jobFailureAnalysis.set(job.jobId, map);
198
+ }
199
+ map.set(clientId, analysis);
200
+ }
201
+ clearJobFailures(jobId) {
202
+ this.jobFailureAnalysis.delete(jobId);
203
+ }
204
+ collectFailureReasons(jobId) {
205
+ const map = this.jobFailureAnalysis.get(jobId);
206
+ if (!map) {
207
+ return {};
208
+ }
209
+ const reasons = {};
210
+ for (const [clientId, analysis] of map.entries()) {
211
+ reasons[clientId] = analysis.reason;
212
+ }
213
+ return reasons;
214
+ }
215
+ addPermanentExclusion(job, clientId) {
216
+ if (!job.options.excludeClientIds) {
217
+ job.options.excludeClientIds = [];
218
+ }
219
+ if (!job.options.excludeClientIds.includes(clientId)) {
220
+ job.options.excludeClientIds.push(clientId);
221
+ }
222
+ }
223
+ hasRetryPath(job) {
224
+ const map = this.jobFailureAnalysis.get(job.jobId);
225
+ const exclude = new Set(job.options.excludeClientIds ?? []);
226
+ const preferred = job.options.preferredClientIds?.length
227
+ ? new Set(job.options.preferredClientIds)
228
+ : null;
229
+ for (const client of this.clientManager.list()) {
230
+ if (preferred && !preferred.has(client.id)) {
231
+ continue;
232
+ }
233
+ if (exclude.has(client.id)) {
234
+ continue;
235
+ }
236
+ const analysis = map?.get(client.id);
237
+ if (analysis?.blockClient === "permanent") {
238
+ continue;
239
+ }
240
+ return true;
241
+ }
242
+ return false;
243
+ }
244
+ createWorkflowNotSupportedError(job, cause) {
245
+ const reasons = this.collectFailureReasons(job.jobId);
246
+ const message = `Workflow ${job.workflowHash} is not supported by any connected clients`;
247
+ return new WorkflowNotSupportedError(message, {
248
+ workflowHash: job.workflowHash,
249
+ reasons,
250
+ cause
251
+ });
252
+ }
188
253
  async processQueue() {
189
254
  if (this.processing) {
190
255
  return;
@@ -286,8 +351,9 @@ export class WorkflowPool extends TypedEventTarget {
286
351
  nodeTimeoutId = setTimeout(() => {
287
352
  const elapsed = Date.now() - (lastNodeStartTime || 0);
288
353
  const nodeInfo = currentExecutingNode ? ` (node: ${currentExecutingNode})` : '';
289
- rejectCompletion?.(new Error(`Node execution timeout: took longer than ${nodeExecutionTimeout}ms${nodeInfo}. ` +
290
- `Actual time: ${elapsed}ms. Server may be stuck or node is too slow for configured timeout.`));
354
+ completionError = new Error(`Node execution timeout: took longer than ${nodeExecutionTimeout}ms${nodeInfo}. ` +
355
+ `Actual time: ${elapsed}ms. Server may be stuck or node is too slow for configured timeout.`);
356
+ resolveCompletion?.();
291
357
  }, nodeExecutionTimeout);
292
358
  }
293
359
  };
@@ -398,10 +464,9 @@ export class WorkflowPool extends TypedEventTarget {
398
464
  };
399
465
  });
400
466
  let resolveCompletion;
401
- let rejectCompletion;
402
- const completionPromise = new Promise((resolve, reject) => {
467
+ let completionError;
468
+ const completionPromise = new Promise((resolve) => {
403
469
  resolveCompletion = resolve;
404
- rejectCompletion = reject;
405
470
  });
406
471
  let jobStartedDispatched = false;
407
472
  wrapper.onProgress((progress, promptId) => {
@@ -493,16 +558,19 @@ export class WorkflowPool extends TypedEventTarget {
493
558
  }
494
559
  job.result = resultPayload;
495
560
  job.completedAt = Date.now();
561
+ this.clearJobFailures(job.jobId);
496
562
  // Cleanup timeouts
497
563
  cleanupNodeTimeout();
498
564
  // Attach profiling stats if profiling was enabled
499
565
  if (profiler) {
500
566
  job.profileStats = profiler.getStats();
501
567
  }
568
+ completionError = undefined;
502
569
  this.dispatchEvent(new CustomEvent("job:completed", { detail: { job } }));
503
570
  resolveCompletion?.();
504
571
  });
505
572
  wrapper.onFailed((error, promptId) => {
573
+ console.log("[debug] wrapper.onFailed", job.jobId, error.name);
506
574
  if (!job.promptId && promptId) {
507
575
  job.promptId = promptId;
508
576
  }
@@ -510,10 +578,14 @@ export class WorkflowPool extends TypedEventTarget {
510
578
  // Cleanup timeouts
511
579
  cleanupNodeTimeout();
512
580
  rejectPending?.(error);
513
- rejectCompletion?.(error);
581
+ completionError = error;
582
+ console.log("[debug] resolveCompletion available", Boolean(resolveCompletion));
583
+ resolveCompletion?.();
514
584
  });
515
585
  try {
516
586
  const exec = wrapper.run();
587
+ console.log("[debug] wrapper.run() returned", exec);
588
+ exec.then((value) => console.log("[debug] exec promise resolved", job.jobId, value), (err) => console.log("[debug] exec promise rejected", job.jobId, err));
517
589
  // Add timeout for execution start to prevent jobs getting stuck
518
590
  const executionStartTimeout = this.opts.executionStartTimeoutMs ?? 5000;
519
591
  let pendingTimeoutId;
@@ -540,6 +612,7 @@ export class WorkflowPool extends TypedEventTarget {
540
612
  release,
541
613
  cancel: async () => {
542
614
  try {
615
+ wrapper.cancel("workflow pool cancel");
543
616
  if (job.promptId) {
544
617
  await client.ext.queue.interrupt(job.promptId);
545
618
  }
@@ -552,21 +625,20 @@ export class WorkflowPool extends TypedEventTarget {
552
625
  }
553
626
  });
554
627
  const result = await exec;
628
+ console.log("[debug] exec result", job.jobId, result);
555
629
  if (result === false) {
556
- // Execution failed - try to get the error from completionPromise rejection
557
- try {
558
- await completionPromise;
559
- }
560
- catch (err) {
561
- throw err;
562
- }
563
- throw job.lastError ?? new Error("Execution failed");
630
+ await completionPromise;
631
+ const errorToThrow = (completionError instanceof Error ? completionError : undefined) ??
632
+ (job.lastError instanceof Error ? job.lastError : undefined) ??
633
+ new Error("Execution failed");
634
+ throw errorToThrow;
564
635
  }
565
636
  await completionPromise;
566
637
  await this.queue.commit(reservation.reservationId);
567
638
  release({ success: true });
568
639
  }
569
640
  catch (error) {
641
+ console.log("[debug] runJob catch", job.jobId, error?.name);
570
642
  const latestStatus = this.jobStore.get(job.jobId)?.status;
571
643
  if (latestStatus === "cancelled") {
572
644
  release({ success: false });
@@ -574,9 +646,16 @@ export class WorkflowPool extends TypedEventTarget {
574
646
  }
575
647
  job.lastError = error;
576
648
  job.status = "failed";
577
- this.clientManager.recordFailure(clientId, job, error);
578
649
  const remainingAttempts = job.options.maxAttempts - job.attempts;
579
- const willRetry = remainingAttempts > 0;
650
+ const failureAnalysis = analyzeWorkflowFailure(error);
651
+ this.rememberJobFailure(job, clientId, failureAnalysis);
652
+ if (failureAnalysis.blockClient === "permanent") {
653
+ this.addPermanentExclusion(job, clientId);
654
+ reservation.payload.options.excludeClientIds = [...(job.options.excludeClientIds ?? [])];
655
+ }
656
+ this.clientManager.recordFailure(clientId, job, error);
657
+ const hasRetryPath = this.hasRetryPath(job);
658
+ const willRetry = failureAnalysis.retryable && remainingAttempts > 0 && hasRetryPath;
580
659
  this.dispatchEvent(new CustomEvent("job:failed", {
581
660
  detail: { job, willRetry }
582
661
  }));
@@ -589,6 +668,7 @@ export class WorkflowPool extends TypedEventTarget {
589
668
  job.startedAt = undefined;
590
669
  job.completedAt = undefined;
591
670
  job.result = undefined;
671
+ reservation.payload.options.excludeClientIds = [...(job.options.excludeClientIds ?? [])];
592
672
  await this.queue.retry(reservation.reservationId, { delayMs: delay });
593
673
  this.dispatchEvent(new CustomEvent("job:queued", { detail: { job } }));
594
674
  this.scheduleProcess(delay);
@@ -596,7 +676,12 @@ export class WorkflowPool extends TypedEventTarget {
596
676
  }
597
677
  else {
598
678
  job.completedAt = Date.now();
599
- await this.queue.discard(reservation.reservationId, error);
679
+ const finalError = !hasRetryPath && failureAnalysis.type === "client_incompatible" && this.jobFailureAnalysis.has(job.jobId)
680
+ ? this.createWorkflowNotSupportedError(job, error)
681
+ : error;
682
+ job.lastError = finalError;
683
+ await this.queue.discard(reservation.reservationId, finalError);
684
+ this.clearJobFailures(job.jobId);
600
685
  release({ success: false });
601
686
  }
602
687
  }