roboomp
ce60b6626b
fix(coding-agent): harden todo renderer against malformed streaming args
...
The todo tool's renderCall ran args?.ops?.map(...) directly, which throws
TypeError on any non-array ops value. parseStreamingJson surfaces such
shapes mid-stream: a partial Anthropic input_json_delta buffer like
'{"ops":"[{' becomes { ops: '[{' }, and intermediate states can hand back
null entries before object fields arrive. Each crash spammed Tool
renderer failed warnings and starved the TUI render loop.
Guard against:
- ops being any non-array (string, object, primitive)
- entries being null / non-object
- entry.items being a non-array
The fix is in the TUI renderer only — schema validation in the agent
loop is unchanged, so any genuinely malformed model output still
surfaces an invalid-args tool error to the model.
Fixes #2005
2026-06-06 18:11:42 +00:00
..
2026-06-06 16:00:31 +02:00
2026-05-31 04:03:05 +02:00
2026-05-31 13:22:50 +02:00
2026-05-27 00:21:33 +02:00
2026-06-04 03:43:17 +02:00
2026-05-29 18:12:08 +02:00
2026-05-29 18:21:30 +02:00
2026-06-06 16:00:31 +02:00
2026-05-25 12:22:43 +02:00
2026-05-25 12:22:43 +02:00
2026-05-16 07:02:24 +05:30
2026-05-31 01:43:00 +02:00
2026-05-10 12:46:05 +02:00
2026-05-01 18:54:21 +02:00
2026-05-21 15:43:02 +00:00
2026-05-14 00:34:55 +08:00
2026-05-14 05:03:04 +02:00
2026-06-06 15:38:08 +02:00
2026-04-26 03:17:55 +02:00
2026-06-06 15:17:32 +00:00
2026-05-31 08:45:12 +02:00
2026-05-30 18:08:51 +02:00
2026-06-06 16:30:09 +02:00
2026-06-01 17:17:00 +02:00
2026-05-27 19:00:49 +02:00
2026-05-14 04:36:19 +02:00
2026-05-27 15:03:12 +02:00
2026-06-04 00:59:59 +02:00
2026-06-02 11:14:02 +02:00
2026-06-05 18:14:45 +00:00
2026-05-13 05:24:33 +02:00
2026-05-27 16:07:38 +00:00
2026-06-04 02:45:30 +02:00
2026-05-16 20:12:26 +02:00
2026-05-26 16:49:11 +02:00
2026-05-25 17:21:53 +00:00
2026-01-31 05:22:07 +01:00
2026-06-01 18:04:05 +02:00
2026-04-24 05:08:11 +02:00
2026-06-06 06:38:27 +00:00
2026-06-06 16:00:31 +02:00
2026-05-27 15:03:12 +02:00
2026-06-03 20:59:43 -04:00
2026-05-26 07:28:42 +02:00
2026-06-04 01:35:39 +02:00
2026-05-27 16:32:40 +00:00
2026-06-04 02:45:30 +02:00
2026-05-27 15:03:12 +02:00
2026-06-06 17:01:47 +02:00
2026-05-31 04:45:57 +02:00
2026-05-17 01:47:24 +02:00
2026-06-06 16:30:09 +02:00
2026-05-16 20:12:26 +02:00
2026-05-25 18:01:45 +00:00
2026-05-02 04:34:39 +02:00
2026-05-16 19:04:09 +02:00
2026-06-06 15:38:08 +02:00
2026-05-26 23:26:15 -07:00
2026-06-06 15:38:08 +02:00
2026-06-06 16:35:01 +02:00
2026-06-02 17:55:28 +02:00
2026-05-26 01:54:09 -07:00
2026-06-02 05:24:21 +02:00
2026-06-04 07:44:52 +00:00
2026-05-15 03:16:16 +02:00
2026-06-05 11:41:07 +02:00
2026-06-05 08:54:49 +00:00
2026-06-06 16:00:31 +02:00
2026-05-17 03:12:36 +02:00
2026-06-06 18:11:42 +00:00
2026-05-28 14:02:52 +07:00
2026-06-04 13:28:14 +00:00
2026-05-26 03:59:13 +02:00
2026-06-02 08:26:55 +02:00
2026-05-26 03:59:13 +02:00
2026-05-14 04:36:19 +02:00
2026-05-26 03:59:13 +02:00
2026-04-26 00:29:52 +02:00
2026-05-26 06:34:30 +02:00