Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
Commit History
-
Remove ~900 lines of dead code across agent, backend, and frontend (#318)
Unverified signature* Remove dead code across agent, backend, and frontend A vulture/knip audit with manual repo-wide verification found ~900 lines of dead code: - Delete agent/tools/private_hf_repo_tools.py (650 lines): disabled when hf_repo_files/hf_repo_git replaced it, never imported since. - Drop orphaned functions, constants, and type aliases across agent/ and backend/ (record_jobs_access_blocked, last_fetch_error, update_local_save_status, verify_session_access, OperationType aliases, OpType.INTERRUPT in both enums, etc.). - Trim unused Sandbox client surface (pause/restart/to_dict/ tool_definitions and unused constants); keep Sandbox.connect, which the live auth integration test uses. - Remove production code only its own tests kept alive: _needs_approval (tests retargeted to _base_needs_approval / production path), fetch_hf_user_plan, _cleanup_user_orphan_sandboxes (superseded by scripts/sweep_orphan_sandboxes.py), DEFAULT_MODEL_ID alias. - Drop unused boto3 dependency (still …7943555
-
Add `/clear` and `/new` commands (#256)
Unverified signature021580f
-
Add CLI sandbox runtime and fix HF Jobs script paths (#237)
Unverified signature* Resolve bare Python job scripts Co-authored-by: OpenAI Codex <codex@openai.com> * Update HF Jobs script description Co-authored-by: OpenAI Codex <codex@openai.com> * Clarify HF Jobs script path prompt Co-authored-by: OpenAI Codex <codex@openai.com> * Add CLI sandbox tool runtime Co-authored-by: OpenAI Codex <codex@openai.com> * Document CLI sandbox tool runtime Co-authored-by: OpenAI Codex <codex@openai.com> * Wait for initial CLI sandbox preload Co-authored-by: OpenAI Codex <codex@openai.com> * Strengthen GPU sandbox preflight guidance Co-authored-by: OpenAI Codex <codex@openai.com> * Guard against text-only stops with unfinished plans Co-authored-by: OpenAI Codex <codex@openai.com> * Route sandbox deletion logs through tool events Co-authored-by: OpenAI Codex <codex@openai.com> --------- Co-authored-by: OpenAI Codex <codex@openai.com>b05b6f5
-
Align CLI help output (#248)
Unverified signature* Align CLI help output Co-authored-by: OpenAI Codex <codex@openai.com> * Address CLI help review feedback Co-authored-by: OpenAI Codex <codex@openai.com> --------- Co-authored-by: OpenAI Codex <codex@openai.com>fde34dc -
Implement `/resume` command for CLI (#233)
Unverified signature* Add /resume command to CLI * Refine /resume feature * Refine /resume implementation * Address review comments --------- Co-authored-by: lewtun <lewis.c.tunstall@gmail.com>0321690
-
Add CI for tests and Ruff (#217)
Unverified signature* Add CI for tests and Ruff Co-authored-by: OpenAI Codex <codex@openai.com> * Enforce Ruff formatting in CI Co-authored-by: OpenAI Codex <codex@openai.com> * Document Ruff pre-commit checks Co-authored-by: OpenAI Codex <codex@openai.com> --------- Co-authored-by: OpenAI Codex <codex@openai.com>754345f
-
Auto-share session traces to a private HF dataset (#193)
Darshan Thakare +2: lewtun, Codex Unverified signature* feat: add share_traces toggle and per-user trace repo template * feat: support Claude Code JSONL format and per-target auth * feat: dual-upload sessions to private user trace dataset * chore: retry personal trace uploads on booting * feat: add /share-traces command to flip dataset visibility * docs: document HF trace auto-share and /share-traces * Use HF token owner for local dev auth Co-authored-by: Codex <codex@openai.com> * Rename personal session trace dataset Co-authored-by: Codex <codex@openai.com> * Add session dataset card metadata Co-authored-by: Codex <codex@openai.com> * Fix session trace upload review issues Co-authored-by: OpenAI Codex <codex@openai.com> * Preserve secret scrubbing before trace uploads Co-authored-by: OpenAI Codex <codex@openai.com> * Link ML Intern demo in dataset card Co-authored-by: OpenAI Codex <codex@openai.com> --------- Co-authored-by: lewtun <lewis.c.tunstall@gmail.com> Co-authored-by: Codex <codex@openai.com>0bd7547
-
Make the CLI startup banner show the actual CLI default model (#122)
Aksel Joonas ReediUnverified signatureThe CLI already loads direct Anthropic defaults from configs/cli_agent_config.json, but the startup banner was rendered before that config was loaded and fell back to a hardcoded Bedrock label. This made the CLI look misconfigured even when the session model was correct. Constraint: The startup banner must reflect the same model source the CLI session will actually use Rejected: Keep a hardcoded Bedrock fallback in print_banner | it misreports the active CLI default Confidence: high Scope-risk: narrow Reversibility: clean Directive: Banner/status UI should derive model labels from loaded config or session state, never from stale hardcoded defaults Tested: python -m compileall agent/main.py agent/utils/terminal_display.py Not-tested: Interactive manual CLI launch in this sandbox1bce0eb -
Fix CLI rendering corruption and split CLI/frontend model defaults (#121)
Aksel Joonas ReediUnverified signature* Stabilize CLI rendering and make surface defaults explicit The interactive CLI was interleaving live sub-agent redraws with streamed markdown output, which corrupted ANSI rendering and leaked raw control sequences into the terminal. The CLI and web app also shared one default model config even though they need different Anthropic routing defaults. Constraint: CLI default must use direct Anthropic credentials while web sessions must default to Bedrock Anthropic Constraint: Interactive terminal output must remain readable while sub-agent progress is live Rejected: Single shared config file with runtime overrides | keeps ownership of defaults implicit across surfaces Rejected: Keep background redraw ticker | concurrent terminal writers still corrupt streamed output Confidence: high Scope-risk: moderate Reversibility: clean Directive: Keep CLI and frontend default models in separate config files unless both surfaces intentionally converge again Tested: python -m compileall agent backen…3eec386
-
feat: route Claude via Bedrock inference profile (#82)
Guillaume SalouUnverified signatureSwitch the Claude endpoint IDs from the direct Anthropic API to the US cross-region inference profile. Extend the model-provider substring check so both prefixes keep hitting the HF-org gate, the daily Claude quota, and prompt caching.2fac9ff
-
fix /model switcher with effort params
Aksel Joonas ReediUnverified signature* /model: probe effort combo on switch, stop passing reasoning_effort to litellm Switching to claude-opus-4-7 with /effort set would 400 with "thinking.type.enabled is not supported" because litellm 1.83.0's Anthropic adapter substring-matches "4.6" to decide which thinking API shape to send, and doesn't know about 4.7's adaptive + output_config.effort contract. Rather than maintain a per-model capability table that rots every time a new Claude family ships, this change trusts the API itself: - llm_params.py: for anthropic/*, bypass litellm's reasoning_effort -> thinking mapping and pass thinking={type: adaptive} plus output_config={effort: ...} as top-level kwargs directly. litellm forwards unknown top-level params into Anthropic request bodies (extra_body does NOT work here — Anthropic rejects it as "Extra inputs are not permitted"). One localized monkey-patch widens litellm 1.83's hardcoded _is_opus_4_6_model check so effort=max isn't rejected synchronously on 4.7 — re…e2552e8 -
Fix parallel-research display: per-call stats in CLI and web UI (#49)
Aksel Joonas Reedi +1: lee101 Unverified signatureWhen multiple research sub-agents ran concurrently, the CLI collapsed them into a single flickering slot and every web-UI tool card showed the aggregate across all agents — so 3 parallel calls looked like 1. CLI (agent/utils/terminal_display.py): - Replace the global SubAgentDisplay singleton with SubAgentDisplayManager that tracks each agent by agent_id and renders one block per agent with independent (tool count · tokens · elapsed). - 4 rolling tool-call lines per agent (was 2). - When 2+ agents are live, switch to a compact one-line-per-agent layout (label + stats + most-recent tool). Detailed 4-line rolling view only when a single agent is active. Keeps the live region small enough to fit on one terminal page so cursor-up/erase doesn't drift when content would otherwise scroll into scrollback. - Clip every live-region line to terminal width (ANSI-aware) so a wrapped line can't corrupt the cursor-up math on narrow terminals. - On completion, erase the live block and f…5ab7c4e -
Merge pull request #50 from huggingface/fix/ctrl-c-and-streaming-rework
Aksel Joonas ReediUnverified signatureCLI: global Ctrl+C, progressive streaming, headless cleanup1481358 -
Merge pull request #51 from huggingface/feat/hf-auto-routing
Aksel Joonas ReediUnverified signatureRoute HF inference through /v1 auto-router + reasoning effort knobdc35197 -
Fix CLI particle logo text: ML AGENT → ML INTERN (#46)
Aksel Joonas ReediUnverified signature8b5b1bf -
Route HF inference through /v1 auto-router + add reasoning_effort knob
Users paste bare HF model ids (MiniMaxAI/MiniMax-M2.7, moonshotai/Kimi-K2.6) with an optional :fastest|cheapest|preferred|<provider> suffix; the router picks a provider and handles failover. /model does a live preflight against /v1/models and prints providers, pricing, context, tool support — warn-and- allow for unknowns with fuzzy suggestions. Friendly messages replace LiteLLM's raw traceback for model/provider mismatches, and the noisy 'Give Feedback' banner is suppressed. Adds a reasoning_effort config + /effort command (default high). OpenAI and Anthropic get the top-level param natively; HF router gets it via extra_body with minimal->low normalization for models like MiniMax M2 that require reasoning. Frontend + backend model selectors updated to the bare-id format.0a9e96d -
CLI: global Ctrl+C handling, progressive streaming, headless cleanup
Ctrl+C: - Install a SIGINT handler via loop.add_signal_handler, re-armed each loop iteration since prompt_toolkit wipes it on prompt_async exit. - First press cancels the current turn (session.cancel() sets the asyncio Event the agent loop already checks between tokens and tool boundaries). - Second press within 1s exits the CLI. Hint is shown on first press. - Approval prompt Ctrl+C/EOF rejects remaining items instead of crashing the event listener (which used to deadlock the main loop). Streaming: - print_markdown is async and uses asyncio.sleep for the typewriter, so the event loop can service signal handlers between characters. The old time.sleep loop was blocking SIGINT delivery during a full response. - On Ctrl+C mid-render, stop cleanly (no dumping the remainder) and emit an ANSI reset so half-open color state doesn't bleed onto the next line. - _StreamBuffer renders block-by-block (paragraphs split on \\n\\n) as the LLM produces them, rather than buffering the wh…f08efb1
-
Update particle logo text to ML AGENT
b3993a3
-
Enhance terminal display with new markdown emphasis styles
Add support for various markdown emphasis styles in the terminal display, including strong, emphasis, code, code block, and headers. Update the Console configuration to ensure ANSI styles are preserved during rendering.e76b3d1
-
Refactor approval handling and enhance markdown table styles
4501765
-
Enhance user experience by clearing 'Waiting for approval' status immediately upon approval and refining markdown table styles for better readability and aesthetics.
4a5df81
-
Research stats tick every second via background timer
9d8d295 -
Live research stats: tool count, tokens, elapsed time in header
a96af97 -
Show full sub-agent tool call lines, no truncation
3d0a369 -
Sub-agent display: 2 lines, gray, 20 char truncation
ca36d1f -
Indent ASCII banner to match all other output
6132a19 -
Indent all agent output, remove turn separator line
ad9fcf9 -
Render streamed responses as markdown, indent agent output for alignment
f8cf893 -
Tool output: last 10 lines for main agent, rolling 3-line display for sub-agents
01df4c7 -
Full HF-yellow ASCII art banner for CLI
c99339e -
Overhaul CLI visual design with rich-powered formatting
- Replace ASCII banner with compact rich Panel - Remove init noise (token loaded, MCP servers, etc.) - Replace "Turn complete" banner with subtle separator - Tool calls display as clean `▸ name args` - Rich-themed help command with syntax highlighting - Centralize all display functions in terminal_display module - Remove Colors class dependency from reliability_checks8c7924f
-
adding token counts
551d5e0 -
smol cleanup
712aaa7
-
new system prompt and push to hub automatic checks
Henri Bonamyc45e68e
-
formatting + typo fix
eaf2575
-
color for output, tool output truncation, plan printing
Henri Bonamy258ab19
-
minimal impl. of the agent
5fe810b