This commit is contained in:
Ahmed Ibrahim
2025-09-17 22:56:00 -07:00
parent 698553832f
commit 0ee8f304e9
17 changed files with 301 additions and 0 deletions

View File

@@ -1397,11 +1397,92 @@ mod tests {
raw: include_str!("../tests/fixtures/rollouts/response_item/message.json"),
expected_kind: ExpectedItemKind::Response,
},
RolloutFixtureCase {
name: "response_item/reasoning",
raw: include_str!("../tests/fixtures/rollouts/response_item/reasoning.json"),
expected_kind: ExpectedItemKind::Response,
},
RolloutFixtureCase {
name: "response_item/local_shell_call",
raw: include_str!("../tests/fixtures/rollouts/response_item/local_shell_call.json"),
expected_kind: ExpectedItemKind::Response,
},
RolloutFixtureCase {
name: "response_item/function_call",
raw: include_str!("../tests/fixtures/rollouts/response_item/function_call.json"),
expected_kind: ExpectedItemKind::Response,
},
RolloutFixtureCase {
name: "response_item/function_call_output",
raw: include_str!(
"../tests/fixtures/rollouts/response_item/function_call_output.json"
),
expected_kind: ExpectedItemKind::Response,
},
RolloutFixtureCase {
name: "response_item/custom_tool_call",
raw: include_str!("../tests/fixtures/rollouts/response_item/custom_tool_call.json"),
expected_kind: ExpectedItemKind::Response,
},
RolloutFixtureCase {
name: "response_item/custom_tool_call_output",
raw: include_str!(
"../tests/fixtures/rollouts/response_item/custom_tool_call_output.json"
),
expected_kind: ExpectedItemKind::Response,
},
RolloutFixtureCase {
name: "response_item/web_search_call",
raw: include_str!("../tests/fixtures/rollouts/response_item/web_search_call.json"),
expected_kind: ExpectedItemKind::Response,
},
RolloutFixtureCase {
name: "response_item/other",
raw: include_str!("../tests/fixtures/rollouts/response_item/other.json"),
expected_kind: ExpectedItemKind::Response,
},
RolloutFixtureCase {
name: "event_msg/user_message",
raw: include_str!("../tests/fixtures/rollouts/event_msg/user_message.json"),
expected_kind: ExpectedItemKind::Event,
},
RolloutFixtureCase {
name: "event_msg/agent_message",
raw: include_str!("../tests/fixtures/rollouts/event_msg/agent_message.json"),
expected_kind: ExpectedItemKind::Event,
},
RolloutFixtureCase {
name: "event_msg/agent_reasoning",
raw: include_str!("../tests/fixtures/rollouts/event_msg/agent_reasoning.json"),
expected_kind: ExpectedItemKind::Event,
},
RolloutFixtureCase {
name: "event_msg/agent_reasoning_raw_content",
raw: include_str!(
"../tests/fixtures/rollouts/event_msg/agent_reasoning_raw_content.json"
),
expected_kind: ExpectedItemKind::Event,
},
RolloutFixtureCase {
name: "event_msg/token_count_info",
raw: include_str!("../tests/fixtures/rollouts/event_msg/token_count_info.json"),
expected_kind: ExpectedItemKind::Event,
},
RolloutFixtureCase {
name: "event_msg/entered_review_mode",
raw: include_str!("../tests/fixtures/rollouts/event_msg/entered_review_mode.json"),
expected_kind: ExpectedItemKind::Event,
},
RolloutFixtureCase {
name: "event_msg/exited_review_mode",
raw: include_str!("../tests/fixtures/rollouts/event_msg/exited_review_mode.json"),
expected_kind: ExpectedItemKind::Event,
},
RolloutFixtureCase {
name: "event_msg/turn_aborted",
raw: include_str!("../tests/fixtures/rollouts/event_msg/turn_aborted.json"),
expected_kind: ExpectedItemKind::Event,
},
RolloutFixtureCase {
name: "misc/compacted",
raw: include_str!("../tests/fixtures/rollouts/misc/compacted.json"),
@@ -1412,6 +1493,11 @@ mod tests {
raw: include_str!("../tests/fixtures/rollouts/misc/turn_context_workspace.json"),
expected_kind: ExpectedItemKind::TurnContext,
},
RolloutFixtureCase {
name: "misc/turn_context_read_only",
raw: include_str!("../tests/fixtures/rollouts/misc/turn_context_read_only.json"),
expected_kind: ExpectedItemKind::TurnContext,
},
];
for case in cases {

View File

@@ -0,0 +1,8 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "event_msg",
"payload": {
"type": "agent_message",
"message": "Sure thing"
}
}

