hermes-agent/tools
Teknium 66ea4e686d feat(media): default-on upscaling for sub-2MP image models (FAL + Krea)
Per review: upscaling should be the default behavior (like the original
flux-2-pro chain), not agent opt-in. Policy: every image model whose
native output is below ~2MP now sets upscale=True in its catalog —
users never silently get low-res images. Native hi-res models
(Seedream 5 Pro/Lite, Krea 2 Large) stay off to avoid paying to
upscale already-large output.

- FAL catalog: 16 models flipped to upscale=True (klein, z-image,
  nano-banana pro/2/2-lite, gpt-image 1.5/2, ideogram v3/v4, recraft
  v4/v4.1, qwen image/3, krea-2 medium on FAL, MAI 2.5 pro).
- Krea plugin: per-model upscale defaults (medium + medium-turbo ON at
  1.5K native; large OFF at 2K native), precedence explicit kwarg >
  image_gen.krea.upscale config > catalog default.
- The 'upscale' tool param remains as a per-call override in both
  directions (false = fast draft, true = force on hi-res/edits).
- Video unchanged: opt-in only (default-on would double every video's
  cost and latency).
- Sibling tests updated: routing/payload tests pass upscale=False where
  the assertion targets the generation submit; catalog test now pins
  the native-resolution policy instead of the flux-2-pro snapshot.
