teknium1
0ff5fa93a9
fix: transform_terminal_output fires for background-process output too
...
A plugin registered on transform_terminal_output only ever saw foreground
`terminal` output: tools/terminal_tool_result.py::_apply_output_transform_hook
runs from finalize_foreground_result and nowhere else. Background output
reached the model through a different seam — process_manage poll/wait/log/kill
results, `list` previews and the completion/heartbeat/watch notifications all
pass through tools/process_registry.py::_redact_process_result — which redacted
but never transformed, so a fleet redaction or summarising plugin silently did
nothing for backgrounded commands.
Apply the same hook helper at that shared seam (one new
transform_process_output wrapper) and at the two gateway agent-notify sites
that read session.output_buffer directly. The order matches the foreground
path and teknium1's review note on #71401 : hook first, redaction after, so a
replacement the plugin returns is still masked. returncode is None while the
process runs; env_type is not recorded per process and is passed empty.
Not changed: the spawn acknowledgement ("Background process started") carries
no command output, and the persistent local shell already goes through
_run_foreground and was transformed — the issue's reading of that branch was
wrong; the real gap was the process_manage/notification seam.
Fixes #70760
Slim redo of #71401 (Christopher-Schulze): same seam and ordering, without
the ANSI-stripping relocation and render helper.
Co-authored-by: Christopher <210261288+Christopher-Schulze@users.noreply.github.com >
(cherry picked from commit 84661de52f78ccb84054e1ded92b07166e40546d)
2026-09-21 23:56:25 -07:00
..
2026-09-21 16:21:00 +05:30
2026-09-21 08:59:03 -07:00
2026-09-21 18:54:23 -07:00
2026-09-21 15:02:49 -07:00
2026-09-03 17:13:22 -07:00
2026-09-15 04:12:13 -07:00
2026-09-20 15:32:00 -07:00
2026-09-11 19:39:12 -07:00
2026-09-17 09:04:38 -07:00
2026-09-15 21:46:37 -07:00
2026-09-20 15:32:42 -07:00
2026-09-19 23:41:45 -07:00
2026-09-20 18:50:37 -07:00
2026-09-20 18:50:37 -07:00
2026-09-17 21:17:26 +05:30
2026-09-20 10:16:51 -07:00
2026-09-20 13:54:22 -07:00
2026-09-20 13:54:22 -07:00
2026-09-20 17:00:11 -07:00
2026-09-20 11:51:14 -07:00
2026-09-03 17:13:22 -07:00
2026-09-12 01:35:05 -07:00
2026-09-16 16:59:03 -07:00
2026-09-04 00:15:16 -07:00
2026-09-18 09:19:04 -07:00
2026-09-18 10:28:40 -07:00
2026-09-15 06:16:38 -07:00
2026-09-11 19:39:12 -07:00
2026-09-13 12:35:36 -07:00
2026-09-20 18:25:21 -07:00
2026-09-15 06:16:38 -07:00
2026-09-20 12:47:50 -07:00
2026-09-10 10:35:07 -07:00
2026-09-17 09:02:55 -07:00
2026-09-19 10:44:26 -07:00
2026-09-17 09:02:55 -07:00
2026-09-15 04:56:01 -07:00
2026-09-13 05:09:43 -07:00
2026-09-16 14:34:22 -07:00
2026-09-21 08:58:37 -07:00
2026-09-03 17:13:22 -07:00
2026-09-16 17:47:50 -07:00
2026-09-04 00:15:16 -07:00
2026-09-19 10:44:26 -07:00
2026-09-21 15:02:49 -07:00
2026-09-19 10:44:26 -07:00
2026-09-15 03:45:41 -07:00
2026-09-20 15:49:52 -07:00
2026-09-11 19:39:12 -07:00
2026-09-20 15:54:45 -07:00
2026-09-21 02:52:15 -07:00
2026-09-15 18:41:46 -07:00
2026-09-20 15:50:20 -07:00
2026-09-21 01:16:30 -07:00
2026-09-20 09:52:22 -07:00
2026-09-19 23:57:59 -07:00
2026-09-10 10:23:12 -07:00
2026-09-06 12:02:43 -07:00
2026-09-13 21:05:42 -07:00
2026-09-15 18:40:52 -07:00
2026-09-21 01:16:30 -07:00
2026-09-03 17:13:22 -07:00
2026-09-15 03:45:41 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 17:13:22 -07:00
2026-09-20 12:53:47 -07:00
2026-09-03 17:13:22 -07:00
2026-09-21 10:40:03 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 17:13:22 -07:00
2026-09-21 18:39:24 -07:00
2026-09-19 01:32:28 -07:00
2026-09-20 10:44:16 -07:00
2026-09-21 18:39:24 -07:00
2026-09-18 10:10:40 -07:00
2026-09-18 10:38:08 -07:00
2026-09-21 18:39:24 -07:00
2026-09-17 21:17:26 +05:30
2026-09-21 18:39:24 -07:00
2026-09-03 17:13:22 -07:00
2026-09-12 21:55:07 -07:00
2026-09-16 16:59:03 -07:00
2026-09-13 21:03:11 -07:00
2026-09-16 16:42:47 -07:00
2026-09-21 10:40:03 -07:00
2026-09-11 19:39:12 -07:00
2026-09-16 17:21:14 -07:00
2026-09-19 10:44:26 -07:00
2026-09-20 19:03:47 -07:00
2026-09-12 12:32:55 -07:00
2026-09-21 23:26:19 -07:00
2026-09-10 02:21:16 +05:30
2026-09-21 09:55:40 -07:00
2026-09-21 10:04:32 +05:30
2026-09-20 18:22:18 -07:00
2026-09-18 12:47:49 -07:00
2026-09-20 19:02:21 -07:00
2026-09-20 12:40:36 -07:00
2026-09-03 17:13:22 -07:00
2026-09-10 02:21:16 +05:30
2026-09-18 09:58:12 -07:00
2026-09-20 15:34:58 -07:00
2026-09-13 05:09:43 -07:00
2026-09-21 01:44:16 -07:00
2026-09-20 10:07:26 -07:00
2026-09-19 23:47:17 -07:00
2026-09-17 19:06:29 -04:00
2026-09-21 02:58:40 -07:00
2026-09-12 01:35:05 -07:00
2026-09-13 15:41:01 -07:00
2026-09-07 22:47:33 +05:30
2026-09-21 13:14:22 -07:00
2026-09-11 15:27:23 -07:00
2026-09-20 10:07:26 -07:00
2026-09-20 10:07:26 -07:00
2026-09-21 01:44:16 -07:00
2026-09-21 14:26:37 +05:30
2026-09-21 14:26:37 +05:30
2026-09-04 00:15:16 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 17:13:22 -07:00
2026-09-13 20:46:22 -07:00
2026-09-12 21:13:40 -07:00
2026-09-20 10:57:35 -07:00
2026-09-20 11:49:00 -07:00
2026-09-20 11:49:00 -07:00
2026-09-03 17:13:22 -07:00
2026-09-11 19:58:07 -07:00
2026-09-21 15:02:49 -07:00
2026-09-16 00:32:15 -07:00
2026-09-21 23:56:25 -07:00
2026-09-12 22:09:19 -07:00
2026-09-04 00:15:16 -07:00
2026-09-19 10:44:26 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 17:13:22 -07:00
2026-09-04 00:15:16 -07:00
2026-09-21 23:38:16 -07:00
2026-09-19 10:16:59 -07:00
2026-09-19 10:44:26 -07:00
2026-09-20 11:20:26 -07:00
2026-09-20 11:12:48 -07:00
2026-09-18 10:30:57 -07:00
2026-09-18 09:35:16 -07:00
2026-09-19 09:20:54 -07:00
2026-09-04 08:15:22 -07:00
2026-09-17 08:47:01 -07:00
2026-09-17 08:47:01 -07:00
2026-09-09 12:19:13 +05:30
2026-09-19 09:20:54 -07:00
2026-09-03 17:13:22 -07:00
2026-09-20 16:21:37 -07:00
2026-09-18 12:51:49 -07:00
2026-09-20 12:58:32 -07:00
2026-09-20 16:00:26 -07:00
2026-09-20 12:03:43 -07:00
2026-09-15 14:15:59 +05:30
2026-09-16 17:43:11 -07:00
2026-09-20 12:58:32 -07:00
2026-09-18 10:22:14 -07:00
2026-09-06 07:17:03 -07:00
2026-09-11 11:54:49 -07:00
2026-09-04 00:15:16 -07:00
2026-09-06 07:17:03 -07:00
2026-09-16 00:32:15 -07:00
2026-09-16 17:23:44 -07:00
2026-09-15 18:33:15 -07:00
2026-09-19 00:33:58 +05:30
2026-09-03 17:13:22 -07:00
2026-09-19 01:29:03 -07:00
2026-09-15 03:46:29 -07:00
2026-09-18 09:54:45 -07:00
2026-09-21 15:02:49 -07:00
2026-09-05 19:01:22 +05:30
2026-09-18 12:49:13 -07:00
2026-09-15 10:48:49 +05:30
2026-09-15 02:22:22 -05:00
2026-09-21 15:02:49 -07:00
2026-09-10 11:48:01 -07:00
2026-09-20 11:30:03 -07:00
2026-09-18 09:59:54 -07:00
2026-09-20 10:17:04 -07:00
2026-09-11 15:44:00 -07:00
2026-09-13 05:09:43 -07:00
2026-09-19 10:44:26 -07:00
2026-09-13 21:04:08 -07:00
2026-09-19 10:03:11 -07:00
2026-09-19 23:51:25 -07:00
2026-09-12 10:00:08 +05:30
2026-09-19 10:12:15 -07:00
2026-09-13 05:09:43 -07:00
2026-09-19 10:12:15 -07:00
2026-09-15 05:36:37 -07:00
2026-09-15 18:25:17 -07:00
2026-09-20 10:50:27 -07:00
2026-09-13 05:32:38 -07:00
2026-09-19 10:10:29 -07:00
2026-09-20 10:50:27 -07:00
2026-09-20 10:25:30 -07:00
2026-09-20 10:57:35 -07:00
2026-09-20 15:28:59 -07:00
2026-09-19 12:22:44 -07:00
2026-09-19 09:52:18 -07:00
2026-09-19 09:56:12 -07:00
2026-09-20 10:16:27 -07:00
2026-09-19 10:54:38 -07:00
2026-09-11 19:14:24 -07:00
2026-09-19 10:44:26 -07:00
2026-09-20 18:26:41 -07:00
2026-09-13 05:07:11 -07:00
2026-09-15 18:42:38 -07:00
2026-09-15 18:43:05 -07:00
2026-09-19 03:07:47 -07:00
2026-09-20 10:14:37 -07:00
2026-09-03 17:13:22 -07:00
2026-09-18 09:19:04 -07:00
2026-09-13 12:35:36 -07:00
2026-09-13 05:07:50 -07:00
2026-09-19 12:22:44 -07:00
2026-09-03 17:13:22 -07:00