roboomp
e650607cad
fix(coding-agent): segment bash approval commands with shell-aware tokenizer
...
The regex splitter only recognized `&&`, `||`, `;`, `|` and newlines, so a
single `&` (background operator) — also a command terminator — slipped a
dangerous command past a deny rule (`sleep 1 & rm -rf /tmp/x`), which under
approvalMode: yolo executed with no prompt.
Extract the shell-aware tokenizer from gh-cache-invalidation into a shared
tools/shell-tokenize.ts and reuse it for deny/prompt segmentation. It honors
every command boundary (`&&`, `||`, `;`, `|`, single `&`, subshells,
newlines) plus quoting and escapes, so both callers share one implementation.
Fixes #6695
2026-07-26 11:36:19 +00:00
..
2026-07-16 07:17:10 +00:00
2026-06-17 04:37:39 +02:00
2026-07-24 15:36:32 +02:00
2026-06-10 04:06:57 +02:00
2026-07-21 21:20:34 +00:00
2026-06-17 04:37:39 +02:00
2026-07-24 01:40:04 +00:00
2026-06-18 00:59:53 +02:00
2026-07-23 21:28:17 +00:00
2026-07-11 18:28:32 +02:00
2026-06-17 04:37:39 +02:00
2026-06-19 01:30:26 +02:00
2026-07-15 15:16:29 +02:00
2026-07-24 06:39:49 +02:00
2026-07-09 18:27:22 +02:00
2026-06-17 04:37:39 +02:00
2026-07-15 15:16:29 +02:00
2026-07-24 06:10:00 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-07-23 21:49:20 +00:00
2026-06-27 00:57:55 +02:00
2026-05-31 04:36:14 +02:00
2026-06-22 20:05:40 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-21 17:06:15 +02:00
2026-07-13 23:26:33 +02:00
2026-06-11 00:57:23 +02:00
2026-06-12 14:43:35 +02:00
2026-07-15 15:16:20 +00:00
2026-06-15 19:46:14 +02:00
2026-06-14 20:30:50 -03:00
2026-06-28 07:48:40 +00:00
2026-06-12 14:43:35 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-07-17 07:38:06 +00:00
2026-07-01 00:00:52 +00:00
2026-06-17 04:37:39 +02:00
2026-07-01 00:00:52 +00:00
2026-06-17 04:37:39 +02:00
2026-06-27 03:08:52 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-12 14:43:35 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-12 14:43:35 +02:00
2026-06-17 04:37:39 +02:00
2026-07-09 18:27:23 +02:00
2026-05-31 04:36:14 +02:00
2026-06-21 00:20:56 +02:00
2026-06-21 06:39:14 +02:00
2026-07-19 22:45:16 -04:00
2026-06-22 22:12:24 +02:00
2026-07-15 15:16:29 +02:00
2026-07-23 12:38:13 +02:00
2026-07-15 06:39:11 +00:00
2026-07-09 18:27:22 +02:00
2026-06-25 01:42:46 +05:30
2026-07-23 21:12:08 +00:00
2026-06-30 04:14:48 +02:00
2026-06-17 04:37:39 +02:00
2026-07-15 15:16:29 +02:00
2026-07-26 11:36:19 +00:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-07-06 17:38:00 +02:00
2026-07-24 14:51:48 +02:00
2026-06-19 07:57:15 +02:00
2026-06-17 04:37:39 +02:00
2026-06-12 14:43:35 +02:00
2026-07-18 20:12:47 +02:00
2026-07-17 05:49:22 +02:00
2026-06-17 04:37:39 +02:00
2026-07-01 00:00:52 +00:00
2026-07-23 21:12:08 +00:00