@aion0/forge 0.5.17 → 0.5.18

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/RELEASE_NOTES.md CHANGED
@@ -1,18 +1,19 @@
1
- # Forge v0.5.17
1
+ # Forge v0.5.18
2
2
 
3
- Released: 2026-03-31
3
+ Released: 2026-04-01
4
4
 
5
- ## Changes since v0.5.16
5
+ ## Changes since v0.5.17
6
6
 
7
7
  ### Bug Fixes
8
- - fix: reset session monitor on clearTmuxSession + always restart on ensurePersistentSession
9
- - fix: reset warmup count on startMonitoring and resetState
10
- - fix: warmup 7 polls — poll 7 sets fresh baseline before real detection
11
- - fix: warmup 6 polls (~18s) before first running detection
12
- - fix: poll 3s with 4-poll warmup (12s before first running detection)
13
- - fix: session monitor poll interval 3s 6s
14
- - fix: read fixedSessionId directly from file instead of dynamic import
15
- - fix: add logging for fixedSession resolution in ensurePersistentSession
8
+ - Revert "fix: after hook done, suppress extends until file stops changing"
9
+ - fix: after hook done, suppress extends until file stops changing
10
+ - fix: warmup back to 7 polls (21s)
11
+ - fix: only start session monitor on new tmux creation, not existing
12
+ - fix: reduce warmup from 7 polls (21s) to 4 polls (12s)
13
+ - fix: resetState doesn't reset warmupCount, only startMonitoring does
16
14
 
15
+ ### Other
16
+ - Revert "fix: after hook done, suppress extends until file stops changing"
17
17
 
18
- **Full Changelog**: https://github.com/aiwatching/forge/compare/v0.5.16...v0.5.17
18
+
19
+ **Full Changelog**: https://github.com/aiwatching/forge/compare/v0.5.17...v0.5.18
@@ -2264,8 +2264,10 @@ export class WorkspaceOrchestrator extends EventEmitter {
2264
2264
  this.emitAgentsChanged();
2265
2265
  }
2266
2266
 
2267
- // Always (re-)start session monitor with fresh warmup
2268
- this.startAgentSessionMonitor(agentId, config);
2267
+ // Start session monitor only for newly created sessions (not existing ones)
2268
+ if (!sessionAlreadyExists) {
2269
+ this.startAgentSessionMonitor(agentId, config);
2270
+ }
2269
2271
 
2270
2272
  // Ensure boundSessionId is set (required for session monitor + --resume)
2271
2273
  if (!config.primary && !config.boundSessionId) {
@@ -97,8 +97,8 @@ export class SessionFileMonitor extends EventEmitter {
97
97
  resetState(agentId: string): void {
98
98
  this.currentState.set(agentId, 'idle');
99
99
  this.lastStableTime.set(agentId, Date.now());
100
- this.warmupCount.set(agentId, 0); // re-warmup after reset
101
- // Suppress state changes for 10s after manual reset
100
+ // Don't reset warmupCount here warmup only on startMonitoring (fresh start/restart)
101
+ // 10s suppress is enough to prevent immediate flip-back after hook/button
102
102
  this.suppressUntil.set(agentId, Date.now() + 10_000);
103
103
  }
104
104
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aion0/forge",
3
- "version": "0.5.17",
3
+ "version": "0.5.18",
4
4
  "description": "Unified AI workflow platform — multi-model task orchestration, persistent sessions, web terminal, remote access",
5
5
  "type": "module",
6
6
  "scripts": {