@aion0/forge 0.5.8 → 0.5.12
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/CLAUDE.md +7 -0
- package/RELEASE_NOTES.md +7 -128
- package/components/WorkspaceView.tsx +191 -70
- package/lib/agents/index.ts +2 -2
- package/lib/workspace/agent-worker.ts +2 -11
- package/lib/workspace/backends/cli-backend.ts +11 -2
- package/lib/workspace/orchestrator.ts +206 -18
- package/lib/workspace/session-monitor.ts +210 -0
- package/lib/workspace/types.ts +1 -1
- package/lib/workspace/watch-manager.ts +23 -0
- package/lib/workspace-standalone.ts +9 -1
- package/package.json +4 -4
- package/qa/.forge/mcp.json +8 -0
package/CLAUDE.md
CHANGED
|
@@ -77,3 +77,10 @@ Example: find /Users/zliu/MyDocuments/obsidian-project -name "*.md" | head -20
|
|
|
77
77
|
When I ask about my notes, use bash to search and read files from the vault directory.
|
|
78
78
|
Example: find <vault_path> -name "*.md" | head -20
|
|
79
79
|
<!-- /forge:template:obsidian-vault -->
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
<!-- FORGE:BEGIN -->
|
|
83
|
+
## Forge Workspace Integration
|
|
84
|
+
When you finish processing a task or message from Forge, end your final response with the marker: [FORGE_DONE]
|
|
85
|
+
This helps Forge detect task completion. Do not include this marker if you are still working.
|
|
86
|
+
<!-- FORGE:END -->
|
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,134 +1,13 @@
|
|
|
1
|
-
# Forge v0.5.
|
|
1
|
+
# Forge v0.5.12
|
|
2
2
|
|
|
3
|
-
Released: 2026-03-
|
|
3
|
+
Released: 2026-03-31
|
|
4
4
|
|
|
5
|
-
## Changes since v0.5.
|
|
6
|
-
|
|
7
|
-
### Features
|
|
8
|
-
- feat: Restart Session button for persistentSession agents
|
|
9
|
-
- feat: boundSessionId drives non-primary terminal open flow
|
|
10
|
-
- feat: boundSessionId per agent — each agent has its own last session
|
|
11
|
-
- feat: execution mode determined by config, not runtime tmux state
|
|
12
|
-
- feat: /resolve API for workspace lookup + skills use env var → API fallback
|
|
13
|
-
- feat: switch session button (▾) for non-primary agents with active terminal
|
|
14
|
-
- feat: auto-fallback to headless when terminal startup fails
|
|
15
|
-
- feat: Forge agent monitors all inbox states
|
|
16
|
-
- feat: Forge agent — autonomous bus monitor with periodic scanning
|
|
17
|
-
- feat: Forge agent auto-requests summary when agent completes without reply
|
|
18
|
-
- feat: nudge sender when target agent completes — inject hint into terminal
|
|
19
|
-
- feat: restore auto-reply on completion + keep check_outbox as supplement
|
|
20
|
-
- feat: auto-reply to message sender on completion + check_outbox tool
|
|
21
|
-
- feat: add MCP Server to monitor panel and status script
|
|
22
|
-
- feat: get_agents tool + fuzzy send_message matching
|
|
23
|
-
- feat: inject FORGE env vars at all terminal launch points
|
|
24
|
-
- feat: --mcp-config injected at all claude terminal launch points
|
|
25
|
-
- feat: Forge MCP Server — replace HTTP skills with native tool calls
|
|
26
|
-
- feat: open terminal button on session list items
|
|
27
|
-
- feat: detect CLI startup failures in persistent sessions
|
|
28
|
-
- feat: all terminal entry points use fixedSessionId via --resume
|
|
29
|
-
- feat: bind button on sessions list to set fixedSessionId
|
|
30
|
-
- feat: click-to-change session binding in project header
|
|
31
|
-
- feat: show bound session in project header and session list
|
|
32
|
-
- feat: session picker dropdown for fixedSessionId binding
|
|
33
|
-
- feat: session list shows full ID on expand with copy button
|
|
34
|
-
- feat: show and edit fixedSessionId in agent config modal
|
|
35
|
-
- feat: primary agent setup prompt for new and existing workspaces
|
|
36
|
-
- feat: primary agent checkbox in agent config modal
|
|
37
|
-
- feat: terminal dock — inline right panel with tabs and resizable width
|
|
38
|
-
- feat: VibeCoding uses workspace primary agent's fixed session
|
|
39
|
-
- feat: fixed CLI session binding for primary agent
|
|
40
|
-
- feat: primary agent — terminal-only, fixed session, root directory
|
|
41
|
-
- feat: persistent terminal session per agent
|
|
42
|
-
- feat: watch send_message auto-detects tmux sessions (workspace + VibeCoding)
|
|
43
|
-
- feat: watch send_message injects directly into terminal session
|
|
5
|
+
## Changes since v0.5.11
|
|
44
6
|
|
|
45
7
|
### Bug Fixes
|
|
46
|
-
- fix:
|
|
47
|
-
- fix:
|
|
48
|
-
- fix:
|
|
49
|
-
- fix: clear boundSessionId on agent change even without tmux session
|
|
50
|
-
- fix: kill terminal and clear boundSessionId when agent CLI changes
|
|
51
|
-
- fix: rename "Keep terminal session alive" to "Terminal mode"
|
|
52
|
-
- fix: codex skipPermissionsFlag back to --full-auto
|
|
53
|
-
- fix: codex skip flag + -c only when sessions exist
|
|
54
|
-
- fix: set FORGE env vars as separate tmux command before CLI start
|
|
55
|
-
- fix: set FORGE env vars in tmux, skills use env vars not curl lookup
|
|
56
|
-
- fix: mark forge skills as FALLBACK so MCP tools take priority
|
|
57
|
-
- fix: nudge explicitly says use MCP tool, not forge-send skill
|
|
58
|
-
- fix: skills prefer MCP tools, fix subdirectory workspace lookup
|
|
59
|
-
- fix: show headless after Kill, terminal (pending) only before daemon start
|
|
60
|
-
- fix: Suspend vs Kill terminal behavior
|
|
61
|
-
- fix: Forge agent nudge uses stronger language to trigger send_message
|
|
62
|
-
- fix: always resolve agent launch info before opening terminal
|
|
63
|
-
- fix: bus log updates immediately after message delete (no refresh needed)
|
|
64
|
-
- fix: stop daemon kills tmux sessions + Forge agent only scans new messages
|
|
65
|
-
- fix: enlarge session switch button (▾) for easier clicking
|
|
66
|
-
- fix: terminal button visible during running state (was hidden)
|
|
67
|
-
- fix: daemon persistent session uses -c for non-primary agents
|
|
68
|
-
- fix: restore -c flag for non-primary agents to resume latest session
|
|
69
|
-
- fix: Forge agent processes historical pending/running, skips done/failed
|
|
70
|
-
- fix: Forge agent only scans messages after daemon start, ignores history
|
|
71
|
-
- fix: Forge agent restarts message loop for stuck pending messages
|
|
72
|
-
- fix: add skipPermissions to FloatingTerminalInline (was missing)
|
|
73
|
-
- fix: pass skipPermissions to FloatingTerminal, add --dangerously-skip-permissions
|
|
74
|
-
- fix: block terminal open when daemon not started
|
|
75
|
-
- fix: re-open terminal when agent config changes (close old first)
|
|
76
|
-
- fix: don't use claude -c for workspace agents (subdirs may have no session)
|
|
77
|
-
- fix: MCP monitor shows port not pid, add separator after Tunnel
|
|
78
|
-
- fix: add type:'sse' to MCP config (required by Claude Code schema)
|
|
79
|
-
- fix: MCP server port 7830 → 8406 (follows 8403/8404/8405 sequence)
|
|
80
|
-
- fix: MCP agentId resolved by server, not hardcoded in all URLs
|
|
81
|
-
- fix: MAX_ACTIVE limits daemon start, not workspace loading
|
|
82
|
-
- fix: increase MAX_ACTIVE workspaces from 2 to 5
|
|
83
|
-
- fix: move all session action buttons to second row (right-aligned)
|
|
84
|
-
- fix: skip message loop when persistent session fails to start
|
|
85
|
-
- fix: only primary agent uses fixedSession, others use -c or session dialog
|
|
86
|
-
- fix: refresh fixed session display after bind via window event
|
|
87
|
-
- fix: resolveFixedSession auto-binds latest session when not set
|
|
88
|
-
- fix: add error logging to session bind button for debugging
|
|
89
|
-
- fix: session list uses disk files as source of truth, not stale index
|
|
90
|
-
- fix: bind button always visible, set session when none bound
|
|
91
|
-
- fix: limit fixedSessionId auto-bind to only 3 entry points
|
|
92
|
-
- fix: show bind button even when no session is bound yet
|
|
93
|
-
- fix: auto-bind fixedSessionId at Next.js API layer
|
|
94
|
-
- fix: ensure primary session binding at all entry points
|
|
95
|
-
- fix: auto-bind fixedSessionId on agent add and config update
|
|
96
|
-
- fix: show terminal (pending) for persistentSession agents without tmux yet
|
|
97
|
-
- fix: replace nested button with div+span in terminal dock tabs
|
|
98
|
-
- fix: don't auto-open terminal UI on workspace load
|
|
99
|
-
- fix: session binding edge cases
|
|
100
|
-
- fix: auto-bind latest CLI session on upgrade instead of creating new
|
|
101
|
-
- fix: persistent session starts claude with -c (resume last session)
|
|
102
|
-
- fix: verify stored tmuxSession is alive before using, fallback to find
|
|
103
|
-
- fix: findTmuxSession reads terminal-state.json for VibeCoding sessions
|
|
104
|
-
- fix: session watch detects file switch (new session created)
|
|
105
|
-
- fix: getAllAgentStates preserves tmuxSession + currentMessageId
|
|
106
|
-
- fix: persistent session emits state update so frontend knows tmuxSession
|
|
107
|
-
- fix: watch send_message sends configured prompt only + auto-Enter
|
|
108
|
-
- fix: open terminal attaches to existing tmux session regardless of mode
|
|
109
|
-
- fix: session watch only sends last matching entry, not all content
|
|
110
|
-
- fix: remove .js extension from dynamic import for Next.js compat
|
|
111
|
-
- fix: workspace terminal defaults to resume last session (-c)
|
|
112
|
-
- fix: updateAgentConfig rebuilds worker + emits status update
|
|
113
|
-
- fix: CLI backend auto-finds latest session when no sessionId
|
|
114
|
-
|
|
115
|
-
### Performance
|
|
116
|
-
- perf: cache session binding check, defer SessionView loading
|
|
117
|
-
|
|
118
|
-
### Refactoring
|
|
119
|
-
- refactor: MCP context via URL params, remove FORGE env var injection
|
|
120
|
-
- refactor: fixedSessionId is project-level, not workspace/agent-level
|
|
121
|
-
- refactor: remove manual/auto mode, unify message execution via tmuxSession
|
|
122
|
-
|
|
123
|
-
### Documentation
|
|
124
|
-
- revert auto-resume + document persistent terminal session plan
|
|
125
|
-
|
|
126
|
-
### Other
|
|
127
|
-
- revert: remove orchestrator auto-reply, let agent decide via MCP
|
|
128
|
-
- cleanup: remove fixedSessionId from agent config and workspace state
|
|
129
|
-
- simplify: remove auto-detect session binding complexity
|
|
130
|
-
- revert: restore floating terminal windows, remove dock panel
|
|
131
|
-
- revert auto-resume + document persistent terminal session plan
|
|
8
|
+
- fix: correct bin paths in package.json
|
|
9
|
+
- fix: merge pending upstream_complete — auto-complete older ones before sending new
|
|
10
|
+
- fix: upstream_complete notification tells agent to ignore if busy or duplicate
|
|
132
11
|
|
|
133
12
|
|
|
134
|
-
**Full Changelog**: https://github.com/aiwatching/forge/compare/v0.5.
|
|
13
|
+
**Full Changelog**: https://github.com/aiwatching/forge/compare/v0.5.11...v0.5.12
|