返回 CodeWhale
approval_denied.case.json
根目录 / crates / tui / tests / fixtures / conformance / events / approval_denied.case.json
1 {
2 "model": "deepseek-v4-pro",
3 "mode": "agent",
4 "approval_mode": "suggest",
5 "auto_approve": false,
6 "allow_shell": true,
7 "recorded_platform": {
8 "recorded_on": "macOS",
9 "os": "macos",
10 "shell": "/bin/bash",
11 "sandbox_enforcement": "local_os",
12 "no_new_privs_active": null,
13 "host_tools": [
14 "code_execution",
15 "image_ocr",
16 "js_execution",
17 "pandoc_convert"
18 ]
19 },
20 "workspace_files": {
21 "README.md": "conformance fixture\n"
22 },
23 "description": "A mutating shell call that needs approval under `suggest`; the host denies it. The command never runs, the model sees the denial as the tool result, and the turn continues to a final answer.",
24 "user_message": "Create denied.txt with touch.",
25 "provider_script": [
26 {
27 "events": [
28 {
29 "type": "message_start",
30 "message": {
31 "id": "msg_shell",
32 "type": "message",
33 "role": "assistant",
34 "content": [],
35 "model": "deepseek-v4-pro",
36 "stop_reason": null,
37 "stop_sequence": null,
38 "usage": {
39 "input_tokens": 120,
40 "output_tokens": 0
41 }
42 }
43 },
44 {
45 "type": "content_block_start",
46 "index": 0,
47 "content_block": {
48 "type": "tool_use",
49 "id": "call_touch",
50 "name": "Bash",
51 "input": {}
52 }
53 },
54 {
55 "type": "content_block_delta",
56 "index": 0,
57 "delta": {
58 "type": "input_json_delta",
59 "partial_json": "{\"command\":\"touch denied.txt\"}"
60 }
61 },
62 {
63 "type": "content_block_stop",
64 "index": 0
65 },
66 {
67 "type": "message_delta",
68 "delta": {
69 "stop_reason": "tool_use"
70 },
71 "usage": {
72 "input_tokens": 150,
73 "output_tokens": 15
74 }
75 },
76 {
77 "type": "message_stop"
78 }
79 ]
80 },
81 {
82 "events": [
83 {
84 "type": "message_start",
85 "message": {
86 "id": "msg_shell_answer",
87 "type": "message",
88 "role": "assistant",
89 "content": [],
90 "model": "deepseek-v4-pro",
91 "stop_reason": null,
92 "stop_sequence": null,
93 "usage": {
94 "input_tokens": 200,
95 "output_tokens": 0
96 }
97 }
98 },
99 {
100 "type": "content_block_start",
101 "index": 0,
102 "content_block": {
103 "type": "text",
104 "text": ""
105 }
106 },
107 {
108 "type": "content_block_delta",
109 "index": 0,
110 "delta": {
111 "type": "text_delta",
112 "text": "Understood, I did not create it."
113 }
114 },
115 {
116 "type": "content_block_stop",
117 "index": 0
118 },
119 {
120 "type": "message_delta",
121 "delta": {
122 "stop_reason": "end_turn"
123 },
124 "usage": {
125 "input_tokens": 200,
126 "output_tokens": 6
127 }
128 },
129 {
130 "type": "message_stop"
131 }
132 ]
133 }
134 ],
135 "driver": [
136 {
137 "when": {
138 "event": "approval_required"
139 },
140 "action": "deny"
141 }
142 ],
143 "invariants": [
144 {
145 "workspace_file_absent": "denied.txt"
146 },
147 {
148 "max_model_requests": 2
149 }
150 ]
151 }
152
152 lines JSON