fix(coding-agent): abort every in-flight bash command with its own controller (#1882) master
* fix(coding-agent): give each executeBash invocation its own abort controller Concurrent execute_bash_and_wait daemon commands shared the single _bashAbortController field: the first finisher cleared the second command's controller and abortBash could only target the most recent command, leaving earlier still-running commands unabortable. Track per-invocation controllers in a set; abortBash aborts all in-flight commands. Fixes ENG-5752. * fix(coding-agent): flag pending user bash abort while other bash commands run abortBash only set _userBashAbortRequested when no abort controllers were registered, so an abort arriving during user_bash extension dispatch was lost when a concurrent executeBash occupied the controller set and the user bash still started. Set the flag whenever a user bash is running; runUserBash clears it at each start. Also reword the per-invocation controller comments to present-tense behavior. * test(coding-agent): update fake REPLs to protocol 3 --------- Co-authored-by: Xeophon <46377542+xeophon@users.noreply.github.com>