mirror of
https://github.com/humanlayer/humanlayer.git
synced 2025-08-20 19:01:22 +03:00
* 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