feat(chat): add TaskBoard with tabbed Console/Tasks panel, auto-retry loop, and persistent task CRUD
- chatStore.ts: Added TaskBoard data model (Task, TaskSubtask, TaskBoard types),
CRUD methods (addTask, updateTaskStatus, addSubtask, removeTask, clearTasks),
progress tracking (getTaskProgress), auto-retry logic on session errors,
elapsed time tracking with interval timer, localStorage persistence
- TaskBoard.tsx: New interactive component with task list, expandable subtasks,
priority badges (critical/high/medium/low), creator badges (user/orchestrator/agent),
status cycling (pending->in_progress->completed), add task form with priority selector,
progress bar with completion %, elapsed time display, auto-retry toggle
- Chat.tsx: Replaced single Console right panel with tabbed panel (Console + Tasks),
tab badges showing task completion count, pulsing indicator for active console events,
Tasks tab imports and renders TaskBoard component
- routers.ts: Added tasks router with CRUD endpoints (list, create, updateStatus,
addSubtask, delete) backed by MySQL chatTasks table
- schema.ts: Added chatTasks table (taskId, sessionId, content, status, priority,
createdBy, assignedTo, subtasks JSON, elapsedMs, retryCount, lastError, timestamps)
- Auto-retry: When session errors and tasks remain incomplete, orchestrator
automatically retries after 3s with context about the TODO board