* refactor: reorganize daemon client to mirror Rust architecture
- Split monolithic daemon-client.ts into organized modules:
- lib/daemon/types.ts: All TypeScript type definitions
- lib/daemon/client.ts: DaemonClient implementation
- lib/daemon/errors.ts: Error types
- lib/daemon/validation.ts: Type guards and validation helpers
- lib/daemon/index.ts: Controlled public exports
- Matches Rust daemon_client module structure for consistency
- Improves maintainability and separation of concerns
* feat: add React hooks layer for daemon interactions
- useApprovals: Manage approval requests with data enrichment
- useSessions: List and launch Claude Code sessions
- useConversation: View conversation history
- useDaemonConnection: Monitor daemon health
- Includes real-time updates via polling
- Provides loading states, error handling, and refresh functions
- Hooks handle all complexity, components just render
* feat: add UI utilities and type definitions
- UI types: UnifiedApprovalRequest for display-friendly data
- Data enrichment: Join approvals with session context
- Formatting utilities: truncate, formatTimestamp, formatParameters
- Error formatting: Convert technical errors to user-friendly messages
- Separation of UI concerns from protocol implementation
* docs: improve documentation structure and developer guides
- Update README to be concise with development section first
- Add comprehensive documentation:
- ARCHITECTURE.md: System design with mermaid diagrams
- DEVELOPER_GUIDE.md: Best practices and do's/don'ts
- API.md: React hooks reference
- Clear guidance on which layer to use (hooks vs daemon client)
- Examples showing correct usage patterns for frontend developers
* formatting
* feat: add real-time subscription support and example components
- Update daemon client to support event callbacks for subscriptions
- Implement proper real-time updates in useApprovalsWithSubscription hook
- Add ApprovalsPanel component using shadcn/ui components
- Fix linting errors with proper eslint comments
- Update App.tsx imports to use new daemon module path
- Fix TypeScript return types in hooks
* feat(wui): add missing shadcn/ui components
Add card, badge, alert, and collapsible components from shadcn/ui
to resolve TypeScript import errors in ApprovalsPanel
* add react