muuuuse 2.2.3 → 2.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/runtime.js +13 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "muuuuse",
3
- "version": "2.2.3",
3
+ "version": "2.2.4",
4
4
  "description": "🔌Muuuuse arms two regular terminals and relays assistant output between them.",
5
5
  "type": "commonjs",
6
6
  "bin": {
package/src/runtime.js CHANGED
@@ -932,6 +932,12 @@ class ArmedSeat {
932
932
  return Boolean(partner?.pid && isPidAlive(partner.pid));
933
933
  }
934
934
 
935
+ getPartnerFlowMode() {
936
+ const partnerStatus = readJson(this.partnerPaths.statusPath, null);
937
+ const partnerMeta = readJson(this.partnerPaths.metaPath, null);
938
+ return normalizeFlowMode(partnerStatus?.flowMode || partnerMeta?.flowMode || "off");
939
+ }
940
+
935
941
  stopRequested() {
936
942
  const request = readJson(this.sessionPaths.stopPath, null);
937
943
  if (!request?.requestedAt) {
@@ -1252,7 +1258,13 @@ class ArmedSeat {
1252
1258
  }
1253
1259
 
1254
1260
  const pendingInboundContext = this.getPendingInboundContext();
1255
- if (this.flowMode !== "on" && pendingInboundContext && pendingInboundContext.hop >= MAX_RELAY_CHAIN_HOP) {
1261
+ const partnerFlowMode = this.getPartnerFlowMode();
1262
+ if (
1263
+ this.flowMode !== "on" &&
1264
+ partnerFlowMode !== "on" &&
1265
+ pendingInboundContext &&
1266
+ pendingInboundContext.hop >= MAX_RELAY_CHAIN_HOP
1267
+ ) {
1256
1268
  this.log(`[${this.seatId}] suppressed relay loop: ${previewText(payload)}`);
1257
1269
  return;
1258
1270
  }