Commit History
-
Add app-attributed usage display (#292)
Unverified signature* Add app-attributed usage display Co-authored-by: OpenAI Codex <codex@openai.com> * Fix usage windows for local timestamps Co-authored-by: OpenAI Codex <codex@openai.com> * Add HF billing usage to usage display Co-authored-by: OpenAI Codex <codex@openai.com> * Simplify usage popover Co-authored-by: OpenAI Codex <codex@openai.com> * Remove token row from usage popover Co-authored-by: OpenAI Codex <codex@openai.com> * Move session billing note to usage header Co-authored-by: OpenAI Codex <codex@openai.com> * Optimize usage popover rollup loading Co-authored-by: OpenAI Codex <codex@openai.com> * Round usage costs to cents Co-authored-by: OpenAI Codex <codex@openai.com> --------- Co-authored-by: OpenAI Codex <codex@openai.com>7d506e1
-
Implement user-billed model policy (#289)
Unverified signature* Implement user-billed model policy - bill hosted inference to user tokens and remove subsidy quota state - switch web and CLI defaults and remove Sonnet from model lists - add plan-aware inference credit CTAs Co-authored-by: OpenAI Codex <codex@openai.com> * Recommend Opus in model picker Co-authored-by: OpenAI Codex <codex@openai.com> * Remove minimum plan from model config Co-authored-by: OpenAI Codex <codex@openai.com> * Link message failures to Space discussions Co-authored-by: OpenAI Codex <codex@openai.com> * Remove compatibility quota endpoint Co-authored-by: OpenAI Codex <codex@openai.com> * Remove obsolete bill_to_user argument Co-authored-by: OpenAI Codex <codex@openai.com> * Remove model tier metadata Co-authored-by: OpenAI Codex <codex@openai.com> * Remove model picker provider subtitles Co-authored-by: OpenAI Codex <codex@openai.com> --------- Co-authored-by: OpenAI Codex <codex@openai.com>ded9881
-
Auto-start CPU sandboxes for sessions (#200)
Unverified signature* Auto-start CPU sandboxes for sessions Co-authored-by: Codex <codex@openai.com> * Retry sandbox runtime visibility checks Co-authored-by: Codex <codex@openai.com> * Stabilize auto CPU sandbox creation Co-authored-by: OpenAI Codex <codex@openai.com> * Address sandbox PR review comments Co-authored-by: OpenAI Codex <codex@openai.com> --------- Co-authored-by: Codex <codex@openai.com>8615c28 -
Add session YOLO auto-approval budget (#201)
Unverified signature* Add session YOLO auto-approval budget Co-authored-by: Codex <codex@openai.com> * Address YOLO approval review feedback Co-authored-by: Codex <codex@openai.com> --------- Co-authored-by: Codex <codex@openai.com>77324b8
-
Restore expired sessions via summary-based catch-up (#52)
Aksel Joonas ReediUnverified signatureWhen the backend loses a session (typically: HF Space restarted), the chat now shows a small inline banner instead of silently erroring: Where were we? Let me skim the conversation so far and pick up right where we left off — or we can start something new. [ Catch me up ] [ Start fresh ] Flow, in one pass: * Frontend stashes the raw backend messages in localStorage on every mount-hydrate and turn_complete. When the backend 404s for the session id, the SSE transport and the mount effect both fire onSessionDead → the session is flagged `expired` in sessionStore; the sidebar marks it "needs a catch-up". * Catch me up → POST /api/session/restore-summary with the cached messages. Backend creates a fresh session, runs the existing summarizer (factored into summarize_messages() and shared with in-session compaction) with a restore-specific prompt that preserves the tool-call trail, and seeds the new session with that summary wrapped in a [SYS…962191f
-
Rename product to ML Intern in frontend
Update page title, app header, welcome screen title, and the iframe 'Open' step labels from ML Agent to ML Intern.658b046 -
Rebrand frontend to ML Agent
Replace HF Agent branding and Hugging Face logo with ML Agent and the smolagents icon across the welcome screen, app header, favicon, and page title. Refresh the welcome screen tagline.a67b60f
-
fix: per-session state management for smooth task switching
Background sessions now maintain their own state snapshots in agentStore so streaming, tool calls, and panel updates are not lost when switching tasks or backgrounding the browser tab. - Add sessionStates map + updateSession/switchActiveSession/syncSnapshot - Side-channel callbacks always update per-session state (no isActiveRef guard) - Global setters (setPanel, setPanelView, etc.) sync to active snapshot - Re-sync state on browser tab visibility change - Fix direct state mutation in switchActiveSession Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>f56fa2e
-
feat: per-session WebSocket architecture for parallel chat sessions
Each session now owns its own useAgentChat + WebSocket transport instead of sharing a single instance. Background sessions process all events (including approval_required) continuously, fixing the bug where approvals from non-active sessions were silently dropped. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>27da720
-
feat: cooperative cancellation, session persistence, background generation
7d17616 -
feat: implement cooperative agent cancellation with cancel button
ecbfd3c
-
feat: merge HF Space improvements
79b2fcc
-
making docker run build work
73b1ed7
-
improved design
Henri Bonamyc1f951a
-
added code panel, tool approval, tool calls logging
Henri Bonamy3ce798d
-
functioning frontend and docker
ba93c86 -
Add web frontend infrastructure for HF Agent
- Backend: FastAPI server with WebSocket support - Session manager for multi-session handling - Agent API routes (create, submit, approve, interrupt, undo, compact) - HF OAuth authentication routes - WebSocket connection manager for real-time events - Frontend: React + Vite + MUI + TypeScript - Zustand stores for agent state and session management - Chat UI with markdown rendering - Tool approval modal for batch approvals - Session sidebar for multi-session support - WebSocket hook with auto-reconnection - Docker: Multi-stage build with uv for Python deps - Updated pyproject.toml with web backend dependencies - Added HF Space metadata to README.md Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>67b16c6