fix(runner): substitute acceptEdits for haiku's silent auto-mode downgrade, fail permission-denial-only runs
This commit is contained in:
@@ -186,6 +186,41 @@ public sealed class StreamAnalyzerTests
|
||||
Assert.Empty(result.Errors);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Extracts_Permission_Denials_From_Result_Event()
|
||||
{
|
||||
var analyzer = new StreamAnalyzer();
|
||||
analyzer.ProcessLine("""
|
||||
{"type":"result","result":"I need permission to edit the file.","session_id":"s1",
|
||||
"permission_denials":[{"tool_name":"Edit","tool_use_id":"t1","tool_input":{}}]}
|
||||
""");
|
||||
var result = analyzer.GetResult();
|
||||
Assert.Single(result.PermissionDenials);
|
||||
Assert.Equal("Edit", result.PermissionDenials[0]);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void No_Permission_Denials_Field_Means_Empty_List()
|
||||
{
|
||||
var analyzer = new StreamAnalyzer();
|
||||
analyzer.ProcessLine("""{"type":"result","result":"done","session_id":"s1"}""");
|
||||
Assert.Empty(analyzer.GetResult().PermissionDenials);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Multiple_Permission_Denials_Are_All_Collected()
|
||||
{
|
||||
var analyzer = new StreamAnalyzer();
|
||||
analyzer.ProcessLine("""
|
||||
{"type":"result","result":"blocked","session_id":"s1","permission_denials":[
|
||||
{"tool_name":"Edit","tool_use_id":"t1","tool_input":{}},
|
||||
{"tool_name":"Write","tool_use_id":"t2","tool_input":{}}
|
||||
]}
|
||||
""");
|
||||
var result = analyzer.GetResult();
|
||||
Assert.Equal(new[] { "Edit", "Write" }, result.PermissionDenials);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Duplicate_Marker_In_Assistant_And_Result_Is_Collected_Once()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user