2026-08-08 14:49:28 -07:00
..
computer_use fix(approval): classify CLI/TUI approval timeouts separately from explicit denials 2026-08-02 20:21:59 -07:00
environments fix(environments): surface stdin write failures as stdin_error (#79178) 2026-08-08 12:31:19 -07:00
neutts_samples
wakewords
__init__.py
ansi_strip.py
approval.py fix(tools): harden live source checkout guard 2026-08-08 14:56:38 +05:30
async_delegation.py [verified] fix(desktop): preserve background delegates across session switches 2026-08-02 15:11:37 -07:00
audio_container.py
binary_extensions.py
blueprints.py fix(cron): surface initial scheduler registration failures 2026-08-07 17:45:06 +05:30
browser_camofox.py fix(browser): scope Camofox session identity 2026-08-02 00:11:50 -07:00
browser_camofox_state.py
browser_cdp_tool.py
browser_dialog_tool.py
browser_supervisor.py
browser_tool.py fix(browser): guard against concurrent expired-session replacement race 2026-08-02 11:18:41 +05:30
budget_config.py
checkpoint_manager.py
clarify_gateway.py
clarify_tool.py
close_terminal_tool.py fix(agent): the desktop's tools reach it on remote and cloud backends too 2026-08-06 19:35:47 -06:00
code_execution_tool.py fix(tools): make json_parse tolerate UTF-8 BOM (salvage #57870) 2026-08-08 12:32:23 -07:00
computer_use_tool.py
credential_files.py fix(docker): close the cold-container and multi-backend gaps in attachment delivery 2026-08-08 05:44:18 -07:00
cronjob_tools.py fix: use is_job_runnable/effective_job_state in remaining pause-check sites 2026-08-08 13:48:00 +05:30
daemon_pool.py
debug_helpers.py
delegate_tool.py fix: post-merge audit follow-ups for #81138/#81139/#81141/#81148 2026-08-08 05:21:09 -07:00
delegation_live_log.py
delegation_output_schema.py feat(delegation): optional structured-output schema on delegate_task 2026-08-07 09:07:42 -07:00
desktop_ui.py
discord_tool.py fix(tools): isolate model tools by multiplex profile 2026-08-02 00:11:50 -07:00
env_passthrough.py fix(security): scope passthrough env to routed profile 2026-08-02 00:36:03 -07:00
env_probe.py fix(runtime): resolve Hermes-managed Node and uv before bare PATH 2026-08-01 21:17:51 -04:00
fal_common.py
feishu_doc_tool.py
feishu_drive_tool.py
file_operations.py fix(file-ops): classify binary files at the byte layer, not on transport-lossy text 2026-08-08 12:34:06 -07:00
file_state.py
file_tools.py fix(read_file): surface document extraction failures instead of the generic binary-file error 2026-08-08 05:40:45 -07:00
flux3_video_tool.py Portal free user vision fix + flux3 polling improvements (#75448) 2026-07-31 10:17:55 -04:00
focus_pane_tool.py fix(agent): the desktop's tools reach it on remote and cloud backends too 2026-08-06 19:35:47 -06:00
fuzzy_match.py feat(patch): list match locations in ambiguous old_string errors 2026-08-02 15:51:43 -07:00
homeassistant_tool.py fix(tools): isolate model tools by multiplex profile 2026-08-02 00:11:50 -07:00
hook_output_spill.py
image_generation_tool.py feat(media): default-on upscaling for sub-2MP image models (FAL + Krea) 2026-08-08 14:49:28 -07:00
image_source.py fix(image_gen): confine generation source images to the terminal backend 2026-08-08 04:19:38 -07:00
interrupt.py
kanban_tools.py fix(cron): don't let a cron job inherit a kanban worker's dispatcher identity 2026-08-06 03:16:26 +05:30
lazy_deps.py fix(deps): mirror aiohttp 3.14.3 pin into lazy_deps feature specs 2026-08-08 14:06:48 -07:00
managed_tool_gateway.py fix(gateway): read auth.json as UTF-8 in _read_nous_provider_state 2026-08-08 12:32:23 -07:00
mcp_dashboard_oauth.py
mcp_oauth.py
mcp_oauth_manager.py
mcp_schema_cache.py polish(mcp): simplify-pass folds on the lazy-startup salvage 2026-08-03 14:24:37 +05:30
mcp_stdio_watchdog.py
mcp_tool.py Inspired by Cursor: MCP config context variables (${userHome}, ${workspaceFolder}, ...) 2026-08-08 03:57:00 -07:00
memory_tool.py fix: finish the missing-encoding sweep — BOM-tolerant reads for user-edited stores 2026-08-08 12:32:23 -07:00
microsoft_graph_auth.py
microsoft_graph_client.py
neutts_synth.py
open_preview_tool.py fix(agent): the desktop's tools reach it on remote and cloud backends too 2026-08-06 19:35:47 -06:00
openrouter_client.py fix(secrets): scope-aware credential reads in core tool/gateway/web-server paths 2026-08-02 10:02:33 -07:00
osv_check.py fix(security): cache OSV malware preflight verdicts and stop double component discovery (#75485) 2026-08-01 10:47:20 -07:00
patch_parser.py refactor(file-ops): fold simplify-pass findings 2026-08-04 14:34:24 +05:30
path_security.py
process_registry.py fix(process_registry): surrogateescape-safe PTY stdin writes (#79178) 2026-08-08 12:31:19 -07:00
project_tools.py
react_to_message_tool.py fix(agent): the desktop's tools reach it on remote and cloud backends too 2026-08-06 19:35:47 -06:00
read_extract.py feat(read_extract): label each unreadable PDF gap with its preceding section text 2026-08-08 05:51:33 -07:00
read_preview_tool.py fix(agent): the desktop's tools reach it on remote and cloud backends too 2026-08-06 19:35:47 -06:00
read_terminal_tool.py fix(agent): the desktop's tools reach it on remote and cloud backends too 2026-08-06 19:35:47 -06:00
read_window_tool.py fix(build): win32 get-windows staging must skip the tarball's bundled darwin binding 2026-08-08 12:17:50 -05:00
registry.py fix(tools): bound the exception text dispatch writes into its own log line 2026-08-08 14:56:38 +05:30
schema_sanitizer.py feat(mcp): collapse const-only anyOf/oneOf unions to property enums 2026-08-07 08:58:25 -07:00
self_repo_guard.py fix(tools): keep non-bash -c invocations covered by the shell guard 2026-08-08 14:56:38 +05:30
send_message_tool.py fix(qqbot): scope the authz, startup-validation, and direct-send QQ reads 2026-08-02 10:01:16 -07:00
session_search_tool.py perf(session-search): project fields before enrichment 2026-08-03 17:50:58 +05:30
skill_linter.py fix: suppress windows-footgun false positives in linter pattern list 2026-08-08 11:12:27 -07:00
skill_manager_tool.py feat(skills): advisory SKILL.md convention linter on create 2026-08-08 11:12:27 -07:00
skill_provenance.py
skill_usage.py Merge updated tool metrics into skill metrics 2026-07-31 07:30:30 -07:00
skills_ast_audit.py
skills_guard.py perf(agent): precompile response and skill-scan regexes (#33208) 2026-08-03 09:56:36 +05:30
skills_hub.py Merge updated tool metrics into skill metrics 2026-08-02 20:12:37 -07:00
skills_sync.py
skills_sync_client.py fix(sync): read org state from the org endpoints, not the personal ones (#75237) 2026-07-30 22:31:42 -07:00
skills_tool.py fix: finish the missing-encoding sweep — BOM-tolerant reads for user-edited stores 2026-08-08 12:32:23 -07:00
slash_confirm.py
terminal_hints.py feat(terminal): output-pattern failure hints for common error classes 2026-08-02 15:08:35 -07:00
terminal_tool.py fix(terminal-tool): redact terminal error result fields 2026-08-08 04:28:19 -07:00
thread_context.py
threat_patterns.py
tirith_security.py fix(secrets): scope tier-3 credential reads (teams_pipeline, deepinfra models, FAL/XAI/VERCEL/DAYTONA/GITHUB presence, HERMES_API_KEY display) 2026-08-02 10:04:48 -07:00
todo_tool.py
tool_backend_helpers.py fix(secrets): scope tier-3 credential reads (teams_pipeline, deepinfra models, FAL/XAI/VERCEL/DAYTONA/GITHUB presence, HERMES_API_KEY display) 2026-08-02 10:04:48 -07:00
tool_output_limits.py
tool_result_storage.py
tool_search.py refactor(tool-search): drop dead fallback ladder in _available_source_summary 2026-08-03 19:11:30 +05:30
transcription_tools.py fix(stt): close idle-unload races — strong model ref, single long-lived watcher 2026-08-07 19:26:12 +05:30
tts_streaming.py
tts_text_normalize.py
tts_tool.py fix(tts): split long speech by provider and platform limits 2026-08-08 22:54:20 +05:30
url_safety.py
video_generation_tool.py feat(media): opt-in upscale pass for image_generate and video_generate across FAL and Krea 2026-08-08 14:49:28 -07:00
vision_tools.py fix(video): route terminal-backend reads through the shared media resolver 2026-08-08 03:59:39 -07:00
voice_mode.py fix(voice): early-exit sliding window on match, clear barge phase in finally, fix test helper 2026-08-07 14:38:02 +05:30
wake_word.py fix(wake-word): capture at native input rate 2026-08-08 13:49:24 +05:30
web_tools.py
website_policy.py
working_diff.py fix(tools): decode git output as UTF-8 in working_diff on Windows 2026-08-08 12:34:46 -07:00
write_approval.py
x_search_tool.py
xai_http.py fix(auth): cover remaining auth.json readers across modules 2026-08-08 12:32:23 -07:00
xai_video_tools.py
yuanbao_tools.py