View File

@@ -0,0 +1,8 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "event_msg",
"payload": {
"type": "agent_reasoning",
"text": "Thinking..."
}
}

View File

@@ -0,0 +1,8 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "event_msg",
"payload": {
"type": "agent_reasoning_raw_content",
"text": "raw reasoning"
}
}

View File

@@ -0,0 +1,9 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "event_msg",
"payload": {
"type": "entered_review_mode",
"prompt": "Need review",
"user_facing_hint": "double-check work"
}
}

View File

@@ -0,0 +1,27 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "event_msg",
"payload": {
"type": "exited_review_mode",
"review_output": {
"findings": [
{
"title": "Bug",
"body": "Found an issue",
"confidence_score": 0.4,
"priority": 1,
"code_location": {
"absolute_file_path": "/workspace/src/lib.rs",
"line_range": {
"start": 1,
"end": 3
}
}
}
],
"overall_correctness": "needs_changes",
"overall_explanation": "Please fix",
"overall_confidence_score": 0.9
}
}
}

View File

@@ -0,0 +1,24 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "event_msg",
"payload": {
"type": "token_count",
"info": {
"total_token_usage": {
"input_tokens": 120,
"cached_input_tokens": 10,
"output_tokens": 30,
"reasoning_output_tokens": 5,
"total_tokens": 165
},
"last_token_usage": {
"input_tokens": 20,
"cached_input_tokens": 0,
"output_tokens": 15,
"reasoning_output_tokens": 5,
"total_tokens": 40
},
"model_context_window": 16000
}
}
}

View File

@@ -0,0 +1,8 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "event_msg",
"payload": {
"type": "turn_aborted",
"reason": "interrupted"
}
}

View File

@@ -0,0 +1,13 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "turn_context",
"payload": {
"cwd": "/workspace",
"approval_policy": "never",
"sandbox_policy": {
"mode": "read-only"
},
"model": "gpt-5",
"summary": "auto"
}
}

View File

@@ -0,0 +1,12 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "response_item",
"payload": {
"type": "custom_tool_call",
"id": "legacy-tool",
"status": "completed",
"call_id": "tool-456",
"name": "my_tool",
"input": "{\"foo\":1}"
}
}

View File

@@ -0,0 +1,9 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "response_item",
"payload": {
"type": "custom_tool_call_output",
"call_id": "tool-456",
"output": "tool finished"
}
}

View File

@@ -0,0 +1,11 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "response_item",
"payload": {
"type": "function_call",
"id": "legacy-function",
"name": "shell",
"arguments": "{\"command\":[\"echo\",\"hi\"]}",
"call_id": "call-123"
}
}

View File

@@ -0,0 +1,12 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "response_item",
"payload": {
"type": "function_call_output",
"call_id": "call-123",
"output": {
"content": "{\"stdout\":\"done\"}",
"success": null
}
}
}

View File

@@ -0,0 +1,24 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "response_item",
"payload": {
"type": "local_shell_call",
"id": "legacy-shell-call",
"call_id": "shell-call-1",
"status": "completed",
"action": {
"Exec": {
"command": [
"ls",
"-la"
],
"timeout_ms": 1200,
"working_directory": "/workspace",
"env": {
"PATH": "/usr/bin"
},
"user": "codex"
}
}
}
}

View File

@@ -0,0 +1,8 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "response_item",
"payload": {
"type": "new_future_item",
"foo": "bar"
}
}

View File

@@ -0,0 +1,21 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "response_item",
"payload": {
"type": "reasoning",
"id": "reasoning-1",
"summary": [
{
"type": "summary_text",
"text": "Summarized thoughts"
}
],
"content": [
{
"type": "reasoning_text",
"text": "Detailed reasoning"
}
],
"encrypted_content": "encrypted"
}
}

View File

@@ -0,0 +1,13 @@
{
"timestamp": "2025-01-02T03:04:05.678Z",
"type": "response_item",
"payload": {
"type": "web_search_call",
"id": "legacy-search",
"status": "completed",
"action": {
"type": "search",
"query": "weather in SF"
}
}
}