You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🤖 refactor: Integrate init hooks into DisplayedMessage pattern and centralize bash execution
- Added workspace-init DisplayedMessage type with status tracking
- Extended StreamingMessageAggregator to convert init events to DisplayedMessage
- Created InitMessage component to render init banners in message stream
- Removed local init state management from AIView (eliminated parallel infrastructure)
- Removed legacy WorkspaceMetaEvent type (no longer used)
- Created BashExecutionService to centralize all bash execution
- Provides single abstraction point for future host migration (containers, remote, etc.)
- Eliminates duplicate environment setup across init hooks and bash tool
- executeStreaming() mode for line-by-line output (init hooks)
- Updated IpcMain to use BashExecutionService for init hook execution
Benefits:
- Init events flow through same path as other workspace events
- Centralized state management (no local component state)
- Single source of truth for bash environment setup
- Easier to abstract workspace hosts in future
Tests:
- Added unit tests for aggregator init handling (2 tests)
- All integration tests passing (3/3 init hook tests)
- Typecheck passing for both renderer and main processes
0 commit comments