Commit Graph

6 Commits

Author SHA1 Message Date
Teknium 0548956da0 refactor(tui_gateway): W4 wave2 pass 4 — profile/config_set docstring+comment compaction, mirror helpers 2026-09-03 02:36:23 -07:00
Teknium b263a6f977 refactor(tui_gateway): W4 wave2 pass 2 — wake owner-result helper, profile asset magic table, config.set/get compaction 2026-09-03 02:25:37 -07:00
Teknium bd770ab70b refactor(tui_gateway): compact voice/config/profiles docstrings, hug payloads, squeeze body blanks 2026-09-02 23:43:54 -07:00
Teknium 99433742dc refactor(tui): extract the prompt turn into prompt_turn.py; compact methods_*/session_*/agent_callbacks; split _start_agent_build into scope/wiring helpers
- server.py 7663 -> 5319: _run_prompt_submit and its goal/loop/voice/scope
  phases move to tui_gateway/prompt_turn.py (bound via method_ctx.bind_module);
  _start_agent_build split into _bind/_release_build_profile_scopes,
  _deferred_build_agent_kwargs, _wire_session_agent, _start_session_services;
  _load_enabled_toolsets split (_enabled_mcp_server_names, _resolve_explicit_toolsets).
- methods_slash: _LIVE_SLASH_OUTPUT dispatch table; methods_tools: _SLASH_BUILTINS,
  _guarded; tool_progress: _PROGRESS_HANDLERS; methods_config_set:
  _REASONING_DISPLAY_WORDS; methods_voice: _VOICE_TOGGLE_ACTIONS.
- Unified: _denied_source (methods_session) replaces _WORKER_SOURCES in
  methods_profiles; _compress_live_with_feedback / _compute_host_slash shared by
  the slash mirror and /compress; _end_voice_chat shared by stop-phrase paths;
  _watcher_mtime_ns; _reaper_session_is_detached_idle; _notif_* helpers.
- Dead: _profile_dir_or_err, _resume_info, _slash_builtin_table (refs.py: 0 hits).
- acp_adapter/server.py: docstring compaction only (AST-identical).
- Every file semantically reviewed hunk-by-hunk for wire/log/lock/order parity.
2026-09-02 14:09:13 -07:00
Teknium 787f42cc16 fix: route image.generate through the provider dispatcher (#85520)
The ws handler called the in-tree FAL leaf (image_generate_tool)
directly, bypassing _handle_image_generate's dispatch chain — plugin-
registered providers and managed Krea routing never ran, so a user
with a non-FAL image provider configured got FAL (or a failure)
instead of their provider. Reported against the Hermes-Bot-Mode
plugin's avatar generation; defect is in the RPC, not the plugin.
Source-image confinement also now applies, matching the model tool.
2026-08-13 11:23:51 -07:00
Teknium ccce6976e3 feat: image.generate ws RPC for plugin surfaces (#85183)
Desktop plugins reach the backend only through ws JSON-RPC; image
generation existed solely as a model tool, so plugin UI (avatar pickers,
artifact panes) could not generate images. image.generate delegates to
the configured image_generate backend, supports probe:true for cheap
availability checks, and returns the result as both the backend ref and
a size-capped data URL — remote-gateway clients cannot read gateway-host
file paths and hosted URLs are often CORS-opaque, so the data URL works
identically over local and remote gateways. Pool-dispatched; missing
backend degrades to a soft {available:false} instead of an RPC error.
2026-08-13 02:30:09 -07:00