imcodes 2026.3.103 → 2026.3.104
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/store/session-store.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,GAAG,IAAI,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mGAAmG;IACnG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACzC;AAKD,wBAAsB,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/store/session-store.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,GAAG,IAAI,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mGAAmG;IACnG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACzC;AAKD,wBAAsB,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,CAavD;AA+BD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAElE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAGzD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGhD;AAED,wBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAGlE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAM1E;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAMhD"}
|
|
@@ -20,20 +20,38 @@ async function loadStore() {
|
|
|
20
20
|
try {
|
|
21
21
|
const raw = await (0, promises_1.readFile)(STORE_PATH, 'utf8');
|
|
22
22
|
store = JSON.parse(raw);
|
|
23
|
-
// Reset all session states to idle on daemon startup.
|
|
24
|
-
// Actual states will be re-detected by watchers/hooks once they start.
|
|
25
|
-
// Without this, stale "running" states from before restart persist and
|
|
26
|
-
// cause UI animations to trigger when agents are actually idle.
|
|
27
|
-
for (const s of Object.values(store.sessions)) {
|
|
28
|
-
if (s.state === 'running')
|
|
29
|
-
s.state = 'idle';
|
|
30
|
-
}
|
|
31
23
|
}
|
|
32
24
|
catch {
|
|
33
25
|
store = { sessions: {} };
|
|
34
26
|
}
|
|
27
|
+
// Probe actual state of each session via terminal detection.
|
|
28
|
+
// Without this, stale "running" states from before daemon restart persist
|
|
29
|
+
// and cause UI animations to trigger for idle agents.
|
|
30
|
+
void probeSessionStates();
|
|
35
31
|
return store;
|
|
36
32
|
}
|
|
33
|
+
/** After loadStore, detect actual state of each session from terminal. */
|
|
34
|
+
async function probeSessionStates() {
|
|
35
|
+
const { detectStatusAsync } = await import('../agent/detect.js');
|
|
36
|
+
for (const s of Object.values(store.sessions)) {
|
|
37
|
+
if (s.state !== 'running')
|
|
38
|
+
continue;
|
|
39
|
+
try {
|
|
40
|
+
const status = await detectStatusAsync(s.name, s.agentType);
|
|
41
|
+
const newState = status === 'idle' ? 'idle' : 'running';
|
|
42
|
+
if (newState !== s.state) {
|
|
43
|
+
s.state = newState;
|
|
44
|
+
s.updatedAt = Date.now();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// tmux session may not exist — mark idle
|
|
49
|
+
s.state = 'idle';
|
|
50
|
+
s.updatedAt = Date.now();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
scheduleWrite();
|
|
54
|
+
}
|
|
37
55
|
function scheduleWrite() {
|
|
38
56
|
if (writeTimer)
|
|
39
57
|
clearTimeout(writeTimer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/store/session-store.ts"],"names":[],"mappings":";;AAyCA,
|
|
1
|
+
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/store/session-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED