@askexenow/exe-os 0.9.6 → 0.9.7

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.
@@ -2095,15 +2095,24 @@ function getParentExe(sessionKey) {
2095
2095
  function resolveExeSession() {
2096
2096
  const mySession = getMySession();
2097
2097
  if (!mySession) return null;
2098
+ const fromSessionName = extractRootExe(mySession);
2098
2099
  try {
2099
2100
  const key = getSessionKey();
2100
2101
  const parentExe = getParentExe(key);
2101
2102
  if (parentExe) {
2102
- return extractRootExe(parentExe) ?? parentExe;
2103
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
2104
+ if (fromSessionName && fromCache !== fromSessionName) {
2105
+ process.stderr.write(
2106
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
2107
+ `
2108
+ );
2109
+ return fromSessionName;
2110
+ }
2111
+ return fromCache;
2103
2112
  }
2104
2113
  } catch {
2105
2114
  }
2106
- return extractRootExe(mySession) ?? mySession;
2115
+ return fromSessionName ?? mySession;
2107
2116
  }
2108
2117
  var SPAWN_LOCK_DIR, SESSION_CACHE, INTERCOM_LOG2, DEBOUNCE_FILE, DEBOUNCE_CLEANUP_AGE_MS;
2109
2118
  var init_tmux_routing = __esm({
package/dist/bin/cli.js CHANGED
@@ -10571,15 +10571,24 @@ function getDispatchedBy(sessionKey) {
10571
10571
  function resolveExeSession() {
10572
10572
  const mySession = getMySession();
10573
10573
  if (!mySession) return null;
10574
+ const fromSessionName = extractRootExe(mySession);
10574
10575
  try {
10575
10576
  const key = getSessionKey();
10576
10577
  const parentExe = getParentExe(key);
10577
10578
  if (parentExe) {
10578
- return extractRootExe(parentExe) ?? parentExe;
10579
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
10580
+ if (fromSessionName && fromCache !== fromSessionName) {
10581
+ process.stderr.write(
10582
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
10583
+ `
10584
+ );
10585
+ return fromSessionName;
10586
+ }
10587
+ return fromCache;
10579
10588
  }
10580
10589
  } catch {
10581
10590
  }
10582
- return extractRootExe(mySession) ?? mySession;
10591
+ return fromSessionName ?? mySession;
10583
10592
  }
10584
10593
  function isEmployeeAlive(sessionName) {
10585
10594
  return getTransport().isAlive(sessionName);
@@ -5891,15 +5891,24 @@ function getDispatchedBy(sessionKey) {
5891
5891
  function resolveExeSession() {
5892
5892
  const mySession = getMySession();
5893
5893
  if (!mySession) return null;
5894
+ const fromSessionName = extractRootExe(mySession);
5894
5895
  try {
5895
5896
  const key = getSessionKey();
5896
5897
  const parentExe = getParentExe(key);
5897
5898
  if (parentExe) {
5898
- return extractRootExe(parentExe) ?? parentExe;
5899
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
5900
+ if (fromSessionName && fromCache !== fromSessionName) {
5901
+ process.stderr.write(
5902
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
5903
+ `
5904
+ );
5905
+ return fromSessionName;
5906
+ }
5907
+ return fromCache;
5899
5908
  }
5900
5909
  } catch {
5901
5910
  }
5902
- return extractRootExe(mySession) ?? mySession;
5911
+ return fromSessionName ?? mySession;
5903
5912
  }
5904
5913
  function isEmployeeAlive(sessionName) {
5905
5914
  return getTransport().isAlive(sessionName);
@@ -4063,15 +4063,24 @@ function getDispatchedBy(sessionKey) {
4063
4063
  function resolveExeSession() {
4064
4064
  const mySession = getMySession();
4065
4065
  if (!mySession) return null;
4066
+ const fromSessionName = extractRootExe(mySession);
4066
4067
  try {
4067
4068
  const key = getSessionKey();
4068
4069
  const parentExe = getParentExe(key);
4069
4070
  if (parentExe) {
4070
- return extractRootExe(parentExe) ?? parentExe;
4071
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
4072
+ if (fromSessionName && fromCache !== fromSessionName) {
4073
+ process.stderr.write(
4074
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
4075
+ `
4076
+ );
4077
+ return fromSessionName;
4078
+ }
4079
+ return fromCache;
4071
4080
  }
4072
4081
  } catch {
4073
4082
  }
4074
- return extractRootExe(mySession) ?? mySession;
4083
+ return fromSessionName ?? mySession;
4075
4084
  }
4076
4085
  function isEmployeeAlive(sessionName) {
4077
4086
  return getTransport().isAlive(sessionName);
@@ -8782,15 +8782,24 @@ function getDispatchedBy(sessionKey) {
8782
8782
  function resolveExeSession() {
8783
8783
  const mySession = getMySession();
8784
8784
  if (!mySession) return null;
8785
+ const fromSessionName = extractRootExe(mySession);
8785
8786
  try {
8786
8787
  const key = getSessionKey();
8787
8788
  const parentExe = getParentExe(key);
8788
8789
  if (parentExe) {
8789
- return extractRootExe(parentExe) ?? parentExe;
8790
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
8791
+ if (fromSessionName && fromCache !== fromSessionName) {
8792
+ process.stderr.write(
8793
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
8794
+ `
8795
+ );
8796
+ return fromSessionName;
8797
+ }
8798
+ return fromCache;
8790
8799
  }
8791
8800
  } catch {
8792
8801
  }
8793
- return extractRootExe(mySession) ?? mySession;
8802
+ return fromSessionName ?? mySession;
8794
8803
  }
8795
8804
  function isEmployeeAlive(sessionName) {
8796
8805
  return getTransport().isAlive(sessionName);
@@ -2132,15 +2132,24 @@ function getParentExe(sessionKey) {
2132
2132
  function resolveExeSession() {
2133
2133
  const mySession = getMySession();
2134
2134
  if (!mySession) return null;
2135
+ const fromSessionName = extractRootExe(mySession);
2135
2136
  try {
2136
2137
  const key = getSessionKey();
2137
2138
  const parentExe = getParentExe(key);
2138
2139
  if (parentExe) {
2139
- return extractRootExe(parentExe) ?? parentExe;
2140
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
2141
+ if (fromSessionName && fromCache !== fromSessionName) {
2142
+ process.stderr.write(
2143
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
2144
+ `
2145
+ );
2146
+ return fromSessionName;
2147
+ }
2148
+ return fromCache;
2140
2149
  }
2141
2150
  } catch {
2142
2151
  }
2143
- return extractRootExe(mySession) ?? mySession;
2152
+ return fromSessionName ?? mySession;
2144
2153
  }
2145
2154
  function isExeSession(sessionName) {
2146
2155
  const matchesBaseWithInstance = (baseName) => sessionName === baseName || sessionName.startsWith(baseName) && /^\d+$/.test(sessionName.slice(baseName.length));
@@ -5899,15 +5899,24 @@ function getDispatchedBy(sessionKey) {
5899
5899
  function resolveExeSession() {
5900
5900
  const mySession = getMySession();
5901
5901
  if (!mySession) return null;
5902
+ const fromSessionName = extractRootExe(mySession);
5902
5903
  try {
5903
5904
  const key = getSessionKey();
5904
5905
  const parentExe = getParentExe(key);
5905
5906
  if (parentExe) {
5906
- return extractRootExe(parentExe) ?? parentExe;
5907
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
5908
+ if (fromSessionName && fromCache !== fromSessionName) {
5909
+ process.stderr.write(
5910
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
5911
+ `
5912
+ );
5913
+ return fromSessionName;
5914
+ }
5915
+ return fromCache;
5907
5916
  }
5908
5917
  } catch {
5909
5918
  }
5910
- return extractRootExe(mySession) ?? mySession;
5919
+ return fromSessionName ?? mySession;
5911
5920
  }
5912
5921
  function isEmployeeAlive(sessionName) {
5913
5922
  return getTransport().isAlive(sessionName);
@@ -2106,15 +2106,24 @@ function getParentExe(sessionKey) {
2106
2106
  function resolveExeSession() {
2107
2107
  const mySession = getMySession();
2108
2108
  if (!mySession) return null;
2109
+ const fromSessionName = extractRootExe(mySession);
2109
2110
  try {
2110
2111
  const key = getSessionKey();
2111
2112
  const parentExe = getParentExe(key);
2112
2113
  if (parentExe) {
2113
- return extractRootExe(parentExe) ?? parentExe;
2114
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
2115
+ if (fromSessionName && fromCache !== fromSessionName) {
2116
+ process.stderr.write(
2117
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
2118
+ `
2119
+ );
2120
+ return fromSessionName;
2121
+ }
2122
+ return fromCache;
2114
2123
  }
2115
2124
  } catch {
2116
2125
  }
2117
- return extractRootExe(mySession) ?? mySession;
2126
+ return fromSessionName ?? mySession;
2118
2127
  }
2119
2128
  var SPAWN_LOCK_DIR, SESSION_CACHE, INTERCOM_LOG2, DEBOUNCE_FILE, DEBOUNCE_CLEANUP_AGE_MS;
2120
2129
  var init_tmux_routing = __esm({
@@ -4551,15 +4551,24 @@ function getDispatchedBy(sessionKey) {
4551
4551
  function resolveExeSession() {
4552
4552
  const mySession = getMySession();
4553
4553
  if (!mySession) return null;
4554
+ const fromSessionName = extractRootExe(mySession);
4554
4555
  try {
4555
4556
  const key = getSessionKey();
4556
4557
  const parentExe = getParentExe(key);
4557
4558
  if (parentExe) {
4558
- return extractRootExe(parentExe) ?? parentExe;
4559
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
4560
+ if (fromSessionName && fromCache !== fromSessionName) {
4561
+ process.stderr.write(
4562
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
4563
+ `
4564
+ );
4565
+ return fromSessionName;
4566
+ }
4567
+ return fromCache;
4559
4568
  }
4560
4569
  } catch {
4561
4570
  }
4562
- return extractRootExe(mySession) ?? mySession;
4571
+ return fromSessionName ?? mySession;
4563
4572
  }
4564
4573
  function isEmployeeAlive(sessionName) {
4565
4574
  return getTransport().isAlive(sessionName);
@@ -4556,15 +4556,24 @@ function getDispatchedBy(sessionKey) {
4556
4556
  function resolveExeSession() {
4557
4557
  const mySession = getMySession();
4558
4558
  if (!mySession) return null;
4559
+ const fromSessionName = extractRootExe(mySession);
4559
4560
  try {
4560
4561
  const key = getSessionKey();
4561
4562
  const parentExe = getParentExe(key);
4562
4563
  if (parentExe) {
4563
- return extractRootExe(parentExe) ?? parentExe;
4564
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
4565
+ if (fromSessionName && fromCache !== fromSessionName) {
4566
+ process.stderr.write(
4567
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
4568
+ `
4569
+ );
4570
+ return fromSessionName;
4571
+ }
4572
+ return fromCache;
4564
4573
  }
4565
4574
  } catch {
4566
4575
  }
4567
- return extractRootExe(mySession) ?? mySession;
4576
+ return fromSessionName ?? mySession;
4568
4577
  }
4569
4578
  function isEmployeeAlive(sessionName) {
4570
4579
  return getTransport().isAlive(sessionName);
@@ -7130,15 +7130,24 @@ function getDispatchedBy(sessionKey) {
7130
7130
  function resolveExeSession() {
7131
7131
  const mySession = getMySession();
7132
7132
  if (!mySession) return null;
7133
+ const fromSessionName = extractRootExe(mySession);
7133
7134
  try {
7134
7135
  const key = getSessionKey();
7135
7136
  const parentExe = getParentExe(key);
7136
7137
  if (parentExe) {
7137
- return extractRootExe(parentExe) ?? parentExe;
7138
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
7139
+ if (fromSessionName && fromCache !== fromSessionName) {
7140
+ process.stderr.write(
7141
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
7142
+ `
7143
+ );
7144
+ return fromSessionName;
7145
+ }
7146
+ return fromCache;
7138
7147
  }
7139
7148
  } catch {
7140
7149
  }
7141
- return extractRootExe(mySession) ?? mySession;
7150
+ return fromSessionName ?? mySession;
7142
7151
  }
7143
7152
  function isEmployeeAlive(sessionName) {
7144
7153
  return getTransport().isAlive(sessionName);
@@ -3055,15 +3055,24 @@ function getDispatchedBy(sessionKey) {
3055
3055
  function resolveExeSession() {
3056
3056
  const mySession = getMySession();
3057
3057
  if (!mySession) return null;
3058
+ const fromSessionName = extractRootExe(mySession);
3058
3059
  try {
3059
3060
  const key = getSessionKey();
3060
3061
  const parentExe = getParentExe(key);
3061
3062
  if (parentExe) {
3062
- return extractRootExe(parentExe) ?? parentExe;
3063
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
3064
+ if (fromSessionName && fromCache !== fromSessionName) {
3065
+ process.stderr.write(
3066
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
3067
+ `
3068
+ );
3069
+ return fromSessionName;
3070
+ }
3071
+ return fromCache;
3063
3072
  }
3064
3073
  } catch {
3065
3074
  }
3066
- return extractRootExe(mySession) ?? mySession;
3075
+ return fromSessionName ?? mySession;
3067
3076
  }
3068
3077
  function isEmployeeAlive(sessionName) {
3069
3078
  return getTransport().isAlive(sessionName);
@@ -4550,15 +4550,24 @@ function getDispatchedBy(sessionKey) {
4550
4550
  function resolveExeSession() {
4551
4551
  const mySession = getMySession();
4552
4552
  if (!mySession) return null;
4553
+ const fromSessionName = extractRootExe(mySession);
4553
4554
  try {
4554
4555
  const key = getSessionKey();
4555
4556
  const parentExe = getParentExe(key);
4556
4557
  if (parentExe) {
4557
- return extractRootExe(parentExe) ?? parentExe;
4558
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
4559
+ if (fromSessionName && fromCache !== fromSessionName) {
4560
+ process.stderr.write(
4561
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
4562
+ `
4563
+ );
4564
+ return fromSessionName;
4565
+ }
4566
+ return fromCache;
4558
4567
  }
4559
4568
  } catch {
4560
4569
  }
4561
- return extractRootExe(mySession) ?? mySession;
4570
+ return fromSessionName ?? mySession;
4562
4571
  }
4563
4572
  function isEmployeeAlive(sessionName) {
4564
4573
  return getTransport().isAlive(sessionName);
@@ -3916,15 +3916,24 @@ function getDispatchedBy(sessionKey) {
3916
3916
  function resolveExeSession() {
3917
3917
  const mySession = getMySession();
3918
3918
  if (!mySession) return null;
3919
+ const fromSessionName = extractRootExe(mySession);
3919
3920
  try {
3920
3921
  const key = getSessionKey();
3921
3922
  const parentExe = getParentExe(key);
3922
3923
  if (parentExe) {
3923
- return extractRootExe(parentExe) ?? parentExe;
3924
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
3925
+ if (fromSessionName && fromCache !== fromSessionName) {
3926
+ process.stderr.write(
3927
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
3928
+ `
3929
+ );
3930
+ return fromSessionName;
3931
+ }
3932
+ return fromCache;
3924
3933
  }
3925
3934
  } catch {
3926
3935
  }
3927
- return extractRootExe(mySession) ?? mySession;
3936
+ return fromSessionName ?? mySession;
3928
3937
  }
3929
3938
  function isEmployeeAlive(sessionName) {
3930
3939
  return getTransport().isAlive(sessionName);
@@ -2106,15 +2106,24 @@ function getParentExe(sessionKey) {
2106
2106
  function resolveExeSession() {
2107
2107
  const mySession = getMySession();
2108
2108
  if (!mySession) return null;
2109
+ const fromSessionName = extractRootExe(mySession);
2109
2110
  try {
2110
2111
  const key = getSessionKey();
2111
2112
  const parentExe = getParentExe(key);
2112
2113
  if (parentExe) {
2113
- return extractRootExe(parentExe) ?? parentExe;
2114
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
2115
+ if (fromSessionName && fromCache !== fromSessionName) {
2116
+ process.stderr.write(
2117
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
2118
+ `
2119
+ );
2120
+ return fromSessionName;
2121
+ }
2122
+ return fromCache;
2114
2123
  }
2115
2124
  } catch {
2116
2125
  }
2117
- return extractRootExe(mySession) ?? mySession;
2126
+ return fromSessionName ?? mySession;
2118
2127
  }
2119
2128
  var SPAWN_LOCK_DIR, SESSION_CACHE, INTERCOM_LOG2, DEBOUNCE_FILE, DEBOUNCE_CLEANUP_AGE_MS;
2120
2129
  var init_tmux_routing = __esm({
@@ -4534,15 +4534,24 @@ function getDispatchedBy(sessionKey) {
4534
4534
  function resolveExeSession() {
4535
4535
  const mySession = getMySession();
4536
4536
  if (!mySession) return null;
4537
+ const fromSessionName = extractRootExe(mySession);
4537
4538
  try {
4538
4539
  const key = getSessionKey();
4539
4540
  const parentExe = getParentExe(key);
4540
4541
  if (parentExe) {
4541
- return extractRootExe(parentExe) ?? parentExe;
4542
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
4543
+ if (fromSessionName && fromCache !== fromSessionName) {
4544
+ process.stderr.write(
4545
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
4546
+ `
4547
+ );
4548
+ return fromSessionName;
4549
+ }
4550
+ return fromCache;
4542
4551
  }
4543
4552
  } catch {
4544
4553
  }
4545
- return extractRootExe(mySession) ?? mySession;
4554
+ return fromSessionName ?? mySession;
4546
4555
  }
4547
4556
  function isEmployeeAlive(sessionName) {
4548
4557
  return getTransport().isAlive(sessionName);
@@ -2273,15 +2273,24 @@ function getParentExe(sessionKey) {
2273
2273
  function resolveExeSession() {
2274
2274
  const mySession = getMySession();
2275
2275
  if (!mySession) return null;
2276
+ const fromSessionName = extractRootExe(mySession);
2276
2277
  try {
2277
2278
  const key = getSessionKey();
2278
2279
  const parentExe = getParentExe(key);
2279
2280
  if (parentExe) {
2280
- return extractRootExe(parentExe) ?? parentExe;
2281
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
2282
+ if (fromSessionName && fromCache !== fromSessionName) {
2283
+ process.stderr.write(
2284
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
2285
+ `
2286
+ );
2287
+ return fromSessionName;
2288
+ }
2289
+ return fromCache;
2281
2290
  }
2282
2291
  } catch {
2283
2292
  }
2284
- return extractRootExe(mySession) ?? mySession;
2293
+ return fromSessionName ?? mySession;
2285
2294
  }
2286
2295
  var SPAWN_LOCK_DIR, SESSION_CACHE, INTERCOM_LOG2, DEBOUNCE_FILE, DEBOUNCE_CLEANUP_AGE_MS;
2287
2296
  var init_tmux_routing = __esm({
@@ -6961,15 +6961,24 @@ function getDispatchedBy(sessionKey) {
6961
6961
  function resolveExeSession() {
6962
6962
  const mySession = getMySession();
6963
6963
  if (!mySession) return null;
6964
+ const fromSessionName = extractRootExe(mySession);
6964
6965
  try {
6965
6966
  const key = getSessionKey();
6966
6967
  const parentExe = getParentExe(key);
6967
6968
  if (parentExe) {
6968
- return extractRootExe(parentExe) ?? parentExe;
6969
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
6970
+ if (fromSessionName && fromCache !== fromSessionName) {
6971
+ process.stderr.write(
6972
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
6973
+ `
6974
+ );
6975
+ return fromSessionName;
6976
+ }
6977
+ return fromCache;
6969
6978
  }
6970
6979
  } catch {
6971
6980
  }
6972
- return extractRootExe(mySession) ?? mySession;
6981
+ return fromSessionName ?? mySession;
6973
6982
  }
6974
6983
  function isEmployeeAlive(sessionName) {
6975
6984
  return getTransport().isAlive(sessionName);
@@ -4736,15 +4736,24 @@ function getDispatchedBy(sessionKey) {
4736
4736
  function resolveExeSession() {
4737
4737
  const mySession = getMySession();
4738
4738
  if (!mySession) return null;
4739
+ const fromSessionName = extractRootExe(mySession);
4739
4740
  try {
4740
4741
  const key = getSessionKey();
4741
4742
  const parentExe = getParentExe(key);
4742
4743
  if (parentExe) {
4743
- return extractRootExe(parentExe) ?? parentExe;
4744
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
4745
+ if (fromSessionName && fromCache !== fromSessionName) {
4746
+ process.stderr.write(
4747
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
4748
+ `
4749
+ );
4750
+ return fromSessionName;
4751
+ }
4752
+ return fromCache;
4744
4753
  }
4745
4754
  } catch {
4746
4755
  }
4747
- return extractRootExe(mySession) ?? mySession;
4756
+ return fromSessionName ?? mySession;
4748
4757
  }
4749
4758
  function isEmployeeAlive(sessionName) {
4750
4759
  return getTransport().isAlive(sessionName);
@@ -5414,15 +5414,24 @@ function getParentExe(sessionKey) {
5414
5414
  function resolveExeSession() {
5415
5415
  const mySession = getMySession();
5416
5416
  if (!mySession) return null;
5417
+ const fromSessionName = extractRootExe(mySession);
5417
5418
  try {
5418
5419
  const key = getSessionKey();
5419
5420
  const parentExe = getParentExe(key);
5420
5421
  if (parentExe) {
5421
- return extractRootExe(parentExe) ?? parentExe;
5422
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
5423
+ if (fromSessionName && fromCache !== fromSessionName) {
5424
+ process.stderr.write(
5425
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
5426
+ `
5427
+ );
5428
+ return fromSessionName;
5429
+ }
5430
+ return fromCache;
5422
5431
  }
5423
5432
  } catch {
5424
5433
  }
5425
- return extractRootExe(mySession) ?? mySession;
5434
+ return fromSessionName ?? mySession;
5426
5435
  }
5427
5436
  var SPAWN_LOCK_DIR, SESSION_CACHE, INTERCOM_LOG2, DEBOUNCE_FILE, DEBOUNCE_CLEANUP_AGE_MS;
5428
5437
  var init_tmux_routing = __esm({
@@ -2138,15 +2138,24 @@ function getParentExe(sessionKey) {
2138
2138
  function resolveExeSession() {
2139
2139
  const mySession = getMySession();
2140
2140
  if (!mySession) return null;
2141
+ const fromSessionName = extractRootExe(mySession);
2141
2142
  try {
2142
2143
  const key = getSessionKey();
2143
2144
  const parentExe = getParentExe(key);
2144
2145
  if (parentExe) {
2145
- return extractRootExe(parentExe) ?? parentExe;
2146
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
2147
+ if (fromSessionName && fromCache !== fromSessionName) {
2148
+ process.stderr.write(
2149
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
2150
+ `
2151
+ );
2152
+ return fromSessionName;
2153
+ }
2154
+ return fromCache;
2146
2155
  }
2147
2156
  } catch {
2148
2157
  }
2149
- return extractRootExe(mySession) ?? mySession;
2158
+ return fromSessionName ?? mySession;
2150
2159
  }
2151
2160
  var SPAWN_LOCK_DIR, SESSION_CACHE, INTERCOM_LOG2, DEBOUNCE_FILE, DEBOUNCE_CLEANUP_AGE_MS;
2152
2161
  var init_tmux_routing = __esm({
@@ -2113,15 +2113,24 @@ function getParentExe(sessionKey) {
2113
2113
  function resolveExeSession() {
2114
2114
  const mySession = getMySession();
2115
2115
  if (!mySession) return null;
2116
+ const fromSessionName = extractRootExe(mySession);
2116
2117
  try {
2117
2118
  const key = getSessionKey();
2118
2119
  const parentExe = getParentExe(key);
2119
2120
  if (parentExe) {
2120
- return extractRootExe(parentExe) ?? parentExe;
2121
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
2122
+ if (fromSessionName && fromCache !== fromSessionName) {
2123
+ process.stderr.write(
2124
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
2125
+ `
2126
+ );
2127
+ return fromSessionName;
2128
+ }
2129
+ return fromCache;
2121
2130
  }
2122
2131
  } catch {
2123
2132
  }
2124
- return extractRootExe(mySession) ?? mySession;
2133
+ return fromSessionName ?? mySession;
2125
2134
  }
2126
2135
  var SPAWN_LOCK_DIR, SESSION_CACHE, INTERCOM_LOG2, DEBOUNCE_FILE, DEBOUNCE_CLEANUP_AGE_MS;
2127
2136
  var init_tmux_routing = __esm({
@@ -3466,15 +3466,24 @@ function getParentExe(sessionKey) {
3466
3466
  function resolveExeSession() {
3467
3467
  const mySession = getMySession();
3468
3468
  if (!mySession) return null;
3469
+ const fromSessionName = extractRootExe(mySession);
3469
3470
  try {
3470
3471
  const key = getSessionKey();
3471
3472
  const parentExe = getParentExe(key);
3472
3473
  if (parentExe) {
3473
- return extractRootExe(parentExe) ?? parentExe;
3474
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
3475
+ if (fromSessionName && fromCache !== fromSessionName) {
3476
+ process.stderr.write(
3477
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
3478
+ `
3479
+ );
3480
+ return fromSessionName;
3481
+ }
3482
+ return fromCache;
3474
3483
  }
3475
3484
  } catch {
3476
3485
  }
3477
- return extractRootExe(mySession) ?? mySession;
3486
+ return fromSessionName ?? mySession;
3478
3487
  }
3479
3488
  var SPAWN_LOCK_DIR, SESSION_CACHE, INTERCOM_LOG2, DEBOUNCE_FILE, DEBOUNCE_CLEANUP_AGE_MS;
3480
3489
  var init_tmux_routing = __esm({
package/dist/index.js CHANGED
@@ -4962,15 +4962,24 @@ function getDispatchedBy(sessionKey) {
4962
4962
  function resolveExeSession() {
4963
4963
  const mySession = getMySession();
4964
4964
  if (!mySession) return null;
4965
+ const fromSessionName = extractRootExe(mySession);
4965
4966
  try {
4966
4967
  const key = getSessionKey();
4967
4968
  const parentExe = getParentExe(key);
4968
4969
  if (parentExe) {
4969
- return extractRootExe(parentExe) ?? parentExe;
4970
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
4971
+ if (fromSessionName && fromCache !== fromSessionName) {
4972
+ process.stderr.write(
4973
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
4974
+ `
4975
+ );
4976
+ return fromSessionName;
4977
+ }
4978
+ return fromCache;
4970
4979
  }
4971
4980
  } catch {
4972
4981
  }
4973
- return extractRootExe(mySession) ?? mySession;
4982
+ return fromSessionName ?? mySession;
4974
4983
  }
4975
4984
  function isEmployeeAlive(sessionName) {
4976
4985
  return getTransport().isAlive(sessionName);
@@ -5162,15 +5162,24 @@ function getDispatchedBy(sessionKey) {
5162
5162
  function resolveExeSession() {
5163
5163
  const mySession = getMySession();
5164
5164
  if (!mySession) return null;
5165
+ const fromSessionName = extractRootExe(mySession);
5165
5166
  try {
5166
5167
  const key = getSessionKey();
5167
5168
  const parentExe = getParentExe(key);
5168
5169
  if (parentExe) {
5169
- return extractRootExe(parentExe) ?? parentExe;
5170
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
5171
+ if (fromSessionName && fromCache !== fromSessionName) {
5172
+ process.stderr.write(
5173
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
5174
+ `
5175
+ );
5176
+ return fromSessionName;
5177
+ }
5178
+ return fromCache;
5170
5179
  }
5171
5180
  } catch {
5172
5181
  }
5173
- return extractRootExe(mySession) ?? mySession;
5182
+ return fromSessionName ?? mySession;
5174
5183
  }
5175
5184
  function isEmployeeAlive(sessionName) {
5176
5185
  return getTransport().isAlive(sessionName);
@@ -599,15 +599,24 @@ function getParentExe(sessionKey) {
599
599
  function resolveExeSession() {
600
600
  const mySession = getMySession();
601
601
  if (!mySession) return null;
602
+ const fromSessionName = extractRootExe(mySession);
602
603
  try {
603
604
  const key = getSessionKey();
604
605
  const parentExe = getParentExe(key);
605
606
  if (parentExe) {
606
- return extractRootExe(parentExe) ?? parentExe;
607
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
608
+ if (fromSessionName && fromCache !== fromSessionName) {
609
+ process.stderr.write(
610
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
611
+ `
612
+ );
613
+ return fromSessionName;
614
+ }
615
+ return fromCache;
607
616
  }
608
617
  } catch {
609
618
  }
610
- return extractRootExe(mySession) ?? mySession;
619
+ return fromSessionName ?? mySession;
611
620
  }
612
621
  function isEmployeeAlive(sessionName) {
613
622
  return getTransport().isAlive(sessionName);
package/dist/lib/tasks.js CHANGED
@@ -1468,15 +1468,24 @@ function getDispatchedBy(sessionKey) {
1468
1468
  function resolveExeSession() {
1469
1469
  const mySession = getMySession();
1470
1470
  if (!mySession) return null;
1471
+ const fromSessionName = extractRootExe(mySession);
1471
1472
  try {
1472
1473
  const key = getSessionKey();
1473
1474
  const parentExe = getParentExe(key);
1474
1475
  if (parentExe) {
1475
- return extractRootExe(parentExe) ?? parentExe;
1476
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
1477
+ if (fromSessionName && fromCache !== fromSessionName) {
1478
+ process.stderr.write(
1479
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
1480
+ `
1481
+ );
1482
+ return fromSessionName;
1483
+ }
1484
+ return fromCache;
1476
1485
  }
1477
1486
  } catch {
1478
1487
  }
1479
- return extractRootExe(mySession) ?? mySession;
1488
+ return fromSessionName ?? mySession;
1480
1489
  }
1481
1490
  function isEmployeeAlive(sessionName) {
1482
1491
  return getTransport().isAlive(sessionName);
@@ -3055,15 +3055,24 @@ function getDispatchedBy(sessionKey) {
3055
3055
  function resolveExeSession() {
3056
3056
  const mySession = getMySession();
3057
3057
  if (!mySession) return null;
3058
+ const fromSessionName = extractRootExe(mySession);
3058
3059
  try {
3059
3060
  const key = getSessionKey();
3060
3061
  const parentExe = getParentExe(key);
3061
3062
  if (parentExe) {
3062
- return extractRootExe(parentExe) ?? parentExe;
3063
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
3064
+ if (fromSessionName && fromCache !== fromSessionName) {
3065
+ process.stderr.write(
3066
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
3067
+ `
3068
+ );
3069
+ return fromSessionName;
3070
+ }
3071
+ return fromCache;
3063
3072
  }
3064
3073
  } catch {
3065
3074
  }
3066
- return extractRootExe(mySession) ?? mySession;
3075
+ return fromSessionName ?? mySession;
3067
3076
  }
3068
3077
  function isEmployeeAlive(sessionName) {
3069
3078
  return getTransport().isAlive(sessionName);
@@ -6772,15 +6772,24 @@ function getDispatchedBy(sessionKey) {
6772
6772
  function resolveExeSession() {
6773
6773
  const mySession = getMySession();
6774
6774
  if (!mySession) return null;
6775
+ const fromSessionName = extractRootExe(mySession);
6775
6776
  try {
6776
6777
  const key = getSessionKey();
6777
6778
  const parentExe = getParentExe(key);
6778
6779
  if (parentExe) {
6779
- return extractRootExe(parentExe) ?? parentExe;
6780
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
6781
+ if (fromSessionName && fromCache !== fromSessionName) {
6782
+ process.stderr.write(
6783
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
6784
+ `
6785
+ );
6786
+ return fromSessionName;
6787
+ }
6788
+ return fromCache;
6780
6789
  }
6781
6790
  } catch {
6782
6791
  }
6783
- return extractRootExe(mySession) ?? mySession;
6792
+ return fromSessionName ?? mySession;
6784
6793
  }
6785
6794
  function isEmployeeAlive(sessionName) {
6786
6795
  return getTransport().isAlive(sessionName);
@@ -1673,15 +1673,24 @@ function getDispatchedBy(sessionKey) {
1673
1673
  function resolveExeSession() {
1674
1674
  const mySession = getMySession();
1675
1675
  if (!mySession) return null;
1676
+ const fromSessionName = extractRootExe(mySession);
1676
1677
  try {
1677
1678
  const key = getSessionKey();
1678
1679
  const parentExe = getParentExe(key);
1679
1680
  if (parentExe) {
1680
- return extractRootExe(parentExe) ?? parentExe;
1681
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
1682
+ if (fromSessionName && fromCache !== fromSessionName) {
1683
+ process.stderr.write(
1684
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
1685
+ `
1686
+ );
1687
+ return fromSessionName;
1688
+ }
1689
+ return fromCache;
1681
1690
  }
1682
1691
  } catch {
1683
1692
  }
1684
- return extractRootExe(mySession) ?? mySession;
1693
+ return fromSessionName ?? mySession;
1685
1694
  }
1686
1695
  function isEmployeeAlive(sessionName) {
1687
1696
  return getTransport().isAlive(sessionName);
@@ -559,15 +559,24 @@ function getParentExe(sessionKey) {
559
559
  function resolveExeSession() {
560
560
  const mySession = getMySession();
561
561
  if (!mySession) return null;
562
+ const fromSessionName = extractRootExe(mySession);
562
563
  try {
563
564
  const key = getSessionKey();
564
565
  const parentExe = getParentExe(key);
565
566
  if (parentExe) {
566
- return extractRootExe(parentExe) ?? parentExe;
567
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
568
+ if (fromSessionName && fromCache !== fromSessionName) {
569
+ process.stderr.write(
570
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
571
+ `
572
+ );
573
+ return fromSessionName;
574
+ }
575
+ return fromCache;
567
576
  }
568
577
  } catch {
569
578
  }
570
- return extractRootExe(mySession) ?? mySession;
579
+ return fromSessionName ?? mySession;
571
580
  }
572
581
  var SPAWN_LOCK_DIR, SESSION_CACHE, INTERCOM_LOG2, DEBOUNCE_FILE, DEBOUNCE_CLEANUP_AGE_MS;
573
582
  var init_tmux_routing = __esm({
@@ -599,15 +599,24 @@ function getParentExe(sessionKey) {
599
599
  function resolveExeSession() {
600
600
  const mySession = getMySession();
601
601
  if (!mySession) return null;
602
+ const fromSessionName = extractRootExe(mySession);
602
603
  try {
603
604
  const key = getSessionKey();
604
605
  const parentExe = getParentExe(key);
605
606
  if (parentExe) {
606
- return extractRootExe(parentExe) ?? parentExe;
607
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
608
+ if (fromSessionName && fromCache !== fromSessionName) {
609
+ process.stderr.write(
610
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
611
+ `
612
+ );
613
+ return fromSessionName;
614
+ }
615
+ return fromCache;
607
616
  }
608
617
  } catch {
609
618
  }
610
- return extractRootExe(mySession) ?? mySession;
619
+ return fromSessionName ?? mySession;
611
620
  }
612
621
  function isEmployeeAlive(sessionName) {
613
622
  return getTransport().isAlive(sessionName);
@@ -872,15 +872,24 @@ function getDispatchedBy(sessionKey) {
872
872
  function resolveExeSession() {
873
873
  const mySession = getMySession();
874
874
  if (!mySession) return null;
875
+ const fromSessionName = extractRootExe(mySession);
875
876
  try {
876
877
  const key = getSessionKey();
877
878
  const parentExe = getParentExe(key);
878
879
  if (parentExe) {
879
- return extractRootExe(parentExe) ?? parentExe;
880
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
881
+ if (fromSessionName && fromCache !== fromSessionName) {
882
+ process.stderr.write(
883
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
884
+ `
885
+ );
886
+ return fromSessionName;
887
+ }
888
+ return fromCache;
880
889
  }
881
890
  } catch {
882
891
  }
883
- return extractRootExe(mySession) ?? mySession;
892
+ return fromSessionName ?? mySession;
884
893
  }
885
894
  function readDebounceState() {
886
895
  try {
@@ -4661,15 +4661,24 @@ function getDispatchedBy(sessionKey) {
4661
4661
  function resolveExeSession() {
4662
4662
  const mySession = getMySession();
4663
4663
  if (!mySession) return null;
4664
+ const fromSessionName = extractRootExe(mySession);
4664
4665
  try {
4665
4666
  const key = getSessionKey();
4666
4667
  const parentExe = getParentExe(key);
4667
4668
  if (parentExe) {
4668
- return extractRootExe(parentExe) ?? parentExe;
4669
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
4670
+ if (fromSessionName && fromCache !== fromSessionName) {
4671
+ process.stderr.write(
4672
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
4673
+ `
4674
+ );
4675
+ return fromSessionName;
4676
+ }
4677
+ return fromCache;
4669
4678
  }
4670
4679
  } catch {
4671
4680
  }
4672
- return extractRootExe(mySession) ?? mySession;
4681
+ return fromSessionName ?? mySession;
4673
4682
  }
4674
4683
  function isEmployeeAlive(sessionName) {
4675
4684
  return getTransport().isAlive(sessionName);
package/dist/tui/App.js CHANGED
@@ -5167,15 +5167,24 @@ function getDispatchedBy(sessionKey) {
5167
5167
  function resolveExeSession() {
5168
5168
  const mySession = getMySession();
5169
5169
  if (!mySession) return null;
5170
+ const fromSessionName = extractRootExe(mySession);
5170
5171
  try {
5171
5172
  const key = getSessionKey();
5172
5173
  const parentExe = getParentExe(key);
5173
5174
  if (parentExe) {
5174
- return extractRootExe(parentExe) ?? parentExe;
5175
+ const fromCache = extractRootExe(parentExe) ?? parentExe;
5176
+ if (fromSessionName && fromCache !== fromSessionName) {
5177
+ process.stderr.write(
5178
+ `[tmux-routing] WARN: cache says "${fromCache}" but session name says "${fromSessionName}". Trusting session name.
5179
+ `
5180
+ );
5181
+ return fromSessionName;
5182
+ }
5183
+ return fromCache;
5175
5184
  }
5176
5185
  } catch {
5177
5186
  }
5178
- return extractRootExe(mySession) ?? mySession;
5187
+ return fromSessionName ?? mySession;
5179
5188
  }
5180
5189
  function isEmployeeAlive(sessionName) {
5181
5190
  return getTransport().isAlive(sessionName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askexenow/exe-os",
3
- "version": "0.9.6",
3
+ "version": "0.9.7",
4
4
  "description": "AI employee operating system — persistent memory, task management, and multi-agent coordination for Claude Code.",
5
5
  "license": "CC-BY-NC-4.0",
6
6
  "type": "module",