fix: use stdout/stderr fields for Bash tool_response output extraction
CC sends Bash results as {stdout, stderr, interrupted, isImage, noOutputExpected}.
Previous code guessed output/content/text — all wrong, so encounter detection
never matched. Confirmed via active.json relay debug.
This commit is contained in:
parent
7b9e78a501
commit
b0deb21d3a
1 changed files with 2 additions and 3 deletions
|
|
@ -280,12 +280,11 @@ def main():
|
||||||
# ── Bash tool: error detection + auto-resolution + commit tracking ───────
|
# ── Bash tool: error detection + auto-resolution + commit tracking ───────
|
||||||
if tool_name == "Bash":
|
if tool_name == "Bash":
|
||||||
output = ""
|
output = ""
|
||||||
|
# CC Bash tool_response keys: stdout, stderr, interrupted, isImage, noOutputExpected
|
||||||
if isinstance(tool_response, dict):
|
if isinstance(tool_response, dict):
|
||||||
parts = [
|
parts = [
|
||||||
tool_response.get("output", ""),
|
tool_response.get("stdout", ""),
|
||||||
tool_response.get("content", ""),
|
|
||||||
tool_response.get("stderr", ""),
|
tool_response.get("stderr", ""),
|
||||||
tool_response.get("text", ""),
|
|
||||||
]
|
]
|
||||||
output = "\n".join(p for p in parts if isinstance(p, str) and p)
|
output = "\n".join(p for p in parts if isinstance(p, str) and p)
|
||||||
elif isinstance(tool_response, str):
|
elif isinstance(tool_response, str):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue