teknium1
94c3e0ab8e
refactor(run_agent): extract 10 more helpers to agent/agent_runtime_helpers.py
Final extraction pass — the methods left over after run_conversation
and __init__ moved out. Together these 10 cover ~813 LOC of medium-
sized helpers:
* switch_model (194 LOC) — model switching mid-session
* _invoke_tool (87) — central tool dispatch with overrides
* _repair_tool_call (72) — argument JSON repair entrypoint
* _sanitize_api_messages (71) — role-filter for API send
* _looks_like_codex_intermediate_ack (72) — codex transcript heuristic
* _copy_reasoning_content_for_api (70) — reasoning preservation
* _cleanup_dead_connections (70) — periodic dead-socket sweep
* _extract_api_error_context (65) — error-dump context builder
* _apply_pending_steer_to_tool_results (63) — /steer injection
* _force_close_tcp_sockets (59) — aggressive socket cleanup
AIAgent keeps thin forwarder methods for all 10 (staticmethods preserved
where present). Names tests patch on run_agent (handle_function_call,
AIAgent class attrs, logger) routed through _ra() so the patch surface
is preserved.
tests/run_agent/ + tests/agent/: 4313 passed (same pre-existing
test_auxiliary_client failure as on main).
run_agent.py: 4634 -> 3821 lines (-813).
Final total: 16083 -> 3821 (-12262, 76% reduction).
2026-05-16 20:35:19 -07:00
..
2026-05-14 15:56:07 -07:00
2026-05-14 14:55:23 -07:00
2026-02-21 22:31:43 -08:00
2026-05-11 11:13:25 -07:00
2026-05-16 19:43:38 -07:00
2026-05-16 20:35:19 -07:00
2026-05-12 20:46:04 -07:00
2026-05-14 20:15:29 -07:00
2026-05-16 19:11:58 -07:00
2026-05-07 05:17:16 -07:00
2026-05-16 18:48:22 -07:00
2026-05-09 21:06:19 -07:00
2026-05-16 19:03:30 -07:00
2026-05-14 14:28:14 -07:00
2026-05-13 22:25:16 -07:00
2026-04-20 01:56:41 -07:00
2026-05-16 18:09:33 -07:00
2026-05-16 19:26:52 -07:00
2026-05-08 14:27:40 -07:00
2026-05-11 11:13:25 -07:00
2026-04-29 09:53:42 -07:00
2026-05-02 01:29:57 -07:00
2026-05-10 06:44:53 -07:00
2026-05-15 10:36:38 +05:30
2026-05-11 11:13:25 -07:00
2026-04-21 01:31:58 -07:00
2026-05-14 08:03:56 -07:00
2026-05-11 11:13:20 -07:00
2026-04-28 06:46:45 -07:00
2026-04-28 06:46:45 -07:00
2026-05-04 03:16:19 -07:00
2026-05-10 07:14:14 -07:00
2026-04-21 21:30:10 -07:00
2026-05-13 22:31:28 -07:00
2026-05-11 11:13:25 -07:00
2026-04-20 05:25:49 -07:00
2026-05-16 17:59:32 -07:00
2026-04-28 12:27:36 -07:00
2026-04-30 23:03:54 -07:00
2026-05-11 16:49:13 -07:00
2026-05-11 11:13:25 -07:00
2026-05-05 13:33:49 -07:00
2026-05-16 17:41:09 -07:00
2026-05-13 23:51:15 -07:00
2026-05-13 23:51:15 -07:00
2026-05-11 11:13:25 -07:00
2026-05-08 14:27:40 -07:00
2026-04-29 08:08:36 -07:00
2026-05-10 07:09:28 -07:00
2026-05-12 20:49:20 -07:00
2026-05-16 17:59:32 -07:00
2026-05-12 18:46:28 -07:00
2026-05-12 20:46:04 -07:00
2026-04-13 16:32:04 -07:00
2026-05-11 11:13:25 -07:00
2026-04-08 00:41:36 -07:00
2026-05-11 11:13:25 -07:00
2026-05-11 11:13:25 -07:00
2026-04-24 15:15:07 -07:00
2026-05-08 16:39:32 -07:00
2026-05-16 18:28:17 -07:00
2026-04-09 03:10:30 -07:00
2026-05-16 18:16:20 -07:00
2026-05-05 04:33:38 -07:00
2026-05-04 12:07:17 -07:00
2026-05-16 17:54:26 -07:00
2026-05-16 18:24:05 -07:00
2026-05-13 06:46:23 -07:00
2026-05-13 06:46:23 -07:00
2026-02-21 22:31:43 -08:00
2026-05-12 16:32:57 -07:00
2026-05-13 16:39:41 -07:00
2026-05-13 16:39:41 -07:00
2026-05-13 22:31:28 -07:00
2026-05-13 22:31:28 -07:00